From f80540c47d6deae3b20e0bd43fd61b5e74468c17 Mon Sep 17 00:00:00 2001 From: Erik Vullings <erik.vullings@tno.nl> Date: Tue, 3 Dec 2024 15:17:44 +0100 Subject: [PATCH] Update docs --- docs/index.html | 2 +- docs/main.css | 2 +- docs/main.css.map | 2 +- docs/main.js | 16 ++++++++-------- docs/main.js.map | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/index.html b/docs/index.html index 3039f3c..54a129a 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1 +1 @@ -<!doctype html><html><head><meta charset="utf-8"><title>Scenario Spark</title><meta content="image/svg" name="og:image:type"><meta content="Scenario Spark" name="og:image:alt"><meta content="Scenario Spark" name="og:site_name"><meta content="./src/assets/logo.svg" name="og:image"><meta content="200" name="og:image:width"><meta content="https://tno.github.io/scenario-spark/" name="og:url"><meta content="width=device-width,initial-scale=1" name="viewport"><meta content="interest-cohort=(), user-id=()" http-equiv="Permissions-Policy" name="Content-Security-Policy"><meta content="Generate consistent threat scenarios for your organisation." name="og:description"><meta content="200" name="og:image:height"><meta content="Scenario Spark" name="og:title"><link href="https://tno.github.io/scenario-spark/favicon.ico" rel="icon"><script defer src="https://tno.github.io/scenario-spark/main.js"></script><link href="https://tno.github.io/scenario-spark/main.css" rel="stylesheet"></head><body></body></html> \ No newline at end of file +<!doctype html><html><head><meta charset="utf-8"><title>Scenario Spark</title><meta content="Scenario Spark" name="og:image:alt"><meta content="interest-cohort=(), user-id=()" http-equiv="Permissions-Policy" name="Content-Security-Policy"><meta content="200" name="og:image:height"><meta content="image/svg" name="og:image:type"><meta content="Scenario Spark" name="og:title"><meta content="width=device-width,initial-scale=1" name="viewport"><meta content="https://tno.github.io/scenario-spark/" name="og:url"><meta content="Scenario Spark" name="og:site_name"><meta content="./src/assets/logo.svg" name="og:image"><meta content="Generate consistent threat scenarios for your organisation." name="og:description"><meta content="200" name="og:image:width"><link href="https://tno.github.io/scenario-spark/favicon.ico" rel="icon"><script defer src="https://tno.github.io/scenario-spark/main.js"></script><link href="https://tno.github.io/scenario-spark/main.css" rel="stylesheet"></head><body></body></html> \ No newline at end of file diff --git a/docs/main.css b/docs/main.css index 221f6a3..a3f31f6 100644 --- a/docs/main.css +++ b/docs/main.css @@ -1,2 +1,2 @@ -@font-face{font-family:Material Icons;font-style:normal;font-weight:400;font-display:block;src:url(59322316b3fd6063.woff2)format("woff2"),url(4ad034d2c499d9b6.woff)format("woff")}.material-icons{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga";direction:ltr;font-family:Material Icons;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}.materialize-red{background-color:#e51c23!important}.materialize-red-text{color:#e51c23!important}.materialize-red.lighten-5{background-color:#fdeaeb!important}.materialize-red-text.text-lighten-5{color:#fdeaeb!important}.materialize-red.lighten-4{background-color:#f8c1c3!important}.materialize-red-text.text-lighten-4{color:#f8c1c3!important}.materialize-red.lighten-3{background-color:#f3989b!important}.materialize-red-text.text-lighten-3{color:#f3989b!important}.materialize-red.lighten-2{background-color:#ee6e73!important}.materialize-red-text.text-lighten-2{color:#ee6e73!important}.materialize-red.lighten-1{background-color:#ea454b!important}.materialize-red-text.text-lighten-1{color:#ea454b!important}.materialize-red.darken-1{background-color:#d0181e!important}.materialize-red-text.text-darken-1{color:#d0181e!important}.materialize-red.darken-2{background-color:#b9151b!important}.materialize-red-text.text-darken-2{color:#b9151b!important}.materialize-red.darken-3{background-color:#a21318!important}.materialize-red-text.text-darken-3{color:#a21318!important}.materialize-red.darken-4{background-color:#8b1014!important}.materialize-red-text.text-darken-4{color:#8b1014!important}.red{background-color:#f44336!important}.red-text{color:#f44336!important}.red.lighten-5{background-color:#ffebee!important}.red-text.text-lighten-5{color:#ffebee!important}.red.lighten-4{background-color:#ffcdd2!important}.red-text.text-lighten-4{color:#ffcdd2!important}.red.lighten-3{background-color:#ef9a9a!important}.red-text.text-lighten-3{color:#ef9a9a!important}.red.lighten-2{background-color:#e57373!important}.red-text.text-lighten-2{color:#e57373!important}.red.lighten-1{background-color:#ef5350!important}.red-text.text-lighten-1{color:#ef5350!important}.red.darken-1{background-color:#e53935!important}.red-text.text-darken-1{color:#e53935!important}.red.darken-2{background-color:#d32f2f!important}.red-text.text-darken-2{color:#d32f2f!important}.red.darken-3{background-color:#c62828!important}.red-text.text-darken-3{color:#c62828!important}.red.darken-4{background-color:#b71c1c!important}.red-text.text-darken-4{color:#b71c1c!important}.red.accent-1{background-color:#ff8a80!important}.red-text.text-accent-1{color:#ff8a80!important}.red.accent-2{background-color:#ff5252!important}.red-text.text-accent-2{color:#ff5252!important}.red.accent-3{background-color:#ff1744!important}.red-text.text-accent-3{color:#ff1744!important}.red.accent-4{background-color:#d50000!important}.red-text.text-accent-4{color:#d50000!important}.pink{background-color:#e91e63!important}.pink-text{color:#e91e63!important}.pink.lighten-5{background-color:#fce4ec!important}.pink-text.text-lighten-5{color:#fce4ec!important}.pink.lighten-4{background-color:#f8bbd0!important}.pink-text.text-lighten-4{color:#f8bbd0!important}.pink.lighten-3{background-color:#f48fb1!important}.pink-text.text-lighten-3{color:#f48fb1!important}.pink.lighten-2{background-color:#f06292!important}.pink-text.text-lighten-2{color:#f06292!important}.pink.lighten-1{background-color:#ec407a!important}.pink-text.text-lighten-1{color:#ec407a!important}.pink.darken-1{background-color:#d81b60!important}.pink-text.text-darken-1{color:#d81b60!important}.pink.darken-2{background-color:#c2185b!important}.pink-text.text-darken-2{color:#c2185b!important}.pink.darken-3{background-color:#ad1457!important}.pink-text.text-darken-3{color:#ad1457!important}.pink.darken-4{background-color:#880e4f!important}.pink-text.text-darken-4{color:#880e4f!important}.pink.accent-1{background-color:#ff80ab!important}.pink-text.text-accent-1{color:#ff80ab!important}.pink.accent-2{background-color:#ff4081!important}.pink-text.text-accent-2{color:#ff4081!important}.pink.accent-3{background-color:#f50057!important}.pink-text.text-accent-3{color:#f50057!important}.pink.accent-4{background-color:#c51162!important}.pink-text.text-accent-4{color:#c51162!important}.purple{background-color:#9c27b0!important}.purple-text{color:#9c27b0!important}.purple.lighten-5{background-color:#f3e5f5!important}.purple-text.text-lighten-5{color:#f3e5f5!important}.purple.lighten-4{background-color:#e1bee7!important}.purple-text.text-lighten-4{color:#e1bee7!important}.purple.lighten-3{background-color:#ce93d8!important}.purple-text.text-lighten-3{color:#ce93d8!important}.purple.lighten-2{background-color:#ba68c8!important}.purple-text.text-lighten-2{color:#ba68c8!important}.purple.lighten-1{background-color:#ab47bc!important}.purple-text.text-lighten-1{color:#ab47bc!important}.purple.darken-1{background-color:#8e24aa!important}.purple-text.text-darken-1{color:#8e24aa!important}.purple.darken-2{background-color:#7b1fa2!important}.purple-text.text-darken-2{color:#7b1fa2!important}.purple.darken-3{background-color:#6a1b9a!important}.purple-text.text-darken-3{color:#6a1b9a!important}.purple.darken-4{background-color:#4a148c!important}.purple-text.text-darken-4{color:#4a148c!important}.purple.accent-1{background-color:#ea80fc!important}.purple-text.text-accent-1{color:#ea80fc!important}.purple.accent-2{background-color:#e040fb!important}.purple-text.text-accent-2{color:#e040fb!important}.purple.accent-3{background-color:#d500f9!important}.purple-text.text-accent-3{color:#d500f9!important}.purple.accent-4{background-color:#a0f!important}.purple-text.text-accent-4{color:#a0f!important}.deep-purple{background-color:#673ab7!important}.deep-purple-text{color:#673ab7!important}.deep-purple.lighten-5{background-color:#ede7f6!important}.deep-purple-text.text-lighten-5{color:#ede7f6!important}.deep-purple.lighten-4{background-color:#d1c4e9!important}.deep-purple-text.text-lighten-4{color:#d1c4e9!important}.deep-purple.lighten-3{background-color:#b39ddb!important}.deep-purple-text.text-lighten-3{color:#b39ddb!important}.deep-purple.lighten-2{background-color:#9575cd!important}.deep-purple-text.text-lighten-2{color:#9575cd!important}.deep-purple.lighten-1{background-color:#7e57c2!important}.deep-purple-text.text-lighten-1{color:#7e57c2!important}.deep-purple.darken-1{background-color:#5e35b1!important}.deep-purple-text.text-darken-1{color:#5e35b1!important}.deep-purple.darken-2{background-color:#512da8!important}.deep-purple-text.text-darken-2{color:#512da8!important}.deep-purple.darken-3{background-color:#4527a0!important}.deep-purple-text.text-darken-3{color:#4527a0!important}.deep-purple.darken-4{background-color:#311b92!important}.deep-purple-text.text-darken-4{color:#311b92!important}.deep-purple.accent-1{background-color:#b388ff!important}.deep-purple-text.text-accent-1{color:#b388ff!important}.deep-purple.accent-2{background-color:#7c4dff!important}.deep-purple-text.text-accent-2{color:#7c4dff!important}.deep-purple.accent-3{background-color:#651fff!important}.deep-purple-text.text-accent-3{color:#651fff!important}.deep-purple.accent-4{background-color:#6200ea!important}.deep-purple-text.text-accent-4{color:#6200ea!important}.indigo{background-color:#3f51b5!important}.indigo-text{color:#3f51b5!important}.indigo.lighten-5{background-color:#e8eaf6!important}.indigo-text.text-lighten-5{color:#e8eaf6!important}.indigo.lighten-4{background-color:#c5cae9!important}.indigo-text.text-lighten-4{color:#c5cae9!important}.indigo.lighten-3{background-color:#9fa8da!important}.indigo-text.text-lighten-3{color:#9fa8da!important}.indigo.lighten-2{background-color:#7986cb!important}.indigo-text.text-lighten-2{color:#7986cb!important}.indigo.lighten-1{background-color:#5c6bc0!important}.indigo-text.text-lighten-1{color:#5c6bc0!important}.indigo.darken-1{background-color:#3949ab!important}.indigo-text.text-darken-1{color:#3949ab!important}.indigo.darken-2{background-color:#303f9f!important}.indigo-text.text-darken-2{color:#303f9f!important}.indigo.darken-3{background-color:#283593!important}.indigo-text.text-darken-3{color:#283593!important}.indigo.darken-4{background-color:#1a237e!important}.indigo-text.text-darken-4{color:#1a237e!important}.indigo.accent-1{background-color:#8c9eff!important}.indigo-text.text-accent-1{color:#8c9eff!important}.indigo.accent-2{background-color:#536dfe!important}.indigo-text.text-accent-2{color:#536dfe!important}.indigo.accent-3{background-color:#3d5afe!important}.indigo-text.text-accent-3{color:#3d5afe!important}.indigo.accent-4{background-color:#304ffe!important}.indigo-text.text-accent-4{color:#304ffe!important}.blue{background-color:#2196f3!important}.blue-text{color:#2196f3!important}.blue.lighten-5{background-color:#e3f2fd!important}.blue-text.text-lighten-5{color:#e3f2fd!important}.blue.lighten-4{background-color:#bbdefb!important}.blue-text.text-lighten-4{color:#bbdefb!important}.blue.lighten-3{background-color:#90caf9!important}.blue-text.text-lighten-3{color:#90caf9!important}.blue.lighten-2{background-color:#64b5f6!important}.blue-text.text-lighten-2{color:#64b5f6!important}.blue.lighten-1{background-color:#42a5f5!important}.blue-text.text-lighten-1{color:#42a5f5!important}.blue.darken-1{background-color:#1e88e5!important}.blue-text.text-darken-1{color:#1e88e5!important}.blue.darken-2{background-color:#1976d2!important}.blue-text.text-darken-2{color:#1976d2!important}.blue.darken-3{background-color:#1565c0!important}.blue-text.text-darken-3{color:#1565c0!important}.blue.darken-4{background-color:#0d47a1!important}.blue-text.text-darken-4{color:#0d47a1!important}.blue.accent-1{background-color:#82b1ff!important}.blue-text.text-accent-1{color:#82b1ff!important}.blue.accent-2{background-color:#448aff!important}.blue-text.text-accent-2{color:#448aff!important}.blue.accent-3{background-color:#2979ff!important}.blue-text.text-accent-3{color:#2979ff!important}.blue.accent-4{background-color:#2962ff!important}.blue-text.text-accent-4{color:#2962ff!important}.light-blue{background-color:#03a9f4!important}.light-blue-text{color:#03a9f4!important}.light-blue.lighten-5{background-color:#e1f5fe!important}.light-blue-text.text-lighten-5{color:#e1f5fe!important}.light-blue.lighten-4{background-color:#b3e5fc!important}.light-blue-text.text-lighten-4{color:#b3e5fc!important}.light-blue.lighten-3{background-color:#81d4fa!important}.light-blue-text.text-lighten-3{color:#81d4fa!important}.light-blue.lighten-2{background-color:#4fc3f7!important}.light-blue-text.text-lighten-2{color:#4fc3f7!important}.light-blue.lighten-1{background-color:#29b6f6!important}.light-blue-text.text-lighten-1{color:#29b6f6!important}.light-blue.darken-1{background-color:#039be5!important}.light-blue-text.text-darken-1{color:#039be5!important}.light-blue.darken-2{background-color:#0288d1!important}.light-blue-text.text-darken-2{color:#0288d1!important}.light-blue.darken-3{background-color:#0277bd!important}.light-blue-text.text-darken-3{color:#0277bd!important}.light-blue.darken-4{background-color:#01579b!important}.light-blue-text.text-darken-4{color:#01579b!important}.light-blue.accent-1{background-color:#80d8ff!important}.light-blue-text.text-accent-1{color:#80d8ff!important}.light-blue.accent-2{background-color:#40c4ff!important}.light-blue-text.text-accent-2{color:#40c4ff!important}.light-blue.accent-3{background-color:#00b0ff!important}.light-blue-text.text-accent-3{color:#00b0ff!important}.light-blue.accent-4{background-color:#0091ea!important}.light-blue-text.text-accent-4{color:#0091ea!important}.cyan{background-color:#00bcd4!important}.cyan-text{color:#00bcd4!important}.cyan.lighten-5{background-color:#e0f7fa!important}.cyan-text.text-lighten-5{color:#e0f7fa!important}.cyan.lighten-4{background-color:#b2ebf2!important}.cyan-text.text-lighten-4{color:#b2ebf2!important}.cyan.lighten-3{background-color:#80deea!important}.cyan-text.text-lighten-3{color:#80deea!important}.cyan.lighten-2{background-color:#4dd0e1!important}.cyan-text.text-lighten-2{color:#4dd0e1!important}.cyan.lighten-1{background-color:#26c6da!important}.cyan-text.text-lighten-1{color:#26c6da!important}.cyan.darken-1{background-color:#00acc1!important}.cyan-text.text-darken-1{color:#00acc1!important}.cyan.darken-2{background-color:#0097a7!important}.cyan-text.text-darken-2{color:#0097a7!important}.cyan.darken-3{background-color:#00838f!important}.cyan-text.text-darken-3{color:#00838f!important}.cyan.darken-4{background-color:#006064!important}.cyan-text.text-darken-4{color:#006064!important}.cyan.accent-1{background-color:#84ffff!important}.cyan-text.text-accent-1{color:#84ffff!important}.cyan.accent-2{background-color:#18ffff!important}.cyan-text.text-accent-2{color:#18ffff!important}.cyan.accent-3{background-color:#00e5ff!important}.cyan-text.text-accent-3{color:#00e5ff!important}.cyan.accent-4{background-color:#00b8d4!important}.cyan-text.text-accent-4{color:#00b8d4!important}.teal{background-color:#009688!important}.teal-text{color:#009688!important}.teal.lighten-5{background-color:#e0f2f1!important}.teal-text.text-lighten-5{color:#e0f2f1!important}.teal.lighten-4{background-color:#b2dfdb!important}.teal-text.text-lighten-4{color:#b2dfdb!important}.teal.lighten-3{background-color:#80cbc4!important}.teal-text.text-lighten-3{color:#80cbc4!important}.teal.lighten-2{background-color:#4db6ac!important}.teal-text.text-lighten-2{color:#4db6ac!important}.teal.lighten-1{background-color:#26a69a!important}.teal-text.text-lighten-1{color:#26a69a!important}.teal.darken-1{background-color:#00897b!important}.teal-text.text-darken-1{color:#00897b!important}.teal.darken-2{background-color:#00796b!important}.teal-text.text-darken-2{color:#00796b!important}.teal.darken-3{background-color:#00695c!important}.teal-text.text-darken-3{color:#00695c!important}.teal.darken-4{background-color:#004d40!important}.teal-text.text-darken-4{color:#004d40!important}.teal.accent-1{background-color:#a7ffeb!important}.teal-text.text-accent-1{color:#a7ffeb!important}.teal.accent-2{background-color:#64ffda!important}.teal-text.text-accent-2{color:#64ffda!important}.teal.accent-3{background-color:#1de9b6!important}.teal-text.text-accent-3{color:#1de9b6!important}.teal.accent-4{background-color:#00bfa5!important}.teal-text.text-accent-4{color:#00bfa5!important}.green{background-color:#4caf50!important}.green-text{color:#4caf50!important}.green.lighten-5{background-color:#e8f5e9!important}.green-text.text-lighten-5{color:#e8f5e9!important}.green.lighten-4{background-color:#c8e6c9!important}.green-text.text-lighten-4{color:#c8e6c9!important}.green.lighten-3{background-color:#a5d6a7!important}.green-text.text-lighten-3{color:#a5d6a7!important}.green.lighten-2{background-color:#81c784!important}.green-text.text-lighten-2{color:#81c784!important}.green.lighten-1{background-color:#66bb6a!important}.green-text.text-lighten-1{color:#66bb6a!important}.green.darken-1{background-color:#43a047!important}.green-text.text-darken-1{color:#43a047!important}.green.darken-2{background-color:#388e3c!important}.green-text.text-darken-2{color:#388e3c!important}.green.darken-3{background-color:#2e7d32!important}.green-text.text-darken-3{color:#2e7d32!important}.green.darken-4{background-color:#1b5e20!important}.green-text.text-darken-4{color:#1b5e20!important}.green.accent-1{background-color:#b9f6ca!important}.green-text.text-accent-1{color:#b9f6ca!important}.green.accent-2{background-color:#69f0ae!important}.green-text.text-accent-2{color:#69f0ae!important}.green.accent-3{background-color:#00e676!important}.green-text.text-accent-3{color:#00e676!important}.green.accent-4{background-color:#00c853!important}.green-text.text-accent-4{color:#00c853!important}.light-green{background-color:#8bc34a!important}.light-green-text{color:#8bc34a!important}.light-green.lighten-5{background-color:#f1f8e9!important}.light-green-text.text-lighten-5{color:#f1f8e9!important}.light-green.lighten-4{background-color:#dcedc8!important}.light-green-text.text-lighten-4{color:#dcedc8!important}.light-green.lighten-3{background-color:#c5e1a5!important}.light-green-text.text-lighten-3{color:#c5e1a5!important}.light-green.lighten-2{background-color:#aed581!important}.light-green-text.text-lighten-2{color:#aed581!important}.light-green.lighten-1{background-color:#9ccc65!important}.light-green-text.text-lighten-1{color:#9ccc65!important}.light-green.darken-1{background-color:#7cb342!important}.light-green-text.text-darken-1{color:#7cb342!important}.light-green.darken-2{background-color:#689f38!important}.light-green-text.text-darken-2{color:#689f38!important}.light-green.darken-3{background-color:#558b2f!important}.light-green-text.text-darken-3{color:#558b2f!important}.light-green.darken-4{background-color:#33691e!important}.light-green-text.text-darken-4{color:#33691e!important}.light-green.accent-1{background-color:#ccff90!important}.light-green-text.text-accent-1{color:#ccff90!important}.light-green.accent-2{background-color:#b2ff59!important}.light-green-text.text-accent-2{color:#b2ff59!important}.light-green.accent-3{background-color:#76ff03!important}.light-green-text.text-accent-3{color:#76ff03!important}.light-green.accent-4{background-color:#64dd17!important}.light-green-text.text-accent-4{color:#64dd17!important}.lime{background-color:#cddc39!important}.lime-text{color:#cddc39!important}.lime.lighten-5{background-color:#f9fbe7!important}.lime-text.text-lighten-5{color:#f9fbe7!important}.lime.lighten-4{background-color:#f0f4c3!important}.lime-text.text-lighten-4{color:#f0f4c3!important}.lime.lighten-3{background-color:#e6ee9c!important}.lime-text.text-lighten-3{color:#e6ee9c!important}.lime.lighten-2{background-color:#dce775!important}.lime-text.text-lighten-2{color:#dce775!important}.lime.lighten-1{background-color:#d4e157!important}.lime-text.text-lighten-1{color:#d4e157!important}.lime.darken-1{background-color:#c0ca33!important}.lime-text.text-darken-1{color:#c0ca33!important}.lime.darken-2{background-color:#afb42b!important}.lime-text.text-darken-2{color:#afb42b!important}.lime.darken-3{background-color:#9e9d24!important}.lime-text.text-darken-3{color:#9e9d24!important}.lime.darken-4{background-color:#827717!important}.lime-text.text-darken-4{color:#827717!important}.lime.accent-1{background-color:#f4ff81!important}.lime-text.text-accent-1{color:#f4ff81!important}.lime.accent-2{background-color:#eeff41!important}.lime-text.text-accent-2{color:#eeff41!important}.lime.accent-3{background-color:#c6ff00!important}.lime-text.text-accent-3{color:#c6ff00!important}.lime.accent-4{background-color:#aeea00!important}.lime-text.text-accent-4{color:#aeea00!important}.yellow{background-color:#ffeb3b!important}.yellow-text{color:#ffeb3b!important}.yellow.lighten-5{background-color:#fffde7!important}.yellow-text.text-lighten-5{color:#fffde7!important}.yellow.lighten-4{background-color:#fff9c4!important}.yellow-text.text-lighten-4{color:#fff9c4!important}.yellow.lighten-3{background-color:#fff59d!important}.yellow-text.text-lighten-3{color:#fff59d!important}.yellow.lighten-2{background-color:#fff176!important}.yellow-text.text-lighten-2{color:#fff176!important}.yellow.lighten-1{background-color:#ffee58!important}.yellow-text.text-lighten-1{color:#ffee58!important}.yellow.darken-1{background-color:#fdd835!important}.yellow-text.text-darken-1{color:#fdd835!important}.yellow.darken-2{background-color:#fbc02d!important}.yellow-text.text-darken-2{color:#fbc02d!important}.yellow.darken-3{background-color:#f9a825!important}.yellow-text.text-darken-3{color:#f9a825!important}.yellow.darken-4{background-color:#f57f17!important}.yellow-text.text-darken-4{color:#f57f17!important}.yellow.accent-1{background-color:#ffff8d!important}.yellow-text.text-accent-1{color:#ffff8d!important}.yellow.accent-2{background-color:#ff0!important}.yellow-text.text-accent-2{color:#ff0!important}.yellow.accent-3{background-color:#ffea00!important}.yellow-text.text-accent-3{color:#ffea00!important}.yellow.accent-4{background-color:#ffd600!important}.yellow-text.text-accent-4{color:#ffd600!important}.amber{background-color:#ffc107!important}.amber-text{color:#ffc107!important}.amber.lighten-5{background-color:#fff8e1!important}.amber-text.text-lighten-5{color:#fff8e1!important}.amber.lighten-4{background-color:#ffecb3!important}.amber-text.text-lighten-4{color:#ffecb3!important}.amber.lighten-3{background-color:#ffe082!important}.amber-text.text-lighten-3{color:#ffe082!important}.amber.lighten-2{background-color:#ffd54f!important}.amber-text.text-lighten-2{color:#ffd54f!important}.amber.lighten-1{background-color:#ffca28!important}.amber-text.text-lighten-1{color:#ffca28!important}.amber.darken-1{background-color:#ffb300!important}.amber-text.text-darken-1{color:#ffb300!important}.amber.darken-2{background-color:#ffa000!important}.amber-text.text-darken-2{color:#ffa000!important}.amber.darken-3{background-color:#ff8f00!important}.amber-text.text-darken-3{color:#ff8f00!important}.amber.darken-4{background-color:#ff6f00!important}.amber-text.text-darken-4{color:#ff6f00!important}.amber.accent-1{background-color:#ffe57f!important}.amber-text.text-accent-1{color:#ffe57f!important}.amber.accent-2{background-color:#ffd740!important}.amber-text.text-accent-2{color:#ffd740!important}.amber.accent-3{background-color:#ffc400!important}.amber-text.text-accent-3{color:#ffc400!important}.amber.accent-4{background-color:#ffab00!important}.amber-text.text-accent-4{color:#ffab00!important}.orange{background-color:#ff9800!important}.orange-text{color:#ff9800!important}.orange.lighten-5{background-color:#fff3e0!important}.orange-text.text-lighten-5{color:#fff3e0!important}.orange.lighten-4{background-color:#ffe0b2!important}.orange-text.text-lighten-4{color:#ffe0b2!important}.orange.lighten-3{background-color:#ffcc80!important}.orange-text.text-lighten-3{color:#ffcc80!important}.orange.lighten-2{background-color:#ffb74d!important}.orange-text.text-lighten-2{color:#ffb74d!important}.orange.lighten-1{background-color:#ffa726!important}.orange-text.text-lighten-1{color:#ffa726!important}.orange.darken-1{background-color:#fb8c00!important}.orange-text.text-darken-1{color:#fb8c00!important}.orange.darken-2{background-color:#f57c00!important}.orange-text.text-darken-2{color:#f57c00!important}.orange.darken-3{background-color:#ef6c00!important}.orange-text.text-darken-3{color:#ef6c00!important}.orange.darken-4{background-color:#e65100!important}.orange-text.text-darken-4{color:#e65100!important}.orange.accent-1{background-color:#ffd180!important}.orange-text.text-accent-1{color:#ffd180!important}.orange.accent-2{background-color:#ffab40!important}.orange-text.text-accent-2{color:#ffab40!important}.orange.accent-3{background-color:#ff9100!important}.orange-text.text-accent-3{color:#ff9100!important}.orange.accent-4{background-color:#ff6d00!important}.orange-text.text-accent-4{color:#ff6d00!important}.deep-orange{background-color:#ff5722!important}.deep-orange-text{color:#ff5722!important}.deep-orange.lighten-5{background-color:#fbe9e7!important}.deep-orange-text.text-lighten-5{color:#fbe9e7!important}.deep-orange.lighten-4{background-color:#ffccbc!important}.deep-orange-text.text-lighten-4{color:#ffccbc!important}.deep-orange.lighten-3{background-color:#ffab91!important}.deep-orange-text.text-lighten-3{color:#ffab91!important}.deep-orange.lighten-2{background-color:#ff8a65!important}.deep-orange-text.text-lighten-2{color:#ff8a65!important}.deep-orange.lighten-1{background-color:#ff7043!important}.deep-orange-text.text-lighten-1{color:#ff7043!important}.deep-orange.darken-1{background-color:#f4511e!important}.deep-orange-text.text-darken-1{color:#f4511e!important}.deep-orange.darken-2{background-color:#e64a19!important}.deep-orange-text.text-darken-2{color:#e64a19!important}.deep-orange.darken-3{background-color:#d84315!important}.deep-orange-text.text-darken-3{color:#d84315!important}.deep-orange.darken-4{background-color:#bf360c!important}.deep-orange-text.text-darken-4{color:#bf360c!important}.deep-orange.accent-1{background-color:#ff9e80!important}.deep-orange-text.text-accent-1{color:#ff9e80!important}.deep-orange.accent-2{background-color:#ff6e40!important}.deep-orange-text.text-accent-2{color:#ff6e40!important}.deep-orange.accent-3{background-color:#ff3d00!important}.deep-orange-text.text-accent-3{color:#ff3d00!important}.deep-orange.accent-4{background-color:#dd2c00!important}.deep-orange-text.text-accent-4{color:#dd2c00!important}.brown{background-color:#795548!important}.brown-text{color:#795548!important}.brown.lighten-5{background-color:#efebe9!important}.brown-text.text-lighten-5{color:#efebe9!important}.brown.lighten-4{background-color:#d7ccc8!important}.brown-text.text-lighten-4{color:#d7ccc8!important}.brown.lighten-3{background-color:#bcaaa4!important}.brown-text.text-lighten-3{color:#bcaaa4!important}.brown.lighten-2{background-color:#a1887f!important}.brown-text.text-lighten-2{color:#a1887f!important}.brown.lighten-1{background-color:#8d6e63!important}.brown-text.text-lighten-1{color:#8d6e63!important}.brown.darken-1{background-color:#6d4c41!important}.brown-text.text-darken-1{color:#6d4c41!important}.brown.darken-2{background-color:#5d4037!important}.brown-text.text-darken-2{color:#5d4037!important}.brown.darken-3{background-color:#4e342e!important}.brown-text.text-darken-3{color:#4e342e!important}.brown.darken-4{background-color:#3e2723!important}.brown-text.text-darken-4{color:#3e2723!important}.blue-grey{background-color:#607d8b!important}.blue-grey-text{color:#607d8b!important}.blue-grey.lighten-5{background-color:#eceff1!important}.blue-grey-text.text-lighten-5{color:#eceff1!important}.blue-grey.lighten-4{background-color:#cfd8dc!important}.blue-grey-text.text-lighten-4{color:#cfd8dc!important}.blue-grey.lighten-3{background-color:#b0bec5!important}.blue-grey-text.text-lighten-3{color:#b0bec5!important}.blue-grey.lighten-2{background-color:#90a4ae!important}.blue-grey-text.text-lighten-2{color:#90a4ae!important}.blue-grey.lighten-1{background-color:#78909c!important}.blue-grey-text.text-lighten-1{color:#78909c!important}.blue-grey.darken-1{background-color:#546e7a!important}.blue-grey-text.text-darken-1{color:#546e7a!important}.blue-grey.darken-2{background-color:#455a64!important}.blue-grey-text.text-darken-2{color:#455a64!important}.blue-grey.darken-3{background-color:#37474f!important}.blue-grey-text.text-darken-3{color:#37474f!important}.blue-grey.darken-4{background-color:#263238!important}.blue-grey-text.text-darken-4{color:#263238!important}.grey{background-color:#9e9e9e!important}.grey-text{color:#9e9e9e!important}.grey.lighten-5{background-color:#fafafa!important}.grey-text.text-lighten-5{color:#fafafa!important}.grey.lighten-4{background-color:#f5f5f5!important}.grey-text.text-lighten-4{color:#f5f5f5!important}.grey.lighten-3{background-color:#eee!important}.grey-text.text-lighten-3{color:#eee!important}.grey.lighten-2{background-color:#e0e0e0!important}.grey-text.text-lighten-2{color:#e0e0e0!important}.grey.lighten-1{background-color:#bdbdbd!important}.grey-text.text-lighten-1{color:#bdbdbd!important}.grey.darken-1{background-color:#757575!important}.grey-text.text-darken-1{color:#757575!important}.grey.darken-2{background-color:#616161!important}.grey-text.text-darken-2{color:#616161!important}.grey.darken-3{background-color:#424242!important}.grey-text.text-darken-3{color:#424242!important}.grey.darken-4{background-color:#212121!important}.grey-text.text-darken-4{color:#212121!important}.black{background-color:#000!important}.black-text{color:#000!important}.white{background-color:#fff!important}.white-text{color:#fff!important}.transparent{background-color:transparent!important}.transparent-text{color:transparent!important}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;line-height:1.15}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{margin:.67em 0;font-size:2em}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{-webkit-text-decoration-skip:objects;background-color:transparent}abbr[title]{text-decoration:underline;border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}dfn{font-style:italic}mark{color:#000;background-color:#ff0}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){height:0;display:none}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{margin:0;font-family:sans-serif;font-size:100%;line-height:1.15}button,input{overflow:visible}button,select{text-transform:none}button{-webkit-appearance:button}html [type=button]{-webkit-appearance:button}[type=reset]{-webkit-appearance:button}[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring{outline:1px dotted buttontext}[type=button]:-moz-focusring{outline:1px dotted buttontext}[type=reset]:-moz-focusring{outline:1px dotted buttontext}[type=submit]:-moz-focusring{outline:1px dotted buttontext}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;white-space:normal;max-width:100%;padding:0;display:table}progress{vertical-align:baseline;display:inline-block}textarea{overflow:auto}[type=checkbox]{box-sizing:border-box;padding:0}[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template,[hidden]{display:none}html{box-sizing:border-box}*,:before,:after{-webkit-box-sizing:inherit;box-sizing:inherit}button,input,optgroup,select,textarea{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}ul:not(.browser-default){padding-left:0;list-style-type:none}ul:not(.browser-default)>li{list-style-type:none}a{color:#039be5;-webkit-tap-highlight-color:transparent;text-decoration:none}.valign-wrapper{align-items:center;display:flex}.clearfix{clear:both}.z-depth-0{-webkit-box-shadow:none!important;box-shadow:none!important}.z-depth-1,nav,.card-panel,.card,.toast,.btn,.btn-large,.btn-small,.btn-floating,.dropdown-content,.collapsible,.sidenav{box-shadow:0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12),0 1px 5px rgba(0,0,0,.2)}.z-depth-1-half,.btn:hover,.btn-large:hover,.btn-small:hover,.btn-floating:hover{box-shadow:0 3px 3px rgba(0,0,0,.14),0 1px 7px rgba(0,0,0,.12),0 3px 1px -1px rgba(0,0,0,.2)}.z-depth-2{box-shadow:0 4px 5px rgba(0,0,0,.14),0 1px 10px rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.3)}.z-depth-3{box-shadow:0 8px 17px 2px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.2)}.z-depth-4{box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -7px rgba(0,0,0,.2)}.z-depth-5,.modal{box-shadow:0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12),0 11px 15px -7px rgba(0,0,0,.2)}.hoverable{transition:box-shadow .25s,-webkit-box-shadow .25s}.hoverable:hover{box-shadow:0 8px 17px rgba(0,0,0,.2),0 6px 20px rgba(0,0,0,.19)}.divider{background-color:#e0e0e0;height:1px;overflow:hidden}blockquote{border-left:5px solid #ee6e73;margin:20px 0;padding-left:1.5rem}i{line-height:inherit}i.left{float:left;margin-right:15px}i.right{float:right;margin-left:15px}i.tiny{font-size:1rem}i.small{font-size:2rem}i.medium{font-size:4rem}i.large{font-size:6rem}img.responsive-img,video.responsive-video{max-width:100%;height:auto}.pagination li{text-align:center;vertical-align:top;border-radius:2px;height:30px;display:inline-block}.pagination li a{color:#444;padding:0 10px;font-size:1.2rem;line-height:30px;display:inline-block}.pagination li.active a{color:#fff}.pagination li.active{background-color:#ee6e73}.pagination li.disabled a{cursor:default;color:#999}.pagination li i{font-size:2rem}.pagination li.pages ul li{float:none;display:inline-block}@media only screen and (max-width:992px){.pagination{width:100%}.pagination li.prev,.pagination li.next{width:10%}.pagination li.pages{white-space:nowrap;width:80%;overflow:hidden}}.breadcrumb{color:rgba(255,255,255,.7);font-size:18px}.breadcrumb i,.breadcrumb [class^=mdi-],.breadcrumb [class*=mdi-],.breadcrumb i.material-icons{float:left;font-size:24px;display:inline-block}.breadcrumb:before{content:"";color:rgba(255,255,255,.7);vertical-align:top;-webkit-font-smoothing:antialiased;margin:0 10px 0 8px;font-family:Material Icons;font-size:25px;font-style:normal;font-weight:400;display:inline-block}.breadcrumb:first-child:before{display:none}.breadcrumb:last-child{color:#fff}.parallax-container{height:500px;position:relative;overflow:hidden}.parallax-container .parallax{z-index:-1;position:absolute;top:0;bottom:0;left:0;right:0}.parallax-container .parallax img{opacity:0;min-width:100%;min-height:100%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.pin-top,.pin-bottom{position:relative}.pinned{position:fixed!important}ul.staggered-list li{opacity:0}.fade-in{opacity:0;transform-origin:0}@media only screen and (max-width:600px){.hide-on-small-only,.hide-on-small-and-down{display:none!important}}@media only screen and (max-width:992px){.hide-on-med-and-down{display:none!important}}@media only screen and (min-width:601px){.hide-on-med-and-up{display:none!important}}@media only screen and (min-width:600px) and (max-width:992px){.hide-on-med-only{display:none!important}}@media only screen and (min-width:993px){.hide-on-large-only{display:none!important}}@media only screen and (min-width:1201px){.hide-on-extra-large-only{display:none!important}.show-on-extra-large{display:block!important}}@media only screen and (min-width:993px){.show-on-large{display:block!important}}@media only screen and (min-width:600px) and (max-width:992px){.show-on-medium{display:block!important}}@media only screen and (max-width:600px){.show-on-small{display:block!important}}@media only screen and (min-width:601px){.show-on-medium-and-up{display:block!important}}@media only screen and (max-width:992px){.show-on-medium-and-down{display:block!important}}@media only screen and (max-width:600px){.center-on-small-only{text-align:center}}.page-footer{color:#fff;background-color:#ee6e73;padding-top:20px}.page-footer .footer-copyright{color:rgba(255,255,255,.8);background-color:rgba(51,51,51,.08);justify-content:space-between;align-items:center;min-height:50px;padding:10px 0;display:flex;overflow:hidden}table,th,td{border:none}table{border-collapse:collapse;border-spacing:0;width:100%;display:table}table.striped tr{border-bottom:none}table.striped>tbody>tr:nth-child(odd){background-color:rgba(242,242,242,.5)}table.striped>tbody>tr>td{border-radius:0}table.highlight>tbody>tr{transition:background-color .25s}table.highlight>tbody>tr:hover{background-color:rgba(242,242,242,.5)}table.centered thead tr th,table.centered tbody tr td{text-align:center}tr{border-bottom:1px solid rgba(0,0,0,.12)}td,th{text-align:left;vertical-align:middle;border-radius:2px;padding:15px 5px;display:table-cell}@media only screen and (max-width:992px){table.responsive-table{border-collapse:collapse;border-spacing:0;width:100%;display:block;position:relative}table.responsive-table td:empty:before{content:" "}table.responsive-table th,table.responsive-table td{vertical-align:top;margin:0}table.responsive-table th{text-align:left}table.responsive-table thead{float:left;display:block}table.responsive-table thead tr{padding:0 10px 0 0;display:block}table.responsive-table thead tr th:before{content:" "}table.responsive-table tbody{white-space:nowrap;width:auto;display:block;position:relative;overflow-x:auto}table.responsive-table tbody tr{vertical-align:top;display:inline-block}table.responsive-table th{text-align:right;display:block}table.responsive-table td{text-align:left;min-height:1.25em;display:block}table.responsive-table tr{border-bottom:none;padding:0 10px}table.responsive-table thead{border:0;border-right:1px solid rgba(0,0,0,.12)}}.collection{border:1px solid #e0e0e0;border-radius:2px;margin:.5rem 0 1rem;position:relative;overflow:hidden}.collection .collection-item{background-color:#fff;border-bottom:1px solid #e0e0e0;margin:0;padding:10px 20px;line-height:1.5rem}.collection .collection-item.avatar{min-height:84px;padding-left:72px;position:relative}.collection .collection-item.avatar:not(.circle-clipper)>.circle,.collection .collection-item.avatar :not(.circle-clipper)>.circle{vertical-align:middle;width:42px;height:42px;display:inline-block;position:absolute;left:15px;overflow:hidden}.collection .collection-item.avatar i.circle{color:#fff;text-align:center;background-color:#999;font-size:18px;line-height:42px}.collection .collection-item.avatar .title{font-size:16px}.collection .collection-item.avatar p{margin:0}.collection .collection-item.avatar .secondary-content{position:absolute;top:16px;right:16px}.collection .collection-item:last-child{border-bottom:none}.collection .collection-item.active{color:#eafaf9;background-color:#26a69a}.collection .collection-item.active .secondary-content{color:#fff}.collection a.collection-item{color:#26a69a;transition:all .25s;display:block}.collection a.collection-item:not(.active):hover{background-color:#ddd}.collection.with-header .collection-header{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:10px 20px}.collection.with-header .collection-item{padding-left:30px}.collection.with-header .collection-item.avatar{padding-left:72px}.secondary-content{float:right;color:#26a69a}.collapsible .collection{border:none;margin:0}.video-container{height:0;padding-bottom:56.25%;position:relative;overflow:hidden}.video-container iframe,.video-container object,.video-container embed{width:100%;height:100%;position:absolute;top:0;left:0}.progress{background-color:#acece6;border-radius:2px;width:100%;height:4px;margin:.5rem 0 1rem;display:block;position:relative;overflow:hidden}.progress .determinate{background-color:#26a69a;transition:width .3s linear;position:absolute;top:0;bottom:0;left:0}.progress .indeterminate{background-color:#26a69a}.progress .indeterminate:before{content:"";background-color:inherit;will-change:left,right;animation:2.1s cubic-bezier(.65,.815,.735,.395) infinite indeterminate;position:absolute;top:0;bottom:0;left:0}.progress .indeterminate:after{content:"";background-color:inherit;will-change:left,right;animation:2.1s cubic-bezier(.165,.84,.44,1) 1.15s infinite indeterminate-short;position:absolute;top:0;bottom:0;left:0}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}.hide{display:none!important}.left-align{text-align:left}.right-align{text-align:right}.center,.center-align{text-align:center}.left{float:left!important}.right{float:right!important}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}input[type=range]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}input[type=range]+.thumb{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.circle{border-radius:50%}.center-block{margin-left:auto;margin-right:auto;display:block}.truncate{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.no-padding{padding:0!important}span.badge{text-align:center;color:#757575;float:right;box-sizing:border-box;min-width:3rem;height:22px;margin-left:14px;padding:0 6px;font-size:1rem;line-height:22px}span.badge.new{color:#fff;background-color:#26a69a;border-radius:2px;font-size:.8rem;font-weight:300}span.badge.new:after{content:" new"}span.badge[data-badge-caption]:after{content:" " attr(data-badge-caption)}nav ul a span.badge{float:none;-webkit-font-smoothing:auto;height:22px;margin-left:4px;line-height:22px;display:inline-block}.collection-item span.badge{margin-top:calc(.75rem - 11px)}.collapsible span.badge{margin-left:auto}.sidenav span.badge{margin-top:13px}table span.badge{float:none;margin-left:auto;display:inline-block}.material-icons{text-rendering:optimizeLegibility;-webkit-font-feature-settings:"liga";-moz-font-feature-settings:"liga";font-feature-settings:"liga"}.container{width:90%;max-width:1280px;margin:0 auto}@media only screen and (min-width:601px){.container{width:85%}}@media only screen and (min-width:993px){.container{width:70%}}.col .row{margin-left:-.75rem;margin-right:-.75rem}.section{padding-top:1rem;padding-bottom:1rem}.section.no-pad{padding:0}.section.no-pad-bot{padding-bottom:0}.section.no-pad-top{padding-top:0}.row{margin-bottom:20px;margin-left:auto;margin-right:auto}.row:after{content:"";clear:both;display:table}.row .col{float:left;box-sizing:border-box;min-height:1px;padding:0 .75rem}.row .col[class*=push-],.row .col[class*=pull-]{position:relative}.row .col.s1{width:8.33333%;margin-left:auto;left:auto;right:auto}.row .col.s2{width:16.6667%;margin-left:auto;left:auto;right:auto}.row .col.s3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.s4{width:33.3333%;margin-left:auto;left:auto;right:auto}.row .col.s5{width:41.6667%;margin-left:auto;left:auto;right:auto}.row .col.s6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.s7{width:58.3333%;margin-left:auto;left:auto;right:auto}.row .col.s8{width:66.6667%;margin-left:auto;left:auto;right:auto}.row .col.s9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.s10{width:83.3333%;margin-left:auto;left:auto;right:auto}.row .col.s11{width:91.6667%;margin-left:auto;left:auto;right:auto}.row .col.s12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-s1{margin-left:8.33333%}.row .col.pull-s1{right:8.33333%}.row .col.push-s1{left:8.33333%}.row .col.offset-s2{margin-left:16.6667%}.row .col.pull-s2{right:16.6667%}.row .col.push-s2{left:16.6667%}.row .col.offset-s3{margin-left:25%}.row .col.pull-s3{right:25%}.row .col.push-s3{left:25%}.row .col.offset-s4{margin-left:33.3333%}.row .col.pull-s4{right:33.3333%}.row .col.push-s4{left:33.3333%}.row .col.offset-s5{margin-left:41.6667%}.row .col.pull-s5{right:41.6667%}.row .col.push-s5{left:41.6667%}.row .col.offset-s6{margin-left:50%}.row .col.pull-s6{right:50%}.row .col.push-s6{left:50%}.row .col.offset-s7{margin-left:58.3333%}.row .col.pull-s7{right:58.3333%}.row .col.push-s7{left:58.3333%}.row .col.offset-s8{margin-left:66.6667%}.row .col.pull-s8{right:66.6667%}.row .col.push-s8{left:66.6667%}.row .col.offset-s9{margin-left:75%}.row .col.pull-s9{right:75%}.row .col.push-s9{left:75%}.row .col.offset-s10{margin-left:83.3333%}.row .col.pull-s10{right:83.3333%}.row .col.push-s10{left:83.3333%}.row .col.offset-s11{margin-left:91.6667%}.row .col.pull-s11{right:91.6667%}.row .col.push-s11{left:91.6667%}.row .col.offset-s12{margin-left:100%}.row .col.pull-s12{right:100%}.row .col.push-s12{left:100%}@media only screen and (min-width:601px){.row .col.m1{width:8.33333%;margin-left:auto;left:auto;right:auto}.row .col.m2{width:16.6667%;margin-left:auto;left:auto;right:auto}.row .col.m3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.m4{width:33.3333%;margin-left:auto;left:auto;right:auto}.row .col.m5{width:41.6667%;margin-left:auto;left:auto;right:auto}.row .col.m6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.m7{width:58.3333%;margin-left:auto;left:auto;right:auto}.row .col.m8{width:66.6667%;margin-left:auto;left:auto;right:auto}.row .col.m9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.m10{width:83.3333%;margin-left:auto;left:auto;right:auto}.row .col.m11{width:91.6667%;margin-left:auto;left:auto;right:auto}.row .col.m12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-m1{margin-left:8.33333%}.row .col.pull-m1{right:8.33333%}.row .col.push-m1{left:8.33333%}.row .col.offset-m2{margin-left:16.6667%}.row .col.pull-m2{right:16.6667%}.row .col.push-m2{left:16.6667%}.row .col.offset-m3{margin-left:25%}.row .col.pull-m3{right:25%}.row .col.push-m3{left:25%}.row .col.offset-m4{margin-left:33.3333%}.row .col.pull-m4{right:33.3333%}.row .col.push-m4{left:33.3333%}.row .col.offset-m5{margin-left:41.6667%}.row .col.pull-m5{right:41.6667%}.row .col.push-m5{left:41.6667%}.row .col.offset-m6{margin-left:50%}.row .col.pull-m6{right:50%}.row .col.push-m6{left:50%}.row .col.offset-m7{margin-left:58.3333%}.row .col.pull-m7{right:58.3333%}.row .col.push-m7{left:58.3333%}.row .col.offset-m8{margin-left:66.6667%}.row .col.pull-m8{right:66.6667%}.row .col.push-m8{left:66.6667%}.row .col.offset-m9{margin-left:75%}.row .col.pull-m9{right:75%}.row .col.push-m9{left:75%}.row .col.offset-m10{margin-left:83.3333%}.row .col.pull-m10{right:83.3333%}.row .col.push-m10{left:83.3333%}.row .col.offset-m11{margin-left:91.6667%}.row .col.pull-m11{right:91.6667%}.row .col.push-m11{left:91.6667%}.row .col.offset-m12{margin-left:100%}.row .col.pull-m12{right:100%}.row .col.push-m12{left:100%}}@media only screen and (min-width:993px){.row .col.l1{width:8.33333%;margin-left:auto;left:auto;right:auto}.row .col.l2{width:16.6667%;margin-left:auto;left:auto;right:auto}.row .col.l3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.l4{width:33.3333%;margin-left:auto;left:auto;right:auto}.row .col.l5{width:41.6667%;margin-left:auto;left:auto;right:auto}.row .col.l6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.l7{width:58.3333%;margin-left:auto;left:auto;right:auto}.row .col.l8{width:66.6667%;margin-left:auto;left:auto;right:auto}.row .col.l9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.l10{width:83.3333%;margin-left:auto;left:auto;right:auto}.row .col.l11{width:91.6667%;margin-left:auto;left:auto;right:auto}.row .col.l12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-l1{margin-left:8.33333%}.row .col.pull-l1{right:8.33333%}.row .col.push-l1{left:8.33333%}.row .col.offset-l2{margin-left:16.6667%}.row .col.pull-l2{right:16.6667%}.row .col.push-l2{left:16.6667%}.row .col.offset-l3{margin-left:25%}.row .col.pull-l3{right:25%}.row .col.push-l3{left:25%}.row .col.offset-l4{margin-left:33.3333%}.row .col.pull-l4{right:33.3333%}.row .col.push-l4{left:33.3333%}.row .col.offset-l5{margin-left:41.6667%}.row .col.pull-l5{right:41.6667%}.row .col.push-l5{left:41.6667%}.row .col.offset-l6{margin-left:50%}.row .col.pull-l6{right:50%}.row .col.push-l6{left:50%}.row .col.offset-l7{margin-left:58.3333%}.row .col.pull-l7{right:58.3333%}.row .col.push-l7{left:58.3333%}.row .col.offset-l8{margin-left:66.6667%}.row .col.pull-l8{right:66.6667%}.row .col.push-l8{left:66.6667%}.row .col.offset-l9{margin-left:75%}.row .col.pull-l9{right:75%}.row .col.push-l9{left:75%}.row .col.offset-l10{margin-left:83.3333%}.row .col.pull-l10{right:83.3333%}.row .col.push-l10{left:83.3333%}.row .col.offset-l11{margin-left:91.6667%}.row .col.pull-l11{right:91.6667%}.row .col.push-l11{left:91.6667%}.row .col.offset-l12{margin-left:100%}.row .col.pull-l12{right:100%}.row .col.push-l12{left:100%}}@media only screen and (min-width:1201px){.row .col.xl1{width:8.33333%;margin-left:auto;left:auto;right:auto}.row .col.xl2{width:16.6667%;margin-left:auto;left:auto;right:auto}.row .col.xl3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.xl4{width:33.3333%;margin-left:auto;left:auto;right:auto}.row .col.xl5{width:41.6667%;margin-left:auto;left:auto;right:auto}.row .col.xl6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.xl7{width:58.3333%;margin-left:auto;left:auto;right:auto}.row .col.xl8{width:66.6667%;margin-left:auto;left:auto;right:auto}.row .col.xl9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.xl10{width:83.3333%;margin-left:auto;left:auto;right:auto}.row .col.xl11{width:91.6667%;margin-left:auto;left:auto;right:auto}.row .col.xl12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-xl1{margin-left:8.33333%}.row .col.pull-xl1{right:8.33333%}.row .col.push-xl1{left:8.33333%}.row .col.offset-xl2{margin-left:16.6667%}.row .col.pull-xl2{right:16.6667%}.row .col.push-xl2{left:16.6667%}.row .col.offset-xl3{margin-left:25%}.row .col.pull-xl3{right:25%}.row .col.push-xl3{left:25%}.row .col.offset-xl4{margin-left:33.3333%}.row .col.pull-xl4{right:33.3333%}.row .col.push-xl4{left:33.3333%}.row .col.offset-xl5{margin-left:41.6667%}.row .col.pull-xl5{right:41.6667%}.row .col.push-xl5{left:41.6667%}.row .col.offset-xl6{margin-left:50%}.row .col.pull-xl6{right:50%}.row .col.push-xl6{left:50%}.row .col.offset-xl7{margin-left:58.3333%}.row .col.pull-xl7{right:58.3333%}.row .col.push-xl7{left:58.3333%}.row .col.offset-xl8{margin-left:66.6667%}.row .col.pull-xl8{right:66.6667%}.row .col.push-xl8{left:66.6667%}.row .col.offset-xl9{margin-left:75%}.row .col.pull-xl9{right:75%}.row .col.push-xl9{left:75%}.row .col.offset-xl10{margin-left:83.3333%}.row .col.pull-xl10{right:83.3333%}.row .col.push-xl10{left:83.3333%}.row .col.offset-xl11{margin-left:91.6667%}.row .col.pull-xl11{right:91.6667%}.row .col.push-xl11{left:91.6667%}.row .col.offset-xl12{margin-left:100%}.row .col.pull-xl12{right:100%}.row .col.push-xl12{left:100%}}nav{color:#fff;background-color:#ee6e73;width:100%;height:56px;line-height:56px}nav.nav-extended{height:auto}nav.nav-extended .nav-wrapper{height:auto;min-height:56px}nav.nav-extended .nav-content{line-height:normal;position:relative}nav a{color:#fff}nav i,nav [class^=mdi-],nav [class*=mdi-],nav i.material-icons{height:56px;font-size:24px;line-height:56px;display:block}nav .nav-wrapper{height:100%;position:relative}@media only screen and (min-width:993px){nav a.sidenav-trigger{display:none}}nav .sidenav-trigger{float:left;z-index:1;height:56px;margin:0 18px;position:relative}nav .sidenav-trigger i{height:56px;line-height:56px}nav .brand-logo{color:#fff;padding:0;font-size:2.1rem;display:inline-block;position:absolute}nav .brand-logo.center{left:50%;transform:translate(-50%)}@media only screen and (max-width:992px){nav .brand-logo{left:50%;transform:translate(-50%)}nav .brand-logo.left,nav .brand-logo.right{padding:0;transform:none}nav .brand-logo.left{left:.5rem}nav .brand-logo.right{left:auto;right:.5rem}}nav .brand-logo.right{padding:0;right:.5rem}nav .brand-logo i,nav .brand-logo [class^=mdi-],nav .brand-logo [class*=mdi-],nav .brand-logo i.material-icons{float:left;margin-right:15px}nav .nav-title{padding:28px 0;font-size:32px;display:inline-block}nav ul{margin:0}nav ul li{float:left;padding:0;transition:background-color .3s}nav ul li.active{background-color:rgba(0,0,0,.1)}nav ul a{color:#fff;cursor:pointer;padding:0 15px;font-size:1rem;transition:background-color .3s;display:block}nav ul a.btn,nav ul a.btn-large,nav ul a.btn-small,nav ul a.btn-large,nav ul a.btn-flat,nav ul a.btn-floating{margin-top:-2px;margin-left:15px;margin-right:15px}nav ul a.btn>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn-small>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn-flat>.material-icons,nav ul a.btn-floating>.material-icons{height:inherit;line-height:inherit}nav ul a:hover{background-color:rgba(0,0,0,.1)}nav ul.left{float:left}nav form{height:100%}nav .input-field{height:100%;margin:0}nav .input-field input{border:none;height:100%;padding-left:2rem;font-size:1.2rem}nav .input-field input:focus{-webkit-box-shadow:none;box-shadow:none;border:none}nav .input-field input[type=text]:valid{-webkit-box-shadow:none;box-shadow:none;border:none}nav .input-field input[type=password]:valid{-webkit-box-shadow:none;box-shadow:none;border:none}nav .input-field input[type=email]:valid{-webkit-box-shadow:none;box-shadow:none;border:none}nav .input-field input[type=url]:valid{-webkit-box-shadow:none;box-shadow:none;border:none}nav .input-field input[type=date]:valid{-webkit-box-shadow:none;box-shadow:none;border:none}nav .input-field label{top:0;left:0}nav .input-field label i{color:rgba(255,255,255,.7);transition:color .3s}nav .input-field label.active i{color:#fff}.navbar-fixed{z-index:997;height:56px;position:relative}.navbar-fixed nav{position:fixed}@media only screen and (min-width:601px){nav.nav-extended .nav-wrapper{min-height:64px}nav,nav .nav-wrapper i,nav a.sidenav-trigger,nav a.sidenav-trigger i{height:64px;line-height:64px}.navbar-fixed{height:64px}}a{text-decoration:none}html{color:rgba(0,0,0,.87);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:400;line-height:1.5}@media only screen and (min-width:0){html{font-size:14px}}@media only screen and (min-width:992px){html{font-size:14.5px}}@media only screen and (min-width:1200px){html{font-size:15px}}h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.3}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-weight:inherit}h1{margin:2.8rem 0 1.68rem;font-size:4.2rem;line-height:110%}h2{margin:2.37333rem 0 1.424rem;font-size:3.56rem;line-height:110%}h3{margin:1.94667rem 0 1.168rem;font-size:2.92rem;line-height:110%}h4{margin:1.52rem 0 .912rem;font-size:2.28rem;line-height:110%}h5{margin:1.09333rem 0 .656rem;font-size:1.64rem;line-height:110%}h6{margin:.766667rem 0 .46rem;font-size:1.15rem;line-height:110%}em{font-style:italic}strong{font-weight:500}small{font-size:75%}.light{font-weight:300}.thin{font-weight:200}@media only screen and (min-width:360px){.flow-text{font-size:1.2rem}}@media only screen and (min-width:390px){.flow-text{font-size:1.224rem}}@media only screen and (min-width:420px){.flow-text{font-size:1.248rem}}@media only screen and (min-width:450px){.flow-text{font-size:1.272rem}}@media only screen and (min-width:480px){.flow-text{font-size:1.296rem}}@media only screen and (min-width:510px){.flow-text{font-size:1.32rem}}@media only screen and (min-width:540px){.flow-text{font-size:1.344rem}}@media only screen and (min-width:570px){.flow-text{font-size:1.368rem}}@media only screen and (min-width:600px){.flow-text{font-size:1.392rem}}@media only screen and (min-width:630px){.flow-text{font-size:1.416rem}}@media only screen and (min-width:660px){.flow-text{font-size:1.44rem}}@media only screen and (min-width:690px){.flow-text{font-size:1.464rem}}@media only screen and (min-width:720px){.flow-text{font-size:1.488rem}}@media only screen and (min-width:750px){.flow-text{font-size:1.512rem}}@media only screen and (min-width:780px){.flow-text{font-size:1.536rem}}@media only screen and (min-width:810px){.flow-text{font-size:1.56rem}}@media only screen and (min-width:840px){.flow-text{font-size:1.584rem}}@media only screen and (min-width:870px){.flow-text{font-size:1.608rem}}@media only screen and (min-width:900px){.flow-text{font-size:1.632rem}}@media only screen and (min-width:930px){.flow-text{font-size:1.656rem}}@media only screen and (min-width:960px){.flow-text{font-size:1.68rem}}@media only screen and (max-width:360px){.flow-text{font-size:1.2rem}}.scale-transition{transition:transform .3s cubic-bezier(.53,.01,.36,1.63),-webkit-transform .3s cubic-bezier(.53,.01,.36,1.63)!important}.scale-transition.scale-out{transform:scale(0);transition:transform .2s,-webkit-transform .2s!important}.scale-transition.scale-in{transform:scale(1)}.card-panel{background-color:#fff;border-radius:2px;margin:.5rem 0 1rem;padding:24px;transition:box-shadow .25s,-webkit-box-shadow .25s}.card{background-color:#fff;border-radius:2px;margin:.5rem 0 1rem;transition:box-shadow .25s,-webkit-box-shadow .25s;position:relative}.card .card-title{font-size:24px;font-weight:300}.card .card-title.activator{cursor:pointer}.card.small,.card.medium,.card.large{position:relative}.card.small .card-image,.card.medium .card-image,.card.large .card-image{max-height:60%;overflow:hidden}.card.small .card-image+.card-content,.card.medium .card-image+.card-content,.card.large .card-image+.card-content{max-height:40%}.card.small .card-content,.card.medium .card-content,.card.large .card-content{max-height:100%;overflow:hidden}.card.small .card-action,.card.medium .card-action,.card.large .card-action{position:absolute;bottom:0;left:0;right:0}.card.small{height:300px}.card.medium{height:400px}.card.large{height:500px}.card.horizontal{display:flex}.card.horizontal.small .card-image,.card.horizontal.medium .card-image,.card.horizontal.large .card-image{height:100%;max-height:none;overflow:visible}.card.horizontal.small .card-image img,.card.horizontal.medium .card-image img,.card.horizontal.large .card-image img{height:100%}.card.horizontal .card-image{max-width:50%}.card.horizontal .card-image img{border-radius:2px 0 0 2px;width:auto;max-width:100%}.card.horizontal .card-stacked{flex-direction:column;flex:1;display:flex;position:relative}.card.horizontal .card-stacked .card-content{flex-grow:1}.card.sticky-action .card-action{z-index:2}.card.sticky-action .card-reveal{z-index:1;padding-bottom:64px}.card .card-image{position:relative}.card .card-image img{border-radius:2px 2px 0 0;width:100%;display:block;position:relative;top:0;bottom:0;left:0;right:0}.card .card-image .card-title{color:#fff;max-width:100%;padding:24px;position:absolute;bottom:0;left:0}.card .card-content{border-radius:0 0 2px 2px;padding:24px}.card .card-content p{margin:0}.card .card-content .card-title{margin-bottom:8px;line-height:32px;display:block}.card .card-content .card-title i{line-height:32px}.card .card-action{background-color:inherit;border-top:1px solid rgba(160,160,160,.2);padding:16px 24px;position:relative}.card .card-action:last-child{border-radius:0 0 2px 2px}.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating){color:#ffab40;text-transform:uppercase;margin-right:24px;transition:color .3s}.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating):hover{color:#ffd8a6}.card .card-reveal{z-index:3;background-color:#fff;width:100%;height:100%;padding:24px;display:none;position:absolute;top:100%;left:0;overflow-y:auto}.card .card-reveal .card-title{cursor:pointer;display:block}#toast-container{z-index:10000;display:block;position:fixed}@media only screen and (max-width:600px){#toast-container{min-width:100%;bottom:0%}}@media only screen and (min-width:601px) and (max-width:992px){#toast-container{max-width:90%;bottom:7%;left:5%}}@media only screen and (min-width:993px){#toast-container{max-width:86%;top:10%;right:7%}}.toast{color:#fff;cursor:default;background-color:#323232;border-radius:2px;justify-content:space-between;align-items:center;width:auto;max-width:100%;height:auto;min-height:48px;margin-top:10px;padding:10px 25px;font-size:1.1rem;font-weight:300;line-height:1.5em;display:flex;position:relative;top:35px}.toast .toast-action{color:#eeff41;margin-left:3rem;margin-right:-25px;font-weight:500}.toast.rounded{border-radius:24px}@media only screen and (max-width:600px){.toast{border-radius:0;width:100%}}.tabs{white-space:nowrap;background-color:#fff;width:100%;height:48px;margin:0 auto;position:relative;overflow-x:auto;overflow-y:hidden}.tabs.tabs-transparent{background-color:transparent}.tabs.tabs-transparent .tab a,.tabs.tabs-transparent .tab.disabled a,.tabs.tabs-transparent .tab.disabled a:hover{color:rgba(255,255,255,.7)}.tabs.tabs-transparent .tab a:hover,.tabs.tabs-transparent .tab a.active{color:#fff}.tabs.tabs-transparent .indicator{background-color:#fff}.tabs.tabs-fixed-width{display:flex}.tabs.tabs-fixed-width .tab{flex-grow:1}.tabs .tab{text-align:center;text-transform:uppercase;height:48px;margin:0;padding:0;line-height:48px;display:inline-block}.tabs .tab a{color:rgba(238,110,115,.7);text-overflow:ellipsis;width:100%;height:100%;padding:0 24px;font-size:14px;transition:color .28s,background-color .28s;display:block;overflow:hidden}.tabs .tab a:focus,.tabs .tab a:focus.active{background-color:rgba(246,178,181,.2);outline:none}.tabs .tab a:hover,.tabs .tab a.active{color:#ee6e73;background-color:transparent}.tabs .tab.disabled a,.tabs .tab.disabled a:hover{color:rgba(238,110,115,.4);cursor:default}.tabs .indicator{will-change:left,right;background-color:#f6b2b5;height:2px;position:absolute;bottom:0}@media only screen and (max-width:992px){.tabs{display:flex}.tabs .tab{flex-grow:1}.tabs .tab a{padding:0 12px}}.material-tooltip{z-index:2000;color:#fff;opacity:0;text-align:center;pointer-events:none;visibility:hidden;background-color:#323232;border-radius:2px;max-width:calc(100% - 4px);min-height:36px;padding:10px 8px;font-size:1rem;line-height:120%;position:absolute;top:0;left:0;overflow:hidden}.backdrop{opacity:0;z-index:-1;transform-origin:50% 0;visibility:hidden;background-color:#323232;border-radius:0 0 50% 50%;width:14px;height:7px;position:absolute}.btn,.btn-large,.btn-small,.btn-flat{text-transform:uppercase;vertical-align:middle;-webkit-tap-highlight-color:transparent;border:none;border-radius:2px;height:36px;padding:0 16px;line-height:36px;display:inline-block}.btn.disabled,.disabled.btn-large,.disabled.btn-small,.btn-floating.disabled,.btn-large.disabled,.btn-small.disabled,.btn-flat.disabled,.btn:disabled,.btn-large:disabled,.btn-small:disabled,.btn-floating:disabled,.btn-large:disabled,.btn-small:disabled,.btn-flat:disabled,.btn[disabled],.btn-large[disabled],.btn-small[disabled],.btn-floating[disabled],.btn-large[disabled],.btn-small[disabled],.btn-flat[disabled]{pointer-events:none;-webkit-box-shadow:none;box-shadow:none;cursor:default;color:#9f9f9f!important;background-color:#dfdfdf!important}.btn.disabled:hover,.disabled.btn-large:hover,.disabled.btn-small:hover,.btn-floating.disabled:hover,.btn-large.disabled:hover,.btn-small.disabled:hover,.btn-flat.disabled:hover,.btn:disabled:hover,.btn-large:disabled:hover,.btn-small:disabled:hover,.btn-floating:disabled:hover,.btn-large:disabled:hover,.btn-small:disabled:hover,.btn-flat:disabled:hover,.btn[disabled]:hover,.btn-large[disabled]:hover,.btn-small[disabled]:hover,.btn-floating[disabled]:hover,.btn-large[disabled]:hover,.btn-small[disabled]:hover,.btn-flat[disabled]:hover{color:#9f9f9f!important;background-color:#dfdfdf!important}.btn,.btn-large,.btn-small,.btn-floating,.btn-large,.btn-small,.btn-flat{outline:0;font-size:14px}.btn i,.btn-large i,.btn-small i,.btn-floating i,.btn-large i,.btn-small i,.btn-flat i{font-size:1.3rem;line-height:inherit}.btn:focus,.btn-large:focus,.btn-small:focus,.btn-floating:focus{background-color:#1d7d74}.btn,.btn-large,.btn-small{color:#fff;text-align:center;letter-spacing:.5px;cursor:pointer;background-color:#26a69a;text-decoration:none;transition:background-color .2s ease-out}.btn:hover,.btn-large:hover,.btn-small:hover{background-color:#2bbbad}.btn-floating{color:#fff;z-index:1;cursor:pointer;vertical-align:middle;background-color:#26a69a;border-radius:50%;width:40px;height:40px;padding:0;line-height:40px;transition:background-color .3s;display:inline-block;position:relative;overflow:hidden}.btn-floating:hover{background-color:#26a69a}.btn-floating:before{border-radius:0}.btn-floating.btn-large{width:56px;height:56px;padding:0}.btn-floating.btn-large.halfway-fab{bottom:-28px}.btn-floating.btn-large i{line-height:56px}.btn-floating.btn-small{width:32.4px;height:32.4px}.btn-floating.btn-small.halfway-fab{bottom:-16.2px}.btn-floating.btn-small i{line-height:32.4px}.btn-floating.halfway-fab{position:absolute;bottom:-20px;right:24px}.btn-floating.halfway-fab.left{left:24px;right:auto}.btn-floating i{width:inherit;text-align:center;color:#fff;font-size:1.6rem;line-height:40px;display:inline-block}button.btn-floating{border:none}.fixed-action-btn{z-index:997;margin-bottom:0;padding-top:15px;position:fixed;bottom:23px;right:23px}.fixed-action-btn.active ul{visibility:visible}.fixed-action-btn.direction-left,.fixed-action-btn.direction-right{padding:0 0 0 15px}.fixed-action-btn.direction-left ul,.fixed-action-btn.direction-right ul{text-align:right;width:500px;height:100%;top:50%;left:auto;right:64px;transform:translateY(-50%)}.fixed-action-btn.direction-left ul li,.fixed-action-btn.direction-right ul li{margin:7.5px 15px 0 0;display:inline-block}.fixed-action-btn.direction-right{padding:0 15px 0 0}.fixed-action-btn.direction-right ul{text-align:left;direction:rtl;left:64px;right:auto}.fixed-action-btn.direction-right ul li{margin:7.5px 0 0 15px}.fixed-action-btn.direction-bottom{padding:0 0 15px}.fixed-action-btn.direction-bottom ul{flex-direction:column-reverse;display:flex;top:64px;bottom:auto}.fixed-action-btn.direction-bottom ul li{margin:15px 0 0}.fixed-action-btn.toolbar{height:56px;padding:0}.fixed-action-btn.toolbar.active>a i{opacity:0}.fixed-action-btn.toolbar ul{z-index:1;display:flex;top:0;bottom:0}.fixed-action-btn.toolbar ul li{flex:1;height:100%;margin:0;transition:none;display:inline-block}.fixed-action-btn.toolbar ul li a{width:100%;height:100%;-webkit-box-shadow:none;box-shadow:none;color:#fff;z-index:1;background-color:transparent;line-height:56px;display:block;position:relative;overflow:hidden}.fixed-action-btn.toolbar ul li a i{line-height:inherit}.fixed-action-btn ul{text-align:center;visibility:hidden;margin:0;position:absolute;bottom:64px;left:0;right:0}.fixed-action-btn ul li{margin-bottom:15px}.fixed-action-btn ul a.btn-floating{opacity:0}.fixed-action-btn .fab-backdrop{z-index:-1;background-color:#26a69a;border-radius:50%;width:40px;height:40px;position:absolute;top:0;left:0;transform:scale(0)}.btn-flat{-webkit-box-shadow:none;box-shadow:none;color:#343434;cursor:pointer;background-color:transparent;transition:background-color .2s}.btn-flat:focus,.btn-flat:hover{-webkit-box-shadow:none;box-shadow:none}.btn-flat:focus{background-color:rgba(0,0,0,.1)}.btn-flat.disabled,.btn-flat.btn-flat[disabled]{cursor:default;color:#b3b2b2!important;background-color:transparent!important}.btn-large{height:54px;padding:0 28px;font-size:15px;line-height:54px}.btn-large i{font-size:1.6rem}.btn-small{height:32.4px;font-size:13px;line-height:32.4px}.btn-small i{font-size:1.2rem}.btn-block{display:block}.dropdown-content{opacity:0;z-index:9999;transform-origin:0 0;background-color:#fff;min-width:100px;margin:0;display:none;position:absolute;top:0;left:0;overflow-y:auto}.dropdown-content:focus{outline:0}.dropdown-content li{clear:both;color:rgba(0,0,0,.87);cursor:pointer;text-align:left;width:100%;min-height:50px;line-height:1.5rem}.dropdown-content li:hover,.dropdown-content li.active{background-color:#eee}.dropdown-content li:focus{outline:none}.dropdown-content li.divider{height:1px;min-height:0}.dropdown-content li>a,.dropdown-content li>span{color:#26a69a;padding:14px 16px;font-size:16px;line-height:22px;display:block}.dropdown-content li>span>label{height:18px;top:1px;left:0}.dropdown-content li>a>i{height:inherit;line-height:inherit;float:left;width:24px;margin:0 24px 0 0}body.keyboard-focused .dropdown-content li:focus{background-color:#dadada}.input-field.col .dropdown-content [type=checkbox]+label{height:18px;top:1px;left:0;transform:none}.dropdown-trigger{cursor:pointer}.waves-effect{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;vertical-align:middle;z-index:1;transition:all .3s ease-out;display:inline-block;position:relative;overflow:hidden}.waves-effect .waves-ripple{opacity:0;transition:all .7s ease-out;pointer-events:none;background:rgba(0,0,0,.2);border-radius:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;transition-property:transform,opacity,-webkit-transform;position:absolute;transform:scale(0)}.waves-effect.waves-light .waves-ripple{background-color:rgba(255,255,255,.45)}.waves-effect.waves-red .waves-ripple{background-color:rgba(244,67,54,.7)}.waves-effect.waves-yellow .waves-ripple{background-color:rgba(255,235,59,.7)}.waves-effect.waves-orange .waves-ripple{background-color:rgba(255,152,0,.7)}.waves-effect.waves-purple .waves-ripple{background-color:rgba(156,39,176,.7)}.waves-effect.waves-green .waves-ripple{background-color:rgba(76,175,80,.7)}.waves-effect.waves-teal .waves-ripple{background-color:rgba(0,150,136,.7)}.waves-effect input[type=button]{font-style:normal;font-size:inherit;text-transform:inherit;background:0 0;border:0}.waves-effect input[type=reset]{font-style:normal;font-size:inherit;text-transform:inherit;background:0 0;border:0}.waves-effect input[type=submit]{font-style:normal;font-size:inherit;text-transform:inherit;background:0 0;border:0}.waves-effect img{z-index:-1;position:relative}.waves-notransition{transition:none!important}.waves-circle{transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.waves-input-wrapper{vertical-align:bottom;border-radius:.2em}.waves-input-wrapper .waves-button-input{z-index:1;position:relative;top:0;left:0}.waves-circle{text-align:center;border-radius:50%;width:2.5em;height:2.5em;line-height:2.5em;-webkit-mask-image:none}.waves-block{display:block}.waves-effect .waves-ripple{z-index:-1}.modal{will-change:top,opacity;background-color:#fafafa;border-radius:2px;width:55%;max-height:70%;margin:auto;padding:0;display:none;position:fixed;left:0;right:0;overflow-y:auto}.modal:focus{outline:none}@media only screen and (max-width:992px){.modal{width:80%}}.modal h1,.modal h2,.modal h3,.modal h4{margin-top:0}.modal .modal-content{padding:24px}.modal .modal-close{cursor:pointer}.modal .modal-footer{text-align:right;background-color:#fafafa;border-radius:0 0 2px 2px;width:100%;height:56px;padding:4px 6px}.modal .modal-footer .btn,.modal .modal-footer .btn-large,.modal .modal-footer .btn-small,.modal .modal-footer .btn-flat{margin:6px 0}.modal-overlay{z-index:999;will-change:opacity;background:#000;width:100%;height:125%;display:none;position:fixed;top:-25%;bottom:0;left:0;right:0}.modal.modal-fixed-footer{height:70%;padding:0}.modal.modal-fixed-footer .modal-content{width:100%;height:calc(100% - 56px);max-height:100%;position:absolute;overflow-y:auto}.modal.modal-fixed-footer .modal-footer{border-top:1px solid rgba(0,0,0,.1);position:absolute;bottom:0}.modal.bottom-sheet{will-change:bottom,opacity;border-radius:0;width:100%;max-height:45%;margin:0;top:auto;bottom:-100%}.collapsible{border-top:1px solid #ddd;border-left:1px solid #ddd;border-right:1px solid #ddd;margin:.5rem 0 1rem}.collapsible-header{cursor:pointer;-webkit-tap-highlight-color:transparent;background-color:#fff;border-bottom:1px solid #ddd;padding:1rem;line-height:1.5;display:flex}.collapsible-header:focus{outline:0}.collapsible-header i{text-align:center;width:2rem;margin-right:1rem;font-size:1.6rem;display:inline-block}.keyboard-focused .collapsible-header:focus{background-color:#eee}.collapsible-body{box-sizing:border-box;border-bottom:1px solid #ddd;padding:2rem;display:none}.sidenav .collapsible,.sidenav.fixed .collapsible{-webkit-box-shadow:none;box-shadow:none;border:none}.sidenav .collapsible li,.sidenav.fixed .collapsible li{padding:0}.sidenav .collapsible-header,.sidenav.fixed .collapsible-header{line-height:inherit;height:inherit;background-color:transparent;border:none;padding:0 16px}.sidenav .collapsible-header:hover,.sidenav.fixed .collapsible-header:hover{background-color:rgba(0,0,0,.05)}.sidenav .collapsible-header i,.sidenav.fixed .collapsible-header i{line-height:inherit}.sidenav .collapsible-body,.sidenav.fixed .collapsible-body{background-color:#fff;border:0}.sidenav .collapsible-body li a,.sidenav.fixed .collapsible-body li a{padding:0 23.5px 0 31px}.collapsible.popout{-webkit-box-shadow:none;box-shadow:none;border:none}.collapsible.popout>li{margin:0 24px;transition:margin .35s cubic-bezier(.25,.46,.45,.94);box-shadow:0 2px 5px rgba(0,0,0,.16),0 2px 10px rgba(0,0,0,.12)}.collapsible.popout>li.active{margin:16px 0;box-shadow:0 5px 11px rgba(0,0,0,.18),0 4px 15px rgba(0,0,0,.15)}.chip{color:rgba(0,0,0,.6);background-color:#e4e4e4;border-radius:16px;height:32px;margin-bottom:5px;margin-right:5px;padding:0 12px;font-size:13px;font-weight:500;line-height:32px;display:inline-block}.chip:focus{color:#fff;background-color:#26a69a;outline:none}.chip>img{float:left;border-radius:50%;width:32px;height:32px;margin:0 8px 0 -12px}.chip .close{cursor:pointer;float:right;padding-left:8px;font-size:16px;line-height:32px}.chips{-webkit-box-shadow:none;box-shadow:none;border:none;border-bottom:1px solid #9e9e9e;outline:none;min-height:45px;margin:0 0 8px;transition:all .3s}.chips.focus{border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}.chips:hover{cursor:text}.chips .input{color:rgba(0,0,0,.6);background:0 0;border:0;outline:0;height:3rem;margin:0;font-size:16px;line-height:32px;display:inline-block;width:120px!important;padding:0!important}.chips .input:focus{-webkit-box-shadow:none!important;box-shadow:none!important;border:0!important}.chips .autocomplete-content{margin-top:0;margin-bottom:0}.prefix~.chips{width:92%;width:calc(100% - 3rem);margin-left:3rem}.chips:empty~label{font-size:.8rem;transform:translateY(-140%)}.materialboxed{cursor:-webkit-zoom-in;cursor:zoom-in;-webkit-backface-visibility:hidden;transition:opacity .4s;display:block;position:relative}.materialboxed:hover:not(.active){opacity:.8}.materialboxed.active{cursor:-webkit-zoom-out;cursor:zoom-out}#materialbox-overlay{z-index:1000;will-change:opacity;background-color:#292929;position:fixed;top:0;bottom:0;left:0;right:0}.materialbox-caption{color:#fff;text-align:center;z-index:1000;-webkit-font-smoothing:antialiased;width:100%;height:50px;padding:0% 15%;line-height:50px;display:none;position:fixed;bottom:0;left:0}select:focus{outline:1px solid #c9f3ef}button:focus{background-color:#2ab7a9;outline:none}label{color:#9e9e9e;font-size:.8rem}::-webkit-input-placeholder{color:#d1d1d1}::placeholder{color:#d1d1d1}:-ms-input-placeholder{color:#d1d1d1}::placeholder{color:#d1d1d1}::placeholder{color:#d1d1d1}::placeholder{color:#d1d1d1}input:not([type]),textarea.materialize-textarea{width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=text]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=password]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=email]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=url]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=time]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=date]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=datetime]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=datetime-local]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=tel]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=number]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=search]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input:not([type]):disabled,textarea.materialize-textarea:disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input:not([type])[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=text]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=text]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=password]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=password]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=email]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=email]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=url]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=url]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=time]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=time]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=date]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=date]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=datetime]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=datetime]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=datetime-local]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=datetime-local]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=tel]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=tel]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=number]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=number]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=search]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=search]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}textarea.materialize-textarea[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input:not([type]):disabled+label,textarea.materialize-textarea:disabled+label{color:rgba(0,0,0,.42)}input:not([type])[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=text]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=text]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=password]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=password]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=email]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=email]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=url]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=url]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=time]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=time]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=date]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=date]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=datetime]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=datetime]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=datetime-local]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=datetime-local]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=tel]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=tel]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=number]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=number]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=search]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=search]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}textarea.materialize-textarea[readonly=readonly]+label{color:rgba(0,0,0,.42)}input:not([type]):focus:not([readonly]),textarea.materialize-textarea:focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=text]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=password]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=email]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=url]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=time]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=date]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=datetime]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=datetime-local]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=tel]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=number]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=search]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input:not([type]):focus:not([readonly])+label,textarea.materialize-textarea:focus:not([readonly])+label{color:#26a69a}input[type=text]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input[type=password]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input[type=email]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input[type=url]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input[type=time]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input[type=date]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input[type=datetime]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input[type=datetime-local]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input[type=tel]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input[type=number]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input[type=search]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input:not([type]):focus.valid~label,textarea.materialize-textarea:focus.valid~label{color:#4caf50}input[type=text]:not(.browser-default):focus.valid~label{color:#4caf50}input[type=password]:not(.browser-default):focus.valid~label{color:#4caf50}input[type=email]:not(.browser-default):focus.valid~label{color:#4caf50}input[type=url]:not(.browser-default):focus.valid~label{color:#4caf50}input[type=time]:not(.browser-default):focus.valid~label{color:#4caf50}input[type=date]:not(.browser-default):focus.valid~label{color:#4caf50}input[type=datetime]:not(.browser-default):focus.valid~label{color:#4caf50}input[type=datetime-local]:not(.browser-default):focus.valid~label{color:#4caf50}input[type=tel]:not(.browser-default):focus.valid~label{color:#4caf50}input[type=number]:not(.browser-default):focus.valid~label{color:#4caf50}input[type=search]:not(.browser-default):focus.valid~label{color:#4caf50}input:not([type]):focus.invalid~label,textarea.materialize-textarea:focus.invalid~label{color:#f44336}input[type=text]:not(.browser-default):focus.invalid~label{color:#f44336}input[type=password]:not(.browser-default):focus.invalid~label{color:#f44336}input[type=email]:not(.browser-default):focus.invalid~label{color:#f44336}input[type=url]:not(.browser-default):focus.invalid~label{color:#f44336}input[type=time]:not(.browser-default):focus.invalid~label{color:#f44336}input[type=date]:not(.browser-default):focus.invalid~label{color:#f44336}input[type=datetime]:not(.browser-default):focus.invalid~label{color:#f44336}input[type=datetime-local]:not(.browser-default):focus.invalid~label{color:#f44336}input[type=tel]:not(.browser-default):focus.invalid~label{color:#f44336}input[type=number]:not(.browser-default):focus.invalid~label{color:#f44336}input[type=search]:not(.browser-default):focus.invalid~label{color:#f44336}input:not([type]).validate+label,textarea.materialize-textarea.validate+label{width:100%}input[type=text]:not(.browser-default).validate+label{width:100%}input[type=password]:not(.browser-default).validate+label{width:100%}input[type=email]:not(.browser-default).validate+label{width:100%}input[type=url]:not(.browser-default).validate+label{width:100%}input[type=time]:not(.browser-default).validate+label{width:100%}input[type=date]:not(.browser-default).validate+label{width:100%}input[type=datetime]:not(.browser-default).validate+label{width:100%}input[type=datetime-local]:not(.browser-default).validate+label{width:100%}input[type=tel]:not(.browser-default).validate+label{width:100%}input[type=number]:not(.browser-default).validate+label{width:100%}input[type=search]:not(.browser-default).validate+label{width:100%}input.valid:not([type]),input.valid:not([type]):focus,textarea.materialize-textarea.valid,textarea.materialize-textarea.valid:focus,.select-wrapper.valid>input.select-dropdown{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=text]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=text]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=password]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=password]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=email]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=email]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=url]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=url]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=time]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=time]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=date]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=date]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=datetime]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=datetime]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=datetime-local]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=datetime-local]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=tel]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=tel]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=number]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=number]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=search]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=search]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.invalid:not([type]),input.invalid:not([type]):focus,textarea.materialize-textarea.invalid,textarea.materialize-textarea.invalid:focus,.select-wrapper.invalid>input.select-dropdown,.select-wrapper.invalid>input.select-dropdown:focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=text]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=text]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=password]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=password]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=email]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=email]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=url]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=url]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=time]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=time]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=date]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=date]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=datetime]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=datetime]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=datetime-local]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=datetime-local]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=tel]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=tel]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=number]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=number]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=search]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=search]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input:not([type]).valid~.helper-text[data-success],input:not([type]):focus.valid~.helper-text[data-success],input:not([type]).invalid~.helper-text[data-error],input:not([type]):focus.invalid~.helper-text[data-error],textarea.materialize-textarea.valid~.helper-text[data-success],textarea.materialize-textarea:focus.valid~.helper-text[data-success],textarea.materialize-textarea.invalid~.helper-text[data-error],textarea.materialize-textarea:focus.invalid~.helper-text[data-error],.select-wrapper.valid .helper-text[data-success],.select-wrapper.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=text]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=text]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=text]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=text]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=password]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=password]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=password]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=password]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=email]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=email]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=email]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=email]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=url]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=url]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=url]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=url]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=time]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=time]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=time]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=time]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=date]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=date]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=date]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=date]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=datetime]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=datetime]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=datetime]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=datetime]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=datetime-local]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=datetime-local]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=datetime-local]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=datetime-local]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=tel]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=tel]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=tel]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=tel]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=number]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=number]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=number]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=number]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=search]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=search]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=search]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=search]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input:not([type]).valid~.helper-text:after,input:not([type]):focus.valid~.helper-text:after,textarea.materialize-textarea.valid~.helper-text:after,textarea.materialize-textarea:focus.valid~.helper-text:after,.select-wrapper.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=text]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=text]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=password]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=password]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=email]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=email]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=url]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=url]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=time]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=time]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=date]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=date]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=datetime]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=datetime]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=datetime-local]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=datetime-local]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=tel]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=tel]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=number]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=number]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=search]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=search]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input:not([type]).invalid~.helper-text:after,input:not([type]):focus.invalid~.helper-text:after,textarea.materialize-textarea.invalid~.helper-text:after,textarea.materialize-textarea:focus.invalid~.helper-text:after,.select-wrapper.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=text]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=text]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=password]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=password]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=email]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=email]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=url]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=url]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=time]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=time]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=date]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=date]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=datetime]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=datetime]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=datetime-local]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=datetime-local]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=tel]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=tel]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=number]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=number]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=search]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=search]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input:not([type])+label:after,textarea.materialize-textarea+label:after,.select-wrapper+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=text]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=password]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=email]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=url]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=time]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=date]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=datetime]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=datetime-local]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=tel]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=number]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=search]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}.input-field{margin-top:1rem;margin-bottom:1rem;position:relative}.input-field.inline{vertical-align:middle;margin-left:5px;display:inline-block}.input-field.inline input,.input-field.inline .select-dropdown{margin-bottom:1rem}.input-field.col label{left:.75rem}.input-field.col .prefix~label,.input-field.col .prefix~.validate~label{width:calc(100% - 4.5rem)}.input-field>label{color:#9e9e9e;cursor:text;transform-origin:0 100%;text-align:initial;font-size:1rem;transition:transform .2s ease-out,color .2s ease-out,-webkit-transform .2s ease-out;position:absolute;top:0;left:0;transform:translateY(12px)}.input-field>input[type]:-webkit-autofill:not(.browser-default):not([type=search])+label{transform-origin:0 0;transform:translateY(-14px)scale(.8)}.input-field>input[type=date]:not(.browser-default)+label{transform-origin:0 0;transform:translateY(-14px)scale(.8)}.input-field>input[type=time]:not(.browser-default)+label{transform-origin:0 0;transform:translateY(-14px)scale(.8)}.input-field .helper-text{color:rgba(0,0,0,.54);min-height:18px;font-size:12px;display:block;position:relative}.input-field .helper-text:after{opacity:1;position:absolute;top:0;left:0}.input-field .prefix{width:3rem;font-size:2rem;transition:color .2s;position:absolute;top:.5rem}.input-field .prefix.active{color:#26a69a}.input-field .prefix~input,.input-field .prefix~textarea,.input-field .prefix~label,.input-field .prefix~.validate~label,.input-field .prefix~.helper-text,.input-field .prefix~.autocomplete-content{width:92%;width:calc(100% - 3rem);margin-left:3rem}.input-field .prefix~label{margin-left:3rem}@media only screen and (max-width:992px){.input-field .prefix~input{width:86%;width:calc(100% - 3rem)}}@media only screen and (max-width:600px){.input-field .prefix~input{width:80%;width:calc(100% - 3rem)}}.input-field input[type=search]{line-height:inherit;transition:background-color .3s;display:block}.nav-wrapper .input-field input[type=search]{height:inherit;width:calc(100% - 4rem);-webkit-box-shadow:none;box-shadow:none;border:0;padding-left:4rem}.input-field input[type=search]:focus:not(.browser-default){-webkit-box-shadow:none;box-shadow:none;color:#444;background-color:#fff;border:0}.input-field input[type=search]:focus:not(.browser-default)+label i{color:#444}.input-field input[type=search]:focus:not(.browser-default)~.mdi-navigation-close{color:#444}.input-field input[type=search]:focus:not(.browser-default)~.material-icons{color:#444}.input-field input[type=search]+.label-icon{left:1rem;transform:none}.input-field input[type=search]~.mdi-navigation-close{color:transparent;cursor:pointer;font-size:2rem;transition:color .3s;position:absolute;top:0;right:1rem}.input-field input[type=search]~.material-icons{color:transparent;cursor:pointer;font-size:2rem;transition:color .3s;position:absolute;top:0;right:1rem}textarea{background-color:transparent;width:100%;height:3rem}textarea.materialize-textarea{resize:none;box-sizing:border-box;min-height:3rem;padding:.8rem 0;line-height:normal;overflow-y:hidden}.hiddendiv{visibility:hidden;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;z-index:-1;padding-top:1.2rem;position:absolute;top:0}.autocomplete-content li .highlight{color:#444}.autocomplete-content li img{width:40px;height:40px;margin:5px 15px}.character-counter{min-height:18px}[type=radio]:not(:checked){opacity:0;pointer-events:none;position:absolute}[type=radio]:checked{opacity:0;pointer-events:none;position:absolute}[type=radio]:not(:checked)+span{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:25px;padding-left:35px;font-size:1rem;line-height:25px;transition:all .28s;display:inline-block;position:relative}[type=radio]:checked+span{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:25px;padding-left:35px;font-size:1rem;line-height:25px;transition:all .28s;display:inline-block;position:relative}[type=radio]+span:before{content:"";z-index:0;width:16px;height:16px;margin:4px;transition:all .28s;position:absolute;top:0;left:0}[type=radio]+span:after{content:"";z-index:0;width:16px;height:16px;margin:4px;transition:all .28s;position:absolute;top:0;left:0}[type=radio]:not(:checked)+span:before{border-radius:50%}[type=radio]:not(:checked)+span:after{border-radius:50%}[type=radio]:checked+span:before{border-radius:50%}[type=radio]:checked+span:after{border-radius:50%}[type=radio].with-gap:checked+span:before{border-radius:50%}[type=radio].with-gap:checked+span:after{border-radius:50%}[type=radio]:not(:checked)+span:before{border:2px solid #5a5a5a}[type=radio]:not(:checked)+span:after{border:2px solid #5a5a5a}[type=radio]:not(:checked)+span:after{transform:scale(0)}[type=radio]:checked+span:before{border:2px solid transparent}[type=radio]:checked+span:after{border:2px solid #26a69a}[type=radio].with-gap:checked+span:before{border:2px solid #26a69a}[type=radio].with-gap:checked+span:after{border:2px solid #26a69a}[type=radio]:checked+span:after{background-color:#26a69a}[type=radio].with-gap:checked+span:after{background-color:#26a69a}[type=radio]:checked+span:after{transform:scale(1.02)}[type=radio].with-gap:checked+span:after{transform:scale(.5)}[type=radio].tabbed:focus+span:before{box-shadow:0 0 0 10px rgba(0,0,0,.1)}[type=radio].with-gap:disabled:checked+span:before{border:2px solid rgba(0,0,0,.42)}[type=radio].with-gap:disabled:checked+span:after{background-color:rgba(0,0,0,.42);border:none}[type=radio]:disabled:not(:checked)+span:before{background-color:transparent;border-color:rgba(0,0,0,.42)}[type=radio]:disabled:checked+span:before{background-color:transparent;border-color:rgba(0,0,0,.42)}[type=radio]:disabled+span{color:rgba(0,0,0,.42)}[type=radio]:disabled:not(:checked)+span:before{border-color:rgba(0,0,0,.42)}[type=radio]:disabled:checked+span:after{background-color:rgba(0,0,0,.42);border-color:#949494}[type=checkbox]:not(:checked){opacity:0;pointer-events:none;position:absolute}[type=checkbox]:checked{opacity:0;pointer-events:none;position:absolute}[type=checkbox]+span:not(.lever){cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:25px;padding-left:35px;font-size:1rem;line-height:25px;display:inline-block;position:relative}[type=checkbox]+span:not(.lever):before{content:"";z-index:0;border:2px solid #5a5a5a;border-radius:1px;width:18px;height:18px;margin-top:3px;transition:all .2s;position:absolute;top:0;left:0}[type=checkbox]:not(.filled-in)+span:not(.lever):after{content:"";z-index:0;border:2px solid #5a5a5a;border-radius:1px;width:18px;height:18px;margin-top:3px;transition:all .2s;position:absolute;top:0;left:0}[type=checkbox]:not(.filled-in)+span:not(.lever):after{border:0;transform:scale(0)}[type=checkbox]:not(:checked):disabled+span:not(.lever):before{background-color:rgba(0,0,0,.42);border:none}[type=checkbox].tabbed:focus+span:not(.lever):after{background-color:rgba(0,0,0,.1);border:0;border-radius:50%;transform:scale(1);box-shadow:0 0 0 10px rgba(0,0,0,.1)}[type=checkbox]:checked+span:not(.lever):before{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:100% 100%;border:2px solid #26a69a;border-color:transparent #26a69a #26a69a transparent;width:12px;height:22px;top:-4px;left:-5px;transform:rotate(40deg)}[type=checkbox]:checked:disabled+span:before{border-bottom:2px solid rgba(0,0,0,.42);border-right:2px solid rgba(0,0,0,.42)}[type=checkbox]:indeterminate+span:not(.lever):before{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:100% 100%;border:none;border-right:2px solid #26a69a;width:10px;height:22px;top:-11px;left:-12px;transform:rotate(90deg)}[type=checkbox]:indeterminate:disabled+span:not(.lever):before{background-color:transparent;border-right:2px solid rgba(0,0,0,.42)}[type=checkbox].filled-in+span:not(.lever):after{border-radius:2px}[type=checkbox].filled-in+span:not(.lever):before{content:"";z-index:1;transition:border .25s,background-color .25s,width .2s .1s,height .2s .1s,top .2s .1s,left .2s .1s;position:absolute;left:0}[type=checkbox].filled-in+span:not(.lever):after{content:"";z-index:1;transition:border .25s,background-color .25s,width .2s .1s,height .2s .1s,top .2s .1s,left .2s .1s;position:absolute;left:0}[type=checkbox].filled-in:not(:checked)+span:not(.lever):before{transform-origin:100% 100%;border:3px solid transparent;width:0;height:0;top:10px;left:6px;transform:rotate(37deg)}[type=checkbox].filled-in:not(:checked)+span:not(.lever):after{z-index:0;background-color:transparent;border:2px solid #5a5a5a;width:20px;height:20px;top:0}[type=checkbox].filled-in:checked+span:not(.lever):before{transform-origin:100% 100%;border:2px solid #fff;border-color:transparent #fff #fff transparent;width:8px;height:13px;top:0;left:1px;transform:rotate(37deg)}[type=checkbox].filled-in:checked+span:not(.lever):after{z-index:0;background-color:#26a69a;border:2px solid #26a69a;width:20px;height:20px;top:0}[type=checkbox].filled-in.tabbed:focus+span:not(.lever):after{background-color:rgba(0,0,0,.1);border-color:#5a5a5a;border-radius:2px}[type=checkbox].filled-in.tabbed:checked:focus+span:not(.lever):after{background-color:#26a69a;border-color:#26a69a;border-radius:2px}[type=checkbox].filled-in:disabled:not(:checked)+span:not(.lever):before{background-color:transparent;border:2px solid transparent}[type=checkbox].filled-in:disabled:not(:checked)+span:not(.lever):after{background-color:#949494;border-color:transparent}[type=checkbox].filled-in:disabled:checked+span:not(.lever):before{background-color:transparent}[type=checkbox].filled-in:disabled:checked+span:not(.lever):after{background-color:#949494;border-color:#949494}.switch,.switch *{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch label{cursor:pointer}.switch label input[type=checkbox]{opacity:0;width:0;height:0}.switch label input[type=checkbox]:checked+.lever{background-color:#84c7c1}.switch label input[type=checkbox]:checked+.lever:before{left:18px}.switch label input[type=checkbox]:checked+.lever:after{left:18px}.switch label input[type=checkbox]:checked+.lever:after{background-color:#26a69a}.switch label .lever{content:"";vertical-align:middle;background-color:rgba(0,0,0,.38);border-radius:15px;width:36px;height:14px;margin:0 16px;transition:background .3s;display:inline-block;position:relative}.switch label .lever:before,.switch label .lever:after{content:"";border-radius:50%;width:20px;height:20px;transition:left .3s,background .3s,box-shadow .1s,transform .1s,-webkit-box-shadow .1s,-webkit-transform .1s;display:inline-block;position:absolute;top:-3px;left:0}.switch label .lever:before{background-color:rgba(38,166,154,.15)}.switch label .lever:after{background-color:#f1f1f1;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 1px 5px rgba(0,0,0,.12)}input[type=checkbox]:checked:not(:disabled)~.lever:active:before{background-color:rgba(38,166,154,.15);transform:scale(2.4)}input[type=checkbox]:checked:not(:disabled).tabbed:focus~.lever:before{background-color:rgba(38,166,154,.15);transform:scale(2.4)}input[type=checkbox]:not(:disabled)~.lever:active:before{background-color:rgba(0,0,0,.08);transform:scale(2.4)}input[type=checkbox]:not(:disabled).tabbed:focus~.lever:before{background-color:rgba(0,0,0,.08);transform:scale(2.4)}.switch input[type=checkbox][disabled]+.lever{cursor:default;background-color:rgba(0,0,0,.12)}.switch label input[type=checkbox][disabled]+.lever:after{background-color:#949494}.switch label input[type=checkbox][disabled]:checked+.lever:after{background-color:#949494}select{display:none}select.browser-default{display:block}select{background-color:rgba(255,255,255,.9);border:1px solid #f2f2f2;border-radius:2px;width:100%;height:3rem;padding:5px}.select-label{position:absolute}.select-wrapper{position:relative}.select-wrapper.valid+label,.select-wrapper.invalid+label{pointer-events:none;width:100%}.select-wrapper input.select-dropdown{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;outline:none;width:100%;height:3rem;margin:0 0 8px;padding:0;font-size:16px;line-height:3rem;display:block;position:relative}.select-wrapper input.select-dropdown:focus{border-bottom:1px solid #26a69a}.select-wrapper .caret{z-index:0;fill:rgba(0,0,0,.87);margin:auto 0;position:absolute;top:0;bottom:0;right:0}.select-wrapper+label{font-size:.8rem;position:absolute;top:-26px}select:disabled,.select-wrapper.disabled+label{color:rgba(0,0,0,.42)}.select-wrapper.disabled .caret{fill:rgba(0,0,0,.42)}.select-wrapper input.select-dropdown:disabled{color:rgba(0,0,0,.42);cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-wrapper i{color:rgba(0,0,0,.3)}.select-dropdown li.disabled,.select-dropdown li.disabled>span,.select-dropdown li.optgroup{color:rgba(0,0,0,.3);background-color:transparent}body.keyboard-focused .select-dropdown.dropdown-content li:focus,.select-dropdown.dropdown-content li:hover{background-color:rgba(0,0,0,.08)}.select-dropdown.dropdown-content li.selected{background-color:rgba(0,0,0,.03)}.prefix~.select-wrapper{width:92%;width:calc(100% - 3rem);margin-left:3rem}.prefix~label{margin-left:3rem}.select-dropdown li img{float:right;width:40px;height:40px;margin:5px 15px}.select-dropdown li.optgroup{border-top:1px solid #eee}.select-dropdown li.optgroup.selected>span{color:rgba(0,0,0,.7)}.select-dropdown li.optgroup>span{color:rgba(0,0,0,.4)}.select-dropdown li.optgroup~li.optgroup-option{padding-left:1rem}.file-field{position:relative}.file-field .file-path-wrapper{padding-left:10px;overflow:hidden}.file-field input.file-path{width:100%}.file-field .btn,.file-field .btn-large,.file-field .btn-small{float:left;height:3rem;line-height:3rem}.file-field span{cursor:pointer}.file-field input[type=file]{cursor:pointer;opacity:0;width:100%;-webkit-filter:alpha(opacity=0);filter:alpha(opacity=0);margin:0;padding:0;font-size:20px;position:absolute;top:0;bottom:0;left:0;right:0}.file-field input[type=file]::-webkit-file-upload-button{display:none}.range-field{position:relative}input[type=range]{cursor:pointer}input[type=range]+.thumb{cursor:pointer}input[type=range]{background-color:transparent;border:none;outline:none;width:100%;margin:15px 0;padding:0;position:relative}input[type=range]:focus{outline:none}input[type=range]+.thumb{transform-origin:50%;background-color:#26a69a;border:none;border-radius:50%;width:0;height:0;margin-left:7px;position:absolute;top:10px;left:0;transform:rotate(-45deg)}input[type=range]+.thumb .value{text-align:center;color:#26a69a;width:30px;font-size:0;display:block;transform:rotate(45deg)}input[type=range]+.thumb.active{border-radius:50% 50% 50% 0}input[type=range]+.thumb.active .value{color:#fff;margin-top:8px;margin-left:-1px;font-size:10px}input[type=range]{-webkit-appearance:none}input[type=range]::-webkit-slider-runnable-track{background:#c2c0c2;border:none;height:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;transform-origin:50%;background:#26a69a;border:none;border-radius:50%;width:14px;height:14px;margin:-5px 0 0;transition:box-shadow .3s,-webkit-box-shadow .3s}.keyboard-focused input[type=range]:focus:not(.active)::-webkit-slider-thumb{box-shadow:0 0 0 10px rgba(38,166,154,.26)}input[type=range]{border:1px solid #fff}input[type=range]::-moz-range-track{background:#c2c0c2;border:none;height:3px}input[type=range]::-moz-focus-inner{border:0}input[type=range]::-moz-range-thumb{background:#26a69a;border:none;border-radius:50%;width:14px;height:14px;margin-top:-5px;transition:box-shadow .3s,-webkit-box-shadow .3s}input[type=range]:-moz-focusring{outline-offset:-1px;outline:1px solid #fff}.keyboard-focused input[type=range]:focus:not(.active)::-moz-range-thumb{box-shadow:0 0 0 10px rgba(38,166,154,.26)}input[type=range]::-ms-track{color:transparent;background:0 0;border-width:6px 0;border-color:transparent;height:3px}input[type=range]::-ms-fill-lower{background:#777}input[type=range]::-ms-fill-upper{background:#ddd}input[type=range]::-ms-thumb{background:#26a69a;border:none;border-radius:50%;width:14px;height:14px;transition:box-shadow .3s,-webkit-box-shadow .3s}.keyboard-focused input[type=range]:focus:not(.active)::-ms-thumb{box-shadow:0 0 0 10px rgba(38,166,154,.26)}.table-of-contents.fixed{position:fixed}.table-of-contents li{padding:2px 0}.table-of-contents a{color:#757575;letter-spacing:.4px;height:1.5rem;padding-left:16px;font-weight:300;line-height:1.5rem;display:inline-block}.table-of-contents a:hover{color:#a8a8a8;border-left:1px solid #ee6e73;padding-left:15px}.table-of-contents a.active{border-left:2px solid #ee6e73;padding-left:14px;font-weight:500}.sidenav{width:300px;height:100%;height:calc(100% + 60px);height:-moz-calc(100%);z-index:999;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:#fff;margin:0;padding-bottom:60px;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-105%)}.sidenav.right-aligned{left:auto;right:0;transform:translate(100%)}.sidenav .collapsible{margin:0}.sidenav li{float:none;line-height:48px}.sidenav li.active{background-color:rgba(0,0,0,.05)}.sidenav li>a{color:rgba(0,0,0,.87);height:48px;padding:0 32px;font-size:14px;font-weight:500;line-height:48px;display:block}.sidenav li>a:hover{background-color:rgba(0,0,0,.05)}.sidenav li>a.btn,.sidenav li>a.btn-large,.sidenav li>a.btn-small,.sidenav li>a.btn-large,.sidenav li>a.btn-flat,.sidenav li>a.btn-floating{margin:10px 15px}.sidenav li>a.btn,.sidenav li>a.btn-large,.sidenav li>a.btn-small,.sidenav li>a.btn-large,.sidenav li>a.btn-floating{color:#fff}.sidenav li>a.btn-flat{color:#343434}.sidenav li>a.btn:hover,.sidenav li>a.btn-large:hover,.sidenav li>a.btn-small:hover,.sidenav li>a.btn-large:hover{background-color:#2bbbad}.sidenav li>a.btn-floating:hover{background-color:#26a69a}.sidenav li>a>i,.sidenav li>a>[class^=mdi-],.sidenav li>a li>a>[class*=mdi-],.sidenav li>a>i.material-icons{float:left;color:rgba(0,0,0,.54);width:24px;height:48px;margin:0 32px 0 0;line-height:48px}.sidenav .divider{margin:8px 0 0}.sidenav .subheader{cursor:initial;pointer-events:none;color:rgba(0,0,0,.54);font-size:14px;font-weight:500;line-height:48px}.sidenav .subheader:hover{background-color:transparent}.sidenav .user-view{margin-bottom:8px;padding:32px 32px 0;position:relative}.sidenav .user-view>a{height:auto;padding:0}.sidenav .user-view>a:hover{background-color:transparent}.sidenav .user-view .background{z-index:-1;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.sidenav .user-view .circle,.sidenav .user-view .name,.sidenav .user-view .email{display:block}.sidenav .user-view .circle{width:64px;height:64px}.sidenav .user-view .name,.sidenav .user-view .email{font-size:14px;line-height:24px}.sidenav .user-view .name{margin-top:16px;font-weight:500}.sidenav .user-view .email{padding-bottom:16px;font-weight:400}.drag-target{z-index:998;width:10px;height:100%;position:fixed;top:0}.drag-target.right-aligned{right:0}.sidenav.sidenav-fixed{position:fixed;left:0;transform:translate(0)}.sidenav.sidenav-fixed.right-aligned{left:auto;right:0}@media only screen and (max-width:992px){.sidenav.sidenav-fixed{transform:translate(-105%)}.sidenav.sidenav-fixed.right-aligned{transform:translate(105%)}.sidenav>a{padding:0 16px}.sidenav .user-view{padding:16px 16px 0}}.sidenav .collapsible-body>ul:not(.collapsible)>li.active,.sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active{background-color:#ee6e73}.sidenav .collapsible-body>ul:not(.collapsible)>li.active a,.sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active a{color:#fff}.sidenav .collapsible-body{padding:0}.sidenav-overlay{opacity:0;z-index:997;background-color:rgba(0,0,0,.5);height:120vh;display:none;position:fixed;top:0;left:0;right:0}.preloader-wrapper{width:50px;height:50px;display:inline-block;position:relative}.preloader-wrapper.small{width:36px;height:36px}.preloader-wrapper.big{width:64px;height:64px}.preloader-wrapper.active{animation:1.568s linear infinite container-rotate}@-webkit-keyframes container-rotate{to{-webkit-transform:rotate(360deg)}}@keyframes container-rotate{to{transform:rotate(360deg)}}.spinner-layer{opacity:0;border-color:#26a69a;width:100%;height:100%;position:absolute}.spinner-blue,.spinner-blue-only{border-color:#4285f4}.spinner-red,.spinner-red-only{border-color:#db4437}.spinner-yellow,.spinner-yellow-only{border-color:#f4b400}.spinner-green,.spinner-green-only{border-color:#0f9d58}.active .spinner-layer.spinner-blue{animation:5.332s cubic-bezier(.4,0,.2,1) infinite both fill-unfill-rotate,5.332s cubic-bezier(.4,0,.2,1) infinite both blue-fade-in-out}.active .spinner-layer.spinner-red{animation:5.332s cubic-bezier(.4,0,.2,1) infinite both fill-unfill-rotate,5.332s cubic-bezier(.4,0,.2,1) infinite both red-fade-in-out}.active .spinner-layer.spinner-yellow{animation:5.332s cubic-bezier(.4,0,.2,1) infinite both fill-unfill-rotate,5.332s cubic-bezier(.4,0,.2,1) infinite both yellow-fade-in-out}.active .spinner-layer.spinner-green{animation:5.332s cubic-bezier(.4,0,.2,1) infinite both fill-unfill-rotate,5.332s cubic-bezier(.4,0,.2,1) infinite both green-fade-in-out}.active .spinner-layer,.active .spinner-layer.spinner-blue-only,.active .spinner-layer.spinner-red-only,.active .spinner-layer.spinner-yellow-only,.active .spinner-layer.spinner-green-only{opacity:1;animation:5.332s cubic-bezier(.4,0,.2,1) infinite both fill-unfill-rotate}@-webkit-keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg)}}@keyframes fill-unfill-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to{transform:rotate(1080deg)}}@keyframes blue-fade-in-out{0%{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}to{opacity:1}}@keyframes red-fade-in-out{0%{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@keyframes yellow-fade-in-out{0%{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@keyframes green-fade-in-out{0%{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}to{opacity:0}}.gap-patch{border-color:inherit;width:10%;height:100%;position:absolute;top:0;left:45%;overflow:hidden}.gap-patch .circle{width:1000%;left:-450%}.circle-clipper{border-color:inherit;width:50%;height:100%;display:inline-block;position:relative;overflow:hidden}.circle-clipper .circle{border-style:solid;border-width:3px;border-color:inherit;border-radius:50%;width:200%;height:100%;animation:none;position:absolute;top:0;bottom:0;right:0;border-bottom-color:transparent!important}.circle-clipper.left .circle{left:0;transform:rotate(129deg);border-right-color:transparent!important}.circle-clipper.right .circle{left:-100%;transform:rotate(-129deg);border-left-color:transparent!important}.active .circle-clipper.left .circle{animation:1.333s cubic-bezier(.4,0,.2,1) infinite both left-spin}.active .circle-clipper.right .circle{animation:1.333s cubic-bezier(.4,0,.2,1) infinite both right-spin}@-webkit-keyframes left-spin{0%{-webkit-transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg)}}@keyframes left-spin{0%{transform:rotate(130deg)}50%{transform:rotate(-5deg)}to{transform:rotate(130deg)}}@-webkit-keyframes right-spin{0%{-webkit-transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg)}}@keyframes right-spin{0%{transform:rotate(-130deg)}50%{transform:rotate(5deg)}to{transform:rotate(-130deg)}}#spinnerContainer.cooldown{animation:1.568s linear infinite container-rotate,.4s cubic-bezier(.4,0,.2,1) fade-out}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.slider{width:100%;height:400px;position:relative}.slider.fullscreen{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.slider.fullscreen ul.slides{height:100%}.slider.fullscreen ul.indicators{z-index:2;bottom:30px}.slider .slides{background-color:#9e9e9e;height:400px;margin:0}.slider .slides li{opacity:0;z-index:1;width:100%;height:inherit;position:absolute;top:0;left:0;overflow:hidden}.slider .slides li img{background-position:50%;background-size:cover;width:100%;height:100%}.slider .slides li .caption{color:#fff;opacity:0;width:70%;position:absolute;top:15%;left:15%}.slider .slides li .caption p{color:#e0e0e0}.slider .slides li.active{z-index:2}.slider .indicators{text-align:center;margin:0;position:absolute;bottom:0;left:0;right:0}.slider .indicators .indicator-item{cursor:pointer;background-color:#e0e0e0;border-radius:50%;width:16px;height:16px;margin:0 12px;transition:background-color .3s;display:inline-block;position:relative}.slider .indicators .indicator-item.active{background-color:#4caf50}.carousel{perspective:500px;width:100%;height:400px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transform-origin:0%;position:relative;overflow:hidden}.carousel.carousel-slider{top:0;left:0}.carousel.carousel-slider .carousel-fixed-item{z-index:1;position:absolute;bottom:20px;left:0;right:0}.carousel.carousel-slider .carousel-fixed-item.with-indicators{bottom:68px}.carousel.carousel-slider .carousel-item{width:100%;height:100%;min-height:400px;position:absolute;top:0;left:0}.carousel.carousel-slider .carousel-item h2{font-size:24px;font-weight:500;line-height:32px}.carousel.carousel-slider .carousel-item p{font-size:15px}.carousel .carousel-item{visibility:hidden;width:200px;height:200px;position:absolute;top:0;left:0}.carousel .carousel-item>img{width:100%}.carousel .indicators{text-align:center;margin:0;position:absolute;bottom:0;left:0;right:0}.carousel .indicators .indicator-item{cursor:pointer;background-color:rgba(255,255,255,.5);border-radius:50%;width:8px;height:8px;margin:24px 4px;transition:background-color .3s;display:inline-block;position:relative}.carousel .indicators .indicator-item.active{background-color:#fff}.carousel.scrolling .carousel-item .materialboxed,.carousel .carousel-item:not(.active) .materialboxed{pointer-events:none}.tap-target-wrapper{z-index:1000;visibility:hidden;width:800px;height:800px;transition:visibility 0s .3s;position:fixed}.tap-target-wrapper.open{visibility:visible;transition:visibility}.tap-target-wrapper.open .tap-target{opacity:.95;transition:transform .3s ease-in-out,opacity .3s ease-in-out,-webkit-transform .3s ease-in-out;transform:scale(1)}.tap-target-wrapper.open .tap-target-wave:before{transform:scale(1)}.tap-target-wrapper.open .tap-target-wave:after{visibility:visible;transition:opacity .3s,transform .3s,visibility 0s 1s,-webkit-transform .3s;animation:1s cubic-bezier(.24,0,.38,1) infinite pulse-animation}.tap-target{opacity:0;background-color:#ee6e73;border-radius:50%;width:100%;height:100%;font-size:1rem;transition:transform .3s ease-in-out,opacity .3s ease-in-out,-webkit-transform .3s ease-in-out;position:absolute;transform:scale(0);box-shadow:0 20px 20px rgba(0,0,0,.14),0 10px 50px rgba(0,0,0,.12),0 30px 10px -20px rgba(0,0,0,.2)}.tap-target-content{display:table-cell;position:relative}.tap-target-wave{z-index:10001;border-radius:50%;position:absolute}.tap-target-wave:before,.tap-target-wave:after{content:"";background-color:#fff;border-radius:50%;width:100%;height:100%;display:block;position:absolute}.tap-target-wave:before{transition:transform .3s,-webkit-transform .3s;transform:scale(0)}.tap-target-wave:after{visibility:hidden;z-index:-1;transition:opacity .3s,transform .3s,visibility,-webkit-transform .3s}.tap-target-origin{z-index:10002;top:50%;left:50%;transform:translate(-50%,-50%);position:absolute!important}.tap-target-origin:not(.btn):not(.btn-large):not(.btn-small),.tap-target-origin:not(.btn):not(.btn-large):not(.btn-small):hover{background:0 0}@media only screen and (max-width:600px){.tap-target,.tap-target-wrapper{width:600px;height:600px}}.pulse{position:relative;overflow:visible}.pulse:before{content:"";background-color:inherit;border-radius:inherit;z-index:-1;width:100%;height:100%;transition:opacity .3s,transform .3s,-webkit-transform .3s;animation:1s cubic-bezier(.24,0,.38,1) infinite pulse-animation;display:block;position:absolute;top:0;left:0}@keyframes pulse-animation{0%{opacity:1;transform:scale(1)}50%{opacity:0;transform:scale(1.5)}to{opacity:0;transform:scale(1.5)}}.datepicker-modal{min-width:300px;max-width:325px;max-height:none}.datepicker-container.modal-content{flex-direction:column;padding:0;display:flex}.datepicker-controls{justify-content:space-between;width:280px;margin:0 auto;display:flex}.datepicker-controls .selects-container{display:flex}.datepicker-controls .select-wrapper input{text-align:center;border-bottom:none;margin:0}.datepicker-controls .select-wrapper input:focus{border-bottom:none}.datepicker-controls .select-wrapper .caret{display:none}.datepicker-controls .select-year input{width:50px}.datepicker-controls .select-month input{width:70px}.month-prev,.month-next{cursor:pointer;background-color:transparent;border:none;margin-top:4px}.datepicker-date-display{color:#fff;background-color:#26a69a;flex:auto;padding:20px 22px;font-weight:500}.datepicker-date-display .year-text{color:rgba(255,255,255,.7);font-size:1.5rem;line-height:25px;display:block}.datepicker-date-display .date-text{font-size:2.8rem;font-weight:500;line-height:47px;display:block}.datepicker-calendar-container{flex:2.5 auto}.datepicker-table{width:280px;margin:0 auto;font-size:1rem}.datepicker-table thead{border-bottom:none}.datepicker-table th{text-align:center;padding:10px 5px}.datepicker-table tr{border:none}.datepicker-table abbr{color:#999;text-decoration:none}.datepicker-table td{border-radius:50%;padding:0}.datepicker-table td.is-today{color:#26a69a}.datepicker-table td.is-selected{color:#fff;background-color:#26a69a}.datepicker-table td.is-outside-current-month,.datepicker-table td.is-disabled{color:rgba(0,0,0,.3);pointer-events:none}.datepicker-day-button{cursor:pointer;width:100%;color:inherit;background-color:transparent;border:none;border-radius:50%;padding:0 5px;line-height:38px;display:block}.datepicker-day-button:focus{background-color:rgba(43,161,150,.25)}.datepicker-footer{justify-content:space-between;width:280px;margin:0 auto;padding-bottom:5px;display:flex}.datepicker-cancel,.datepicker-clear,.datepicker-today,.datepicker-done{color:#26a69a;padding:0 1rem}.datepicker-clear{color:#f44336}@media only screen and (min-width:601px){.datepicker-modal{max-width:625px}.datepicker-container.modal-content{flex-direction:row}.datepicker-date-display{flex:0 270px}.datepicker-controls,.datepicker-table,.datepicker-footer{width:320px}.datepicker-day-button{line-height:44px}}.timepicker-modal{max-width:325px;max-height:none}.timepicker-container.modal-content{flex-direction:column;padding:0;display:flex}.text-primary{color:#fff}.timepicker-digital-display{background-color:#26a69a;flex:auto;padding:10px;font-weight:300}.timepicker-text-container{text-align:center;color:rgba(255,255,255,.6);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:4rem;font-weight:400;position:relative}.timepicker-span-hours,.timepicker-span-minutes,.timepicker-span-am-pm div{cursor:pointer}.timepicker-span-hours{margin-right:3px}.timepicker-span-minutes{margin-left:3px}.timepicker-display-am-pm{font-size:1.3rem;font-weight:400;position:absolute;bottom:1rem;right:1rem}.timepicker-analog-display{flex:2.5 auto}.timepicker-plate{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#eee;border-radius:50%;width:270px;height:270px;margin:25px auto 5px;position:relative;overflow:visible}.timepicker-canvas,.timepicker-dial{position:absolute;top:0;bottom:0;left:0;right:0}.timepicker-minutes{visibility:hidden}.timepicker-tick{color:rgba(0,0,0,.87);text-align:center;cursor:pointer;border-radius:50%;width:40px;height:40px;font-size:15px;line-height:40px;position:absolute}.timepicker-tick.active,.timepicker-tick:hover{background-color:rgba(38,166,154,.25)}.timepicker-dial{transition:transform .35s,opacity .35s,-webkit-transform .35s}.timepicker-dial-out{opacity:0}.timepicker-dial-out.timepicker-hours{transform:scale(1.1)}.timepicker-dial-out.timepicker-minutes{transform:scale(.8)}.timepicker-canvas{transition:opacity .175s}.timepicker-canvas line{stroke:#26a69a;stroke-width:4px;stroke-linecap:round}.timepicker-canvas-out{opacity:.25}.timepicker-canvas-bearing,.timepicker-canvas-bg{stroke:none;fill:#26a69a}.timepicker-footer{justify-content:space-between;margin:0 auto;padding:5px 1rem;display:flex}.timepicker-clear{color:#f44336}.timepicker-close{color:#26a69a}.timepicker-clear,.timepicker-close{padding:0 20px}@media only screen and (min-width:601px){.timepicker-modal{max-width:600px}.timepicker-container.modal-content{flex-direction:row}.timepicker-text-container{top:32%}.timepicker-display-am-pm{text-align:center;margin-top:1.2rem;position:relative;bottom:auto;right:auto}.container{width:95%}}.container{max-width:unset}body{font-size:18px;overflow-x:hidden}.btn,.btn-floating{background-color:#1565c0}.page-footer,.nav-wrapper,.statusbar,.nav-content{background-color:#fff}nav .title{font-size:2rem;position:fixed;top:0;left:200px}.input-field,.switch>label,.input-field>label,.input-field>.material-icons,.dropdown-content>li>a,.tooltip>.material-icons,label>span,.secondary-content>.material-icons{color:#1a237e}.tabs.tabs-transparent .tab a,nav ul a{color:#1a237e;padding:0}.primary-text{color:#1a237e}a{color:#2b36aa}.markdown ul{padding-left:20px}.markdown ul>li{padding-left:20px;list-style-type:disc}.leaflet-top,.leaflet-bottom{z-index:950}.block-with-text{text-align:justify;max-height:3.6em;margin-right:-1em;padding-right:1em;line-height:1.2em;position:relative;overflow:hidden}.block-with-text:before{content:"...";position:absolute;bottom:0;right:0}.block-with-text:after{content:"";background:#fff;width:1em;height:1em;margin-top:.2em;position:absolute;right:0}.sidenav{top:66px}.buttons a{margin:5px}@media print{html,body{font-size:14px}body{color:#000;background-color:#fff;margin:0}a[href^=http]:after{content:" (" attr(href)")"}.leaflet-container,img,pre,blockquote{page-break-inside:avoid;page-break-before:auto;page-break-after:auto;page-break-inside:avoid}main:after{content:"Copyright DRIVER+";text-align:center;display:block}.do-not-print,header,footer,aside,nav,form,iframe,.menu,.hero,.adslot{display:none}}.margin-top7{margin-top:7px}.inline{margin:0 1rem;display:inline-block}ul.list-inline li{display:inline}ul.menu-buttons>li{margin:5px 0}ul.menu-buttons>li>a{width:100%}ul.questionnaire-nav{text-align:center;width:100%}ul.questionnaire-nav>li{margin:0 10px}ul.questionnaire-nav>li>a{width:25%}.markdown p{color:#000;font-weight:400}.markdown.squeeze p,.repeat-list .pagination{margin:0}.repeat-list .assessment-plugin{margin:0 10px}.incident-view{width:100vw;margin-bottom:0;position:absolute;top:65px;left:-10px}.card-panel{cursor:pointer;margin:.5rem 0;padding:0 20px}.card-panel.xl{height:41.5vh}.card-panel.large{height:200px}.card-panel.medium{height:125px}.card-panel.small{height:75px}.widget{position:relative}.widget ul{margin:0}.widget-link{display:none}.widget:hover .widget-link{display:block}.bold{font-weight:700}.subject{vertical-align:middle;width:42px;display:inline-block;position:absolute;left:15px;overflow:hidden}ul.collection.objects,ul.collection.subjects{max-height:160px;overflow-y:auto}ul.updates{max-height:70px;overflow-y:auto}ul.measures{max-height:170px;overflow-y:auto}li.collection-item:first-child{background-color:#fff;position:fixed}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888}::-webkit-scrollbar-thumb:hover{background:#555}.radio{margin-top:2rem}.material-placeholder{z-index:1999}.materialbox-overlay{z-index:2000}.incident-view .leaflet-container{height:200px!important}#map-page .leaflet-container{width:100vw;margin-bottom:-65px;margin-left:-130px;height:91vh!important}.material-icons.hoverable{text-align:center;cursor:pointer}.material-icons.hoverable:hover{background-color:rgba(0,0,0,.1)}.card-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.comment{background-color:#d3d3d3;border-radius:10px;margin:10px 0;padding:10px}.comment-text p{margin:0}.tooltip{display:inline-block;position:relative}.tooltip .tooltiptext{visibility:hidden;color:#fff;text-align:center;z-index:1;background-color:#000;border-radius:6px;width:320px;padding:5px;font-size:1rem;line-height:2rem;position:absolute}.tooltip:hover .tooltiptext{visibility:visible}.tooltip .tooltiptext{width:150px;margin-left:-75px;top:100%;left:50%}.user-page{margin-top:10px}.multiple-choice-question label span{color:#000}:root{--gutter:10px}.hs-container{grid-gap:var(--gutter)0;grid-template-columns:var(--gutter)1fr var(--gutter);align-content:start;width:100%;height:100%}.hs-container>*{grid-column:2/-2}.hs-container>.full{grid-column:1/-1}.hs-header{margin-bottom:-25px;padding-top:10px}.hs>li,.item{scroll-snap-align:center;padding:calc(var(--gutter)/2*1.5);flex-direction:column;justify-content:center;align-items:center;display:flex}.hs{grid-gap:calc(var(--gutter)/2);grid-template-rows:minmax(150px,1fr);grid-template-columns:0;grid-auto-flow:column;grid-auto-columns:calc(24% - var(--gutter)*2);scroll-snap-type:x proximity;padding-bottom:calc(.1*var(--gutter));margin-bottom:calc(-.25*var(--gutter));display:grid;overflow-x:scroll;overflow-y:hidden}.hs:before,.hs:after{content:"";width:10px}.hs-item{width:100%}.section-wrapper{color:#777;border-top:1px solid rgba(0,0,0,.14);margin-top:20px;transition:margin .25s}img.thumbnail{width:auto;height:100%;max-height:20vh;margin:0 auto}.sidenav{width:250px}ul.person-details>li>i.material-icons{vertical-align:middle;margin:3px 10px 3px 0}ul.projects>li{margin:4px 0}ul.projects>li>span.project-id{margin-right:5px}.collapsible>li:first-child .collapsible-header span.badge{margin-left:10px}.input-field.options>label{top:-2.5rem}.input-field.options{margin-top:3rem}.condensed .input-field{margin:0 auto}.assessment-plugin.section{padding:0}.inline-icon{vertical-align:bottom}.margins{margin:10px}.overview .capability{white-space:nowrap;width:100%;margin-right:2rem;display:flex}.overview .capability .name{text-overflow:ellipsis;white-space:nowrap;flex-grow:1;overflow:hidden}.overview .square{background-color:#555;border:2px solid #000;flex:0 0 20px;width:20px;height:20px;margin-top:5px;margin-right:8px}.page .row{margin-bottom:0}.page{min-height:95vh;padding-bottom:20px}label,.pagination li,.material-icons,.unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-khtml-user-select:none}.chips{margin-top:0}a.waves-effect.waves-teal.btn-flat.selected{color:#fff;background:#1a237e}.input-field>label:not(.label-icon).active{transform-origin:0 0;transform:translateY(-8px)scale(.8)}.input-field>input[type=color]{margin-top:20px}.button-group{flex-flow:row;display:flex}.language-option{margin-right:10px;display:inline-block}.language-option img{cursor:pointer;width:30px;height:20px}.language-option span{color:#fff;white-space:nowrap;z-index:100;background-color:#000;border-radius:5px;margin-top:5px;margin-left:5px;padding:5px;font-size:14px;display:none;position:absolute}.language-option:hover span{display:block}.clickable{cursor:pointer}.disabled-image{-webkit-filter:grayscale();filter:grayscale();opacity:.5;pointer-events:none}.kanban{flex-flow:wrap;margin:0;padding:0;list-style:none;display:flex}.kanban-row{flex-flow:column;width:210px;height:100%;margin-top:10px;padding:0;list-style:none;display:flex}.kanban-header{justify-content:space-between;align-items:center;width:100%;height:50px;display:flex}.kanban-item{color:#fff;text-align:center;width:200px;min-width:200px;height:60px;margin:0 0 .7rem;padding:0}.kanban-item .card-content{padding:15px 10px;font-size:.8rem}.kanban-item .card-content>.card-title{margin-bottom:0}.kanban-item .card-desc{text-align:left;white-space:normal;word-wrap:break-word;text-overflow:ellipsis;padding:4px;font-size:.9rem;transition-delay:4s;display:none;overflow:hidden}.kanban-item:hover .card-desc{transition-delay:4s;display:block}.title{letter-spacing:.0125em;font-size:1.25rem;font-weight:500}.w70{width:70%}.w30{width:30%}.mw30{min-width:30%}.ml10{margin-left:10px}.mt5{margin-top:5px}.mt10{margin-top:10px}.mt25{margin-top:25px}.mb0{margin-bottom:0}.no-gutter{margin:0}.top-right{position:absolute;top:0;right:0}.top-right-next{position:absolute;top:4px;right:35px}ul.kanban>li{margin-bottom:10px}.inconsistencies-settings{height:90vh}.show-scenario,.create-scenario{height:calc(100vh - 84px);padding-top:1rem}.create-scenario .row{margin-bottom:0}#editor{min-height:150px}.scenario-table .input-field{margin-bottom:0}.scenario-table .material-icons{margin-top:1.6rem;margin-left:5px}.scenario-table .icons{flex-wrap:nowrap;justify-content:right;align-items:flex-start;display:flex}.narratives{border:solid #dbe2e0;border-radius:10px;margin:10px;padding:10px}.popupContainer{background-color:#fcffa5;width:100%;font-size:2rem;position:fixed;bottom:0;left:0;box-shadow:0 -5px 5px rgba(0,0,0,.3)}.popupContainer>.popupContent{padding:20px}.markdown h1{margin:1.5rem 0 1rem;font-size:2.2em}.markdown h2{font-size:2em}.markdown h3{font-size:1.6em}.markdown h4{font-size:1.4em}.markdown h5{font-size:1.2em}#toc{justify-content:center;align-items:center;display:flex}.markdown h6{font-size:1em}.markdown aside{box-sizing:border-box;padding:0 20px}.markdown main{box-sizing:border-box;flex:1;padding:20px}.markdown header{text-align:center;background-color:#f2f2f2;border-radius:20px;padding:10px 40px}.markdown nav ul{padding:0;list-style-type:none}.markdown nav ul li{margin-bottom:10px}@media only screen and (min-width:993px){table.repoonsive-table td.missing{height:57px}table.responsive-table{border-collapse:collapse;border-spacing:0;width:100%;display:block;position:relative}table.responsive-table td:empty:before{content:" "}table.responsive-table th,table.responsive-table td{vertical-align:top;margin:0}table.responsive-table th{text-align:left}table.responsive-table thead{float:left;display:block}table.responsive-table thead tr{padding:0 10px 0 0;display:block}table.responsive-table thead tr th:before{content:" "}table.responsive-table tbody{white-space:nowrap;width:auto;display:block;position:relative;overflow-x:auto}table.responsive-table tbody tr{vertical-align:top;display:inline-block}table.responsive-table th{text-align:right;display:block}table.responsive-table td{text-align:left;min-height:1.25em;display:block}table.responsive-table tr{border-bottom:none}table.responsive-table td,table.responsive-table th{padding:15px 10px}table.responsive-table thead{border:0;border-right:1px solid rgba(0,0,0,.12)}}.table-container{text-align:center;width:100%;margin:0 auto}.table{text-align:left;display:inline-block}.missing{height:57px}.decision-support table.responsive-table>tbody>tr:last-child,.decision-support td:nth-child(2),.decision-support th:nth-child(2),.decision-support td:nth-child(3),.decision-support th:nth-child(3),.decision-support td:nth-child(4),.decision-support th:nth-child(4){background:#e8f4f7}#editor{font-size:18px}.ql-editor strong{font-weight:700}.ql-editor em{font-style:italic}.ql-editor u{text-decoration:underline}.show-scenario .ql-container.ql-snow{border:none}.show-scenario .ql-editor{padding:30px 0}.show-scenario #editor{font-size:24px}.show-scenario div.input-field.select-space.left.mb0.mw30 input{font-size:42px}.show-scenario .select-wrapper input.select-dropdown{border:none}.select-inline{font-size:inherit;margin:0 0;padding-left:6px;display:inline-block}.select-inline>label{display:none}.select-inline input.select-dropdown{height:2rem;margin:0;padding:0}.scenario-paragraph{margin-bottom:1rem;font-size:24px}.ql-container{box-sizing:border-box;height:100%;margin:0;font-family:Helvetica,Arial,sans-serif;font-size:13px;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{height:1px;position:absolute;top:50%;left:-100000px;overflow-y:hidden}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;-moz-tab-size:4;tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word;outline:none;height:100%;padding:12px 15px;line-height:1.42;overflow-y:auto}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{padding-left:1.5em;list-style-type:none;position:relative}.ql-editor li>.ql-ui:before{text-align:right;white-space:nowrap;width:1.2em;margin-left:-1.5em;margin-right:.3em;display:inline-block}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal)". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha)". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman)". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal)". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha)". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman)". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal)". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha)". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman)". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal)". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{text-align:left;margin-left:.3em;margin-right:-1.5em}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{max-width:100%;display:block}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{text-align:inherit;direction:rtl}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:rgba(0,0,0,.6);content:attr(data-placeholder);pointer-events:none;font-style:italic;position:absolute;left:15px;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{cursor:pointer;float:left;background:0 0;border:none;width:28px;height:24px;padding:3px 5px;display:inline-block}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file]{display:none}.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{vertical-align:middle;display:inline-block}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2px}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1px}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-top:5px;margin-bottom:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-top:5px;margin-bottom:5px;padding:5px 10px}.ql-snow .ql-editor code{padding:2px 4px;font-size:85%}.ql-snow .ql-editor .ql-code-block-container{color:#f8f8f2;background-color:#23241f;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;float:left;vertical-align:middle;height:24px;font-size:14px;font-weight:500;display:inline-block;position:relative}.ql-snow .ql-picker-label{cursor:pointer;width:100%;height:100%;padding-left:8px;padding-right:2px;display:inline-block;position:relative}.ql-snow .ql-picker-label:before{line-height:22px;display:inline-block}.ql-snow .ql-picker-options{white-space:nowrap;background-color:#fff;min-width:100%;padding:4px 8px;display:none;position:absolute}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;padding-top:5px;padding-bottom:5px;display:block}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{z-index:1;margin-top:-1px;display:block;top:100%}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{width:24px;height:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{width:152px;padding:3px 5px}.ql-snow .ql-color-picker .ql-picker-item{float:left;border:1px solid transparent;width:16px;height:16px;margin:2px;padding:0}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{width:18px;margin-top:-9px;position:absolute;top:50%;right:0}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{top:5px;right:5px}.ql-toolbar.ql-snow{box-sizing:border-box;border:1px solid #ccc;padding:8px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:0 2px 8px rgba(0,0,0,.2)}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{color:#444;white-space:nowrap;background-color:#fff;border:1px solid #ccc;padding:5px 12px;box-shadow:0 0 5px #ddd}.ql-snow .ql-tooltip:before{content:"Visit URL:";margin-right:8px;line-height:26px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;width:170px;height:26px;margin:0;padding:3px 5px;font-size:13px;display:none}.ql-snow .ql-tooltip a.ql-preview{text-overflow:ellipsis;vertical-align:top;max-width:200px;display:inline-block;overflow-x:hidden}.ql-snow .ql-tooltip a.ql-action:after{content:"Edit";border-right:1px solid #ccc;margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{content:"Save";border-right:0;padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}head{--webpack-gui-909:&_2855,Ā1366Ć_4784Č118} +@font-face{font-family:Material Icons;font-style:normal;font-weight:400;font-display:block;src:url(59322316b3fd6063.woff2)format("woff2"),url(4ad034d2c499d9b6.woff)format("woff")}.material-icons{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga";direction:ltr;font-family:Material Icons;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}.materialize-red{background-color:#e51c23!important}.materialize-red-text{color:#e51c23!important}.materialize-red.lighten-5{background-color:#fdeaeb!important}.materialize-red-text.text-lighten-5{color:#fdeaeb!important}.materialize-red.lighten-4{background-color:#f8c1c3!important}.materialize-red-text.text-lighten-4{color:#f8c1c3!important}.materialize-red.lighten-3{background-color:#f3989b!important}.materialize-red-text.text-lighten-3{color:#f3989b!important}.materialize-red.lighten-2{background-color:#ee6e73!important}.materialize-red-text.text-lighten-2{color:#ee6e73!important}.materialize-red.lighten-1{background-color:#ea454b!important}.materialize-red-text.text-lighten-1{color:#ea454b!important}.materialize-red.darken-1{background-color:#d0181e!important}.materialize-red-text.text-darken-1{color:#d0181e!important}.materialize-red.darken-2{background-color:#b9151b!important}.materialize-red-text.text-darken-2{color:#b9151b!important}.materialize-red.darken-3{background-color:#a21318!important}.materialize-red-text.text-darken-3{color:#a21318!important}.materialize-red.darken-4{background-color:#8b1014!important}.materialize-red-text.text-darken-4{color:#8b1014!important}.red{background-color:#f44336!important}.red-text{color:#f44336!important}.red.lighten-5{background-color:#ffebee!important}.red-text.text-lighten-5{color:#ffebee!important}.red.lighten-4{background-color:#ffcdd2!important}.red-text.text-lighten-4{color:#ffcdd2!important}.red.lighten-3{background-color:#ef9a9a!important}.red-text.text-lighten-3{color:#ef9a9a!important}.red.lighten-2{background-color:#e57373!important}.red-text.text-lighten-2{color:#e57373!important}.red.lighten-1{background-color:#ef5350!important}.red-text.text-lighten-1{color:#ef5350!important}.red.darken-1{background-color:#e53935!important}.red-text.text-darken-1{color:#e53935!important}.red.darken-2{background-color:#d32f2f!important}.red-text.text-darken-2{color:#d32f2f!important}.red.darken-3{background-color:#c62828!important}.red-text.text-darken-3{color:#c62828!important}.red.darken-4{background-color:#b71c1c!important}.red-text.text-darken-4{color:#b71c1c!important}.red.accent-1{background-color:#ff8a80!important}.red-text.text-accent-1{color:#ff8a80!important}.red.accent-2{background-color:#ff5252!important}.red-text.text-accent-2{color:#ff5252!important}.red.accent-3{background-color:#ff1744!important}.red-text.text-accent-3{color:#ff1744!important}.red.accent-4{background-color:#d50000!important}.red-text.text-accent-4{color:#d50000!important}.pink{background-color:#e91e63!important}.pink-text{color:#e91e63!important}.pink.lighten-5{background-color:#fce4ec!important}.pink-text.text-lighten-5{color:#fce4ec!important}.pink.lighten-4{background-color:#f8bbd0!important}.pink-text.text-lighten-4{color:#f8bbd0!important}.pink.lighten-3{background-color:#f48fb1!important}.pink-text.text-lighten-3{color:#f48fb1!important}.pink.lighten-2{background-color:#f06292!important}.pink-text.text-lighten-2{color:#f06292!important}.pink.lighten-1{background-color:#ec407a!important}.pink-text.text-lighten-1{color:#ec407a!important}.pink.darken-1{background-color:#d81b60!important}.pink-text.text-darken-1{color:#d81b60!important}.pink.darken-2{background-color:#c2185b!important}.pink-text.text-darken-2{color:#c2185b!important}.pink.darken-3{background-color:#ad1457!important}.pink-text.text-darken-3{color:#ad1457!important}.pink.darken-4{background-color:#880e4f!important}.pink-text.text-darken-4{color:#880e4f!important}.pink.accent-1{background-color:#ff80ab!important}.pink-text.text-accent-1{color:#ff80ab!important}.pink.accent-2{background-color:#ff4081!important}.pink-text.text-accent-2{color:#ff4081!important}.pink.accent-3{background-color:#f50057!important}.pink-text.text-accent-3{color:#f50057!important}.pink.accent-4{background-color:#c51162!important}.pink-text.text-accent-4{color:#c51162!important}.purple{background-color:#9c27b0!important}.purple-text{color:#9c27b0!important}.purple.lighten-5{background-color:#f3e5f5!important}.purple-text.text-lighten-5{color:#f3e5f5!important}.purple.lighten-4{background-color:#e1bee7!important}.purple-text.text-lighten-4{color:#e1bee7!important}.purple.lighten-3{background-color:#ce93d8!important}.purple-text.text-lighten-3{color:#ce93d8!important}.purple.lighten-2{background-color:#ba68c8!important}.purple-text.text-lighten-2{color:#ba68c8!important}.purple.lighten-1{background-color:#ab47bc!important}.purple-text.text-lighten-1{color:#ab47bc!important}.purple.darken-1{background-color:#8e24aa!important}.purple-text.text-darken-1{color:#8e24aa!important}.purple.darken-2{background-color:#7b1fa2!important}.purple-text.text-darken-2{color:#7b1fa2!important}.purple.darken-3{background-color:#6a1b9a!important}.purple-text.text-darken-3{color:#6a1b9a!important}.purple.darken-4{background-color:#4a148c!important}.purple-text.text-darken-4{color:#4a148c!important}.purple.accent-1{background-color:#ea80fc!important}.purple-text.text-accent-1{color:#ea80fc!important}.purple.accent-2{background-color:#e040fb!important}.purple-text.text-accent-2{color:#e040fb!important}.purple.accent-3{background-color:#d500f9!important}.purple-text.text-accent-3{color:#d500f9!important}.purple.accent-4{background-color:#a0f!important}.purple-text.text-accent-4{color:#a0f!important}.deep-purple{background-color:#673ab7!important}.deep-purple-text{color:#673ab7!important}.deep-purple.lighten-5{background-color:#ede7f6!important}.deep-purple-text.text-lighten-5{color:#ede7f6!important}.deep-purple.lighten-4{background-color:#d1c4e9!important}.deep-purple-text.text-lighten-4{color:#d1c4e9!important}.deep-purple.lighten-3{background-color:#b39ddb!important}.deep-purple-text.text-lighten-3{color:#b39ddb!important}.deep-purple.lighten-2{background-color:#9575cd!important}.deep-purple-text.text-lighten-2{color:#9575cd!important}.deep-purple.lighten-1{background-color:#7e57c2!important}.deep-purple-text.text-lighten-1{color:#7e57c2!important}.deep-purple.darken-1{background-color:#5e35b1!important}.deep-purple-text.text-darken-1{color:#5e35b1!important}.deep-purple.darken-2{background-color:#512da8!important}.deep-purple-text.text-darken-2{color:#512da8!important}.deep-purple.darken-3{background-color:#4527a0!important}.deep-purple-text.text-darken-3{color:#4527a0!important}.deep-purple.darken-4{background-color:#311b92!important}.deep-purple-text.text-darken-4{color:#311b92!important}.deep-purple.accent-1{background-color:#b388ff!important}.deep-purple-text.text-accent-1{color:#b388ff!important}.deep-purple.accent-2{background-color:#7c4dff!important}.deep-purple-text.text-accent-2{color:#7c4dff!important}.deep-purple.accent-3{background-color:#651fff!important}.deep-purple-text.text-accent-3{color:#651fff!important}.deep-purple.accent-4{background-color:#6200ea!important}.deep-purple-text.text-accent-4{color:#6200ea!important}.indigo{background-color:#3f51b5!important}.indigo-text{color:#3f51b5!important}.indigo.lighten-5{background-color:#e8eaf6!important}.indigo-text.text-lighten-5{color:#e8eaf6!important}.indigo.lighten-4{background-color:#c5cae9!important}.indigo-text.text-lighten-4{color:#c5cae9!important}.indigo.lighten-3{background-color:#9fa8da!important}.indigo-text.text-lighten-3{color:#9fa8da!important}.indigo.lighten-2{background-color:#7986cb!important}.indigo-text.text-lighten-2{color:#7986cb!important}.indigo.lighten-1{background-color:#5c6bc0!important}.indigo-text.text-lighten-1{color:#5c6bc0!important}.indigo.darken-1{background-color:#3949ab!important}.indigo-text.text-darken-1{color:#3949ab!important}.indigo.darken-2{background-color:#303f9f!important}.indigo-text.text-darken-2{color:#303f9f!important}.indigo.darken-3{background-color:#283593!important}.indigo-text.text-darken-3{color:#283593!important}.indigo.darken-4{background-color:#1a237e!important}.indigo-text.text-darken-4{color:#1a237e!important}.indigo.accent-1{background-color:#8c9eff!important}.indigo-text.text-accent-1{color:#8c9eff!important}.indigo.accent-2{background-color:#536dfe!important}.indigo-text.text-accent-2{color:#536dfe!important}.indigo.accent-3{background-color:#3d5afe!important}.indigo-text.text-accent-3{color:#3d5afe!important}.indigo.accent-4{background-color:#304ffe!important}.indigo-text.text-accent-4{color:#304ffe!important}.blue{background-color:#2196f3!important}.blue-text{color:#2196f3!important}.blue.lighten-5{background-color:#e3f2fd!important}.blue-text.text-lighten-5{color:#e3f2fd!important}.blue.lighten-4{background-color:#bbdefb!important}.blue-text.text-lighten-4{color:#bbdefb!important}.blue.lighten-3{background-color:#90caf9!important}.blue-text.text-lighten-3{color:#90caf9!important}.blue.lighten-2{background-color:#64b5f6!important}.blue-text.text-lighten-2{color:#64b5f6!important}.blue.lighten-1{background-color:#42a5f5!important}.blue-text.text-lighten-1{color:#42a5f5!important}.blue.darken-1{background-color:#1e88e5!important}.blue-text.text-darken-1{color:#1e88e5!important}.blue.darken-2{background-color:#1976d2!important}.blue-text.text-darken-2{color:#1976d2!important}.blue.darken-3{background-color:#1565c0!important}.blue-text.text-darken-3{color:#1565c0!important}.blue.darken-4{background-color:#0d47a1!important}.blue-text.text-darken-4{color:#0d47a1!important}.blue.accent-1{background-color:#82b1ff!important}.blue-text.text-accent-1{color:#82b1ff!important}.blue.accent-2{background-color:#448aff!important}.blue-text.text-accent-2{color:#448aff!important}.blue.accent-3{background-color:#2979ff!important}.blue-text.text-accent-3{color:#2979ff!important}.blue.accent-4{background-color:#2962ff!important}.blue-text.text-accent-4{color:#2962ff!important}.light-blue{background-color:#03a9f4!important}.light-blue-text{color:#03a9f4!important}.light-blue.lighten-5{background-color:#e1f5fe!important}.light-blue-text.text-lighten-5{color:#e1f5fe!important}.light-blue.lighten-4{background-color:#b3e5fc!important}.light-blue-text.text-lighten-4{color:#b3e5fc!important}.light-blue.lighten-3{background-color:#81d4fa!important}.light-blue-text.text-lighten-3{color:#81d4fa!important}.light-blue.lighten-2{background-color:#4fc3f7!important}.light-blue-text.text-lighten-2{color:#4fc3f7!important}.light-blue.lighten-1{background-color:#29b6f6!important}.light-blue-text.text-lighten-1{color:#29b6f6!important}.light-blue.darken-1{background-color:#039be5!important}.light-blue-text.text-darken-1{color:#039be5!important}.light-blue.darken-2{background-color:#0288d1!important}.light-blue-text.text-darken-2{color:#0288d1!important}.light-blue.darken-3{background-color:#0277bd!important}.light-blue-text.text-darken-3{color:#0277bd!important}.light-blue.darken-4{background-color:#01579b!important}.light-blue-text.text-darken-4{color:#01579b!important}.light-blue.accent-1{background-color:#80d8ff!important}.light-blue-text.text-accent-1{color:#80d8ff!important}.light-blue.accent-2{background-color:#40c4ff!important}.light-blue-text.text-accent-2{color:#40c4ff!important}.light-blue.accent-3{background-color:#00b0ff!important}.light-blue-text.text-accent-3{color:#00b0ff!important}.light-blue.accent-4{background-color:#0091ea!important}.light-blue-text.text-accent-4{color:#0091ea!important}.cyan{background-color:#00bcd4!important}.cyan-text{color:#00bcd4!important}.cyan.lighten-5{background-color:#e0f7fa!important}.cyan-text.text-lighten-5{color:#e0f7fa!important}.cyan.lighten-4{background-color:#b2ebf2!important}.cyan-text.text-lighten-4{color:#b2ebf2!important}.cyan.lighten-3{background-color:#80deea!important}.cyan-text.text-lighten-3{color:#80deea!important}.cyan.lighten-2{background-color:#4dd0e1!important}.cyan-text.text-lighten-2{color:#4dd0e1!important}.cyan.lighten-1{background-color:#26c6da!important}.cyan-text.text-lighten-1{color:#26c6da!important}.cyan.darken-1{background-color:#00acc1!important}.cyan-text.text-darken-1{color:#00acc1!important}.cyan.darken-2{background-color:#0097a7!important}.cyan-text.text-darken-2{color:#0097a7!important}.cyan.darken-3{background-color:#00838f!important}.cyan-text.text-darken-3{color:#00838f!important}.cyan.darken-4{background-color:#006064!important}.cyan-text.text-darken-4{color:#006064!important}.cyan.accent-1{background-color:#84ffff!important}.cyan-text.text-accent-1{color:#84ffff!important}.cyan.accent-2{background-color:#18ffff!important}.cyan-text.text-accent-2{color:#18ffff!important}.cyan.accent-3{background-color:#00e5ff!important}.cyan-text.text-accent-3{color:#00e5ff!important}.cyan.accent-4{background-color:#00b8d4!important}.cyan-text.text-accent-4{color:#00b8d4!important}.teal{background-color:#009688!important}.teal-text{color:#009688!important}.teal.lighten-5{background-color:#e0f2f1!important}.teal-text.text-lighten-5{color:#e0f2f1!important}.teal.lighten-4{background-color:#b2dfdb!important}.teal-text.text-lighten-4{color:#b2dfdb!important}.teal.lighten-3{background-color:#80cbc4!important}.teal-text.text-lighten-3{color:#80cbc4!important}.teal.lighten-2{background-color:#4db6ac!important}.teal-text.text-lighten-2{color:#4db6ac!important}.teal.lighten-1{background-color:#26a69a!important}.teal-text.text-lighten-1{color:#26a69a!important}.teal.darken-1{background-color:#00897b!important}.teal-text.text-darken-1{color:#00897b!important}.teal.darken-2{background-color:#00796b!important}.teal-text.text-darken-2{color:#00796b!important}.teal.darken-3{background-color:#00695c!important}.teal-text.text-darken-3{color:#00695c!important}.teal.darken-4{background-color:#004d40!important}.teal-text.text-darken-4{color:#004d40!important}.teal.accent-1{background-color:#a7ffeb!important}.teal-text.text-accent-1{color:#a7ffeb!important}.teal.accent-2{background-color:#64ffda!important}.teal-text.text-accent-2{color:#64ffda!important}.teal.accent-3{background-color:#1de9b6!important}.teal-text.text-accent-3{color:#1de9b6!important}.teal.accent-4{background-color:#00bfa5!important}.teal-text.text-accent-4{color:#00bfa5!important}.green{background-color:#4caf50!important}.green-text{color:#4caf50!important}.green.lighten-5{background-color:#e8f5e9!important}.green-text.text-lighten-5{color:#e8f5e9!important}.green.lighten-4{background-color:#c8e6c9!important}.green-text.text-lighten-4{color:#c8e6c9!important}.green.lighten-3{background-color:#a5d6a7!important}.green-text.text-lighten-3{color:#a5d6a7!important}.green.lighten-2{background-color:#81c784!important}.green-text.text-lighten-2{color:#81c784!important}.green.lighten-1{background-color:#66bb6a!important}.green-text.text-lighten-1{color:#66bb6a!important}.green.darken-1{background-color:#43a047!important}.green-text.text-darken-1{color:#43a047!important}.green.darken-2{background-color:#388e3c!important}.green-text.text-darken-2{color:#388e3c!important}.green.darken-3{background-color:#2e7d32!important}.green-text.text-darken-3{color:#2e7d32!important}.green.darken-4{background-color:#1b5e20!important}.green-text.text-darken-4{color:#1b5e20!important}.green.accent-1{background-color:#b9f6ca!important}.green-text.text-accent-1{color:#b9f6ca!important}.green.accent-2{background-color:#69f0ae!important}.green-text.text-accent-2{color:#69f0ae!important}.green.accent-3{background-color:#00e676!important}.green-text.text-accent-3{color:#00e676!important}.green.accent-4{background-color:#00c853!important}.green-text.text-accent-4{color:#00c853!important}.light-green{background-color:#8bc34a!important}.light-green-text{color:#8bc34a!important}.light-green.lighten-5{background-color:#f1f8e9!important}.light-green-text.text-lighten-5{color:#f1f8e9!important}.light-green.lighten-4{background-color:#dcedc8!important}.light-green-text.text-lighten-4{color:#dcedc8!important}.light-green.lighten-3{background-color:#c5e1a5!important}.light-green-text.text-lighten-3{color:#c5e1a5!important}.light-green.lighten-2{background-color:#aed581!important}.light-green-text.text-lighten-2{color:#aed581!important}.light-green.lighten-1{background-color:#9ccc65!important}.light-green-text.text-lighten-1{color:#9ccc65!important}.light-green.darken-1{background-color:#7cb342!important}.light-green-text.text-darken-1{color:#7cb342!important}.light-green.darken-2{background-color:#689f38!important}.light-green-text.text-darken-2{color:#689f38!important}.light-green.darken-3{background-color:#558b2f!important}.light-green-text.text-darken-3{color:#558b2f!important}.light-green.darken-4{background-color:#33691e!important}.light-green-text.text-darken-4{color:#33691e!important}.light-green.accent-1{background-color:#ccff90!important}.light-green-text.text-accent-1{color:#ccff90!important}.light-green.accent-2{background-color:#b2ff59!important}.light-green-text.text-accent-2{color:#b2ff59!important}.light-green.accent-3{background-color:#76ff03!important}.light-green-text.text-accent-3{color:#76ff03!important}.light-green.accent-4{background-color:#64dd17!important}.light-green-text.text-accent-4{color:#64dd17!important}.lime{background-color:#cddc39!important}.lime-text{color:#cddc39!important}.lime.lighten-5{background-color:#f9fbe7!important}.lime-text.text-lighten-5{color:#f9fbe7!important}.lime.lighten-4{background-color:#f0f4c3!important}.lime-text.text-lighten-4{color:#f0f4c3!important}.lime.lighten-3{background-color:#e6ee9c!important}.lime-text.text-lighten-3{color:#e6ee9c!important}.lime.lighten-2{background-color:#dce775!important}.lime-text.text-lighten-2{color:#dce775!important}.lime.lighten-1{background-color:#d4e157!important}.lime-text.text-lighten-1{color:#d4e157!important}.lime.darken-1{background-color:#c0ca33!important}.lime-text.text-darken-1{color:#c0ca33!important}.lime.darken-2{background-color:#afb42b!important}.lime-text.text-darken-2{color:#afb42b!important}.lime.darken-3{background-color:#9e9d24!important}.lime-text.text-darken-3{color:#9e9d24!important}.lime.darken-4{background-color:#827717!important}.lime-text.text-darken-4{color:#827717!important}.lime.accent-1{background-color:#f4ff81!important}.lime-text.text-accent-1{color:#f4ff81!important}.lime.accent-2{background-color:#eeff41!important}.lime-text.text-accent-2{color:#eeff41!important}.lime.accent-3{background-color:#c6ff00!important}.lime-text.text-accent-3{color:#c6ff00!important}.lime.accent-4{background-color:#aeea00!important}.lime-text.text-accent-4{color:#aeea00!important}.yellow{background-color:#ffeb3b!important}.yellow-text{color:#ffeb3b!important}.yellow.lighten-5{background-color:#fffde7!important}.yellow-text.text-lighten-5{color:#fffde7!important}.yellow.lighten-4{background-color:#fff9c4!important}.yellow-text.text-lighten-4{color:#fff9c4!important}.yellow.lighten-3{background-color:#fff59d!important}.yellow-text.text-lighten-3{color:#fff59d!important}.yellow.lighten-2{background-color:#fff176!important}.yellow-text.text-lighten-2{color:#fff176!important}.yellow.lighten-1{background-color:#ffee58!important}.yellow-text.text-lighten-1{color:#ffee58!important}.yellow.darken-1{background-color:#fdd835!important}.yellow-text.text-darken-1{color:#fdd835!important}.yellow.darken-2{background-color:#fbc02d!important}.yellow-text.text-darken-2{color:#fbc02d!important}.yellow.darken-3{background-color:#f9a825!important}.yellow-text.text-darken-3{color:#f9a825!important}.yellow.darken-4{background-color:#f57f17!important}.yellow-text.text-darken-4{color:#f57f17!important}.yellow.accent-1{background-color:#ffff8d!important}.yellow-text.text-accent-1{color:#ffff8d!important}.yellow.accent-2{background-color:#ff0!important}.yellow-text.text-accent-2{color:#ff0!important}.yellow.accent-3{background-color:#ffea00!important}.yellow-text.text-accent-3{color:#ffea00!important}.yellow.accent-4{background-color:#ffd600!important}.yellow-text.text-accent-4{color:#ffd600!important}.amber{background-color:#ffc107!important}.amber-text{color:#ffc107!important}.amber.lighten-5{background-color:#fff8e1!important}.amber-text.text-lighten-5{color:#fff8e1!important}.amber.lighten-4{background-color:#ffecb3!important}.amber-text.text-lighten-4{color:#ffecb3!important}.amber.lighten-3{background-color:#ffe082!important}.amber-text.text-lighten-3{color:#ffe082!important}.amber.lighten-2{background-color:#ffd54f!important}.amber-text.text-lighten-2{color:#ffd54f!important}.amber.lighten-1{background-color:#ffca28!important}.amber-text.text-lighten-1{color:#ffca28!important}.amber.darken-1{background-color:#ffb300!important}.amber-text.text-darken-1{color:#ffb300!important}.amber.darken-2{background-color:#ffa000!important}.amber-text.text-darken-2{color:#ffa000!important}.amber.darken-3{background-color:#ff8f00!important}.amber-text.text-darken-3{color:#ff8f00!important}.amber.darken-4{background-color:#ff6f00!important}.amber-text.text-darken-4{color:#ff6f00!important}.amber.accent-1{background-color:#ffe57f!important}.amber-text.text-accent-1{color:#ffe57f!important}.amber.accent-2{background-color:#ffd740!important}.amber-text.text-accent-2{color:#ffd740!important}.amber.accent-3{background-color:#ffc400!important}.amber-text.text-accent-3{color:#ffc400!important}.amber.accent-4{background-color:#ffab00!important}.amber-text.text-accent-4{color:#ffab00!important}.orange{background-color:#ff9800!important}.orange-text{color:#ff9800!important}.orange.lighten-5{background-color:#fff3e0!important}.orange-text.text-lighten-5{color:#fff3e0!important}.orange.lighten-4{background-color:#ffe0b2!important}.orange-text.text-lighten-4{color:#ffe0b2!important}.orange.lighten-3{background-color:#ffcc80!important}.orange-text.text-lighten-3{color:#ffcc80!important}.orange.lighten-2{background-color:#ffb74d!important}.orange-text.text-lighten-2{color:#ffb74d!important}.orange.lighten-1{background-color:#ffa726!important}.orange-text.text-lighten-1{color:#ffa726!important}.orange.darken-1{background-color:#fb8c00!important}.orange-text.text-darken-1{color:#fb8c00!important}.orange.darken-2{background-color:#f57c00!important}.orange-text.text-darken-2{color:#f57c00!important}.orange.darken-3{background-color:#ef6c00!important}.orange-text.text-darken-3{color:#ef6c00!important}.orange.darken-4{background-color:#e65100!important}.orange-text.text-darken-4{color:#e65100!important}.orange.accent-1{background-color:#ffd180!important}.orange-text.text-accent-1{color:#ffd180!important}.orange.accent-2{background-color:#ffab40!important}.orange-text.text-accent-2{color:#ffab40!important}.orange.accent-3{background-color:#ff9100!important}.orange-text.text-accent-3{color:#ff9100!important}.orange.accent-4{background-color:#ff6d00!important}.orange-text.text-accent-4{color:#ff6d00!important}.deep-orange{background-color:#ff5722!important}.deep-orange-text{color:#ff5722!important}.deep-orange.lighten-5{background-color:#fbe9e7!important}.deep-orange-text.text-lighten-5{color:#fbe9e7!important}.deep-orange.lighten-4{background-color:#ffccbc!important}.deep-orange-text.text-lighten-4{color:#ffccbc!important}.deep-orange.lighten-3{background-color:#ffab91!important}.deep-orange-text.text-lighten-3{color:#ffab91!important}.deep-orange.lighten-2{background-color:#ff8a65!important}.deep-orange-text.text-lighten-2{color:#ff8a65!important}.deep-orange.lighten-1{background-color:#ff7043!important}.deep-orange-text.text-lighten-1{color:#ff7043!important}.deep-orange.darken-1{background-color:#f4511e!important}.deep-orange-text.text-darken-1{color:#f4511e!important}.deep-orange.darken-2{background-color:#e64a19!important}.deep-orange-text.text-darken-2{color:#e64a19!important}.deep-orange.darken-3{background-color:#d84315!important}.deep-orange-text.text-darken-3{color:#d84315!important}.deep-orange.darken-4{background-color:#bf360c!important}.deep-orange-text.text-darken-4{color:#bf360c!important}.deep-orange.accent-1{background-color:#ff9e80!important}.deep-orange-text.text-accent-1{color:#ff9e80!important}.deep-orange.accent-2{background-color:#ff6e40!important}.deep-orange-text.text-accent-2{color:#ff6e40!important}.deep-orange.accent-3{background-color:#ff3d00!important}.deep-orange-text.text-accent-3{color:#ff3d00!important}.deep-orange.accent-4{background-color:#dd2c00!important}.deep-orange-text.text-accent-4{color:#dd2c00!important}.brown{background-color:#795548!important}.brown-text{color:#795548!important}.brown.lighten-5{background-color:#efebe9!important}.brown-text.text-lighten-5{color:#efebe9!important}.brown.lighten-4{background-color:#d7ccc8!important}.brown-text.text-lighten-4{color:#d7ccc8!important}.brown.lighten-3{background-color:#bcaaa4!important}.brown-text.text-lighten-3{color:#bcaaa4!important}.brown.lighten-2{background-color:#a1887f!important}.brown-text.text-lighten-2{color:#a1887f!important}.brown.lighten-1{background-color:#8d6e63!important}.brown-text.text-lighten-1{color:#8d6e63!important}.brown.darken-1{background-color:#6d4c41!important}.brown-text.text-darken-1{color:#6d4c41!important}.brown.darken-2{background-color:#5d4037!important}.brown-text.text-darken-2{color:#5d4037!important}.brown.darken-3{background-color:#4e342e!important}.brown-text.text-darken-3{color:#4e342e!important}.brown.darken-4{background-color:#3e2723!important}.brown-text.text-darken-4{color:#3e2723!important}.blue-grey{background-color:#607d8b!important}.blue-grey-text{color:#607d8b!important}.blue-grey.lighten-5{background-color:#eceff1!important}.blue-grey-text.text-lighten-5{color:#eceff1!important}.blue-grey.lighten-4{background-color:#cfd8dc!important}.blue-grey-text.text-lighten-4{color:#cfd8dc!important}.blue-grey.lighten-3{background-color:#b0bec5!important}.blue-grey-text.text-lighten-3{color:#b0bec5!important}.blue-grey.lighten-2{background-color:#90a4ae!important}.blue-grey-text.text-lighten-2{color:#90a4ae!important}.blue-grey.lighten-1{background-color:#78909c!important}.blue-grey-text.text-lighten-1{color:#78909c!important}.blue-grey.darken-1{background-color:#546e7a!important}.blue-grey-text.text-darken-1{color:#546e7a!important}.blue-grey.darken-2{background-color:#455a64!important}.blue-grey-text.text-darken-2{color:#455a64!important}.blue-grey.darken-3{background-color:#37474f!important}.blue-grey-text.text-darken-3{color:#37474f!important}.blue-grey.darken-4{background-color:#263238!important}.blue-grey-text.text-darken-4{color:#263238!important}.grey{background-color:#9e9e9e!important}.grey-text{color:#9e9e9e!important}.grey.lighten-5{background-color:#fafafa!important}.grey-text.text-lighten-5{color:#fafafa!important}.grey.lighten-4{background-color:#f5f5f5!important}.grey-text.text-lighten-4{color:#f5f5f5!important}.grey.lighten-3{background-color:#eee!important}.grey-text.text-lighten-3{color:#eee!important}.grey.lighten-2{background-color:#e0e0e0!important}.grey-text.text-lighten-2{color:#e0e0e0!important}.grey.lighten-1{background-color:#bdbdbd!important}.grey-text.text-lighten-1{color:#bdbdbd!important}.grey.darken-1{background-color:#757575!important}.grey-text.text-darken-1{color:#757575!important}.grey.darken-2{background-color:#616161!important}.grey-text.text-darken-2{color:#616161!important}.grey.darken-3{background-color:#424242!important}.grey-text.text-darken-3{color:#424242!important}.grey.darken-4{background-color:#212121!important}.grey-text.text-darken-4{color:#212121!important}.black{background-color:#000!important}.black-text{color:#000!important}.white{background-color:#fff!important}.white-text{color:#fff!important}.transparent{background-color:transparent!important}.transparent-text{color:transparent!important}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;line-height:1.15}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{margin:.67em 0;font-size:2em}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{-webkit-text-decoration-skip:objects;background-color:transparent}abbr[title]{text-decoration:underline;border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}dfn{font-style:italic}mark{color:#000;background-color:#ff0}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){height:0;display:none}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{margin:0;font-family:sans-serif;font-size:100%;line-height:1.15}button,input{overflow:visible}button,select{text-transform:none}button{-webkit-appearance:button}html [type=button]{-webkit-appearance:button}[type=reset]{-webkit-appearance:button}[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring{outline:1px dotted buttontext}[type=button]:-moz-focusring{outline:1px dotted buttontext}[type=reset]:-moz-focusring{outline:1px dotted buttontext}[type=submit]:-moz-focusring{outline:1px dotted buttontext}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;white-space:normal;max-width:100%;padding:0;display:table}progress{vertical-align:baseline;display:inline-block}textarea{overflow:auto}[type=checkbox]{box-sizing:border-box;padding:0}[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template,[hidden]{display:none}html{box-sizing:border-box}*,:before,:after{-webkit-box-sizing:inherit;box-sizing:inherit}button,input,optgroup,select,textarea{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}ul:not(.browser-default){padding-left:0;list-style-type:none}ul:not(.browser-default)>li{list-style-type:none}a{color:#039be5;-webkit-tap-highlight-color:transparent;text-decoration:none}.valign-wrapper{align-items:center;display:flex}.clearfix{clear:both}.z-depth-0{-webkit-box-shadow:none!important;box-shadow:none!important}.z-depth-1,nav,.card-panel,.card,.toast,.btn,.btn-large,.btn-small,.btn-floating,.dropdown-content,.collapsible,.sidenav{box-shadow:0 2px 2px rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12),0 1px 5px rgba(0,0,0,.2)}.z-depth-1-half,.btn:hover,.btn-large:hover,.btn-small:hover,.btn-floating:hover{box-shadow:0 3px 3px rgba(0,0,0,.14),0 1px 7px rgba(0,0,0,.12),0 3px 1px -1px rgba(0,0,0,.2)}.z-depth-2{box-shadow:0 4px 5px rgba(0,0,0,.14),0 1px 10px rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.3)}.z-depth-3{box-shadow:0 8px 17px 2px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.2)}.z-depth-4{box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -7px rgba(0,0,0,.2)}.z-depth-5,.modal{box-shadow:0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12),0 11px 15px -7px rgba(0,0,0,.2)}.hoverable{transition:box-shadow .25s,-webkit-box-shadow .25s}.hoverable:hover{box-shadow:0 8px 17px rgba(0,0,0,.2),0 6px 20px rgba(0,0,0,.19)}.divider{background-color:#e0e0e0;height:1px;overflow:hidden}blockquote{border-left:5px solid #ee6e73;margin:20px 0;padding-left:1.5rem}i{line-height:inherit}i.left{float:left;margin-right:15px}i.right{float:right;margin-left:15px}i.tiny{font-size:1rem}i.small{font-size:2rem}i.medium{font-size:4rem}i.large{font-size:6rem}img.responsive-img,video.responsive-video{max-width:100%;height:auto}.pagination li{text-align:center;vertical-align:top;border-radius:2px;height:30px;display:inline-block}.pagination li a{color:#444;padding:0 10px;font-size:1.2rem;line-height:30px;display:inline-block}.pagination li.active a{color:#fff}.pagination li.active{background-color:#ee6e73}.pagination li.disabled a{cursor:default;color:#999}.pagination li i{font-size:2rem}.pagination li.pages ul li{float:none;display:inline-block}@media only screen and (max-width:992px){.pagination{width:100%}.pagination li.prev,.pagination li.next{width:10%}.pagination li.pages{white-space:nowrap;width:80%;overflow:hidden}}.breadcrumb{color:rgba(255,255,255,.7);font-size:18px}.breadcrumb i,.breadcrumb [class^=mdi-],.breadcrumb [class*=mdi-],.breadcrumb i.material-icons{float:left;font-size:24px;display:inline-block}.breadcrumb:before{content:"";color:rgba(255,255,255,.7);vertical-align:top;-webkit-font-smoothing:antialiased;margin:0 10px 0 8px;font-family:Material Icons;font-size:25px;font-style:normal;font-weight:400;display:inline-block}.breadcrumb:first-child:before{display:none}.breadcrumb:last-child{color:#fff}.parallax-container{height:500px;position:relative;overflow:hidden}.parallax-container .parallax{z-index:-1;position:absolute;top:0;bottom:0;left:0;right:0}.parallax-container .parallax img{opacity:0;min-width:100%;min-height:100%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.pin-top,.pin-bottom{position:relative}.pinned{position:fixed!important}ul.staggered-list li{opacity:0}.fade-in{opacity:0;transform-origin:0}@media only screen and (max-width:600px){.hide-on-small-only,.hide-on-small-and-down{display:none!important}}@media only screen and (max-width:992px){.hide-on-med-and-down{display:none!important}}@media only screen and (min-width:601px){.hide-on-med-and-up{display:none!important}}@media only screen and (min-width:600px) and (max-width:992px){.hide-on-med-only{display:none!important}}@media only screen and (min-width:993px){.hide-on-large-only{display:none!important}}@media only screen and (min-width:1201px){.hide-on-extra-large-only{display:none!important}.show-on-extra-large{display:block!important}}@media only screen and (min-width:993px){.show-on-large{display:block!important}}@media only screen and (min-width:600px) and (max-width:992px){.show-on-medium{display:block!important}}@media only screen and (max-width:600px){.show-on-small{display:block!important}}@media only screen and (min-width:601px){.show-on-medium-and-up{display:block!important}}@media only screen and (max-width:992px){.show-on-medium-and-down{display:block!important}}@media only screen and (max-width:600px){.center-on-small-only{text-align:center}}.page-footer{color:#fff;background-color:#ee6e73;padding-top:20px}.page-footer .footer-copyright{color:rgba(255,255,255,.8);background-color:rgba(51,51,51,.08);justify-content:space-between;align-items:center;min-height:50px;padding:10px 0;display:flex;overflow:hidden}table,th,td{border:none}table{border-collapse:collapse;border-spacing:0;width:100%;display:table}table.striped tr{border-bottom:none}table.striped>tbody>tr:nth-child(odd){background-color:rgba(242,242,242,.5)}table.striped>tbody>tr>td{border-radius:0}table.highlight>tbody>tr{transition:background-color .25s}table.highlight>tbody>tr:hover{background-color:rgba(242,242,242,.5)}table.centered thead tr th,table.centered tbody tr td{text-align:center}tr{border-bottom:1px solid rgba(0,0,0,.12)}td,th{text-align:left;vertical-align:middle;border-radius:2px;padding:15px 5px;display:table-cell}@media only screen and (max-width:992px){table.responsive-table{border-collapse:collapse;border-spacing:0;width:100%;display:block;position:relative}table.responsive-table td:empty:before{content:" "}table.responsive-table th,table.responsive-table td{vertical-align:top;margin:0}table.responsive-table th{text-align:left}table.responsive-table thead{float:left;display:block}table.responsive-table thead tr{padding:0 10px 0 0;display:block}table.responsive-table thead tr th:before{content:" "}table.responsive-table tbody{white-space:nowrap;width:auto;display:block;position:relative;overflow-x:auto}table.responsive-table tbody tr{vertical-align:top;display:inline-block}table.responsive-table th{text-align:right;display:block}table.responsive-table td{text-align:left;min-height:1.25em;display:block}table.responsive-table tr{border-bottom:none;padding:0 10px}table.responsive-table thead{border:0;border-right:1px solid rgba(0,0,0,.12)}}.collection{border:1px solid #e0e0e0;border-radius:2px;margin:.5rem 0 1rem;position:relative;overflow:hidden}.collection .collection-item{background-color:#fff;border-bottom:1px solid #e0e0e0;margin:0;padding:10px 20px;line-height:1.5rem}.collection .collection-item.avatar{min-height:84px;padding-left:72px;position:relative}.collection .collection-item.avatar:not(.circle-clipper)>.circle,.collection .collection-item.avatar :not(.circle-clipper)>.circle{vertical-align:middle;width:42px;height:42px;display:inline-block;position:absolute;left:15px;overflow:hidden}.collection .collection-item.avatar i.circle{color:#fff;text-align:center;background-color:#999;font-size:18px;line-height:42px}.collection .collection-item.avatar .title{font-size:16px}.collection .collection-item.avatar p{margin:0}.collection .collection-item.avatar .secondary-content{position:absolute;top:16px;right:16px}.collection .collection-item:last-child{border-bottom:none}.collection .collection-item.active{color:#eafaf9;background-color:#26a69a}.collection .collection-item.active .secondary-content{color:#fff}.collection a.collection-item{color:#26a69a;transition:all .25s;display:block}.collection a.collection-item:not(.active):hover{background-color:#ddd}.collection.with-header .collection-header{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:10px 20px}.collection.with-header .collection-item{padding-left:30px}.collection.with-header .collection-item.avatar{padding-left:72px}.secondary-content{float:right;color:#26a69a}.collapsible .collection{border:none;margin:0}.video-container{height:0;padding-bottom:56.25%;position:relative;overflow:hidden}.video-container iframe,.video-container object,.video-container embed{width:100%;height:100%;position:absolute;top:0;left:0}.progress{background-color:#acece6;border-radius:2px;width:100%;height:4px;margin:.5rem 0 1rem;display:block;position:relative;overflow:hidden}.progress .determinate{background-color:#26a69a;transition:width .3s linear;position:absolute;top:0;bottom:0;left:0}.progress .indeterminate{background-color:#26a69a}.progress .indeterminate:before{content:"";background-color:inherit;will-change:left,right;animation:2.1s cubic-bezier(.65,.815,.735,.395) infinite indeterminate;position:absolute;top:0;bottom:0;left:0}.progress .indeterminate:after{content:"";background-color:inherit;will-change:left,right;animation:2.1s cubic-bezier(.165,.84,.44,1) 1.15s infinite indeterminate-short;position:absolute;top:0;bottom:0;left:0}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}.hide{display:none!important}.left-align{text-align:left}.right-align{text-align:right}.center,.center-align{text-align:center}.left{float:left!important}.right{float:right!important}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}input[type=range]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}input[type=range]+.thumb{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.circle{border-radius:50%}.center-block{margin-left:auto;margin-right:auto;display:block}.truncate{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.no-padding{padding:0!important}span.badge{text-align:center;color:#757575;float:right;box-sizing:border-box;min-width:3rem;height:22px;margin-left:14px;padding:0 6px;font-size:1rem;line-height:22px}span.badge.new{color:#fff;background-color:#26a69a;border-radius:2px;font-size:.8rem;font-weight:300}span.badge.new:after{content:" new"}span.badge[data-badge-caption]:after{content:" " attr(data-badge-caption)}nav ul a span.badge{float:none;-webkit-font-smoothing:auto;height:22px;margin-left:4px;line-height:22px;display:inline-block}.collection-item span.badge{margin-top:calc(.75rem - 11px)}.collapsible span.badge{margin-left:auto}.sidenav span.badge{margin-top:13px}table span.badge{float:none;margin-left:auto;display:inline-block}.material-icons{text-rendering:optimizeLegibility;-webkit-font-feature-settings:"liga";-moz-font-feature-settings:"liga";font-feature-settings:"liga"}.container{width:90%;max-width:1280px;margin:0 auto}@media only screen and (min-width:601px){.container{width:85%}}@media only screen and (min-width:993px){.container{width:70%}}.col .row{margin-left:-.75rem;margin-right:-.75rem}.section{padding-top:1rem;padding-bottom:1rem}.section.no-pad{padding:0}.section.no-pad-bot{padding-bottom:0}.section.no-pad-top{padding-top:0}.row{margin-bottom:20px;margin-left:auto;margin-right:auto}.row:after{content:"";clear:both;display:table}.row .col{float:left;box-sizing:border-box;min-height:1px;padding:0 .75rem}.row .col[class*=push-],.row .col[class*=pull-]{position:relative}.row .col.s1{width:8.33333%;margin-left:auto;left:auto;right:auto}.row .col.s2{width:16.6667%;margin-left:auto;left:auto;right:auto}.row .col.s3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.s4{width:33.3333%;margin-left:auto;left:auto;right:auto}.row .col.s5{width:41.6667%;margin-left:auto;left:auto;right:auto}.row .col.s6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.s7{width:58.3333%;margin-left:auto;left:auto;right:auto}.row .col.s8{width:66.6667%;margin-left:auto;left:auto;right:auto}.row .col.s9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.s10{width:83.3333%;margin-left:auto;left:auto;right:auto}.row .col.s11{width:91.6667%;margin-left:auto;left:auto;right:auto}.row .col.s12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-s1{margin-left:8.33333%}.row .col.pull-s1{right:8.33333%}.row .col.push-s1{left:8.33333%}.row .col.offset-s2{margin-left:16.6667%}.row .col.pull-s2{right:16.6667%}.row .col.push-s2{left:16.6667%}.row .col.offset-s3{margin-left:25%}.row .col.pull-s3{right:25%}.row .col.push-s3{left:25%}.row .col.offset-s4{margin-left:33.3333%}.row .col.pull-s4{right:33.3333%}.row .col.push-s4{left:33.3333%}.row .col.offset-s5{margin-left:41.6667%}.row .col.pull-s5{right:41.6667%}.row .col.push-s5{left:41.6667%}.row .col.offset-s6{margin-left:50%}.row .col.pull-s6{right:50%}.row .col.push-s6{left:50%}.row .col.offset-s7{margin-left:58.3333%}.row .col.pull-s7{right:58.3333%}.row .col.push-s7{left:58.3333%}.row .col.offset-s8{margin-left:66.6667%}.row .col.pull-s8{right:66.6667%}.row .col.push-s8{left:66.6667%}.row .col.offset-s9{margin-left:75%}.row .col.pull-s9{right:75%}.row .col.push-s9{left:75%}.row .col.offset-s10{margin-left:83.3333%}.row .col.pull-s10{right:83.3333%}.row .col.push-s10{left:83.3333%}.row .col.offset-s11{margin-left:91.6667%}.row .col.pull-s11{right:91.6667%}.row .col.push-s11{left:91.6667%}.row .col.offset-s12{margin-left:100%}.row .col.pull-s12{right:100%}.row .col.push-s12{left:100%}@media only screen and (min-width:601px){.row .col.m1{width:8.33333%;margin-left:auto;left:auto;right:auto}.row .col.m2{width:16.6667%;margin-left:auto;left:auto;right:auto}.row .col.m3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.m4{width:33.3333%;margin-left:auto;left:auto;right:auto}.row .col.m5{width:41.6667%;margin-left:auto;left:auto;right:auto}.row .col.m6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.m7{width:58.3333%;margin-left:auto;left:auto;right:auto}.row .col.m8{width:66.6667%;margin-left:auto;left:auto;right:auto}.row .col.m9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.m10{width:83.3333%;margin-left:auto;left:auto;right:auto}.row .col.m11{width:91.6667%;margin-left:auto;left:auto;right:auto}.row .col.m12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-m1{margin-left:8.33333%}.row .col.pull-m1{right:8.33333%}.row .col.push-m1{left:8.33333%}.row .col.offset-m2{margin-left:16.6667%}.row .col.pull-m2{right:16.6667%}.row .col.push-m2{left:16.6667%}.row .col.offset-m3{margin-left:25%}.row .col.pull-m3{right:25%}.row .col.push-m3{left:25%}.row .col.offset-m4{margin-left:33.3333%}.row .col.pull-m4{right:33.3333%}.row .col.push-m4{left:33.3333%}.row .col.offset-m5{margin-left:41.6667%}.row .col.pull-m5{right:41.6667%}.row .col.push-m5{left:41.6667%}.row .col.offset-m6{margin-left:50%}.row .col.pull-m6{right:50%}.row .col.push-m6{left:50%}.row .col.offset-m7{margin-left:58.3333%}.row .col.pull-m7{right:58.3333%}.row .col.push-m7{left:58.3333%}.row .col.offset-m8{margin-left:66.6667%}.row .col.pull-m8{right:66.6667%}.row .col.push-m8{left:66.6667%}.row .col.offset-m9{margin-left:75%}.row .col.pull-m9{right:75%}.row .col.push-m9{left:75%}.row .col.offset-m10{margin-left:83.3333%}.row .col.pull-m10{right:83.3333%}.row .col.push-m10{left:83.3333%}.row .col.offset-m11{margin-left:91.6667%}.row .col.pull-m11{right:91.6667%}.row .col.push-m11{left:91.6667%}.row .col.offset-m12{margin-left:100%}.row .col.pull-m12{right:100%}.row .col.push-m12{left:100%}}@media only screen and (min-width:993px){.row .col.l1{width:8.33333%;margin-left:auto;left:auto;right:auto}.row .col.l2{width:16.6667%;margin-left:auto;left:auto;right:auto}.row .col.l3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.l4{width:33.3333%;margin-left:auto;left:auto;right:auto}.row .col.l5{width:41.6667%;margin-left:auto;left:auto;right:auto}.row .col.l6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.l7{width:58.3333%;margin-left:auto;left:auto;right:auto}.row .col.l8{width:66.6667%;margin-left:auto;left:auto;right:auto}.row .col.l9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.l10{width:83.3333%;margin-left:auto;left:auto;right:auto}.row .col.l11{width:91.6667%;margin-left:auto;left:auto;right:auto}.row .col.l12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-l1{margin-left:8.33333%}.row .col.pull-l1{right:8.33333%}.row .col.push-l1{left:8.33333%}.row .col.offset-l2{margin-left:16.6667%}.row .col.pull-l2{right:16.6667%}.row .col.push-l2{left:16.6667%}.row .col.offset-l3{margin-left:25%}.row .col.pull-l3{right:25%}.row .col.push-l3{left:25%}.row .col.offset-l4{margin-left:33.3333%}.row .col.pull-l4{right:33.3333%}.row .col.push-l4{left:33.3333%}.row .col.offset-l5{margin-left:41.6667%}.row .col.pull-l5{right:41.6667%}.row .col.push-l5{left:41.6667%}.row .col.offset-l6{margin-left:50%}.row .col.pull-l6{right:50%}.row .col.push-l6{left:50%}.row .col.offset-l7{margin-left:58.3333%}.row .col.pull-l7{right:58.3333%}.row .col.push-l7{left:58.3333%}.row .col.offset-l8{margin-left:66.6667%}.row .col.pull-l8{right:66.6667%}.row .col.push-l8{left:66.6667%}.row .col.offset-l9{margin-left:75%}.row .col.pull-l9{right:75%}.row .col.push-l9{left:75%}.row .col.offset-l10{margin-left:83.3333%}.row .col.pull-l10{right:83.3333%}.row .col.push-l10{left:83.3333%}.row .col.offset-l11{margin-left:91.6667%}.row .col.pull-l11{right:91.6667%}.row .col.push-l11{left:91.6667%}.row .col.offset-l12{margin-left:100%}.row .col.pull-l12{right:100%}.row .col.push-l12{left:100%}}@media only screen and (min-width:1201px){.row .col.xl1{width:8.33333%;margin-left:auto;left:auto;right:auto}.row .col.xl2{width:16.6667%;margin-left:auto;left:auto;right:auto}.row .col.xl3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.xl4{width:33.3333%;margin-left:auto;left:auto;right:auto}.row .col.xl5{width:41.6667%;margin-left:auto;left:auto;right:auto}.row .col.xl6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.xl7{width:58.3333%;margin-left:auto;left:auto;right:auto}.row .col.xl8{width:66.6667%;margin-left:auto;left:auto;right:auto}.row .col.xl9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.xl10{width:83.3333%;margin-left:auto;left:auto;right:auto}.row .col.xl11{width:91.6667%;margin-left:auto;left:auto;right:auto}.row .col.xl12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-xl1{margin-left:8.33333%}.row .col.pull-xl1{right:8.33333%}.row .col.push-xl1{left:8.33333%}.row .col.offset-xl2{margin-left:16.6667%}.row .col.pull-xl2{right:16.6667%}.row .col.push-xl2{left:16.6667%}.row .col.offset-xl3{margin-left:25%}.row .col.pull-xl3{right:25%}.row .col.push-xl3{left:25%}.row .col.offset-xl4{margin-left:33.3333%}.row .col.pull-xl4{right:33.3333%}.row .col.push-xl4{left:33.3333%}.row .col.offset-xl5{margin-left:41.6667%}.row .col.pull-xl5{right:41.6667%}.row .col.push-xl5{left:41.6667%}.row .col.offset-xl6{margin-left:50%}.row .col.pull-xl6{right:50%}.row .col.push-xl6{left:50%}.row .col.offset-xl7{margin-left:58.3333%}.row .col.pull-xl7{right:58.3333%}.row .col.push-xl7{left:58.3333%}.row .col.offset-xl8{margin-left:66.6667%}.row .col.pull-xl8{right:66.6667%}.row .col.push-xl8{left:66.6667%}.row .col.offset-xl9{margin-left:75%}.row .col.pull-xl9{right:75%}.row .col.push-xl9{left:75%}.row .col.offset-xl10{margin-left:83.3333%}.row .col.pull-xl10{right:83.3333%}.row .col.push-xl10{left:83.3333%}.row .col.offset-xl11{margin-left:91.6667%}.row .col.pull-xl11{right:91.6667%}.row .col.push-xl11{left:91.6667%}.row .col.offset-xl12{margin-left:100%}.row .col.pull-xl12{right:100%}.row .col.push-xl12{left:100%}}nav{color:#fff;background-color:#ee6e73;width:100%;height:56px;line-height:56px}nav.nav-extended{height:auto}nav.nav-extended .nav-wrapper{height:auto;min-height:56px}nav.nav-extended .nav-content{line-height:normal;position:relative}nav a{color:#fff}nav i,nav [class^=mdi-],nav [class*=mdi-],nav i.material-icons{height:56px;font-size:24px;line-height:56px;display:block}nav .nav-wrapper{height:100%;position:relative}@media only screen and (min-width:993px){nav a.sidenav-trigger{display:none}}nav .sidenav-trigger{float:left;z-index:1;height:56px;margin:0 18px;position:relative}nav .sidenav-trigger i{height:56px;line-height:56px}nav .brand-logo{color:#fff;padding:0;font-size:2.1rem;display:inline-block;position:absolute}nav .brand-logo.center{left:50%;transform:translate(-50%)}@media only screen and (max-width:992px){nav .brand-logo{left:50%;transform:translate(-50%)}nav .brand-logo.left,nav .brand-logo.right{padding:0;transform:none}nav .brand-logo.left{left:.5rem}nav .brand-logo.right{left:auto;right:.5rem}}nav .brand-logo.right{padding:0;right:.5rem}nav .brand-logo i,nav .brand-logo [class^=mdi-],nav .brand-logo [class*=mdi-],nav .brand-logo i.material-icons{float:left;margin-right:15px}nav .nav-title{padding:28px 0;font-size:32px;display:inline-block}nav ul{margin:0}nav ul li{float:left;padding:0;transition:background-color .3s}nav ul li.active{background-color:rgba(0,0,0,.1)}nav ul a{color:#fff;cursor:pointer;padding:0 15px;font-size:1rem;transition:background-color .3s;display:block}nav ul a.btn,nav ul a.btn-large,nav ul a.btn-small,nav ul a.btn-large,nav ul a.btn-flat,nav ul a.btn-floating{margin-top:-2px;margin-left:15px;margin-right:15px}nav ul a.btn>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn-small>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn-flat>.material-icons,nav ul a.btn-floating>.material-icons{height:inherit;line-height:inherit}nav ul a:hover{background-color:rgba(0,0,0,.1)}nav ul.left{float:left}nav form{height:100%}nav .input-field{height:100%;margin:0}nav .input-field input{border:none;height:100%;padding-left:2rem;font-size:1.2rem}nav .input-field input:focus{-webkit-box-shadow:none;box-shadow:none;border:none}nav .input-field input[type=text]:valid{-webkit-box-shadow:none;box-shadow:none;border:none}nav .input-field input[type=password]:valid{-webkit-box-shadow:none;box-shadow:none;border:none}nav .input-field input[type=email]:valid{-webkit-box-shadow:none;box-shadow:none;border:none}nav .input-field input[type=url]:valid{-webkit-box-shadow:none;box-shadow:none;border:none}nav .input-field input[type=date]:valid{-webkit-box-shadow:none;box-shadow:none;border:none}nav .input-field label{top:0;left:0}nav .input-field label i{color:rgba(255,255,255,.7);transition:color .3s}nav .input-field label.active i{color:#fff}.navbar-fixed{z-index:997;height:56px;position:relative}.navbar-fixed nav{position:fixed}@media only screen and (min-width:601px){nav.nav-extended .nav-wrapper{min-height:64px}nav,nav .nav-wrapper i,nav a.sidenav-trigger,nav a.sidenav-trigger i{height:64px;line-height:64px}.navbar-fixed{height:64px}}a{text-decoration:none}html{color:rgba(0,0,0,.87);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:400;line-height:1.5}@media only screen and (min-width:0){html{font-size:14px}}@media only screen and (min-width:992px){html{font-size:14.5px}}@media only screen and (min-width:1200px){html{font-size:15px}}h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.3}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-weight:inherit}h1{margin:2.8rem 0 1.68rem;font-size:4.2rem;line-height:110%}h2{margin:2.37333rem 0 1.424rem;font-size:3.56rem;line-height:110%}h3{margin:1.94667rem 0 1.168rem;font-size:2.92rem;line-height:110%}h4{margin:1.52rem 0 .912rem;font-size:2.28rem;line-height:110%}h5{margin:1.09333rem 0 .656rem;font-size:1.64rem;line-height:110%}h6{margin:.766667rem 0 .46rem;font-size:1.15rem;line-height:110%}em{font-style:italic}strong{font-weight:500}small{font-size:75%}.light{font-weight:300}.thin{font-weight:200}@media only screen and (min-width:360px){.flow-text{font-size:1.2rem}}@media only screen and (min-width:390px){.flow-text{font-size:1.224rem}}@media only screen and (min-width:420px){.flow-text{font-size:1.248rem}}@media only screen and (min-width:450px){.flow-text{font-size:1.272rem}}@media only screen and (min-width:480px){.flow-text{font-size:1.296rem}}@media only screen and (min-width:510px){.flow-text{font-size:1.32rem}}@media only screen and (min-width:540px){.flow-text{font-size:1.344rem}}@media only screen and (min-width:570px){.flow-text{font-size:1.368rem}}@media only screen and (min-width:600px){.flow-text{font-size:1.392rem}}@media only screen and (min-width:630px){.flow-text{font-size:1.416rem}}@media only screen and (min-width:660px){.flow-text{font-size:1.44rem}}@media only screen and (min-width:690px){.flow-text{font-size:1.464rem}}@media only screen and (min-width:720px){.flow-text{font-size:1.488rem}}@media only screen and (min-width:750px){.flow-text{font-size:1.512rem}}@media only screen and (min-width:780px){.flow-text{font-size:1.536rem}}@media only screen and (min-width:810px){.flow-text{font-size:1.56rem}}@media only screen and (min-width:840px){.flow-text{font-size:1.584rem}}@media only screen and (min-width:870px){.flow-text{font-size:1.608rem}}@media only screen and (min-width:900px){.flow-text{font-size:1.632rem}}@media only screen and (min-width:930px){.flow-text{font-size:1.656rem}}@media only screen and (min-width:960px){.flow-text{font-size:1.68rem}}@media only screen and (max-width:360px){.flow-text{font-size:1.2rem}}.scale-transition{transition:transform .3s cubic-bezier(.53,.01,.36,1.63),-webkit-transform .3s cubic-bezier(.53,.01,.36,1.63)!important}.scale-transition.scale-out{transform:scale(0);transition:transform .2s,-webkit-transform .2s!important}.scale-transition.scale-in{transform:scale(1)}.card-panel{background-color:#fff;border-radius:2px;margin:.5rem 0 1rem;padding:24px;transition:box-shadow .25s,-webkit-box-shadow .25s}.card{background-color:#fff;border-radius:2px;margin:.5rem 0 1rem;transition:box-shadow .25s,-webkit-box-shadow .25s;position:relative}.card .card-title{font-size:24px;font-weight:300}.card .card-title.activator{cursor:pointer}.card.small,.card.medium,.card.large{position:relative}.card.small .card-image,.card.medium .card-image,.card.large .card-image{max-height:60%;overflow:hidden}.card.small .card-image+.card-content,.card.medium .card-image+.card-content,.card.large .card-image+.card-content{max-height:40%}.card.small .card-content,.card.medium .card-content,.card.large .card-content{max-height:100%;overflow:hidden}.card.small .card-action,.card.medium .card-action,.card.large .card-action{position:absolute;bottom:0;left:0;right:0}.card.small{height:300px}.card.medium{height:400px}.card.large{height:500px}.card.horizontal{display:flex}.card.horizontal.small .card-image,.card.horizontal.medium .card-image,.card.horizontal.large .card-image{height:100%;max-height:none;overflow:visible}.card.horizontal.small .card-image img,.card.horizontal.medium .card-image img,.card.horizontal.large .card-image img{height:100%}.card.horizontal .card-image{max-width:50%}.card.horizontal .card-image img{border-radius:2px 0 0 2px;width:auto;max-width:100%}.card.horizontal .card-stacked{flex-direction:column;flex:1;display:flex;position:relative}.card.horizontal .card-stacked .card-content{flex-grow:1}.card.sticky-action .card-action{z-index:2}.card.sticky-action .card-reveal{z-index:1;padding-bottom:64px}.card .card-image{position:relative}.card .card-image img{border-radius:2px 2px 0 0;width:100%;display:block;position:relative;top:0;bottom:0;left:0;right:0}.card .card-image .card-title{color:#fff;max-width:100%;padding:24px;position:absolute;bottom:0;left:0}.card .card-content{border-radius:0 0 2px 2px;padding:24px}.card .card-content p{margin:0}.card .card-content .card-title{margin-bottom:8px;line-height:32px;display:block}.card .card-content .card-title i{line-height:32px}.card .card-action{background-color:inherit;border-top:1px solid rgba(160,160,160,.2);padding:16px 24px;position:relative}.card .card-action:last-child{border-radius:0 0 2px 2px}.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating){color:#ffab40;text-transform:uppercase;margin-right:24px;transition:color .3s}.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating):hover{color:#ffd8a6}.card .card-reveal{z-index:3;background-color:#fff;width:100%;height:100%;padding:24px;display:none;position:absolute;top:100%;left:0;overflow-y:auto}.card .card-reveal .card-title{cursor:pointer;display:block}#toast-container{z-index:10000;display:block;position:fixed}@media only screen and (max-width:600px){#toast-container{min-width:100%;bottom:0%}}@media only screen and (min-width:601px) and (max-width:992px){#toast-container{max-width:90%;bottom:7%;left:5%}}@media only screen and (min-width:993px){#toast-container{max-width:86%;top:10%;right:7%}}.toast{color:#fff;cursor:default;background-color:#323232;border-radius:2px;justify-content:space-between;align-items:center;width:auto;max-width:100%;height:auto;min-height:48px;margin-top:10px;padding:10px 25px;font-size:1.1rem;font-weight:300;line-height:1.5em;display:flex;position:relative;top:35px}.toast .toast-action{color:#eeff41;margin-left:3rem;margin-right:-25px;font-weight:500}.toast.rounded{border-radius:24px}@media only screen and (max-width:600px){.toast{border-radius:0;width:100%}}.tabs{white-space:nowrap;background-color:#fff;width:100%;height:48px;margin:0 auto;position:relative;overflow-x:auto;overflow-y:hidden}.tabs.tabs-transparent{background-color:transparent}.tabs.tabs-transparent .tab a,.tabs.tabs-transparent .tab.disabled a,.tabs.tabs-transparent .tab.disabled a:hover{color:rgba(255,255,255,.7)}.tabs.tabs-transparent .tab a:hover,.tabs.tabs-transparent .tab a.active{color:#fff}.tabs.tabs-transparent .indicator{background-color:#fff}.tabs.tabs-fixed-width{display:flex}.tabs.tabs-fixed-width .tab{flex-grow:1}.tabs .tab{text-align:center;text-transform:uppercase;height:48px;margin:0;padding:0;line-height:48px;display:inline-block}.tabs .tab a{color:rgba(238,110,115,.7);text-overflow:ellipsis;width:100%;height:100%;padding:0 24px;font-size:14px;transition:color .28s,background-color .28s;display:block;overflow:hidden}.tabs .tab a:focus,.tabs .tab a:focus.active{background-color:rgba(246,178,181,.2);outline:none}.tabs .tab a:hover,.tabs .tab a.active{color:#ee6e73;background-color:transparent}.tabs .tab.disabled a,.tabs .tab.disabled a:hover{color:rgba(238,110,115,.4);cursor:default}.tabs .indicator{will-change:left,right;background-color:#f6b2b5;height:2px;position:absolute;bottom:0}@media only screen and (max-width:992px){.tabs{display:flex}.tabs .tab{flex-grow:1}.tabs .tab a{padding:0 12px}}.material-tooltip{z-index:2000;color:#fff;opacity:0;text-align:center;pointer-events:none;visibility:hidden;background-color:#323232;border-radius:2px;max-width:calc(100% - 4px);min-height:36px;padding:10px 8px;font-size:1rem;line-height:120%;position:absolute;top:0;left:0;overflow:hidden}.backdrop{opacity:0;z-index:-1;transform-origin:50% 0;visibility:hidden;background-color:#323232;border-radius:0 0 50% 50%;width:14px;height:7px;position:absolute}.btn,.btn-large,.btn-small,.btn-flat{text-transform:uppercase;vertical-align:middle;-webkit-tap-highlight-color:transparent;border:none;border-radius:2px;height:36px;padding:0 16px;line-height:36px;display:inline-block}.btn.disabled,.disabled.btn-large,.disabled.btn-small,.btn-floating.disabled,.btn-large.disabled,.btn-small.disabled,.btn-flat.disabled,.btn:disabled,.btn-large:disabled,.btn-small:disabled,.btn-floating:disabled,.btn-large:disabled,.btn-small:disabled,.btn-flat:disabled,.btn[disabled],.btn-large[disabled],.btn-small[disabled],.btn-floating[disabled],.btn-large[disabled],.btn-small[disabled],.btn-flat[disabled]{pointer-events:none;-webkit-box-shadow:none;box-shadow:none;cursor:default;color:#9f9f9f!important;background-color:#dfdfdf!important}.btn.disabled:hover,.disabled.btn-large:hover,.disabled.btn-small:hover,.btn-floating.disabled:hover,.btn-large.disabled:hover,.btn-small.disabled:hover,.btn-flat.disabled:hover,.btn:disabled:hover,.btn-large:disabled:hover,.btn-small:disabled:hover,.btn-floating:disabled:hover,.btn-large:disabled:hover,.btn-small:disabled:hover,.btn-flat:disabled:hover,.btn[disabled]:hover,.btn-large[disabled]:hover,.btn-small[disabled]:hover,.btn-floating[disabled]:hover,.btn-large[disabled]:hover,.btn-small[disabled]:hover,.btn-flat[disabled]:hover{color:#9f9f9f!important;background-color:#dfdfdf!important}.btn,.btn-large,.btn-small,.btn-floating,.btn-large,.btn-small,.btn-flat{outline:0;font-size:14px}.btn i,.btn-large i,.btn-small i,.btn-floating i,.btn-large i,.btn-small i,.btn-flat i{font-size:1.3rem;line-height:inherit}.btn:focus,.btn-large:focus,.btn-small:focus,.btn-floating:focus{background-color:#1d7d74}.btn,.btn-large,.btn-small{color:#fff;text-align:center;letter-spacing:.5px;cursor:pointer;background-color:#26a69a;text-decoration:none;transition:background-color .2s ease-out}.btn:hover,.btn-large:hover,.btn-small:hover{background-color:#2bbbad}.btn-floating{color:#fff;z-index:1;cursor:pointer;vertical-align:middle;background-color:#26a69a;border-radius:50%;width:40px;height:40px;padding:0;line-height:40px;transition:background-color .3s;display:inline-block;position:relative;overflow:hidden}.btn-floating:hover{background-color:#26a69a}.btn-floating:before{border-radius:0}.btn-floating.btn-large{width:56px;height:56px;padding:0}.btn-floating.btn-large.halfway-fab{bottom:-28px}.btn-floating.btn-large i{line-height:56px}.btn-floating.btn-small{width:32.4px;height:32.4px}.btn-floating.btn-small.halfway-fab{bottom:-16.2px}.btn-floating.btn-small i{line-height:32.4px}.btn-floating.halfway-fab{position:absolute;bottom:-20px;right:24px}.btn-floating.halfway-fab.left{left:24px;right:auto}.btn-floating i{width:inherit;text-align:center;color:#fff;font-size:1.6rem;line-height:40px;display:inline-block}button.btn-floating{border:none}.fixed-action-btn{z-index:997;margin-bottom:0;padding-top:15px;position:fixed;bottom:23px;right:23px}.fixed-action-btn.active ul{visibility:visible}.fixed-action-btn.direction-left,.fixed-action-btn.direction-right{padding:0 0 0 15px}.fixed-action-btn.direction-left ul,.fixed-action-btn.direction-right ul{text-align:right;width:500px;height:100%;top:50%;left:auto;right:64px;transform:translateY(-50%)}.fixed-action-btn.direction-left ul li,.fixed-action-btn.direction-right ul li{margin:7.5px 15px 0 0;display:inline-block}.fixed-action-btn.direction-right{padding:0 15px 0 0}.fixed-action-btn.direction-right ul{text-align:left;direction:rtl;left:64px;right:auto}.fixed-action-btn.direction-right ul li{margin:7.5px 0 0 15px}.fixed-action-btn.direction-bottom{padding:0 0 15px}.fixed-action-btn.direction-bottom ul{flex-direction:column-reverse;display:flex;top:64px;bottom:auto}.fixed-action-btn.direction-bottom ul li{margin:15px 0 0}.fixed-action-btn.toolbar{height:56px;padding:0}.fixed-action-btn.toolbar.active>a i{opacity:0}.fixed-action-btn.toolbar ul{z-index:1;display:flex;top:0;bottom:0}.fixed-action-btn.toolbar ul li{flex:1;height:100%;margin:0;transition:none;display:inline-block}.fixed-action-btn.toolbar ul li a{width:100%;height:100%;-webkit-box-shadow:none;box-shadow:none;color:#fff;z-index:1;background-color:transparent;line-height:56px;display:block;position:relative;overflow:hidden}.fixed-action-btn.toolbar ul li a i{line-height:inherit}.fixed-action-btn ul{text-align:center;visibility:hidden;margin:0;position:absolute;bottom:64px;left:0;right:0}.fixed-action-btn ul li{margin-bottom:15px}.fixed-action-btn ul a.btn-floating{opacity:0}.fixed-action-btn .fab-backdrop{z-index:-1;background-color:#26a69a;border-radius:50%;width:40px;height:40px;position:absolute;top:0;left:0;transform:scale(0)}.btn-flat{-webkit-box-shadow:none;box-shadow:none;color:#343434;cursor:pointer;background-color:transparent;transition:background-color .2s}.btn-flat:focus,.btn-flat:hover{-webkit-box-shadow:none;box-shadow:none}.btn-flat:focus{background-color:rgba(0,0,0,.1)}.btn-flat.disabled,.btn-flat.btn-flat[disabled]{cursor:default;color:#b3b2b2!important;background-color:transparent!important}.btn-large{height:54px;padding:0 28px;font-size:15px;line-height:54px}.btn-large i{font-size:1.6rem}.btn-small{height:32.4px;font-size:13px;line-height:32.4px}.btn-small i{font-size:1.2rem}.btn-block{display:block}.dropdown-content{opacity:0;z-index:9999;transform-origin:0 0;background-color:#fff;min-width:100px;margin:0;display:none;position:absolute;top:0;left:0;overflow-y:auto}.dropdown-content:focus{outline:0}.dropdown-content li{clear:both;color:rgba(0,0,0,.87);cursor:pointer;text-align:left;width:100%;min-height:50px;line-height:1.5rem}.dropdown-content li:hover,.dropdown-content li.active{background-color:#eee}.dropdown-content li:focus{outline:none}.dropdown-content li.divider{height:1px;min-height:0}.dropdown-content li>a,.dropdown-content li>span{color:#26a69a;padding:14px 16px;font-size:16px;line-height:22px;display:block}.dropdown-content li>span>label{height:18px;top:1px;left:0}.dropdown-content li>a>i{height:inherit;line-height:inherit;float:left;width:24px;margin:0 24px 0 0}body.keyboard-focused .dropdown-content li:focus{background-color:#dadada}.input-field.col .dropdown-content [type=checkbox]+label{height:18px;top:1px;left:0;transform:none}.dropdown-trigger{cursor:pointer}.waves-effect{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;vertical-align:middle;z-index:1;transition:all .3s ease-out;display:inline-block;position:relative;overflow:hidden}.waves-effect .waves-ripple{opacity:0;transition:all .7s ease-out;pointer-events:none;background:rgba(0,0,0,.2);border-radius:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;transition-property:transform,opacity,-webkit-transform;position:absolute;transform:scale(0)}.waves-effect.waves-light .waves-ripple{background-color:rgba(255,255,255,.45)}.waves-effect.waves-red .waves-ripple{background-color:rgba(244,67,54,.7)}.waves-effect.waves-yellow .waves-ripple{background-color:rgba(255,235,59,.7)}.waves-effect.waves-orange .waves-ripple{background-color:rgba(255,152,0,.7)}.waves-effect.waves-purple .waves-ripple{background-color:rgba(156,39,176,.7)}.waves-effect.waves-green .waves-ripple{background-color:rgba(76,175,80,.7)}.waves-effect.waves-teal .waves-ripple{background-color:rgba(0,150,136,.7)}.waves-effect input[type=button]{font-style:normal;font-size:inherit;text-transform:inherit;background:0 0;border:0}.waves-effect input[type=reset]{font-style:normal;font-size:inherit;text-transform:inherit;background:0 0;border:0}.waves-effect input[type=submit]{font-style:normal;font-size:inherit;text-transform:inherit;background:0 0;border:0}.waves-effect img{z-index:-1;position:relative}.waves-notransition{transition:none!important}.waves-circle{transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.waves-input-wrapper{vertical-align:bottom;border-radius:.2em}.waves-input-wrapper .waves-button-input{z-index:1;position:relative;top:0;left:0}.waves-circle{text-align:center;border-radius:50%;width:2.5em;height:2.5em;line-height:2.5em;-webkit-mask-image:none}.waves-block{display:block}.waves-effect .waves-ripple{z-index:-1}.modal{will-change:top,opacity;background-color:#fafafa;border-radius:2px;width:55%;max-height:70%;margin:auto;padding:0;display:none;position:fixed;left:0;right:0;overflow-y:auto}.modal:focus{outline:none}@media only screen and (max-width:992px){.modal{width:80%}}.modal h1,.modal h2,.modal h3,.modal h4{margin-top:0}.modal .modal-content{padding:24px}.modal .modal-close{cursor:pointer}.modal .modal-footer{text-align:right;background-color:#fafafa;border-radius:0 0 2px 2px;width:100%;height:56px;padding:4px 6px}.modal .modal-footer .btn,.modal .modal-footer .btn-large,.modal .modal-footer .btn-small,.modal .modal-footer .btn-flat{margin:6px 0}.modal-overlay{z-index:999;will-change:opacity;background:#000;width:100%;height:125%;display:none;position:fixed;top:-25%;bottom:0;left:0;right:0}.modal.modal-fixed-footer{height:70%;padding:0}.modal.modal-fixed-footer .modal-content{width:100%;height:calc(100% - 56px);max-height:100%;position:absolute;overflow-y:auto}.modal.modal-fixed-footer .modal-footer{border-top:1px solid rgba(0,0,0,.1);position:absolute;bottom:0}.modal.bottom-sheet{will-change:bottom,opacity;border-radius:0;width:100%;max-height:45%;margin:0;top:auto;bottom:-100%}.collapsible{border-top:1px solid #ddd;border-left:1px solid #ddd;border-right:1px solid #ddd;margin:.5rem 0 1rem}.collapsible-header{cursor:pointer;-webkit-tap-highlight-color:transparent;background-color:#fff;border-bottom:1px solid #ddd;padding:1rem;line-height:1.5;display:flex}.collapsible-header:focus{outline:0}.collapsible-header i{text-align:center;width:2rem;margin-right:1rem;font-size:1.6rem;display:inline-block}.keyboard-focused .collapsible-header:focus{background-color:#eee}.collapsible-body{box-sizing:border-box;border-bottom:1px solid #ddd;padding:2rem;display:none}.sidenav .collapsible,.sidenav.fixed .collapsible{-webkit-box-shadow:none;box-shadow:none;border:none}.sidenav .collapsible li,.sidenav.fixed .collapsible li{padding:0}.sidenav .collapsible-header,.sidenav.fixed .collapsible-header{line-height:inherit;height:inherit;background-color:transparent;border:none;padding:0 16px}.sidenav .collapsible-header:hover,.sidenav.fixed .collapsible-header:hover{background-color:rgba(0,0,0,.05)}.sidenav .collapsible-header i,.sidenav.fixed .collapsible-header i{line-height:inherit}.sidenav .collapsible-body,.sidenav.fixed .collapsible-body{background-color:#fff;border:0}.sidenav .collapsible-body li a,.sidenav.fixed .collapsible-body li a{padding:0 23.5px 0 31px}.collapsible.popout{-webkit-box-shadow:none;box-shadow:none;border:none}.collapsible.popout>li{margin:0 24px;transition:margin .35s cubic-bezier(.25,.46,.45,.94);box-shadow:0 2px 5px rgba(0,0,0,.16),0 2px 10px rgba(0,0,0,.12)}.collapsible.popout>li.active{margin:16px 0;box-shadow:0 5px 11px rgba(0,0,0,.18),0 4px 15px rgba(0,0,0,.15)}.chip{color:rgba(0,0,0,.6);background-color:#e4e4e4;border-radius:16px;height:32px;margin-bottom:5px;margin-right:5px;padding:0 12px;font-size:13px;font-weight:500;line-height:32px;display:inline-block}.chip:focus{color:#fff;background-color:#26a69a;outline:none}.chip>img{float:left;border-radius:50%;width:32px;height:32px;margin:0 8px 0 -12px}.chip .close{cursor:pointer;float:right;padding-left:8px;font-size:16px;line-height:32px}.chips{-webkit-box-shadow:none;box-shadow:none;border:none;border-bottom:1px solid #9e9e9e;outline:none;min-height:45px;margin:0 0 8px;transition:all .3s}.chips.focus{border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}.chips:hover{cursor:text}.chips .input{color:rgba(0,0,0,.6);background:0 0;border:0;outline:0;height:3rem;margin:0;font-size:16px;line-height:32px;display:inline-block;width:120px!important;padding:0!important}.chips .input:focus{-webkit-box-shadow:none!important;box-shadow:none!important;border:0!important}.chips .autocomplete-content{margin-top:0;margin-bottom:0}.prefix~.chips{width:92%;width:calc(100% - 3rem);margin-left:3rem}.chips:empty~label{font-size:.8rem;transform:translateY(-140%)}.materialboxed{cursor:-webkit-zoom-in;cursor:zoom-in;-webkit-backface-visibility:hidden;transition:opacity .4s;display:block;position:relative}.materialboxed:hover:not(.active){opacity:.8}.materialboxed.active{cursor:-webkit-zoom-out;cursor:zoom-out}#materialbox-overlay{z-index:1000;will-change:opacity;background-color:#292929;position:fixed;top:0;bottom:0;left:0;right:0}.materialbox-caption{color:#fff;text-align:center;z-index:1000;-webkit-font-smoothing:antialiased;width:100%;height:50px;padding:0% 15%;line-height:50px;display:none;position:fixed;bottom:0;left:0}select:focus{outline:1px solid #c9f3ef}button:focus{background-color:#2ab7a9;outline:none}label{color:#9e9e9e;font-size:.8rem}::-webkit-input-placeholder{color:#d1d1d1}::placeholder{color:#d1d1d1}:-ms-input-placeholder{color:#d1d1d1}::placeholder{color:#d1d1d1}::placeholder{color:#d1d1d1}::placeholder{color:#d1d1d1}input:not([type]),textarea.materialize-textarea{width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=text]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=password]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=email]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=url]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=time]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=date]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=datetime]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=datetime-local]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=tel]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=number]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input[type=search]:not(.browser-default){width:100%;height:3rem;-webkit-box-shadow:none;box-shadow:none;box-sizing:content-box;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;margin:0 0 8px;padding:0;font-size:16px;transition:box-shadow .3s,border .3s,-webkit-box-shadow .3s}input:not([type]):disabled,textarea.materialize-textarea:disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input:not([type])[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=text]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=text]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=password]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=password]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=email]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=email]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=url]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=url]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=time]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=time]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=date]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=date]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=datetime]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=datetime]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=datetime-local]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=datetime-local]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=tel]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=tel]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=number]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=number]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=search]:not(.browser-default):disabled{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input[type=search]:not(.browser-default)[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}textarea.materialize-textarea[readonly=readonly]{color:rgba(0,0,0,.42);border-bottom:1px dotted rgba(0,0,0,.42)}input:not([type]):disabled+label,textarea.materialize-textarea:disabled+label{color:rgba(0,0,0,.42)}input:not([type])[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=text]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=text]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=password]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=password]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=email]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=email]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=url]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=url]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=time]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=time]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=date]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=date]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=datetime]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=datetime]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=datetime-local]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=datetime-local]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=tel]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=tel]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=number]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=number]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}input[type=search]:not(.browser-default):disabled+label{color:rgba(0,0,0,.42)}input[type=search]:not(.browser-default)[readonly=readonly]+label{color:rgba(0,0,0,.42)}textarea.materialize-textarea[readonly=readonly]+label{color:rgba(0,0,0,.42)}input:not([type]):focus:not([readonly]),textarea.materialize-textarea:focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=text]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=password]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=email]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=url]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=time]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=date]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=datetime]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=datetime-local]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=tel]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=number]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input[type=search]:not(.browser-default):focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px #26a69a}input:not([type]):focus:not([readonly])+label,textarea.materialize-textarea:focus:not([readonly])+label{color:#26a69a}input[type=text]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input[type=password]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input[type=email]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input[type=url]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input[type=time]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input[type=date]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input[type=datetime]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input[type=datetime-local]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input[type=tel]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input[type=number]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input[type=search]:not(.browser-default):focus:not([readonly])+label{color:#26a69a}input:not([type]):focus.valid~label,textarea.materialize-textarea:focus.valid~label{color:#4caf50}input[type=text]:not(.browser-default):focus.valid~label{color:#4caf50}input[type=password]:not(.browser-default):focus.valid~label{color:#4caf50}input[type=email]:not(.browser-default):focus.valid~label{color:#4caf50}input[type=url]:not(.browser-default):focus.valid~label{color:#4caf50}input[type=time]:not(.browser-default):focus.valid~label{color:#4caf50}input[type=date]:not(.browser-default):focus.valid~label{color:#4caf50}input[type=datetime]:not(.browser-default):focus.valid~label{color:#4caf50}input[type=datetime-local]:not(.browser-default):focus.valid~label{color:#4caf50}input[type=tel]:not(.browser-default):focus.valid~label{color:#4caf50}input[type=number]:not(.browser-default):focus.valid~label{color:#4caf50}input[type=search]:not(.browser-default):focus.valid~label{color:#4caf50}input:not([type]):focus.invalid~label,textarea.materialize-textarea:focus.invalid~label{color:#f44336}input[type=text]:not(.browser-default):focus.invalid~label{color:#f44336}input[type=password]:not(.browser-default):focus.invalid~label{color:#f44336}input[type=email]:not(.browser-default):focus.invalid~label{color:#f44336}input[type=url]:not(.browser-default):focus.invalid~label{color:#f44336}input[type=time]:not(.browser-default):focus.invalid~label{color:#f44336}input[type=date]:not(.browser-default):focus.invalid~label{color:#f44336}input[type=datetime]:not(.browser-default):focus.invalid~label{color:#f44336}input[type=datetime-local]:not(.browser-default):focus.invalid~label{color:#f44336}input[type=tel]:not(.browser-default):focus.invalid~label{color:#f44336}input[type=number]:not(.browser-default):focus.invalid~label{color:#f44336}input[type=search]:not(.browser-default):focus.invalid~label{color:#f44336}input:not([type]).validate+label,textarea.materialize-textarea.validate+label{width:100%}input[type=text]:not(.browser-default).validate+label{width:100%}input[type=password]:not(.browser-default).validate+label{width:100%}input[type=email]:not(.browser-default).validate+label{width:100%}input[type=url]:not(.browser-default).validate+label{width:100%}input[type=time]:not(.browser-default).validate+label{width:100%}input[type=date]:not(.browser-default).validate+label{width:100%}input[type=datetime]:not(.browser-default).validate+label{width:100%}input[type=datetime-local]:not(.browser-default).validate+label{width:100%}input[type=tel]:not(.browser-default).validate+label{width:100%}input[type=number]:not(.browser-default).validate+label{width:100%}input[type=search]:not(.browser-default).validate+label{width:100%}input.valid:not([type]),input.valid:not([type]):focus,textarea.materialize-textarea.valid,textarea.materialize-textarea.valid:focus,.select-wrapper.valid>input.select-dropdown{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=text]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=text]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=password]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=password]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=email]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=email]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=url]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=url]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=time]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=time]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=date]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=date]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=datetime]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=datetime]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=datetime-local]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=datetime-local]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=tel]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=tel]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=number]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=number]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=search]:not(.browser-default){border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.valid[type=search]:not(.browser-default):focus{border-bottom:1px solid #4caf50;box-shadow:0 1px #4caf50}input.invalid:not([type]),input.invalid:not([type]):focus,textarea.materialize-textarea.invalid,textarea.materialize-textarea.invalid:focus,.select-wrapper.invalid>input.select-dropdown,.select-wrapper.invalid>input.select-dropdown:focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=text]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=text]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=password]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=password]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=email]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=email]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=url]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=url]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=time]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=time]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=date]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=date]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=datetime]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=datetime]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=datetime-local]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=datetime-local]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=tel]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=tel]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=number]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=number]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=search]:not(.browser-default){border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input.invalid[type=search]:not(.browser-default):focus{border-bottom:1px solid #f44336;box-shadow:0 1px #f44336}input:not([type]).valid~.helper-text[data-success],input:not([type]):focus.valid~.helper-text[data-success],input:not([type]).invalid~.helper-text[data-error],input:not([type]):focus.invalid~.helper-text[data-error],textarea.materialize-textarea.valid~.helper-text[data-success],textarea.materialize-textarea:focus.valid~.helper-text[data-success],textarea.materialize-textarea.invalid~.helper-text[data-error],textarea.materialize-textarea:focus.invalid~.helper-text[data-error],.select-wrapper.valid .helper-text[data-success],.select-wrapper.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=text]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=text]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=text]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=text]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=password]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=password]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=password]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=password]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=email]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=email]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=email]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=email]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=url]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=url]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=url]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=url]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=time]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=time]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=time]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=time]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=date]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=date]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=date]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=date]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=datetime]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=datetime]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=datetime]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=datetime]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=datetime-local]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=datetime-local]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=datetime-local]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=datetime-local]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=tel]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=tel]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=tel]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=tel]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=number]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=number]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=number]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=number]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=search]:not(.browser-default).valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=search]:not(.browser-default):focus.valid~.helper-text[data-success]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=search]:not(.browser-default).invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input[type=search]:not(.browser-default):focus.invalid~.helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input:not([type]).valid~.helper-text:after,input:not([type]):focus.valid~.helper-text:after,textarea.materialize-textarea.valid~.helper-text:after,textarea.materialize-textarea:focus.valid~.helper-text:after,.select-wrapper.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=text]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=text]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=password]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=password]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=email]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=email]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=url]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=url]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=time]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=time]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=date]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=date]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=datetime]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=datetime]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=datetime-local]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=datetime-local]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=tel]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=tel]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=number]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=number]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=search]:not(.browser-default).valid~.helper-text:after{content:attr(data-success);color:#4caf50}input[type=search]:not(.browser-default):focus.valid~.helper-text:after{content:attr(data-success);color:#4caf50}input:not([type]).invalid~.helper-text:after,input:not([type]):focus.invalid~.helper-text:after,textarea.materialize-textarea.invalid~.helper-text:after,textarea.materialize-textarea:focus.invalid~.helper-text:after,.select-wrapper.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=text]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=text]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=password]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=password]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=email]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=email]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=url]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=url]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=time]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=time]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=date]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=date]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=datetime]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=datetime]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=datetime-local]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=datetime-local]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=tel]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=tel]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=number]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=number]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=search]:not(.browser-default).invalid~.helper-text:after{content:attr(data-error);color:#f44336}input[type=search]:not(.browser-default):focus.invalid~.helper-text:after{content:attr(data-error);color:#f44336}input:not([type])+label:after,textarea.materialize-textarea+label:after,.select-wrapper+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=text]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=password]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=email]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=url]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=time]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=date]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=datetime]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=datetime-local]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=tel]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=number]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}input[type=search]:not(.browser-default)+label:after{content:"";opacity:0;transition:opacity .2s ease-out,color .2s ease-out;display:block;position:absolute;top:100%;left:0}.input-field{margin-top:1rem;margin-bottom:1rem;position:relative}.input-field.inline{vertical-align:middle;margin-left:5px;display:inline-block}.input-field.inline input,.input-field.inline .select-dropdown{margin-bottom:1rem}.input-field.col label{left:.75rem}.input-field.col .prefix~label,.input-field.col .prefix~.validate~label{width:calc(100% - 4.5rem)}.input-field>label{color:#9e9e9e;cursor:text;transform-origin:0 100%;text-align:initial;font-size:1rem;transition:transform .2s ease-out,color .2s ease-out,-webkit-transform .2s ease-out;position:absolute;top:0;left:0;transform:translateY(12px)}.input-field>input[type]:-webkit-autofill:not(.browser-default):not([type=search])+label{transform-origin:0 0;transform:translateY(-14px)scale(.8)}.input-field>input[type=date]:not(.browser-default)+label{transform-origin:0 0;transform:translateY(-14px)scale(.8)}.input-field>input[type=time]:not(.browser-default)+label{transform-origin:0 0;transform:translateY(-14px)scale(.8)}.input-field .helper-text{color:rgba(0,0,0,.54);min-height:18px;font-size:12px;display:block;position:relative}.input-field .helper-text:after{opacity:1;position:absolute;top:0;left:0}.input-field .prefix{width:3rem;font-size:2rem;transition:color .2s;position:absolute;top:.5rem}.input-field .prefix.active{color:#26a69a}.input-field .prefix~input,.input-field .prefix~textarea,.input-field .prefix~label,.input-field .prefix~.validate~label,.input-field .prefix~.helper-text,.input-field .prefix~.autocomplete-content{width:92%;width:calc(100% - 3rem);margin-left:3rem}.input-field .prefix~label{margin-left:3rem}@media only screen and (max-width:992px){.input-field .prefix~input{width:86%;width:calc(100% - 3rem)}}@media only screen and (max-width:600px){.input-field .prefix~input{width:80%;width:calc(100% - 3rem)}}.input-field input[type=search]{line-height:inherit;transition:background-color .3s;display:block}.nav-wrapper .input-field input[type=search]{height:inherit;width:calc(100% - 4rem);-webkit-box-shadow:none;box-shadow:none;border:0;padding-left:4rem}.input-field input[type=search]:focus:not(.browser-default){-webkit-box-shadow:none;box-shadow:none;color:#444;background-color:#fff;border:0}.input-field input[type=search]:focus:not(.browser-default)+label i{color:#444}.input-field input[type=search]:focus:not(.browser-default)~.mdi-navigation-close{color:#444}.input-field input[type=search]:focus:not(.browser-default)~.material-icons{color:#444}.input-field input[type=search]+.label-icon{left:1rem;transform:none}.input-field input[type=search]~.mdi-navigation-close{color:transparent;cursor:pointer;font-size:2rem;transition:color .3s;position:absolute;top:0;right:1rem}.input-field input[type=search]~.material-icons{color:transparent;cursor:pointer;font-size:2rem;transition:color .3s;position:absolute;top:0;right:1rem}textarea{background-color:transparent;width:100%;height:3rem}textarea.materialize-textarea{resize:none;box-sizing:border-box;min-height:3rem;padding:.8rem 0;line-height:normal;overflow-y:hidden}.hiddendiv{visibility:hidden;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;z-index:-1;padding-top:1.2rem;position:absolute;top:0}.autocomplete-content li .highlight{color:#444}.autocomplete-content li img{width:40px;height:40px;margin:5px 15px}.character-counter{min-height:18px}[type=radio]:not(:checked){opacity:0;pointer-events:none;position:absolute}[type=radio]:checked{opacity:0;pointer-events:none;position:absolute}[type=radio]:not(:checked)+span{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:25px;padding-left:35px;font-size:1rem;line-height:25px;transition:all .28s;display:inline-block;position:relative}[type=radio]:checked+span{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:25px;padding-left:35px;font-size:1rem;line-height:25px;transition:all .28s;display:inline-block;position:relative}[type=radio]+span:before{content:"";z-index:0;width:16px;height:16px;margin:4px;transition:all .28s;position:absolute;top:0;left:0}[type=radio]+span:after{content:"";z-index:0;width:16px;height:16px;margin:4px;transition:all .28s;position:absolute;top:0;left:0}[type=radio]:not(:checked)+span:before{border-radius:50%}[type=radio]:not(:checked)+span:after{border-radius:50%}[type=radio]:checked+span:before{border-radius:50%}[type=radio]:checked+span:after{border-radius:50%}[type=radio].with-gap:checked+span:before{border-radius:50%}[type=radio].with-gap:checked+span:after{border-radius:50%}[type=radio]:not(:checked)+span:before{border:2px solid #5a5a5a}[type=radio]:not(:checked)+span:after{border:2px solid #5a5a5a}[type=radio]:not(:checked)+span:after{transform:scale(0)}[type=radio]:checked+span:before{border:2px solid transparent}[type=radio]:checked+span:after{border:2px solid #26a69a}[type=radio].with-gap:checked+span:before{border:2px solid #26a69a}[type=radio].with-gap:checked+span:after{border:2px solid #26a69a}[type=radio]:checked+span:after{background-color:#26a69a}[type=radio].with-gap:checked+span:after{background-color:#26a69a}[type=radio]:checked+span:after{transform:scale(1.02)}[type=radio].with-gap:checked+span:after{transform:scale(.5)}[type=radio].tabbed:focus+span:before{box-shadow:0 0 0 10px rgba(0,0,0,.1)}[type=radio].with-gap:disabled:checked+span:before{border:2px solid rgba(0,0,0,.42)}[type=radio].with-gap:disabled:checked+span:after{background-color:rgba(0,0,0,.42);border:none}[type=radio]:disabled:not(:checked)+span:before{background-color:transparent;border-color:rgba(0,0,0,.42)}[type=radio]:disabled:checked+span:before{background-color:transparent;border-color:rgba(0,0,0,.42)}[type=radio]:disabled+span{color:rgba(0,0,0,.42)}[type=radio]:disabled:not(:checked)+span:before{border-color:rgba(0,0,0,.42)}[type=radio]:disabled:checked+span:after{background-color:rgba(0,0,0,.42);border-color:#949494}[type=checkbox]:not(:checked){opacity:0;pointer-events:none;position:absolute}[type=checkbox]:checked{opacity:0;pointer-events:none;position:absolute}[type=checkbox]+span:not(.lever){cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:25px;padding-left:35px;font-size:1rem;line-height:25px;display:inline-block;position:relative}[type=checkbox]+span:not(.lever):before{content:"";z-index:0;border:2px solid #5a5a5a;border-radius:1px;width:18px;height:18px;margin-top:3px;transition:all .2s;position:absolute;top:0;left:0}[type=checkbox]:not(.filled-in)+span:not(.lever):after{content:"";z-index:0;border:2px solid #5a5a5a;border-radius:1px;width:18px;height:18px;margin-top:3px;transition:all .2s;position:absolute;top:0;left:0}[type=checkbox]:not(.filled-in)+span:not(.lever):after{border:0;transform:scale(0)}[type=checkbox]:not(:checked):disabled+span:not(.lever):before{background-color:rgba(0,0,0,.42);border:none}[type=checkbox].tabbed:focus+span:not(.lever):after{background-color:rgba(0,0,0,.1);border:0;border-radius:50%;transform:scale(1);box-shadow:0 0 0 10px rgba(0,0,0,.1)}[type=checkbox]:checked+span:not(.lever):before{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:100% 100%;border:2px solid #26a69a;border-color:transparent #26a69a #26a69a transparent;width:12px;height:22px;top:-4px;left:-5px;transform:rotate(40deg)}[type=checkbox]:checked:disabled+span:before{border-bottom:2px solid rgba(0,0,0,.42);border-right:2px solid rgba(0,0,0,.42)}[type=checkbox]:indeterminate+span:not(.lever):before{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:100% 100%;border:none;border-right:2px solid #26a69a;width:10px;height:22px;top:-11px;left:-12px;transform:rotate(90deg)}[type=checkbox]:indeterminate:disabled+span:not(.lever):before{background-color:transparent;border-right:2px solid rgba(0,0,0,.42)}[type=checkbox].filled-in+span:not(.lever):after{border-radius:2px}[type=checkbox].filled-in+span:not(.lever):before{content:"";z-index:1;transition:border .25s,background-color .25s,width .2s .1s,height .2s .1s,top .2s .1s,left .2s .1s;position:absolute;left:0}[type=checkbox].filled-in+span:not(.lever):after{content:"";z-index:1;transition:border .25s,background-color .25s,width .2s .1s,height .2s .1s,top .2s .1s,left .2s .1s;position:absolute;left:0}[type=checkbox].filled-in:not(:checked)+span:not(.lever):before{transform-origin:100% 100%;border:3px solid transparent;width:0;height:0;top:10px;left:6px;transform:rotate(37deg)}[type=checkbox].filled-in:not(:checked)+span:not(.lever):after{z-index:0;background-color:transparent;border:2px solid #5a5a5a;width:20px;height:20px;top:0}[type=checkbox].filled-in:checked+span:not(.lever):before{transform-origin:100% 100%;border:2px solid #fff;border-color:transparent #fff #fff transparent;width:8px;height:13px;top:0;left:1px;transform:rotate(37deg)}[type=checkbox].filled-in:checked+span:not(.lever):after{z-index:0;background-color:#26a69a;border:2px solid #26a69a;width:20px;height:20px;top:0}[type=checkbox].filled-in.tabbed:focus+span:not(.lever):after{background-color:rgba(0,0,0,.1);border-color:#5a5a5a;border-radius:2px}[type=checkbox].filled-in.tabbed:checked:focus+span:not(.lever):after{background-color:#26a69a;border-color:#26a69a;border-radius:2px}[type=checkbox].filled-in:disabled:not(:checked)+span:not(.lever):before{background-color:transparent;border:2px solid transparent}[type=checkbox].filled-in:disabled:not(:checked)+span:not(.lever):after{background-color:#949494;border-color:transparent}[type=checkbox].filled-in:disabled:checked+span:not(.lever):before{background-color:transparent}[type=checkbox].filled-in:disabled:checked+span:not(.lever):after{background-color:#949494;border-color:#949494}.switch,.switch *{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch label{cursor:pointer}.switch label input[type=checkbox]{opacity:0;width:0;height:0}.switch label input[type=checkbox]:checked+.lever{background-color:#84c7c1}.switch label input[type=checkbox]:checked+.lever:before{left:18px}.switch label input[type=checkbox]:checked+.lever:after{left:18px}.switch label input[type=checkbox]:checked+.lever:after{background-color:#26a69a}.switch label .lever{content:"";vertical-align:middle;background-color:rgba(0,0,0,.38);border-radius:15px;width:36px;height:14px;margin:0 16px;transition:background .3s;display:inline-block;position:relative}.switch label .lever:before,.switch label .lever:after{content:"";border-radius:50%;width:20px;height:20px;transition:left .3s,background .3s,box-shadow .1s,transform .1s,-webkit-box-shadow .1s,-webkit-transform .1s;display:inline-block;position:absolute;top:-3px;left:0}.switch label .lever:before{background-color:rgba(38,166,154,.15)}.switch label .lever:after{background-color:#f1f1f1;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px rgba(0,0,0,.14),0 1px 5px rgba(0,0,0,.12)}input[type=checkbox]:checked:not(:disabled)~.lever:active:before{background-color:rgba(38,166,154,.15);transform:scale(2.4)}input[type=checkbox]:checked:not(:disabled).tabbed:focus~.lever:before{background-color:rgba(38,166,154,.15);transform:scale(2.4)}input[type=checkbox]:not(:disabled)~.lever:active:before{background-color:rgba(0,0,0,.08);transform:scale(2.4)}input[type=checkbox]:not(:disabled).tabbed:focus~.lever:before{background-color:rgba(0,0,0,.08);transform:scale(2.4)}.switch input[type=checkbox][disabled]+.lever{cursor:default;background-color:rgba(0,0,0,.12)}.switch label input[type=checkbox][disabled]+.lever:after{background-color:#949494}.switch label input[type=checkbox][disabled]:checked+.lever:after{background-color:#949494}select{display:none}select.browser-default{display:block}select{background-color:rgba(255,255,255,.9);border:1px solid #f2f2f2;border-radius:2px;width:100%;height:3rem;padding:5px}.select-label{position:absolute}.select-wrapper{position:relative}.select-wrapper.valid+label,.select-wrapper.invalid+label{pointer-events:none;width:100%}.select-wrapper input.select-dropdown{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;outline:none;width:100%;height:3rem;margin:0 0 8px;padding:0;font-size:16px;line-height:3rem;display:block;position:relative}.select-wrapper input.select-dropdown:focus{border-bottom:1px solid #26a69a}.select-wrapper .caret{z-index:0;fill:rgba(0,0,0,.87);margin:auto 0;position:absolute;top:0;bottom:0;right:0}.select-wrapper+label{font-size:.8rem;position:absolute;top:-26px}select:disabled,.select-wrapper.disabled+label{color:rgba(0,0,0,.42)}.select-wrapper.disabled .caret{fill:rgba(0,0,0,.42)}.select-wrapper input.select-dropdown:disabled{color:rgba(0,0,0,.42);cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-wrapper i{color:rgba(0,0,0,.3)}.select-dropdown li.disabled,.select-dropdown li.disabled>span,.select-dropdown li.optgroup{color:rgba(0,0,0,.3);background-color:transparent}body.keyboard-focused .select-dropdown.dropdown-content li:focus,.select-dropdown.dropdown-content li:hover{background-color:rgba(0,0,0,.08)}.select-dropdown.dropdown-content li.selected{background-color:rgba(0,0,0,.03)}.prefix~.select-wrapper{width:92%;width:calc(100% - 3rem);margin-left:3rem}.prefix~label{margin-left:3rem}.select-dropdown li img{float:right;width:40px;height:40px;margin:5px 15px}.select-dropdown li.optgroup{border-top:1px solid #eee}.select-dropdown li.optgroup.selected>span{color:rgba(0,0,0,.7)}.select-dropdown li.optgroup>span{color:rgba(0,0,0,.4)}.select-dropdown li.optgroup~li.optgroup-option{padding-left:1rem}.file-field{position:relative}.file-field .file-path-wrapper{padding-left:10px;overflow:hidden}.file-field input.file-path{width:100%}.file-field .btn,.file-field .btn-large,.file-field .btn-small{float:left;height:3rem;line-height:3rem}.file-field span{cursor:pointer}.file-field input[type=file]{cursor:pointer;opacity:0;width:100%;-webkit-filter:alpha(opacity=0);filter:alpha(opacity=0);margin:0;padding:0;font-size:20px;position:absolute;top:0;bottom:0;left:0;right:0}.file-field input[type=file]::-webkit-file-upload-button{display:none}.range-field{position:relative}input[type=range]{cursor:pointer}input[type=range]+.thumb{cursor:pointer}input[type=range]{background-color:transparent;border:none;outline:none;width:100%;margin:15px 0;padding:0;position:relative}input[type=range]:focus{outline:none}input[type=range]+.thumb{transform-origin:50%;background-color:#26a69a;border:none;border-radius:50%;width:0;height:0;margin-left:7px;position:absolute;top:10px;left:0;transform:rotate(-45deg)}input[type=range]+.thumb .value{text-align:center;color:#26a69a;width:30px;font-size:0;display:block;transform:rotate(45deg)}input[type=range]+.thumb.active{border-radius:50% 50% 50% 0}input[type=range]+.thumb.active .value{color:#fff;margin-top:8px;margin-left:-1px;font-size:10px}input[type=range]{-webkit-appearance:none}input[type=range]::-webkit-slider-runnable-track{background:#c2c0c2;border:none;height:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;transform-origin:50%;background:#26a69a;border:none;border-radius:50%;width:14px;height:14px;margin:-5px 0 0;transition:box-shadow .3s,-webkit-box-shadow .3s}.keyboard-focused input[type=range]:focus:not(.active)::-webkit-slider-thumb{box-shadow:0 0 0 10px rgba(38,166,154,.26)}input[type=range]{border:1px solid #fff}input[type=range]::-moz-range-track{background:#c2c0c2;border:none;height:3px}input[type=range]::-moz-focus-inner{border:0}input[type=range]::-moz-range-thumb{background:#26a69a;border:none;border-radius:50%;width:14px;height:14px;margin-top:-5px;transition:box-shadow .3s,-webkit-box-shadow .3s}input[type=range]:-moz-focusring{outline-offset:-1px;outline:1px solid #fff}.keyboard-focused input[type=range]:focus:not(.active)::-moz-range-thumb{box-shadow:0 0 0 10px rgba(38,166,154,.26)}input[type=range]::-ms-track{color:transparent;background:0 0;border-width:6px 0;border-color:transparent;height:3px}input[type=range]::-ms-fill-lower{background:#777}input[type=range]::-ms-fill-upper{background:#ddd}input[type=range]::-ms-thumb{background:#26a69a;border:none;border-radius:50%;width:14px;height:14px;transition:box-shadow .3s,-webkit-box-shadow .3s}.keyboard-focused input[type=range]:focus:not(.active)::-ms-thumb{box-shadow:0 0 0 10px rgba(38,166,154,.26)}.table-of-contents.fixed{position:fixed}.table-of-contents li{padding:2px 0}.table-of-contents a{color:#757575;letter-spacing:.4px;height:1.5rem;padding-left:16px;font-weight:300;line-height:1.5rem;display:inline-block}.table-of-contents a:hover{color:#a8a8a8;border-left:1px solid #ee6e73;padding-left:15px}.table-of-contents a.active{border-left:2px solid #ee6e73;padding-left:14px;font-weight:500}.sidenav{width:300px;height:100%;height:calc(100% + 60px);height:-moz-calc(100%);z-index:999;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:#fff;margin:0;padding-bottom:60px;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-105%)}.sidenav.right-aligned{left:auto;right:0;transform:translate(100%)}.sidenav .collapsible{margin:0}.sidenav li{float:none;line-height:48px}.sidenav li.active{background-color:rgba(0,0,0,.05)}.sidenav li>a{color:rgba(0,0,0,.87);height:48px;padding:0 32px;font-size:14px;font-weight:500;line-height:48px;display:block}.sidenav li>a:hover{background-color:rgba(0,0,0,.05)}.sidenav li>a.btn,.sidenav li>a.btn-large,.sidenav li>a.btn-small,.sidenav li>a.btn-large,.sidenav li>a.btn-flat,.sidenav li>a.btn-floating{margin:10px 15px}.sidenav li>a.btn,.sidenav li>a.btn-large,.sidenav li>a.btn-small,.sidenav li>a.btn-large,.sidenav li>a.btn-floating{color:#fff}.sidenav li>a.btn-flat{color:#343434}.sidenav li>a.btn:hover,.sidenav li>a.btn-large:hover,.sidenav li>a.btn-small:hover,.sidenav li>a.btn-large:hover{background-color:#2bbbad}.sidenav li>a.btn-floating:hover{background-color:#26a69a}.sidenav li>a>i,.sidenav li>a>[class^=mdi-],.sidenav li>a li>a>[class*=mdi-],.sidenav li>a>i.material-icons{float:left;color:rgba(0,0,0,.54);width:24px;height:48px;margin:0 32px 0 0;line-height:48px}.sidenav .divider{margin:8px 0 0}.sidenav .subheader{cursor:initial;pointer-events:none;color:rgba(0,0,0,.54);font-size:14px;font-weight:500;line-height:48px}.sidenav .subheader:hover{background-color:transparent}.sidenav .user-view{margin-bottom:8px;padding:32px 32px 0;position:relative}.sidenav .user-view>a{height:auto;padding:0}.sidenav .user-view>a:hover{background-color:transparent}.sidenav .user-view .background{z-index:-1;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.sidenav .user-view .circle,.sidenav .user-view .name,.sidenav .user-view .email{display:block}.sidenav .user-view .circle{width:64px;height:64px}.sidenav .user-view .name,.sidenav .user-view .email{font-size:14px;line-height:24px}.sidenav .user-view .name{margin-top:16px;font-weight:500}.sidenav .user-view .email{padding-bottom:16px;font-weight:400}.drag-target{z-index:998;width:10px;height:100%;position:fixed;top:0}.drag-target.right-aligned{right:0}.sidenav.sidenav-fixed{position:fixed;left:0;transform:translate(0)}.sidenav.sidenav-fixed.right-aligned{left:auto;right:0}@media only screen and (max-width:992px){.sidenav.sidenav-fixed{transform:translate(-105%)}.sidenav.sidenav-fixed.right-aligned{transform:translate(105%)}.sidenav>a{padding:0 16px}.sidenav .user-view{padding:16px 16px 0}}.sidenav .collapsible-body>ul:not(.collapsible)>li.active,.sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active{background-color:#ee6e73}.sidenav .collapsible-body>ul:not(.collapsible)>li.active a,.sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active a{color:#fff}.sidenav .collapsible-body{padding:0}.sidenav-overlay{opacity:0;z-index:997;background-color:rgba(0,0,0,.5);height:120vh;display:none;position:fixed;top:0;left:0;right:0}.preloader-wrapper{width:50px;height:50px;display:inline-block;position:relative}.preloader-wrapper.small{width:36px;height:36px}.preloader-wrapper.big{width:64px;height:64px}.preloader-wrapper.active{animation:1.568s linear infinite container-rotate}@-webkit-keyframes container-rotate{to{-webkit-transform:rotate(360deg)}}@keyframes container-rotate{to{transform:rotate(360deg)}}.spinner-layer{opacity:0;border-color:#26a69a;width:100%;height:100%;position:absolute}.spinner-blue,.spinner-blue-only{border-color:#4285f4}.spinner-red,.spinner-red-only{border-color:#db4437}.spinner-yellow,.spinner-yellow-only{border-color:#f4b400}.spinner-green,.spinner-green-only{border-color:#0f9d58}.active .spinner-layer.spinner-blue{animation:5.332s cubic-bezier(.4,0,.2,1) infinite both fill-unfill-rotate,5.332s cubic-bezier(.4,0,.2,1) infinite both blue-fade-in-out}.active .spinner-layer.spinner-red{animation:5.332s cubic-bezier(.4,0,.2,1) infinite both fill-unfill-rotate,5.332s cubic-bezier(.4,0,.2,1) infinite both red-fade-in-out}.active .spinner-layer.spinner-yellow{animation:5.332s cubic-bezier(.4,0,.2,1) infinite both fill-unfill-rotate,5.332s cubic-bezier(.4,0,.2,1) infinite both yellow-fade-in-out}.active .spinner-layer.spinner-green{animation:5.332s cubic-bezier(.4,0,.2,1) infinite both fill-unfill-rotate,5.332s cubic-bezier(.4,0,.2,1) infinite both green-fade-in-out}.active .spinner-layer,.active .spinner-layer.spinner-blue-only,.active .spinner-layer.spinner-red-only,.active .spinner-layer.spinner-yellow-only,.active .spinner-layer.spinner-green-only{opacity:1;animation:5.332s cubic-bezier(.4,0,.2,1) infinite both fill-unfill-rotate}@-webkit-keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg)}}@keyframes fill-unfill-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to{transform:rotate(1080deg)}}@keyframes blue-fade-in-out{0%{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}to{opacity:1}}@keyframes red-fade-in-out{0%{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@keyframes yellow-fade-in-out{0%{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@keyframes green-fade-in-out{0%{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}to{opacity:0}}.gap-patch{border-color:inherit;width:10%;height:100%;position:absolute;top:0;left:45%;overflow:hidden}.gap-patch .circle{width:1000%;left:-450%}.circle-clipper{border-color:inherit;width:50%;height:100%;display:inline-block;position:relative;overflow:hidden}.circle-clipper .circle{border-style:solid;border-width:3px;border-color:inherit;border-radius:50%;width:200%;height:100%;animation:none;position:absolute;top:0;bottom:0;right:0;border-bottom-color:transparent!important}.circle-clipper.left .circle{left:0;transform:rotate(129deg);border-right-color:transparent!important}.circle-clipper.right .circle{left:-100%;transform:rotate(-129deg);border-left-color:transparent!important}.active .circle-clipper.left .circle{animation:1.333s cubic-bezier(.4,0,.2,1) infinite both left-spin}.active .circle-clipper.right .circle{animation:1.333s cubic-bezier(.4,0,.2,1) infinite both right-spin}@-webkit-keyframes left-spin{0%{-webkit-transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg)}}@keyframes left-spin{0%{transform:rotate(130deg)}50%{transform:rotate(-5deg)}to{transform:rotate(130deg)}}@-webkit-keyframes right-spin{0%{-webkit-transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg)}}@keyframes right-spin{0%{transform:rotate(-130deg)}50%{transform:rotate(5deg)}to{transform:rotate(-130deg)}}#spinnerContainer.cooldown{animation:1.568s linear infinite container-rotate,.4s cubic-bezier(.4,0,.2,1) fade-out}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.slider{width:100%;height:400px;position:relative}.slider.fullscreen{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.slider.fullscreen ul.slides{height:100%}.slider.fullscreen ul.indicators{z-index:2;bottom:30px}.slider .slides{background-color:#9e9e9e;height:400px;margin:0}.slider .slides li{opacity:0;z-index:1;width:100%;height:inherit;position:absolute;top:0;left:0;overflow:hidden}.slider .slides li img{background-position:50%;background-size:cover;width:100%;height:100%}.slider .slides li .caption{color:#fff;opacity:0;width:70%;position:absolute;top:15%;left:15%}.slider .slides li .caption p{color:#e0e0e0}.slider .slides li.active{z-index:2}.slider .indicators{text-align:center;margin:0;position:absolute;bottom:0;left:0;right:0}.slider .indicators .indicator-item{cursor:pointer;background-color:#e0e0e0;border-radius:50%;width:16px;height:16px;margin:0 12px;transition:background-color .3s;display:inline-block;position:relative}.slider .indicators .indicator-item.active{background-color:#4caf50}.carousel{perspective:500px;width:100%;height:400px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transform-origin:0%;position:relative;overflow:hidden}.carousel.carousel-slider{top:0;left:0}.carousel.carousel-slider .carousel-fixed-item{z-index:1;position:absolute;bottom:20px;left:0;right:0}.carousel.carousel-slider .carousel-fixed-item.with-indicators{bottom:68px}.carousel.carousel-slider .carousel-item{width:100%;height:100%;min-height:400px;position:absolute;top:0;left:0}.carousel.carousel-slider .carousel-item h2{font-size:24px;font-weight:500;line-height:32px}.carousel.carousel-slider .carousel-item p{font-size:15px}.carousel .carousel-item{visibility:hidden;width:200px;height:200px;position:absolute;top:0;left:0}.carousel .carousel-item>img{width:100%}.carousel .indicators{text-align:center;margin:0;position:absolute;bottom:0;left:0;right:0}.carousel .indicators .indicator-item{cursor:pointer;background-color:rgba(255,255,255,.5);border-radius:50%;width:8px;height:8px;margin:24px 4px;transition:background-color .3s;display:inline-block;position:relative}.carousel .indicators .indicator-item.active{background-color:#fff}.carousel.scrolling .carousel-item .materialboxed,.carousel .carousel-item:not(.active) .materialboxed{pointer-events:none}.tap-target-wrapper{z-index:1000;visibility:hidden;width:800px;height:800px;transition:visibility 0s .3s;position:fixed}.tap-target-wrapper.open{visibility:visible;transition:visibility}.tap-target-wrapper.open .tap-target{opacity:.95;transition:transform .3s ease-in-out,opacity .3s ease-in-out,-webkit-transform .3s ease-in-out;transform:scale(1)}.tap-target-wrapper.open .tap-target-wave:before{transform:scale(1)}.tap-target-wrapper.open .tap-target-wave:after{visibility:visible;transition:opacity .3s,transform .3s,visibility 0s 1s,-webkit-transform .3s;animation:1s cubic-bezier(.24,0,.38,1) infinite pulse-animation}.tap-target{opacity:0;background-color:#ee6e73;border-radius:50%;width:100%;height:100%;font-size:1rem;transition:transform .3s ease-in-out,opacity .3s ease-in-out,-webkit-transform .3s ease-in-out;position:absolute;transform:scale(0);box-shadow:0 20px 20px rgba(0,0,0,.14),0 10px 50px rgba(0,0,0,.12),0 30px 10px -20px rgba(0,0,0,.2)}.tap-target-content{display:table-cell;position:relative}.tap-target-wave{z-index:10001;border-radius:50%;position:absolute}.tap-target-wave:before,.tap-target-wave:after{content:"";background-color:#fff;border-radius:50%;width:100%;height:100%;display:block;position:absolute}.tap-target-wave:before{transition:transform .3s,-webkit-transform .3s;transform:scale(0)}.tap-target-wave:after{visibility:hidden;z-index:-1;transition:opacity .3s,transform .3s,visibility,-webkit-transform .3s}.tap-target-origin{z-index:10002;top:50%;left:50%;transform:translate(-50%,-50%);position:absolute!important}.tap-target-origin:not(.btn):not(.btn-large):not(.btn-small),.tap-target-origin:not(.btn):not(.btn-large):not(.btn-small):hover{background:0 0}@media only screen and (max-width:600px){.tap-target,.tap-target-wrapper{width:600px;height:600px}}.pulse{position:relative;overflow:visible}.pulse:before{content:"";background-color:inherit;border-radius:inherit;z-index:-1;width:100%;height:100%;transition:opacity .3s,transform .3s,-webkit-transform .3s;animation:1s cubic-bezier(.24,0,.38,1) infinite pulse-animation;display:block;position:absolute;top:0;left:0}@keyframes pulse-animation{0%{opacity:1;transform:scale(1)}50%{opacity:0;transform:scale(1.5)}to{opacity:0;transform:scale(1.5)}}.datepicker-modal{min-width:300px;max-width:325px;max-height:none}.datepicker-container.modal-content{flex-direction:column;padding:0;display:flex}.datepicker-controls{justify-content:space-between;width:280px;margin:0 auto;display:flex}.datepicker-controls .selects-container{display:flex}.datepicker-controls .select-wrapper input{text-align:center;border-bottom:none;margin:0}.datepicker-controls .select-wrapper input:focus{border-bottom:none}.datepicker-controls .select-wrapper .caret{display:none}.datepicker-controls .select-year input{width:50px}.datepicker-controls .select-month input{width:70px}.month-prev,.month-next{cursor:pointer;background-color:transparent;border:none;margin-top:4px}.datepicker-date-display{color:#fff;background-color:#26a69a;flex:auto;padding:20px 22px;font-weight:500}.datepicker-date-display .year-text{color:rgba(255,255,255,.7);font-size:1.5rem;line-height:25px;display:block}.datepicker-date-display .date-text{font-size:2.8rem;font-weight:500;line-height:47px;display:block}.datepicker-calendar-container{flex:2.5 auto}.datepicker-table{width:280px;margin:0 auto;font-size:1rem}.datepicker-table thead{border-bottom:none}.datepicker-table th{text-align:center;padding:10px 5px}.datepicker-table tr{border:none}.datepicker-table abbr{color:#999;text-decoration:none}.datepicker-table td{border-radius:50%;padding:0}.datepicker-table td.is-today{color:#26a69a}.datepicker-table td.is-selected{color:#fff;background-color:#26a69a}.datepicker-table td.is-outside-current-month,.datepicker-table td.is-disabled{color:rgba(0,0,0,.3);pointer-events:none}.datepicker-day-button{cursor:pointer;width:100%;color:inherit;background-color:transparent;border:none;border-radius:50%;padding:0 5px;line-height:38px;display:block}.datepicker-day-button:focus{background-color:rgba(43,161,150,.25)}.datepicker-footer{justify-content:space-between;width:280px;margin:0 auto;padding-bottom:5px;display:flex}.datepicker-cancel,.datepicker-clear,.datepicker-today,.datepicker-done{color:#26a69a;padding:0 1rem}.datepicker-clear{color:#f44336}@media only screen and (min-width:601px){.datepicker-modal{max-width:625px}.datepicker-container.modal-content{flex-direction:row}.datepicker-date-display{flex:0 270px}.datepicker-controls,.datepicker-table,.datepicker-footer{width:320px}.datepicker-day-button{line-height:44px}}.timepicker-modal{max-width:325px;max-height:none}.timepicker-container.modal-content{flex-direction:column;padding:0;display:flex}.text-primary{color:#fff}.timepicker-digital-display{background-color:#26a69a;flex:auto;padding:10px;font-weight:300}.timepicker-text-container{text-align:center;color:rgba(255,255,255,.6);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:4rem;font-weight:400;position:relative}.timepicker-span-hours,.timepicker-span-minutes,.timepicker-span-am-pm div{cursor:pointer}.timepicker-span-hours{margin-right:3px}.timepicker-span-minutes{margin-left:3px}.timepicker-display-am-pm{font-size:1.3rem;font-weight:400;position:absolute;bottom:1rem;right:1rem}.timepicker-analog-display{flex:2.5 auto}.timepicker-plate{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#eee;border-radius:50%;width:270px;height:270px;margin:25px auto 5px;position:relative;overflow:visible}.timepicker-canvas,.timepicker-dial{position:absolute;top:0;bottom:0;left:0;right:0}.timepicker-minutes{visibility:hidden}.timepicker-tick{color:rgba(0,0,0,.87);text-align:center;cursor:pointer;border-radius:50%;width:40px;height:40px;font-size:15px;line-height:40px;position:absolute}.timepicker-tick.active,.timepicker-tick:hover{background-color:rgba(38,166,154,.25)}.timepicker-dial{transition:transform .35s,opacity .35s,-webkit-transform .35s}.timepicker-dial-out{opacity:0}.timepicker-dial-out.timepicker-hours{transform:scale(1.1)}.timepicker-dial-out.timepicker-minutes{transform:scale(.8)}.timepicker-canvas{transition:opacity .175s}.timepicker-canvas line{stroke:#26a69a;stroke-width:4px;stroke-linecap:round}.timepicker-canvas-out{opacity:.25}.timepicker-canvas-bearing,.timepicker-canvas-bg{stroke:none;fill:#26a69a}.timepicker-footer{justify-content:space-between;margin:0 auto;padding:5px 1rem;display:flex}.timepicker-clear{color:#f44336}.timepicker-close{color:#26a69a}.timepicker-clear,.timepicker-close{padding:0 20px}@media only screen and (min-width:601px){.timepicker-modal{max-width:600px}.timepicker-container.modal-content{flex-direction:row}.timepicker-text-container{top:32%}.timepicker-display-am-pm{text-align:center;margin-top:1.2rem;position:relative;bottom:auto;right:auto}.container{width:95%}}.container{max-width:unset}body{font-size:18px;overflow-x:hidden}.btn,.btn-floating{background-color:#1565c0}.page-footer,.nav-wrapper,.statusbar,.nav-content{background-color:#fff}nav .title{font-size:2rem;position:fixed;top:0;left:200px}.input-field,.switch>label,.input-field>label,.input-field>.material-icons,.dropdown-content>li>a,.tooltip>.material-icons,label>span,.secondary-content>.material-icons{color:#1a237e}.tabs.tabs-transparent .tab a,nav ul a{color:#1a237e;padding:0}.primary-text{color:#1a237e}a{color:#2b36aa}.markdown ul{padding-left:20px}.markdown ul>li{padding-left:20px;list-style-type:disc}.leaflet-top,.leaflet-bottom{z-index:950}.block-with-text{text-align:justify;max-height:3.6em;margin-right:-1em;padding-right:1em;line-height:1.2em;position:relative;overflow:hidden}.block-with-text:before{content:"...";position:absolute;bottom:0;right:0}.block-with-text:after{content:"";background:#fff;width:1em;height:1em;margin-top:.2em;position:absolute;right:0}.sidenav{top:66px}.buttons a{margin:5px}@media print{html,body{font-size:14px}body{color:#000;background-color:#fff;margin:0}a[href^=http]:after{content:" (" attr(href)")"}.leaflet-container,img,pre,blockquote{page-break-inside:avoid;page-break-before:auto;page-break-after:auto;page-break-inside:avoid}main:after{content:"Copyright DRIVER+";text-align:center;display:block}.do-not-print,header,footer,aside,nav,form,iframe,.menu,.hero,.adslot{display:none}}.margin-top7{margin-top:7px}.inline{margin:0 1rem;display:inline-block}ul.list-inline li{display:inline}ul.menu-buttons>li{margin:5px 0}ul.menu-buttons>li>a{width:100%}ul.questionnaire-nav{text-align:center;width:100%}ul.questionnaire-nav>li{margin:0 10px}ul.questionnaire-nav>li>a{width:25%}.markdown p{color:#000;font-weight:400}.markdown.squeeze p,.repeat-list .pagination{margin:0}.repeat-list .assessment-plugin{margin:0 10px}.incident-view{width:100vw;margin-bottom:0;position:absolute;top:65px;left:-10px}.card-panel{cursor:pointer;margin:.5rem 0;padding:0 20px}.card-panel.xl{height:41.5vh}.card-panel.large{height:200px}.card-panel.medium{height:125px}.card-panel.small{height:75px}.widget{position:relative}.widget ul{margin:0}.widget-link{display:none}.widget:hover .widget-link{display:block}.bold{font-weight:700}.subject{vertical-align:middle;width:42px;display:inline-block;position:absolute;left:15px;overflow:hidden}ul.collection.objects,ul.collection.subjects{max-height:160px;overflow-y:auto}ul.updates{max-height:70px;overflow-y:auto}ul.measures{max-height:170px;overflow-y:auto}li.collection-item:first-child{background-color:#fff;position:fixed}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888}::-webkit-scrollbar-thumb:hover{background:#555}.radio{margin-top:2rem}.material-placeholder{z-index:1999}.materialbox-overlay{z-index:2000}.incident-view .leaflet-container{height:200px!important}#map-page .leaflet-container{width:100vw;margin-bottom:-65px;margin-left:-130px;height:91vh!important}.material-icons.hoverable{text-align:center;cursor:pointer}.material-icons.hoverable:hover{background-color:rgba(0,0,0,.1)}.card-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.comment{background-color:#d3d3d3;border-radius:10px;margin:10px 0;padding:10px}.comment-text p{margin:0}.tooltip{display:inline-block;position:relative}.tooltip .tooltiptext{visibility:hidden;color:#fff;text-align:center;z-index:1;background-color:#000;border-radius:6px;width:320px;padding:5px;font-size:1rem;line-height:2rem;position:absolute}.tooltip:hover .tooltiptext{visibility:visible}.tooltip .tooltiptext{width:150px;margin-left:-75px;top:100%;left:50%}.user-page{margin-top:10px}.multiple-choice-question label span{color:#000}:root{--gutter:10px}.hs-container{grid-gap:var(--gutter)0;grid-template-columns:var(--gutter)1fr var(--gutter);align-content:start;width:100%;height:100%}.hs-container>*{grid-column:2/-2}.hs-container>.full{grid-column:1/-1}.hs-header{margin-bottom:-25px;padding-top:10px}.hs>li,.item{scroll-snap-align:center;padding:calc(var(--gutter)/2*1.5);flex-direction:column;justify-content:center;align-items:center;display:flex}.hs{grid-gap:calc(var(--gutter)/2);grid-template-rows:minmax(150px,1fr);grid-template-columns:0;grid-auto-flow:column;grid-auto-columns:calc(24% - var(--gutter)*2);scroll-snap-type:x proximity;padding-bottom:calc(.1*var(--gutter));margin-bottom:calc(-.25*var(--gutter));display:grid;overflow-x:scroll;overflow-y:hidden}.hs:before,.hs:after{content:"";width:10px}.hs-item{width:100%}.section-wrapper{color:#777;border-top:1px solid rgba(0,0,0,.14);margin-top:20px;transition:margin .25s}img.thumbnail{width:auto;height:100%;max-height:20vh;margin:0 auto}.sidenav{width:250px}ul.person-details>li>i.material-icons{vertical-align:middle;margin:3px 10px 3px 0}ul.projects>li{margin:4px 0}ul.projects>li>span.project-id{margin-right:5px}.collapsible>li:first-child .collapsible-header span.badge{margin-left:10px}.input-field.options>label{top:-2.5rem}.input-field.options{margin-top:3rem}.condensed .input-field{margin:0 auto}.assessment-plugin.section{padding:0}.inline-icon{vertical-align:bottom}.margins{margin:10px}.overview .capability{white-space:nowrap;width:100%;margin-right:2rem;display:flex}.overview .capability .name{text-overflow:ellipsis;white-space:nowrap;flex-grow:1;overflow:hidden}.overview .square{background-color:#555;border:2px solid #000;flex:0 0 20px;width:20px;height:20px;margin-top:5px;margin-right:8px}.page .row{margin-bottom:0}.page{min-height:95vh;padding-bottom:20px}label,.pagination li,.material-icons,.unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-khtml-user-select:none}.chips{margin-top:0}a.waves-effect.waves-teal.btn-flat.selected{color:#fff;background:#1a237e}.input-field>label:not(.label-icon).active{transform-origin:0 0;transform:translateY(-8px)scale(.8)}.input-field>input[type=color]{margin-top:20px}.button-group{flex-flow:row;display:flex}.language-option{margin-right:10px;display:inline-block}.language-option img{cursor:pointer;width:30px;height:20px}.language-option span{color:#fff;white-space:nowrap;z-index:100;background-color:#000;border-radius:5px;margin-top:5px;margin-left:5px;padding:5px;font-size:14px;display:none;position:absolute}.language-option:hover span{display:block}.clickable{cursor:pointer}.disabled-image{-webkit-filter:grayscale();filter:grayscale();opacity:.5;pointer-events:none}.kanban{flex-flow:wrap;margin:0;padding:0;list-style:none;display:flex}.kanban-row{flex-flow:column;width:210px;height:100%;margin-top:10px;padding:0;list-style:none;display:flex}.kanban-header{justify-content:space-between;align-items:center;width:100%;height:50px;display:flex}.kanban-item{color:#fff;text-align:center;width:200px;min-width:200px;height:60px;margin:0 0 .7rem;padding:0}.kanban-item .card-content{padding:15px 10px;font-size:.8rem}.kanban-item .card-content>.card-title{margin-bottom:0}.kanban-item .card-desc{text-align:left;white-space:normal;word-wrap:break-word;text-overflow:ellipsis;padding:4px;font-size:.9rem;transition-delay:4s;display:none;overflow:hidden}.kanban-item:hover .card-desc{transition-delay:4s;display:block}.title{letter-spacing:.0125em;font-size:1.25rem;font-weight:500}.w70{width:70%}.w30{width:30%}.mw30{min-width:30%}.ml10{margin-left:10px}.mt5{margin-top:5px}.mt10{margin-top:10px}.mt25{margin-top:25px}.mb0{margin-bottom:0}.no-gutter{margin:0}.top-right{position:absolute;top:0;right:0}.top-right-next{position:absolute;top:4px;right:35px}ul.kanban>li{margin-bottom:10px}.inconsistencies-settings{height:90vh}.show-scenario,.create-scenario{height:calc(100vh - 84px);padding-top:1rem}.create-scenario .row{margin-bottom:0}#editor{min-height:150px}.scenario-table .input-field{margin-bottom:0}.scenario-table .material-icons{margin-top:1.6rem;margin-left:5px}.scenario-table .icons{flex-wrap:nowrap;justify-content:right;align-items:flex-start;display:flex}.narratives{border:solid #dbe2e0;border-radius:10px;margin:10px;padding:10px}.popupContainer{background-color:#fcffa5;width:100%;font-size:2rem;position:fixed;bottom:0;left:0;box-shadow:0 -5px 5px rgba(0,0,0,.3)}.popupContainer>.popupContent{padding:20px}.markdown h1{margin:1.5rem 0 1rem;font-size:2.2em}.markdown h2{font-size:2em}.markdown h3{font-size:1.6em}.markdown h4{font-size:1.4em}.markdown h5{font-size:1.2em}#toc{justify-content:center;align-items:center;display:flex}.markdown h6{font-size:1em}.markdown aside{box-sizing:border-box;padding:0 20px}.markdown main{box-sizing:border-box;flex:1;padding:20px}.markdown header{text-align:center;background-color:#f2f2f2;border-radius:20px;padding:10px 40px}.markdown nav ul{padding:0;list-style-type:none}.markdown nav ul li{margin-bottom:10px}@media only screen and (min-width:993px){table.repoonsive-table td.missing{height:57px}table.responsive-table{border-collapse:collapse;border-spacing:0;width:100%;display:block;position:relative}table.responsive-table td:empty:before{content:" "}table.responsive-table th,table.responsive-table td{vertical-align:top;margin:0}table.responsive-table th{text-align:left}table.responsive-table thead{float:left;display:block}table.responsive-table thead tr{padding:0 10px 0 0;display:block}table.responsive-table thead tr th:before{content:" "}table.responsive-table tbody{white-space:nowrap;width:auto;display:block;position:relative;overflow-x:auto}table.responsive-table tbody tr{vertical-align:top;display:inline-block}table.responsive-table th{text-align:right;display:block}table.responsive-table td{text-align:left;min-height:1.25em;display:block}table.responsive-table tr{border-bottom:none}table.responsive-table td,table.responsive-table th{padding:15px 10px}table.responsive-table thead{border:0;border-right:1px solid rgba(0,0,0,.12)}}.table-container{text-align:center;width:100%;margin:0 auto}.table{text-align:left;display:inline-block}.missing{height:57px}.decision-support table.responsive-table>tbody>tr:last-child,.decision-support td:nth-child(2),.decision-support th:nth-child(2),.decision-support td:nth-child(3),.decision-support th:nth-child(3),.decision-support td:nth-child(4),.decision-support th:nth-child(4){background:#e8f4f7}#editor{font-size:18px}.ql-editor strong{font-weight:700}.ql-editor em{font-style:italic}.ql-editor u{text-decoration:underline}.show-scenario .ql-container.ql-snow{border:none}.show-scenario .ql-editor{padding:30px 0}.show-scenario #editor{font-size:24px}.show-scenario div.input-field.select-space.left.mb0.mw30 input{font-size:42px}.show-scenario .select-wrapper input.select-dropdown{border:none}.select-inline{font-size:inherit;margin:0 0;padding-left:6px;display:inline-block}.select-inline>label{display:none}.select-inline input.select-dropdown{height:2rem;margin:0;padding:0}.scenario-paragraph{margin-bottom:1rem;font-size:24px}.icon-buttons{align-items:center;gap:0;display:flex}.icon-button{margin:0;padding:0}.flex-row{align-items:center;gap:16px;display:flex}.flex-grow{flex-grow:1}.legend{z-index:1000;background-color:#add8e6;border-radius:6px;margin:10px;padding:6px;display:inline-block;position:fixed;bottom:0;right:0}.ql-container{box-sizing:border-box;height:100%;margin:0;font-family:Helvetica,Arial,sans-serif;font-size:13px;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{height:1px;position:absolute;top:50%;left:-100000px;overflow-y:hidden}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;-moz-tab-size:4;tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word;outline:none;height:100%;padding:12px 15px;line-height:1.42;overflow-y:auto}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{padding-left:1.5em;list-style-type:none;position:relative}.ql-editor li>.ql-ui:before{text-align:right;white-space:nowrap;width:1.2em;margin-left:-1.5em;margin-right:.3em;display:inline-block}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal)". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha)". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman)". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal)". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha)". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman)". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal)". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha)". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman)". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal)". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{text-align:left;margin-left:.3em;margin-right:-1.5em}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{max-width:100%;display:block}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{text-align:inherit;direction:rtl}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:rgba(0,0,0,.6);content:attr(data-placeholder);pointer-events:none;font-style:italic;position:absolute;left:15px;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{cursor:pointer;float:left;background:0 0;border:none;width:28px;height:24px;padding:3px 5px;display:inline-block}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file]{display:none}.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{vertical-align:middle;display:inline-block}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2px}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1px}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-top:5px;margin-bottom:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-top:5px;margin-bottom:5px;padding:5px 10px}.ql-snow .ql-editor code{padding:2px 4px;font-size:85%}.ql-snow .ql-editor .ql-code-block-container{color:#f8f8f2;background-color:#23241f;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;float:left;vertical-align:middle;height:24px;font-size:14px;font-weight:500;display:inline-block;position:relative}.ql-snow .ql-picker-label{cursor:pointer;width:100%;height:100%;padding-left:8px;padding-right:2px;display:inline-block;position:relative}.ql-snow .ql-picker-label:before{line-height:22px;display:inline-block}.ql-snow .ql-picker-options{white-space:nowrap;background-color:#fff;min-width:100%;padding:4px 8px;display:none;position:absolute}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;padding-top:5px;padding-bottom:5px;display:block}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{z-index:1;margin-top:-1px;display:block;top:100%}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{width:24px;height:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{width:152px;padding:3px 5px}.ql-snow .ql-color-picker .ql-picker-item{float:left;border:1px solid transparent;width:16px;height:16px;margin:2px;padding:0}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{width:18px;margin-top:-9px;position:absolute;top:50%;right:0}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{top:5px;right:5px}.ql-toolbar.ql-snow{box-sizing:border-box;border:1px solid #ccc;padding:8px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:0 2px 8px rgba(0,0,0,.2)}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{color:#444;white-space:nowrap;background-color:#fff;border:1px solid #ccc;padding:5px 12px;box-shadow:0 0 5px #ddd}.ql-snow .ql-tooltip:before{content:"Visit URL:";margin-right:8px;line-height:26px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;width:170px;height:26px;margin:0;padding:3px 5px;font-size:13px;display:none}.ql-snow .ql-tooltip a.ql-preview{text-overflow:ellipsis;vertical-align:top;max-width:200px;display:inline-block;overflow-x:hidden}.ql-snow .ql-tooltip a.ql-action:after{content:"Edit";border-right:1px solid #ccc;margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{content:"Save";border-right:0;padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}head{--webpack-gui-909:&_2855,Ā1366Ć_4784Č118} /*# sourceMappingURL=main.css.map*/ \ No newline at end of file diff --git a/docs/main.css.map b/docs/main.css.map index fd16de3..ce64e1e 100644 --- a/docs/main.css.map +++ b/docs/main.css.map @@ -1 +1 @@ -{"version":3,"file":"main.css","sources":["webpack://gui/./node_modules/.pnpm/material-icons@1.13.12/node_modules/material-icons/iconfont/filled.css","webpack://gui/./node_modules/.pnpm/materialize-css@1.0.0/node_modules/materialize-css/dist/css/materialize.min.css","webpack://gui/./src/css/style.css","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/dist/quill.snow.css"],"sourcesContent":["@font-face {\n font-family: \"Material Icons\";\n font-style: normal;\n font-weight: 400;\n font-display: block;\n src: url(\"./material-icons.woff2\") format(\"woff2\"), url(\"./material-icons.woff\") format(\"woff\");\n}\n.material-icons {\n font-family: \"Material Icons\";\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n font-feature-settings: \"liga\";\n}\n","/*!\r\n * Materialize v1.0.0 (http://materializecss.com)\r\n * Copyright 2014-2017 Materialize\r\n * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)\r\n */\r\n.materialize-red{background-color:#e51c23 !important}.materialize-red-text{color:#e51c23 !important}.materialize-red.lighten-5{background-color:#fdeaeb !important}.materialize-red-text.text-lighten-5{color:#fdeaeb !important}.materialize-red.lighten-4{background-color:#f8c1c3 !important}.materialize-red-text.text-lighten-4{color:#f8c1c3 !important}.materialize-red.lighten-3{background-color:#f3989b !important}.materialize-red-text.text-lighten-3{color:#f3989b !important}.materialize-red.lighten-2{background-color:#ee6e73 !important}.materialize-red-text.text-lighten-2{color:#ee6e73 !important}.materialize-red.lighten-1{background-color:#ea454b !important}.materialize-red-text.text-lighten-1{color:#ea454b !important}.materialize-red.darken-1{background-color:#d0181e !important}.materialize-red-text.text-darken-1{color:#d0181e !important}.materialize-red.darken-2{background-color:#b9151b !important}.materialize-red-text.text-darken-2{color:#b9151b !important}.materialize-red.darken-3{background-color:#a21318 !important}.materialize-red-text.text-darken-3{color:#a21318 !important}.materialize-red.darken-4{background-color:#8b1014 !important}.materialize-red-text.text-darken-4{color:#8b1014 !important}.red{background-color:#F44336 !important}.red-text{color:#F44336 !important}.red.lighten-5{background-color:#FFEBEE !important}.red-text.text-lighten-5{color:#FFEBEE !important}.red.lighten-4{background-color:#FFCDD2 !important}.red-text.text-lighten-4{color:#FFCDD2 !important}.red.lighten-3{background-color:#EF9A9A !important}.red-text.text-lighten-3{color:#EF9A9A !important}.red.lighten-2{background-color:#E57373 !important}.red-text.text-lighten-2{color:#E57373 !important}.red.lighten-1{background-color:#EF5350 !important}.red-text.text-lighten-1{color:#EF5350 !important}.red.darken-1{background-color:#E53935 !important}.red-text.text-darken-1{color:#E53935 !important}.red.darken-2{background-color:#D32F2F !important}.red-text.text-darken-2{color:#D32F2F !important}.red.darken-3{background-color:#C62828 !important}.red-text.text-darken-3{color:#C62828 !important}.red.darken-4{background-color:#B71C1C !important}.red-text.text-darken-4{color:#B71C1C !important}.red.accent-1{background-color:#FF8A80 !important}.red-text.text-accent-1{color:#FF8A80 !important}.red.accent-2{background-color:#FF5252 !important}.red-text.text-accent-2{color:#FF5252 !important}.red.accent-3{background-color:#FF1744 !important}.red-text.text-accent-3{color:#FF1744 !important}.red.accent-4{background-color:#D50000 !important}.red-text.text-accent-4{color:#D50000 !important}.pink{background-color:#e91e63 !important}.pink-text{color:#e91e63 !important}.pink.lighten-5{background-color:#fce4ec !important}.pink-text.text-lighten-5{color:#fce4ec !important}.pink.lighten-4{background-color:#f8bbd0 !important}.pink-text.text-lighten-4{color:#f8bbd0 !important}.pink.lighten-3{background-color:#f48fb1 !important}.pink-text.text-lighten-3{color:#f48fb1 !important}.pink.lighten-2{background-color:#f06292 !important}.pink-text.text-lighten-2{color:#f06292 !important}.pink.lighten-1{background-color:#ec407a !important}.pink-text.text-lighten-1{color:#ec407a !important}.pink.darken-1{background-color:#d81b60 !important}.pink-text.text-darken-1{color:#d81b60 !important}.pink.darken-2{background-color:#c2185b !important}.pink-text.text-darken-2{color:#c2185b !important}.pink.darken-3{background-color:#ad1457 !important}.pink-text.text-darken-3{color:#ad1457 !important}.pink.darken-4{background-color:#880e4f !important}.pink-text.text-darken-4{color:#880e4f !important}.pink.accent-1{background-color:#ff80ab !important}.pink-text.text-accent-1{color:#ff80ab !important}.pink.accent-2{background-color:#ff4081 !important}.pink-text.text-accent-2{color:#ff4081 !important}.pink.accent-3{background-color:#f50057 !important}.pink-text.text-accent-3{color:#f50057 !important}.pink.accent-4{background-color:#c51162 !important}.pink-text.text-accent-4{color:#c51162 !important}.purple{background-color:#9c27b0 !important}.purple-text{color:#9c27b0 !important}.purple.lighten-5{background-color:#f3e5f5 !important}.purple-text.text-lighten-5{color:#f3e5f5 !important}.purple.lighten-4{background-color:#e1bee7 !important}.purple-text.text-lighten-4{color:#e1bee7 !important}.purple.lighten-3{background-color:#ce93d8 !important}.purple-text.text-lighten-3{color:#ce93d8 !important}.purple.lighten-2{background-color:#ba68c8 !important}.purple-text.text-lighten-2{color:#ba68c8 !important}.purple.lighten-1{background-color:#ab47bc !important}.purple-text.text-lighten-1{color:#ab47bc !important}.purple.darken-1{background-color:#8e24aa !important}.purple-text.text-darken-1{color:#8e24aa !important}.purple.darken-2{background-color:#7b1fa2 !important}.purple-text.text-darken-2{color:#7b1fa2 !important}.purple.darken-3{background-color:#6a1b9a !important}.purple-text.text-darken-3{color:#6a1b9a !important}.purple.darken-4{background-color:#4a148c !important}.purple-text.text-darken-4{color:#4a148c !important}.purple.accent-1{background-color:#ea80fc !important}.purple-text.text-accent-1{color:#ea80fc !important}.purple.accent-2{background-color:#e040fb !important}.purple-text.text-accent-2{color:#e040fb !important}.purple.accent-3{background-color:#d500f9 !important}.purple-text.text-accent-3{color:#d500f9 !important}.purple.accent-4{background-color:#a0f !important}.purple-text.text-accent-4{color:#a0f !important}.deep-purple{background-color:#673ab7 !important}.deep-purple-text{color:#673ab7 !important}.deep-purple.lighten-5{background-color:#ede7f6 !important}.deep-purple-text.text-lighten-5{color:#ede7f6 !important}.deep-purple.lighten-4{background-color:#d1c4e9 !important}.deep-purple-text.text-lighten-4{color:#d1c4e9 !important}.deep-purple.lighten-3{background-color:#b39ddb !important}.deep-purple-text.text-lighten-3{color:#b39ddb !important}.deep-purple.lighten-2{background-color:#9575cd !important}.deep-purple-text.text-lighten-2{color:#9575cd !important}.deep-purple.lighten-1{background-color:#7e57c2 !important}.deep-purple-text.text-lighten-1{color:#7e57c2 !important}.deep-purple.darken-1{background-color:#5e35b1 !important}.deep-purple-text.text-darken-1{color:#5e35b1 !important}.deep-purple.darken-2{background-color:#512da8 !important}.deep-purple-text.text-darken-2{color:#512da8 !important}.deep-purple.darken-3{background-color:#4527a0 !important}.deep-purple-text.text-darken-3{color:#4527a0 !important}.deep-purple.darken-4{background-color:#311b92 !important}.deep-purple-text.text-darken-4{color:#311b92 !important}.deep-purple.accent-1{background-color:#b388ff !important}.deep-purple-text.text-accent-1{color:#b388ff !important}.deep-purple.accent-2{background-color:#7c4dff !important}.deep-purple-text.text-accent-2{color:#7c4dff !important}.deep-purple.accent-3{background-color:#651fff !important}.deep-purple-text.text-accent-3{color:#651fff !important}.deep-purple.accent-4{background-color:#6200ea !important}.deep-purple-text.text-accent-4{color:#6200ea !important}.indigo{background-color:#3f51b5 !important}.indigo-text{color:#3f51b5 !important}.indigo.lighten-5{background-color:#e8eaf6 !important}.indigo-text.text-lighten-5{color:#e8eaf6 !important}.indigo.lighten-4{background-color:#c5cae9 !important}.indigo-text.text-lighten-4{color:#c5cae9 !important}.indigo.lighten-3{background-color:#9fa8da !important}.indigo-text.text-lighten-3{color:#9fa8da !important}.indigo.lighten-2{background-color:#7986cb !important}.indigo-text.text-lighten-2{color:#7986cb !important}.indigo.lighten-1{background-color:#5c6bc0 !important}.indigo-text.text-lighten-1{color:#5c6bc0 !important}.indigo.darken-1{background-color:#3949ab !important}.indigo-text.text-darken-1{color:#3949ab !important}.indigo.darken-2{background-color:#303f9f !important}.indigo-text.text-darken-2{color:#303f9f !important}.indigo.darken-3{background-color:#283593 !important}.indigo-text.text-darken-3{color:#283593 !important}.indigo.darken-4{background-color:#1a237e !important}.indigo-text.text-darken-4{color:#1a237e !important}.indigo.accent-1{background-color:#8c9eff !important}.indigo-text.text-accent-1{color:#8c9eff !important}.indigo.accent-2{background-color:#536dfe !important}.indigo-text.text-accent-2{color:#536dfe !important}.indigo.accent-3{background-color:#3d5afe !important}.indigo-text.text-accent-3{color:#3d5afe !important}.indigo.accent-4{background-color:#304ffe !important}.indigo-text.text-accent-4{color:#304ffe !important}.blue{background-color:#2196F3 !important}.blue-text{color:#2196F3 !important}.blue.lighten-5{background-color:#E3F2FD !important}.blue-text.text-lighten-5{color:#E3F2FD !important}.blue.lighten-4{background-color:#BBDEFB !important}.blue-text.text-lighten-4{color:#BBDEFB !important}.blue.lighten-3{background-color:#90CAF9 !important}.blue-text.text-lighten-3{color:#90CAF9 !important}.blue.lighten-2{background-color:#64B5F6 !important}.blue-text.text-lighten-2{color:#64B5F6 !important}.blue.lighten-1{background-color:#42A5F5 !important}.blue-text.text-lighten-1{color:#42A5F5 !important}.blue.darken-1{background-color:#1E88E5 !important}.blue-text.text-darken-1{color:#1E88E5 !important}.blue.darken-2{background-color:#1976D2 !important}.blue-text.text-darken-2{color:#1976D2 !important}.blue.darken-3{background-color:#1565C0 !important}.blue-text.text-darken-3{color:#1565C0 !important}.blue.darken-4{background-color:#0D47A1 !important}.blue-text.text-darken-4{color:#0D47A1 !important}.blue.accent-1{background-color:#82B1FF !important}.blue-text.text-accent-1{color:#82B1FF !important}.blue.accent-2{background-color:#448AFF !important}.blue-text.text-accent-2{color:#448AFF !important}.blue.accent-3{background-color:#2979FF !important}.blue-text.text-accent-3{color:#2979FF !important}.blue.accent-4{background-color:#2962FF !important}.blue-text.text-accent-4{color:#2962FF !important}.light-blue{background-color:#03a9f4 !important}.light-blue-text{color:#03a9f4 !important}.light-blue.lighten-5{background-color:#e1f5fe !important}.light-blue-text.text-lighten-5{color:#e1f5fe !important}.light-blue.lighten-4{background-color:#b3e5fc !important}.light-blue-text.text-lighten-4{color:#b3e5fc !important}.light-blue.lighten-3{background-color:#81d4fa !important}.light-blue-text.text-lighten-3{color:#81d4fa !important}.light-blue.lighten-2{background-color:#4fc3f7 !important}.light-blue-text.text-lighten-2{color:#4fc3f7 !important}.light-blue.lighten-1{background-color:#29b6f6 !important}.light-blue-text.text-lighten-1{color:#29b6f6 !important}.light-blue.darken-1{background-color:#039be5 !important}.light-blue-text.text-darken-1{color:#039be5 !important}.light-blue.darken-2{background-color:#0288d1 !important}.light-blue-text.text-darken-2{color:#0288d1 !important}.light-blue.darken-3{background-color:#0277bd !important}.light-blue-text.text-darken-3{color:#0277bd !important}.light-blue.darken-4{background-color:#01579b !important}.light-blue-text.text-darken-4{color:#01579b !important}.light-blue.accent-1{background-color:#80d8ff !important}.light-blue-text.text-accent-1{color:#80d8ff !important}.light-blue.accent-2{background-color:#40c4ff !important}.light-blue-text.text-accent-2{color:#40c4ff !important}.light-blue.accent-3{background-color:#00b0ff !important}.light-blue-text.text-accent-3{color:#00b0ff !important}.light-blue.accent-4{background-color:#0091ea !important}.light-blue-text.text-accent-4{color:#0091ea !important}.cyan{background-color:#00bcd4 !important}.cyan-text{color:#00bcd4 !important}.cyan.lighten-5{background-color:#e0f7fa !important}.cyan-text.text-lighten-5{color:#e0f7fa !important}.cyan.lighten-4{background-color:#b2ebf2 !important}.cyan-text.text-lighten-4{color:#b2ebf2 !important}.cyan.lighten-3{background-color:#80deea !important}.cyan-text.text-lighten-3{color:#80deea !important}.cyan.lighten-2{background-color:#4dd0e1 !important}.cyan-text.text-lighten-2{color:#4dd0e1 !important}.cyan.lighten-1{background-color:#26c6da !important}.cyan-text.text-lighten-1{color:#26c6da !important}.cyan.darken-1{background-color:#00acc1 !important}.cyan-text.text-darken-1{color:#00acc1 !important}.cyan.darken-2{background-color:#0097a7 !important}.cyan-text.text-darken-2{color:#0097a7 !important}.cyan.darken-3{background-color:#00838f !important}.cyan-text.text-darken-3{color:#00838f !important}.cyan.darken-4{background-color:#006064 !important}.cyan-text.text-darken-4{color:#006064 !important}.cyan.accent-1{background-color:#84ffff !important}.cyan-text.text-accent-1{color:#84ffff !important}.cyan.accent-2{background-color:#18ffff !important}.cyan-text.text-accent-2{color:#18ffff !important}.cyan.accent-3{background-color:#00e5ff !important}.cyan-text.text-accent-3{color:#00e5ff !important}.cyan.accent-4{background-color:#00b8d4 !important}.cyan-text.text-accent-4{color:#00b8d4 !important}.teal{background-color:#009688 !important}.teal-text{color:#009688 !important}.teal.lighten-5{background-color:#e0f2f1 !important}.teal-text.text-lighten-5{color:#e0f2f1 !important}.teal.lighten-4{background-color:#b2dfdb !important}.teal-text.text-lighten-4{color:#b2dfdb !important}.teal.lighten-3{background-color:#80cbc4 !important}.teal-text.text-lighten-3{color:#80cbc4 !important}.teal.lighten-2{background-color:#4db6ac !important}.teal-text.text-lighten-2{color:#4db6ac !important}.teal.lighten-1{background-color:#26a69a !important}.teal-text.text-lighten-1{color:#26a69a !important}.teal.darken-1{background-color:#00897b !important}.teal-text.text-darken-1{color:#00897b !important}.teal.darken-2{background-color:#00796b !important}.teal-text.text-darken-2{color:#00796b !important}.teal.darken-3{background-color:#00695c !important}.teal-text.text-darken-3{color:#00695c !important}.teal.darken-4{background-color:#004d40 !important}.teal-text.text-darken-4{color:#004d40 !important}.teal.accent-1{background-color:#a7ffeb !important}.teal-text.text-accent-1{color:#a7ffeb !important}.teal.accent-2{background-color:#64ffda !important}.teal-text.text-accent-2{color:#64ffda !important}.teal.accent-3{background-color:#1de9b6 !important}.teal-text.text-accent-3{color:#1de9b6 !important}.teal.accent-4{background-color:#00bfa5 !important}.teal-text.text-accent-4{color:#00bfa5 !important}.green{background-color:#4CAF50 !important}.green-text{color:#4CAF50 !important}.green.lighten-5{background-color:#E8F5E9 !important}.green-text.text-lighten-5{color:#E8F5E9 !important}.green.lighten-4{background-color:#C8E6C9 !important}.green-text.text-lighten-4{color:#C8E6C9 !important}.green.lighten-3{background-color:#A5D6A7 !important}.green-text.text-lighten-3{color:#A5D6A7 !important}.green.lighten-2{background-color:#81C784 !important}.green-text.text-lighten-2{color:#81C784 !important}.green.lighten-1{background-color:#66BB6A !important}.green-text.text-lighten-1{color:#66BB6A !important}.green.darken-1{background-color:#43A047 !important}.green-text.text-darken-1{color:#43A047 !important}.green.darken-2{background-color:#388E3C !important}.green-text.text-darken-2{color:#388E3C !important}.green.darken-3{background-color:#2E7D32 !important}.green-text.text-darken-3{color:#2E7D32 !important}.green.darken-4{background-color:#1B5E20 !important}.green-text.text-darken-4{color:#1B5E20 !important}.green.accent-1{background-color:#B9F6CA !important}.green-text.text-accent-1{color:#B9F6CA !important}.green.accent-2{background-color:#69F0AE !important}.green-text.text-accent-2{color:#69F0AE !important}.green.accent-3{background-color:#00E676 !important}.green-text.text-accent-3{color:#00E676 !important}.green.accent-4{background-color:#00C853 !important}.green-text.text-accent-4{color:#00C853 !important}.light-green{background-color:#8bc34a !important}.light-green-text{color:#8bc34a !important}.light-green.lighten-5{background-color:#f1f8e9 !important}.light-green-text.text-lighten-5{color:#f1f8e9 !important}.light-green.lighten-4{background-color:#dcedc8 !important}.light-green-text.text-lighten-4{color:#dcedc8 !important}.light-green.lighten-3{background-color:#c5e1a5 !important}.light-green-text.text-lighten-3{color:#c5e1a5 !important}.light-green.lighten-2{background-color:#aed581 !important}.light-green-text.text-lighten-2{color:#aed581 !important}.light-green.lighten-1{background-color:#9ccc65 !important}.light-green-text.text-lighten-1{color:#9ccc65 !important}.light-green.darken-1{background-color:#7cb342 !important}.light-green-text.text-darken-1{color:#7cb342 !important}.light-green.darken-2{background-color:#689f38 !important}.light-green-text.text-darken-2{color:#689f38 !important}.light-green.darken-3{background-color:#558b2f !important}.light-green-text.text-darken-3{color:#558b2f !important}.light-green.darken-4{background-color:#33691e !important}.light-green-text.text-darken-4{color:#33691e !important}.light-green.accent-1{background-color:#ccff90 !important}.light-green-text.text-accent-1{color:#ccff90 !important}.light-green.accent-2{background-color:#b2ff59 !important}.light-green-text.text-accent-2{color:#b2ff59 !important}.light-green.accent-3{background-color:#76ff03 !important}.light-green-text.text-accent-3{color:#76ff03 !important}.light-green.accent-4{background-color:#64dd17 !important}.light-green-text.text-accent-4{color:#64dd17 !important}.lime{background-color:#cddc39 !important}.lime-text{color:#cddc39 !important}.lime.lighten-5{background-color:#f9fbe7 !important}.lime-text.text-lighten-5{color:#f9fbe7 !important}.lime.lighten-4{background-color:#f0f4c3 !important}.lime-text.text-lighten-4{color:#f0f4c3 !important}.lime.lighten-3{background-color:#e6ee9c !important}.lime-text.text-lighten-3{color:#e6ee9c !important}.lime.lighten-2{background-color:#dce775 !important}.lime-text.text-lighten-2{color:#dce775 !important}.lime.lighten-1{background-color:#d4e157 !important}.lime-text.text-lighten-1{color:#d4e157 !important}.lime.darken-1{background-color:#c0ca33 !important}.lime-text.text-darken-1{color:#c0ca33 !important}.lime.darken-2{background-color:#afb42b !important}.lime-text.text-darken-2{color:#afb42b !important}.lime.darken-3{background-color:#9e9d24 !important}.lime-text.text-darken-3{color:#9e9d24 !important}.lime.darken-4{background-color:#827717 !important}.lime-text.text-darken-4{color:#827717 !important}.lime.accent-1{background-color:#f4ff81 !important}.lime-text.text-accent-1{color:#f4ff81 !important}.lime.accent-2{background-color:#eeff41 !important}.lime-text.text-accent-2{color:#eeff41 !important}.lime.accent-3{background-color:#c6ff00 !important}.lime-text.text-accent-3{color:#c6ff00 !important}.lime.accent-4{background-color:#aeea00 !important}.lime-text.text-accent-4{color:#aeea00 !important}.yellow{background-color:#ffeb3b !important}.yellow-text{color:#ffeb3b !important}.yellow.lighten-5{background-color:#fffde7 !important}.yellow-text.text-lighten-5{color:#fffde7 !important}.yellow.lighten-4{background-color:#fff9c4 !important}.yellow-text.text-lighten-4{color:#fff9c4 !important}.yellow.lighten-3{background-color:#fff59d !important}.yellow-text.text-lighten-3{color:#fff59d !important}.yellow.lighten-2{background-color:#fff176 !important}.yellow-text.text-lighten-2{color:#fff176 !important}.yellow.lighten-1{background-color:#ffee58 !important}.yellow-text.text-lighten-1{color:#ffee58 !important}.yellow.darken-1{background-color:#fdd835 !important}.yellow-text.text-darken-1{color:#fdd835 !important}.yellow.darken-2{background-color:#fbc02d !important}.yellow-text.text-darken-2{color:#fbc02d !important}.yellow.darken-3{background-color:#f9a825 !important}.yellow-text.text-darken-3{color:#f9a825 !important}.yellow.darken-4{background-color:#f57f17 !important}.yellow-text.text-darken-4{color:#f57f17 !important}.yellow.accent-1{background-color:#ffff8d !important}.yellow-text.text-accent-1{color:#ffff8d !important}.yellow.accent-2{background-color:#ff0 !important}.yellow-text.text-accent-2{color:#ff0 !important}.yellow.accent-3{background-color:#ffea00 !important}.yellow-text.text-accent-3{color:#ffea00 !important}.yellow.accent-4{background-color:#ffd600 !important}.yellow-text.text-accent-4{color:#ffd600 !important}.amber{background-color:#ffc107 !important}.amber-text{color:#ffc107 !important}.amber.lighten-5{background-color:#fff8e1 !important}.amber-text.text-lighten-5{color:#fff8e1 !important}.amber.lighten-4{background-color:#ffecb3 !important}.amber-text.text-lighten-4{color:#ffecb3 !important}.amber.lighten-3{background-color:#ffe082 !important}.amber-text.text-lighten-3{color:#ffe082 !important}.amber.lighten-2{background-color:#ffd54f !important}.amber-text.text-lighten-2{color:#ffd54f !important}.amber.lighten-1{background-color:#ffca28 !important}.amber-text.text-lighten-1{color:#ffca28 !important}.amber.darken-1{background-color:#ffb300 !important}.amber-text.text-darken-1{color:#ffb300 !important}.amber.darken-2{background-color:#ffa000 !important}.amber-text.text-darken-2{color:#ffa000 !important}.amber.darken-3{background-color:#ff8f00 !important}.amber-text.text-darken-3{color:#ff8f00 !important}.amber.darken-4{background-color:#ff6f00 !important}.amber-text.text-darken-4{color:#ff6f00 !important}.amber.accent-1{background-color:#ffe57f !important}.amber-text.text-accent-1{color:#ffe57f !important}.amber.accent-2{background-color:#ffd740 !important}.amber-text.text-accent-2{color:#ffd740 !important}.amber.accent-3{background-color:#ffc400 !important}.amber-text.text-accent-3{color:#ffc400 !important}.amber.accent-4{background-color:#ffab00 !important}.amber-text.text-accent-4{color:#ffab00 !important}.orange{background-color:#ff9800 !important}.orange-text{color:#ff9800 !important}.orange.lighten-5{background-color:#fff3e0 !important}.orange-text.text-lighten-5{color:#fff3e0 !important}.orange.lighten-4{background-color:#ffe0b2 !important}.orange-text.text-lighten-4{color:#ffe0b2 !important}.orange.lighten-3{background-color:#ffcc80 !important}.orange-text.text-lighten-3{color:#ffcc80 !important}.orange.lighten-2{background-color:#ffb74d !important}.orange-text.text-lighten-2{color:#ffb74d !important}.orange.lighten-1{background-color:#ffa726 !important}.orange-text.text-lighten-1{color:#ffa726 !important}.orange.darken-1{background-color:#fb8c00 !important}.orange-text.text-darken-1{color:#fb8c00 !important}.orange.darken-2{background-color:#f57c00 !important}.orange-text.text-darken-2{color:#f57c00 !important}.orange.darken-3{background-color:#ef6c00 !important}.orange-text.text-darken-3{color:#ef6c00 !important}.orange.darken-4{background-color:#e65100 !important}.orange-text.text-darken-4{color:#e65100 !important}.orange.accent-1{background-color:#ffd180 !important}.orange-text.text-accent-1{color:#ffd180 !important}.orange.accent-2{background-color:#ffab40 !important}.orange-text.text-accent-2{color:#ffab40 !important}.orange.accent-3{background-color:#ff9100 !important}.orange-text.text-accent-3{color:#ff9100 !important}.orange.accent-4{background-color:#ff6d00 !important}.orange-text.text-accent-4{color:#ff6d00 !important}.deep-orange{background-color:#ff5722 !important}.deep-orange-text{color:#ff5722 !important}.deep-orange.lighten-5{background-color:#fbe9e7 !important}.deep-orange-text.text-lighten-5{color:#fbe9e7 !important}.deep-orange.lighten-4{background-color:#ffccbc !important}.deep-orange-text.text-lighten-4{color:#ffccbc !important}.deep-orange.lighten-3{background-color:#ffab91 !important}.deep-orange-text.text-lighten-3{color:#ffab91 !important}.deep-orange.lighten-2{background-color:#ff8a65 !important}.deep-orange-text.text-lighten-2{color:#ff8a65 !important}.deep-orange.lighten-1{background-color:#ff7043 !important}.deep-orange-text.text-lighten-1{color:#ff7043 !important}.deep-orange.darken-1{background-color:#f4511e !important}.deep-orange-text.text-darken-1{color:#f4511e !important}.deep-orange.darken-2{background-color:#e64a19 !important}.deep-orange-text.text-darken-2{color:#e64a19 !important}.deep-orange.darken-3{background-color:#d84315 !important}.deep-orange-text.text-darken-3{color:#d84315 !important}.deep-orange.darken-4{background-color:#bf360c !important}.deep-orange-text.text-darken-4{color:#bf360c !important}.deep-orange.accent-1{background-color:#ff9e80 !important}.deep-orange-text.text-accent-1{color:#ff9e80 !important}.deep-orange.accent-2{background-color:#ff6e40 !important}.deep-orange-text.text-accent-2{color:#ff6e40 !important}.deep-orange.accent-3{background-color:#ff3d00 !important}.deep-orange-text.text-accent-3{color:#ff3d00 !important}.deep-orange.accent-4{background-color:#dd2c00 !important}.deep-orange-text.text-accent-4{color:#dd2c00 !important}.brown{background-color:#795548 !important}.brown-text{color:#795548 !important}.brown.lighten-5{background-color:#efebe9 !important}.brown-text.text-lighten-5{color:#efebe9 !important}.brown.lighten-4{background-color:#d7ccc8 !important}.brown-text.text-lighten-4{color:#d7ccc8 !important}.brown.lighten-3{background-color:#bcaaa4 !important}.brown-text.text-lighten-3{color:#bcaaa4 !important}.brown.lighten-2{background-color:#a1887f !important}.brown-text.text-lighten-2{color:#a1887f !important}.brown.lighten-1{background-color:#8d6e63 !important}.brown-text.text-lighten-1{color:#8d6e63 !important}.brown.darken-1{background-color:#6d4c41 !important}.brown-text.text-darken-1{color:#6d4c41 !important}.brown.darken-2{background-color:#5d4037 !important}.brown-text.text-darken-2{color:#5d4037 !important}.brown.darken-3{background-color:#4e342e !important}.brown-text.text-darken-3{color:#4e342e !important}.brown.darken-4{background-color:#3e2723 !important}.brown-text.text-darken-4{color:#3e2723 !important}.blue-grey{background-color:#607d8b !important}.blue-grey-text{color:#607d8b !important}.blue-grey.lighten-5{background-color:#eceff1 !important}.blue-grey-text.text-lighten-5{color:#eceff1 !important}.blue-grey.lighten-4{background-color:#cfd8dc !important}.blue-grey-text.text-lighten-4{color:#cfd8dc !important}.blue-grey.lighten-3{background-color:#b0bec5 !important}.blue-grey-text.text-lighten-3{color:#b0bec5 !important}.blue-grey.lighten-2{background-color:#90a4ae !important}.blue-grey-text.text-lighten-2{color:#90a4ae !important}.blue-grey.lighten-1{background-color:#78909c !important}.blue-grey-text.text-lighten-1{color:#78909c !important}.blue-grey.darken-1{background-color:#546e7a !important}.blue-grey-text.text-darken-1{color:#546e7a !important}.blue-grey.darken-2{background-color:#455a64 !important}.blue-grey-text.text-darken-2{color:#455a64 !important}.blue-grey.darken-3{background-color:#37474f !important}.blue-grey-text.text-darken-3{color:#37474f !important}.blue-grey.darken-4{background-color:#263238 !important}.blue-grey-text.text-darken-4{color:#263238 !important}.grey{background-color:#9e9e9e !important}.grey-text{color:#9e9e9e !important}.grey.lighten-5{background-color:#fafafa !important}.grey-text.text-lighten-5{color:#fafafa !important}.grey.lighten-4{background-color:#f5f5f5 !important}.grey-text.text-lighten-4{color:#f5f5f5 !important}.grey.lighten-3{background-color:#eee !important}.grey-text.text-lighten-3{color:#eee !important}.grey.lighten-2{background-color:#e0e0e0 !important}.grey-text.text-lighten-2{color:#e0e0e0 !important}.grey.lighten-1{background-color:#bdbdbd !important}.grey-text.text-lighten-1{color:#bdbdbd !important}.grey.darken-1{background-color:#757575 !important}.grey-text.text-darken-1{color:#757575 !important}.grey.darken-2{background-color:#616161 !important}.grey-text.text-darken-2{color:#616161 !important}.grey.darken-3{background-color:#424242 !important}.grey-text.text-darken-3{color:#424242 !important}.grey.darken-4{background-color:#212121 !important}.grey-text.text-darken-4{color:#212121 !important}.black{background-color:#000 !important}.black-text{color:#000 !important}.white{background-color:#fff !important}.white-text{color:#fff !important}.transparent{background-color:rgba(0,0,0,0) !important}.transparent-text{color:rgba(0,0,0,0) !important}/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:0.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px}[type=\"search\"]::-webkit-search-cancel-button,[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,*:before,*:after{-webkit-box-sizing:inherit;box-sizing:inherit}button,input,optgroup,select,textarea{font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif}ul:not(.browser-default){padding-left:0;list-style-type:none}ul:not(.browser-default)>li{list-style-type:none}a{color:#039be5;text-decoration:none;-webkit-tap-highlight-color:transparent}.valign-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.clearfix{clear:both}.z-depth-0{-webkit-box-shadow:none !important;box-shadow:none !important}.z-depth-1,nav,.card-panel,.card,.toast,.btn,.btn-large,.btn-small,.btn-floating,.dropdown-content,.collapsible,.sidenav{-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2);box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2)}.z-depth-1-half,.btn:hover,.btn-large:hover,.btn-small:hover,.btn-floating:hover{-webkit-box-shadow:0 3px 3px 0 rgba(0,0,0,0.14),0 1px 7px 0 rgba(0,0,0,0.12),0 3px 1px -1px rgba(0,0,0,0.2);box-shadow:0 3px 3px 0 rgba(0,0,0,0.14),0 1px 7px 0 rgba(0,0,0,0.12),0 3px 1px -1px rgba(0,0,0,0.2)}.z-depth-2{-webkit-box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3);box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3)}.z-depth-3{-webkit-box-shadow:0 8px 17px 2px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.2);box-shadow:0 8px 17px 2px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.2)}.z-depth-4{-webkit-box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -7px rgba(0,0,0,0.2);box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -7px rgba(0,0,0,0.2)}.z-depth-5,.modal{-webkit-box-shadow:0 24px 38px 3px rgba(0,0,0,0.14),0 9px 46px 8px rgba(0,0,0,0.12),0 11px 15px -7px rgba(0,0,0,0.2);box-shadow:0 24px 38px 3px rgba(0,0,0,0.14),0 9px 46px 8px rgba(0,0,0,0.12),0 11px 15px -7px rgba(0,0,0,0.2)}.hoverable{-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s}.hoverable:hover{-webkit-box-shadow:0 8px 17px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);box-shadow:0 8px 17px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)}.divider{height:1px;overflow:hidden;background-color:#e0e0e0}blockquote{margin:20px 0;padding-left:1.5rem;border-left:5px solid #ee6e73}i{line-height:inherit}i.left{float:left;margin-right:15px}i.right{float:right;margin-left:15px}i.tiny{font-size:1rem}i.small{font-size:2rem}i.medium{font-size:4rem}i.large{font-size:6rem}img.responsive-img,video.responsive-video{max-width:100%;height:auto}.pagination li{display:inline-block;border-radius:2px;text-align:center;vertical-align:top;height:30px}.pagination li a{color:#444;display:inline-block;font-size:1.2rem;padding:0 10px;line-height:30px}.pagination li.active a{color:#fff}.pagination li.active{background-color:#ee6e73}.pagination li.disabled a{cursor:default;color:#999}.pagination li i{font-size:2rem}.pagination li.pages ul li{display:inline-block;float:none}@media only screen and (max-width: 992px){.pagination{width:100%}.pagination li.prev,.pagination li.next{width:10%}.pagination li.pages{width:80%;overflow:hidden;white-space:nowrap}}.breadcrumb{font-size:18px;color:rgba(255,255,255,0.7)}.breadcrumb i,.breadcrumb [class^=\"mdi-\"],.breadcrumb [class*=\"mdi-\"],.breadcrumb i.material-icons{display:inline-block;float:left;font-size:24px}.breadcrumb:before{content:'\\E5CC';color:rgba(255,255,255,0.7);vertical-align:top;display:inline-block;font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:25px;margin:0 10px 0 8px;-webkit-font-smoothing:antialiased}.breadcrumb:first-child:before{display:none}.breadcrumb:last-child{color:#fff}.parallax-container{position:relative;overflow:hidden;height:500px}.parallax-container .parallax{position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1}.parallax-container .parallax img{opacity:0;position:absolute;left:50%;bottom:0;min-width:100%;min-height:100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pin-top,.pin-bottom{position:relative}.pinned{position:fixed !important}ul.staggered-list li{opacity:0}.fade-in{opacity:0;-webkit-transform-origin:0 50%;transform-origin:0 50%}@media only screen and (max-width: 600px){.hide-on-small-only,.hide-on-small-and-down{display:none !important}}@media only screen and (max-width: 992px){.hide-on-med-and-down{display:none !important}}@media only screen and (min-width: 601px){.hide-on-med-and-up{display:none !important}}@media only screen and (min-width: 600px) and (max-width: 992px){.hide-on-med-only{display:none !important}}@media only screen and (min-width: 993px){.hide-on-large-only{display:none !important}}@media only screen and (min-width: 1201px){.hide-on-extra-large-only{display:none !important}}@media only screen and (min-width: 1201px){.show-on-extra-large{display:block !important}}@media only screen and (min-width: 993px){.show-on-large{display:block !important}}@media only screen and (min-width: 600px) and (max-width: 992px){.show-on-medium{display:block !important}}@media only screen and (max-width: 600px){.show-on-small{display:block !important}}@media only screen and (min-width: 601px){.show-on-medium-and-up{display:block !important}}@media only screen and (max-width: 992px){.show-on-medium-and-down{display:block !important}}@media only screen and (max-width: 600px){.center-on-small-only{text-align:center}}.page-footer{padding-top:20px;color:#fff;background-color:#ee6e73}.page-footer .footer-copyright{overflow:hidden;min-height:50px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:10px 0px;color:rgba(255,255,255,0.8);background-color:rgba(51,51,51,0.08)}table,th,td{border:none}table{width:100%;display:table;border-collapse:collapse;border-spacing:0}table.striped tr{border-bottom:none}table.striped>tbody>tr:nth-child(odd){background-color:rgba(242,242,242,0.5)}table.striped>tbody>tr>td{border-radius:0}table.highlight>tbody>tr{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}table.highlight>tbody>tr:hover{background-color:rgba(242,242,242,0.5)}table.centered thead tr th,table.centered tbody tr td{text-align:center}tr{border-bottom:1px solid rgba(0,0,0,0.12)}td,th{padding:15px 5px;display:table-cell;text-align:left;vertical-align:middle;border-radius:2px}@media only screen and (max-width: 992px){table.responsive-table{width:100%;border-collapse:collapse;border-spacing:0;display:block;position:relative}table.responsive-table td:empty:before{content:'\\00a0'}table.responsive-table th,table.responsive-table td{margin:0;vertical-align:top}table.responsive-table th{text-align:left}table.responsive-table thead{display:block;float:left}table.responsive-table thead tr{display:block;padding:0 10px 0 0}table.responsive-table thead tr th::before{content:\"\\00a0\"}table.responsive-table tbody{display:block;width:auto;position:relative;overflow-x:auto;white-space:nowrap}table.responsive-table tbody tr{display:inline-block;vertical-align:top}table.responsive-table th{display:block;text-align:right}table.responsive-table td{display:block;min-height:1.25em;text-align:left}table.responsive-table tr{border-bottom:none;padding:0 10px}table.responsive-table thead{border:0;border-right:1px solid rgba(0,0,0,0.12)}}.collection{margin:.5rem 0 1rem 0;border:1px solid #e0e0e0;border-radius:2px;overflow:hidden;position:relative}.collection .collection-item{background-color:#fff;line-height:1.5rem;padding:10px 20px;margin:0;border-bottom:1px solid #e0e0e0}.collection .collection-item.avatar{min-height:84px;padding-left:72px;position:relative}.collection .collection-item.avatar:not(.circle-clipper)>.circle,.collection .collection-item.avatar :not(.circle-clipper)>.circle{position:absolute;width:42px;height:42px;overflow:hidden;left:15px;display:inline-block;vertical-align:middle}.collection .collection-item.avatar i.circle{font-size:18px;line-height:42px;color:#fff;background-color:#999;text-align:center}.collection .collection-item.avatar .title{font-size:16px}.collection .collection-item.avatar p{margin:0}.collection .collection-item.avatar .secondary-content{position:absolute;top:16px;right:16px}.collection .collection-item:last-child{border-bottom:none}.collection .collection-item.active{background-color:#26a69a;color:#eafaf9}.collection .collection-item.active .secondary-content{color:#fff}.collection a.collection-item{display:block;-webkit-transition:.25s;transition:.25s;color:#26a69a}.collection a.collection-item:not(.active):hover{background-color:#ddd}.collection.with-header .collection-header{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:10px 20px}.collection.with-header .collection-item{padding-left:30px}.collection.with-header .collection-item.avatar{padding-left:72px}.secondary-content{float:right;color:#26a69a}.collapsible .collection{margin:0;border:none}.video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.video-container iframe,.video-container object,.video-container embed{position:absolute;top:0;left:0;width:100%;height:100%}.progress{position:relative;height:4px;display:block;width:100%;background-color:#acece6;border-radius:2px;margin:.5rem 0 1rem 0;overflow:hidden}.progress .determinate{position:absolute;top:0;left:0;bottom:0;background-color:#26a69a;-webkit-transition:width .3s linear;transition:width .3s linear}.progress .indeterminate{background-color:#26a69a}.progress .indeterminate:before{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left, right;-webkit-animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}.progress .indeterminate:after{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left, right;-webkit-animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}@-webkit-keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@-webkit-keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}.hide{display:none !important}.left-align{text-align:left}.right-align{text-align:right}.center,.center-align{text-align:center}.left{float:left !important}.right{float:right !important}.no-select,input[type=range],input[type=range]+.thumb{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.circle{border-radius:50%}.center-block{display:block;margin-left:auto;margin-right:auto}.truncate{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-padding{padding:0 !important}span.badge{min-width:3rem;padding:0 6px;margin-left:14px;text-align:center;font-size:1rem;line-height:22px;height:22px;color:#757575;float:right;-webkit-box-sizing:border-box;box-sizing:border-box}span.badge.new{font-weight:300;font-size:0.8rem;color:#fff;background-color:#26a69a;border-radius:2px}span.badge.new:after{content:\" new\"}span.badge[data-badge-caption]::after{content:\" \" attr(data-badge-caption)}nav ul a span.badge{display:inline-block;float:none;margin-left:4px;line-height:22px;height:22px;-webkit-font-smoothing:auto}.collection-item span.badge{margin-top:calc(.75rem - 11px)}.collapsible span.badge{margin-left:auto}.sidenav span.badge{margin-top:calc(24px - 11px)}table span.badge{display:inline-block;float:none;margin-left:auto}.material-icons{text-rendering:optimizeLegibility;-webkit-font-feature-settings:'liga';-moz-font-feature-settings:'liga';font-feature-settings:'liga'}.container{margin:0 auto;max-width:1280px;width:90%}@media only screen and (min-width: 601px){.container{width:85%}}@media only screen and (min-width: 993px){.container{width:70%}}.col .row{margin-left:-.75rem;margin-right:-.75rem}.section{padding-top:1rem;padding-bottom:1rem}.section.no-pad{padding:0}.section.no-pad-bot{padding-bottom:0}.section.no-pad-top{padding-top:0}.row{margin-left:auto;margin-right:auto;margin-bottom:20px}.row:after{content:\"\";display:table;clear:both}.row .col{float:left;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 .75rem;min-height:1px}.row .col[class*=\"push-\"],.row .col[class*=\"pull-\"]{position:relative}.row .col.s1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.s4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.s7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.s10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-s1{margin-left:8.3333333333%}.row .col.pull-s1{right:8.3333333333%}.row .col.push-s1{left:8.3333333333%}.row .col.offset-s2{margin-left:16.6666666667%}.row .col.pull-s2{right:16.6666666667%}.row .col.push-s2{left:16.6666666667%}.row .col.offset-s3{margin-left:25%}.row .col.pull-s3{right:25%}.row .col.push-s3{left:25%}.row .col.offset-s4{margin-left:33.3333333333%}.row .col.pull-s4{right:33.3333333333%}.row .col.push-s4{left:33.3333333333%}.row .col.offset-s5{margin-left:41.6666666667%}.row .col.pull-s5{right:41.6666666667%}.row .col.push-s5{left:41.6666666667%}.row .col.offset-s6{margin-left:50%}.row .col.pull-s6{right:50%}.row .col.push-s6{left:50%}.row .col.offset-s7{margin-left:58.3333333333%}.row .col.pull-s7{right:58.3333333333%}.row .col.push-s7{left:58.3333333333%}.row .col.offset-s8{margin-left:66.6666666667%}.row .col.pull-s8{right:66.6666666667%}.row .col.push-s8{left:66.6666666667%}.row .col.offset-s9{margin-left:75%}.row .col.pull-s9{right:75%}.row .col.push-s9{left:75%}.row .col.offset-s10{margin-left:83.3333333333%}.row .col.pull-s10{right:83.3333333333%}.row .col.push-s10{left:83.3333333333%}.row .col.offset-s11{margin-left:91.6666666667%}.row .col.pull-s11{right:91.6666666667%}.row .col.push-s11{left:91.6666666667%}.row .col.offset-s12{margin-left:100%}.row .col.pull-s12{right:100%}.row .col.push-s12{left:100%}@media only screen and (min-width: 601px){.row .col.m1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.m4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.m7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.m10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-m1{margin-left:8.3333333333%}.row .col.pull-m1{right:8.3333333333%}.row .col.push-m1{left:8.3333333333%}.row .col.offset-m2{margin-left:16.6666666667%}.row .col.pull-m2{right:16.6666666667%}.row .col.push-m2{left:16.6666666667%}.row .col.offset-m3{margin-left:25%}.row .col.pull-m3{right:25%}.row .col.push-m3{left:25%}.row .col.offset-m4{margin-left:33.3333333333%}.row .col.pull-m4{right:33.3333333333%}.row .col.push-m4{left:33.3333333333%}.row .col.offset-m5{margin-left:41.6666666667%}.row .col.pull-m5{right:41.6666666667%}.row .col.push-m5{left:41.6666666667%}.row .col.offset-m6{margin-left:50%}.row .col.pull-m6{right:50%}.row .col.push-m6{left:50%}.row .col.offset-m7{margin-left:58.3333333333%}.row .col.pull-m7{right:58.3333333333%}.row .col.push-m7{left:58.3333333333%}.row .col.offset-m8{margin-left:66.6666666667%}.row .col.pull-m8{right:66.6666666667%}.row .col.push-m8{left:66.6666666667%}.row .col.offset-m9{margin-left:75%}.row .col.pull-m9{right:75%}.row .col.push-m9{left:75%}.row .col.offset-m10{margin-left:83.3333333333%}.row .col.pull-m10{right:83.3333333333%}.row .col.push-m10{left:83.3333333333%}.row .col.offset-m11{margin-left:91.6666666667%}.row .col.pull-m11{right:91.6666666667%}.row .col.push-m11{left:91.6666666667%}.row .col.offset-m12{margin-left:100%}.row .col.pull-m12{right:100%}.row .col.push-m12{left:100%}}@media only screen and (min-width: 993px){.row .col.l1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.l4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.l7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.l10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-l1{margin-left:8.3333333333%}.row .col.pull-l1{right:8.3333333333%}.row .col.push-l1{left:8.3333333333%}.row .col.offset-l2{margin-left:16.6666666667%}.row .col.pull-l2{right:16.6666666667%}.row .col.push-l2{left:16.6666666667%}.row .col.offset-l3{margin-left:25%}.row .col.pull-l3{right:25%}.row .col.push-l3{left:25%}.row .col.offset-l4{margin-left:33.3333333333%}.row .col.pull-l4{right:33.3333333333%}.row .col.push-l4{left:33.3333333333%}.row .col.offset-l5{margin-left:41.6666666667%}.row .col.pull-l5{right:41.6666666667%}.row .col.push-l5{left:41.6666666667%}.row .col.offset-l6{margin-left:50%}.row .col.pull-l6{right:50%}.row .col.push-l6{left:50%}.row .col.offset-l7{margin-left:58.3333333333%}.row .col.pull-l7{right:58.3333333333%}.row .col.push-l7{left:58.3333333333%}.row .col.offset-l8{margin-left:66.6666666667%}.row .col.pull-l8{right:66.6666666667%}.row .col.push-l8{left:66.6666666667%}.row .col.offset-l9{margin-left:75%}.row .col.pull-l9{right:75%}.row .col.push-l9{left:75%}.row .col.offset-l10{margin-left:83.3333333333%}.row .col.pull-l10{right:83.3333333333%}.row .col.push-l10{left:83.3333333333%}.row .col.offset-l11{margin-left:91.6666666667%}.row .col.pull-l11{right:91.6666666667%}.row .col.push-l11{left:91.6666666667%}.row .col.offset-l12{margin-left:100%}.row .col.pull-l12{right:100%}.row .col.push-l12{left:100%}}@media only screen and (min-width: 1201px){.row .col.xl1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.xl4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.xl7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.xl10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-xl1{margin-left:8.3333333333%}.row .col.pull-xl1{right:8.3333333333%}.row .col.push-xl1{left:8.3333333333%}.row .col.offset-xl2{margin-left:16.6666666667%}.row .col.pull-xl2{right:16.6666666667%}.row .col.push-xl2{left:16.6666666667%}.row .col.offset-xl3{margin-left:25%}.row .col.pull-xl3{right:25%}.row .col.push-xl3{left:25%}.row .col.offset-xl4{margin-left:33.3333333333%}.row .col.pull-xl4{right:33.3333333333%}.row .col.push-xl4{left:33.3333333333%}.row .col.offset-xl5{margin-left:41.6666666667%}.row .col.pull-xl5{right:41.6666666667%}.row .col.push-xl5{left:41.6666666667%}.row .col.offset-xl6{margin-left:50%}.row .col.pull-xl6{right:50%}.row .col.push-xl6{left:50%}.row .col.offset-xl7{margin-left:58.3333333333%}.row .col.pull-xl7{right:58.3333333333%}.row .col.push-xl7{left:58.3333333333%}.row .col.offset-xl8{margin-left:66.6666666667%}.row .col.pull-xl8{right:66.6666666667%}.row .col.push-xl8{left:66.6666666667%}.row .col.offset-xl9{margin-left:75%}.row .col.pull-xl9{right:75%}.row .col.push-xl9{left:75%}.row .col.offset-xl10{margin-left:83.3333333333%}.row .col.pull-xl10{right:83.3333333333%}.row .col.push-xl10{left:83.3333333333%}.row .col.offset-xl11{margin-left:91.6666666667%}.row .col.pull-xl11{right:91.6666666667%}.row .col.push-xl11{left:91.6666666667%}.row .col.offset-xl12{margin-left:100%}.row .col.pull-xl12{right:100%}.row .col.push-xl12{left:100%}}nav{color:#fff;background-color:#ee6e73;width:100%;height:56px;line-height:56px}nav.nav-extended{height:auto}nav.nav-extended .nav-wrapper{min-height:56px;height:auto}nav.nav-extended .nav-content{position:relative;line-height:normal}nav a{color:#fff}nav i,nav [class^=\"mdi-\"],nav [class*=\"mdi-\"],nav i.material-icons{display:block;font-size:24px;height:56px;line-height:56px}nav .nav-wrapper{position:relative;height:100%}@media only screen and (min-width: 993px){nav a.sidenav-trigger{display:none}}nav .sidenav-trigger{float:left;position:relative;z-index:1;height:56px;margin:0 18px}nav .sidenav-trigger i{height:56px;line-height:56px}nav .brand-logo{position:absolute;color:#fff;display:inline-block;font-size:2.1rem;padding:0}nav .brand-logo.center{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media only screen and (max-width: 992px){nav .brand-logo{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}nav .brand-logo.left,nav .brand-logo.right{padding:0;-webkit-transform:none;transform:none}nav .brand-logo.left{left:0.5rem}nav .brand-logo.right{right:0.5rem;left:auto}}nav .brand-logo.right{right:0.5rem;padding:0}nav .brand-logo i,nav .brand-logo [class^=\"mdi-\"],nav .brand-logo [class*=\"mdi-\"],nav .brand-logo i.material-icons{float:left;margin-right:15px}nav .nav-title{display:inline-block;font-size:32px;padding:28px 0}nav ul{margin:0}nav ul li{-webkit-transition:background-color .3s;transition:background-color .3s;float:left;padding:0}nav ul li.active{background-color:rgba(0,0,0,0.1)}nav ul a{-webkit-transition:background-color .3s;transition:background-color .3s;font-size:1rem;color:#fff;display:block;padding:0 15px;cursor:pointer}nav ul a.btn,nav ul a.btn-large,nav ul a.btn-small,nav ul a.btn-large,nav ul a.btn-flat,nav ul a.btn-floating{margin-top:-2px;margin-left:15px;margin-right:15px}nav ul a.btn>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn-small>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn-flat>.material-icons,nav ul a.btn-floating>.material-icons{height:inherit;line-height:inherit}nav ul a:hover{background-color:rgba(0,0,0,0.1)}nav ul.left{float:left}nav form{height:100%}nav .input-field{margin:0;height:100%}nav .input-field input{height:100%;font-size:1.2rem;border:none;padding-left:2rem}nav .input-field input:focus,nav .input-field input[type=text]:valid,nav .input-field input[type=password]:valid,nav .input-field input[type=email]:valid,nav .input-field input[type=url]:valid,nav .input-field input[type=date]:valid{border:none;-webkit-box-shadow:none;box-shadow:none}nav .input-field label{top:0;left:0}nav .input-field label i{color:rgba(255,255,255,0.7);-webkit-transition:color .3s;transition:color .3s}nav .input-field label.active i{color:#fff}.navbar-fixed{position:relative;height:56px;z-index:997}.navbar-fixed nav{position:fixed}@media only screen and (min-width: 601px){nav.nav-extended .nav-wrapper{min-height:64px}nav,nav .nav-wrapper i,nav a.sidenav-trigger,nav a.sidenav-trigger i{height:64px;line-height:64px}.navbar-fixed{height:64px}}a{text-decoration:none}html{line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-weight:normal;color:rgba(0,0,0,0.87)}@media only screen and (min-width: 0){html{font-size:14px}}@media only screen and (min-width: 992px){html{font-size:14.5px}}@media only screen and (min-width: 1200px){html{font-size:15px}}h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.3}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-weight:inherit}h1{font-size:4.2rem;line-height:110%;margin:2.8rem 0 1.68rem 0}h2{font-size:3.56rem;line-height:110%;margin:2.3733333333rem 0 1.424rem 0}h3{font-size:2.92rem;line-height:110%;margin:1.9466666667rem 0 1.168rem 0}h4{font-size:2.28rem;line-height:110%;margin:1.52rem 0 .912rem 0}h5{font-size:1.64rem;line-height:110%;margin:1.0933333333rem 0 .656rem 0}h6{font-size:1.15rem;line-height:110%;margin:.7666666667rem 0 .46rem 0}em{font-style:italic}strong{font-weight:500}small{font-size:75%}.light{font-weight:300}.thin{font-weight:200}@media only screen and (min-width: 360px){.flow-text{font-size:1.2rem}}@media only screen and (min-width: 390px){.flow-text{font-size:1.224rem}}@media only screen and (min-width: 420px){.flow-text{font-size:1.248rem}}@media only screen and (min-width: 450px){.flow-text{font-size:1.272rem}}@media only screen and (min-width: 480px){.flow-text{font-size:1.296rem}}@media only screen and (min-width: 510px){.flow-text{font-size:1.32rem}}@media only screen and (min-width: 540px){.flow-text{font-size:1.344rem}}@media only screen and (min-width: 570px){.flow-text{font-size:1.368rem}}@media only screen and (min-width: 600px){.flow-text{font-size:1.392rem}}@media only screen and (min-width: 630px){.flow-text{font-size:1.416rem}}@media only screen and (min-width: 660px){.flow-text{font-size:1.44rem}}@media only screen and (min-width: 690px){.flow-text{font-size:1.464rem}}@media only screen and (min-width: 720px){.flow-text{font-size:1.488rem}}@media only screen and (min-width: 750px){.flow-text{font-size:1.512rem}}@media only screen and (min-width: 780px){.flow-text{font-size:1.536rem}}@media only screen and (min-width: 810px){.flow-text{font-size:1.56rem}}@media only screen and (min-width: 840px){.flow-text{font-size:1.584rem}}@media only screen and (min-width: 870px){.flow-text{font-size:1.608rem}}@media only screen and (min-width: 900px){.flow-text{font-size:1.632rem}}@media only screen and (min-width: 930px){.flow-text{font-size:1.656rem}}@media only screen and (min-width: 960px){.flow-text{font-size:1.68rem}}@media only screen and (max-width: 360px){.flow-text{font-size:1.2rem}}.scale-transition{-webkit-transition:-webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:-webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63), -webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important}.scale-transition.scale-out{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform .2s !important;transition:-webkit-transform .2s !important;transition:transform .2s !important;transition:transform .2s, -webkit-transform .2s !important}.scale-transition.scale-in{-webkit-transform:scale(1);transform:scale(1)}.card-panel{-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s;padding:24px;margin:.5rem 0 1rem 0;border-radius:2px;background-color:#fff}.card{position:relative;margin:.5rem 0 1rem 0;background-color:#fff;-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s;border-radius:2px}.card .card-title{font-size:24px;font-weight:300}.card .card-title.activator{cursor:pointer}.card.small,.card.medium,.card.large{position:relative}.card.small .card-image,.card.medium .card-image,.card.large .card-image{max-height:60%;overflow:hidden}.card.small .card-image+.card-content,.card.medium .card-image+.card-content,.card.large .card-image+.card-content{max-height:40%}.card.small .card-content,.card.medium .card-content,.card.large .card-content{max-height:100%;overflow:hidden}.card.small .card-action,.card.medium .card-action,.card.large .card-action{position:absolute;bottom:0;left:0;right:0}.card.small{height:300px}.card.medium{height:400px}.card.large{height:500px}.card.horizontal{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.card.horizontal.small .card-image,.card.horizontal.medium .card-image,.card.horizontal.large .card-image{height:100%;max-height:none;overflow:visible}.card.horizontal.small .card-image img,.card.horizontal.medium .card-image img,.card.horizontal.large .card-image img{height:100%}.card.horizontal .card-image{max-width:50%}.card.horizontal .card-image img{border-radius:2px 0 0 2px;max-width:100%;width:auto}.card.horizontal .card-stacked{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;position:relative}.card.horizontal .card-stacked .card-content{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.card.sticky-action .card-action{z-index:2}.card.sticky-action .card-reveal{z-index:1;padding-bottom:64px}.card .card-image{position:relative}.card .card-image img{display:block;border-radius:2px 2px 0 0;position:relative;left:0;right:0;top:0;bottom:0;width:100%}.card .card-image .card-title{color:#fff;position:absolute;bottom:0;left:0;max-width:100%;padding:24px}.card .card-content{padding:24px;border-radius:0 0 2px 2px}.card .card-content p{margin:0}.card .card-content .card-title{display:block;line-height:32px;margin-bottom:8px}.card .card-content .card-title i{line-height:32px}.card .card-action{background-color:inherit;border-top:1px solid rgba(160,160,160,0.2);position:relative;padding:16px 24px}.card .card-action:last-child{border-radius:0 0 2px 2px}.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating){color:#ffab40;margin-right:24px;-webkit-transition:color .3s ease;transition:color .3s ease;text-transform:uppercase}.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating):hover{color:#ffd8a6}.card .card-reveal{padding:24px;position:absolute;background-color:#fff;width:100%;overflow-y:auto;left:0;top:100%;height:100%;z-index:3;display:none}.card .card-reveal .card-title{cursor:pointer;display:block}#toast-container{display:block;position:fixed;z-index:10000}@media only screen and (max-width: 600px){#toast-container{min-width:100%;bottom:0%}}@media only screen and (min-width: 601px) and (max-width: 992px){#toast-container{left:5%;bottom:7%;max-width:90%}}@media only screen and (min-width: 993px){#toast-container{top:10%;right:7%;max-width:86%}}.toast{border-radius:2px;top:35px;width:auto;margin-top:10px;position:relative;max-width:100%;height:auto;min-height:48px;line-height:1.5em;background-color:#323232;padding:10px 25px;font-size:1.1rem;font-weight:300;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;cursor:default}.toast .toast-action{color:#eeff41;font-weight:500;margin-right:-25px;margin-left:3rem}.toast.rounded{border-radius:24px}@media only screen and (max-width: 600px){.toast{width:100%;border-radius:0}}.tabs{position:relative;overflow-x:auto;overflow-y:hidden;height:48px;width:100%;background-color:#fff;margin:0 auto;white-space:nowrap}.tabs.tabs-transparent{background-color:transparent}.tabs.tabs-transparent .tab a,.tabs.tabs-transparent .tab.disabled a,.tabs.tabs-transparent .tab.disabled a:hover{color:rgba(255,255,255,0.7)}.tabs.tabs-transparent .tab a:hover,.tabs.tabs-transparent .tab a.active{color:#fff}.tabs.tabs-transparent .indicator{background-color:#fff}.tabs.tabs-fixed-width{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs.tabs-fixed-width .tab{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab{display:inline-block;text-align:center;line-height:48px;height:48px;padding:0;margin:0;text-transform:uppercase}.tabs .tab a{color:rgba(238,110,115,0.7);display:block;width:100%;height:100%;padding:0 24px;font-size:14px;text-overflow:ellipsis;overflow:hidden;-webkit-transition:color .28s ease, background-color .28s ease;transition:color .28s ease, background-color .28s ease}.tabs .tab a:focus,.tabs .tab a:focus.active{background-color:rgba(246,178,181,0.2);outline:none}.tabs .tab a:hover,.tabs .tab a.active{background-color:transparent;color:#ee6e73}.tabs .tab.disabled a,.tabs .tab.disabled a:hover{color:rgba(238,110,115,0.4);cursor:default}.tabs .indicator{position:absolute;bottom:0;height:2px;background-color:#f6b2b5;will-change:left, right}@media only screen and (max-width: 992px){.tabs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs .tab{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab a{padding:0 12px}}.material-tooltip{padding:10px 8px;font-size:1rem;z-index:2000;background-color:transparent;border-radius:2px;color:#fff;min-height:36px;line-height:120%;opacity:0;position:absolute;text-align:center;max-width:calc(100% - 4px);overflow:hidden;left:0;top:0;pointer-events:none;visibility:hidden;background-color:#323232}.backdrop{position:absolute;opacity:0;height:7px;width:14px;border-radius:0 0 50% 50%;background-color:#323232;z-index:-1;-webkit-transform-origin:50% 0%;transform-origin:50% 0%;visibility:hidden}.btn,.btn-large,.btn-small,.btn-flat{border:none;border-radius:2px;display:inline-block;height:36px;line-height:36px;padding:0 16px;text-transform:uppercase;vertical-align:middle;-webkit-tap-highlight-color:transparent}.btn.disabled,.disabled.btn-large,.disabled.btn-small,.btn-floating.disabled,.btn-large.disabled,.btn-small.disabled,.btn-flat.disabled,.btn:disabled,.btn-large:disabled,.btn-small:disabled,.btn-floating:disabled,.btn-large:disabled,.btn-small:disabled,.btn-flat:disabled,.btn[disabled],.btn-large[disabled],.btn-small[disabled],.btn-floating[disabled],.btn-large[disabled],.btn-small[disabled],.btn-flat[disabled]{pointer-events:none;background-color:#DFDFDF !important;-webkit-box-shadow:none;box-shadow:none;color:#9F9F9F !important;cursor:default}.btn.disabled:hover,.disabled.btn-large:hover,.disabled.btn-small:hover,.btn-floating.disabled:hover,.btn-large.disabled:hover,.btn-small.disabled:hover,.btn-flat.disabled:hover,.btn:disabled:hover,.btn-large:disabled:hover,.btn-small:disabled:hover,.btn-floating:disabled:hover,.btn-large:disabled:hover,.btn-small:disabled:hover,.btn-flat:disabled:hover,.btn[disabled]:hover,.btn-large[disabled]:hover,.btn-small[disabled]:hover,.btn-floating[disabled]:hover,.btn-large[disabled]:hover,.btn-small[disabled]:hover,.btn-flat[disabled]:hover{background-color:#DFDFDF !important;color:#9F9F9F !important}.btn,.btn-large,.btn-small,.btn-floating,.btn-large,.btn-small,.btn-flat{font-size:14px;outline:0}.btn i,.btn-large i,.btn-small i,.btn-floating i,.btn-large i,.btn-small i,.btn-flat i{font-size:1.3rem;line-height:inherit}.btn:focus,.btn-large:focus,.btn-small:focus,.btn-floating:focus{background-color:#1d7d74}.btn,.btn-large,.btn-small{text-decoration:none;color:#fff;background-color:#26a69a;text-align:center;letter-spacing:.5px;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out;cursor:pointer}.btn:hover,.btn-large:hover,.btn-small:hover{background-color:#2bbbad}.btn-floating{display:inline-block;color:#fff;position:relative;overflow:hidden;z-index:1;width:40px;height:40px;line-height:40px;padding:0;background-color:#26a69a;border-radius:50%;-webkit-transition:background-color .3s;transition:background-color .3s;cursor:pointer;vertical-align:middle}.btn-floating:hover{background-color:#26a69a}.btn-floating:before{border-radius:0}.btn-floating.btn-large{width:56px;height:56px;padding:0}.btn-floating.btn-large.halfway-fab{bottom:-28px}.btn-floating.btn-large i{line-height:56px}.btn-floating.btn-small{width:32.4px;height:32.4px}.btn-floating.btn-small.halfway-fab{bottom:-16.2px}.btn-floating.btn-small i{line-height:32.4px}.btn-floating.halfway-fab{position:absolute;right:24px;bottom:-20px}.btn-floating.halfway-fab.left{right:auto;left:24px}.btn-floating i{width:inherit;display:inline-block;text-align:center;color:#fff;font-size:1.6rem;line-height:40px}button.btn-floating{border:none}.fixed-action-btn{position:fixed;right:23px;bottom:23px;padding-top:15px;margin-bottom:0;z-index:997}.fixed-action-btn.active ul{visibility:visible}.fixed-action-btn.direction-left,.fixed-action-btn.direction-right{padding:0 0 0 15px}.fixed-action-btn.direction-left ul,.fixed-action-btn.direction-right ul{text-align:right;right:64px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);height:100%;left:auto;width:500px}.fixed-action-btn.direction-left ul li,.fixed-action-btn.direction-right ul li{display:inline-block;margin:7.5px 15px 0 0}.fixed-action-btn.direction-right{padding:0 15px 0 0}.fixed-action-btn.direction-right ul{text-align:left;direction:rtl;left:64px;right:auto}.fixed-action-btn.direction-right ul li{margin:7.5px 0 0 15px}.fixed-action-btn.direction-bottom{padding:0 0 15px 0}.fixed-action-btn.direction-bottom ul{top:64px;bottom:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.fixed-action-btn.direction-bottom ul li{margin:15px 0 0 0}.fixed-action-btn.toolbar{padding:0;height:56px}.fixed-action-btn.toolbar.active>a i{opacity:0}.fixed-action-btn.toolbar ul{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;top:0;bottom:0;z-index:1}.fixed-action-btn.toolbar ul li{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;display:inline-block;margin:0;height:100%;-webkit-transition:none;transition:none}.fixed-action-btn.toolbar ul li a{display:block;overflow:hidden;position:relative;width:100%;height:100%;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;color:#fff;line-height:56px;z-index:1}.fixed-action-btn.toolbar ul li a i{line-height:inherit}.fixed-action-btn ul{left:0;right:0;text-align:center;position:absolute;bottom:64px;margin:0;visibility:hidden}.fixed-action-btn ul li{margin-bottom:15px}.fixed-action-btn ul a.btn-floating{opacity:0}.fixed-action-btn .fab-backdrop{position:absolute;top:0;left:0;z-index:-1;width:40px;height:40px;background-color:#26a69a;border-radius:50%;-webkit-transform:scale(0);transform:scale(0)}.btn-flat{-webkit-box-shadow:none;box-shadow:none;background-color:transparent;color:#343434;cursor:pointer;-webkit-transition:background-color .2s;transition:background-color .2s}.btn-flat:focus,.btn-flat:hover{-webkit-box-shadow:none;box-shadow:none}.btn-flat:focus{background-color:rgba(0,0,0,0.1)}.btn-flat.disabled,.btn-flat.btn-flat[disabled]{background-color:transparent !important;color:#b3b2b2 !important;cursor:default}.btn-large{height:54px;line-height:54px;font-size:15px;padding:0 28px}.btn-large i{font-size:1.6rem}.btn-small{height:32.4px;line-height:32.4px;font-size:13px}.btn-small i{font-size:1.2rem}.btn-block{display:block}.dropdown-content{background-color:#fff;margin:0;display:none;min-width:100px;overflow-y:auto;opacity:0;position:absolute;left:0;top:0;z-index:9999;-webkit-transform-origin:0 0;transform-origin:0 0}.dropdown-content:focus{outline:0}.dropdown-content li{clear:both;color:rgba(0,0,0,0.87);cursor:pointer;min-height:50px;line-height:1.5rem;width:100%;text-align:left}.dropdown-content li:hover,.dropdown-content li.active{background-color:#eee}.dropdown-content li:focus{outline:none}.dropdown-content li.divider{min-height:0;height:1px}.dropdown-content li>a,.dropdown-content li>span{font-size:16px;color:#26a69a;display:block;line-height:22px;padding:14px 16px}.dropdown-content li>span>label{top:1px;left:0;height:18px}.dropdown-content li>a>i{height:inherit;line-height:inherit;float:left;margin:0 24px 0 0;width:24px}body.keyboard-focused .dropdown-content li:focus{background-color:#dadada}.input-field.col .dropdown-content [type=\"checkbox\"]+label{top:1px;left:0;height:18px;-webkit-transform:none;transform:none}.dropdown-trigger{cursor:pointer}/*!\r\n * Waves v0.6.0\r\n * http://fian.my.id/Waves\r\n *\r\n * Copyright 2014 Alfiana E. Sibuea and other contributors\r\n * Released under the MIT license\r\n * https://github.com/fians/Waves/blob/master/LICENSE\r\n */.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;vertical-align:middle;z-index:1;-webkit-transition:.3s ease-out;transition:.3s ease-out}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;opacity:0;background:rgba(0,0,0,0.2);-webkit-transition:all 0.7s ease-out;transition:all 0.7s ease-out;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-transform:scale(0);transform:scale(0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background-color:rgba(255,255,255,0.45)}.waves-effect.waves-red .waves-ripple{background-color:rgba(244,67,54,0.7)}.waves-effect.waves-yellow .waves-ripple{background-color:rgba(255,235,59,0.7)}.waves-effect.waves-orange .waves-ripple{background-color:rgba(255,152,0,0.7)}.waves-effect.waves-purple .waves-ripple{background-color:rgba(156,39,176,0.7)}.waves-effect.waves-green .waves-ripple{background-color:rgba(76,175,80,0.7)}.waves-effect.waves-teal .waves-ripple{background-color:rgba(0,150,136,0.7)}.waves-effect input[type=\"button\"],.waves-effect input[type=\"reset\"],.waves-effect input[type=\"submit\"]{border:0;font-style:normal;font-size:inherit;text-transform:inherit;background:none}.waves-effect img{position:relative;z-index:-1}.waves-notransition{-webkit-transition:none !important;transition:none !important}.waves-circle{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle, white 100%, black 100%)}.waves-input-wrapper{border-radius:0.2em;vertical-align:bottom}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%;-webkit-mask-image:none}.waves-block{display:block}.waves-effect .waves-ripple{z-index:-1}.modal{display:none;position:fixed;left:0;right:0;background-color:#fafafa;padding:0;max-height:70%;width:55%;margin:auto;overflow-y:auto;border-radius:2px;will-change:top, opacity}.modal:focus{outline:none}@media only screen and (max-width: 992px){.modal{width:80%}}.modal h1,.modal h2,.modal h3,.modal h4{margin-top:0}.modal .modal-content{padding:24px}.modal .modal-close{cursor:pointer}.modal .modal-footer{border-radius:0 0 2px 2px;background-color:#fafafa;padding:4px 6px;height:56px;width:100%;text-align:right}.modal .modal-footer .btn,.modal .modal-footer .btn-large,.modal .modal-footer .btn-small,.modal .modal-footer .btn-flat{margin:6px 0}.modal-overlay{position:fixed;z-index:999;top:-25%;left:0;bottom:0;right:0;height:125%;width:100%;background:#000;display:none;will-change:opacity}.modal.modal-fixed-footer{padding:0;height:70%}.modal.modal-fixed-footer .modal-content{position:absolute;height:calc(100% - 56px);max-height:100%;width:100%;overflow-y:auto}.modal.modal-fixed-footer .modal-footer{border-top:1px solid rgba(0,0,0,0.1);position:absolute;bottom:0}.modal.bottom-sheet{top:auto;bottom:-100%;margin:0;width:100%;max-height:45%;border-radius:0;will-change:bottom, opacity}.collapsible{border-top:1px solid #ddd;border-right:1px solid #ddd;border-left:1px solid #ddd;margin:.5rem 0 1rem 0}.collapsible-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:pointer;-webkit-tap-highlight-color:transparent;line-height:1.5;padding:1rem;background-color:#fff;border-bottom:1px solid #ddd}.collapsible-header:focus{outline:0}.collapsible-header i{width:2rem;font-size:1.6rem;display:inline-block;text-align:center;margin-right:1rem}.keyboard-focused .collapsible-header:focus{background-color:#eee}.collapsible-body{display:none;border-bottom:1px solid #ddd;-webkit-box-sizing:border-box;box-sizing:border-box;padding:2rem}.sidenav .collapsible,.sidenav.fixed .collapsible{border:none;-webkit-box-shadow:none;box-shadow:none}.sidenav .collapsible li,.sidenav.fixed .collapsible li{padding:0}.sidenav .collapsible-header,.sidenav.fixed .collapsible-header{background-color:transparent;border:none;line-height:inherit;height:inherit;padding:0 16px}.sidenav .collapsible-header:hover,.sidenav.fixed .collapsible-header:hover{background-color:rgba(0,0,0,0.05)}.sidenav .collapsible-header i,.sidenav.fixed .collapsible-header i{line-height:inherit}.sidenav .collapsible-body,.sidenav.fixed .collapsible-body{border:0;background-color:#fff}.sidenav .collapsible-body li a,.sidenav.fixed .collapsible-body li a{padding:0 23.5px 0 31px}.collapsible.popout{border:none;-webkit-box-shadow:none;box-shadow:none}.collapsible.popout>li{-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);margin:0 24px;-webkit-transition:margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);transition:margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.collapsible.popout>li.active{-webkit-box-shadow:0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15);box-shadow:0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15);margin:16px 0}.chip{display:inline-block;height:32px;font-size:13px;font-weight:500;color:rgba(0,0,0,0.6);line-height:32px;padding:0 12px;border-radius:16px;background-color:#e4e4e4;margin-bottom:5px;margin-right:5px}.chip:focus{outline:none;background-color:#26a69a;color:#fff}.chip>img{float:left;margin:0 8px 0 -12px;height:32px;width:32px;border-radius:50%}.chip .close{cursor:pointer;float:right;font-size:16px;line-height:32px;padding-left:8px}.chips{border:none;border-bottom:1px solid #9e9e9e;-webkit-box-shadow:none;box-shadow:none;margin:0 0 8px 0;min-height:45px;outline:none;-webkit-transition:all .3s;transition:all .3s}.chips.focus{border-bottom:1px solid #26a69a;-webkit-box-shadow:0 1px 0 0 #26a69a;box-shadow:0 1px 0 0 #26a69a}.chips:hover{cursor:text}.chips .input{background:none;border:0;color:rgba(0,0,0,0.6);display:inline-block;font-size:16px;height:3rem;line-height:32px;outline:0;margin:0;padding:0 !important;width:120px !important}.chips .input:focus{border:0 !important;-webkit-box-shadow:none !important;box-shadow:none !important}.chips .autocomplete-content{margin-top:0;margin-bottom:0}.prefix ~ .chips{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.chips:empty ~ label{font-size:0.8rem;-webkit-transform:translateY(-140%);transform:translateY(-140%)}.materialboxed{display:block;cursor:-webkit-zoom-in;cursor:zoom-in;position:relative;-webkit-transition:opacity .4s;transition:opacity .4s;-webkit-backface-visibility:hidden}.materialboxed:hover:not(.active){opacity:.8}.materialboxed.active{cursor:-webkit-zoom-out;cursor:zoom-out}#materialbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#292929;z-index:1000;will-change:opacity}.materialbox-caption{position:fixed;display:none;color:#fff;line-height:50px;bottom:0;left:0;width:100%;text-align:center;padding:0% 15%;height:50px;z-index:1000;-webkit-font-smoothing:antialiased}select:focus{outline:1px solid #c9f3ef}button:focus{outline:none;background-color:#2ab7a9}label{font-size:.8rem;color:#9e9e9e}::-webkit-input-placeholder{color:#d1d1d1}::-moz-placeholder{color:#d1d1d1}:-ms-input-placeholder{color:#d1d1d1}::-ms-input-placeholder{color:#d1d1d1}::placeholder{color:#d1d1d1}input:not([type]),input[type=text]:not(.browser-default),input[type=password]:not(.browser-default),input[type=email]:not(.browser-default),input[type=url]:not(.browser-default),input[type=time]:not(.browser-default),input[type=date]:not(.browser-default),input[type=datetime]:not(.browser-default),input[type=datetime-local]:not(.browser-default),input[type=tel]:not(.browser-default),input[type=number]:not(.browser-default),input[type=search]:not(.browser-default),textarea.materialize-textarea{background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;height:3rem;width:100%;font-size:16px;margin:0 0 8px 0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-transition:border .3s, -webkit-box-shadow .3s;transition:border .3s, -webkit-box-shadow .3s;transition:box-shadow .3s, border .3s;transition:box-shadow .3s, border .3s, -webkit-box-shadow .3s}input:not([type]):disabled,input:not([type])[readonly=\"readonly\"],input[type=text]:not(.browser-default):disabled,input[type=text]:not(.browser-default)[readonly=\"readonly\"],input[type=password]:not(.browser-default):disabled,input[type=password]:not(.browser-default)[readonly=\"readonly\"],input[type=email]:not(.browser-default):disabled,input[type=email]:not(.browser-default)[readonly=\"readonly\"],input[type=url]:not(.browser-default):disabled,input[type=url]:not(.browser-default)[readonly=\"readonly\"],input[type=time]:not(.browser-default):disabled,input[type=time]:not(.browser-default)[readonly=\"readonly\"],input[type=date]:not(.browser-default):disabled,input[type=date]:not(.browser-default)[readonly=\"readonly\"],input[type=datetime]:not(.browser-default):disabled,input[type=datetime]:not(.browser-default)[readonly=\"readonly\"],input[type=datetime-local]:not(.browser-default):disabled,input[type=datetime-local]:not(.browser-default)[readonly=\"readonly\"],input[type=tel]:not(.browser-default):disabled,input[type=tel]:not(.browser-default)[readonly=\"readonly\"],input[type=number]:not(.browser-default):disabled,input[type=number]:not(.browser-default)[readonly=\"readonly\"],input[type=search]:not(.browser-default):disabled,input[type=search]:not(.browser-default)[readonly=\"readonly\"],textarea.materialize-textarea:disabled,textarea.materialize-textarea[readonly=\"readonly\"]{color:rgba(0,0,0,0.42);border-bottom:1px dotted rgba(0,0,0,0.42)}input:not([type]):disabled+label,input:not([type])[readonly=\"readonly\"]+label,input[type=text]:not(.browser-default):disabled+label,input[type=text]:not(.browser-default)[readonly=\"readonly\"]+label,input[type=password]:not(.browser-default):disabled+label,input[type=password]:not(.browser-default)[readonly=\"readonly\"]+label,input[type=email]:not(.browser-default):disabled+label,input[type=email]:not(.browser-default)[readonly=\"readonly\"]+label,input[type=url]:not(.browser-default):disabled+label,input[type=url]:not(.browser-default)[readonly=\"readonly\"]+label,input[type=time]:not(.browser-default):disabled+label,input[type=time]:not(.browser-default)[readonly=\"readonly\"]+label,input[type=date]:not(.browser-default):disabled+label,input[type=date]:not(.browser-default)[readonly=\"readonly\"]+label,input[type=datetime]:not(.browser-default):disabled+label,input[type=datetime]:not(.browser-default)[readonly=\"readonly\"]+label,input[type=datetime-local]:not(.browser-default):disabled+label,input[type=datetime-local]:not(.browser-default)[readonly=\"readonly\"]+label,input[type=tel]:not(.browser-default):disabled+label,input[type=tel]:not(.browser-default)[readonly=\"readonly\"]+label,input[type=number]:not(.browser-default):disabled+label,input[type=number]:not(.browser-default)[readonly=\"readonly\"]+label,input[type=search]:not(.browser-default):disabled+label,input[type=search]:not(.browser-default)[readonly=\"readonly\"]+label,textarea.materialize-textarea:disabled+label,textarea.materialize-textarea[readonly=\"readonly\"]+label{color:rgba(0,0,0,0.42)}input:not([type]):focus:not([readonly]),input[type=text]:not(.browser-default):focus:not([readonly]),input[type=password]:not(.browser-default):focus:not([readonly]),input[type=email]:not(.browser-default):focus:not([readonly]),input[type=url]:not(.browser-default):focus:not([readonly]),input[type=time]:not(.browser-default):focus:not([readonly]),input[type=date]:not(.browser-default):focus:not([readonly]),input[type=datetime]:not(.browser-default):focus:not([readonly]),input[type=datetime-local]:not(.browser-default):focus:not([readonly]),input[type=tel]:not(.browser-default):focus:not([readonly]),input[type=number]:not(.browser-default):focus:not([readonly]),input[type=search]:not(.browser-default):focus:not([readonly]),textarea.materialize-textarea:focus:not([readonly]){border-bottom:1px solid #26a69a;-webkit-box-shadow:0 1px 0 0 #26a69a;box-shadow:0 1px 0 0 #26a69a}input:not([type]):focus:not([readonly])+label,input[type=text]:not(.browser-default):focus:not([readonly])+label,input[type=password]:not(.browser-default):focus:not([readonly])+label,input[type=email]:not(.browser-default):focus:not([readonly])+label,input[type=url]:not(.browser-default):focus:not([readonly])+label,input[type=time]:not(.browser-default):focus:not([readonly])+label,input[type=date]:not(.browser-default):focus:not([readonly])+label,input[type=datetime]:not(.browser-default):focus:not([readonly])+label,input[type=datetime-local]:not(.browser-default):focus:not([readonly])+label,input[type=tel]:not(.browser-default):focus:not([readonly])+label,input[type=number]:not(.browser-default):focus:not([readonly])+label,input[type=search]:not(.browser-default):focus:not([readonly])+label,textarea.materialize-textarea:focus:not([readonly])+label{color:#26a69a}input:not([type]):focus.valid ~ label,input[type=text]:not(.browser-default):focus.valid ~ label,input[type=password]:not(.browser-default):focus.valid ~ label,input[type=email]:not(.browser-default):focus.valid ~ label,input[type=url]:not(.browser-default):focus.valid ~ label,input[type=time]:not(.browser-default):focus.valid ~ label,input[type=date]:not(.browser-default):focus.valid ~ label,input[type=datetime]:not(.browser-default):focus.valid ~ label,input[type=datetime-local]:not(.browser-default):focus.valid ~ label,input[type=tel]:not(.browser-default):focus.valid ~ label,input[type=number]:not(.browser-default):focus.valid ~ label,input[type=search]:not(.browser-default):focus.valid ~ label,textarea.materialize-textarea:focus.valid ~ label{color:#4CAF50}input:not([type]):focus.invalid ~ label,input[type=text]:not(.browser-default):focus.invalid ~ label,input[type=password]:not(.browser-default):focus.invalid ~ label,input[type=email]:not(.browser-default):focus.invalid ~ label,input[type=url]:not(.browser-default):focus.invalid ~ label,input[type=time]:not(.browser-default):focus.invalid ~ label,input[type=date]:not(.browser-default):focus.invalid ~ label,input[type=datetime]:not(.browser-default):focus.invalid ~ label,input[type=datetime-local]:not(.browser-default):focus.invalid ~ label,input[type=tel]:not(.browser-default):focus.invalid ~ label,input[type=number]:not(.browser-default):focus.invalid ~ label,input[type=search]:not(.browser-default):focus.invalid ~ label,textarea.materialize-textarea:focus.invalid ~ label{color:#F44336}input:not([type]).validate+label,input[type=text]:not(.browser-default).validate+label,input[type=password]:not(.browser-default).validate+label,input[type=email]:not(.browser-default).validate+label,input[type=url]:not(.browser-default).validate+label,input[type=time]:not(.browser-default).validate+label,input[type=date]:not(.browser-default).validate+label,input[type=datetime]:not(.browser-default).validate+label,input[type=datetime-local]:not(.browser-default).validate+label,input[type=tel]:not(.browser-default).validate+label,input[type=number]:not(.browser-default).validate+label,input[type=search]:not(.browser-default).validate+label,textarea.materialize-textarea.validate+label{width:100%}input.valid:not([type]),input.valid:not([type]):focus,input.valid[type=text]:not(.browser-default),input.valid[type=text]:not(.browser-default):focus,input.valid[type=password]:not(.browser-default),input.valid[type=password]:not(.browser-default):focus,input.valid[type=email]:not(.browser-default),input.valid[type=email]:not(.browser-default):focus,input.valid[type=url]:not(.browser-default),input.valid[type=url]:not(.browser-default):focus,input.valid[type=time]:not(.browser-default),input.valid[type=time]:not(.browser-default):focus,input.valid[type=date]:not(.browser-default),input.valid[type=date]:not(.browser-default):focus,input.valid[type=datetime]:not(.browser-default),input.valid[type=datetime]:not(.browser-default):focus,input.valid[type=datetime-local]:not(.browser-default),input.valid[type=datetime-local]:not(.browser-default):focus,input.valid[type=tel]:not(.browser-default),input.valid[type=tel]:not(.browser-default):focus,input.valid[type=number]:not(.browser-default),input.valid[type=number]:not(.browser-default):focus,input.valid[type=search]:not(.browser-default),input.valid[type=search]:not(.browser-default):focus,textarea.materialize-textarea.valid,textarea.materialize-textarea.valid:focus,.select-wrapper.valid>input.select-dropdown{border-bottom:1px solid #4CAF50;-webkit-box-shadow:0 1px 0 0 #4CAF50;box-shadow:0 1px 0 0 #4CAF50}input.invalid:not([type]),input.invalid:not([type]):focus,input.invalid[type=text]:not(.browser-default),input.invalid[type=text]:not(.browser-default):focus,input.invalid[type=password]:not(.browser-default),input.invalid[type=password]:not(.browser-default):focus,input.invalid[type=email]:not(.browser-default),input.invalid[type=email]:not(.browser-default):focus,input.invalid[type=url]:not(.browser-default),input.invalid[type=url]:not(.browser-default):focus,input.invalid[type=time]:not(.browser-default),input.invalid[type=time]:not(.browser-default):focus,input.invalid[type=date]:not(.browser-default),input.invalid[type=date]:not(.browser-default):focus,input.invalid[type=datetime]:not(.browser-default),input.invalid[type=datetime]:not(.browser-default):focus,input.invalid[type=datetime-local]:not(.browser-default),input.invalid[type=datetime-local]:not(.browser-default):focus,input.invalid[type=tel]:not(.browser-default),input.invalid[type=tel]:not(.browser-default):focus,input.invalid[type=number]:not(.browser-default),input.invalid[type=number]:not(.browser-default):focus,input.invalid[type=search]:not(.browser-default),input.invalid[type=search]:not(.browser-default):focus,textarea.materialize-textarea.invalid,textarea.materialize-textarea.invalid:focus,.select-wrapper.invalid>input.select-dropdown,.select-wrapper.invalid>input.select-dropdown:focus{border-bottom:1px solid #F44336;-webkit-box-shadow:0 1px 0 0 #F44336;box-shadow:0 1px 0 0 #F44336}input:not([type]).valid ~ .helper-text[data-success],input:not([type]):focus.valid ~ .helper-text[data-success],input:not([type]).invalid ~ .helper-text[data-error],input:not([type]):focus.invalid ~ .helper-text[data-error],input[type=text]:not(.browser-default).valid ~ .helper-text[data-success],input[type=text]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=text]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=text]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=password]:not(.browser-default).valid ~ .helper-text[data-success],input[type=password]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=password]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=password]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=email]:not(.browser-default).valid ~ .helper-text[data-success],input[type=email]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=email]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=email]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=url]:not(.browser-default).valid ~ .helper-text[data-success],input[type=url]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=url]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=url]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=time]:not(.browser-default).valid ~ .helper-text[data-success],input[type=time]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=time]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=time]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=date]:not(.browser-default).valid ~ .helper-text[data-success],input[type=date]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=date]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=date]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=datetime]:not(.browser-default).valid ~ .helper-text[data-success],input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=datetime]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=datetime-local]:not(.browser-default).valid ~ .helper-text[data-success],input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=tel]:not(.browser-default).valid ~ .helper-text[data-success],input[type=tel]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=tel]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=number]:not(.browser-default).valid ~ .helper-text[data-success],input[type=number]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=number]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=number]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=search]:not(.browser-default).valid ~ .helper-text[data-success],input[type=search]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=search]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=search]:not(.browser-default):focus.invalid ~ .helper-text[data-error],textarea.materialize-textarea.valid ~ .helper-text[data-success],textarea.materialize-textarea:focus.valid ~ .helper-text[data-success],textarea.materialize-textarea.invalid ~ .helper-text[data-error],textarea.materialize-textarea:focus.invalid ~ .helper-text[data-error],.select-wrapper.valid .helper-text[data-success],.select-wrapper.invalid ~ .helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input:not([type]).valid ~ .helper-text:after,input:not([type]):focus.valid ~ .helper-text:after,input[type=text]:not(.browser-default).valid ~ .helper-text:after,input[type=text]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=password]:not(.browser-default).valid ~ .helper-text:after,input[type=password]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=email]:not(.browser-default).valid ~ .helper-text:after,input[type=email]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=url]:not(.browser-default).valid ~ .helper-text:after,input[type=url]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=time]:not(.browser-default).valid ~ .helper-text:after,input[type=time]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=date]:not(.browser-default).valid ~ .helper-text:after,input[type=date]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=datetime]:not(.browser-default).valid ~ .helper-text:after,input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default).valid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=tel]:not(.browser-default).valid ~ .helper-text:after,input[type=tel]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=number]:not(.browser-default).valid ~ .helper-text:after,input[type=number]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=search]:not(.browser-default).valid ~ .helper-text:after,input[type=search]:not(.browser-default):focus.valid ~ .helper-text:after,textarea.materialize-textarea.valid ~ .helper-text:after,textarea.materialize-textarea:focus.valid ~ .helper-text:after,.select-wrapper.valid ~ .helper-text:after{content:attr(data-success);color:#4CAF50}input:not([type]).invalid ~ .helper-text:after,input:not([type]):focus.invalid ~ .helper-text:after,input[type=text]:not(.browser-default).invalid ~ .helper-text:after,input[type=text]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=password]:not(.browser-default).invalid ~ .helper-text:after,input[type=password]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=email]:not(.browser-default).invalid ~ .helper-text:after,input[type=email]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=url]:not(.browser-default).invalid ~ .helper-text:after,input[type=url]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=time]:not(.browser-default).invalid ~ .helper-text:after,input[type=time]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=date]:not(.browser-default).invalid ~ .helper-text:after,input[type=date]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=datetime]:not(.browser-default).invalid ~ .helper-text:after,input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=tel]:not(.browser-default).invalid ~ .helper-text:after,input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=number]:not(.browser-default).invalid ~ .helper-text:after,input[type=number]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=search]:not(.browser-default).invalid ~ .helper-text:after,input[type=search]:not(.browser-default):focus.invalid ~ .helper-text:after,textarea.materialize-textarea.invalid ~ .helper-text:after,textarea.materialize-textarea:focus.invalid ~ .helper-text:after,.select-wrapper.invalid ~ .helper-text:after{content:attr(data-error);color:#F44336}input:not([type])+label:after,input[type=text]:not(.browser-default)+label:after,input[type=password]:not(.browser-default)+label:after,input[type=email]:not(.browser-default)+label:after,input[type=url]:not(.browser-default)+label:after,input[type=time]:not(.browser-default)+label:after,input[type=date]:not(.browser-default)+label:after,input[type=datetime]:not(.browser-default)+label:after,input[type=datetime-local]:not(.browser-default)+label:after,input[type=tel]:not(.browser-default)+label:after,input[type=number]:not(.browser-default)+label:after,input[type=search]:not(.browser-default)+label:after,textarea.materialize-textarea+label:after,.select-wrapper+label:after{display:block;content:\"\";position:absolute;top:100%;left:0;opacity:0;-webkit-transition:.2s opacity ease-out, .2s color ease-out;transition:.2s opacity ease-out, .2s color ease-out}.input-field{position:relative;margin-top:1rem;margin-bottom:1rem}.input-field.inline{display:inline-block;vertical-align:middle;margin-left:5px}.input-field.inline input,.input-field.inline .select-dropdown{margin-bottom:1rem}.input-field.col label{left:.75rem}.input-field.col .prefix ~ label,.input-field.col .prefix ~ .validate ~ label{width:calc(100% - 3rem - 1.5rem)}.input-field>label{color:#9e9e9e;position:absolute;top:0;left:0;font-size:1rem;cursor:text;-webkit-transition:color .2s ease-out, -webkit-transform .2s ease-out;transition:color .2s ease-out, -webkit-transform .2s ease-out;transition:transform .2s ease-out, color .2s ease-out;transition:transform .2s ease-out, color .2s ease-out, -webkit-transform .2s ease-out;-webkit-transform-origin:0% 100%;transform-origin:0% 100%;text-align:initial;-webkit-transform:translateY(12px);transform:translateY(12px)}.input-field>label:not(.label-icon).active{-webkit-transform:translateY(-14px) scale(0.8);transform:translateY(-14px) scale(0.8);-webkit-transform-origin:0 0;transform-origin:0 0}.input-field>input[type]:-webkit-autofill:not(.browser-default):not([type=\"search\"])+label,.input-field>input[type=date]:not(.browser-default)+label,.input-field>input[type=time]:not(.browser-default)+label{-webkit-transform:translateY(-14px) scale(0.8);transform:translateY(-14px) scale(0.8);-webkit-transform-origin:0 0;transform-origin:0 0}.input-field .helper-text{position:relative;min-height:18px;display:block;font-size:12px;color:rgba(0,0,0,0.54)}.input-field .helper-text::after{opacity:1;position:absolute;top:0;left:0}.input-field .prefix{position:absolute;width:3rem;font-size:2rem;-webkit-transition:color .2s;transition:color .2s;top:.5rem}.input-field .prefix.active{color:#26a69a}.input-field .prefix ~ input,.input-field .prefix ~ textarea,.input-field .prefix ~ label,.input-field .prefix ~ .validate ~ label,.input-field .prefix ~ .helper-text,.input-field .prefix ~ .autocomplete-content{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.input-field .prefix ~ label{margin-left:3rem}@media only screen and (max-width: 992px){.input-field .prefix ~ input{width:86%;width:calc(100% - 3rem)}}@media only screen and (max-width: 600px){.input-field .prefix ~ input{width:80%;width:calc(100% - 3rem)}}.input-field input[type=search]{display:block;line-height:inherit;-webkit-transition:.3s background-color;transition:.3s background-color}.nav-wrapper .input-field input[type=search]{height:inherit;padding-left:4rem;width:calc(100% - 4rem);border:0;-webkit-box-shadow:none;box-shadow:none}.input-field input[type=search]:focus:not(.browser-default){background-color:#fff;border:0;-webkit-box-shadow:none;box-shadow:none;color:#444}.input-field input[type=search]:focus:not(.browser-default)+label i,.input-field input[type=search]:focus:not(.browser-default) ~ .mdi-navigation-close,.input-field input[type=search]:focus:not(.browser-default) ~ .material-icons{color:#444}.input-field input[type=search]+.label-icon{-webkit-transform:none;transform:none;left:1rem}.input-field input[type=search] ~ .mdi-navigation-close,.input-field input[type=search] ~ .material-icons{position:absolute;top:0;right:1rem;color:transparent;cursor:pointer;font-size:2rem;-webkit-transition:.3s color;transition:.3s color}textarea{width:100%;height:3rem;background-color:transparent}textarea.materialize-textarea{line-height:normal;overflow-y:hidden;padding:.8rem 0 .8rem 0;resize:none;min-height:3rem;-webkit-box-sizing:border-box;box-sizing:border-box}.hiddendiv{visibility:hidden;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;padding-top:1.2rem;position:absolute;top:0;z-index:-1}.autocomplete-content li .highlight{color:#444}.autocomplete-content li img{height:40px;width:40px;margin:5px 15px}.character-counter{min-height:18px}[type=\"radio\"]:not(:checked),[type=\"radio\"]:checked{position:absolute;opacity:0;pointer-events:none}[type=\"radio\"]:not(:checked)+span,[type=\"radio\"]:checked+span{position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;-webkit-transition:.28s ease;transition:.28s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type=\"radio\"]+span:before,[type=\"radio\"]+span:after{content:'';position:absolute;left:0;top:0;margin:4px;width:16px;height:16px;z-index:0;-webkit-transition:.28s ease;transition:.28s ease}[type=\"radio\"]:not(:checked)+span:before,[type=\"radio\"]:not(:checked)+span:after,[type=\"radio\"]:checked+span:before,[type=\"radio\"]:checked+span:after,[type=\"radio\"].with-gap:checked+span:before,[type=\"radio\"].with-gap:checked+span:after{border-radius:50%}[type=\"radio\"]:not(:checked)+span:before,[type=\"radio\"]:not(:checked)+span:after{border:2px solid #5a5a5a}[type=\"radio\"]:not(:checked)+span:after{-webkit-transform:scale(0);transform:scale(0)}[type=\"radio\"]:checked+span:before{border:2px solid transparent}[type=\"radio\"]:checked+span:after,[type=\"radio\"].with-gap:checked+span:before,[type=\"radio\"].with-gap:checked+span:after{border:2px solid #26a69a}[type=\"radio\"]:checked+span:after,[type=\"radio\"].with-gap:checked+span:after{background-color:#26a69a}[type=\"radio\"]:checked+span:after{-webkit-transform:scale(1.02);transform:scale(1.02)}[type=\"radio\"].with-gap:checked+span:after{-webkit-transform:scale(0.5);transform:scale(0.5)}[type=\"radio\"].tabbed:focus+span:before{-webkit-box-shadow:0 0 0 10px rgba(0,0,0,0.1);box-shadow:0 0 0 10px rgba(0,0,0,0.1)}[type=\"radio\"].with-gap:disabled:checked+span:before{border:2px solid rgba(0,0,0,0.42)}[type=\"radio\"].with-gap:disabled:checked+span:after{border:none;background-color:rgba(0,0,0,0.42)}[type=\"radio\"]:disabled:not(:checked)+span:before,[type=\"radio\"]:disabled:checked+span:before{background-color:transparent;border-color:rgba(0,0,0,0.42)}[type=\"radio\"]:disabled+span{color:rgba(0,0,0,0.42)}[type=\"radio\"]:disabled:not(:checked)+span:before{border-color:rgba(0,0,0,0.42)}[type=\"radio\"]:disabled:checked+span:after{background-color:rgba(0,0,0,0.42);border-color:#949494}[type=\"checkbox\"]:not(:checked),[type=\"checkbox\"]:checked{position:absolute;opacity:0;pointer-events:none}[type=\"checkbox\"]+span:not(.lever){position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type=\"checkbox\"]+span:not(.lever):before,[type=\"checkbox\"]:not(.filled-in)+span:not(.lever):after{content:'';position:absolute;top:0;left:0;width:18px;height:18px;z-index:0;border:2px solid #5a5a5a;border-radius:1px;margin-top:3px;-webkit-transition:.2s;transition:.2s}[type=\"checkbox\"]:not(.filled-in)+span:not(.lever):after{border:0;-webkit-transform:scale(0);transform:scale(0)}[type=\"checkbox\"]:not(:checked):disabled+span:not(.lever):before{border:none;background-color:rgba(0,0,0,0.42)}[type=\"checkbox\"].tabbed:focus+span:not(.lever):after{-webkit-transform:scale(1);transform:scale(1);border:0;border-radius:50%;-webkit-box-shadow:0 0 0 10px rgba(0,0,0,0.1);box-shadow:0 0 0 10px rgba(0,0,0,0.1);background-color:rgba(0,0,0,0.1)}[type=\"checkbox\"]:checked+span:not(.lever):before{top:-4px;left:-5px;width:12px;height:22px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #26a69a;border-bottom:2px solid #26a69a;-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type=\"checkbox\"]:checked:disabled+span:before{border-right:2px solid rgba(0,0,0,0.42);border-bottom:2px solid rgba(0,0,0,0.42)}[type=\"checkbox\"]:indeterminate+span:not(.lever):before{top:-11px;left:-12px;width:10px;height:22px;border-top:none;border-left:none;border-right:2px solid #26a69a;border-bottom:none;-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type=\"checkbox\"]:indeterminate:disabled+span:not(.lever):before{border-right:2px solid rgba(0,0,0,0.42);background-color:transparent}[type=\"checkbox\"].filled-in+span:not(.lever):after{border-radius:2px}[type=\"checkbox\"].filled-in+span:not(.lever):before,[type=\"checkbox\"].filled-in+span:not(.lever):after{content:'';left:0;position:absolute;-webkit-transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;z-index:1}[type=\"checkbox\"].filled-in:not(:checked)+span:not(.lever):before{width:0;height:0;border:3px solid transparent;left:6px;top:10px;-webkit-transform:rotateZ(37deg);transform:rotateZ(37deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type=\"checkbox\"].filled-in:not(:checked)+span:not(.lever):after{height:20px;width:20px;background-color:transparent;border:2px solid #5a5a5a;top:0px;z-index:0}[type=\"checkbox\"].filled-in:checked+span:not(.lever):before{top:0;left:1px;width:8px;height:13px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #fff;border-bottom:2px solid #fff;-webkit-transform:rotateZ(37deg);transform:rotateZ(37deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type=\"checkbox\"].filled-in:checked+span:not(.lever):after{top:0;width:20px;height:20px;border:2px solid #26a69a;background-color:#26a69a;z-index:0}[type=\"checkbox\"].filled-in.tabbed:focus+span:not(.lever):after{border-radius:2px;border-color:#5a5a5a;background-color:rgba(0,0,0,0.1)}[type=\"checkbox\"].filled-in.tabbed:checked:focus+span:not(.lever):after{border-radius:2px;background-color:#26a69a;border-color:#26a69a}[type=\"checkbox\"].filled-in:disabled:not(:checked)+span:not(.lever):before{background-color:transparent;border:2px solid transparent}[type=\"checkbox\"].filled-in:disabled:not(:checked)+span:not(.lever):after{border-color:transparent;background-color:#949494}[type=\"checkbox\"].filled-in:disabled:checked+span:not(.lever):before{background-color:transparent}[type=\"checkbox\"].filled-in:disabled:checked+span:not(.lever):after{background-color:#949494;border-color:#949494}.switch,.switch *{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch label{cursor:pointer}.switch label input[type=checkbox]{opacity:0;width:0;height:0}.switch label input[type=checkbox]:checked+.lever{background-color:#84c7c1}.switch label input[type=checkbox]:checked+.lever:before,.switch label input[type=checkbox]:checked+.lever:after{left:18px}.switch label input[type=checkbox]:checked+.lever:after{background-color:#26a69a}.switch label .lever{content:\"\";display:inline-block;position:relative;width:36px;height:14px;background-color:rgba(0,0,0,0.38);border-radius:15px;margin-right:10px;-webkit-transition:background 0.3s ease;transition:background 0.3s ease;vertical-align:middle;margin:0 16px}.switch label .lever:before,.switch label .lever:after{content:\"\";position:absolute;display:inline-block;width:20px;height:20px;border-radius:50%;left:0;top:-3px;-webkit-transition:left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;transition:left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;transition:left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease;transition:left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease}.switch label .lever:before{background-color:rgba(38,166,154,0.15)}.switch label .lever:after{background-color:#F1F1F1;-webkit-box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12);box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12)}input[type=checkbox]:checked:not(:disabled) ~ .lever:active::before,input[type=checkbox]:checked:not(:disabled).tabbed:focus ~ .lever::before{-webkit-transform:scale(2.4);transform:scale(2.4);background-color:rgba(38,166,154,0.15)}input[type=checkbox]:not(:disabled) ~ .lever:active:before,input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before{-webkit-transform:scale(2.4);transform:scale(2.4);background-color:rgba(0,0,0,0.08)}.switch input[type=checkbox][disabled]+.lever{cursor:default;background-color:rgba(0,0,0,0.12)}.switch label input[type=checkbox][disabled]+.lever:after,.switch label input[type=checkbox][disabled]:checked+.lever:after{background-color:#949494}select{display:none}select.browser-default{display:block}select{background-color:rgba(255,255,255,0.9);width:100%;padding:5px;border:1px solid #f2f2f2;border-radius:2px;height:3rem}.select-label{position:absolute}.select-wrapper{position:relative}.select-wrapper.valid+label,.select-wrapper.invalid+label{width:100%;pointer-events:none}.select-wrapper input.select-dropdown{position:relative;cursor:pointer;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;outline:none;height:3rem;line-height:3rem;width:100%;font-size:16px;margin:0 0 8px 0;padding:0;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}.select-wrapper input.select-dropdown:focus{border-bottom:1px solid #26a69a}.select-wrapper .caret{position:absolute;right:0;top:0;bottom:0;margin:auto 0;z-index:0;fill:rgba(0,0,0,0.87)}.select-wrapper+label{position:absolute;top:-26px;font-size:.8rem}select:disabled{color:rgba(0,0,0,0.42)}.select-wrapper.disabled+label{color:rgba(0,0,0,0.42)}.select-wrapper.disabled .caret{fill:rgba(0,0,0,0.42)}.select-wrapper input.select-dropdown:disabled{color:rgba(0,0,0,0.42);cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-wrapper i{color:rgba(0,0,0,0.3)}.select-dropdown li.disabled,.select-dropdown li.disabled>span,.select-dropdown li.optgroup{color:rgba(0,0,0,0.3);background-color:transparent}body.keyboard-focused .select-dropdown.dropdown-content li:focus{background-color:rgba(0,0,0,0.08)}.select-dropdown.dropdown-content li:hover{background-color:rgba(0,0,0,0.08)}.select-dropdown.dropdown-content li.selected{background-color:rgba(0,0,0,0.03)}.prefix ~ .select-wrapper{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.prefix ~ label{margin-left:3rem}.select-dropdown li img{height:40px;width:40px;margin:5px 15px;float:right}.select-dropdown li.optgroup{border-top:1px solid #eee}.select-dropdown li.optgroup.selected>span{color:rgba(0,0,0,0.7)}.select-dropdown li.optgroup>span{color:rgba(0,0,0,0.4)}.select-dropdown li.optgroup ~ li.optgroup-option{padding-left:1rem}.file-field{position:relative}.file-field .file-path-wrapper{overflow:hidden;padding-left:10px}.file-field input.file-path{width:100%}.file-field .btn,.file-field .btn-large,.file-field .btn-small{float:left;height:3rem;line-height:3rem}.file-field span{cursor:pointer}.file-field input[type=file]{position:absolute;top:0;right:0;left:0;bottom:0;width:100%;margin:0;padding:0;font-size:20px;cursor:pointer;opacity:0;filter:alpha(opacity=0)}.file-field input[type=file]::-webkit-file-upload-button{display:none}.range-field{position:relative}input[type=range],input[type=range]+.thumb{cursor:pointer}input[type=range]{position:relative;background-color:transparent;border:none;outline:none;width:100%;margin:15px 0;padding:0}input[type=range]:focus{outline:none}input[type=range]+.thumb{position:absolute;top:10px;left:0;border:none;height:0;width:0;border-radius:50%;background-color:#26a69a;margin-left:7px;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}input[type=range]+.thumb .value{display:block;width:30px;text-align:center;color:#26a69a;font-size:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}input[type=range]+.thumb.active{border-radius:50% 50% 50% 0}input[type=range]+.thumb.active .value{color:#fff;margin-left:-1px;margin-top:8px;font-size:10px}input[type=range]{-webkit-appearance:none}input[type=range]::-webkit-slider-runnable-track{height:3px;background:#c2c0c2;border:none}input[type=range]::-webkit-slider-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s;-webkit-appearance:none;background-color:#26a69a;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;margin:-5px 0 0 0}.keyboard-focused input[type=range]:focus:not(.active)::-webkit-slider-thumb{-webkit-box-shadow:0 0 0 10px rgba(38,166,154,0.26);box-shadow:0 0 0 10px rgba(38,166,154,0.26)}input[type=range]{border:1px solid white}input[type=range]::-moz-range-track{height:3px;background:#c2c0c2;border:none}input[type=range]::-moz-focus-inner{border:0}input[type=range]::-moz-range-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s;margin-top:-5px}input[type=range]:-moz-focusring{outline:1px solid #fff;outline-offset:-1px}.keyboard-focused input[type=range]:focus:not(.active)::-moz-range-thumb{box-shadow:0 0 0 10px rgba(38,166,154,0.26)}input[type=range]::-ms-track{height:3px;background:transparent;border-color:transparent;border-width:6px 0;color:transparent}input[type=range]::-ms-fill-lower{background:#777}input[type=range]::-ms-fill-upper{background:#ddd}input[type=range]::-ms-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s}.keyboard-focused input[type=range]:focus:not(.active)::-ms-thumb{box-shadow:0 0 0 10px rgba(38,166,154,0.26)}.table-of-contents.fixed{position:fixed}.table-of-contents li{padding:2px 0}.table-of-contents a{display:inline-block;font-weight:300;color:#757575;padding-left:16px;height:1.5rem;line-height:1.5rem;letter-spacing:.4;display:inline-block}.table-of-contents a:hover{color:#a8a8a8;padding-left:15px;border-left:1px solid #ee6e73}.table-of-contents a.active{font-weight:500;padding-left:14px;border-left:2px solid #ee6e73}.sidenav{position:fixed;width:300px;left:0;top:0;margin:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);height:100%;height:calc(100% + 60px);height:-moz-calc(100%);padding-bottom:60px;background-color:#fff;z-index:999;overflow-y:auto;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateX(-105%);transform:translateX(-105%)}.sidenav.right-aligned{right:0;-webkit-transform:translateX(105%);transform:translateX(105%);left:auto;-webkit-transform:translateX(100%);transform:translateX(100%)}.sidenav .collapsible{margin:0}.sidenav li{float:none;line-height:48px}.sidenav li.active{background-color:rgba(0,0,0,0.05)}.sidenav li>a{color:rgba(0,0,0,0.87);display:block;font-size:14px;font-weight:500;height:48px;line-height:48px;padding:0 32px}.sidenav li>a:hover{background-color:rgba(0,0,0,0.05)}.sidenav li>a.btn,.sidenav li>a.btn-large,.sidenav li>a.btn-small,.sidenav li>a.btn-large,.sidenav li>a.btn-flat,.sidenav li>a.btn-floating{margin:10px 15px}.sidenav li>a.btn,.sidenav li>a.btn-large,.sidenav li>a.btn-small,.sidenav li>a.btn-large,.sidenav li>a.btn-floating{color:#fff}.sidenav li>a.btn-flat{color:#343434}.sidenav li>a.btn:hover,.sidenav li>a.btn-large:hover,.sidenav li>a.btn-small:hover,.sidenav li>a.btn-large:hover{background-color:#2bbbad}.sidenav li>a.btn-floating:hover{background-color:#26a69a}.sidenav li>a>i,.sidenav li>a>[class^=\"mdi-\"],.sidenav li>a li>a>[class*=\"mdi-\"],.sidenav li>a>i.material-icons{float:left;height:48px;line-height:48px;margin:0 32px 0 0;width:24px;color:rgba(0,0,0,0.54)}.sidenav .divider{margin:8px 0 0 0}.sidenav .subheader{cursor:initial;pointer-events:none;color:rgba(0,0,0,0.54);font-size:14px;font-weight:500;line-height:48px}.sidenav .subheader:hover{background-color:transparent}.sidenav .user-view{position:relative;padding:32px 32px 0;margin-bottom:8px}.sidenav .user-view>a{height:auto;padding:0}.sidenav .user-view>a:hover{background-color:transparent}.sidenav .user-view .background{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.sidenav .user-view .circle,.sidenav .user-view .name,.sidenav .user-view .email{display:block}.sidenav .user-view .circle{height:64px;width:64px}.sidenav .user-view .name,.sidenav .user-view .email{font-size:14px;line-height:24px}.sidenav .user-view .name{margin-top:16px;font-weight:500}.sidenav .user-view .email{padding-bottom:16px;font-weight:400}.drag-target{height:100%;width:10px;position:fixed;top:0;z-index:998}.drag-target.right-aligned{right:0}.sidenav.sidenav-fixed{left:0;-webkit-transform:translateX(0);transform:translateX(0);position:fixed}.sidenav.sidenav-fixed.right-aligned{right:0;left:auto}@media only screen and (max-width: 992px){.sidenav.sidenav-fixed{-webkit-transform:translateX(-105%);transform:translateX(-105%)}.sidenav.sidenav-fixed.right-aligned{-webkit-transform:translateX(105%);transform:translateX(105%)}.sidenav>a{padding:0 16px}.sidenav .user-view{padding:16px 16px 0}}.sidenav .collapsible-body>ul:not(.collapsible)>li.active,.sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active{background-color:#ee6e73}.sidenav .collapsible-body>ul:not(.collapsible)>li.active a,.sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active a{color:#fff}.sidenav .collapsible-body{padding:0}.sidenav-overlay{position:fixed;top:0;left:0;right:0;opacity:0;height:120vh;background-color:rgba(0,0,0,0.5);z-index:997;display:none}.preloader-wrapper{display:inline-block;position:relative;width:50px;height:50px}.preloader-wrapper.small{width:36px;height:36px}.preloader-wrapper.big{width:64px;height:64px}.preloader-wrapper.active{-webkit-animation:container-rotate 1568ms linear infinite;animation:container-rotate 1568ms linear infinite}@-webkit-keyframes container-rotate{to{-webkit-transform:rotate(360deg)}}@keyframes container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-layer{position:absolute;width:100%;height:100%;opacity:0;border-color:#26a69a}.spinner-blue,.spinner-blue-only{border-color:#4285f4}.spinner-red,.spinner-red-only{border-color:#db4437}.spinner-yellow,.spinner-yellow-only{border-color:#f4b400}.spinner-green,.spinner-green-only{border-color:#0f9d58}.active .spinner-layer.spinner-blue{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-red{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-yellow{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-green{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer,.active .spinner-layer.spinner-blue-only,.active .spinner-layer.spinner-red-only,.active .spinner-layer.spinner-yellow-only,.active .spinner-layer.spinner-green-only{opacity:1;-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}@-webkit-keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg)}}@keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@-webkit-keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@-webkit-keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@-webkit-keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}@keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}.gap-patch{position:absolute;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.gap-patch .circle{width:1000%;left:-450%}.circle-clipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.circle-clipper .circle{width:200%;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent !important;border-radius:50%;-webkit-animation:none;animation:none;position:absolute;top:0;right:0;bottom:0}.circle-clipper.left .circle{left:0;border-right-color:transparent !important;-webkit-transform:rotate(129deg);transform:rotate(129deg)}.circle-clipper.right .circle{left:-100%;border-left-color:transparent !important;-webkit-transform:rotate(-129deg);transform:rotate(-129deg)}.active .circle-clipper.left .circle{-webkit-animation:left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .circle-clipper.right .circle{-webkit-animation:right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}@-webkit-keyframes left-spin{from{-webkit-transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg)}}@keyframes left-spin{from{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@-webkit-keyframes right-spin{from{-webkit-transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg)}}@keyframes right-spin{from{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}#spinnerContainer.cooldown{-webkit-animation:container-rotate 1568ms linear infinite,fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);animation:container-rotate 1568ms linear infinite,fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1)}@-webkit-keyframes fade-out{from{opacity:1}to{opacity:0}}@keyframes fade-out{from{opacity:1}to{opacity:0}}.slider{position:relative;height:400px;width:100%}.slider.fullscreen{height:100%;width:100%;position:absolute;top:0;left:0;right:0;bottom:0}.slider.fullscreen ul.slides{height:100%}.slider.fullscreen ul.indicators{z-index:2;bottom:30px}.slider .slides{background-color:#9e9e9e;margin:0;height:400px}.slider .slides li{opacity:0;position:absolute;top:0;left:0;z-index:1;width:100%;height:inherit;overflow:hidden}.slider .slides li img{height:100%;width:100%;background-size:cover;background-position:center}.slider .slides li .caption{color:#fff;position:absolute;top:15%;left:15%;width:70%;opacity:0}.slider .slides li .caption p{color:#e0e0e0}.slider .slides li.active{z-index:2}.slider .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.slider .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:16px;width:16px;margin:0 12px;background-color:#e0e0e0;-webkit-transition:background-color .3s;transition:background-color .3s;border-radius:50%}.slider .indicators .indicator-item.active{background-color:#4CAF50}.carousel{overflow:hidden;position:relative;width:100%;height:400px;-webkit-perspective:500px;perspective:500px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transform-origin:0% 50%;transform-origin:0% 50%}.carousel.carousel-slider{top:0;left:0}.carousel.carousel-slider .carousel-fixed-item{position:absolute;left:0;right:0;bottom:20px;z-index:1}.carousel.carousel-slider .carousel-fixed-item.with-indicators{bottom:68px}.carousel.carousel-slider .carousel-item{width:100%;height:100%;min-height:400px;position:absolute;top:0;left:0}.carousel.carousel-slider .carousel-item h2{font-size:24px;font-weight:500;line-height:32px}.carousel.carousel-slider .carousel-item p{font-size:15px}.carousel .carousel-item{visibility:hidden;width:200px;height:200px;position:absolute;top:0;left:0}.carousel .carousel-item>img{width:100%}.carousel .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.carousel .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:8px;width:8px;margin:24px 4px;background-color:rgba(255,255,255,0.5);-webkit-transition:background-color .3s;transition:background-color .3s;border-radius:50%}.carousel .indicators .indicator-item.active{background-color:#fff}.carousel.scrolling .carousel-item .materialboxed,.carousel .carousel-item:not(.active) .materialboxed{pointer-events:none}.tap-target-wrapper{width:800px;height:800px;position:fixed;z-index:1000;visibility:hidden;-webkit-transition:visibility 0s .3s;transition:visibility 0s .3s}.tap-target-wrapper.open{visibility:visible;-webkit-transition:visibility 0s;transition:visibility 0s}.tap-target-wrapper.open .tap-target{-webkit-transform:scale(1);transform:scale(1);opacity:.95;-webkit-transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1)}.tap-target-wrapper.open .tap-target-wave::before{-webkit-transform:scale(1);transform:scale(1)}.tap-target-wrapper.open .tap-target-wave::after{visibility:visible;-webkit-animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;-webkit-transition:opacity .3s,\r visibility 0s 1s,\r -webkit-transform .3s;transition:opacity .3s,\r visibility 0s 1s,\r -webkit-transform .3s;transition:opacity .3s,\r transform .3s,\r visibility 0s 1s;transition:opacity .3s,\r transform .3s,\r visibility 0s 1s,\r -webkit-transform .3s}.tap-target{position:absolute;font-size:1rem;border-radius:50%;background-color:#ee6e73;-webkit-box-shadow:0 20px 20px 0 rgba(0,0,0,0.14),0 10px 50px 0 rgba(0,0,0,0.12),0 30px 10px -20px rgba(0,0,0,0.2);box-shadow:0 20px 20px 0 rgba(0,0,0,0.14),0 10px 50px 0 rgba(0,0,0,0.12),0 30px 10px -20px rgba(0,0,0,0.2);width:100%;height:100%;opacity:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1)}.tap-target-content{position:relative;display:table-cell}.tap-target-wave{position:absolute;border-radius:50%;z-index:10001}.tap-target-wave::before,.tap-target-wave::after{content:'';display:block;position:absolute;width:100%;height:100%;border-radius:50%;background-color:#ffffff}.tap-target-wave::before{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s, -webkit-transform .3s}.tap-target-wave::after{visibility:hidden;-webkit-transition:opacity .3s,\r visibility 0s,\r -webkit-transform .3s;transition:opacity .3s,\r visibility 0s,\r -webkit-transform .3s;transition:opacity .3s,\r transform .3s,\r visibility 0s;transition:opacity .3s,\r transform .3s,\r visibility 0s,\r -webkit-transform .3s;z-index:-1}.tap-target-origin{top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);z-index:10002;position:absolute !important}.tap-target-origin:not(.btn):not(.btn-large):not(.btn-small),.tap-target-origin:not(.btn):not(.btn-large):not(.btn-small):hover{background:none}@media only screen and (max-width: 600px){.tap-target,.tap-target-wrapper{width:600px;height:600px}}.pulse{overflow:visible;position:relative}.pulse::before{content:'';display:block;position:absolute;width:100%;height:100%;top:0;left:0;background-color:inherit;border-radius:inherit;-webkit-transition:opacity .3s, -webkit-transform .3s;transition:opacity .3s, -webkit-transform .3s;transition:opacity .3s, transform .3s;transition:opacity .3s, transform .3s, -webkit-transform .3s;-webkit-animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;z-index:-1}@-webkit-keyframes pulse-animation{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}100%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}}@keyframes pulse-animation{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}100%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}}.datepicker-modal{max-width:325px;min-width:300px;max-height:none}.datepicker-container.modal-content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:0}.datepicker-controls{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:280px;margin:0 auto}.datepicker-controls .selects-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.datepicker-controls .select-wrapper input{border-bottom:none;text-align:center;margin:0}.datepicker-controls .select-wrapper input:focus{border-bottom:none}.datepicker-controls .select-wrapper .caret{display:none}.datepicker-controls .select-year input{width:50px}.datepicker-controls .select-month input{width:70px}.month-prev,.month-next{margin-top:4px;cursor:pointer;background-color:transparent;border:none}.datepicker-date-display{-webkit-box-flex:1;-webkit-flex:1 auto;-ms-flex:1 auto;flex:1 auto;background-color:#26a69a;color:#fff;padding:20px 22px;font-weight:500}.datepicker-date-display .year-text{display:block;font-size:1.5rem;line-height:25px;color:rgba(255,255,255,0.7)}.datepicker-date-display .date-text{display:block;font-size:2.8rem;line-height:47px;font-weight:500}.datepicker-calendar-container{-webkit-box-flex:2.5;-webkit-flex:2.5 auto;-ms-flex:2.5 auto;flex:2.5 auto}.datepicker-table{width:280px;font-size:1rem;margin:0 auto}.datepicker-table thead{border-bottom:none}.datepicker-table th{padding:10px 5px;text-align:center}.datepicker-table tr{border:none}.datepicker-table abbr{text-decoration:none;color:#999}.datepicker-table td{border-radius:50%;padding:0}.datepicker-table td.is-today{color:#26a69a}.datepicker-table td.is-selected{background-color:#26a69a;color:#fff}.datepicker-table td.is-outside-current-month,.datepicker-table td.is-disabled{color:rgba(0,0,0,0.3);pointer-events:none}.datepicker-day-button{background-color:transparent;border:none;line-height:38px;display:block;width:100%;border-radius:50%;padding:0 5px;cursor:pointer;color:inherit}.datepicker-day-button:focus{background-color:rgba(43,161,150,0.25)}.datepicker-footer{width:280px;margin:0 auto;padding-bottom:5px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.datepicker-cancel,.datepicker-clear,.datepicker-today,.datepicker-done{color:#26a69a;padding:0 1rem}.datepicker-clear{color:#F44336}@media only screen and (min-width: 601px){.datepicker-modal{max-width:625px}.datepicker-container.modal-content{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.datepicker-date-display{-webkit-box-flex:0;-webkit-flex:0 1 270px;-ms-flex:0 1 270px;flex:0 1 270px}.datepicker-controls,.datepicker-table,.datepicker-footer{width:320px}.datepicker-day-button{line-height:44px}}.timepicker-modal{max-width:325px;max-height:none}.timepicker-container.modal-content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:0}.text-primary{color:#fff}.timepicker-digital-display{-webkit-box-flex:1;-webkit-flex:1 auto;-ms-flex:1 auto;flex:1 auto;background-color:#26a69a;padding:10px;font-weight:300}.timepicker-text-container{font-size:4rem;font-weight:bold;text-align:center;color:rgba(255,255,255,0.6);font-weight:400;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.timepicker-span-hours,.timepicker-span-minutes,.timepicker-span-am-pm div{cursor:pointer}.timepicker-span-hours{margin-right:3px}.timepicker-span-minutes{margin-left:3px}.timepicker-display-am-pm{font-size:1.3rem;position:absolute;right:1rem;bottom:1rem;font-weight:400}.timepicker-analog-display{-webkit-box-flex:2.5;-webkit-flex:2.5 auto;-ms-flex:2.5 auto;flex:2.5 auto}.timepicker-plate{background-color:#eee;border-radius:50%;width:270px;height:270px;overflow:visible;position:relative;margin:auto;margin-top:25px;margin-bottom:5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.timepicker-canvas,.timepicker-dial{position:absolute;left:0;right:0;top:0;bottom:0}.timepicker-minutes{visibility:hidden}.timepicker-tick{border-radius:50%;color:rgba(0,0,0,0.87);line-height:40px;text-align:center;width:40px;height:40px;position:absolute;cursor:pointer;font-size:15px}.timepicker-tick.active,.timepicker-tick:hover{background-color:rgba(38,166,154,0.25)}.timepicker-dial{-webkit-transition:opacity 350ms, -webkit-transform 350ms;transition:opacity 350ms, -webkit-transform 350ms;transition:transform 350ms, opacity 350ms;transition:transform 350ms, opacity 350ms, -webkit-transform 350ms}.timepicker-dial-out{opacity:0}.timepicker-dial-out.timepicker-hours{-webkit-transform:scale(1.1, 1.1);transform:scale(1.1, 1.1)}.timepicker-dial-out.timepicker-minutes{-webkit-transform:scale(0.8, 0.8);transform:scale(0.8, 0.8)}.timepicker-canvas{-webkit-transition:opacity 175ms;transition:opacity 175ms}.timepicker-canvas line{stroke:#26a69a;stroke-width:4;stroke-linecap:round}.timepicker-canvas-out{opacity:0.25}.timepicker-canvas-bearing{stroke:none;fill:#26a69a}.timepicker-canvas-bg{stroke:none;fill:#26a69a}.timepicker-footer{margin:0 auto;padding:5px 1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.timepicker-clear{color:#F44336}.timepicker-close{color:#26a69a}.timepicker-clear,.timepicker-close{padding:0 20px}@media only screen and (min-width: 601px){.timepicker-modal{max-width:600px}.timepicker-container.modal-content{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.timepicker-text-container{top:32%}.timepicker-display-am-pm{position:relative;right:auto;bottom:auto;text-align:center;margin-top:1.2rem}}\n","@media only screen and (min-width: 601px) {\n .container {\n width: 95%;\n }\n}\n\n.container {\n max-width: unset;\n}\nbody {\n font-size: 18px;\n overflow-x: hidden;\n}\n\n/* Set theme color */\n.btn,\n.btn-floating {\n background-color: #1565c0;\n}\n.page-footer,\n.nav-wrapper,\n.statusbar,\n.nav-content {\n background-color: white;\n}\nnav .title {\n position: fixed;\n top: 0;\n left: 200px;\n font-size: 2rem;\n}\n.input-field,\n.switch > label,\n.input-field > label,\n.input-field > .material-icons,\n.dropdown-content > li > a,\n.tooltip > .material-icons,\nlabel > span,\n.secondary-content > .material-icons {\n color: #1a237e;\n /* font-weight: bold; */\n}\n.tabs.tabs-transparent .tab a,\nnav ul a {\n /* font-weight: bold; */\n color: #1a237e;\n padding: 0;\n}\n.primary-text {\n color: #1a237e;\n}\na {\n color: #2b36aa;\n}\n\n.markdown ul {\n padding-left: 20px;\n}\n.markdown ul > li {\n padding-left: 20px;\n list-style-type: disc;\n}\n.leaflet-top,\n.leaflet-bottom {\n z-index: 950;\n}\n\n/* styles for '...' */\n.block-with-text {\n /* hide text if it more than N lines */\n overflow: hidden;\n /* for set '...' in absolute position */\n position: relative;\n /* use this value to count block height */\n line-height: 1.2em;\n /* max-height = line-height (1.2) * lines max number (3) */\n max-height: 3.6em;\n /* fix problem when last visible word doesn't adjoin right side */\n text-align: justify;\n\n /* */\n margin-right: -1em;\n padding-right: 1em;\n}\n.block-with-text:before {\n /* points in the end */\n content: '...';\n /* absolute position */\n position: absolute;\n /* set position to right bottom corner of block */\n right: 0;\n bottom: 0;\n}\n.block-with-text:after {\n /* points in the end */\n content: '';\n /* absolute position */\n position: absolute;\n /* set position to right bottom corner of text */\n right: 0;\n width: 1em;\n /* set width and height */\n height: 1em;\n margin-top: 0.2em;\n background: white;\n}\n.sidenav {\n top: 66px;\n}\n.buttons a {\n margin: 5px;\n}\n\n/* print styles */\n@media print {\n html,\n body {\n font-size: 14px;\n }\n body {\n margin: 0;\n color: #000;\n background-color: #fff;\n }\n a[href^='http']::after {\n content: ' (' attr(href) ')';\n }\n .leaflet-container,\n img,\n pre,\n blockquote {\n page-break-inside: avoid;\n page-break-before: auto; /* 'always,' 'avoid,' 'left,' 'inherit,' or 'right' */\n page-break-after: auto; /* 'always,' 'avoid,' 'left,' 'inherit,' or 'right' */\n page-break-inside: avoid; /* or 'auto' */\n }\n main::after {\n content: 'Copyright DRIVER+';\n display: block;\n text-align: center;\n }\n .do-not-print,\n header,\n footer,\n aside,\n nav,\n form,\n iframe,\n .menu,\n .hero,\n .adslot {\n display: none;\n }\n}\n\n.margin-top7 {\n margin-top: 7px;\n}\n.inline {\n display: inline-block;\n margin: 0 1rem;\n}\nul.list-inline li {\n display: inline;\n}\nul.menu-buttons > li {\n margin: 5px 0;\n}\nul.menu-buttons > li > a {\n width: 100%;\n}\nul.questionnaire-nav {\n width: 100%;\n text-align: center;\n}\nul.questionnaire-nav > li {\n margin: 0 10px;\n}\nul.questionnaire-nav > li > a {\n width: 25%;\n}\n.markdown p {\n color: black;\n font-weight: normal;\n}\n.markdown.squeeze p {\n margin: 0;\n}\n\n.repeat-list .pagination {\n margin: 0;\n}\n\n.repeat-list .assessment-plugin {\n margin: 0 10px;\n}\n\n.incident-view {\n margin-bottom: 0;\n position: absolute;\n top: 65px;\n left: -10px;\n width: 100vw;\n}\n.card-panel {\n cursor: pointer;\n padding: 0 20px;\n margin: 0.5rem 0 0.5rem 0;\n}\n.card-panel.xl {\n height: 41.5vh;\n}\n.card-panel.large {\n height: 200px;\n}\n.card-panel.medium {\n height: 125px;\n}\n.card-panel.small {\n height: 75px;\n}\n.widget {\n position: relative;\n}\n.widget ul {\n margin: 0px;\n}\n.widget-link {\n display: none;\n}\n.widget:hover .widget-link {\n display: block;\n}\n.bold {\n font-weight: bold;\n}\n.subject {\n position: absolute;\n width: 42px;\n /* height: 42px; */\n overflow: hidden;\n left: 15px;\n display: inline-block;\n vertical-align: middle;\n}\nul.collection.objects,\nul.collection.subjects {\n max-height: 160px;\n overflow-y: auto;\n}\n\nul.updates {\n max-height: 70px;\n overflow-y: auto;\n}\n\nul.measures {\n max-height: 170px;\n overflow-y: auto;\n}\n\nli.collection-item:first-child {\n background-color: white; /* should be the same as the background color behind the list */\n position: fixed;\n}\n\n/* Begin scrollbar */\n\n/* width */\n::-webkit-scrollbar {\n width: 5px;\n}\n\n/* Track */\n::-webkit-scrollbar-track {\n background: #f1f1f1;\n}\n\n/* Handle */\n::-webkit-scrollbar-thumb {\n background: #888;\n}\n\n/* Handle on hover */\n::-webkit-scrollbar-thumb:hover {\n background: #555;\n}\n\n/* Eind scrollbar */\n\n.radio {\n margin-top: 2rem;\n}\n.material-placeholder {\n z-index: 1999;\n}\n.materialbox-overlay {\n z-index: 2000;\n}\n.incident-view .leaflet-container {\n height: 200px !important;\n}\n#map-page .leaflet-container {\n width: 100vw;\n margin-left: -130px;\n margin-bottom: -65px;\n height: 91vh !important;\n}\n\n.material-icons.hoverable {\n text-align: center;\n cursor: pointer;\n}\n.material-icons.hoverable:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n\n.card-title {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n\n.comment {\n background-color: lightgrey;\n padding: 10px;\n margin: 10px 0;\n border-radius: 10px;\n}\n\n.comment-text p {\n margin: 0;\n}\n\n/** Tooltips */\n/* Tooltip container */\n.tooltip {\n position: relative;\n display: inline-block;\n /* border-bottom: 1px dotted black; /* If you want dots under the hoverable text */\n}\n\n/* Tooltip text */\n.tooltip .tooltiptext {\n visibility: hidden;\n width: 320px;\n background-color: black;\n color: #fff;\n text-align: center;\n padding: 5px;\n border-radius: 6px;\n font-size: 1rem;\n line-height: 2rem;\n /* Position the tooltip text - see examples below! */\n position: absolute;\n z-index: 1;\n}\n\n/* Show the tooltip text when you mouse over the tooltip container */\n.tooltip:hover .tooltiptext {\n visibility: visible;\n}\n\n.tooltip .tooltiptext {\n width: 150px;\n margin-left: -75px; /* Use half of the width to center the tooltip */\n top: 100%;\n left: 50%;\n}\n/** End Tooltips */\n\n.user-page {\n margin-top: 10px;\n}\n/* .user-card .card .card-title {\n width: 70%;\n} */\n.multiple-choice-question label span {\n color: #000000;\n}\n\n/**\nHorizontal scrollable list of cards\nSource: https://codepen.io/dannievinther/pen/vVydZJ\n*/\n:root {\n --gutter: 10px;\n}\n\n.hs-container {\n /* padding: var(--gutter) 0; */\n width: 100%;\n height: 100%;\n /* display: grid;\n place-items: center; */\n grid-gap: var(--gutter) 0;\n grid-template-columns: var(--gutter) 1fr var(--gutter);\n align-content: start;\n}\n\n.hs-container > * {\n grid-column: 2 / -2;\n}\n\n.hs-container > .full {\n grid-column: 1 / -1;\n}\n\n.hs-header {\n padding-top: 10px;\n margin-bottom: -25px;\n}\n\n.hs > li,\n.item {\n scroll-snap-align: center;\n padding: calc(var(--gutter) / 2 * 1.5);\n /* padding-bottom: 10px; */\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n.hs {\n display: grid;\n grid-gap: calc(var(--gutter) / 2);\n grid-template-columns: 0px;\n grid-template-rows: minmax(150px, 1fr);\n grid-auto-flow: column;\n grid-auto-columns: calc(24% - var(--gutter) * 2);\n\n overflow-x: scroll;\n overflow-y: hidden;\n scroll-snap-type: x proximity;\n padding-bottom: calc(0.1 * var(--gutter));\n margin-bottom: calc(-0.25 * var(--gutter));\n}\n\n.hs:before,\n.hs:after {\n content: '';\n width: 10px;\n}\n\n.hs-item {\n width: 100%;\n}\n\n.section-wrapper {\n color: #777;\n margin-top: 20px;\n border-top: 1px solid rgba(0, 0, 0, 0.14);\n -webkit-transition: margin 0.25s ease;\n transition: margin 0.25s ease;\n}\n\nimg.thumbnail {\n width: auto;\n height: 100%;\n max-height: 20vh;\n margin: 0 auto;\n}\n\n.sidenav {\n width: 250px;\n}\n\nul.person-details > li > i.material-icons {\n vertical-align: middle;\n margin: 3px 10px 3px 0;\n}\n\nul.projects > li {\n margin: 4px 0;\n}\n\nul.projects > li > span.project-id {\n margin-right: 5px;\n}\n\n.collapsible > li:first-child .collapsible-header span.badge {\n margin-left: 10px;\n}\n\n/* For the options' label */\n.input-field.options > label {\n top: -2.5rem;\n}\n.input-field.options {\n margin-top: 3rem;\n}\n\n.condensed .input-field {\n margin: 0 auto;\n}\n\n.assessment-plugin.section {\n padding: 0;\n}\n.inline-icon {\n vertical-align: bottom;\n /* font-size: 20px !important; */\n}\n\n.margins {\n margin: 10px;\n}\n\n.overview .capability {\n margin-right: 2rem;\n display: flex;\n width: 100%;\n white-space: nowrap;\n}\n.overview .capability .name {\n flex-grow: 1;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n.overview .square {\n flex: 0 0 20px;\n height: 20px;\n width: 20px;\n background-color: #555;\n border: solid black 2px;\n margin-top: 5px;\n margin-right: 8px;\n}\n\n.page .row {\n margin-bottom: 0;\n}\n.page {\n min-height: 95vh;\n padding-bottom: 20px;\n}\nlabel,\n.pagination li,\n.material-icons,\n.unselectable {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.chips {\n margin-top: 0;\n}\n\na.waves-effect.waves-teal.btn-flat.selected {\n background: #1a237e;\n color: white;\n}\n\n.input-field > label:not(.label-icon).active {\n -webkit-transform: translateY(-8px) scale(0.8);\n transform: translateY(-8px) scale(0.8);\n -webkit-transform-origin: 0 0;\n transform-origin: 0 0;\n}\n.input-field > input[type='color'] {\n margin-top: 20px;\n}\n\n.button-group {\n display: flex;\n flex-flow: nowrap;\n flex-direction: row;\n}\n\n.language-option {\n display: inline-block;\n margin-right: 10px;\n}\n\n.language-option img {\n width: 30px;\n height: 20px;\n cursor: pointer;\n}\n\n.language-option span {\n display: none;\n position: absolute;\n background-color: #000;\n color: #fff;\n padding: 5px;\n font-size: 14px;\n border-radius: 5px;\n margin-top: 5px;\n margin-left: 5px;\n white-space: nowrap;\n z-index: 100;\n}\n\n.language-option:hover span {\n display: block;\n}\n\n.clickable {\n cursor: pointer;\n}\n\n.disabled-image {\n filter: grayscale(100%);\n opacity: 0.5;\n pointer-events: none;\n}\n\n.kanban {\n display: flex;\n flex-flow: row wrap;\n /* justify-content: auto; */\n padding: 0;\n margin: 0;\n list-style: none;\n}\n.kanban-row {\n /* background-color: lightblue; */\n display: flex;\n flex-flow: column nowrap;\n padding: 0;\n margin-top: 10px;\n list-style: none;\n height: 100%;\n width: 210px;\n}\n.kanban-header {\n width: 100%;\n height: 50px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.kanban-item {\n padding: 0px;\n min-width: 200px;\n width: 200px;\n height: 60px;\n margin: 0 0 0.7rem 0;\n color: white;\n text-align: center;\n\n & .card-content {\n font-size: 0.8rem;\n padding: 15px 10px;\n & > .card-title {\n margin-bottom: 0;\n }\n }\n & .card-desc {\n display: none;\n font-size: 0.9rem;\n padding: 4px;\n transition-delay: 4s;\n text-align: left;\n white-space: normal;\n word-wrap: break-word;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n &:hover .card-desc {\n display: block;\n transition-delay: 4s;\n }\n}\n.title {\n font-size: 1.25rem;\n font-weight: 500;\n letter-spacing: 0.0125em;\n}\n.w70 {\n width: 70%;\n}\n.w30 {\n width: 30%;\n}\n.mw30 {\n min-width: 30%;\n}\n.ml10 {\n margin-left: 10px;\n}\n.mt5 {\n margin-top: 5px;\n}\n.mt10 {\n margin-top: 10px;\n}\n.mt25 {\n margin-top: 25px;\n}\n.mb0 {\n margin-bottom: 0;\n}\n.no-gutter {\n margin: 0;\n}\n.top-right {\n position: absolute;\n top: 0;\n right: 0;\n}\n.top-right-next {\n position: absolute;\n top: 4px;\n right: 35px;\n}\nul.kanban > li {\n margin-bottom: 10px;\n}\n.inconsistencies-settings {\n height: 90vh;\n}\n.show-scenario,\n.create-scenario {\n padding-top: 1rem;\n height: calc(100vh - 84px);\n}\n.create-scenario .row {\n margin-bottom: 0;\n}\n#editor {\n min-height: 150px;\n}\n.scenario-table .input-field {\n margin-bottom: 0;\n}\n.scenario-table .material-icons {\n margin-top: 1.6rem;\n margin-left: 5px;\n}\n.scenario-table .icons {\n display: flex;\n flex-wrap: nowrap;\n justify-content: right;\n align-items: flex-start;\n}\n.narratives {\n border: solid #dbe2e0;\n border-radius: 10px;\n margin: 10px;\n padding: 10px;\n}\n\n.popupContainer {\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100%;\n background-color: #fcffa5;\n font-size: 2rem;\n box-shadow: 0px -5px 5px rgba(0, 0, 0, 0.3);\n /* display: none; Hide the popup by default */\n}\n\n.popupContainer > .popupContent {\n padding: 20px;\n}\n\n.markdown h1 {\n margin: 1.5rem 0 1rem 0;\n font-size: 2.2em;\n}\n\n.markdown h2 {\n font-size: 2em;\n}\n\n.markdown h3 {\n font-size: 1.6em;\n}\n\n.markdown h4 {\n font-size: 1.4em;\n}\n\n.markdown h5 {\n font-size: 1.2em;\n}\n\n#toc {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.markdown h6 {\n font-size: 1em;\n}\n.markdown aside {\n padding: 0 20px;\n box-sizing: border-box;\n}\n\n.markdown main {\n flex: 1;\n padding: 20px;\n box-sizing: border-box;\n}\n\n.markdown header {\n text-align: center;\n padding: 10px 40px;\n background-color: #f2f2f2;\n border-radius: 20px;\n}\n\n.markdown nav ul {\n list-style-type: none;\n padding: 0;\n}\n\n.markdown nav ul li {\n margin-bottom: 10px;\n}\n\n@media only screen and (min-width: 993px) {\n table.repoonsive-table td.missing {\n height: 57px;\n }\n table.responsive-table {\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n display: block;\n position: relative;\n /* sort out borders */\n }\n table.responsive-table td:empty:before {\n content: '\\00a0';\n }\n table.responsive-table th,\n table.responsive-table td {\n margin: 0;\n vertical-align: top;\n }\n table.responsive-table th {\n text-align: left;\n }\n table.responsive-table thead {\n display: block;\n float: left;\n }\n table.responsive-table thead tr {\n display: block;\n padding: 0 10px 0 0;\n }\n table.responsive-table thead tr th::before {\n content: '\\00a0';\n }\n table.responsive-table tbody {\n display: block;\n width: auto;\n position: relative;\n overflow-x: auto;\n white-space: nowrap;\n }\n table.responsive-table tbody tr {\n display: inline-block;\n vertical-align: top;\n }\n table.responsive-table th {\n display: block;\n text-align: right;\n }\n table.responsive-table td {\n display: block;\n min-height: 1.25em;\n text-align: left;\n }\n table.responsive-table tr {\n border-bottom: none;\n /* padding: 0 10px; */\n }\n table.responsive-table td,\n table.responsive-table th {\n padding: 15px 10px;\n }\n table.responsive-table thead {\n border: 0;\n border-right: 1px solid rgba(0, 0, 0, 0.12);\n }\n}\n.table-container {\n width: 100%; /* or a fixed width */\n margin: 0 auto; /* center the container */\n text-align: center; /* center the table inside the container */\n}\n.table {\n display: inline-block; /* make the table an inline-block element */\n text-align: left; /* reset the text alignment */\n}\n\n.missing {\n height: 57px;\n}\n\n.decision-support table.responsive-table > tbody > tr:last-child {\n background: #e8f4f7;\n}\n\n.decision-support td:nth-child(2),\n.decision-support th:nth-child(2),\n.decision-support td:nth-child(3),\n.decision-support th:nth-child(3),\n.decision-support td:nth-child(4),\n.decision-support th:nth-child(4) {\n background: #e8f4f7;\n}\n\n#editor {\n font-size: 18px;\n}\n.ql-editor strong {\n font-weight: bold;\n}\n.ql-editor em {\n font-style: italic;\n}\n.ql-editor u {\n text-decoration: underline;\n}\n.show-scenario .ql-container.ql-snow {\n border: none;\n}\n\n.show-scenario .ql-editor {\n padding: 30px 0;\n}\n\n.show-scenario #editor {\n font-size: 24px;\n}\n\n.show-scenario div.input-field.select-space.left.mb0.mw30 input {\n font-size: 42px;\n}\n\n.show-scenario .select-wrapper input.select-dropdown {\n border: none;\n}\n.select-inline {\n display: inline-block;\n margin: 0 0em;\n /* margin: 0 0.3em; */\n padding-left: 6px;\n /* background-color: #f0f0f0; */\n /* border: 1px solid #ccc; */\n /* border-radius: 3px; */\n font-size: inherit;\n}\n.select-inline > label {\n display: none;\n}\n.select-inline input.select-dropdown {\n /* border-bottom: none; */\n margin: 0px;\n padding: 0;\n height: 2rem;\n}\n.scenario-paragraph {\n font-size: 24px;\n margin-bottom: 1rem;\n}\n","/*!\n * Quill Editor v2.0.2\n * https://quilljs.com\n * Copyright (c) 2017-2024, Slab\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */\n.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked] > .ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked] > .ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor > *{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li > .ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked] > .ql-ui,.ql-editor li[data-list=unchecked] > .ql-ui{color:#777}.ql-editor li[data-list=bullet] > .ql-ui:before{content:'\\2022'}.ql-editor li[data-list=checked] > .ql-ui:before{content:'\\2611'}.ql-editor li[data-list=unchecked] > .ql-ui:before{content:'\\2610'}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered] > .ql-ui:before{content:counter(list-0, decimal) '. '}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1 > .ql-ui:before{content:counter(list-1, lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2 > .ql-ui:before{content:counter(list-2, lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3 > .ql-ui:before{content:counter(list-3, decimal) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4 > .ql-ui:before{content:counter(list-4, lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5 > .ql-ui:before{content:counter(list-5, lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6 > .ql-ui:before{content:counter(list-6, decimal) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7 > .ql-ui:before{content:counter(list-7, lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8 > .ql-ui:before{content:counter(list-8, lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9 > .ql-ui:before{content:counter(list-9, decimal) '. '}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl > .ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank::before{color:rgba(0,0,0,0.6);content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:'';display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow{box-sizing:border-box}.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:'';display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label::before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label::before,.ql-snow .ql-picker.ql-header .ql-picker-item::before{content:'Normal'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"1\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]::before{content:'Heading 1'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"2\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]::before{content:'Heading 2'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"3\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]::before{content:'Heading 3'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"4\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]::before{content:'Heading 4'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"5\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]::before{content:'Heading 5'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"6\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]::before{content:'Heading 6'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]::before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]::before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]::before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]::before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]::before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]::before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label::before,.ql-snow .ql-picker.ql-font .ql-picker-item::before{content:'Sans Serif'}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before{content:'Serif'}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before{content:'Monospace'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label::before,.ql-snow .ql-picker.ql-size .ql-picker-item::before{content:'Normal'}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before{content:'Small'}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before{content:'Large'}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before{content:'Huge'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:'Helvetica Neue','Helvetica','Arial',sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:rgba(0,0,0,0.2) 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label{border-color:#ccc}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow + .ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip::before{content:\"Visit URL:\";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action::after{border-right:1px solid #ccc;content:'Edit';margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove::before{content:'Remove';margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action::after{border-right:0;content:'Save';padding-right:0}.ql-snow .ql-tooltip[data-mode=link]::before{content:\"Enter link:\"}.ql-snow .ql-tooltip[data-mode=formula]::before{content:\"Enter formula:\"}.ql-snow .ql-tooltip[data-mode=video]::before{content:\"Enter video:\"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}\n\n/*# sourceMappingURL=quill.snow.css.map*/"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"main.css","sources":["webpack://gui/./node_modules/.pnpm/material-icons@1.13.12/node_modules/material-icons/iconfont/filled.css","webpack://gui/./node_modules/.pnpm/materialize-css@1.0.0/node_modules/materialize-css/dist/css/materialize.min.css","webpack://gui/./src/css/style.css","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/dist/quill.snow.css"],"sourcesContent":["@font-face {\n font-family: \"Material Icons\";\n font-style: normal;\n font-weight: 400;\n font-display: block;\n src: url(\"./material-icons.woff2\") format(\"woff2\"), url(\"./material-icons.woff\") format(\"woff\");\n}\n.material-icons {\n font-family: \"Material Icons\";\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n font-feature-settings: \"liga\";\n}\n","/*!\r\n * Materialize v1.0.0 (http://materializecss.com)\r\n * Copyright 2014-2017 Materialize\r\n * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)\r\n */\r\n.materialize-red{background-color:#e51c23 !important}.materialize-red-text{color:#e51c23 !important}.materialize-red.lighten-5{background-color:#fdeaeb !important}.materialize-red-text.text-lighten-5{color:#fdeaeb !important}.materialize-red.lighten-4{background-color:#f8c1c3 !important}.materialize-red-text.text-lighten-4{color:#f8c1c3 !important}.materialize-red.lighten-3{background-color:#f3989b !important}.materialize-red-text.text-lighten-3{color:#f3989b !important}.materialize-red.lighten-2{background-color:#ee6e73 !important}.materialize-red-text.text-lighten-2{color:#ee6e73 !important}.materialize-red.lighten-1{background-color:#ea454b !important}.materialize-red-text.text-lighten-1{color:#ea454b !important}.materialize-red.darken-1{background-color:#d0181e !important}.materialize-red-text.text-darken-1{color:#d0181e !important}.materialize-red.darken-2{background-color:#b9151b !important}.materialize-red-text.text-darken-2{color:#b9151b !important}.materialize-red.darken-3{background-color:#a21318 !important}.materialize-red-text.text-darken-3{color:#a21318 !important}.materialize-red.darken-4{background-color:#8b1014 !important}.materialize-red-text.text-darken-4{color:#8b1014 !important}.red{background-color:#F44336 !important}.red-text{color:#F44336 !important}.red.lighten-5{background-color:#FFEBEE !important}.red-text.text-lighten-5{color:#FFEBEE !important}.red.lighten-4{background-color:#FFCDD2 !important}.red-text.text-lighten-4{color:#FFCDD2 !important}.red.lighten-3{background-color:#EF9A9A !important}.red-text.text-lighten-3{color:#EF9A9A !important}.red.lighten-2{background-color:#E57373 !important}.red-text.text-lighten-2{color:#E57373 !important}.red.lighten-1{background-color:#EF5350 !important}.red-text.text-lighten-1{color:#EF5350 !important}.red.darken-1{background-color:#E53935 !important}.red-text.text-darken-1{color:#E53935 !important}.red.darken-2{background-color:#D32F2F !important}.red-text.text-darken-2{color:#D32F2F !important}.red.darken-3{background-color:#C62828 !important}.red-text.text-darken-3{color:#C62828 !important}.red.darken-4{background-color:#B71C1C !important}.red-text.text-darken-4{color:#B71C1C !important}.red.accent-1{background-color:#FF8A80 !important}.red-text.text-accent-1{color:#FF8A80 !important}.red.accent-2{background-color:#FF5252 !important}.red-text.text-accent-2{color:#FF5252 !important}.red.accent-3{background-color:#FF1744 !important}.red-text.text-accent-3{color:#FF1744 !important}.red.accent-4{background-color:#D50000 !important}.red-text.text-accent-4{color:#D50000 !important}.pink{background-color:#e91e63 !important}.pink-text{color:#e91e63 !important}.pink.lighten-5{background-color:#fce4ec !important}.pink-text.text-lighten-5{color:#fce4ec !important}.pink.lighten-4{background-color:#f8bbd0 !important}.pink-text.text-lighten-4{color:#f8bbd0 !important}.pink.lighten-3{background-color:#f48fb1 !important}.pink-text.text-lighten-3{color:#f48fb1 !important}.pink.lighten-2{background-color:#f06292 !important}.pink-text.text-lighten-2{color:#f06292 !important}.pink.lighten-1{background-color:#ec407a !important}.pink-text.text-lighten-1{color:#ec407a !important}.pink.darken-1{background-color:#d81b60 !important}.pink-text.text-darken-1{color:#d81b60 !important}.pink.darken-2{background-color:#c2185b !important}.pink-text.text-darken-2{color:#c2185b !important}.pink.darken-3{background-color:#ad1457 !important}.pink-text.text-darken-3{color:#ad1457 !important}.pink.darken-4{background-color:#880e4f !important}.pink-text.text-darken-4{color:#880e4f !important}.pink.accent-1{background-color:#ff80ab !important}.pink-text.text-accent-1{color:#ff80ab !important}.pink.accent-2{background-color:#ff4081 !important}.pink-text.text-accent-2{color:#ff4081 !important}.pink.accent-3{background-color:#f50057 !important}.pink-text.text-accent-3{color:#f50057 !important}.pink.accent-4{background-color:#c51162 !important}.pink-text.text-accent-4{color:#c51162 !important}.purple{background-color:#9c27b0 !important}.purple-text{color:#9c27b0 !important}.purple.lighten-5{background-color:#f3e5f5 !important}.purple-text.text-lighten-5{color:#f3e5f5 !important}.purple.lighten-4{background-color:#e1bee7 !important}.purple-text.text-lighten-4{color:#e1bee7 !important}.purple.lighten-3{background-color:#ce93d8 !important}.purple-text.text-lighten-3{color:#ce93d8 !important}.purple.lighten-2{background-color:#ba68c8 !important}.purple-text.text-lighten-2{color:#ba68c8 !important}.purple.lighten-1{background-color:#ab47bc !important}.purple-text.text-lighten-1{color:#ab47bc !important}.purple.darken-1{background-color:#8e24aa !important}.purple-text.text-darken-1{color:#8e24aa !important}.purple.darken-2{background-color:#7b1fa2 !important}.purple-text.text-darken-2{color:#7b1fa2 !important}.purple.darken-3{background-color:#6a1b9a !important}.purple-text.text-darken-3{color:#6a1b9a !important}.purple.darken-4{background-color:#4a148c !important}.purple-text.text-darken-4{color:#4a148c !important}.purple.accent-1{background-color:#ea80fc !important}.purple-text.text-accent-1{color:#ea80fc !important}.purple.accent-2{background-color:#e040fb !important}.purple-text.text-accent-2{color:#e040fb !important}.purple.accent-3{background-color:#d500f9 !important}.purple-text.text-accent-3{color:#d500f9 !important}.purple.accent-4{background-color:#a0f !important}.purple-text.text-accent-4{color:#a0f !important}.deep-purple{background-color:#673ab7 !important}.deep-purple-text{color:#673ab7 !important}.deep-purple.lighten-5{background-color:#ede7f6 !important}.deep-purple-text.text-lighten-5{color:#ede7f6 !important}.deep-purple.lighten-4{background-color:#d1c4e9 !important}.deep-purple-text.text-lighten-4{color:#d1c4e9 !important}.deep-purple.lighten-3{background-color:#b39ddb !important}.deep-purple-text.text-lighten-3{color:#b39ddb !important}.deep-purple.lighten-2{background-color:#9575cd !important}.deep-purple-text.text-lighten-2{color:#9575cd !important}.deep-purple.lighten-1{background-color:#7e57c2 !important}.deep-purple-text.text-lighten-1{color:#7e57c2 !important}.deep-purple.darken-1{background-color:#5e35b1 !important}.deep-purple-text.text-darken-1{color:#5e35b1 !important}.deep-purple.darken-2{background-color:#512da8 !important}.deep-purple-text.text-darken-2{color:#512da8 !important}.deep-purple.darken-3{background-color:#4527a0 !important}.deep-purple-text.text-darken-3{color:#4527a0 !important}.deep-purple.darken-4{background-color:#311b92 !important}.deep-purple-text.text-darken-4{color:#311b92 !important}.deep-purple.accent-1{background-color:#b388ff !important}.deep-purple-text.text-accent-1{color:#b388ff !important}.deep-purple.accent-2{background-color:#7c4dff !important}.deep-purple-text.text-accent-2{color:#7c4dff !important}.deep-purple.accent-3{background-color:#651fff !important}.deep-purple-text.text-accent-3{color:#651fff !important}.deep-purple.accent-4{background-color:#6200ea !important}.deep-purple-text.text-accent-4{color:#6200ea !important}.indigo{background-color:#3f51b5 !important}.indigo-text{color:#3f51b5 !important}.indigo.lighten-5{background-color:#e8eaf6 !important}.indigo-text.text-lighten-5{color:#e8eaf6 !important}.indigo.lighten-4{background-color:#c5cae9 !important}.indigo-text.text-lighten-4{color:#c5cae9 !important}.indigo.lighten-3{background-color:#9fa8da !important}.indigo-text.text-lighten-3{color:#9fa8da !important}.indigo.lighten-2{background-color:#7986cb !important}.indigo-text.text-lighten-2{color:#7986cb !important}.indigo.lighten-1{background-color:#5c6bc0 !important}.indigo-text.text-lighten-1{color:#5c6bc0 !important}.indigo.darken-1{background-color:#3949ab !important}.indigo-text.text-darken-1{color:#3949ab !important}.indigo.darken-2{background-color:#303f9f !important}.indigo-text.text-darken-2{color:#303f9f !important}.indigo.darken-3{background-color:#283593 !important}.indigo-text.text-darken-3{color:#283593 !important}.indigo.darken-4{background-color:#1a237e !important}.indigo-text.text-darken-4{color:#1a237e !important}.indigo.accent-1{background-color:#8c9eff !important}.indigo-text.text-accent-1{color:#8c9eff !important}.indigo.accent-2{background-color:#536dfe !important}.indigo-text.text-accent-2{color:#536dfe !important}.indigo.accent-3{background-color:#3d5afe !important}.indigo-text.text-accent-3{color:#3d5afe !important}.indigo.accent-4{background-color:#304ffe !important}.indigo-text.text-accent-4{color:#304ffe !important}.blue{background-color:#2196F3 !important}.blue-text{color:#2196F3 !important}.blue.lighten-5{background-color:#E3F2FD !important}.blue-text.text-lighten-5{color:#E3F2FD !important}.blue.lighten-4{background-color:#BBDEFB !important}.blue-text.text-lighten-4{color:#BBDEFB !important}.blue.lighten-3{background-color:#90CAF9 !important}.blue-text.text-lighten-3{color:#90CAF9 !important}.blue.lighten-2{background-color:#64B5F6 !important}.blue-text.text-lighten-2{color:#64B5F6 !important}.blue.lighten-1{background-color:#42A5F5 !important}.blue-text.text-lighten-1{color:#42A5F5 !important}.blue.darken-1{background-color:#1E88E5 !important}.blue-text.text-darken-1{color:#1E88E5 !important}.blue.darken-2{background-color:#1976D2 !important}.blue-text.text-darken-2{color:#1976D2 !important}.blue.darken-3{background-color:#1565C0 !important}.blue-text.text-darken-3{color:#1565C0 !important}.blue.darken-4{background-color:#0D47A1 !important}.blue-text.text-darken-4{color:#0D47A1 !important}.blue.accent-1{background-color:#82B1FF !important}.blue-text.text-accent-1{color:#82B1FF !important}.blue.accent-2{background-color:#448AFF !important}.blue-text.text-accent-2{color:#448AFF !important}.blue.accent-3{background-color:#2979FF !important}.blue-text.text-accent-3{color:#2979FF !important}.blue.accent-4{background-color:#2962FF !important}.blue-text.text-accent-4{color:#2962FF !important}.light-blue{background-color:#03a9f4 !important}.light-blue-text{color:#03a9f4 !important}.light-blue.lighten-5{background-color:#e1f5fe !important}.light-blue-text.text-lighten-5{color:#e1f5fe !important}.light-blue.lighten-4{background-color:#b3e5fc !important}.light-blue-text.text-lighten-4{color:#b3e5fc !important}.light-blue.lighten-3{background-color:#81d4fa !important}.light-blue-text.text-lighten-3{color:#81d4fa !important}.light-blue.lighten-2{background-color:#4fc3f7 !important}.light-blue-text.text-lighten-2{color:#4fc3f7 !important}.light-blue.lighten-1{background-color:#29b6f6 !important}.light-blue-text.text-lighten-1{color:#29b6f6 !important}.light-blue.darken-1{background-color:#039be5 !important}.light-blue-text.text-darken-1{color:#039be5 !important}.light-blue.darken-2{background-color:#0288d1 !important}.light-blue-text.text-darken-2{color:#0288d1 !important}.light-blue.darken-3{background-color:#0277bd !important}.light-blue-text.text-darken-3{color:#0277bd !important}.light-blue.darken-4{background-color:#01579b !important}.light-blue-text.text-darken-4{color:#01579b !important}.light-blue.accent-1{background-color:#80d8ff !important}.light-blue-text.text-accent-1{color:#80d8ff !important}.light-blue.accent-2{background-color:#40c4ff !important}.light-blue-text.text-accent-2{color:#40c4ff !important}.light-blue.accent-3{background-color:#00b0ff !important}.light-blue-text.text-accent-3{color:#00b0ff !important}.light-blue.accent-4{background-color:#0091ea !important}.light-blue-text.text-accent-4{color:#0091ea !important}.cyan{background-color:#00bcd4 !important}.cyan-text{color:#00bcd4 !important}.cyan.lighten-5{background-color:#e0f7fa !important}.cyan-text.text-lighten-5{color:#e0f7fa !important}.cyan.lighten-4{background-color:#b2ebf2 !important}.cyan-text.text-lighten-4{color:#b2ebf2 !important}.cyan.lighten-3{background-color:#80deea !important}.cyan-text.text-lighten-3{color:#80deea !important}.cyan.lighten-2{background-color:#4dd0e1 !important}.cyan-text.text-lighten-2{color:#4dd0e1 !important}.cyan.lighten-1{background-color:#26c6da !important}.cyan-text.text-lighten-1{color:#26c6da !important}.cyan.darken-1{background-color:#00acc1 !important}.cyan-text.text-darken-1{color:#00acc1 !important}.cyan.darken-2{background-color:#0097a7 !important}.cyan-text.text-darken-2{color:#0097a7 !important}.cyan.darken-3{background-color:#00838f !important}.cyan-text.text-darken-3{color:#00838f !important}.cyan.darken-4{background-color:#006064 !important}.cyan-text.text-darken-4{color:#006064 !important}.cyan.accent-1{background-color:#84ffff !important}.cyan-text.text-accent-1{color:#84ffff !important}.cyan.accent-2{background-color:#18ffff !important}.cyan-text.text-accent-2{color:#18ffff !important}.cyan.accent-3{background-color:#00e5ff !important}.cyan-text.text-accent-3{color:#00e5ff !important}.cyan.accent-4{background-color:#00b8d4 !important}.cyan-text.text-accent-4{color:#00b8d4 !important}.teal{background-color:#009688 !important}.teal-text{color:#009688 !important}.teal.lighten-5{background-color:#e0f2f1 !important}.teal-text.text-lighten-5{color:#e0f2f1 !important}.teal.lighten-4{background-color:#b2dfdb !important}.teal-text.text-lighten-4{color:#b2dfdb !important}.teal.lighten-3{background-color:#80cbc4 !important}.teal-text.text-lighten-3{color:#80cbc4 !important}.teal.lighten-2{background-color:#4db6ac !important}.teal-text.text-lighten-2{color:#4db6ac !important}.teal.lighten-1{background-color:#26a69a !important}.teal-text.text-lighten-1{color:#26a69a !important}.teal.darken-1{background-color:#00897b !important}.teal-text.text-darken-1{color:#00897b !important}.teal.darken-2{background-color:#00796b !important}.teal-text.text-darken-2{color:#00796b !important}.teal.darken-3{background-color:#00695c !important}.teal-text.text-darken-3{color:#00695c !important}.teal.darken-4{background-color:#004d40 !important}.teal-text.text-darken-4{color:#004d40 !important}.teal.accent-1{background-color:#a7ffeb !important}.teal-text.text-accent-1{color:#a7ffeb !important}.teal.accent-2{background-color:#64ffda !important}.teal-text.text-accent-2{color:#64ffda !important}.teal.accent-3{background-color:#1de9b6 !important}.teal-text.text-accent-3{color:#1de9b6 !important}.teal.accent-4{background-color:#00bfa5 !important}.teal-text.text-accent-4{color:#00bfa5 !important}.green{background-color:#4CAF50 !important}.green-text{color:#4CAF50 !important}.green.lighten-5{background-color:#E8F5E9 !important}.green-text.text-lighten-5{color:#E8F5E9 !important}.green.lighten-4{background-color:#C8E6C9 !important}.green-text.text-lighten-4{color:#C8E6C9 !important}.green.lighten-3{background-color:#A5D6A7 !important}.green-text.text-lighten-3{color:#A5D6A7 !important}.green.lighten-2{background-color:#81C784 !important}.green-text.text-lighten-2{color:#81C784 !important}.green.lighten-1{background-color:#66BB6A !important}.green-text.text-lighten-1{color:#66BB6A !important}.green.darken-1{background-color:#43A047 !important}.green-text.text-darken-1{color:#43A047 !important}.green.darken-2{background-color:#388E3C !important}.green-text.text-darken-2{color:#388E3C !important}.green.darken-3{background-color:#2E7D32 !important}.green-text.text-darken-3{color:#2E7D32 !important}.green.darken-4{background-color:#1B5E20 !important}.green-text.text-darken-4{color:#1B5E20 !important}.green.accent-1{background-color:#B9F6CA !important}.green-text.text-accent-1{color:#B9F6CA !important}.green.accent-2{background-color:#69F0AE !important}.green-text.text-accent-2{color:#69F0AE !important}.green.accent-3{background-color:#00E676 !important}.green-text.text-accent-3{color:#00E676 !important}.green.accent-4{background-color:#00C853 !important}.green-text.text-accent-4{color:#00C853 !important}.light-green{background-color:#8bc34a !important}.light-green-text{color:#8bc34a !important}.light-green.lighten-5{background-color:#f1f8e9 !important}.light-green-text.text-lighten-5{color:#f1f8e9 !important}.light-green.lighten-4{background-color:#dcedc8 !important}.light-green-text.text-lighten-4{color:#dcedc8 !important}.light-green.lighten-3{background-color:#c5e1a5 !important}.light-green-text.text-lighten-3{color:#c5e1a5 !important}.light-green.lighten-2{background-color:#aed581 !important}.light-green-text.text-lighten-2{color:#aed581 !important}.light-green.lighten-1{background-color:#9ccc65 !important}.light-green-text.text-lighten-1{color:#9ccc65 !important}.light-green.darken-1{background-color:#7cb342 !important}.light-green-text.text-darken-1{color:#7cb342 !important}.light-green.darken-2{background-color:#689f38 !important}.light-green-text.text-darken-2{color:#689f38 !important}.light-green.darken-3{background-color:#558b2f !important}.light-green-text.text-darken-3{color:#558b2f !important}.light-green.darken-4{background-color:#33691e !important}.light-green-text.text-darken-4{color:#33691e !important}.light-green.accent-1{background-color:#ccff90 !important}.light-green-text.text-accent-1{color:#ccff90 !important}.light-green.accent-2{background-color:#b2ff59 !important}.light-green-text.text-accent-2{color:#b2ff59 !important}.light-green.accent-3{background-color:#76ff03 !important}.light-green-text.text-accent-3{color:#76ff03 !important}.light-green.accent-4{background-color:#64dd17 !important}.light-green-text.text-accent-4{color:#64dd17 !important}.lime{background-color:#cddc39 !important}.lime-text{color:#cddc39 !important}.lime.lighten-5{background-color:#f9fbe7 !important}.lime-text.text-lighten-5{color:#f9fbe7 !important}.lime.lighten-4{background-color:#f0f4c3 !important}.lime-text.text-lighten-4{color:#f0f4c3 !important}.lime.lighten-3{background-color:#e6ee9c !important}.lime-text.text-lighten-3{color:#e6ee9c !important}.lime.lighten-2{background-color:#dce775 !important}.lime-text.text-lighten-2{color:#dce775 !important}.lime.lighten-1{background-color:#d4e157 !important}.lime-text.text-lighten-1{color:#d4e157 !important}.lime.darken-1{background-color:#c0ca33 !important}.lime-text.text-darken-1{color:#c0ca33 !important}.lime.darken-2{background-color:#afb42b !important}.lime-text.text-darken-2{color:#afb42b !important}.lime.darken-3{background-color:#9e9d24 !important}.lime-text.text-darken-3{color:#9e9d24 !important}.lime.darken-4{background-color:#827717 !important}.lime-text.text-darken-4{color:#827717 !important}.lime.accent-1{background-color:#f4ff81 !important}.lime-text.text-accent-1{color:#f4ff81 !important}.lime.accent-2{background-color:#eeff41 !important}.lime-text.text-accent-2{color:#eeff41 !important}.lime.accent-3{background-color:#c6ff00 !important}.lime-text.text-accent-3{color:#c6ff00 !important}.lime.accent-4{background-color:#aeea00 !important}.lime-text.text-accent-4{color:#aeea00 !important}.yellow{background-color:#ffeb3b !important}.yellow-text{color:#ffeb3b !important}.yellow.lighten-5{background-color:#fffde7 !important}.yellow-text.text-lighten-5{color:#fffde7 !important}.yellow.lighten-4{background-color:#fff9c4 !important}.yellow-text.text-lighten-4{color:#fff9c4 !important}.yellow.lighten-3{background-color:#fff59d !important}.yellow-text.text-lighten-3{color:#fff59d !important}.yellow.lighten-2{background-color:#fff176 !important}.yellow-text.text-lighten-2{color:#fff176 !important}.yellow.lighten-1{background-color:#ffee58 !important}.yellow-text.text-lighten-1{color:#ffee58 !important}.yellow.darken-1{background-color:#fdd835 !important}.yellow-text.text-darken-1{color:#fdd835 !important}.yellow.darken-2{background-color:#fbc02d !important}.yellow-text.text-darken-2{color:#fbc02d !important}.yellow.darken-3{background-color:#f9a825 !important}.yellow-text.text-darken-3{color:#f9a825 !important}.yellow.darken-4{background-color:#f57f17 !important}.yellow-text.text-darken-4{color:#f57f17 !important}.yellow.accent-1{background-color:#ffff8d !important}.yellow-text.text-accent-1{color:#ffff8d !important}.yellow.accent-2{background-color:#ff0 !important}.yellow-text.text-accent-2{color:#ff0 !important}.yellow.accent-3{background-color:#ffea00 !important}.yellow-text.text-accent-3{color:#ffea00 !important}.yellow.accent-4{background-color:#ffd600 !important}.yellow-text.text-accent-4{color:#ffd600 !important}.amber{background-color:#ffc107 !important}.amber-text{color:#ffc107 !important}.amber.lighten-5{background-color:#fff8e1 !important}.amber-text.text-lighten-5{color:#fff8e1 !important}.amber.lighten-4{background-color:#ffecb3 !important}.amber-text.text-lighten-4{color:#ffecb3 !important}.amber.lighten-3{background-color:#ffe082 !important}.amber-text.text-lighten-3{color:#ffe082 !important}.amber.lighten-2{background-color:#ffd54f !important}.amber-text.text-lighten-2{color:#ffd54f !important}.amber.lighten-1{background-color:#ffca28 !important}.amber-text.text-lighten-1{color:#ffca28 !important}.amber.darken-1{background-color:#ffb300 !important}.amber-text.text-darken-1{color:#ffb300 !important}.amber.darken-2{background-color:#ffa000 !important}.amber-text.text-darken-2{color:#ffa000 !important}.amber.darken-3{background-color:#ff8f00 !important}.amber-text.text-darken-3{color:#ff8f00 !important}.amber.darken-4{background-color:#ff6f00 !important}.amber-text.text-darken-4{color:#ff6f00 !important}.amber.accent-1{background-color:#ffe57f !important}.amber-text.text-accent-1{color:#ffe57f !important}.amber.accent-2{background-color:#ffd740 !important}.amber-text.text-accent-2{color:#ffd740 !important}.amber.accent-3{background-color:#ffc400 !important}.amber-text.text-accent-3{color:#ffc400 !important}.amber.accent-4{background-color:#ffab00 !important}.amber-text.text-accent-4{color:#ffab00 !important}.orange{background-color:#ff9800 !important}.orange-text{color:#ff9800 !important}.orange.lighten-5{background-color:#fff3e0 !important}.orange-text.text-lighten-5{color:#fff3e0 !important}.orange.lighten-4{background-color:#ffe0b2 !important}.orange-text.text-lighten-4{color:#ffe0b2 !important}.orange.lighten-3{background-color:#ffcc80 !important}.orange-text.text-lighten-3{color:#ffcc80 !important}.orange.lighten-2{background-color:#ffb74d !important}.orange-text.text-lighten-2{color:#ffb74d !important}.orange.lighten-1{background-color:#ffa726 !important}.orange-text.text-lighten-1{color:#ffa726 !important}.orange.darken-1{background-color:#fb8c00 !important}.orange-text.text-darken-1{color:#fb8c00 !important}.orange.darken-2{background-color:#f57c00 !important}.orange-text.text-darken-2{color:#f57c00 !important}.orange.darken-3{background-color:#ef6c00 !important}.orange-text.text-darken-3{color:#ef6c00 !important}.orange.darken-4{background-color:#e65100 !important}.orange-text.text-darken-4{color:#e65100 !important}.orange.accent-1{background-color:#ffd180 !important}.orange-text.text-accent-1{color:#ffd180 !important}.orange.accent-2{background-color:#ffab40 !important}.orange-text.text-accent-2{color:#ffab40 !important}.orange.accent-3{background-color:#ff9100 !important}.orange-text.text-accent-3{color:#ff9100 !important}.orange.accent-4{background-color:#ff6d00 !important}.orange-text.text-accent-4{color:#ff6d00 !important}.deep-orange{background-color:#ff5722 !important}.deep-orange-text{color:#ff5722 !important}.deep-orange.lighten-5{background-color:#fbe9e7 !important}.deep-orange-text.text-lighten-5{color:#fbe9e7 !important}.deep-orange.lighten-4{background-color:#ffccbc !important}.deep-orange-text.text-lighten-4{color:#ffccbc !important}.deep-orange.lighten-3{background-color:#ffab91 !important}.deep-orange-text.text-lighten-3{color:#ffab91 !important}.deep-orange.lighten-2{background-color:#ff8a65 !important}.deep-orange-text.text-lighten-2{color:#ff8a65 !important}.deep-orange.lighten-1{background-color:#ff7043 !important}.deep-orange-text.text-lighten-1{color:#ff7043 !important}.deep-orange.darken-1{background-color:#f4511e !important}.deep-orange-text.text-darken-1{color:#f4511e !important}.deep-orange.darken-2{background-color:#e64a19 !important}.deep-orange-text.text-darken-2{color:#e64a19 !important}.deep-orange.darken-3{background-color:#d84315 !important}.deep-orange-text.text-darken-3{color:#d84315 !important}.deep-orange.darken-4{background-color:#bf360c !important}.deep-orange-text.text-darken-4{color:#bf360c !important}.deep-orange.accent-1{background-color:#ff9e80 !important}.deep-orange-text.text-accent-1{color:#ff9e80 !important}.deep-orange.accent-2{background-color:#ff6e40 !important}.deep-orange-text.text-accent-2{color:#ff6e40 !important}.deep-orange.accent-3{background-color:#ff3d00 !important}.deep-orange-text.text-accent-3{color:#ff3d00 !important}.deep-orange.accent-4{background-color:#dd2c00 !important}.deep-orange-text.text-accent-4{color:#dd2c00 !important}.brown{background-color:#795548 !important}.brown-text{color:#795548 !important}.brown.lighten-5{background-color:#efebe9 !important}.brown-text.text-lighten-5{color:#efebe9 !important}.brown.lighten-4{background-color:#d7ccc8 !important}.brown-text.text-lighten-4{color:#d7ccc8 !important}.brown.lighten-3{background-color:#bcaaa4 !important}.brown-text.text-lighten-3{color:#bcaaa4 !important}.brown.lighten-2{background-color:#a1887f !important}.brown-text.text-lighten-2{color:#a1887f !important}.brown.lighten-1{background-color:#8d6e63 !important}.brown-text.text-lighten-1{color:#8d6e63 !important}.brown.darken-1{background-color:#6d4c41 !important}.brown-text.text-darken-1{color:#6d4c41 !important}.brown.darken-2{background-color:#5d4037 !important}.brown-text.text-darken-2{color:#5d4037 !important}.brown.darken-3{background-color:#4e342e !important}.brown-text.text-darken-3{color:#4e342e !important}.brown.darken-4{background-color:#3e2723 !important}.brown-text.text-darken-4{color:#3e2723 !important}.blue-grey{background-color:#607d8b !important}.blue-grey-text{color:#607d8b !important}.blue-grey.lighten-5{background-color:#eceff1 !important}.blue-grey-text.text-lighten-5{color:#eceff1 !important}.blue-grey.lighten-4{background-color:#cfd8dc !important}.blue-grey-text.text-lighten-4{color:#cfd8dc !important}.blue-grey.lighten-3{background-color:#b0bec5 !important}.blue-grey-text.text-lighten-3{color:#b0bec5 !important}.blue-grey.lighten-2{background-color:#90a4ae !important}.blue-grey-text.text-lighten-2{color:#90a4ae !important}.blue-grey.lighten-1{background-color:#78909c !important}.blue-grey-text.text-lighten-1{color:#78909c !important}.blue-grey.darken-1{background-color:#546e7a !important}.blue-grey-text.text-darken-1{color:#546e7a !important}.blue-grey.darken-2{background-color:#455a64 !important}.blue-grey-text.text-darken-2{color:#455a64 !important}.blue-grey.darken-3{background-color:#37474f !important}.blue-grey-text.text-darken-3{color:#37474f !important}.blue-grey.darken-4{background-color:#263238 !important}.blue-grey-text.text-darken-4{color:#263238 !important}.grey{background-color:#9e9e9e !important}.grey-text{color:#9e9e9e !important}.grey.lighten-5{background-color:#fafafa !important}.grey-text.text-lighten-5{color:#fafafa !important}.grey.lighten-4{background-color:#f5f5f5 !important}.grey-text.text-lighten-4{color:#f5f5f5 !important}.grey.lighten-3{background-color:#eee !important}.grey-text.text-lighten-3{color:#eee !important}.grey.lighten-2{background-color:#e0e0e0 !important}.grey-text.text-lighten-2{color:#e0e0e0 !important}.grey.lighten-1{background-color:#bdbdbd !important}.grey-text.text-lighten-1{color:#bdbdbd !important}.grey.darken-1{background-color:#757575 !important}.grey-text.text-darken-1{color:#757575 !important}.grey.darken-2{background-color:#616161 !important}.grey-text.text-darken-2{color:#616161 !important}.grey.darken-3{background-color:#424242 !important}.grey-text.text-darken-3{color:#424242 !important}.grey.darken-4{background-color:#212121 !important}.grey-text.text-darken-4{color:#212121 !important}.black{background-color:#000 !important}.black-text{color:#000 !important}.white{background-color:#fff !important}.white-text{color:#fff !important}.transparent{background-color:rgba(0,0,0,0) !important}.transparent-text{color:rgba(0,0,0,0) !important}/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:0.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px}[type=\"search\"]::-webkit-search-cancel-button,[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,*:before,*:after{-webkit-box-sizing:inherit;box-sizing:inherit}button,input,optgroup,select,textarea{font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif}ul:not(.browser-default){padding-left:0;list-style-type:none}ul:not(.browser-default)>li{list-style-type:none}a{color:#039be5;text-decoration:none;-webkit-tap-highlight-color:transparent}.valign-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.clearfix{clear:both}.z-depth-0{-webkit-box-shadow:none !important;box-shadow:none !important}.z-depth-1,nav,.card-panel,.card,.toast,.btn,.btn-large,.btn-small,.btn-floating,.dropdown-content,.collapsible,.sidenav{-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2);box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2)}.z-depth-1-half,.btn:hover,.btn-large:hover,.btn-small:hover,.btn-floating:hover{-webkit-box-shadow:0 3px 3px 0 rgba(0,0,0,0.14),0 1px 7px 0 rgba(0,0,0,0.12),0 3px 1px -1px rgba(0,0,0,0.2);box-shadow:0 3px 3px 0 rgba(0,0,0,0.14),0 1px 7px 0 rgba(0,0,0,0.12),0 3px 1px -1px rgba(0,0,0,0.2)}.z-depth-2{-webkit-box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3);box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3)}.z-depth-3{-webkit-box-shadow:0 8px 17px 2px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.2);box-shadow:0 8px 17px 2px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.2)}.z-depth-4{-webkit-box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -7px rgba(0,0,0,0.2);box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -7px rgba(0,0,0,0.2)}.z-depth-5,.modal{-webkit-box-shadow:0 24px 38px 3px rgba(0,0,0,0.14),0 9px 46px 8px rgba(0,0,0,0.12),0 11px 15px -7px rgba(0,0,0,0.2);box-shadow:0 24px 38px 3px rgba(0,0,0,0.14),0 9px 46px 8px rgba(0,0,0,0.12),0 11px 15px -7px rgba(0,0,0,0.2)}.hoverable{-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s}.hoverable:hover{-webkit-box-shadow:0 8px 17px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);box-shadow:0 8px 17px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)}.divider{height:1px;overflow:hidden;background-color:#e0e0e0}blockquote{margin:20px 0;padding-left:1.5rem;border-left:5px solid #ee6e73}i{line-height:inherit}i.left{float:left;margin-right:15px}i.right{float:right;margin-left:15px}i.tiny{font-size:1rem}i.small{font-size:2rem}i.medium{font-size:4rem}i.large{font-size:6rem}img.responsive-img,video.responsive-video{max-width:100%;height:auto}.pagination li{display:inline-block;border-radius:2px;text-align:center;vertical-align:top;height:30px}.pagination li a{color:#444;display:inline-block;font-size:1.2rem;padding:0 10px;line-height:30px}.pagination li.active a{color:#fff}.pagination li.active{background-color:#ee6e73}.pagination li.disabled a{cursor:default;color:#999}.pagination li i{font-size:2rem}.pagination li.pages ul li{display:inline-block;float:none}@media only screen and (max-width: 992px){.pagination{width:100%}.pagination li.prev,.pagination li.next{width:10%}.pagination li.pages{width:80%;overflow:hidden;white-space:nowrap}}.breadcrumb{font-size:18px;color:rgba(255,255,255,0.7)}.breadcrumb i,.breadcrumb [class^=\"mdi-\"],.breadcrumb [class*=\"mdi-\"],.breadcrumb i.material-icons{display:inline-block;float:left;font-size:24px}.breadcrumb:before{content:'\\E5CC';color:rgba(255,255,255,0.7);vertical-align:top;display:inline-block;font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:25px;margin:0 10px 0 8px;-webkit-font-smoothing:antialiased}.breadcrumb:first-child:before{display:none}.breadcrumb:last-child{color:#fff}.parallax-container{position:relative;overflow:hidden;height:500px}.parallax-container .parallax{position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1}.parallax-container .parallax img{opacity:0;position:absolute;left:50%;bottom:0;min-width:100%;min-height:100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pin-top,.pin-bottom{position:relative}.pinned{position:fixed !important}ul.staggered-list li{opacity:0}.fade-in{opacity:0;-webkit-transform-origin:0 50%;transform-origin:0 50%}@media only screen and (max-width: 600px){.hide-on-small-only,.hide-on-small-and-down{display:none !important}}@media only screen and (max-width: 992px){.hide-on-med-and-down{display:none !important}}@media only screen and (min-width: 601px){.hide-on-med-and-up{display:none !important}}@media only screen and (min-width: 600px) and (max-width: 992px){.hide-on-med-only{display:none !important}}@media only screen and (min-width: 993px){.hide-on-large-only{display:none !important}}@media only screen and (min-width: 1201px){.hide-on-extra-large-only{display:none !important}}@media only screen and (min-width: 1201px){.show-on-extra-large{display:block !important}}@media only screen and (min-width: 993px){.show-on-large{display:block !important}}@media only screen and (min-width: 600px) and (max-width: 992px){.show-on-medium{display:block !important}}@media only screen and (max-width: 600px){.show-on-small{display:block !important}}@media only screen and (min-width: 601px){.show-on-medium-and-up{display:block !important}}@media only screen and (max-width: 992px){.show-on-medium-and-down{display:block !important}}@media only screen and (max-width: 600px){.center-on-small-only{text-align:center}}.page-footer{padding-top:20px;color:#fff;background-color:#ee6e73}.page-footer .footer-copyright{overflow:hidden;min-height:50px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:10px 0px;color:rgba(255,255,255,0.8);background-color:rgba(51,51,51,0.08)}table,th,td{border:none}table{width:100%;display:table;border-collapse:collapse;border-spacing:0}table.striped tr{border-bottom:none}table.striped>tbody>tr:nth-child(odd){background-color:rgba(242,242,242,0.5)}table.striped>tbody>tr>td{border-radius:0}table.highlight>tbody>tr{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}table.highlight>tbody>tr:hover{background-color:rgba(242,242,242,0.5)}table.centered thead tr th,table.centered tbody tr td{text-align:center}tr{border-bottom:1px solid rgba(0,0,0,0.12)}td,th{padding:15px 5px;display:table-cell;text-align:left;vertical-align:middle;border-radius:2px}@media only screen and (max-width: 992px){table.responsive-table{width:100%;border-collapse:collapse;border-spacing:0;display:block;position:relative}table.responsive-table td:empty:before{content:'\\00a0'}table.responsive-table th,table.responsive-table td{margin:0;vertical-align:top}table.responsive-table th{text-align:left}table.responsive-table thead{display:block;float:left}table.responsive-table thead tr{display:block;padding:0 10px 0 0}table.responsive-table thead tr th::before{content:\"\\00a0\"}table.responsive-table tbody{display:block;width:auto;position:relative;overflow-x:auto;white-space:nowrap}table.responsive-table tbody tr{display:inline-block;vertical-align:top}table.responsive-table th{display:block;text-align:right}table.responsive-table td{display:block;min-height:1.25em;text-align:left}table.responsive-table tr{border-bottom:none;padding:0 10px}table.responsive-table thead{border:0;border-right:1px solid rgba(0,0,0,0.12)}}.collection{margin:.5rem 0 1rem 0;border:1px solid #e0e0e0;border-radius:2px;overflow:hidden;position:relative}.collection .collection-item{background-color:#fff;line-height:1.5rem;padding:10px 20px;margin:0;border-bottom:1px solid #e0e0e0}.collection .collection-item.avatar{min-height:84px;padding-left:72px;position:relative}.collection .collection-item.avatar:not(.circle-clipper)>.circle,.collection .collection-item.avatar :not(.circle-clipper)>.circle{position:absolute;width:42px;height:42px;overflow:hidden;left:15px;display:inline-block;vertical-align:middle}.collection .collection-item.avatar i.circle{font-size:18px;line-height:42px;color:#fff;background-color:#999;text-align:center}.collection .collection-item.avatar .title{font-size:16px}.collection .collection-item.avatar p{margin:0}.collection .collection-item.avatar .secondary-content{position:absolute;top:16px;right:16px}.collection .collection-item:last-child{border-bottom:none}.collection .collection-item.active{background-color:#26a69a;color:#eafaf9}.collection .collection-item.active .secondary-content{color:#fff}.collection a.collection-item{display:block;-webkit-transition:.25s;transition:.25s;color:#26a69a}.collection a.collection-item:not(.active):hover{background-color:#ddd}.collection.with-header .collection-header{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:10px 20px}.collection.with-header .collection-item{padding-left:30px}.collection.with-header .collection-item.avatar{padding-left:72px}.secondary-content{float:right;color:#26a69a}.collapsible .collection{margin:0;border:none}.video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.video-container iframe,.video-container object,.video-container embed{position:absolute;top:0;left:0;width:100%;height:100%}.progress{position:relative;height:4px;display:block;width:100%;background-color:#acece6;border-radius:2px;margin:.5rem 0 1rem 0;overflow:hidden}.progress .determinate{position:absolute;top:0;left:0;bottom:0;background-color:#26a69a;-webkit-transition:width .3s linear;transition:width .3s linear}.progress .indeterminate{background-color:#26a69a}.progress .indeterminate:before{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left, right;-webkit-animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}.progress .indeterminate:after{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left, right;-webkit-animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}@-webkit-keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@-webkit-keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}.hide{display:none !important}.left-align{text-align:left}.right-align{text-align:right}.center,.center-align{text-align:center}.left{float:left !important}.right{float:right !important}.no-select,input[type=range],input[type=range]+.thumb{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.circle{border-radius:50%}.center-block{display:block;margin-left:auto;margin-right:auto}.truncate{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-padding{padding:0 !important}span.badge{min-width:3rem;padding:0 6px;margin-left:14px;text-align:center;font-size:1rem;line-height:22px;height:22px;color:#757575;float:right;-webkit-box-sizing:border-box;box-sizing:border-box}span.badge.new{font-weight:300;font-size:0.8rem;color:#fff;background-color:#26a69a;border-radius:2px}span.badge.new:after{content:\" new\"}span.badge[data-badge-caption]::after{content:\" \" attr(data-badge-caption)}nav ul a span.badge{display:inline-block;float:none;margin-left:4px;line-height:22px;height:22px;-webkit-font-smoothing:auto}.collection-item span.badge{margin-top:calc(.75rem - 11px)}.collapsible span.badge{margin-left:auto}.sidenav span.badge{margin-top:calc(24px - 11px)}table span.badge{display:inline-block;float:none;margin-left:auto}.material-icons{text-rendering:optimizeLegibility;-webkit-font-feature-settings:'liga';-moz-font-feature-settings:'liga';font-feature-settings:'liga'}.container{margin:0 auto;max-width:1280px;width:90%}@media only screen and (min-width: 601px){.container{width:85%}}@media only screen and (min-width: 993px){.container{width:70%}}.col .row{margin-left:-.75rem;margin-right:-.75rem}.section{padding-top:1rem;padding-bottom:1rem}.section.no-pad{padding:0}.section.no-pad-bot{padding-bottom:0}.section.no-pad-top{padding-top:0}.row{margin-left:auto;margin-right:auto;margin-bottom:20px}.row:after{content:\"\";display:table;clear:both}.row .col{float:left;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 .75rem;min-height:1px}.row .col[class*=\"push-\"],.row .col[class*=\"pull-\"]{position:relative}.row .col.s1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.s4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.s7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.s10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-s1{margin-left:8.3333333333%}.row .col.pull-s1{right:8.3333333333%}.row .col.push-s1{left:8.3333333333%}.row .col.offset-s2{margin-left:16.6666666667%}.row .col.pull-s2{right:16.6666666667%}.row .col.push-s2{left:16.6666666667%}.row .col.offset-s3{margin-left:25%}.row .col.pull-s3{right:25%}.row .col.push-s3{left:25%}.row .col.offset-s4{margin-left:33.3333333333%}.row .col.pull-s4{right:33.3333333333%}.row .col.push-s4{left:33.3333333333%}.row .col.offset-s5{margin-left:41.6666666667%}.row .col.pull-s5{right:41.6666666667%}.row .col.push-s5{left:41.6666666667%}.row .col.offset-s6{margin-left:50%}.row .col.pull-s6{right:50%}.row .col.push-s6{left:50%}.row .col.offset-s7{margin-left:58.3333333333%}.row .col.pull-s7{right:58.3333333333%}.row .col.push-s7{left:58.3333333333%}.row .col.offset-s8{margin-left:66.6666666667%}.row .col.pull-s8{right:66.6666666667%}.row .col.push-s8{left:66.6666666667%}.row .col.offset-s9{margin-left:75%}.row .col.pull-s9{right:75%}.row .col.push-s9{left:75%}.row .col.offset-s10{margin-left:83.3333333333%}.row .col.pull-s10{right:83.3333333333%}.row .col.push-s10{left:83.3333333333%}.row .col.offset-s11{margin-left:91.6666666667%}.row .col.pull-s11{right:91.6666666667%}.row .col.push-s11{left:91.6666666667%}.row .col.offset-s12{margin-left:100%}.row .col.pull-s12{right:100%}.row .col.push-s12{left:100%}@media only screen and (min-width: 601px){.row .col.m1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.m4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.m7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.m10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-m1{margin-left:8.3333333333%}.row .col.pull-m1{right:8.3333333333%}.row .col.push-m1{left:8.3333333333%}.row .col.offset-m2{margin-left:16.6666666667%}.row .col.pull-m2{right:16.6666666667%}.row .col.push-m2{left:16.6666666667%}.row .col.offset-m3{margin-left:25%}.row .col.pull-m3{right:25%}.row .col.push-m3{left:25%}.row .col.offset-m4{margin-left:33.3333333333%}.row .col.pull-m4{right:33.3333333333%}.row .col.push-m4{left:33.3333333333%}.row .col.offset-m5{margin-left:41.6666666667%}.row .col.pull-m5{right:41.6666666667%}.row .col.push-m5{left:41.6666666667%}.row .col.offset-m6{margin-left:50%}.row .col.pull-m6{right:50%}.row .col.push-m6{left:50%}.row .col.offset-m7{margin-left:58.3333333333%}.row .col.pull-m7{right:58.3333333333%}.row .col.push-m7{left:58.3333333333%}.row .col.offset-m8{margin-left:66.6666666667%}.row .col.pull-m8{right:66.6666666667%}.row .col.push-m8{left:66.6666666667%}.row .col.offset-m9{margin-left:75%}.row .col.pull-m9{right:75%}.row .col.push-m9{left:75%}.row .col.offset-m10{margin-left:83.3333333333%}.row .col.pull-m10{right:83.3333333333%}.row .col.push-m10{left:83.3333333333%}.row .col.offset-m11{margin-left:91.6666666667%}.row .col.pull-m11{right:91.6666666667%}.row .col.push-m11{left:91.6666666667%}.row .col.offset-m12{margin-left:100%}.row .col.pull-m12{right:100%}.row .col.push-m12{left:100%}}@media only screen and (min-width: 993px){.row .col.l1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.l4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.l7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.l10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-l1{margin-left:8.3333333333%}.row .col.pull-l1{right:8.3333333333%}.row .col.push-l1{left:8.3333333333%}.row .col.offset-l2{margin-left:16.6666666667%}.row .col.pull-l2{right:16.6666666667%}.row .col.push-l2{left:16.6666666667%}.row .col.offset-l3{margin-left:25%}.row .col.pull-l3{right:25%}.row .col.push-l3{left:25%}.row .col.offset-l4{margin-left:33.3333333333%}.row .col.pull-l4{right:33.3333333333%}.row .col.push-l4{left:33.3333333333%}.row .col.offset-l5{margin-left:41.6666666667%}.row .col.pull-l5{right:41.6666666667%}.row .col.push-l5{left:41.6666666667%}.row .col.offset-l6{margin-left:50%}.row .col.pull-l6{right:50%}.row .col.push-l6{left:50%}.row .col.offset-l7{margin-left:58.3333333333%}.row .col.pull-l7{right:58.3333333333%}.row .col.push-l7{left:58.3333333333%}.row .col.offset-l8{margin-left:66.6666666667%}.row .col.pull-l8{right:66.6666666667%}.row .col.push-l8{left:66.6666666667%}.row .col.offset-l9{margin-left:75%}.row .col.pull-l9{right:75%}.row .col.push-l9{left:75%}.row .col.offset-l10{margin-left:83.3333333333%}.row .col.pull-l10{right:83.3333333333%}.row .col.push-l10{left:83.3333333333%}.row .col.offset-l11{margin-left:91.6666666667%}.row .col.pull-l11{right:91.6666666667%}.row .col.push-l11{left:91.6666666667%}.row .col.offset-l12{margin-left:100%}.row .col.pull-l12{right:100%}.row .col.push-l12{left:100%}}@media only screen and (min-width: 1201px){.row .col.xl1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.xl4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.xl7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.xl10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-xl1{margin-left:8.3333333333%}.row .col.pull-xl1{right:8.3333333333%}.row .col.push-xl1{left:8.3333333333%}.row .col.offset-xl2{margin-left:16.6666666667%}.row .col.pull-xl2{right:16.6666666667%}.row .col.push-xl2{left:16.6666666667%}.row .col.offset-xl3{margin-left:25%}.row .col.pull-xl3{right:25%}.row .col.push-xl3{left:25%}.row .col.offset-xl4{margin-left:33.3333333333%}.row .col.pull-xl4{right:33.3333333333%}.row .col.push-xl4{left:33.3333333333%}.row .col.offset-xl5{margin-left:41.6666666667%}.row .col.pull-xl5{right:41.6666666667%}.row .col.push-xl5{left:41.6666666667%}.row .col.offset-xl6{margin-left:50%}.row .col.pull-xl6{right:50%}.row .col.push-xl6{left:50%}.row .col.offset-xl7{margin-left:58.3333333333%}.row .col.pull-xl7{right:58.3333333333%}.row .col.push-xl7{left:58.3333333333%}.row .col.offset-xl8{margin-left:66.6666666667%}.row .col.pull-xl8{right:66.6666666667%}.row .col.push-xl8{left:66.6666666667%}.row .col.offset-xl9{margin-left:75%}.row .col.pull-xl9{right:75%}.row .col.push-xl9{left:75%}.row .col.offset-xl10{margin-left:83.3333333333%}.row .col.pull-xl10{right:83.3333333333%}.row .col.push-xl10{left:83.3333333333%}.row .col.offset-xl11{margin-left:91.6666666667%}.row .col.pull-xl11{right:91.6666666667%}.row .col.push-xl11{left:91.6666666667%}.row .col.offset-xl12{margin-left:100%}.row .col.pull-xl12{right:100%}.row .col.push-xl12{left:100%}}nav{color:#fff;background-color:#ee6e73;width:100%;height:56px;line-height:56px}nav.nav-extended{height:auto}nav.nav-extended .nav-wrapper{min-height:56px;height:auto}nav.nav-extended .nav-content{position:relative;line-height:normal}nav a{color:#fff}nav i,nav [class^=\"mdi-\"],nav [class*=\"mdi-\"],nav i.material-icons{display:block;font-size:24px;height:56px;line-height:56px}nav .nav-wrapper{position:relative;height:100%}@media only screen and (min-width: 993px){nav a.sidenav-trigger{display:none}}nav .sidenav-trigger{float:left;position:relative;z-index:1;height:56px;margin:0 18px}nav .sidenav-trigger i{height:56px;line-height:56px}nav .brand-logo{position:absolute;color:#fff;display:inline-block;font-size:2.1rem;padding:0}nav .brand-logo.center{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media only screen and (max-width: 992px){nav .brand-logo{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}nav .brand-logo.left,nav .brand-logo.right{padding:0;-webkit-transform:none;transform:none}nav .brand-logo.left{left:0.5rem}nav .brand-logo.right{right:0.5rem;left:auto}}nav .brand-logo.right{right:0.5rem;padding:0}nav .brand-logo i,nav .brand-logo [class^=\"mdi-\"],nav .brand-logo [class*=\"mdi-\"],nav .brand-logo i.material-icons{float:left;margin-right:15px}nav .nav-title{display:inline-block;font-size:32px;padding:28px 0}nav ul{margin:0}nav ul li{-webkit-transition:background-color .3s;transition:background-color .3s;float:left;padding:0}nav ul li.active{background-color:rgba(0,0,0,0.1)}nav ul a{-webkit-transition:background-color .3s;transition:background-color .3s;font-size:1rem;color:#fff;display:block;padding:0 15px;cursor:pointer}nav ul a.btn,nav ul a.btn-large,nav ul a.btn-small,nav ul a.btn-large,nav ul a.btn-flat,nav ul a.btn-floating{margin-top:-2px;margin-left:15px;margin-right:15px}nav ul a.btn>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn-small>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn-flat>.material-icons,nav ul a.btn-floating>.material-icons{height:inherit;line-height:inherit}nav ul a:hover{background-color:rgba(0,0,0,0.1)}nav ul.left{float:left}nav form{height:100%}nav .input-field{margin:0;height:100%}nav .input-field input{height:100%;font-size:1.2rem;border:none;padding-left:2rem}nav .input-field input:focus,nav .input-field input[type=text]:valid,nav .input-field input[type=password]:valid,nav .input-field input[type=email]:valid,nav .input-field input[type=url]:valid,nav .input-field input[type=date]:valid{border:none;-webkit-box-shadow:none;box-shadow:none}nav .input-field label{top:0;left:0}nav .input-field label i{color:rgba(255,255,255,0.7);-webkit-transition:color .3s;transition:color .3s}nav .input-field label.active i{color:#fff}.navbar-fixed{position:relative;height:56px;z-index:997}.navbar-fixed nav{position:fixed}@media only screen and (min-width: 601px){nav.nav-extended .nav-wrapper{min-height:64px}nav,nav .nav-wrapper i,nav a.sidenav-trigger,nav a.sidenav-trigger i{height:64px;line-height:64px}.navbar-fixed{height:64px}}a{text-decoration:none}html{line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-weight:normal;color:rgba(0,0,0,0.87)}@media only screen and (min-width: 0){html{font-size:14px}}@media only screen and (min-width: 992px){html{font-size:14.5px}}@media only screen and (min-width: 1200px){html{font-size:15px}}h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.3}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-weight:inherit}h1{font-size:4.2rem;line-height:110%;margin:2.8rem 0 1.68rem 0}h2{font-size:3.56rem;line-height:110%;margin:2.3733333333rem 0 1.424rem 0}h3{font-size:2.92rem;line-height:110%;margin:1.9466666667rem 0 1.168rem 0}h4{font-size:2.28rem;line-height:110%;margin:1.52rem 0 .912rem 0}h5{font-size:1.64rem;line-height:110%;margin:1.0933333333rem 0 .656rem 0}h6{font-size:1.15rem;line-height:110%;margin:.7666666667rem 0 .46rem 0}em{font-style:italic}strong{font-weight:500}small{font-size:75%}.light{font-weight:300}.thin{font-weight:200}@media only screen and (min-width: 360px){.flow-text{font-size:1.2rem}}@media only screen and (min-width: 390px){.flow-text{font-size:1.224rem}}@media only screen and (min-width: 420px){.flow-text{font-size:1.248rem}}@media only screen and (min-width: 450px){.flow-text{font-size:1.272rem}}@media only screen and (min-width: 480px){.flow-text{font-size:1.296rem}}@media only screen and (min-width: 510px){.flow-text{font-size:1.32rem}}@media only screen and (min-width: 540px){.flow-text{font-size:1.344rem}}@media only screen and (min-width: 570px){.flow-text{font-size:1.368rem}}@media only screen and (min-width: 600px){.flow-text{font-size:1.392rem}}@media only screen and (min-width: 630px){.flow-text{font-size:1.416rem}}@media only screen and (min-width: 660px){.flow-text{font-size:1.44rem}}@media only screen and (min-width: 690px){.flow-text{font-size:1.464rem}}@media only screen and (min-width: 720px){.flow-text{font-size:1.488rem}}@media only screen and (min-width: 750px){.flow-text{font-size:1.512rem}}@media only screen and (min-width: 780px){.flow-text{font-size:1.536rem}}@media only screen and (min-width: 810px){.flow-text{font-size:1.56rem}}@media only screen and (min-width: 840px){.flow-text{font-size:1.584rem}}@media only screen and (min-width: 870px){.flow-text{font-size:1.608rem}}@media only screen and (min-width: 900px){.flow-text{font-size:1.632rem}}@media only screen and (min-width: 930px){.flow-text{font-size:1.656rem}}@media only screen and (min-width: 960px){.flow-text{font-size:1.68rem}}@media only screen and (max-width: 360px){.flow-text{font-size:1.2rem}}.scale-transition{-webkit-transition:-webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:-webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63), -webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important}.scale-transition.scale-out{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform .2s !important;transition:-webkit-transform .2s !important;transition:transform .2s !important;transition:transform .2s, -webkit-transform .2s !important}.scale-transition.scale-in{-webkit-transform:scale(1);transform:scale(1)}.card-panel{-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s;padding:24px;margin:.5rem 0 1rem 0;border-radius:2px;background-color:#fff}.card{position:relative;margin:.5rem 0 1rem 0;background-color:#fff;-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s;border-radius:2px}.card .card-title{font-size:24px;font-weight:300}.card .card-title.activator{cursor:pointer}.card.small,.card.medium,.card.large{position:relative}.card.small .card-image,.card.medium .card-image,.card.large .card-image{max-height:60%;overflow:hidden}.card.small .card-image+.card-content,.card.medium .card-image+.card-content,.card.large .card-image+.card-content{max-height:40%}.card.small .card-content,.card.medium .card-content,.card.large .card-content{max-height:100%;overflow:hidden}.card.small .card-action,.card.medium .card-action,.card.large .card-action{position:absolute;bottom:0;left:0;right:0}.card.small{height:300px}.card.medium{height:400px}.card.large{height:500px}.card.horizontal{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.card.horizontal.small .card-image,.card.horizontal.medium .card-image,.card.horizontal.large .card-image{height:100%;max-height:none;overflow:visible}.card.horizontal.small .card-image img,.card.horizontal.medium .card-image img,.card.horizontal.large .card-image img{height:100%}.card.horizontal .card-image{max-width:50%}.card.horizontal .card-image img{border-radius:2px 0 0 2px;max-width:100%;width:auto}.card.horizontal .card-stacked{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;position:relative}.card.horizontal .card-stacked .card-content{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.card.sticky-action .card-action{z-index:2}.card.sticky-action .card-reveal{z-index:1;padding-bottom:64px}.card .card-image{position:relative}.card .card-image img{display:block;border-radius:2px 2px 0 0;position:relative;left:0;right:0;top:0;bottom:0;width:100%}.card .card-image .card-title{color:#fff;position:absolute;bottom:0;left:0;max-width:100%;padding:24px}.card .card-content{padding:24px;border-radius:0 0 2px 2px}.card .card-content p{margin:0}.card .card-content .card-title{display:block;line-height:32px;margin-bottom:8px}.card .card-content .card-title i{line-height:32px}.card .card-action{background-color:inherit;border-top:1px solid rgba(160,160,160,0.2);position:relative;padding:16px 24px}.card .card-action:last-child{border-radius:0 0 2px 2px}.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating){color:#ffab40;margin-right:24px;-webkit-transition:color .3s ease;transition:color .3s ease;text-transform:uppercase}.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating):hover{color:#ffd8a6}.card .card-reveal{padding:24px;position:absolute;background-color:#fff;width:100%;overflow-y:auto;left:0;top:100%;height:100%;z-index:3;display:none}.card .card-reveal .card-title{cursor:pointer;display:block}#toast-container{display:block;position:fixed;z-index:10000}@media only screen and (max-width: 600px){#toast-container{min-width:100%;bottom:0%}}@media only screen and (min-width: 601px) and (max-width: 992px){#toast-container{left:5%;bottom:7%;max-width:90%}}@media only screen and (min-width: 993px){#toast-container{top:10%;right:7%;max-width:86%}}.toast{border-radius:2px;top:35px;width:auto;margin-top:10px;position:relative;max-width:100%;height:auto;min-height:48px;line-height:1.5em;background-color:#323232;padding:10px 25px;font-size:1.1rem;font-weight:300;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;cursor:default}.toast .toast-action{color:#eeff41;font-weight:500;margin-right:-25px;margin-left:3rem}.toast.rounded{border-radius:24px}@media only screen and (max-width: 600px){.toast{width:100%;border-radius:0}}.tabs{position:relative;overflow-x:auto;overflow-y:hidden;height:48px;width:100%;background-color:#fff;margin:0 auto;white-space:nowrap}.tabs.tabs-transparent{background-color:transparent}.tabs.tabs-transparent .tab a,.tabs.tabs-transparent .tab.disabled a,.tabs.tabs-transparent .tab.disabled a:hover{color:rgba(255,255,255,0.7)}.tabs.tabs-transparent .tab a:hover,.tabs.tabs-transparent .tab a.active{color:#fff}.tabs.tabs-transparent .indicator{background-color:#fff}.tabs.tabs-fixed-width{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs.tabs-fixed-width .tab{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab{display:inline-block;text-align:center;line-height:48px;height:48px;padding:0;margin:0;text-transform:uppercase}.tabs .tab a{color:rgba(238,110,115,0.7);display:block;width:100%;height:100%;padding:0 24px;font-size:14px;text-overflow:ellipsis;overflow:hidden;-webkit-transition:color .28s ease, background-color .28s ease;transition:color .28s ease, background-color .28s ease}.tabs .tab a:focus,.tabs .tab a:focus.active{background-color:rgba(246,178,181,0.2);outline:none}.tabs .tab a:hover,.tabs .tab a.active{background-color:transparent;color:#ee6e73}.tabs .tab.disabled a,.tabs .tab.disabled a:hover{color:rgba(238,110,115,0.4);cursor:default}.tabs .indicator{position:absolute;bottom:0;height:2px;background-color:#f6b2b5;will-change:left, right}@media only screen and (max-width: 992px){.tabs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs .tab{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab a{padding:0 12px}}.material-tooltip{padding:10px 8px;font-size:1rem;z-index:2000;background-color:transparent;border-radius:2px;color:#fff;min-height:36px;line-height:120%;opacity:0;position:absolute;text-align:center;max-width:calc(100% - 4px);overflow:hidden;left:0;top:0;pointer-events:none;visibility:hidden;background-color:#323232}.backdrop{position:absolute;opacity:0;height:7px;width:14px;border-radius:0 0 50% 50%;background-color:#323232;z-index:-1;-webkit-transform-origin:50% 0%;transform-origin:50% 0%;visibility:hidden}.btn,.btn-large,.btn-small,.btn-flat{border:none;border-radius:2px;display:inline-block;height:36px;line-height:36px;padding:0 16px;text-transform:uppercase;vertical-align:middle;-webkit-tap-highlight-color:transparent}.btn.disabled,.disabled.btn-large,.disabled.btn-small,.btn-floating.disabled,.btn-large.disabled,.btn-small.disabled,.btn-flat.disabled,.btn:disabled,.btn-large:disabled,.btn-small:disabled,.btn-floating:disabled,.btn-large:disabled,.btn-small:disabled,.btn-flat:disabled,.btn[disabled],.btn-large[disabled],.btn-small[disabled],.btn-floating[disabled],.btn-large[disabled],.btn-small[disabled],.btn-flat[disabled]{pointer-events:none;background-color:#DFDFDF !important;-webkit-box-shadow:none;box-shadow:none;color:#9F9F9F !important;cursor:default}.btn.disabled:hover,.disabled.btn-large:hover,.disabled.btn-small:hover,.btn-floating.disabled:hover,.btn-large.disabled:hover,.btn-small.disabled:hover,.btn-flat.disabled:hover,.btn:disabled:hover,.btn-large:disabled:hover,.btn-small:disabled:hover,.btn-floating:disabled:hover,.btn-large:disabled:hover,.btn-small:disabled:hover,.btn-flat:disabled:hover,.btn[disabled]:hover,.btn-large[disabled]:hover,.btn-small[disabled]:hover,.btn-floating[disabled]:hover,.btn-large[disabled]:hover,.btn-small[disabled]:hover,.btn-flat[disabled]:hover{background-color:#DFDFDF !important;color:#9F9F9F !important}.btn,.btn-large,.btn-small,.btn-floating,.btn-large,.btn-small,.btn-flat{font-size:14px;outline:0}.btn i,.btn-large i,.btn-small i,.btn-floating i,.btn-large i,.btn-small i,.btn-flat i{font-size:1.3rem;line-height:inherit}.btn:focus,.btn-large:focus,.btn-small:focus,.btn-floating:focus{background-color:#1d7d74}.btn,.btn-large,.btn-small{text-decoration:none;color:#fff;background-color:#26a69a;text-align:center;letter-spacing:.5px;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out;cursor:pointer}.btn:hover,.btn-large:hover,.btn-small:hover{background-color:#2bbbad}.btn-floating{display:inline-block;color:#fff;position:relative;overflow:hidden;z-index:1;width:40px;height:40px;line-height:40px;padding:0;background-color:#26a69a;border-radius:50%;-webkit-transition:background-color .3s;transition:background-color .3s;cursor:pointer;vertical-align:middle}.btn-floating:hover{background-color:#26a69a}.btn-floating:before{border-radius:0}.btn-floating.btn-large{width:56px;height:56px;padding:0}.btn-floating.btn-large.halfway-fab{bottom:-28px}.btn-floating.btn-large i{line-height:56px}.btn-floating.btn-small{width:32.4px;height:32.4px}.btn-floating.btn-small.halfway-fab{bottom:-16.2px}.btn-floating.btn-small i{line-height:32.4px}.btn-floating.halfway-fab{position:absolute;right:24px;bottom:-20px}.btn-floating.halfway-fab.left{right:auto;left:24px}.btn-floating i{width:inherit;display:inline-block;text-align:center;color:#fff;font-size:1.6rem;line-height:40px}button.btn-floating{border:none}.fixed-action-btn{position:fixed;right:23px;bottom:23px;padding-top:15px;margin-bottom:0;z-index:997}.fixed-action-btn.active ul{visibility:visible}.fixed-action-btn.direction-left,.fixed-action-btn.direction-right{padding:0 0 0 15px}.fixed-action-btn.direction-left ul,.fixed-action-btn.direction-right ul{text-align:right;right:64px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);height:100%;left:auto;width:500px}.fixed-action-btn.direction-left ul li,.fixed-action-btn.direction-right ul li{display:inline-block;margin:7.5px 15px 0 0}.fixed-action-btn.direction-right{padding:0 15px 0 0}.fixed-action-btn.direction-right ul{text-align:left;direction:rtl;left:64px;right:auto}.fixed-action-btn.direction-right ul li{margin:7.5px 0 0 15px}.fixed-action-btn.direction-bottom{padding:0 0 15px 0}.fixed-action-btn.direction-bottom ul{top:64px;bottom:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.fixed-action-btn.direction-bottom ul li{margin:15px 0 0 0}.fixed-action-btn.toolbar{padding:0;height:56px}.fixed-action-btn.toolbar.active>a i{opacity:0}.fixed-action-btn.toolbar ul{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;top:0;bottom:0;z-index:1}.fixed-action-btn.toolbar ul li{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;display:inline-block;margin:0;height:100%;-webkit-transition:none;transition:none}.fixed-action-btn.toolbar ul li a{display:block;overflow:hidden;position:relative;width:100%;height:100%;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;color:#fff;line-height:56px;z-index:1}.fixed-action-btn.toolbar ul li a i{line-height:inherit}.fixed-action-btn ul{left:0;right:0;text-align:center;position:absolute;bottom:64px;margin:0;visibility:hidden}.fixed-action-btn ul li{margin-bottom:15px}.fixed-action-btn ul a.btn-floating{opacity:0}.fixed-action-btn .fab-backdrop{position:absolute;top:0;left:0;z-index:-1;width:40px;height:40px;background-color:#26a69a;border-radius:50%;-webkit-transform:scale(0);transform:scale(0)}.btn-flat{-webkit-box-shadow:none;box-shadow:none;background-color:transparent;color:#343434;cursor:pointer;-webkit-transition:background-color .2s;transition:background-color .2s}.btn-flat:focus,.btn-flat:hover{-webkit-box-shadow:none;box-shadow:none}.btn-flat:focus{background-color:rgba(0,0,0,0.1)}.btn-flat.disabled,.btn-flat.btn-flat[disabled]{background-color:transparent !important;color:#b3b2b2 !important;cursor:default}.btn-large{height:54px;line-height:54px;font-size:15px;padding:0 28px}.btn-large i{font-size:1.6rem}.btn-small{height:32.4px;line-height:32.4px;font-size:13px}.btn-small i{font-size:1.2rem}.btn-block{display:block}.dropdown-content{background-color:#fff;margin:0;display:none;min-width:100px;overflow-y:auto;opacity:0;position:absolute;left:0;top:0;z-index:9999;-webkit-transform-origin:0 0;transform-origin:0 0}.dropdown-content:focus{outline:0}.dropdown-content li{clear:both;color:rgba(0,0,0,0.87);cursor:pointer;min-height:50px;line-height:1.5rem;width:100%;text-align:left}.dropdown-content li:hover,.dropdown-content li.active{background-color:#eee}.dropdown-content li:focus{outline:none}.dropdown-content li.divider{min-height:0;height:1px}.dropdown-content li>a,.dropdown-content li>span{font-size:16px;color:#26a69a;display:block;line-height:22px;padding:14px 16px}.dropdown-content li>span>label{top:1px;left:0;height:18px}.dropdown-content li>a>i{height:inherit;line-height:inherit;float:left;margin:0 24px 0 0;width:24px}body.keyboard-focused .dropdown-content li:focus{background-color:#dadada}.input-field.col .dropdown-content [type=\"checkbox\"]+label{top:1px;left:0;height:18px;-webkit-transform:none;transform:none}.dropdown-trigger{cursor:pointer}/*!\r\n * Waves v0.6.0\r\n * http://fian.my.id/Waves\r\n *\r\n * Copyright 2014 Alfiana E. Sibuea and other contributors\r\n * Released under the MIT license\r\n * https://github.com/fians/Waves/blob/master/LICENSE\r\n */.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;vertical-align:middle;z-index:1;-webkit-transition:.3s ease-out;transition:.3s ease-out}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;opacity:0;background:rgba(0,0,0,0.2);-webkit-transition:all 0.7s ease-out;transition:all 0.7s ease-out;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-transform:scale(0);transform:scale(0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background-color:rgba(255,255,255,0.45)}.waves-effect.waves-red .waves-ripple{background-color:rgba(244,67,54,0.7)}.waves-effect.waves-yellow .waves-ripple{background-color:rgba(255,235,59,0.7)}.waves-effect.waves-orange .waves-ripple{background-color:rgba(255,152,0,0.7)}.waves-effect.waves-purple .waves-ripple{background-color:rgba(156,39,176,0.7)}.waves-effect.waves-green .waves-ripple{background-color:rgba(76,175,80,0.7)}.waves-effect.waves-teal .waves-ripple{background-color:rgba(0,150,136,0.7)}.waves-effect input[type=\"button\"],.waves-effect input[type=\"reset\"],.waves-effect input[type=\"submit\"]{border:0;font-style:normal;font-size:inherit;text-transform:inherit;background:none}.waves-effect img{position:relative;z-index:-1}.waves-notransition{-webkit-transition:none !important;transition:none !important}.waves-circle{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle, white 100%, black 100%)}.waves-input-wrapper{border-radius:0.2em;vertical-align:bottom}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%;-webkit-mask-image:none}.waves-block{display:block}.waves-effect .waves-ripple{z-index:-1}.modal{display:none;position:fixed;left:0;right:0;background-color:#fafafa;padding:0;max-height:70%;width:55%;margin:auto;overflow-y:auto;border-radius:2px;will-change:top, opacity}.modal:focus{outline:none}@media only screen and (max-width: 992px){.modal{width:80%}}.modal h1,.modal h2,.modal h3,.modal h4{margin-top:0}.modal .modal-content{padding:24px}.modal .modal-close{cursor:pointer}.modal .modal-footer{border-radius:0 0 2px 2px;background-color:#fafafa;padding:4px 6px;height:56px;width:100%;text-align:right}.modal .modal-footer .btn,.modal .modal-footer .btn-large,.modal .modal-footer .btn-small,.modal .modal-footer .btn-flat{margin:6px 0}.modal-overlay{position:fixed;z-index:999;top:-25%;left:0;bottom:0;right:0;height:125%;width:100%;background:#000;display:none;will-change:opacity}.modal.modal-fixed-footer{padding:0;height:70%}.modal.modal-fixed-footer .modal-content{position:absolute;height:calc(100% - 56px);max-height:100%;width:100%;overflow-y:auto}.modal.modal-fixed-footer .modal-footer{border-top:1px solid rgba(0,0,0,0.1);position:absolute;bottom:0}.modal.bottom-sheet{top:auto;bottom:-100%;margin:0;width:100%;max-height:45%;border-radius:0;will-change:bottom, opacity}.collapsible{border-top:1px solid #ddd;border-right:1px solid #ddd;border-left:1px solid #ddd;margin:.5rem 0 1rem 0}.collapsible-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:pointer;-webkit-tap-highlight-color:transparent;line-height:1.5;padding:1rem;background-color:#fff;border-bottom:1px solid #ddd}.collapsible-header:focus{outline:0}.collapsible-header i{width:2rem;font-size:1.6rem;display:inline-block;text-align:center;margin-right:1rem}.keyboard-focused .collapsible-header:focus{background-color:#eee}.collapsible-body{display:none;border-bottom:1px solid #ddd;-webkit-box-sizing:border-box;box-sizing:border-box;padding:2rem}.sidenav .collapsible,.sidenav.fixed .collapsible{border:none;-webkit-box-shadow:none;box-shadow:none}.sidenav .collapsible li,.sidenav.fixed .collapsible li{padding:0}.sidenav .collapsible-header,.sidenav.fixed .collapsible-header{background-color:transparent;border:none;line-height:inherit;height:inherit;padding:0 16px}.sidenav .collapsible-header:hover,.sidenav.fixed .collapsible-header:hover{background-color:rgba(0,0,0,0.05)}.sidenav .collapsible-header i,.sidenav.fixed .collapsible-header i{line-height:inherit}.sidenav .collapsible-body,.sidenav.fixed .collapsible-body{border:0;background-color:#fff}.sidenav .collapsible-body li a,.sidenav.fixed .collapsible-body li a{padding:0 23.5px 0 31px}.collapsible.popout{border:none;-webkit-box-shadow:none;box-shadow:none}.collapsible.popout>li{-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);margin:0 24px;-webkit-transition:margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);transition:margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.collapsible.popout>li.active{-webkit-box-shadow:0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15);box-shadow:0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15);margin:16px 0}.chip{display:inline-block;height:32px;font-size:13px;font-weight:500;color:rgba(0,0,0,0.6);line-height:32px;padding:0 12px;border-radius:16px;background-color:#e4e4e4;margin-bottom:5px;margin-right:5px}.chip:focus{outline:none;background-color:#26a69a;color:#fff}.chip>img{float:left;margin:0 8px 0 -12px;height:32px;width:32px;border-radius:50%}.chip .close{cursor:pointer;float:right;font-size:16px;line-height:32px;padding-left:8px}.chips{border:none;border-bottom:1px solid #9e9e9e;-webkit-box-shadow:none;box-shadow:none;margin:0 0 8px 0;min-height:45px;outline:none;-webkit-transition:all .3s;transition:all .3s}.chips.focus{border-bottom:1px solid #26a69a;-webkit-box-shadow:0 1px 0 0 #26a69a;box-shadow:0 1px 0 0 #26a69a}.chips:hover{cursor:text}.chips .input{background:none;border:0;color:rgba(0,0,0,0.6);display:inline-block;font-size:16px;height:3rem;line-height:32px;outline:0;margin:0;padding:0 !important;width:120px !important}.chips .input:focus{border:0 !important;-webkit-box-shadow:none !important;box-shadow:none !important}.chips .autocomplete-content{margin-top:0;margin-bottom:0}.prefix ~ .chips{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.chips:empty ~ label{font-size:0.8rem;-webkit-transform:translateY(-140%);transform:translateY(-140%)}.materialboxed{display:block;cursor:-webkit-zoom-in;cursor:zoom-in;position:relative;-webkit-transition:opacity .4s;transition:opacity .4s;-webkit-backface-visibility:hidden}.materialboxed:hover:not(.active){opacity:.8}.materialboxed.active{cursor:-webkit-zoom-out;cursor:zoom-out}#materialbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#292929;z-index:1000;will-change:opacity}.materialbox-caption{position:fixed;display:none;color:#fff;line-height:50px;bottom:0;left:0;width:100%;text-align:center;padding:0% 15%;height:50px;z-index:1000;-webkit-font-smoothing:antialiased}select:focus{outline:1px solid #c9f3ef}button:focus{outline:none;background-color:#2ab7a9}label{font-size:.8rem;color:#9e9e9e}::-webkit-input-placeholder{color:#d1d1d1}::-moz-placeholder{color:#d1d1d1}:-ms-input-placeholder{color:#d1d1d1}::-ms-input-placeholder{color:#d1d1d1}::placeholder{color:#d1d1d1}input:not([type]),input[type=text]:not(.browser-default),input[type=password]:not(.browser-default),input[type=email]:not(.browser-default),input[type=url]:not(.browser-default),input[type=time]:not(.browser-default),input[type=date]:not(.browser-default),input[type=datetime]:not(.browser-default),input[type=datetime-local]:not(.browser-default),input[type=tel]:not(.browser-default),input[type=number]:not(.browser-default),input[type=search]:not(.browser-default),textarea.materialize-textarea{background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;height:3rem;width:100%;font-size:16px;margin:0 0 8px 0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-transition:border .3s, -webkit-box-shadow .3s;transition:border .3s, -webkit-box-shadow .3s;transition:box-shadow .3s, border .3s;transition:box-shadow .3s, border .3s, -webkit-box-shadow .3s}input:not([type]):disabled,input:not([type])[readonly=\"readonly\"],input[type=text]:not(.browser-default):disabled,input[type=text]:not(.browser-default)[readonly=\"readonly\"],input[type=password]:not(.browser-default):disabled,input[type=password]:not(.browser-default)[readonly=\"readonly\"],input[type=email]:not(.browser-default):disabled,input[type=email]:not(.browser-default)[readonly=\"readonly\"],input[type=url]:not(.browser-default):disabled,input[type=url]:not(.browser-default)[readonly=\"readonly\"],input[type=time]:not(.browser-default):disabled,input[type=time]:not(.browser-default)[readonly=\"readonly\"],input[type=date]:not(.browser-default):disabled,input[type=date]:not(.browser-default)[readonly=\"readonly\"],input[type=datetime]:not(.browser-default):disabled,input[type=datetime]:not(.browser-default)[readonly=\"readonly\"],input[type=datetime-local]:not(.browser-default):disabled,input[type=datetime-local]:not(.browser-default)[readonly=\"readonly\"],input[type=tel]:not(.browser-default):disabled,input[type=tel]:not(.browser-default)[readonly=\"readonly\"],input[type=number]:not(.browser-default):disabled,input[type=number]:not(.browser-default)[readonly=\"readonly\"],input[type=search]:not(.browser-default):disabled,input[type=search]:not(.browser-default)[readonly=\"readonly\"],textarea.materialize-textarea:disabled,textarea.materialize-textarea[readonly=\"readonly\"]{color:rgba(0,0,0,0.42);border-bottom:1px dotted rgba(0,0,0,0.42)}input:not([type]):disabled+label,input:not([type])[readonly=\"readonly\"]+label,input[type=text]:not(.browser-default):disabled+label,input[type=text]:not(.browser-default)[readonly=\"readonly\"]+label,input[type=password]:not(.browser-default):disabled+label,input[type=password]:not(.browser-default)[readonly=\"readonly\"]+label,input[type=email]:not(.browser-default):disabled+label,input[type=email]:not(.browser-default)[readonly=\"readonly\"]+label,input[type=url]:not(.browser-default):disabled+label,input[type=url]:not(.browser-default)[readonly=\"readonly\"]+label,input[type=time]:not(.browser-default):disabled+label,input[type=time]:not(.browser-default)[readonly=\"readonly\"]+label,input[type=date]:not(.browser-default):disabled+label,input[type=date]:not(.browser-default)[readonly=\"readonly\"]+label,input[type=datetime]:not(.browser-default):disabled+label,input[type=datetime]:not(.browser-default)[readonly=\"readonly\"]+label,input[type=datetime-local]:not(.browser-default):disabled+label,input[type=datetime-local]:not(.browser-default)[readonly=\"readonly\"]+label,input[type=tel]:not(.browser-default):disabled+label,input[type=tel]:not(.browser-default)[readonly=\"readonly\"]+label,input[type=number]:not(.browser-default):disabled+label,input[type=number]:not(.browser-default)[readonly=\"readonly\"]+label,input[type=search]:not(.browser-default):disabled+label,input[type=search]:not(.browser-default)[readonly=\"readonly\"]+label,textarea.materialize-textarea:disabled+label,textarea.materialize-textarea[readonly=\"readonly\"]+label{color:rgba(0,0,0,0.42)}input:not([type]):focus:not([readonly]),input[type=text]:not(.browser-default):focus:not([readonly]),input[type=password]:not(.browser-default):focus:not([readonly]),input[type=email]:not(.browser-default):focus:not([readonly]),input[type=url]:not(.browser-default):focus:not([readonly]),input[type=time]:not(.browser-default):focus:not([readonly]),input[type=date]:not(.browser-default):focus:not([readonly]),input[type=datetime]:not(.browser-default):focus:not([readonly]),input[type=datetime-local]:not(.browser-default):focus:not([readonly]),input[type=tel]:not(.browser-default):focus:not([readonly]),input[type=number]:not(.browser-default):focus:not([readonly]),input[type=search]:not(.browser-default):focus:not([readonly]),textarea.materialize-textarea:focus:not([readonly]){border-bottom:1px solid #26a69a;-webkit-box-shadow:0 1px 0 0 #26a69a;box-shadow:0 1px 0 0 #26a69a}input:not([type]):focus:not([readonly])+label,input[type=text]:not(.browser-default):focus:not([readonly])+label,input[type=password]:not(.browser-default):focus:not([readonly])+label,input[type=email]:not(.browser-default):focus:not([readonly])+label,input[type=url]:not(.browser-default):focus:not([readonly])+label,input[type=time]:not(.browser-default):focus:not([readonly])+label,input[type=date]:not(.browser-default):focus:not([readonly])+label,input[type=datetime]:not(.browser-default):focus:not([readonly])+label,input[type=datetime-local]:not(.browser-default):focus:not([readonly])+label,input[type=tel]:not(.browser-default):focus:not([readonly])+label,input[type=number]:not(.browser-default):focus:not([readonly])+label,input[type=search]:not(.browser-default):focus:not([readonly])+label,textarea.materialize-textarea:focus:not([readonly])+label{color:#26a69a}input:not([type]):focus.valid ~ label,input[type=text]:not(.browser-default):focus.valid ~ label,input[type=password]:not(.browser-default):focus.valid ~ label,input[type=email]:not(.browser-default):focus.valid ~ label,input[type=url]:not(.browser-default):focus.valid ~ label,input[type=time]:not(.browser-default):focus.valid ~ label,input[type=date]:not(.browser-default):focus.valid ~ label,input[type=datetime]:not(.browser-default):focus.valid ~ label,input[type=datetime-local]:not(.browser-default):focus.valid ~ label,input[type=tel]:not(.browser-default):focus.valid ~ label,input[type=number]:not(.browser-default):focus.valid ~ label,input[type=search]:not(.browser-default):focus.valid ~ label,textarea.materialize-textarea:focus.valid ~ label{color:#4CAF50}input:not([type]):focus.invalid ~ label,input[type=text]:not(.browser-default):focus.invalid ~ label,input[type=password]:not(.browser-default):focus.invalid ~ label,input[type=email]:not(.browser-default):focus.invalid ~ label,input[type=url]:not(.browser-default):focus.invalid ~ label,input[type=time]:not(.browser-default):focus.invalid ~ label,input[type=date]:not(.browser-default):focus.invalid ~ label,input[type=datetime]:not(.browser-default):focus.invalid ~ label,input[type=datetime-local]:not(.browser-default):focus.invalid ~ label,input[type=tel]:not(.browser-default):focus.invalid ~ label,input[type=number]:not(.browser-default):focus.invalid ~ label,input[type=search]:not(.browser-default):focus.invalid ~ label,textarea.materialize-textarea:focus.invalid ~ label{color:#F44336}input:not([type]).validate+label,input[type=text]:not(.browser-default).validate+label,input[type=password]:not(.browser-default).validate+label,input[type=email]:not(.browser-default).validate+label,input[type=url]:not(.browser-default).validate+label,input[type=time]:not(.browser-default).validate+label,input[type=date]:not(.browser-default).validate+label,input[type=datetime]:not(.browser-default).validate+label,input[type=datetime-local]:not(.browser-default).validate+label,input[type=tel]:not(.browser-default).validate+label,input[type=number]:not(.browser-default).validate+label,input[type=search]:not(.browser-default).validate+label,textarea.materialize-textarea.validate+label{width:100%}input.valid:not([type]),input.valid:not([type]):focus,input.valid[type=text]:not(.browser-default),input.valid[type=text]:not(.browser-default):focus,input.valid[type=password]:not(.browser-default),input.valid[type=password]:not(.browser-default):focus,input.valid[type=email]:not(.browser-default),input.valid[type=email]:not(.browser-default):focus,input.valid[type=url]:not(.browser-default),input.valid[type=url]:not(.browser-default):focus,input.valid[type=time]:not(.browser-default),input.valid[type=time]:not(.browser-default):focus,input.valid[type=date]:not(.browser-default),input.valid[type=date]:not(.browser-default):focus,input.valid[type=datetime]:not(.browser-default),input.valid[type=datetime]:not(.browser-default):focus,input.valid[type=datetime-local]:not(.browser-default),input.valid[type=datetime-local]:not(.browser-default):focus,input.valid[type=tel]:not(.browser-default),input.valid[type=tel]:not(.browser-default):focus,input.valid[type=number]:not(.browser-default),input.valid[type=number]:not(.browser-default):focus,input.valid[type=search]:not(.browser-default),input.valid[type=search]:not(.browser-default):focus,textarea.materialize-textarea.valid,textarea.materialize-textarea.valid:focus,.select-wrapper.valid>input.select-dropdown{border-bottom:1px solid #4CAF50;-webkit-box-shadow:0 1px 0 0 #4CAF50;box-shadow:0 1px 0 0 #4CAF50}input.invalid:not([type]),input.invalid:not([type]):focus,input.invalid[type=text]:not(.browser-default),input.invalid[type=text]:not(.browser-default):focus,input.invalid[type=password]:not(.browser-default),input.invalid[type=password]:not(.browser-default):focus,input.invalid[type=email]:not(.browser-default),input.invalid[type=email]:not(.browser-default):focus,input.invalid[type=url]:not(.browser-default),input.invalid[type=url]:not(.browser-default):focus,input.invalid[type=time]:not(.browser-default),input.invalid[type=time]:not(.browser-default):focus,input.invalid[type=date]:not(.browser-default),input.invalid[type=date]:not(.browser-default):focus,input.invalid[type=datetime]:not(.browser-default),input.invalid[type=datetime]:not(.browser-default):focus,input.invalid[type=datetime-local]:not(.browser-default),input.invalid[type=datetime-local]:not(.browser-default):focus,input.invalid[type=tel]:not(.browser-default),input.invalid[type=tel]:not(.browser-default):focus,input.invalid[type=number]:not(.browser-default),input.invalid[type=number]:not(.browser-default):focus,input.invalid[type=search]:not(.browser-default),input.invalid[type=search]:not(.browser-default):focus,textarea.materialize-textarea.invalid,textarea.materialize-textarea.invalid:focus,.select-wrapper.invalid>input.select-dropdown,.select-wrapper.invalid>input.select-dropdown:focus{border-bottom:1px solid #F44336;-webkit-box-shadow:0 1px 0 0 #F44336;box-shadow:0 1px 0 0 #F44336}input:not([type]).valid ~ .helper-text[data-success],input:not([type]):focus.valid ~ .helper-text[data-success],input:not([type]).invalid ~ .helper-text[data-error],input:not([type]):focus.invalid ~ .helper-text[data-error],input[type=text]:not(.browser-default).valid ~ .helper-text[data-success],input[type=text]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=text]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=text]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=password]:not(.browser-default).valid ~ .helper-text[data-success],input[type=password]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=password]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=password]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=email]:not(.browser-default).valid ~ .helper-text[data-success],input[type=email]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=email]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=email]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=url]:not(.browser-default).valid ~ .helper-text[data-success],input[type=url]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=url]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=url]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=time]:not(.browser-default).valid ~ .helper-text[data-success],input[type=time]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=time]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=time]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=date]:not(.browser-default).valid ~ .helper-text[data-success],input[type=date]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=date]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=date]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=datetime]:not(.browser-default).valid ~ .helper-text[data-success],input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=datetime]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=datetime-local]:not(.browser-default).valid ~ .helper-text[data-success],input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=tel]:not(.browser-default).valid ~ .helper-text[data-success],input[type=tel]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=tel]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=number]:not(.browser-default).valid ~ .helper-text[data-success],input[type=number]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=number]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=number]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=search]:not(.browser-default).valid ~ .helper-text[data-success],input[type=search]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=search]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=search]:not(.browser-default):focus.invalid ~ .helper-text[data-error],textarea.materialize-textarea.valid ~ .helper-text[data-success],textarea.materialize-textarea:focus.valid ~ .helper-text[data-success],textarea.materialize-textarea.invalid ~ .helper-text[data-error],textarea.materialize-textarea:focus.invalid ~ .helper-text[data-error],.select-wrapper.valid .helper-text[data-success],.select-wrapper.invalid ~ .helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input:not([type]).valid ~ .helper-text:after,input:not([type]):focus.valid ~ .helper-text:after,input[type=text]:not(.browser-default).valid ~ .helper-text:after,input[type=text]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=password]:not(.browser-default).valid ~ .helper-text:after,input[type=password]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=email]:not(.browser-default).valid ~ .helper-text:after,input[type=email]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=url]:not(.browser-default).valid ~ .helper-text:after,input[type=url]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=time]:not(.browser-default).valid ~ .helper-text:after,input[type=time]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=date]:not(.browser-default).valid ~ .helper-text:after,input[type=date]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=datetime]:not(.browser-default).valid ~ .helper-text:after,input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default).valid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=tel]:not(.browser-default).valid ~ .helper-text:after,input[type=tel]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=number]:not(.browser-default).valid ~ .helper-text:after,input[type=number]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=search]:not(.browser-default).valid ~ .helper-text:after,input[type=search]:not(.browser-default):focus.valid ~ .helper-text:after,textarea.materialize-textarea.valid ~ .helper-text:after,textarea.materialize-textarea:focus.valid ~ .helper-text:after,.select-wrapper.valid ~ .helper-text:after{content:attr(data-success);color:#4CAF50}input:not([type]).invalid ~ .helper-text:after,input:not([type]):focus.invalid ~ .helper-text:after,input[type=text]:not(.browser-default).invalid ~ .helper-text:after,input[type=text]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=password]:not(.browser-default).invalid ~ .helper-text:after,input[type=password]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=email]:not(.browser-default).invalid ~ .helper-text:after,input[type=email]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=url]:not(.browser-default).invalid ~ .helper-text:after,input[type=url]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=time]:not(.browser-default).invalid ~ .helper-text:after,input[type=time]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=date]:not(.browser-default).invalid ~ .helper-text:after,input[type=date]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=datetime]:not(.browser-default).invalid ~ .helper-text:after,input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=tel]:not(.browser-default).invalid ~ .helper-text:after,input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=number]:not(.browser-default).invalid ~ .helper-text:after,input[type=number]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=search]:not(.browser-default).invalid ~ .helper-text:after,input[type=search]:not(.browser-default):focus.invalid ~ .helper-text:after,textarea.materialize-textarea.invalid ~ .helper-text:after,textarea.materialize-textarea:focus.invalid ~ .helper-text:after,.select-wrapper.invalid ~ .helper-text:after{content:attr(data-error);color:#F44336}input:not([type])+label:after,input[type=text]:not(.browser-default)+label:after,input[type=password]:not(.browser-default)+label:after,input[type=email]:not(.browser-default)+label:after,input[type=url]:not(.browser-default)+label:after,input[type=time]:not(.browser-default)+label:after,input[type=date]:not(.browser-default)+label:after,input[type=datetime]:not(.browser-default)+label:after,input[type=datetime-local]:not(.browser-default)+label:after,input[type=tel]:not(.browser-default)+label:after,input[type=number]:not(.browser-default)+label:after,input[type=search]:not(.browser-default)+label:after,textarea.materialize-textarea+label:after,.select-wrapper+label:after{display:block;content:\"\";position:absolute;top:100%;left:0;opacity:0;-webkit-transition:.2s opacity ease-out, .2s color ease-out;transition:.2s opacity ease-out, .2s color ease-out}.input-field{position:relative;margin-top:1rem;margin-bottom:1rem}.input-field.inline{display:inline-block;vertical-align:middle;margin-left:5px}.input-field.inline input,.input-field.inline .select-dropdown{margin-bottom:1rem}.input-field.col label{left:.75rem}.input-field.col .prefix ~ label,.input-field.col .prefix ~ .validate ~ label{width:calc(100% - 3rem - 1.5rem)}.input-field>label{color:#9e9e9e;position:absolute;top:0;left:0;font-size:1rem;cursor:text;-webkit-transition:color .2s ease-out, -webkit-transform .2s ease-out;transition:color .2s ease-out, -webkit-transform .2s ease-out;transition:transform .2s ease-out, color .2s ease-out;transition:transform .2s ease-out, color .2s ease-out, -webkit-transform .2s ease-out;-webkit-transform-origin:0% 100%;transform-origin:0% 100%;text-align:initial;-webkit-transform:translateY(12px);transform:translateY(12px)}.input-field>label:not(.label-icon).active{-webkit-transform:translateY(-14px) scale(0.8);transform:translateY(-14px) scale(0.8);-webkit-transform-origin:0 0;transform-origin:0 0}.input-field>input[type]:-webkit-autofill:not(.browser-default):not([type=\"search\"])+label,.input-field>input[type=date]:not(.browser-default)+label,.input-field>input[type=time]:not(.browser-default)+label{-webkit-transform:translateY(-14px) scale(0.8);transform:translateY(-14px) scale(0.8);-webkit-transform-origin:0 0;transform-origin:0 0}.input-field .helper-text{position:relative;min-height:18px;display:block;font-size:12px;color:rgba(0,0,0,0.54)}.input-field .helper-text::after{opacity:1;position:absolute;top:0;left:0}.input-field .prefix{position:absolute;width:3rem;font-size:2rem;-webkit-transition:color .2s;transition:color .2s;top:.5rem}.input-field .prefix.active{color:#26a69a}.input-field .prefix ~ input,.input-field .prefix ~ textarea,.input-field .prefix ~ label,.input-field .prefix ~ .validate ~ label,.input-field .prefix ~ .helper-text,.input-field .prefix ~ .autocomplete-content{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.input-field .prefix ~ label{margin-left:3rem}@media only screen and (max-width: 992px){.input-field .prefix ~ input{width:86%;width:calc(100% - 3rem)}}@media only screen and (max-width: 600px){.input-field .prefix ~ input{width:80%;width:calc(100% - 3rem)}}.input-field input[type=search]{display:block;line-height:inherit;-webkit-transition:.3s background-color;transition:.3s background-color}.nav-wrapper .input-field input[type=search]{height:inherit;padding-left:4rem;width:calc(100% - 4rem);border:0;-webkit-box-shadow:none;box-shadow:none}.input-field input[type=search]:focus:not(.browser-default){background-color:#fff;border:0;-webkit-box-shadow:none;box-shadow:none;color:#444}.input-field input[type=search]:focus:not(.browser-default)+label i,.input-field input[type=search]:focus:not(.browser-default) ~ .mdi-navigation-close,.input-field input[type=search]:focus:not(.browser-default) ~ .material-icons{color:#444}.input-field input[type=search]+.label-icon{-webkit-transform:none;transform:none;left:1rem}.input-field input[type=search] ~ .mdi-navigation-close,.input-field input[type=search] ~ .material-icons{position:absolute;top:0;right:1rem;color:transparent;cursor:pointer;font-size:2rem;-webkit-transition:.3s color;transition:.3s color}textarea{width:100%;height:3rem;background-color:transparent}textarea.materialize-textarea{line-height:normal;overflow-y:hidden;padding:.8rem 0 .8rem 0;resize:none;min-height:3rem;-webkit-box-sizing:border-box;box-sizing:border-box}.hiddendiv{visibility:hidden;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;padding-top:1.2rem;position:absolute;top:0;z-index:-1}.autocomplete-content li .highlight{color:#444}.autocomplete-content li img{height:40px;width:40px;margin:5px 15px}.character-counter{min-height:18px}[type=\"radio\"]:not(:checked),[type=\"radio\"]:checked{position:absolute;opacity:0;pointer-events:none}[type=\"radio\"]:not(:checked)+span,[type=\"radio\"]:checked+span{position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;-webkit-transition:.28s ease;transition:.28s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type=\"radio\"]+span:before,[type=\"radio\"]+span:after{content:'';position:absolute;left:0;top:0;margin:4px;width:16px;height:16px;z-index:0;-webkit-transition:.28s ease;transition:.28s ease}[type=\"radio\"]:not(:checked)+span:before,[type=\"radio\"]:not(:checked)+span:after,[type=\"radio\"]:checked+span:before,[type=\"radio\"]:checked+span:after,[type=\"radio\"].with-gap:checked+span:before,[type=\"radio\"].with-gap:checked+span:after{border-radius:50%}[type=\"radio\"]:not(:checked)+span:before,[type=\"radio\"]:not(:checked)+span:after{border:2px solid #5a5a5a}[type=\"radio\"]:not(:checked)+span:after{-webkit-transform:scale(0);transform:scale(0)}[type=\"radio\"]:checked+span:before{border:2px solid transparent}[type=\"radio\"]:checked+span:after,[type=\"radio\"].with-gap:checked+span:before,[type=\"radio\"].with-gap:checked+span:after{border:2px solid #26a69a}[type=\"radio\"]:checked+span:after,[type=\"radio\"].with-gap:checked+span:after{background-color:#26a69a}[type=\"radio\"]:checked+span:after{-webkit-transform:scale(1.02);transform:scale(1.02)}[type=\"radio\"].with-gap:checked+span:after{-webkit-transform:scale(0.5);transform:scale(0.5)}[type=\"radio\"].tabbed:focus+span:before{-webkit-box-shadow:0 0 0 10px rgba(0,0,0,0.1);box-shadow:0 0 0 10px rgba(0,0,0,0.1)}[type=\"radio\"].with-gap:disabled:checked+span:before{border:2px solid rgba(0,0,0,0.42)}[type=\"radio\"].with-gap:disabled:checked+span:after{border:none;background-color:rgba(0,0,0,0.42)}[type=\"radio\"]:disabled:not(:checked)+span:before,[type=\"radio\"]:disabled:checked+span:before{background-color:transparent;border-color:rgba(0,0,0,0.42)}[type=\"radio\"]:disabled+span{color:rgba(0,0,0,0.42)}[type=\"radio\"]:disabled:not(:checked)+span:before{border-color:rgba(0,0,0,0.42)}[type=\"radio\"]:disabled:checked+span:after{background-color:rgba(0,0,0,0.42);border-color:#949494}[type=\"checkbox\"]:not(:checked),[type=\"checkbox\"]:checked{position:absolute;opacity:0;pointer-events:none}[type=\"checkbox\"]+span:not(.lever){position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type=\"checkbox\"]+span:not(.lever):before,[type=\"checkbox\"]:not(.filled-in)+span:not(.lever):after{content:'';position:absolute;top:0;left:0;width:18px;height:18px;z-index:0;border:2px solid #5a5a5a;border-radius:1px;margin-top:3px;-webkit-transition:.2s;transition:.2s}[type=\"checkbox\"]:not(.filled-in)+span:not(.lever):after{border:0;-webkit-transform:scale(0);transform:scale(0)}[type=\"checkbox\"]:not(:checked):disabled+span:not(.lever):before{border:none;background-color:rgba(0,0,0,0.42)}[type=\"checkbox\"].tabbed:focus+span:not(.lever):after{-webkit-transform:scale(1);transform:scale(1);border:0;border-radius:50%;-webkit-box-shadow:0 0 0 10px rgba(0,0,0,0.1);box-shadow:0 0 0 10px rgba(0,0,0,0.1);background-color:rgba(0,0,0,0.1)}[type=\"checkbox\"]:checked+span:not(.lever):before{top:-4px;left:-5px;width:12px;height:22px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #26a69a;border-bottom:2px solid #26a69a;-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type=\"checkbox\"]:checked:disabled+span:before{border-right:2px solid rgba(0,0,0,0.42);border-bottom:2px solid rgba(0,0,0,0.42)}[type=\"checkbox\"]:indeterminate+span:not(.lever):before{top:-11px;left:-12px;width:10px;height:22px;border-top:none;border-left:none;border-right:2px solid #26a69a;border-bottom:none;-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type=\"checkbox\"]:indeterminate:disabled+span:not(.lever):before{border-right:2px solid rgba(0,0,0,0.42);background-color:transparent}[type=\"checkbox\"].filled-in+span:not(.lever):after{border-radius:2px}[type=\"checkbox\"].filled-in+span:not(.lever):before,[type=\"checkbox\"].filled-in+span:not(.lever):after{content:'';left:0;position:absolute;-webkit-transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;z-index:1}[type=\"checkbox\"].filled-in:not(:checked)+span:not(.lever):before{width:0;height:0;border:3px solid transparent;left:6px;top:10px;-webkit-transform:rotateZ(37deg);transform:rotateZ(37deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type=\"checkbox\"].filled-in:not(:checked)+span:not(.lever):after{height:20px;width:20px;background-color:transparent;border:2px solid #5a5a5a;top:0px;z-index:0}[type=\"checkbox\"].filled-in:checked+span:not(.lever):before{top:0;left:1px;width:8px;height:13px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #fff;border-bottom:2px solid #fff;-webkit-transform:rotateZ(37deg);transform:rotateZ(37deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type=\"checkbox\"].filled-in:checked+span:not(.lever):after{top:0;width:20px;height:20px;border:2px solid #26a69a;background-color:#26a69a;z-index:0}[type=\"checkbox\"].filled-in.tabbed:focus+span:not(.lever):after{border-radius:2px;border-color:#5a5a5a;background-color:rgba(0,0,0,0.1)}[type=\"checkbox\"].filled-in.tabbed:checked:focus+span:not(.lever):after{border-radius:2px;background-color:#26a69a;border-color:#26a69a}[type=\"checkbox\"].filled-in:disabled:not(:checked)+span:not(.lever):before{background-color:transparent;border:2px solid transparent}[type=\"checkbox\"].filled-in:disabled:not(:checked)+span:not(.lever):after{border-color:transparent;background-color:#949494}[type=\"checkbox\"].filled-in:disabled:checked+span:not(.lever):before{background-color:transparent}[type=\"checkbox\"].filled-in:disabled:checked+span:not(.lever):after{background-color:#949494;border-color:#949494}.switch,.switch *{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch label{cursor:pointer}.switch label input[type=checkbox]{opacity:0;width:0;height:0}.switch label input[type=checkbox]:checked+.lever{background-color:#84c7c1}.switch label input[type=checkbox]:checked+.lever:before,.switch label input[type=checkbox]:checked+.lever:after{left:18px}.switch label input[type=checkbox]:checked+.lever:after{background-color:#26a69a}.switch label .lever{content:\"\";display:inline-block;position:relative;width:36px;height:14px;background-color:rgba(0,0,0,0.38);border-radius:15px;margin-right:10px;-webkit-transition:background 0.3s ease;transition:background 0.3s ease;vertical-align:middle;margin:0 16px}.switch label .lever:before,.switch label .lever:after{content:\"\";position:absolute;display:inline-block;width:20px;height:20px;border-radius:50%;left:0;top:-3px;-webkit-transition:left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;transition:left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;transition:left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease;transition:left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease}.switch label .lever:before{background-color:rgba(38,166,154,0.15)}.switch label .lever:after{background-color:#F1F1F1;-webkit-box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12);box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12)}input[type=checkbox]:checked:not(:disabled) ~ .lever:active::before,input[type=checkbox]:checked:not(:disabled).tabbed:focus ~ .lever::before{-webkit-transform:scale(2.4);transform:scale(2.4);background-color:rgba(38,166,154,0.15)}input[type=checkbox]:not(:disabled) ~ .lever:active:before,input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before{-webkit-transform:scale(2.4);transform:scale(2.4);background-color:rgba(0,0,0,0.08)}.switch input[type=checkbox][disabled]+.lever{cursor:default;background-color:rgba(0,0,0,0.12)}.switch label input[type=checkbox][disabled]+.lever:after,.switch label input[type=checkbox][disabled]:checked+.lever:after{background-color:#949494}select{display:none}select.browser-default{display:block}select{background-color:rgba(255,255,255,0.9);width:100%;padding:5px;border:1px solid #f2f2f2;border-radius:2px;height:3rem}.select-label{position:absolute}.select-wrapper{position:relative}.select-wrapper.valid+label,.select-wrapper.invalid+label{width:100%;pointer-events:none}.select-wrapper input.select-dropdown{position:relative;cursor:pointer;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;outline:none;height:3rem;line-height:3rem;width:100%;font-size:16px;margin:0 0 8px 0;padding:0;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}.select-wrapper input.select-dropdown:focus{border-bottom:1px solid #26a69a}.select-wrapper .caret{position:absolute;right:0;top:0;bottom:0;margin:auto 0;z-index:0;fill:rgba(0,0,0,0.87)}.select-wrapper+label{position:absolute;top:-26px;font-size:.8rem}select:disabled{color:rgba(0,0,0,0.42)}.select-wrapper.disabled+label{color:rgba(0,0,0,0.42)}.select-wrapper.disabled .caret{fill:rgba(0,0,0,0.42)}.select-wrapper input.select-dropdown:disabled{color:rgba(0,0,0,0.42);cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-wrapper i{color:rgba(0,0,0,0.3)}.select-dropdown li.disabled,.select-dropdown li.disabled>span,.select-dropdown li.optgroup{color:rgba(0,0,0,0.3);background-color:transparent}body.keyboard-focused .select-dropdown.dropdown-content li:focus{background-color:rgba(0,0,0,0.08)}.select-dropdown.dropdown-content li:hover{background-color:rgba(0,0,0,0.08)}.select-dropdown.dropdown-content li.selected{background-color:rgba(0,0,0,0.03)}.prefix ~ .select-wrapper{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.prefix ~ label{margin-left:3rem}.select-dropdown li img{height:40px;width:40px;margin:5px 15px;float:right}.select-dropdown li.optgroup{border-top:1px solid #eee}.select-dropdown li.optgroup.selected>span{color:rgba(0,0,0,0.7)}.select-dropdown li.optgroup>span{color:rgba(0,0,0,0.4)}.select-dropdown li.optgroup ~ li.optgroup-option{padding-left:1rem}.file-field{position:relative}.file-field .file-path-wrapper{overflow:hidden;padding-left:10px}.file-field input.file-path{width:100%}.file-field .btn,.file-field .btn-large,.file-field .btn-small{float:left;height:3rem;line-height:3rem}.file-field span{cursor:pointer}.file-field input[type=file]{position:absolute;top:0;right:0;left:0;bottom:0;width:100%;margin:0;padding:0;font-size:20px;cursor:pointer;opacity:0;filter:alpha(opacity=0)}.file-field input[type=file]::-webkit-file-upload-button{display:none}.range-field{position:relative}input[type=range],input[type=range]+.thumb{cursor:pointer}input[type=range]{position:relative;background-color:transparent;border:none;outline:none;width:100%;margin:15px 0;padding:0}input[type=range]:focus{outline:none}input[type=range]+.thumb{position:absolute;top:10px;left:0;border:none;height:0;width:0;border-radius:50%;background-color:#26a69a;margin-left:7px;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}input[type=range]+.thumb .value{display:block;width:30px;text-align:center;color:#26a69a;font-size:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}input[type=range]+.thumb.active{border-radius:50% 50% 50% 0}input[type=range]+.thumb.active .value{color:#fff;margin-left:-1px;margin-top:8px;font-size:10px}input[type=range]{-webkit-appearance:none}input[type=range]::-webkit-slider-runnable-track{height:3px;background:#c2c0c2;border:none}input[type=range]::-webkit-slider-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s;-webkit-appearance:none;background-color:#26a69a;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;margin:-5px 0 0 0}.keyboard-focused input[type=range]:focus:not(.active)::-webkit-slider-thumb{-webkit-box-shadow:0 0 0 10px rgba(38,166,154,0.26);box-shadow:0 0 0 10px rgba(38,166,154,0.26)}input[type=range]{border:1px solid white}input[type=range]::-moz-range-track{height:3px;background:#c2c0c2;border:none}input[type=range]::-moz-focus-inner{border:0}input[type=range]::-moz-range-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s;margin-top:-5px}input[type=range]:-moz-focusring{outline:1px solid #fff;outline-offset:-1px}.keyboard-focused input[type=range]:focus:not(.active)::-moz-range-thumb{box-shadow:0 0 0 10px rgba(38,166,154,0.26)}input[type=range]::-ms-track{height:3px;background:transparent;border-color:transparent;border-width:6px 0;color:transparent}input[type=range]::-ms-fill-lower{background:#777}input[type=range]::-ms-fill-upper{background:#ddd}input[type=range]::-ms-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s}.keyboard-focused input[type=range]:focus:not(.active)::-ms-thumb{box-shadow:0 0 0 10px rgba(38,166,154,0.26)}.table-of-contents.fixed{position:fixed}.table-of-contents li{padding:2px 0}.table-of-contents a{display:inline-block;font-weight:300;color:#757575;padding-left:16px;height:1.5rem;line-height:1.5rem;letter-spacing:.4;display:inline-block}.table-of-contents a:hover{color:#a8a8a8;padding-left:15px;border-left:1px solid #ee6e73}.table-of-contents a.active{font-weight:500;padding-left:14px;border-left:2px solid #ee6e73}.sidenav{position:fixed;width:300px;left:0;top:0;margin:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);height:100%;height:calc(100% + 60px);height:-moz-calc(100%);padding-bottom:60px;background-color:#fff;z-index:999;overflow-y:auto;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateX(-105%);transform:translateX(-105%)}.sidenav.right-aligned{right:0;-webkit-transform:translateX(105%);transform:translateX(105%);left:auto;-webkit-transform:translateX(100%);transform:translateX(100%)}.sidenav .collapsible{margin:0}.sidenav li{float:none;line-height:48px}.sidenav li.active{background-color:rgba(0,0,0,0.05)}.sidenav li>a{color:rgba(0,0,0,0.87);display:block;font-size:14px;font-weight:500;height:48px;line-height:48px;padding:0 32px}.sidenav li>a:hover{background-color:rgba(0,0,0,0.05)}.sidenav li>a.btn,.sidenav li>a.btn-large,.sidenav li>a.btn-small,.sidenav li>a.btn-large,.sidenav li>a.btn-flat,.sidenav li>a.btn-floating{margin:10px 15px}.sidenav li>a.btn,.sidenav li>a.btn-large,.sidenav li>a.btn-small,.sidenav li>a.btn-large,.sidenav li>a.btn-floating{color:#fff}.sidenav li>a.btn-flat{color:#343434}.sidenav li>a.btn:hover,.sidenav li>a.btn-large:hover,.sidenav li>a.btn-small:hover,.sidenav li>a.btn-large:hover{background-color:#2bbbad}.sidenav li>a.btn-floating:hover{background-color:#26a69a}.sidenav li>a>i,.sidenav li>a>[class^=\"mdi-\"],.sidenav li>a li>a>[class*=\"mdi-\"],.sidenav li>a>i.material-icons{float:left;height:48px;line-height:48px;margin:0 32px 0 0;width:24px;color:rgba(0,0,0,0.54)}.sidenav .divider{margin:8px 0 0 0}.sidenav .subheader{cursor:initial;pointer-events:none;color:rgba(0,0,0,0.54);font-size:14px;font-weight:500;line-height:48px}.sidenav .subheader:hover{background-color:transparent}.sidenav .user-view{position:relative;padding:32px 32px 0;margin-bottom:8px}.sidenav .user-view>a{height:auto;padding:0}.sidenav .user-view>a:hover{background-color:transparent}.sidenav .user-view .background{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.sidenav .user-view .circle,.sidenav .user-view .name,.sidenav .user-view .email{display:block}.sidenav .user-view .circle{height:64px;width:64px}.sidenav .user-view .name,.sidenav .user-view .email{font-size:14px;line-height:24px}.sidenav .user-view .name{margin-top:16px;font-weight:500}.sidenav .user-view .email{padding-bottom:16px;font-weight:400}.drag-target{height:100%;width:10px;position:fixed;top:0;z-index:998}.drag-target.right-aligned{right:0}.sidenav.sidenav-fixed{left:0;-webkit-transform:translateX(0);transform:translateX(0);position:fixed}.sidenav.sidenav-fixed.right-aligned{right:0;left:auto}@media only screen and (max-width: 992px){.sidenav.sidenav-fixed{-webkit-transform:translateX(-105%);transform:translateX(-105%)}.sidenav.sidenav-fixed.right-aligned{-webkit-transform:translateX(105%);transform:translateX(105%)}.sidenav>a{padding:0 16px}.sidenav .user-view{padding:16px 16px 0}}.sidenav .collapsible-body>ul:not(.collapsible)>li.active,.sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active{background-color:#ee6e73}.sidenav .collapsible-body>ul:not(.collapsible)>li.active a,.sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active a{color:#fff}.sidenav .collapsible-body{padding:0}.sidenav-overlay{position:fixed;top:0;left:0;right:0;opacity:0;height:120vh;background-color:rgba(0,0,0,0.5);z-index:997;display:none}.preloader-wrapper{display:inline-block;position:relative;width:50px;height:50px}.preloader-wrapper.small{width:36px;height:36px}.preloader-wrapper.big{width:64px;height:64px}.preloader-wrapper.active{-webkit-animation:container-rotate 1568ms linear infinite;animation:container-rotate 1568ms linear infinite}@-webkit-keyframes container-rotate{to{-webkit-transform:rotate(360deg)}}@keyframes container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-layer{position:absolute;width:100%;height:100%;opacity:0;border-color:#26a69a}.spinner-blue,.spinner-blue-only{border-color:#4285f4}.spinner-red,.spinner-red-only{border-color:#db4437}.spinner-yellow,.spinner-yellow-only{border-color:#f4b400}.spinner-green,.spinner-green-only{border-color:#0f9d58}.active .spinner-layer.spinner-blue{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-red{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-yellow{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-green{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer,.active .spinner-layer.spinner-blue-only,.active .spinner-layer.spinner-red-only,.active .spinner-layer.spinner-yellow-only,.active .spinner-layer.spinner-green-only{opacity:1;-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}@-webkit-keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg)}}@keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@-webkit-keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@-webkit-keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@-webkit-keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}@keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}.gap-patch{position:absolute;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.gap-patch .circle{width:1000%;left:-450%}.circle-clipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.circle-clipper .circle{width:200%;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent !important;border-radius:50%;-webkit-animation:none;animation:none;position:absolute;top:0;right:0;bottom:0}.circle-clipper.left .circle{left:0;border-right-color:transparent !important;-webkit-transform:rotate(129deg);transform:rotate(129deg)}.circle-clipper.right .circle{left:-100%;border-left-color:transparent !important;-webkit-transform:rotate(-129deg);transform:rotate(-129deg)}.active .circle-clipper.left .circle{-webkit-animation:left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .circle-clipper.right .circle{-webkit-animation:right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}@-webkit-keyframes left-spin{from{-webkit-transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg)}}@keyframes left-spin{from{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@-webkit-keyframes right-spin{from{-webkit-transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg)}}@keyframes right-spin{from{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}#spinnerContainer.cooldown{-webkit-animation:container-rotate 1568ms linear infinite,fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);animation:container-rotate 1568ms linear infinite,fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1)}@-webkit-keyframes fade-out{from{opacity:1}to{opacity:0}}@keyframes fade-out{from{opacity:1}to{opacity:0}}.slider{position:relative;height:400px;width:100%}.slider.fullscreen{height:100%;width:100%;position:absolute;top:0;left:0;right:0;bottom:0}.slider.fullscreen ul.slides{height:100%}.slider.fullscreen ul.indicators{z-index:2;bottom:30px}.slider .slides{background-color:#9e9e9e;margin:0;height:400px}.slider .slides li{opacity:0;position:absolute;top:0;left:0;z-index:1;width:100%;height:inherit;overflow:hidden}.slider .slides li img{height:100%;width:100%;background-size:cover;background-position:center}.slider .slides li .caption{color:#fff;position:absolute;top:15%;left:15%;width:70%;opacity:0}.slider .slides li .caption p{color:#e0e0e0}.slider .slides li.active{z-index:2}.slider .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.slider .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:16px;width:16px;margin:0 12px;background-color:#e0e0e0;-webkit-transition:background-color .3s;transition:background-color .3s;border-radius:50%}.slider .indicators .indicator-item.active{background-color:#4CAF50}.carousel{overflow:hidden;position:relative;width:100%;height:400px;-webkit-perspective:500px;perspective:500px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transform-origin:0% 50%;transform-origin:0% 50%}.carousel.carousel-slider{top:0;left:0}.carousel.carousel-slider .carousel-fixed-item{position:absolute;left:0;right:0;bottom:20px;z-index:1}.carousel.carousel-slider .carousel-fixed-item.with-indicators{bottom:68px}.carousel.carousel-slider .carousel-item{width:100%;height:100%;min-height:400px;position:absolute;top:0;left:0}.carousel.carousel-slider .carousel-item h2{font-size:24px;font-weight:500;line-height:32px}.carousel.carousel-slider .carousel-item p{font-size:15px}.carousel .carousel-item{visibility:hidden;width:200px;height:200px;position:absolute;top:0;left:0}.carousel .carousel-item>img{width:100%}.carousel .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.carousel .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:8px;width:8px;margin:24px 4px;background-color:rgba(255,255,255,0.5);-webkit-transition:background-color .3s;transition:background-color .3s;border-radius:50%}.carousel .indicators .indicator-item.active{background-color:#fff}.carousel.scrolling .carousel-item .materialboxed,.carousel .carousel-item:not(.active) .materialboxed{pointer-events:none}.tap-target-wrapper{width:800px;height:800px;position:fixed;z-index:1000;visibility:hidden;-webkit-transition:visibility 0s .3s;transition:visibility 0s .3s}.tap-target-wrapper.open{visibility:visible;-webkit-transition:visibility 0s;transition:visibility 0s}.tap-target-wrapper.open .tap-target{-webkit-transform:scale(1);transform:scale(1);opacity:.95;-webkit-transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1)}.tap-target-wrapper.open .tap-target-wave::before{-webkit-transform:scale(1);transform:scale(1)}.tap-target-wrapper.open .tap-target-wave::after{visibility:visible;-webkit-animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;-webkit-transition:opacity .3s,\r visibility 0s 1s,\r -webkit-transform .3s;transition:opacity .3s,\r visibility 0s 1s,\r -webkit-transform .3s;transition:opacity .3s,\r transform .3s,\r visibility 0s 1s;transition:opacity .3s,\r transform .3s,\r visibility 0s 1s,\r -webkit-transform .3s}.tap-target{position:absolute;font-size:1rem;border-radius:50%;background-color:#ee6e73;-webkit-box-shadow:0 20px 20px 0 rgba(0,0,0,0.14),0 10px 50px 0 rgba(0,0,0,0.12),0 30px 10px -20px rgba(0,0,0,0.2);box-shadow:0 20px 20px 0 rgba(0,0,0,0.14),0 10px 50px 0 rgba(0,0,0,0.12),0 30px 10px -20px rgba(0,0,0,0.2);width:100%;height:100%;opacity:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1)}.tap-target-content{position:relative;display:table-cell}.tap-target-wave{position:absolute;border-radius:50%;z-index:10001}.tap-target-wave::before,.tap-target-wave::after{content:'';display:block;position:absolute;width:100%;height:100%;border-radius:50%;background-color:#ffffff}.tap-target-wave::before{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s, -webkit-transform .3s}.tap-target-wave::after{visibility:hidden;-webkit-transition:opacity .3s,\r visibility 0s,\r -webkit-transform .3s;transition:opacity .3s,\r visibility 0s,\r -webkit-transform .3s;transition:opacity .3s,\r transform .3s,\r visibility 0s;transition:opacity .3s,\r transform .3s,\r visibility 0s,\r -webkit-transform .3s;z-index:-1}.tap-target-origin{top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);z-index:10002;position:absolute !important}.tap-target-origin:not(.btn):not(.btn-large):not(.btn-small),.tap-target-origin:not(.btn):not(.btn-large):not(.btn-small):hover{background:none}@media only screen and (max-width: 600px){.tap-target,.tap-target-wrapper{width:600px;height:600px}}.pulse{overflow:visible;position:relative}.pulse::before{content:'';display:block;position:absolute;width:100%;height:100%;top:0;left:0;background-color:inherit;border-radius:inherit;-webkit-transition:opacity .3s, -webkit-transform .3s;transition:opacity .3s, -webkit-transform .3s;transition:opacity .3s, transform .3s;transition:opacity .3s, transform .3s, -webkit-transform .3s;-webkit-animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;z-index:-1}@-webkit-keyframes pulse-animation{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}100%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}}@keyframes pulse-animation{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}100%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}}.datepicker-modal{max-width:325px;min-width:300px;max-height:none}.datepicker-container.modal-content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:0}.datepicker-controls{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:280px;margin:0 auto}.datepicker-controls .selects-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.datepicker-controls .select-wrapper input{border-bottom:none;text-align:center;margin:0}.datepicker-controls .select-wrapper input:focus{border-bottom:none}.datepicker-controls .select-wrapper .caret{display:none}.datepicker-controls .select-year input{width:50px}.datepicker-controls .select-month input{width:70px}.month-prev,.month-next{margin-top:4px;cursor:pointer;background-color:transparent;border:none}.datepicker-date-display{-webkit-box-flex:1;-webkit-flex:1 auto;-ms-flex:1 auto;flex:1 auto;background-color:#26a69a;color:#fff;padding:20px 22px;font-weight:500}.datepicker-date-display .year-text{display:block;font-size:1.5rem;line-height:25px;color:rgba(255,255,255,0.7)}.datepicker-date-display .date-text{display:block;font-size:2.8rem;line-height:47px;font-weight:500}.datepicker-calendar-container{-webkit-box-flex:2.5;-webkit-flex:2.5 auto;-ms-flex:2.5 auto;flex:2.5 auto}.datepicker-table{width:280px;font-size:1rem;margin:0 auto}.datepicker-table thead{border-bottom:none}.datepicker-table th{padding:10px 5px;text-align:center}.datepicker-table tr{border:none}.datepicker-table abbr{text-decoration:none;color:#999}.datepicker-table td{border-radius:50%;padding:0}.datepicker-table td.is-today{color:#26a69a}.datepicker-table td.is-selected{background-color:#26a69a;color:#fff}.datepicker-table td.is-outside-current-month,.datepicker-table td.is-disabled{color:rgba(0,0,0,0.3);pointer-events:none}.datepicker-day-button{background-color:transparent;border:none;line-height:38px;display:block;width:100%;border-radius:50%;padding:0 5px;cursor:pointer;color:inherit}.datepicker-day-button:focus{background-color:rgba(43,161,150,0.25)}.datepicker-footer{width:280px;margin:0 auto;padding-bottom:5px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.datepicker-cancel,.datepicker-clear,.datepicker-today,.datepicker-done{color:#26a69a;padding:0 1rem}.datepicker-clear{color:#F44336}@media only screen and (min-width: 601px){.datepicker-modal{max-width:625px}.datepicker-container.modal-content{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.datepicker-date-display{-webkit-box-flex:0;-webkit-flex:0 1 270px;-ms-flex:0 1 270px;flex:0 1 270px}.datepicker-controls,.datepicker-table,.datepicker-footer{width:320px}.datepicker-day-button{line-height:44px}}.timepicker-modal{max-width:325px;max-height:none}.timepicker-container.modal-content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:0}.text-primary{color:#fff}.timepicker-digital-display{-webkit-box-flex:1;-webkit-flex:1 auto;-ms-flex:1 auto;flex:1 auto;background-color:#26a69a;padding:10px;font-weight:300}.timepicker-text-container{font-size:4rem;font-weight:bold;text-align:center;color:rgba(255,255,255,0.6);font-weight:400;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.timepicker-span-hours,.timepicker-span-minutes,.timepicker-span-am-pm div{cursor:pointer}.timepicker-span-hours{margin-right:3px}.timepicker-span-minutes{margin-left:3px}.timepicker-display-am-pm{font-size:1.3rem;position:absolute;right:1rem;bottom:1rem;font-weight:400}.timepicker-analog-display{-webkit-box-flex:2.5;-webkit-flex:2.5 auto;-ms-flex:2.5 auto;flex:2.5 auto}.timepicker-plate{background-color:#eee;border-radius:50%;width:270px;height:270px;overflow:visible;position:relative;margin:auto;margin-top:25px;margin-bottom:5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.timepicker-canvas,.timepicker-dial{position:absolute;left:0;right:0;top:0;bottom:0}.timepicker-minutes{visibility:hidden}.timepicker-tick{border-radius:50%;color:rgba(0,0,0,0.87);line-height:40px;text-align:center;width:40px;height:40px;position:absolute;cursor:pointer;font-size:15px}.timepicker-tick.active,.timepicker-tick:hover{background-color:rgba(38,166,154,0.25)}.timepicker-dial{-webkit-transition:opacity 350ms, -webkit-transform 350ms;transition:opacity 350ms, -webkit-transform 350ms;transition:transform 350ms, opacity 350ms;transition:transform 350ms, opacity 350ms, -webkit-transform 350ms}.timepicker-dial-out{opacity:0}.timepicker-dial-out.timepicker-hours{-webkit-transform:scale(1.1, 1.1);transform:scale(1.1, 1.1)}.timepicker-dial-out.timepicker-minutes{-webkit-transform:scale(0.8, 0.8);transform:scale(0.8, 0.8)}.timepicker-canvas{-webkit-transition:opacity 175ms;transition:opacity 175ms}.timepicker-canvas line{stroke:#26a69a;stroke-width:4;stroke-linecap:round}.timepicker-canvas-out{opacity:0.25}.timepicker-canvas-bearing{stroke:none;fill:#26a69a}.timepicker-canvas-bg{stroke:none;fill:#26a69a}.timepicker-footer{margin:0 auto;padding:5px 1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.timepicker-clear{color:#F44336}.timepicker-close{color:#26a69a}.timepicker-clear,.timepicker-close{padding:0 20px}@media only screen and (min-width: 601px){.timepicker-modal{max-width:600px}.timepicker-container.modal-content{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.timepicker-text-container{top:32%}.timepicker-display-am-pm{position:relative;right:auto;bottom:auto;text-align:center;margin-top:1.2rem}}\n","@media only screen and (min-width: 601px) {\n .container {\n width: 95%;\n }\n}\n\n.container {\n max-width: unset;\n}\nbody {\n font-size: 18px;\n overflow-x: hidden;\n}\n\n/* Set theme color */\n.btn,\n.btn-floating {\n background-color: #1565c0;\n}\n.page-footer,\n.nav-wrapper,\n.statusbar,\n.nav-content {\n background-color: white;\n}\nnav .title {\n position: fixed;\n top: 0;\n left: 200px;\n font-size: 2rem;\n}\n.input-field,\n.switch > label,\n.input-field > label,\n.input-field > .material-icons,\n.dropdown-content > li > a,\n.tooltip > .material-icons,\nlabel > span,\n.secondary-content > .material-icons {\n color: #1a237e;\n /* font-weight: bold; */\n}\n.tabs.tabs-transparent .tab a,\nnav ul a {\n /* font-weight: bold; */\n color: #1a237e;\n padding: 0;\n}\n.primary-text {\n color: #1a237e;\n}\na {\n color: #2b36aa;\n}\n\n.markdown ul {\n padding-left: 20px;\n}\n.markdown ul > li {\n padding-left: 20px;\n list-style-type: disc;\n}\n.leaflet-top,\n.leaflet-bottom {\n z-index: 950;\n}\n\n/* styles for '...' */\n.block-with-text {\n /* hide text if it more than N lines */\n overflow: hidden;\n /* for set '...' in absolute position */\n position: relative;\n /* use this value to count block height */\n line-height: 1.2em;\n /* max-height = line-height (1.2) * lines max number (3) */\n max-height: 3.6em;\n /* fix problem when last visible word doesn't adjoin right side */\n text-align: justify;\n\n /* */\n margin-right: -1em;\n padding-right: 1em;\n}\n.block-with-text:before {\n /* points in the end */\n content: '...';\n /* absolute position */\n position: absolute;\n /* set position to right bottom corner of block */\n right: 0;\n bottom: 0;\n}\n.block-with-text:after {\n /* points in the end */\n content: '';\n /* absolute position */\n position: absolute;\n /* set position to right bottom corner of text */\n right: 0;\n width: 1em;\n /* set width and height */\n height: 1em;\n margin-top: 0.2em;\n background: white;\n}\n.sidenav {\n top: 66px;\n}\n.buttons a {\n margin: 5px;\n}\n\n/* print styles */\n@media print {\n html,\n body {\n font-size: 14px;\n }\n body {\n margin: 0;\n color: #000;\n background-color: #fff;\n }\n a[href^='http']::after {\n content: ' (' attr(href) ')';\n }\n .leaflet-container,\n img,\n pre,\n blockquote {\n page-break-inside: avoid;\n page-break-before: auto; /* 'always,' 'avoid,' 'left,' 'inherit,' or 'right' */\n page-break-after: auto; /* 'always,' 'avoid,' 'left,' 'inherit,' or 'right' */\n page-break-inside: avoid; /* or 'auto' */\n }\n main::after {\n content: 'Copyright DRIVER+';\n display: block;\n text-align: center;\n }\n .do-not-print,\n header,\n footer,\n aside,\n nav,\n form,\n iframe,\n .menu,\n .hero,\n .adslot {\n display: none;\n }\n}\n\n.margin-top7 {\n margin-top: 7px;\n}\n.inline {\n display: inline-block;\n margin: 0 1rem;\n}\nul.list-inline li {\n display: inline;\n}\nul.menu-buttons > li {\n margin: 5px 0;\n}\nul.menu-buttons > li > a {\n width: 100%;\n}\nul.questionnaire-nav {\n width: 100%;\n text-align: center;\n}\nul.questionnaire-nav > li {\n margin: 0 10px;\n}\nul.questionnaire-nav > li > a {\n width: 25%;\n}\n.markdown p {\n color: black;\n font-weight: normal;\n}\n.markdown.squeeze p {\n margin: 0;\n}\n\n.repeat-list .pagination {\n margin: 0;\n}\n\n.repeat-list .assessment-plugin {\n margin: 0 10px;\n}\n\n.incident-view {\n margin-bottom: 0;\n position: absolute;\n top: 65px;\n left: -10px;\n width: 100vw;\n}\n.card-panel {\n cursor: pointer;\n padding: 0 20px;\n margin: 0.5rem 0 0.5rem 0;\n}\n.card-panel.xl {\n height: 41.5vh;\n}\n.card-panel.large {\n height: 200px;\n}\n.card-panel.medium {\n height: 125px;\n}\n.card-panel.small {\n height: 75px;\n}\n.widget {\n position: relative;\n}\n.widget ul {\n margin: 0px;\n}\n.widget-link {\n display: none;\n}\n.widget:hover .widget-link {\n display: block;\n}\n.bold {\n font-weight: bold;\n}\n.subject {\n position: absolute;\n width: 42px;\n /* height: 42px; */\n overflow: hidden;\n left: 15px;\n display: inline-block;\n vertical-align: middle;\n}\nul.collection.objects,\nul.collection.subjects {\n max-height: 160px;\n overflow-y: auto;\n}\n\nul.updates {\n max-height: 70px;\n overflow-y: auto;\n}\n\nul.measures {\n max-height: 170px;\n overflow-y: auto;\n}\n\nli.collection-item:first-child {\n background-color: white; /* should be the same as the background color behind the list */\n position: fixed;\n}\n\n/* Begin scrollbar */\n\n/* width */\n::-webkit-scrollbar {\n width: 5px;\n}\n\n/* Track */\n::-webkit-scrollbar-track {\n background: #f1f1f1;\n}\n\n/* Handle */\n::-webkit-scrollbar-thumb {\n background: #888;\n}\n\n/* Handle on hover */\n::-webkit-scrollbar-thumb:hover {\n background: #555;\n}\n\n/* Eind scrollbar */\n\n.radio {\n margin-top: 2rem;\n}\n.material-placeholder {\n z-index: 1999;\n}\n.materialbox-overlay {\n z-index: 2000;\n}\n.incident-view .leaflet-container {\n height: 200px !important;\n}\n#map-page .leaflet-container {\n width: 100vw;\n margin-left: -130px;\n margin-bottom: -65px;\n height: 91vh !important;\n}\n\n.material-icons.hoverable {\n text-align: center;\n cursor: pointer;\n}\n.material-icons.hoverable:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n\n.card-title {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n\n.comment {\n background-color: lightgrey;\n padding: 10px;\n margin: 10px 0;\n border-radius: 10px;\n}\n\n.comment-text p {\n margin: 0;\n}\n\n/** Tooltips */\n/* Tooltip container */\n.tooltip {\n position: relative;\n display: inline-block;\n /* border-bottom: 1px dotted black; /* If you want dots under the hoverable text */\n}\n\n/* Tooltip text */\n.tooltip .tooltiptext {\n visibility: hidden;\n width: 320px;\n background-color: black;\n color: #fff;\n text-align: center;\n padding: 5px;\n border-radius: 6px;\n font-size: 1rem;\n line-height: 2rem;\n /* Position the tooltip text - see examples below! */\n position: absolute;\n z-index: 1;\n}\n\n/* Show the tooltip text when you mouse over the tooltip container */\n.tooltip:hover .tooltiptext {\n visibility: visible;\n}\n\n.tooltip .tooltiptext {\n width: 150px;\n margin-left: -75px; /* Use half of the width to center the tooltip */\n top: 100%;\n left: 50%;\n}\n/** End Tooltips */\n\n.user-page {\n margin-top: 10px;\n}\n/* .user-card .card .card-title {\n width: 70%;\n} */\n.multiple-choice-question label span {\n color: #000000;\n}\n\n/**\nHorizontal scrollable list of cards\nSource: https://codepen.io/dannievinther/pen/vVydZJ\n*/\n:root {\n --gutter: 10px;\n}\n\n.hs-container {\n /* padding: var(--gutter) 0; */\n width: 100%;\n height: 100%;\n /* display: grid;\n place-items: center; */\n grid-gap: var(--gutter) 0;\n grid-template-columns: var(--gutter) 1fr var(--gutter);\n align-content: start;\n}\n\n.hs-container > * {\n grid-column: 2 / -2;\n}\n\n.hs-container > .full {\n grid-column: 1 / -1;\n}\n\n.hs-header {\n padding-top: 10px;\n margin-bottom: -25px;\n}\n\n.hs > li,\n.item {\n scroll-snap-align: center;\n padding: calc(var(--gutter) / 2 * 1.5);\n /* padding-bottom: 10px; */\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n.hs {\n display: grid;\n grid-gap: calc(var(--gutter) / 2);\n grid-template-columns: 0px;\n grid-template-rows: minmax(150px, 1fr);\n grid-auto-flow: column;\n grid-auto-columns: calc(24% - var(--gutter) * 2);\n\n overflow-x: scroll;\n overflow-y: hidden;\n scroll-snap-type: x proximity;\n padding-bottom: calc(0.1 * var(--gutter));\n margin-bottom: calc(-0.25 * var(--gutter));\n}\n\n.hs:before,\n.hs:after {\n content: '';\n width: 10px;\n}\n\n.hs-item {\n width: 100%;\n}\n\n.section-wrapper {\n color: #777;\n margin-top: 20px;\n border-top: 1px solid rgba(0, 0, 0, 0.14);\n -webkit-transition: margin 0.25s ease;\n transition: margin 0.25s ease;\n}\n\nimg.thumbnail {\n width: auto;\n height: 100%;\n max-height: 20vh;\n margin: 0 auto;\n}\n\n.sidenav {\n width: 250px;\n}\n\nul.person-details > li > i.material-icons {\n vertical-align: middle;\n margin: 3px 10px 3px 0;\n}\n\nul.projects > li {\n margin: 4px 0;\n}\n\nul.projects > li > span.project-id {\n margin-right: 5px;\n}\n\n.collapsible > li:first-child .collapsible-header span.badge {\n margin-left: 10px;\n}\n\n/* For the options' label */\n.input-field.options > label {\n top: -2.5rem;\n}\n.input-field.options {\n margin-top: 3rem;\n}\n\n.condensed .input-field {\n margin: 0 auto;\n}\n\n.assessment-plugin.section {\n padding: 0;\n}\n.inline-icon {\n vertical-align: bottom;\n /* font-size: 20px !important; */\n}\n\n.margins {\n margin: 10px;\n}\n\n.overview .capability {\n margin-right: 2rem;\n display: flex;\n width: 100%;\n white-space: nowrap;\n}\n.overview .capability .name {\n flex-grow: 1;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n.overview .square {\n flex: 0 0 20px;\n height: 20px;\n width: 20px;\n background-color: #555;\n border: solid black 2px;\n margin-top: 5px;\n margin-right: 8px;\n}\n\n.page .row {\n margin-bottom: 0;\n}\n.page {\n min-height: 95vh;\n padding-bottom: 20px;\n}\nlabel,\n.pagination li,\n.material-icons,\n.unselectable {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.chips {\n margin-top: 0;\n}\n\na.waves-effect.waves-teal.btn-flat.selected {\n background: #1a237e;\n color: white;\n}\n\n.input-field > label:not(.label-icon).active {\n -webkit-transform: translateY(-8px) scale(0.8);\n transform: translateY(-8px) scale(0.8);\n -webkit-transform-origin: 0 0;\n transform-origin: 0 0;\n}\n.input-field > input[type='color'] {\n margin-top: 20px;\n}\n\n.button-group {\n display: flex;\n flex-flow: nowrap;\n flex-direction: row;\n}\n\n.language-option {\n display: inline-block;\n margin-right: 10px;\n}\n\n.language-option img {\n width: 30px;\n height: 20px;\n cursor: pointer;\n}\n\n.language-option span {\n display: none;\n position: absolute;\n background-color: #000;\n color: #fff;\n padding: 5px;\n font-size: 14px;\n border-radius: 5px;\n margin-top: 5px;\n margin-left: 5px;\n white-space: nowrap;\n z-index: 100;\n}\n\n.language-option:hover span {\n display: block;\n}\n\n.clickable {\n cursor: pointer;\n}\n\n.disabled-image {\n filter: grayscale(100%);\n opacity: 0.5;\n pointer-events: none;\n}\n\n.kanban {\n display: flex;\n flex-flow: row wrap;\n /* justify-content: auto; */\n padding: 0;\n margin: 0;\n list-style: none;\n}\n.kanban-row {\n /* background-color: lightblue; */\n display: flex;\n flex-flow: column nowrap;\n padding: 0;\n margin-top: 10px;\n list-style: none;\n height: 100%;\n width: 210px;\n}\n.kanban-header {\n width: 100%;\n height: 50px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.kanban-item {\n padding: 0px;\n min-width: 200px;\n width: 200px;\n height: 60px;\n margin: 0 0 0.7rem 0;\n color: white;\n text-align: center;\n\n & .card-content {\n font-size: 0.8rem;\n padding: 15px 10px;\n & > .card-title {\n margin-bottom: 0;\n }\n }\n & .card-desc {\n display: none;\n font-size: 0.9rem;\n padding: 4px;\n transition-delay: 4s;\n text-align: left;\n white-space: normal;\n word-wrap: break-word;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n &:hover .card-desc {\n display: block;\n transition-delay: 4s;\n }\n}\n.title {\n font-size: 1.25rem;\n font-weight: 500;\n letter-spacing: 0.0125em;\n}\n.w70 {\n width: 70%;\n}\n.w30 {\n width: 30%;\n}\n.mw30 {\n min-width: 30%;\n}\n.ml10 {\n margin-left: 10px;\n}\n.mt5 {\n margin-top: 5px;\n}\n.mt10 {\n margin-top: 10px;\n}\n.mt25 {\n margin-top: 25px;\n}\n.mb0 {\n margin-bottom: 0;\n}\n.no-gutter {\n margin: 0;\n}\n.top-right {\n position: absolute;\n top: 0;\n right: 0;\n}\n.top-right-next {\n position: absolute;\n top: 4px;\n right: 35px;\n}\nul.kanban > li {\n margin-bottom: 10px;\n}\n.inconsistencies-settings {\n height: 90vh;\n}\n.show-scenario,\n.create-scenario {\n padding-top: 1rem;\n height: calc(100vh - 84px);\n}\n.create-scenario .row {\n margin-bottom: 0;\n}\n#editor {\n min-height: 150px;\n}\n.scenario-table .input-field {\n margin-bottom: 0;\n}\n.scenario-table .material-icons {\n margin-top: 1.6rem;\n margin-left: 5px;\n}\n.scenario-table .icons {\n display: flex;\n flex-wrap: nowrap;\n justify-content: right;\n align-items: flex-start;\n}\n.narratives {\n border: solid #dbe2e0;\n border-radius: 10px;\n margin: 10px;\n padding: 10px;\n}\n\n.popupContainer {\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100%;\n background-color: #fcffa5;\n font-size: 2rem;\n box-shadow: 0px -5px 5px rgba(0, 0, 0, 0.3);\n /* display: none; Hide the popup by default */\n}\n\n.popupContainer > .popupContent {\n padding: 20px;\n}\n\n.markdown h1 {\n margin: 1.5rem 0 1rem 0;\n font-size: 2.2em;\n}\n\n.markdown h2 {\n font-size: 2em;\n}\n\n.markdown h3 {\n font-size: 1.6em;\n}\n\n.markdown h4 {\n font-size: 1.4em;\n}\n\n.markdown h5 {\n font-size: 1.2em;\n}\n\n#toc {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.markdown h6 {\n font-size: 1em;\n}\n.markdown aside {\n padding: 0 20px;\n box-sizing: border-box;\n}\n\n.markdown main {\n flex: 1;\n padding: 20px;\n box-sizing: border-box;\n}\n\n.markdown header {\n text-align: center;\n padding: 10px 40px;\n background-color: #f2f2f2;\n border-radius: 20px;\n}\n\n.markdown nav ul {\n list-style-type: none;\n padding: 0;\n}\n\n.markdown nav ul li {\n margin-bottom: 10px;\n}\n\n@media only screen and (min-width: 993px) {\n table.repoonsive-table td.missing {\n height: 57px;\n }\n table.responsive-table {\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n display: block;\n position: relative;\n /* sort out borders */\n }\n table.responsive-table td:empty:before {\n content: '\\00a0';\n }\n table.responsive-table th,\n table.responsive-table td {\n margin: 0;\n vertical-align: top;\n }\n table.responsive-table th {\n text-align: left;\n }\n table.responsive-table thead {\n display: block;\n float: left;\n }\n table.responsive-table thead tr {\n display: block;\n padding: 0 10px 0 0;\n }\n table.responsive-table thead tr th::before {\n content: '\\00a0';\n }\n table.responsive-table tbody {\n display: block;\n width: auto;\n position: relative;\n overflow-x: auto;\n white-space: nowrap;\n }\n table.responsive-table tbody tr {\n display: inline-block;\n vertical-align: top;\n }\n table.responsive-table th {\n display: block;\n text-align: right;\n }\n table.responsive-table td {\n display: block;\n min-height: 1.25em;\n text-align: left;\n }\n table.responsive-table tr {\n border-bottom: none;\n /* padding: 0 10px; */\n }\n table.responsive-table td,\n table.responsive-table th {\n padding: 15px 10px;\n }\n table.responsive-table thead {\n border: 0;\n border-right: 1px solid rgba(0, 0, 0, 0.12);\n }\n}\n.table-container {\n width: 100%; /* or a fixed width */\n margin: 0 auto; /* center the container */\n text-align: center; /* center the table inside the container */\n}\n.table {\n display: inline-block; /* make the table an inline-block element */\n text-align: left; /* reset the text alignment */\n}\n\n.missing {\n height: 57px;\n}\n\n.decision-support table.responsive-table > tbody > tr:last-child {\n background: #e8f4f7;\n}\n\n.decision-support td:nth-child(2),\n.decision-support th:nth-child(2),\n.decision-support td:nth-child(3),\n.decision-support th:nth-child(3),\n.decision-support td:nth-child(4),\n.decision-support th:nth-child(4) {\n background: #e8f4f7;\n}\n\n#editor {\n font-size: 18px;\n}\n.ql-editor strong {\n font-weight: bold;\n}\n.ql-editor em {\n font-style: italic;\n}\n.ql-editor u {\n text-decoration: underline;\n}\n.show-scenario .ql-container.ql-snow {\n border: none;\n}\n\n.show-scenario .ql-editor {\n padding: 30px 0;\n}\n\n.show-scenario #editor {\n font-size: 24px;\n}\n\n.show-scenario div.input-field.select-space.left.mb0.mw30 input {\n font-size: 42px;\n}\n\n.show-scenario .select-wrapper input.select-dropdown {\n border: none;\n}\n.select-inline {\n display: inline-block;\n margin: 0 0em;\n /* margin: 0 0.3em; */\n padding-left: 6px;\n /* background-color: #f0f0f0; */\n /* border: 1px solid #ccc; */\n /* border-radius: 3px; */\n font-size: inherit;\n}\n.select-inline > label {\n display: none;\n}\n.select-inline input.select-dropdown {\n /* border-bottom: none; */\n margin: 0px;\n padding: 0;\n height: 2rem;\n}\n.scenario-paragraph {\n font-size: 24px;\n margin-bottom: 1rem;\n}\n\n.icon-buttons {\n display: flex;\n gap: 0px; /* Adjust spacing between buttons */\n align-items: center;\n}\n.icon-button {\n margin: 0;\n padding: 0;\n}\n.flex-row {\n display: flex;\n align-items: center;\n gap: 16px; /* Adjust spacing between select and buttons */\n}\n.flex-grow {\n flex-grow: 1;\n}\n\n.legend {\n position: fixed;\n display: inline-block;\n right: 0;\n z-index: 1000;\n margin: 10px;\n border-radius: 6px;\n padding: 6px;\n background-color: lightblue;\n bottom: 0;\n}\n","/*!\n * Quill Editor v2.0.2\n * https://quilljs.com\n * Copyright (c) 2017-2024, Slab\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */\n.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked] > .ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked] > .ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor > *{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li > .ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked] > .ql-ui,.ql-editor li[data-list=unchecked] > .ql-ui{color:#777}.ql-editor li[data-list=bullet] > .ql-ui:before{content:'\\2022'}.ql-editor li[data-list=checked] > .ql-ui:before{content:'\\2611'}.ql-editor li[data-list=unchecked] > .ql-ui:before{content:'\\2610'}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered] > .ql-ui:before{content:counter(list-0, decimal) '. '}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1 > .ql-ui:before{content:counter(list-1, lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2 > .ql-ui:before{content:counter(list-2, lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3 > .ql-ui:before{content:counter(list-3, decimal) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4 > .ql-ui:before{content:counter(list-4, lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5 > .ql-ui:before{content:counter(list-5, lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6 > .ql-ui:before{content:counter(list-6, decimal) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7 > .ql-ui:before{content:counter(list-7, lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8 > .ql-ui:before{content:counter(list-8, lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9 > .ql-ui:before{content:counter(list-9, decimal) '. '}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl > .ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank::before{color:rgba(0,0,0,0.6);content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:'';display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow{box-sizing:border-box}.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:'';display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label::before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label::before,.ql-snow .ql-picker.ql-header .ql-picker-item::before{content:'Normal'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"1\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]::before{content:'Heading 1'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"2\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]::before{content:'Heading 2'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"3\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]::before{content:'Heading 3'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"4\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]::before{content:'Heading 4'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"5\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]::before{content:'Heading 5'}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"6\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]::before{content:'Heading 6'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]::before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]::before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]::before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]::before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]::before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]::before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label::before,.ql-snow .ql-picker.ql-font .ql-picker-item::before{content:'Sans Serif'}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before{content:'Serif'}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before{content:'Monospace'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label::before,.ql-snow .ql-picker.ql-size .ql-picker-item::before{content:'Normal'}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before{content:'Small'}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before{content:'Large'}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before{content:'Huge'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:'Helvetica Neue','Helvetica','Arial',sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:rgba(0,0,0,0.2) 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label{border-color:#ccc}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow + .ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip::before{content:\"Visit URL:\";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action::after{border-right:1px solid #ccc;content:'Edit';margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove::before{content:'Remove';margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action::after{border-right:0;content:'Save';padding-right:0}.ql-snow .ql-tooltip[data-mode=link]::before{content:\"Enter link:\"}.ql-snow .ql-tooltip[data-mode=formula]::before{content:\"Enter formula:\"}.ql-snow .ql-tooltip[data-mode=video]::before{content:\"Enter video:\"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}\n\n/*# sourceMappingURL=quill.snow.css.map*/"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/main.js b/docs/main.js index c177e78..409dfe6 100644 --- a/docs/main.js +++ b/docs/main.js @@ -1,4 +1,4 @@ -(()=>{var e={5966:function(e){var t,n;t="undefined"!=typeof self&&self,n=function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,i){!n.o(e,t)&&Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:i})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=139)}([function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(140)),i(n(141)),i(n(53)),i(n(142)),i(n(158)),i(n(159)),i(n(25))},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(51)),i(n(216)),i(n(21)),i(n(3)),i(n(37)),i(n(231))},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(89)),i(n(90)),i(n(91)),i(n(92)),i(n(93)),i(n(239)),i(n(94))},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(17)),i(n(9)),i(n(162)),i(n(163)),i(n(165)),i(n(34)),i(n(213)),i(n(19)),i(n(33)),i(n(215))},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";var i=n(15),r=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=h;var o=n(14);o.inherits=n(7);var s=n(57),a=n(29);o.inherits(h,s);for(var l=r(a.prototype),c=0;c<l.length;c++){var u=l[c];!h.prototype[u]&&(h.prototype[u]=a.prototype[u])}function h(e){if(!(this instanceof h))return new h(e);s.call(this,e),a.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",d)}function d(){!this.allowHalfOpen&&!this._writableState.ended&&i.nextTick(p,this)}function p(e){e.end()}Object.defineProperty(h.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(h.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&this._readableState.destroyed&&this._writableState.destroyed},set:function(e){if(void 0!==this._readableState&&void 0!==this._writableState)this._readableState.destroyed=e,this._writableState.destroyed=e}}),h.prototype._destroy=function(e,t){this.push(null),this.end(),i.nextTick(t,e)}},function(e,t,n){"use strict";(function(e){var i=n(144),r=n(145),o=n(55);t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50,l.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=s();function s(){return l.TYPED_ARRAY_SUPPORT?0x7fffffff:0x3fffffff}function a(e,t){if(s()<t)throw RangeError("Invalid typed array length");return l.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=l.prototype:(null===e&&(e=new l(t)),e.length=t),e}function l(e,t,n){if(!l.TYPED_ARRAY_SUPPORT&&!(this instanceof l))return new l(e,t,n);if("number"==typeof e){if("string"==typeof t)throw Error("If encoding is specified then the first argument must be a string");return h(this,e)}return c(this,e,t,n)}function c(e,t,n,i){if("number"==typeof t)throw TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,i){if(t.byteLength,n<0||t.byteLength<n)throw RangeError("'offset' is out of bounds");if(t.byteLength<n+(i||0))throw RangeError("'length' is out of bounds");return t=void 0===n&&void 0===i?new Uint8Array(t):void 0===i?new Uint8Array(t,n):new Uint8Array(t,n,i),l.TYPED_ARRAY_SUPPORT?(e=t).__proto__=l.prototype:e=d(e,t),e}(e,t,n,i):"string"==typeof t?function(e,t,n){if(("string"!=typeof n||""===n)&&(n="utf8"),!l.isEncoding(n))throw TypeError('"encoding" must be a valid string encoding');var i=0|f(t,n),r=(e=a(e,i)).write(t,n);return r!==i&&(e=e.slice(0,r)),e}(e,t,n):function(e,t){if(l.isBuffer(t)){var n=0|p(t.length);return 0===(e=a(e,n)).length?e:(t.copy(e,0,0,n),e)}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||function(e){return e!=e}(t.length)?a(e,0):d(e,t);if("Buffer"===t.type&&o(t.data))return d(e,t.data)}throw TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function u(e){if("number"!=typeof e)throw TypeError('"size" argument must be a number');if(e<0)throw RangeError('"size" argument must not be negative')}l.poolSize=8192,l._augment=function(e){return e.__proto__=l.prototype,e},l.from=function(e,t,n){return c(null,e,t,n)},l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0}));function h(e,t){if(u(t),e=a(e,t<0?0:0|p(t)),!l.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}l.alloc=function(e,t,n){var i,r,o,s;return i=null,r=e,o=t,s=n,(u(r),r<=0)?a(null,r):void 0!==o?"string"==typeof s?a(i,r).fill(o,s):a(i,r).fill(o):a(i,r)},l.allocUnsafe=function(e){return h(null,e)},l.allocUnsafeSlow=function(e){return h(null,e)};function d(e,t){var n=t.length<0?0:0|p(t.length);e=a(e,n);for(var i=0;i<n;i+=1)e[i]=255&t[i];return e}function p(e){if(e>=s())throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return S(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return I(e).length;default:if(i)return S(e).length;t=(""+t).toLowerCase(),i=!0}}function m(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0||(n>>>=0)<=(t>>>=0))return"";for(!e&&(e="utf8");;)switch(e){case"hex":return function(e,t,n){var i=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>i)&&(n=i);for(var r="",o=t;o<n;++o)r+=function(e){return e<16?"0"+e.toString(16):e.toString(16)}(e[o]);return r}(this,t,n);case"utf8":case"utf-8":return w(this,t,n);case"ascii":return function(e,t,n){var i="";n=Math.min(e.length,n);for(var r=t;r<n;++r)i+=String.fromCharCode(127&e[r]);return i}(this,t,n);case"latin1":case"binary":return function(e,t,n){var i="";n=Math.min(e.length,n);for(var r=t;r<n;++r)i+=String.fromCharCode(e[r]);return i}(this,t,n);case"base64":return function(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return function(e,t,n){for(var i=e.slice(t,n),r="",o=0;o<i.length;o+=2)r+=String.fromCharCode(i[o]+256*i[o+1]);return r}(this,t,n);default:if(r)throw TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function g(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function v(e,t,n,i,r){if(0===e.length)return -1;if("string"==typeof n?(i=n,n=0):n>0x7fffffff?n=0x7fffffff:n<-0x80000000&&(n=-0x80000000),isNaN(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return -1;n=e.length-1}else if(n<0){if(!r)return -1;n=0}if("string"==typeof t&&(t=l.from(t,i)),l.isBuffer(t))return 0===t.length?-1:y(e,t,n,i,r);if("number"==typeof t){if(t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf)return r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n);return y(e,[t],n,i,r)}throw TypeError("val must be string, number or Buffer")}function y(e,t,n,i,r){var o,s=1,a=e.length,l=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return -1;s=2,a/=2,l/=2,n/=2}function c(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(r){var u=-1;for(o=n;o<a;o++)if(c(e,o)===c(t,-1===u?0:o-u)){if(-1===u&&(u=o),o-u+1===l)return u*s}else -1!==u&&(o-=o-u),u=-1}else for(n+l>a&&(n=a-l),o=n;o>=0;o--){for(var h=!0,d=0;d<l;d++)if(c(e,o+d)!==c(t,d)){h=!1;break}if(h)return o}return -1}l.isBuffer=function(e){return!!(null!=e&&e._isBuffer)},l.compare=function(e,t){if(!l.isBuffer(e)||!l.isBuffer(t))throw TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,i=t.length,r=0,o=Math.min(n,i);r<o;++r)if(e[r]!==t[r]){n=e[r],i=t[r];break}return n<i?-1:i<n?1:0},l.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},l.concat=function(e,t){if(!o(e))throw TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return l.alloc(0);if(void 0===t)for(n=0,t=0;n<e.length;++n)t+=e[n].length;var n,i=l.allocUnsafe(t),r=0;for(n=0;n<e.length;++n){var s=e[n];if(!l.isBuffer(s))throw TypeError('"list" argument must be an Array of Buffers');s.copy(i,r),r+=s.length}return i},l.byteLength=f,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)g(this,t,t+1);return this},l.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)g(this,t,t+3),g(this,t+1,t+2);return this},l.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)g(this,t,t+7),g(this,t+1,t+6),g(this,t+2,t+5),g(this,t+3,t+4);return this},l.prototype.toString=function(){var e=0|this.length;return 0===e?"":0==arguments.length?w(this,0,e):m.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},l.prototype.compare=function(e,t,n,i,r){if(!l.isBuffer(e))throw TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return -1;if(t>=n)return 1;if(t>>>=0,n>>>=0,i>>>=0,r>>>=0,this===e)return 0;for(var o=r-i,s=n-t,a=Math.min(o,s),c=this.slice(i,r),u=e.slice(t,n),h=0;h<a;++h)if(c[h]!==u[h]){o=c[h],s=u[h];break}return o<s?-1:s<o?1:0},l.prototype.includes=function(e,t,n){return -1!==this.indexOf(e,t,n)},l.prototype.indexOf=function(e,t,n){return v(this,e,t,n,!0)},l.prototype.lastIndexOf=function(e,t,n){return v(this,e,t,n,!1)};function b(e,t,n,i){return L(N(t),e,n,i)}l.prototype.write=function(e,t,n,i){if(void 0===t)i="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)i=t,n=this.length,t=0;else if(isFinite(t))t|=0,isFinite(n)?(n|=0,void 0===i&&(i="utf8")):(i=n,n=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var r,o,s,a,l,c,u,h,d,p,f,m,g,v,y,b,w=this.length-t;if((void 0===n||n>w)&&(n=w),e.length>0&&(n<0||t<0)||t>this.length)throw RangeError("Attempt to write outside buffer bounds");!i&&(i="utf8");for(var _=!1;;)switch(i){case"hex":return function(e,t,n,i){n=Number(n)||0;var r=e.length-n;i?(i=Number(i))>r&&(i=r):i=r;var o=t.length;if(o%2!=0)throw TypeError("Invalid hex string");i>o/2&&(i=o/2);for(var s=0;s<i;++s){var a=parseInt(t.substr(2*s,2),16);if(isNaN(a))break;e[n+s]=a}return s}(this,e,t,n);case"utf8":case"utf-8":;return r=this,o=e,s=t,a=n,L(S(o,r.length-s),r,s,a);case"ascii":;return l=this,c=e,u=t,h=n,L(N(c),l,u,h);case"latin1":case"binary":return function(e,t,n,i){var r,o,s,a;return r=e,o=t,s=n,a=i,L(N(o),r,s,a)}(this,e,t,n);case"base64":;return d=this,p=e,f=t,m=n,L(I(p),d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":;return g=this,v=e,y=t,b=n,L(function(e,t){for(var n,i,r,o=[],s=0;s<e.length&&!((t-=2)<0);++s)i=(n=e.charCodeAt(s))>>8,r=n%256,o.push(r),o.push(i);return o}(v,g.length-y),g,y,b);default:if(_)throw TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),_=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function w(e,t,n){n=Math.min(e.length,n);for(var i=[],r=t;r<n;){var o,s,a,l,c=e[r],u=null,h=c>239?4:c>223?3:c>191?2:1;if(r+h<=n)switch(h){case 1:c<128&&(u=c);break;case 2:(192&(o=e[r+1]))==128&&(l=(31&c)<<6|63&o)>127&&(u=l);break;case 3:o=e[r+1],s=e[r+2],(192&o)==128&&(192&s)==128&&(l=(15&c)<<12|(63&o)<<6|63&s)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:o=e[r+1],s=e[r+2],a=e[r+3],(192&o)==128&&(192&s)==128&&(192&a)==128&&(l=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(u-=65536,i.push(u>>>10&1023|55296),u=56320|1023&u),i.push(u),r+=h}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);for(var n="",i=0;i<t;)n+=String.fromCharCode.apply(String,e.slice(i,i+=4096));return n}(i)}function _(e,t,n){if(e%1!=0||e<0)throw RangeError("offset is not uint");if(e+t>n)throw RangeError("Trying to access beyond buffer length")}function E(e,t,n,i,r,o){if(!l.isBuffer(e))throw TypeError('"buffer" argument must be a Buffer instance');if(t>r||t<o)throw RangeError('"value" argument is out of bounds');if(n+i>e.length)throw RangeError("Index out of range")}function x(e,t,n,i){t<0&&(t=65535+t+1);for(var r=0,o=Math.min(e.length-n,2);r<o;++r)e[n+r]=(t&255<<8*(i?r:1-r))>>>(i?r:1-r)*8}function k(e,t,n,i){t<0&&(t=0xffffffff+t+1);for(var r=0,o=Math.min(e.length-n,4);r<o;++r)e[n+r]=t>>>(i?r:3-r)*8&255}function T(e,t,n,i,r,o){if(n+i>e.length||n<0)throw RangeError("Index out of range")}function O(e,t,n,i,o){return!o&&T(e,t,n,4,34028234663852886e22,-34028234663852886e22),r.write(e,t,n,i,23,4),n+4}function C(e,t,n,i,o){return!o&&T(e,t,n,8,17976931348623157e292,-17976931348623157e292),r.write(e,t,n,i,52,8),n+8}l.prototype.slice=function(e,t){var n,i=this.length;if(e=~~e,t=void 0===t?i:~~t,e<0?(e+=i)<0&&(e=0):e>i&&(e=i),t<0?(t+=i)<0&&(t=0):t>i&&(t=i),t<e&&(t=e),l.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=l.prototype;else{var r=t-e;n=new l(r,void 0);for(var o=0;o<r;++o)n[o]=this[o+e]}return n},l.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,!n&&_(e,t,this.length);for(var i=this[e],r=1,o=0;++o<t&&(r*=256);)i+=this[e+o]*r;return i},l.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,!n&&_(e,t,this.length);for(var i=this[e+--t],r=1;t>0&&(r*=256);)i+=this[e+--t]*r;return i},l.prototype.readUInt8=function(e,t){return!t&&_(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return!t&&_(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return!t&&_(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return!t&&_(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+0x1000000*this[e+3]},l.prototype.readUInt32BE=function(e,t){return!t&&_(e,4,this.length),0x1000000*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,n){e|=0,t|=0,!n&&_(e,t,this.length);for(var i=this[e],r=1,o=0;++o<t&&(r*=256);)i+=this[e+o]*r;return i>=(r*=128)&&(i-=Math.pow(2,8*t)),i},l.prototype.readIntBE=function(e,t,n){e|=0,t|=0,!n&&_(e,t,this.length);for(var i=t,r=1,o=this[e+--i];i>0&&(r*=256);)o+=this[e+--i]*r;return o>=(r*=128)&&(o-=Math.pow(2,8*t)),o},l.prototype.readInt8=function(e,t){return(!t&&_(e,1,this.length),128&this[e])?-((255-this[e]+1)*1):this[e]},l.prototype.readInt16LE=function(e,t){!t&&_(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?0xffff0000|n:n},l.prototype.readInt16BE=function(e,t){!t&&_(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?0xffff0000|n:n},l.prototype.readInt32LE=function(e,t){return!t&&_(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return!t&&_(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return!t&&_(e,4,this.length),r.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return!t&&_(e,4,this.length),r.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return!t&&_(e,8,this.length),r.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return!t&&_(e,8,this.length),r.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,n,i){if(e=+e,t|=0,n|=0,!i){var r=Math.pow(2,8*n)-1;E(this,e,t,n,r,0)}var o=1,s=0;for(this[t]=255&e;++s<n&&(o*=256);)this[t+s]=e/o&255;return t+n},l.prototype.writeUIntBE=function(e,t,n,i){if(e=+e,t|=0,n|=0,!i){var r=Math.pow(2,8*n)-1;E(this,e,t,n,r,0)}var o=n-1,s=1;for(this[t+o]=255&e;--o>=0&&(s*=256);)this[t+o]=e/s&255;return t+n},l.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,!n&&E(this,e,t,1,255,0),!l.TYPED_ARRAY_SUPPORT&&(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,!n&&E(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):x(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,!n&&E(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):x(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,!n&&E(this,e,t,4,0xffffffff,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):k(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,!n&&E(this,e,t,4,0xffffffff,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):k(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);E(this,e,t,n,r-1,-r)}var o=0,s=1,a=0;for(this[t]=255&e;++o<n&&(s*=256);)e<0&&0===a&&0!==this[t+o-1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},l.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);E(this,e,t,n,r-1,-r)}var o=n-1,s=1,a=0;for(this[t+o]=255&e;--o>=0&&(s*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,!n&&E(this,e,t,1,127,-128),!l.TYPED_ARRAY_SUPPORT&&(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,!n&&E(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):x(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,!n&&E(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):x(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,!n&&E(this,e,t,4,0x7fffffff,-0x80000000),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):k(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,!n&&E(this,e,t,4,0x7fffffff,-0x80000000),e<0&&(e=0xffffffff+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):k(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,n){return O(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return O(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return C(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return C(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,i){if(!n&&(n=0),!i&&0!==i&&(i=this.length),t>=e.length&&(t=e.length),!t&&(t=0),i>0&&i<n&&(i=n),i===n||0===e.length||0===this.length)return 0;if(t<0)throw RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw RangeError("sourceStart out of bounds");if(i<0)throw RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t<i-n&&(i=e.length-t+n);var r,o=i-n;if(this===e&&n<t&&t<i)for(r=o-1;r>=0;--r)e[r+t]=this[r+n];else if(o<1e3||!l.TYPED_ARRAY_SUPPORT)for(r=0;r<o;++r)e[r+t]=this[r+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+o),t);return o},l.prototype.fill=function(e,t,n,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),1===e.length){var r,o=e.charCodeAt(0);o<256&&(e=o)}if(void 0!==i&&"string"!=typeof i)throw TypeError("encoding must be a string");if("string"==typeof i&&!l.isEncoding(i))throw TypeError("Unknown encoding: "+i)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw RangeError("Out of range index");if(n<=t)return this;if(t>>>=0,n=void 0===n?this.length:n>>>0,!e&&(e=0),"number"==typeof e)for(r=t;r<n;++r)this[r]=e;else{var s=l.isBuffer(e)?e:S(new l(e,i).toString()),a=s.length;for(r=0;r<n-t;++r)this[r+t]=s[r%a]}return this};var A=/[^+\/0-9A-Za-z-_]/g;function S(e,t){t=t||1/0;for(var n,i=e.length,r=null,o=[],s=0;s<i;++s){if((n=e.charCodeAt(s))>55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(s+1===i){(t-=3)>-1&&o.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),r=n;continue}n=(r-55296<<10|n-56320)+65536}else r&&(t-=3)>-1&&o.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else if(n<1114112){if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}else throw Error("Invalid code point")}return o}function N(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}function I(e){return i.toByteArray(function(e){if((e=(function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")})(e).replace(A,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function L(e,t,n,i){for(var r=0;r<i&&!(r+n>=t.length)&&!(r>=e.length);++r)t[r+n]=e[r];return r}}).call(t,n(4))},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0}),(r=t.SpaceType||(t.SpaceType={})).DEFAULT="default",r.PRESERVE="preserve"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(33),o=n(68),s=n(34),a=n(69),l=n(70),c=n(19);class u extends i.IgnoreIfEmptyXmlComponent{constructor(e){if(super("w:rPr"),!e)return;e.bold&&this.push(new o.Bold),(void 0===e.boldComplexScript&&e.bold||e.boldComplexScript)&&this.push(new o.BoldComplexScript),e.italics&&this.push(new o.Italics),(void 0===e.italicsComplexScript&&e.italics||e.italicsComplexScript)&&this.push(new o.ItalicsComplexScript),e.underline&&this.push(new c.Underline(e.underline.type,e.underline.color)),e.emphasisMark&&this.push(new r.EmphasisMark(e.emphasisMark.type)),e.color&&this.push(new o.Color(e.color)),e.size&&this.push(new o.Size(e.size));let t=void 0===e.sizeComplexScript||!0===e.sizeComplexScript?e.size:e.sizeComplexScript;t&&this.push(new o.SizeComplexScript(t)),e.rightToLeft&&this.push(new o.RightToLeft),e.smallCaps&&this.push(new o.SmallCaps),e.allCaps&&this.push(new o.Caps),e.strike&&this.push(new o.Strike),e.doubleStrike&&this.push(new o.DoubleStrike),e.subScript&&this.push(new a.SubScript),e.superScript&&this.push(new a.SuperScript),e.style&&this.push(new l.Style(e.style)),e.font&&("string"==typeof e.font?this.push(new s.RunFonts(e.font)):"name"in e.font?this.push(new s.RunFonts(e.font.name,e.font.hint)):this.push(new s.RunFonts(e.font))),e.highlight&&this.push(new o.Highlight(e.highlight));let n=void 0===e.highlightComplexScript||!0===e.highlightComplexScript?e.highlight:e.highlightComplexScript;n&&this.push(new o.HighlightComplexScript(n)),e.characterSpacing&&this.push(new o.CharacterSpacing(e.characterSpacing));let i=e.shading||e.shadow;i&&this.push(new o.Shading(i.type,i.fill,i.color));let u=void 0===e.shadingComplexScript||!0===e.shadingComplexScript?i:e.shadingComplexScript;u&&this.push(new o.ShadowComplexScript(u.type,u.fill,u.color))}push(e){this.root.push(e)}}t.RunProperties=u},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(265)),i(n(38))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={wpc:"xmlns:wpc",mc:"xmlns:mc",o:"xmlns:o",r:"xmlns:r",m:"xmlns:m",v:"xmlns:v",wp14:"xmlns:wp14",wp:"xmlns:wp",w10:"xmlns:w10",w:"xmlns:w",w14:"xmlns:w14",w15:"xmlns:w15",wpg:"xmlns:wpg",wpi:"xmlns:wpi",wne:"xmlns:wne",wps:"xmlns:wps",Ignorable:"mc:Ignorable",cp:"xmlns:cp",dc:"xmlns:dc",dcterms:"xmlns:dcterms",dcmitype:"xmlns:dcmitype",xsi:"xmlns:xsi",type:"xsi:type"}}}t.DocumentAttributes=r},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(1)),i(n(262)),i(n(280)),i(n(339)),i(n(133)),i(n(50)),i(n(72)),i(n(114)),i(n(23)),i(n(340)),i(n(0)),i(n(49)),i(n(46)),i(n(132)),i(n(131)),i(n(347))},function(e,t){var n,i,r,o=e.exports={};function s(){throw Error("setTimeout has not been defined")}function a(){throw Error("clearTimeout has not been defined")}function l(e){if(n===setTimeout)return setTimeout(e,0);if((n===s||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:s}catch(e){n=s}try{i="function"==typeof clearTimeout?clearTimeout:a}catch(e){i=a}}();var c=[],u=!1,h=-1;function d(){if(!!u&&!!r)u=!1,r.length?c=r.concat(c):h=-1,c.length&&p()}function p(){if(!u){var e=l(d);u=!0;for(var t=c.length;t;){for(r=c,c=[];++h<t;)r&&r[h].run();h=-1,t=c.length}r=null,u=!1,!function(e){if(i===clearTimeout)return clearTimeout(e);if((i===a||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(e);try{i(e)}catch(t){try{return i.call(null,e)}catch(t){return i.call(this,e)}}}(e)}}function f(e,t){this.fun=e,this.array=t}function m(){}o.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new f(e,t)),1===c.length&&!u&&l(p)},f.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=m,o.addListener=m,o.once=m,o.off=m,o.removeListener=m,o.removeAllListeners=m,o.emit=m,o.prependListener=m,o.prependOnceListener=m,o.listeners=function(e){return[]},o.binding=function(e){throw Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw Error("process.chdir is not supported")},o.umask=function(){return 0}},function(e,t,n){(function(e){t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===n(e)};t.isBoolean=function(e){return"boolean"==typeof e};t.isNull=function(e){return null===e};t.isNullOrUndefined=function(e){return null==e};t.isNumber=function(e){return"number"==typeof e};t.isString=function(e){return"string"==typeof e};t.isSymbol=function(e){return"symbol"==typeof e};t.isUndefined=function(e){return void 0===e};t.isRegExp=function(e){return"[object RegExp]"===n(e)};t.isObject=function(e){return"object"==typeof e&&null!==e};t.isDate=function(e){return"[object Date]"===n(e)};t.isError=function(e){return"[object Error]"===n(e)||e instanceof Error};t.isFunction=function(e){return"function"==typeof e};function n(e){return Object.prototype.toString.call(e)}t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=e.isBuffer}).call(t,n(6).Buffer)},function(e,t,n){"use strict";(function(t){void 0!==t&&t.version&&0!==t.version.indexOf("v0.")&&(0!==t.version.indexOf("v1.")||0===t.version.indexOf("v1.8."))?e.exports=t:e.exports={nextTick:function(e,n,i,r){if("function"!=typeof e)throw TypeError('"callback" argument must be a function');var o,s,a=arguments.length;switch(a){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick(function(){e.call(null,n)});case 3:return t.nextTick(function(){e.call(null,n,i)});case 4:return t.nextTick(function(){e.call(null,n,i,r)});default:for(o=Array(a-1),s=0;s<o.length;)o[s++]=arguments[s];return t.nextTick(function(){e.apply(null,o)})}}}}).call(t,n(13))},function(e,t,n){var i=n(6),r=i.Buffer;function o(e,t){for(var n in e)t[n]=e[n]}function s(e,t,n){return r(e,t,n)}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?e.exports=i:(o(i,t),t.Buffer=s),o(r,s),s.from=function(e,t,n){if("number"==typeof e)throw TypeError("Argument must not be a number");return r(e,t,n)},s.alloc=function(e,t,n){if("number"!=typeof e)throw TypeError("Argument must be a number");var i=r(e);return void 0!==t?"string"==typeof n?i.fill(t,n):i.fill(t):i.fill(0),i},s.allocUnsafe=function(e){if("number"!=typeof e)throw TypeError("Argument must be a number");return r(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw TypeError("Argument must be a number");return i.SlowBuffer(e)}},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0),s=n(67),a=n(18),l=n(161),c=n(9),u=n(71);(r=i=t.PageNumber||(t.PageNumber={})).CURRENT="CURRENT",r.TOTAL_PAGES="TOTAL_PAGES",r.TOTAL_PAGES_IN_SECTION="TOTAL_PAGES_IN_SECTION";class h extends o.XmlComponent{constructor(e){if(super("w:r"),this.properties=new c.RunProperties(e),this.root.push(this.properties),e.children)for(let t of e.children){if("string"==typeof t){switch(t){case i.CURRENT:this.root.push(new a.Begin),this.root.push(new l.Page),this.root.push(new a.Separate),this.root.push(new a.End);break;case i.TOTAL_PAGES:this.root.push(new a.Begin),this.root.push(new l.NumberOfPages),this.root.push(new a.Separate),this.root.push(new a.End);break;case i.TOTAL_PAGES_IN_SECTION:this.root.push(new a.Begin),this.root.push(new l.NumberOfPagesSection),this.root.push(new a.Separate),this.root.push(new a.End);break;default:this.root.push(new u.Text(t))}continue}this.root.push(t)}else e.text&&this.root.push(new u.Text(e.text));if(e.break)for(let t=0;t<e.break;t++)this.root.splice(1,0,new s.Break)}}t.Run=h},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=i||(i={})).BEGIN="begin",r.END="end",r.SEPARATE="separate";class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={type:"w:fldCharType",dirty:"w:dirty"}}}class a extends o.XmlComponent{constructor(e){super("w:fldChar"),this.root.push(new s({type:i.BEGIN,dirty:e}))}}t.Begin=a;class l extends o.XmlComponent{constructor(e){super("w:fldChar"),this.root.push(new s({type:i.SEPARATE,dirty:e}))}}t.Separate=l;class c extends o.XmlComponent{constructor(e){super("w:fldChar"),this.root.push(new s({type:i.END,dirty:e}))}}t.End=c},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=i=t.UnderlineType||(t.UnderlineType={})).SINGLE="single",r.WORDS="words",r.DOUBLE="double",r.THICK="thick",r.DOTTED="dotted",r.DOTTEDHEAVY="dottedHeavy",r.DASH="dash",r.DASHEDHEAVY="dashedHeavy",r.DASHLONG="dashLong",r.DASHLONGHEAVY="dashLongHeavy",r.DOTDASH="dotDash",r.DASHDOTHEAVY="dashDotHeavy",r.DOTDOTDASH="dotDotDash",r.DASHDOTDOTHEAVY="dashDotDotHeavy",r.WAVE="wave",r.WAVYHEAVY="wavyHeavy",r.WAVYDOUBLE="wavyDouble";class s extends o.XmlComponent{constructor(e,t){super("w:u"),this.root.push(new o.Attributes({val:e,color:t}))}}t.BaseUnderline=s;t.Underline=class e extends s{constructor(e=i.SINGLE,t){super(e,t)}};t.DashUnderline=class e extends s{constructor(){super("dash")}};t.DashDotDotHeavyUnderline=class e extends s{constructor(){super("dashDotDotHeavy")}};t.DashDotHeavyUnderline=class e extends s{constructor(){super("dashDotHeavy")}};t.DashLongUnderline=class e extends s{constructor(){super("dashLong")}};t.DashLongHeavyUnderline=class e extends s{constructor(){super("dashLongHeavy")}};t.DotDashUnderline=class e extends s{constructor(){super("dotDash")}};t.DotDotDashUnderline=class e extends s{constructor(){super("dotDotDash")}};t.DottedUnderline=class e extends s{constructor(){super("dotted")}};t.DottedHeavyUnderline=class e extends s{constructor(){super("dottedHeavy")}};t.DoubleUnderline=class e extends s{constructor(){super("double")}};t.SingleUnderline=class e extends s{constructor(){super("single")}};t.ThickUnderline=class e extends s{constructor(){super("thick")}};t.WaveUnderline=class e extends s{constructor(){super("wave")}};t.WavyDoubleUnderline=class e extends s{constructor(){super("wavyDouble")}};t.WavyHeavyUnderline=class e extends s{constructor(){super("wavyHeavy")}};t.WordsUnderline=class e extends s{constructor(){super("words")}}},function(e,t,n){"use strict";var i,r,o,s=n(221),a="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";function l(){o=!1}function c(e){if(!e){i!==a&&(i=a,o=!1);return}if(e!==i){if(e.length!==a.length)throw Error("Custom alphabet for shortid must be "+a.length+" unique characters. You submitted "+e.length+" characters: "+e);var t=e.split("").filter(function(e,t,n){return t!==n.lastIndexOf(e)});if(t.length)throw Error("Custom alphabet for shortid must be "+a.length+" unique characters. These characters were not unique: "+t.join(", "));i=e,o=!1}}function u(){return o?o:o=function(){!i&&c(a);for(var e,t=i.split(""),n=[],r=s.nextValue();t.length>0;)e=Math.floor((r=s.nextValue())*t.length),n.push(t.splice(e,1)[0]);return n.join("")}()}e.exports={get:function(){return i||a},characters:function(e){return c(e),i},seed:function(e){s.seed(e),r!==e&&(o=!1,r=e)},lookup:function(e){return u()[e]},shuffled:u}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(52),o=n(230),s=n(63),a=n(64),l=n(65),c=n(66),u=n(82),h=n(83),d=n(84),p=n(85),f=n(37),m=n(68);class g extends i.IgnoreIfEmptyXmlComponent{constructor(e){if(super("w:pPr"),!e)return;if(e.border&&this.push(new s.Border(e.border)),e.spacing&&this.push(new u.Spacing(e.spacing)),void 0!==e.outlineLevel&&this.push(new f.OutlineLevel(e.outlineLevel)),e.alignment&&this.push(new r.Alignment(e.alignment)),e.heading&&this.push(new h.Style(e.heading)),e.bidirectional&&this.push(new o.Bidirectional),e.thematicBreak&&this.push(new s.ThematicBreak),e.pageBreakBefore&&this.push(new c.PageBreakBefore),e.contextualSpacing&&this.push(new u.ContextualSpacing(e.contextualSpacing)),e.indent&&this.push(new a.Indent(e.indent)),e.keepLines&&this.push(new l.KeepLines),e.keepNext&&this.push(new l.KeepNext),e.tabStops)for(let t of e.tabStops)this.push(new d.TabStop(t.type,t.position,t.leader));e.style&&this.push(new h.Style(e.style)),e.bullet&&(this.push(new h.Style("ListParagraph")),this.push(new p.NumberProperties(1,e.bullet.level))),e.numbering&&(!e.numbering.custom&&this.push(new h.Style("ListParagraph")),this.push(new p.NumberProperties(e.numbering.reference,e.numbering.level))),e.rightTabStop&&this.push(new d.TabStop(d.TabStopType.RIGHT,e.rightTabStop)),e.leftTabStop&&this.push(new d.TabStop(d.TabStopType.LEFT,e.leftTabStop)),e.shading&&this.push(new m.Shading(e.shading.type,e.shading.fill,e.shading.color))}push(e){this.root.push(e)}}t.ParagraphProperties=g},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(257),o=n(258);class s extends i.XmlComponent{constructor(e){super("m:dPr"),e&&(this.root.push(new r.MathBeginningCharacter(e.beginningCharacter)),this.root.push(new o.MathEndingCharacter(e.endingCharacter)))}}t.MathBracketProperties=s},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(271)),i(n(43)),i(n(42)),i(n(106))},function(e,t,n){"use strict";var i,r,o,s;Object.defineProperty(t,"__esModule",{value:!0});let a=n(0),l=n(51),c=n(21),u=n(9);(o=t.LevelFormat||(t.LevelFormat={})).BULLET="bullet",o.CARDINAL_TEXT="cardinalText",o.CHICAGO="chicago",o.DECIMAL="decimal",o.DECIMAL_ENCLOSED_CIRCLE="decimalEnclosedCircle",o.DECIMAL_ENCLOSED_FULLSTOP="decimalEnclosedFullstop",o.DECIMAL_ENCLOSED_PARENTHESES="decimalEnclosedParen",o.DECIMAL_ZERO="decimalZero",o.LOWER_LETTER="lowerLetter",o.LOWER_ROMAN="lowerRoman",o.NONE="none",o.ORDINAL_TEXT="ordinalText",o.UPPER_LETTER="upperLetter",o.UPPER_ROMAN="upperRoman";class h extends a.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={ilvl:"w:ilvl",tentative:"w15:tentative"}}}class d extends a.XmlComponent{constructor(e){super("w:start"),this.root.push(new a.Attributes({val:e}))}}class p extends a.XmlComponent{constructor(e){super("w:numFmt"),this.root.push(new a.Attributes({val:e}))}}class f extends a.XmlComponent{constructor(e){super("w:lvlText"),this.root.push(new a.Attributes({val:e}))}}class m extends a.XmlComponent{constructor(e){super("w:lvlJc"),this.root.push(new a.Attributes({val:e}))}}(s=t.LevelSuffix||(t.LevelSuffix={})).NOTHING="nothing",s.SPACE="space",s.TAB="tab";class g extends a.XmlComponent{constructor(e){super("w:suff"),this.root.push(new a.Attributes({val:e}))}}class v extends a.XmlComponent{constructor({level:e,format:t,text:n,alignment:i=l.AlignmentType.START,start:r=1,style:o,suffix:s}){super("w:lvl"),this.root.push(new h({ilvl:e,tentative:1})),this.root.push(new d(r)),this.root.push(new m(i)),t&&this.root.push(new p(t)),n&&this.root.push(new f(n)),this.paragraphProperties=new c.ParagraphProperties(o&&o.paragraph),this.runProperties=new u.RunProperties(o&&o.run),this.root.push(this.paragraphProperties),this.root.push(this.runProperties),s&&this.root.push(new g(s))}}t.LevelBase=v;t.Level=class e extends v{constructor(e){super(e)}};t.LevelForOverride=class e extends v{}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.BaseXmlComponent=class e{constructor(e){this.deleted=!1,this.rootKey=e}get IsDeleted(){return this.deleted}}},function(e,t,n){var i=n(54),r=n(156),o=n(62),s=n(157);e.exports={xml2js:i,xml2json:r,js2xml:o,json2xml:s}},function(e,t,n){"use strict";var i,r="object"==typeof Reflect?Reflect:null,o=r&&"function"==typeof r.apply?r.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};i=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function a(){a.init.call(this)}e.exports=a,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var l=10;function c(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function u(e,t,n,i){if("function"!=typeof n)throw TypeError('The "listener" argument must be of type Function. Received type '+typeof n);if(void 0===(s=e._events)?(s=e._events=Object.create(null),e._eventsCount=0):(void 0!==s.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),s=e._events),a=s[t]),void 0===a)a=s[t]=n,++e._eventsCount;else if("function"==typeof a?a=s[t]=i?[n,a]:[a,n]:i?a.unshift(n):a.push(n),(o=c(e))>0&&a.length>o&&!a.warned){a.warned=!0;var r,o,s,a,l=Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=a.length,r=l,console&&console.warn&&console.warn(r)}return e}function h(){for(var e=[],t=0;t<arguments.length;t++)e.push(arguments[t]);!this.fired&&(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,o(this.listener,this.target,e))}function d(e,t,n){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},r=h.bind(i);return r.listener=n,i.wrapFn=r,r}function p(e,t,n){var i=e._events;if(void 0===i)return[];var r=i[t];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(e){for(var t=Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(r):m(r,r.length)}function f(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function m(e,t){for(var n=Array(t),i=0;i<t;++i)n[i]=e[i];return n}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return l},set:function(e){if("number"!=typeof e||e<0||s(e))throw RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");l=e}}),a.init=function(){(void 0===this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||s(e))throw RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},a.prototype.getMaxListeners=function(){return c(this)},a.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var i="error"===e,r=this._events;if(void 0!==r)i=i&&void 0===r.error;else if(!i)return!1;if(i){if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var s,a=Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var l=r[e];if(void 0===l)return!1;if("function"==typeof l)o(l,this,t);else{for(var c=l.length,u=m(l,c),n=0;n<c;++n)o(u[n],this,t)}return!0},a.prototype.addListener=function(e,t){return u(this,e,t,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(e,t){return u(this,e,t,!0)},a.prototype.once=function(e,t){if("function"!=typeof t)throw TypeError('The "listener" argument must be of type Function. Received type '+typeof t);return this.on(e,d(this,e,t)),this},a.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw TypeError('The "listener" argument must be of type Function. Received type '+typeof t);return this.prependListener(e,d(this,e,t)),this},a.prototype.removeListener=function(e,t){var n,i,r,o,s;if("function"!=typeof t)throw TypeError('The "listener" argument must be of type Function. Received type '+typeof t);if(void 0===(i=this._events)||void 0===(n=i[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(r=-1,o=n.length-1;o>=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,r=o;break}if(r<0)return this;0===r?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,r),1===n.length&&(i[e]=n[0]),void 0!==i.removeListener&&this.emit("removeListener",e,s||t)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(e){var t,n,i;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0==arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0==arguments.length){var r,o=Object.keys(n);for(i=0;i<o.length;++i)"removeListener"!==(r=o[i])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this},a.prototype.listeners=function(e){return p(this,e,!0)},a.prototype.rawListeners=function(e){return p(this,e,!1)},a.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):f.call(e,t)},a.prototype.listenerCount=f,a.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},function(e,t,n){(t=e.exports=n(57)).Stream=t,t.Readable=t,t.Writable=n(29),t.Duplex=n(5),t.Transform=n(61),t.PassThrough=n(151)},function(e,t,n){"use strict";(function(t,i,r){var o,s,a=n(15);function l(e){var t=this;this.next=null,this.entry=null,this.finish=function(){(function(e,t,n){var i=e.entry;for(e.entry=null;i;){var r=i.callback;t.pendingcb--,r(n),i=i.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e})(t,e)}}e.exports=y;var c=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?i:a.nextTick;y.WritableState=v;var u=n(14);u.inherits=n(7);var h={deprecate:n(150)},d=n(58),p=n(16).Buffer,f=r.Uint8Array||function(){},m=n(59);function g(){}function v(e,t){o=o||n(5),e=e||{};var i=t instanceof o;this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var r=e.highWaterMark,s=e.writableHighWaterMark,u=this.objectMode?16:16384;r||0===r?this.highWaterMark=r:i&&(s||0===s)?this.highWaterMark=s:this.highWaterMark=u,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var h=!1===e.decodeStrings;this.decodeStrings=!h,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){(function(e,t){var n,i,r,o,s,l,u=e._writableState,h=u.sync,d=u.writecb;if((n=u).writing=!1,n.writecb=null,n.length-=n.writelen,n.writelen=0,t){;i=e,r=u,o=h,s=t,l=d,--r.pendingcb,o?(a.nextTick(l,s),a.nextTick(k,i,r),i._writableState.errorEmitted=!0,i.emit("error",s)):(l(s),i._writableState.errorEmitted=!0,i.emit("error",s),k(i,r))}else{var p=E(u);!p&&!u.corked&&!u.bufferProcessing&&u.bufferedRequest&&_(e,u),h?c(w,e,u,p,d):w(e,u,p,d)}})(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new l(this)}function y(e){if(o=o||n(5),!s.call(y,this)&&!(this instanceof o))return new y(e);this._writableState=new v(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),d.call(this)}u.inherits(y,d),v.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},!function(){try{Object.defineProperty(v.prototype,"buffer",{get:h.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(s=Function.prototype[Symbol.hasInstance],Object.defineProperty(y,Symbol.hasInstance,{value:function(e){return!!s.call(this,e)||this===y&&e&&e._writableState instanceof v}})):s=function(e){return e instanceof this},y.prototype.pipe=function(){this.emit("error",Error("Cannot pipe, not readable"))};y.prototype.write=function(e,t,n){var i,r,o,s,l,c,u,h,d,m,v,y=this._writableState,w=!1;var _=!y.objectMode&&(i=e,p.isBuffer(i)||i instanceof f);if(_&&!p.isBuffer(e)){;r=e,e=p.from(r)}if("function"==typeof t&&(n=t,t=null),_?t="buffer":!t&&(t=y.defaultEncoding),"function"!=typeof n&&(n=g),y.ended){;o=this,s=n,l=Error("write after end"),o.emit("error",l),a.nextTick(s,l)}else{;if(_||(c=this,u=y,h=e,d=n,m=!0,v=!1,null===h?v=TypeError("May not write null values to stream"):"string"!=typeof h&&void 0!==h&&!u.objectMode&&(v=TypeError("Invalid non-string/buffer chunk")),v&&(c.emit("error",v),a.nextTick(d,v),m=!1),m))y.pendingcb++,w=function(e,t,n,i,r,o){if(!n){var s,a,l,c=(s=t,a=i,l=r,!s.objectMode&&!1!==s.decodeStrings&&"string"==typeof a&&(a=p.from(a,l)),a);i!==c&&(n=!0,r="buffer",i=c)}var u=t.objectMode?1:i.length;t.length+=u;var h=t.length<t.highWaterMark;if(!h&&(t.needDrain=!0),t.writing||t.corked){var d=t.lastBufferedRequest;t.lastBufferedRequest={chunk:i,encoding:r,isBuf:n,callback:o,next:null},d?d.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else b(e,t,!1,u,i,r,o);return h}(this,y,_,e,t,n)}return w},y.prototype.cork=function(){var e=this._writableState;e.corked++},y.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.finished&&!e.bufferProcessing&&e.bufferedRequest&&_(this,e))},y.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(y.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function b(e,t,n,i,r,o,s){t.writelen=i,t.writecb=s,t.writing=!0,t.sync=!0,n?e._writev(r,t.onwrite):e._write(r,o,t.onwrite),t.sync=!1}function w(e,t,n,i){!n&&function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,i(),k(e,t)}function _(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var i=Array(t.bufferedRequestCount),r=t.corkedRequestsFree;r.entry=n;for(var o=0,s=!0;n;)i[o]=n,!n.isBuf&&(s=!1),n=n.next,o+=1;i.allBuffers=s,b(e,t,!0,t.length,i,"",r.finish),t.pendingcb++,t.lastBufferedRequest=null,r.next?(t.corkedRequestsFree=r.next,r.next=null):t.corkedRequestsFree=new l(t),t.bufferedRequestCount=0}else{for(;n;){var a=n.chunk,c=n.encoding,u=n.callback,h=t.objectMode?1:a.length;if(b(e,t,!1,h,a,c,u),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function E(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function x(e,t){e._final(function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),k(e,t)})}y.prototype._write=function(e,t,n){n(Error("_write() is not implemented"))},y.prototype._writev=null,y.prototype.end=function(e,t,n){var i=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),!i.ending&&!i.finished&&function(e,t,n){t.ending=!0,k(e,t),n&&(t.finished?a.nextTick(n):e.once("finish",n)),t.ended=!0,e.writable=!1}(this,i,n)};function k(e,t){var n,i,r=E(t);if(r){;n=e,(i=t).prefinished||i.finalCalled||("function"==typeof n._final?(i.pendingcb++,i.finalCalled=!0,a.nextTick(x,n,i)):(i.prefinished=!0,n.emit("prefinish"))),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))}return r}Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){if(!!this._writableState)this._writableState.destroyed=e}}),y.prototype.destroy=m.destroy,y.prototype._undestroy=m.undestroy,y.prototype._destroy=function(e,t){this.end(),t(e)}}).call(t,n(13),n(60).setImmediate,n(4))},function(e,t,n){"use strict";var i=n(16).Buffer,r=i.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(e){var t;switch(this.encoding=function(e){var t=function(e){var t;if(!e)return"utf8";for(;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(i.isEncoding===r||!r(e)))throw Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=l,this.end=c,t=4;break;case"utf8":this.fillLast=a,t=4;break;case"base64":this.text=u,this.end=h,t=3;break;default:this.write=d,this.end=p;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=i.allocUnsafe(t)}function s(e){if(e<=127)return 0;if(e>>5==6)return 2;if(e>>4==14)return 3;else if(e>>3==30)return 4;return e>>6==2?-1:-2}t.StringDecoder=o,o.prototype.write=function(e){var t,n;if(0===e.length)return"";if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n<e.length?t?t+this.text(e,n):this.text(e,n):t||""},o.prototype.end=function(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t},o.prototype.text=function(e,t){var n=function(e,t,n){var i=t.length-1;if(i<n)return 0;var r=s(t[i]);return r>=0?(r>0&&(e.lastNeed=r-1),r):--i<n||-2===r?0:(r=s(t[i]))>=0?(r>0&&(e.lastNeed=r-2),r):--i<n||-2===r?0:(r=s(t[i]))>=0?(r>0&&(2===r?r=0:e.lastNeed=r-3),r):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var i=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,i),e.toString("utf8",t,i)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length};function a(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if((192&t[0])!=128)return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if((192&t[1])!=128)return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&(192&t[2])!=128)return e.lastNeed=2,"�"}}(this,e,0);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):void(e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length)}function l(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var i=n.charCodeAt(n.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function u(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function p(e){return e&&e.length?this.write(e):""}},function(e,t,n){var i=n(32).isArray;e.exports={copyOptions:function(e){var t,n={};for(t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n},ensureFlagExists:function(e,t){(!(e in t)||"boolean"!=typeof t[e])&&(t[e]=!1)},ensureSpacesExists:function(e){(!("spaces"in e)||"number"!=typeof e.spaces&&"string"!=typeof e.spaces)&&(e.spaces=0)},ensureAlwaysArrayExists:function(e){(!("alwaysArray"in e)||"boolean"!=typeof e.alwaysArray&&!i(e.alwaysArray))&&(e.alwaysArray=!1)},ensureKeyExists:function(e,t){(!(e+"Key"in t)||"string"!=typeof t[e+"Key"])&&(t[e+"Key"]=t.compact?"_"+e:e)},checkFnExists:function(e,t){return e+"Fn"in t}}},function(e,t){e.exports={isArray:function(e){return Array.isArray?Array.isArray(e):"[object Array]"===Object.prototype.toString.call(e)}}},function(e,t,n){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0});let r=n(0);(i=t.EmphasisMarkType||(t.EmphasisMarkType={})).DOT="dot";class o extends r.XmlComponent{constructor(e){super("w:em"),this.root.push(new r.Attributes({val:e}))}}t.BaseEmphasisMark=o;t.EmphasisMark=class e extends o{constructor(e=i.DOT){super(e)}};t.DotEmphasisMark=class e extends o{constructor(){super(i.DOT)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={ascii:"w:ascii",cs:"w:cs",eastAsia:"w:eastAsia",hAnsi:"w:hAnsi",hint:"w:hint"}}}class o extends i.XmlComponent{constructor(e,t){super("w:rFonts"),"string"==typeof e?this.root.push(new r({ascii:e,cs:e,eastAsia:e,hAnsi:e,hint:t})):this.root.push(new r(e))}}t.RunFonts=o},function(e,t,n){"use strict";var i,r,o,s,a,l,c,u;Object.defineProperty(t,"__esModule",{value:!0}),(a=t.HorizontalPositionRelativeFrom||(t.HorizontalPositionRelativeFrom={})).CHARACTER="character",a.COLUMN="column",a.INSIDE_MARGIN="insideMargin",a.LEFT_MARGIN="leftMargin",a.MARGIN="margin",a.OUTSIDE_MARGIN="outsideMargin",a.PAGE="page",a.RIGHT_MARGIN="rightMargin",(l=t.VerticalPositionRelativeFrom||(t.VerticalPositionRelativeFrom={})).BOTTOM_MARGIN="bottomMargin",l.INSIDE_MARGIN="insideMargin",l.LINE="line",l.MARGIN="margin",l.OUTSIDE_MARGIN="outsideMargin",l.PAGE="page",l.PARAGRAPH="paragraph",l.TOP_MARGIN="topMargin",(c=t.HorizontalPositionAlign||(t.HorizontalPositionAlign={})).CENTER="center",c.INSIDE="inside",c.LEFT="left",c.OUTSIDE="outside",c.RIGHT="right",(u=t.VerticalPositionAlign||(t.VerticalPositionAlign={})).BOTTOM="bottom",u.CENTER="center",u.INSIDE="inside",u.OUTSIDE="outside",u.TOP="top"},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(200)),i(n(201)),i(n(202)),i(n(203)),i(n(204))},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(217)),i(n(219)),i(n(229))},function(e,t,n){"use strict";var i,r,o,s,a,l,c,u;Object.defineProperty(t,"__esModule",{value:!0});let h=n(0);class d extends h.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={style:"w:val",size:"w:sz",color:"w:color"}}}class p extends h.XmlComponent{setProperties(e,t,n){let i=new d({style:e,size:t,color:n});return this.root.push(i),this}}class f extends h.IgnoreIfEmptyXmlComponent{constructor(){super("w:tcBorders")}addTopBorder(e,t,n){let i=new p("w:top");return i.setProperties(e,t,n),this.root.push(i),this}addStartBorder(e,t,n){let i=new p("w:start");return i.setProperties(e,t,n),this.root.push(i),this}addBottomBorder(e,t,n){let i=new p("w:bottom");return i.setProperties(e,t,n),this.root.push(i),this}addEndBorder(e,t,n){let i=new p("w:end");return i.setProperties(e,t,n),this.root.push(i),this}addLeftBorder(e,t,n){let i=new p("w:left");return i.setProperties(e,t,n),this.root.push(i),this}addRightBorder(e,t,n){let i=new p("w:right");return i.setProperties(e,t,n),this.root.push(i),this}}t.TableCellBorders=f;class m extends h.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}class g extends h.XmlComponent{constructor(e){super("w:gridSpan"),this.root.push(new m({val:e}))}}t.GridSpan=g,(a=t.VerticalMergeType||(t.VerticalMergeType={})).CONTINUE="continue",a.RESTART="restart";class v extends h.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}class y extends h.XmlComponent{constructor(e){super("w:vMerge"),this.root.push(new v({val:e}))}}t.VerticalMerge=y,(l=t.VerticalAlign||(t.VerticalAlign={})).BOTTOM="bottom",l.CENTER="center",l.TOP="top";class b extends h.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}class w extends h.XmlComponent{constructor(e){super("w:vAlign"),this.root.push(new b({val:e}))}}t.VAlign=w,(c=t.TextDirection||(t.TextDirection={})).BOTTOM_TO_TOP_LEFT_TO_RIGHT="btLr",c.LEFT_TO_RIGHT_TOP_TO_BOTTOM="lrTb",c.TOP_TO_BOTTOM_RIGHT_TO_LEFT="tbRl";class _ extends h.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}class E extends h.XmlComponent{constructor(e){super("w:textDirection"),this.root.push(new _({val:e}))}}t.TDirection=E,(u=t.WidthType||(t.WidthType={})).AUTO="auto",u.DXA="dxa",u.NIL="nil",u.PERCENTAGE="pct";class x extends h.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={width:"w:w",type:"w:type"}}}class k extends h.XmlComponent{constructor(e,t){super("w:tcW"),this.root.push(new x({width:e,type:t}))}}t.TableCellWidth=k},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(267))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(41);class o extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={type:"w:type",styleId:"w:styleId",default:"w:default",customStyle:"w:customStyle"}}}class s extends i.XmlComponent{constructor(e,t){super("w:style"),this.root.push(new o(e)),t&&this.root.push(new r.Name(t))}}t.Style=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}class o extends i.XmlComponent{constructor(e){super("w:name"),this.root.push(new r({val:e}))}}t.Name=o;class s extends i.XmlComponent{constructor(e){super("w:basedOn"),this.root.push(new r({val:e}))}}t.BasedOn=s;class a extends i.XmlComponent{constructor(e){super("w:next"),this.root.push(new r({val:e}))}}t.Next=a;class l extends i.XmlComponent{constructor(e){super("w:link"),this.root.push(new r({val:e}))}}t.Link=l;class c extends i.XmlComponent{constructor(e){super("w:uiPriority"),this.root.push(new r({val:e}))}}t.UiPriority=c;class u extends i.XmlComponent{constructor(){super("w:unhideWhenUsed")}}t.UnhideWhenUsed=u;class h extends i.XmlComponent{constructor(){super("w:qFormat")}}t.QuickFormat=h;class d extends i.XmlComponent{}t.TableProperties=d;class p extends i.XmlComponent{}t.RsId=p;class f extends i.XmlComponent{constructor(){super("w:semiHidden")}}t.SemiHidden=f},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(1),r=n(9),o=n(41),s=n(40);class a extends s.Style{constructor(e){super({type:"paragraph",styleId:e.id},e.name),this.paragraphProperties=new i.ParagraphProperties(e.paragraph),this.runProperties=new r.RunProperties(e.run),this.root.push(this.paragraphProperties),this.root.push(this.runProperties),e.basedOn&&this.root.push(new o.BasedOn(e.basedOn)),e.next&&this.root.push(new o.Next(e.next)),e.quickFormat&&this.root.push(new o.QuickFormat),e.link&&this.root.push(new o.Link(e.link)),e.semiHidden&&this.root.push(new o.SemiHidden),e.uiPriority&&this.root.push(new o.UiPriority(e.uiPriority)),e.unhideWhenUsed&&this.root.push(new o.UnhideWhenUsed)}}t.StyleForParagraph=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(9),r=n(41),o=n(40);class s extends o.Style{constructor(e){super({type:"character",styleId:e.id},e.name),this.runProperties=new i.RunProperties(e.run),this.root.push(this.runProperties),this.root.push(new r.UiPriority(99)),this.root.push(new r.UnhideWhenUsed),e.basedOn&&this.root.push(new r.BasedOn(e.basedOn)),e.link&&this.root.push(new r.Link(e.link)),e.semiHidden&&this.root.push(new r.SemiHidden)}}t.StyleForCharacter=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertMillimetersToTwip=e=>Math.floor(e/25.4*1440),t.convertInchesToTwip=e=>Math.floor(1440*e)},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=t.PageOrientation||(t.PageOrientation={})).PORTRAIT="portrait",r.LANDSCAPE="landscape";class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={width:"w:w",height:"w:h",orientation:"w:orient"}}}t.PageSizeAttributes=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(308),r=n(47);t.FooterWrapper=class e{constructor(e,t,n){this.media=e,this.footer=new i.Footer(t,n),this.relationships=new r.Relationships}add(e){this.footer.add(e)}addChildElement(e){this.footer.addChildElement(e)}get Footer(){return this.footer}get Relationships(){return this.relationships}get Media(){return this.media}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(310))},function(e,t,n){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0});let r=n(0),o=n(312);(t.TargetModeType||(t.TargetModeType={})).EXTERNAL="External";class s extends r.XmlComponent{constructor(e,t,n,i){super("Relationship"),this.root.push(new o.RelationshipAttributes({id:e,type:t,target:n,targetMode:i}))}}t.Relationship=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(326),r=n(47);t.HeaderWrapper=class e{constructor(e,t,n){this.media=e,this.header=new i.Header(t,n),this.relationships=new r.Relationships}add(e){return this.header.add(e),this}addChildElement(e){this.header.addChildElement(e)}get Header(){return this.header}get Relationships(){return this.relationships}get Media(){return this.media}}},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(328)),i(n(329))},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(52)),i(n(63)),i(n(64)),i(n(65)),i(n(66)),i(n(82)),i(n(83)),i(n(84)),i(n(85))},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=t.AlignmentType||(t.AlignmentType={})).START="start",r.END="end",r.CENTER="center",r.BOTH="both",r.JUSTIFIED="both",r.DISTRIBUTE="distribute",r.LEFT="left",r.RIGHT="right";class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}t.AlignmentAttributes=s;class a extends o.XmlComponent{constructor(e){super("w:jc"),this.root.push(new s({val:e}))}}t.Alignment=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(25);class r extends i.BaseXmlComponent{constructor(e){super("_attr"),this.root=e}prepForXml(){let e={};return Object.keys(this.root).forEach(t=>{let n=this.root[t];void 0!==n&&(e[this.xmlKeys&&this.xmlKeys[t]||t]=n)}),{_attr:e}}set(e){this.root=e}}t.XmlAttributeComponent=r},function(e,t,n){var i,r,o=n(143),s={on:function(){},parse:function(){}},a=n(31),l=n(32).isArray;function c(e){var t=Number(e);if(!isNaN(t))return t;var n=e.toLowerCase();return"true"===n||"false"!==n&&e}function u(e,t){var n;if(i.compact){if(!r[i[e+"Key"]]&&(l(i.alwaysArray)?-1!==i.alwaysArray.indexOf(i[e+"Key"]):i.alwaysArray)&&(r[i[e+"Key"]]=[]),r[i[e+"Key"]]&&!l(r[i[e+"Key"]])&&(r[i[e+"Key"]]=[r[i[e+"Key"]]]),e+"Fn"in i&&"string"==typeof t&&(t=i[e+"Fn"](t,r)),"instruction"===e&&("instructionFn"in i||"instructionNameFn"in i)){for(n in t)if(t.hasOwnProperty(n)){if("instructionFn"in i)t[n]=i.instructionFn(t[n],n,r);else{var o=t[n];delete t[n],t[i.instructionNameFn(n,o,r)]=o}}}l(r[i[e+"Key"]])?r[i[e+"Key"]].push(t):r[i[e+"Key"]]=t}else{!r[i.elementsKey]&&(r[i.elementsKey]=[]);var s={};if(s[i.typeKey]=e,"instruction"===e){for(n in t)if(t.hasOwnProperty(n))break;s[i.nameKey]="instructionNameFn"in i?i.instructionNameFn(n,t,r):n,i.instructionHasAttributes?(s[i.attributesKey]=t[n][i.attributesKey],"instructionFn"in i&&(s[i.attributesKey]=i.instructionFn(s[i.attributesKey],n,r))):("instructionFn"in i&&(t[n]=i.instructionFn(t[n],n,r)),s[i.instructionKey]=t[n])}else e+"Fn"in i&&(t=i[e+"Fn"](t,r)),s[i[e+"Key"]]=t;i.addParent&&(s[i.parentKey]=r),r[i.elementsKey].push(s)}}function h(e){if("attributesFn"in i&&e&&(e=i.attributesFn(e,r)),(i.trim||"attributeValueFn"in i||"attributeNameFn"in i||i.nativeTypeAttributes)&&e){var t;for(t in e)if(e.hasOwnProperty(t)&&(i.trim&&(e[t]=e[t].trim()),i.nativeTypeAttributes&&(e[t]=c(e[t])),"attributeValueFn"in i&&(e[t]=i.attributeValueFn(e[t],t,r)),"attributeNameFn"in i)){var n=e[t];delete e[t],e[i.attributeNameFn(t,e[t],r)]=n}}return e}function d(e){var t={};if(e.body&&("xml"===e.name.toLowerCase()||i.instructionHasAttributes)){for(var n,o=/([\w:-]+)\s*=\s*(?:"([^"]*)"|'([^']*)'|(\w+))\s*/g;null!==(n=o.exec(e.body));)t[n[1]]=n[2]||n[3]||n[4];t=h(t)}if("xml"===e.name.toLowerCase()){if(i.ignoreDeclaration)return;r[i.declarationKey]={},Object.keys(t).length&&(r[i.declarationKey][i.attributesKey]=t),i.addParent&&(r[i.declarationKey][i.parentKey]=r)}else{if(i.ignoreInstruction)return;i.trim&&(e.body=e.body.trim());var s={};i.instructionHasAttributes&&Object.keys(t).length?(s[e.name]={},s[e.name][i.attributesKey]=t):s[e.name]=e.body,u("instruction",s)}}function p(e,t){var n,o;if("object"==typeof e&&(t=e.attributes,e=e.name),t=h(t),"elementNameFn"in i&&(e=i.elementNameFn(e,r)),i.compact){if(n={},!i.ignoreAttributes&&t&&Object.keys(t).length)for(o in n[i.attributesKey]={},t)t.hasOwnProperty(o)&&(n[i.attributesKey][o]=t[o]);!(e in r)&&(l(i.alwaysArray)?-1!==i.alwaysArray.indexOf(e):i.alwaysArray)&&(r[e]=[]),r[e]&&!l(r[e])&&(r[e]=[r[e]]),l(r[e])?r[e].push(n):r[e]=n}else!r[i.elementsKey]&&(r[i.elementsKey]=[]),(n={})[i.typeKey]="element",n[i.nameKey]=e,!i.ignoreAttributes&&t&&Object.keys(t).length&&(n[i.attributesKey]=t),i.alwaysChildren&&(n[i.elementsKey]=[]),r[i.elementsKey].push(n);n[i.parentKey]=r,r=n}function f(e){if(!i.ignoreText&&(!!e.trim()||!!i.captureSpacesBetweenElements))i.trim&&(e=e.trim()),i.nativeType&&(e=c(e)),i.sanitize&&(e=e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")),u("text",e)}function m(e){if(!i.ignoreComment)i.trim&&(e=e.trim()),u("comment",e)}function g(e){var t=r[i.parentKey];!i.addParent&&delete r[i.parentKey],r=t}function v(e){if(!i.ignoreCdata)i.trim&&(e=e.trim()),u("cdata",e)}function y(e){if(!i.ignoreDoctype)e=e.replace(/^ /,""),i.trim&&(e=e.trim()),u("doctype",e)}function b(e){e.note=e}e.exports=function(e,t){var n,s=o.parser(!0,{}),l={};r=l,n=t,i=a.copyOptions(n),a.ensureFlagExists("ignoreDeclaration",i),a.ensureFlagExists("ignoreInstruction",i),a.ensureFlagExists("ignoreAttributes",i),a.ensureFlagExists("ignoreText",i),a.ensureFlagExists("ignoreComment",i),a.ensureFlagExists("ignoreCdata",i),a.ensureFlagExists("ignoreDoctype",i),a.ensureFlagExists("compact",i),a.ensureFlagExists("alwaysChildren",i),a.ensureFlagExists("addParent",i),a.ensureFlagExists("trim",i),a.ensureFlagExists("nativeType",i),a.ensureFlagExists("nativeTypeAttributes",i),a.ensureFlagExists("sanitize",i),a.ensureFlagExists("instructionHasAttributes",i),a.ensureFlagExists("captureSpacesBetweenElements",i),a.ensureAlwaysArrayExists(i),a.ensureKeyExists("declaration",i),a.ensureKeyExists("instruction",i),a.ensureKeyExists("attributes",i),a.ensureKeyExists("text",i),a.ensureKeyExists("comment",i),a.ensureKeyExists("cdata",i),a.ensureKeyExists("doctype",i),a.ensureKeyExists("type",i),a.ensureKeyExists("name",i),a.ensureKeyExists("elements",i),a.ensureKeyExists("parent",i),a.checkFnExists("doctype",i),a.checkFnExists("instruction",i),a.checkFnExists("cdata",i),a.checkFnExists("comment",i),a.checkFnExists("text",i),a.checkFnExists("instructionName",i),a.checkFnExists("elementName",i),a.checkFnExists("attributeName",i),a.checkFnExists("attributeValue",i),a.checkFnExists("attributes",i),s.opt={strictEntities:!0},s.onopentag=p,s.ontext=f,s.oncomment=m,s.onclosetag=g,s.onerror=b,s.oncdata=v,s.ondoctype=y,s.onprocessinginstruction=d;s.write(e).close();if(l[i.elementsKey]){var c=l[i.elementsKey];delete l[i.elementsKey],l[i.elementsKey]=c,delete l.text}return l}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){e.exports=r;var i=n(27).EventEmitter;function r(){i.call(this)}n(7)(r,i),r.Readable=n(28),r.Writable=n(152),r.Duplex=n(153),r.Transform=n(154),r.PassThrough=n(155),r.Stream=r,r.prototype.pipe=function(e,t){var n=this;function r(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function o(){n.readable&&n.resume&&n.resume()}n.on("data",r),e.on("drain",o),!e._isStdio&&(!t||!1!==t.end)&&(n.on("end",a),n.on("close",l));var s=!1;function a(){!s&&(s=!0,e.end())}function l(){!s&&(s=!0,"function"==typeof e.destroy&&e.destroy())}function c(e){if(u(),0===i.listenerCount(this,"error"))throw e}function u(){n.removeListener("data",r),e.removeListener("drain",o),n.removeListener("end",a),n.removeListener("close",l),n.removeListener("error",c),e.removeListener("error",c),n.removeListener("end",u),n.removeListener("close",u),e.removeListener("close",u)}return n.on("error",c),e.on("error",c),n.on("end",u),n.on("close",u),e.on("close",u),e.emit("pipe",n),e}},function(e,t,n){"use strict";(function(t,i){var r,o,s=n(15);e.exports=b;var a=n(55);b.ReadableState=y,n(27).EventEmitter;var l=function(e,t){return e.listeners(t).length},c=n(58),u=n(16).Buffer,h=t.Uint8Array||function(){},d=n(14);d.inherits=n(7);var p=n(146),f=void 0;f=p&&p.debuglog?p.debuglog("stream"):function(){};var m=n(147),g=n(59);d.inherits(b,c);var v=["error","close","destroy","pause","resume"];function y(e,t){r=r||n(5),e=e||{};var i=t instanceof r;this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var s=e.highWaterMark,a=e.readableHighWaterMark,l=this.objectMode?16:16384;s||0===s?this.highWaterMark=s:i&&(a||0===a)?this.highWaterMark=a:this.highWaterMark=l,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new m,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(!o&&(o=n(30).StringDecoder),this.decoder=new o(e.encoding),this.encoding=e.encoding)}function b(e){if(r=r||n(5),!(this instanceof b))return new b(e);this._readableState=new y(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),c.call(this)}function w(e,t,n,i,r){var o,s,a=e._readableState;if(null===t)a.reading=!1,function(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,x(e)}}(e,a);else if(!r&&(s=function(e,t){var n,i;if(i=t,!u.isBuffer(i)&&!(i instanceof h)&&"string"!=typeof t&&void 0!==t&&!e.objectMode)n=TypeError("Invalid non-string/buffer chunk");return n}(a,t)),s)e.emit("error",s);else if(a.objectMode||t&&t.length>0){if("string"!=typeof t&&!a.objectMode&&Object.getPrototypeOf(t)!==u.prototype){;o=t,t=u.from(o)}i?a.endEmitted?e.emit("error",Error("stream.unshift() after end event")):_(e,a,t,!0):a.ended?e.emit("error",Error("stream.push() after EOF")):(a.reading=!1,a.decoder&&!n?(t=a.decoder.write(t),a.objectMode||0!==t.length?_(e,a,t,!1):T(e,a)):_(e,a,t,!1))}else!i&&(a.reading=!1);return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(a)}function _(e,t,n,i){t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,i?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&x(e)),T(e,t)}Object.defineProperty(b.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){if(!!this._readableState)this._readableState.destroyed=e}}),b.prototype.destroy=g.destroy,b.prototype._undestroy=g.undestroy,b.prototype._destroy=function(e,t){this.push(null),t(e)},b.prototype.push=function(e,t){var n,i=this._readableState;return i.objectMode?n=!0:"string"==typeof e&&((t=t||i.defaultEncoding)!==i.encoding&&(e=u.from(e,t),t=""),n=!0),w(this,e,t,!1,n)},b.prototype.unshift=function(e){return w(this,e,null,!0,!1)};b.prototype.isPaused=function(){return!1===this._readableState.flowing},b.prototype.setEncoding=function(e){return!o&&(o=n(30).StringDecoder),this._readableState.decoder=new o(e),this._readableState.encoding=e,this};function E(e,t){if(e<=0||0===t.length&&t.ended)return 0;if(t.objectMode)return 1;if(e!=e)return t.flowing&&t.length?t.buffer.head.data.length:t.length;if(e>t.highWaterMark){var n;t.highWaterMark=((n=e)>=8388608?n=8388608:(n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++),n)}return e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0)}b.prototype.read=function(e){f("read",e),e=parseInt(e,10);var t,n=this._readableState,i=e;if(0!==e&&(n.emittedReadable=!1),0===e&&n.needReadable&&(n.length>=n.highWaterMark||n.ended))return f("read: emitReadable",n.length,n.ended),0===n.length&&n.ended?I(this):x(this),null;if(0===(e=E(e,n))&&n.ended)return 0===n.length&&I(this),null;var r=n.needReadable;return f("need readable",r),(0===n.length||n.length-e<n.highWaterMark)&&f("length less than watermark",r=!0),n.ended||n.reading?f("reading or ended",r=!1):r&&(f("do read"),n.reading=!0,n.sync=!0,0===n.length&&(n.needReadable=!0),this._read(n.highWaterMark),n.sync=!1,!n.reading&&(e=E(i,n))),null===(t=e>0?N(e,n):null)?(n.needReadable=!0,e=0):n.length-=e,0===n.length&&(!n.ended&&(n.needReadable=!0),i!==e&&n.ended&&I(this)),null!==t&&this.emit("data",t),t};function x(e){var t=e._readableState;t.needReadable=!1,!t.emittedReadable&&(f("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?s.nextTick(k,e):k(e))}function k(e){f("emit readable"),e.emit("readable"),S(e)}function T(e,t){!t.readingMore&&(t.readingMore=!0,s.nextTick(O,e,t))}function O(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(f("maybeReadMore read 0"),e.read(0),n!==t.length);){;n=t.length}t.readingMore=!1}b.prototype._read=function(e){this.emit("error",Error("_read() is not implemented"))},b.prototype.pipe=function(e,t){var n=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,f("pipe count=%d opts=%j",r.pipesCount,t);var o=t&&!1===t.end||e===i.stdout||e===i.stderr?b:u;function c(t,i){f("onunpipe"),t===n&&i&&!1===i.hasUnpiped&&(i.hasUnpiped=!0,function(){f("cleanup"),e.removeListener("close",v),e.removeListener("finish",y),e.removeListener("drain",h),e.removeListener("error",g),e.removeListener("unpipe",c),n.removeListener("end",u),n.removeListener("end",b),n.removeListener("data",m),d=!0,r.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&h()}())}function u(){f("onend"),e.end()}r.endEmitted?s.nextTick(o):n.once("end",o),e.on("unpipe",c);var h=function(e){return function(){var t=e._readableState;f("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&l(e,"data")&&(t.flowing=!0,S(e))}}(n);e.on("drain",h);var d=!1,p=!1;function m(t){f("ondata"),p=!1,!1===e.write(t)&&!p&&((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==R(r.pipes,e))&&!d&&(f("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,p=!0),n.pause())}function g(t){f("onerror",t),b(),e.removeListener("error",g),0===l(e,"error")&&e.emit("error",t)}function v(){e.removeListener("finish",y),b()}function y(){f("onfinish"),e.removeListener("close",v),b()}function b(){f("unpipe"),n.unpipe(e)}return n.on("data",m),!function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?a(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",g),e.once("close",v),e.once("finish",y),e.emit("pipe",n),!r.flowing&&(f("pipe resume"),n.resume()),e};function C(e){f("readable nexttick read 0"),e.read(0)}b.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(!e&&(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n),this);if(!e){var i=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o<r;o++)i[o].emit("unpipe",this,n);return this}var s=R(t.pipes,e);return -1===s?this:(t.pipes.splice(s,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,n),this)},b.prototype.on=function(e,t){var n=c.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var i=this._readableState;!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.emittedReadable=!1,i.reading?i.length&&x(this):s.nextTick(C,this))}return n},b.prototype.addListener=b.prototype.on,b.prototype.resume=function(){var e=this._readableState;return!e.flowing&&(f("resume"),e.flowing=!0,function(e,t){!t.resumeScheduled&&(t.resumeScheduled=!0,s.nextTick(A,e,t))}(this,e)),this};function A(e,t){!t.reading&&(f("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),S(e),t.flowing&&!t.reading&&e.read(0)}function S(e){var t=e._readableState;for(f("flow",t.flowing);t.flowing&&null!==e.read(););}function N(e,t){var n;return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var i;return e<t.head.data.length?(i=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):i=e===t.head.data.length?t.shift():n?function(e,t){var n=t.head,i=1,r=n.data;for(e-=r.length;n=n.next;){var o=n.data,s=e>o.length?o.length:e;if(s===o.length?r+=o:r+=o.slice(0,e),0==(e-=s)){s===o.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(s));break}++i}return t.length-=i,r}(e,t):function(e,t){var n=u.allocUnsafe(e),i=t.head,r=1;for(i.data.copy(n),e-=i.data.length;i=i.next;){var o=i.data,s=e>o.length?o.length:e;if(o.copy(n,n.length-e,0,s),0==(e-=s)){s===o.length?(++r,i.next?t.head=i.next:t.head=t.tail=null):(t.head=i,i.data=o.slice(s));break}++r}return t.length-=r,n}(e,t),i}(e,t.buffer,t.decoder),n)}b.prototype.pause=function(){return f("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(f("pause"),this._readableState.flowing=!1,this.emit("pause")),this},b.prototype.wrap=function(e){var t=this,n=this._readableState,i=!1;for(var r in e.on("end",function(){if(f("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(r){if(f("wrapped data"),n.decoder&&(r=n.decoder.write(r)),n.objectMode&&null==r)return;if(!!n.objectMode||!!r&&!!r.length)!t.push(r)&&(i=!0,e.pause())}),e)void 0===this[r]&&"function"==typeof e[r]&&(this[r]=function(t){return function(){return e[t].apply(e,arguments)}}(r));for(var o=0;o<v.length;o++)e.on(v[o],this.emit.bind(this,v[o]));return this._read=function(t){f("wrapped _read",t),i&&(i=!1,e.resume())},this},Object.defineProperty(b.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),b._fromList=N;function I(e){var t=e._readableState;if(t.length>0)throw Error('"endReadable()" called on non-empty stream');!t.endEmitted&&(t.ended=!0,s.nextTick(L,t,e))}function L(e,t){!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function R(e,t){for(var n=0,i=e.length;n<i;n++)if(e[n]===t)return n;return -1}}).call(t,n(4),n(13))},function(e,t,n){e.exports=n(27).EventEmitter},function(e,t,n){"use strict";var i=n(15);function r(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var n=this,o=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return o||s?(t?t(e):e&&(!this._writableState||!this._writableState.errorEmitted)&&i.nextTick(r,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!t&&e?(i.nextTick(r,n,e),n._writableState&&(n._writableState.errorEmitted=!0)):t&&t(e)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},function(e,t,n){(function(e){var i=void 0!==e&&e||"undefined"!=typeof self&&self||window,r=Function.prototype.apply;function o(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new o(r.call(setTimeout,i,arguments),clearTimeout)},t.setInterval=function(){return new o(r.call(setInterval,i,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(i,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(149),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(t,n(4))},function(e,t,n){"use strict";e.exports=s;var i=n(5),r=n(14);function o(e,t){var n=this._transformState;n.transforming=!1;var i=n.writecb;if(!i)return this.emit("error",Error("write callback called multiple times"));n.writechunk=null,n.writecb=null,null!=t&&this.push(t),i(e);var r=this._readableState;r.reading=!1,(r.needReadable||r.length<r.highWaterMark)&&this._read(r.highWaterMark)}function s(e){if(!(this instanceof s))return new s(e);i.call(this,e),this._transformState={afterTransform:o.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",a)}function a(){var e=this;"function"==typeof this._flush?this._flush(function(t,n){l(e,t,n)}):l(this,null,null)}function l(e,t,n){if(t)return e.emit("error",t);if(null!=n&&e.push(n),e._writableState.length)throw Error("Calling transform done when ws.length != 0");if(e._transformState.transforming)throw Error("Calling transform done when still transforming");return e.push(null)}r.inherits=n(7),r.inherits(s,i),s.prototype.push=function(e,t){return this._transformState.needTransform=!1,i.prototype.push.call(this,e,t)},s.prototype._transform=function(e,t,n){throw Error("_transform() is not implemented")},s.prototype._write=function(e,t,n){var i=this._transformState;if(i.writecb=n,i.writechunk=e,i.writeencoding=t,!i.transforming){var r=this._readableState;(i.needTransform||r.needReadable||r.length<r.highWaterMark)&&this._read(r.highWaterMark)}},s.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},s.prototype._destroy=function(e,t){var n=this;i.prototype._destroy.call(this,e,function(e){t(e),n.emit("close")})}},function(e,t,n){var i,r,o=n(31),s=n(32).isArray;function a(e,t,n){return(!n&&e.spaces?"\n":"")+Array(t+1).join(e.spaces)}function l(e,t,n){if(t.ignoreAttributes)return"";"attributesFn"in t&&(e=t.attributesFn(e,r,i));var o,s,l,c,u=[];for(o in e)e.hasOwnProperty(o)&&null!==e[o]&&void 0!==e[o]&&(c=t.noQuotesForNativeAttributes&&"string"!=typeof e[o]?"":'"',s=(s=""+e[o]).replace(/"/g,"""),l="attributeNameFn"in t?t.attributeNameFn(o,s,r,i):o,u.push(t.spaces&&t.indentAttributes?a(t,n+1,!1):" "),u.push(l+"="+c+("attributeValueFn"in t?t.attributeValueFn(s,o,r,i):s)+c));return e&&Object.keys(e).length&&t.spaces&&t.indentAttributes&&u.push(a(t,n,!1)),u.join("")}function c(e,t,n){return i=e,r="xml",t.ignoreDeclaration?"":"<?xml"+l(e[t.attributesKey],t,n)+"?>"}function u(e,t,n){if(t.ignoreInstruction)return"";for(o in e)if(e.hasOwnProperty(o))break;var o,s="instructionNameFn"in t?t.instructionNameFn(o,e[o],r,i):o;if("object"==typeof e[o])return i=e,r=s,"<?"+s+l(e[o][t.attributesKey],t,n)+"?>";var a=e[o]?e[o]:"";return"instructionFn"in t&&(a=t.instructionFn(a,o,r,i)),"<?"+s+(a?" "+a:"")+"?>"}function h(e,t){return t.ignoreComment?"":"\x3c!--"+("commentFn"in t?t.commentFn(e,r,i):e)+"--\x3e"}function d(e,t){return t.ignoreCdata?"":"<![CDATA["+("cdataFn"in t?t.cdataFn(e,r,i):e.replace("]]>","]]]]><![CDATA[>"))+"]]>"}function p(e,t){return t.ignoreDoctype?"":"<!DOCTYPE "+("doctypeFn"in t?t.doctypeFn(e,r,i):e)+">"}function f(e,t){return t.ignoreText?"":(e=(e=(e=""+e).replace(/&/g,"&")).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),"textFn"in t?t.textFn(e,r,i):e)}function m(e,t,n,o){return e.reduce(function(e,s){var c,g,v,y,b,w,_=a(t,n,o&&!e);switch(s.type){case"element":;return e+_+(c=s,g=t,v=n,i=c,r=c.name,y=[],b="elementNameFn"in g?g.elementNameFn(c.name,c):c.name,y.push("<"+b),c[g.attributesKey]&&y.push(l(c[g.attributesKey],g,v)),!(w=c[g.elementsKey]&&c[g.elementsKey].length||c[g.attributesKey]&&"preserve"===c[g.attributesKey]["xml:space"])&&(w="fullTagEmptyElementFn"in g?g.fullTagEmptyElementFn(c.name,c):g.fullTagEmptyElement),w?(y.push(">"),c[g.elementsKey]&&c[g.elementsKey].length&&(y.push(m(c[g.elementsKey],g,v+1)),i=c,r=c.name),y.push(g.spaces&&function(e,t){var n;if(e.elements&&e.elements.length)for(n=0;n<e.elements.length;++n)switch(e.elements[n][t.typeKey]){case"text":if(t.indentText)return!0;break;case"cdata":if(t.indentCdata)return!0;break;case"instruction":if(t.indentInstruction)return!0;break;default:return!0}return!1}(c,g)?"\n"+Array(v+1).join(g.spaces):""),y.push("</"+b+">")):y.push("/>"),y.join(""));case"comment":return e+_+h(s[t.commentKey],t);case"doctype":return e+_+p(s[t.doctypeKey],t);case"cdata":return e+(t.indentCdata?_:"")+d(s[t.cdataKey],t);case"text":return e+(t.indentText?_:"")+f(s[t.textKey],t);case"instruction":var E={};return E[s[t.nameKey]]=s[t.attributesKey]?s:s[t.instructionKey],e+(t.indentInstruction?_:"")+u(E,t,n)}},"")}function g(e,t,n){var i;for(i in e)if(e.hasOwnProperty(i))switch(i){case t.parentKey:case t.attributesKey:break;case t.textKey:if(t.indentText||n)return!0;break;case t.cdataKey:if(t.indentCdata||n)return!0;break;case t.instructionKey:if(t.indentInstruction||n)return!0;break;case t.doctypeKey:case t.commentKey:default:return!0}return!1}function v(e,t,n,o){var m,y,b,w=[];for(y in e)if(e.hasOwnProperty(y))for(m=0,b=s(e[y])?e[y]:[e[y]];m<b.length;++m){switch(y){case t.declarationKey:w.push(c(b[m],t,n));break;case t.instructionKey:w.push((t.indentInstruction?a(t,n,o):"")+u(b[m],t,n));break;case t.attributesKey:case t.parentKey:break;case t.textKey:w.push((t.indentText?a(t,n,o):"")+f(b[m],t));break;case t.cdataKey:w.push((t.indentCdata?a(t,n,o):"")+d(b[m],t));break;case t.doctypeKey:w.push(a(t,n,o)+p(b[m],t));break;case t.commentKey:w.push(a(t,n,o)+h(b[m],t));break;default:w.push(a(t,n,o)+function(e,t,n,o,s){i=e,r=t;var c="elementNameFn"in n?n.elementNameFn(t,e):t;if(null==e||""===e)return"fullTagEmptyElementFn"in n&&n.fullTagEmptyElementFn(t,e)||n.fullTagEmptyElement?"<"+c+"></"+c+">":"<"+c+"/>";var u=[];if(t){if(u.push("<"+c),"object"!=typeof e)return u.push(">"+f(e,n)+"</"+c+">"),u.join("");e[n.attributesKey]&&u.push(l(e[n.attributesKey],n,o));var h=g(e,n,!0)||e[n.attributesKey]&&"preserve"===e[n.attributesKey]["xml:space"];if(!h&&(h="fullTagEmptyElementFn"in n?n.fullTagEmptyElementFn(t,e):n.fullTagEmptyElement),!h)return u.push("/>"),u.join("");u.push(">")}return u.push(v(e,n,o+1,!1)),i=e,r=t,t&&u.push((s?a(n,o,!1):"")+"</"+c+">"),u.join("")}(b[m],y,t,n,g(b[m],t)))}o=o&&!w.length}return w.join("")}e.exports=function(e,t){n=t,s=o.copyOptions(n),o.ensureFlagExists("ignoreDeclaration",s),o.ensureFlagExists("ignoreInstruction",s),o.ensureFlagExists("ignoreAttributes",s),o.ensureFlagExists("ignoreText",s),o.ensureFlagExists("ignoreComment",s),o.ensureFlagExists("ignoreCdata",s),o.ensureFlagExists("ignoreDoctype",s),o.ensureFlagExists("compact",s),o.ensureFlagExists("indentText",s),o.ensureFlagExists("indentCdata",s),o.ensureFlagExists("indentAttributes",s),o.ensureFlagExists("indentInstruction",s),o.ensureFlagExists("fullTagEmptyElement",s),o.ensureFlagExists("noQuotesForNativeAttributes",s),o.ensureSpacesExists(s),"number"==typeof s.spaces&&(s.spaces=Array(s.spaces+1).join(" ")),o.ensureKeyExists("declaration",s),o.ensureKeyExists("instruction",s),o.ensureKeyExists("attributes",s),o.ensureKeyExists("text",s),o.ensureKeyExists("comment",s),o.ensureKeyExists("cdata",s),o.ensureKeyExists("doctype",s),o.ensureKeyExists("type",s),o.ensureKeyExists("name",s),o.ensureKeyExists("elements",s),o.checkFnExists("doctype",s),o.checkFnExists("instruction",s),o.checkFnExists("cdata",s),o.checkFnExists("comment",s),o.checkFnExists("text",s),o.checkFnExists("instructionName",s),o.checkFnExists("elementName",s),o.checkFnExists("attributeName",s),o.checkFnExists("attributeValue",s),o.checkFnExists("attributes",s),o.checkFnExists("fullTagEmptyElement",s),t=s;var n,s,a=[];return i=e,r="_root_",t.compact?a.push(v(e,t,0,!0)):(e[t.declarationKey]&&a.push(c(e[t.declarationKey],t,0)),e[t.elementsKey]&&e[t.elementsKey].length&&a.push(m(e[t.elementsKey],t,0,!a.length))),a.join("")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(160);class o extends i.XmlComponent{constructor(e,t={color:"auto",space:1,value:"single",size:6}){super(e);let n=new r.BorderAttributes({color:t.color,space:t.space,val:t.value,sz:t.size});this.root.push(n)}}class s extends i.XmlComponent{constructor(e){if(super("w:pBdr"),void 0!==e.top){let t=new o("w:top",e.top);this.root.push(t)}if(void 0!==e.bottom){let t=new o("w:bottom",e.bottom);this.root.push(t)}if(void 0!==e.left){let t=new o("w:left",e.left);this.root.push(t)}if(void 0!==e.right){let t=new o("w:right",e.right);this.root.push(t)}}}t.Border=s;class a extends i.XmlComponent{constructor(){super("w:pBdr");let e=new o("w:bottom",{color:"auto",space:1,value:"single",size:6});this.root.push(e)}}t.ThematicBreak=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={left:"w:left",hanging:"w:hanging",firstLine:"w:firstLine",start:"w:start",end:"w:end",right:"w:end"}}}class o extends i.XmlComponent{constructor(e){super("w:ind"),this.root.push(new r(e))}}t.Indent=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:keepLines")}}t.KeepLines=r;class o extends i.XmlComponent{constructor(){super("w:keepNext")}}t.KeepNext=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(3);class o extends i.XmlComponent{constructor(){super("w:br"),this.root.push(new i.Attributes({type:"page"}))}}class s extends r.Run{constructor(){super({}),this.root.push(new o)}}t.PageBreak=s;class a extends i.XmlComponent{constructor(){super("w:pageBreakBefore")}}t.PageBreakBefore=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:br")}}t.Break=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);var r=n(19);t.Underline=r.Underline;var o=n(33);t.EmphasisMark=o.EmphasisMark;var s=n(69);t.SubScript=s.SubScript,t.SuperScript=s.SuperScript;var a=n(34);t.RunFonts=a.RunFonts;class l extends i.XmlComponent{constructor(){super("w:b"),this.root.push(new i.Attributes({val:!0}))}}t.Bold=l;class c extends i.XmlComponent{constructor(){super("w:bCs"),this.root.push(new i.Attributes({val:!0}))}}t.BoldComplexScript=c;class u extends i.XmlComponent{constructor(e){super("w:spacing"),this.root.push(new i.Attributes({val:e}))}}t.CharacterSpacing=u;class h extends i.XmlComponent{constructor(){super("w:i"),this.root.push(new i.Attributes({val:!0}))}}t.Italics=h;class d extends i.XmlComponent{constructor(){super("w:iCs"),this.root.push(new i.Attributes({val:!0}))}}t.ItalicsComplexScript=d;class p extends i.XmlComponent{constructor(){super("w:caps"),this.root.push(new i.Attributes({val:!0}))}}t.Caps=p;class f extends i.XmlComponent{constructor(e){super("w:color"),this.root.push(new i.Attributes({val:e}))}}t.Color=f;class m extends i.XmlComponent{constructor(){super("w:dstrike"),this.root.push(new i.Attributes({val:!0}))}}t.DoubleStrike=m;class g extends i.XmlComponent{constructor(){super("w:emboss"),this.root.push(new i.Attributes({val:!0}))}}t.Emboss=g;class v extends i.XmlComponent{constructor(){super("w:imprint"),this.root.push(new i.Attributes({val:!0}))}}t.Imprint=v;class y extends i.XmlComponent{constructor(){super("w:smallCaps"),this.root.push(new i.Attributes({val:!0}))}}t.SmallCaps=y;class b extends i.XmlComponent{constructor(){super("w:strike"),this.root.push(new i.Attributes({val:!0}))}}t.Strike=b;class w extends i.XmlComponent{constructor(e){super("w:sz"),this.root.push(new i.Attributes({val:e}))}}t.Size=w;class _ extends i.XmlComponent{constructor(e){super("w:szCs"),this.root.push(new i.Attributes({val:e}))}}t.SizeComplexScript=_;class E extends i.XmlComponent{constructor(){super("w:rtl"),this.root.push(new i.Attributes({val:!0}))}}t.RightToLeft=E;class x extends i.XmlComponent{constructor(e){super("w:highlight"),this.root.push(new i.Attributes({val:e}))}}t.Highlight=x;class k extends i.XmlComponent{constructor(e){super("w:highlightCs"),this.root.push(new i.Attributes({val:e}))}}t.HighlightComplexScript=k;class T extends i.XmlComponent{constructor(e,t,n){super("w:shd"),this.root.push(new i.Attributes({val:e,fill:t,color:n}))}}t.Shading=T;class O extends i.XmlComponent{constructor(e,t,n){super("w:shdCs"),this.root.push(new i.Attributes({val:e,fill:t,color:n}))}}t.ShadowComplexScript=O},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){super("w:vertAlign"),this.root.push(new i.Attributes({val:e}))}}t.VerticalAlign=r;t.SuperScript=class e extends r{constructor(){super("superscript")}};t.SubScript=class e extends r{constructor(){super("subscript")}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}class o extends i.XmlComponent{constructor(e){super("w:rStyle"),this.root.push(new r({val:e}))}}t.Style=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(8),r=n(0);class o extends r.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={space:"xml:space"}}}class s extends r.XmlComponent{constructor(e){super("w:t"),this.root.push(new o({space:i.SpaceType.PRESERVE})),this.root.push(e)}}t.Text=s},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(166)),i(n(36)),i(n(73))},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(35)),i(n(169)),i(n(170)),i(n(171))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){super("wp:align"),this.root.push(e)}}t.Align=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){super("wp:posOffset"),this.root.push(e.toString())}}t.PositionOffset=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(172))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(205);class o extends i.XmlComponent{constructor(){super("wp:docPr"),this.root.push(new r.DocPropertiesAttributes({id:0,name:"",descr:""}))}}t.DocProperties=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(206);class o extends i.XmlComponent{constructor(){super("wp:effectExtent"),this.root.push(new r.EffectExtentAttributes({b:0,l:0,r:0,t:0}))}}t.EffectExtent=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(207);class o extends i.XmlComponent{constructor(e,t){super("wp:extent"),this.attributes=new r.ExtentAttributes({cx:e,cy:t}),this.root.push(this.attributes)}setXY(e,t){this.attributes.set({cx:e,cy:t})}}t.Extent=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(208);class o extends i.XmlComponent{constructor(){super("wp:cNvGraphicFramePr"),this.root.push(new r.GraphicFrameLocks)}}t.GraphicFrameProperties=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={distT:"distT",distB:"distB",distL:"distL",distR:"distR",allowOverlap:"allowOverlap",behindDoc:"behindDoc",layoutInCell:"layoutInCell",locked:"locked",relativeHeight:"relativeHeight",simplePos:"simplePos"}}}t.AnchorAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={after:"w:after",before:"w:before",line:"w:line",lineRule:"w:lineRule"}}}class o extends i.XmlComponent{constructor(e){super("w:spacing"),this.root.push(new r(e))}}t.Spacing=o;class s extends i.XmlComponent{constructor(e){super("w:contextualSpacing"),this.root.push(new i.Attributes({val:!1===e?0:1}))}}t.ContextualSpacing=s},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=t.HeadingLevel||(t.HeadingLevel={})).HEADING_1="Heading1",r.HEADING_2="Heading2",r.HEADING_3="Heading3",r.HEADING_4="Heading4",r.HEADING_5="Heading5",r.HEADING_6="Heading6",r.TITLE="Title";class s extends o.XmlComponent{constructor(e){super("w:pStyle"),this.root.push(new o.Attributes({val:e}))}}t.Style=s},function(e,t,n){"use strict";var i,r,o,s,a,l;Object.defineProperty(t,"__esModule",{value:!0});let c=n(0);class u extends c.XmlComponent{constructor(e,t,n){super("w:tabs"),this.root.push(new d(e,t,n))}}t.TabStop=u,(s=t.TabStopType||(t.TabStopType={})).LEFT="left",s.RIGHT="right",s.CENTER="center",s.BAR="bar",s.CLEAR="clear",s.DECIMAL="decimal",s.END="end",s.NUM="num",s.START="start",(a=t.LeaderType||(t.LeaderType={})).DOT="dot",a.HYPHEN="hyphen",a.MIDDLE_DOT="middleDot",a.NONE="none",a.UNDERSCORE="underscore",(l=t.TabStopPosition||(t.TabStopPosition={}))[l.MAX=9026]="MAX";class h extends c.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val",pos:"w:pos",leader:"w:leader"}}}t.TabAttributes=h;class d extends c.XmlComponent{constructor(e,t,n){super("w:tab"),this.root.push(new h({val:e,pos:t,leader:n}))}}t.TabStopItem=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e,t){super("w:numPr"),this.root.push(new o(t)),this.root.push(new s(e))}}t.NumberProperties=r;class o extends i.XmlComponent{constructor(e){super("w:ilvl"),this.root.push(new i.Attributes({val:e}))}}class s extends i.XmlComponent{constructor(e){super("w:numId"),this.root.push(new i.Attributes({val:"string"==typeof e?`{${e}}`:e}))}}},function(e,t,n){"use strict";e.exports=n(220)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){for(let t of(super("m:den"),e))this.root.push(t)}}t.MathDenominator=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){for(let t of(super("m:num"),e))this.root.push(t)}}t.MathNumerator=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={accent:"m:val"}}}class o extends i.XmlComponent{constructor(e){super("m:chr"),this.root.push(new r({accent:e}))}}t.MathAccentCharacter=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){for(let t of(super("m:e"),e))this.root.push(t)}}t.MathBase=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={value:"m:val"}}}class o extends i.XmlComponent{constructor(){super("m:limLoc"),this.root.push(new r({value:"undOvr"}))}}t.MathLimitLocation=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(89),o=n(91),s=n(237),a=n(238);class l extends i.XmlComponent{constructor(e,t,n){super("m:naryPr"),this.root.push(new r.MathAccentCharacter(e)),this.root.push(new o.MathLimitLocation),!t&&this.root.push(new a.MathSuperScriptHide),!n&&this.root.push(new s.MathSubScriptHide)}}t.MathNArayProperties=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){for(let t of(super("m:sub"),e))this.root.push(t)}}t.MathSubScriptElement=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){for(let t of(super("m:sup"),e))this.root.push(t)}}t.MathSuperScriptElement=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("m:sSupPr")}}t.MathSuperScriptProperties=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("m:sSubPr")}}t.MathSubScriptProperties=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("m:sSubSupPr")}}t.MathSubSuperScriptProperties=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("m:sPrePr")}}t.MathPreSubSuperScriptProperties=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){if(super("m:deg"),e)for(let t of e)this.root.push(t)}}t.MathDegree=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(252);class o extends i.XmlComponent{constructor(e){super("m:radPr"),!e&&this.root.push(new r.MathDegreeHide)}}t.MathRadicalProperties=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){for(let t of(super("m:fName"),e))this.root.push(t)}}t.MathFunctionName=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("m:funcPr")}}t.MathFunctionProperties=r},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(270)),i(n(109)),i(n(111)),i(n(104)),i(n(110))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(23),r=n(0);class o extends r.XmlComponent{constructor(e){super("w:tblBorders"),e.top?this.root.push(new s("w:top",e.top.style,e.top.size,0,e.top.color)):this.root.push(new s("w:top",i.BorderStyle.SINGLE,4,0,"auto")),e.left?this.root.push(new s("w:left",e.left.style,e.left.size,0,e.left.color)):this.root.push(new s("w:left",i.BorderStyle.SINGLE,4,0,"auto")),e.bottom?this.root.push(new s("w:bottom",e.bottom.style,e.bottom.size,0,e.bottom.color)):this.root.push(new s("w:bottom",i.BorderStyle.SINGLE,4,0,"auto")),e.right?this.root.push(new s("w:right",e.right.style,e.right.size,0,e.right.color)):this.root.push(new s("w:right",i.BorderStyle.SINGLE,4,0,"auto")),e.insideHorizontal?this.root.push(new s("w:insideH",e.insideHorizontal.style,e.insideHorizontal.size,0,e.insideHorizontal.color)):this.root.push(new s("w:insideH",i.BorderStyle.SINGLE,4,0,"auto")),e.insideVertical?this.root.push(new s("w:insideV",e.insideVertical.style,e.insideVertical.size,0,e.insideVertical.color)):this.root.push(new s("w:insideV",i.BorderStyle.SINGLE,4,0,"auto"))}}o.NONE={top:{style:i.BorderStyle.NONE,size:0,color:"auto"},bottom:{style:i.BorderStyle.NONE,size:0,color:"auto"},left:{style:i.BorderStyle.NONE,size:0,color:"auto"},right:{style:i.BorderStyle.NONE,size:0,color:"auto"},insideHorizontal:{style:i.BorderStyle.NONE,size:0,color:"auto"},insideVertical:{style:i.BorderStyle.NONE,size:0,color:"auto"}},t.TableBorders=o;class s extends r.XmlComponent{constructor(e,t,n,i,r){super(e),this.root.push(new a({value:t,size:n,space:i,color:r}))}}class a extends r.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={value:"w:val",size:"w:sz",space:"w:space",color:"w:color"}}}},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(40)),i(n(42)),i(n(43)),i(n(272))},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(107)),i(n(108)),i(n(275))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(21),r=n(0);class o extends r.XmlComponent{constructor(e){super("w:pPrDefault"),this.root.push(new i.ParagraphProperties(e))}}t.ParagraphPropertiesDefaults=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(9),r=n(0);class o extends r.XmlComponent{constructor(e){super("w:rPrDefault"),this.properties=new i.RunProperties(e),this.root.push(this.properties)}}t.RunPropertiesDefaults=o},function(e,t,n){"use strict";var i,r,o,s,a,l;Object.defineProperty(t,"__esModule",{value:!0});let c=n(0),u=n(110);(s=t.TableAnchorType||(t.TableAnchorType={})).MARGIN="margin",s.PAGE="page",s.TEXT="text",(a=t.RelativeHorizontalPosition||(t.RelativeHorizontalPosition={})).CENTER="center",a.INSIDE="inside",a.LEFT="left",a.OUTSIDE="outside",a.RIGHT="right",(l=t.RelativeVerticalPosition||(t.RelativeVerticalPosition={})).CENTER="center",l.INSIDE="inside",l.BOTTOM="bottom",l.OUTSIDE="outside",l.INLINE="inline",l.TOP="top";class h extends c.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={horizontalAnchor:"w:horzAnchor",verticalAnchor:"w:vertAnchor",absoluteHorizontalPosition:"w:tblpX",relativeHorizontalPosition:"w:tblpXSpec",absoluteVerticalPosition:"w:tblpY",relativeVerticalPosition:"w:tblpYSpec",bottomFromText:"w:bottomFromText",topFromText:"w:topFromText",leftFromText:"w:leftFromText",rightFromText:"w:rightFromText"}}}t.TableFloatOptionsAttributes=h;class d extends c.XmlComponent{constructor(e){super("w:tblpPr"),this.root.push(new h(e)),e.overlap&&this.root.push(new u.TableOverlap(e.overlap))}}t.TableFloatProperties=d},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=t.OverlapType||(t.OverlapType={})).NEVER="never",r.OVERLAP="overlap";class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}class a extends o.XmlComponent{constructor(e){super("w:tblOverlap"),this.root.push(new s({val:e}))}}t.TableOverlap=a},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=t.TableLayoutType||(t.TableLayoutType={})).AUTOFIT="autofit",r.FIXED="fixed";class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={type:"w:type"}}}class a extends o.XmlComponent{constructor(e){super("w:tblLayout"),this.root.push(new s({type:e}))}}t.TableLayout=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(113);class o extends i.IgnoreIfEmptyXmlComponent{constructor(){super("w:trPr")}setCantSplit(){return this.root.push(new a),this}setTableHeader(){return this.root.push(new c),this}setHeight(e,t){return this.root.push(new r.TableRowHeight(e,t)),this}}t.TableRowProperties=o;class s extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}class a extends i.XmlComponent{constructor(){super("w:cantSplit"),this.root.push(new s({val:!0}))}}t.CantSplit=a;class l extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}class c extends i.XmlComponent{constructor(){super("w:tblHeader"),this.root.push(new l({val:!0}))}}t.TableHeader=c},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=t.HeightRule||(t.HeightRule={})).AUTO="auto",r.ATLEAST="atLeast",r.EXACT="exact";class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={height:"w:val",rule:"w:hRule"}}}t.TableRowHeightAttributes=s;class a extends o.XmlComponent{constructor(e,t){super("w:trHeight"),this.root.push(new s({height:e,rule:t}))}}t.TableRowHeight=a},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(292)),i(n(11)),i(n(115)),i(n(130))},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(293)),i(n(129))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(44),r=n(0),o=n(294),s=n(296),a=n(117),l=n(118),c=n(120),u=n(121),h=n(123),d=n(124),p=n(300),f=n(125),m=n(126),g=n(45),v=n(303),y=n(127);class b extends r.XmlComponent{constructor(e={column:{}}){super("w:sectPr");let{width:t=11906,height:n=16838,top:r=i.convertInchesToTwip(1),right:a=i.convertInchesToTwip(1),bottom:l=i.convertInchesToTwip(1),left:c=i.convertInchesToTwip(1),header:u=708,footer:b=708,gutter:w=0,mirror:_=!1,column:E={},linePitch:x=360,orientation:k=g.PageOrientation.PORTRAIT,headers:T,footers:O,pageNumberFormatType:C,pageNumberStart:A,lineNumberCountBy:S,lineNumberStart:N,lineNumberRestart:I,lineNumberDistance:L,pageBorders:R,pageBorderTop:P,pageBorderRight:D,pageBorderBottom:j,pageBorderLeft:B,titlePage:F=!1,verticalAlign:q}=e;this.options=e,this.root.push(new m.PageSize(t,n,k)),this.root.push(new p.PageMargin(r,a,l,c,u,b,w,_)),this.root.push(new o.Columns(E.space?E.space:708,E.count?E.count:1)),this.root.push(new s.DocumentGrid(x)),this.addHeaders(T),this.addFooters(O),(A||C)&&this.root.push(new f.PageNumberType(A,C)),(S||N||I||L)&&this.root.push(new h.LineNumberType(S,N,I,L)),(R||P||D||j||B)&&this.root.push(new d.PageBorders({pageBorders:R,pageBorderTop:P,pageBorderRight:D,pageBorderBottom:j,pageBorderLeft:B})),F&&this.root.push(new v.TitlePage),q&&this.root.push(new y.SectionVerticalAlign(q))}addHeaders(e){e&&(e.default&&this.root.push(new u.HeaderReference({headerType:c.HeaderReferenceType.DEFAULT,headerId:e.default.Header.ReferenceId})),e.first&&this.root.push(new u.HeaderReference({headerType:c.HeaderReferenceType.FIRST,headerId:e.first.Header.ReferenceId})),e.even&&this.root.push(new u.HeaderReference({headerType:c.HeaderReferenceType.EVEN,headerId:e.even.Header.ReferenceId})))}addFooters(e){e&&(e.default&&this.root.push(new l.FooterReference({footerType:a.FooterReferenceType.DEFAULT,footerId:e.default.Footer.ReferenceId})),e.first&&this.root.push(new l.FooterReference({footerType:a.FooterReferenceType.FIRST,footerId:e.first.Footer.ReferenceId})),e.even&&this.root.push(new l.FooterReference({footerType:a.FooterReferenceType.EVEN,footerId:e.even.Footer.ReferenceId})))}get Options(){return this.options}}t.SectionProperties=b},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(118)),i(n(119))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(119);class o extends i.XmlComponent{constructor(e){super("w:footerReference"),this.root.push(new r.FooterReferenceAttributes({type:e.footerType||r.FooterReferenceType.DEFAULT,id:`rId${e.footerId}`}))}}t.FooterReference=o},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=t.FooterReferenceType||(t.FooterReferenceType={})).DEFAULT="default",r.FIRST="first",r.EVEN="even";class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={type:"w:type",id:"r:id"}}}t.FooterReferenceAttributes=s},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(121)),i(n(122))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(122);class o extends i.XmlComponent{constructor(e){super("w:headerReference"),this.root.push(new r.HeaderReferenceAttributes({type:e.headerType||r.HeaderReferenceType.DEFAULT,id:`rId${e.headerId}`}))}}t.HeaderReference=o},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=t.HeaderReferenceType||(t.HeaderReferenceType={})).DEFAULT="default",r.FIRST="first",r.EVEN="even";class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={type:"w:type",id:"r:id"}}}t.HeaderReferenceAttributes=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(298))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(299))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(302))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(45);class o extends i.XmlComponent{constructor(e,t,n){super("w:pgSz");let i=n===r.PageOrientation.LANDSCAPE;this.root.push(new r.PageSizeAttributes({width:i?t:e,height:i?e:t,orientation:n}))}}t.PageSize=o},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(305)),i(n(128))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={verticalAlign:"w:val"}}}t.SectionVerticalAlignAttributes=r},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(116)),i(n(117)),i(n(120)),i(n(306)),i(n(125)),i(n(124)),i(n(123)),i(n(127))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(307))},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(313)),i(n(323))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.Header=class e{constructor(e={children:[]}){this.options=e}};t.Footer=class e{constructor(e={children:[]}){this.options=e}}},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(330)),i(n(134)),i(n(24)),i(n(135))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(24),o=n(331);class s extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={abstractNumId:"w:abstractNumId",restartNumberingAfterBreak:"w15:restartNumberingAfterBreak"}}}class a extends i.XmlComponent{constructor(e,t){for(let n of(super("w:abstractNum"),this.root.push(new s({abstractNumId:e,restartNumberingAfterBreak:0})),this.root.push(new o.MultiLevelType("hybridMultilevel")),this.id=e,t))this.root.push(new r.Level(n))}}t.AbstractNumbering=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(24);class o extends i.XmlComponent{constructor(e){super("w:abstractNumId"),this.root.push(new i.Attributes({val:e}))}}class s extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={numId:"w:numId"}}}class a extends i.XmlComponent{constructor(e,t,n){super("w:num"),this.reference=n,this.root.push(new s({numId:e})),this.root.push(new o(t)),this.id=e}overrideLevel(e,t){let n=new c(e,t);return this.root.push(n),n}}t.ConcreteNumbering=a;class l extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={ilvl:"w:ilvl"}}}class c extends i.XmlComponent{constructor(e,t){super("w:lvlOverride"),this.levelNum=e,this.root.push(new l({ilvl:e})),void 0!==t&&this.root.push(new h(t)),this.lvl=new r.LevelForOverride({level:this.levelNum}),this.root.push(this.lvl)}get Level(){return this.lvl}}t.LevelOverride=c;class u extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}class h extends i.XmlComponent{constructor(e){super("w:startOverride"),this.root.push(new u({val:e}))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={enabled:"w:val"}}}t.UpdateFieldsAttributes=r;class o extends i.XmlComponent{constructor(e=!0){super("w:updateFields"),this.root.push(new r({enabled:e}))}}t.UpdateFields=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={id:"w:id",author:"w:author",date:"w:date"}}}t.ChangeAttributes=r},function(e,t,n){(function(t,n,i){var r,o;o=function(){return(function e(t,n,i){function o(a,l){if(!n[a]){if(!t[a]){if(!l&&"function"==typeof r&&r)return r(a,!0);if(s)return s(a,!0);var c=Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[a]={exports:{}};t[a][0].call(u.exports,function(e){return o(t[a][1][e]||e)},u,u.exports,e,t,n,i)}return n[a].exports}for(var s="function"==typeof r&&r,a=0;a<i.length;a++)o(i[a]);return o})({1:[function(e,t,n){"use strict";var i=e("./utils"),r=e("./support"),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.encode=function(e){for(var t,n,r,s,a,l,c,u=[],h=0,d=e.length,p=d,f="string"!==i.getTypeOf(e);h<e.length;)p=d-h,r=f?(t=e[h++],n=h<d?e[h++]:0,h<d?e[h++]:0):(t=e.charCodeAt(h++),n=h<d?e.charCodeAt(h++):0,h<d?e.charCodeAt(h++):0),s=t>>2,a=(3&t)<<4|n>>4,l=1<p?(15&n)<<2|r>>6:64,c=2<p?63&r:64,u.push(o.charAt(s)+o.charAt(a)+o.charAt(l)+o.charAt(c));return u.join("")},n.decode=function(e){var t,n,i,s,a,l,c=0,u=0,h="data:";if(e.substr(0,h.length)===h)throw Error("Invalid base64 input, it looks like a data url.");var d,p=3*(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"")).length/4;if(e.charAt(e.length-1)===o.charAt(64)&&p--,e.charAt(e.length-2)===o.charAt(64)&&p--,p%1!=0)throw Error("Invalid base64 input, bad content length.");for(d=r.uint8array?new Uint8Array(0|p):Array(0|p);c<e.length;)t=o.indexOf(e.charAt(c++))<<2|(s=o.indexOf(e.charAt(c++)))>>4,n=(15&s)<<4|(a=o.indexOf(e.charAt(c++)))>>2,i=(3&a)<<6|(l=o.indexOf(e.charAt(c++))),d[u++]=t,64!==a&&(d[u++]=n),64!==l&&(d[u++]=i);return d}},{"./support":30,"./utils":32}],2:[function(e,t,n){"use strict";var i=e("./external"),r=e("./stream/DataWorker"),o=e("./stream/DataLengthProbe"),s=e("./stream/Crc32Probe");function a(e,t,n,i,r){this.compressedSize=e,this.uncompressedSize=t,this.crc32=n,this.compression=i,this.compressedContent=r}o=e("./stream/DataLengthProbe"),a.prototype={getContentWorker:function(){var e=new r(i.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new o("data_length")),t=this;return e.on("end",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw Error("Bug : uncompressed data size mismatch")}),e},getCompressedWorker:function(){return new r(i.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},a.createWorkerFrom=function(e,t,n){return e.pipe(new s).pipe(new o("uncompressedSize")).pipe(t.compressWorker(n)).pipe(new o("compressedSize")).withStreamInfo("compression",t)},t.exports=a},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,n){"use strict";var i=e("./stream/GenericWorker");n.STORE={magic:"\0\0",compressWorker:function(e){return new i("STORE compression")},uncompressWorker:function(){return new i("STORE decompression")}},n.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,n){"use strict";var i=e("./utils"),r=function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var i=0;i<8;i++)e=1&e?0xedb88320^e>>>1:e>>>1;t[n]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?"string"!==i.getTypeOf(e)?function(e,t,n,i){var o=0+n;e^=-1;for(var s=i;s<o;s++)e=e>>>8^r[255&(e^t[s])];return -1^e}(0|t,e,e.length,0):function(e,t,n,i){var o=0+n;e^=-1;for(var s=i;s<o;s++)e=e>>>8^r[255&(e^t.charCodeAt(s))];return -1^e}(0|t,e,e.length,0):0}},{"./utils":32}],5:[function(e,t,n){"use strict";n.base64=!1,n.binary=!1,n.dir=!1,n.createFolders=!0,n.date=null,n.compression=null,n.compressionOptions=null,n.comment=null,n.unixPermissions=null,n.dosPermissions=null},{}],6:[function(e,t,n){"use strict";var i=null;i="undefined"!=typeof Promise?Promise:e("lie"),t.exports={Promise:i}},{lie:37}],7:[function(e,t,n){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,r=e("pako"),o=e("./utils"),s=e("./stream/GenericWorker"),a=i?"uint8array":"array";function l(e,t){s.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}n.magic="\b\0",o.inherits(l,s),l.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(o.transformTo(a,e.data),!1)},l.prototype.flush=function(){s.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},l.prototype.cleanUp=function(){s.prototype.cleanUp.call(this),this._pako=null},l.prototype._createPako=function(){this._pako=new r[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},n.compressWorker=function(e){return new l("Deflate",e)},n.uncompressWorker=function(){return new l("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,n){"use strict";function i(e,t){var n,i="";for(n=0;n<t;n++)i+=String.fromCharCode(255&e),e>>>=8;return i}function r(e,t,n,r,s,u){var h,d,p,f,m,g=e.file,v=e.compression,y=u!==a.utf8encode,b=o.transformTo("string",u(g.name)),w=o.transformTo("string",a.utf8encode(g.name)),_=g.comment,E=o.transformTo("string",u(_)),x=o.transformTo("string",a.utf8encode(_)),k=w.length!==g.name.length,T=x.length!==_.length,O="",C="",A="",S=g.dir,N=g.date,I={crc32:0,compressedSize:0,uncompressedSize:0};t&&!n||(I.crc32=e.crc32,I.compressedSize=e.compressedSize,I.uncompressedSize=e.uncompressedSize);var L=0;t&&(L|=8),!y&&(k||T)&&(L|=2048);var R=0,P=0;S&&(R|=16),"UNIX"===s?(P=798,R|=(h=g.unixPermissions,d=S,p=h,h||(p=d?16893:33204),(65535&p)<<16)):(P=20,R|=63&(g.dosPermissions||0)),f=(N.getUTCHours()<<6|N.getUTCMinutes())<<5|N.getUTCSeconds()/2,m=(N.getUTCFullYear()-1980<<4|N.getUTCMonth()+1)<<5|N.getUTCDate(),k&&(C=i(1,1)+i(l(b),4)+w,O+="up"+i(C.length,2)+C),T&&(A=i(1,1)+i(l(E),4)+x,O+="uc"+i(A.length,2)+A);var D="";return D+="\n\0",D+=i(L,2),D+=v.magic,D+=i(f,2),D+=i(m,2),D+=i(I.crc32,4),D+=i(I.compressedSize,4),D+=i(I.uncompressedSize,4),D+=i(b.length,2),D+=i(O.length,2),{fileRecord:c.LOCAL_FILE_HEADER+D+b+O,dirRecord:c.CENTRAL_FILE_HEADER+i(P,2)+D+i(E.length,2)+"\0\0\0\0"+i(R,4)+i(r,4)+b+O+E}}var o=e("../utils"),s=e("../stream/GenericWorker"),a=e("../utf8"),l=e("../crc32"),c=e("../signature");function u(e,t,n,i){s.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=n,this.encodeFileName=i,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}o.inherits(u,s),u.prototype.push=function(e){var t=e.meta.percent||0,n=this.entriesCount,i=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,s.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:n?(t+100*(n-i-1))/n:100}}))},u.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var n=r(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:n.fileRecord,meta:{percent:0}})}else this.accumulate=!0},u.prototype.closedSource=function(e){this.accumulate=!1;var t,n=this.streamFiles&&!e.file.dir,o=r(e,n,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(o.dirRecord),n){;this.push({data:(t=e,c.DATA_DESCRIPTOR+i(t.crc32,4)+i(t.compressedSize,4)+i(t.uncompressedSize,4)),meta:{percent:100}})}else for(this.push({data:o.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},u.prototype.flush=function(){for(var e,t,n,r,s,a,l=this.bytesWritten,u=0;u<this.dirRecords.length;u++)this.push({data:this.dirRecords[u],meta:{percent:100}});var h=this.bytesWritten-l,d=(e=this.dirRecords.length,t=h,n=l,r=this.zipComment,s=this.encodeFileName,a=o.transformTo("string",s(r)),c.CENTRAL_DIRECTORY_END+"\0\0\0\0"+i(e,2)+i(e,2)+i(t,4)+i(n,4)+i(a.length,2)+a);this.push({data:d,meta:{percent:100}})},u.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},u.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()}),e.on("error",function(e){t.error(e)}),this},u.prototype.resume=function(){return!!s.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},u.prototype.error=function(e){var t=this._sources;if(!s.prototype.error.call(this,e))return!1;for(var n=0;n<t.length;n++)try{t[n].error(e)}catch(e){}return!0},u.prototype.lock=function(){s.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},t.exports=u},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,n){"use strict";var i=e("../compressions"),r=e("./ZipFileWorker");n.generateWorker=function(e,t,n){var o=new r(t.streamFiles,n,t.platform,t.encodeFileName),s=0;try{e.forEach(function(e,n){s++;var r=function(e,t){var n=e||t,r=i[n];if(!r)throw Error(n+" is not a valid compression method !");return r}(n.options.compression,t.compression),a=n.options.compressionOptions||t.compressionOptions||{},l=n.dir,c=n.date;n._compressWorker(r,a).withStreamInfo("file",{name:e,dir:l,date:c,comment:n.comment||"",unixPermissions:n.unixPermissions,dosPermissions:n.dosPermissions}).pipe(o)}),o.entriesCount=s}catch(e){o.error(e)}return o}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,n){"use strict";function i(){if(!(this instanceof i))return new i;if(arguments.length)throw Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files={},this.comment=null,this.root="",this.clone=function(){var e=new i;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e}}(i.prototype=e("./object")).loadAsync=e("./load"),i.support=e("./support"),i.defaults=e("./defaults"),i.version="3.5.0",i.loadAsync=function(e,t){return(new i).loadAsync(e,t)},i.external=e("./external"),t.exports=i},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(e,t,n){"use strict";var i=e("./utils"),r=e("./external"),o=e("./utf8"),s=(i=e("./utils"),e("./zipEntries")),a=e("./stream/Crc32Probe"),l=e("./nodejsUtils");t.exports=function(e,t){var n=this;return t=i.extend(t||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:o.utf8decode}),l.isNode&&l.isStream(e)?r.Promise.reject(Error("JSZip can't accept a stream when loading a zip file.")):i.prepareContent("the loaded zip file",e,!0,t.optimizedBinaryString,t.base64).then(function(e){var n=new s(t);return n.load(e),n}).then(function(e){var n=[r.Promise.resolve(e)],i=e.files;if(t.checkCRC32)for(var o=0;o<i.length;o++)n.push(function(e){return new r.Promise(function(t,n){var i=e.decompressed.getContentWorker().pipe(new a);i.on("error",function(e){n(e)}).on("end",function(){i.streamInfo.crc32!==e.decompressed.crc32?n(Error("Corrupted zip : CRC32 mismatch")):t()}).resume()})}(i[o]));return r.Promise.all(n)}).then(function(e){for(var i=e.shift(),r=i.files,o=0;o<r.length;o++){var s=r[o];n.file(s.fileNameStr,s.decompressed,{binary:!0,optimizedBinaryString:!0,date:s.date,dir:s.dir,comment:s.fileCommentStr.length?s.fileCommentStr:null,unixPermissions:s.unixPermissions,dosPermissions:s.dosPermissions,createFolders:t.createFolders})}return i.zipComment.length&&(n.comment=i.zipComment),n})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,n){"use strict";var i=e("../utils"),r=e("../stream/GenericWorker");function o(e,t){r.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t)}i.inherits(o,r),o.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on("data",function(e){t.push({data:e,meta:{percent:0}})}).on("error",function(e){t.isPaused?this.generatedError=e:t.error(e)}).on("end",function(){t.isPaused?t._upstreamEnded=!0:t.end()})},o.prototype.pause=function(){return!!r.prototype.pause.call(this)&&(this._stream.pause(),!0)},o.prototype.resume=function(){return!!r.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=o},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,n){"use strict";var i=e("readable-stream").Readable;function r(e,t,n){i.call(this,t),this._helper=e;var r=this;e.on("data",function(e,t){r.push(e)||r._helper.pause(),n&&n(t)}).on("error",function(e){r.emit("error",e)}).on("end",function(){r.push(null)})}e("../utils").inherits(r,i),r.prototype._read=function(){this._helper.resume()},t.exports=r},{"../utils":32,"readable-stream":16}],14:[function(e,n,i){"use strict";n.exports={isNode:void 0!==t,newBufferFrom:function(e,n){if(t.from&&t.from!==Uint8Array.from)return t.from(e,n);if("number"==typeof e)throw Error('The "data" argument must not be a number');return new t(e,n)},allocBuffer:function(e){if(t.alloc)return t.alloc(e);var n=new t(e);return n.fill(0),n},isBuffer:function(e){return t.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}}},{}],15:[function(e,t,n){"use strict";function i(e,t,n){var i,r=o.getTypeOf(t),a=o.extend(n||{},l);a.date=a.date||new Date,null!==a.compression&&(a.compression=a.compression.toUpperCase()),"string"==typeof a.unixPermissions&&(a.unixPermissions=parseInt(a.unixPermissions,8)),a.unixPermissions&&16384&a.unixPermissions&&(a.dir=!0),a.dosPermissions&&16&a.dosPermissions&&(a.dir=!0),a.dir&&(e=m(e)),a.createFolders&&(i=f(e))&&g.call(this,i,!0);var h="string"===r&&!1===a.binary&&!1===a.base64;n&&void 0!==n.binary||(a.binary=!h),(t instanceof c&&0===t.uncompressedSize||a.dir||!t||0===t.length)&&(a.base64=!1,a.binary=!0,t="",a.compression="STORE",r="string");var v=null;v=t instanceof c||t instanceof s?t:d.isNode&&d.isStream(t)?new p(e,t):o.prepareContent(e,t,a.binary,a.optimizedBinaryString,a.base64);var y=new u(e,v,a);this.files[e]=y}var r=e("./utf8"),o=e("./utils"),s=e("./stream/GenericWorker"),a=e("./stream/StreamHelper"),l=e("./defaults"),c=e("./compressedObject"),u=e("./zipObject"),h=e("./generate"),d=e("./nodejsUtils"),p=e("./nodejs/NodejsStreamInputAdapter"),f=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return 0<t?e.substring(0,t):""},m=function(e){return"/"!==e.slice(-1)&&(e+="/"),e},g=function(e,t){return t=void 0!==t?t:l.createFolders,e=m(e),this.files[e]||i.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function v(e){return"[object RegExp]"===Object.prototype.toString.call(e)}t.exports={load:function(){throw Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,n,i;for(t in this.files)this.files.hasOwnProperty(t)&&(i=this.files[t],(n=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(n,i))},filter:function(e){var t=[];return this.forEach(function(n,i){e(n,i)&&t.push(i)}),t},file:function(e,t,n){if(1!=arguments.length)return e=this.root+e,i.call(this,e,t,n),this;if(v(e)){var r=e;return this.filter(function(e,t){return!t.dir&&r.test(e)})}var o=this.files[this.root+e];return o&&!o.dir?o:null},folder:function(e){if(!e)return this;if(v(e))return this.filter(function(t,n){return n.dir&&e.test(t)});var t=this.root+e,n=g.call(this,t),i=this.clone();return i.root=n.name,i},remove:function(e){e=this.root+e;var t=this.files[e];if(t||("/"!==e.slice(-1)&&(e+="/"),t=this.files[e]),t&&!t.dir)delete this.files[e];else for(var n=this.filter(function(t,n){return n.name.slice(0,e.length)===e}),i=0;i<n.length;i++)delete this.files[n[i].name];return this},generate:function(e){throw Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,n={};try{if((n=o.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:r.utf8encode})).type=n.type.toLowerCase(),n.compression=n.compression.toUpperCase(),"binarystring"===n.type&&(n.type="string"),!n.type)throw Error("No output type specified.");o.checkSupport(n.type),"darwin"!==n.platform&&"freebsd"!==n.platform&&"linux"!==n.platform&&"sunos"!==n.platform||(n.platform="UNIX"),"win32"===n.platform&&(n.platform="DOS");var i=n.comment||this.comment||"";t=h.generateWorker(this,n,i)}catch(e){(t=new s("error")).error(e)}return new a(t,n.type||"string",n.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type="nodebuffer"),this.generateInternalStream(e).toNodejsStream(t)}}},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(e,t,n){t.exports=e("stream")},{stream:void 0}],17:[function(e,t,n){"use strict";var i=e("./DataReader");function r(e){i.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}e("../utils").inherits(r,i),r.prototype.byteAt=function(e){return this.data[this.zero+e]},r.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),n=e.charCodeAt(1),i=e.charCodeAt(2),r=e.charCodeAt(3),o=this.length-4;0<=o;--o)if(this.data[o]===t&&this.data[o+1]===n&&this.data[o+2]===i&&this.data[o+3]===r)return o-this.zero;return -1},r.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),n=e.charCodeAt(1),i=e.charCodeAt(2),r=e.charCodeAt(3),o=this.readData(4);return t===o[0]&&n===o[1]&&i===o[2]&&r===o[3]},r.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=r},{"../utils":32,"./DataReader":18}],18:[function(e,t,n){"use strict";var i=e("../utils");function r(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}r.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw Error("End of data reached (data length = "+this.length+", asked index = "+e+"). Corrupted zip ?")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(e){},readInt:function(e){var t,n=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)n=(n<<8)+this.byteAt(t);return this.index+=e,n},readString:function(e){return i.transformTo("string",this.readData(e))},readData:function(e){},lastIndexOfSignature:function(e){},readAndCheckSignature:function(e){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=r},{"../utils":32}],19:[function(e,t,n){"use strict";var i=e("./Uint8ArrayReader");function r(e){i.call(this,e)}e("../utils").inherits(r,i),r.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=r},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,n){"use strict";var i=e("./DataReader");function r(e){i.call(this,e)}e("../utils").inherits(r,i),r.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},r.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},r.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},r.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=r},{"../utils":32,"./DataReader":18}],21:[function(e,t,n){"use strict";var i=e("./ArrayReader");function r(e){i.call(this,e)}e("../utils").inherits(r,i),r.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=r},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,n){"use strict";var i=e("../utils"),r=e("../support"),o=e("./ArrayReader"),s=e("./StringReader"),a=e("./NodeBufferReader"),l=e("./Uint8ArrayReader");t.exports=function(e){var t=i.getTypeOf(e);return i.checkSupport(t),"string"!==t||r.uint8array?"nodebuffer"===t?new a(e):r.uint8array?new l(i.transformTo("uint8array",e)):new o(i.transformTo("array",e)):new s(e)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,n){"use strict";n.LOCAL_FILE_HEADER="PK\x03\x04",n.CENTRAL_FILE_HEADER="PK\x01\x02",n.CENTRAL_DIRECTORY_END="PK\x05\x06",n.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x06\x07",n.ZIP64_CENTRAL_DIRECTORY_END="PK\x06\x06",n.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(e,t,n){"use strict";var i=e("./GenericWorker"),r=e("../utils");function o(e){i.call(this,"ConvertWorker to "+e),this.destType=e}r.inherits(o,i),o.prototype.processChunk=function(e){this.push({data:r.transformTo(this.destType,e.data),meta:e.meta})},t.exports=o},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,n){"use strict";var i=e("./GenericWorker"),r=e("../crc32");function o(){i.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(o,i),o.prototype.processChunk=function(e){this.streamInfo.crc32=r(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=o},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,n){"use strict";var i=e("../utils"),r=e("./GenericWorker");function o(e){r.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}i.inherits(o,r),o.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}r.prototype.processChunk.call(this,e)},t.exports=o},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,n){"use strict";var i=e("../utils"),r=e("./GenericWorker");function o(e){r.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=i.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}i.inherits(o,r),o.prototype.cleanUp=function(){r.prototype.cleanUp.call(this),this.data=null},o.prototype.resume=function(){return!!r.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,i.delay(this._tickAndRepeat,[],this)),!0)},o.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(i.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},o.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=o},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,n){"use strict";function i(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}i.prototype={push:function(e){this.emit("data",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit("error",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var n=0;n<this._listeners[e].length;n++)this._listeners[e][n].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw Error("The stream '"+this+"' has already been used.");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.end()}),e.on("error",function(e){t.error(e)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)this.extraStreamInfo.hasOwnProperty(e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e="Worker "+this.name;return this.previous?this.previous+" -> "+e:e}},t.exports=i},{}],29:[function(e,n,i){"use strict";var r=e("../utils"),o=e("./ConvertWorker"),s=e("./GenericWorker"),a=e("../base64"),l=e("../support"),c=e("../external"),u=null;if(l.nodestream)try{u=e("../nodejs/NodejsStreamOutputAdapter")}catch(e){}function h(e,t,n){var i=t;switch(t){case"blob":case"arraybuffer":i="uint8array";break;case"base64":i="string"}try{this._internalType=i,this._outputType=t,this._mimeType=n,r.checkSupport(i),this._worker=e.pipe(new o(i)),e.lock()}catch(e){this._worker=new s("error"),this._worker.error(e)}}h.prototype={accumulate:function(e){var n,i;return n=this,i=e,new c.Promise(function(e,o){var s=[],l=n._internalType,c=n._outputType,u=n._mimeType;n.on("data",function(e,t){s.push(e),i&&i(t)}).on("error",function(e){s=[],o(e)}).on("end",function(){try{var n=function(e,t,n){switch(e){case"blob":return r.newBlob(r.transformTo("arraybuffer",t),n);case"base64":return a.encode(t);default:return r.transformTo(e,t)}}(c,function(e,n){var i,r=0,o=null,s=0;for(i=0;i<n.length;i++)s+=n[i].length;switch(e){case"string":return n.join("");case"array":return Array.prototype.concat.apply([],n);case"uint8array":for(o=new Uint8Array(s),i=0;i<n.length;i++)o.set(n[i],r),r+=n[i].length;return o;case"nodebuffer":return t.concat(n);default:throw Error("concat : unsupported type '"+e+"'")}}(l,s),u);e(n)}catch(e){o(e)}s=[]}).resume()})},on:function(e,t){var n=this;return"data"===e?this._worker.on(e,function(e){t.call(n,e.data,e.meta)}):this._worker.on(e,function(){r.delay(t,arguments,n)}),this},resume:function(){return r.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(r.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw Error(this._outputType+" is not supported by this method");return new u(this,{objectMode:"nodebuffer"!==this._outputType},e)}},n.exports=h},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,n,i){"use strict";if(i.base64=!0,i.array=!0,i.string=!0,i.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,i.nodebuffer=void 0!==t,i.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)i.blob=!1;else{var r=new ArrayBuffer(0);try{i.blob=0===new Blob([r],{type:"application/zip"}).size}catch(e){try{var o=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);o.append(r),i.blob=0===o.getBlob("application/zip").size}catch(e){i.blob=!1}}}try{i.nodestream=!!e("readable-stream").Readable}catch(e){i.nodestream=!1}},{"readable-stream":16}],31:[function(e,t,n){"use strict";for(var i=e("./utils"),r=e("./support"),o=e("./nodejsUtils"),s=e("./stream/GenericWorker"),a=Array(256),l=0;l<256;l++)a[l]=252<=l?6:248<=l?5:240<=l?4:224<=l?3:192<=l?2:1;function c(){s.call(this,"utf-8 decode"),this.leftOver=null}function u(){s.call(this,"utf-8 encode")}a[254]=a[254]=1,n.utf8encode=function(e){return r.nodebuffer?o.newBufferFrom(e,"utf-8"):function(e){var t,n,i,o,s,a=e.length,l=0;for(o=0;o<a;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(i=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(i-56320),o++),l+=n<128?1:n<2048?2:n<65536?3:4;for(t=r.uint8array?new Uint8Array(l):Array(l),o=s=0;s<l;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(i=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(i-56320),o++),n<128?t[s++]=n:(n<2048?t[s++]=192|n>>>6:(n<65536?t[s++]=224|n>>>12:(t[s++]=240|n>>>18,t[s++]=128|n>>>12&63),t[s++]=128|n>>>6&63),t[s++]=128|63&n);return t}(e)},n.utf8decode=function(e){return r.nodebuffer?i.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,n,r,o,s=e.length,l=Array(2*s);for(t=n=0;t<s;)if((r=e[t++])<128)l[n++]=r;else if(4<(o=a[r]))l[n++]=65533,t+=o-1;else{for(r&=2===o?31:3===o?15:7;1<o&&t<s;)r=r<<6|63&e[t++],o--;1<o?l[n++]=65533:r<65536?l[n++]=r:(r-=65536,l[n++]=55296|r>>10&1023,l[n++]=56320|1023&r)}return l.length!==n&&(l.subarray?l=l.subarray(0,n):l.length=n),i.applyFromCharCode(l)}(e=i.transformTo(r.uint8array?"uint8array":"array",e))},i.inherits(c,s),c.prototype.processChunk=function(e){var t=i.transformTo(r.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(r.uint8array){var o=t;(t=new Uint8Array(o.length+this.leftOver.length)).set(this.leftOver,0),t.set(o,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var s=function(e,t){var n;for((t=t||e.length)>e.length&&(t=e.length),n=t-1;0<=n&&128==(192&e[n]);)n--;return n<0?t:0===n?t:n+a[e[n]]>t?n:t}(t),l=t;s!==t.length&&(r.uint8array?(l=t.subarray(0,s),this.leftOver=t.subarray(s,t.length)):(l=t.slice(0,s),this.leftOver=t.slice(s,t.length))),this.push({data:n.utf8decode(l),meta:e.meta})},c.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:n.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},n.Utf8DecodeWorker=c,i.inherits(u,s),u.prototype.processChunk=function(e){this.push({data:n.utf8encode(e.data),meta:e.meta})},n.Utf8EncodeWorker=u},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,n){"use strict";var i=e("./support"),r=e("./base64"),o=e("./nodejsUtils"),s=e("set-immediate-shim"),a=e("./external");function l(e){return e}function c(e,t){for(var n=0;n<e.length;++n)t[n]=255&e.charCodeAt(n);return t}n.newBlob=function(e,t){n.checkSupport("blob");try{return new Blob([e],{type:t})}catch(n){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return i.append(e),i.getBlob(t)}catch(e){throw Error("Bug : can't construct the Blob.")}}};var u={stringifyByChunk:function(e,t,n){var i=[],r=0,o=e.length;if(o<=n)return String.fromCharCode.apply(null,e);for(;r<o;)"array"===t||"nodebuffer"===t?i.push(String.fromCharCode.apply(null,e.slice(r,Math.min(r+n,o)))):i.push(String.fromCharCode.apply(null,e.subarray(r,Math.min(r+n,o)))),r+=n;return i.join("")},stringifyByChar:function(e){for(var t="",n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t},applyCanBeUsed:{uint8array:function(){try{return i.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return i.nodebuffer&&1===String.fromCharCode.apply(null,o.allocBuffer(1)).length}catch(e){return!1}}()}};function h(e){var t=65536,i=n.getTypeOf(e),r=!0;if("uint8array"===i?r=u.applyCanBeUsed.uint8array:"nodebuffer"===i&&(r=u.applyCanBeUsed.nodebuffer),r)for(;1<t;)try{return u.stringifyByChunk(e,i,t)}catch(e){t=Math.floor(t/2)}return u.stringifyByChar(e)}function d(e,t){for(var n=0;n<e.length;n++)t[n]=e[n];return t}n.applyFromCharCode=h;var p={};p.string={string:l,array:function(e){return c(e,Array(e.length))},arraybuffer:function(e){return p.string.uint8array(e).buffer},uint8array:function(e){return c(e,new Uint8Array(e.length))},nodebuffer:function(e){return c(e,o.allocBuffer(e.length))}},p.array={string:h,array:l,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return o.newBufferFrom(e)}},p.arraybuffer={string:function(e){return h(new Uint8Array(e))},array:function(e){return d(new Uint8Array(e),Array(e.byteLength))},arraybuffer:l,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return o.newBufferFrom(new Uint8Array(e))}},p.uint8array={string:h,array:function(e){return d(e,Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:l,nodebuffer:function(e){return o.newBufferFrom(e)}},p.nodebuffer={string:h,array:function(e){return d(e,Array(e.length))},arraybuffer:function(e){return p.nodebuffer.uint8array(e).buffer},uint8array:function(e){return d(e,new Uint8Array(e.length))},nodebuffer:l},n.transformTo=function(e,t){return(t=t||"",e)?(n.checkSupport(e),p[n.getTypeOf(t)][e](t)):t},n.getTypeOf=function(e){return"string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":i.nodebuffer&&o.isBuffer(e)?"nodebuffer":i.uint8array&&e instanceof Uint8Array?"uint8array":i.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},n.checkSupport=function(e){if(!i[e.toLowerCase()])throw Error(e+" is not supported by this platform")},n.MAX_VALUE_16BITS=65535,n.MAX_VALUE_32BITS=-1,n.pretty=function(e){var t,n,i="";for(n=0;n<(e||"").length;n++)i+="\\x"+((t=e.charCodeAt(n))<16?"0":"")+t.toString(16).toUpperCase();return i},n.delay=function(e,t,n){s(function(){e.apply(n||null,t||[])})},n.inherits=function(e,t){function n(){}n.prototype=t.prototype,e.prototype=new n},n.extend=function(){var e,t,n={};for(e=0;e<arguments.length;e++)for(t in arguments[e])arguments[e].hasOwnProperty(t)&&void 0===n[t]&&(n[t]=arguments[e][t]);return n},n.prepareContent=function(e,t,o,s,l){return a.Promise.resolve(t).then(function(e){return i.blob&&(e instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(e)))&&"undefined"!=typeof FileReader?new a.Promise(function(t,n){var i=new FileReader;i.onload=function(e){t(e.target.result)},i.onerror=function(e){n(e.target.error)},i.readAsArrayBuffer(e)}):e}).then(function(t){var u,h=n.getTypeOf(t);return h?("arraybuffer"===h?t=n.transformTo("uint8array",t):"string"===h&&(l?t=r.decode(t):o&&!0!==s&&(t=c(u=t,i.uint8array?new Uint8Array(u.length):Array(u.length)))),t):a.Promise.reject(Error("Can't read the data of '"+e+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,"set-immediate-shim":54}],33:[function(e,t,n){"use strict";var i=e("./reader/readerFor"),r=e("./utils"),o=e("./signature"),s=e("./zipEntry"),a=(e("./utf8"),e("./support"));function l(e){this.files=[],this.loadOptions=e}l.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw Error("Corrupted zip or bug: unexpected signature ("+r.pretty(t)+", expected "+r.pretty(e)+")")}},isSignature:function(e,t){var n=this.reader.index;this.reader.setIndex(e);var i=this.reader.readString(4)===t;return this.reader.setIndex(n),i},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=a.uint8array?"uint8array":"array",n=r.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(n)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,n,i=this.zip64EndOfCentralSize-44;0<i;)e=this.reader.readInt(2),t=this.reader.readInt(4),n=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:n}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(o.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(o.CENTRAL_FILE_HEADER);)(e=new s({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(o.CENTRAL_DIRECTORY_END);if(e<0)throw this.isSignature(0,o.LOCAL_FILE_HEADER)?Error("Corrupted zip: can't find end of central directory"):Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(e);var t=e;if(this.checkSignature(o.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===r.MAX_VALUE_16BITS||this.diskWithCentralDirStart===r.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===r.MAX_VALUE_16BITS||this.centralDirRecords===r.MAX_VALUE_16BITS||this.centralDirSize===r.MAX_VALUE_32BITS||this.centralDirOffset===r.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(o.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(e),this.checkSignature(o.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,o.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(o.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(o.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var n=this.centralDirOffset+this.centralDirSize;this.zip64&&(n+=20,n+=12+this.zip64EndOfCentralSize);var i=t-n;if(0<i)this.isSignature(t,o.CENTRAL_FILE_HEADER)||(this.reader.zero=i);else if(i<0)throw Error("Corrupted zip: missing "+Math.abs(i)+" bytes.")},prepareReader:function(e){this.reader=i(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=l},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utf8":31,"./utils":32,"./zipEntry":34}],34:[function(e,t,n){"use strict";var i=e("./reader/readerFor"),r=e("./utils"),o=e("./compressedObject"),s=e("./crc32"),a=e("./utf8"),l=e("./compressions"),c=e("./support");function u(e,t){this.options=e,this.loadOptions=t}u.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,n;if(e.skip(22),this.fileNameLength=e.readInt(2),n=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(n),-1===this.compressedSize||-1===this.uncompressedSize)throw Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in l)if(l.hasOwnProperty(t)&&l[t].magic===e)return l[t];return null}(this.compressionMethod)))throw Error("Corrupted zip : compression "+r.pretty(this.compressionMethod)+" unknown (inner file : "+r.transformTo("string",this.fileName)+")");this.decompressed=new o(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(e){if(this.extraFields[1]){var t=i(this.extraFields[1].value);this.uncompressedSize===r.MAX_VALUE_32BITS&&(this.uncompressedSize=t.readInt(8)),this.compressedSize===r.MAX_VALUE_32BITS&&(this.compressedSize=t.readInt(8)),this.localHeaderOffset===r.MAX_VALUE_32BITS&&(this.localHeaderOffset=t.readInt(8)),this.diskNumberStart===r.MAX_VALUE_32BITS&&(this.diskNumberStart=t.readInt(4))}},readExtraFields:function(e){var t,n,i,r=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<r;)t=e.readInt(2),n=e.readInt(2),i=e.readData(n),this.extraFields[t]={id:t,length:n,value:i};e.setIndex(r)},handleUTF8:function(){var e=c.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=a.utf8decode(this.fileName),this.fileCommentStr=a.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var n=r.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(n)}var i=this.findExtraFieldUnicodeComment();if(null!==i)this.fileCommentStr=i;else{var o=r.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(o)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=i(e.value);return 1!==t.readInt(1)?null:s(this.fileName)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=i(e.value);return 1!==t.readInt(1)?null:s(this.fileComment)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null}},t.exports=u},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,n){"use strict";function i(e,t,n){this.name=e,this.dir=n.dir,this.date=n.date,this.comment=n.comment,this.unixPermissions=n.unixPermissions,this.dosPermissions=n.dosPermissions,this._data=t,this._dataBinary=n.binary,this.options={compression:n.compression,compressionOptions:n.compressionOptions}}var r=e("./stream/StreamHelper"),o=e("./stream/DataWorker"),s=e("./utf8"),a=e("./compressedObject"),l=e("./stream/GenericWorker");i.prototype={internalStream:function(e){var t=null,n="string";try{if(!e)throw Error("No output type specified.");var i="string"===(n=e.toLowerCase())||"text"===n;"binarystring"!==n&&"text"!==n||(n="string"),t=this._decompressWorker();var o=!this._dataBinary;o&&!i&&(t=t.pipe(new s.Utf8EncodeWorker)),!o&&i&&(t=t.pipe(new s.Utf8DecodeWorker))}catch(e){(t=new l("error")).error(e)}return new r(t,n,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof a&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var n=this._decompressWorker();return this._dataBinary||(n=n.pipe(new s.Utf8EncodeWorker)),a.createWorkerFrom(n,e,t)},_decompressWorker:function(){return this._data instanceof a?this._data.getContentWorker():this._data instanceof l?this._data:new o(this._data)}};for(var c=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],u=function(){throw Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},h=0;h<c.length;h++)i.prototype[c[h]]=u;t.exports=i},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,t,i){(function(e){"use strict";var n,i,r=e.MutationObserver||e.WebKitMutationObserver;if(r){var o=0,s=new r(u),a=e.document.createTextNode("");s.observe(a,{characterData:!0}),n=function(){a.data=o=++o%2}}else if(e.setImmediate||void 0===e.MessageChannel)n="document"in e&&"onreadystatechange"in e.document.createElement("script")?function(){var t=e.document.createElement("script");t.onreadystatechange=function(){u(),t.onreadystatechange=null,t.parentNode.removeChild(t),t=null},e.document.documentElement.appendChild(t)}:function(){setTimeout(u,0)};else{var l=new e.MessageChannel;l.port1.onmessage=u,n=function(){l.port2.postMessage(0)}}var c=[];function u(){var e,t;i=!0;for(var n=c.length;n;){for(t=c,c=[],e=-1;++e<n;)t[e]();n=c.length}i=!1}t.exports=function(e){1!==c.push(e)||i||n()}}).call(this,void 0!==n?n:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],37:[function(e,t,n){"use strict";var i=e("immediate");function r(){}var o={},s=["REJECTED"],a=["FULFILLED"],l=["PENDING"];function c(e){if("function"!=typeof e)throw TypeError("resolver must be a function");this.state=l,this.queue=[],this.outcome=void 0,e!==r&&p(this,e)}function u(e,t,n){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof n&&(this.onRejected=n,this.callRejected=this.otherCallRejected)}function h(e,t,n){i(function(){var i;try{i=t(n)}catch(t){return o.reject(e,t)}i===e?o.reject(e,TypeError("Cannot resolve promise with itself")):o.resolve(e,i)})}function d(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments)}}function p(e,t){var n=!1;function i(t){n||(n=!0,o.reject(e,t))}function r(t){n||(n=!0,o.resolve(e,t))}var s=f(function(){t(r,i)});"error"===s.status&&i(s.value)}function f(e,t){var n={};try{n.value=e(t),n.status="success"}catch(e){n.status="error",n.value=e}return n}(t.exports=c).prototype.finally=function(e){if("function"!=typeof e)return this;var t=this.constructor;return this.then(function(n){return t.resolve(e()).then(function(){return n})},function(n){return t.resolve(e()).then(function(){throw n})})},c.prototype.catch=function(e){return this.then(null,e)},c.prototype.then=function(e,t){if("function"!=typeof e&&this.state===a||"function"!=typeof t&&this.state===s)return this;var n=new this.constructor(r);return this.state!==l?h(n,this.state===a?e:t,this.outcome):this.queue.push(new u(n,e,t)),n},u.prototype.callFulfilled=function(e){o.resolve(this.promise,e)},u.prototype.otherCallFulfilled=function(e){h(this.promise,this.onFulfilled,e)},u.prototype.callRejected=function(e){o.reject(this.promise,e)},u.prototype.otherCallRejected=function(e){h(this.promise,this.onRejected,e)},o.resolve=function(e,t){var n=f(d,t);if("error"===n.status)return o.reject(e,n.value);var i=n.value;if(i)p(e,i);else{e.state=a,e.outcome=t;for(var r=-1,s=e.queue.length;++r<s;)e.queue[r].callFulfilled(t)}return e},o.reject=function(e,t){e.state=s,e.outcome=t;for(var n=-1,i=e.queue.length;++n<i;)e.queue[n].callRejected(t);return e},c.resolve=function(e){return e instanceof this?e:o.resolve(new this(r),e)},c.reject=function(e){var t=new this(r);return o.reject(t,e)},c.all=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(TypeError("must be an array"));var n=e.length,i=!1;if(!n)return this.resolve([]);for(var s=Array(n),a=0,l=-1,c=new this(r);++l<n;)(function(e,r){t.resolve(e).then(function(e){s[r]=e,++a!==n||i||(i=!0,o.resolve(c,s))},function(e){i||(i=!0,o.reject(c,e))})})(e[l],l);return c},c.race=function(e){if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(TypeError("must be an array"));var t,n=e.length,i=!1;if(!n)return this.resolve([]);for(var s=-1,a=new this(r);++s<n;)t=e[s],this.resolve(t).then(function(e){i||(i=!0,o.resolve(a,e))},function(e){i||(i=!0,o.reject(a,e))});return a}},{immediate:36}],38:[function(e,t,n){"use strict";var i={};(0,e("./lib/utils/common").assign)(i,e("./lib/deflate"),e("./lib/inflate"),e("./lib/zlib/constants")),t.exports=i},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(e,t,n){"use strict";var i=e("./zlib/deflate"),r=e("./utils/common"),o=e("./utils/strings"),s=e("./zlib/messages"),a=e("./zlib/zstream"),l=Object.prototype.toString;function c(e){if(!(this instanceof c))return new c(e);this.options=r.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},e||{});var t,n=this.options;n.raw&&0<n.windowBits?n.windowBits=-n.windowBits:n.gzip&&0<n.windowBits&&n.windowBits<16&&(n.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var u=i.deflateInit2(this.strm,n.level,n.method,n.windowBits,n.memLevel,n.strategy);if(0!==u)throw Error(s[u]);if(n.header&&i.deflateSetHeader(this.strm,n.header),n.dictionary){if(t="string"==typeof n.dictionary?o.string2buf(n.dictionary):"[object ArrayBuffer]"===l.call(n.dictionary)?new Uint8Array(n.dictionary):n.dictionary,0!==(u=i.deflateSetDictionary(this.strm,t)))throw Error(s[u]);this._dict_set=!0}}function u(e,t){var n=new c(t);if(n.push(e,!0),n.err)throw n.msg||s[n.err];return n.result}c.prototype.push=function(e,t){var n,s,a=this.strm,c=this.options.chunkSize;if(this.ended)return!1;s=t===~~t?t:!0===t?4:0,"string"==typeof e?a.input=o.string2buf(e):"[object ArrayBuffer]"===l.call(e)?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;do{if(0===a.avail_out&&(a.output=new r.Buf8(c),a.next_out=0,a.avail_out=c),1!==(n=i.deflate(a,s))&&0!==n)return this.onEnd(n),this.ended=!0,!1;0!==a.avail_out&&(0!==a.avail_in||4!==s&&2!==s)||("string"===this.options.to?this.onData(o.buf2binstring(r.shrinkBuf(a.output,a.next_out))):this.onData(r.shrinkBuf(a.output,a.next_out)))}while((0<a.avail_in||0===a.avail_out)&&1!==n);return 4===s?(n=i.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,0===n):2!==s||(this.onEnd(0),a.avail_out=0,!0)},c.prototype.onData=function(e){this.chunks.push(e)},c.prototype.onEnd=function(e){0===e&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},n.Deflate=c,n.deflate=u,n.deflateRaw=function(e,t){return(t=t||{}).raw=!0,u(e,t)},n.gzip=function(e,t){return(t=t||{}).gzip=!0,u(e,t)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,n){"use strict";var i=e("./zlib/inflate"),r=e("./utils/common"),o=e("./utils/strings"),s=e("./zlib/constants"),a=e("./zlib/messages"),l=e("./zlib/zstream"),c=e("./zlib/gzheader"),u=Object.prototype.toString;function h(e){if(!(this instanceof h))return new h(e);this.options=r.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var n=i.inflateInit2(this.strm,t.windowBits);if(n!==s.Z_OK)throw Error(a[n]);this.header=new c,i.inflateGetHeader(this.strm,this.header)}function d(e,t){var n=new h(t);if(n.push(e,!0),n.err)throw n.msg||a[n.err];return n.result}h.prototype.push=function(e,t){var n,a,l,c,h,d,p=this.strm,f=this.options.chunkSize,m=this.options.dictionary,g=!1;if(this.ended)return!1;a=t===~~t?t:!0===t?s.Z_FINISH:s.Z_NO_FLUSH,"string"==typeof e?p.input=o.binstring2buf(e):"[object ArrayBuffer]"===u.call(e)?p.input=new Uint8Array(e):p.input=e,p.next_in=0,p.avail_in=p.input.length;do{if(0===p.avail_out&&(p.output=new r.Buf8(f),p.next_out=0,p.avail_out=f),(n=i.inflate(p,s.Z_NO_FLUSH))===s.Z_NEED_DICT&&m&&(d="string"==typeof m?o.string2buf(m):"[object ArrayBuffer]"===u.call(m)?new Uint8Array(m):m,n=i.inflateSetDictionary(this.strm,d)),n===s.Z_BUF_ERROR&&!0===g&&(n=s.Z_OK,g=!1),n!==s.Z_STREAM_END&&n!==s.Z_OK)return this.onEnd(n),this.ended=!0,!1;p.next_out&&(0!==p.avail_out&&n!==s.Z_STREAM_END&&(0!==p.avail_in||a!==s.Z_FINISH&&a!==s.Z_SYNC_FLUSH)||("string"===this.options.to?(l=o.utf8border(p.output,p.next_out),c=p.next_out-l,h=o.buf2string(p.output,l),p.next_out=c,p.avail_out=f-c,c&&r.arraySet(p.output,p.output,l,c,0),this.onData(h)):this.onData(r.shrinkBuf(p.output,p.next_out)))),0===p.avail_in&&0===p.avail_out&&(g=!0)}while((0<p.avail_in||0===p.avail_out)&&n!==s.Z_STREAM_END);return n===s.Z_STREAM_END&&(a=s.Z_FINISH),a===s.Z_FINISH?(n=i.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===s.Z_OK):a!==s.Z_SYNC_FLUSH||(this.onEnd(s.Z_OK),p.avail_out=0,!0)},h.prototype.onData=function(e){this.chunks.push(e)},h.prototype.onEnd=function(e){e===s.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},n.Inflate=h,n.inflate=d,n.inflateRaw=function(e,t){return(t=t||{}).raw=!0,d(e,t)},n.ungzip=d},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,t,n){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;n.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var n=t.shift();if(n){if("object"!=typeof n)throw TypeError(n+"must be non-object");for(var i in n)n.hasOwnProperty(i)&&(e[i]=n[i])}}return e},n.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var r={arraySet:function(e,t,n,i,r){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+i),r);else for(var o=0;o<i;o++)e[r+o]=t[n+o]},flattenChunks:function(e){var t,n,i,r,o,s;for(t=i=0,n=e.length;t<n;t++)i+=e[t].length;for(s=new Uint8Array(i),t=r=0,n=e.length;t<n;t++)o=e[t],s.set(o,r),r+=o.length;return s}},o={arraySet:function(e,t,n,i,r){for(var o=0;o<i;o++)e[r+o]=t[n+o]},flattenChunks:function(e){return[].concat.apply([],e)}};n.setTyped=function(e){e?(n.Buf8=Uint8Array,n.Buf16=Uint16Array,n.Buf32=Int32Array,n.assign(n,r)):(n.Buf8=Array,n.Buf16=Array,n.Buf32=Array,n.assign(n,o))},n.setTyped(i)},{}],42:[function(e,t,n){"use strict";var i=e("./common"),r=!0,o=!0;try{String.fromCharCode.apply(null,[0])}catch(e){r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){o=!1}for(var s=new i.Buf8(256),a=0;a<256;a++)s[a]=252<=a?6:248<=a?5:240<=a?4:224<=a?3:192<=a?2:1;function l(e,t){if(t<65537&&(e.subarray&&o||!e.subarray&&r))return String.fromCharCode.apply(null,i.shrinkBuf(e,t));for(var n="",s=0;s<t;s++)n+=String.fromCharCode(e[s]);return n}s[254]=s[254]=1,n.string2buf=function(e){var t,n,r,o,s,a=e.length,l=0;for(o=0;o<a;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(r=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(r-56320),o++),l+=n<128?1:n<2048?2:n<65536?3:4;for(t=new i.Buf8(l),o=s=0;s<l;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(r=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(r-56320),o++),n<128?t[s++]=n:(n<2048?t[s++]=192|n>>>6:(n<65536?t[s++]=224|n>>>12:(t[s++]=240|n>>>18,t[s++]=128|n>>>12&63),t[s++]=128|n>>>6&63),t[s++]=128|63&n);return t},n.buf2binstring=function(e){return l(e,e.length)},n.binstring2buf=function(e){for(var t=new i.Buf8(e.length),n=0,r=t.length;n<r;n++)t[n]=e.charCodeAt(n);return t},n.buf2string=function(e,t){var n,i,r,o,a=t||e.length,c=Array(2*a);for(n=i=0;n<a;)if((r=e[n++])<128)c[i++]=r;else if(4<(o=s[r]))c[i++]=65533,n+=o-1;else{for(r&=2===o?31:3===o?15:7;1<o&&n<a;)r=r<<6|63&e[n++],o--;1<o?c[i++]=65533:r<65536?c[i++]=r:(r-=65536,c[i++]=55296|r>>10&1023,c[i++]=56320|1023&r)}return l(c,i)},n.utf8border=function(e,t){var n;for((t=t||e.length)>e.length&&(t=e.length),n=t-1;0<=n&&128==(192&e[n]);)n--;return n<0?t:0===n?t:n+s[e[n]]>t?n:t}},{"./common":41}],43:[function(e,t,n){"use strict";t.exports=function(e,t,n,i){for(var r=65535&e|0,o=e>>>16&65535|0,s=0;0!==n;){for(n-=s=2e3<n?2e3:n;o=o+(r=r+t[i++]|0)|0,--s;);r%=65521,o%=65521}return r|o<<16|0}},{}],44:[function(e,t,n){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,n){"use strict";var i=function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var i=0;i<8;i++)e=1&e?0xedb88320^e>>>1:e>>>1;t[n]=e}return t}();t.exports=function(e,t,n,r){var o=r+n;e^=-1;for(var s=r;s<o;s++)e=e>>>8^i[255&(e^t[s])];return -1^e}},{}],46:[function(e,t,n){"use strict";var i,r=e("../utils/common"),o=e("./trees"),s=e("./adler32"),a=e("./crc32"),l=e("./messages"),c=573,u=262;function h(e,t){return e.msg=l[t],t}function d(e){return(e<<1)-(4<e?9:0)}function p(e){for(var t=e.length;0<=--t;)e[t]=0}function f(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(r.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))}function m(e,t){o._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,f(e.strm)}function g(e,t){e.pending_buf[e.pending++]=t}function v(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function y(e,t){var n,i,r=e.max_chain_length,o=e.strstart,s=e.prev_length,a=e.nice_match,l=e.strstart>e.w_size-u?e.strstart-(e.w_size-u):0,c=e.window,h=e.w_mask,d=e.prev,p=e.strstart+258,f=c[o+s-1],m=c[o+s];e.prev_length>=e.good_match&&(r>>=2),a>e.lookahead&&(a=e.lookahead);do if(c[(n=t)+s]===m&&c[n+s-1]===f&&c[n]===c[o]&&c[++n]===c[o+1]){o+=2,n++;do;while(c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&o<p);if(i=258-(p-o),o=p-258,s<i){if(e.match_start=t,a<=(s=i))break;f=c[o+s-1],m=c[o+s]}}while((t=d[t&h])>l&&0!=--r);return s<=e.lookahead?s:e.lookahead}function b(e){var t,n,i,o,l,c,h,d,p,f,m=e.w_size;do{if(o=e.window_size-e.lookahead-e.strstart,e.strstart>=m+(m-u)){for(r.arraySet(e.window,e.window,m,m,0),e.match_start-=m,e.strstart-=m,e.block_start-=m,t=n=e.hash_size;i=e.head[--t],e.head[t]=m<=i?i-m:0,--n;);for(t=n=m;i=e.prev[--t],e.prev[t]=m<=i?i-m:0,--n;);o+=m}if(0===e.strm.avail_in)break;if(c=e.strm,h=e.window,d=e.strstart+e.lookahead,f=void 0,(p=o)<(f=c.avail_in)&&(f=p),n=0===f?0:(c.avail_in-=f,r.arraySet(h,c.input,c.next_in,f,d),1===c.state.wrap?c.adler=s(c.adler,h,f,d):2===c.state.wrap&&(c.adler=a(c.adler,h,f,d)),c.next_in+=f,c.total_in+=f,f),e.lookahead+=n,e.lookahead+e.insert>=3)for(l=e.strstart-e.insert,e.ins_h=e.window[l],e.ins_h=(e.ins_h<<e.hash_shift^e.window[l+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[l+3-1])&e.hash_mask,e.prev[l&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=l,l++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<u&&0!==e.strm.avail_in)}function w(e,t){for(var n,i;;){if(e.lookahead<u){if(b(e),e.lookahead<u&&0===t)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-u&&(e.match_length=y(e,n)),e.match_length>=3){if(i=o._tr_tally(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask}else i=o._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(m(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,4===t?(m(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(m(e,!1),0===e.strm.avail_out)?1:2}function _(e,t){for(var n,i,r;;){if(e.lookahead<u){if(b(e),e.lookahead<u&&0===t)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==n&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-u&&(e.match_length=y(e,n),e.match_length<=5&&(1===e.strategy||3===e.match_length&&4096<e.strstart-e.match_start)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){for(r=e.strstart+e.lookahead-3,i=o._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=r&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=2,e.strstart++,i&&(m(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((i=o._tr_tally(e,0,e.window[e.strstart-1]))&&m(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=o._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,4===t?(m(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(m(e,!1),0===e.strm.avail_out)?1:2}function E(e,t,n,i,r){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=i,this.func=r}function x(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=8,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new r.Buf16(2*c),this.dyn_dtree=new r.Buf16(122),this.bl_tree=new r.Buf16(78),p(this.dyn_ltree),p(this.dyn_dtree),p(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new r.Buf16(16),this.heap=new r.Buf16(573),p(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new r.Buf16(573),p(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function k(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=2,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?42:113,e.adler=2===t.wrap?0:1,t.last_flush=0,o._tr_init(t),0):h(e,-2)}function T(e){var t,n=k(e);return 0===n&&((t=e.state).window_size=2*t.w_size,p(t.head),t.max_lazy_match=i[t.level].max_lazy,t.good_match=i[t.level].good_length,t.nice_match=i[t.level].nice_length,t.max_chain_length=i[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0),n}function O(e,t,n,i,o,s){if(!e)return -2;var a=1;if(-1===t&&(t=6),i<0?(a=0,i=-i):15<i&&(a=2,i-=16),o<1||9<o||8!==n||i<8||15<i||t<0||9<t||s<0||4<s)return h(e,-2);8===i&&(i=9);var l=new x;return(e.state=l).strm=e,l.wrap=a,l.gzhead=null,l.w_bits=i,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=o+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+3-1)/3),l.window=new r.Buf8(2*l.w_size),l.head=new r.Buf16(l.hash_size),l.prev=new r.Buf16(l.w_size),l.lit_bufsize=1<<o+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new r.Buf8(l.pending_buf_size),l.d_buf=1*l.lit_bufsize,l.l_buf=3*l.lit_bufsize,l.level=t,l.strategy=s,l.method=n,T(e)}i=[new E(0,0,0,0,function(e,t){var n=65535;for(65535>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(b(e),0===e.lookahead&&0===t)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var i=e.block_start+n;if((0===e.strstart||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,m(e,!1),0===e.strm.avail_out)||e.strstart-e.block_start>=e.w_size-u&&(m(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(m(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&(m(e,!1),e.strm.avail_out),1)}),new E(4,4,8,4,w),new E(4,5,16,8,w),new E(4,6,32,32,w),new E(4,4,16,16,_),new E(8,16,32,32,_),new E(8,16,128,128,_),new E(8,32,128,256,_),new E(32,128,258,1024,_),new E(32,258,258,4096,_)],n.deflateInit=function(e,t){return O(e,t,8,15,8,0)},n.deflateInit2=O,n.deflateReset=T,n.deflateResetKeep=k,n.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?-2:(e.state.gzhead=t,0):-2},n.deflate=function(e,t){var n,r,s,l;if(!e||!e.state||5<t||t<0)return e?h(e,-2):-2;if(r=e.state,!e.output||!e.input&&0!==e.avail_in||666===r.status&&4!==t)return h(e,0===e.avail_out?-5:-2);if(r.strm=e,n=r.last_flush,r.last_flush=t,42===r.status){if(2===r.wrap)e.adler=0,g(r,31),g(r,139),g(r,8),r.gzhead?(g(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),g(r,255&r.gzhead.time),g(r,r.gzhead.time>>8&255),g(r,r.gzhead.time>>16&255),g(r,r.gzhead.time>>24&255),g(r,9===r.level?2:2<=r.strategy||r.level<2?4:0),g(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(g(r,255&r.gzhead.extra.length),g(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=a(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69):(g(r,0),g(r,0),g(r,0),g(r,0),g(r,0),g(r,9===r.level?2:2<=r.strategy||r.level<2?4:0),g(r,3),r.status=113);else{var c=8+(r.w_bits-8<<4)<<8;c|=(2<=r.strategy||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(c|=32),c+=31-c%31,r.status=113,v(r,c),0!==r.strstart&&(v(r,e.adler>>>16),v(r,65535&e.adler)),e.adler=1}}if(69===r.status){if(r.gzhead.extra){for(s=r.pending;r.gzindex<(65535&r.gzhead.extra.length)&&(r.pending!==r.pending_buf_size||(r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),f(e),s=r.pending,r.pending!==r.pending_buf_size));)g(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=73)}else r.status=73}if(73===r.status){if(r.gzhead.name){s=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),f(e),s=r.pending,r.pending===r.pending_buf_size)){l=1;break}l=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,g(r,l)}while(0!==l);r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),0===l&&(r.gzindex=0,r.status=91)}else r.status=91}if(91===r.status){if(r.gzhead.comment){s=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),f(e),s=r.pending,r.pending===r.pending_buf_size)){l=1;break}l=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,g(r,l)}while(0!==l);r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),0===l&&(r.status=103)}else r.status=103}if(103===r.status&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&f(e),r.pending+2<=r.pending_buf_size&&(g(r,255&e.adler),g(r,e.adler>>8&255),e.adler=0,r.status=113)):r.status=113),0!==r.pending){if(f(e),0===e.avail_out)return r.last_flush=-1,0}else if(0===e.avail_in&&d(t)<=d(n)&&4!==t)return h(e,-5);if(666===r.status&&0!==e.avail_in)return h(e,-5);if(0!==e.avail_in||0!==r.lookahead||0!==t&&666!==r.status){var u=2===r.strategy?function(e,t){for(var n;;){if(0===e.lookahead&&(b(e),0===e.lookahead)){if(0===t)return 1;break}if(e.match_length=0,n=o._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(m(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(m(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(m(e,!1),0===e.strm.avail_out)?1:2}(r,t):3===r.strategy?function(e,t){for(var n,i,r,s,a=e.window;;){if(e.lookahead<=258){if(b(e),e.lookahead<=258&&0===t)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&0<e.strstart&&(i=a[r=e.strstart-1])===a[++r]&&i===a[++r]&&i===a[++r]){s=e.strstart+258;do;while(i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&r<s);e.match_length=258-(s-r),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(n=o._tr_tally(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=o._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(m(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(m(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(m(e,!1),0===e.strm.avail_out)?1:2}(r,t):i[r.level].func(r,t);if(3!==u&&4!==u||(r.status=666),1===u||3===u)return 0===e.avail_out&&(r.last_flush=-1),0;if(2===u&&(1===t?o._tr_align(r):5!==t&&(o._tr_stored_block(r,0,0,!1),3===t&&(p(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),f(e),0===e.avail_out))return r.last_flush=-1,0}return 4!==t?0:r.wrap<=0?1:(2===r.wrap?(g(r,255&e.adler),g(r,e.adler>>8&255),g(r,e.adler>>16&255),g(r,e.adler>>24&255),g(r,255&e.total_in),g(r,e.total_in>>8&255),g(r,e.total_in>>16&255),g(r,e.total_in>>24&255)):(v(r,e.adler>>>16),v(r,65535&e.adler)),f(e),0<r.wrap&&(r.wrap=-r.wrap),0!==r.pending?0:1)},n.deflateEnd=function(e){var t;return e&&e.state?42!==(t=e.state.status)&&69!==t&&73!==t&&91!==t&&103!==t&&113!==t&&666!==t?h(e,-2):(e.state=null,113===t?h(e,-3):0):-2},n.deflateSetDictionary=function(e,t){var n,i,o,a,l,c,u,h,d=t.length;if(!e||!e.state||2===(a=(n=e.state).wrap)||1===a&&42!==n.status||n.lookahead)return -2;for(1===a&&(e.adler=s(e.adler,t,d,0)),n.wrap=0,d>=n.w_size&&(0===a&&(p(n.head),n.strstart=0,n.block_start=0,n.insert=0),h=new r.Buf8(n.w_size),r.arraySet(h,t,d-n.w_size,n.w_size,0),t=h,d=n.w_size),l=e.avail_in,c=e.next_in,u=e.input,e.avail_in=d,e.next_in=0,e.input=t,b(n);n.lookahead>=3;){for(i=n.strstart,o=n.lookahead-2;n.ins_h=(n.ins_h<<n.hash_shift^n.window[i+3-1])&n.hash_mask,n.prev[i&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=i,i++,--o;);n.strstart=i,n.lookahead=2,b(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,e.next_in=c,e.input=u,e.avail_in=l,n.wrap=a,0},n.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,n){"use strict";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,n){"use strict";t.exports=function(e,t){var n,i,r,o,s,a,l,c,u,h,d,p,f,m,g,v,y,b,w,_,E,x,k,T,O;n=e.state,i=e.next_in,T=e.input,r=i+(e.avail_in-5),o=e.next_out,O=e.output,s=o-(t-e.avail_out),a=o+(e.avail_out-257),l=n.dmax,c=n.wsize,u=n.whave,h=n.wnext,d=n.window,p=n.hold,f=n.bits,m=n.lencode,g=n.distcode,v=(1<<n.lenbits)-1,y=(1<<n.distbits)-1;e:do for(f<15&&(p+=T[i++]<<f,f+=8,p+=T[i++]<<f,f+=8),b=m[p&v];;){if(p>>>=w=b>>>24,f-=w,0==(w=b>>>16&255))O[o++]=65535&b;else{if(!(16&w)){if(0==(64&w)){b=m[(65535&b)+(p&(1<<w)-1)];continue}if(32&w){n.mode=12;break e}e.msg="invalid literal/length code",n.mode=30;break e}for(_=65535&b,(w&=15)&&(f<w&&(p+=T[i++]<<f,f+=8),_+=p&(1<<w)-1,p>>>=w,f-=w),f<15&&(p+=T[i++]<<f,f+=8,p+=T[i++]<<f,f+=8),b=g[p&y];;){if(p>>>=w=b>>>24,f-=w,!(16&(w=b>>>16&255))){if(0==(64&w)){b=g[(65535&b)+(p&(1<<w)-1)];continue}e.msg="invalid distance code",n.mode=30;break e}if(E=65535&b,f<(w&=15)&&(p+=T[i++]<<f,(f+=8)<w&&(p+=T[i++]<<f,f+=8)),l<(E+=p&(1<<w)-1)){e.msg="invalid distance too far back",n.mode=30;break e}if(p>>>=w,f-=w,(w=o-s)<E){if(u<(w=E-w)&&n.sane){e.msg="invalid distance too far back",n.mode=30;break e}if(k=d,(x=0)===h){if(x+=c-w,w<_){for(_-=w;O[o++]=d[x++],--w;);x=o-E,k=O}}else if(h<w){if(x+=c+h-w,(w-=h)<_){for(_-=w;O[o++]=d[x++],--w;);if(x=0,h<_){for(_-=w=h;O[o++]=d[x++],--w;);x=o-E,k=O}}}else if(x+=h-w,w<_){for(_-=w;O[o++]=d[x++],--w;);x=o-E,k=O}for(;2<_;)O[o++]=k[x++],O[o++]=k[x++],O[o++]=k[x++],_-=3;_&&(O[o++]=k[x++],1<_&&(O[o++]=k[x++]))}else{for(x=o-E;O[o++]=O[x++],O[o++]=O[x++],O[o++]=O[x++],2<(_-=3););_&&(O[o++]=O[x++],1<_&&(O[o++]=O[x++]))}break}}break}while(i<r&&o<a);i-=_=f>>3,p&=(1<<(f-=_<<3))-1,e.next_in=i,e.next_out=o,e.avail_in=i<r?r-i+5:5-(i-r),e.avail_out=o<a?a-o+257:257-(o-a),n.hold=p,n.bits=f}},{}],49:[function(e,t,n){"use strict";var i=e("../utils/common"),r=e("./adler32"),o=e("./crc32"),s=e("./inffast"),a=e("./inftrees");function l(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function c(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new i.Buf16(320),this.work=new i.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function u(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new i.Buf32(852),t.distcode=t.distdyn=new i.Buf32(592),t.sane=1,t.back=-1,0):-2}function h(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,u(e)):-2}function d(e,t){var n,i;return e&&e.state?(i=e.state,t<0?(n=0,t=-t):(n=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?-2:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=n,i.wbits=t,h(e))):-2}function p(e,t){var n,i;return e?(i=new c,(e.state=i).window=null,0!==(n=d(e,t))&&(e.state=null),n):-2}var f,m,g=!0;function v(e,t,n,r){var o,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new i.Buf8(s.wsize)),r>=s.wsize?(i.arraySet(s.window,t,n-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(r<(o=s.wsize-s.wnext)&&(o=r),i.arraySet(s.window,t,n-r,o,s.wnext),(r-=o)?(i.arraySet(s.window,t,n-r,r,0),s.wnext=r,s.whave=s.wsize):(s.wnext+=o,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=o))),0}n.inflateReset=h,n.inflateReset2=d,n.inflateResetKeep=u,n.inflateInit=function(e){return p(e,15)},n.inflateInit2=p,n.inflate=function(e,t){var n,c,u,h,d,p,y,b,w,_,E,x,k,T,O,C,A,S,N,I,L,R,P,D,j=0,B=new i.Buf8(4),F=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return -2;12===(n=e.state).mode&&(n.mode=13),d=e.next_out,u=e.output,y=e.avail_out,h=e.next_in,c=e.input,p=e.avail_in,b=n.hold,w=n.bits,_=p,E=y,R=0;e:for(;;)switch(n.mode){case 1:if(0===n.wrap){n.mode=13;break}for(;w<16;){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}if(2&n.wrap&&35615===b){B[n.check=0]=255&b,B[1]=b>>>8&255,n.check=o(n.check,B,2,0),w=b=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&b)<<8)+(b>>8))%31){e.msg="incorrect header check",n.mode=30;break}if(8!=(15&b)){e.msg="unknown compression method",n.mode=30;break}if(w-=4,L=8+(15&(b>>>=4)),0===n.wbits)n.wbits=L;else if(L>n.wbits){e.msg="invalid window size",n.mode=30;break}n.dmax=1<<L,e.adler=n.check=1,n.mode=512&b?10:12,w=b=0;break;case 2:for(;w<16;){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}if(n.flags=b,8!=(255&n.flags)){e.msg="unknown compression method",n.mode=30;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=30;break}n.head&&(n.head.text=b>>8&1),512&n.flags&&(B[0]=255&b,B[1]=b>>>8&255,n.check=o(n.check,B,2,0)),w=b=0,n.mode=3;case 3:for(;w<32;){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}n.head&&(n.head.time=b),512&n.flags&&(B[0]=255&b,B[1]=b>>>8&255,B[2]=b>>>16&255,B[3]=b>>>24&255,n.check=o(n.check,B,4,0)),w=b=0,n.mode=4;case 4:for(;w<16;){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}n.head&&(n.head.xflags=255&b,n.head.os=b>>8),512&n.flags&&(B[0]=255&b,B[1]=b>>>8&255,n.check=o(n.check,B,2,0)),w=b=0,n.mode=5;case 5:if(1024&n.flags){for(;w<16;){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}n.length=b,n.head&&(n.head.extra_len=b),512&n.flags&&(B[0]=255&b,B[1]=b>>>8&255,n.check=o(n.check,B,2,0)),w=b=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&(p<(x=n.length)&&(x=p),x&&(n.head&&(L=n.head.extra_len-n.length,n.head.extra||(n.head.extra=Array(n.head.extra_len)),i.arraySet(n.head.extra,c,h,x,L)),512&n.flags&&(n.check=o(n.check,c,x,h)),p-=x,h+=x,n.length-=x),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===p)break e;for(x=0;L=c[h+x++],n.head&&L&&n.length<65536&&(n.head.name+=String.fromCharCode(L)),L&&x<p;);if(512&n.flags&&(n.check=o(n.check,c,x,h)),p-=x,h+=x,L)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=8;case 8:if(4096&n.flags){if(0===p)break e;for(x=0;L=c[h+x++],n.head&&L&&n.length<65536&&(n.head.comment+=String.fromCharCode(L)),L&&x<p;);if(512&n.flags&&(n.check=o(n.check,c,x,h)),p-=x,h+=x,L)break e}else n.head&&(n.head.comment=null);n.mode=9;case 9:if(512&n.flags){for(;w<16;){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}if(b!==(65535&n.check)){e.msg="header crc mismatch",n.mode=30;break}w=b=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=12;break;case 10:for(;w<32;){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}e.adler=n.check=l(b),w=b=0,n.mode=11;case 11:if(0===n.havedict)return e.next_out=d,e.avail_out=y,e.next_in=h,e.avail_in=p,n.hold=b,n.bits=w,2;e.adler=n.check=1,n.mode=12;case 12:if(5===t||6===t)break e;case 13:if(n.last){b>>>=7&w,w-=7&w,n.mode=27;break}for(;w<3;){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}switch(n.last=1&b,w-=1,3&(b>>>=1)){case 0:n.mode=14;break;case 1:if(function(e){if(g){var t;for(f=new i.Buf32(512),m=new i.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(a(1,e.lens,0,288,f,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;a(2,e.lens,0,32,m,0,e.work,{bits:5}),g=!1}e.lencode=f,e.lenbits=9,e.distcode=m,e.distbits=5}(n),n.mode=20,6!==t)break;b>>>=2,w-=2;break e;case 2:n.mode=17;break;case 3:e.msg="invalid block type",n.mode=30}b>>>=2,w-=2;break;case 14:for(b>>>=7&w,w-=7&w;w<32;){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}if((65535&b)!=(b>>>16^65535)){e.msg="invalid stored block lengths",n.mode=30;break}if(n.length=65535&b,w=b=0,n.mode=15,6===t)break e;case 15:n.mode=16;case 16:if(x=n.length){if(p<x&&(x=p),y<x&&(x=y),0===x)break e;i.arraySet(u,c,h,x,d),p-=x,h+=x,y-=x,d+=x,n.length-=x;break}n.mode=12;break;case 17:for(;w<14;){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}if(n.nlen=257+(31&b),b>>>=5,w-=5,n.ndist=1+(31&b),b>>>=5,w-=5,n.ncode=4+(15&b),b>>>=4,w-=4,286<n.nlen||30<n.ndist){e.msg="too many length or distance symbols",n.mode=30;break}n.have=0,n.mode=18;case 18:for(;n.have<n.ncode;){for(;w<3;){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}n.lens[F[n.have++]]=7&b,b>>>=3,w-=3}for(;n.have<19;)n.lens[F[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,P={bits:n.lenbits},R=a(0,n.lens,0,19,n.lencode,0,n.work,P),n.lenbits=P.bits,R){e.msg="invalid code lengths set",n.mode=30;break}n.have=0,n.mode=19;case 19:for(;n.have<n.nlen+n.ndist;){for(;C=(j=n.lencode[b&(1<<n.lenbits)-1])>>>16&255,A=65535&j,!((O=j>>>24)<=w);){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}if(A<16)b>>>=O,w-=O,n.lens[n.have++]=A;else{if(16===A){for(D=O+2;w<D;){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}if(b>>>=O,w-=O,0===n.have){e.msg="invalid bit length repeat",n.mode=30;break}L=n.lens[n.have-1],x=3+(3&b),b>>>=2,w-=2}else if(17===A){for(D=O+3;w<D;){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}w-=O,L=0,x=3+(7&(b>>>=O)),b>>>=3,w-=3}else{for(D=O+7;w<D;){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}w-=O,L=0,x=11+(127&(b>>>=O)),b>>>=7,w-=7}if(n.have+x>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=30;break}for(;x--;)n.lens[n.have++]=L}}if(30===n.mode)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=30;break}if(n.lenbits=9,P={bits:n.lenbits},R=a(1,n.lens,0,n.nlen,n.lencode,0,n.work,P),n.lenbits=P.bits,R){e.msg="invalid literal/lengths set",n.mode=30;break}if(n.distbits=6,n.distcode=n.distdyn,P={bits:n.distbits},R=a(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,P),n.distbits=P.bits,R){e.msg="invalid distances set",n.mode=30;break}if(n.mode=20,6===t)break e;case 20:n.mode=21;case 21:if(6<=p&&258<=y){e.next_out=d,e.avail_out=y,e.next_in=h,e.avail_in=p,n.hold=b,n.bits=w,s(e,E),d=e.next_out,u=e.output,y=e.avail_out,h=e.next_in,c=e.input,p=e.avail_in,b=n.hold,w=n.bits,12===n.mode&&(n.back=-1);break}for(n.back=0;C=(j=n.lencode[b&(1<<n.lenbits)-1])>>>16&255,A=65535&j,!((O=j>>>24)<=w);){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}if(C&&0==(240&C)){for(S=O,N=C,I=A;C=(j=n.lencode[I+((b&(1<<S+N)-1)>>S)])>>>16&255,A=65535&j,!(S+(O=j>>>24)<=w);){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}b>>>=S,w-=S,n.back+=S}if(b>>>=O,w-=O,n.back+=O,n.length=A,0===C){n.mode=26;break}if(32&C){n.back=-1,n.mode=12;break}if(64&C){e.msg="invalid literal/length code",n.mode=30;break}n.extra=15&C,n.mode=22;case 22:if(n.extra){for(D=n.extra;w<D;){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}n.length+=b&(1<<n.extra)-1,b>>>=n.extra,w-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;C=(j=n.distcode[b&(1<<n.distbits)-1])>>>16&255,A=65535&j,!((O=j>>>24)<=w);){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}if(0==(240&C)){for(S=O,N=C,I=A;C=(j=n.distcode[I+((b&(1<<S+N)-1)>>S)])>>>16&255,A=65535&j,!(S+(O=j>>>24)<=w);){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}b>>>=S,w-=S,n.back+=S}if(b>>>=O,w-=O,n.back+=O,64&C){e.msg="invalid distance code",n.mode=30;break}n.offset=A,n.extra=15&C,n.mode=24;case 24:if(n.extra){for(D=n.extra;w<D;){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}n.offset+=b&(1<<n.extra)-1,b>>>=n.extra,w-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=30;break}n.mode=25;case 25:if(0===y)break e;if(x=E-y,n.offset>x){if((x=n.offset-x)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=30;break}k=x>n.wnext?(x-=n.wnext,n.wsize-x):n.wnext-x,x>n.length&&(x=n.length),T=n.window}else T=u,k=d-n.offset,x=n.length;for(y<x&&(x=y),y-=x,n.length-=x;u[d++]=T[k++],--x;);0===n.length&&(n.mode=21);break;case 26:if(0===y)break e;u[d++]=n.length,y--,n.mode=21;break;case 27:if(n.wrap){for(;w<32;){if(0===p)break e;p--,b|=c[h++]<<w,w+=8}if(E-=y,e.total_out+=E,n.total+=E,E&&(e.adler=n.check=n.flags?o(n.check,u,E,d-E):r(n.check,u,E,d-E)),E=y,(n.flags?b:l(b))!==n.check){e.msg="incorrect data check",n.mode=30;break}w=b=0}n.mode=28;case 28:if(n.wrap&&n.flags){for(;w<32;){if(0===p)break e;p--,b+=c[h++]<<w,w+=8}if(b!==(0xffffffff&n.total)){e.msg="incorrect length check",n.mode=30;break}w=b=0}n.mode=29;case 29:R=1;break e;case 30:R=-3;break e;case 31:return -4;default:return -2}return e.next_out=d,e.avail_out=y,e.next_in=h,e.avail_in=p,n.hold=b,n.bits=w,(n.wsize||E!==e.avail_out&&n.mode<30&&(n.mode<27||4!==t))&&v(e,e.output,e.next_out,E-e.avail_out)?(n.mode=31,-4):(_-=e.avail_in,E-=e.avail_out,e.total_in+=_,e.total_out+=E,n.total+=E,n.wrap&&E&&(e.adler=n.check=n.flags?o(n.check,u,E,e.next_out-E):r(n.check,u,E,e.next_out-E)),e.data_type=n.bits+(n.last?64:0)+(12===n.mode?128:0)+(20===n.mode||15===n.mode?256:0),(0==_&&0===E||4===t)&&0===R&&(R=-5),R)},n.inflateEnd=function(e){if(!e||!e.state)return -2;var t=e.state;return t.window&&(t.window=null),e.state=null,0},n.inflateGetHeader=function(e,t){var n;return e&&e.state?0==(2&(n=e.state).wrap)?-2:((n.head=t).done=!1,0):-2},n.inflateSetDictionary=function(e,t){var n,i=t.length;return e&&e.state?0!==(n=e.state).wrap&&11!==n.mode?-2:11===n.mode&&r(1,t,i,0)!==n.check?-3:v(e,t,i,i)?(n.mode=31,-4):(n.havedict=1,0):-2},n.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,n){"use strict";var i=e("../utils/common"),r=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],o=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],s=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],a=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,n,l,c,u,h,d){var p,f,m,g,v,y,b,w,_,E=d.bits,x=0,k=0,T=0,O=0,C=0,A=0,S=0,N=0,I=0,L=0,R=null,P=0,D=new i.Buf16(16),j=new i.Buf16(16),B=null,F=0;for(x=0;x<=15;x++)D[x]=0;for(k=0;k<l;k++)D[t[n+k]]++;for(C=E,O=15;1<=O&&0===D[O];O--);if(O<C&&(C=O),0===O)return c[u++]=0x1400000,c[u++]=0x1400000,d.bits=1,0;for(T=1;T<O&&0===D[T];T++);for(C<T&&(C=T),x=N=1;x<=15;x++)if(N<<=1,(N-=D[x])<0)return -1;if(0<N&&(0===e||1!==O))return -1;for(j[1]=0,x=1;x<15;x++)j[x+1]=j[x]+D[x];for(k=0;k<l;k++)0!==t[n+k]&&(h[j[t[n+k]]++]=k);if(y=0===e?(R=B=h,19):1===e?(R=r,P-=257,B=o,F-=257,256):(R=s,B=a,-1),x=T,v=u,S=k=L=0,m=-1,g=(I=1<<(A=C))-1,1===e&&852<I||2===e&&592<I)return 1;for(;;){for(b=x-S,_=h[k]<y?(w=0,h[k]):h[k]>y?(w=B[F+h[k]],R[P+h[k]]):(w=96,0),p=1<<x-S,T=f=1<<A;c[v+(L>>S)+(f-=p)]=b<<24|w<<16|_|0,0!==f;);for(p=1<<x-1;L&p;)p>>=1;if(0!==p?(L&=p-1,L+=p):L=0,k++,0==--D[x]){if(x===O)break;x=t[n+h[k]]}if(C<x&&(L&g)!==m){for(0===S&&(S=C),v+=T,N=1<<(A=x-S);A+S<O&&!((N-=D[A+S])<=0);)A++,N<<=1;if(I+=1<<A,1===e&&852<I||2===e&&592<I)return 1;c[m=L&g]=C<<24|A<<16|v-u|0}}return 0!==L&&(c[v+L]=x-S<<24|4194304),d.bits=C,0}},{"../utils/common":41}],51:[function(e,t,n){"use strict";t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(e,t,n){"use strict";var i=e("../utils/common");function r(e){for(var t=e.length;0<=--t;)e[t]=0}var o=286,s=573,a=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],l=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],c=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],u=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],h=Array(576);r(h);var d=Array(60);r(d);var p=Array(512);r(p);var f=Array(256);r(f);var m=Array(29);r(m);var g,v,y,b=Array(30);function w(e,t,n,i,r){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=i,this.max_length=r,this.has_stree=e&&e.length}function _(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function E(e){return e<256?p[e]:p[256+(e>>>7)]}function x(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function k(e,t,n){e.bi_valid>16-n?(e.bi_buf|=t<<e.bi_valid&65535,x(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=n-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function T(e,t,n){k(e,n[2*t],n[2*t+1])}function O(e,t){for(var n=0;n|=1&e,e>>>=1,n<<=1,0<--t;);return n>>>1}function C(e,t,n){var i,r,o=Array(16),s=0;for(i=1;i<=15;i++)o[i]=s=s+n[i-1]<<1;for(r=0;r<=t;r++){var a=e[2*r+1];0!==a&&(e[2*r]=O(o[a]++,a))}}function A(e){var t;for(t=0;t<o;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function S(e){8<e.bi_valid?x(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function N(e,t,n,i){var r=2*t,o=2*n;return e[r]<e[o]||e[r]===e[o]&&i[t]<=i[n]}function I(e,t,n){for(var i=e.heap[n],r=n<<1;r<=e.heap_len&&(r<e.heap_len&&N(t,e.heap[r+1],e.heap[r],e.depth)&&r++,!N(t,i,e.heap[r],e.depth));)e.heap[n]=e.heap[r],n=r,r<<=1;e.heap[n]=i}function L(e,t,n){var i,r,o,s,c=0;if(0!==e.last_lit)for(;i=e.pending_buf[e.d_buf+2*c]<<8|e.pending_buf[e.d_buf+2*c+1],r=e.pending_buf[e.l_buf+c],c++,0===i?T(e,r,t):(T(e,(o=f[r])+256+1,t),0!==(s=a[o])&&k(e,r-=m[o],s),T(e,o=E(--i),n),0!==(s=l[o])&&k(e,i-=b[o],s)),c<e.last_lit;);T(e,256,t)}function R(e,t){var n,i,r,o=t.dyn_tree,a=t.stat_desc.static_tree,l=t.stat_desc.has_stree,c=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=s,n=0;n<c;n++)0!==o[2*n]?(e.heap[++e.heap_len]=u=n,e.depth[n]=0):o[2*n+1]=0;for(;e.heap_len<2;)o[2*(r=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[r]=0,e.opt_len--,l&&(e.static_len-=a[2*r+1]);for(t.max_code=u,n=e.heap_len>>1;1<=n;n--)I(e,o,n);for(r=c;n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],I(e,o,1),i=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=i,o[2*r]=o[2*n]+o[2*i],e.depth[r]=(e.depth[n]>=e.depth[i]?e.depth[n]:e.depth[i])+1,o[2*n+1]=o[2*i+1]=r,e.heap[1]=r++,I(e,o,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,i,r,o,a,l,c=t.dyn_tree,u=t.max_code,h=t.stat_desc.static_tree,d=t.stat_desc.has_stree,p=t.stat_desc.extra_bits,f=t.stat_desc.extra_base,m=t.stat_desc.max_length,g=0;for(o=0;o<=15;o++)e.bl_count[o]=0;for(c[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<s;n++)m<(o=c[2*c[2*(i=e.heap[n])+1]+1]+1)&&(o=m,g++),c[2*i+1]=o,u<i||(e.bl_count[o]++,a=0,f<=i&&(a=p[i-f]),l=c[2*i],e.opt_len+=l*(o+a),d&&(e.static_len+=l*(h[2*i+1]+a)));if(0!==g){do{for(o=m-1;0===e.bl_count[o];)o--;e.bl_count[o]--,e.bl_count[o+1]+=2,e.bl_count[m]--,g-=2}while(0<g);for(o=m;0!==o;o--)for(i=e.bl_count[o];0!==i;)u<(r=e.heap[--n])||(c[2*r+1]!==o&&(e.opt_len+=(o-c[2*r+1])*c[2*r],c[2*r+1]=o),i--)}}(e,t),C(o,u,e.bl_count)}function P(e,t,n){var i,r,o=-1,s=t[1],a=0,l=7,c=4;for(0===s&&(l=138,c=3),t[2*(n+1)+1]=65535,i=0;i<=n;i++)r=s,s=t[2*(i+1)+1],++a<l&&r===s||(a<c?e.bl_tree[2*r]+=a:0!==r?(r!==o&&e.bl_tree[2*r]++,e.bl_tree[32]++):a<=10?e.bl_tree[34]++:e.bl_tree[36]++,o=r,c=(a=0)===s?(l=138,3):r===s?(l=6,3):(l=7,4))}function D(e,t,n){var i,r,o=-1,s=t[1],a=0,l=7,c=4;for(0===s&&(l=138,c=3),i=0;i<=n;i++)if(r=s,s=t[2*(i+1)+1],!(++a<l&&r===s)){if(a<c)for(;T(e,r,e.bl_tree),0!=--a;);else 0!==r?(r!==o&&(T(e,r,e.bl_tree),a--),T(e,16,e.bl_tree),k(e,a-3,2)):a<=10?(T(e,17,e.bl_tree),k(e,a-3,3)):(T(e,18,e.bl_tree),k(e,a-11,7));o=r,c=(a=0)===s?(l=138,3):r===s?(l=6,3):(l=7,4)}}r(b);var j=!1;function B(e,t,n,r){var o,s,a,l;k(e,0+(r?1:0),3),o=e,s=t,a=n,l=!0,S(o),l&&(x(o,a),x(o,~a)),i.arraySet(o.pending_buf,o.window,s,a,o.pending),o.pending+=a}n._tr_init=function(e){j||(function(){var e,t,n,i,r,s=Array(16);for(i=n=0;i<28;i++)for(m[i]=n,e=0;e<1<<a[i];e++)f[n++]=i;for(f[n-1]=i,i=r=0;i<16;i++)for(b[i]=r,e=0;e<1<<l[i];e++)p[r++]=i;for(r>>=7;i<30;i++)for(b[i]=r<<7,e=0;e<1<<l[i]-7;e++)p[256+r++]=i;for(t=0;t<=15;t++)s[t]=0;for(e=0;e<=143;)h[2*e+1]=8,e++,s[8]++;for(;e<=255;)h[2*e+1]=9,e++,s[9]++;for(;e<=279;)h[2*e+1]=7,e++,s[7]++;for(;e<=287;)h[2*e+1]=8,e++,s[8]++;for(C(h,o+1,s),e=0;e<30;e++)d[2*e+1]=5,d[2*e]=O(e,5);g=new w(h,a,257,o,15),v=new w(d,l,0,30,15),y=new w([],c,0,19,7)}(),j=!0),e.l_desc=new _(e.dyn_ltree,g),e.d_desc=new _(e.dyn_dtree,v),e.bl_desc=new _(e.bl_tree,y),e.bi_buf=0,e.bi_valid=0,A(e)},n._tr_stored_block=B,n._tr_flush_block=function(e,t,n,i){var r,o,s=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=0xf3ffc07f;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),R(e,e.l_desc),R(e,e.d_desc),s=function(e){var t;for(P(e,e.dyn_ltree,e.l_desc.max_code),P(e,e.dyn_dtree,e.d_desc.max_code),R(e,e.bl_desc),t=18;3<=t&&0===e.bl_tree[2*u[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),r=e.opt_len+3+7>>>3,(o=e.static_len+3+7>>>3)<=r&&(r=o)):r=o=n+5,n+4<=r&&-1!==t?B(e,t,n,i):4===e.strategy||o===r?(k(e,2+(i?1:0),3),L(e,h,d)):(k(e,4+(i?1:0),3),function(e,t,n,i){var r;for(k(e,t-257,5),k(e,n-1,5),k(e,i-4,4),r=0;r<i;r++)k(e,e.bl_tree[2*u[r]+1],3);D(e,e.dyn_ltree,t-1),D(e,e.dyn_dtree,n-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,s+1),L(e,e.dyn_ltree,e.dyn_dtree)),A(e),i&&S(e)},n._tr_tally=function(e,t,n){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(f[n]+256+1)]++,e.dyn_dtree[2*E(t)]++),e.last_lit===e.lit_bufsize-1},n._tr_align=function(e){var t;k(e,2,3),T(e,256,h),16===(t=e).bi_valid?(x(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):8<=t.bi_valid&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}},{"../utils/common":41}],53:[function(e,t,n){"use strict";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,n){"use strict";t.exports="function"==typeof i?i:function(){var e=[].slice.apply(arguments);e.splice(1,0,0),setTimeout.apply(null,e)}},{}]},{},[10])(10)},e.exports=o()}).call(t,n(6).Buffer,n(4),n(60).setImmediate)},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0});var r=n(12);t.Document=r.File,i(n(12)),i(n(352)),i(n(360)),i(n(44))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(25);t.EMPTY_OBJECT=Object.seal({});class r extends i.BaseXmlComponent{constructor(e){super(e),this.root=[]}prepForXml(e){let n,r=this.root.filter(e=>e instanceof i.BaseXmlComponent?!e.IsDeleted:void 0!==e).map(t=>t instanceof i.BaseXmlComponent?t.prepForXml(e):t).filter(e=>void 0!==e);return{[this.rootKey]:r.length?1===r.length&&"object"==typeof(n=r[0])&&n._attr?r[0]:r:t.EMPTY_OBJECT}}addChildElement(e){return this.root.push(e),this}delete(){this.deleted=!0}}t.XmlComponent=r;t.IgnoreIfEmptyXmlComponent=class e extends r{prepForXml(){let e=super.prepForXml();if(e&&("object"!=typeof e[this.rootKey]||Object.keys(e[this.rootKey]).length))return e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(53);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val",color:"w:color",fill:"w:fill",space:"w:space",sz:"w:sz",type:"w:type",rsidR:"w:rsidR",rsidRPr:"w:rsidRPr",rsidSect:"w:rsidSect",w:"w:w",h:"w:h",top:"w:top",right:"w:right",bottom:"w:bottom",left:"w:left",header:"w:header",footer:"w:footer",gutter:"w:gutter",linePitch:"w:linePitch",pos:"w:pos"}}}t.Attributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(26),r=n(0);function o(e){switch(e.type){case void 0:case"element":let t=new a(e.name,e.attributes);for(let n of e.elements||[]){let e=o(n);void 0!==e&&t.push(e)}return t;case"text":return e.text;default:return}}t.convertToXmlComponent=o;class s extends r.XmlAttributeComponent{}class a extends r.XmlComponent{static fromXmlString(e){return o(i.xml2js(e,{compact:!1}))}constructor(e,t){super(e),t&&this.root.push(new s(t))}push(e){this.root.push(e)}}t.ImportedXmlComponent=a;class l extends r.XmlComponent{constructor(e){super(""),this._attr=e}prepForXml(){return{_attr:this._attr}}}t.ImportedRootElementAttributes=l},function(e,t,n){(function(e){!function(t){t.parser=function(e,t){return new l(e,t)},t.SAXParser=l,t.SAXStream=u,t.createStream=function(e,t){return new u(e,t)},t.MAX_BUFFER_LENGTH=65536;var i,r,o,s,a=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function l(e,n){if(!(this instanceof l))return new l(e,n);(function(e){for(var t=0,n=a.length;t<n;t++)e[a[t]]=""})(this),this.q=this.c="",this.bufferCheckPosition=t.MAX_BUFFER_LENGTH,this.opt=n||{},this.opt.lowercase=this.opt.lowercase||this.opt.lowercasetags,this.looseCase=this.opt.lowercase?"toLowerCase":"toUpperCase",this.tags=[],this.closed=this.closedRoot=this.sawRoot=!1,this.tag=this.error=null,this.strict=!!e,this.noscript=!!(e||this.opt.noscript),this.state=_.BEGIN,this.strictEntities=this.opt.strictEntities,this.ENTITIES=this.strictEntities?Object.create(t.XML_ENTITIES):Object.create(t.ENTITIES),this.attribList=[],this.opt.xmlns&&(this.ns=Object.create(p)),this.trackPosition=!1!==this.opt.position,this.trackPosition&&(this.position=this.line=this.column=0),x(this,"onready")}t.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"],!Object.create&&(Object.create=function(e){function t(){}return t.prototype=e,new t}),!Object.keys&&(Object.keys=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t});l.prototype={end:function(){A(this)},write:function(e){if(this.error)throw this.error;if(this.closed)return C(this,"Cannot write after close. Assign an onready handler.");if(null===e)return A(this);"object"==typeof e&&(e=e.toString());for(var n=0,i="";i=D(e,n++),this.c=i,i;){;switch(this.trackPosition&&(this.position++,"\n"===i?(this.line++,this.column=0):this.column++),this.state){case _.BEGIN:if(this.state=_.BEGIN_WHITESPACE,"\uFEFF"===i)continue;P(this,i);continue;case _.BEGIN_WHITESPACE:P(this,i);continue;case _.TEXT:if(this.sawRoot&&!this.closedRoot){for(var r,o,s,l=n-1;i&&"<"!==i&&"&"!==i;)(i=D(e,n++))&&this.trackPosition&&(this.position++,"\n"===i?(this.line++,this.column=0):this.column++);this.textNode+=e.substring(l,n-1)}"<"!==i||this.sawRoot&&this.closedRoot&&!this.strict?(!y(i)&&(!this.sawRoot||this.closedRoot)&&S(this,"Text data outside of root node."),"&"===i?this.state=_.TEXT_ENTITY:this.textNode+=i):(this.state=_.OPEN_WAKA,this.startTagPosition=this.position);continue;case _.SCRIPT:"<"===i?this.state=_.SCRIPT_ENDING:this.script+=i;continue;case _.SCRIPT_ENDING:"/"===i?this.state=_.CLOSE_TAG:(this.script+="<"+i,this.state=_.SCRIPT);continue;case _.OPEN_WAKA:"!"===i?(this.state=_.SGML_DECL,this.sgmlDecl=""):y(i)||(w(f,i)?(this.state=_.OPEN_TAG,this.tagName=i):"/"===i?(this.state=_.CLOSE_TAG,this.tagName=""):"?"===i?(this.state=_.PROC_INST,this.procInstName=this.procInstBody=""):(S(this,"Unencoded <"),this.startTagPosition+1<this.position&&(i=Array(this.position-this.startTagPosition).join(" ")+i),this.textNode+="<"+i,this.state=_.TEXT));continue;case _.SGML_DECL:"[CDATA["===(this.sgmlDecl+i).toUpperCase()?(k(this,"onopencdata"),this.state=_.CDATA,this.sgmlDecl="",this.cdata=""):this.sgmlDecl+i==="--"?(this.state=_.COMMENT,this.comment="",this.sgmlDecl=""):"DOCTYPE"===(this.sgmlDecl+i).toUpperCase()?(this.state=_.DOCTYPE,(this.doctype||this.sawRoot)&&S(this,"Inappropriately located doctype declaration"),this.doctype="",this.sgmlDecl=""):">"===i?(k(this,"onsgmldeclaration",this.sgmlDecl),this.sgmlDecl="",this.state=_.TEXT):(b(i)&&(this.state=_.SGML_DECL_QUOTED),this.sgmlDecl+=i);continue;case _.SGML_DECL_QUOTED:i===this.q&&(this.state=_.SGML_DECL,this.q=""),this.sgmlDecl+=i;continue;case _.DOCTYPE:">"===i?(this.state=_.TEXT,k(this,"ondoctype",this.doctype),this.doctype=!0):(this.doctype+=i,"["===i?this.state=_.DOCTYPE_DTD:b(i)&&(this.state=_.DOCTYPE_QUOTED,this.q=i));continue;case _.DOCTYPE_QUOTED:this.doctype+=i,i===this.q&&(this.q="",this.state=_.DOCTYPE);continue;case _.DOCTYPE_DTD:this.doctype+=i,"]"===i?this.state=_.DOCTYPE:b(i)&&(this.state=_.DOCTYPE_DTD_QUOTED,this.q=i);continue;case _.DOCTYPE_DTD_QUOTED:this.doctype+=i,i===this.q&&(this.state=_.DOCTYPE_DTD,this.q="");continue;case _.COMMENT:"-"===i?this.state=_.COMMENT_ENDING:this.comment+=i;continue;case _.COMMENT_ENDING:"-"===i?(this.state=_.COMMENT_ENDED,this.comment=O(this.opt,this.comment),this.comment&&k(this,"oncomment",this.comment),this.comment=""):(this.comment+="-"+i,this.state=_.COMMENT);continue;case _.COMMENT_ENDED:">"!==i?(S(this,"Malformed comment"),this.comment+="--"+i,this.state=_.COMMENT):this.state=_.TEXT;continue;case _.CDATA:"]"===i?this.state=_.CDATA_ENDING:this.cdata+=i;continue;case _.CDATA_ENDING:"]"===i?this.state=_.CDATA_ENDING_2:(this.cdata+="]"+i,this.state=_.CDATA);continue;case _.CDATA_ENDING_2:">"===i?(this.cdata&&k(this,"oncdata",this.cdata),k(this,"onclosecdata"),this.cdata="",this.state=_.TEXT):"]"===i?this.cdata+="]":(this.cdata+="]]"+i,this.state=_.CDATA);continue;case _.PROC_INST:"?"===i?this.state=_.PROC_INST_ENDING:y(i)?this.state=_.PROC_INST_BODY:this.procInstName+=i;continue;case _.PROC_INST_BODY:!this.procInstBody&&y(i)||("?"===i?this.state=_.PROC_INST_ENDING:this.procInstBody+=i);continue;case _.PROC_INST_ENDING:">"===i?(k(this,"onprocessinginstruction",{name:this.procInstName,body:this.procInstBody}),this.procInstName=this.procInstBody="",this.state=_.TEXT):(this.procInstBody+="?"+i,this.state=_.PROC_INST_BODY);continue;case _.OPEN_TAG:w(m,i)?this.tagName+=i:(!function(e){!e.strict&&(e.tagName=e.tagName[e.looseCase]());var t=e.tags[e.tags.length-1]||e,n=e.tag={name:e.tagName,attributes:{}};e.opt.xmlns&&(n.ns=t.ns),e.attribList.length=0,k(e,"onopentagstart",n)}(this),">"===i?L(this):"/"===i?this.state=_.OPEN_TAG_SLASH:(!y(i)&&S(this,"Invalid character in tag name"),this.state=_.ATTRIB));continue;case _.OPEN_TAG_SLASH:">"===i?(L(this,!0),R(this)):(S(this,"Forward-slash in opening tag not followed by >"),this.state=_.ATTRIB);continue;case _.ATTRIB:y(i)||(">"===i?L(this):"/"===i?this.state=_.OPEN_TAG_SLASH:w(f,i)?(this.attribName=i,this.attribValue="",this.state=_.ATTRIB_NAME):S(this,"Invalid attribute name"));continue;case _.ATTRIB_NAME:"="===i?this.state=_.ATTRIB_VALUE:">"===i?(S(this,"Attribute without value"),this.attribValue=this.attribName,I(this),L(this)):y(i)?this.state=_.ATTRIB_NAME_SAW_WHITE:w(m,i)?this.attribName+=i:S(this,"Invalid attribute name");continue;case _.ATTRIB_NAME_SAW_WHITE:"="===i?this.state=_.ATTRIB_VALUE:y(i)||(S(this,"Attribute without value"),this.tag.attributes[this.attribName]="",this.attribValue="",k(this,"onattribute",{name:this.attribName,value:""}),this.attribName="",">"===i?L(this):w(f,i)?(this.attribName=i,this.state=_.ATTRIB_NAME):(S(this,"Invalid attribute name"),this.state=_.ATTRIB));continue;case _.ATTRIB_VALUE:y(i)||(b(i)?(this.q=i,this.state=_.ATTRIB_VALUE_QUOTED):(S(this,"Unquoted attribute value"),this.state=_.ATTRIB_VALUE_UNQUOTED,this.attribValue=i));continue;case _.ATTRIB_VALUE_QUOTED:if(i!==this.q){"&"===i?this.state=_.ATTRIB_VALUE_ENTITY_Q:this.attribValue+=i;continue}I(this),this.q="",this.state=_.ATTRIB_VALUE_CLOSED;continue;case _.ATTRIB_VALUE_CLOSED:y(i)?this.state=_.ATTRIB:">"===i?L(this):"/"===i?this.state=_.OPEN_TAG_SLASH:w(f,i)?(S(this,"No whitespace between attributes"),this.attribName=i,this.attribValue="",this.state=_.ATTRIB_NAME):S(this,"Invalid attribute name");continue;case _.ATTRIB_VALUE_UNQUOTED:;if(!(">"===(r=i)||y(r))){"&"===i?this.state=_.ATTRIB_VALUE_ENTITY_U:this.attribValue+=i;continue}I(this),">"===i?L(this):this.state=_.ATTRIB;continue;case _.CLOSE_TAG:if(this.tagName)">"===i?R(this):w(m,i)?this.tagName+=i:this.script?(this.script+="</"+this.tagName,this.tagName="",this.state=_.SCRIPT):(!y(i)&&S(this,"Invalid tagname in closing tag"),this.state=_.CLOSE_TAG_SAW_WHITE);else if(y(i));else if(w(f,i))this.tagName=i;else this.script?(this.script+="</"+i,this.state=_.SCRIPT):S(this,"Invalid tagname in closing tag.");continue;case _.CLOSE_TAG_SAW_WHITE:if(y(i))continue;">"===i?R(this):S(this,"Invalid characters in closing tag");continue;case _.TEXT_ENTITY:case _.ATTRIB_VALUE_ENTITY_Q:case _.ATTRIB_VALUE_ENTITY_U:switch(this.state){case _.TEXT_ENTITY:o=_.TEXT,s="textNode";break;case _.ATTRIB_VALUE_ENTITY_Q:o=_.ATTRIB_VALUE_QUOTED,s="attribValue";break;case _.ATTRIB_VALUE_ENTITY_U:o=_.ATTRIB_VALUE_UNQUOTED,s="attribValue"}";"===i?(this[s]+=function(e){var t,n=e.entity,i=n.toLowerCase(),r="";return e.ENTITIES[n]?e.ENTITIES[n]:e.ENTITIES[i]?e.ENTITIES[i]:("#"===(n=i).charAt(0)&&(r="x"===n.charAt(1)?(t=parseInt(n=n.slice(2),16)).toString(16):(t=parseInt(n=n.slice(1),10)).toString(10)),n=n.replace(/^0+/,""),isNaN(t)||r.toLowerCase()!==n)?(S(e,"Invalid character entity"),"&"+e.entity+";"):String.fromCodePoint(t)}(this),this.entity="",this.state=o):w(this.entity.length?v:g,i)?this.entity+=i:(S(this,"Invalid character in entity name"),this[s]+="&"+this.entity+i,this.entity="",this.state=o);continue;default:throw Error(this,"Unknown state: "+this.state)}}return this.position>=this.bufferCheckPosition&&!function(e){for(var n=Math.max(t.MAX_BUFFER_LENGTH,10),i=0,r=0,o=a.length;r<o;r++){var s=e[a[r]].length;if(s>n)switch(a[r]){case"textNode":T(e);break;case"cdata":k(e,"oncdata",e.cdata),e.cdata="";break;case"script":k(e,"onscript",e.script),e.script="";break;default:C(e,"Max buffer length exceeded: "+a[r])}i=Math.max(i,s)}var l=t.MAX_BUFFER_LENGTH-i;e.bufferCheckPosition=l+e.position}(this),this},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var e;e=this,T(e),""!==e.cdata&&(k(e,"oncdata",e.cdata),e.cdata=""),""!==e.script&&(k(e,"onscript",e.script),e.script="")}};try{s=n(56).Stream}catch(e){s=function(){}}var c=t.EVENTS.filter(function(e){return"error"!==e&&"end"!==e});function u(e,t){if(!(this instanceof u))return new u(e,t);s.apply(this),this._parser=new l(e,t),this.writable=!0,this.readable=!0;var n=this;this._parser.onend=function(){n.emit("end")},this._parser.onerror=function(e){n.emit("error",e),n._parser.error=null},this._decoder=null,c.forEach(function(e){Object.defineProperty(n,"on"+e,{get:function(){return n._parser["on"+e]},set:function(t){if(!t)return n.removeAllListeners(e),n._parser["on"+e]=t,t;n.on(e,t)},enumerable:!0,configurable:!1})})}u.prototype=Object.create(s.prototype,{constructor:{value:u}}),u.prototype.write=function(t){if("function"==typeof e&&"function"==typeof e.isBuffer&&e.isBuffer(t)){if(!this._decoder){var i=n(30).StringDecoder;this._decoder=new i("utf8")}t=this._decoder.write(t)}return this._parser.write(t.toString()),this.emit("data",t),!0},u.prototype.end=function(e){return e&&e.length&&this.write(e),this._parser.end(),!0},u.prototype.on=function(e,t){var n=this;return!n._parser["on"+e]&&-1!==c.indexOf(e)&&(n._parser["on"+e]=function(){var t=1==arguments.length?[arguments[0]]:Array.apply(null,arguments);t.splice(0,0,e),n.emit.apply(n,t)}),s.prototype.on.call(n,e,t)};var h="http://www.w3.org/XML/1998/namespace",d="http://www.w3.org/2000/xmlns/",p={xml:h,xmlns:d},f=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,m=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,g=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,v=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function y(e){return" "===e||"\n"===e||"\r"===e||" "===e}function b(e){return'"'===e||"'"===e}function w(e,t){return e.test(t)}var _=0;for(var E in t.STATE={BEGIN:_++,BEGIN_WHITESPACE:_++,TEXT:_++,TEXT_ENTITY:_++,OPEN_WAKA:_++,SGML_DECL:_++,SGML_DECL_QUOTED:_++,DOCTYPE:_++,DOCTYPE_QUOTED:_++,DOCTYPE_DTD:_++,DOCTYPE_DTD_QUOTED:_++,COMMENT_STARTING:_++,COMMENT:_++,COMMENT_ENDING:_++,COMMENT_ENDED:_++,CDATA:_++,CDATA_ENDING:_++,CDATA_ENDING_2:_++,PROC_INST:_++,PROC_INST_BODY:_++,PROC_INST_ENDING:_++,OPEN_TAG:_++,OPEN_TAG_SLASH:_++,ATTRIB:_++,ATTRIB_NAME:_++,ATTRIB_NAME_SAW_WHITE:_++,ATTRIB_VALUE:_++,ATTRIB_VALUE_QUOTED:_++,ATTRIB_VALUE_CLOSED:_++,ATTRIB_VALUE_UNQUOTED:_++,ATTRIB_VALUE_ENTITY_Q:_++,ATTRIB_VALUE_ENTITY_U:_++,CLOSE_TAG:_++,CLOSE_TAG_SAW_WHITE:_++,SCRIPT:_++,SCRIPT_ENDING:_++},t.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},t.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(t.ENTITIES).forEach(function(e){var n=t.ENTITIES[e],i="number"==typeof n?String.fromCharCode(n):n;t.ENTITIES[e]=i}),t.STATE)t.STATE[t.STATE[E]]=E;function x(e,t,n){e[t]&&e[t](n)}function k(e,t,n){e.textNode&&T(e),x(e,t,n)}function T(e){e.textNode=O(e.opt,e.textNode),e.textNode&&x(e,"ontext",e.textNode),e.textNode=""}function O(e,t){return e.trim&&(t=t.trim()),e.normalize&&(t=t.replace(/\s+/g," ")),t}function C(e,t){return T(e),e.trackPosition&&(t+="\nLine: "+e.line+"\nColumn: "+e.column+"\nChar: "+e.c),t=Error(t),e.error=t,x(e,"onerror",t),e}function A(e){return e.sawRoot&&!e.closedRoot&&S(e,"Unclosed root tag"),e.state!==_.BEGIN&&e.state!==_.BEGIN_WHITESPACE&&e.state!==_.TEXT&&C(e,"Unexpected end"),T(e),e.c="",e.closed=!0,x(e,"onend"),l.call(e,e.strict,e.opt),e}function S(e,t){if("object"!=typeof e||!(e instanceof l))throw Error("bad call to strictFail");e.strict&&C(e,t)}_=t.STATE;function N(e,t){var n=0>e.indexOf(":")?["",e]:e.split(":"),i=n[0],r=n[1];return t&&"xmlns"===e&&(i="xmlns",r=""),{prefix:i,local:r}}function I(e){if(!e.strict&&(e.attribName=e.attribName[e.looseCase]()),-1!==e.attribList.indexOf(e.attribName)||e.tag.attributes.hasOwnProperty(e.attribName)){e.attribName=e.attribValue="";return}if(e.opt.xmlns){var t=N(e.attribName,!0),n=t.prefix,i=t.local;if("xmlns"===n){if("xml"===i&&e.attribValue!==h)S(e,"xml: prefix must be bound to "+h+"\nActual: "+e.attribValue);else if("xmlns"===i&&e.attribValue!==d)S(e,"xmlns: prefix must be bound to "+d+"\nActual: "+e.attribValue);else{var r=e.tag,o=e.tags[e.tags.length-1]||e;r.ns===o.ns&&(r.ns=Object.create(o.ns)),r.ns[i]=e.attribValue}}e.attribList.push([e.attribName,e.attribValue])}else e.tag.attributes[e.attribName]=e.attribValue,k(e,"onattribute",{name:e.attribName,value:e.attribValue});e.attribName=e.attribValue=""}function L(e,t){if(e.opt.xmlns){var n=e.tag,i=N(e.tagName);n.prefix=i.prefix,n.local=i.local,n.uri=n.ns[i.prefix]||"",n.prefix&&!n.uri&&(S(e,"Unbound namespace prefix: "+JSON.stringify(e.tagName)),n.uri=i.prefix);var r=e.tags[e.tags.length-1]||e;n.ns&&r.ns!==n.ns&&Object.keys(n.ns).forEach(function(t){k(e,"onopennamespace",{prefix:t,uri:n.ns[t]})});for(var o=0,s=e.attribList.length;o<s;o++){var a=e.attribList[o],l=a[0],c=a[1],u=N(l,!0),h=u.prefix,d=u.local,p=""===h?"":n.ns[h]||"",f={name:l,value:c,prefix:h,local:d,uri:p};h&&"xmlns"!==h&&!p&&(S(e,"Unbound namespace prefix: "+JSON.stringify(h)),f.uri=h),e.tag.attributes[l]=f,k(e,"onattribute",f)}e.attribList.length=0}e.tag.isSelfClosing=!!t,e.sawRoot=!0,e.tags.push(e.tag),k(e,"onopentag",e.tag),!t&&(e.noscript||"script"!==e.tagName.toLowerCase()?e.state=_.TEXT:e.state=_.SCRIPT,e.tag=null,e.tagName=""),e.attribName=e.attribValue="",e.attribList.length=0}function R(e){if(!e.tagName){S(e,"Weird empty close tag."),e.textNode+="</>",e.state=_.TEXT;return}if(e.script){if("script"!==e.tagName){e.script+="</"+e.tagName+">",e.tagName="",e.state=_.SCRIPT;return}k(e,"onscript",e.script),e.script=""}var t=e.tags.length,n=e.tagName;!e.strict&&(n=n[e.looseCase]());for(var i=n;t--;)if(e.tags[t].name!==i)S(e,"Unexpected close tag");else break;if(t<0){S(e,"Unmatched closing tag: "+e.tagName),e.textNode+="</"+e.tagName+">",e.state=_.TEXT;return}e.tagName=n;for(var r=e.tags.length;r-- >t;){var o=e.tag=e.tags.pop();e.tagName=e.tag.name,k(e,"onclosetag",e.tagName);var s={};for(var a in o.ns)s[a]=o.ns[a];var l=e.tags[e.tags.length-1]||e;e.opt.xmlns&&o.ns!==l.ns&&Object.keys(o.ns).forEach(function(t){var n=o.ns[t];k(e,"onclosenamespace",{prefix:t,uri:n})})}0===t&&(e.closedRoot=!0),e.tagName=e.attribValue=e.attribName="",e.attribList.length=0,e.state=_.TEXT}function P(e,t){"<"===t?(e.state=_.OPEN_WAKA,e.startTagPosition=e.position):!y(t)&&(S(e,"Non-whitespace before first tag."),e.textNode=t,e.state=_.TEXT)}function D(e,t){var n="";return t<e.length&&(n=e.charAt(t)),n}if(!String.fromCodePoint){;i=String.fromCharCode,r=Math.floor,o=function(){var e,t,n=[],o=-1,s=arguments.length;if(!s)return"";for(var a="";++o<s;){var l=Number(arguments[o]);if(!isFinite(l)||l<0||l>1114111||r(l)!==l)throw RangeError("Invalid code point: "+l);l<=65535?n.push(l):(l-=65536,e=(l>>10)+55296,t=l%1024+56320,n.push(e,t)),(o+1===s||n.length>16384)&&(a+=i.apply(null,n),n.length=0)}return a},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:o,configurable:!0,writable:!0}):String.fromCodePoint=o}}(t)}).call(t,n(6).Buffer)},function(e,t,n){"use strict";t.byteLength=function(e){var t=c(e),n=t[0],i=t[1];return(n+i)*3/4-i},t.toByteArray=function(e){var t,n,i,s=c(e),a=s[0],l=s[1];for(var u=new o((t=0,(a+(n=l))*3/4-n)),h=0,d=l>0?a-4:a,p=0;p<d;p+=4)i=r[e.charCodeAt(p)]<<18|r[e.charCodeAt(p+1)]<<12|r[e.charCodeAt(p+2)]<<6|r[e.charCodeAt(p+3)],u[h++]=i>>16&255,u[h++]=i>>8&255,u[h++]=255&i;return 2===l&&(i=r[e.charCodeAt(p)]<<2|r[e.charCodeAt(p+1)]>>4,u[h++]=255&i),1===l&&(i=r[e.charCodeAt(p)]<<10|r[e.charCodeAt(p+1)]<<4|r[e.charCodeAt(p+2)]>>2,u[h++]=i>>8&255,u[h++]=255&i),u},t.fromByteArray=function(e){for(var t,n=e.length,r=n%3,o=[],s=0,a=n-r;s<a;s+=16383)o.push(function(e,t,n){for(var r,o,s=[],a=t;a<n;a+=3){;o=(e[a]<<16&0xff0000)+(e[a+1]<<8&65280)+(255&e[a+2]),s.push(i[(r=o)>>18&63]+i[r>>12&63]+i[r>>6&63]+i[63&r])}return s.join("")}(e,s,s+16383>a?a:s+16383));return 1===r?(t=e[n-1],o.push(i[t>>2]+i[t<<4&63]+"==")):2===r&&(t=(e[n-2]<<8)+e[n-1],o.push(i[t>>10]+i[t>>4&63]+i[t<<2&63]+"=")),o.join("")};for(var i=[],r=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,l=s.length;a<l;++a)i[a]=s[a],r[s.charCodeAt(a)]=a;function c(e){var t=e.length;if(t%4>0)throw Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");-1===n&&(n=t);var i=n===t?0:4-n%4;return[n,i]}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,n,i,r){var o,s,a=8*r-i-1,l=(1<<a)-1,c=l>>1,u=-7,h=n?r-1:0,d=n?-1:1,p=e[t+h];for(h+=d,o=p&(1<<-u)-1,p>>=-u,u+=a;u>0;o=256*o+e[t+h],h+=d,u-=8);for(s=o&(1<<-u)-1,o>>=-u,u+=i;u>0;s=256*s+e[t+h],h+=d,u-=8);if(0===o)o=1-c;else{if(o===l)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,i),o-=c}return(p?-1:1)*s*Math.pow(2,o-i)},t.write=function(e,t,n,i,r,o){var s,a,l,c=8*o-r-1,u=(1<<c)-1,h=u>>1,d=23===r?5960464477539062e-23:0,p=i?0:o-1,f=i?1:-1,m=t<0||0===t&&1/t<0?1:0;for(isNaN(t=Math.abs(t))||t===1/0?(a=isNaN(t)?1:0,s=u):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),s+h>=1?t+=d/l:t+=d*Math.pow(2,1-h),t*l>=2&&(s++,l/=2),s+h>=u?(a=0,s=u):s+h>=1?(a=(t*l-1)*Math.pow(2,r),s+=h):(a=t*Math.pow(2,h-1)*Math.pow(2,r),s=0));r>=8;e[n+p]=255&a,p+=f,a/=256,r-=8);for(s=s<<r|a,c+=r;c>0;e[n+p]=255&s,p+=f,s/=256,c-=8);e[n+p-f]|=128*m}},function(e,t){},function(e,t,n){"use strict";var i=n(16).Buffer,r=n(148);e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},e.prototype.concat=function(e){if(0===this.length)return i.alloc(0);if(1===this.length)return this.head.data;for(var t=i.allocUnsafe(e>>>0),n=this.head,r=0;n;)!function(e,t,n){e.copy(t,n)}(n.data,t,r),r+=n.data.length,n=n.next;return t},e}(),r&&r.inspect&&r.inspect.custom&&(e.exports.prototype[r.inspect.custom]=function(){var e=r.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t){},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var i,r,o,s,a,l=1,c={},u=!1,h=e.document;var d=Object.getPrototypeOf&&Object.getPrototypeOf(e);if(d=d&&d.setTimeout?d:e,"[object process]"===({}).toString.call(e.process))a=function(e){t.nextTick(function(){f(e)})};else if(function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()){;i="setImmediate$"+Math.random()+"$",r=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(i)&&f(+t.data.slice(i.length))},e.addEventListener?e.addEventListener("message",r,!1):e.attachEvent("onmessage",r),a=function(t){e.postMessage(i+t,"*")}}else if(e.MessageChannel){;(o=new MessageChannel).port1.onmessage=function(e){f(e.data)},a=function(e){o.port2.postMessage(e)}}else if(h&&"onreadystatechange"in h.createElement("script")){;s=h.documentElement,a=function(e){var t=h.createElement("script");t.onreadystatechange=function(){f(e),t.onreadystatechange=null,s.removeChild(t),t=null},s.appendChild(t)}}else a=function(e){setTimeout(f,0,e)};d.setImmediate=function(e){"function"!=typeof e&&(e=Function(""+e));for(var t=Array(arguments.length-1),n=0;n<t.length;n++)t[n]=arguments[n+1];var i={callback:e,args:t};return c[l]=i,a(l),l++},d.clearImmediate=p}function p(e){delete c[e]}function f(e){if(u)setTimeout(f,0,e);else{var t=c[e];if(t){u=!0;try{!function(e){var t=e.callback,i=e.args;switch(i.length){case 0:t();break;case 1:t(i[0]);break;case 2:t(i[0],i[1]);break;case 3:t(i[0],i[1],i[2]);break;default:t.apply(n,i)}}(t)}finally{p(e),u=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(t,n(4),n(13))},function(e,t,n){(function(t){e.exports=function(e,t){if(n("noDeprecation"))return e;var i=!1;return function(){if(!i){if(n("throwDeprecation"))throw Error(t);n("traceDeprecation")?console.trace(t):console.warn(t);i=!0}return e.apply(this,arguments)}};function n(e){try{if(!t.localStorage)return!1}catch(e){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}}).call(t,n(4))},function(e,t,n){"use strict";e.exports=o;var i=n(61),r=n(14);function o(e){if(!(this instanceof o))return new o(e);i.call(this,e)}r.inherits=n(7),r.inherits(o,i),o.prototype._transform=function(e,t,n){n(null,e)}},function(e,t,n){e.exports=n(29)},function(e,t,n){e.exports=n(5)},function(e,t,n){e.exports=n(28).Transform},function(e,t,n){e.exports=n(28).PassThrough},function(e,t,n){var i=n(31),r=n(54);e.exports=function(e,t){var n,o,s,a,l,c;return l=t,c=i.copyOptions(l),i.ensureSpacesExists(c),o=r(e,n=c),a="compact"in n&&n.compact?"_parent":"parent",(s="addParent"in n&&n.addParent?JSON.stringify(o,function(e,t){return e===a?"_":t},n.spaces):JSON.stringify(o,null,n.spaces)).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}},function(e,t,n){(function(t){var i=n(62);e.exports=function(e,n){e instanceof t&&(e=e.toString());var r=null;if("string"==typeof e)try{r=JSON.parse(e)}catch(e){throw Error("The JSON structure is invalid")}else r=e;return i(r,n)}}).call(t,n(6).Buffer)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WORKAROUND3=""},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e,t){super(e),t&&(this.root=t.root)}}t.InitializableXmlComponent=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val",color:"w:color",space:"w:space",sz:"w:sz"}}}t.BorderAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(8),r=n(0);class o extends r.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={space:"xml:space"}}}class s extends r.XmlComponent{constructor(){super("w:instrText"),this.root.push(new o({space:i.SpaceType.PRESERVE})),this.root.push("PAGE")}}t.Page=s;class a extends r.XmlComponent{constructor(){super("w:instrText"),this.root.push(new o({space:i.SpaceType.PRESERVE})),this.root.push("NUMPAGES")}}t.NumberOfPages=a;class l extends r.XmlComponent{constructor(){super("w:instrText"),this.root.push(new o({space:i.SpaceType.PRESERVE})),this.root.push("SECTIONPAGES")}}t.NumberOfPagesSection=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(17),r=n(71);class o extends i.Run{constructor(e){if("string"==typeof e){super({}),this.root.push(new r.Text(e));return}super(e)}}t.TextRun=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(17),r=n(164);class o extends i.Run{constructor(e){if("string"==typeof e){super({}),this.root.push(new r.Symbol(e));return}super(e),this.root.push(new r.Symbol(e.char,e.symbolfont))}}t.SymbolRun=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={char:"w:char",symbolfont:"w:font"}}}class o extends i.XmlComponent{constructor(e="",t="Wingdings"){super("w:sym"),this.root.push(new r({char:e,symbolfont:t}))}}t.Symbol=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(72),r=n(3);class o extends r.Run{constructor(e,t){super({});let n=new i.Drawing(e,t);this.root.push(n)}}t.PictureRun=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(167),o=n(210);class s extends i.XmlComponent{constructor(e,t={}){super("w:drawing"),t.floating?this.root.push(new r.Anchor(e,e.dimensions,t)):(this.inline=new o.Inline(e,e.dimensions),this.root.push(this.inline))}scale(e,t){this.inline.scale(e,t)}}t.Drawing=s},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(168)),i(n(81))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(73),o=n(76),s=n(36),a=n(77),l=n(78),c=n(79),u=n(80),h=n(81);class d extends i.XmlComponent{constructor(e,t,n){super("wp:anchor");let i=Object.assign({allowOverlap:!0,behindDocument:!1,lockAnchor:!1,layoutInCell:!0,verticalPosition:{},horizontalPosition:{}},n.floating);if(this.root.push(new h.AnchorAttributes({distT:i.margins&&i.margins.top||0,distB:i.margins&&i.margins.bottom||0,distL:i.margins&&i.margins.left||0,distR:i.margins&&i.margins.right||0,simplePos:"0",allowOverlap:!0===i.allowOverlap?"1":"0",behindDoc:!0===i.behindDocument?"1":"0",locked:!0===i.lockAnchor?"1":"0",layoutInCell:!0===i.layoutInCell?"1":"0",relativeHeight:i.zIndex?i.zIndex:t.emus.y})),this.root.push(new r.SimplePos),this.root.push(new r.HorizontalPosition(i.horizontalPosition)),this.root.push(new r.VerticalPosition(i.verticalPosition)),this.root.push(new c.Extent(t.emus.x,t.emus.y)),this.root.push(new l.EffectExtent),void 0!==n.floating&&void 0!==n.floating.wrap)switch(n.floating.wrap.type){case s.TextWrappingType.SQUARE:this.root.push(new s.WrapSquare(n.floating.wrap,n.floating.margins));break;case s.TextWrappingType.TIGHT:this.root.push(new s.WrapTight(n.floating.margins));break;case s.TextWrappingType.TOP_AND_BOTTOM:this.root.push(new s.WrapTopAndBottom(n.floating.margins));break;case s.TextWrappingType.NONE:default:this.root.push(new s.WrapNone)}else this.root.push(new s.WrapNone);this.root.push(new a.DocProperties),this.root.push(new u.GraphicFrameProperties),this.root.push(new o.Graphic(e,t.emus.x,t.emus.y))}}t.Anchor=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={x:"x",y:"y"}}}class o extends i.XmlComponent{constructor(){super("wp:simplePos"),this.root.push(new r({x:0,y:0}))}}t.SimplePos=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(74),o=n(35),s=n(75);class a extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={relativeFrom:"relativeFrom"}}}class l extends i.XmlComponent{constructor(e){if(super("wp:positionH"),this.root.push(new a({relativeFrom:e.relative||o.HorizontalPositionRelativeFrom.PAGE})),e.align)this.root.push(new r.Align(e.align));else if(void 0!==e.offset)this.root.push(new s.PositionOffset(e.offset));else throw Error("There is no configuration provided for floating position (Align or offset)")}}t.HorizontalPosition=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(74),o=n(35),s=n(75);class a extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={relativeFrom:"relativeFrom"}}}class l extends i.XmlComponent{constructor(e){if(super("wp:positionV"),this.root.push(new a({relativeFrom:e.relative||o.VerticalPositionRelativeFrom.PAGE})),e.align)this.root.push(new r.Align(e.align));else if(void 0!==e.offset)this.root.push(new s.PositionOffset(e.offset));else throw Error("There is no configuration provided for floating position (Align or offset)")}}t.VerticalPosition=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(173);class o extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={a:"xmlns:a"}}}class s extends i.XmlComponent{constructor(e,t,n){super("a:graphic"),this.root.push(new o({a:"http://schemas.openxmlformats.org/drawingml/2006/main"})),this.data=new r.GraphicData(e,t,n),this.root.push(this.data)}setXY(e,t){this.data.setXY(e,t)}}t.Graphic=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(174))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(175),o=n(176);class s extends i.XmlComponent{constructor(e,t,n){super("a:graphicData"),this.root.push(new r.GraphicDataAttributes({uri:"http://schemas.openxmlformats.org/drawingml/2006/picture"})),this.pic=new o.Pic(e,t,n),this.root.push(this.pic)}setXY(e,t){this.pic.setXY(e,t)}}t.GraphicData=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={uri:"uri"}}}t.GraphicDataAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(177))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(178),o=n(182),s=n(188),a=n(189);class l extends i.XmlComponent{constructor(e,t,n){super("pic:pic"),this.root.push(new s.PicAttributes({xmlns:"http://schemas.openxmlformats.org/drawingml/2006/picture"})),this.shapeProperties=new a.ShapeProperties(t,n),this.root.push(new o.NonVisualPicProperties),this.root.push(new r.BlipFill(e)),this.root.push(new a.ShapeProperties(t,n))}setXY(e,t){this.shapeProperties.setXY(e,t)}}t.Pic=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(179),o=n(180),s=n(181);class a extends i.XmlComponent{constructor(e){super("pic:blipFill"),this.root.push(new r.Blip(e)),this.root.push(new o.SourceRectangle),this.root.push(new s.Stretch)}}t.BlipFill=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={embed:"r:embed",cstate:"cstate"}}}class o extends i.XmlComponent{constructor(e){super("a:blip"),this.root.push(new r({embed:`rId{${e.fileName}}`,cstate:"none"}))}}t.Blip=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("a:srcRect")}}t.SourceRectangle=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("a:fillRect")}}class o extends i.XmlComponent{constructor(){super("a:stretch"),this.root.push(new r)}}t.Stretch=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(183),o=n(186);class s extends i.XmlComponent{constructor(){super("pic:nvPicPr"),this.root.push(new o.NonVisualProperties),this.root.push(new r.ChildNonVisualProperties)}}t.NonVisualPicProperties=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(184);class o extends i.XmlComponent{constructor(){super("pic:cNvPicPr"),this.root.push(new r.PicLocks)}}t.ChildNonVisualProperties=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(185);class o extends i.XmlComponent{constructor(){super("a:picLocks"),this.root.push(new r.PicLocksAttributes({noChangeAspect:1,noChangeArrowheads:1}))}}t.PicLocks=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={noChangeAspect:"noChangeAspect",noChangeArrowheads:"noChangeArrowheads"}}}t.PicLocksAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(187);class o extends i.XmlComponent{constructor(){super("pic:cNvPr"),this.root.push(new r.NonVisualPropertiesAttributes({id:0,name:"",descr:""}))}}t.NonVisualProperties=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={id:"id",name:"name",descr:"desc"}}}t.NonVisualPropertiesAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={xmlns:"xmlns:pic"}}}t.PicAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(190),o=n(196),s=n(199);class a extends i.XmlComponent{constructor(e,t){super("pic:spPr"),this.root.push(new s.ShapePropertiesAttributes({bwMode:"auto"})),this.form=new r.Form(e,t),this.root.push(this.form),this.root.push(new o.PresetGeometry)}setXY(e,t){this.form.setXY(e,t)}}t.ShapeProperties=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(191))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(192),o=n(194);class s extends i.XmlComponent{constructor(e,t){super("a:xfrm"),this.extents=new r.Extents(e,t),this.root.push(this.extents),this.root.push(new o.Offset)}setXY(e,t){this.extents.setXY(e,t)}}t.Form=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(193);class o extends i.XmlComponent{constructor(e,t){super("a:ext"),this.attributes=new r.ExtentsAttributes({cx:e,cy:t}),this.root.push(this.attributes)}setXY(e,t){this.attributes.set({cx:e,cy:t})}}t.Extents=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={cx:"cx",cy:"cy"}}}t.ExtentsAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(195);class o extends i.XmlComponent{constructor(){super("a:off"),this.root.push(new r.OffsetAttributes({x:0,y:0}))}}t.Offset=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={x:"x",y:"y"}}}t.OffsetAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(197),o=n(198);class s extends i.XmlComponent{constructor(){super("a:prstGeom"),this.root.push(new o.PresetGeometryAttributes({prst:"rect"})),this.root.push(new r.AdjustmentValues)}}t.PresetGeometry=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("a:avLst")}}t.AdjustmentValues=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={prst:"prst"}}}t.PresetGeometryAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={bwMode:"bwMode"}}}t.ShapePropertiesAttributes=r},function(e,t,n){"use strict";var i,r,o,s;Object.defineProperty(t,"__esModule",{value:!0}),(o=t.TextWrappingType||(t.TextWrappingType={}))[o.NONE=0]="NONE",o[o.SQUARE=1]="SQUARE",o[o.TIGHT=2]="TIGHT",o[o.TOP_AND_BOTTOM=3]="TOP_AND_BOTTOM",(s=t.TextWrappingSide||(t.TextWrappingSide={})).BOTH_SIDES="bothSides",s.LEFT="left",s.RIGHT="right",s.LARGEST="largest"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("wp:wrapNone")}}t.WrapNone=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(36);class o extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={distT:"distT",distB:"distB",distL:"distL",distR:"distR",wrapText:"wrapText"}}}class s extends i.XmlComponent{constructor(e,t={top:0,bottom:0,left:0,right:0}){super("wp:wrapSquare"),this.root.push(new o({wrapText:e.side||r.TextWrappingSide.BOTH_SIDES,distT:t.top,distB:t.bottom,distL:t.left,distR:t.right}))}}t.WrapSquare=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={distT:"distT",distB:"distB"}}}class o extends i.XmlComponent{constructor(e={top:0,bottom:0}){super("wp:wrapTight"),this.root.push(new r({distT:e.top,distB:e.bottom}))}}t.WrapTight=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={distT:"distT",distB:"distB"}}}class o extends i.XmlComponent{constructor(e={top:0,bottom:0}){super("wp:wrapTopAndBottom"),this.root.push(new r({distT:e.top,distB:e.bottom}))}}t.WrapTopAndBottom=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={id:"id",name:"name",descr:"descr"}}}t.DocPropertiesAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={b:"b",l:"l",r:"r",t:"t"}}}t.EffectExtentAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={cx:"cx",cy:"cy"}}}t.ExtentAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(209);class o extends i.XmlComponent{constructor(){super("a:graphicFrameLocks"),this.root.push(new r.GraphicFrameLockAttributes({xmlns:"http://schemas.openxmlformats.org/drawingml/2006/main",noChangeAspect:1}))}}t.GraphicFrameLocks=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={xmlns:"xmlns:a",noChangeAspect:"noChangeAspect"}}}t.GraphicFrameLockAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(211))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(77),o=n(78),s=n(79),a=n(80),l=n(76),c=n(212);class u extends i.XmlComponent{constructor(e,t){super("wp:inline"),this.dimensions=t,this.root.push(new c.InlineAttributes({distT:0,distB:0,distL:0,distR:0})),this.extent=new s.Extent(t.emus.x,t.emus.y),this.graphic=new l.Graphic(e,t.emus.x,t.emus.y),this.root.push(this.extent),this.root.push(new o.EffectExtent),this.root.push(new r.DocProperties),this.root.push(new a.GraphicFrameProperties),this.root.push(this.graphic)}scale(e,t){let n=Math.round(this.dimensions.emus.x*e),i=Math.round(this.dimensions.emus.y*t);this.extent.setXY(n,i),this.graphic.setXY(n,i)}}t.Inline=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={distT:"distT",distB:"distB",distL:"distL",distR:"distR"}}}t.InlineAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(3),r=n(18),o=n(214);class s extends i.Run{constructor(e){super({}),this.root.push(new r.Begin(!0)),this.root.push(new o.SequentialIdentifierInstruction(e)),this.root.push(new r.Separate),this.root.push(new r.End)}}t.SequentialIdentifier=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(8),r=n(0);class o extends r.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={space:"xml:space"}}}class s extends r.XmlComponent{constructor(e){super("w:instrText"),this.root.push(new o({space:i.SpaceType.PRESERVE})),this.root.push(`SEQ ${e}`)}}t.SequentialIdentifierInstruction=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:tab")}}t.Tab=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(37),o=n(21),s=n(3);class a extends i.XmlComponent{constructor(e){if(super("w:p"),"string"==typeof e){this.properties=new o.ParagraphProperties({}),this.root.push(this.properties),this.root.push(new s.TextRun(e));return}if(e instanceof s.PictureRun){this.properties=new o.ParagraphProperties({}),this.root.push(this.properties),this.root.push(e);return}if(this.properties=new o.ParagraphProperties(e),this.root.push(this.properties),e.text&&this.root.push(new s.TextRun(e.text)),e.children)for(let t of e.children){if(t instanceof r.Bookmark){this.root.push(t.start),this.root.push(t.text),this.root.push(t.end);continue}this.root.push(t)}}prepForXml(e){for(let t of this.root)if(t instanceof r.HyperlinkRef){let n=this.root.indexOf(t);this.root[n]=e.HyperlinkCache[t.id]}return super.prepForXml()}addRunToFront(e){return this.root.splice(1,0,e),this}}t.Paragraph=a},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0),s=n(3),a=n(218);(r=t.HyperlinkType||(t.HyperlinkType={})).INTERNAL="INTERNAL",r.EXTERNAL="EXTERNAL";t.HyperlinkRef=class e{constructor(e){this.id=e}};class l extends o.XmlComponent{constructor(e,t,n){super("w:hyperlink"),this.linkId=t;let i={history:1,anchor:n||void 0,id:n?void 0:`rId${this.linkId}`},r=new a.HyperlinkAttributes(i);this.root.push(r),this.textRun=new s.TextRun({text:e,style:"Hyperlink"}),this.root.push(this.textRun)}get TextRun(){return this.textRun}}t.Hyperlink=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={id:"r:id",history:"w:history",anchor:"w:anchor"}}}t.HyperlinkAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(86),o=n(3),s=n(228);t.Bookmark=class e{constructor(e,t){let n=r.generate().toLowerCase();this.start=new a(e,n),this.text=new o.TextRun(t),this.end=new l(n)}};class a extends i.XmlComponent{constructor(e,t){super("w:bookmarkStart");let n=new s.BookmarkStartAttributes({name:e,id:t});this.root.push(n)}}t.BookmarkStart=a;class l extends i.XmlComponent{constructor(e){super("w:bookmarkEnd");let t=new s.BookmarkEndAttributes({id:e});this.root.push(t)}}t.BookmarkEnd=l},function(e,t,n){"use strict";var i=n(20),r=n(222),o=n(226),s=n(227)||0;function a(){return r(s)}e.exports=a,e.exports.generate=a,e.exports.seed=function(t){return i.seed(t),e.exports},e.exports.worker=function(t){return s=t,e.exports},e.exports.characters=function(e){return void 0!==e&&i.characters(e),i.shuffled()},e.exports.isValid=o},function(e,t,n){"use strict";var i=1;e.exports={nextValue:function(){return(i=(9301*i+49297)%233280)/233280},seed:function(e){i=e}}},function(e,t,n){"use strict";var i,r,o=n(223);n(20);e.exports=function(e){var t="",n=Math.floor((Date.now()-0x16d05594f0e)*.001);return n===r?i++:(i=0,r=n),t+=o(7),t+=o(e),i>0&&(t+=o(i)),t+=o(n)}},function(e,t,n){"use strict";var i=n(20),r=n(224),o=n(225);e.exports=function(e){for(var t,n=0,s="";!t;)s+=o(r,i.get(),1),t=e<Math.pow(16,n+1),n++;return s}},function(e,t,n){"use strict";var i,r="object"==typeof window&&(window.crypto||window.msCrypto);i=r&&r.getRandomValues?function(e){return r.getRandomValues(new Uint8Array(e))}:function(e){for(var t=[],n=0;n<e;n++)t.push(Math.floor(256*Math.random()));return t},e.exports=i},function(e,t){e.exports=function(e,t,n){for(var i=(2<<Math.log(t.length-1)/Math.LN2)-1,r=Math.ceil(1.6*i*n/t.length),o="";;){for(var s=r,a=e(s);s--;)if((o+=t[a[s]&i]||"").length===+n)return o}}},function(e,t,n){"use strict";var i=n(20);e.exports=function(e){return!!e&&"string"==typeof e&&!(e.length<6)&&!RegExp("[^"+i.get().replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&")+"]").test(e)}},function(e,t,n){"use strict";e.exports=0},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={id:"w:id",name:"w:name"}}}t.BookmarkStartAttributes=r;class o extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={id:"w:id"}}}t.BookmarkEndAttributes=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){super("w:outlineLvl"),this.level=e,this.root.push(new i.Attributes({val:e}))}}t.OutlineLevel=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:bidi")}}t.Bidirectional=r},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(232)),i(n(233)),i(n(235)),i(n(2)),i(n(240)),i(n(249)),i(n(250)),i(n(253)),i(n(255))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){for(let t of(super("m:oMath"),e.children))this.root.push(t)}}t.Math=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(234);class o extends i.XmlComponent{constructor(e){super("m:r"),this.root.push(new r.MathText(e))}}t.MathRun=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){super("m:t"),this.root.push(e)}}t.MathText=r},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(236)),i(n(87)),i(n(88))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(87),o=n(88);class s extends i.XmlComponent{constructor(e){super("m:f"),this.root.push(new o.MathNumerator(e.numerator)),this.root.push(new r.MathDenominator(e.denominator))}}t.MathFraction=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={hide:"m:val"}}}class o extends i.XmlComponent{constructor(){super("m:subHide"),this.root.push(new r({hide:1}))}}t.MathSubScriptHide=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={hide:"m:val"}}}class o extends i.XmlComponent{constructor(){super("m:supHide"),this.root.push(new r({hide:1}))}}t.MathSuperScriptHide=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(90),o=n(92),s=n(93),a=n(94);class l extends i.XmlComponent{constructor(e){super("m:nary"),this.root.push(new o.MathNArayProperties("∑",!!e.superScript,!!e.subScript)),e.subScript&&this.root.push(new s.MathSubScriptElement(e.subScript)),e.superScript&&this.root.push(new a.MathSuperScriptElement(e.superScript)),this.root.push(new r.MathBase(e.children))}}t.MathSum=l},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(241)),i(n(243)),i(n(245)),i(n(247))},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(242)),i(n(95))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(2),o=n(95);class s extends i.XmlComponent{constructor(e){super("m:sSup"),this.root.push(new o.MathSuperScriptProperties),this.root.push(new r.MathBase(e.children)),this.root.push(new r.MathSuperScriptElement(e.superScript))}}t.MathSuperScript=s},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(244)),i(n(96))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(2),o=n(96);class s extends i.XmlComponent{constructor(e){super("m:sSub"),this.root.push(new o.MathSubScriptProperties),this.root.push(new r.MathBase(e.children)),this.root.push(new r.MathSubScriptElement(e.subScript))}}t.MathSubScript=s},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(246)),i(n(97))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(2),o=n(97);class s extends i.XmlComponent{constructor(e){super("m:sSubSup"),this.root.push(new o.MathSubSuperScriptProperties),this.root.push(new r.MathBase(e.children)),this.root.push(new r.MathSubScriptElement(e.subScript)),this.root.push(new r.MathSuperScriptElement(e.superScript))}}t.MathSubSuperScript=s},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(248)),i(n(98))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(2),o=n(98);class s extends i.XmlComponent{constructor(e){super("m:sPre"),this.root.push(new o.MathPreSubSuperScriptProperties),this.root.push(new r.MathBase(e.children)),this.root.push(new r.MathSubScriptElement(e.subScript)),this.root.push(new r.MathSuperScriptElement(e.superScript))}}t.MathPreSubSuperScript=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WORKAROUND4=""},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(99)),i(n(251)),i(n(100))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(2),o=n(99),s=n(100);class a extends i.XmlComponent{constructor(e){super("m:rad"),this.root.push(new s.MathRadicalProperties(!!e.degree)),this.root.push(new o.MathDegree(e.degree)),this.root.push(new r.MathBase(e.children))}}t.MathRadical=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={hide:"m:val"}}}class o extends i.XmlComponent{constructor(){super("m:degHide"),this.root.push(new r({hide:1}))}}t.MathDegreeHide=o},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(254)),i(n(101)),i(n(102))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(2),o=n(101),s=n(102);class a extends i.XmlComponent{constructor(e){super("m:func"),this.root.push(new s.MathFunctionProperties),this.root.push(new o.MathFunctionName(e.name)),this.root.push(new r.MathBase(e.children))}}t.MathFunction=a},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(256)),i(n(259)),i(n(260)),i(n(261))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(2),o=n(22);class s extends i.XmlComponent{constructor(e){super("m:d"),this.root.push(new o.MathBracketProperties),this.root.push(new r.MathBase(e.children))}}t.MathRoundBrackets=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={character:"m:val"}}}class o extends i.XmlComponent{constructor(e){super("m:begChr"),this.root.push(new r({character:e}))}}t.MathBeginningCharacter=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={character:"m:val"}}}class o extends i.XmlComponent{constructor(e){super("m:endChr"),this.root.push(new r({character:e}))}}t.MathEndingCharacter=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(2),o=n(22);class s extends i.XmlComponent{constructor(e){super("m:d"),this.root.push(new o.MathBracketProperties({beginningCharacter:"[",endingCharacter:"]"})),this.root.push(new r.MathBase(e.children))}}t.MathSquareBrackets=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(2),o=n(22);class s extends i.XmlComponent{constructor(e){super("m:d"),this.root.push(new o.MathBracketProperties({beginningCharacter:"{",endingCharacter:"}"})),this.root.push(new r.MathBase(e.children))}}t.MathCurlyBrackets=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(2),o=n(22);class s extends i.XmlComponent{constructor(e){super("m:d"),this.root.push(new o.MathBracketProperties({beginningCharacter:"〈",endingCharacter:"〉"})),this.root.push(new r.MathBase(e.children))}}t.MathAngledBrackets=s},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(263)),i(n(10)),i(n(103)),i(n(39)),i(n(278))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(264),o=n(10),s=n(103);class a extends i.XmlComponent{constructor({rows:e,width:t,columnWidths:n=Array(Math.max(...e.map(e=>e.CellCount))).fill(100),margins:{marginUnitType:i,top:a,bottom:l,right:c,left:u}={marginUnitType:o.WidthType.AUTO,top:0,bottom:0,right:0,left:0},float:h,layout:d,borders:p,alignment:f}){for(let o of(super("w:tbl"),this.properties=new s.TableProperties,this.root.push(this.properties),p?this.properties.setBorder(p):this.properties.setBorder({}),t?this.properties.setWidth(t.size,t.type):this.properties.setWidth(100),this.properties.CellMargin.addBottomMargin(l||0,i),this.properties.CellMargin.addTopMargin(a||0,i),this.properties.CellMargin.addLeftMargin(u||0,i),this.properties.CellMargin.addRightMargin(c||0,i),this.root.push(new r.TableGrid(n)),e))this.root.push(o);e.forEach((t,n)=>{if(n===e.length-1)return;let i=0;t.cells.forEach(t=>{if(t.options.rowSpan&&t.options.rowSpan>1){let r=new o.TableCell({rowSpan:t.options.rowSpan-1,columnSpan:t.options.columnSpan,borders:t.options.borders,children:[],verticalMerge:o.VerticalMergeType.CONTINUE});e[n+1].addCellToColumnIndex(r,i)}i+=t.options.columnSpan||1})}),h&&this.properties.setTableFloatProperties(h),d&&this.properties.setLayout(d),f&&this.properties.setAlignment(f)}}t.Table=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){for(let t of(super("w:tblGrid"),e))this.root.push(new s(t))}}t.TableGrid=r;class o extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={w:"w:w"}}}class s extends i.XmlComponent{constructor(e){super("w:gridCol"),void 0!==e&&this.root.push(new o({w:e}))}}t.GridCol=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(1),r=n(0),o=n(38),s=n(266);class a extends r.XmlComponent{constructor(e){for(let t of(super("w:tc"),this.options=e,this.properties=new s.TableCellProperties,this.root.push(this.properties),e.children))this.root.push(t);e.verticalAlign&&this.properties.setVerticalAlign(e.verticalAlign),e.textDirection&&this.properties.setTextDirection(e.textDirection),e.verticalMerge?this.properties.addVerticalMerge(e.verticalMerge):e.rowSpan&&e.rowSpan>1&&this.properties.addVerticalMerge(o.VerticalMergeType.RESTART),e.margins&&this.properties.addMargins(e.margins),e.shading&&this.properties.setShading(e.shading),e.columnSpan&&this.properties.addGridSpan(e.columnSpan),e.width&&this.properties.setWidth(e.width.size,e.width.type),e.borders&&(e.borders.top&&this.properties.Borders.addTopBorder(e.borders.top.style,e.borders.top.size,e.borders.top.color),e.borders.bottom&&this.properties.Borders.addBottomBorder(e.borders.bottom.style,e.borders.bottom.size,e.borders.bottom.color),e.borders.left&&this.properties.Borders.addLeftBorder(e.borders.left.style,e.borders.left.size,e.borders.left.color),e.borders.right&&this.properties.Borders.addRightBorder(e.borders.right.style,e.borders.right.size,e.borders.right.color))}prepForXml(e){return!(this.root[this.root.length-1]instanceof i.Paragraph)&&this.root.push(new i.Paragraph({})),super.prepForXml(e)}}t.TableCell=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(39),o=n(268),s=n(38);class a extends i.IgnoreIfEmptyXmlComponent{constructor(){super("w:tcPr"),this.cellBorder=new s.TableCellBorders,this.root.push(this.cellBorder)}get Borders(){return this.cellBorder}addGridSpan(e){return this.root.push(new s.GridSpan(e)),this}addVerticalMerge(e){return this.root.push(new s.VerticalMerge(e)),this}setVerticalAlign(e){return this.root.push(new s.VAlign(e)),this}setWidth(e,t=s.WidthType.AUTO){return this.root.push(new s.TableCellWidth(e,t)),this}setShading(e){return this.root.push(new r.TableShading(e)),this}addMargins(e){return this.root.push(new o.TableCellMargin(e)),this}setTextDirection(e){return this.root.push(new s.TDirection(e)),this}}t.TableCellProperties=a},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={fill:"w:fill",color:"w:color",val:"w:val"}}}class a extends o.XmlComponent{constructor(e){super("w:shd"),this.root.push(new s(e))}}t.TableShading=a,(r=t.ShadingType||(t.ShadingType={})).CLEAR="clear",r.DIAGONAL_CROSS="diagCross",r.DIAGONAL_STRIPE="diagStripe",r.HORIZONTAL_CROSS="horzCross",r.HORIZONTAL_STRIPE="horzStripe",r.NIL="nil",r.PERCENT_5="pct5",r.PERCENT_10="pct10",r.PERCENT_12="pct12",r.PERCENT_15="pct15",r.PERCENT_20="pct20",r.PERCENT_25="pct25",r.PERCENT_30="pct30",r.PERCENT_35="pct35",r.PERCENT_37="pct37",r.PERCENT_40="pct40",r.PERCENT_45="pct45",r.PERCENT_50="pct50",r.PERCENT_55="pct55",r.PERCENT_60="pct60",r.PERCENT_62="pct62",r.PERCENT_65="pct65",r.PERCENT_70="pct70",r.PERCENT_75="pct75",r.PERCENT_80="pct80",r.PERCENT_85="pct85",r.PERCENT_87="pct87",r.PERCENT_90="pct90",r.PERCENT_95="pct95",r.REVERSE_DIAGONAL_STRIPE="reverseDiagStripe",r.SOLID="solid",r.THIN_DIAGONAL_CROSS="thinDiagCross",r.THIN_DIAGONAL_STRIPE="thinDiagStripe",r.THIN_HORIZONTAL_CROSS="thinHorzCross",r.THIN_REVERSE_DIAGONAL_STRIPE="thinReverseDiagStripe",r.THIN_VERTICAL_STRIPE="thinVertStripe",r.VERTICAL_STRIPE="vertStripe"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(269);class o extends i.XmlComponent{constructor({top:e=0,left:t=0,right:n=0,bottom:i=0}){super("w:tcMar"),this.root.push(new r.TopCellMargin(e)),this.root.push(new r.BottomCellMargin(i)),this.root.push(new r.RightCellMargin(n)),this.root.push(new r.LeftCellMargin(t))}}t.TableCellMargin=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={width:"w:w",type:"w:type"}}}class o extends i.XmlComponent{constructor(e){super("w:top"),this.root.push(new r({width:e,type:"dxa"}))}}t.TopCellMargin=o;class s extends i.XmlComponent{constructor(e){super("w:bottom"),this.root.push(new r({width:e,type:"dxa"}))}}t.BottomCellMargin=s;class a extends i.XmlComponent{constructor(e){super("w:start"),this.root.push(new r({width:e,type:"dxa"}))}}t.LeftCellMargin=a;class l extends i.XmlComponent{constructor(e){super("w:end"),this.root.push(new r({width:e,type:"dxa"}))}}t.RightCellMargin=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(1),o=n(39),s=n(10),a=n(104),l=n(276),c=n(109),u=n(111),h=n(277);class d extends i.IgnoreIfEmptyXmlComponent{constructor(){super("w:tblPr"),this.cellMargin=new l.TableCellMargin,this.root.push(this.cellMargin)}setWidth(e,t=s.WidthType.AUTO){return this.root.push(new h.PreferredTableWidth(t,e)),this}setLayout(e){this.root.push(new u.TableLayout(e))}setBorder(e){return this.root.push(new a.TableBorders(e)),this}get CellMargin(){return this.cellMargin}setTableFloatProperties(e){return this.root.push(new c.TableFloatProperties(e)),this}setShading(e){return this.root.push(new o.TableShading(e)),this}setAlignment(e){this.root.push(new r.Alignment(e))}}t.TableProperties=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(105);!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(273));class o extends i.XmlComponent{constructor(e){if(super("w:styles"),e.initialStyles&&this.root.push(e.initialStyles),e.importedStyles)for(let t of e.importedStyles)this.root.push(t);if(e.paragraphStyles)for(let t of e.paragraphStyles)this.root.push(new r.StyleForParagraph(t));if(e.characterStyles)for(let t of e.characterStyles)this.root.push(new r.StyleForCharacter(t))}}t.Styles=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(19),r=n(43),o=n(42);class s extends o.StyleForParagraph{constructor(e){super(Object.assign({},e,{basedOn:"Normal",next:"Normal",quickFormat:!0}))}}t.HeadingStyle=s;t.TitleStyle=class e extends s{constructor(e){super(Object.assign({},e,{id:"Title",name:"Title"}))}};t.Heading1Style=class e extends s{constructor(e){super(Object.assign({},e,{id:"Heading1",name:"Heading 1"}))}};t.Heading2Style=class e extends s{constructor(e){super(Object.assign({},e,{id:"Heading2",name:"Heading 2"}))}};t.Heading3Style=class e extends s{constructor(e){super(Object.assign({},e,{id:"Heading3",name:"Heading 3"}))}};t.Heading4Style=class e extends s{constructor(e){super(Object.assign({},e,{id:"Heading4",name:"Heading 4"}))}};t.Heading5Style=class e extends s{constructor(e){super(Object.assign({},e,{id:"Heading5",name:"Heading 5"}))}};t.Heading6Style=class e extends s{constructor(e){super(Object.assign({},e,{id:"Heading6",name:"Heading 6"}))}};t.StrongStyle=class e extends s{constructor(e){super(Object.assign({},e,{id:"Strong",name:"Strong"}))}};class a extends o.StyleForParagraph{constructor(e){super(Object.assign({},e,{id:"ListParagraph",name:"List Paragraph",basedOn:"Normal",quickFormat:!0}))}}t.ListParagraph=a;class l extends o.StyleForParagraph{constructor(e){super(Object.assign({},e,{id:"FootnoteText",name:"footnote text",link:"FootnoteTextChar",basedOn:"Normal",uiPriority:99,semiHidden:!0,unhideWhenUsed:!0,paragraph:{spacing:{after:0,line:240,lineRule:"auto"}},run:{size:20}}))}}t.FootnoteText=l;class c extends r.StyleForCharacter{constructor(e){super(Object.assign({},e,{id:"FootnoteReference",name:"footnote reference",basedOn:"DefaultParagraphFont",semiHidden:!0,run:{superScript:!0}}))}}t.FootnoteReferenceStyle=c;class u extends r.StyleForCharacter{constructor(e){super(Object.assign({},e,{id:"FootnoteTextChar",name:"Footnote Text Char",basedOn:"DefaultParagraphFont",link:"FootnoteText",semiHidden:!0,run:{size:20}}))}}t.FootnoteTextChar=u;class h extends r.StyleForCharacter{constructor(e){super(Object.assign({},e,{id:"Hyperlink",name:"Hyperlink",basedOn:"DefaultParagraphFont",run:{color:"0563C1",underline:{type:i.UnderlineType.SINGLE}}}))}}t.HyperlinkStyle=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(274))},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0}),(r=t.BorderStyle||(t.BorderStyle={})).SINGLE="single",r.DASH_DOT_STROKED="dashDotStroked",r.DASHED="dashed",r.DASH_SMALL_GAP="dashSmallGap",r.DOT_DASH="dotDash",r.DOT_DOT_DASH="dotDotDash",r.DOTTED="dotted",r.DOUBLE="double",r.DOUBLE_WAVE="doubleWave",r.INSET="inset",r.NIL="nil",r.NONE="none",r.OUTSET="outset",r.THICK="thick",r.THICK_THIN_LARGE_GAP="thickThinLargeGap",r.THICK_THIN_MEDIUM_GAP="thickThinMediumGap",r.THICK_THIN_SMALL_GAP="thickThinSmallGap",r.THIN_THICK_LARGE_GAP="thinThickLargeGap",r.THIN_THICK_MEDIUM_GAP="thinThickMediumGap",r.THIN_THICK_SMALL_GAP="thinThickSmallGap",r.THIN_THICK_THIN_LARGE_GAP="thinThickThinLargeGap",r.THIN_THICK_THIN_MEDIUM_GAP="thinThickThinMediumGap",r.THIN_THICK_THIN_SMALL_GAP="thinThickThinSmallGap",r.THREE_D_EMBOSS="threeDEmboss",r.THREE_D_ENGRAVE="threeDEngrave",r.TRIPLE="triple",r.WAVE="wave"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(107),o=n(108);class s extends i.XmlComponent{constructor(e){super("w:docDefaults"),this.runPropertiesDefaults=new o.RunPropertiesDefaults(e&&e.run),this.paragraphPropertiesDefaults=new r.ParagraphPropertiesDefaults(e&&e.paragraph),this.root.push(this.runPropertiesDefaults),this.root.push(this.paragraphPropertiesDefaults)}}t.DocumentDefaults=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(10);class o extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={value:"w:w",type:"w:type"}}}class s extends i.XmlComponent{setProperties(e,t=r.WidthType.DXA){this.root.push(new o({type:t,value:e}))}}class a extends i.IgnoreIfEmptyXmlComponent{constructor(){super("w:tblCellMar")}addTopMargin(e,t=r.WidthType.DXA){let n=new s("w:top");n.setProperties(e,t),this.root.push(n)}addLeftMargin(e,t=r.WidthType.DXA){let n=new s("w:left");n.setProperties(e,t),this.root.push(n)}addBottomMargin(e,t=r.WidthType.DXA){let n=new s("w:bottom");n.setProperties(e,t),this.root.push(n)}addRightMargin(e,t=r.WidthType.DXA){let n=new s("w:right");n.setProperties(e,t),this.root.push(n)}}t.TableCellMargin=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(10);class o extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={type:"w:type",w:"w:w"}}}class s extends i.XmlComponent{constructor(e,t){super("w:tblW");let n=e===r.WidthType.PERCENTAGE?`${t}%`:t;this.root.push(new o({type:e,w:n}))}}t.PreferredTableWidth=s},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(279)),i(n(112)),i(n(113))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(10),o=n(112);class s extends i.XmlComponent{constructor(e){for(let t of(super("w:tr"),this.options=e,this.properties=new o.TableRowProperties,this.root.push(this.properties),e.children))this.root.push(t);e.cantSplit&&this.properties.setCantSplit(),e.tableHeader&&this.properties.setTableHeader(),e.height&&this.properties.setHeight(e.height.height,e.height.rule)}get CellCount(){return this.options.children.length}get Children(){return this.options.children}get cells(){return this.root.filter(e=>e instanceof r.TableCell)}addCellToIndex(e,t){this.root.splice(t+1,0,e)}addCellToColumnIndex(e,t){let n=this.columnIndexToRootIndex(t,!0);this.addCellToIndex(e,n-1)}rootIndexToColumnIndex(e){if(e<1||e>=this.root.length)throw Error(`cell 'rootIndex' should between 1 to ${this.root.length-1}`);let t=0;for(let n=1;n<e;n++)t+=this.root[n].options.columnSpan||1;return t}columnIndexToRootIndex(e,t=!1){if(e<0)throw Error("cell 'columnIndex' should not less than zero");let n=0,i=1;for(;n<=e;){if(i>=this.root.length){if(t)return this.root.length;throw Error(`cell 'columnIndex' should not great than ${n-1}`)}let e=this.root[i];i+=1,n+=e&&e.options.columnSpan||1}return i-1}}t.TableRow=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(86),r=n(281),o=n(283),s=n(289),a=n(114),l=n(129),c=n(46),u=n(131),h=n(132),d=n(49),p=n(50),f=n(133),m=n(1),g=n(47),v=n(48),y=n(332),b=n(23),w=n(337),_=n(338);t.File=class e{constructor(e={creator:"Un-named",revision:"1",lastModifiedBy:"Un-named"},t={},n=[]){if(this.currentRelationshipId=1,this.headers=[],this.footers=[],this.hyperlinkCache={},this.coreProperties=new s.CoreProperties(e),this.numbering=new f.Numbering(e.numbering?e.numbering:{config:[]}),this.docRelationships=new g.Relationships,this.fileRelationships=new g.Relationships,this.appProperties=new r.AppProperties,this.footNotes=new u.FootNotes,this.contentTypes=new o.ContentTypes,this.document=new a.Document({background:e.background||{}}),this.settings=new y.Settings,this.media=t.template&&t.template.media?t.template.media:new p.Media,t.template&&(this.currentRelationshipId=t.template.currentRelationshipId+1),t.template&&e.externalStyles)throw Error("can not use both template and external styles");if(t.template){let e=new w.ExternalStylesFactory;this.styles=e.newInstance(t.template.styles)}else if(e.externalStyles){let t=new w.ExternalStylesFactory;this.styles=t.newInstance(e.externalStyles)}else if(e.styles){let t=new _.DefaultStylesFactory().newInstance(e.styles.default);this.styles=new b.Styles(Object.assign({},t,e.styles))}else{let e=new _.DefaultStylesFactory;this.styles=new b.Styles(e.newInstance())}if(this.addDefaultRelationships(),t.template&&t.template.headers)for(let e of t.template.headers)this.addHeaderToDocument(e.header,e.type);if(t.template&&t.template.footers)for(let e of t.template.footers)this.addFooterToDocument(e.footer,e.type);for(let e of n)for(let t of(this.document.Body.addSection(e.properties?e.properties:{}),e.children)){if(t instanceof m.HyperlinkRef){let e=this.hyperlinkCache[t.id];this.document.add(e);continue}this.document.add(t)}if(e.footnotes)for(let t of e.footnotes)this.footNotes.createFootNote(t);if(e.hyperlinks){let t={};for(let n in e.hyperlinks){if(!e.hyperlinks[n])continue;let i=e.hyperlinks[n],r=i.type===m.HyperlinkType.EXTERNAL?this.createHyperlink(i.link,i.text):this.createInternalHyperLink(n,i.text);t[n]=r}this.hyperlinkCache=t}e.features&&e.features.trackRevisions&&this.settings.addTrackRevisions()}addSection({headers:e={default:new h.Header},footers:t={default:new h.Header},margins:n={},size:i={},properties:r,children:o}){for(let s of(this.document.Body.addSection(Object.assign({},r,{headers:{default:e.default?this.createHeader(e.default):this.createHeader(new h.Header),first:e.first?this.createHeader(e.first):void 0,even:e.even?this.createHeader(e.even):void 0},footers:{default:t.default?this.createFooter(t.default):this.createFooter(new h.Footer),first:t.first?this.createFooter(t.first):void 0,even:t.even?this.createFooter(t.even):void 0}},n,i)),o)){if(s instanceof m.HyperlinkRef){let e=this.hyperlinkCache[s.id];this.document.add(e);continue}this.document.add(s)}}verifyUpdateFields(){this.document.getTablesOfContents().length&&this.settings.addUpdateFields()}createHyperlink(e,t=e){let n=new m.Hyperlink(t,i.generate().toLowerCase());return this.docRelationships.createRelationship(n.linkId,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",e,v.TargetModeType.EXTERNAL),n}createInternalHyperLink(e,t=e){return new m.Hyperlink(t,i.generate().toLowerCase(),e)}createHeader(e){let t=new d.HeaderWrapper(this.media,this.currentRelationshipId++);for(let n of e.options.children)t.add(n);return this.addHeaderToDocument(t),t}createFooter(e){let t=new c.FooterWrapper(this.media,this.currentRelationshipId++);for(let n of e.options.children)t.add(n);return this.addFooterToDocument(t),t}addHeaderToDocument(e,t=l.HeaderReferenceType.DEFAULT){this.headers.push({header:e,type:t}),this.docRelationships.createRelationship(e.Header.ReferenceId,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header",`header${this.headers.length}.xml`),this.contentTypes.addHeader(this.headers.length)}addFooterToDocument(e,t=l.FooterReferenceType.DEFAULT){this.footers.push({footer:e,type:t}),this.docRelationships.createRelationship(e.Footer.ReferenceId,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",`footer${this.footers.length}.xml`),this.contentTypes.addFooter(this.footers.length)}addDefaultRelationships(){this.fileRelationships.createRelationship(1,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument","word/document.xml"),this.fileRelationships.createRelationship(2,"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties","docProps/core.xml"),this.fileRelationships.createRelationship(3,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties","docProps/app.xml"),this.docRelationships.createRelationship(this.currentRelationshipId++,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles","styles.xml"),this.docRelationships.createRelationship(this.currentRelationshipId++,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering","numbering.xml"),this.docRelationships.createRelationship(this.currentRelationshipId++,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes","footnotes.xml"),this.docRelationships.createRelationship(this.currentRelationshipId++,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings","settings.xml")}get Document(){return this.document}get Styles(){return this.styles}get CoreProperties(){return this.coreProperties}get Numbering(){return this.numbering}get Media(){return this.media}get DocumentRelationships(){return this.docRelationships}get FileRelationships(){return this.fileRelationships}get Headers(){return this.headers.map(e=>e.header)}get Footers(){return this.footers.map(e=>e.footer)}get ContentTypes(){return this.contentTypes}get AppProperties(){return this.appProperties}get FootNotes(){return this.footNotes}get Settings(){return this.settings}get HyperlinkCache(){return this.hyperlinkCache}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(282);class o extends i.XmlComponent{constructor(){super("Properties"),this.root.push(new r.AppPropertiesAttributes({xmlns:"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"}))}}t.AppProperties=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={xmlns:"xmlns",vt:"xmlns:vt"}}}t.AppPropertiesAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(284),o=n(285),s=n(287);class a extends i.XmlComponent{constructor(){super("Types"),this.root.push(new r.ContentTypeAttributes({xmlns:"http://schemas.openxmlformats.org/package/2006/content-types"})),this.root.push(new o.Default("image/png","png")),this.root.push(new o.Default("image/jpeg","jpeg")),this.root.push(new o.Default("image/jpeg","jpg")),this.root.push(new o.Default("image/bmp","bmp")),this.root.push(new o.Default("image/gif","gif")),this.root.push(new o.Default("application/vnd.openxmlformats-package.relationships+xml","rels")),this.root.push(new o.Default("application/xml","xml")),this.root.push(new s.Override("application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml","/word/document.xml")),this.root.push(new s.Override("application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml","/word/styles.xml")),this.root.push(new s.Override("application/vnd.openxmlformats-package.core-properties+xml","/docProps/core.xml")),this.root.push(new s.Override("application/vnd.openxmlformats-officedocument.extended-properties+xml","/docProps/app.xml")),this.root.push(new s.Override("application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml","/word/numbering.xml")),this.root.push(new s.Override("application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml","/word/footnotes.xml")),this.root.push(new s.Override("application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml","/word/settings.xml"))}addFooter(e){this.root.push(new s.Override("application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml",`/word/footer${e}.xml`))}addHeader(e){this.root.push(new s.Override("application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml",`/word/header${e}.xml`))}}t.ContentTypes=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={xmlns:"xmlns"}}}t.ContentTypeAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(286);class o extends i.XmlComponent{constructor(e,t){super("Default"),this.root.push(new r.DefaultAttributes({contentType:e,extension:t}))}}t.Default=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={contentType:"ContentType",extension:"Extension"}}}t.DefaultAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(288);class o extends i.XmlComponent{constructor(e,t){super("Override"),this.root.push(new r.OverrideAttributes({contentType:e,partName:t}))}}t.Override=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={contentType:"ContentType",partName:"PartName"}}}t.OverrideAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(290))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(11),o=n(291);class s extends i.XmlComponent{constructor(e){super("cp:coreProperties"),this.root.push(new r.DocumentAttributes({cp:"http://schemas.openxmlformats.org/package/2006/metadata/core-properties",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",xsi:"http://www.w3.org/2001/XMLSchema-instance"})),e.title&&this.root.push(new o.Title(e.title)),e.subject&&this.root.push(new o.Subject(e.subject)),e.creator&&this.root.push(new o.Creator(e.creator)),e.keywords&&this.root.push(new o.Keywords(e.keywords)),e.description&&this.root.push(new o.Description(e.description)),e.lastModifiedBy&&this.root.push(new o.LastModifiedBy(e.lastModifiedBy)),e.revision&&this.root.push(new o.Revision(e.revision)),this.root.push(new o.Created),this.root.push(new o.Modified)}}t.CoreProperties=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(11);class o extends i.XmlComponent{constructor(e){super("dc:title"),this.root.push(e)}}t.Title=o;class s extends i.XmlComponent{constructor(e){super("dc:subject"),this.root.push(e)}}t.Subject=s;class a extends i.XmlComponent{constructor(e){super("dc:creator"),this.root.push(e)}}t.Creator=a;class l extends i.XmlComponent{constructor(e){super("cp:keywords"),this.root.push(e)}}t.Keywords=l;class c extends i.XmlComponent{constructor(e){super("dc:description"),this.root.push(e)}}t.Description=c;class u extends i.XmlComponent{constructor(e){super("cp:lastModifiedBy"),this.root.push(e)}}t.LastModifiedBy=u;class h extends i.XmlComponent{constructor(e){super("cp:revision"),this.root.push(e)}}t.Revision=h;class d extends i.XmlComponent{getCurrentDate(){let e=new Date,t=e.getFullYear(),n=("0"+(e.getMonth()+1)).slice(-2),i=("0"+e.getDate()).slice(-2),r=("0"+e.getHours()).slice(-2),o=("0"+e.getMinutes()).slice(-2);return t+"-"+n+"-"+i+"T"+r+":"+o+":"+("0"+e.getSeconds()).slice(-2)+"Z"}}t.DateComponent=d;t.Created=class e extends d{constructor(){super("dcterms:created"),this.root.push(new r.DocumentAttributes({type:"dcterms:W3CDTF"})),this.root.push(this.getCurrentDate())}};t.Modified=class e extends d{constructor(){super("dcterms:modified"),this.root.push(new r.DocumentAttributes({type:"dcterms:W3CDTF"})),this.root.push(this.getCurrentDate())}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(115),o=n(11),s=n(130);class a extends i.XmlComponent{constructor(e){super("w:document"),this.root.push(new o.DocumentAttributes({wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wpi:"http://schemas.microsoft.com/office/word/2010/wordprocessingInk",wne:"http://schemas.microsoft.com/office/word/2006/wordml",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape",Ignorable:"w14 w15 wp14"})),this.body=new r.Body,this.root.push(new s.DocumentBackground(e.background)),this.root.push(this.body)}add(e){return this.body.push(e),this}get Body(){return this.body}getTablesOfContents(){return this.body.getTablesOfContents()}}t.Document=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(12),o=n(116);class s extends i.XmlComponent{constructor(){super("w:body"),this.sections=[]}addSection(e){let t=this.sections.pop();this.root.push(this.createSectionParagraph(t)),this.sections.push(new o.SectionProperties(e))}prepForXml(e){return 1===this.sections.length&&(this.root.splice(0,1),this.root.push(this.sections.pop())),super.prepForXml(e)}push(e){this.root.push(e)}getTablesOfContents(){return this.root.filter(e=>e instanceof r.TableOfContents)}createSectionParagraph(e){let t=new r.Paragraph({}),n=new r.ParagraphProperties({});return n.push(e),t.addChildElement(n),t}}t.Body=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(295);class o extends i.XmlComponent{constructor(e,t){super("w:cols"),this.root.push(new r.ColumnsAttributes({space:e,num:t}))}}t.Columns=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={space:"w:space",num:"w:num"}}}t.ColumnsAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(297);class o extends i.XmlComponent{constructor(e){super("w:docGrid"),this.root.push(new r.DocGridAttributes({linePitch:e}))}}t.DocumentGrid=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={linePitch:"w:linePitch"}}}t.DocGridAttributes=r},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=t.LineNumberRestartFormat||(t.LineNumberRestartFormat={})).CONTINUOUS="continuous",r.NEW_SECTION="newSection",r.NEW_PAGE="newPage";class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={lineNumberCountBy:"w:countBy",lineNumberStart:"w:start",lineNumberRestart:"w:restart",lineNumberDistance:"w:distance"}}}t.LineNumberAttributes=s;class a extends o.XmlComponent{constructor(e,t,n,i){super("w:lnNumType"),this.root.push(new s({lineNumberCountBy:e,lineNumberStart:t,lineNumberRestart:n,lineNumberDistance:i}))}}t.LineNumberType=a},function(e,t,n){"use strict";var i,r,o,s,a,l;Object.defineProperty(t,"__esModule",{value:!0});let c=n(0);(s=t.PageBorderDisplay||(t.PageBorderDisplay={})).ALL_PAGES="allPages",s.FIRST_PAGE="firstPage",s.NOT_FIRST_PAGE="notFirstPage",(a=t.PageBorderOffsetFrom||(t.PageBorderOffsetFrom={})).PAGE="page",a.TEXT="text",(l=t.PageBorderZOrder||(t.PageBorderZOrder={})).BACK="back",l.FRONT="front";class u extends c.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={style:"w:val",size:"w:size",color:"w:color",space:"w:space"}}}class h extends c.XmlComponent{constructor(e,t){super(e),this.root.push(new u(t))}}class d extends c.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={display:"w:display",offsetFrom:"w:offsetFrom",zOrder:"w:zOrder"}}}class p extends c.IgnoreIfEmptyXmlComponent{constructor(e){if(super("w:pgBorders"),!e)return;let t={};e.pageBorders&&(t={display:e.pageBorders.display,offsetFrom:e.pageBorders.offsetFrom,zOrder:e.pageBorders.zOrder}),this.root.push(new d(t)),e.pageBorderTop&&this.root.push(new h("w:top",e.pageBorderTop)),e.pageBorderRight&&this.root.push(new h("w:right",e.pageBorderRight)),e.pageBorderBottom&&this.root.push(new h("w:bottom",e.pageBorderBottom)),e.pageBorderLeft&&this.root.push(new h("w:left",e.pageBorderLeft))}}t.PageBorders=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(301);class o extends i.XmlComponent{constructor(e,t,n,i,o,s,a,l){super("w:pgMar"),this.root.push(new r.PageMarginAttributes({top:e,right:t,bottom:n,left:i,header:o,footer:s,gutter:a,mirror:l}))}}t.PageMargin=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={top:"w:top",right:"w:right",bottom:"w:bottom",left:"w:left",header:"w:header",footer:"w:footer",gutter:"w:gutter",mirror:"w:mirrorMargins"}}}t.PageMarginAttributes=r},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=t.PageNumberFormat||(t.PageNumberFormat={})).CARDINAL_TEXT="cardinalText",r.DECIMAL="decimal",r.DECIMAL_ENCLOSED_CIRCLE="decimalEnclosedCircle",r.DECIMAL_ENCLOSED_FULL_STOP="decimalEnclosedFullstop",r.DECIMAL_ENCLOSED_PAREN="decimalEnclosedParen",r.DECIMAL_ZERO="decimalZero",r.LOWER_LETTER="lowerLetter",r.LOWER_ROMAN="lowerRoman",r.NONE="none",r.ORDINAL_TEXT="ordinalText",r.UPPER_LETTER="upperLetter",r.UPPER_ROMAN="upperRoman",r.DECIMAL_FULL_WIDTH="decimalFullWidth";class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={pageNumberStart:"w:start",pageNumberFormatType:"w:fmt"}}}t.PageNumberTypeAttributes=s;class a extends o.XmlComponent{constructor(e,t){super("w:pgNumType"),this.root.push(new s({pageNumberStart:e,pageNumberFormatType:t}))}}t.PageNumberType=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(304);class o extends i.XmlComponent{constructor(){super("w:titlePg"),this.root.push(new r.TitlePageAttributes({value:"1"}))}}t.TitlePage=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={value:"w:val"}}}t.TitlePageAttributes=r},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0),s=n(128);(r=t.SectionVerticalAlignValue||(t.SectionVerticalAlignValue={})).BOTH="both",r.BOTTOM="bottom",r.CENTER="center",r.TOP="top";class a extends o.XmlComponent{constructor(e){super("w:vAlign"),this.root.push(new s.SectionVerticalAlignAttributes({verticalAlign:e}))}}t.SectionVerticalAlign=a},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(126)),i(n(45))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={color:"w:color",themeColor:"w:themeColor",themeShade:"w:themeShade",themeTint:"w:themeTint"}}}t.DocumentBackgroundAttributes=r;class o extends i.XmlComponent{constructor(e){super("w:background"),this.root.push(new r({color:e.color?e.color:"FFFFFF",themeColor:e.themeColor,themeShade:e.themeShade,themeTint:e.themeTint}))}}t.DocumentBackground=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(309);class o extends i.InitializableXmlComponent{constructor(e,t){super("w:ftr",t),this.refId=e,!t&&this.root.push(new r.FooterAttributes({wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wpi:"http://schemas.microsoft.com/office/word/2010/wordprocessingInk",wne:"http://schemas.microsoft.com/office/word/2006/wordml",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape"}))}get ReferenceId(){return this.refId}add(e){this.root.push(e)}}t.Footer=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={wpc:"xmlns:wpc",mc:"xmlns:mc",o:"xmlns:o",r:"xmlns:r",m:"xmlns:m",v:"xmlns:v",wp14:"xmlns:wp14",wp:"xmlns:wp",w10:"xmlns:w10",w:"xmlns:w",w14:"xmlns:w14",w15:"xmlns:w15",wpg:"xmlns:wpg",wpi:"xmlns:wpi",wne:"xmlns:wne",wps:"xmlns:wps",cp:"xmlns:cp",dc:"xmlns:dc",dcterms:"xmlns:dcterms",dcmitype:"xmlns:dcmitype",xsi:"xmlns:xsi",type:"xsi:type"}}}t.FooterAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(311),o=n(48);class s extends i.XmlComponent{constructor(){super("Relationships"),this.root.push(new r.RelationshipsAttributes({xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"}))}addRelationship(e){this.root.push(e)}createRelationship(e,t,n,i){let r=new o.Relationship(`rId${e}`,t,n,i);return this.addRelationship(r),r}get RelationshipCount(){return this.root.length-1}}t.Relationships=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={xmlns:"xmlns"}}}t.RelationshipsAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={id:"Id",type:"Type",target:"Target",targetMode:"TargetMode"}}}t.RelationshipAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(1),o=n(314),s=n(318),a=n(320),l=n(322);class c extends i.XmlComponent{constructor(){super("w:footnotes"),this.currentId=1,this.root.push(new l.FootnotesAttributes({wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wpi:"http://schemas.microsoft.com/office/word/2010/wordprocessingInk",wne:"http://schemas.microsoft.com/office/word/2006/wordml",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape",Ignorable:"w14 w15 wp14"}));let e=new o.Footnote(-1,o.FootnoteType.SEPERATOR);e.add(new r.Paragraph({spacing:{after:0,line:240,lineRule:"auto"},children:[new a.SeperatorRun]})),this.root.push(e);let t=new o.Footnote(0,o.FootnoteType.CONTINUATION_SEPERATOR);t.add(new r.Paragraph({spacing:{after:0,line:240,lineRule:"auto"},children:[new s.ContinuationSeperatorRun]})),this.root.push(t)}createFootNote(e){let t=new o.Footnote(this.currentId);t.add(e),this.root.push(t),this.currentId++}}t.FootNotes=c},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0),s=n(315),a=n(316);(r=t.FootnoteType||(t.FootnoteType={})).SEPERATOR="separator",r.CONTINUATION_SEPERATOR="continuationSeparator";class l extends o.XmlComponent{constructor(e,t){super("w:footnote"),this.root.push(new s.FootnoteAttributes({type:t,id:e}))}add(e){e.addRunToFront(new a.FootnoteRefRun),this.root.push(e)}}t.Footnote=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={type:"w:type",id:"w:id"}}}t.FootnoteAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(1),r=n(317);class o extends i.Run{constructor(){super({style:"FootnoteReference"}),this.root.push(new r.FootnoteRef)}}t.FootnoteRefRun=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:footnoteRef")}}t.FootnoteRef=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(1),r=n(319);class o extends i.Run{constructor(){super({}),this.root.push(new r.ContinuationSeperator)}}t.ContinuationSeperatorRun=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:continuationSeparator")}}t.ContinuationSeperator=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(1),r=n(321);class o extends i.Run{constructor(){super({}),this.root.push(new r.Seperator)}}t.SeperatorRun=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:separator")}}t.Seperator=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={wpc:"xmlns:wpc",mc:"xmlns:mc",o:"xmlns:o",r:"xmlns:r",m:"xmlns:m",v:"xmlns:v",wp14:"xmlns:wp14",wp:"xmlns:wp",w10:"xmlns:w10",w:"xmlns:w",w14:"xmlns:w14",w15:"xmlns:w15",wpg:"xmlns:wpg",wpi:"xmlns:wpi",wne:"xmlns:wne",wps:"xmlns:wps",Ignorable:"mc:Ignorable"}}}t.FootnotesAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(324))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(325))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(3),r=n(70),o=n(0);class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={id:"w:id"}}}t.FootNoteReferenceRunAttributes=s;class a extends o.XmlComponent{constructor(e){super("w:footnoteReference"),this.root.push(new s({id:e}))}}t.FootnoteReference=a;class l extends i.Run{constructor(e){super({}),this.properties.push(new r.Style("FootnoteReference")),this.root.push(new a(e))}}t.FootnoteReferenceRun=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(327);class o extends i.InitializableXmlComponent{constructor(e,t){super("w:hdr",t),this.refId=e,!t&&this.root.push(new r.HeaderAttributes({wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wpi:"http://schemas.microsoft.com/office/word/2010/wordprocessingInk",wne:"http://schemas.microsoft.com/office/word/2006/wordml",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape",cx:"http://schemas.microsoft.com/office/drawing/2014/chartex",cx1:"http://schemas.microsoft.com/office/drawing/2015/9/8/chartex",cx2:"http://schemas.microsoft.com/office/drawing/2015/10/21/chartex",cx3:"http://schemas.microsoft.com/office/drawing/2016/5/9/chartex",cx4:"http://schemas.microsoft.com/office/drawing/2016/5/10/chartex",cx5:"http://schemas.microsoft.com/office/drawing/2016/5/11/chartex",cx6:"http://schemas.microsoft.com/office/drawing/2016/5/12/chartex",cx7:"http://schemas.microsoft.com/office/drawing/2016/5/13/chartex",cx8:"http://schemas.microsoft.com/office/drawing/2016/5/14/chartex",w16cid:"http://schemas.microsoft.com/office/word/2016/wordml/cid",w16se:"http://schemas.microsoft.com/office/word/2015/wordml/symex"}))}get ReferenceId(){return this.refId}add(e){this.root.push(e)}}t.Header=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={wpc:"xmlns:wpc",mc:"xmlns:mc",o:"xmlns:o",r:"xmlns:r",m:"xmlns:m",v:"xmlns:v",wp14:"xmlns:wp14",wp:"xmlns:wp",w10:"xmlns:w10",w:"xmlns:w",w14:"xmlns:w14",w15:"xmlns:w15",wpg:"xmlns:wpg",wpi:"xmlns:wpi",wne:"xmlns:wne",wps:"xmlns:wps",cp:"xmlns:cp",dc:"xmlns:dc",dcterms:"xmlns:dcterms",dcmitype:"xmlns:dcmitype",xsi:"xmlns:xsi",type:"xsi:type",cx:"xmlns:cx",cx1:"xmlns:cx1",cx2:"xmlns:cx2",cx3:"xmlns:cx3",cx4:"xmlns:cx4",cx5:"xmlns:cx5",cx6:"xmlns:cx6",cx7:"xmlns:cx7",cx8:"xmlns:cx8",w16cid:"xmlns:w16cid",w16se:"xmlns:w16se"}}}t.HeaderAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(1);class r{static addImage(e,t,n,r,o){let s=e.Media.addMedia(t,n,r);return new i.PictureRun(s,o)}static generateId(){return Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)}constructor(){this.map=new Map}getMedia(e){let t=this.map.get(e);if(void 0===t)throw Error(`Cannot find image with the key ${e}`);return t}addMedia(e,t=100,n=100){let i=`${r.generateId()}.png`;return this.createMedia(i,{width:t,height:n},e)}createMedia(e,t,n,i){let r={stream:"string"==typeof n?this.convertDataURIToBinary(n):n,path:i,fileName:e,dimensions:{pixels:{x:Math.round(t.width),y:Math.round(t.height)},emus:{x:Math.round(9525*t.width),y:Math.round(9525*t.height)}}};return this.map.set(e,r),r}get Array(){let e=[];return this.map.forEach(t=>{e.push(t)}),e}convertDataURIToBinary(e){let t=";base64,",i=e.indexOf(t)+t.length;return"function"==typeof atob?new Uint8Array(atob(e.substring(i)).split("").map(e=>e.charCodeAt(0))):new(n(6)).Buffer(e,"base64")}}t.Media=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WORKAROUND2=""},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(44),r=n(1),o=n(0),s=n(11),a=n(134),l=n(24),c=n(135);class u extends o.XmlComponent{constructor(e){super("w:numbering"),this.abstractNumbering=[],this.concreteNumbering=[],this.root.push(new s.DocumentAttributes({wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wpi:"http://schemas.microsoft.com/office/word/2010/wordprocessingInk",wne:"http://schemas.microsoft.com/office/word/2006/wordml",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape",Ignorable:"w14 w15 wp14"})),this.nextId=0;let t=this.createAbstractNumbering([{level:0,format:l.LevelFormat.BULLET,text:"●",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:i.convertInchesToTwip(.5),hanging:i.convertInchesToTwip(.25)}}}},{level:1,format:l.LevelFormat.BULLET,text:"○",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:i.convertInchesToTwip(1),hanging:i.convertInchesToTwip(.25)}}}},{level:2,format:l.LevelFormat.BULLET,text:"■",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:2160,hanging:i.convertInchesToTwip(.25)}}}},{level:3,format:l.LevelFormat.BULLET,text:"●",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:2880,hanging:i.convertInchesToTwip(.25)}}}},{level:4,format:l.LevelFormat.BULLET,text:"○",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:3600,hanging:i.convertInchesToTwip(.25)}}}},{level:5,format:l.LevelFormat.BULLET,text:"■",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:4320,hanging:i.convertInchesToTwip(.25)}}}},{level:6,format:l.LevelFormat.BULLET,text:"●",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:5040,hanging:i.convertInchesToTwip(.25)}}}},{level:7,format:l.LevelFormat.BULLET,text:"●",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:5760,hanging:i.convertInchesToTwip(.25)}}}},{level:8,format:l.LevelFormat.BULLET,text:"●",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:6480,hanging:i.convertInchesToTwip(.25)}}}}]);for(let n of(this.createConcreteNumbering(t),e.config)){let e=this.createAbstractNumbering(n.levels);this.createConcreteNumbering(e,n.reference)}}prepForXml(){return this.abstractNumbering.forEach(e=>this.root.push(e)),this.concreteNumbering.forEach(e=>this.root.push(e)),super.prepForXml()}createConcreteNumbering(e,t){let n=new c.ConcreteNumbering(this.nextId++,e.id,t);return this.concreteNumbering.push(n),n}createAbstractNumbering(e){let t=new a.AbstractNumbering(this.nextId++,e);return this.abstractNumbering.push(t),t}get ConcreteNumbering(){return this.concreteNumbering}}t.Numbering=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){super("w:multiLevelType"),this.root.push(new i.Attributes({val:e}))}}t.MultiLevelType=r},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(333)),i(n(136))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(334),o=n(335),s=n(336),a=n(136);class l extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={wpc:"xmlns:wpc",mc:"xmlns:mc",o:"xmlns:o",r:"xmlns:r",m:"xmlns:m",v:"xmlns:v",wp14:"xmlns:wp14",wp:"xmlns:wp",w10:"xmlns:w10",w:"xmlns:w",w14:"xmlns:w14",w15:"xmlns:w15",wpg:"xmlns:wpg",wpi:"xmlns:wpi",wne:"xmlns:wne",wps:"xmlns:wps",Ignorable:"mc:Ignorable"}}}t.SettingsAttributes=l;class c extends i.XmlComponent{constructor(){super("w:settings"),this.root.push(new l({wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wpi:"http://schemas.microsoft.com/office/word/2010/wordprocessingInk",wne:"http://schemas.microsoft.com/office/word/2006/wordml",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape",Ignorable:"w14 w15 wp14"})),this.compatibility=new r.Compatibility,this.trackRevisions=new s.TrackRevisions,this.root.push(new o.DisplayBackgroundShape)}addUpdateFields(){!this.root.find(e=>e instanceof a.UpdateFields)&&this.addChildElement(new a.UpdateFields)}addCompatibility(){return!this.root.find(e=>e instanceof r.Compatibility)&&this.addChildElement(this.compatibility),this.compatibility}addTrackRevisions(){return!this.root.find(e=>e instanceof s.TrackRevisions)&&this.addChildElement(this.trackRevisions),this.trackRevisions}}t.Settings=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:doNotExpandShiftReturn")}}class o extends i.XmlComponent{constructor(){super("w:compat")}doNotExpandShiftReturn(){return this.root.push(new r),this}}t.Compatibility=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:displayBackgroundShape")}}t.DisplayBackgroundShape=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:trackRevisions")}}t.TrackRevisions=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(26),o=n(23);t.ExternalStylesFactory=class e{newInstance(e){let t;for(let n of r.xml2js(e,{compact:!1}).elements||[])"w:styles"===n.name&&(t=n);if(void 0===t)throw Error("can not find styles element");let n=t.elements||[];return new o.Styles({initialStyles:new i.ImportedRootElementAttributes(t.attributes),importedStyles:n.map(e=>i.convertToXmlComponent(e))})}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(11),r=n(106),o=n(105);t.DefaultStylesFactory=class e{newInstance(e={}){return{initialStyles:new i.DocumentAttributes({mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",Ignorable:"w14 w15"}),importedStyles:[new r.DocumentDefaults(e.document),new o.TitleStyle(Object.assign({run:{size:56}},e.title)),new o.Heading1Style(Object.assign({run:{color:"2E74B5",size:32}},e.heading1)),new o.Heading2Style(Object.assign({run:{color:"2E74B5",size:26}},e.heading2)),new o.Heading3Style(Object.assign({run:{color:"1F4D78",size:24}},e.heading3)),new o.Heading4Style(Object.assign({run:{color:"2E74B5",italics:!0}},e.heading4)),new o.Heading5Style(Object.assign({run:{color:"2E74B5"}},e.heading5)),new o.Heading6Style(Object.assign({run:{color:"1F4D78"}},e.heading6)),new o.StrongStyle(Object.assign({run:{bold:!0}},e.strong)),new o.ListParagraph(e.listParagraph||{}),new o.HyperlinkStyle(e.hyperlink||{}),new o.FootnoteReferenceStyle(e.footnoteReference||{}),new o.FootnoteText(e.footnoteText||{}),new o.FootnoteTextChar(e.footnoteTextChar||{})]}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WORKAROUND=""},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(341)),i(n(346))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(1),r=n(3),o=n(18),s=n(0),a=n(342),l=n(343),c=n(344);class u extends s.XmlComponent{constructor(e="Table of Contents",t){super("w:sdt"),this.root.push(new c.StructuredDocumentTagProperties(e));let n=new l.StructuredDocumentTagContent,s=new i.Paragraph({children:[new r.Run({children:[new o.Begin(!0),new a.FieldInstruction(t),new o.Separate]})]});n.addChildElement(s);let u=new i.Paragraph({children:[new r.Run({children:[new o.End]})]});n.addChildElement(u),this.root.push(n)}}t.TableOfContents=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(8),r=n(0);class o extends r.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={space:"xml:space"}}}class s extends r.XmlComponent{constructor(e={}){super("w:instrText"),this.properties=e,this.root.push(new o({space:i.SpaceType.PRESERVE}));let t="TOC";if(this.properties.captionLabel&&(t=`${t} \\a "${this.properties.captionLabel}"`),this.properties.entriesFromBookmark&&(t=`${t} \\b "${this.properties.entriesFromBookmark}"`),this.properties.captionLabelIncludingNumbers&&(t=`${t} \\c "${this.properties.captionLabelIncludingNumbers}"`),this.properties.sequenceAndPageNumbersSeparator&&(t=`${t} \\d "${this.properties.sequenceAndPageNumbersSeparator}"`),this.properties.tcFieldIdentifier&&(t=`${t} \\f "${this.properties.tcFieldIdentifier}"`),this.properties.hyperlink&&(t=`${t} \\h`),this.properties.tcFieldLevelRange&&(t=`${t} \\l "${this.properties.tcFieldLevelRange}"`),this.properties.pageNumbersEntryLevelsRange&&(t=`${t} \\n "${this.properties.pageNumbersEntryLevelsRange}"`),this.properties.headingStyleRange&&(t=`${t} \\o "${this.properties.headingStyleRange}"`),this.properties.entryAndPageNumberSeparator&&(t=`${t} \\p "${this.properties.entryAndPageNumberSeparator}"`),this.properties.seqFieldIdentifierForPrefix&&(t=`${t} \\s "${this.properties.seqFieldIdentifierForPrefix}"`),this.properties.stylesWithLevels&&this.properties.stylesWithLevels.length){let e=this.properties.stylesWithLevels.map(e=>`${e.styleName},${e.level}`).join(",");t=`${t} \\t "${e}"`}this.properties.useAppliedParagraphOutlineLevel&&(t=`${t} \\u`),this.properties.preserveTabInEntries&&(t=`${t} \\w`),this.properties.preserveNewLineInEntries&&(t=`${t} \\x`),this.properties.hideTabAndPageNumbersInWebView&&(t=`${t} \\z`),this.root.push(t)}}t.FieldInstruction=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:sdtContent")}}t.StructuredDocumentTagContent=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(345);class o extends i.XmlComponent{constructor(e){super("w:sdtPr"),this.root.push(new r.Alias(e))}}t.StructuredDocumentTagProperties=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={alias:"w:val"}}}class o extends i.XmlComponent{constructor(e){super("w:alias"),this.root.push(new r({alias:e}))}}t.Alias=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.StyleLevel=class e{constructor(e,t){this.styleName=e,this.level=t}}},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(348)),i(n(349))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(12),o=n(137);class s extends i.XmlComponent{constructor(e){super("w:ins"),this.root.push(new o.ChangeAttributes({id:e.id,author:e.author,date:e.date})),this.addChildElement(new r.TextRun(e))}}t.InsertedTextRun=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(12),o=n(67),s=n(18),a=n(17),l=n(137),c=n(350),u=n(351);class h extends i.XmlComponent{constructor(e){super("w:del"),this.root.push(new l.ChangeAttributes({id:e.id,author:e.author,date:e.date})),this.deletedTextRunWrapper=new d(e),this.addChildElement(this.deletedTextRunWrapper)}}t.DeletedTextRun=h;class d extends i.XmlComponent{constructor(e){if(super("w:r"),this.root.push(new r.RunProperties(e)),e.children)for(let t of e.children){if("string"==typeof t){switch(t){case a.PageNumber.CURRENT:this.root.push(new s.Begin),this.root.push(new c.DeletedPage),this.root.push(new s.Separate),this.root.push(new s.End);break;case a.PageNumber.TOTAL_PAGES:this.root.push(new s.Begin),this.root.push(new c.DeletedNumberOfPages),this.root.push(new s.Separate),this.root.push(new s.End);break;case a.PageNumber.TOTAL_PAGES_IN_SECTION:this.root.push(new s.Begin),this.root.push(new c.DeletedNumberOfPagesSection),this.root.push(new s.Separate),this.root.push(new s.End);break;default:this.root.push(new u.DeletedText(t))}continue}this.root.push(t)}else e.text&&this.root.push(new u.DeletedText(e.text));if(e.break)for(let t=0;t<e.break;t++)this.root.splice(1,0,new o.Break)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(8),r=n(0);class o extends r.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={space:"xml:space"}}}class s extends r.XmlComponent{constructor(){super("w:delInstrText"),this.root.push(new o({space:i.SpaceType.PRESERVE})),this.root.push("PAGE")}}t.DeletedPage=s;class a extends r.XmlComponent{constructor(){super("w:delInstrText"),this.root.push(new o({space:i.SpaceType.PRESERVE})),this.root.push("NUMPAGES")}}t.DeletedNumberOfPages=a;class l extends r.XmlComponent{constructor(){super("w:delInstrText"),this.root.push(new o({space:i.SpaceType.PRESERVE})),this.root.push("SECTIONPAGES")}}t.DeletedNumberOfPagesSection=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(8),r=n(0);class o extends r.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={space:"xml:space"}}}class s extends r.XmlComponent{constructor(e){super("w:delText"),this.root.push(new o({space:i.SpaceType.PRESERVE})),this.root.push(e)}}t.DeletedText=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(353))},function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{l(i.next(e))}catch(e){o(e)}}function a(e){try{l(i.throw(e))}catch(e){o(e)}}function l(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}l((i=i.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});let r=n(354);class o{static toBuffer(e,t){return i(this,void 0,void 0,function*(){let n=this.compiler.compile(e,t);return yield n.generateAsync({type:"nodebuffer",mimeType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",compression:"DEFLATE"})})}static toBase64String(e,t){return i(this,void 0,void 0,function*(){let n=this.compiler.compile(e,t);return yield n.generateAsync({type:"base64",mimeType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",compression:"DEFLATE"})})}static toBlob(e,t){return i(this,void 0,void 0,function*(){let n=this.compiler.compile(e,t);return yield n.generateAsync({type:"blob",mimeType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",compression:"DEFLATE"})})}}o.compiler=new r.Compiler,t.Packer=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(138),r=n(355),o=n(357),s=n(358),a=n(359);t.Compiler=class e{constructor(){this.formatter=new o.Formatter,this.imageReplacer=new s.ImageReplacer,this.numberingReplacer=new a.NumberingReplacer}compile(e,t){let n=new i,r=this.xmlifyFile(e,t);for(let e in r){if(!r[e])continue;let t=r[e];if(Array.isArray(t))for(let e of t)n.file(e.path,e.data);else n.file(t.path,t.data)}for(let t of e.Media.Array){let e=t.stream;n.file(`word/media/${t.fileName}`,e)}return n}xmlifyFile(e,t){e.verifyUpdateFields();let n=e.DocumentRelationships.RelationshipCount+1,i=r(this.formatter.format(e.Document,e),t),o=this.imageReplacer.getMediaData(i,e.Media);return{Relationships:{data:(()=>(o.forEach((t,i)=>{e.DocumentRelationships.createRelationship(n+i,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`media/${t.fileName}`)}),r(this.formatter.format(e.DocumentRelationships,e),t)))(),path:"word/_rels/document.xml.rels"},Document:{data:(()=>{let t=this.imageReplacer.replace(i,o,n);return this.numberingReplacer.replace(t,e.Numbering.ConcreteNumbering)})(),path:"word/document.xml"},Styles:{data:r(this.formatter.format(e.Styles,e),t),path:"word/styles.xml"},Properties:{data:r(this.formatter.format(e.CoreProperties,e),{declaration:{standalone:"yes",encoding:"UTF-8"}}),path:"docProps/core.xml"},Numbering:{data:r(this.formatter.format(e.Numbering,e),t),path:"word/numbering.xml"},FileRelationships:{data:r(this.formatter.format(e.FileRelationships,e),t),path:"_rels/.rels"},HeaderRelationships:e.Headers.map((n,i)=>{let o=r(this.formatter.format(n.Header,e),t);return this.imageReplacer.getMediaData(o,e.Media).forEach((e,t)=>{n.Relationships.createRelationship(t,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`media/${e.fileName}`)}),{data:r(this.formatter.format(n.Relationships,e),t),path:`word/_rels/header${i+1}.xml.rels`}}),FooterRelationships:e.Footers.map((n,i)=>{let o=r(this.formatter.format(n.Footer,e),t);return this.imageReplacer.getMediaData(o,e.Media).forEach((e,t)=>{n.Relationships.createRelationship(t,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`media/${e.fileName}`)}),{data:r(this.formatter.format(n.Relationships,e),t),path:`word/_rels/footer${i+1}.xml.rels`}}),Headers:e.Headers.map((n,i)=>{let o=r(this.formatter.format(n.Header,e),t),s=this.imageReplacer.getMediaData(o,e.Media);return{data:this.imageReplacer.replace(o,s,0),path:`word/header${i+1}.xml`}}),Footers:e.Footers.map((n,i)=>{let o=r(this.formatter.format(n.Footer,e),t),s=this.imageReplacer.getMediaData(o,e.Media);return{data:this.imageReplacer.replace(o,s,0),path:`word/footer${i+1}.xml`}}),ContentTypes:{data:r(this.formatter.format(e.ContentTypes,e),t),path:"[Content_Types].xml"},AppProperties:{data:r(this.formatter.format(e.AppProperties,e),t),path:"docProps/app.xml"},FootNotes:{data:r(this.formatter.format(e.FootNotes,e),t),path:"word/footnotes.xml"},Settings:{data:r(this.formatter.format(e.Settings,e),t),path:"word/settings.xml"}}}}},function(e,t,n){(function(t){var i=n(356),r=n(56).Stream;function o(e,t,n){n=n||0;var r,s,a,l=(r=t,Array(n||0).join(r||"")),c=e;if("object"==typeof e&&(s=Object.keys(e)[0],(c=e[s])&&c._elem))return c._elem.name=s,c._elem.icount=n,c._elem.indent=t,c._elem.indents=l,c._elem.interrupt=c,c._elem;var u=[],h=[];function d(e){Object.keys(e).forEach(function(t){u.push(function(e,t){return e+'="'+i(t)+'"'}(t,e[t]))})}switch(typeof c){case"object":if(null===c)break;c._attr&&d(c._attr),c._cdata&&h.push(("<![CDATA["+c._cdata).replace(/\]\]>/g,"]]]]><![CDATA[>")+"]]>"),c.forEach&&(a=!1,h.push(""),c.forEach(function(e){"object"==typeof e?"_attr"==Object.keys(e)[0]?d(e._attr):h.push(o(e,t,n+1)):(h.pop(),a=!0,h.push(i(e)))}),!a&&h.push(""));break;default:h.push(i(c))}return{name:s,interrupt:!1,attributes:u,content:h,icount:n,indents:l,indent:t}}function s(e,t,n){if("object"!=typeof t)return e(!1,t);var i=t.interrupt?1:t.content.length;function r(){for(;t.content.length;){var r=t.content.shift();if(void 0!==r){if(o(r))return;s(e,r)}}e(!1,(i>1?t.indents:"")+(t.name?"</"+t.name+">":"")+(t.indent&&!n?"\n":"")),n&&n()}function o(t){return!!t.interrupt&&(t.interrupt.append=e,t.interrupt.end=r,t.interrupt=!1,e(!0),!0)}if(e(!1,t.indents+(t.name?"<"+t.name:"")+(t.attributes.length?" "+t.attributes.join(" "):"")+(i?t.name?">":"":t.name?"/>":"")+(t.indent&&i>1?"\n":"")),!i)return e(!1,t.indent?"\n":"");!o(t)&&r()}e.exports=function(e,n){"object"!=typeof n&&(n={indent:n});var i,a,l=n.stream?new r:null,c="",u=!1,h=n.indent?!0===n.indent?" ":n.indent:"",d=!0;function p(e){d?t.nextTick(e):e()}function f(e,t){if(void 0!==t&&(c+=t),e&&!u&&(l=l||new r,u=!0),e&&u){var n=c;p(function(){l.emit("data",n)}),c=""}}function m(e,t){s(f,o(e,h,h?1:0),t)}function g(){if(l){var e=c;p(function(){l.emit("data",e),l.emit("end"),l.readable=!1,l.emit("close")})}}if(p(function(){d=!1}),n.declaration){;a={version:"1.0",encoding:(i=n.declaration).encoding||"UTF-8"},i.standalone&&(a.standalone=i.standalone),m({"?xml":{_attr:a}}),c=c.replace("/>","?>")}return(e&&e.forEach?e.forEach(function(t,n){var i;n+1===e.length&&(i=g),m(t,i)}):m(e,g),l)?(l.readable=!0,l):c},e.exports.element=e.exports.Element=function(){var e=Array.prototype.slice.call(arguments),t={_elem:o(e)};return t.push=function(e){if(!this.append)throw Error("not assigned to a parent!");var t=this,n=this._elem.indent;s(this.append,o(e,n,this._elem.icount+(n?1:0)),function(){t.append(!0)})},t.close=function(e){void 0!==e&&this.push(e),this.end&&this.end()},t}}).call(t,n(13))},function(e,t){var n={"&":"&",'"':""","'":"'","<":"<",">":">"};e.exports=function(e){return e&&e.replace?e.replace(/([&"<>'])/g,function(e,t){return n[t]}):e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.Formatter=class e{format(e,t){let n=e.prepForXml(t);if(n)return n;throw Error("XMLComponent did not format correctly")}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.ImageReplacer=class e{replace(e,t,n){let i=e;return t.forEach((e,t)=>{i=i.replace(RegExp(`{${e.fileName}}`,"g"),(n+t).toString())}),i}getMediaData(e,t){return t.Array.filter(t=>e.search(`{${t.fileName}}`)>0)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.NumberingReplacer=class e{replace(e,t){let n=e;for(let e of t){if(!!e.reference)n=n.replace(RegExp(`{${e.reference}}`,"g"),e.id.toString())}return n}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(361))},function(e,t,n){"use strict";var i,r,o=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{l(i.next(e))}catch(e){o(e)}}function a(e){try{l(i.throw(e))}catch(e){o(e)}}function l(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}l((i=i.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});let s=n(138),a=n(26),l=n(46),c=n(49),u=n(50),h=n(48),d=n(0),p={"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header":"header","http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer":"footer","http://schemas.openxmlformats.org/officeDocument/2006/relationships/image":"image","http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink":"hyperlink"};(i=r||(r={})).HEADER="header",i.FOOTER="footer",i.IMAGE="image",i.HYPERLINK="hyperlink";t.ImportDotx=class e{extract(e){return o(this,void 0,void 0,function*(){let t=yield s.loadAsync(e),n=yield t.files["word/document.xml"].async("text"),i=yield t.files["word/_rels/document.xml.rels"].async("text"),r=this.extractDocumentRefs(n),o=this.findReferenceFiles(i),a=new u.Media;return{headers:yield this.createHeaders(t,r,o,a,0),footers:yield this.createFooters(t,r,o,a,r.headers.length),currentRelationshipId:r.footers.length+r.headers.length,styles:yield t.files["word/styles.xml"].async("text"),titlePageIsDefined:this.checkIfTitlePageIsDefined(n),media:a}})}createFooters(e,t,n,i,r){return o(this,void 0,void 0,function*(){return Promise.all(t.footers.map((t,s)=>o(this,void 0,void 0,function*(){let o=n.find(e=>e.id===t.id);if(null===o||!o)throw Error(`Can not find target file for id ${t.id}`);let c=yield e.files[`word/${o.target}`].async("text"),u=a.xml2js(c,{compact:!1,captureSpacesBetweenElements:!0});if(!u.elements)return;let h=u.elements.reduce((e,t)=>"w:ftr"===t.name?t:e),p=d.convertToXmlComponent(h),f=new l.FooterWrapper(i,r+s,p);return yield this.addRelationshipToWrapper(o,e,f,i),{type:t.type,footer:f}})).filter(e=>!!e))})}createHeaders(e,t,n,i,r){return o(this,void 0,void 0,function*(){return Promise.all(t.headers.map((t,s)=>o(this,void 0,void 0,function*(){let o=n.find(e=>e.id===t.id);if(null===o||!o)throw Error(`Can not find target file for id ${t.id}`);let l=yield e.files[`word/${o.target}`].async("text"),u=a.xml2js(l,{compact:!1,captureSpacesBetweenElements:!0});if(!u.elements)return;let h=u.elements.reduce((e,t)=>"w:hdr"===t.name?t:e),p=d.convertToXmlComponent(h),f=new c.HeaderWrapper(i,r+s,p);return yield this.addRelationshipToWrapper(o,e,f,i),{type:t.type,header:f}})).filter(e=>!!e))})}addRelationshipToWrapper(e,t,n,i){return o(this,void 0,void 0,function*(){let o=t.files[`word/_rels/${e.target}.rels`];if(!o)return;let s=yield o.async("text"),a=this.findReferenceFiles(s).filter(e=>e.type===r.IMAGE),l=this.findReferenceFiles(s).filter(e=>e.type===r.HYPERLINK);for(let e of a){let r=yield t.files[`word/${e.target}`].async("nodebuffer"),o=i.addMedia(r);n.Relationships.createRelationship(e.id,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`media/${o.fileName}`)}for(let e of l)n.Relationships.createRelationship(e.id,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",e.target,h.TargetModeType.EXTERNAL)})}findReferenceFiles(e){let t=a.xml2js(e,{compact:!0});return(Array.isArray(t.Relationships.Relationship)?t.Relationships.Relationship:[t.Relationships.Relationship]).map(e=>{if(void 0===e._attributes)throw Error("relationship element has no attributes");return{id:this.parseRefId(e._attributes.Id),type:p[e._attributes.Type],target:e._attributes.Target}}).filter(e=>null!==e.type)}extractDocumentRefs(e){let t,n;let i=a.xml2js(e,{compact:!0})["w:document"]["w:body"]["w:sectPr"],r=i["w:headerReference"],o=(t=void 0===r?[]:Array.isArray(r)?r:[r]).map(e=>{if(void 0===e._attributes)throw Error("header referecne element has no attributes");return{type:e._attributes["w:type"],id:this.parseRefId(e._attributes["r:id"])}}),s=i["w:footerReference"];return{headers:o,footers:(n=void 0===s?[]:Array.isArray(s)?s:[s]).map(e=>{if(void 0===e._attributes)throw Error("footer referecne element has no attributes");return{type:e._attributes["w:type"],id:this.parseRefId(e._attributes["r:id"])}})}}checkIfTitlePageIsDefined(e){return void 0!==a.xml2js(e,{compact:!0})["w:document"]["w:body"]["w:sectPr"]["w:titlePg"]}parseRefId(e){let t=/^rId(\d+)$/.exec(e);if(null===t)throw Error("Invalid ref id");return parseInt(t[1],10)}}}])},e.exports=n()},2337:function(e){"use strict";var t=Object.prototype.hasOwnProperty,n="~";function i(){}function r(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,i,o,s){if("function"!=typeof i)throw TypeError("The listener must be a function");var a=new r(i,o||e,s),l=n?n+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],a]:e._events[l].push(a):(e._events[l]=a,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new i:delete e._events[t]}function a(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),!new i().__proto__&&(n=!1)),a.prototype.eventNames=function(){var e,i,r=[];if(0===this._eventsCount)return r;for(i in e=this._events)t.call(e,i)&&r.push(n?i.slice(1):i);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},a.prototype.listeners=function(e){var t=n?n+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var r=0,o=i.length,s=Array(o);r<o;r++)s[r]=i[r].fn;return s},a.prototype.listenerCount=function(e){var t=n?n+e:e,i=this._events[t];return i?i.fn?1:i.length:0},a.prototype.emit=function(e,t,i,r,o,s){var a=n?n+e:e;if(!this._events[a])return!1;var l,c,u=this._events[a],h=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),h){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,i),!0;case 4:return u.fn.call(u.context,t,i,r),!0;case 5:return u.fn.call(u.context,t,i,r,o),!0;case 6:return u.fn.call(u.context,t,i,r,o,s),!0}for(c=1,l=Array(h-1);c<h;c++)l[c-1]=arguments[c];u.fn.apply(u.context,l)}else{var d,p=u.length;for(c=0;c<p;c++)switch(u[c].once&&this.removeListener(e,u[c].fn,void 0,!0),h){case 1:u[c].fn.call(u[c].context);break;case 2:u[c].fn.call(u[c].context,t);break;case 3:u[c].fn.call(u[c].context,t,i);break;case 4:u[c].fn.call(u[c].context,t,i,r);break;default:if(!l)for(d=1,l=Array(h-1);d<h;d++)l[d-1]=arguments[d];u[c].fn.apply(u[c].context,l)}}return!0},a.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},a.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},a.prototype.removeListener=function(e,t,i,r){var o=n?n+e:e;if(!this._events[o])return this;if(!t)return s(this,o),this;var a=this._events[o];if(a.fn)a.fn===t&&(!r||a.once)&&(!i||a.context===i)&&s(this,o);else{for(var l=0,c=[],u=a.length;l<u;l++)(a[l].fn!==t||r&&!a[l].once||i&&a[l].context!==i)&&c.push(a[l]);c.length?this._events[o]=1===c.length?c[0]:c:s(this,o)}return this},a.prototype.removeAllListeners=function(e){var t;return e?(t=n?n+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=n,a.EventEmitter=a;e.exports=a},2158:function(e){function t(e,d,p,f,m){if(e===d)return e?[[0,e]]:[];if(null!=p){var v=function(e,t,n){var i="number"==typeof n?{index:n,length:0}:n.oldRange,r="number"==typeof n?null:n.newRange,o=e.length,s=t.length;if(0===i.length&&(null===r||0===r.length)){var a=i.index,l=e.slice(0,a),c=e.slice(a),u=r?r.index:null;t:{var h=a+s-o;if(null!==u&&u!==h||h<0||h>s)break t;var d=t.slice(0,h),p=t.slice(h);if(p!==c)break t;var f=Math.min(a,h),m=l.slice(0,f),v=d.slice(0,f);if(m!==v)break t;var y=l.slice(f),b=d.slice(f);return g(m,y,b,c)}n:if(null===u||u===a){var d=t.slice(0,a),p=t.slice(a);if(d!==l)break n;var w=Math.min(o-a,s-a),_=c.slice(c.length-w),E=p.slice(p.length-w);if(_!==E)break n;var y=c.slice(0,c.length-w),b=p.slice(0,p.length-w);return g(l,y,b,_)}}if(i.length>0&&r&&0===r.length)i:{var m=e.slice(0,i.index),_=e.slice(i.index+i.length),f=m.length,w=_.length;if(s<f+w)break i;var v=t.slice(0,f),E=t.slice(s-w);if(m!==v||_!==E)break i;var y=e.slice(f,o-w),b=t.slice(f,s-w);return g(m,y,b,_)}return null}(e,d,p);if(v)return v}var y=i(e,d),b=e.substring(0,y);e=e.substring(y),y=o(e,d=d.substring(y));var w=e.substring(e.length-y);e=e.substring(0,e.length-y);var _=function(e,r){if(!e)return[[1,r]];if(!r)return[[-1,e]];var s,a=e.length>r.length?e:r,l=e.length>r.length?r:e,c=a.indexOf(l);if(-1!==c)return s=[[1,a.substring(0,c)],[0,l],[1,a.substring(c+l.length)]],e.length>r.length&&(s[0][0]=s[2][0]=-1),s;if(1===l.length)return[[-1,e],[1,r]];var u=function(e,t){var n,r,s,a,l,c=e.length>t.length?e:t,u=e.length>t.length?t:e;if(c.length<4||2*u.length<c.length)return null;function h(e,t,n){for(var r,s,a,l,c=e.substring(n,n+Math.floor(e.length/4)),u=-1,h="";-1!==(u=t.indexOf(c,u+1));){var d=i(e.substring(n),t.substring(u)),p=o(e.substring(0,n),t.substring(0,u));h.length<p+d&&(h=t.substring(u-p,u)+t.substring(u,u+d),r=e.substring(0,n-p),s=e.substring(n+d),a=t.substring(0,u-p),l=t.substring(u+d))}return 2*h.length>=e.length?[r,s,a,l,h]:null}var d=h(c,u,Math.ceil(c.length/4)),p=h(c,u,Math.ceil(c.length/2));return d||p?(n=p?d?d[4].length>p[4].length?d:p:p:d,e.length>t.length?(r=n[0],s=n[1],a=n[2],l=n[3]):(a=n[0],l=n[1],r=n[2],s=n[3]),[r,s,a,l,n[4]]):null}(e,r);if(u){var h=u[0],d=u[1],p=u[2],f=u[3],m=u[4],g=t(h,p),v=t(d,f);return g.concat([[0,m]],v)}return function(e,t){for(var i=e.length,r=t.length,o=Math.ceil((i+r)/2),s=2*o,a=Array(s),l=Array(s),c=0;c<s;c++)a[c]=-1,l[c]=-1;a[o+1]=0,l[o+1]=0;for(var u=i-r,h=u%2!=0,d=0,p=0,f=0,m=0,g=0;g<o;g++){for(var v=-g+d;v<=g-p;v+=2){for(var y,b=o+v,w=(y=v===-g||v!==g&&a[b-1]<a[b+1]?a[b+1]:a[b-1]+1)-v;y<i&&w<r&&e.charAt(y)===t.charAt(w);)y++,w++;if(a[b]=y,y>i)p+=2;else if(w>r)d+=2;else if(h){var _=o+u-v;if(_>=0&&_<s&&-1!==l[_]){var E=i-l[_];if(y>=E)return n(e,t,y,w)}}}for(var x=-g+f;x<=g-m;x+=2){for(var E,_=o+x,k=(E=x===-g||x!==g&&l[_-1]<l[_+1]?l[_+1]:l[_-1]+1)-x;E<i&&k<r&&e.charAt(i-E-1)===t.charAt(r-k-1);)E++,k++;if(l[_]=E,E>i)m+=2;else if(k>r)f+=2;else if(!h){var b=o+u-x;if(b>=0&&b<s&&-1!==a[b]){var y=a[b],w=o+y-b;if(y>=(E=i-E))return n(e,t,y,w)}}}}return[[-1,e],[1,t]]}(e,r)}(e,d=d.substring(0,d.length-y));return b&&_.unshift([0,b]),w&&_.push([0,w]),h(_,m),f&&function(e){for(var t=!1,n=[],i=0,d=null,p=0,f=0,m=0,g=0,v=0;p<e.length;)0==e[p][0]?(n[i++]=p,f=g,m=v,g=0,v=0,d=e[p][1]):(1==e[p][0]?g+=e[p][1].length:v+=e[p][1].length,d&&d.length<=Math.max(f,m)&&d.length<=Math.max(g,v)&&(e.splice(n[i-1],0,[-1,d]),e[n[i-1]+1][0]=1,i--,p=--i>0?n[i-1]:-1,f=0,m=0,g=0,v=0,d=null,t=!0)),p++;for(t&&h(e),function(e){function t(e,t){if(!e||!t)return 6;var n=e.charAt(e.length-1),i=t.charAt(0),r=n.match(s),o=i.match(s),h=r&&n.match(a),d=o&&i.match(a),p=h&&n.match(l),f=d&&i.match(l),m=p&&e.match(c),g=f&&t.match(u);if(m||g)return 5;if(p||f)return 4;if(r&&!h&&d)return 3;else if(h||d)return 2;else if(r||o)return 1;return 0}for(var n=1;n<e.length-1;){if(0==e[n-1][0]&&0==e[n+1][0]){var i=e[n-1][1],r=e[n][1],h=e[n+1][1],d=o(i,r);if(d){var p=r.substring(r.length-d);i=i.substring(0,i.length-d),r=p+r.substring(0,r.length-d),h=p+h}for(var f=i,m=r,g=h,v=t(i,r)+t(r,h);r.charAt(0)===h.charAt(0);){i+=r.charAt(0),r=r.substring(1)+h.charAt(0),h=h.substring(1);var y=t(i,r)+t(r,h);y>=v&&(v=y,f=i,m=r,g=h)}e[n-1][1]!=f&&(f?e[n-1][1]=f:(e.splice(n-1,1),n--),e[n][1]=m,g?e[n+1][1]=g:(e.splice(n+1,1),n--))}n++}}(e),p=1;p<e.length;){if(-1==e[p-1][0]&&1==e[p][0]){var y=e[p-1][1],b=e[p][1],w=r(y,b),_=r(b,y);w>=_?(w>=y.length/2||w>=b.length/2)&&(e.splice(p,0,[0,b.substring(0,w)]),e[p-1][1]=y.substring(0,y.length-w),e[p+1][1]=b.substring(w),p++):(_>=y.length/2||_>=b.length/2)&&(e.splice(p,0,[0,y.substring(0,_)]),e[p-1][0]=1,e[p-1][1]=b.substring(0,b.length-_),e[p+1][0]=-1,e[p+1][1]=y.substring(_),p++),p++}p++}}(_),_}function n(e,n,i,r){var o=e.substring(0,i),s=n.substring(0,r),a=e.substring(i),l=n.substring(r),c=t(o,s),u=t(a,l);return c.concat(u)}function i(e,t){if(!e||!t||e.charAt(0)!==t.charAt(0))return 0;for(var n=0,i=Math.min(e.length,t.length),r=i,o=0;n<r;)e.substring(o,r)==t.substring(o,r)?o=n=r:i=r,r=Math.floor((i-n)/2+n);return d(e.charCodeAt(r-1))&&r--,r}function r(e,t){var n=e.length,i=t.length;if(0==n||0==i)return 0;n>i?e=e.substring(n-i):n<i&&(t=t.substring(0,n));var r=Math.min(n,i);if(e==t)return r;for(var o=0,s=1;;){var a=e.substring(r-s),l=t.indexOf(a);if(-1==l)return o;s+=l,(0==l||e.substring(r-s)==t.substring(0,s))&&(o=s,s++)}}function o(e,t){if(!e||!t||e.slice(-1)!==t.slice(-1))return 0;for(var n=0,i=Math.min(e.length,t.length),r=i,o=0;n<r;)e.substring(e.length-r,e.length-o)==t.substring(t.length-r,t.length-o)?o=n=r:i=r,r=Math.floor((i-n)/2+n);return p(e.charCodeAt(e.length-r))&&r--,r}var s=/[^a-zA-Z0-9]/,a=/\s/,l=/[\r\n]/,c=/\n\r?\n$/,u=/^\r?\n\r?\n/;function h(e,t){e.push([0,""]);for(var n,r=0,s=0,a=0,l="",c="";r<e.length;){if(r<e.length-1&&!e[r][1]){e.splice(r,1);continue}switch(e[r][0]){case 1:a++,c+=e[r][1],r++;break;case -1:s++,l+=e[r][1],r++;break;case 0:var u=r-a-s-1;if(t){if(u>=0&&m(e[u][1])){var d=e[u][1].slice(-1);if(e[u][1]=e[u][1].slice(0,-1),l=d+l,c=d+c,!e[u][1]){e.splice(u,1),r--;var p=u-1;e[p]&&1===e[p][0]&&(a++,c=e[p][1]+c,p--),e[p]&&-1===e[p][0]&&(s++,l=e[p][1]+l,p--),u=p}}if(f(e[r][1])){var d=e[r][1].charAt(0);e[r][1]=e[r][1].slice(1),l+=d,c+=d}}if(r<e.length-1&&!e[r][1]){e.splice(r,1);break}if(l.length>0||c.length>0){l.length>0&&c.length>0&&(0!==(n=i(c,l))&&(u>=0?e[u][1]+=c.substring(0,n):(e.splice(0,0,[0,c.substring(0,n)]),r++),c=c.substring(n),l=l.substring(n)),0!==(n=o(c,l))&&(e[r][1]=c.substring(c.length-n)+e[r][1],c=c.substring(0,c.length-n),l=l.substring(0,l.length-n)));var g=a+s;0===l.length&&0===c.length?(e.splice(r-g,g),r-=g):0===l.length?(e.splice(r-g,g,[1,c]),r=r-g+1):0===c.length?(e.splice(r-g,g,[-1,l]),r=r-g+1):(e.splice(r-g,g,[-1,l],[1,c]),r=r-g+2)}0!==r&&0===e[r-1][0]?(e[r-1][1]+=e[r][1],e.splice(r,1)):r++,a=0,s=0,l="",c=""}}""===e[e.length-1][1]&&e.pop();var v=!1;for(r=1;r<e.length-1;)0===e[r-1][0]&&0===e[r+1][0]&&(e[r][1].substring(e[r][1].length-e[r-1][1].length)===e[r-1][1]?(e[r][1]=e[r-1][1]+e[r][1].substring(0,e[r][1].length-e[r-1][1].length),e[r+1][1]=e[r-1][1]+e[r+1][1],e.splice(r-1,1),v=!0):e[r][1].substring(0,e[r+1][1].length)==e[r+1][1]&&(e[r-1][1]+=e[r+1][1],e[r][1]=e[r][1].substring(e[r+1][1].length)+e[r+1][1],e.splice(r+1,1),v=!0)),r++;v&&h(e,t)}function d(e){return e>=55296&&e<=56319}function p(e){return e>=56320&&e<=57343}function f(e){return p(e.charCodeAt(0))}function m(e){return d(e.charCodeAt(e.length-1))}function g(e,t,n,i){return m(e)||f(i)?null:function(e){for(var t=[],n=0;n<e.length;n++)e[n][1].length>0&&t.push(e[n]);return t}([[0,e],[-1,t],[1,n],[0,i]])}function v(e,n,i,r){return t(e,n,i,r,!0)}v.INSERT=1,v.DELETE=-1,v.EQUAL=0,e.exports=v},2323:function(e,t,n){e=n.nmd(e);var i,r="__lodash_hash_undefined__",o="[object Arguments]",s="[object Boolean]",a="[object Date]",l="[object Function]",c="[object GeneratorFunction]",u="[object Map]",h="[object Number]",d="[object Object]",p="[object Promise]",f="[object RegExp]",m="[object Set]",g="[object String]",v="[object Symbol]",y="[object WeakMap]",b="[object ArrayBuffer]",w="[object DataView]",_="[object Float32Array]",E="[object Float64Array]",x="[object Int8Array]",k="[object Int16Array]",T="[object Int32Array]",O="[object Uint8Array]",C="[object Uint8ClampedArray]",A="[object Uint16Array]",S="[object Uint32Array]",N=/\w*$/,I=/^\[object .+?Constructor\]$/,L=/^(?:0|[1-9]\d*)$/,R={};R[o]=R["[object Array]"]=R[b]=R[w]=R[s]=R[a]=R[_]=R[E]=R[x]=R[k]=R[T]=R[u]=R[h]=R[d]=R[f]=R[m]=R[g]=R[v]=R[O]=R[C]=R[A]=R[S]=!0,R["[object Error]"]=R[l]=R[y]=!1;var P="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,D="object"==typeof self&&self&&self.Object===Object&&self,j=P||D||Function("return this")(),B=t&&!t.nodeType&&t,F=B&&e&&!e.nodeType&&e,q=F&&F.exports===B;function H(e,t){return e.set(t[0],t[1]),e}function U(e,t){return e.add(t),e}function z(e,t,n,i){var r=-1,o=e?e.length:0;for(i&&o&&(n=e[++r]);++r<o;)n=t(n,e[r],r,e);return n}function X(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function W(e){var t=-1,n=Array(e.size);return e.forEach(function(e,i){n[++t]=[i,e]}),n}function V(e,t){return function(n){return e(t(n))}}function K(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var G=Array.prototype,Y=Function.prototype,Z=Object.prototype,Q=j["__core-js_shared__"];var J=(i=/[^.]+$/.exec(Q&&Q.keys&&Q.keys.IE_PROTO||""))?"Symbol(src)_1."+i:"",ee=Y.toString,et=Z.hasOwnProperty,en=Z.toString,ei=RegExp("^"+ee.call(et).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),er=q?j.Buffer:void 0,eo=j.Symbol,es=j.Uint8Array,ea=V(Object.getPrototypeOf,Object),el=Object.create,ec=Z.propertyIsEnumerable,eu=G.splice,eh=Object.getOwnPropertySymbols,ed=er?er.isBuffer:void 0,ep=V(Object.keys,Object),ef=eD(j,"DataView"),em=eD(j,"Map"),eg=eD(j,"Promise"),ev=eD(j,"Set"),ey=eD(j,"WeakMap"),eb=eD(Object,"create"),ew=eq(ef),e_=eq(em),eE=eq(eg),ex=eq(ev),ek=eq(ey),eT=eo?eo.prototype:void 0,eO=eT?eT.valueOf:void 0;function eC(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function eA(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}eC.prototype.clear=function(){this.__data__=eb?eb(null):{}},eC.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},eC.prototype.get=function(e){var t=this.__data__;if(eb){var n=t[e];return n===r?void 0:n}return et.call(t,e)?t[e]:void 0},eC.prototype.has=function(e){var t=this.__data__;return eb?void 0!==t[e]:et.call(t,e)},eC.prototype.set=function(e,t){return this.__data__[e]=eb&&void 0===t?r:t,this};function eS(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}eA.prototype.clear=function(){this.__data__=[]},eA.prototype.delete=function(e){var t=this.__data__,n=eM(t,e);return!(n<0)&&(n==t.length-1?t.pop():eu.call(t,n,1),!0)},eA.prototype.get=function(e){var t=this.__data__,n=eM(t,e);return n<0?void 0:t[n][1]},eA.prototype.has=function(e){return eM(this.__data__,e)>-1},eA.prototype.set=function(e,t){var n=this.__data__,i=eM(n,e);return i<0?n.push([e,t]):n[i][1]=t,this};function eN(e){this.__data__=new eA(e)}eS.prototype.clear=function(){this.__data__={hash:new eC,map:new(em||eA),string:new eC}},eS.prototype.delete=function(e){return eP(this,e).delete(e)},eS.prototype.get=function(e){return eP(this,e).get(e)},eS.prototype.has=function(e){return eP(this,e).has(e)},eS.prototype.set=function(e,t){return eP(this,e).set(e,t),this};eN.prototype.clear=function(){this.__data__=new eA},eN.prototype.delete=function(e){return this.__data__.delete(e)},eN.prototype.get=function(e){return this.__data__.get(e)},eN.prototype.has=function(e){return this.__data__.has(e)},eN.prototype.set=function(e,t){var n=this.__data__;if(n instanceof eA){var i=n.__data__;if(!em||i.length<199)return i.push([e,t]),this;n=this.__data__=new eS(i)}return n.set(e,t),this};function eI(e,t,n){var i=e[t];(!(et.call(e,t)&&eH(i,n))||void 0===n&&!(t in e))&&(e[t]=n)}function eM(e,t){for(var n=e.length;n--;)if(eH(e[n][0],t))return n;return -1}function eL(e){var t=new e.constructor(e.byteLength);return new es(t).set(new es(e)),t}function eR(e,t,n,i){n||(n={});for(var r=-1,o=t.length;++r<o;){var s=t[r],a=i?i(n[s],e[s],s,n,e):void 0;eI(n,s,void 0===a?e[s]:a)}return n}function eP(e,t){var n=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?n["string"==typeof t?"string":"hash"]:n.map}function eD(e,t){var n,i,r,o=(n=e,i=t,null==n?void 0:n[i]);return!(!eW(r=o)||function(e){return!!J&&J in e}(r))&&(eX(r)||X(r)?ei:I).test(eq(r))?o:void 0}var ej=eh?V(eh,Object):function(){return[]},eB=function(e){return en.call(e)};(ef&&eB(new ef(new ArrayBuffer(1)))!=w||em&&eB(new em)!=u||eg&&eB(eg.resolve())!=p||ev&&eB(new ev)!=m||ey&&eB(new ey)!=y)&&(eB=function(e){var t=en.call(e),n=t==d?e.constructor:void 0,i=n?eq(n):void 0;if(i)switch(i){case ew:return w;case e_:return u;case eE:return p;case ex:return m;case ek:return y}return t});function eF(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Z)}function eq(e){if(null!=e){try{return ee.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function eH(e,t){return e===t||e!=e&&t!=t}var e$=Array.isArray;function eU(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}(e.length)&&!eX(e)}var ez=ed||function(){return!1};function eX(e){var t=eW(e)?en.call(e):"";return t==l||t==c}function eW(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function eV(e){return eU(e)?function(e,t){var n=e$(e)||function(e){return function(e){return function(e){return!!e&&"object"==typeof e}(e)&&eU(e)}(e)&&et.call(e,"callee")&&(!ec.call(e,"callee")||en.call(e)==o)}(e)?function(e,t){for(var n=-1,i=Array(e);++n<e;)i[n]=t(n);return i}(e.length,String):[],i=n.length,r=!!i;for(var s in e)et.call(e,s)&&!(r&&("length"==s||function(e,t){return!!(t=null==t?0x1fffffffffffff:t)&&("number"==typeof e||L.test(e))&&e>-1&&e%1==0&&e<t}(s,i)))&&n.push(s);return n}(e):function(e){if(!eF(e))return ep(e);var t=[];for(var n in Object(e))et.call(e,n)&&"constructor"!=n&&t.push(n);return t}(e)}e.exports=function(e){return function e(t,n,i,r,p,y,I){if(r&&(L=y?r(t,p,y,I):r(t)),void 0!==L)return L;if(!eW(t))return t;var L,P=e$(t);if(P){if(L=function(e){var t=e.length,n=e.constructor(t);return t&&"string"==typeof e[0]&&et.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(t),!n)return function(e,t){var n=-1,i=e.length;for(t||(t=Array(i));++n<i;)t[n]=e[n];return t}(t,L)}else{var D,j,B=eB(t),F=B==l||B==c;if(ez(t))return function(e,t){if(t)return e.slice();var n=new e.constructor(e.length);return e.copy(n),n}(t,n);if(B==d||B==o||F&&!y){if(X(t))return y?t:{};if(L=function(e){var t;return"function"!=typeof e.constructor||eF(e)?{}:eW(t=ea(e))?el(t):{}}(F?{}:t),!n){;return function(e,t){return eR(e,ej(e),t)}(t,(D=L,j=t,D&&eR(j,eV(j),D)))}}else{if(!R[B])return y?t:{};L=function(e,t,n,i){var r,o,l,c,d,p,y,I,L,R,P,D,j,B=e.constructor;switch(t){case b:return eL(e);case s:case a:return new B(+e);case w:;return r=e,o=i?eL(r.buffer):r.buffer,new r.constructor(o,r.byteOffset,r.byteLength);case _:case E:case x:case k:case T:case O:case C:case A:case S:;return l=e,c=i?eL(l.buffer):l.buffer,new l.constructor(c,l.byteOffset,l.length);case u:;return d=e,p=i,y=n,z(p?y(W(d),!0):W(d),H,new d.constructor);case h:case g:return new B(e);case f:;return(L=new(I=e).constructor(I.source,N.exec(I))).lastIndex=I.lastIndex,L;case m:;return R=e,P=i,D=n,z(P?D(K(R),!0):K(R),U,new R.constructor);case v:;return j=e,eO?Object(eO.call(j)):{}}}(t,B,e,n)}}I||(I=new eN);var q=I.get(t);if(q)return q;if(I.set(t,L),!P)var V=i?function(e){var t,n,i,r;return t=e,n=eV,i=ej,r=n(t),e$(t)?r:function(e,t){for(var n=-1,i=t.length,r=e.length;++n<i;)e[r+n]=t[n];return e}(r,i(t))}(t):eV(t);return!function(e,t){for(var n=-1,i=e?e.length:0;++n<i&&!1!==t(e[n],n,e););;}(V||t,function(o,s){V&&(o=t[s=o]),eI(L,s,e(o,n,i,r,s,t,I))}),L}(e,!0,!0)}},5899:function(e,t,n){e=n.nmd(e);var i,r,o,s,a="__lodash_hash_undefined__",l="[object Arguments]",c="[object Array]",u="[object Boolean]",h="[object Date]",d="[object Error]",p="[object Function]",f="[object Map]",m="[object Number]",g="[object Object]",v="[object Promise]",y="[object RegExp]",b="[object Set]",w="[object String]",_="[object WeakMap]",E="[object ArrayBuffer]",x="[object DataView]",k=/^\[object .+?Constructor\]$/,T=/^(?:0|[1-9]\d*)$/,O={};O["[object Float32Array]"]=O["[object Float64Array]"]=O["[object Int8Array]"]=O["[object Int16Array]"]=O["[object Int32Array]"]=O["[object Uint8Array]"]=O["[object Uint8ClampedArray]"]=O["[object Uint16Array]"]=O["[object Uint32Array]"]=!0,O[l]=O[c]=O[E]=O[u]=O[x]=O[h]=O[d]=O[p]=O[f]=O[m]=O[g]=O[y]=O[b]=O[w]=O[_]=!1;var C="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,A="object"==typeof self&&self&&self.Object===Object&&self,S=C||A||Function("return this")(),N=t&&!t.nodeType&&t,I=N&&e&&!e.nodeType&&e,L=I&&I.exports===N,R=L&&C.process,P=function(){try{return R&&R.binding&&R.binding("util")}catch(e){}}(),D=P&&P.isTypedArray;function j(e){var t=-1,n=Array(e.size);return e.forEach(function(e,i){n[++t]=[i,e]}),n}function B(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var F=Array.prototype,q=Function.prototype,H=Object.prototype,U=S["__core-js_shared__"],z=q.toString,X=H.hasOwnProperty;var W=(i=/[^.]+$/.exec(U&&U.keys&&U.keys.IE_PROTO||""))?"Symbol(src)_1."+i:"",V=H.toString,K=RegExp("^"+z.call(X).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),G=L?S.Buffer:void 0,Y=S.Symbol,Z=S.Uint8Array,Q=H.propertyIsEnumerable,J=F.splice,ee=Y?Y.toStringTag:void 0;var et=Object.getOwnPropertySymbols,en=G?G.isBuffer:void 0,ei=(r=Object.keys,o=Object,function(e){return r(o(e))}),er=eA(S,"DataView"),eo=eA(S,"Map"),es=eA(S,"Promise"),ea=eA(S,"Set"),el=eA(S,"WeakMap"),ec=eA(Object,"create"),eu=eI(er),eh=eI(eo),ed=eI(es),ep=eI(ea),ef=eI(el),em=Y?Y.prototype:void 0,eg=em?em.valueOf:void 0;function ev(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function ey(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}ev.prototype.clear=function(){this.__data__=ec?ec(null):{},this.size=0},ev.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},ev.prototype.get=function(e){var t=this.__data__;if(ec){var n=t[e];return n===a?void 0:n}return X.call(t,e)?t[e]:void 0},ev.prototype.has=function(e){var t=this.__data__;return ec?void 0!==t[e]:X.call(t,e)},ev.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=ec&&void 0===t?a:t,this};function eb(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}ey.prototype.clear=function(){this.__data__=[],this.size=0},ey.prototype.delete=function(e){var t=this.__data__,n=eE(t,e);return!(n<0)&&(n==t.length-1?t.pop():J.call(t,n,1),--this.size,!0)},ey.prototype.get=function(e){var t=this.__data__,n=eE(t,e);return n<0?void 0:t[n][1]},ey.prototype.has=function(e){return eE(this.__data__,e)>-1},ey.prototype.set=function(e,t){var n=this.__data__,i=eE(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this};function ew(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new eb;++t<n;)this.add(e[t])}eb.prototype.clear=function(){this.size=0,this.__data__={hash:new ev,map:new(eo||ey),string:new ev}},eb.prototype.delete=function(e){var t=eC(this,e).delete(e);return this.size-=t?1:0,t},eb.prototype.get=function(e){return eC(this,e).get(e)},eb.prototype.has=function(e){return eC(this,e).has(e)},eb.prototype.set=function(e,t){var n=eC(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this};function e_(e){var t=this.__data__=new ey(e);this.size=t.size}ew.prototype.add=ew.prototype.push=function(e){return this.__data__.set(e,a),this},ew.prototype.has=function(e){return this.__data__.has(e)};e_.prototype.clear=function(){this.__data__=new ey,this.size=0},e_.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},e_.prototype.get=function(e){return this.__data__.get(e)},e_.prototype.has=function(e){return this.__data__.has(e)},e_.prototype.set=function(e,t){var n=this.__data__;if(n instanceof ey){var i=n.__data__;if(!eo||i.length<199)return i.push([e,t]),this.size=++n.size,this;n=this.__data__=new eb(i)}return n.set(e,t),this.size=n.size,this};function eE(e,t){for(var n=e.length;n--;)if(eM(e[n][0],t))return n;return -1}function ex(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":ee&&ee in Object(e)?function(e){var t=X.call(e,ee),n=e[ee];try{e[ee]=void 0;var i=!0}catch(e){}var r=V.call(e);return i&&(t?e[ee]=n:delete e[ee]),r}(e):function(e){return V.call(e)}(e)}function ek(e){return eF(e)&&ex(e)==l}function eT(e,t,n,i,r,o){var s=1&n,a=e.length,l=t.length;if(a!=l&&!(s&&l>a))return!1;var c=o.get(e);if(c&&o.get(t))return c==t;var u=-1,h=!0,d=2&n?new ew:void 0;for(o.set(e,t),o.set(t,e);++u<a;){var p=e[u],f=t[u];if(i)var m=s?i(f,p,u,t,e,o):i(p,f,u,e,t,o);if(void 0!==m){if(m)continue;h=!1;break}if(d){if(!function(e,t){for(var n=-1,i=null==e?0:e.length;++n<i;)if(t(e[n],n,e))return!0;return!1}(t,function(e,t){var s,a;if(s=d,a=t,!s.has(a)&&(p===e||r(p,e,n,i,o)))return d.push(t)})){h=!1;break}}else if(!(p===f||r(p,f,n,i,o))){h=!1;break}}return o.delete(e),o.delete(t),h}function eO(e){var t,n,i,r;return t=e,n=eH,i=eS,r=n(t),eR(t)?r:function(e,t){for(var n=-1,i=t.length,r=e.length;++n<i;)e[r+n]=t[n];return e}(r,i(t))}function eC(e,t){var n=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?n["string"==typeof t?"string":"hash"]:n.map}function eA(e,t){var n,i,r,o=(n=e,i=t,null==n?void 0:n[i]);return!(!eB(r=o)||function(e){return!!W&&W in e}(r))&&(eD(r)?K:k).test(eI(r))?o:void 0}var eS=et?function(e){return null==e?[]:function(e,t){for(var n=-1,i=null==e?0:e.length,r=0,o=[];++n<i;){var s=e[n];t(s,n,e)&&(o[r++]=s)}return o}(et(e=Object(e)),function(t){return Q.call(e,t)})}:function(){return[]},eN=ex;(er&&eN(new er(new ArrayBuffer(1)))!=x||eo&&eN(new eo)!=f||es&&eN(es.resolve())!=v||ea&&eN(new ea)!=b||el&&eN(new el)!=_)&&(eN=function(e){var t=ex(e),n=t==g?e.constructor:void 0,i=n?eI(n):"";if(i)switch(i){case eu:return x;case eh:return f;case ed:return v;case ep:return b;case ef:return _}return t});function eI(e){if(null!=e){try{return z.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function eM(e,t){return e===t||e!=e&&t!=t}var eL=ek(function(){return arguments}())?ek:function(e){return eF(e)&&X.call(e,"callee")&&!Q.call(e,"callee")},eR=Array.isArray,eP=en||function(){return!1};function eD(e){if(!eB(e))return!1;var t=ex(e);return t==p||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}function ej(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}function eB(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function eF(e){return null!=e&&"object"==typeof e}var eq=D?(s=D,function(e){return s(e)}):function(e){return eF(e)&&ej(e.length)&&!!O[ex(e)]};function eH(e){var t;return null!=(t=e)&&ej(t.length)&&!eD(t)?function(e,t){var n=eR(e),i=!n&&eL(e),r=!n&&!i&&eP(e),o=!n&&!i&&!r&&eq(e),s=n||i||r||o,a=s?function(e,t){for(var n=-1,i=Array(e);++n<e;)i[n]=t(n);return i}(e.length,String):[],l=a.length;for(var c in e)X.call(e,c)&&!(s&&("length"==c||r&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||function(e,t){return!!(t=null==t?0x1fffffffffffff:t)&&("number"==typeof e||T.test(e))&&e>-1&&e%1==0&&e<t}(c,l)))&&a.push(c);return a}(e):function(e){if(!function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||H)}(e))return ei(e);var t=[];for(var n in Object(e))X.call(e,n)&&"constructor"!=n&&t.push(n);return t}(e)}e.exports=function(e,t){return function e(t,n,i,r,o){return t===n||(null!=t&&null!=n&&(eF(t)||eF(n))?function(e,t,n,i,r,o){var s=eR(e),a=eR(t),p=s?c:eN(e),v=a?c:eN(t);p=p==l?g:p,v=v==l?g:v;var _=p==g,k=v==g,T=p==v;if(T&&eP(e)){if(!eP(t))return!1;s=!0,_=!1}if(T&&!_)return o||(o=new e_),s||eq(e)?eT(e,t,n,i,r,o):function(e,t,n,i,r,o,s){switch(n){case x:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case E:if(e.byteLength!=t.byteLength||!o(new Z(e),new Z(t)))break;return!0;case u:case h:case m:return eM(+e,+t);case d:return e.name==t.name&&e.message==t.message;case y:case w:return e==t+"";case f:var a=j;case b:var l=1&i;if(a||(a=B),e.size!=t.size&&!l)break;var c=s.get(e);if(c)return c==t;i|=2,s.set(e,t);var p=eT(a(e),a(t),i,r,o,s);return s.delete(e),p;case"[object Symbol]":if(eg)return eg.call(e)==eg.call(t)}return!1}(e,t,p,n,i,r,o);if(!(1&n)){var O=_&&X.call(e,"__wrapped__"),C=k&&X.call(t,"__wrapped__");if(O||C){var A=O?e.value():e,S=C?t.value():t;return o||(o=new e_),r(A,S,n,i,o)}}return!!T&&(o||(o=new e_),function(e,t,n,i,r,o){var s=1&n,a=eO(e),l=a.length;if(l!=eO(t).length&&!s)return!1;for(var c=l;c--;){var u=a[c];if(!(s?u in t:X.call(t,u)))return!1}var h=o.get(e);if(h&&o.get(t))return h==t;var d=!0;o.set(e,t),o.set(t,e);for(var p=s;++c<l;){var f=e[u=a[c]],m=t[u];if(i)var g=s?i(m,f,u,t,e,o):i(f,m,u,e,t,o);if(!(void 0===g?f===m||r(f,m,n,i,o):g)){d=!1;break}p||(p="constructor"==u)}if(d&&!p){var v=e.constructor,y=t.constructor;v!=y&&"constructor"in e&&"constructor"in t&&!("function"==typeof v&&v instanceof v&&"function"==typeof y&&y instanceof y)&&(d=!1)}return o.delete(e),o.delete(t),d}(e,t,n,i,r,o))}(t,n,i,r,e,o):t!=t&&n!=n)}(e,t)}},234:function(e,t,n){e=n.nmd(e);var i,r,o,s,a,l,c,u,h,d,p,f,m,g,v,y,b,w,_,E,x,k,T,O,C,A,S,N,I,L,R,P,D,j,B,F,q,H,U,z,X,W,V,K,G,Y,Z,Q,J,ee,et,en,ei,er,eo,es,ea,el,ec,eu,eh,ed,ep,ef,em,eg,ev,ey,eb,ew,e_,eE,ex,ek,eT,eO,eC,eA,eS,eN,eI=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,i)}if("value"in r)return r.value;var s=r.get;return void 0!==s?s.call(i):void 0},eM=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();function eL(e,t){if(!e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t&&("object"==typeof t||"function"==typeof t)?t:e}function eR(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function eP(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}window.cash=function(){var e,t=document,n=window,i=Array.prototype,r=i.slice,o=i.filter,s=i.push,a=function(){},l=function(e){return typeof e==typeof a&&e.call},c=function(e){return"string"==typeof e},u=/^#[\w-]*$/,h=/^\.[\w-]*$/,d=/<.+>/,p=/^\w+$/;function f(e,n){return n=n||t,h.test(e)?n.getElementsByClassName(e.slice(1)):p.test(e)?n.getElementsByTagName(e):n.querySelectorAll(e)}function m(n){if(!e){var i=(e=t.implementation.createHTMLDocument(null)).createElement("base");i.href=t.location.href,e.head.appendChild(i)}return e.body.innerHTML=n,e.body.childNodes}function g(e){"loading"!==t.readyState?e():t.addEventListener("DOMContentLoaded",e)}function v(e,i){if(!e)return this;if(e.cash&&e!==n)return e;var r,o=e,s=0;if(c(e))o=u.test(e)?t.getElementById(e.slice(1)):d.test(e)?m(e):f(e,i);else if(l(e))return g(e),this;if(!o)return this;if(o.nodeType||o===n)this[0]=o,this.length=1;else for(r=this.length=o.length;s<r;s++)this[s]=o[s];return this}function y(e,t){return new v(e,t)}var b=y.fn=y.prototype=v.prototype={cash:!0,length:0,push:s,splice:i.splice,map:i.map,init:v};function w(e,t){for(var n=e.length,i=0;i<n&&!1!==t.call(e[i],e[i],i,e);i++);}function _(e,t){var n=e&&(e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector);return!!n&&n.call(e,t)}function E(e){return c(e)?_:e.cash?function(t){return e.is(t)}:function(e,t){return e===t}}function x(e){return y(r.call(e).filter(function(e,t,n){return n.indexOf(e)===t}))}Object.defineProperty(b,"constructor",{value:y}),y.parseHTML=m,y.noop=a,y.isFunction=l,y.isString=c,y.extend=b.extend=function(e){e=e||{};var t=r.call(arguments),n=t.length,i=1;for(1===t.length&&(e=this,i=0);i<n;i++)if(t[i])for(var o in t[i])t[i].hasOwnProperty(o)&&(e[o]=t[i][o]);return e},y.extend({merge:function(e,t){for(var n=+t.length,i=e.length,r=0;r<n;i++,r++)e[i]=t[r];return e.length=i,e},each:w,matches:_,unique:x,isArray:Array.isArray,isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)}});var k=y.uid="_cash"+Date.now();function T(e){return e[k]=e[k]||{}}function O(e,t,n){return T(e)[t]=n}function C(e,t){var n=T(e);return void 0===n[t]&&(n[t]=e.dataset?e.dataset[t]:y(e).attr("data-"+t)),n[t]}b.extend({data:function(e,t){if(c(e))return void 0===t?C(this[0],e):this.each(function(n){var i,r,o;return i=n,r=e,o=t,T(i)[r]=o});for(var n in e)this.data(n,e[n]);return this},removeData:function(e){return this.each(function(t){var n;(n=T(t))?delete n[e]:t.dataset?delete t.dataset[e]:y(t).removeAttr("data-"+name)})}});var A=/\S+/g;function S(e){return c(e)&&e.match(A)}function N(e,t){return e.classList?e.classList.contains(t):RegExp("(^| )"+t+"( |$)","gi").test(e.className)}function I(e,t,n){e.classList?e.classList.add(t):n.indexOf(" "+t+" ")&&(e.className+=" "+t)}function L(e,t){e.classList?e.classList.remove(t):e.className=e.className.replace(t,"")}b.extend({addClass:function(e){var t=S(e);return t?this.each(function(e){var n=" "+e.className+" ";w(t,function(t){I(e,t,n)})}):this},attr:function(e,t){if(e){if(c(e))return void 0===t?this[0]?this[0].getAttribute?this[0].getAttribute(e):this[0][e]:void 0:this.each(function(n){n.setAttribute?n.setAttribute(e,t):n[e]=t});for(var n in e)this.attr(n,e[n]);return this}},hasClass:function(e){var t=!1,n=S(e);return n&&n.length&&this.each(function(e){return!(t=N(e,n[0]))}),t},prop:function(e,t){if(c(e))return void 0===t?this[0][e]:this.each(function(n){n[e]=t});for(var n in e)this.prop(n,e[n]);return this},removeAttr:function(e){return this.each(function(t){t.removeAttribute?t.removeAttribute(e):delete t[e]})},removeClass:function(e){if(!arguments.length)return this.attr("class","");var t=S(e);return t?this.each(function(e){w(t,function(t){L(e,t)})}):this},removeProp:function(e){return this.each(function(t){delete t[e]})},toggleClass:function(e,t){if(void 0!==t)return this[t?"addClass":"removeClass"](e);var n=S(e);return n?this.each(function(e){var t=" "+e.className+" ";w(n,function(n){N(e,n)?L(e,n):I(e,n,t)})}):this}}),b.extend({add:function(e,t){return x(y.merge(this,y(e,t)))},each:function(e){return w(this,e),this},eq:function(e){return y(this.get(e))},filter:function(e){if(!e)return this;var t=l(e)?e:E(e);return y(o.call(this,function(n){return t(n,e)}))},first:function(){return this.eq(0)},get:function(e){return void 0===e?r.call(this):e<0?this[e+this.length]:this[e]},index:function(e){var t=e?y(e)[0]:this[0],n=e?this:y(t).parent().children();return r.call(n).indexOf(t)},last:function(){return this.eq(-1)}});var R,P,D,j,B=(D=/(?:^\w|[A-Z]|\b\w)/g,j=/[\s-_]+/g,function(e){return e.replace(D,function(e,t){return e[0===t?"toLowerCase":"toUpperCase"]()}).replace(j,"")}),F=(R={},P=document.createElement("div").style,function(e){if(R[e=B(e)])return R[e];var t=e.charAt(0).toUpperCase()+e.slice(1);return w((e+" "+["webkit","moz","ms","o"].join(t+" ")+t).split(" "),function(t){if(t in P)return R[t]=e=R[e]=t,!1}),R[e]});function q(e,t){return parseInt(n.getComputedStyle(e[0],null)[t],10)||0}function H(e,t,n){var i,r=C(e,"_cashEvents"),o=r&&r[t];o&&(n?(e.removeEventListener(t,n),0<=(i=o.indexOf(n))&&o.splice(i,1)):(w(o,function(n){e.removeEventListener(t,n)}),o=[]))}function U(e,t){return"&"+encodeURIComponent(e)+"="+encodeURIComponent(t).replace(/%20/g,"+")}function z(e){var t,n,i=e.type;if(!i)return null;switch(i.toLowerCase()){case"select-one":return 0<=(n=e.selectedIndex)?e.options[n].value:null;case"select-multiple":return t=[],w(e.options,function(e){e.selected&&t.push(e.value)}),t.length?t:null;case"radio":case"checkbox":return e.checked?e.value:null;default:return e.value?e.value:null}}function X(e,t,n){var i=c(t);i||!t.length?w(e,i?function(e){return e.insertAdjacentHTML(n?"afterbegin":"beforeend",t)}:function(e,i){return function(e,t,n){if(n){var i=e.childNodes[0];e.insertBefore(t,i)}else e.appendChild(t)}(e,0===i?t:t.cloneNode(!0),n)}):w(t,function(t){return X(e,t,n)})}y.prefixedProp=F,y.camelCase=B,b.extend({css:function(e,t){if(c(e))return e=F(e),1<arguments.length?this.each(function(n){return n.style[e]=t}):n.getComputedStyle(this[0])[e];for(var i in e)this.css(i,e[i]);return this}}),w(["Width","Height"],function(e){var t=e.toLowerCase();b[t]=function(){return this[0].getBoundingClientRect()[t]},b["inner"+e]=function(){return this[0]["client"+e]},b["outer"+e]=function(t){return this[0]["offset"+e]+(t?q(this,"margin"+("Width"===e?"Left":"Top"))+q(this,"margin"+("Width"===e?"Right":"Bottom")):0)}}),b.extend({off:function(e,t){return this.each(function(n){return H(n,e,t)})},on:function(e,t,n,i){var r;if(!c(e)){for(var o in e)this.on(o,t,e[o]);return this}return l(t)&&(n=t,t=null),"ready"===e?(g(n),this):(t&&(r=n,n=function(e){for(var n=e.target;!_(n,t);){if(n===this||null===n)return!1;n=n.parentNode}n&&r.call(n,e)}),this.each(function(t){var r,o,s,a=n;i&&(a=function(){n.apply(this,arguments),H(t,e,a)}),o=a,(s=C(t,"_cashEvents")||(r={},T(t)._cashEvents=r))[e]=s[e]||[],s[e].push(o),t.addEventListener(e,o)}))},one:function(e,t,n){return this.on(e,t,n,!0)},ready:g,trigger:function(e,t){if(document.createEvent){var n=document.createEvent("HTMLEvents");return n.initEvent(e,!0,!1),n=this.extend(n,t),this.each(function(e){return e.dispatchEvent(n)})}}}),b.extend({serialize:function(){var e="";return w(this[0].elements||this,function(t){if(!t.disabled&&"FIELDSET"!==t.tagName){var n=t.name;switch(t.type.toLowerCase()){case"file":case"reset":case"submit":case"button":break;case"select-multiple":var i=z(t);null!==i&&w(i,function(t){e+=U(n,t)});break;default:var r=z(t);null!==r&&(e+=U(n,r))}}}),e.substr(1)},val:function(e){return void 0===e?z(this[0]):this.each(function(t){return t.value=e})}}),b.extend({after:function(e){return y(e).insertAfter(this),this},append:function(e){return X(this,e),this},appendTo:function(e){return X(y(e),this),this},before:function(e){return y(e).insertBefore(this),this},clone:function(){return y(this.map(function(e){return e.cloneNode(!0)}))},empty:function(){return this.html(""),this},html:function(e){if(void 0===e)return this[0].innerHTML;var t=e.nodeType?e[0].outerHTML:e;return this.each(function(e){return e.innerHTML=t})},insertAfter:function(e){var t=this;return y(e).each(function(e,n){var i=e.parentNode,r=e.nextSibling;t.each(function(e){i.insertBefore(0===n?e:e.cloneNode(!0),r)})}),this},insertBefore:function(e){var t=this;return y(e).each(function(e,n){var i=e.parentNode;t.each(function(t){i.insertBefore(0===n?t:t.cloneNode(!0),e)})}),this},prepend:function(e){return X(this,e,!0),this},prependTo:function(e){return X(y(e),this,!0),this},remove:function(){return this.each(function(e){if(e.parentNode)return e.parentNode.removeChild(e)})},text:function(e){return void 0===e?this[0].textContent:this.each(function(t){return t.textContent=e})}});var W=t.documentElement;return b.extend({position:function(){var e=this[0];return{left:e.offsetLeft,top:e.offsetTop}},offset:function(){var e=this[0].getBoundingClientRect();return{top:e.top+n.pageYOffset-W.clientTop,left:e.left+n.pageXOffset-W.clientLeft}},offsetParent:function(){return y(this[0].offsetParent)}}),b.extend({children:function(e){var t=[];return this.each(function(e){s.apply(t,e.children)}),t=x(t),e?t.filter(function(t){return _(t,e)}):t},closest:function(e){return!e||this.length<1?y():this.is(e)?this.filter(e):this.parent().closest(e)},is:function(e){if(!e)return!1;var t=!1,n=E(e);return this.each(function(i){return!(t=n(i,e))}),t},find:function(e){if(!e||e.nodeType)return y(e&&this.has(e).length?e:null);var t=[];return this.each(function(n){s.apply(t,f(e,n))}),x(t)},has:function(e){var t=c(e)?function(t){return 0!==f(e,t).length}:function(t){return t.contains(e)};return this.filter(t)},next:function(){return y(this[0].nextElementSibling)},not:function(e){if(!e)return this;var t=E(e);return this.filter(function(n){return!t(n,e)})},parent:function(){var e=[];return this.each(function(t){t&&t.parentNode&&e.push(t.parentNode)}),x(e)},parents:function(e){var n,i=[];return this.each(function(r){for(n=r;n&&n.parentNode&&n!==t.body.parentNode;)n=n.parentNode,(!e||e&&_(n,e))&&i.push(n)}),x(i)},prev:function(){return y(this[0].previousElementSibling)},siblings:function(e){var t=this.parent().children(e),n=this[0];return t.filter(function(e){return e!==n})}}),y}();var eD=function(){function e(t,n,i){eP(this,e),n instanceof Element||console.error(Error(n+" is not an HTML Element"));var r=t.getInstance(n);r&&r.destroy(),this.el=n,this.$el=cash(n)}return eM(e,null,[{key:"init",value:function(e,t,n){var i=null;if(t instanceof Element)i=new e(t,n);else if(t&&(t.jquery||t.cash||t instanceof NodeList)){for(var r=[],o=0;o<t.length;o++)r.push(new e(t[o],n));i=r}return i}}]),e}();(i=window).Package?M={}:i.M={},M.jQueryLoaded=!!i.jQuery,"function"==typeof define&&define.amd?define("M",[],function(){return M}):t.nodeType||(!e.nodeType&&e.exports&&(t=e.exports=M),t.default=M),M.version="1.0.0",M.keys={TAB:9,ENTER:13,ESC:27,ARROW_UP:38,ARROW_DOWN:40},M.tabPressed=!1,M.keyDown=!1;document.addEventListener("keydown",function(e){M.keyDown=!0,e.which!==M.keys.TAB&&e.which!==M.keys.ARROW_DOWN&&e.which!==M.keys.ARROW_UP||(M.tabPressed=!0)},!0),document.addEventListener("keyup",function(e){M.keyDown=!1,e.which!==M.keys.TAB&&e.which!==M.keys.ARROW_DOWN&&e.which!==M.keys.ARROW_UP||(M.tabPressed=!1)},!0),document.addEventListener("focus",function(e){M.keyDown&&document.body.classList.add("keyboard-focused")},!0),document.addEventListener("blur",function(e){document.body.classList.remove("keyboard-focused")},!0),M.initializeJqueryWrapper=function(e,t,n){jQuery.fn[t]=function(i){if(e.prototype[i]){var r=Array.prototype.slice.call(arguments,1);if("get"===i.slice(0,3)){var o=this.first()[0][n];return o[i].apply(o,r)}return this.each(function(){var e=this[n];e[i].apply(e,r)})}if("object"==typeof i||!i)return e.init(this,i),this;jQuery.error("Method "+i+" does not exist on jQuery."+t)}},M.AutoInit=function(e){var t=e||document.body,n={Autocomplete:t.querySelectorAll(".autocomplete:not(.no-autoinit)"),Carousel:t.querySelectorAll(".carousel:not(.no-autoinit)"),Chips:t.querySelectorAll(".chips:not(.no-autoinit)"),Collapsible:t.querySelectorAll(".collapsible:not(.no-autoinit)"),Datepicker:t.querySelectorAll(".datepicker:not(.no-autoinit)"),Dropdown:t.querySelectorAll(".dropdown-trigger:not(.no-autoinit)"),Materialbox:t.querySelectorAll(".materialboxed:not(.no-autoinit)"),Modal:t.querySelectorAll(".modal:not(.no-autoinit)"),Parallax:t.querySelectorAll(".parallax:not(.no-autoinit)"),Pushpin:t.querySelectorAll(".pushpin:not(.no-autoinit)"),ScrollSpy:t.querySelectorAll(".scrollspy:not(.no-autoinit)"),FormSelect:t.querySelectorAll("select:not(.no-autoinit)"),Sidenav:t.querySelectorAll(".sidenav:not(.no-autoinit)"),Tabs:t.querySelectorAll(".tabs:not(.no-autoinit)"),TapTarget:t.querySelectorAll(".tap-target:not(.no-autoinit)"),Timepicker:t.querySelectorAll(".timepicker:not(.no-autoinit)"),Tooltip:t.querySelectorAll(".tooltipped:not(.no-autoinit)"),FloatingActionButton:t.querySelectorAll(".fixed-action-btn:not(.no-autoinit)")};for(var i in n)M[i].init(n[i])},M.objectSelectorString=function(e){return((e.prop("tagName")||"")+(e.attr("id")||"")+(e.attr("class")||"")).replace(/\s/g,"")},M.guid=function(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return function(){return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}}(),M.escapeHash=function(e){return e.replace(/(:|\.|\[|\]|,|=|\/)/g,"\\$1")},M.elementOrParentIsFixed=function(e){var t=$(e),n=t.add(t.parents()),i=!1;return n.each(function(){if("fixed"===$(this).css("position"))return i=!0,!1}),i},M.checkWithinContainer=function(e,t,n){var i={top:!1,right:!1,bottom:!1,left:!1},r=e.getBoundingClientRect(),o=e===document.body?Math.max(r.bottom,window.innerHeight):r.bottom,s=e.scrollLeft,a=e.scrollTop,l=t.left-s,c=t.top-a;return(l<r.left+n||l<n)&&(i.left=!0),(l+t.width>r.right-n||l+t.width>window.innerWidth-n)&&(i.right=!0),(c<r.top+n||c<n)&&(i.top=!0),(c+t.height>o-n||c+t.height>window.innerHeight-n)&&(i.bottom=!0),i},M.checkPossibleAlignments=function(e,t,n,i){var r={top:!0,right:!0,bottom:!0,left:!0,spaceOnTop:null,spaceOnRight:null,spaceOnBottom:null,spaceOnLeft:null},o="visible"===getComputedStyle(t).overflow,s=t.getBoundingClientRect(),a=Math.min(s.height,window.innerHeight),l=Math.min(s.width,window.innerWidth),c=e.getBoundingClientRect(),u=t.scrollLeft,h=t.scrollTop,d=n.left-u,p=n.top-h,f=n.top+c.height-h;return r.spaceOnRight=o?window.innerWidth-(c.left+n.width):l-(d+n.width),r.spaceOnRight<0&&(r.left=!1),r.spaceOnLeft=o?c.right-n.width:d-n.width+c.width,r.spaceOnLeft<0&&(r.right=!1),r.spaceOnBottom=o?window.innerHeight-(c.top+n.height+i):a-(p+n.height+i),r.spaceOnBottom<0&&(r.top=!1),r.spaceOnTop=o?c.bottom-(n.height+i):f-(n.height-i),r.spaceOnTop<0&&(r.bottom=!1),r},M.getOverflowParent=function(e){return null==e?null:e===document.body||"visible"!==getComputedStyle(e).overflow?e:M.getOverflowParent(e.parentElement)},M.getIdFromTrigger=function(e){var t=e.getAttribute("data-target");return t||(t=(t=e.getAttribute("href"))?t.slice(1):""),t},M.getDocumentScrollTop=function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},M.getDocumentScrollLeft=function(){return window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0};var ej=Date.now||function(){return(new Date).getTime()};M.throttle=function(e,t,n){var i=void 0,r=void 0,o=void 0,s=null,a=0;n||(n={});var l=function(){a=!1===n.leading?0:ej(),s=null,o=e.apply(i,r),i=r=null};return function(){var c=ej();a||!1!==n.leading||(a=c);var u=t-(c-a);return i=this,r=arguments,u<=0?(clearTimeout(s),s=null,a=c,o=e.apply(i,r),i=r=null):s||!1===n.trailing||(s=setTimeout(l,u)),o}};var eB={scope:{}};eB.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(e,t,n){if(n.get||n.set)throw TypeError("ES3 does not support getters and setters.");e!=Array.prototype&&e!=Object.prototype&&(e[t]=n.value)},eB.getGlobal=function(e){return"undefined"!=typeof window&&window===e?e:void 0!==n.g&&null!=n.g?n.g:e},eB.global=eB.getGlobal(this),eB.SYMBOL_PREFIX="jscomp_symbol_",eB.initSymbol=function(){eB.initSymbol=function(){},eB.global.Symbol||(eB.global.Symbol=eB.Symbol)},eB.symbolCounter_=0,eB.Symbol=function(e){return eB.SYMBOL_PREFIX+(e||"")+eB.symbolCounter_++},eB.initSymbolIterator=function(){eB.initSymbol();var e=eB.global.Symbol.iterator;e||(e=eB.global.Symbol.iterator=eB.global.Symbol("iterator")),"function"!=typeof Array.prototype[e]&&eB.defineProperty(Array.prototype,e,{configurable:!0,writable:!0,value:function(){return eB.arrayIterator(this)}}),eB.initSymbolIterator=function(){}},eB.arrayIterator=function(e){var t=0;return eB.iteratorPrototype(function(){return t<e.length?{done:!1,value:e[t++]}:{done:!0}})},eB.iteratorPrototype=function(e){return eB.initSymbolIterator(),(e={next:e})[eB.global.Symbol.iterator]=function(){return this},e},eB.array=eB.array||{},eB.iteratorFromArray=function(e,t){eB.initSymbolIterator(),e instanceof String&&(e+="");var n=0,i={next:function(){if(n<e.length){var r=n++;return{value:t(r,e[r]),done:!1}}return i.next=function(){return{done:!0,value:void 0}},i.next()}};return i[Symbol.iterator]=function(){return i},i},eB.polyfill=function(e,t,n,i){if(t){for(n=eB.global,e=e.split("."),i=0;i<e.length-1;i++){var r=e[i];r in n||(n[r]={}),n=n[r]}(t=t(i=n[e=e[e.length-1]]))!=i&&null!=t&&eB.defineProperty(n,e,{configurable:!0,writable:!0,value:t})}},eB.polyfill("Array.prototype.keys",function(e){return e||function(){return eB.iteratorFromArray(this,function(e){return e})}},"es6-impl","es3");var eF=this;M.anime=function(){function e(e){if(!T.col(e))try{return document.querySelectorAll(e)}catch(e){}}function t(e,t){for(var n=e.length,i=2<=arguments.length?t:void 0,r=[],o=0;o<n;o++)if(o in e){var s=e[o];t.call(i,s,o,e)&&r.push(s)}return r}function n(e){return e.reduce(function(e,t){return e.concat(T.arr(t)?n(t):t)},[])}function i(t){return T.arr(t)?t:(T.str(t)&&(t=e(t)||t),t instanceof NodeList||t instanceof HTMLCollection?[].slice.call(t):[t])}function r(e,t){return e.some(function(e){return e===t})}function o(e){var t,n={};for(t in e)n[t]=e[t];return n}function s(e,t){var n,i=o(e);for(n in e)i[n]=t.hasOwnProperty(n)?t[n]:e[n];return i}function a(e,t){var n,i=o(e);for(n in t)i[n]=T.und(e[n])?t[n]:e[n];return i}function l(e){if(e=/([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(e))return e[2]}function c(e,t){return T.fnc(e)?e(t.target,t.id,t.total):e}function u(e,t){if(t in e.style)return getComputedStyle(e).getPropertyValue(t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase())||"0"}function h(e,t){return T.dom(e)&&r(k,t)?"transform":T.dom(e)&&(e.getAttribute(t)||T.svg(e)&&e[t])?"attribute":T.dom(e)&&"transform"!==t&&u(e,t)?"css":null!=e[t]?"object":void 0}function d(e,n){switch(h(e,n)){case"transform":return function(e,n){var i=-1<n.indexOf("translate")||"perspective"===n?"px":-1<n.indexOf("rotate")||-1<n.indexOf("skew")?"deg":void 0,i=-1<n.indexOf("scale")?1:0+i;if(!(e=e.style.transform))return i;for(var r=[],o=[],s=[],a=/(\w+)\((.+?)\)/g;r=a.exec(e);)o.push(r[1]),s.push(r[2]);return(e=t(s,function(e,t){return o[t]===n})).length?e[0]:i}(e,n);case"css":return u(e,n);case"attribute":return e.getAttribute(n)}return e[n]||0}function p(e,t){var n=/^(\*=|\+=|-=)/.exec(e);if(!n)return e;var i=l(e)||0;switch(t=parseFloat(t),e=parseFloat(e.replace(n[0],"")),n[0][0]){case"+":return t+e+i;case"-":return t-e+i;case"*":return t*e+i}}function f(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function m(e){e=e.points;for(var t,n=0,i=0;i<e.numberOfItems;i++){var r=e.getItem(i);0<i&&(n+=f(t,r)),t=r}return n}function g(e){if(e.getTotalLength)return e.getTotalLength();switch(e.tagName.toLowerCase()){case"circle":return 2*Math.PI*e.getAttribute("r");case"rect":return 2*e.getAttribute("width")+2*e.getAttribute("height");case"line":return f({x:e.getAttribute("x1"),y:e.getAttribute("y1")},{x:e.getAttribute("x2"),y:e.getAttribute("y2")});case"polyline":return m(e);case"polygon":var t=e.points;return m(e)+f(t.getItem(t.numberOfItems-1),t.getItem(0))}}function v(e,t){var n,i=/-?\d*\.?\d+/g;if(n=T.pth(e)?e.totalLength:e,T.col(n)){if(T.rgb(n)){var r,o,s,o,a=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(n);n=a?"rgba("+a[1]+",1)":n}else{;n=T.hex(n)?(r=(r=n).replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(e,t,n,i){return t+t+n+n+i+i}),r=parseInt((o=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(r))[1],16),s=parseInt(o[2],16),"rgba("+r+","+s+","+(o=parseInt(o[3],16))+",1)"):T.hsl(n)?function(e){function t(e,t,n){return n<0&&(n+=1),1<n&&--n,n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var n=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(e)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(e);e=parseInt(n[1])/360;var i=parseInt(n[2])/100,r=parseInt(n[3])/100,n=n[4]||1;if(0==i)r=i=e=r;else{var o=r<.5?r*(1+i):r+i-r*i,s=2*r-o,r=t(s,o,e+1/3),i=t(s,o,e);e=t(s,o,e-1/3)}return"rgba("+255*r+","+255*i+","+255*e+","+n+")"}(n):void 0}}else a=(a=l(n))?n.substr(0,n.length-a.length):n,n=t&&!/\s/g.test(n)?a+t:a;return{original:n+="",numbers:n.match(i)?n.match(i).map(Number):[0],strings:T.str(e)||t?n.split(i):[]}}function y(e){return t(e=e?n(T.arr(e)?e.map(i):i(e)):[],function(e,t,n){return n.indexOf(e)===t})}function b(e,t,n,i){var r="delay"===e;return t.length?(r?Math.min:Math.max).apply(Math,t.map(function(t){return t[e]})):r?i.delay:n.offset+i.delay+i.duration}function w(e){function r(){return window.Promise&&new Promise(function(e){return j=e})}function f(e){return F.reversed?F.duration-e:e}function m(e){for(var n=0,i={},r=F.animations,o=r.length;n<o;){var s=r[n],a=s.animatable,l=s.tweens,c=l.length-1,h=l[c];c&&(h=t(l,function(t){return e<t.end})[0]||h);for(var l=Math.min(Math.max(e-h.start-h.delay,0),h.duration)/h.duration,d=isNaN(l)?1:h.easing(l,h.elasticity),l=h.to.strings,p=h.round,c=[],f=void 0,f=h.to.numbers.length,m=0;m<f;m++){var g=h.to.numbers[m],v=h.from.numbers[m],g=h.isPath?function(e,t){function n(n){return n=void 0===n?0:n,e.el.getPointAtLength(1<=t+n?t+n:0)}var i=n(),r=n(-1),o=n(1);switch(e.property){case"x":return i.x;case"y":return i.y;case"angle":return 180*Math.atan2(o.y-r.y,o.x-r.x)/Math.PI}}(h.value,d*g):v+d*(g-v);p&&(h.isColor&&2<m||(g=Math.round(g*p)/p)),c.push(g)}if(h=l.length)for(f=l[0],d=0;d<h;d++)p=l[d+1],isNaN(m=c[d])||(f=p?f+(m+p):f+(m+" "));else f=c[0];A[s.type](a.target,s.property,f,i,a.id),s.currentValue=f,n++}if(n=Object.keys(i).length)for(r=0;r<n;r++)_||(_=u(document.body,"transform")?"transform":"-webkit-transform"),F.animatables[r].target.style[_]=i[r].join(" ");F.currentTime=e,F.progress=e/F.duration*100}function g(e){F[e]&&F[e](F)}function k(){F.remaining&&!0!==F.remaining&&F.remaining--}function L(e){var t=F.duration,n=F.offset,i=n+F.delay,o=F.currentTime,s=F.reversed,a=f(e);if(F.children.length){var l=F.children,c=l.length;if(a>=F.currentTime)for(var u=0;u<c;u++)l[u].seek(a);else for(;c--;)l[c].seek(a)}(i<=a||!t)&&(F.began||(F.began=!0,g("begin")),g("run")),n<a&&a<t?m(a):(a<=n&&0!==o&&(m(0),s&&k()),(t<=a&&o!==t||!t)&&(m(t),s||k())),g("update"),t<=e&&(F.remaining?(P=R,"alternate"===F.direction&&(F.reversed=!F.reversed)):(F.pause(),F.completed||(F.completed=!0,g("complete"),"Promise"in window&&(j(),B=r()))),D=0)}e=void 0===e?{}:e;var R,P,D=0,j=null,B=r(),F=function(e){var r,u,f=s(E,e),m=s(x,e),g=(u=y(e.targets)).map(function(e,t){return{target:e,id:t,total:u.length}}),w=[],_=a(f,m);for(r in e)_.hasOwnProperty(r)||"targets"===r||w.push({name:r,offset:_.offset,tweens:function(e,t){var n=o(t);if(T.arr(e)){var r=e.length;2!==r||T.obj(e[0])?T.fnc(t.duration)||(n.duration=t.duration/r):e={value:e}}return i(e).map(function(e,n){return n=n?0:t.delay,e=T.obj(e)&&!T.pth(e)?e:{value:e},T.und(e.delay)&&(e.delay=n),e}).map(function(e){return a(e,n)})}(e[r],m)});return e=t(n(g.map(function(e){return w.map(function(t){var n=h(e.target,t.name);if(n){var i,r,o,s=(i=t,r=e,i.tweens.map(function(e){var t=(e=function(e,t){var n,i={};for(n in e){var r=c(e[n],t);T.arr(r)&&1===(r=r.map(function(e){return c(e,t)})).length&&(r=r[0]),i[n]=r}return i.duration=parseFloat(i.duration),i.delay=parseFloat(i.delay),i}(e,r)).value,n=d(r.target,i.name),s=o?o.to.original:n,s=T.arr(t)?t[0]:s,a=p(T.arr(t)?t[1]:t,s),n=l(a)||l(s)||l(n);return e.from=v(s,n),e.to=v(a,n),e.start=o?o.end:i.offset,e.end=e.start+e.delay+e.duration,e.easing=function(e){return T.arr(e)?O.apply(this,e):C[e]}(e.easing),e.elasticity=(1e3-Math.min(Math.max(e.elasticity,1),999))/1e3,e.isPath=T.pth(t),e.isColor=T.col(e.from.original),e.isColor&&(e.round=1),o=e}));t={type:n,property:t.name,animatable:e,tweens:s,duration:s[s.length-1].end,delay:s[0].delay}}else t=void 0;return t})})),function(e){return!T.und(e)}),a(f,{children:[],animatables:g,animations:e,duration:b("duration",e,f,m),delay:b("delay",e,f,m)})}(e);return F.reset=function(){var e=F.direction,t=F.loop;for(F.currentTime=0,F.progress=0,F.paused=!0,F.began=!1,F.completed=!1,F.reversed="reverse"===e,F.remaining="alternate"===e&&1===t?2:t,m(0),e=F.children.length;e--;)F.children[e].reset()},F.tick=function(e){R=e,P||(P=R),L((D+R-P)*w.speed)},F.seek=function(e){L(f(e))},F.pause=function(){var e=S.indexOf(F);-1<e&&S.splice(e,1),F.paused=!0},F.play=function(){F.paused&&(F.paused=!1,P=0,D=f(F.currentTime),S.push(F),N||I())},F.reverse=function(){F.reversed=!F.reversed,P=0,D=f(F.currentTime)},F.restart=function(){F.pause(),F.reset(),F.play()},F.finished=B,F.reset(),F.autoplay&&F.play(),F}var _,E={update:void 0,begin:void 0,run:void 0,complete:void 0,loop:1,direction:"normal",autoplay:!0,offset:0},x={duration:1e3,delay:0,easing:"easeOutElastic",elasticity:500,round:0},k="translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective".split(" "),T={arr:function(e){return Array.isArray(e)},obj:function(e){return -1<Object.prototype.toString.call(e).indexOf("Object")},pth:function(e){return T.obj(e)&&e.hasOwnProperty("totalLength")},svg:function(e){return e instanceof SVGElement},dom:function(e){return e.nodeType||T.svg(e)},str:function(e){return"string"==typeof e},fnc:function(e){return"function"==typeof e},und:function(e){return void 0===e},hex:function(e){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e)},rgb:function(e){return/^rgb/.test(e)},hsl:function(e){return/^hsl/.test(e)},col:function(e){return T.hex(e)||T.rgb(e)||T.hsl(e)}},O=function(){function e(e,t,n){return(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e}return function(t,n,i,r){if(0<=t&&t<=1&&0<=i&&i<=1){var o=new Float32Array(11);if(t!==n||i!==r)for(var s=0;s<11;++s)o[s]=e(.1*s,t,i);return function(s){if(t===n&&i===r)return s;if(0===s)return 0;if(1===s)return 1;for(var a=0,l=1;10!==l&&o[l]<=s;++l)a+=.1;var l=a+(s-o[--l])/(o[l+1]-o[l])*.1,c=3*(1-3*i+3*t)*l*l+2*(3*i-6*t)*l+3*t;if(.001<=c){for(a=0;a<4&&0!=(c=3*(1-3*i+3*t)*l*l+2*(3*i-6*t)*l+3*t);++a)var u=e(l,t,i)-s,l=l-u/c;s=l}else if(0===c)s=l;else{for(var l=a,a=a+.1,h=0;0<(c=e(u=l+(a-l)/2,t,i)-s)?a=u:l=u,1e-7<Math.abs(c)&&++h<10;);s=u}return e(s,n,r)}}}}(),C=function(){function e(e,t){return 0===e||1===e?e:-Math.pow(2,10*(e-1))*Math.sin(2*(e-1-t/(2*Math.PI)*Math.asin(1))*Math.PI/t)}var t,n="Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "),i={In:[[.55,.085,.68,.53],[.55,.055,.675,.19],[.895,.03,.685,.22],[.755,.05,.855,.06],[.47,0,.745,.715],[.95,.05,.795,.035],[.6,.04,.98,.335],[.6,-.28,.735,.045],e],Out:[[.25,.46,.45,.94],[.215,.61,.355,1],[.165,.84,.44,1],[.23,1,.32,1],[.39,.575,.565,1],[.19,1,.22,1],[.075,.82,.165,1],[.175,.885,.32,1.275],function(t,n){return 1-e(1-t,n)}],InOut:[[.455,.03,.515,.955],[.645,.045,.355,1],[.77,0,.175,1],[.86,0,.07,1],[.445,.05,.55,.95],[1,0,0,1],[.785,.135,.15,.86],[.68,-.55,.265,1.55],function(t,n){return t<.5?e(2*t,n)/2:1-e(-2*t+2,n)/2}]},r={linear:O(.25,.25,.75,.75)},o={};for(t in i)o.type=t,i[o.type].forEach(function(e){return function(t,i){r["ease"+e.type+n[i]]=T.fnc(t)?t:O.apply(eF,t)}}(o)),o={type:o.type};return r}(),A={css:function(e,t,n){return e.style[t]=n},attribute:function(e,t,n){return e.setAttribute(t,n)},object:function(e,t,n){return e[t]=n},transform:function(e,t,n,i,r){i[r]||(i[r]=[]),i[r].push(t+"("+n+")")}},S=[],N=0,I=function(){function e(){N=requestAnimationFrame(t)}function t(t){var n=S.length;if(n){for(var i=0;i<n;)S[i]&&S[i].tick(t),i++;e()}else cancelAnimationFrame(N),N=0}return e}();return w.version="2.2.0",w.speed=1,w.running=S,w.remove=function(e){e=y(e);for(var t=S.length;t--;)for(var n=S[t],i=n.animations,o=i.length;o--;)r(e,i[o].animatable.target)&&(i.splice(o,1),i.length||n.pause())},w.getValue=d,w.path=function(t,n){var i=T.str(t)?e(t)[0]:t,r=n||100;return function(e){return{el:i,property:e,totalLength:g(i)*(r/100)}}},w.setDashoffset=function(e){var t=g(e);return e.setAttribute("stroke-dasharray",t),t},w.bezier=O,w.easings=C,w.timeline=function(e){var t=w(e);return t.pause(),t.duration=0,t.add=function(n){return t.children.forEach(function(e){e.began=!0,e.completed=!0}),i(n).forEach(function(n){var i=a(n,s(x,e||{}));i.targets=i.targets||e.targets,n=t.duration;var r=i.offset;i.autoplay=!1,i.direction=t.direction,i.offset=T.und(r)?n:p(r,n),t.began=!0,t.completed=!0,t.seek(i.offset),(i=w(i)).began=!0,i.completed=!0,i.duration>n&&(t.duration=i.duration),t.children.push(i)}),t.seek(0),t.reset(),t.autoplay&&t.restart(),t},t},w.random=function(e,t){return Math.floor(Math.random()*(t-e+1))+e},w}(),r=cash,o=M.anime,s={accordion:!0,onOpenStart:void 0,onOpenEnd:void 0,onCloseStart:void 0,onCloseEnd:void 0,inDuration:300,outDuration:300},a=function(e){function t(e,n){eP(this,t);var i=eL(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));(i.el.M_Collapsible=i).options=r.extend({},t.defaults,n),i.$headers=i.$el.children("li").children(".collapsible-header"),i.$headers.attr("tabindex",0),i._setupEventHandlers();var o=i.$el.children("li.active").children(".collapsible-body");return i.options.accordion?o.first().css("display","block"):o.css("display","block"),i}return eR(t,eD),eM(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Collapsible=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleCollapsibleClickBound=this._handleCollapsibleClick.bind(this),this._handleCollapsibleKeydownBound=this._handleCollapsibleKeydown.bind(this),this.el.addEventListener("click",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.addEventListener("keydown",e._handleCollapsibleKeydownBound)})}},{key:"_removeEventHandlers",value:function(){var e=this;this.el.removeEventListener("click",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.removeEventListener("keydown",e._handleCollapsibleKeydownBound)})}},{key:"_handleCollapsibleClick",value:function(e){var t=r(e.target).closest(".collapsible-header");if(e.target&&t.length){var n=t.closest(".collapsible");if(n[0]===this.el){var i=t.closest("li"),o=n.children("li"),s=i[0].classList.contains("active"),a=o.index(i);s?this.close(a):this.open(a)}}}},{key:"_handleCollapsibleKeydown",value:function(e){13===e.keyCode&&this._handleCollapsibleClickBound(e)}},{key:"_animateIn",value:function(e){var t=this,n=this.$el.children("li").eq(e);if(n.length){var i=n.children(".collapsible-body");o.remove(i[0]),i.css({display:"block",overflow:"hidden",height:0,paddingTop:"",paddingBottom:""});var r=i.css("padding-top"),s=i.css("padding-bottom"),a=i[0].scrollHeight;i.css({paddingTop:0,paddingBottom:0}),o({targets:i[0],height:a,paddingTop:r,paddingBottom:s,duration:this.options.inDuration,easing:"easeInOutCubic",complete:function(e){i.css({overflow:"",paddingTop:"",paddingBottom:"",height:""}),"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,n[0])}})}}},{key:"_animateOut",value:function(e){var t=this,n=this.$el.children("li").eq(e);if(n.length){var i=n.children(".collapsible-body");o.remove(i[0]),i.css("overflow","hidden"),o({targets:i[0],height:0,paddingTop:0,paddingBottom:0,duration:this.options.outDuration,easing:"easeInOutCubic",complete:function(){i.css({height:"",overflow:"",padding:"",display:""}),"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,n[0])}})}}},{key:"open",value:function(e){var t=this,n=this.$el.children("li").eq(e);if(n.length&&!n[0].classList.contains("active")){if("function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,n[0]),this.options.accordion){var i=this.$el.children("li");this.$el.children("li.active").each(function(e){var n=i.index(r(e));t.close(n)})}n[0].classList.add("active"),this._animateIn(e)}}},{key:"close",value:function(e){var t=this.$el.children("li").eq(e);t.length&&t[0].classList.contains("active")&&("function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,t[0]),t[0].classList.remove("active"),this._animateOut(e))}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Collapsible}},{key:"defaults",get:function(){return s}}]),t}(),M.Collapsible=a,M.jQueryLoaded&&M.initializeJqueryWrapper(a,"collapsible","M_Collapsible"),l=cash,c=M.anime,u={alignment:"left",autoFocus:!0,constrainWidth:!0,container:null,coverTrigger:!0,closeOnClick:!0,hover:!1,inDuration:150,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onItemClick:null},(h=function(e){function t(e,n){eP(this,t);var i=eL(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return i.el.M_Dropdown=i,t._dropdowns.push(i),i.id=M.getIdFromTrigger(e),i.dropdownEl=document.getElementById(i.id),i.$dropdownEl=l(i.dropdownEl),i.options=l.extend({},t.defaults,n),i.isOpen=!1,i.isScrollable=!1,i.isTouchMoving=!1,i.focusedIndex=-1,i.filterQuery=[],i.options.container?l(i.options.container).append(i.dropdownEl):i.$el.after(i.dropdownEl),i._makeDropdownFocusable(),i._resetFilterQueryBound=i._resetFilterQuery.bind(i),i._handleDocumentClickBound=i._handleDocumentClick.bind(i),i._handleDocumentTouchmoveBound=i._handleDocumentTouchmove.bind(i),i._handleDropdownClickBound=i._handleDropdownClick.bind(i),i._handleDropdownKeydownBound=i._handleDropdownKeydown.bind(i),i._handleTriggerKeydownBound=i._handleTriggerKeydown.bind(i),i._setupEventHandlers(),i}return eR(t,eD),eM(t,[{key:"destroy",value:function(){this._resetDropdownStyles(),this._removeEventHandlers(),t._dropdowns.splice(t._dropdowns.indexOf(this),1),this.el.M_Dropdown=void 0}},{key:"_setupEventHandlers",value:function(){this.el.addEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.addEventListener("click",this._handleDropdownClickBound),this.options.hover?(this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.addEventListener("mouseleave",this._handleMouseLeaveBound)):(this._handleClickBound=this._handleClick.bind(this),this.el.addEventListener("click",this._handleClickBound))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.removeEventListener("click",this._handleDropdownClickBound),this.options.hover?(this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.removeEventListener("mouseleave",this._handleMouseLeaveBound)):this.el.removeEventListener("click",this._handleClickBound)}},{key:"_setupTemporaryEventHandlers",value:function(){document.body.addEventListener("click",this._handleDocumentClickBound,!0),document.body.addEventListener("touchend",this._handleDocumentClickBound),document.body.addEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.addEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_removeTemporaryEventHandlers",value:function(){document.body.removeEventListener("click",this._handleDocumentClickBound,!0),document.body.removeEventListener("touchend",this._handleDocumentClickBound),document.body.removeEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.removeEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_handleClick",value:function(e){e.preventDefault(),this.open()}},{key:"_handleMouseEnter",value:function(){this.open()}},{key:"_handleMouseLeave",value:function(e){var t=e.toElement||e.relatedTarget,n=!!l(t).closest(".dropdown-content").length,i=!1,r=l(t).closest(".dropdown-trigger");r.length&&r[0].M_Dropdown&&r[0].M_Dropdown.isOpen&&(i=!0),i||n||this.close()}},{key:"_handleDocumentClick",value:function(e){var t=this,n=l(e.target);this.options.closeOnClick&&n.closest(".dropdown-content").length&&!this.isTouchMoving?setTimeout(function(){t.close()},0):!n.closest(".dropdown-trigger").length&&n.closest(".dropdown-content").length||setTimeout(function(){t.close()},0),this.isTouchMoving=!1}},{key:"_handleTriggerKeydown",value:function(e){e.which!==M.keys.ARROW_DOWN&&e.which!==M.keys.ENTER||this.isOpen||(e.preventDefault(),this.open())}},{key:"_handleDocumentTouchmove",value:function(e){l(e.target).closest(".dropdown-content").length&&(this.isTouchMoving=!0)}},{key:"_handleDropdownClick",value:function(e){if("function"==typeof this.options.onItemClick){var t=l(e.target).closest("li")[0];this.options.onItemClick.call(this,t)}}},{key:"_handleDropdownKeydown",value:function(e){if(e.which===M.keys.TAB)e.preventDefault(),this.close();else if((e.which===M.keys.ARROW_DOWN||e.which===M.keys.ARROW_UP)&&this.isOpen){e.preventDefault();var t=e.which===M.keys.ARROW_DOWN?1:-1,n=this.focusedIndex,i=!1;do if(n+=t,this.dropdownEl.children[n]&&-1!==this.dropdownEl.children[n].tabIndex){i=!0;break}while(n<this.dropdownEl.children.length&&0<=n);i&&(this.focusedIndex=n,this._focusFocusedItem())}else if(e.which===M.keys.ENTER&&this.isOpen){var r=this.dropdownEl.children[this.focusedIndex],o=l(r).find("a, button").first();o.length?o[0].click():r&&r.click()}else e.which===M.keys.ESC&&this.isOpen&&(e.preventDefault(),this.close());var s=String.fromCharCode(e.which).toLowerCase();if(s&&-1===[9,13,27,38,40].indexOf(e.which)){this.filterQuery.push(s);var a=this.filterQuery.join(""),c=l(this.dropdownEl).find("li").filter(function(e){return 0===l(e).text().toLowerCase().indexOf(a)})[0];c&&(this.focusedIndex=l(c).index(),this._focusFocusedItem())}this.filterTimeout=setTimeout(this._resetFilterQueryBound,1e3)}},{key:"_resetFilterQuery",value:function(){this.filterQuery=[]}},{key:"_resetDropdownStyles",value:function(){this.$dropdownEl.css({display:"",width:"",height:"",left:"",top:"","transform-origin":"",transform:"",opacity:""})}},{key:"_makeDropdownFocusable",value:function(){this.dropdownEl.tabIndex=0,l(this.dropdownEl).children().each(function(e){e.getAttribute("tabindex")||e.setAttribute("tabindex",0)})}},{key:"_focusFocusedItem",value:function(){0<=this.focusedIndex&&this.focusedIndex<this.dropdownEl.children.length&&this.options.autoFocus&&this.dropdownEl.children[this.focusedIndex].focus()}},{key:"_getDropdownPosition",value:function(){this.el.offsetParent.getBoundingClientRect();var e=this.el.getBoundingClientRect(),t=this.dropdownEl.getBoundingClientRect(),n=t.height,i=t.width,r=e.left-t.left,o=e.top-t.top,s={left:r,top:o,height:n,width:i},a=this.dropdownEl.offsetParent?this.dropdownEl.offsetParent:this.dropdownEl.parentNode,l=M.checkPossibleAlignments(this.el,a,s,this.options.coverTrigger?0:e.height),c="top",u=this.options.alignment;if(o+=this.options.coverTrigger?0:e.height,this.isScrollable=!1,l.top||(l.bottom?c="bottom":(this.isScrollable=!0,l.spaceOnTop>l.spaceOnBottom?(c="bottom",n+=l.spaceOnTop,o-=l.spaceOnTop):n+=l.spaceOnBottom)),!l[u]){var h="left"===u?"right":"left";l[h]?u=h:l.spaceOnLeft>l.spaceOnRight?(u="right",i+=l.spaceOnLeft,r-=l.spaceOnLeft):(u="left",i+=l.spaceOnRight)}return"bottom"===c&&(o=o-t.height+(this.options.coverTrigger?e.height:0)),"right"===u&&(r=r-t.width+e.width),{x:r,y:o,verticalAlignment:c,horizontalAlignment:u,height:n,width:i}}},{key:"_animateIn",value:function(){var e=this;c.remove(this.dropdownEl),c({targets:this.dropdownEl,opacity:{value:[0,1],easing:"easeOutQuad"},scaleX:[.3,1],scaleY:[.3,1],duration:this.options.inDuration,easing:"easeOutQuint",complete:function(t){e.options.autoFocus&&e.dropdownEl.focus(),"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,e.el)}})}},{key:"_animateOut",value:function(){var e=this;c.remove(this.dropdownEl),c({targets:this.dropdownEl,opacity:{value:0,easing:"easeOutQuint"},scaleX:.3,scaleY:.3,duration:this.options.outDuration,easing:"easeOutQuint",complete:function(t){e._resetDropdownStyles(),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,e.el)}})}},{key:"_placeDropdown",value:function(){var e=this.options.constrainWidth?this.el.getBoundingClientRect().width:this.dropdownEl.getBoundingClientRect().width;this.dropdownEl.style.width=e+"px";var t=this._getDropdownPosition();this.dropdownEl.style.left=t.x+"px",this.dropdownEl.style.top=t.y+"px",this.dropdownEl.style.height=t.height+"px",this.dropdownEl.style.width=t.width+"px",this.dropdownEl.style.transformOrigin=("left"===t.horizontalAlignment?"0":"100%")+" "+("top"===t.verticalAlignment?"0":"100%")}},{key:"open",value:function(){this.isOpen||(this.isOpen=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._resetDropdownStyles(),this.dropdownEl.style.display="block",this._placeDropdown(),this._animateIn(),this._setupTemporaryEventHandlers())}},{key:"close",value:function(){this.isOpen&&(this.isOpen=!1,this.focusedIndex=-1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._animateOut(),this._removeTemporaryEventHandlers(),this.options.autoFocus&&this.el.focus())}},{key:"recalculateDimensions",value:function(){this.isOpen&&(this.$dropdownEl.css({width:"",height:"",left:"",top:"","transform-origin":""}),this._placeDropdown())}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Dropdown}},{key:"defaults",get:function(){return u}}]),t}())._dropdowns=[],M.Dropdown=h,M.jQueryLoaded&&M.initializeJqueryWrapper(h,"dropdown","M_Dropdown"),d=cash,p=M.anime,f={opacity:.5,inDuration:250,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0,dismissible:!0,startingTop:"4%",endingTop:"10%"},(m=function(e){function t(e,n){eP(this,t);var i=eL(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Modal=i).options=d.extend({},t.defaults,n),i.isOpen=!1,i.id=i.$el.attr("id"),i._openingTrigger=void 0,i.$overlay=d('<div class="modal-overlay"></div>'),i.el.tabIndex=0,i._nthModalOpened=0,t._count++,i._setupEventHandlers(),i}return eR(t,eD),eM(t,[{key:"destroy",value:function(){t._count--,this._removeEventHandlers(),this.el.removeAttribute("style"),this.$overlay.remove(),this.el.M_Modal=void 0}},{key:"_setupEventHandlers",value:function(){this._handleOverlayClickBound=this._handleOverlayClick.bind(this),this._handleModalCloseClickBound=this._handleModalCloseClick.bind(this),1===t._count&&document.body.addEventListener("click",this._handleTriggerClick),this.$overlay[0].addEventListener("click",this._handleOverlayClickBound),this.el.addEventListener("click",this._handleModalCloseClickBound)}},{key:"_removeEventHandlers",value:function(){0===t._count&&document.body.removeEventListener("click",this._handleTriggerClick),this.$overlay[0].removeEventListener("click",this._handleOverlayClickBound),this.el.removeEventListener("click",this._handleModalCloseClickBound)}},{key:"_handleTriggerClick",value:function(e){var t=d(e.target).closest(".modal-trigger");if(t.length){var n=M.getIdFromTrigger(t[0]),i=document.getElementById(n).M_Modal;i&&i.open(t),e.preventDefault()}}},{key:"_handleOverlayClick",value:function(){this.options.dismissible&&this.close()}},{key:"_handleModalCloseClick",value:function(e){d(e.target).closest(".modal-close").length&&this.close()}},{key:"_handleKeydown",value:function(e){27===e.keyCode&&this.options.dismissible&&this.close()}},{key:"_handleFocus",value:function(e){this.el.contains(e.target)||this._nthModalOpened!==t._modalsOpen||this.el.focus()}},{key:"_animateIn",value:function(){var e=this;d.extend(this.el.style,{display:"block",opacity:0}),d.extend(this.$overlay[0].style,{display:"block",opacity:0}),p({targets:this.$overlay[0],opacity:this.options.opacity,duration:this.options.inDuration,easing:"easeOutQuad"});var t={targets:this.el,duration:this.options.inDuration,easing:"easeOutCubic",complete:function(){"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,e.el,e._openingTrigger)}};this.el.classList.contains("bottom-sheet")?d.extend(t,{bottom:0,opacity:1}):d.extend(t,{top:[this.options.startingTop,this.options.endingTop],opacity:1,scaleX:[.8,1],scaleY:[.8,1]}),p(t)}},{key:"_animateOut",value:function(){var e=this;p({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuart"});var t={targets:this.el,duration:this.options.outDuration,easing:"easeOutCubic",complete:function(){e.el.style.display="none",e.$overlay.remove(),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,e.el)}};this.el.classList.contains("bottom-sheet")?d.extend(t,{bottom:"-100%",opacity:0}):d.extend(t,{top:[this.options.endingTop,this.options.startingTop],opacity:0,scaleX:.8,scaleY:.8}),p(t)}},{key:"open",value:function(e){if(!this.isOpen)return this.isOpen=!0,t._modalsOpen++,this._nthModalOpened=t._modalsOpen,this.$overlay[0].style.zIndex=1e3+2*t._modalsOpen,this.el.style.zIndex=1e3+2*t._modalsOpen+1,this._openingTrigger=e?e[0]:void 0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el,this._openingTrigger),this.options.preventScrolling&&(document.body.style.overflow="hidden"),this.el.classList.add("open"),this.el.insertAdjacentElement("afterend",this.$overlay[0]),this.options.dismissible&&(this._handleKeydownBound=this._handleKeydown.bind(this),this._handleFocusBound=this._handleFocus.bind(this),document.addEventListener("keydown",this._handleKeydownBound),document.addEventListener("focus",this._handleFocusBound,!0)),p.remove(this.el),p.remove(this.$overlay[0]),this._animateIn(),this.el.focus(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,t._modalsOpen--,this._nthModalOpened=0,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this.el.classList.remove("open"),0===t._modalsOpen&&(document.body.style.overflow=""),this.options.dismissible&&(document.removeEventListener("keydown",this._handleKeydownBound),document.removeEventListener("focus",this._handleFocusBound,!0)),p.remove(this.el),p.remove(this.$overlay[0]),this._animateOut(),this}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Modal}},{key:"defaults",get:function(){return f}}]),t}())._modalsOpen=0,m._count=0,M.Modal=m,M.jQueryLoaded&&M.initializeJqueryWrapper(m,"modal","M_Modal"),g=cash,v=M.anime,y={inDuration:275,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null},b=function(e){function t(e,n){eP(this,t);var i=eL(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Materialbox=i).options=g.extend({},t.defaults,n),i.overlayActive=!1,i.doneAnimating=!0,i.placeholder=g("<div></div>").addClass("material-placeholder"),i.originalWidth=0,i.originalHeight=0,i.originInlineStyles=i.$el.attr("style"),i.caption=i.el.getAttribute("data-caption")||"",i.$el.before(i.placeholder),i.placeholder.append(i.$el),i._setupEventHandlers(),i}return eR(t,eD),eM(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Materialbox=void 0,g(this.placeholder).after(this.el).remove(),this.$el.removeAttr("style")}},{key:"_setupEventHandlers",value:function(){this._handleMaterialboxClickBound=this._handleMaterialboxClick.bind(this),this.el.addEventListener("click",this._handleMaterialboxClickBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleMaterialboxClickBound)}},{key:"_handleMaterialboxClick",value:function(e){!1===this.doneAnimating||this.overlayActive&&this.doneAnimating?this.close():this.open()}},{key:"_handleWindowScroll",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowResize",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowEscape",value:function(e){27===e.keyCode&&this.doneAnimating&&this.overlayActive&&this.close()}},{key:"_makeAncestorsOverflowVisible",value:function(){this.ancestorsChanged=g();for(var e=this.placeholder[0].parentNode;null!==e&&!g(e).is(document);){var t=g(e);"visible"!==t.css("overflow")&&(t.css("overflow","visible"),void 0===this.ancestorsChanged?this.ancestorsChanged=t:this.ancestorsChanged=this.ancestorsChanged.add(t)),e=e.parentNode}}},{key:"_animateImageIn",value:function(){var e=this,t={targets:this.el,height:[this.originalHeight,this.newHeight],width:[this.originalWidth,this.newWidth],left:M.getDocumentScrollLeft()+this.windowWidth/2-this.placeholder.offset().left-this.newWidth/2,top:M.getDocumentScrollTop()+this.windowHeight/2-this.placeholder.offset().top-this.newHeight/2,duration:this.options.inDuration,easing:"easeOutQuad",complete:function(){e.doneAnimating=!0,"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,e.el)}};this.maxWidth=this.$el.css("max-width"),this.maxHeight=this.$el.css("max-height"),"none"!==this.maxWidth&&(t.maxWidth=this.newWidth),"none"!==this.maxHeight&&(t.maxHeight=this.newHeight),v(t)}},{key:"_animateImageOut",value:function(){var e=this;v({targets:this.el,width:this.originalWidth,height:this.originalHeight,left:0,top:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){e.placeholder.css({height:"",width:"",position:"",top:"",left:""}),e.attrWidth&&e.$el.attr("width",e.attrWidth),e.attrHeight&&e.$el.attr("height",e.attrHeight),e.$el.removeAttr("style"),e.originInlineStyles&&e.$el.attr("style",e.originInlineStyles),e.$el.removeClass("active"),e.doneAnimating=!0,e.ancestorsChanged.length&&e.ancestorsChanged.css("overflow",""),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,e.el)}})}},{key:"_updateVars",value:function(){this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight,this.caption=this.el.getAttribute("data-caption")||""}},{key:"open",value:function(){var e=this;this._updateVars(),this.originalWidth=this.el.getBoundingClientRect().width,this.originalHeight=this.el.getBoundingClientRect().height,this.doneAnimating=!1,this.$el.addClass("active"),this.overlayActive=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this.placeholder.css({width:this.placeholder[0].getBoundingClientRect().width+"px",height:this.placeholder[0].getBoundingClientRect().height+"px",position:"relative",top:0,left:0}),this._makeAncestorsOverflowVisible(),this.$el.css({position:"absolute","z-index":1e3,"will-change":"left, top, width, height"}),this.attrWidth=this.$el.attr("width"),this.attrHeight=this.$el.attr("height"),this.attrWidth&&(this.$el.css("width",this.attrWidth+"px"),this.$el.removeAttr("width")),this.attrHeight&&(this.$el.css("width",this.attrHeight+"px"),this.$el.removeAttr("height")),this.$overlay=g('<div id="materialbox-overlay"></div>').css({opacity:0}).one("click",function(){e.doneAnimating&&e.close()}),this.$el.before(this.$overlay);var t=this.$overlay[0].getBoundingClientRect();this.$overlay.css({width:this.windowWidth+"px",height:this.windowHeight+"px",left:-1*t.left+"px",top:-1*t.top+"px"}),v.remove(this.el),v.remove(this.$overlay[0]),v({targets:this.$overlay[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}),""!==this.caption&&(this.$photocaption&&v.remove(this.$photoCaption[0]),this.$photoCaption=g('<div class="materialbox-caption"></div>'),this.$photoCaption.text(this.caption),g("body").append(this.$photoCaption),this.$photoCaption.css({display:"inline"}),v({targets:this.$photoCaption[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}));var n=0,i=this.originalWidth/this.windowWidth,r=this.originalHeight/this.windowHeight;this.newWidth=0,this.newHeight=0,r<i?(n=this.originalHeight/this.originalWidth,this.newWidth=.9*this.windowWidth,this.newHeight=.9*this.windowWidth*n):(n=this.originalWidth/this.originalHeight,this.newWidth=.9*this.windowHeight*n,this.newHeight=.9*this.windowHeight),this._animateImageIn(),this._handleWindowScrollBound=this._handleWindowScroll.bind(this),this._handleWindowResizeBound=this._handleWindowResize.bind(this),this._handleWindowEscapeBound=this._handleWindowEscape.bind(this),window.addEventListener("scroll",this._handleWindowScrollBound),window.addEventListener("resize",this._handleWindowResizeBound),window.addEventListener("keyup",this._handleWindowEscapeBound)}},{key:"close",value:function(){var e=this;this._updateVars(),this.doneAnimating=!1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),v.remove(this.el),v.remove(this.$overlay[0]),""!==this.caption&&v.remove(this.$photoCaption[0]),window.removeEventListener("scroll",this._handleWindowScrollBound),window.removeEventListener("resize",this._handleWindowResizeBound),window.removeEventListener("keyup",this._handleWindowEscapeBound),v({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){e.overlayActive=!1,e.$overlay.remove()}}),this._animateImageOut(),""!==this.caption&&v({targets:this.$photoCaption[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){e.$photoCaption.remove()}})}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Materialbox}},{key:"defaults",get:function(){return y}}]),t}(),M.Materialbox=b,M.jQueryLoaded&&M.initializeJqueryWrapper(b,"materialbox","M_Materialbox"),w=cash,_={responsiveThreshold:0},(E=function(e){function t(e,n){eP(this,t);var i=eL(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Parallax=i).options=w.extend({},t.defaults,n),i._enabled=window.innerWidth>i.options.responsiveThreshold,i.$img=i.$el.find("img").first(),i.$img.each(function(){this.complete&&w(this).trigger("load")}),i._updateParallax(),i._setupEventHandlers(),i._setupStyles(),t._parallaxes.push(i),i}return eR(t,eD),eM(t,[{key:"destroy",value:function(){t._parallaxes.splice(t._parallaxes.indexOf(this),1),this.$img[0].style.transform="",this._removeEventHandlers(),this.$el[0].M_Parallax=void 0}},{key:"_setupEventHandlers",value:function(){this._handleImageLoadBound=this._handleImageLoad.bind(this),this.$img[0].addEventListener("load",this._handleImageLoadBound),0===t._parallaxes.length&&(t._handleScrollThrottled=M.throttle(t._handleScroll,5),window.addEventListener("scroll",t._handleScrollThrottled),t._handleWindowResizeThrottled=M.throttle(t._handleWindowResize,5),window.addEventListener("resize",t._handleWindowResizeThrottled))}},{key:"_removeEventHandlers",value:function(){this.$img[0].removeEventListener("load",this._handleImageLoadBound),0===t._parallaxes.length&&(window.removeEventListener("scroll",t._handleScrollThrottled),window.removeEventListener("resize",t._handleWindowResizeThrottled))}},{key:"_setupStyles",value:function(){this.$img[0].style.opacity=1}},{key:"_handleImageLoad",value:function(){this._updateParallax()}},{key:"_updateParallax",value:function(){var e=0<this.$el.height()?this.el.parentNode.offsetHeight:500,t=this.$img[0].offsetHeight-e,n=this.$el.offset().top+e,i=this.$el.offset().top,r=M.getDocumentScrollTop(),o=window.innerHeight;this._enabled?r<n&&i<r+o&&(this.$img[0].style.transform="translate3D(-50%, "+(r+o-i)/(e+o)*t+"px, 0)"):this.$img[0].style.transform=""}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Parallax}},{key:"_handleScroll",value:function(){for(var e=0;e<t._parallaxes.length;e++){var n=t._parallaxes[e];n._updateParallax.call(n)}}},{key:"_handleWindowResize",value:function(){for(var e=0;e<t._parallaxes.length;e++){var n=t._parallaxes[e];n._enabled=window.innerWidth>n.options.responsiveThreshold}}},{key:"defaults",get:function(){return _}}]),t}())._parallaxes=[],M.Parallax=E,M.jQueryLoaded&&M.initializeJqueryWrapper(E,"parallax","M_Parallax"),x=cash,k=M.anime,T={duration:300,onShow:null,swipeable:!1,responsiveThreshold:1/0},O=function(e){function t(e,n){eP(this,t);var i=eL(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Tabs=i).options=x.extend({},t.defaults,n),i.$tabLinks=i.$el.children("li.tab").children("a"),i.index=0,i._setupActiveTabLink(),i.options.swipeable?i._setupSwipeableTabs():i._setupNormalTabs(),i._setTabsAndTabWidth(),i._createIndicator(),i._setupEventHandlers(),i}return eR(t,eD),eM(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this._indicator.parentNode.removeChild(this._indicator),this.options.swipeable?this._teardownSwipeableTabs():this._teardownNormalTabs(),this.$el[0].M_Tabs=void 0}},{key:"_setupEventHandlers",value:function(){this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener("resize",this._handleWindowResizeBound),this._handleTabClickBound=this._handleTabClick.bind(this),this.el.addEventListener("click",this._handleTabClickBound)}},{key:"_removeEventHandlers",value:function(){window.removeEventListener("resize",this._handleWindowResizeBound),this.el.removeEventListener("click",this._handleTabClickBound)}},{key:"_handleWindowResize",value:function(){this._setTabsAndTabWidth(),0!==this.tabWidth&&0!==this.tabsWidth&&(this._indicator.style.left=this._calcLeftPos(this.$activeTabLink)+"px",this._indicator.style.right=this._calcRightPos(this.$activeTabLink)+"px")}},{key:"_handleTabClick",value:function(e){var t=this,n=x(e.target).closest("li.tab"),i=x(e.target).closest("a");if(i.length&&i.parent().hasClass("tab")){if(n.hasClass("disabled"))e.preventDefault();else if(!i.attr("target")){this.$activeTabLink.removeClass("active");var r=this.$content;this.$activeTabLink=i,this.$content=x(M.escapeHash(i[0].hash)),this.$tabLinks=this.$el.children("li.tab").children("a"),this.$activeTabLink.addClass("active");var o=this.index;this.index=Math.max(this.$tabLinks.index(i),0),this.options.swipeable?this._tabsCarousel&&this._tabsCarousel.set(this.index,function(){"function"==typeof t.options.onShow&&t.options.onShow.call(t,t.$content[0])}):this.$content.length&&(this.$content[0].style.display="block",this.$content.addClass("active"),"function"==typeof this.options.onShow&&this.options.onShow.call(this,this.$content[0]),r.length&&!r.is(this.$content)&&(r[0].style.display="none",r.removeClass("active"))),this._setTabsAndTabWidth(),this._animateIndicator(o),e.preventDefault()}}}},{key:"_createIndicator",value:function(){var e=this,t=document.createElement("li");t.classList.add("indicator"),this.el.appendChild(t),this._indicator=t,setTimeout(function(){e._indicator.style.left=e._calcLeftPos(e.$activeTabLink)+"px",e._indicator.style.right=e._calcRightPos(e.$activeTabLink)+"px"},0)}},{key:"_setupActiveTabLink",value:function(){this.$activeTabLink=x(this.$tabLinks.filter('[href="'+location.hash+'"]')),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a.active").first()),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a").first()),this.$tabLinks.removeClass("active"),this.$activeTabLink[0].classList.add("active"),this.index=Math.max(this.$tabLinks.index(this.$activeTabLink),0),this.$activeTabLink.length&&(this.$content=x(M.escapeHash(this.$activeTabLink[0].hash)),this.$content.addClass("active"))}},{key:"_setupSwipeableTabs",value:function(){var e=this;window.innerWidth>this.options.responsiveThreshold&&(this.options.swipeable=!1);var t=x();this.$tabLinks.each(function(e){var n=x(M.escapeHash(e.hash));n.addClass("carousel-item"),t=t.add(n)});var n=x('<div class="tabs-content carousel carousel-slider"></div>');t.first().before(n),n.append(t),t[0].style.display="";var i=this.$activeTabLink.closest(".tab").index();this._tabsCarousel=M.Carousel.init(n[0],{fullWidth:!0,noWrap:!0,onCycleTo:function(t){var n=e.index;e.index=x(t).index(),e.$activeTabLink.removeClass("active"),e.$activeTabLink=e.$tabLinks.eq(e.index),e.$activeTabLink.addClass("active"),e._animateIndicator(n),"function"==typeof e.options.onShow&&e.options.onShow.call(e,e.$content[0])}}),this._tabsCarousel.set(i)}},{key:"_teardownSwipeableTabs",value:function(){var e=this._tabsCarousel.$el;this._tabsCarousel.destroy(),e.after(e.children()),e.remove()}},{key:"_setupNormalTabs",value:function(){this.$tabLinks.not(this.$activeTabLink).each(function(e){if(e.hash){var t=x(M.escapeHash(e.hash));t.length&&(t[0].style.display="none")}})}},{key:"_teardownNormalTabs",value:function(){this.$tabLinks.each(function(e){if(e.hash){var t=x(M.escapeHash(e.hash));t.length&&(t[0].style.display="")}})}},{key:"_setTabsAndTabWidth",value:function(){this.tabsWidth=this.$el.width(),this.tabWidth=Math.max(this.tabsWidth,this.el.scrollWidth)/this.$tabLinks.length}},{key:"_calcRightPos",value:function(e){return Math.ceil(this.tabsWidth-e.position().left-e[0].getBoundingClientRect().width)}},{key:"_calcLeftPos",value:function(e){return Math.floor(e.position().left)}},{key:"updateTabIndicator",value:function(){this._setTabsAndTabWidth(),this._animateIndicator(this.index)}},{key:"_animateIndicator",value:function(e){var t=0,n=0;0<=this.index-e?t=90:n=90;var i={targets:this._indicator,left:{value:this._calcLeftPos(this.$activeTabLink),delay:t},right:{value:this._calcRightPos(this.$activeTabLink),delay:n},duration:this.options.duration,easing:"easeOutQuad"};k.remove(this._indicator),k(i)}},{key:"select",value:function(e){var t=this.$tabLinks.filter('[href="#'+e+'"]');t.length&&t.trigger("click")}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Tabs}},{key:"defaults",get:function(){return T}}]),t}(),M.Tabs=O,M.jQueryLoaded&&M.initializeJqueryWrapper(O,"tabs","M_Tabs"),C=cash,A=M.anime,S={exitDelay:200,enterDelay:0,html:null,margin:5,inDuration:250,outDuration:200,position:"bottom",transitionMovement:10},N=function(e){function t(e,n){eP(this,t);var i=eL(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Tooltip=i).options=C.extend({},t.defaults,n),i.isOpen=!1,i.isHovered=!1,i.isFocused=!1,i._appendTooltipEl(),i._setupEventHandlers(),i}return eR(t,eD),eM(t,[{key:"destroy",value:function(){C(this.tooltipEl).remove(),this._removeEventHandlers(),this.el.M_Tooltip=void 0}},{key:"_appendTooltipEl",value:function(){var e=document.createElement("div");e.classList.add("material-tooltip"),this.tooltipEl=e;var t=document.createElement("div");t.classList.add("tooltip-content"),t.innerHTML=this.options.html,e.appendChild(t),document.body.appendChild(e)}},{key:"_updateTooltipContent",value:function(){this.tooltipEl.querySelector(".tooltip-content").innerHTML=this.options.html}},{key:"_setupEventHandlers",value:function(){this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this._handleFocusBound=this._handleFocus.bind(this),this._handleBlurBound=this._handleBlur.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.el.addEventListener("focus",this._handleFocusBound,!0),this.el.addEventListener("blur",this._handleBlurBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.el.removeEventListener("focus",this._handleFocusBound,!0),this.el.removeEventListener("blur",this._handleBlurBound,!0)}},{key:"open",value:function(e){this.isOpen||(e=void 0===e||void 0,this.isOpen=!0,this.options=C.extend({},this.options,this._getAttributeOptions()),this._updateTooltipContent(),this._setEnterDelayTimeout(e))}},{key:"close",value:function(){this.isOpen&&(this.isHovered=!1,this.isFocused=!1,this.isOpen=!1,this._setExitDelayTimeout())}},{key:"_setExitDelayTimeout",value:function(){var e=this;clearTimeout(this._exitDelayTimeout),this._exitDelayTimeout=setTimeout(function(){e.isHovered||e.isFocused||e._animateOut()},this.options.exitDelay)}},{key:"_setEnterDelayTimeout",value:function(e){var t=this;clearTimeout(this._enterDelayTimeout),this._enterDelayTimeout=setTimeout(function(){(t.isHovered||t.isFocused||e)&&t._animateIn()},this.options.enterDelay)}},{key:"_positionTooltip",value:function(){var e,t=this.el,n=this.tooltipEl,i=t.offsetHeight,r=t.offsetWidth,o=n.offsetHeight,s=n.offsetWidth,a=this.options.margin,l=void 0,c=void 0;this.xMovement=0,this.yMovement=0,l=t.getBoundingClientRect().top+M.getDocumentScrollTop(),c=t.getBoundingClientRect().left+M.getDocumentScrollLeft(),"top"===this.options.position?(l+=-o-a,c+=r/2-s/2,this.yMovement=-this.options.transitionMovement):"right"===this.options.position?(l+=i/2-o/2,c+=r+a,this.xMovement=this.options.transitionMovement):"left"===this.options.position?(l+=i/2-o/2,c+=-s-a,this.xMovement=-this.options.transitionMovement):(l+=i+a,c+=r/2-s/2,this.yMovement=this.options.transitionMovement),e=this._repositionWithinScreen(c,l,s,o),C(n).css({top:e.y+"px",left:e.x+"px"})}},{key:"_repositionWithinScreen",value:function(e,t,n,i){var r=M.getDocumentScrollLeft(),o=M.getDocumentScrollTop(),s=e-r,a=t-o,l={left:s,top:a,width:n,height:i},c=this.options.margin+this.options.transitionMovement,u=M.checkWithinContainer(document.body,l,c);return u.left?s=c:u.right&&(s-=s+n-window.innerWidth),u.top?a=c:u.bottom&&(a-=a+i-window.innerHeight),{x:s+r,y:a+o}}},{key:"_animateIn",value:function(){this._positionTooltip(),this.tooltipEl.style.visibility="visible",A.remove(this.tooltipEl),A({targets:this.tooltipEl,opacity:1,translateX:this.xMovement,translateY:this.yMovement,duration:this.options.inDuration,easing:"easeOutCubic"})}},{key:"_animateOut",value:function(){A.remove(this.tooltipEl),A({targets:this.tooltipEl,opacity:0,translateX:0,translateY:0,duration:this.options.outDuration,easing:"easeOutCubic"})}},{key:"_handleMouseEnter",value:function(){this.isHovered=!0,this.isFocused=!1,this.open(!1)}},{key:"_handleMouseLeave",value:function(){this.isHovered=!1,this.isFocused=!1,this.close()}},{key:"_handleFocus",value:function(){M.tabPressed&&(this.isFocused=!0,this.open(!1))}},{key:"_handleBlur",value:function(){this.isFocused=!1,this.close()}},{key:"_getAttributeOptions",value:function(){var e={},t=this.el.getAttribute("data-tooltip"),n=this.el.getAttribute("data-position");return t&&(e.html=t),n&&(e.position=n),e}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Tooltip}},{key:"defaults",get:function(){return S}}]),t}(),M.Tooltip=N,M.jQueryLoaded&&M.initializeJqueryWrapper(N,"tooltip","M_Tooltip"),function(e){"use strict";var t=t||{},n=document.querySelectorAll.bind(document);function i(e){var t="";for(var n in e)e.hasOwnProperty(n)&&(t+=n+":"+e[n]+";");return t}var r={duration:750,show:function(e,t){if(2===e.button)return!1;var n=t||this,o=document.createElement("div");o.className="waves-ripple",n.appendChild(o);var s,a,l,c,u=(l={top:0,left:0},s=(c=n&&n.ownerDocument).documentElement,void 0!==n.getBoundingClientRect&&(l=n.getBoundingClientRect()),a=null!==c&&c===c.window?c:9===c.nodeType&&c.defaultView,{top:l.top+a.pageYOffset-s.clientTop,left:l.left+a.pageXOffset-s.clientLeft}),h=e.pageY-u.top,d=e.pageX-u.left,p="scale("+n.clientWidth/100*10+")";"touches"in e&&(h=e.touches[0].pageY-u.top,d=e.touches[0].pageX-u.left),o.setAttribute("data-hold",Date.now()),o.setAttribute("data-scale",p),o.setAttribute("data-x",d),o.setAttribute("data-y",h);var f={top:h+"px",left:d+"px"};o.className=o.className+" waves-notransition",o.setAttribute("style",i(f)),o.className=o.className.replace("waves-notransition",""),f["-webkit-transform"]=p,f["-moz-transform"]=p,f["-ms-transform"]=p,f["-o-transform"]=p,f.transform=p,f.opacity="1",f["-webkit-transition-duration"]=r.duration+"ms",f["-moz-transition-duration"]=r.duration+"ms",f["-o-transition-duration"]=r.duration+"ms",f["transition-duration"]=r.duration+"ms",f["-webkit-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["-moz-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["-o-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",o.setAttribute("style",i(f))},hide:function(e){o.touchup(e);var t=this,n=(t.clientWidth,null),s=t.getElementsByClassName("waves-ripple");if(!(0<s.length))return!1;var a=(n=s[s.length-1]).getAttribute("data-x"),l=n.getAttribute("data-y"),c=n.getAttribute("data-scale"),u=350-(Date.now()-Number(n.getAttribute("data-hold")));u<0&&(u=0),setTimeout(function(){var e={top:l+"px",left:a+"px",opacity:"0","-webkit-transition-duration":r.duration+"ms","-moz-transition-duration":r.duration+"ms","-o-transition-duration":r.duration+"ms","transition-duration":r.duration+"ms","-webkit-transform":c,"-moz-transform":c,"-ms-transform":c,"-o-transform":c,transform:c};n.setAttribute("style",i(e)),setTimeout(function(){try{t.removeChild(n)}catch(e){return!1}},r.duration)},u)},wrapInput:function(e){for(var t=0;t<e.length;t++){var n=e[t];if("input"===n.tagName.toLowerCase()){var i=n.parentNode;if("i"===i.tagName.toLowerCase()&&-1!==i.className.indexOf("waves-effect"))continue;var r=document.createElement("i");r.className=n.className+" waves-input-wrapper";var o=n.getAttribute("style");o||(o=""),r.setAttribute("style",o),n.className="waves-button-input",n.removeAttribute("style"),i.replaceChild(r,n),r.appendChild(n)}}}},o={touches:0,allowEvent:function(e){var t=!0;return"touchstart"===e.type?o.touches+=1:"touchend"===e.type||"touchcancel"===e.type?setTimeout(function(){0<o.touches&&(o.touches-=1)},500):"mousedown"===e.type&&0<o.touches&&(t=!1),t},touchup:function(e){o.allowEvent(e)}};function s(t){var n=function(e){if(!1===o.allowEvent(e))return null;for(var t=null,n=e.target||e.srcElement;null!==n.parentNode;){if(!(n instanceof SVGElement)&&-1!==n.className.indexOf("waves-effect")){t=n;break}n=n.parentNode}return t}(t);null!==n&&(r.show(t,n),"ontouchstart"in e&&(n.addEventListener("touchend",r.hide,!1),n.addEventListener("touchcancel",r.hide,!1)),n.addEventListener("mouseup",r.hide,!1),n.addEventListener("mouseleave",r.hide,!1),n.addEventListener("dragend",r.hide,!1))}t.displayEffect=function(t){"duration"in(t=t||{})&&(r.duration=t.duration),r.wrapInput(n(".waves-effect")),"ontouchstart"in e&&document.body.addEventListener("touchstart",s,!1),document.body.addEventListener("mousedown",s,!1)},t.attach=function(t){"input"===t.tagName.toLowerCase()&&(r.wrapInput([t]),t=t.parentNode),"ontouchstart"in e&&t.addEventListener("touchstart",s,!1),t.addEventListener("mousedown",s,!1)},e.Waves=t,document.addEventListener("DOMContentLoaded",function(){t.displayEffect()},!1)}(window),I=cash,L=M.anime,R={html:"",displayLength:4e3,inDuration:300,outDuration:375,classes:"",completeCallback:null,activationPercent:.8},(P=function(){function e(t){eP(this,e),this.options=I.extend({},e.defaults,t),this.message=this.options.html,this.panning=!1,this.timeRemaining=this.options.displayLength,0===e._toasts.length&&e._createContainer(),e._toasts.push(this);var n=this._createToast();(n.M_Toast=this).el=n,this.$el=I(n),this._animateIn(),this._setTimer()}return eM(e,[{key:"_createToast",value:function(){var t=document.createElement("div");return t.classList.add("toast"),this.options.classes.length&&I(t).addClass(this.options.classes),("object"==typeof HTMLElement?this.message instanceof HTMLElement:this.message&&"object"==typeof this.message&&null!==this.message&&1===this.message.nodeType&&"string"==typeof this.message.nodeName)?t.appendChild(this.message):this.message.jquery?I(t).append(this.message[0]):t.innerHTML=this.message,e._container.appendChild(t),t}},{key:"_animateIn",value:function(){L({targets:this.el,top:0,opacity:1,duration:this.options.inDuration,easing:"easeOutCubic"})}},{key:"_setTimer",value:function(){var e=this;this.timeRemaining!==1/0&&(this.counterInterval=setInterval(function(){e.panning||(e.timeRemaining-=20),e.timeRemaining<=0&&e.dismiss()},20))}},{key:"dismiss",value:function(){var t=this;window.clearInterval(this.counterInterval);var n=this.el.offsetWidth*this.options.activationPercent;this.wasSwiped&&(this.el.style.transition="transform .05s, opacity .05s",this.el.style.transform="translateX("+n+"px)",this.el.style.opacity=0),L({targets:this.el,opacity:0,marginTop:-40,duration:this.options.outDuration,easing:"easeOutExpo",complete:function(){"function"==typeof t.options.completeCallback&&t.options.completeCallback(),t.$el.remove(),e._toasts.splice(e._toasts.indexOf(t),1),0===e._toasts.length&&e._removeContainer()}})}}],[{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Toast}},{key:"_createContainer",value:function(){var t=document.createElement("div");t.setAttribute("id","toast-container"),t.addEventListener("touchstart",e._onDragStart),t.addEventListener("touchmove",e._onDragMove),t.addEventListener("touchend",e._onDragEnd),t.addEventListener("mousedown",e._onDragStart),document.addEventListener("mousemove",e._onDragMove),document.addEventListener("mouseup",e._onDragEnd),document.body.appendChild(t),e._container=t}},{key:"_removeContainer",value:function(){document.removeEventListener("mousemove",e._onDragMove),document.removeEventListener("mouseup",e._onDragEnd),I(e._container).remove(),e._container=null}},{key:"_onDragStart",value:function(t){if(t.target&&I(t.target).closest(".toast").length){var n=I(t.target).closest(".toast")[0].M_Toast;n.panning=!0,(e._draggedToast=n).el.classList.add("panning"),n.el.style.transition="",n.startingXPos=e._xPos(t),n.time=Date.now(),n.xPos=e._xPos(t)}}},{key:"_onDragMove",value:function(t){if(e._draggedToast){t.preventDefault();var n=e._draggedToast;n.deltaX=Math.abs(n.xPos-e._xPos(t)),n.xPos=e._xPos(t),n.velocityX=n.deltaX/(Date.now()-n.time),n.time=Date.now();var i=n.xPos-n.startingXPos,r=n.el.offsetWidth*n.options.activationPercent;n.el.style.transform="translateX("+i+"px)",n.el.style.opacity=1-Math.abs(i/r)}}},{key:"_onDragEnd",value:function(){if(e._draggedToast){var t=e._draggedToast;t.panning=!1,t.el.classList.remove("panning"),Math.abs(t.xPos-t.startingXPos)>t.el.offsetWidth*t.options.activationPercent||1<t.velocityX?(t.wasSwiped=!0,t.dismiss()):(t.el.style.transition="transform .2s, opacity .2s",t.el.style.transform="",t.el.style.opacity=""),e._draggedToast=null}}},{key:"_xPos",value:function(e){return e.targetTouches&&1<=e.targetTouches.length?e.targetTouches[0].clientX:e.clientX}},{key:"dismissAll",value:function(){for(var t in e._toasts)e._toasts[t].dismiss()}},{key:"defaults",get:function(){return R}}]),e}())._toasts=[],P._container=null,P._draggedToast=null,M.Toast=P,M.toast=function(e){return new P(e)},D=cash,j=M.anime,B={edge:"left",draggable:!0,inDuration:250,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0},(F=function(e){function t(e,n){eP(this,t);var i=eL(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Sidenav=i).id=i.$el.attr("id"),i.options=D.extend({},t.defaults,n),i.isOpen=!1,i.isFixed=i.el.classList.contains("sidenav-fixed"),i.isDragged=!1,i.lastWindowWidth=window.innerWidth,i.lastWindowHeight=window.innerHeight,i._createOverlay(),i._createDragTarget(),i._setupEventHandlers(),i._setupClasses(),i._setupFixed(),t._sidenavs.push(i),i}return eR(t,eD),eM(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this._enableBodyScrolling(),this._overlay.parentNode.removeChild(this._overlay),this.dragTarget.parentNode.removeChild(this.dragTarget),this.el.M_Sidenav=void 0,this.el.style.transform="";var e=t._sidenavs.indexOf(this);0<=e&&t._sidenavs.splice(e,1)}},{key:"_createOverlay",value:function(){var e=document.createElement("div");this._closeBound=this.close.bind(this),e.classList.add("sidenav-overlay"),e.addEventListener("click",this._closeBound),document.body.appendChild(e),this._overlay=e}},{key:"_setupEventHandlers",value:function(){0===t._sidenavs.length&&document.body.addEventListener("click",this._handleTriggerClick),this._handleDragTargetDragBound=this._handleDragTargetDrag.bind(this),this._handleDragTargetReleaseBound=this._handleDragTargetRelease.bind(this),this._handleCloseDragBound=this._handleCloseDrag.bind(this),this._handleCloseReleaseBound=this._handleCloseRelease.bind(this),this._handleCloseTriggerClickBound=this._handleCloseTriggerClick.bind(this),this.dragTarget.addEventListener("touchmove",this._handleDragTargetDragBound),this.dragTarget.addEventListener("touchend",this._handleDragTargetReleaseBound),this._overlay.addEventListener("touchmove",this._handleCloseDragBound),this._overlay.addEventListener("touchend",this._handleCloseReleaseBound),this.el.addEventListener("touchmove",this._handleCloseDragBound),this.el.addEventListener("touchend",this._handleCloseReleaseBound),this.el.addEventListener("click",this._handleCloseTriggerClickBound),this.isFixed&&(this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener("resize",this._handleWindowResizeBound))}},{key:"_removeEventHandlers",value:function(){1===t._sidenavs.length&&document.body.removeEventListener("click",this._handleTriggerClick),this.dragTarget.removeEventListener("touchmove",this._handleDragTargetDragBound),this.dragTarget.removeEventListener("touchend",this._handleDragTargetReleaseBound),this._overlay.removeEventListener("touchmove",this._handleCloseDragBound),this._overlay.removeEventListener("touchend",this._handleCloseReleaseBound),this.el.removeEventListener("touchmove",this._handleCloseDragBound),this.el.removeEventListener("touchend",this._handleCloseReleaseBound),this.el.removeEventListener("click",this._handleCloseTriggerClickBound),this.isFixed&&window.removeEventListener("resize",this._handleWindowResizeBound)}},{key:"_handleTriggerClick",value:function(e){var t=D(e.target).closest(".sidenav-trigger");if(e.target&&t.length){var n=M.getIdFromTrigger(t[0]),i=document.getElementById(n).M_Sidenav;i&&i.open(t),e.preventDefault()}}},{key:"_startDrag",value:function(e){var t=e.targetTouches[0].clientX;this.isDragged=!0,this._startingXpos=t,this._xPos=this._startingXpos,this._time=Date.now(),this._width=this.el.getBoundingClientRect().width,this._overlay.style.display="block",this._initialScrollTop=this.isOpen?this.el.scrollTop:M.getDocumentScrollTop(),this._verticallyScrolling=!1,j.remove(this.el),j.remove(this._overlay)}},{key:"_dragMoveUpdate",value:function(e){var t=e.targetTouches[0].clientX,n=this.isOpen?this.el.scrollTop:M.getDocumentScrollTop();this.deltaX=Math.abs(this._xPos-t),this._xPos=t,this.velocityX=this.deltaX/(Date.now()-this._time),this._time=Date.now(),this._initialScrollTop!==n&&(this._verticallyScrolling=!0)}},{key:"_handleDragTargetDrag",value:function(e){if(this.options.draggable&&!this._isCurrentlyFixed()&&!this._verticallyScrolling){this.isDragged||this._startDrag(e),this._dragMoveUpdate(e);var t=this._xPos-this._startingXpos,n=0<t?"right":"left";t=Math.min(this._width,Math.abs(t)),this.options.edge===n&&(t=0);var i=t,r="translateX(-100%)";"right"===this.options.edge&&(r="translateX(100%)",i=-i),this.percentOpen=Math.min(1,t/this._width),this.el.style.transform=r+" translateX("+i+"px)",this._overlay.style.opacity=this.percentOpen}}},{key:"_handleDragTargetRelease",value:function(){this.isDragged&&(.2<this.percentOpen?this.open():this._animateOut(),this.isDragged=!1,this._verticallyScrolling=!1)}},{key:"_handleCloseDrag",value:function(e){if(this.isOpen&&!(!this.options.draggable||this._isCurrentlyFixed())&&!this._verticallyScrolling){this.isDragged||this._startDrag(e),this._dragMoveUpdate(e);var t=this._xPos-this._startingXpos,n=0<t?"right":"left";t=Math.min(this._width,Math.abs(t)),this.options.edge!==n&&(t=0);var i=-t;"right"===this.options.edge&&(i=-i),this.percentOpen=Math.min(1,1-t/this._width),this.el.style.transform="translateX("+i+"px)",this._overlay.style.opacity=this.percentOpen}}},{key:"_handleCloseRelease",value:function(){this.isOpen&&this.isDragged&&(.8<this.percentOpen?this._animateIn():this.close(),this.isDragged=!1,this._verticallyScrolling=!1)}},{key:"_handleCloseTriggerClick",value:function(e){D(e.target).closest(".sidenav-close").length&&!this._isCurrentlyFixed()&&this.close()}},{key:"_handleWindowResize",value:function(){this.lastWindowWidth!==window.innerWidth&&(992<window.innerWidth?this.open():this.close()),this.lastWindowWidth=window.innerWidth,this.lastWindowHeight=window.innerHeight}},{key:"_setupClasses",value:function(){"right"===this.options.edge&&(this.el.classList.add("right-aligned"),this.dragTarget.classList.add("right-aligned"))}},{key:"_removeClasses",value:function(){this.el.classList.remove("right-aligned"),this.dragTarget.classList.remove("right-aligned")}},{key:"_setupFixed",value:function(){this._isCurrentlyFixed()&&this.open()}},{key:"_isCurrentlyFixed",value:function(){return this.isFixed&&992<window.innerWidth}},{key:"_createDragTarget",value:function(){var e=document.createElement("div");e.classList.add("drag-target"),document.body.appendChild(e),this.dragTarget=e}},{key:"_preventBodyScrolling",value:function(){document.body.style.overflow="hidden"}},{key:"_enableBodyScrolling",value:function(){document.body.style.overflow=""}},{key:"open",value:function(){!0!==this.isOpen&&(this.isOpen=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._isCurrentlyFixed()?(j.remove(this.el),j({targets:this.el,translateX:0,duration:0,easing:"easeOutQuad"}),this._enableBodyScrolling(),this._overlay.style.display="none"):(this.options.preventScrolling&&this._preventBodyScrolling(),this.isDragged&&1==this.percentOpen||this._animateIn()))}},{key:"close",value:function(){if(!1!==this.isOpen){if(this.isOpen=!1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._isCurrentlyFixed()){var e="left"===this.options.edge?"-105%":"105%";this.el.style.transform="translateX("+e+")"}else this._enableBodyScrolling(),this.isDragged&&0==this.percentOpen?this._overlay.style.display="none":this._animateOut()}}},{key:"_animateIn",value:function(){this._animateSidenavIn(),this._animateOverlayIn()}},{key:"_animateSidenavIn",value:function(){var e=this,t="left"===this.options.edge?-1:1;this.isDragged&&(t="left"===this.options.edge?t+this.percentOpen:t-this.percentOpen),j.remove(this.el),j({targets:this.el,translateX:[100*t+"%",0],duration:this.options.inDuration,easing:"easeOutQuad",complete:function(){"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,e.el)}})}},{key:"_animateOverlayIn",value:function(){var e=0;this.isDragged?e=this.percentOpen:D(this._overlay).css({display:"block"}),j.remove(this._overlay),j({targets:this._overlay,opacity:[e,1],duration:this.options.inDuration,easing:"easeOutQuad"})}},{key:"_animateOut",value:function(){this._animateSidenavOut(),this._animateOverlayOut()}},{key:"_animateSidenavOut",value:function(){var e=this,t="left"===this.options.edge?-1:1,n=0;this.isDragged&&(n="left"===this.options.edge?t+this.percentOpen:t-this.percentOpen),j.remove(this.el),j({targets:this.el,translateX:[100*n+"%",105*t+"%"],duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,e.el)}})}},{key:"_animateOverlayOut",value:function(){var e=this;j.remove(this._overlay),j({targets:this._overlay,opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){D(e._overlay).css("display","none")}})}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Sidenav}},{key:"defaults",get:function(){return B}}]),t}())._sidenavs=[],M.Sidenav=F,M.jQueryLoaded&&M.initializeJqueryWrapper(F,"sidenav","M_Sidenav"),q=cash,H=M.anime,U={throttle:100,scrollOffset:200,activeClass:"active",getActiveElement:function(e){return'a[href="#'+e+'"]'}},(z=function(e){function t(e,n){eP(this,t);var i=eL(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_ScrollSpy=i).options=q.extend({},t.defaults,n),t._elements.push(i),t._count++,t._increment++,i.tickId=-1,i.id=t._increment,i._setupEventHandlers(),i._handleWindowScroll(),i}return eR(t,eD),eM(t,[{key:"destroy",value:function(){t._elements.splice(t._elements.indexOf(this),1),t._elementsInView.splice(t._elementsInView.indexOf(this),1),t._visibleElements.splice(t._visibleElements.indexOf(this.$el),1),t._count--,this._removeEventHandlers(),q(this.options.getActiveElement(this.$el.attr("id"))).removeClass(this.options.activeClass),this.el.M_ScrollSpy=void 0}},{key:"_setupEventHandlers",value:function(){var e=M.throttle(this._handleWindowScroll,200);this._handleThrottledResizeBound=e.bind(this),this._handleWindowScrollBound=this._handleWindowScroll.bind(this),1===t._count&&(window.addEventListener("scroll",this._handleWindowScrollBound),window.addEventListener("resize",this._handleThrottledResizeBound),document.body.addEventListener("click",this._handleTriggerClick))}},{key:"_removeEventHandlers",value:function(){0===t._count&&(window.removeEventListener("scroll",this._handleWindowScrollBound),window.removeEventListener("resize",this._handleThrottledResizeBound),document.body.removeEventListener("click",this._handleTriggerClick))}},{key:"_handleTriggerClick",value:function(e){for(var n=q(e.target),i=t._elements.length-1;0<=i;i--){var r=t._elements[i];if(n.is('a[href="#'+r.$el.attr("id")+'"]')){e.preventDefault();var o=r.$el.offset().top+1;H({targets:[document.documentElement,document.body],scrollTop:o-r.options.scrollOffset,duration:400,easing:"easeOutCubic"});break}}}},{key:"_handleWindowScroll",value:function(){t._ticks++;for(var e=M.getDocumentScrollTop(),n=M.getDocumentScrollLeft(),i=n+window.innerWidth,r=e+window.innerHeight,o=t._findElements(e,i,r,n),s=0;s<o.length;s++){var a=o[s];a.tickId<0&&a._enter(),a.tickId=t._ticks}for(var l=0;l<t._elementsInView.length;l++){var c=t._elementsInView[l],u=c.tickId;0<=u&&u!==t._ticks&&(c._exit(),c.tickId=-1)}t._elementsInView=o}},{key:"_enter",value:function(){(t._visibleElements=t._visibleElements.filter(function(e){return 0!=e.height()}))[0]?(q(this.options.getActiveElement(t._visibleElements[0].attr("id"))).removeClass(this.options.activeClass),t._visibleElements[0][0].M_ScrollSpy&&this.id<t._visibleElements[0][0].M_ScrollSpy.id?t._visibleElements.unshift(this.$el):t._visibleElements.push(this.$el)):t._visibleElements.push(this.$el),q(this.options.getActiveElement(t._visibleElements[0].attr("id"))).addClass(this.options.activeClass)}},{key:"_exit",value:function(){var e=this;(t._visibleElements=t._visibleElements.filter(function(e){return 0!=e.height()}))[0]&&(q(this.options.getActiveElement(t._visibleElements[0].attr("id"))).removeClass(this.options.activeClass),(t._visibleElements=t._visibleElements.filter(function(t){return t.attr("id")!=e.$el.attr("id")}))[0]&&q(this.options.getActiveElement(t._visibleElements[0].attr("id"))).addClass(this.options.activeClass))}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_ScrollSpy}},{key:"_findElements",value:function(e,n,i,r){for(var o=[],s=0;s<t._elements.length;s++){var a=t._elements[s],l=e+a.options.scrollOffset||200;if(0<a.$el.height()){var c=a.$el.offset().top,u=a.$el.offset().left,h=u+a.$el.width(),d=c+a.$el.height();n<u||h<r||i<c||d<l||o.push(a)}}return o}},{key:"defaults",get:function(){return U}}]),t}())._elements=[],z._elementsInView=[],z._visibleElements=[],z._count=0,z._increment=0,z._ticks=0,M.ScrollSpy=z,M.jQueryLoaded&&M.initializeJqueryWrapper(z,"scrollSpy","M_ScrollSpy"),X=cash,W={data:{},limit:1/0,onAutocomplete:null,minLength:1,sortFunction:function(e,t,n){return e.indexOf(n)-t.indexOf(n)}},(V=function(e){function t(e,n){eP(this,t);var i=eL(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Autocomplete=i).options=X.extend({},t.defaults,n),i.isOpen=!1,i.count=0,i.activeIndex=-1,i.oldVal,i.$inputField=i.$el.closest(".input-field"),i.$active=X(),i._mousedown=!1,i._setupDropdown(),i._setupEventHandlers(),i}return eR(t,eD),eM(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeDropdown(),this.el.M_Autocomplete=void 0}},{key:"_setupEventHandlers",value:function(){this._handleInputBlurBound=this._handleInputBlur.bind(this),this._handleInputKeyupAndFocusBound=this._handleInputKeyupAndFocus.bind(this),this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleContainerMousedownAndTouchstartBound=this._handleContainerMousedownAndTouchstart.bind(this),this._handleContainerMouseupAndTouchendBound=this._handleContainerMouseupAndTouchend.bind(this),this.el.addEventListener("blur",this._handleInputBlurBound),this.el.addEventListener("keyup",this._handleInputKeyupAndFocusBound),this.el.addEventListener("focus",this._handleInputKeyupAndFocusBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.el.addEventListener("click",this._handleInputClickBound),this.container.addEventListener("mousedown",this._handleContainerMousedownAndTouchstartBound),this.container.addEventListener("mouseup",this._handleContainerMouseupAndTouchendBound),void 0!==window.ontouchstart&&(this.container.addEventListener("touchstart",this._handleContainerMousedownAndTouchstartBound),this.container.addEventListener("touchend",this._handleContainerMouseupAndTouchendBound))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("blur",this._handleInputBlurBound),this.el.removeEventListener("keyup",this._handleInputKeyupAndFocusBound),this.el.removeEventListener("focus",this._handleInputKeyupAndFocusBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound),this.el.removeEventListener("click",this._handleInputClickBound),this.container.removeEventListener("mousedown",this._handleContainerMousedownAndTouchstartBound),this.container.removeEventListener("mouseup",this._handleContainerMouseupAndTouchendBound),void 0!==window.ontouchstart&&(this.container.removeEventListener("touchstart",this._handleContainerMousedownAndTouchstartBound),this.container.removeEventListener("touchend",this._handleContainerMouseupAndTouchendBound))}},{key:"_setupDropdown",value:function(){var e=this;this.container=document.createElement("ul"),this.container.id="autocomplete-options-"+M.guid(),X(this.container).addClass("autocomplete-content dropdown-content"),this.$inputField.append(this.container),this.el.setAttribute("data-target",this.container.id),this.dropdown=M.Dropdown.init(this.el,{autoFocus:!1,closeOnClick:!1,coverTrigger:!1,onItemClick:function(t){e.selectOption(X(t))}}),this.el.removeEventListener("click",this.dropdown._handleClickBound)}},{key:"_removeDropdown",value:function(){this.container.parentNode.removeChild(this.container)}},{key:"_handleInputBlur",value:function(){this._mousedown||(this.close(),this._resetAutocomplete())}},{key:"_handleInputKeyupAndFocus",value:function(e){"keyup"===e.type&&(t._keydown=!1),this.count=0;var n=this.el.value.toLowerCase();13!==e.keyCode&&38!==e.keyCode&&40!==e.keyCode&&(this.oldVal!==n&&(M.tabPressed||"focus"!==e.type)&&this.open(),this.oldVal=n)}},{key:"_handleInputKeydown",value:function(e){t._keydown=!0;var n=e.keyCode,i=void 0,r=X(this.container).children("li").length;n===M.keys.ENTER&&0<=this.activeIndex?(i=X(this.container).children("li").eq(this.activeIndex)).length&&(this.selectOption(i),e.preventDefault()):n!==M.keys.ARROW_UP&&n!==M.keys.ARROW_DOWN||(e.preventDefault(),n===M.keys.ARROW_UP&&0<this.activeIndex&&this.activeIndex--,n===M.keys.ARROW_DOWN&&this.activeIndex<r-1&&this.activeIndex++,this.$active.removeClass("active"),0<=this.activeIndex&&(this.$active=X(this.container).children("li").eq(this.activeIndex),this.$active.addClass("active")))}},{key:"_handleInputClick",value:function(e){this.open()}},{key:"_handleContainerMousedownAndTouchstart",value:function(e){this._mousedown=!0}},{key:"_handleContainerMouseupAndTouchend",value:function(e){this._mousedown=!1}},{key:"_highlight",value:function(e,t){var n=t.find("img"),i=t.text().toLowerCase().indexOf(""+e.toLowerCase()),r=i+e.length-1,o=t.text().slice(0,i),s=t.text().slice(i,r+1),a=t.text().slice(r+1);t.html("<span>"+o+"<span class='highlight'>"+s+"</span>"+a+"</span>"),n.length&&t.prepend(n)}},{key:"_resetCurrentElement",value:function(){this.activeIndex=-1,this.$active.removeClass("active")}},{key:"_resetAutocomplete",value:function(){X(this.container).empty(),this._resetCurrentElement(),this.oldVal=null,this.isOpen=!1,this._mousedown=!1}},{key:"selectOption",value:function(e){var t=e.text().trim();this.el.value=t,this.$el.trigger("change"),this._resetAutocomplete(),this.close(),"function"==typeof this.options.onAutocomplete&&this.options.onAutocomplete.call(this,t)}},{key:"_renderDropdown",value:function(e,t){var n=this;this._resetAutocomplete();var i=[];for(var r in e)if(e.hasOwnProperty(r)&&-1!==r.toLowerCase().indexOf(t)){if(this.count>=this.options.limit)break;var o={data:e[r],key:r};i.push(o),this.count++}this.options.sortFunction&&i.sort(function(e,i){return n.options.sortFunction(e.key.toLowerCase(),i.key.toLowerCase(),t.toLowerCase())});for(var s=0;s<i.length;s++){var a=i[s],l=X("<li></li>");a.data?l.append('<img src="'+a.data+'" class="right circle"><span>'+a.key+"</span>"):l.append("<span>"+a.key+"</span>"),X(this.container).append(l),this._highlight(t,l)}}},{key:"open",value:function(){var e=this.el.value.toLowerCase();this._resetAutocomplete(),e.length>=this.options.minLength&&(this.isOpen=!0,this._renderDropdown(this.options.data,e)),this.dropdown.isOpen?this.dropdown.recalculateDimensions():this.dropdown.open()}},{key:"close",value:function(){this.dropdown.close()}},{key:"updateData",value:function(e){var t=this.el.value.toLowerCase();this.options.data=e,this.isOpen&&this._renderDropdown(e,t)}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Autocomplete}},{key:"defaults",get:function(){return W}}]),t}())._keydown=!1,M.Autocomplete=V,M.jQueryLoaded&&M.initializeJqueryWrapper(V,"autocomplete","M_Autocomplete"),K=cash,M.updateTextFields=function(){K("input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea").each(function(e,t){var n=K(this);0<e.value.length||K(e).is(":focus")||e.autofocus||null!==n.attr("placeholder")?n.siblings("label").addClass("active"):e.validity?n.siblings("label").toggleClass("active",!0===e.validity.badInput):n.siblings("label").removeClass("active")})},M.validate_field=function(e){var t=null!==e.attr("data-length"),n=parseInt(e.attr("data-length")),i=e[0].value.length;0!==i||!1!==e[0].validity.badInput||e.is(":required")?e.hasClass("validate")&&(e.is(":valid")&&t&&i<=n||e.is(":valid")&&!t?(e.removeClass("invalid"),e.addClass("valid")):(e.removeClass("valid"),e.addClass("invalid"))):e.hasClass("validate")&&(e.removeClass("valid"),e.removeClass("invalid"))},M.textareaAutoResize=function(e){if(e instanceof Element&&(e=K(e)),e.length){var t=K(".hiddendiv").first();t.length||(t=K('<div class="hiddendiv common"></div>'),K("body").append(t));var n=e.css("font-family"),i=e.css("font-size"),r=e.css("line-height"),o=e.css("padding-top"),s=e.css("padding-right"),a=e.css("padding-bottom"),l=e.css("padding-left");i&&t.css("font-size",i),n&&t.css("font-family",n),r&&t.css("line-height",r),o&&t.css("padding-top",o),s&&t.css("padding-right",s),a&&t.css("padding-bottom",a),l&&t.css("padding-left",l),e.data("original-height")||e.data("original-height",e.height()),"off"===e.attr("wrap")&&t.css("overflow-wrap","normal").css("white-space","pre"),t.text(e[0].value+"\n");var c=t.html().replace(/\n/g,"<br>");t.html(c),0<e[0].offsetWidth&&0<e[0].offsetHeight?t.css("width",e.width()+"px"):t.css("width",window.innerWidth/2+"px"),e.data("original-height")<=t.innerHeight()?e.css("height",t.innerHeight()+"px"):e[0].value.length<e.data("previous-length")&&e.css("height",e.data("original-height")+"px"),e.data("previous-length",e[0].value.length)}else console.error("No textarea element found")},K(document).ready(function(){var e="input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea";K(document).on("change",e,function(){0===this.value.length&&null===K(this).attr("placeholder")||K(this).siblings("label").addClass("active"),M.validate_field(K(this))}),K(document).ready(function(){M.updateTextFields()}),K(document).on("reset",function(t){var n=K(t.target);n.is("form")&&(n.find(e).removeClass("valid").removeClass("invalid"),n.find(e).each(function(e){this.value.length&&K(this).siblings("label").removeClass("active")}),setTimeout(function(){n.find("select").each(function(){this.M_FormSelect&&K(this).trigger("change")})},0))}),document.addEventListener("focus",function(t){K(t.target).is(e)&&K(t.target).siblings("label, .prefix").addClass("active")},!0),document.addEventListener("blur",function(t){var n=K(t.target);if(n.is(e)){var i=".prefix";0===n[0].value.length&&!0!==n[0].validity.badInput&&null===n.attr("placeholder")&&(i+=", label"),n.siblings(i).removeClass("active"),M.validate_field(n)}},!0),K(document).on("keyup","input[type=radio], input[type=checkbox]",function(e){if(e.which===M.keys.TAB)return K(this).addClass("tabbed"),void K(this).one("blur",function(e){K(this).removeClass("tabbed")})});var t=".materialize-textarea";K(t).each(function(){var e=K(this);e.data("original-height",e.height()),e.data("previous-length",this.value.length),M.textareaAutoResize(e)}),K(document).on("keyup",t,function(){M.textareaAutoResize(K(this))}),K(document).on("keydown",t,function(){M.textareaAutoResize(K(this))}),K(document).on("change",'.file-field input[type="file"]',function(){for(var e=K(this).closest(".file-field").find("input.file-path"),t=K(this)[0].files,n=[],i=0;i<t.length;i++)n.push(t[i].name);e[0].value=n.join(", "),e.trigger("change")})}),G=cash,Y=M.anime,Z={indicators:!0,height:400,duration:500,interval:6e3},Q=function(e){function t(e,n){eP(this,t);var i=eL(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Slider=i).options=G.extend({},t.defaults,n),i.$slider=i.$el.find(".slides"),i.$slides=i.$slider.children("li"),i.activeIndex=i.$slides.filter(function(e){return G(e).hasClass("active")}).first().index(),-1!=i.activeIndex&&(i.$active=i.$slides.eq(i.activeIndex)),i._setSliderHeight(),i.$slides.find(".caption").each(function(e){i._animateCaptionIn(e,0)}),i.$slides.find("img").each(function(e){var t="data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";G(e).attr("src")!==t&&(G(e).css("background-image",'url("'+G(e).attr("src")+'")'),G(e).attr("src",t))}),i._setupIndicators(),i.$active?i.$active.css("display","block"):(i.$slides.first().addClass("active"),Y({targets:i.$slides.first()[0],opacity:1,duration:i.options.duration,easing:"easeOutQuad"}),i.activeIndex=0,i.$active=i.$slides.eq(i.activeIndex),i.options.indicators&&i.$indicators.eq(i.activeIndex).addClass("active")),i.$active.find("img").each(function(e){Y({targets:i.$active.find(".caption")[0],opacity:1,translateX:0,translateY:0,duration:i.options.duration,easing:"easeOutQuad"})}),i._setupEventHandlers(),i.start(),i}return eR(t,eD),eM(t,[{key:"destroy",value:function(){this.pause(),this._removeIndicators(),this._removeEventHandlers(),this.el.M_Slider=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleIntervalBound=this._handleInterval.bind(this),this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.options.indicators&&this.$indicators.each(function(t){t.addEventListener("click",e._handleIndicatorClickBound)})}},{key:"_removeEventHandlers",value:function(){var e=this;this.options.indicators&&this.$indicators.each(function(t){t.removeEventListener("click",e._handleIndicatorClickBound)})}},{key:"_handleIndicatorClick",value:function(e){var t=G(e.target).index();this.set(t)}},{key:"_handleInterval",value:function(){var e=this.$slider.find(".active").index();this.$slides.length===e+1?e=0:e+=1,this.set(e)}},{key:"_animateCaptionIn",value:function(e,t){var n={targets:e,opacity:0,duration:t,easing:"easeOutQuad"};G(e).hasClass("center-align")?n.translateY=-100:G(e).hasClass("right-align")?n.translateX=100:G(e).hasClass("left-align")&&(n.translateX=-100),Y(n)}},{key:"_setSliderHeight",value:function(){this.$el.hasClass("fullscreen")||(this.options.indicators?this.$el.css("height",this.options.height+40+"px"):this.$el.css("height",this.options.height+"px"),this.$slider.css("height",this.options.height+"px"))}},{key:"_setupIndicators",value:function(){var e=this;this.options.indicators&&(this.$indicators=G('<ul class="indicators"></ul>'),this.$slides.each(function(t,n){var i=G('<li class="indicator-item"></li>');e.$indicators.append(i[0])}),this.$el.append(this.$indicators[0]),this.$indicators=this.$indicators.children("li.indicator-item"))}},{key:"_removeIndicators",value:function(){this.$el.find("ul.indicators").remove()}},{key:"set",value:function(e){var t=this;if(e>=this.$slides.length?e=0:e<0&&(e=this.$slides.length-1),this.activeIndex!=e){this.$active=this.$slides.eq(this.activeIndex);var n=this.$active.find(".caption");this.$active.removeClass("active"),Y({targets:this.$active[0],opacity:0,duration:this.options.duration,easing:"easeOutQuad",complete:function(){t.$slides.not(".active").each(function(e){Y({targets:e,opacity:0,translateX:0,translateY:0,duration:0,easing:"easeOutQuad"})})}}),this._animateCaptionIn(n[0],this.options.duration),this.options.indicators&&(this.$indicators.eq(this.activeIndex).removeClass("active"),this.$indicators.eq(e).addClass("active")),Y({targets:this.$slides.eq(e)[0],opacity:1,duration:this.options.duration,easing:"easeOutQuad"}),Y({targets:this.$slides.eq(e).find(".caption")[0],opacity:1,translateX:0,translateY:0,duration:this.options.duration,delay:this.options.duration,easing:"easeOutQuad"}),this.$slides.eq(e).addClass("active"),this.activeIndex=e,this.start()}}},{key:"pause",value:function(){clearInterval(this.interval)}},{key:"start",value:function(){clearInterval(this.interval),this.interval=setInterval(this._handleIntervalBound,this.options.duration+this.options.interval)}},{key:"next",value:function(){var e=this.activeIndex+1;e>=this.$slides.length?e=0:e<0&&(e=this.$slides.length-1),this.set(e)}},{key:"prev",value:function(){var e=this.activeIndex-1;e>=this.$slides.length?e=0:e<0&&(e=this.$slides.length-1),this.set(e)}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Slider}},{key:"defaults",get:function(){return Z}}]),t}(),M.Slider=Q,M.jQueryLoaded&&M.initializeJqueryWrapper(Q,"slider","M_Slider"),function(e,t){e(document).on("click",".card",function(n){if(e(this).children(".card-reveal").length){var i=e(n.target).closest(".card");void 0===i.data("initialOverflow")&&i.data("initialOverflow",void 0===i.css("overflow")?"":i.css("overflow"));var r=e(this).find(".card-reveal");e(n.target).is(e(".card-reveal .card-title"))||e(n.target).is(e(".card-reveal .card-title i"))?t({targets:r[0],translateY:0,duration:225,easing:"easeInOutQuad",complete:function(t){e(t.animatables[0].target).css({display:"none"}),i.css("overflow",i.data("initialOverflow"))}}):(e(n.target).is(e(".card .activator"))||e(n.target).is(e(".card .activator i")))&&(i.css("overflow","hidden"),r.css({display:"block"}),t({targets:r[0],translateY:"-100%",duration:300,easing:"easeInOutQuad"}))}})}(cash,M.anime),J=cash,ee={data:[],placeholder:"",secondaryPlaceholder:"",autocompleteOptions:{},limit:1/0,onChipAdd:null,onChipSelect:null,onChipDelete:null},(et=function(e){function t(e,n){eP(this,t);var i=eL(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Chips=i).options=J.extend({},t.defaults,n),i.$el.addClass("chips input-field"),i.chipsData=[],i.$chips=J(),i._setupInput(),i.hasAutocomplete=0<Object.keys(i.options.autocompleteOptions).length,i.$input.attr("id")||i.$input.attr("id",M.guid()),i.options.data.length&&(i.chipsData=i.options.data,i._renderChips(i.chipsData)),i.hasAutocomplete&&i._setupAutocomplete(),i._setPlaceholder(),i._setupLabel(),i._setupEventHandlers(),i}return eR(t,eD),eM(t,[{key:"getData",value:function(){return this.chipsData}},{key:"destroy",value:function(){this._removeEventHandlers(),this.$chips.remove(),this.el.M_Chips=void 0}},{key:"_setupEventHandlers",value:function(){this._handleChipClickBound=this._handleChipClick.bind(this),this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputFocusBound=this._handleInputFocus.bind(this),this._handleInputBlurBound=this._handleInputBlur.bind(this),this.el.addEventListener("click",this._handleChipClickBound),document.addEventListener("keydown",t._handleChipsKeydown),document.addEventListener("keyup",t._handleChipsKeyup),this.el.addEventListener("blur",t._handleChipsBlur,!0),this.$input[0].addEventListener("focus",this._handleInputFocusBound),this.$input[0].addEventListener("blur",this._handleInputBlurBound),this.$input[0].addEventListener("keydown",this._handleInputKeydownBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleChipClickBound),document.removeEventListener("keydown",t._handleChipsKeydown),document.removeEventListener("keyup",t._handleChipsKeyup),this.el.removeEventListener("blur",t._handleChipsBlur,!0),this.$input[0].removeEventListener("focus",this._handleInputFocusBound),this.$input[0].removeEventListener("blur",this._handleInputBlurBound),this.$input[0].removeEventListener("keydown",this._handleInputKeydownBound)}},{key:"_handleChipClick",value:function(e){var t=J(e.target).closest(".chip"),n=J(e.target).is(".close");if(t.length){var i=t.index();n?(this.deleteChip(i),this.$input[0].focus()):this.selectChip(i)}else this.$input[0].focus()}},{key:"_handleInputFocus",value:function(){this.$el.addClass("focus")}},{key:"_handleInputBlur",value:function(){this.$el.removeClass("focus")}},{key:"_handleInputKeydown",value:function(e){(t._keydown=!0,13===e.keyCode)?(!this.hasAutocomplete||!this.autocomplete||!this.autocomplete.isOpen)&&(e.preventDefault(),this.addChip({tag:this.$input[0].value}),this.$input[0].value=""):(8===e.keyCode||37===e.keyCode)&&""===this.$input[0].value&&this.chipsData.length&&(e.preventDefault(),this.selectChip(this.chipsData.length-1))}},{key:"_renderChip",value:function(e){if(e.tag){var t=document.createElement("div"),n=document.createElement("i");if(t.classList.add("chip"),t.textContent=e.tag,t.setAttribute("tabindex",0),J(n).addClass("material-icons close"),n.textContent="close",e.image){var i=document.createElement("img");i.setAttribute("src",e.image),t.insertBefore(i,t.firstChild)}return t.appendChild(n),t}}},{key:"_renderChips",value:function(){this.$chips.remove();for(var e=0;e<this.chipsData.length;e++){var t=this._renderChip(this.chipsData[e]);this.$el.append(t),this.$chips.add(t)}this.$el.append(this.$input[0])}},{key:"_setupAutocomplete",value:function(){var e=this;this.options.autocompleteOptions.onAutocomplete=function(t){e.addChip({tag:t}),e.$input[0].value="",e.$input[0].focus()},this.autocomplete=M.Autocomplete.init(this.$input[0],this.options.autocompleteOptions)}},{key:"_setupInput",value:function(){this.$input=this.$el.find("input"),this.$input.length||(this.$input=J("<input></input>"),this.$el.append(this.$input)),this.$input.addClass("input")}},{key:"_setupLabel",value:function(){this.$label=this.$el.find("label"),this.$label.length&&this.$label.setAttribute("for",this.$input.attr("id"))}},{key:"_setPlaceholder",value:function(){void 0!==this.chipsData&&!this.chipsData.length&&this.options.placeholder?J(this.$input).prop("placeholder",this.options.placeholder):(void 0===this.chipsData||this.chipsData.length)&&this.options.secondaryPlaceholder&&J(this.$input).prop("placeholder",this.options.secondaryPlaceholder)}},{key:"_isValid",value:function(e){if(e.hasOwnProperty("tag")&&""!==e.tag){for(var t=!1,n=0;n<this.chipsData.length;n++)if(this.chipsData[n].tag===e.tag){t=!0;break}return!t}return!1}},{key:"addChip",value:function(e){if(this._isValid(e)&&!(this.chipsData.length>=this.options.limit)){var t=this._renderChip(e);this.$chips.add(t),this.chipsData.push(e),J(this.$input).before(t),this._setPlaceholder(),"function"==typeof this.options.onChipAdd&&this.options.onChipAdd.call(this,this.$el,t)}}},{key:"deleteChip",value:function(e){var t=this.$chips.eq(e);this.$chips.eq(e).remove(),this.$chips=this.$chips.filter(function(e){return 0<=J(e).index()}),this.chipsData.splice(e,1),this._setPlaceholder(),"function"==typeof this.options.onChipDelete&&this.options.onChipDelete.call(this,this.$el,t[0])}},{key:"selectChip",value:function(e){var t=this.$chips.eq(e);(this._selectedChip=t)[0].focus(),"function"==typeof this.options.onChipSelect&&this.options.onChipSelect.call(this,this.$el,t[0])}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Chips}},{key:"_handleChipsKeydown",value:function(e){t._keydown=!0;var n=J(e.target).closest(".chips"),i=e.target&&n.length;if(!J(e.target).is("input, textarea")&&i){var r=n[0].M_Chips;if(8===e.keyCode||46===e.keyCode){e.preventDefault();var o=r.chipsData.length;if(r._selectedChip){var s=r._selectedChip.index();r.deleteChip(s),r._selectedChip=null,o=Math.max(s-1,0)}r.chipsData.length&&r.selectChip(o)}else if(37===e.keyCode){if(r._selectedChip){var a=r._selectedChip.index()-1;if(a<0)return;r.selectChip(a)}}else if(39===e.keyCode&&r._selectedChip){var l=r._selectedChip.index()+1;l>=r.chipsData.length?r.$input[0].focus():r.selectChip(l)}}}},{key:"_handleChipsKeyup",value:function(e){t._keydown=!1}},{key:"_handleChipsBlur",value:function(e){t._keydown||(J(e.target).closest(".chips")[0].M_Chips._selectedChip=null)}},{key:"defaults",get:function(){return ee}}]),t}())._keydown=!1,M.Chips=et,M.jQueryLoaded&&M.initializeJqueryWrapper(et,"chips","M_Chips"),J(document).ready(function(){J(document.body).on("click",".chip .close",function(){var e=J(this).closest(".chips");e.length&&e[0].M_Chips||J(this).closest(".chip").remove()})}),en=cash,ei={top:0,bottom:1/0,offset:0,onPositionChange:null},(er=function(e){function t(e,n){eP(this,t);var i=eL(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Pushpin=i).options=en.extend({},t.defaults,n),i.originalOffset=i.el.offsetTop,t._pushpins.push(i),i._setupEventHandlers(),i._updatePosition(),i}return eR(t,eD),eM(t,[{key:"destroy",value:function(){this.el.style.top=null,this._removePinClasses(),this._removeEventHandlers();var e=t._pushpins.indexOf(this);t._pushpins.splice(e,1)}},{key:"_setupEventHandlers",value:function(){document.addEventListener("scroll",t._updateElements)}},{key:"_removeEventHandlers",value:function(){document.removeEventListener("scroll",t._updateElements)}},{key:"_updatePosition",value:function(){var e=M.getDocumentScrollTop()+this.options.offset;this.options.top<=e&&this.options.bottom>=e&&!this.el.classList.contains("pinned")&&(this._removePinClasses(),this.el.style.top=this.options.offset+"px",this.el.classList.add("pinned"),"function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pinned")),e<this.options.top&&!this.el.classList.contains("pin-top")&&(this._removePinClasses(),this.el.style.top=0,this.el.classList.add("pin-top"),"function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pin-top")),e>this.options.bottom&&!this.el.classList.contains("pin-bottom")&&(this._removePinClasses(),this.el.classList.add("pin-bottom"),this.el.style.top=this.options.bottom-this.originalOffset+"px","function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pin-bottom"))}},{key:"_removePinClasses",value:function(){this.el.classList.remove("pin-top"),this.el.classList.remove("pinned"),this.el.classList.remove("pin-bottom")}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Pushpin}},{key:"_updateElements",value:function(){for(var e in t._pushpins)t._pushpins[e]._updatePosition()}},{key:"defaults",get:function(){return ei}}]),t}())._pushpins=[],M.Pushpin=er,M.jQueryLoaded&&M.initializeJqueryWrapper(er,"pushpin","M_Pushpin"),eo=cash,es=M.anime,ea={direction:"top",hoverEnabled:!0,toolbarEnabled:!1},eo.fn.reverse=[].reverse,el=function(e){function t(e,n){eP(this,t);var i=eL(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_FloatingActionButton=i).options=eo.extend({},t.defaults,n),i.isOpen=!1,i.$anchor=i.$el.children("a").first(),i.$menu=i.$el.children("ul").first(),i.$floatingBtns=i.$el.find("ul .btn-floating"),i.$floatingBtnsReverse=i.$el.find("ul .btn-floating").reverse(),i.offsetY=0,i.offsetX=0,i.$el.addClass("direction-"+i.options.direction),"top"===i.options.direction?i.offsetY=40:"right"===i.options.direction?i.offsetX=-40:"bottom"===i.options.direction?i.offsetY=-40:i.offsetX=40,i._setupEventHandlers(),i}return eR(t,eD),eM(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_FloatingActionButton=void 0}},{key:"_setupEventHandlers",value:function(){this._handleFABClickBound=this._handleFABClick.bind(this),this._handleOpenBound=this.open.bind(this),this._handleCloseBound=this.close.bind(this),this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.addEventListener("mouseenter",this._handleOpenBound),this.el.addEventListener("mouseleave",this._handleCloseBound)):this.el.addEventListener("click",this._handleFABClickBound)}},{key:"_removeEventHandlers",value:function(){this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.removeEventListener("mouseenter",this._handleOpenBound),this.el.removeEventListener("mouseleave",this._handleCloseBound)):this.el.removeEventListener("click",this._handleFABClickBound)}},{key:"_handleFABClick",value:function(){this.isOpen?this.close():this.open()}},{key:"_handleDocumentClick",value:function(e){eo(e.target).closest(this.$menu).length||this.close()}},{key:"open",value:function(){this.isOpen||(this.options.toolbarEnabled?this._animateInToolbar():this._animateInFAB(),this.isOpen=!0)}},{key:"close",value:function(){this.isOpen&&(this.options.toolbarEnabled?(window.removeEventListener("scroll",this._handleCloseBound,!0),document.body.removeEventListener("click",this._handleDocumentClickBound,!0),this._animateOutToolbar()):this._animateOutFAB(),this.isOpen=!1)}},{key:"_animateInFAB",value:function(){var e=this;this.$el.addClass("active");var t=0;this.$floatingBtnsReverse.each(function(n){es({targets:n,opacity:1,scale:[.4,1],translateY:[e.offsetY,0],translateX:[e.offsetX,0],duration:275,delay:t,easing:"easeInOutQuad"}),t+=40})}},{key:"_animateOutFAB",value:function(){var e=this;this.$floatingBtnsReverse.each(function(t){es.remove(t),es({targets:t,opacity:0,scale:.4,translateY:e.offsetY,translateX:e.offsetX,duration:175,easing:"easeOutQuad",complete:function(){e.$el.removeClass("active")}})})}},{key:"_animateInToolbar",value:function(){var e,t=this,n=window.innerWidth,i=window.innerHeight,r=this.el.getBoundingClientRect(),o=eo('<div class="fab-backdrop"></div>'),s=this.$anchor.css("background-color");this.$anchor.append(o),this.offsetX=r.left-n/2+r.width/2,this.offsetY=i-r.bottom,e=n/o[0].clientWidth,this.btnBottom=r.bottom,this.btnLeft=r.left,this.btnWidth=r.width,this.$el.addClass("active"),this.$el.css({"text-align":"center",width:"100%",bottom:0,left:0,transform:"translateX("+this.offsetX+"px)",transition:"none"}),this.$anchor.css({transform:"translateY("+-this.offsetY+"px)",transition:"none"}),o.css({"background-color":s}),setTimeout(function(){t.$el.css({transform:"",transition:"transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s"}),t.$anchor.css({overflow:"visible",transform:"",transition:"transform .2s"}),setTimeout(function(){t.$el.css({overflow:"hidden","background-color":s}),o.css({transform:"scale("+e+")",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"}),t.$menu.children("li").children("a").css({opacity:1}),t._handleDocumentClickBound=t._handleDocumentClick.bind(t),window.addEventListener("scroll",t._handleCloseBound,!0),document.body.addEventListener("click",t._handleDocumentClickBound,!0)},100)},0)}},{key:"_animateOutToolbar",value:function(){var e=this,t=window.innerWidth,n=window.innerHeight,i=this.$el.find(".fab-backdrop"),r=this.$anchor.css("background-color");this.offsetX=this.btnLeft-t/2+this.btnWidth/2,this.offsetY=n-this.btnBottom,this.$el.removeClass("active"),this.$el.css({"background-color":"transparent",transition:"none"}),this.$anchor.css({transition:"none"}),i.css({transform:"scale(0)","background-color":r}),this.$menu.children("li").children("a").css({opacity:""}),setTimeout(function(){i.remove(),e.$el.css({"text-align":"",width:"",bottom:"",left:"",overflow:"","background-color":"",transform:"translate3d("+-e.offsetX+"px,0,0)"}),e.$anchor.css({overflow:"",transform:"translate3d(0,"+e.offsetY+"px,0)"}),setTimeout(function(){e.$el.css({transform:"translate3d(0,0,0)",transition:"transform .2s"}),e.$anchor.css({transform:"translate3d(0,0,0)",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"})},20)},200)}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_FloatingActionButton}},{key:"defaults",get:function(){return ea}}]),t}(),M.FloatingActionButton=el,M.jQueryLoaded&&M.initializeJqueryWrapper(el,"floatingActionButton","M_FloatingActionButton"),ec=cash,eu={autoClose:!1,format:"mmm dd, yyyy",parse:null,defaultDate:null,setDefaultDate:!1,disableWeekends:!1,disableDayFn:null,firstDay:0,minDate:null,maxDate:null,yearRange:10,minYear:0,maxYear:9999,minMonth:void 0,maxMonth:void 0,startRange:null,endRange:null,isRTL:!1,showMonthAfterYear:!1,showDaysInNextAndPreviousMonths:!1,container:null,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok",previousMonth:"‹",nextMonth:"›",months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekdaysAbbrev:["S","M","T","W","T","F","S"]},events:[],onSelect:null,onOpen:null,onClose:null,onDraw:null},(eh=function(e){function t(e,n){eP(this,t);var i=eL(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));(i.el.M_Datepicker=i).options=ec.extend({},t.defaults,n),n&&n.hasOwnProperty("i18n")&&"object"==typeof n.i18n&&(i.options.i18n=ec.extend({},t.defaults.i18n,n.i18n)),i.options.minDate&&i.options.minDate.setHours(0,0,0,0),i.options.maxDate&&i.options.maxDate.setHours(0,0,0,0),i.id=M.guid(),i._setupVariables(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupEventHandlers(),i.options.defaultDate||(i.options.defaultDate=new Date(Date.parse(i.el.value)));var r=i.options.defaultDate;return t._isDate(r)?i.options.setDefaultDate?(i.setDate(r,!0),i.setInputValue()):i.gotoDate(r):i.gotoDate(new Date),i.isOpen=!1,i}return eR(t,eD),eM(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),ec(this.modalEl).remove(),this.destroySelects(),this.el.M_Datepicker=void 0}},{key:"destroySelects",value:function(){var e=this.calendarEl.querySelector(".orig-select-year");e&&M.FormSelect.getInstance(e).destroy();var t=this.calendarEl.querySelector(".orig-select-month");t&&M.FormSelect.getInstance(t).destroy()}},{key:"_insertHTMLIntoDOM",value:function(){this.options.showClearBtn&&(ec(this.clearBtn).css({visibility:""}),this.clearBtn.innerHTML=this.options.i18n.clear),this.doneBtn.innerHTML=this.options.i18n.done,this.cancelBtn.innerHTML=this.options.i18n.cancel,this.options.container?this.$modalEl.appendTo(this.options.container):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var e=this;this.modalEl.id="modal-"+this.id,this.modal=M.Modal.init(this.modalEl,{onCloseEnd:function(){e.isOpen=!1}})}},{key:"toString",value:function(e){var n=this;return e=e||this.options.format,t._isDate(this.date)?e.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g).map(function(e){return n.formats[e]?n.formats[e]():e}).join(""):""}},{key:"setDate",value:function(e,n){if(!e)return this.date=null,this._renderDateDisplay(),this.draw();if("string"==typeof e&&(e=new Date(Date.parse(e))),t._isDate(e)){var i=this.options.minDate,r=this.options.maxDate;t._isDate(i)&&e<i?e=i:t._isDate(r)&&r<e&&(e=r),this.date=new Date(e.getTime()),this._renderDateDisplay(),t._setToStartOfDay(this.date),this.gotoDate(this.date),n||"function"!=typeof this.options.onSelect||this.options.onSelect.call(this,this.date)}}},{key:"setInputValue",value:function(){this.el.value=this.toString(),this.$el.trigger("change",{firedBy:this})}},{key:"_renderDateDisplay",value:function(){var e=t._isDate(this.date)?this.date:new Date,n=this.options.i18n,i=n.weekdaysShort[e.getDay()],r=n.monthsShort[e.getMonth()],o=e.getDate();this.yearTextEl.innerHTML=e.getFullYear(),this.dateTextEl.innerHTML=i+", "+r+" "+o}},{key:"gotoDate",value:function(e){var n=!0;if(t._isDate(e)){if(this.calendars){var i=new Date(this.calendars[0].year,this.calendars[0].month,1),r=new Date(this.calendars[this.calendars.length-1].year,this.calendars[this.calendars.length-1].month,1),o=e.getTime();r.setMonth(r.getMonth()+1),r.setDate(r.getDate()-1),n=o<i.getTime()||r.getTime()<o}n&&(this.calendars=[{month:e.getMonth(),year:e.getFullYear()}]),this.adjustCalendars()}}},{key:"adjustCalendars",value:function(){this.calendars[0]=this.adjustCalendar(this.calendars[0]),this.draw()}},{key:"adjustCalendar",value:function(e){return e.month<0&&(e.year-=Math.ceil(Math.abs(e.month)/12),e.month+=12),11<e.month&&(e.year+=Math.floor(Math.abs(e.month)/12),e.month-=12),e}},{key:"nextMonth",value:function(){this.calendars[0].month++,this.adjustCalendars()}},{key:"prevMonth",value:function(){this.calendars[0].month--,this.adjustCalendars()}},{key:"render",value:function(e,n,i){var r=this.options,o=new Date,s=t._getDaysInMonth(e,n),a=new Date(e,n,1).getDay(),l=[],c=[];t._setToStartOfDay(o),0<r.firstDay&&(a-=r.firstDay)<0&&(a+=7);for(var u=0===n?11:n-1,h=11===n?0:n+1,d=0===n?e-1:e,p=11===n?e+1:e,f=t._getDaysInMonth(d,u),m=s+a,g=m;7<g;)g-=7;m+=7-g;for(var v=!1,y=0,b=0;y<m;y++){var w=new Date(e,n,y-a+1),_=!!t._isDate(this.date)&&t._compareDates(w,this.date),E=t._compareDates(w,o),x=-1!==r.events.indexOf(w.toDateString()),k=y<a||s+a<=y,T=y-a+1,O=n,C=e,A=r.startRange&&t._compareDates(r.startRange,w),S=r.endRange&&t._compareDates(r.endRange,w),N=r.startRange&&r.endRange&&r.startRange<w&&w<r.endRange;k&&(y<a?(T=f+T,O=u,C=d):(T-=s,O=h,C=p));var I={day:T,month:O,year:C,hasEvent:x,isSelected:_,isToday:E,isDisabled:r.minDate&&w<r.minDate||r.maxDate&&w>r.maxDate||r.disableWeekends&&t._isWeekend(w)||r.disableDayFn&&r.disableDayFn(w),isEmpty:k,isStartRange:A,isEndRange:S,isInRange:N,showDaysInNextAndPreviousMonths:r.showDaysInNextAndPreviousMonths};c.push(this.renderDay(I)),7==++b&&(l.push(this.renderRow(c,r.isRTL,v)),b=0,c=[],v=!1)}return this.renderTable(r,l,i)}},{key:"renderDay",value:function(e){var t=[],n="false";if(e.isEmpty){if(!e.showDaysInNextAndPreviousMonths)return'<td class="is-empty"></td>';t.push("is-outside-current-month"),t.push("is-selection-disabled")}return e.isDisabled&&t.push("is-disabled"),e.isToday&&t.push("is-today"),e.isSelected&&(t.push("is-selected"),n="true"),e.hasEvent&&t.push("has-event"),e.isInRange&&t.push("is-inrange"),e.isStartRange&&t.push("is-startrange"),e.isEndRange&&t.push("is-endrange"),'<td data-day="'+e.day+'" class="'+t.join(" ")+'" aria-selected="'+n+'"><button class="datepicker-day-button" type="button" data-year="'+e.year+'" data-month="'+e.month+'" data-day="'+e.day+'">'+e.day+"</button></td>"}},{key:"renderRow",value:function(e,t,n){return'<tr class="datepicker-row'+(n?" is-selected":"")+'">'+(t?e.reverse():e).join("")+"</tr>"}},{key:"renderTable",value:function(e,t,n){return'<div class="datepicker-table-wrapper"><table cellpadding="0" cellspacing="0" class="datepicker-table" role="grid" aria-labelledby="'+n+'">'+this.renderHead(e)+this.renderBody(t)+"</table></div>"}},{key:"renderHead",value:function(e){var t=void 0,n=[];for(t=0;t<7;t++)n.push('<th scope="col"><abbr title="'+this.renderDayName(e,t)+'">'+this.renderDayName(e,t,!0)+"</abbr></th>");return"<thead><tr>"+(e.isRTL?n.reverse():n).join("")+"</tr></thead>"}},{key:"renderBody",value:function(e){return"<tbody>"+e.join("")+"</tbody>"}},{key:"renderTitle",value:function(e,t,n,i,r,o){var s,a,l=void 0,c=void 0,u=void 0,h=this.options,d=n===h.minYear,p=n===h.maxYear,f='<div id="'+o+'" class="datepicker-controls" role="heading" aria-live="assertive">',m=!0,g=!0;for(u=[],l=0;l<12;l++)u.push('<option value="'+(n===r?l-t:12+l-t)+'"'+(l===i?' selected="selected"':"")+(d&&l<h.minMonth||p&&l>h.maxMonth?'disabled="disabled"':"")+">"+h.i18n.months[l]+"</option>");for(s='<select class="datepicker-select orig-select-month" tabindex="-1">'+u.join("")+"</select>",ec.isArray(h.yearRange)?(l=h.yearRange[0],c=h.yearRange[1]+1):(l=n-h.yearRange,c=1+n+h.yearRange),u=[];l<c&&l<=h.maxYear;l++)l>=h.minYear&&u.push('<option value="'+l+'" '+(l===n?'selected="selected"':"")+">"+l+"</option>");return a='<select class="datepicker-select orig-select-year" tabindex="-1">'+u.join("")+"</select>",f+='<button class="month-prev'+(m?"":" is-disabled")+'" type="button"><svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"/><path d="M0-.5h24v24H0z" fill="none"/></svg></button>',f+='<div class="selects-container">',h.showMonthAfterYear?f+=a+s:f+=s+a,f+="</div>",d&&(0===i||h.minMonth>=i)&&(m=!1),p&&(11===i||h.maxMonth<=i)&&(g=!1),(f+='<button class="month-next'+(g?"":" is-disabled")+'" type="button"><svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"/><path d="M0-.25h24v24H0z" fill="none"/></svg></button>')+"</div>"}},{key:"draw",value:function(e){if(this.isOpen||e){var t,n=this.options,i=n.minYear,r=n.maxYear,o=n.minMonth,s=n.maxMonth,a="";this._y<=i&&(this._y=i,!isNaN(o)&&this._m<o&&(this._m=o)),this._y>=r&&(this._y=r,!isNaN(s)&&this._m>s&&(this._m=s)),t="datepicker-title-"+Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,2);for(var l=0;l<1;l++)this._renderDateDisplay(),a+=this.renderTitle(this,l,this.calendars[l].year,this.calendars[l].month,this.calendars[0].year,t)+this.render(this.calendars[l].year,this.calendars[l].month,t);this.destroySelects(),this.calendarEl.innerHTML=a;var c=this.calendarEl.querySelector(".orig-select-year"),u=this.calendarEl.querySelector(".orig-select-month");M.FormSelect.init(c,{classes:"select-year",dropdownOptions:{container:document.body,constrainWidth:!1}}),M.FormSelect.init(u,{classes:"select-month",dropdownOptions:{container:document.body,constrainWidth:!1}}),c.addEventListener("change",this._handleYearChange.bind(this)),u.addEventListener("change",this._handleMonthChange.bind(this)),"function"==typeof this.options.onDraw&&this.options.onDraw(this)}}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleInputChangeBound=this._handleInputChange.bind(this),this._handleCalendarClickBound=this._handleCalendarClick.bind(this),this._finishSelectionBound=this._finishSelection.bind(this),this._handleMonthChange=this._handleMonthChange.bind(this),this._closeBound=this.close.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.el.addEventListener("change",this._handleInputChangeBound),this.calendarEl.addEventListener("click",this._handleCalendarClickBound),this.doneBtn.addEventListener("click",this._finishSelectionBound),this.cancelBtn.addEventListener("click",this._closeBound),this.options.showClearBtn&&(this._handleClearClickBound=this._handleClearClick.bind(this),this.clearBtn.addEventListener("click",this._handleClearClickBound))}},{key:"_setupVariables",value:function(){var e=this;this.$modalEl=ec(t._template),this.modalEl=this.$modalEl[0],this.calendarEl=this.modalEl.querySelector(".datepicker-calendar"),this.yearTextEl=this.modalEl.querySelector(".year-text"),this.dateTextEl=this.modalEl.querySelector(".date-text"),this.options.showClearBtn&&(this.clearBtn=this.modalEl.querySelector(".datepicker-clear")),this.doneBtn=this.modalEl.querySelector(".datepicker-done"),this.cancelBtn=this.modalEl.querySelector(".datepicker-cancel"),this.formats={d:function(){return e.date.getDate()},dd:function(){var t=e.date.getDate();return(t<10?"0":"")+t},ddd:function(){return e.options.i18n.weekdaysShort[e.date.getDay()]},dddd:function(){return e.options.i18n.weekdays[e.date.getDay()]},m:function(){return e.date.getMonth()+1},mm:function(){var t=e.date.getMonth()+1;return(t<10?"0":"")+t},mmm:function(){return e.options.i18n.monthsShort[e.date.getMonth()]},mmmm:function(){return e.options.i18n.months[e.date.getMonth()]},yy:function(){return(""+e.date.getFullYear()).slice(2)},yyyy:function(){return e.date.getFullYear()}}}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound),this.el.removeEventListener("change",this._handleInputChangeBound),this.calendarEl.removeEventListener("click",this._handleCalendarClickBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(e){e.which===M.keys.ENTER&&(e.preventDefault(),this.open())}},{key:"_handleCalendarClick",value:function(e){if(this.isOpen){var t=ec(e.target);t.hasClass("is-disabled")||(!t.hasClass("datepicker-day-button")||t.hasClass("is-empty")||t.parent().hasClass("is-disabled")?t.closest(".month-prev").length?this.prevMonth():t.closest(".month-next").length&&this.nextMonth():(this.setDate(new Date(e.target.getAttribute("data-year"),e.target.getAttribute("data-month"),e.target.getAttribute("data-day"))),this.options.autoClose&&this._finishSelection()))}}},{key:"_handleClearClick",value:function(){this.date=null,this.setInputValue(),this.close()}},{key:"_handleMonthChange",value:function(e){this.gotoMonth(e.target.value)}},{key:"_handleYearChange",value:function(e){this.gotoYear(e.target.value)}},{key:"gotoMonth",value:function(e){isNaN(e)||(this.calendars[0].month=parseInt(e,10),this.adjustCalendars())}},{key:"gotoYear",value:function(e){isNaN(e)||(this.calendars[0].year=parseInt(e,10),this.adjustCalendars())}},{key:"_handleInputChange",value:function(e){var n=void 0;e.firedBy!==this&&(n=this.options.parse?this.options.parse(this.el.value,this.options.format):new Date(Date.parse(this.el.value)),t._isDate(n)&&this.setDate(n))}},{key:"renderDayName",value:function(e,t,n){for(t+=e.firstDay;7<=t;)t-=7;return n?e.i18n.weekdaysAbbrev[t]:e.i18n.weekdays[t]}},{key:"_finishSelection",value:function(){this.setInputValue(),this.close()}},{key:"open",value:function(){if(!this.isOpen)return this.isOpen=!0,"function"==typeof this.options.onOpen&&this.options.onOpen.call(this),this.draw(),this.modal.open(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,"function"==typeof this.options.onClose&&this.options.onClose.call(this),this.modal.close(),this}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"_isDate",value:function(e){return/Date/.test(Object.prototype.toString.call(e))&&!isNaN(e.getTime())}},{key:"_isWeekend",value:function(e){var t=e.getDay();return 0===t||6===t}},{key:"_setToStartOfDay",value:function(e){t._isDate(e)&&e.setHours(0,0,0,0)}},{key:"_getDaysInMonth",value:function(e,n){return[31,t._isLeapYear(e)?29:28,31,30,31,30,31,31,30,31,30,31][n]}},{key:"_isLeapYear",value:function(e){return e%4==0&&e%100!=0||e%400==0}},{key:"_compareDates",value:function(e,t){return e.getTime()===t.getTime()}},{key:"_setToStartOfDay",value:function(e){t._isDate(e)&&e.setHours(0,0,0,0)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Datepicker}},{key:"defaults",get:function(){return eu}}]),t}())._template='<div class= "modal datepicker-modal"><div class="modal-content datepicker-container"><div class="datepicker-date-display"><span class="year-text"></span><span class="date-text"></span></div><div class="datepicker-calendar-container"><div class="datepicker-calendar"></div><div class="datepicker-footer"><button class="btn-flat datepicker-clear waves-effect" style="visibility: hidden;" type="button"></button><div class="confirmation-btns"><button class="btn-flat datepicker-cancel waves-effect" type="button"></button><button class="btn-flat datepicker-done waves-effect" type="button"></button></div></div></div></div></div>',M.Datepicker=eh,M.jQueryLoaded&&M.initializeJqueryWrapper(eh,"datepicker","M_Datepicker"),ed=cash,ep={dialRadius:135,outerRadius:105,innerRadius:70,tickRadius:20,duration:350,container:null,defaultTime:"now",fromNow:0,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok"},autoClose:!1,twelveHour:!0,vibrate:!0,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onSelect:null},(ef=function(e){function t(e,n){eP(this,t);var i=eL(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Timepicker=i).options=ed.extend({},t.defaults,n),i.id=M.guid(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupVariables(),i._setupEventHandlers(),i._clockSetup(),i._pickerSetup(),i}return eR(t,eD),eM(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),ed(this.modalEl).remove(),this.el.M_Timepicker=void 0}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleClockClickStartBound=this._handleClockClickStart.bind(this),this._handleDocumentClickMoveBound=this._handleDocumentClickMove.bind(this),this._handleDocumentClickEndBound=this._handleDocumentClickEnd.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.plate.addEventListener("mousedown",this._handleClockClickStartBound),this.plate.addEventListener("touchstart",this._handleClockClickStartBound),ed(this.spanHours).on("click",this.showView.bind(this,"hours")),ed(this.spanMinutes).on("click",this.showView.bind(this,"minutes"))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(e){e.which===M.keys.ENTER&&(e.preventDefault(),this.open())}},{key:"_handleClockClickStart",value:function(e){e.preventDefault();var n=this.plate.getBoundingClientRect(),i=n.left,r=n.top;this.x0=i+this.options.dialRadius,this.y0=r+this.options.dialRadius,this.moved=!1;var o=t._Pos(e);this.dx=o.x-this.x0,this.dy=o.y-this.y0,this.setHand(this.dx,this.dy,!1),document.addEventListener("mousemove",this._handleDocumentClickMoveBound),document.addEventListener("touchmove",this._handleDocumentClickMoveBound),document.addEventListener("mouseup",this._handleDocumentClickEndBound),document.addEventListener("touchend",this._handleDocumentClickEndBound)}},{key:"_handleDocumentClickMove",value:function(e){e.preventDefault();var n=t._Pos(e),i=n.x-this.x0,r=n.y-this.y0;this.moved=!0,this.setHand(i,r,!1,!0)}},{key:"_handleDocumentClickEnd",value:function(e){var n=this;e.preventDefault(),document.removeEventListener("mouseup",this._handleDocumentClickEndBound),document.removeEventListener("touchend",this._handleDocumentClickEndBound);var i=t._Pos(e),r=i.x-this.x0,o=i.y-this.y0;this.moved&&r===this.dx&&o===this.dy&&this.setHand(r,o),"hours"===this.currentView?this.showView("minutes",this.options.duration/2):this.options.autoClose&&(ed(this.minutesView).addClass("timepicker-dial-out"),setTimeout(function(){n.done()},this.options.duration/2)),"function"==typeof this.options.onSelect&&this.options.onSelect.call(this,this.hours,this.minutes),document.removeEventListener("mousemove",this._handleDocumentClickMoveBound),document.removeEventListener("touchmove",this._handleDocumentClickMoveBound)}},{key:"_insertHTMLIntoDOM",value:function(){this.$modalEl=ed(t._template),this.modalEl=this.$modalEl[0],this.modalEl.id="modal-"+this.id;var e=document.querySelector(this.options.container);this.options.container&&e?this.$modalEl.appendTo(e):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var e=this;this.modal=M.Modal.init(this.modalEl,{onOpenStart:this.options.onOpenStart,onOpenEnd:this.options.onOpenEnd,onCloseStart:this.options.onCloseStart,onCloseEnd:function(){"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e),e.isOpen=!1}})}},{key:"_setupVariables",value:function(){this.currentView="hours",this.vibrate=navigator.vibrate?"vibrate":navigator.webkitVibrate?"webkitVibrate":null,this._canvas=this.modalEl.querySelector(".timepicker-canvas"),this.plate=this.modalEl.querySelector(".timepicker-plate"),this.hoursView=this.modalEl.querySelector(".timepicker-hours"),this.minutesView=this.modalEl.querySelector(".timepicker-minutes"),this.spanHours=this.modalEl.querySelector(".timepicker-span-hours"),this.spanMinutes=this.modalEl.querySelector(".timepicker-span-minutes"),this.spanAmPm=this.modalEl.querySelector(".timepicker-span-am-pm"),this.footer=this.modalEl.querySelector(".timepicker-footer"),this.amOrPm="PM"}},{key:"_pickerSetup",value:function(){var e=ed('<button class="btn-flat timepicker-clear waves-effect" style="visibility: hidden;" type="button" tabindex="'+(this.options.twelveHour?"3":"1")+'">'+this.options.i18n.clear+"</button>").appendTo(this.footer).on("click",this.clear.bind(this));this.options.showClearBtn&&e.css({visibility:""});var t=ed('<div class="confirmation-btns"></div>');ed('<button class="btn-flat timepicker-close waves-effect" type="button" tabindex="'+(this.options.twelveHour?"3":"1")+'">'+this.options.i18n.cancel+"</button>").appendTo(t).on("click",this.close.bind(this)),ed('<button class="btn-flat timepicker-close waves-effect" type="button" tabindex="'+(this.options.twelveHour?"3":"1")+'">'+this.options.i18n.done+"</button>").appendTo(t).on("click",this.done.bind(this)),t.appendTo(this.footer)}},{key:"_clockSetup",value:function(){this.options.twelveHour&&(this.$amBtn=ed('<div class="am-btn">AM</div>'),this.$pmBtn=ed('<div class="pm-btn">PM</div>'),this.$amBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm),this.$pmBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm)),this._buildHoursView(),this._buildMinutesView(),this._buildSVGClock()}},{key:"_buildSVGClock",value:function(){var e=this.options.dialRadius,n=this.options.tickRadius,i=2*e,r=t._createSVGEl("svg");r.setAttribute("class","timepicker-svg"),r.setAttribute("width",i),r.setAttribute("height",i);var o=t._createSVGEl("g");o.setAttribute("transform","translate("+e+","+e+")");var s=t._createSVGEl("circle");s.setAttribute("class","timepicker-canvas-bearing"),s.setAttribute("cx",0),s.setAttribute("cy",0),s.setAttribute("r",4);var a=t._createSVGEl("line");a.setAttribute("x1",0),a.setAttribute("y1",0);var l=t._createSVGEl("circle");l.setAttribute("class","timepicker-canvas-bg"),l.setAttribute("r",n),o.appendChild(a),o.appendChild(l),o.appendChild(s),r.appendChild(o),this._canvas.appendChild(r),this.hand=a,this.bg=l,this.bearing=s,this.g=o}},{key:"_buildHoursView",value:function(){var e=ed('<div class="timepicker-tick"></div>');if(this.options.twelveHour)for(var t=1;t<13;t+=1){var n=e.clone(),i=t/6*Math.PI,r=this.options.outerRadius;n.css({left:this.options.dialRadius+Math.sin(i)*r-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(i)*r-this.options.tickRadius+"px"}),n.html(0===t?"00":t),this.hoursView.appendChild(n[0])}else for(var o=0;o<24;o+=1){var s=e.clone(),a=o/6*Math.PI,l=0<o&&o<13?this.options.innerRadius:this.options.outerRadius;s.css({left:this.options.dialRadius+Math.sin(a)*l-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(a)*l-this.options.tickRadius+"px"}),s.html(0===o?"00":o),this.hoursView.appendChild(s[0])}}},{key:"_buildMinutesView",value:function(){for(var e=ed('<div class="timepicker-tick"></div>'),n=0;n<60;n+=5){var i=e.clone(),r=n/30*Math.PI;i.css({left:this.options.dialRadius+Math.sin(r)*this.options.outerRadius-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(r)*this.options.outerRadius-this.options.tickRadius+"px"}),i.html(t._addLeadingZero(n)),this.minutesView.appendChild(i[0])}}},{key:"_handleAmPmClick",value:function(e){var t=ed(e.target);this.amOrPm=t.hasClass("am-btn")?"AM":"PM",this._updateAmPmView()}},{key:"_updateAmPmView",value:function(){this.options.twelveHour&&(this.$amBtn.toggleClass("text-primary","AM"===this.amOrPm),this.$pmBtn.toggleClass("text-primary","PM"===this.amOrPm))}},{key:"_updateTimeFromInput",value:function(){var e=((this.el.value||this.options.defaultTime||"")+"").split(":");if(this.options.twelveHour&&void 0!==e[1]&&(0<e[1].toUpperCase().indexOf("AM")?this.amOrPm="AM":this.amOrPm="PM",e[1]=e[1].replace("AM","").replace("PM","")),"now"===e[0]){var n=new Date(+new Date+this.options.fromNow);e=[n.getHours(),n.getMinutes()],this.options.twelveHour&&(this.amOrPm=12<=e[0]&&e[0]<24?"PM":"AM")}this.hours=+e[0]||0,this.minutes=+e[1]||0,this.spanHours.innerHTML=this.hours,this.spanMinutes.innerHTML=t._addLeadingZero(this.minutes),this._updateAmPmView()}},{key:"showView",value:function(e,t){"minutes"===e&&ed(this.hoursView).css("visibility");var n="hours"===e,i=n?this.hoursView:this.minutesView,r=n?this.minutesView:this.hoursView;this.currentView=e,ed(this.spanHours).toggleClass("text-primary",n),ed(this.spanMinutes).toggleClass("text-primary",!n),r.classList.add("timepicker-dial-out"),ed(i).css("visibility","visible").removeClass("timepicker-dial-out"),this.resetClock(t),clearTimeout(this.toggleViewTimer),this.toggleViewTimer=setTimeout(function(){ed(r).css("visibility","hidden")},this.options.duration)}},{key:"resetClock",value:function(e){var t=this.currentView,n=this[t],i="hours"===t,r=Math.PI/(i?6:30)*n,o=i&&0<n&&n<13?this.options.innerRadius:this.options.outerRadius,s=Math.sin(r)*o,a=-Math.cos(r)*o,l=this;e?(ed(this.canvas).addClass("timepicker-canvas-out"),setTimeout(function(){ed(l.canvas).removeClass("timepicker-canvas-out"),l.setHand(s,a)},e)):this.setHand(s,a)}},{key:"setHand",value:function(e,n,i){var r=this,o=Math.atan2(e,-n),s="hours"===this.currentView,a=Math.PI/(s||i?6:30),l=Math.sqrt(e*e+n*n),c=s&&l<(this.options.outerRadius+this.options.innerRadius)/2,u=c?this.options.innerRadius:this.options.outerRadius;this.options.twelveHour&&(u=this.options.outerRadius),o<0&&(o=2*Math.PI+o);var h=Math.round(o/a);o=h*a,this.options.twelveHour?s?0===h&&(h=12):(i&&(h*=5),60===h&&(h=0)):s?(12===h&&(h=0),h=c?0===h?12:h:0===h?0:h+12):(i&&(h*=5),60===h&&(h=0)),this[this.currentView]!==h&&this.vibrate&&this.options.vibrate&&(this.vibrateTimer||(navigator[this.vibrate](10),this.vibrateTimer=setTimeout(function(){r.vibrateTimer=null},100))),this[this.currentView]=h,s?this.spanHours.innerHTML=h:this.spanMinutes.innerHTML=t._addLeadingZero(h);var d=Math.sin(o)*(u-this.options.tickRadius),p=-Math.cos(o)*(u-this.options.tickRadius),f=Math.sin(o)*u,m=-Math.cos(o)*u;this.hand.setAttribute("x2",d),this.hand.setAttribute("y2",p),this.bg.setAttribute("cx",f),this.bg.setAttribute("cy",m)}},{key:"open",value:function(){this.isOpen||(this.isOpen=!0,this._updateTimeFromInput(),this.showView("hours"),this.modal.open())}},{key:"close",value:function(){this.isOpen&&(this.isOpen=!1,this.modal.close())}},{key:"done",value:function(e,n){var i=this.el.value,r=n?"":t._addLeadingZero(this.hours)+":"+t._addLeadingZero(this.minutes);this.time=r,!n&&this.options.twelveHour&&(r=r+" "+this.amOrPm),(this.el.value=r)!==i&&this.$el.trigger("change"),this.close(),this.el.focus()}},{key:"clear",value:function(){this.done(null,!0)}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"_addLeadingZero",value:function(e){return(e<10?"0":"")+e}},{key:"_createSVGEl",value:function(e){return document.createElementNS("http://www.w3.org/2000/svg",e)}},{key:"_Pos",value:function(e){return e.targetTouches&&1<=e.targetTouches.length?{x:e.targetTouches[0].clientX,y:e.targetTouches[0].clientY}:{x:e.clientX,y:e.clientY}}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Timepicker}},{key:"defaults",get:function(){return ep}}]),t}())._template='<div class= "modal timepicker-modal"><div class="modal-content timepicker-container"><div class="timepicker-digital-display"><div class="timepicker-text-container"><div class="timepicker-display-column"><span class="timepicker-span-hours text-primary"></span>:<span class="timepicker-span-minutes"></span></div><div class="timepicker-display-column timepicker-display-am-pm"><div class="timepicker-span-am-pm"></div></div></div></div><div class="timepicker-analog-display"><div class="timepicker-plate"><div class="timepicker-canvas"></div><div class="timepicker-dial timepicker-hours"></div><div class="timepicker-dial timepicker-minutes timepicker-dial-out"></div></div><div class="timepicker-footer"></div></div></div></div>',M.Timepicker=ef,M.jQueryLoaded&&M.initializeJqueryWrapper(ef,"timepicker","M_Timepicker"),em=cash,eg={},ev=function(e){function t(e,n){eP(this,t);var i=eL(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_CharacterCounter=i).options=em.extend({},t.defaults,n),i.isInvalid=!1,i.isValidLength=!1,i._setupCounter(),i._setupEventHandlers(),i}return eR(t,eD),eM(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.CharacterCounter=void 0,this._removeCounter()}},{key:"_setupEventHandlers",value:function(){this._handleUpdateCounterBound=this.updateCounter.bind(this),this.el.addEventListener("focus",this._handleUpdateCounterBound,!0),this.el.addEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("focus",this._handleUpdateCounterBound,!0),this.el.removeEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_setupCounter",value:function(){this.counterEl=document.createElement("span"),em(this.counterEl).addClass("character-counter").css({float:"right","font-size":"12px",height:1}),this.$el.parent().append(this.counterEl)}},{key:"_removeCounter",value:function(){em(this.counterEl).remove()}},{key:"updateCounter",value:function(){var e=+this.$el.attr("data-length"),t=this.el.value.length;this.isValidLength=t<=e;var n=t;e&&(n+="/"+e,this._validateInput()),em(this.counterEl).html(n)}},{key:"_validateInput",value:function(){this.isValidLength&&this.isInvalid?(this.isInvalid=!1,this.$el.removeClass("invalid")):this.isValidLength||this.isInvalid||(this.isInvalid=!0,this.$el.removeClass("valid"),this.$el.addClass("invalid"))}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_CharacterCounter}},{key:"defaults",get:function(){return eg}}]),t}(),M.CharacterCounter=ev,M.jQueryLoaded&&M.initializeJqueryWrapper(ev,"characterCounter","M_CharacterCounter"),ey=cash,eb={duration:200,dist:-100,shift:0,padding:0,numVisible:5,fullWidth:!1,indicators:!1,noWrap:!1,onCycleTo:null},ew=function(e){function t(e,n){eP(this,t);var i=eL(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Carousel=i).options=ey.extend({},t.defaults,n),i.hasMultipleSlides=1<i.$el.find(".carousel-item").length,i.showIndicators=i.options.indicators&&i.hasMultipleSlides,i.noWrap=i.options.noWrap||!i.hasMultipleSlides,i.pressed=!1,i.dragged=!1,i.offset=i.target=0,i.images=[],i.itemWidth=i.$el.find(".carousel-item").first().innerWidth(),i.itemHeight=i.$el.find(".carousel-item").first().innerHeight(),i.dim=2*i.itemWidth+i.options.padding||1,i._autoScrollBound=i._autoScroll.bind(i),i._trackBound=i._track.bind(i),i.options.fullWidth&&(i.options.dist=0,i._setCarouselHeight(),i.showIndicators&&i.$el.find(".carousel-fixed-item").addClass("with-indicators")),i.$indicators=ey('<ul class="indicators"></ul>'),i.$el.find(".carousel-item").each(function(e,t){if(i.images.push(e),i.showIndicators){var n=ey('<li class="indicator-item"></li>');0===t&&n[0].classList.add("active"),i.$indicators.append(n)}}),i.showIndicators&&i.$el.append(i.$indicators),i.count=i.images.length,i.options.numVisible=Math.min(i.count,i.options.numVisible),i.xform="transform",["webkit","Moz","O","ms"].every(function(e){var t=e+"Transform";return void 0===document.body.style[t]||(i.xform=t,!1)}),i._setupEventHandlers(),i._scroll(i.offset),i}return eR(t,eD),eM(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Carousel=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleCarouselTapBound=this._handleCarouselTap.bind(this),this._handleCarouselDragBound=this._handleCarouselDrag.bind(this),this._handleCarouselReleaseBound=this._handleCarouselRelease.bind(this),this._handleCarouselClickBound=this._handleCarouselClick.bind(this),void 0!==window.ontouchstart&&(this.el.addEventListener("touchstart",this._handleCarouselTapBound),this.el.addEventListener("touchmove",this._handleCarouselDragBound),this.el.addEventListener("touchend",this._handleCarouselReleaseBound)),this.el.addEventListener("mousedown",this._handleCarouselTapBound),this.el.addEventListener("mousemove",this._handleCarouselDragBound),this.el.addEventListener("mouseup",this._handleCarouselReleaseBound),this.el.addEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.addEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&(this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.$indicators.find(".indicator-item").each(function(t,n){t.addEventListener("click",e._handleIndicatorClickBound)}));var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){var e=this;void 0!==window.ontouchstart&&(this.el.removeEventListener("touchstart",this._handleCarouselTapBound),this.el.removeEventListener("touchmove",this._handleCarouselDragBound),this.el.removeEventListener("touchend",this._handleCarouselReleaseBound)),this.el.removeEventListener("mousedown",this._handleCarouselTapBound),this.el.removeEventListener("mousemove",this._handleCarouselDragBound),this.el.removeEventListener("mouseup",this._handleCarouselReleaseBound),this.el.removeEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.removeEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&this.$indicators.find(".indicator-item").each(function(t,n){t.removeEventListener("click",e._handleIndicatorClickBound)}),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleCarouselTap",value:function(e){"mousedown"===e.type&&ey(e.target).is("img")&&e.preventDefault(),this.pressed=!0,this.dragged=!1,this.verticalDragged=!1,this.reference=this._xpos(e),this.referenceY=this._ypos(e),this.velocity=this.amplitude=0,this.frame=this.offset,this.timestamp=Date.now(),clearInterval(this.ticker),this.ticker=setInterval(this._trackBound,100)}},{key:"_handleCarouselDrag",value:function(e){var t=void 0,n=void 0,i=void 0;if(this.pressed){if(t=this._xpos(e),n=this._ypos(e),i=this.reference-t,30>Math.abs(this.referenceY-n)&&!this.verticalDragged)(2<i||i<-2)&&(this.dragged=!0,this.reference=t,this._scroll(this.offset+i));else{if(this.dragged)return e.preventDefault(),e.stopPropagation(),!1;this.verticalDragged=!0}}if(this.dragged)return e.preventDefault(),e.stopPropagation(),!1}},{key:"_handleCarouselRelease",value:function(e){if(this.pressed)return this.pressed=!1,clearInterval(this.ticker),this.target=this.offset,(10<this.velocity||this.velocity<-10)&&(this.amplitude=.9*this.velocity,this.target=this.offset+this.amplitude),this.target=Math.round(this.target/this.dim)*this.dim,this.noWrap&&(this.target>=this.dim*(this.count-1)?this.target=this.dim*(this.count-1):this.target<0&&(this.target=0)),this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound),this.dragged&&(e.preventDefault(),e.stopPropagation()),!1}},{key:"_handleCarouselClick",value:function(e){if(this.dragged)return e.preventDefault(),e.stopPropagation(),!1;if(!this.options.fullWidth){var t=ey(e.target).closest(".carousel-item").index();0!=this._wrap(this.center)-t&&(e.preventDefault(),e.stopPropagation()),this._cycleTo(t)}}},{key:"_handleIndicatorClick",value:function(e){e.stopPropagation();var t=ey(e.target).closest(".indicator-item");t.length&&this._cycleTo(t.index())}},{key:"_handleResize",value:function(e){this.options.fullWidth?(this.itemWidth=this.$el.find(".carousel-item").first().innerWidth(),this.imageHeight=this.$el.find(".carousel-item.active").height(),this.dim=2*this.itemWidth+this.options.padding,this.offset=2*this.center*this.itemWidth,this.target=this.offset,this._setCarouselHeight(!0)):this._scroll()}},{key:"_setCarouselHeight",value:function(e){var t=this,n=this.$el.find(".carousel-item.active").length?this.$el.find(".carousel-item.active").first():this.$el.find(".carousel-item").first(),i=n.find("img").first();if(i.length){if(i[0].complete){var r=i.height();if(0<r)this.$el.css("height",r+"px");else{var o=i[0].naturalWidth,s=i[0].naturalHeight,a=this.$el.width()/o*s;this.$el.css("height",a+"px")}}else i.one("load",function(e,n){t.$el.css("height",e.offsetHeight+"px")})}else if(!e){var l=n.height();this.$el.css("height",l+"px")}}},{key:"_xpos",value:function(e){return e.targetTouches&&1<=e.targetTouches.length?e.targetTouches[0].clientX:e.clientX}},{key:"_ypos",value:function(e){return e.targetTouches&&1<=e.targetTouches.length?e.targetTouches[0].clientY:e.clientY}},{key:"_wrap",value:function(e){return e>=this.count?e%this.count:e<0?this._wrap(this.count+e%this.count):e}},{key:"_track",value:function(){var e,t,n,i;t=(e=Date.now())-this.timestamp,this.timestamp=e,n=this.offset-this.frame,this.frame=this.offset,i=1e3*n/(1+t),this.velocity=.8*i+.2*this.velocity}},{key:"_autoScroll",value:function(){var e=void 0,t=void 0;this.amplitude&&(e=Date.now()-this.timestamp,2<(t=this.amplitude*Math.exp(-e/this.options.duration))||t<-2?(this._scroll(this.target-t),requestAnimationFrame(this._autoScrollBound)):this._scroll(this.target))}},{key:"_scroll",value:function(e){var t=this;this.$el.hasClass("scrolling")||this.el.classList.add("scrolling"),null!=this.scrollingTimeout&&window.clearTimeout(this.scrollingTimeout),this.scrollingTimeout=window.setTimeout(function(){t.$el.removeClass("scrolling")},this.options.duration);var n,i,r,o,s=void 0,a=void 0,l=void 0,c=void 0,u=void 0,h=void 0,d=this.center,p=1/this.options.numVisible;if(this.offset="number"==typeof e?e:this.offset,this.center=Math.floor((this.offset+this.dim/2)/this.dim),o=-(r=(i=this.offset-this.center*this.dim)<0?1:-1)*i*2/this.dim,n=this.count>>1,this.options.fullWidth?(l="translateX(0)",h=1):(l="translateX("+(this.el.clientWidth-this.itemWidth)/2+"px) "+("translateY("+(this.el.clientHeight-this.itemHeight)/2+"px)"),h=1-p*o),this.showIndicators){var f=this.center%this.count,m=this.$indicators.find(".indicator-item.active");m.index()!==f&&(m.removeClass("active"),this.$indicators.find(".indicator-item").eq(f)[0].classList.add("active"))}if(!this.noWrap||0<=this.center&&this.center<this.count){ey(a=this.images[this._wrap(this.center)]).hasClass("active")||(this.$el.find(".carousel-item").removeClass("active"),a.classList.add("active"));var g=l+" translateX("+-i/2+"px) translateX("+r*this.options.shift*o*s+"px) translateZ("+this.options.dist*o+"px)";this._updateItemStyle(a,h,0,g)}for(s=1;s<=n;++s){if(this.options.fullWidth?(c=this.options.dist,u=s===n&&i<0?1-o:1):(c=this.options.dist*(2*s+o*r),u=1-p*(2*s+o*r)),!this.noWrap||this.center+s<this.count){a=this.images[this._wrap(this.center+s)];var v=l+" translateX("+(this.options.shift+(this.dim*s-i)/2)+"px) translateZ("+c+"px)";this._updateItemStyle(a,u,-s,v)}if(this.options.fullWidth?(c=this.options.dist,u=s===n&&0<i?1-o:1):(c=this.options.dist*(2*s-o*r),u=1-p*(2*s-o*r)),!this.noWrap||0<=this.center-s){a=this.images[this._wrap(this.center-s)];var y=l+" translateX("+(-this.options.shift+(-this.dim*s-i)/2)+"px) translateZ("+c+"px)";this._updateItemStyle(a,u,-s,y)}}if(!this.noWrap||0<=this.center&&this.center<this.count){a=this.images[this._wrap(this.center)];var b=l+" translateX("+-i/2+"px) translateX("+r*this.options.shift*o+"px) translateZ("+this.options.dist*o+"px)";this._updateItemStyle(a,h,0,b)}var w=this.$el.find(".carousel-item").eq(this._wrap(this.center));d!==this.center&&"function"==typeof this.options.onCycleTo&&this.options.onCycleTo.call(this,w[0],this.dragged),"function"==typeof this.oneTimeCallback&&(this.oneTimeCallback.call(this,w[0],this.dragged),this.oneTimeCallback=null)}},{key:"_updateItemStyle",value:function(e,t,n,i){e.style[this.xform]=i,e.style.zIndex=n,e.style.opacity=t,e.style.visibility="visible"}},{key:"_cycleTo",value:function(e,t){var n=this.center%this.count-e;this.noWrap||(n<0?Math.abs(n+this.count)<Math.abs(n)&&(n+=this.count):0<n&&Math.abs(n-this.count)<n&&(n-=this.count)),this.target=this.dim*Math.round(this.offset/this.dim),n<0?this.target+=this.dim*Math.abs(n):0<n&&(this.target-=this.dim*n),"function"==typeof t&&(this.oneTimeCallback=t),this.offset!==this.target&&(this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound))}},{key:"next",value:function(e){(void 0===e||isNaN(e))&&(e=1);var t=this.center+e;if(t>=this.count||t<0){if(this.noWrap)return;t=this._wrap(t)}this._cycleTo(t)}},{key:"prev",value:function(e){(void 0===e||isNaN(e))&&(e=1);var t=this.center-e;if(t>=this.count||t<0){if(this.noWrap)return;t=this._wrap(t)}this._cycleTo(t)}},{key:"set",value:function(e,t){if((void 0===e||isNaN(e))&&(e=0),e>this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e,t)}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Carousel}},{key:"defaults",get:function(){return eb}}]),t}(),M.Carousel=ew,M.jQueryLoaded&&M.initializeJqueryWrapper(ew,"carousel","M_Carousel"),e_=cash,eE={onOpen:void 0,onClose:void 0},ex=function(e){function t(e,n){eP(this,t);var i=eL(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_TapTarget=i).options=e_.extend({},t.defaults,n),i.isOpen=!1,i.$origin=e_("#"+i.$el.attr("data-target")),i._setup(),i._calculatePositioning(),i._setupEventHandlers(),i}return eR(t,eD),eM(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.TapTarget=void 0}},{key:"_setupEventHandlers",value:function(){this._handleDocumentClickBound=this._handleDocumentClick.bind(this),this._handleTargetClickBound=this._handleTargetClick.bind(this),this._handleOriginClickBound=this._handleOriginClick.bind(this),this.el.addEventListener("click",this._handleTargetClickBound),this.originEl.addEventListener("click",this._handleOriginClickBound);var e=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=e.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleTargetClickBound),this.originEl.removeEventListener("click",this._handleOriginClickBound),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleTargetClick",value:function(e){this.open()}},{key:"_handleOriginClick",value:function(e){this.close()}},{key:"_handleResize",value:function(e){this._calculatePositioning()}},{key:"_handleDocumentClick",value:function(e){e_(e.target).closest(".tap-target-wrapper").length||(this.close(),e.preventDefault(),e.stopPropagation())}},{key:"_setup",value:function(){this.wrapper=this.$el.parent()[0],this.waveEl=e_(this.wrapper).find(".tap-target-wave")[0],this.originEl=e_(this.wrapper).find(".tap-target-origin")[0],this.contentEl=this.$el.find(".tap-target-content")[0],e_(this.wrapper).hasClass(".tap-target-wrapper")||(this.wrapper=document.createElement("div"),this.wrapper.classList.add("tap-target-wrapper"),this.$el.before(e_(this.wrapper)),this.wrapper.append(this.el)),this.contentEl||(this.contentEl=document.createElement("div"),this.contentEl.classList.add("tap-target-content"),this.$el.append(this.contentEl)),this.waveEl||(this.waveEl=document.createElement("div"),this.waveEl.classList.add("tap-target-wave"),this.originEl||(this.originEl=this.$origin.clone(!0,!0),this.originEl.addClass("tap-target-origin"),this.originEl.removeAttr("id"),this.originEl.removeAttr("style"),this.originEl=this.originEl[0],this.waveEl.append(this.originEl)),this.wrapper.append(this.waveEl))}},{key:"_calculatePositioning",value:function(){var e="fixed"===this.$origin.css("position");if(!e)for(var t=this.$origin.parents(),n=0;n<t.length&&!(e="fixed"==e_(t[n]).css("position"));n++);var i=this.$origin.outerWidth(),r=this.$origin.outerHeight(),o=e?this.$origin.offset().top-M.getDocumentScrollTop():this.$origin.offset().top,s=e?this.$origin.offset().left-M.getDocumentScrollLeft():this.$origin.offset().left,a=window.innerWidth,l=window.innerHeight,c=a/2,u=l/2,h=s<=c,d=o<=u,p=u<o,f=.25*a<=s&&s<=.75*a,m=this.$el.outerWidth(),g=this.$el.outerHeight(),v=o+r/2-g/2,y=s+i/2-m/2,b=e?"fixed":"absolute",w=2*i,_={};_.top=d?v+"px":"",_.right=c<s?a-y-m+"px":"",_.bottom=p?l-v-g+"px":"",_.left=h?y+"px":"",_.position=b,e_(this.wrapper).css(_),e_(this.contentEl).css({width:(f?m:m/2+i)+"px",height:g/2+"px",top:(d?g/2:0)+"px",right:"0px",bottom:"0px",left:(h&&!f?m/2-i:0)+"px",padding:i+"px",verticalAlign:p?"bottom":"top"}),e_(this.waveEl).css({top:g/2-w/2+"px",left:m/2-w/2+"px",width:w+"px",height:w+"px"})}},{key:"open",value:function(){this.isOpen||("function"==typeof this.options.onOpen&&this.options.onOpen.call(this,this.$origin[0]),this.isOpen=!0,this.wrapper.classList.add("open"),document.body.addEventListener("click",this._handleDocumentClickBound,!0),document.body.addEventListener("touchend",this._handleDocumentClickBound))}},{key:"close",value:function(){this.isOpen&&("function"==typeof this.options.onClose&&this.options.onClose.call(this,this.$origin[0]),this.isOpen=!1,this.wrapper.classList.remove("open"),document.body.removeEventListener("click",this._handleDocumentClickBound,!0),document.body.removeEventListener("touchend",this._handleDocumentClickBound))}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_TapTarget}},{key:"defaults",get:function(){return eE}}]),t}(),M.TapTarget=ex,M.jQueryLoaded&&M.initializeJqueryWrapper(ex,"tapTarget","M_TapTarget"),ek=cash,eT={classes:"",dropdownOptions:{}},eO=function(e){function t(e,n){eP(this,t);var i=eL(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return i.$el.hasClass("browser-default")?eL(i):((i.el.M_FormSelect=i).options=ek.extend({},t.defaults,n),i.isMultiple=i.$el.prop("multiple"),i.el.tabIndex=-1,i._keysSelected={},i._valueDict={},i._setupDropdown(),i._setupEventHandlers(),i)}return eR(t,eD),eM(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeDropdown(),this.el.M_FormSelect=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleSelectChangeBound=this._handleSelectChange.bind(this),this._handleOptionClickBound=this._handleOptionClick.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),ek(this.dropdownOptions).find("li:not(.optgroup)").each(function(t){t.addEventListener("click",e._handleOptionClickBound)}),this.el.addEventListener("change",this._handleSelectChangeBound),this.input.addEventListener("click",this._handleInputClickBound)}},{key:"_removeEventHandlers",value:function(){var e=this;ek(this.dropdownOptions).find("li:not(.optgroup)").each(function(t){t.removeEventListener("click",e._handleOptionClickBound)}),this.el.removeEventListener("change",this._handleSelectChangeBound),this.input.removeEventListener("click",this._handleInputClickBound)}},{key:"_handleSelectChange",value:function(e){this._setValueToInput()}},{key:"_handleOptionClick",value:function(e){e.preventDefault();var t=ek(e.target).closest("li")[0],n=t.id;if(!ek(t).hasClass("disabled")&&!ek(t).hasClass("optgroup")&&n.length){var i=!0;if(this.isMultiple){var r=ek(this.dropdownOptions).find("li.disabled.selected");r.length&&(r.removeClass("selected"),r.find('input[type="checkbox"]').prop("checked",!1),this._toggleEntryFromArray(r[0].id)),i=this._toggleEntryFromArray(n)}else ek(this.dropdownOptions).find("li").removeClass("selected"),ek(t).toggleClass("selected",i);ek(this._valueDict[n].el).prop("selected")!==i&&(ek(this._valueDict[n].el).prop("selected",i),this.$el.trigger("change"))}e.stopPropagation()}},{key:"_handleInputClick",value:function(){this.dropdown&&this.dropdown.isOpen&&(this._setValueToInput(),this._setSelectedStates())}},{key:"_setupDropdown",value:function(){var e=this;this.wrapper=document.createElement("div"),ek(this.wrapper).addClass("select-wrapper "+this.options.classes),this.$el.before(ek(this.wrapper)),this.wrapper.appendChild(this.el),this.el.disabled&&this.wrapper.classList.add("disabled"),this.$selectOptions=this.$el.children("option, optgroup"),this.dropdownOptions=document.createElement("ul"),this.dropdownOptions.id="select-options-"+M.guid(),ek(this.dropdownOptions).addClass("dropdown-content select-dropdown "+(this.isMultiple?"multiple-select-dropdown":"")),this.$selectOptions.length&&this.$selectOptions.each(function(t){if(ek(t).is("option")){var n=void 0;n=e.isMultiple?e._appendOptionWithIcon(e.$el,t,"multiple"):e._appendOptionWithIcon(e.$el,t),e._addOptionToValueDict(t,n)}else if(ek(t).is("optgroup")){var i=ek(t).children("option");ek(e.dropdownOptions).append(ek('<li class="optgroup"><span>'+t.getAttribute("label")+"</span></li>")[0]),i.each(function(t){var n=e._appendOptionWithIcon(e.$el,t,"optgroup-option");e._addOptionToValueDict(t,n)})}}),this.$el.after(this.dropdownOptions),this.input=document.createElement("input"),ek(this.input).addClass("select-dropdown dropdown-trigger"),this.input.setAttribute("type","text"),this.input.setAttribute("readonly","true"),this.input.setAttribute("data-target",this.dropdownOptions.id),this.el.disabled&&ek(this.input).prop("disabled","true"),this.$el.before(this.input),this._setValueToInput();var t=ek('<svg class="caret" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');if(this.$el.before(t[0]),!this.el.disabled){var n=ek.extend({},this.options.dropdownOptions);n.onOpenEnd=function(t){var n=ek(e.dropdownOptions).find(".selected").first();if(n.length&&(M.keyDown=!0,e.dropdown.focusedIndex=n.index(),e.dropdown._focusFocusedItem(),M.keyDown=!1,e.dropdown.isScrollable)){var i=n[0].getBoundingClientRect().top-e.dropdownOptions.getBoundingClientRect().top;i-=e.dropdownOptions.clientHeight/2,e.dropdownOptions.scrollTop=i}},this.isMultiple&&(n.closeOnClick=!1),this.dropdown=M.Dropdown.init(this.input,n)}this._setSelectedStates()}},{key:"_addOptionToValueDict",value:function(e,t){var n=Object.keys(this._valueDict).length,i=this.dropdownOptions.id+n,r={};t.id=i,r.el=e,r.optionEl=t,this._valueDict[i]=r}},{key:"_removeDropdown",value:function(){ek(this.wrapper).find(".caret").remove(),ek(this.input).remove(),ek(this.dropdownOptions).remove(),ek(this.wrapper).before(this.$el),ek(this.wrapper).remove()}},{key:"_appendOptionWithIcon",value:function(e,t,n){var i=t.disabled?"disabled ":"",r=this.isMultiple?'<label><input type="checkbox"'+i+'"/><span>'+t.innerHTML+"</span></label>":t.innerHTML,o=ek("<li></li>"),s=ek("<span></span>");s.html(r),o.addClass(i+" "+("optgroup-option"===n?"optgroup-option ":"")),o.append(s);var a=t.getAttribute("data-icon");if(a){var l=ek('<img alt="" src="'+a+'">');o.prepend(l)}return ek(this.dropdownOptions).append(o[0]),o[0]}},{key:"_toggleEntryFromArray",value:function(e){var t=!this._keysSelected.hasOwnProperty(e),n=ek(this._valueDict[e].optionEl);return t?this._keysSelected[e]=!0:delete this._keysSelected[e],n.toggleClass("selected",t),n.find('input[type="checkbox"]').prop("checked",t),n.prop("selected",t),t}},{key:"_setValueToInput",value:function(){var e=[];if(this.$el.find("option").each(function(t){if(ek(t).prop("selected")){var n=ek(t).text();e.push(n)}}),!e.length){var t=this.$el.find("option:disabled").eq(0);t.length&&""===t[0].value&&e.push(t.text())}this.input.value=e.join(", ")}},{key:"_setSelectedStates",value:function(){for(var e in this._keysSelected={},this._valueDict){var t=this._valueDict[e],n=ek(t.el).prop("selected");ek(t.optionEl).find('input[type="checkbox"]').prop("checked",n),n?(this._activateOption(ek(this.dropdownOptions),ek(t.optionEl)),this._keysSelected[e]=!0):ek(t.optionEl).removeClass("selected")}}},{key:"_activateOption",value:function(e,t){t&&(this.isMultiple||e.find("li.selected").removeClass("selected"),ek(t).addClass("selected"))}},{key:"getSelectedValues",value:function(){var e=[];for(var t in this._keysSelected)e.push(this._valueDict[t].el.value);return e}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_FormSelect}},{key:"defaults",get:function(){return eT}}]),t}(),M.FormSelect=eO,M.jQueryLoaded&&M.initializeJqueryWrapper(eO,"formSelect","M_FormSelect"),eC=cash,eA=M.anime,eS={},eN=function(e){function t(e,n){eP(this,t);var i=eL(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Range=i).options=eC.extend({},t.defaults,n),i._mousedown=!1,i._setupThumb(),i._setupEventHandlers(),i}return eR(t,eD),eM(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeThumb(),this.el.M_Range=void 0}},{key:"_setupEventHandlers",value:function(){this._handleRangeChangeBound=this._handleRangeChange.bind(this),this._handleRangeMousedownTouchstartBound=this._handleRangeMousedownTouchstart.bind(this),this._handleRangeInputMousemoveTouchmoveBound=this._handleRangeInputMousemoveTouchmove.bind(this),this._handleRangeMouseupTouchendBound=this._handleRangeMouseupTouchend.bind(this),this._handleRangeBlurMouseoutTouchleaveBound=this._handleRangeBlurMouseoutTouchleave.bind(this),this.el.addEventListener("change",this._handleRangeChangeBound),this.el.addEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.addEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.addEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("change",this._handleRangeChangeBound),this.el.removeEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_handleRangeChange",value:function(){eC(this.value).html(this.$el.val()),eC(this.thumb).hasClass("active")||this._showRangeBubble();var e=this._calcRangeOffset();eC(this.thumb).addClass("active").css("left",e+"px")}},{key:"_handleRangeMousedownTouchstart",value:function(e){if(eC(this.value).html(this.$el.val()),this._mousedown=!0,this.$el.addClass("active"),eC(this.thumb).hasClass("active")||this._showRangeBubble(),"input"!==e.type){var t=this._calcRangeOffset();eC(this.thumb).addClass("active").css("left",t+"px")}}},{key:"_handleRangeInputMousemoveTouchmove",value:function(){if(this._mousedown){eC(this.thumb).hasClass("active")||this._showRangeBubble();var e=this._calcRangeOffset();eC(this.thumb).addClass("active").css("left",e+"px"),eC(this.value).html(this.$el.val())}}},{key:"_handleRangeMouseupTouchend",value:function(){this._mousedown=!1,this.$el.removeClass("active")}},{key:"_handleRangeBlurMouseoutTouchleave",value:function(){if(!this._mousedown){var e=7+parseInt(this.$el.css("padding-left"))+"px";eC(this.thumb).hasClass("active")&&(eA.remove(this.thumb),eA({targets:this.thumb,height:0,width:0,top:10,easing:"easeOutQuad",marginLeft:e,duration:100})),eC(this.thumb).removeClass("active")}}},{key:"_setupThumb",value:function(){this.thumb=document.createElement("span"),this.value=document.createElement("span"),eC(this.thumb).addClass("thumb"),eC(this.value).addClass("value"),eC(this.thumb).append(this.value),this.$el.after(this.thumb)}},{key:"_removeThumb",value:function(){eC(this.thumb).remove()}},{key:"_showRangeBubble",value:function(){var e=-7+parseInt(eC(this.thumb).parent().css("padding-left"))+"px";eA.remove(this.thumb),eA({targets:this.thumb,height:30,width:30,top:-30,marginLeft:e,duration:300,easing:"easeOutQuint"})}},{key:"_calcRangeOffset",value:function(){var e=this.$el.width()-15,t=parseFloat(this.$el.attr("max"))||100,n=parseFloat(this.$el.attr("min"))||0;return(parseFloat(this.$el.val())-n)/(t-n)*e}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Range}},{key:"defaults",get:function(){return eS}}]),t}(),M.Range=eN,M.jQueryLoaded&&M.initializeJqueryWrapper(eN,"range","M_Range"),eN.init(eC("input[type=range]"))},9556:function(e,t,n){"use strict";t.meiosisSetup=void 0;var i=n(2161);Object.defineProperty(t,"meiosisSetup",{enumerable:!0,get:function(){return i.meiosisSetup}})},2161:function(e,t,n){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.meiosisSetup=void 0;let r=n(1229),o=n(3072),s=i(n(8474)),a=(e,t,n)=>(n[e]=t,n),l=(e,t)=>t?e.concat(t):e,c=e=>e?Object.keys(e).reduce((t,n)=>a(n,Object.assign({},e[n].initial,c(e[n].nested)),t),{}):{},u=e=>Object.assign({},e.initial,c(e.nested)),h=e=>e?Object.keys(e).reduce((t,n)=>{let i=e[n];if(void 0!==i.view){let e=i.view;return a(n,{view:(t,...i)=>e(t.nest(n),...i),nested:h(i.nested)},t)}return t},{}):{},d=e=>h(e.nested),p=(e,t=e=>e,n=e=>e)=>e?Object.keys(e).reduce((i,r)=>{var o;let s=e=>t(e).nest(r),a=e=>n(e)[r],c=e[r];return l(i,null===(o=c.services)||void 0===o?void 0:o.map(e=>({onchange:t=>e.onchange?e.onchange(a(t)):t,run:t=>e.run(s(t))}))).concat(p(c.nested,s,a))},[]):[],f=e=>l([],e.services).concat(p(e.nested)),m=({stream:e,app:t})=>{!e&&(e=r.simpleStream);let n=t||{},i=u(n),o=d(n),a="function"==typeof e?e:e.stream,l=e.scan,c=a();return{states:l((e,t)=>(0,s.default)(e,t),i,c),update:c,view:o}},g=(e,t)=>({[t]:e}),v=(e,t)=>n=>e(g(n,t)),y=(e,t,n)=>i=>{let r=e.map(e=>e[i]),s=()=>e()[i],a=v(t,i),l=(0,o.get)(n,[i,"nested"]);return{states:r,state:s(),getState:s,update:a,nest:y(r,a,l),nested:l}};t.meiosisSetup=e=>{let t=null==e?void 0:e.stream,n=null==e?void 0:e.app,{states:i,update:o,view:s}=m({stream:t,app:n}),a=y(i,o,s),l=()=>i(),c=e=>({states:i,state:e,getState:l,update:o,nest:a,nested:s}),u=(0,r.createDropRepeats)(t);return n&&f(n).forEach(e=>{u(i,e.onchange).map(t=>e.run(c(t)))}),u(i).map(c)}},1229:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dropRepeats=t.createDropRepeats=t.simpleStream=t.scan=t.stream=void 0;t.stream=e=>{let n=[],i=e,r=function(e){if(arguments.length>0&&!r.ended)for(let t in i=e,n)n[t](i);return i};return r.map=e=>{let r=(0,t.stream)(),o=t=>{r(e(t))};return n.push(o),r.end=e=>{let t=n.indexOf(o);r.ended=!0,n.splice(t,1)},void 0!==i&&r(e(i)),r},r.end=e=>{r.ended=!0},r};t.scan=(e,n,i)=>{let r=(0,t.stream)(n),o=n;return i.map(t=>{r(o=e(o,t))}),r},t.simpleStream={stream:t.stream,scan:t.scan};t.createDropRepeats=(e=t.simpleStream)=>(t,n=e=>e)=>{let i;let r=("function"==typeof e?e:e.stream)();return t.map(e=>{let t=n(e);t!==i&&(i=t,r(e))}),r},t.dropRepeats=(0,t.createDropRepeats)()},3072:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.updateFormFloatValue=t.updateFormIntValue=t.updateFormValue=t.get=void 0;t.get=(e,t)=>t.reduce((e,t)=>void 0==e?void 0:e[t],e);let n=(e,t)=>({[e[0]]:1===e.length?t:n(e.slice(1),t)}),i=e=>Array.isArray(e)?e:[e],r=(e,t,r)=>o=>{let s=e(o.currentTarget.value);!isNaN(s)&&t.update(n(i(r),s))};t.updateFormValue=(e,t,r=e=>e)=>o=>e.update(n(i(t),r(o.currentTarget.value)));t.updateFormIntValue=(e,t)=>n=>r(parseInt,e,t)(n);t.updateFormFloatValue=(e,t)=>n=>r(parseFloat,e,t)(n)},8474:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return s}});let i=Object.assign||((e,t)=>(t&&Object.keys(t).forEach(n=>e[n]=t[n]),e)),r=(e,t,n)=>{let i=typeof n;if(n&&"object"===i){if(Array.isArray(n))for(let i of n)t=r(e,t,i);else for(let i of Object.keys(n)){let s=n[i];"function"==typeof s?t[i]=s(t[i],o):void 0===s?e&&!isNaN(i)?t.splice(i,1):delete t[i]:null===s||"object"!=typeof s||Array.isArray(s)?t[i]=s:"object"==typeof t[i]?t[i]=s===t[i]?s:o(t[i],s):t[i]=r(!1,{},s)}}else"function"===i&&(t=n(t,o));return t},o=(e,...t)=>{let n=Array.isArray(e);return r(n,n?e.slice():i({},e),t)},s=o},8507:function(e,t,n){"use strict";var i=n(1132);e.exports=function(e,t,n){var r=[],o=!1,s=-1;function a(){for(s=0;s<r.length;s+=2)try{e(r[s],i(r[s+1]),l)}catch(e){n.error(e)}s=-1}function l(){!o&&(o=!0,t(function(){o=!1,a()}))}return l.sync=a,{mount:function(t,n){if(null!=n&&null==n.view&&"function"!=typeof n)throw TypeError("m.mount expects a component, not a vnode.");var o=r.indexOf(t);o>=0&&(r.splice(o,2),o<=s&&(s-=2),e(t,[])),null!=n&&(r.push(t,n),e(t,i(n),l))},redraw:l}}},7966:function(e,t,n){"use strict";var i=n(1132),r=n(4142),o=n(7265),s=n(3444),a=n(5353),l=n(8858),c={};function u(e){try{return decodeURIComponent(e)}catch(t){return e}}e.exports=function(e,t){var n=null==e?null:"function"==typeof e.setImmediate?e.setImmediate:e.setTimeout,h=Promise.resolve(),d=!1,p=!1,f=0,m,g,v,y,b,w,_=c,E={onbeforeupdate:function(){return!(!(f=f?2:1)||c===_)},onremove:function(){e.removeEventListener("popstate",T,!1),e.removeEventListener("hashchange",k,!1)},view:function(){if(f&&c!==_){var e=[i(v,y.key,y)];return _&&(e=_.render(e[0])),e}}},x=C.SKIP={};function k(){d=!1;var n=e.location.hash;"#"!==C.prefix[0]&&(n=e.location.search+n,"?"!==C.prefix[0]&&"/"!==(n=e.location.pathname+n)[0]&&(n="/"+n));var i=n.concat().replace(/(?:%[a-f89][a-f0-9])+/gim,u).slice(C.prefix.length),r=s(i);function o(e){console.error(e),O(g,null,{replace:!0})}Object.assign(r.params,e.history.state),function e(n){for(;n<m.length;n++)if(m[n].check(r)){var s=m[n].component,a=m[n].route,l=s,c=w=function(o){if(c===w){if(o===x)return e(n+1);v=null!=o&&("function"==typeof o.view||"function"==typeof o)?o:"div",y=r.params,b=i,w=null,_=s.render?s:null,2===f?t.redraw():(f=2,t.redraw.sync())}};s.view||"function"==typeof s?(s={},c(l)):s.onmatch?h.then(function(){return s.onmatch(r.params,i,a)}).then(c,i===g?null:o):c("div");return}if(i===g)throw Error("Could not resolve default route "+g+".");O(g,null,{replace:!0})}(0)}function T(){!d&&(d=!0,n(k))}function O(t,n,i){if(t=o(t,n),p){T();var r=i?i.state:null,s=i?i.title:null;i&&i.replace?e.history.replaceState(r,s,C.prefix+t):e.history.pushState(r,s,C.prefix+t)}else e.location.href=C.prefix+t}function C(n,i,r){if(!n)throw TypeError("DOM element being rendered to does not exist.");if(m=Object.keys(r).map(function(e){if("/"!==e[0])throw SyntaxError("Routes must start with a '/'.");if(/:([^\/\.-]+)(\.{3})?:/.test(e))throw SyntaxError("Route parameter names must be separated with either '/', '.', or '-'.");return{route:e,component:r[e],check:a(e)}}),g=i,null!=i){var o=s(i);if(!m.some(function(e){return e.check(o)}))throw ReferenceError("Default route doesn't match any known routes.")}"function"==typeof e.history.pushState?e.addEventListener("popstate",T,!1):"#"===C.prefix[0]&&e.addEventListener("hashchange",k,!1),p=!0,t.mount(n,E),k()}return C.set=function(e,t,n){null!=w&&((n=n||{}).replace=!0),w=null,O(e,t,n)},C.get=function(){return b},C.prefix="#!",C.Link={view:function(e){var t,n,i,s=r(e.attrs.selector||"a",l(e.attrs,["options","params","selector","onclick"]),e.children);return(s.attrs.disabled=!!s.attrs.disabled)?(s.attrs.href=null,s.attrs["aria-disabled"]="true"):(t=e.attrs.options,n=e.attrs.onclick,i=o(s.attrs.href,e.attrs.params),s.attrs.href=C.prefix+i,s.attrs.onclick=function(e){var r;"function"==typeof n?r=n.call(e.currentTarget,e):null==n||"object"!=typeof n||"function"==typeof n.handleEvent&&n.handleEvent(e),!1!==r&&!e.defaultPrevented&&(0===e.button||0===e.which||1===e.which)&&(!e.currentTarget.target||"_self"===e.currentTarget.target)&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey&&(e.preventDefault(),e.redraw=!1,C.set(i,null,t))}),s}},C.param=function(e){return y&&null!=e?y[e]:y},C}},8943:function(e,t,n){"use strict";var i=n(4142);i.trust=n(6013),i.fragment=n(9559),e.exports=i},540:function(e,t,n){"use strict";var i=n(8943),r=n(5941),o=n(9691),s=n(7152),a=function(){return i.apply(this,arguments)};a.m=i,a.trust=i.trust,a.fragment=i.fragment,a.Fragment="[",a.mount=o.mount,a.route=n(4878),a.render=n(7347),a.redraw=o.redraw,a.request=r.request,a.parseQueryString=n(671),a.buildQueryString=n(9100),a.parsePathname=n(3444),a.buildPathname=n(7265),a.vnode=n(1132),a.censor=n(8858),a.domFor=s.domFor,e.exports=a},9691:function(e,t,n){"use strict";var i=n(7347);e.exports=n(8507)(i,"undefined"!=typeof requestAnimationFrame?requestAnimationFrame:null,"undefined"!=typeof console?console:null)},7265:function(e,t,n){"use strict";var i=n(9100);e.exports=function(e,t){if(/:([^\/\.-]+)(\.{3})?:/.test(e))throw SyntaxError("Template parameter names must be separated by either a '/', '-', or '.'.");if(null==t)return e;var n=e.indexOf("?"),r=e.indexOf("#"),o=r<0?e.length:r,s=n<0?o:n,a=e.slice(0,s),l={};Object.assign(l,t);var c=a.replace(/:([^\/\.-]+)(\.{3})?/g,function(e,n,i){return(delete l[n],null==t[n])?e:i?t[n]:encodeURIComponent(String(t[n]))}),u=c.indexOf("?"),h=c.indexOf("#"),d=h<0?c.length:h,p=u<0?d:u,f=c.slice(0,p);n>=0&&(f+=e.slice(n,o)),u>=0&&(f+=(n<0?"?":"&")+c.slice(u,d));var m=i(l);return m&&(f+=(n<0&&u<0?"?":"&")+m),r>=0&&(f+=e.slice(r)),h>=0&&(f+=(r<0?"":"&")+c.slice(h)),f}},5353:function(e,t,n){"use strict";var i=n(3444);e.exports=function(e){var t=i(e),n=Object.keys(t.params),r=[],o=RegExp("^"+t.path.replace(/:([^\/.-]+)(\.{3}|\.(?!\.)|-)?|[\\^$*+.()|\[\]{}]/g,function(e,t,n){return null==t?"\\"+e:(r.push({k:t,r:"..."===n}),"..."===n)?"(.*)":"."===n?"([^/]+)\\.":"([^/]+)"+(n||"")})+"$");return function(e){for(var i=0;i<n.length;i++)if(t.params[n[i]]!==e.params[n[i]])return!1;if(!r.length)return o.test(e.path);var s=o.exec(e.path);if(null==s)return!1;for(var i=0;i<r.length;i++)e.params[r[i].k]=r[i].r?s[i+1]:decodeURIComponent(s[i+1]);return!0}}},3444:function(e,t,n){"use strict";var i=n(671);e.exports=function(e){var t=e.indexOf("?"),n=e.indexOf("#"),r=n<0?e.length:n,o=t<0?r:t,s=e.slice(0,o).replace(/\/{2,}/g,"/");return s?"/"!==s[0]&&(s="/"+s):s="/",{path:s,params:t<0?{}:i(e.slice(t+1,r))}}},9100:function(e){"use strict";e.exports=function(e){if("[object Object]"!==Object.prototype.toString.call(e))return"";var t=[];for(var n in e)(function e(n,i){if(Array.isArray(i))for(var r=0;r<i.length;r++)e(n+"["+r+"]",i[r]);else if("[object Object]"===Object.prototype.toString.call(i))for(var r in i)e(n+"["+r+"]",i[r]);else t.push(encodeURIComponent(n)+(null!=i&&""!==i?"="+encodeURIComponent(i):""))})(n,e[n]);return t.join("&")}},671:function(e){"use strict";function t(e){try{return decodeURIComponent(e)}catch(t){return e}}e.exports=function(e){if(""===e||null==e)return{};"?"===e.charAt(0)&&(e=e.slice(1));for(var n=e.split("&"),i={},r={},o=0;o<n.length;o++){var s=n[o].split("="),a=t(s[0]),l=2===s.length?t(s[1]):"";"true"===l?l=!0:"false"===l&&(l=!1);var c=a.split(/\]\[?|\[/),u=r;a.indexOf("[")>-1&&c.pop();for(var h=0;h<c.length;h++){var d=c[h],p=c[h+1],f=""==p||!isNaN(parseInt(p,10));if(""===d){var a=c.slice(0,h).join();null==i[a]&&(i[a]=Array.isArray(u)?u.length:0),d=i[a]++}else if("__proto__"===d)break;if(h===c.length-1)u[d]=l;else{var m=Object.getOwnPropertyDescriptor(u,d);null!=m&&(m=m.value),null==m&&(u[d]=m=f?[]:{}),u=m}}}return r}},7347:function(e,t,n){"use strict";e.exports=n(7149)("undefined"!=typeof window?window:null)},7152:function(e){"use strict";var t=new WeakMap;e.exports={delayedRemoval:t,domFor:function*(e,n={}){var i=e.dom,r=e.domSize,o=n.generation;if(null!=i)do{var s=i.nextSibling;t.get(i)===o&&(yield i,r--),i=s}while(r)}}},9559:function(e,t,n){"use strict";var i=n(1132),r=n(8473);e.exports=function(){var e=r.apply(0,arguments);return e.tag="[",e.children=i.normalizeChildren(e.children),e}},4142:function(e,t,n){"use strict";var i=n(1132),r=n(8473),o=n(9781),s=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,a=Object.create(null);e.exports=function(e){if(null==e||"string"!=typeof e&&"function"!=typeof e&&"function"!=typeof e.view)throw Error("The selector must be either a string or a component.");var t,n,l,c,u,h=r.apply(1,arguments);if("string"==typeof e&&(h.children=i.normalizeChildren(h.children),"["!==e)){;return t=a[e]||function(e){for(var t,n="div",i=[],r={};t=s.exec(e);){var l=t[1],c=t[2];if(""===l&&""!==c)n=c;else if("#"===l)r.id=c;else if("."===l)i.push(c);else if("["===t[3][0]){var u=t[6];u&&(u=u.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")),"class"===t[4]?i.push(u):r[t[4]]=""===u?u:u||!0}}return i.length>0&&(r.className=i.join(" ")),function(e){for(var t in e)if(o.call(e,t))return!1;return!0}(r)&&(r=null),a[e]={tag:n,attrs:r}}(e),l=(n=h).attrs,u=(c=o.call(l,"class"))?l.class:l.className,n.tag=t.tag,null!=t.attrs?(l=Object.assign({},t.attrs,l),(null!=u||null!=t.attrs.className)&&(l.className=null!=u?null!=t.attrs.className?String(t.attrs.className)+" "+String(u):u:null!=t.attrs.className?t.attrs.className:null)):null!=u&&(l.className=u),c&&(l.class=null),"input"===t.tag&&o.call(l,"type")&&(l=Object.assign({type:l.type},l)),n.attrs=l,n}return h.tag=e,h}},8473:function(e,t,n){"use strict";var i=n(1132);e.exports=function(){var e,t=arguments[this],n=this+1;if(null==t?t={}:("object"!=typeof t||null!=t.tag||Array.isArray(t))&&(t={},n=this),arguments.length===n+1)e=arguments[n],!Array.isArray(e)&&(e=[e]);else for(e=[];n<arguments.length;)e.push(arguments[n++]);return i("",t.key,t,e)}},7149:function(e,t,n){"use strict";var i=n(1132),r=n(7152),o=r.delayedRemoval,s=r.domFor;e.exports=function(){var e,t,n,r={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"};function a(e){return e.ownerDocument}function l(e){return e.attrs&&e.attrs.xmlns||r[e.tag]}function c(e,t){if(e.state!==t)throw Error("'vnode.state' must not be modified.")}function u(e){var t=e.state;try{return this.apply(t,arguments)}finally{c(e,t)}}function h(e){try{return a(e).activeElement}catch(e){return null}}function d(e,t,n,i,r,o,s){for(var a=n;a<i;a++){var l=t[a];null!=l&&p(e,l,r,s,o)}}function p(e,t,n,r,o){var s=t.tag;if("string"==typeof s)switch(t.state={},null!=t.attrs&&R(t.attrs,t,n),s){case"#":(function(e,t,n){t.dom=a(e).createTextNode(t.children),_(e,t.dom,n)})(e,t,o);break;case"<":m(e,t,r,o);break;case"[":(function(e,t,n,i,r){var o=a(e).createDocumentFragment();if(null!=t.children){var s=t.children;d(o,s,0,s.length,n,null,i)}t.dom=o.firstChild,t.domSize=o.childNodes.length,_(e,o,r)})(e,t,n,r,o);break;default:(function(e,t,n,i,r){var o=t.tag,s=t.attrs,c=s&&s.is,u=(i=l(t)||i)?c?a(e).createElementNS(i,o,{is:c}):a(e).createElementNS(i,o):c?a(e).createElement(o,{is:c}):a(e).createElement(o);if(t.dom=u,null!=s&&function(e,t,n){for(var i in t)C(e,i,null,t[i],n)}(t,s,i),_(e,u,r),!E(t)&&null!=t.children){var h=t.children;d(u,h,0,h.length,n,null,i),"select"===t.tag&&null!=s&&function(e,t){if("value"in t){if(null===t.value)-1!==e.dom.selectedIndex&&(e.dom.value=null);else{var n=""+t.value;(e.dom.value!==n||-1===e.dom.selectedIndex)&&(e.dom.value=n)}}"selectedIndex"in t&&C(e,"selectedIndex",null,t.selectedIndex,void 0)}(t,s)}})(e,t,n,r,o)}else(function(e,t,n,r,o){!function(e,t){var n;if("function"==typeof e.tag.view){if(e.state=Object.create(e.tag),null!=(n=e.state.view).$$reentrantLock$$)return;n.$$reentrantLock$$=!0}else{if(e.state=void 0,null!=(n=e.tag).$$reentrantLock$$)return;n.$$reentrantLock$$=!0,e.state=null!=e.tag.prototype&&"function"==typeof e.tag.prototype.view?new e.tag(e):e.tag(e)}if(R(e.state,e,t),null!=e.attrs&&R(e.attrs,e,t),e.instance=i.normalize(u.call(e.state.view,e)),e.instance===e)throw Error("A view cannot return the vnode it received as argument");n.$$reentrantLock$$=null}(t,n),null!=t.instance?(p(e,t.instance,n,r,o),t.dom=t.instance.dom,t.domSize=null!=t.dom?t.instance.domSize:0):t.domSize=0})(e,t,n,r,o)}var f={caption:"table",thead:"table",tbody:"table",tfoot:"table",tr:"tbody",th:"tr",td:"tr",colgroup:"table",col:"colgroup"};function m(e,t,n,i){var r,o=t.children.match(/^\s*?<(\w+)/im)||[],s=a(e).createElement(f[o[1]]||"div");"http://www.w3.org/2000/svg"===n?(s.innerHTML='<svg xmlns="http://www.w3.org/2000/svg">'+t.children+"</svg>",s=s.firstChild):s.innerHTML=t.children,t.dom=s.firstChild,t.domSize=s.childNodes.length;for(var l=a(e).createDocumentFragment();r=s.firstChild;)l.appendChild(r);_(e,l,i)}function g(e,t,n,i,r,o){if(t!==n&&(null!=t||null!=n))if(null==t||0===t.length)d(e,n,0,n.length,i,r,o);else if(null==n||0===n.length)x(e,t,0,t.length);else{var s=null!=t[0]&&null!=t[0].key,a=null!=n[0]&&null!=n[0].key,l=0,c=0;if(!s)for(;c<t.length&&null==t[c];)c++;if(!a)for(;l<n.length&&null==n[l];)l++;if(s!==a)x(e,t,c,t.length),d(e,n,l,n.length,i,r,o);else if(a){for(var u,h,f,m,g,_,E=t.length-1,T=n.length-1;E>=c&&T>=l&&(m=t[E],g=n[T],m.key===g.key);){;m!==g&&v(e,m,g,i,r,o),null!=g.dom&&(r=g.dom),E--,T--}for(;E>=c&&T>=l&&(h=t[c],f=n[l],h.key===f.key);){;c++,l++,h!==f&&v(e,h,f,i,b(t,c,r),o)}for(;E>=c&&T>=l&&l!==T&&h.key===g.key&&m.key===f.key;){;w(e,m,_=b(t,c,r)),m!==f&&v(e,m,f,i,_,o),++l<=--T&&w(e,h,r),h!==g&&v(e,h,g,i,r,o),null!=g.dom&&(r=g.dom),c++,m=t[--E],g=n[T],h=t[c],f=n[l]}for(;E>=c&&T>=l&&m.key===g.key;){;m!==g&&v(e,m,g,i,r,o),null!=g.dom&&(r=g.dom),E--,T--,m=t[E],g=n[T]}if(l>T)x(e,t,c,E+1);else if(c>E)d(e,n,l,T+1,i,r,o);else{var u,O,C=r,A=T-l+1,S=Array(A),N=0,I=0,L=0x7fffffff,R=0;for(I=0;I<A;I++)S[I]=-1;for(I=T;I>=l;I--){null==u&&(u=function(e,t,n){for(var i=Object.create(null);t<n;t++){var r=e[t];if(null!=r){var o=r.key;null!=o&&(i[o]=t)}}return i}(t,c,E+1));var P=u[(g=n[I]).key];null!=P&&(L=P<L?P:-1,S[I-l]=P,m=t[P],t[P]=null,m!==g&&v(e,m,g,i,r,o),null!=g.dom&&(r=g.dom),R++)}if(r=C,R!==E-c+1&&x(e,t,c,E+1),0===R)d(e,n,l,T+1,i,r,o);else if(-1===L)for(N=(O=function(e){for(var t=[0],n=0,i=0,r=0,o=y.length=e.length,r=0;r<o;r++)y[r]=e[r];for(var r=0;r<o;++r)if(-1!==e[r]){var s=t[t.length-1];if(e[s]<e[r]){y[r]=s,t.push(r);continue}for(n=0,i=t.length-1;n<i;){var a=(n>>>1)+(i>>>1)+(n&i&1);e[t[a]]<e[r]?n=a+1:i=a}e[r]<e[t[n]]&&(n>0&&(y[r]=t[n-1]),t[n]=r)}for(n=t.length,i=t[n-1];n-- >0;)t[n]=i,i=y[i];return y.length=0,t}(S)).length-1,I=T;I>=l;I--)f=n[I],-1===S[I-l]?p(e,f,i,o,r):O[N]===I-l?N--:w(e,f,r),null!=f.dom&&(r=n[I].dom);else for(I=T;I>=l;I--)f=n[I],-1===S[I-l]&&p(e,f,i,o,r),null!=f.dom&&(r=n[I].dom)}}else{var D=t.length<n.length?t.length:n.length;for(l=l<c?l:c;l<D;l++){if(h=t[l],h!==(f=n[l])&&(null!=h||null!=f))null==h?p(e,f,i,o,b(t,l+1,r)):null==f?k(e,h):v(e,h,f,i,b(t,l+1,r),o)}t.length>D&&x(e,t,l,t.length),n.length>D&&d(e,n,l,n.length,i,r,o)}}}function v(e,t,n,r,o,s){var a=t.tag;if(a===n.tag){if(n.state=t.state,n.events=t.events,function(e,t){do{if(null!=e.attrs&&"function"==typeof e.attrs.onbeforeupdate){var n=u.call(e.attrs.onbeforeupdate,e,t);if(void 0!==n&&!n)break}if("string"!=typeof e.tag&&"function"==typeof e.state.onbeforeupdate){var n=u.call(e.state.onbeforeupdate,e,t);if(void 0!==n&&!n)break}return!1}while(!1);return e.dom=t.dom,e.domSize=t.domSize,e.instance=t.instance,e.attrs=t.attrs,e.children=t.children,e.text=t.text,!0}(n,t))return;if("string"==typeof a)switch(null!=n.attrs&&P(n.attrs,n,r),a){case"#":(function(e,t){e.children.toString()!==t.children.toString()&&(e.dom.nodeValue=t.children),t.dom=e.dom})(t,n);break;case"<":(function(e,t,n,i,r){t.children!==n.children?(T(e,t,void 0),m(e,n,i,r)):(n.dom=t.dom,n.domSize=t.domSize)})(e,t,n,s,o);break;case"[":(function(e,t,n,i,r,o){g(e,t.children,n.children,i,r,o);var s=0,a=n.children;if(n.dom=null,null!=a){for(var l=0;l<a.length;l++){var c=a[l];null!=c&&null!=c.dom&&(null==n.dom&&(n.dom=c.dom),s+=c.domSize||1)}1!==s&&(n.domSize=s)}})(e,t,n,r,o,s);break;default:(function(e,t,n,i){var r=t.dom=e.dom;i=l(t)||i,function(e,t,n,i){var r;if(t&&t===n&&console.warn("Don't reuse attrs object, use new object for every redraw, this will throw in next major"),null!=n)for(var o in n)C(e,o,t&&t[o],n[o],i);if(null!=t)for(var o in t)null!=(r=t[o])&&(null==n||null==n[o])&&!function(e,t,n,i){if(!("key"===t||"is"===t||null==n||A(t))){if("o"===t[0]&&"n"===t[1])L(e,t,void 0);else if("style"===t)N(e.dom,n,null);else if(!S(e,t,i)||"className"===t||"title"===t||"value"===t&&("option"===e.tag||"select"===e.tag&&-1===e.dom.selectedIndex&&e.dom===h(e.dom))||"input"===e.tag&&"type"===t){var r=t.indexOf(":");-1!==r&&(t=t.slice(r+1)),!1!==n&&e.dom.removeAttribute("className"===t?"class":t)}else e.dom[t]=null}}(e,o,r,i)}(t,e.attrs,t.attrs,i),!E(t)&&g(r,e.children,t.children,n,null,i)})(t,n,r,s)}else(function(e,t,n,r,o,s){if(n.instance=i.normalize(u.call(n.state.view,n)),n.instance===n)throw Error("A view cannot return the vnode it received as argument");P(n.state,n,r),null!=n.attrs&&P(n.attrs,n,r),null!=n.instance?(null==t.instance?p(e,n.instance,r,s,o):v(e,t.instance,n.instance,r,o,s),n.dom=n.instance.dom,n.domSize=n.instance.domSize):null!=t.instance?(k(e,t.instance),n.dom=void 0,n.domSize=0):(n.dom=t.dom,n.domSize=t.domSize)})(e,t,n,r,o,s)}else k(e,t),p(e,n,r,s,o)}var y=[];function b(e,t,n){for(;t<e.length;t++)if(null!=e[t]&&null!=e[t].dom)return e[t].dom;return n}function w(e,t,n){if(null!=t.dom){var i;if(null==t.domSize)i=t.dom;else for(var r of(i=a(e).createDocumentFragment(),s(t)))i.appendChild(r);_(e,i,n)}}function _(e,t,n){null!=n?e.insertBefore(t,n):e.appendChild(t)}function E(e){if(null==e.attrs||null==e.attrs.contenteditable&&null==e.attrs.contentEditable)return!1;var t=e.children;if(null!=t&&1===t.length&&"<"===t[0].tag){var n=t[0].children;e.dom.innerHTML!==n&&(e.dom.innerHTML=n)}else if(null!=t&&0!==t.length)throw Error("Child node of a contenteditable must be trusted.");return!0}function x(e,t,n,i){for(var r=n;r<i;r++){var o=t[r];null!=o&&k(e,o)}}function k(e,n){var i,r,a,l=0,h=n.state;if("string"!=typeof n.tag&&"function"==typeof n.state.onbeforeremove){var d=u.call(n.state.onbeforeremove,n);null!=d&&"function"==typeof d.then&&(l=1,i=d)}if(n.attrs&&"function"==typeof n.attrs.onbeforeremove){var d=u.call(n.attrs.onbeforeremove,n);null!=d&&"function"==typeof d.then&&(l|=2,r=d)}if(c(n,h),l){for(var p of(a=t,s(n)))o.set(p,a);null!=i&&i.finally(function(){1&l&&!(l&=2)&&(c(n,h),O(n),T(e,n,a))}),null!=r&&r.finally(function(){2&l&&!(l&=1)&&(c(n,h),O(n),T(e,n,a))})}else O(n),T(e,n,a)}function T(e,t,n){if(null!=t.dom){if(null==t.domSize)o.get(t.dom)===n&&e.removeChild(t.dom);else for(var i of s(t,{generation:n}))e.removeChild(i)}}function O(e){if("string"!=typeof e.tag&&"function"==typeof e.state.onremove&&u.call(e.state.onremove,e),e.attrs&&"function"==typeof e.attrs.onremove&&u.call(e.attrs.onremove,e),"string"!=typeof e.tag)null!=e.instance&&O(e.instance);else{var t=e.children;if(Array.isArray(t))for(var n=0;n<t.length;n++){var i=t[n];null!=i&&O(i)}}}function C(e,t,n,i,r){if(!("key"===t||"is"===t||null==i||A(t))&&(n!==i||function(e,t){return"value"===t||"checked"===t||"selectedIndex"===t||"selected"===t&&e.dom===h(e.dom)||"option"===e.tag&&e.dom.parentNode===h(e.dom)}(e,t)||"object"==typeof i)){if("o"===t[0]&&"n"===t[1])return L(e,t,i);if("xlink:"===t.slice(0,6))e.dom.setAttributeNS("http://www.w3.org/1999/xlink",t.slice(6),i);else if("style"===t)N(e.dom,n,i);else if(S(e,t,r)){if("value"===t){var o="input"===e.tag&&"file"===e.attrs.type;if(("input"===e.tag||"textarea"===e.tag)&&e.dom.value===""+i&&(o||e.dom===h(e.dom))||"select"===e.tag&&null!==n&&e.dom.value===""+i||"option"===e.tag&&null!==n&&e.dom.value===""+i)return;if(o&&""+i!=""){console.error("`value` is read-only on file inputs!");return}}"input"===e.tag&&"type"===t?e.dom.setAttribute(t,i):e.dom[t]=i}else"boolean"==typeof i?i?e.dom.setAttribute(t,""):e.dom.removeAttribute(t):e.dom.setAttribute("className"===t?"class":t,i)}}function A(e){return"oninit"===e||"oncreate"===e||"onupdate"===e||"onremove"===e||"onbeforeremove"===e||"onbeforeupdate"===e}function S(e,t,n){return void 0===n&&(e.tag.indexOf("-")>-1||null!=e.attrs&&e.attrs.is||"href"!==t&&"list"!==t&&"form"!==t&&"width"!==t&&"height"!==t)&&t in e.dom}function N(e,t,n){if(t===n);else if(null==n)e.style="";else if("object"!=typeof n)e.style=n;else if(null==t||"object"!=typeof t)for(var i in e.style.cssText="",n){var r=n[i];null!=r&&(i.includes("-")?e.style.setProperty(i,String(r)):e.style[i]=String(r))}else{for(var i in n){var r=n[i];null!=r&&(r=String(r))!==String(t[i])&&(i.includes("-")?e.style.setProperty(i,r):e.style[i]=r)}for(var i in t)null!=t[i]&&null==n[i]&&(i.includes("-")?e.style.removeProperty(i):e.style[i]="")}}function I(){this._=e}function L(t,n,i){null!=t.events?(t.events._=e,t.events[n]!==i&&(null!=i&&("function"==typeof i||"object"==typeof i)?(null==t.events[n]&&t.dom.addEventListener(n.slice(2),t.events,!1),t.events[n]=i):(null!=t.events[n]&&t.dom.removeEventListener(n.slice(2),t.events,!1),t.events[n]=void 0))):null!=i&&("function"==typeof i||"object"==typeof i)&&(t.events=new I,t.dom.addEventListener(n.slice(2),t.events,!1),t.events[n]=i)}function R(e,t,n){"function"==typeof e.oninit&&u.call(e.oninit,t),"function"==typeof e.oncreate&&n.push(u.bind(e.oncreate,t))}function P(e,t,n){"function"==typeof e.onupdate&&n.push(u.bind(e.onupdate,t))}return I.prototype=Object.create(null),I.prototype.handleEvent=function(e){var t,n=this["on"+e.type];"function"==typeof n?t=n.call(e.currentTarget,e):"function"==typeof n.handleEvent&&n.handleEvent(e),this._&&!1!==e.redraw&&(0,this._)(),!1===t&&(e.preventDefault(),e.stopPropagation())},function(r,o,s){if(!r)throw TypeError("DOM element being rendered to does not exist.");if(null!=n&&r.contains(n))throw TypeError("Node is currently being rendered to and thus is locked.");var a=e,l=n,c=[],u=h(r),d=r.namespaceURI;n=r,e="function"==typeof s?s:void 0,t={};try{null==r.vnodes&&(r.textContent=""),o=i.normalizeChildren(Array.isArray(o)?o:[o]),g(r,r.vnodes,o,c,null,"http://www.w3.org/1999/xhtml"===d?void 0:d),r.vnodes=o,null!=u&&h(r)!==u&&"function"==typeof u.focus&&u.focus();for(var p=0;p<c.length;p++)c[p]()}finally{e=a,n=l}}}},6013:function(e,t,n){"use strict";var i=n(1132);e.exports=function(e){return null==e&&(e=""),i("<",void 0,void 0,e,void 0,void 0)}},1132:function(e){"use strict";function t(e,t,n,i,r,o){return{tag:e,key:t,attrs:n,children:i,text:r,dom:o,domSize:void 0,state:void 0,events:void 0,instance:void 0}}t.normalize=function(e){return Array.isArray(e)?t("[",void 0,void 0,t.normalizeChildren(e),void 0,void 0):null==e||"boolean"==typeof e?null:"object"==typeof e?e:t("#",void 0,void 0,String(e),void 0,void 0)},t.normalizeChildren=function(e){var n=[];if(e.length){for(var i=null!=e[0]&&null!=e[0].key,r=1;r<e.length;r++)if((null!=e[r]&&null!=e[r].key)!==i)throw TypeError(i&&(null!=e[r]||"boolean"==typeof e[r])?"In fragments, vnodes must either all have keys or none have keys. You may wish to consider using an explicit keyed empty fragment, m.fragment({key: ...}), instead of a hole.":"In fragments, vnodes must either all have keys or none have keys.");for(var r=0;r<e.length;r++)n[r]=t.normalize(e[r])}return n},e.exports=t},5941:function(e,t,n){"use strict";var i=n(9691);e.exports=n(406)("undefined"!=typeof window?window:null,i.redraw)},406:function(e,t,n){"use strict";var i=n(7265),r=n(9781);e.exports=function(e,t){function n(e){return new Promise(e)}function o(e,t){for(var n in e.headers)if(r.call(e.headers,n)&&n.toLowerCase()===t)return!0;return!1}return n.prototype=Promise.prototype,n.__proto__=Promise,{request:function(s,a){"string"!=typeof s?(a=s,s=s.url):null==a&&(a={});var l,c,u=(l=s,c=a,new Promise(function(t,n){l=i(l,c.params);var s=null!=c.method?c.method.toUpperCase():"GET",a=c.body,u=(null==c.serialize||c.serialize===JSON.serialize)&&!(a instanceof e.FormData||a instanceof e.URLSearchParams),h=c.responseType||("function"==typeof c.extract?"":"json"),d=new e.XMLHttpRequest,p=!1,f=!1,m,g=d,v=d.abort;for(var y in d.abort=function(){p=!0,v.call(this)},d.open(s,l,!1!==c.async,"string"==typeof c.user?c.user:void 0,"string"==typeof c.password?c.password:void 0),u&&null!=a&&!o(c,"content-type")&&d.setRequestHeader("Content-Type","application/json; charset=utf-8"),"function"!=typeof c.deserialize&&!o(c,"accept")&&d.setRequestHeader("Accept","application/json, text/*"),c.withCredentials&&(d.withCredentials=c.withCredentials),c.timeout&&(d.timeout=c.timeout),d.responseType=h,c.headers)r.call(c.headers,y)&&d.setRequestHeader(y,c.headers[y]);d.onreadystatechange=function(e){if(!p&&4===e.target.readyState)try{var i,r=e.target.status>=200&&e.target.status<300||304===e.target.status||/^file:\/\//i.test(l),o=e.target.response;if("json"===h){if(!e.target.responseType&&"function"!=typeof c.extract)try{o=JSON.parse(e.target.responseText)}catch(e){o=null}}else(!h||"text"===h)&&null==o&&(o=e.target.responseText);if("function"==typeof c.extract?(o=c.extract(e.target,c),r=!0):"function"==typeof c.deserialize&&(o=c.deserialize(o)),r){if("function"==typeof c.type){if(Array.isArray(o))for(var s=0;s<o.length;s++)o[s]=new c.type(o[s]);else o=new c.type(o)}t(o)}else{var a=function(){try{i=e.target.responseText}catch(e){i=o}var t=Error(i);t.code=e.target.status,t.response=o,n(t)};0===d.status?setTimeout(function(){!f&&a()}):a()}}catch(e){n(e)}},d.ontimeout=function(e){f=!0;var t=Error("Request timed out");t.code=e.target.status,n(t)},"function"==typeof c.config&&(d=c.config(d,c,l)||d)!==g&&(m=d.abort,d.abort=function(){p=!0,m.call(this)}),null==a?d.send():"function"==typeof c.serialize?d.send(c.serialize(a)):a instanceof e.FormData||a instanceof e.URLSearchParams?d.send(a):d.send(JSON.stringify(a))}));if(!0===a.background)return u;var h=0;function d(){0==--h&&"function"==typeof t&&t()}return function e(t){var i=t.then;return t.constructor=n,t.then=function(){h++;var n=i.apply(t,arguments);return n.then(d,function(e){if(d(),0===h)throw e}),e(n)},t}(u)}}}},4878:function(e,t,n){"use strict";var i=n(9691);e.exports=n(7966)("undefined"!=typeof window?window:null,i)},8858:function(e,t,n){"use strict";var i=n(9781),r=RegExp("^(?:key|oninit|oncreate|onbeforeupdate|onupdate|onbeforeremove|onremove)$");e.exports=function(e,t){var n={};if(null!=t)for(var o in e)i.call(e,o)&&!r.test(o)&&0>t.indexOf(o)&&(n[o]=e[o]);else for(var o in e)i.call(e,o)&&!r.test(o)&&(n[o]=e[o]);return n}},9781:function(e){"use strict";e.exports=({}).hasOwnProperty},301:function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(2323),s=n(5899);(r=i||(i={})).compose=function(e={},t={},n=!1){"object"!=typeof e&&(e={}),"object"!=typeof t&&(t={});let i=o(t);for(let r in!n&&(i=Object.keys(i).reduce((e,t)=>(null!=i[t]&&(e[t]=i[t]),e),{})),e)void 0!==e[r]&&void 0===t[r]&&(i[r]=e[r]);return Object.keys(i).length>0?i:void 0},r.diff=function(e={},t={}){"object"!=typeof e&&(e={}),"object"!=typeof t&&(t={});let n=Object.keys(e).concat(Object.keys(t)).reduce((n,i)=>(!s(e[i],t[i])&&(n[i]=void 0===t[i]?null:t[i]),n),{});return Object.keys(n).length>0?n:void 0},r.invert=function(e={},t={}){e=e||{};let n=Object.keys(t).reduce((n,i)=>(t[i]!==e[i]&&void 0!==e[i]&&(n[i]=t[i]),n),{});return Object.keys(e).reduce((n,i)=>(e[i]!==t[i]&&void 0===t[i]&&(n[i]=null),n),n)},r.transform=function(e,t,n=!1){if("object"!=typeof e)return t;if("object"!=typeof t)return;if(!n)return t;let i=Object.keys(t).reduce((n,i)=>(void 0===e[i]&&(n[i]=t[i]),n),{});return Object.keys(i).length>0?i:void 0},t.default=i},3258:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AttributeMap=t.OpIterator=t.Op=void 0;let i=n(2158),r=n(2323),o=n(5899),s=n(301);t.AttributeMap=s.default;let a=n(8133);t.Op=a.default;let l=n(7316);t.OpIterator=l.default;let c=(e,t)=>{if("object"!=typeof e||null===e)throw Error(`cannot retain a ${typeof e}`);if("object"!=typeof t||null===t)throw Error(`cannot retain a ${typeof t}`);let n=Object.keys(e)[0];if(!n||n!==Object.keys(t)[0])throw Error(`embed types not matched: ${n} != ${Object.keys(t)[0]}`);return[n,e[n],t[n]]};class u{constructor(e){Array.isArray(e)?this.ops=e:null!=e&&Array.isArray(e.ops)?this.ops=e.ops:this.ops=[]}static registerEmbed(e,t){this.handlers[e]=t}static unregisterEmbed(e){delete this.handlers[e]}static getHandler(e){let t=this.handlers[e];if(!t)throw Error(`no handlers for embed type "${e}"`);return t}insert(e,t){let n={};return"string"==typeof e&&0===e.length?this:(n.insert=e,null!=t&&"object"==typeof t&&Object.keys(t).length>0&&(n.attributes=t),this.push(n))}delete(e){return e<=0?this:this.push({delete:e})}retain(e,t){if("number"==typeof e&&e<=0)return this;let n={retain:e};return null!=t&&"object"==typeof t&&Object.keys(t).length>0&&(n.attributes=t),this.push(n)}push(e){let t=this.ops.length,n=this.ops[t-1];if(e=r(e),"object"==typeof n){if("number"==typeof e.delete&&"number"==typeof n.delete)return this.ops[t-1]={delete:n.delete+e.delete},this;if("number"==typeof n.delete&&null!=e.insert&&(t-=1,"object"!=typeof(n=this.ops[t-1])))return this.ops.unshift(e),this;if(o(e.attributes,n.attributes)){if("string"==typeof e.insert&&"string"==typeof n.insert)return this.ops[t-1]={insert:n.insert+e.insert},"object"==typeof e.attributes&&(this.ops[t-1].attributes=e.attributes),this;if("number"==typeof e.retain&&"number"==typeof n.retain)return this.ops[t-1]={retain:n.retain+e.retain},"object"==typeof e.attributes&&(this.ops[t-1].attributes=e.attributes),this}}return t===this.ops.length?this.ops.push(e):this.ops.splice(t,0,e),this}chop(){let e=this.ops[this.ops.length-1];return e&&"number"==typeof e.retain&&!e.attributes&&this.ops.pop(),this}filter(e){return this.ops.filter(e)}forEach(e){this.ops.forEach(e)}map(e){return this.ops.map(e)}partition(e){let t=[],n=[];return this.forEach(i=>{(e(i)?t:n).push(i)}),[t,n]}reduce(e,t){return this.ops.reduce(e,t)}changeLength(){return this.reduce((e,t)=>t.insert?e+a.default.length(t):t.delete?e-t.delete:e,0)}length(){return this.reduce((e,t)=>e+a.default.length(t),0)}slice(e=0,t=1/0){let n=[],i=new l.default(this.ops),r=0;for(;r<t&&i.hasNext();){let o;r<e?o=i.next(e-r):(o=i.next(t-r),n.push(o)),r+=a.default.length(o)}return new u(n)}compose(e){let t=new l.default(this.ops),n=new l.default(e.ops),i=[],r=n.peek();if(null!=r&&"number"==typeof r.retain&&null==r.attributes){let e=r.retain;for(;"insert"===t.peekType()&&t.peekLength()<=e;)e-=t.peekLength(),i.push(t.next());r.retain-e>0&&n.next(r.retain-e)}let a=new u(i);for(;t.hasNext()||n.hasNext();)if("insert"===n.peekType())a.push(n.next());else if("delete"===t.peekType())a.push(t.next());else{let e=Math.min(t.peekLength(),n.peekLength()),i=t.next(e),r=n.next(e);if(r.retain){let l={};if("number"==typeof i.retain)l.retain="number"==typeof r.retain?e:r.retain;else if("number"==typeof r.retain)null==i.retain?l.insert=i.insert:l.retain=i.retain;else{let e=null==i.retain?"insert":"retain",[t,n,o]=c(i[e],r.retain),s=u.getHandler(t);l[e]={[t]:s.compose(n,o,"retain"===e)}}let h=s.default.compose(i.attributes,r.attributes,"number"==typeof i.retain);if(h&&(l.attributes=h),a.push(l),!n.hasNext()&&o(a.ops[a.ops.length-1],l)){let e=new u(t.rest());return a.concat(e).chop()}}else"number"==typeof r.delete&&("number"==typeof i.retain||"object"==typeof i.retain&&null!==i.retain)&&a.push(r)}return a.chop()}concat(e){let t=new u(this.ops.slice());return e.ops.length>0&&(t.push(e.ops[0]),t.ops=t.ops.concat(e.ops.slice(1))),t}diff(e,t){if(this.ops===e.ops)return new u;let n=[this,e].map(t=>t.map(n=>{if(null!=n.insert)return"string"==typeof n.insert?n.insert:"\0";throw Error("diff() called "+(t===e?"on":"with")+" non-document")}).join("")),r=new u,a=i(n[0],n[1],t,!0),c=new l.default(this.ops),h=new l.default(e.ops);return a.forEach(e=>{let t=e[1].length;for(;t>0;){let n=0;switch(e[0]){case i.INSERT:n=Math.min(h.peekLength(),t),r.push(h.next(n));break;case i.DELETE:n=Math.min(t,c.peekLength()),c.next(n),r.delete(n);break;case i.EQUAL:n=Math.min(c.peekLength(),h.peekLength(),t);let a=c.next(n),l=h.next(n);o(a.insert,l.insert)?r.retain(n,s.default.diff(a.attributes,l.attributes)):r.push(l).delete(n)}t-=n}}),r.chop()}eachLine(e,t="\n"){let n=new l.default(this.ops),i=new u,r=0;for(;n.hasNext();){if("insert"!==n.peekType())return;let o=n.peek(),s=a.default.length(o)-n.peekLength(),l="string"==typeof o.insert?o.insert.indexOf(t,s)-s:-1;if(l<0)i.push(n.next());else if(l>0)i.push(n.next(l));else{if(!1===e(i,n.next(1).attributes||{},r))return;r+=1,i=new u}}i.length()>0&&e(i,{},r)}invert(e){let t=new u;return this.reduce((n,i)=>{if(i.insert)t.delete(a.default.length(i));else if("number"==typeof i.retain&&null==i.attributes)return t.retain(i.retain),n+i.retain;else if(i.delete||"number"==typeof i.retain){let r=i.delete||i.retain;return e.slice(n,n+r).forEach(e=>{i.delete?t.push(e):i.retain&&i.attributes&&t.retain(a.default.length(e),s.default.invert(i.attributes,e.attributes))}),n+r}else if("object"==typeof i.retain&&null!==i.retain){let r=e.slice(n,n+1),o=new l.default(r.ops).next(),[a,h,d]=c(i.retain,o.insert),p=u.getHandler(a);return t.retain({[a]:p.invert(h,d)},s.default.invert(i.attributes,o.attributes)),n+1}return n},0),t.chop()}transform(e,t=!1){if(t=!!t,"number"==typeof e)return this.transformPosition(e,t);let n=new l.default(this.ops),i=new l.default(e.ops),r=new u;for(;n.hasNext()||i.hasNext();)if("insert"===n.peekType()&&(t||"insert"!==i.peekType()))r.retain(a.default.length(n.next()));else if("insert"===i.peekType())r.push(i.next());else{let e=Math.min(n.peekLength(),i.peekLength()),o=n.next(e),a=i.next(e);if(o.delete)continue;if(a.delete)r.push(a);else{let n=o.retain,i=a.retain,l="object"==typeof i&&null!==i?i:e;if("object"==typeof n&&null!==n&&"object"==typeof i&&null!==i){let e=Object.keys(n)[0];if(e===Object.keys(i)[0]){let r=u.getHandler(e);r&&(l={[e]:r.transform(n[e],i[e],t)})}}r.retain(l,s.default.transform(o.attributes,a.attributes,t))}}return r.chop()}transformPosition(e,t=!1){t=!!t;let n=new l.default(this.ops),i=0;for(;n.hasNext()&&i<=e;){let r=n.peekLength(),o=n.peekType();if(n.next(),"delete"===o){e-=Math.min(r,e-i);continue}"insert"===o&&(i<e||!t)&&(e+=r);i+=r}return e}}u.Op=a.default,u.OpIterator=l.default,u.AttributeMap=s.default,u.handlers={},t.default=u;e.exports=u,e.exports.default=u},8133:function(e,t){"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),(n||(n={})).length=function(e){if("number"==typeof e.delete)return e.delete;if("number"==typeof e.retain)return e.retain;if("object"==typeof e.retain&&null!==e.retain)return 1;else return"string"==typeof e.insert?e.insert.length:1},t.default=n},7316:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(8133);t.default=class e{constructor(e){this.ops=e,this.index=0,this.offset=0}hasNext(){return this.peekLength()<1/0}next(e){!e&&(e=1/0);let t=this.ops[this.index];if(!t)return{retain:1/0};{let n=this.offset,r=i.default.length(t);if(e>=r-n?(e=r-n,this.index+=1,this.offset=0):this.offset+=e,"number"==typeof t.delete)return{delete:e};{let i={};return t.attributes&&(i.attributes=t.attributes),"number"==typeof t.retain?i.retain=e:"object"==typeof t.retain&&null!==t.retain?i.retain=t.retain:"string"==typeof t.insert?i.insert=t.insert.substr(n,e):i.insert=t.insert,i}}}peek(){return this.ops[this.index]}peekLength(){return this.ops[this.index]?i.default.length(this.ops[this.index])-this.offset:1/0}peekType(){let e=this.ops[this.index];if(e){if("number"==typeof e.delete)return"delete";if("number"!=typeof e.retain&&("object"!=typeof e.retain||null===e.retain))return"insert"}return"retain"}rest(){if(!this.hasNext())return[];if(0===this.offset)return this.ops.slice(this.index);{let e=this.offset,t=this.index,n=this.next(),i=this.ops.slice(this.index);return this.offset=e,this.index=t,[n].concat(i)}}}},3205:function(e,t,n){var i,r;i=self,r=function(e){var t,n;return t={190:e=>{var t,n;self,e.exports=(t={607:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.parseQuillDelta=void 0;let n=!1;function i(e){e.paragraphs.push({textRuns:[]})}function r(e,t,n){var i,r;n?(null===(i=t.paragraphs[t.paragraphs.length-1].textRuns)||void 0===i||i.push({text:e,attributes:n}),n.link&&t.setup.hyperlinks.push({text:e,link:n.link})):null===(r=t.paragraphs[t.paragraphs.length-1].textRuns)||void 0===r||r.push({text:e})}t.parseQuillDelta=function(e){n=!1;let t={paragraphs:[],setup:{numberedLists:0,hyperlinks:[]}};for(let o of e.ops)(function(e,t){var o,s,a,l,c,u,h;e.insert.video||e.insert.image?(o=e,(s=t).paragraphs.push({embed:o.insert}),n=!1,i(s)):e.insert.formula?(a=e,0===(l=t).paragraphs.length&&i(l),null===(c=l.paragraphs[l.paragraphs.length-1].textRuns)||void 0===c||c.push({formula:a.insert.formula,attributes:a.attributes})):"\n"===e.insert?(u=e,h=t,u.attributes&&(h.paragraphs[h.paragraphs.length-1].attributes=u.attributes,"ordered"===u.attributes.list?n||(h.setup.numberedLists++,n=!0):n=!1),i(h)):function(e,t){if(0===t.paragraphs.length&&i(t),e.insert.match(/\n/))for(let o of e.insert.split(/(\n)/))"\n"===o?(i(t),n=!1):r(o,t);else r(e.insert,t,e.attributes)}(e,t)})(o,t);return t}}},n={},function e(i){if(n[i])return n[i].exports;var r=n[i]={exports:{}};return t[i](r,r.exports,e),r.exports}(607))},829:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultNumbering=t.customBulletLevels=t.customNumberedLevels=t.defaultStyles=void 0;let i=n(687);t.defaultStyles=[{id:"normal",name:"Normal",next:"normal",basedOn:"normal",quickFormat:!0,run:{size:24},paragraph:{spacing:{line:480,before:0,after:0}}},{id:"header_1",name:"Heading 1",next:"normal",quickFormat:!0,run:{font:"Calibri",size:30,bold:!0},paragraph:{spacing:{before:300,after:200}}},{id:"header_2",name:"Heading 2",basedOn:"normal",next:"normal",quickFormat:!0,run:{font:"Calibri",size:26,bold:!0},paragraph:{spacing:{before:200,after:100}}},{id:"list_paragraph",name:"List Paragraph",basedOn:"normal",quickFormat:!0,run:{size:24}},{id:"code_block",name:"Code Block",basedOn:"normal",quickFormat:!0,run:{size:24,font:"Courier New"},paragraph:{indent:{left:720,right:720}}},{id:"block_quote",name:"Block Quote",basedOn:"normal",quickFormat:!0,run:{italics:!0},paragraph:{indent:{left:540},border:{left:{size:12,space:28,color:"333333",value:"single"}}}},{id:"citation",name:"Citation",basedOn:"normal",quickFormat:!0,run:{size:24},paragraph:{indent:{left:0,hanging:320},spacing:{line:480}}}],t.customNumberedLevels=[{level:0,format:"decimal",text:"%1.",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:720,hanging:360}}}},{level:1,format:"lowerLetter",text:"%2.",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:1440,hanging:360}}}},{level:2,format:"lowerRoman",text:"%3.",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:2160,hanging:360}}}},{level:3,format:"decimal",text:"%4.",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:2880,hanging:360}}}},{level:4,format:"lowerLetter",text:"%5.",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:3600,hanging:360}}}},{level:3,format:"lowerRoman",text:"%5.",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:4320,hanging:360}}}}],t.customBulletLevels=[{level:0,format:"bullet",text:"•",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:720,hanging:360}}}},{level:1,format:"bullet",text:"•",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:1440,hanging:360}}}},{level:2,format:"bullet",text:"•",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:2160,hanging:360}}}},{level:3,format:"bullet",text:"•",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:2880,hanging:360}}}},{level:4,format:"bullet",text:"•",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:3600,hanging:360}}}},{level:3,format:"bullet",text:"•",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:4320,hanging:360}}}}],t.defaultNumbering={config:[{reference:"default-numbering",levels:t.customNumberedLevels}]}},35:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return r(t,e),t},s=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{l(i.next(e))}catch(e){o(e)}}function a(e){try{l(i.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?r(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(s,a)}l((i=i.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0}),t.generateWord=void 0;let a=n(190),l=o(n(687)),c=n(687),u=n(829),h=0,d=-1,p=u.defaultStyles,f=u.customNumberedLevels,m=!1;function g(e,t,n){e.paragraph&&(p[n].paragraph=e.paragraph),e.run&&(p[n].run=e.run)}t.generateWord=function(e,t){return s(this,void 0,void 0,function*(){var n,i,r;let o,v,y;h=0,d=-1,m=!1;let b=[],w=[];if(e.ops){let t=a.parseQuillDelta(e);w.push(t)}else if(Array.isArray(e))for(let t of e)w.push(t);else{if(!e.paragraphs)throw Error("Please provide a raw Quill Delta, a parsed Quill delta, or an Array of parsed Quill deltas. See QuillTodocx readme.");w.push(e)}for(let e of(n=w[0],i=t,p=u.defaultStyles,f=u.customNumberedLevels,i&&((r=i).paragraphStyles&&function(e){if(e.normal){let t=p.findIndex(e=>"normal"===e.id);g(e.normal,0,t)}if(e.header_1){let t=p.findIndex(e=>"header_1"===e.id);g(e.header_1,0,t)}if(e.header_2){let t=p.findIndex(e=>"header_2"===e.id);g(e.header_2,0,t)}if(e.list_paragraph){let t=p.findIndex(e=>"list_paragraph"===e.id);g(e.list_paragraph,0,t)}if(e.code_block){let t=p.findIndex(e=>"code_block"===e.id);g(e.code_block,0,t)}if(e.block_quote){let t=p.findIndex(e=>"block_quote"===e.id);g(e.block_quote,0,t)}if(e.citation){let t=p.findIndex(e=>"citation"===e.id);g(e.citation,0,t)}}(r.paragraphStyles),r.customLevels&&(f=r.customLevels)),n.setup.hyperlinks.length>0&&(v=function(e){let t={},n=0;for(let i of e){let e={link:i.link,text:i.text,type:c.HyperlinkType.EXTERNAL};t=Object.assign(Object.assign({},t),{[`link${n}`]:e}),n++}return t}(n.setup.hyperlinks)),n.setup.numberedLists>0&&(y=function(e){let t=[],n=0;for(;n<e;){let e={reference:`numbered_${n}`,levels:f};t.push(e),n++}return{config:t}}(n.setup.numberedLists)),(null==i?void 0:i.customBulletLevels)&&(y=function(e,t){let n={reference:"customBullets",levels:t};return e?(e.config.push(n),e):{config:[n]}}(y,i.customBulletLevels),m=!0),o=new l.Document({styles:{paragraphStyles:p},numbering:y,hyperlinks:v}),w))b.push(function(e,t){var n,i,r,o,s;let a=0,u=[];for(let p of e){if(null===(n=p.embed)||void 0===n?void 0:n.image){let e=c.Media.addImage(t,p.embed.image);u.push(new c.Paragraph(e))}else if(null===(i=p.embed)||void 0===i?void 0:i.video){let e=(s=p.embed.video,new c.TextRun({text:s}));u.push(new c.Paragraph({children:[e]}))}else p.textRuns&&(a>0&&"ordered"===(null===(r=p.attributes)||void 0===r?void 0:r.list)&&("ordered"===(null===(o=e[a-1].attributes)||void 0===o?void 0:o.list)?d:d++),u.push(function(e){var t,n,i,r,o,s,a,u,p,f,g,v,y;let b=[];for(let t of e.textRuns)t.formula?b.push((y=t.formula,new c.TextRun({text:y}))):t.text&&b.push(function(e,t){var n,i,r,o,s,a,l,u,d,p,f,m,g;let v;return(null===(n=e.attributes)||void 0===n?void 0:n.link)?(v=new c.HyperlinkRef(`link${h}`),h++):v=new c.TextRun({text:e.text,bold:!!(null===(i=e.attributes)||void 0===i?void 0:i.bold),italics:!!(null===(r=e.attributes)||void 0===r?void 0:r.italic),subScript:"sub"===(null===(o=e.attributes)||void 0===o?void 0:o.script),superScript:"super"===(null===(s=e.attributes)||void 0===s?void 0:s.script),strike:!!(null===(a=e.attributes)||void 0===a?void 0:a.strike),underline:(null===(l=e.attributes)||void 0===l?void 0:l.underline)?{type:c.UnderlineType.SINGLE,color:"auto"}:void 0,color:(null===(u=e.attributes)||void 0===u?void 0:u.color)?null===(d=e.attributes)||void 0===d?void 0:d.color.slice(1):void 0,size:"huge"===(null===(p=e.attributes)||void 0===p?void 0:p.size)?36:"large"===(null===(f=e.attributes)||void 0===f?void 0:f.size)?32:"small"===(null===(m=e.attributes)||void 0===m?void 0:m.size)?20:void 0,highlight:(null===(g=e.attributes)||void 0===g?void 0:g.background)?"yellow":void 0}),v}(t));return new c.Paragraph({children:b,heading:1===(null===(t=e.attributes)||void 0===t?void 0:t.header)?l.HeadingLevel.HEADING_1:2===(null===(n=e.attributes)||void 0===n?void 0:n.header)?l.HeadingLevel.HEADING_2:void 0,bullet:"bullet"!==(null===(i=e.attributes)||void 0===i?void 0:i.list)||m?void 0:{level:e.attributes.indent?e.attributes.indent:0},numbering:"ordered"===(null===(r=e.attributes)||void 0===r?void 0:r.list)?{reference:`numbered_${d}`,level:e.attributes.indent?e.attributes.indent:0}:"bullet"===(null===(o=e.attributes)||void 0===o?void 0:o.list)&&m?{reference:"customBullets",level:e.attributes.indent?e.attributes.indent:0}:void 0,alignment:"left"===(null===(s=e.attributes)||void 0===s?void 0:s.align)?c.AlignmentType.LEFT:"center"===(null===(a=e.attributes)||void 0===a?void 0:a.align)?c.AlignmentType.CENTER:"right"===(null===(u=e.attributes)||void 0===u?void 0:u.align)?c.AlignmentType.RIGHT:"justify"===(null===(p=e.attributes)||void 0===p?void 0:p.align)?c.AlignmentType.JUSTIFIED:void 0,style:(null===(f=e.attributes)||void 0===f?void 0:f["code-block"])?"code_block":(null===(g=e.attributes)||void 0===g?void 0:g.blockquote)?"block_quote":(null===(v=e.attributes)||void 0===v?void 0:v.citation)?"citation":void 0})}(p)));a++}return u}(e.paragraphs,o));for(let e of b)o.addSection({children:e});return function(e,t){return s(this,void 0,void 0,function*(){if(!t||!t.exportAs||"doc"===t.exportAs)return e;if("blob"===t.exportAs)return c.Packer.toBlob(e);if("buffer"===t.exportAs)return console.log("returning buffer"),c.Packer.toBuffer(e);if("base64"===t.exportAs)return c.Packer.toBase64String(e);throw Error("Please set exportAs configuration to blob, buffer, doc, or base64.")})}(o,t)})}},607:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(35),t),r(n(679),t)},679:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},687:t=>{"use strict";t.exports=e}},n={},function e(i){if(n[i])return n[i].exports;var r=n[i]={exports:{}};return t[i].call(r.exports,r,r.exports,e),r.exports}(607)},e.exports=r(n(5966))},8872:function(e,t){var n;function i(e){return 1!==e?"p":"s"}t.plural_EN=i},6867:function(e,t,n){"use strict";e.exports=n.p+"4ad034d2c499d9b6.woff"},9358:function(e,t,n){"use strict";e.exports=n.p+"59322316b3fd6063.woff2"},9509:function(e,t,n){"use strict";let i;var r,o,s,a,l,c,u,h,d,p,f,m,g,v,y,b,w,_,E,x={};n.r(x),n.d(x,{Attributor:()=>rV,AttributorStore:()=>r1,BlockBlot:()=>oi,ClassAttributor:()=>rQ,ContainerBlot:()=>oo,EmbedBlot:()=>os,InlineBlot:()=>ot,LeafBlot:()=>r4,ParentBlot:()=>r7,Registry:()=>rY,Scope:()=>rW,ScrollBlot:()=>oc,StyleAttributor:()=>r0,TextBlot:()=>oh});var k=n("540"),T=n.n(k);n("2855"),n("1366"),n("234"),n("4784"),n("118");var O=((r={}).HOME="HOME",r.ABOUT="ABOUT",r.DEFINE_BOX="DEFINE_BOX",r.CREATE_SCENARIO="CREATE_SCENARIO",r.SHOW_SCENARIO="SHOW_SCENARIO",r.DECISION_SUPPORT="DECISION_SUPPORT",r.SETTINGS="SETTINGS",r.HELP="HELP",r);let C=()=>"idxxxxxxxx".replace(/[x]/g,()=>(16*Math.random()|0).toString(16)),A=(...e)=>t=>e.reduceRight((e,t)=>t(e),t),S=e=>t=>Array.prototype.map.call(t,e),N=e=>t=>Array.prototype.join.call(t,e),I=e=>e.replace(/([A-Z])/g,e=>"-"+e.toLowerCase()),L=e=>e?A(N(""),S(t=>`[${I(t)}="${((e="")=>e.toString().replace(/"/g,"""))(e[t])}"]`),Object.keys)(e):"",R=["min","max","minLength","maxLength","rows","cols","placeholder","autocomplete","pattern","readOnly","step"],P=e=>R.indexOf(e)>=0,D=({disabled:e})=>e?"[disabled]":"",j=({required:e,isMandatory:t})=>e||t?"[required][aria-required=true]":"",B=e=>{let t;return(e=>Object.keys(e).filter(P).filter(t=>void 0!==e[t]).reduce((t,n)=>{let i=e[n];return t.push(`[${n.toLowerCase()}=${i}]`),t},[]).join(""))(e)+((t=e).maxLength?`[data-length=${t.maxLength}]`:"")+D(e)+j(e)+(({autofocus:e})=>"boolean"==typeof e&&e||e&&e()?"[autofocus]":"")(e)},F=e=>!isNaN(parseFloat(e))&&isFinite(e),q=(e,t=2,n="0")=>(e+="").length>=t?e:Array(t-e.length+1).join(n)+e;function H(){return(H=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function U(e,t){if(null==e)return{};var n,i,r={},o=Object.keys(e);for(i=0;i<o.length;i++)t.indexOf(n=o[i])>=0||(r[n]=e[n]);return r}let z=["label","id","isMandatory","isActive"],X={view:({attrs:e})=>T()("span.mandatory",e,"*")},W=()=>({view:e=>{let{attrs:{label:t,id:n,isMandatory:i,isActive:r}}=e,o=U(e.attrs,z);return t?T()(`label${r?".active":""}${n?`[for=${n}]`:""}`,o,[T().trust(t),i?T()(X):void 0]):void 0}}),V=()=>({view:({attrs:{helperText:e,dataError:t,dataSuccess:n,className:i}})=>e||t||n?T()("span.helper-text",{className:i,dataError:t,dataSuccess:n},e?T().trust(e):""):void 0}),K=["iconName"],G=()=>({view:e=>{let{attrs:{iconName:t}}=e,n=U(e.attrs,K);return T()("i.material-icons",n,t)}}),Y=["modalId","tooltip","tooltipPostion","iconName","iconClass","label","attr"],Z=(e,t="")=>()=>{let n=`${e}${t}`;return{view:({attrs:e})=>{let{modalId:t,tooltip:i,tooltipPostion:r,iconName:o,iconClass:s,label:a,attr:l}=e,c=U(e,Y);return T()(`${n}${t?`.modal-trigger[href=#${t}]`:""}${i?`.tooltipped[data-position=${r||"top"}][data-tooltip=${i}]`:""}${L(l)}`,c,o?T()(G,{iconName:o,className:s||"left"}):void 0,a||void 0)}}},Q=Z("a.waves-effect.waves-light.btn","[type=button]"),J=(Z("a.waves-effect.waves-light.btn-large","[type=button]"),Z("a.waves-effect.waves-light.btn-small","[type=button]"),Z("a.waves-effect.waves-teal.btn-flat","[type=button]"));Z("button.btn-floating.btn-large.waves-effect.waves-light","[type=button]"),Z("button.btn.waves-effect.waves-light","[type=submit]"),(o=w||(w={}))[o.BASIC=0]="BASIC",o[o.LINKS=1]="LINKS",o[o.AVATAR=2]="AVATAR";let ee=["className","dataError","dataSuccess","helperText","iconName","id","initialValue","isMandatory","label","maxLength","newRow","onchange","onkeydown","onkeypress","onkeyup","onblur","style","validate"],et=(e,t="")=>()=>{let n={id:C()},i=t=>{let n=t.value;return n&&("number"===e||"range"===e)?+n:n},r=(e,t)=>{e.setCustomValidity("boolean"==typeof t?t?"":"Custom validation failed":t)};return{view:({attrs:o})=>{let{className:s="col s12",dataError:a,dataSuccess:l,helperText:c,iconName:u,id:h=n.id,initialValue:d,isMandatory:p,label:f,maxLength:m,newRow:g,onchange:v,onkeydown:y,onkeypress:b,onkeyup:w,onblur:_,style:E,validate:x}=o,k=B(U(o,ee));return T()(`.input-field${g?".clear":""}${t}`,{className:s,style:E},[u?T()("i.material-icons.prefix",u):void 0,T()(`input.validate[type=${e}][tabindex=0][id=${h}]${k}`,{oncreate:({dom:t})=>{(({autofocus:e})=>!!e&&("boolean"==typeof e?e:e()))(o)&&t.focus(),m&&M.CharacterCounter.init(t),"range"===e&&M.Range.init(t)},onkeyup:w?e=>{w(e,i(e.target))}:void 0,onkeydown:y?e=>{y(e,i(e.target))}:void 0,onkeypress:b?e=>{b(e,i(e.target))}:void 0,onblur:_,onupdate:x?({dom:e})=>{r(e,x(i(e),e))}:void 0,onchange:e=>{let t=e.target;if(t){let e=i(t);v&&v(e),x&&r(t,x(e,t))}},value:d}),T()(W,{label:f,id:h,isMandatory:p,isActive:!(void 0===d&&!o.placeholder&&"number"!==e&&"color"!==e&&"range"!==e)}),T()(V,{helperText:c,dataError:a,dataSuccess:l})])}}},en=et("text"),ei=(et("password"),et("number"),et("url"),et("color"),et("range",".range-field"),et("email"),()=>({view:({attrs:{className:e="col s12",onchange:t,label:n,checked:i,disabled:r,description:o,style:s}})=>T()("div",{className:e,style:s},T()("label",[T()("input[type=checkbox][tabindex=0]",{checked:i,disabled:r,onclick:t?e=>{e.target&&void 0!==e.target.checked&&t(e.target.checked)}:void 0}),n?"string"==typeof n?T()("span",n):n:void 0]),o&&T()(V,{className:"input-checkbox-desc",helperText:o}))})),er=()=>({oncreate:({dom:e,attrs:{options:t,onCreate:n}})=>{let i=M.Modal.init(e,t);n&&n(i)},view:({attrs:{id:e,title:t,description:n,fixedFooter:i,bottomSheet:r,buttons:o,richContent:s}})=>T()(`.modal${i?".modal-fixed-footer":""}${r?".bottom-sheet":""}[id=${e}]`,[T()(".modal-content",[T()("h4",t),s&&"string"==typeof n?T().trust(n||""):"string"==typeof n?T()("p",n):n]),o?T()(".modal-footer",o.map(e=>T()(J,H({},e,{className:"modal-close"})))):void 0])}),eo=()=>({view:({attrs:{id:e,groupId:t,label:n,onchange:i,className:r="col s12",checked:o,disabled:s}})=>T()("div",{className:r},T()("label",[T()(`input[type=radio][tabindex=0][name=${t}]${o?"[checked=checked]":""}${s?"[disabled]":""}`,{onclick:i?()=>i(e):void 0}),T()("span",T().trust(n))]))}),es=()=>{let e={groupId:C()};return{oninit:({attrs:{checkedId:t,initialValue:n}})=>{e.oldCheckedId=t,e.checkedId=t||n},view:({attrs:{id:t,checkedId:n,newRow:i,className:r="col s12",label:o="",disabled:s,description:a,options:l,isMandatory:c,checkboxClass:u,onchange:h}})=>{e.oldCheckedId!==n&&(e.oldCheckedId=e.checkedId=n);let{groupId:d,checkedId:p}=e,f=t=>{e.checkedId=t,h&&h(t)};return i&&(r+=" clear"),T()("div",{id:t,className:r},[T()("div",{className:"input-field options"},T()(W,{id:t,label:o,isMandatory:c})),a?T()("p.helper-text",T().trust(a)):"",...l.map(e=>T()(eo,H({},e,{onchange:f,groupId:d,disabled:s,className:u,checked:e.id===p})))])}}},ea=()=>{let e={},t=e=>e.map(e=>e.id).join(""),n=(e,t,n=!1)=>n||(t instanceof Array&&(e||"number"==typeof e)?t.indexOf(e)>=0:t===e);return{oninit:({attrs:{checkedId:n,initialValue:i,options:r}})=>{e.ids=t(r);let o=n||i;e.checkedId=n instanceof Array?[...n]:n,e.initialValue=null!=o?o instanceof Array?o.filter(e=>null!=e):[o]:[]},view:({attrs:{id:i,newRow:r,className:o="col s12",checkedId:s,key:a,options:l,multiple:c,label:u,helperText:h,placeholder:d="",isMandatory:p,iconName:f,disabled:m,classes:g="",dropdownOptions:v,onchange:y}})=>{e.checkedId!==s&&(e.initialValue=s?s instanceof Array?s:[s]:void 0);let{initialValue:b}=e,w=y?c?()=>{let t=e.instance&&e.instance.getSelectedValues(),n=t?t.length>0&&F(t[0])?t.map(e=>+e):t.filter(e=>null!==e||void 0!==e):void 0;e.initialValue=n||[],y(e.initialValue)}:t=>{if(t&&t.currentTarget){let n=t.currentTarget,i=F(n.value)?+n.value:n.value;e.initialValue=[i]}e.initialValue&&y(e.initialValue)}:void 0;r&&(o+=" clear");let _=!l.some(e=>n(e.id,b)),E=l.reduce((e,t)=>(t.group&&0>e.indexOf(t.group)&&e.push(t.group),e),[]);return T()(".input-field.select-space",{className:o,key:a,oncreate:c?({dom:t})=>e.wrapper=t:void 0},[f&&T()("i.material-icons.prefix",f),T()("select",{id:i,title:u,disabled:m,multiple:c,oncreate:({dom:t})=>{e.instance=M.FormSelect.init(t,{classes:g,dropdownOptions:v})},onupdate:({dom:n})=>{if(c){let t=f?1:0;!e.inputEl&&e.wrapper&&e.wrapper.childNodes&&e.wrapper.childNodes.length>0&&e.wrapper.childNodes[t].childNodes&&e.wrapper.childNodes[t].childNodes[0]&&(e.inputEl=e.wrapper.childNodes[t].childNodes[0]),e.inputEl&&e.inputEl.value&&e.inputEl.value.startsWith(`${d}, `)&&(e.inputEl.value=e.inputEl.value.replace(`${d}, `,""))}let i=t(l),r=s&&e.checkedId!==s.toString();e.ids!==i&&(e.ids=i,r=!0),(e.checkedId instanceof Array&&s instanceof Array?e.checkedId.join()!==s.join():e.checkedId!==s)&&(e.checkedId=s,r=!0),r&&(e.instance=M.FormSelect.init(n,{classes:g,dropdownOptions:v}))},onchange:w},T()("option",{value:"",disabled:!0,selected:!!_||void 0},d),0===E.length?l.map((e,t)=>{var i;return T()("option",{value:e.id,title:e.title||void 0,disabled:e.disabled?"true":void 0,"data-icon":e.img||void 0,selected:n(e.id,b,0===t&&_&&!d)},null==(i=e.label)?void 0:i.replace("&","&"))}):E.map(e=>T()("optgroup",{label:e},l.filter(t=>t.group===e).map((e,t)=>{var i;return T()("option",{value:e.id,title:e.title||void 0,disabled:e.disabled?"true":void 0,"data-icon":e.img||void 0,selected:n(e.id,b,0===t&&_&&!d)},null==(i=e.label)?void 0:i.replace("&","&"))})))),T()(W,{label:u,isMandatory:p}),h&&T()(V,{helperText:h})])}}},el=()=>{let e={},t=(e,t)=>t||e.replace(/ /g,"").toLowerCase();return{view:({attrs:{tabWidth:n,selectedTabId:i,tabs:r,className:o,style:s,duration:a,onShow:l,swipeable:c,responsiveThreshold:u}})=>{let h=r.filter(e=>e.active).shift(),d=i||(h?t(h.title,h.id):"");return T()(".row",[T()(".col.s12",T()("ul.tabs"+("fill"===n?".tabs-fixed-width":""),{className:o,style:s,oncreate:({dom:t})=>{e.instance=M.Tabs.init(t,{duration:a,onShow:l,responsiveThreshold:u,swipeable:c})},onupdate:()=>{if(d){let e=document.getElementById(`tab_${d}`);e&&e.click()}},onremove:()=>e.instance.destroy()},r.map(({className:e,title:i,id:o,active:s,disabled:a,target:l,href:c})=>T()(`li.tab${a?".disabled":""}${"fixed"===n?`.col.s${Math.floor(12/r.length)}`:""}`,{className:e},T()(`a[id=tab_${t(i,o)}]${s?".active":""}`,{target:l,href:c||`#${t(i,o)}`},i))))),r.filter(({href:e})=>void 0===e).map(({id:e,title:n,vnode:i,contentClass:r})=>T()(`.col.s12[id=${t(n,e)}]`,{className:r},i))])}}};var ec=[{threshold:0,color:"#ddeced"},{threshold:1,color:"#FF7800"},{threshold:2,color:"#ffff00"},{threshold:3,color:"#ff0000"}],eu={version:1,lastUpdate:new Date().valueOf(),scenario:{id:"demo1",label:"Demo",desc:"Demo scenario",includeDecisionSupport:!1,hideInconsistentValues:!0,inconsistencies:{},categories:[{id:"threat",label:"Threat",componentIds:["ThreatDirection","Impact","Motivation","ModusOperandiDuringExecution","Equipment","Responsibility"]},{id:"context",label:"Context",componentIds:["WeatherType","WeatherBehaviour","TypeOfObject","AvailableBudget","OpenCompartments","Location"]}],components:[{id:"ThreatDirection",label:"Threat direction",values:[{id:"df62efe6",label:"Hannibal"},{id:"70630364",label:"The Romans"},{id:"82d5d4f5",label:"Herbert Hoover"}]},{id:"Impact",label:"Impact",values:[{id:"5c532a23",label:"Low"},{id:"16ad9a77",label:"Medium"},{id:"b894abb6",label:"High"}]},{id:"Motivation",label:"Motivation",values:[{id:"f4ab7a7a",label:"Money"},{id:"ff550f8f",label:"Justice"},{id:"22b4867e",label:"Revenge"}]},{id:"ModusOperandiDuringExecution",label:"Modus operandi during execution",values:[{id:"7ed25fa5",label:"Sniper attack",type:"ModusOperandiDuringExecution"},{id:"1f9b68c9",label:"Kidnapping",type:"ModusOperandiDuringExecution"},{id:"5cc5e352",label:"Singing",type:"ModusOperandiDuringExecution"}]},{id:"Equipment",label:"Equipment",values:[{id:"b4218a1f",label:"None"},{id:"8f6185f7",label:"Drone"},{id:"cb02878d",label:"Bomb"},{id:"9d645efb",label:"Helicopter"},{id:"3a4398c7",label:"Hammer"}]},{id:"Responsibility",label:"Responsibility",values:[{id:"f44d22be",label:"Private"},{id:"20f9a6ed",label:"Public"}]},{id:"WeatherType",label:"Weather type",values:[{id:"b9fe2b73",label:"Rainy"},{id:"478581c1",label:"Sunny"},{id:"b855ac10",label:"Windy"},{id:"24c73f36",label:"Cloudy"}]},{id:"WeatherBehaviour",label:"Weather behaviour",values:[{id:"0ff8041e",label:"Stable"},{id:"894a9bcb",label:"Changing"}]},{id:"TypeOfObject",label:"Type of object",values:[{id:"29a303b3",label:"Church"},{id:"2e7df143",label:"Park"},{id:"e11282fb",label:"Palace"},{id:"9a1b3256",label:"Airport"}]},{id:"AvailableBudget",label:"Available budget",values:[{id:"90e1ba48",label:"Knowledge"},{id:"f961174c",label:"Water"}]},{id:"OpenCompartments",label:"Open compartments",values:[{id:"01c3940a",label:"Open"},{id:"56b7fa45",label:"Closed"}]},{id:"Location",label:"Location",values:[{id:"ea57f820",label:"Vietnam"},{id:"b8bd8bc3",label:"Washington"},{id:"8fb1e1ab",label:"Buitenpost"}]}],narratives:[],thresholdColors:ec}},eh={version:1,lastUpdate:new Date().valueOf(),scenario:{id:C(),label:"NEW SCENARIO",desc:"",includeDecisionSupport:!1,hideInconsistentValues:!1,inconsistencies:{},categories:[],components:[],narratives:[],thresholdColors:ec}},ed=[eh,eu],ep=[{id:"airport",name:"Airport",key:"aeroway",value:"aerodrome"},{id:"cafe",name:"Cafe",key:"amenity",value:"bar"},{id:"church",name:"Church",key:"building",value:"church"},{id:"city_square",name:"City square",key:"place",value:"square"},{id:"flats",name:"Flats",key:'"building:levels"',value:'"([6-9]|d{2,})"'},{id:"gas_station",name:"Gas station",key:"amenity",value:"fuel"},{id:"hospital",name:"Hospital",key:"amenity",value:"hospital"},{id:"hotel",name:"Hotel",key:"tourism",value:"hotel"},{id:"palace",name:"Palace",key:"castle_type",value:"palace"},{id:"parking",name:"Parking",key:"amenity",value:"parking"},{id:"restaurant",name:"Restaurant",key:"amenity",value:"restaurant"},{id:"shopping_street",name:"Shopping street",key:"highway",value:"pedestrian"},{id:"stadspoort",name:"Stadspoort",key:"historic",value:"city_gate"},{id:"statue",name:"Statue",key:"memorial",value:"statue"}].map(function(e){return e.id});let ef=n.p+"f418cfa539199976.svg";var em=n("9556");function eg(e,t,n,i,r,o,s){try{var a=e[o](s),l=a.value}catch(e){n(e);return}a.done?t(l):Promise.resolve(l).then(i,r)}function ev(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function s(e){eg(o,i,r,s,a,"next",e)}function a(e){eg(o,i,r,s,a,"throw",e)}s(void 0)})}}function ey(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],i=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}var eb=function(){var e,t="undefined"!=typeof window?window:void 0;if(!t)throw Error("indexedDB cannot get window");var n=t.indexedDB||t.mozIndexedDB||t.webkitIndexedDB||t.msIndexedDB;if("undefined"!=typeof window&&!n)throw Error("indexDB not supported");var i=n.open("ldb",1);i.onsuccess=function(){e=this.result},i.onerror=function(e){console.error("indexedDB request error"),console.log(e)},i.onupgradeneeded=function(t){e=null,(t&&t.target&&t.target.result.createObjectStore("s",{keyPath:"k"})).transaction.oncomplete=function(t){e=t.target.db}};var r={get:function(t){return new Promise(function(n){if(!e){setTimeout(ev(function(){return ey(this,function(e){switch(e.label){case 0:return[4,r.get(t)];case 1:return[2,n.apply(void 0,[e.sent()])]}})}),50);return}e.transaction("s").objectStore("s").get(t).onsuccess=function(e){n(e.target.result&&e.target.result.v||null)}})},set:function(t,n){return new Promise(function(i){if(!e){setTimeout(ev(function(){return ey(this,function(e){switch(e.label){case 0:return[4,r.set(t,n)];case 1:return[2,i.apply(void 0,[e.sent()])]}})}),50);return}var o=e.transaction("s","readwrite");o.oncomplete=function(){return i()},o.objectStore("s").put({k:t,v:n}),o.commit()})},delete:function(t){return new Promise(function(n){if(!e){setTimeout(ev(function(){return ey(this,function(e){switch(e.label){case 0:return[4,r.delete(t)];case 1:return[2,n.apply(void 0,[e.sent()])]}})}),50);return}e.transaction("s","readwrite").objectStore("s").delete(t).onsuccess=function(){n()}})},list:function(){return new Promise(function(t){if(!e){setTimeout(ev(function(){return ey(this,function(e){switch(e.label){case 0:return[4,r.list()];case 1:return[2,t.apply(void 0,[e.sent()])]}})}),50);return}e.transaction("s").objectStore("s").getAllKeys().onsuccess=function(e){t(e.target.result||null)}})},getAll:function(){return new Promise(function(t){if(!e){setTimeout(ev(function(){return ey(this,function(e){switch(e.label){case 0:return[4,r.getAll()];case 1:return[2,t.apply(void 0,[e.sent()])]}})}),50);return}e.transaction("s").objectStore("s").getAll().onsuccess=function(e){t(e.target.result||null)}})},clear:function(){return new Promise(function(t){if(!e){setTimeout(ev(function(){return ey(this,function(e){switch(e.label){case 0:return[4,r.clear()];case 1:return[2,t.apply(void 0,[e.sent()])]}})}),50);return}e.transaction("s","readwrite").objectStore("s").clear().onsuccess=function(){t()}})}};return r}();let ew={"&":"&","<":"<",">":">",'"':""","'":"'"},e_=RegExp(`[${Object.keys(ew).join("")}]`,"g"),eE=[[/\r\n/g,"\n"],[/\n(#+)(.*)/g,(e,t,n="")=>{let i=t.length;return`<h${i}>${n.trim()}</h${i}>`}],[/!\[([^\[]+)\]\((?:javascript:)?([^\)]+)\)/g,'<img src="$2" alt="$1">'],[/\[([^\[]+)\]\((?:javascript:)?([^\)]+)\)/g,'<a href="$2">$1</a>'],[/([^\\])(\*\*|__)(.*?(_|\*)?)\2/g,"$1<strong>$3</strong>"],[/([^\\])(\*|_)(.*?)\2/g,"$1<em>$3</em>"],[/\\_/g,"_"],[/\~\~(.*?)\~\~/g,"<del>$1</del>"],[/\:\"(.*?)\"\:/g,"<q>$1</q>"],[/\n\s*```\n([^]*?)\n\s*```\s*\n/g,"\n<pre>$1</pre>"],[/`(.*?)`/g,(e,t)=>`<code>${t.replace(e_,e=>ew[e])}</code>`],[/\n(\*|\-|\+)(.*)/g,(e,t,n="")=>`<ul> +(()=>{var e={5966:function(e){var t,n;t="undefined"!=typeof self&&self,n=function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,i){!n.o(e,t)&&Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:i})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=139)}([function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(140)),i(n(141)),i(n(53)),i(n(142)),i(n(158)),i(n(159)),i(n(25))},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(51)),i(n(216)),i(n(21)),i(n(3)),i(n(37)),i(n(231))},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(89)),i(n(90)),i(n(91)),i(n(92)),i(n(93)),i(n(239)),i(n(94))},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(17)),i(n(9)),i(n(162)),i(n(163)),i(n(165)),i(n(34)),i(n(213)),i(n(19)),i(n(33)),i(n(215))},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";var i=n(15),r=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=d;var o=n(14);o.inherits=n(7);var s=n(57),a=n(29);o.inherits(d,s);for(var l=r(a.prototype),c=0;c<l.length;c++){var u=l[c];!d.prototype[u]&&(d.prototype[u]=a.prototype[u])}function d(e){if(!(this instanceof d))return new d(e);s.call(this,e),a.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",h)}function h(){!this.allowHalfOpen&&!this._writableState.ended&&i.nextTick(p,this)}function p(e){e.end()}Object.defineProperty(d.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(d.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&this._readableState.destroyed&&this._writableState.destroyed},set:function(e){if(void 0!==this._readableState&&void 0!==this._writableState)this._readableState.destroyed=e,this._writableState.destroyed=e}}),d.prototype._destroy=function(e,t){this.push(null),this.end(),i.nextTick(t,e)}},function(e,t,n){"use strict";(function(e){var i=n(144),r=n(145),o=n(55);t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50,l.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=s();function s(){return l.TYPED_ARRAY_SUPPORT?0x7fffffff:0x3fffffff}function a(e,t){if(s()<t)throw RangeError("Invalid typed array length");return l.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=l.prototype:(null===e&&(e=new l(t)),e.length=t),e}function l(e,t,n){if(!l.TYPED_ARRAY_SUPPORT&&!(this instanceof l))return new l(e,t,n);if("number"==typeof e){if("string"==typeof t)throw Error("If encoding is specified then the first argument must be a string");return d(this,e)}return c(this,e,t,n)}function c(e,t,n,i){if("number"==typeof t)throw TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,i){if(t.byteLength,n<0||t.byteLength<n)throw RangeError("'offset' is out of bounds");if(t.byteLength<n+(i||0))throw RangeError("'length' is out of bounds");return t=void 0===n&&void 0===i?new Uint8Array(t):void 0===i?new Uint8Array(t,n):new Uint8Array(t,n,i),l.TYPED_ARRAY_SUPPORT?(e=t).__proto__=l.prototype:e=h(e,t),e}(e,t,n,i):"string"==typeof t?function(e,t,n){if(("string"!=typeof n||""===n)&&(n="utf8"),!l.isEncoding(n))throw TypeError('"encoding" must be a valid string encoding');var i=0|f(t,n),r=(e=a(e,i)).write(t,n);return r!==i&&(e=e.slice(0,r)),e}(e,t,n):function(e,t){if(l.isBuffer(t)){var n=0|p(t.length);return 0===(e=a(e,n)).length?e:(t.copy(e,0,0,n),e)}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||function(e){return e!=e}(t.length)?a(e,0):h(e,t);if("Buffer"===t.type&&o(t.data))return h(e,t.data)}throw TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function u(e){if("number"!=typeof e)throw TypeError('"size" argument must be a number');if(e<0)throw RangeError('"size" argument must not be negative')}l.poolSize=8192,l._augment=function(e){return e.__proto__=l.prototype,e},l.from=function(e,t,n){return c(null,e,t,n)},l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0}));function d(e,t){if(u(t),e=a(e,t<0?0:0|p(t)),!l.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}l.alloc=function(e,t,n){var i,r,o,s;return i=null,r=e,o=t,s=n,(u(r),r<=0)?a(null,r):void 0!==o?"string"==typeof s?a(i,r).fill(o,s):a(i,r).fill(o):a(i,r)},l.allocUnsafe=function(e){return d(null,e)},l.allocUnsafeSlow=function(e){return d(null,e)};function h(e,t){var n=t.length<0?0:0|p(t.length);e=a(e,n);for(var i=0;i<n;i+=1)e[i]=255&t[i];return e}function p(e){if(e>=s())throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return S(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return I(e).length;default:if(i)return S(e).length;t=(""+t).toLowerCase(),i=!0}}function m(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0||(n>>>=0)<=(t>>>=0))return"";for(!e&&(e="utf8");;)switch(e){case"hex":return function(e,t,n){var i=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>i)&&(n=i);for(var r="",o=t;o<n;++o)r+=function(e){return e<16?"0"+e.toString(16):e.toString(16)}(e[o]);return r}(this,t,n);case"utf8":case"utf-8":return w(this,t,n);case"ascii":return function(e,t,n){var i="";n=Math.min(e.length,n);for(var r=t;r<n;++r)i+=String.fromCharCode(127&e[r]);return i}(this,t,n);case"latin1":case"binary":return function(e,t,n){var i="";n=Math.min(e.length,n);for(var r=t;r<n;++r)i+=String.fromCharCode(e[r]);return i}(this,t,n);case"base64":return function(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return function(e,t,n){for(var i=e.slice(t,n),r="",o=0;o<i.length;o+=2)r+=String.fromCharCode(i[o]+256*i[o+1]);return r}(this,t,n);default:if(r)throw TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function g(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function v(e,t,n,i,r){if(0===e.length)return -1;if("string"==typeof n?(i=n,n=0):n>0x7fffffff?n=0x7fffffff:n<-0x80000000&&(n=-0x80000000),isNaN(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return -1;n=e.length-1}else if(n<0){if(!r)return -1;n=0}if("string"==typeof t&&(t=l.from(t,i)),l.isBuffer(t))return 0===t.length?-1:y(e,t,n,i,r);if("number"==typeof t){if(t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf)return r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n);return y(e,[t],n,i,r)}throw TypeError("val must be string, number or Buffer")}function y(e,t,n,i,r){var o,s=1,a=e.length,l=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return -1;s=2,a/=2,l/=2,n/=2}function c(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(r){var u=-1;for(o=n;o<a;o++)if(c(e,o)===c(t,-1===u?0:o-u)){if(-1===u&&(u=o),o-u+1===l)return u*s}else -1!==u&&(o-=o-u),u=-1}else for(n+l>a&&(n=a-l),o=n;o>=0;o--){for(var d=!0,h=0;h<l;h++)if(c(e,o+h)!==c(t,h)){d=!1;break}if(d)return o}return -1}l.isBuffer=function(e){return!!(null!=e&&e._isBuffer)},l.compare=function(e,t){if(!l.isBuffer(e)||!l.isBuffer(t))throw TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,i=t.length,r=0,o=Math.min(n,i);r<o;++r)if(e[r]!==t[r]){n=e[r],i=t[r];break}return n<i?-1:i<n?1:0},l.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},l.concat=function(e,t){if(!o(e))throw TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return l.alloc(0);if(void 0===t)for(n=0,t=0;n<e.length;++n)t+=e[n].length;var n,i=l.allocUnsafe(t),r=0;for(n=0;n<e.length;++n){var s=e[n];if(!l.isBuffer(s))throw TypeError('"list" argument must be an Array of Buffers');s.copy(i,r),r+=s.length}return i},l.byteLength=f,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)g(this,t,t+1);return this},l.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)g(this,t,t+3),g(this,t+1,t+2);return this},l.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)g(this,t,t+7),g(this,t+1,t+6),g(this,t+2,t+5),g(this,t+3,t+4);return this},l.prototype.toString=function(){var e=0|this.length;return 0===e?"":0==arguments.length?w(this,0,e):m.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},l.prototype.compare=function(e,t,n,i,r){if(!l.isBuffer(e))throw TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return -1;if(t>=n)return 1;if(t>>>=0,n>>>=0,i>>>=0,r>>>=0,this===e)return 0;for(var o=r-i,s=n-t,a=Math.min(o,s),c=this.slice(i,r),u=e.slice(t,n),d=0;d<a;++d)if(c[d]!==u[d]){o=c[d],s=u[d];break}return o<s?-1:s<o?1:0},l.prototype.includes=function(e,t,n){return -1!==this.indexOf(e,t,n)},l.prototype.indexOf=function(e,t,n){return v(this,e,t,n,!0)},l.prototype.lastIndexOf=function(e,t,n){return v(this,e,t,n,!1)};function b(e,t,n,i){return L(N(t),e,n,i)}l.prototype.write=function(e,t,n,i){if(void 0===t)i="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)i=t,n=this.length,t=0;else if(isFinite(t))t|=0,isFinite(n)?(n|=0,void 0===i&&(i="utf8")):(i=n,n=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var r,o,s,a,l,c,u,d,h,p,f,m,g,v,y,b,w=this.length-t;if((void 0===n||n>w)&&(n=w),e.length>0&&(n<0||t<0)||t>this.length)throw RangeError("Attempt to write outside buffer bounds");!i&&(i="utf8");for(var _=!1;;)switch(i){case"hex":return function(e,t,n,i){n=Number(n)||0;var r=e.length-n;i?(i=Number(i))>r&&(i=r):i=r;var o=t.length;if(o%2!=0)throw TypeError("Invalid hex string");i>o/2&&(i=o/2);for(var s=0;s<i;++s){var a=parseInt(t.substr(2*s,2),16);if(isNaN(a))break;e[n+s]=a}return s}(this,e,t,n);case"utf8":case"utf-8":;return r=this,o=e,s=t,a=n,L(S(o,r.length-s),r,s,a);case"ascii":;return l=this,c=e,u=t,d=n,L(N(c),l,u,d);case"latin1":case"binary":return function(e,t,n,i){var r,o,s,a;return r=e,o=t,s=n,a=i,L(N(o),r,s,a)}(this,e,t,n);case"base64":;return h=this,p=e,f=t,m=n,L(I(p),h,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":;return g=this,v=e,y=t,b=n,L(function(e,t){for(var n,i,r,o=[],s=0;s<e.length&&!((t-=2)<0);++s)i=(n=e.charCodeAt(s))>>8,r=n%256,o.push(r),o.push(i);return o}(v,g.length-y),g,y,b);default:if(_)throw TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),_=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function w(e,t,n){n=Math.min(e.length,n);for(var i=[],r=t;r<n;){var o,s,a,l,c=e[r],u=null,d=c>239?4:c>223?3:c>191?2:1;if(r+d<=n)switch(d){case 1:c<128&&(u=c);break;case 2:(192&(o=e[r+1]))==128&&(l=(31&c)<<6|63&o)>127&&(u=l);break;case 3:o=e[r+1],s=e[r+2],(192&o)==128&&(192&s)==128&&(l=(15&c)<<12|(63&o)<<6|63&s)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:o=e[r+1],s=e[r+2],a=e[r+3],(192&o)==128&&(192&s)==128&&(192&a)==128&&(l=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&l<1114112&&(u=l)}null===u?(u=65533,d=1):u>65535&&(u-=65536,i.push(u>>>10&1023|55296),u=56320|1023&u),i.push(u),r+=d}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);for(var n="",i=0;i<t;)n+=String.fromCharCode.apply(String,e.slice(i,i+=4096));return n}(i)}function _(e,t,n){if(e%1!=0||e<0)throw RangeError("offset is not uint");if(e+t>n)throw RangeError("Trying to access beyond buffer length")}function E(e,t,n,i,r,o){if(!l.isBuffer(e))throw TypeError('"buffer" argument must be a Buffer instance');if(t>r||t<o)throw RangeError('"value" argument is out of bounds');if(n+i>e.length)throw RangeError("Index out of range")}function x(e,t,n,i){t<0&&(t=65535+t+1);for(var r=0,o=Math.min(e.length-n,2);r<o;++r)e[n+r]=(t&255<<8*(i?r:1-r))>>>(i?r:1-r)*8}function k(e,t,n,i){t<0&&(t=0xffffffff+t+1);for(var r=0,o=Math.min(e.length-n,4);r<o;++r)e[n+r]=t>>>(i?r:3-r)*8&255}function T(e,t,n,i,r,o){if(n+i>e.length||n<0)throw RangeError("Index out of range")}function O(e,t,n,i,o){return!o&&T(e,t,n,4,34028234663852886e22,-34028234663852886e22),r.write(e,t,n,i,23,4),n+4}function C(e,t,n,i,o){return!o&&T(e,t,n,8,17976931348623157e292,-17976931348623157e292),r.write(e,t,n,i,52,8),n+8}l.prototype.slice=function(e,t){var n,i=this.length;if(e=~~e,t=void 0===t?i:~~t,e<0?(e+=i)<0&&(e=0):e>i&&(e=i),t<0?(t+=i)<0&&(t=0):t>i&&(t=i),t<e&&(t=e),l.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=l.prototype;else{var r=t-e;n=new l(r,void 0);for(var o=0;o<r;++o)n[o]=this[o+e]}return n},l.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,!n&&_(e,t,this.length);for(var i=this[e],r=1,o=0;++o<t&&(r*=256);)i+=this[e+o]*r;return i},l.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,!n&&_(e,t,this.length);for(var i=this[e+--t],r=1;t>0&&(r*=256);)i+=this[e+--t]*r;return i},l.prototype.readUInt8=function(e,t){return!t&&_(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return!t&&_(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return!t&&_(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return!t&&_(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+0x1000000*this[e+3]},l.prototype.readUInt32BE=function(e,t){return!t&&_(e,4,this.length),0x1000000*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,n){e|=0,t|=0,!n&&_(e,t,this.length);for(var i=this[e],r=1,o=0;++o<t&&(r*=256);)i+=this[e+o]*r;return i>=(r*=128)&&(i-=Math.pow(2,8*t)),i},l.prototype.readIntBE=function(e,t,n){e|=0,t|=0,!n&&_(e,t,this.length);for(var i=t,r=1,o=this[e+--i];i>0&&(r*=256);)o+=this[e+--i]*r;return o>=(r*=128)&&(o-=Math.pow(2,8*t)),o},l.prototype.readInt8=function(e,t){return(!t&&_(e,1,this.length),128&this[e])?-((255-this[e]+1)*1):this[e]},l.prototype.readInt16LE=function(e,t){!t&&_(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?0xffff0000|n:n},l.prototype.readInt16BE=function(e,t){!t&&_(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?0xffff0000|n:n},l.prototype.readInt32LE=function(e,t){return!t&&_(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return!t&&_(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return!t&&_(e,4,this.length),r.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return!t&&_(e,4,this.length),r.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return!t&&_(e,8,this.length),r.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return!t&&_(e,8,this.length),r.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,n,i){if(e=+e,t|=0,n|=0,!i){var r=Math.pow(2,8*n)-1;E(this,e,t,n,r,0)}var o=1,s=0;for(this[t]=255&e;++s<n&&(o*=256);)this[t+s]=e/o&255;return t+n},l.prototype.writeUIntBE=function(e,t,n,i){if(e=+e,t|=0,n|=0,!i){var r=Math.pow(2,8*n)-1;E(this,e,t,n,r,0)}var o=n-1,s=1;for(this[t+o]=255&e;--o>=0&&(s*=256);)this[t+o]=e/s&255;return t+n},l.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,!n&&E(this,e,t,1,255,0),!l.TYPED_ARRAY_SUPPORT&&(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,!n&&E(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):x(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,!n&&E(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):x(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,!n&&E(this,e,t,4,0xffffffff,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):k(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,!n&&E(this,e,t,4,0xffffffff,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):k(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);E(this,e,t,n,r-1,-r)}var o=0,s=1,a=0;for(this[t]=255&e;++o<n&&(s*=256);)e<0&&0===a&&0!==this[t+o-1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},l.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);E(this,e,t,n,r-1,-r)}var o=n-1,s=1,a=0;for(this[t+o]=255&e;--o>=0&&(s*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,!n&&E(this,e,t,1,127,-128),!l.TYPED_ARRAY_SUPPORT&&(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,!n&&E(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):x(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,!n&&E(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):x(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,!n&&E(this,e,t,4,0x7fffffff,-0x80000000),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):k(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,!n&&E(this,e,t,4,0x7fffffff,-0x80000000),e<0&&(e=0xffffffff+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):k(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,n){return O(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return O(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return C(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return C(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,i){if(!n&&(n=0),!i&&0!==i&&(i=this.length),t>=e.length&&(t=e.length),!t&&(t=0),i>0&&i<n&&(i=n),i===n||0===e.length||0===this.length)return 0;if(t<0)throw RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw RangeError("sourceStart out of bounds");if(i<0)throw RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t<i-n&&(i=e.length-t+n);var r,o=i-n;if(this===e&&n<t&&t<i)for(r=o-1;r>=0;--r)e[r+t]=this[r+n];else if(o<1e3||!l.TYPED_ARRAY_SUPPORT)for(r=0;r<o;++r)e[r+t]=this[r+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+o),t);return o},l.prototype.fill=function(e,t,n,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),1===e.length){var r,o=e.charCodeAt(0);o<256&&(e=o)}if(void 0!==i&&"string"!=typeof i)throw TypeError("encoding must be a string");if("string"==typeof i&&!l.isEncoding(i))throw TypeError("Unknown encoding: "+i)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw RangeError("Out of range index");if(n<=t)return this;if(t>>>=0,n=void 0===n?this.length:n>>>0,!e&&(e=0),"number"==typeof e)for(r=t;r<n;++r)this[r]=e;else{var s=l.isBuffer(e)?e:S(new l(e,i).toString()),a=s.length;for(r=0;r<n-t;++r)this[r+t]=s[r%a]}return this};var A=/[^+\/0-9A-Za-z-_]/g;function S(e,t){t=t||1/0;for(var n,i=e.length,r=null,o=[],s=0;s<i;++s){if((n=e.charCodeAt(s))>55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(s+1===i){(t-=3)>-1&&o.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),r=n;continue}n=(r-55296<<10|n-56320)+65536}else r&&(t-=3)>-1&&o.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else if(n<1114112){if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}else throw Error("Invalid code point")}return o}function N(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}function I(e){return i.toByteArray(function(e){if((e=(function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")})(e).replace(A,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function L(e,t,n,i){for(var r=0;r<i&&!(r+n>=t.length)&&!(r>=e.length);++r)t[r+n]=e[r];return r}}).call(t,n(4))},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0}),(r=t.SpaceType||(t.SpaceType={})).DEFAULT="default",r.PRESERVE="preserve"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(33),o=n(68),s=n(34),a=n(69),l=n(70),c=n(19);class u extends i.IgnoreIfEmptyXmlComponent{constructor(e){if(super("w:rPr"),!e)return;e.bold&&this.push(new o.Bold),(void 0===e.boldComplexScript&&e.bold||e.boldComplexScript)&&this.push(new o.BoldComplexScript),e.italics&&this.push(new o.Italics),(void 0===e.italicsComplexScript&&e.italics||e.italicsComplexScript)&&this.push(new o.ItalicsComplexScript),e.underline&&this.push(new c.Underline(e.underline.type,e.underline.color)),e.emphasisMark&&this.push(new r.EmphasisMark(e.emphasisMark.type)),e.color&&this.push(new o.Color(e.color)),e.size&&this.push(new o.Size(e.size));let t=void 0===e.sizeComplexScript||!0===e.sizeComplexScript?e.size:e.sizeComplexScript;t&&this.push(new o.SizeComplexScript(t)),e.rightToLeft&&this.push(new o.RightToLeft),e.smallCaps&&this.push(new o.SmallCaps),e.allCaps&&this.push(new o.Caps),e.strike&&this.push(new o.Strike),e.doubleStrike&&this.push(new o.DoubleStrike),e.subScript&&this.push(new a.SubScript),e.superScript&&this.push(new a.SuperScript),e.style&&this.push(new l.Style(e.style)),e.font&&("string"==typeof e.font?this.push(new s.RunFonts(e.font)):"name"in e.font?this.push(new s.RunFonts(e.font.name,e.font.hint)):this.push(new s.RunFonts(e.font))),e.highlight&&this.push(new o.Highlight(e.highlight));let n=void 0===e.highlightComplexScript||!0===e.highlightComplexScript?e.highlight:e.highlightComplexScript;n&&this.push(new o.HighlightComplexScript(n)),e.characterSpacing&&this.push(new o.CharacterSpacing(e.characterSpacing));let i=e.shading||e.shadow;i&&this.push(new o.Shading(i.type,i.fill,i.color));let u=void 0===e.shadingComplexScript||!0===e.shadingComplexScript?i:e.shadingComplexScript;u&&this.push(new o.ShadowComplexScript(u.type,u.fill,u.color))}push(e){this.root.push(e)}}t.RunProperties=u},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(265)),i(n(38))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={wpc:"xmlns:wpc",mc:"xmlns:mc",o:"xmlns:o",r:"xmlns:r",m:"xmlns:m",v:"xmlns:v",wp14:"xmlns:wp14",wp:"xmlns:wp",w10:"xmlns:w10",w:"xmlns:w",w14:"xmlns:w14",w15:"xmlns:w15",wpg:"xmlns:wpg",wpi:"xmlns:wpi",wne:"xmlns:wne",wps:"xmlns:wps",Ignorable:"mc:Ignorable",cp:"xmlns:cp",dc:"xmlns:dc",dcterms:"xmlns:dcterms",dcmitype:"xmlns:dcmitype",xsi:"xmlns:xsi",type:"xsi:type"}}}t.DocumentAttributes=r},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(1)),i(n(262)),i(n(280)),i(n(339)),i(n(133)),i(n(50)),i(n(72)),i(n(114)),i(n(23)),i(n(340)),i(n(0)),i(n(49)),i(n(46)),i(n(132)),i(n(131)),i(n(347))},function(e,t){var n,i,r,o=e.exports={};function s(){throw Error("setTimeout has not been defined")}function a(){throw Error("clearTimeout has not been defined")}function l(e){if(n===setTimeout)return setTimeout(e,0);if((n===s||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:s}catch(e){n=s}try{i="function"==typeof clearTimeout?clearTimeout:a}catch(e){i=a}}();var c=[],u=!1,d=-1;function h(){if(!!u&&!!r)u=!1,r.length?c=r.concat(c):d=-1,c.length&&p()}function p(){if(!u){var e=l(h);u=!0;for(var t=c.length;t;){for(r=c,c=[];++d<t;)r&&r[d].run();d=-1,t=c.length}r=null,u=!1,!function(e){if(i===clearTimeout)return clearTimeout(e);if((i===a||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(e);try{i(e)}catch(t){try{return i.call(null,e)}catch(t){return i.call(this,e)}}}(e)}}function f(e,t){this.fun=e,this.array=t}function m(){}o.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new f(e,t)),1===c.length&&!u&&l(p)},f.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=m,o.addListener=m,o.once=m,o.off=m,o.removeListener=m,o.removeAllListeners=m,o.emit=m,o.prependListener=m,o.prependOnceListener=m,o.listeners=function(e){return[]},o.binding=function(e){throw Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw Error("process.chdir is not supported")},o.umask=function(){return 0}},function(e,t,n){(function(e){t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===n(e)};t.isBoolean=function(e){return"boolean"==typeof e};t.isNull=function(e){return null===e};t.isNullOrUndefined=function(e){return null==e};t.isNumber=function(e){return"number"==typeof e};t.isString=function(e){return"string"==typeof e};t.isSymbol=function(e){return"symbol"==typeof e};t.isUndefined=function(e){return void 0===e};t.isRegExp=function(e){return"[object RegExp]"===n(e)};t.isObject=function(e){return"object"==typeof e&&null!==e};t.isDate=function(e){return"[object Date]"===n(e)};t.isError=function(e){return"[object Error]"===n(e)||e instanceof Error};t.isFunction=function(e){return"function"==typeof e};function n(e){return Object.prototype.toString.call(e)}t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=e.isBuffer}).call(t,n(6).Buffer)},function(e,t,n){"use strict";(function(t){void 0!==t&&t.version&&0!==t.version.indexOf("v0.")&&(0!==t.version.indexOf("v1.")||0===t.version.indexOf("v1.8."))?e.exports=t:e.exports={nextTick:function(e,n,i,r){if("function"!=typeof e)throw TypeError('"callback" argument must be a function');var o,s,a=arguments.length;switch(a){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick(function(){e.call(null,n)});case 3:return t.nextTick(function(){e.call(null,n,i)});case 4:return t.nextTick(function(){e.call(null,n,i,r)});default:for(o=Array(a-1),s=0;s<o.length;)o[s++]=arguments[s];return t.nextTick(function(){e.apply(null,o)})}}}}).call(t,n(13))},function(e,t,n){var i=n(6),r=i.Buffer;function o(e,t){for(var n in e)t[n]=e[n]}function s(e,t,n){return r(e,t,n)}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?e.exports=i:(o(i,t),t.Buffer=s),o(r,s),s.from=function(e,t,n){if("number"==typeof e)throw TypeError("Argument must not be a number");return r(e,t,n)},s.alloc=function(e,t,n){if("number"!=typeof e)throw TypeError("Argument must be a number");var i=r(e);return void 0!==t?"string"==typeof n?i.fill(t,n):i.fill(t):i.fill(0),i},s.allocUnsafe=function(e){if("number"!=typeof e)throw TypeError("Argument must be a number");return r(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw TypeError("Argument must be a number");return i.SlowBuffer(e)}},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0),s=n(67),a=n(18),l=n(161),c=n(9),u=n(71);(r=i=t.PageNumber||(t.PageNumber={})).CURRENT="CURRENT",r.TOTAL_PAGES="TOTAL_PAGES",r.TOTAL_PAGES_IN_SECTION="TOTAL_PAGES_IN_SECTION";class d extends o.XmlComponent{constructor(e){if(super("w:r"),this.properties=new c.RunProperties(e),this.root.push(this.properties),e.children)for(let t of e.children){if("string"==typeof t){switch(t){case i.CURRENT:this.root.push(new a.Begin),this.root.push(new l.Page),this.root.push(new a.Separate),this.root.push(new a.End);break;case i.TOTAL_PAGES:this.root.push(new a.Begin),this.root.push(new l.NumberOfPages),this.root.push(new a.Separate),this.root.push(new a.End);break;case i.TOTAL_PAGES_IN_SECTION:this.root.push(new a.Begin),this.root.push(new l.NumberOfPagesSection),this.root.push(new a.Separate),this.root.push(new a.End);break;default:this.root.push(new u.Text(t))}continue}this.root.push(t)}else e.text&&this.root.push(new u.Text(e.text));if(e.break)for(let t=0;t<e.break;t++)this.root.splice(1,0,new s.Break)}}t.Run=d},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=i||(i={})).BEGIN="begin",r.END="end",r.SEPARATE="separate";class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={type:"w:fldCharType",dirty:"w:dirty"}}}class a extends o.XmlComponent{constructor(e){super("w:fldChar"),this.root.push(new s({type:i.BEGIN,dirty:e}))}}t.Begin=a;class l extends o.XmlComponent{constructor(e){super("w:fldChar"),this.root.push(new s({type:i.SEPARATE,dirty:e}))}}t.Separate=l;class c extends o.XmlComponent{constructor(e){super("w:fldChar"),this.root.push(new s({type:i.END,dirty:e}))}}t.End=c},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=i=t.UnderlineType||(t.UnderlineType={})).SINGLE="single",r.WORDS="words",r.DOUBLE="double",r.THICK="thick",r.DOTTED="dotted",r.DOTTEDHEAVY="dottedHeavy",r.DASH="dash",r.DASHEDHEAVY="dashedHeavy",r.DASHLONG="dashLong",r.DASHLONGHEAVY="dashLongHeavy",r.DOTDASH="dotDash",r.DASHDOTHEAVY="dashDotHeavy",r.DOTDOTDASH="dotDotDash",r.DASHDOTDOTHEAVY="dashDotDotHeavy",r.WAVE="wave",r.WAVYHEAVY="wavyHeavy",r.WAVYDOUBLE="wavyDouble";class s extends o.XmlComponent{constructor(e,t){super("w:u"),this.root.push(new o.Attributes({val:e,color:t}))}}t.BaseUnderline=s;t.Underline=class e extends s{constructor(e=i.SINGLE,t){super(e,t)}};t.DashUnderline=class e extends s{constructor(){super("dash")}};t.DashDotDotHeavyUnderline=class e extends s{constructor(){super("dashDotDotHeavy")}};t.DashDotHeavyUnderline=class e extends s{constructor(){super("dashDotHeavy")}};t.DashLongUnderline=class e extends s{constructor(){super("dashLong")}};t.DashLongHeavyUnderline=class e extends s{constructor(){super("dashLongHeavy")}};t.DotDashUnderline=class e extends s{constructor(){super("dotDash")}};t.DotDotDashUnderline=class e extends s{constructor(){super("dotDotDash")}};t.DottedUnderline=class e extends s{constructor(){super("dotted")}};t.DottedHeavyUnderline=class e extends s{constructor(){super("dottedHeavy")}};t.DoubleUnderline=class e extends s{constructor(){super("double")}};t.SingleUnderline=class e extends s{constructor(){super("single")}};t.ThickUnderline=class e extends s{constructor(){super("thick")}};t.WaveUnderline=class e extends s{constructor(){super("wave")}};t.WavyDoubleUnderline=class e extends s{constructor(){super("wavyDouble")}};t.WavyHeavyUnderline=class e extends s{constructor(){super("wavyHeavy")}};t.WordsUnderline=class e extends s{constructor(){super("words")}}},function(e,t,n){"use strict";var i,r,o,s=n(221),a="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";function l(){o=!1}function c(e){if(!e){i!==a&&(i=a,o=!1);return}if(e!==i){if(e.length!==a.length)throw Error("Custom alphabet for shortid must be "+a.length+" unique characters. You submitted "+e.length+" characters: "+e);var t=e.split("").filter(function(e,t,n){return t!==n.lastIndexOf(e)});if(t.length)throw Error("Custom alphabet for shortid must be "+a.length+" unique characters. These characters were not unique: "+t.join(", "));i=e,o=!1}}function u(){return o?o:o=function(){!i&&c(a);for(var e,t=i.split(""),n=[],r=s.nextValue();t.length>0;)e=Math.floor((r=s.nextValue())*t.length),n.push(t.splice(e,1)[0]);return n.join("")}()}e.exports={get:function(){return i||a},characters:function(e){return c(e),i},seed:function(e){s.seed(e),r!==e&&(o=!1,r=e)},lookup:function(e){return u()[e]},shuffled:u}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(52),o=n(230),s=n(63),a=n(64),l=n(65),c=n(66),u=n(82),d=n(83),h=n(84),p=n(85),f=n(37),m=n(68);class g extends i.IgnoreIfEmptyXmlComponent{constructor(e){if(super("w:pPr"),!e)return;if(e.border&&this.push(new s.Border(e.border)),e.spacing&&this.push(new u.Spacing(e.spacing)),void 0!==e.outlineLevel&&this.push(new f.OutlineLevel(e.outlineLevel)),e.alignment&&this.push(new r.Alignment(e.alignment)),e.heading&&this.push(new d.Style(e.heading)),e.bidirectional&&this.push(new o.Bidirectional),e.thematicBreak&&this.push(new s.ThematicBreak),e.pageBreakBefore&&this.push(new c.PageBreakBefore),e.contextualSpacing&&this.push(new u.ContextualSpacing(e.contextualSpacing)),e.indent&&this.push(new a.Indent(e.indent)),e.keepLines&&this.push(new l.KeepLines),e.keepNext&&this.push(new l.KeepNext),e.tabStops)for(let t of e.tabStops)this.push(new h.TabStop(t.type,t.position,t.leader));e.style&&this.push(new d.Style(e.style)),e.bullet&&(this.push(new d.Style("ListParagraph")),this.push(new p.NumberProperties(1,e.bullet.level))),e.numbering&&(!e.numbering.custom&&this.push(new d.Style("ListParagraph")),this.push(new p.NumberProperties(e.numbering.reference,e.numbering.level))),e.rightTabStop&&this.push(new h.TabStop(h.TabStopType.RIGHT,e.rightTabStop)),e.leftTabStop&&this.push(new h.TabStop(h.TabStopType.LEFT,e.leftTabStop)),e.shading&&this.push(new m.Shading(e.shading.type,e.shading.fill,e.shading.color))}push(e){this.root.push(e)}}t.ParagraphProperties=g},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(257),o=n(258);class s extends i.XmlComponent{constructor(e){super("m:dPr"),e&&(this.root.push(new r.MathBeginningCharacter(e.beginningCharacter)),this.root.push(new o.MathEndingCharacter(e.endingCharacter)))}}t.MathBracketProperties=s},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(271)),i(n(43)),i(n(42)),i(n(106))},function(e,t,n){"use strict";var i,r,o,s;Object.defineProperty(t,"__esModule",{value:!0});let a=n(0),l=n(51),c=n(21),u=n(9);(o=t.LevelFormat||(t.LevelFormat={})).BULLET="bullet",o.CARDINAL_TEXT="cardinalText",o.CHICAGO="chicago",o.DECIMAL="decimal",o.DECIMAL_ENCLOSED_CIRCLE="decimalEnclosedCircle",o.DECIMAL_ENCLOSED_FULLSTOP="decimalEnclosedFullstop",o.DECIMAL_ENCLOSED_PARENTHESES="decimalEnclosedParen",o.DECIMAL_ZERO="decimalZero",o.LOWER_LETTER="lowerLetter",o.LOWER_ROMAN="lowerRoman",o.NONE="none",o.ORDINAL_TEXT="ordinalText",o.UPPER_LETTER="upperLetter",o.UPPER_ROMAN="upperRoman";class d extends a.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={ilvl:"w:ilvl",tentative:"w15:tentative"}}}class h extends a.XmlComponent{constructor(e){super("w:start"),this.root.push(new a.Attributes({val:e}))}}class p extends a.XmlComponent{constructor(e){super("w:numFmt"),this.root.push(new a.Attributes({val:e}))}}class f extends a.XmlComponent{constructor(e){super("w:lvlText"),this.root.push(new a.Attributes({val:e}))}}class m extends a.XmlComponent{constructor(e){super("w:lvlJc"),this.root.push(new a.Attributes({val:e}))}}(s=t.LevelSuffix||(t.LevelSuffix={})).NOTHING="nothing",s.SPACE="space",s.TAB="tab";class g extends a.XmlComponent{constructor(e){super("w:suff"),this.root.push(new a.Attributes({val:e}))}}class v extends a.XmlComponent{constructor({level:e,format:t,text:n,alignment:i=l.AlignmentType.START,start:r=1,style:o,suffix:s}){super("w:lvl"),this.root.push(new d({ilvl:e,tentative:1})),this.root.push(new h(r)),this.root.push(new m(i)),t&&this.root.push(new p(t)),n&&this.root.push(new f(n)),this.paragraphProperties=new c.ParagraphProperties(o&&o.paragraph),this.runProperties=new u.RunProperties(o&&o.run),this.root.push(this.paragraphProperties),this.root.push(this.runProperties),s&&this.root.push(new g(s))}}t.LevelBase=v;t.Level=class e extends v{constructor(e){super(e)}};t.LevelForOverride=class e extends v{}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.BaseXmlComponent=class e{constructor(e){this.deleted=!1,this.rootKey=e}get IsDeleted(){return this.deleted}}},function(e,t,n){var i=n(54),r=n(156),o=n(62),s=n(157);e.exports={xml2js:i,xml2json:r,js2xml:o,json2xml:s}},function(e,t,n){"use strict";var i,r="object"==typeof Reflect?Reflect:null,o=r&&"function"==typeof r.apply?r.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};i=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function a(){a.init.call(this)}e.exports=a,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var l=10;function c(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function u(e,t,n,i){if("function"!=typeof n)throw TypeError('The "listener" argument must be of type Function. Received type '+typeof n);if(void 0===(s=e._events)?(s=e._events=Object.create(null),e._eventsCount=0):(void 0!==s.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),s=e._events),a=s[t]),void 0===a)a=s[t]=n,++e._eventsCount;else if("function"==typeof a?a=s[t]=i?[n,a]:[a,n]:i?a.unshift(n):a.push(n),(o=c(e))>0&&a.length>o&&!a.warned){a.warned=!0;var r,o,s,a,l=Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=a.length,r=l,console&&console.warn&&console.warn(r)}return e}function d(){for(var e=[],t=0;t<arguments.length;t++)e.push(arguments[t]);!this.fired&&(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,o(this.listener,this.target,e))}function h(e,t,n){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},r=d.bind(i);return r.listener=n,i.wrapFn=r,r}function p(e,t,n){var i=e._events;if(void 0===i)return[];var r=i[t];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(e){for(var t=Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(r):m(r,r.length)}function f(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function m(e,t){for(var n=Array(t),i=0;i<t;++i)n[i]=e[i];return n}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return l},set:function(e){if("number"!=typeof e||e<0||s(e))throw RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");l=e}}),a.init=function(){(void 0===this._events||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||s(e))throw RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},a.prototype.getMaxListeners=function(){return c(this)},a.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var i="error"===e,r=this._events;if(void 0!==r)i=i&&void 0===r.error;else if(!i)return!1;if(i){if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var s,a=Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var l=r[e];if(void 0===l)return!1;if("function"==typeof l)o(l,this,t);else{for(var c=l.length,u=m(l,c),n=0;n<c;++n)o(u[n],this,t)}return!0},a.prototype.addListener=function(e,t){return u(this,e,t,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(e,t){return u(this,e,t,!0)},a.prototype.once=function(e,t){if("function"!=typeof t)throw TypeError('The "listener" argument must be of type Function. Received type '+typeof t);return this.on(e,h(this,e,t)),this},a.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw TypeError('The "listener" argument must be of type Function. Received type '+typeof t);return this.prependListener(e,h(this,e,t)),this},a.prototype.removeListener=function(e,t){var n,i,r,o,s;if("function"!=typeof t)throw TypeError('The "listener" argument must be of type Function. Received type '+typeof t);if(void 0===(i=this._events)||void 0===(n=i[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(r=-1,o=n.length-1;o>=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,r=o;break}if(r<0)return this;0===r?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,r),1===n.length&&(i[e]=n[0]),void 0!==i.removeListener&&this.emit("removeListener",e,s||t)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(e){var t,n,i;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0==arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0==arguments.length){var r,o=Object.keys(n);for(i=0;i<o.length;++i)"removeListener"!==(r=o[i])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this},a.prototype.listeners=function(e){return p(this,e,!0)},a.prototype.rawListeners=function(e){return p(this,e,!1)},a.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):f.call(e,t)},a.prototype.listenerCount=f,a.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},function(e,t,n){(t=e.exports=n(57)).Stream=t,t.Readable=t,t.Writable=n(29),t.Duplex=n(5),t.Transform=n(61),t.PassThrough=n(151)},function(e,t,n){"use strict";(function(t,i,r){var o,s,a=n(15);function l(e){var t=this;this.next=null,this.entry=null,this.finish=function(){(function(e,t,n){var i=e.entry;for(e.entry=null;i;){var r=i.callback;t.pendingcb--,r(n),i=i.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e})(t,e)}}e.exports=y;var c=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?i:a.nextTick;y.WritableState=v;var u=n(14);u.inherits=n(7);var d={deprecate:n(150)},h=n(58),p=n(16).Buffer,f=r.Uint8Array||function(){},m=n(59);function g(){}function v(e,t){o=o||n(5),e=e||{};var i=t instanceof o;this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var r=e.highWaterMark,s=e.writableHighWaterMark,u=this.objectMode?16:16384;r||0===r?this.highWaterMark=r:i&&(s||0===s)?this.highWaterMark=s:this.highWaterMark=u,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var d=!1===e.decodeStrings;this.decodeStrings=!d,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){(function(e,t){var n,i,r,o,s,l,u=e._writableState,d=u.sync,h=u.writecb;if((n=u).writing=!1,n.writecb=null,n.length-=n.writelen,n.writelen=0,t){;i=e,r=u,o=d,s=t,l=h,--r.pendingcb,o?(a.nextTick(l,s),a.nextTick(k,i,r),i._writableState.errorEmitted=!0,i.emit("error",s)):(l(s),i._writableState.errorEmitted=!0,i.emit("error",s),k(i,r))}else{var p=E(u);!p&&!u.corked&&!u.bufferProcessing&&u.bufferedRequest&&_(e,u),d?c(w,e,u,p,h):w(e,u,p,h)}})(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new l(this)}function y(e){if(o=o||n(5),!s.call(y,this)&&!(this instanceof o))return new y(e);this._writableState=new v(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),h.call(this)}u.inherits(y,h),v.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},!function(){try{Object.defineProperty(v.prototype,"buffer",{get:d.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(s=Function.prototype[Symbol.hasInstance],Object.defineProperty(y,Symbol.hasInstance,{value:function(e){return!!s.call(this,e)||this===y&&e&&e._writableState instanceof v}})):s=function(e){return e instanceof this},y.prototype.pipe=function(){this.emit("error",Error("Cannot pipe, not readable"))};y.prototype.write=function(e,t,n){var i,r,o,s,l,c,u,d,h,m,v,y=this._writableState,w=!1;var _=!y.objectMode&&(i=e,p.isBuffer(i)||i instanceof f);if(_&&!p.isBuffer(e)){;r=e,e=p.from(r)}if("function"==typeof t&&(n=t,t=null),_?t="buffer":!t&&(t=y.defaultEncoding),"function"!=typeof n&&(n=g),y.ended){;o=this,s=n,l=Error("write after end"),o.emit("error",l),a.nextTick(s,l)}else{;if(_||(c=this,u=y,d=e,h=n,m=!0,v=!1,null===d?v=TypeError("May not write null values to stream"):"string"!=typeof d&&void 0!==d&&!u.objectMode&&(v=TypeError("Invalid non-string/buffer chunk")),v&&(c.emit("error",v),a.nextTick(h,v),m=!1),m))y.pendingcb++,w=function(e,t,n,i,r,o){if(!n){var s,a,l,c=(s=t,a=i,l=r,!s.objectMode&&!1!==s.decodeStrings&&"string"==typeof a&&(a=p.from(a,l)),a);i!==c&&(n=!0,r="buffer",i=c)}var u=t.objectMode?1:i.length;t.length+=u;var d=t.length<t.highWaterMark;if(!d&&(t.needDrain=!0),t.writing||t.corked){var h=t.lastBufferedRequest;t.lastBufferedRequest={chunk:i,encoding:r,isBuf:n,callback:o,next:null},h?h.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else b(e,t,!1,u,i,r,o);return d}(this,y,_,e,t,n)}return w},y.prototype.cork=function(){var e=this._writableState;e.corked++},y.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.finished&&!e.bufferProcessing&&e.bufferedRequest&&_(this,e))},y.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(y.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function b(e,t,n,i,r,o,s){t.writelen=i,t.writecb=s,t.writing=!0,t.sync=!0,n?e._writev(r,t.onwrite):e._write(r,o,t.onwrite),t.sync=!1}function w(e,t,n,i){!n&&function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,i(),k(e,t)}function _(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var i=Array(t.bufferedRequestCount),r=t.corkedRequestsFree;r.entry=n;for(var o=0,s=!0;n;)i[o]=n,!n.isBuf&&(s=!1),n=n.next,o+=1;i.allBuffers=s,b(e,t,!0,t.length,i,"",r.finish),t.pendingcb++,t.lastBufferedRequest=null,r.next?(t.corkedRequestsFree=r.next,r.next=null):t.corkedRequestsFree=new l(t),t.bufferedRequestCount=0}else{for(;n;){var a=n.chunk,c=n.encoding,u=n.callback,d=t.objectMode?1:a.length;if(b(e,t,!1,d,a,c,u),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function E(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function x(e,t){e._final(function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),k(e,t)})}y.prototype._write=function(e,t,n){n(Error("_write() is not implemented"))},y.prototype._writev=null,y.prototype.end=function(e,t,n){var i=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),!i.ending&&!i.finished&&function(e,t,n){t.ending=!0,k(e,t),n&&(t.finished?a.nextTick(n):e.once("finish",n)),t.ended=!0,e.writable=!1}(this,i,n)};function k(e,t){var n,i,r=E(t);if(r){;n=e,(i=t).prefinished||i.finalCalled||("function"==typeof n._final?(i.pendingcb++,i.finalCalled=!0,a.nextTick(x,n,i)):(i.prefinished=!0,n.emit("prefinish"))),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))}return r}Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){if(!!this._writableState)this._writableState.destroyed=e}}),y.prototype.destroy=m.destroy,y.prototype._undestroy=m.undestroy,y.prototype._destroy=function(e,t){this.end(),t(e)}}).call(t,n(13),n(60).setImmediate,n(4))},function(e,t,n){"use strict";var i=n(16).Buffer,r=i.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(e){var t;switch(this.encoding=function(e){var t=function(e){var t;if(!e)return"utf8";for(;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(i.isEncoding===r||!r(e)))throw Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=l,this.end=c,t=4;break;case"utf8":this.fillLast=a,t=4;break;case"base64":this.text=u,this.end=d,t=3;break;default:this.write=h,this.end=p;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=i.allocUnsafe(t)}function s(e){if(e<=127)return 0;if(e>>5==6)return 2;if(e>>4==14)return 3;else if(e>>3==30)return 4;return e>>6==2?-1:-2}t.StringDecoder=o,o.prototype.write=function(e){var t,n;if(0===e.length)return"";if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n<e.length?t?t+this.text(e,n):this.text(e,n):t||""},o.prototype.end=function(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t},o.prototype.text=function(e,t){var n=function(e,t,n){var i=t.length-1;if(i<n)return 0;var r=s(t[i]);return r>=0?(r>0&&(e.lastNeed=r-1),r):--i<n||-2===r?0:(r=s(t[i]))>=0?(r>0&&(e.lastNeed=r-2),r):--i<n||-2===r?0:(r=s(t[i]))>=0?(r>0&&(2===r?r=0:e.lastNeed=r-3),r):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var i=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,i),e.toString("utf8",t,i)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length};function a(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if((192&t[0])!=128)return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if((192&t[1])!=128)return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&(192&t[2])!=128)return e.lastNeed=2,"�"}}(this,e,0);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):void(e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length)}function l(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var i=n.charCodeAt(n.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function u(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function d(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function h(e){return e.toString(this.encoding)}function p(e){return e&&e.length?this.write(e):""}},function(e,t,n){var i=n(32).isArray;e.exports={copyOptions:function(e){var t,n={};for(t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n},ensureFlagExists:function(e,t){(!(e in t)||"boolean"!=typeof t[e])&&(t[e]=!1)},ensureSpacesExists:function(e){(!("spaces"in e)||"number"!=typeof e.spaces&&"string"!=typeof e.spaces)&&(e.spaces=0)},ensureAlwaysArrayExists:function(e){(!("alwaysArray"in e)||"boolean"!=typeof e.alwaysArray&&!i(e.alwaysArray))&&(e.alwaysArray=!1)},ensureKeyExists:function(e,t){(!(e+"Key"in t)||"string"!=typeof t[e+"Key"])&&(t[e+"Key"]=t.compact?"_"+e:e)},checkFnExists:function(e,t){return e+"Fn"in t}}},function(e,t){e.exports={isArray:function(e){return Array.isArray?Array.isArray(e):"[object Array]"===Object.prototype.toString.call(e)}}},function(e,t,n){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0});let r=n(0);(i=t.EmphasisMarkType||(t.EmphasisMarkType={})).DOT="dot";class o extends r.XmlComponent{constructor(e){super("w:em"),this.root.push(new r.Attributes({val:e}))}}t.BaseEmphasisMark=o;t.EmphasisMark=class e extends o{constructor(e=i.DOT){super(e)}};t.DotEmphasisMark=class e extends o{constructor(){super(i.DOT)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={ascii:"w:ascii",cs:"w:cs",eastAsia:"w:eastAsia",hAnsi:"w:hAnsi",hint:"w:hint"}}}class o extends i.XmlComponent{constructor(e,t){super("w:rFonts"),"string"==typeof e?this.root.push(new r({ascii:e,cs:e,eastAsia:e,hAnsi:e,hint:t})):this.root.push(new r(e))}}t.RunFonts=o},function(e,t,n){"use strict";var i,r,o,s,a,l,c,u;Object.defineProperty(t,"__esModule",{value:!0}),(a=t.HorizontalPositionRelativeFrom||(t.HorizontalPositionRelativeFrom={})).CHARACTER="character",a.COLUMN="column",a.INSIDE_MARGIN="insideMargin",a.LEFT_MARGIN="leftMargin",a.MARGIN="margin",a.OUTSIDE_MARGIN="outsideMargin",a.PAGE="page",a.RIGHT_MARGIN="rightMargin",(l=t.VerticalPositionRelativeFrom||(t.VerticalPositionRelativeFrom={})).BOTTOM_MARGIN="bottomMargin",l.INSIDE_MARGIN="insideMargin",l.LINE="line",l.MARGIN="margin",l.OUTSIDE_MARGIN="outsideMargin",l.PAGE="page",l.PARAGRAPH="paragraph",l.TOP_MARGIN="topMargin",(c=t.HorizontalPositionAlign||(t.HorizontalPositionAlign={})).CENTER="center",c.INSIDE="inside",c.LEFT="left",c.OUTSIDE="outside",c.RIGHT="right",(u=t.VerticalPositionAlign||(t.VerticalPositionAlign={})).BOTTOM="bottom",u.CENTER="center",u.INSIDE="inside",u.OUTSIDE="outside",u.TOP="top"},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(200)),i(n(201)),i(n(202)),i(n(203)),i(n(204))},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(217)),i(n(219)),i(n(229))},function(e,t,n){"use strict";var i,r,o,s,a,l,c,u;Object.defineProperty(t,"__esModule",{value:!0});let d=n(0);class h extends d.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={style:"w:val",size:"w:sz",color:"w:color"}}}class p extends d.XmlComponent{setProperties(e,t,n){let i=new h({style:e,size:t,color:n});return this.root.push(i),this}}class f extends d.IgnoreIfEmptyXmlComponent{constructor(){super("w:tcBorders")}addTopBorder(e,t,n){let i=new p("w:top");return i.setProperties(e,t,n),this.root.push(i),this}addStartBorder(e,t,n){let i=new p("w:start");return i.setProperties(e,t,n),this.root.push(i),this}addBottomBorder(e,t,n){let i=new p("w:bottom");return i.setProperties(e,t,n),this.root.push(i),this}addEndBorder(e,t,n){let i=new p("w:end");return i.setProperties(e,t,n),this.root.push(i),this}addLeftBorder(e,t,n){let i=new p("w:left");return i.setProperties(e,t,n),this.root.push(i),this}addRightBorder(e,t,n){let i=new p("w:right");return i.setProperties(e,t,n),this.root.push(i),this}}t.TableCellBorders=f;class m extends d.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}class g extends d.XmlComponent{constructor(e){super("w:gridSpan"),this.root.push(new m({val:e}))}}t.GridSpan=g,(a=t.VerticalMergeType||(t.VerticalMergeType={})).CONTINUE="continue",a.RESTART="restart";class v extends d.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}class y extends d.XmlComponent{constructor(e){super("w:vMerge"),this.root.push(new v({val:e}))}}t.VerticalMerge=y,(l=t.VerticalAlign||(t.VerticalAlign={})).BOTTOM="bottom",l.CENTER="center",l.TOP="top";class b extends d.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}class w extends d.XmlComponent{constructor(e){super("w:vAlign"),this.root.push(new b({val:e}))}}t.VAlign=w,(c=t.TextDirection||(t.TextDirection={})).BOTTOM_TO_TOP_LEFT_TO_RIGHT="btLr",c.LEFT_TO_RIGHT_TOP_TO_BOTTOM="lrTb",c.TOP_TO_BOTTOM_RIGHT_TO_LEFT="tbRl";class _ extends d.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}class E extends d.XmlComponent{constructor(e){super("w:textDirection"),this.root.push(new _({val:e}))}}t.TDirection=E,(u=t.WidthType||(t.WidthType={})).AUTO="auto",u.DXA="dxa",u.NIL="nil",u.PERCENTAGE="pct";class x extends d.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={width:"w:w",type:"w:type"}}}class k extends d.XmlComponent{constructor(e,t){super("w:tcW"),this.root.push(new x({width:e,type:t}))}}t.TableCellWidth=k},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(267))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(41);class o extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={type:"w:type",styleId:"w:styleId",default:"w:default",customStyle:"w:customStyle"}}}class s extends i.XmlComponent{constructor(e,t){super("w:style"),this.root.push(new o(e)),t&&this.root.push(new r.Name(t))}}t.Style=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}class o extends i.XmlComponent{constructor(e){super("w:name"),this.root.push(new r({val:e}))}}t.Name=o;class s extends i.XmlComponent{constructor(e){super("w:basedOn"),this.root.push(new r({val:e}))}}t.BasedOn=s;class a extends i.XmlComponent{constructor(e){super("w:next"),this.root.push(new r({val:e}))}}t.Next=a;class l extends i.XmlComponent{constructor(e){super("w:link"),this.root.push(new r({val:e}))}}t.Link=l;class c extends i.XmlComponent{constructor(e){super("w:uiPriority"),this.root.push(new r({val:e}))}}t.UiPriority=c;class u extends i.XmlComponent{constructor(){super("w:unhideWhenUsed")}}t.UnhideWhenUsed=u;class d extends i.XmlComponent{constructor(){super("w:qFormat")}}t.QuickFormat=d;class h extends i.XmlComponent{}t.TableProperties=h;class p extends i.XmlComponent{}t.RsId=p;class f extends i.XmlComponent{constructor(){super("w:semiHidden")}}t.SemiHidden=f},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(1),r=n(9),o=n(41),s=n(40);class a extends s.Style{constructor(e){super({type:"paragraph",styleId:e.id},e.name),this.paragraphProperties=new i.ParagraphProperties(e.paragraph),this.runProperties=new r.RunProperties(e.run),this.root.push(this.paragraphProperties),this.root.push(this.runProperties),e.basedOn&&this.root.push(new o.BasedOn(e.basedOn)),e.next&&this.root.push(new o.Next(e.next)),e.quickFormat&&this.root.push(new o.QuickFormat),e.link&&this.root.push(new o.Link(e.link)),e.semiHidden&&this.root.push(new o.SemiHidden),e.uiPriority&&this.root.push(new o.UiPriority(e.uiPriority)),e.unhideWhenUsed&&this.root.push(new o.UnhideWhenUsed)}}t.StyleForParagraph=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(9),r=n(41),o=n(40);class s extends o.Style{constructor(e){super({type:"character",styleId:e.id},e.name),this.runProperties=new i.RunProperties(e.run),this.root.push(this.runProperties),this.root.push(new r.UiPriority(99)),this.root.push(new r.UnhideWhenUsed),e.basedOn&&this.root.push(new r.BasedOn(e.basedOn)),e.link&&this.root.push(new r.Link(e.link)),e.semiHidden&&this.root.push(new r.SemiHidden)}}t.StyleForCharacter=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertMillimetersToTwip=e=>Math.floor(e/25.4*1440),t.convertInchesToTwip=e=>Math.floor(1440*e)},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=t.PageOrientation||(t.PageOrientation={})).PORTRAIT="portrait",r.LANDSCAPE="landscape";class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={width:"w:w",height:"w:h",orientation:"w:orient"}}}t.PageSizeAttributes=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(308),r=n(47);t.FooterWrapper=class e{constructor(e,t,n){this.media=e,this.footer=new i.Footer(t,n),this.relationships=new r.Relationships}add(e){this.footer.add(e)}addChildElement(e){this.footer.addChildElement(e)}get Footer(){return this.footer}get Relationships(){return this.relationships}get Media(){return this.media}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(310))},function(e,t,n){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0});let r=n(0),o=n(312);(t.TargetModeType||(t.TargetModeType={})).EXTERNAL="External";class s extends r.XmlComponent{constructor(e,t,n,i){super("Relationship"),this.root.push(new o.RelationshipAttributes({id:e,type:t,target:n,targetMode:i}))}}t.Relationship=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(326),r=n(47);t.HeaderWrapper=class e{constructor(e,t,n){this.media=e,this.header=new i.Header(t,n),this.relationships=new r.Relationships}add(e){return this.header.add(e),this}addChildElement(e){this.header.addChildElement(e)}get Header(){return this.header}get Relationships(){return this.relationships}get Media(){return this.media}}},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(328)),i(n(329))},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(52)),i(n(63)),i(n(64)),i(n(65)),i(n(66)),i(n(82)),i(n(83)),i(n(84)),i(n(85))},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=t.AlignmentType||(t.AlignmentType={})).START="start",r.END="end",r.CENTER="center",r.BOTH="both",r.JUSTIFIED="both",r.DISTRIBUTE="distribute",r.LEFT="left",r.RIGHT="right";class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}t.AlignmentAttributes=s;class a extends o.XmlComponent{constructor(e){super("w:jc"),this.root.push(new s({val:e}))}}t.Alignment=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(25);class r extends i.BaseXmlComponent{constructor(e){super("_attr"),this.root=e}prepForXml(){let e={};return Object.keys(this.root).forEach(t=>{let n=this.root[t];void 0!==n&&(e[this.xmlKeys&&this.xmlKeys[t]||t]=n)}),{_attr:e}}set(e){this.root=e}}t.XmlAttributeComponent=r},function(e,t,n){var i,r,o=n(143),s={on:function(){},parse:function(){}},a=n(31),l=n(32).isArray;function c(e){var t=Number(e);if(!isNaN(t))return t;var n=e.toLowerCase();return"true"===n||"false"!==n&&e}function u(e,t){var n;if(i.compact){if(!r[i[e+"Key"]]&&(l(i.alwaysArray)?-1!==i.alwaysArray.indexOf(i[e+"Key"]):i.alwaysArray)&&(r[i[e+"Key"]]=[]),r[i[e+"Key"]]&&!l(r[i[e+"Key"]])&&(r[i[e+"Key"]]=[r[i[e+"Key"]]]),e+"Fn"in i&&"string"==typeof t&&(t=i[e+"Fn"](t,r)),"instruction"===e&&("instructionFn"in i||"instructionNameFn"in i)){for(n in t)if(t.hasOwnProperty(n)){if("instructionFn"in i)t[n]=i.instructionFn(t[n],n,r);else{var o=t[n];delete t[n],t[i.instructionNameFn(n,o,r)]=o}}}l(r[i[e+"Key"]])?r[i[e+"Key"]].push(t):r[i[e+"Key"]]=t}else{!r[i.elementsKey]&&(r[i.elementsKey]=[]);var s={};if(s[i.typeKey]=e,"instruction"===e){for(n in t)if(t.hasOwnProperty(n))break;s[i.nameKey]="instructionNameFn"in i?i.instructionNameFn(n,t,r):n,i.instructionHasAttributes?(s[i.attributesKey]=t[n][i.attributesKey],"instructionFn"in i&&(s[i.attributesKey]=i.instructionFn(s[i.attributesKey],n,r))):("instructionFn"in i&&(t[n]=i.instructionFn(t[n],n,r)),s[i.instructionKey]=t[n])}else e+"Fn"in i&&(t=i[e+"Fn"](t,r)),s[i[e+"Key"]]=t;i.addParent&&(s[i.parentKey]=r),r[i.elementsKey].push(s)}}function d(e){if("attributesFn"in i&&e&&(e=i.attributesFn(e,r)),(i.trim||"attributeValueFn"in i||"attributeNameFn"in i||i.nativeTypeAttributes)&&e){var t;for(t in e)if(e.hasOwnProperty(t)&&(i.trim&&(e[t]=e[t].trim()),i.nativeTypeAttributes&&(e[t]=c(e[t])),"attributeValueFn"in i&&(e[t]=i.attributeValueFn(e[t],t,r)),"attributeNameFn"in i)){var n=e[t];delete e[t],e[i.attributeNameFn(t,e[t],r)]=n}}return e}function h(e){var t={};if(e.body&&("xml"===e.name.toLowerCase()||i.instructionHasAttributes)){for(var n,o=/([\w:-]+)\s*=\s*(?:"([^"]*)"|'([^']*)'|(\w+))\s*/g;null!==(n=o.exec(e.body));)t[n[1]]=n[2]||n[3]||n[4];t=d(t)}if("xml"===e.name.toLowerCase()){if(i.ignoreDeclaration)return;r[i.declarationKey]={},Object.keys(t).length&&(r[i.declarationKey][i.attributesKey]=t),i.addParent&&(r[i.declarationKey][i.parentKey]=r)}else{if(i.ignoreInstruction)return;i.trim&&(e.body=e.body.trim());var s={};i.instructionHasAttributes&&Object.keys(t).length?(s[e.name]={},s[e.name][i.attributesKey]=t):s[e.name]=e.body,u("instruction",s)}}function p(e,t){var n,o;if("object"==typeof e&&(t=e.attributes,e=e.name),t=d(t),"elementNameFn"in i&&(e=i.elementNameFn(e,r)),i.compact){if(n={},!i.ignoreAttributes&&t&&Object.keys(t).length)for(o in n[i.attributesKey]={},t)t.hasOwnProperty(o)&&(n[i.attributesKey][o]=t[o]);!(e in r)&&(l(i.alwaysArray)?-1!==i.alwaysArray.indexOf(e):i.alwaysArray)&&(r[e]=[]),r[e]&&!l(r[e])&&(r[e]=[r[e]]),l(r[e])?r[e].push(n):r[e]=n}else!r[i.elementsKey]&&(r[i.elementsKey]=[]),(n={})[i.typeKey]="element",n[i.nameKey]=e,!i.ignoreAttributes&&t&&Object.keys(t).length&&(n[i.attributesKey]=t),i.alwaysChildren&&(n[i.elementsKey]=[]),r[i.elementsKey].push(n);n[i.parentKey]=r,r=n}function f(e){if(!i.ignoreText&&(!!e.trim()||!!i.captureSpacesBetweenElements))i.trim&&(e=e.trim()),i.nativeType&&(e=c(e)),i.sanitize&&(e=e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")),u("text",e)}function m(e){if(!i.ignoreComment)i.trim&&(e=e.trim()),u("comment",e)}function g(e){var t=r[i.parentKey];!i.addParent&&delete r[i.parentKey],r=t}function v(e){if(!i.ignoreCdata)i.trim&&(e=e.trim()),u("cdata",e)}function y(e){if(!i.ignoreDoctype)e=e.replace(/^ /,""),i.trim&&(e=e.trim()),u("doctype",e)}function b(e){e.note=e}e.exports=function(e,t){var n,s=o.parser(!0,{}),l={};r=l,n=t,i=a.copyOptions(n),a.ensureFlagExists("ignoreDeclaration",i),a.ensureFlagExists("ignoreInstruction",i),a.ensureFlagExists("ignoreAttributes",i),a.ensureFlagExists("ignoreText",i),a.ensureFlagExists("ignoreComment",i),a.ensureFlagExists("ignoreCdata",i),a.ensureFlagExists("ignoreDoctype",i),a.ensureFlagExists("compact",i),a.ensureFlagExists("alwaysChildren",i),a.ensureFlagExists("addParent",i),a.ensureFlagExists("trim",i),a.ensureFlagExists("nativeType",i),a.ensureFlagExists("nativeTypeAttributes",i),a.ensureFlagExists("sanitize",i),a.ensureFlagExists("instructionHasAttributes",i),a.ensureFlagExists("captureSpacesBetweenElements",i),a.ensureAlwaysArrayExists(i),a.ensureKeyExists("declaration",i),a.ensureKeyExists("instruction",i),a.ensureKeyExists("attributes",i),a.ensureKeyExists("text",i),a.ensureKeyExists("comment",i),a.ensureKeyExists("cdata",i),a.ensureKeyExists("doctype",i),a.ensureKeyExists("type",i),a.ensureKeyExists("name",i),a.ensureKeyExists("elements",i),a.ensureKeyExists("parent",i),a.checkFnExists("doctype",i),a.checkFnExists("instruction",i),a.checkFnExists("cdata",i),a.checkFnExists("comment",i),a.checkFnExists("text",i),a.checkFnExists("instructionName",i),a.checkFnExists("elementName",i),a.checkFnExists("attributeName",i),a.checkFnExists("attributeValue",i),a.checkFnExists("attributes",i),s.opt={strictEntities:!0},s.onopentag=p,s.ontext=f,s.oncomment=m,s.onclosetag=g,s.onerror=b,s.oncdata=v,s.ondoctype=y,s.onprocessinginstruction=h;s.write(e).close();if(l[i.elementsKey]){var c=l[i.elementsKey];delete l[i.elementsKey],l[i.elementsKey]=c,delete l.text}return l}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){e.exports=r;var i=n(27).EventEmitter;function r(){i.call(this)}n(7)(r,i),r.Readable=n(28),r.Writable=n(152),r.Duplex=n(153),r.Transform=n(154),r.PassThrough=n(155),r.Stream=r,r.prototype.pipe=function(e,t){var n=this;function r(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function o(){n.readable&&n.resume&&n.resume()}n.on("data",r),e.on("drain",o),!e._isStdio&&(!t||!1!==t.end)&&(n.on("end",a),n.on("close",l));var s=!1;function a(){!s&&(s=!0,e.end())}function l(){!s&&(s=!0,"function"==typeof e.destroy&&e.destroy())}function c(e){if(u(),0===i.listenerCount(this,"error"))throw e}function u(){n.removeListener("data",r),e.removeListener("drain",o),n.removeListener("end",a),n.removeListener("close",l),n.removeListener("error",c),e.removeListener("error",c),n.removeListener("end",u),n.removeListener("close",u),e.removeListener("close",u)}return n.on("error",c),e.on("error",c),n.on("end",u),n.on("close",u),e.on("close",u),e.emit("pipe",n),e}},function(e,t,n){"use strict";(function(t,i){var r,o,s=n(15);e.exports=b;var a=n(55);b.ReadableState=y,n(27).EventEmitter;var l=function(e,t){return e.listeners(t).length},c=n(58),u=n(16).Buffer,d=t.Uint8Array||function(){},h=n(14);h.inherits=n(7);var p=n(146),f=void 0;f=p&&p.debuglog?p.debuglog("stream"):function(){};var m=n(147),g=n(59);h.inherits(b,c);var v=["error","close","destroy","pause","resume"];function y(e,t){r=r||n(5),e=e||{};var i=t instanceof r;this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var s=e.highWaterMark,a=e.readableHighWaterMark,l=this.objectMode?16:16384;s||0===s?this.highWaterMark=s:i&&(a||0===a)?this.highWaterMark=a:this.highWaterMark=l,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new m,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(!o&&(o=n(30).StringDecoder),this.decoder=new o(e.encoding),this.encoding=e.encoding)}function b(e){if(r=r||n(5),!(this instanceof b))return new b(e);this._readableState=new y(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),c.call(this)}function w(e,t,n,i,r){var o,s,a=e._readableState;if(null===t)a.reading=!1,function(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,x(e)}}(e,a);else if(!r&&(s=function(e,t){var n,i;if(i=t,!u.isBuffer(i)&&!(i instanceof d)&&"string"!=typeof t&&void 0!==t&&!e.objectMode)n=TypeError("Invalid non-string/buffer chunk");return n}(a,t)),s)e.emit("error",s);else if(a.objectMode||t&&t.length>0){if("string"!=typeof t&&!a.objectMode&&Object.getPrototypeOf(t)!==u.prototype){;o=t,t=u.from(o)}i?a.endEmitted?e.emit("error",Error("stream.unshift() after end event")):_(e,a,t,!0):a.ended?e.emit("error",Error("stream.push() after EOF")):(a.reading=!1,a.decoder&&!n?(t=a.decoder.write(t),a.objectMode||0!==t.length?_(e,a,t,!1):T(e,a)):_(e,a,t,!1))}else!i&&(a.reading=!1);return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(a)}function _(e,t,n,i){t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,i?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&x(e)),T(e,t)}Object.defineProperty(b.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){if(!!this._readableState)this._readableState.destroyed=e}}),b.prototype.destroy=g.destroy,b.prototype._undestroy=g.undestroy,b.prototype._destroy=function(e,t){this.push(null),t(e)},b.prototype.push=function(e,t){var n,i=this._readableState;return i.objectMode?n=!0:"string"==typeof e&&((t=t||i.defaultEncoding)!==i.encoding&&(e=u.from(e,t),t=""),n=!0),w(this,e,t,!1,n)},b.prototype.unshift=function(e){return w(this,e,null,!0,!1)};b.prototype.isPaused=function(){return!1===this._readableState.flowing},b.prototype.setEncoding=function(e){return!o&&(o=n(30).StringDecoder),this._readableState.decoder=new o(e),this._readableState.encoding=e,this};function E(e,t){if(e<=0||0===t.length&&t.ended)return 0;if(t.objectMode)return 1;if(e!=e)return t.flowing&&t.length?t.buffer.head.data.length:t.length;if(e>t.highWaterMark){var n;t.highWaterMark=((n=e)>=8388608?n=8388608:(n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++),n)}return e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0)}b.prototype.read=function(e){f("read",e),e=parseInt(e,10);var t,n=this._readableState,i=e;if(0!==e&&(n.emittedReadable=!1),0===e&&n.needReadable&&(n.length>=n.highWaterMark||n.ended))return f("read: emitReadable",n.length,n.ended),0===n.length&&n.ended?I(this):x(this),null;if(0===(e=E(e,n))&&n.ended)return 0===n.length&&I(this),null;var r=n.needReadable;return f("need readable",r),(0===n.length||n.length-e<n.highWaterMark)&&f("length less than watermark",r=!0),n.ended||n.reading?f("reading or ended",r=!1):r&&(f("do read"),n.reading=!0,n.sync=!0,0===n.length&&(n.needReadable=!0),this._read(n.highWaterMark),n.sync=!1,!n.reading&&(e=E(i,n))),null===(t=e>0?N(e,n):null)?(n.needReadable=!0,e=0):n.length-=e,0===n.length&&(!n.ended&&(n.needReadable=!0),i!==e&&n.ended&&I(this)),null!==t&&this.emit("data",t),t};function x(e){var t=e._readableState;t.needReadable=!1,!t.emittedReadable&&(f("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?s.nextTick(k,e):k(e))}function k(e){f("emit readable"),e.emit("readable"),S(e)}function T(e,t){!t.readingMore&&(t.readingMore=!0,s.nextTick(O,e,t))}function O(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(f("maybeReadMore read 0"),e.read(0),n!==t.length);){;n=t.length}t.readingMore=!1}b.prototype._read=function(e){this.emit("error",Error("_read() is not implemented"))},b.prototype.pipe=function(e,t){var n=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,f("pipe count=%d opts=%j",r.pipesCount,t);var o=t&&!1===t.end||e===i.stdout||e===i.stderr?b:u;function c(t,i){f("onunpipe"),t===n&&i&&!1===i.hasUnpiped&&(i.hasUnpiped=!0,function(){f("cleanup"),e.removeListener("close",v),e.removeListener("finish",y),e.removeListener("drain",d),e.removeListener("error",g),e.removeListener("unpipe",c),n.removeListener("end",u),n.removeListener("end",b),n.removeListener("data",m),h=!0,r.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&d()}())}function u(){f("onend"),e.end()}r.endEmitted?s.nextTick(o):n.once("end",o),e.on("unpipe",c);var d=function(e){return function(){var t=e._readableState;f("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&l(e,"data")&&(t.flowing=!0,S(e))}}(n);e.on("drain",d);var h=!1,p=!1;function m(t){f("ondata"),p=!1,!1===e.write(t)&&!p&&((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==R(r.pipes,e))&&!h&&(f("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,p=!0),n.pause())}function g(t){f("onerror",t),b(),e.removeListener("error",g),0===l(e,"error")&&e.emit("error",t)}function v(){e.removeListener("finish",y),b()}function y(){f("onfinish"),e.removeListener("close",v),b()}function b(){f("unpipe"),n.unpipe(e)}return n.on("data",m),!function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?a(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",g),e.once("close",v),e.once("finish",y),e.emit("pipe",n),!r.flowing&&(f("pipe resume"),n.resume()),e};function C(e){f("readable nexttick read 0"),e.read(0)}b.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(!e&&(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n),this);if(!e){var i=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o<r;o++)i[o].emit("unpipe",this,n);return this}var s=R(t.pipes,e);return -1===s?this:(t.pipes.splice(s,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,n),this)},b.prototype.on=function(e,t){var n=c.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var i=this._readableState;!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.emittedReadable=!1,i.reading?i.length&&x(this):s.nextTick(C,this))}return n},b.prototype.addListener=b.prototype.on,b.prototype.resume=function(){var e=this._readableState;return!e.flowing&&(f("resume"),e.flowing=!0,function(e,t){!t.resumeScheduled&&(t.resumeScheduled=!0,s.nextTick(A,e,t))}(this,e)),this};function A(e,t){!t.reading&&(f("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),S(e),t.flowing&&!t.reading&&e.read(0)}function S(e){var t=e._readableState;for(f("flow",t.flowing);t.flowing&&null!==e.read(););}function N(e,t){var n;return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var i;return e<t.head.data.length?(i=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):i=e===t.head.data.length?t.shift():n?function(e,t){var n=t.head,i=1,r=n.data;for(e-=r.length;n=n.next;){var o=n.data,s=e>o.length?o.length:e;if(s===o.length?r+=o:r+=o.slice(0,e),0==(e-=s)){s===o.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(s));break}++i}return t.length-=i,r}(e,t):function(e,t){var n=u.allocUnsafe(e),i=t.head,r=1;for(i.data.copy(n),e-=i.data.length;i=i.next;){var o=i.data,s=e>o.length?o.length:e;if(o.copy(n,n.length-e,0,s),0==(e-=s)){s===o.length?(++r,i.next?t.head=i.next:t.head=t.tail=null):(t.head=i,i.data=o.slice(s));break}++r}return t.length-=r,n}(e,t),i}(e,t.buffer,t.decoder),n)}b.prototype.pause=function(){return f("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(f("pause"),this._readableState.flowing=!1,this.emit("pause")),this},b.prototype.wrap=function(e){var t=this,n=this._readableState,i=!1;for(var r in e.on("end",function(){if(f("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(r){if(f("wrapped data"),n.decoder&&(r=n.decoder.write(r)),n.objectMode&&null==r)return;if(!!n.objectMode||!!r&&!!r.length)!t.push(r)&&(i=!0,e.pause())}),e)void 0===this[r]&&"function"==typeof e[r]&&(this[r]=function(t){return function(){return e[t].apply(e,arguments)}}(r));for(var o=0;o<v.length;o++)e.on(v[o],this.emit.bind(this,v[o]));return this._read=function(t){f("wrapped _read",t),i&&(i=!1,e.resume())},this},Object.defineProperty(b.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),b._fromList=N;function I(e){var t=e._readableState;if(t.length>0)throw Error('"endReadable()" called on non-empty stream');!t.endEmitted&&(t.ended=!0,s.nextTick(L,t,e))}function L(e,t){!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function R(e,t){for(var n=0,i=e.length;n<i;n++)if(e[n]===t)return n;return -1}}).call(t,n(4),n(13))},function(e,t,n){e.exports=n(27).EventEmitter},function(e,t,n){"use strict";var i=n(15);function r(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var n=this,o=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return o||s?(t?t(e):e&&(!this._writableState||!this._writableState.errorEmitted)&&i.nextTick(r,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!t&&e?(i.nextTick(r,n,e),n._writableState&&(n._writableState.errorEmitted=!0)):t&&t(e)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},function(e,t,n){(function(e){var i=void 0!==e&&e||"undefined"!=typeof self&&self||window,r=Function.prototype.apply;function o(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new o(r.call(setTimeout,i,arguments),clearTimeout)},t.setInterval=function(){return new o(r.call(setInterval,i,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(i,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(149),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(t,n(4))},function(e,t,n){"use strict";e.exports=s;var i=n(5),r=n(14);function o(e,t){var n=this._transformState;n.transforming=!1;var i=n.writecb;if(!i)return this.emit("error",Error("write callback called multiple times"));n.writechunk=null,n.writecb=null,null!=t&&this.push(t),i(e);var r=this._readableState;r.reading=!1,(r.needReadable||r.length<r.highWaterMark)&&this._read(r.highWaterMark)}function s(e){if(!(this instanceof s))return new s(e);i.call(this,e),this._transformState={afterTransform:o.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",a)}function a(){var e=this;"function"==typeof this._flush?this._flush(function(t,n){l(e,t,n)}):l(this,null,null)}function l(e,t,n){if(t)return e.emit("error",t);if(null!=n&&e.push(n),e._writableState.length)throw Error("Calling transform done when ws.length != 0");if(e._transformState.transforming)throw Error("Calling transform done when still transforming");return e.push(null)}r.inherits=n(7),r.inherits(s,i),s.prototype.push=function(e,t){return this._transformState.needTransform=!1,i.prototype.push.call(this,e,t)},s.prototype._transform=function(e,t,n){throw Error("_transform() is not implemented")},s.prototype._write=function(e,t,n){var i=this._transformState;if(i.writecb=n,i.writechunk=e,i.writeencoding=t,!i.transforming){var r=this._readableState;(i.needTransform||r.needReadable||r.length<r.highWaterMark)&&this._read(r.highWaterMark)}},s.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},s.prototype._destroy=function(e,t){var n=this;i.prototype._destroy.call(this,e,function(e){t(e),n.emit("close")})}},function(e,t,n){var i,r,o=n(31),s=n(32).isArray;function a(e,t,n){return(!n&&e.spaces?"\n":"")+Array(t+1).join(e.spaces)}function l(e,t,n){if(t.ignoreAttributes)return"";"attributesFn"in t&&(e=t.attributesFn(e,r,i));var o,s,l,c,u=[];for(o in e)e.hasOwnProperty(o)&&null!==e[o]&&void 0!==e[o]&&(c=t.noQuotesForNativeAttributes&&"string"!=typeof e[o]?"":'"',s=(s=""+e[o]).replace(/"/g,"""),l="attributeNameFn"in t?t.attributeNameFn(o,s,r,i):o,u.push(t.spaces&&t.indentAttributes?a(t,n+1,!1):" "),u.push(l+"="+c+("attributeValueFn"in t?t.attributeValueFn(s,o,r,i):s)+c));return e&&Object.keys(e).length&&t.spaces&&t.indentAttributes&&u.push(a(t,n,!1)),u.join("")}function c(e,t,n){return i=e,r="xml",t.ignoreDeclaration?"":"<?xml"+l(e[t.attributesKey],t,n)+"?>"}function u(e,t,n){if(t.ignoreInstruction)return"";for(o in e)if(e.hasOwnProperty(o))break;var o,s="instructionNameFn"in t?t.instructionNameFn(o,e[o],r,i):o;if("object"==typeof e[o])return i=e,r=s,"<?"+s+l(e[o][t.attributesKey],t,n)+"?>";var a=e[o]?e[o]:"";return"instructionFn"in t&&(a=t.instructionFn(a,o,r,i)),"<?"+s+(a?" "+a:"")+"?>"}function d(e,t){return t.ignoreComment?"":"\x3c!--"+("commentFn"in t?t.commentFn(e,r,i):e)+"--\x3e"}function h(e,t){return t.ignoreCdata?"":"<![CDATA["+("cdataFn"in t?t.cdataFn(e,r,i):e.replace("]]>","]]]]><![CDATA[>"))+"]]>"}function p(e,t){return t.ignoreDoctype?"":"<!DOCTYPE "+("doctypeFn"in t?t.doctypeFn(e,r,i):e)+">"}function f(e,t){return t.ignoreText?"":(e=(e=(e=""+e).replace(/&/g,"&")).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),"textFn"in t?t.textFn(e,r,i):e)}function m(e,t,n,o){return e.reduce(function(e,s){var c,g,v,y,b,w,_=a(t,n,o&&!e);switch(s.type){case"element":;return e+_+(c=s,g=t,v=n,i=c,r=c.name,y=[],b="elementNameFn"in g?g.elementNameFn(c.name,c):c.name,y.push("<"+b),c[g.attributesKey]&&y.push(l(c[g.attributesKey],g,v)),!(w=c[g.elementsKey]&&c[g.elementsKey].length||c[g.attributesKey]&&"preserve"===c[g.attributesKey]["xml:space"])&&(w="fullTagEmptyElementFn"in g?g.fullTagEmptyElementFn(c.name,c):g.fullTagEmptyElement),w?(y.push(">"),c[g.elementsKey]&&c[g.elementsKey].length&&(y.push(m(c[g.elementsKey],g,v+1)),i=c,r=c.name),y.push(g.spaces&&function(e,t){var n;if(e.elements&&e.elements.length)for(n=0;n<e.elements.length;++n)switch(e.elements[n][t.typeKey]){case"text":if(t.indentText)return!0;break;case"cdata":if(t.indentCdata)return!0;break;case"instruction":if(t.indentInstruction)return!0;break;default:return!0}return!1}(c,g)?"\n"+Array(v+1).join(g.spaces):""),y.push("</"+b+">")):y.push("/>"),y.join(""));case"comment":return e+_+d(s[t.commentKey],t);case"doctype":return e+_+p(s[t.doctypeKey],t);case"cdata":return e+(t.indentCdata?_:"")+h(s[t.cdataKey],t);case"text":return e+(t.indentText?_:"")+f(s[t.textKey],t);case"instruction":var E={};return E[s[t.nameKey]]=s[t.attributesKey]?s:s[t.instructionKey],e+(t.indentInstruction?_:"")+u(E,t,n)}},"")}function g(e,t,n){var i;for(i in e)if(e.hasOwnProperty(i))switch(i){case t.parentKey:case t.attributesKey:break;case t.textKey:if(t.indentText||n)return!0;break;case t.cdataKey:if(t.indentCdata||n)return!0;break;case t.instructionKey:if(t.indentInstruction||n)return!0;break;case t.doctypeKey:case t.commentKey:default:return!0}return!1}function v(e,t,n,o){var m,y,b,w=[];for(y in e)if(e.hasOwnProperty(y))for(m=0,b=s(e[y])?e[y]:[e[y]];m<b.length;++m){switch(y){case t.declarationKey:w.push(c(b[m],t,n));break;case t.instructionKey:w.push((t.indentInstruction?a(t,n,o):"")+u(b[m],t,n));break;case t.attributesKey:case t.parentKey:break;case t.textKey:w.push((t.indentText?a(t,n,o):"")+f(b[m],t));break;case t.cdataKey:w.push((t.indentCdata?a(t,n,o):"")+h(b[m],t));break;case t.doctypeKey:w.push(a(t,n,o)+p(b[m],t));break;case t.commentKey:w.push(a(t,n,o)+d(b[m],t));break;default:w.push(a(t,n,o)+function(e,t,n,o,s){i=e,r=t;var c="elementNameFn"in n?n.elementNameFn(t,e):t;if(null==e||""===e)return"fullTagEmptyElementFn"in n&&n.fullTagEmptyElementFn(t,e)||n.fullTagEmptyElement?"<"+c+"></"+c+">":"<"+c+"/>";var u=[];if(t){if(u.push("<"+c),"object"!=typeof e)return u.push(">"+f(e,n)+"</"+c+">"),u.join("");e[n.attributesKey]&&u.push(l(e[n.attributesKey],n,o));var d=g(e,n,!0)||e[n.attributesKey]&&"preserve"===e[n.attributesKey]["xml:space"];if(!d&&(d="fullTagEmptyElementFn"in n?n.fullTagEmptyElementFn(t,e):n.fullTagEmptyElement),!d)return u.push("/>"),u.join("");u.push(">")}return u.push(v(e,n,o+1,!1)),i=e,r=t,t&&u.push((s?a(n,o,!1):"")+"</"+c+">"),u.join("")}(b[m],y,t,n,g(b[m],t)))}o=o&&!w.length}return w.join("")}e.exports=function(e,t){n=t,s=o.copyOptions(n),o.ensureFlagExists("ignoreDeclaration",s),o.ensureFlagExists("ignoreInstruction",s),o.ensureFlagExists("ignoreAttributes",s),o.ensureFlagExists("ignoreText",s),o.ensureFlagExists("ignoreComment",s),o.ensureFlagExists("ignoreCdata",s),o.ensureFlagExists("ignoreDoctype",s),o.ensureFlagExists("compact",s),o.ensureFlagExists("indentText",s),o.ensureFlagExists("indentCdata",s),o.ensureFlagExists("indentAttributes",s),o.ensureFlagExists("indentInstruction",s),o.ensureFlagExists("fullTagEmptyElement",s),o.ensureFlagExists("noQuotesForNativeAttributes",s),o.ensureSpacesExists(s),"number"==typeof s.spaces&&(s.spaces=Array(s.spaces+1).join(" ")),o.ensureKeyExists("declaration",s),o.ensureKeyExists("instruction",s),o.ensureKeyExists("attributes",s),o.ensureKeyExists("text",s),o.ensureKeyExists("comment",s),o.ensureKeyExists("cdata",s),o.ensureKeyExists("doctype",s),o.ensureKeyExists("type",s),o.ensureKeyExists("name",s),o.ensureKeyExists("elements",s),o.checkFnExists("doctype",s),o.checkFnExists("instruction",s),o.checkFnExists("cdata",s),o.checkFnExists("comment",s),o.checkFnExists("text",s),o.checkFnExists("instructionName",s),o.checkFnExists("elementName",s),o.checkFnExists("attributeName",s),o.checkFnExists("attributeValue",s),o.checkFnExists("attributes",s),o.checkFnExists("fullTagEmptyElement",s),t=s;var n,s,a=[];return i=e,r="_root_",t.compact?a.push(v(e,t,0,!0)):(e[t.declarationKey]&&a.push(c(e[t.declarationKey],t,0)),e[t.elementsKey]&&e[t.elementsKey].length&&a.push(m(e[t.elementsKey],t,0,!a.length))),a.join("")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(160);class o extends i.XmlComponent{constructor(e,t={color:"auto",space:1,value:"single",size:6}){super(e);let n=new r.BorderAttributes({color:t.color,space:t.space,val:t.value,sz:t.size});this.root.push(n)}}class s extends i.XmlComponent{constructor(e){if(super("w:pBdr"),void 0!==e.top){let t=new o("w:top",e.top);this.root.push(t)}if(void 0!==e.bottom){let t=new o("w:bottom",e.bottom);this.root.push(t)}if(void 0!==e.left){let t=new o("w:left",e.left);this.root.push(t)}if(void 0!==e.right){let t=new o("w:right",e.right);this.root.push(t)}}}t.Border=s;class a extends i.XmlComponent{constructor(){super("w:pBdr");let e=new o("w:bottom",{color:"auto",space:1,value:"single",size:6});this.root.push(e)}}t.ThematicBreak=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={left:"w:left",hanging:"w:hanging",firstLine:"w:firstLine",start:"w:start",end:"w:end",right:"w:end"}}}class o extends i.XmlComponent{constructor(e){super("w:ind"),this.root.push(new r(e))}}t.Indent=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:keepLines")}}t.KeepLines=r;class o extends i.XmlComponent{constructor(){super("w:keepNext")}}t.KeepNext=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(3);class o extends i.XmlComponent{constructor(){super("w:br"),this.root.push(new i.Attributes({type:"page"}))}}class s extends r.Run{constructor(){super({}),this.root.push(new o)}}t.PageBreak=s;class a extends i.XmlComponent{constructor(){super("w:pageBreakBefore")}}t.PageBreakBefore=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:br")}}t.Break=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);var r=n(19);t.Underline=r.Underline;var o=n(33);t.EmphasisMark=o.EmphasisMark;var s=n(69);t.SubScript=s.SubScript,t.SuperScript=s.SuperScript;var a=n(34);t.RunFonts=a.RunFonts;class l extends i.XmlComponent{constructor(){super("w:b"),this.root.push(new i.Attributes({val:!0}))}}t.Bold=l;class c extends i.XmlComponent{constructor(){super("w:bCs"),this.root.push(new i.Attributes({val:!0}))}}t.BoldComplexScript=c;class u extends i.XmlComponent{constructor(e){super("w:spacing"),this.root.push(new i.Attributes({val:e}))}}t.CharacterSpacing=u;class d extends i.XmlComponent{constructor(){super("w:i"),this.root.push(new i.Attributes({val:!0}))}}t.Italics=d;class h extends i.XmlComponent{constructor(){super("w:iCs"),this.root.push(new i.Attributes({val:!0}))}}t.ItalicsComplexScript=h;class p extends i.XmlComponent{constructor(){super("w:caps"),this.root.push(new i.Attributes({val:!0}))}}t.Caps=p;class f extends i.XmlComponent{constructor(e){super("w:color"),this.root.push(new i.Attributes({val:e}))}}t.Color=f;class m extends i.XmlComponent{constructor(){super("w:dstrike"),this.root.push(new i.Attributes({val:!0}))}}t.DoubleStrike=m;class g extends i.XmlComponent{constructor(){super("w:emboss"),this.root.push(new i.Attributes({val:!0}))}}t.Emboss=g;class v extends i.XmlComponent{constructor(){super("w:imprint"),this.root.push(new i.Attributes({val:!0}))}}t.Imprint=v;class y extends i.XmlComponent{constructor(){super("w:smallCaps"),this.root.push(new i.Attributes({val:!0}))}}t.SmallCaps=y;class b extends i.XmlComponent{constructor(){super("w:strike"),this.root.push(new i.Attributes({val:!0}))}}t.Strike=b;class w extends i.XmlComponent{constructor(e){super("w:sz"),this.root.push(new i.Attributes({val:e}))}}t.Size=w;class _ extends i.XmlComponent{constructor(e){super("w:szCs"),this.root.push(new i.Attributes({val:e}))}}t.SizeComplexScript=_;class E extends i.XmlComponent{constructor(){super("w:rtl"),this.root.push(new i.Attributes({val:!0}))}}t.RightToLeft=E;class x extends i.XmlComponent{constructor(e){super("w:highlight"),this.root.push(new i.Attributes({val:e}))}}t.Highlight=x;class k extends i.XmlComponent{constructor(e){super("w:highlightCs"),this.root.push(new i.Attributes({val:e}))}}t.HighlightComplexScript=k;class T extends i.XmlComponent{constructor(e,t,n){super("w:shd"),this.root.push(new i.Attributes({val:e,fill:t,color:n}))}}t.Shading=T;class O extends i.XmlComponent{constructor(e,t,n){super("w:shdCs"),this.root.push(new i.Attributes({val:e,fill:t,color:n}))}}t.ShadowComplexScript=O},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){super("w:vertAlign"),this.root.push(new i.Attributes({val:e}))}}t.VerticalAlign=r;t.SuperScript=class e extends r{constructor(){super("superscript")}};t.SubScript=class e extends r{constructor(){super("subscript")}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}class o extends i.XmlComponent{constructor(e){super("w:rStyle"),this.root.push(new r({val:e}))}}t.Style=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(8),r=n(0);class o extends r.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={space:"xml:space"}}}class s extends r.XmlComponent{constructor(e){super("w:t"),this.root.push(new o({space:i.SpaceType.PRESERVE})),this.root.push(e)}}t.Text=s},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(166)),i(n(36)),i(n(73))},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(35)),i(n(169)),i(n(170)),i(n(171))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){super("wp:align"),this.root.push(e)}}t.Align=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){super("wp:posOffset"),this.root.push(e.toString())}}t.PositionOffset=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(172))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(205);class o extends i.XmlComponent{constructor(){super("wp:docPr"),this.root.push(new r.DocPropertiesAttributes({id:0,name:"",descr:""}))}}t.DocProperties=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(206);class o extends i.XmlComponent{constructor(){super("wp:effectExtent"),this.root.push(new r.EffectExtentAttributes({b:0,l:0,r:0,t:0}))}}t.EffectExtent=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(207);class o extends i.XmlComponent{constructor(e,t){super("wp:extent"),this.attributes=new r.ExtentAttributes({cx:e,cy:t}),this.root.push(this.attributes)}setXY(e,t){this.attributes.set({cx:e,cy:t})}}t.Extent=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(208);class o extends i.XmlComponent{constructor(){super("wp:cNvGraphicFramePr"),this.root.push(new r.GraphicFrameLocks)}}t.GraphicFrameProperties=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={distT:"distT",distB:"distB",distL:"distL",distR:"distR",allowOverlap:"allowOverlap",behindDoc:"behindDoc",layoutInCell:"layoutInCell",locked:"locked",relativeHeight:"relativeHeight",simplePos:"simplePos"}}}t.AnchorAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={after:"w:after",before:"w:before",line:"w:line",lineRule:"w:lineRule"}}}class o extends i.XmlComponent{constructor(e){super("w:spacing"),this.root.push(new r(e))}}t.Spacing=o;class s extends i.XmlComponent{constructor(e){super("w:contextualSpacing"),this.root.push(new i.Attributes({val:!1===e?0:1}))}}t.ContextualSpacing=s},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=t.HeadingLevel||(t.HeadingLevel={})).HEADING_1="Heading1",r.HEADING_2="Heading2",r.HEADING_3="Heading3",r.HEADING_4="Heading4",r.HEADING_5="Heading5",r.HEADING_6="Heading6",r.TITLE="Title";class s extends o.XmlComponent{constructor(e){super("w:pStyle"),this.root.push(new o.Attributes({val:e}))}}t.Style=s},function(e,t,n){"use strict";var i,r,o,s,a,l;Object.defineProperty(t,"__esModule",{value:!0});let c=n(0);class u extends c.XmlComponent{constructor(e,t,n){super("w:tabs"),this.root.push(new h(e,t,n))}}t.TabStop=u,(s=t.TabStopType||(t.TabStopType={})).LEFT="left",s.RIGHT="right",s.CENTER="center",s.BAR="bar",s.CLEAR="clear",s.DECIMAL="decimal",s.END="end",s.NUM="num",s.START="start",(a=t.LeaderType||(t.LeaderType={})).DOT="dot",a.HYPHEN="hyphen",a.MIDDLE_DOT="middleDot",a.NONE="none",a.UNDERSCORE="underscore",(l=t.TabStopPosition||(t.TabStopPosition={}))[l.MAX=9026]="MAX";class d extends c.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val",pos:"w:pos",leader:"w:leader"}}}t.TabAttributes=d;class h extends c.XmlComponent{constructor(e,t,n){super("w:tab"),this.root.push(new d({val:e,pos:t,leader:n}))}}t.TabStopItem=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e,t){super("w:numPr"),this.root.push(new o(t)),this.root.push(new s(e))}}t.NumberProperties=r;class o extends i.XmlComponent{constructor(e){super("w:ilvl"),this.root.push(new i.Attributes({val:e}))}}class s extends i.XmlComponent{constructor(e){super("w:numId"),this.root.push(new i.Attributes({val:"string"==typeof e?`{${e}}`:e}))}}},function(e,t,n){"use strict";e.exports=n(220)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){for(let t of(super("m:den"),e))this.root.push(t)}}t.MathDenominator=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){for(let t of(super("m:num"),e))this.root.push(t)}}t.MathNumerator=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={accent:"m:val"}}}class o extends i.XmlComponent{constructor(e){super("m:chr"),this.root.push(new r({accent:e}))}}t.MathAccentCharacter=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){for(let t of(super("m:e"),e))this.root.push(t)}}t.MathBase=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={value:"m:val"}}}class o extends i.XmlComponent{constructor(){super("m:limLoc"),this.root.push(new r({value:"undOvr"}))}}t.MathLimitLocation=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(89),o=n(91),s=n(237),a=n(238);class l extends i.XmlComponent{constructor(e,t,n){super("m:naryPr"),this.root.push(new r.MathAccentCharacter(e)),this.root.push(new o.MathLimitLocation),!t&&this.root.push(new a.MathSuperScriptHide),!n&&this.root.push(new s.MathSubScriptHide)}}t.MathNArayProperties=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){for(let t of(super("m:sub"),e))this.root.push(t)}}t.MathSubScriptElement=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){for(let t of(super("m:sup"),e))this.root.push(t)}}t.MathSuperScriptElement=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("m:sSupPr")}}t.MathSuperScriptProperties=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("m:sSubPr")}}t.MathSubScriptProperties=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("m:sSubSupPr")}}t.MathSubSuperScriptProperties=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("m:sPrePr")}}t.MathPreSubSuperScriptProperties=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){if(super("m:deg"),e)for(let t of e)this.root.push(t)}}t.MathDegree=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(252);class o extends i.XmlComponent{constructor(e){super("m:radPr"),!e&&this.root.push(new r.MathDegreeHide)}}t.MathRadicalProperties=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){for(let t of(super("m:fName"),e))this.root.push(t)}}t.MathFunctionName=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("m:funcPr")}}t.MathFunctionProperties=r},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(270)),i(n(109)),i(n(111)),i(n(104)),i(n(110))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(23),r=n(0);class o extends r.XmlComponent{constructor(e){super("w:tblBorders"),e.top?this.root.push(new s("w:top",e.top.style,e.top.size,0,e.top.color)):this.root.push(new s("w:top",i.BorderStyle.SINGLE,4,0,"auto")),e.left?this.root.push(new s("w:left",e.left.style,e.left.size,0,e.left.color)):this.root.push(new s("w:left",i.BorderStyle.SINGLE,4,0,"auto")),e.bottom?this.root.push(new s("w:bottom",e.bottom.style,e.bottom.size,0,e.bottom.color)):this.root.push(new s("w:bottom",i.BorderStyle.SINGLE,4,0,"auto")),e.right?this.root.push(new s("w:right",e.right.style,e.right.size,0,e.right.color)):this.root.push(new s("w:right",i.BorderStyle.SINGLE,4,0,"auto")),e.insideHorizontal?this.root.push(new s("w:insideH",e.insideHorizontal.style,e.insideHorizontal.size,0,e.insideHorizontal.color)):this.root.push(new s("w:insideH",i.BorderStyle.SINGLE,4,0,"auto")),e.insideVertical?this.root.push(new s("w:insideV",e.insideVertical.style,e.insideVertical.size,0,e.insideVertical.color)):this.root.push(new s("w:insideV",i.BorderStyle.SINGLE,4,0,"auto"))}}o.NONE={top:{style:i.BorderStyle.NONE,size:0,color:"auto"},bottom:{style:i.BorderStyle.NONE,size:0,color:"auto"},left:{style:i.BorderStyle.NONE,size:0,color:"auto"},right:{style:i.BorderStyle.NONE,size:0,color:"auto"},insideHorizontal:{style:i.BorderStyle.NONE,size:0,color:"auto"},insideVertical:{style:i.BorderStyle.NONE,size:0,color:"auto"}},t.TableBorders=o;class s extends r.XmlComponent{constructor(e,t,n,i,r){super(e),this.root.push(new a({value:t,size:n,space:i,color:r}))}}class a extends r.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={value:"w:val",size:"w:sz",space:"w:space",color:"w:color"}}}},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(40)),i(n(42)),i(n(43)),i(n(272))},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(107)),i(n(108)),i(n(275))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(21),r=n(0);class o extends r.XmlComponent{constructor(e){super("w:pPrDefault"),this.root.push(new i.ParagraphProperties(e))}}t.ParagraphPropertiesDefaults=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(9),r=n(0);class o extends r.XmlComponent{constructor(e){super("w:rPrDefault"),this.properties=new i.RunProperties(e),this.root.push(this.properties)}}t.RunPropertiesDefaults=o},function(e,t,n){"use strict";var i,r,o,s,a,l;Object.defineProperty(t,"__esModule",{value:!0});let c=n(0),u=n(110);(s=t.TableAnchorType||(t.TableAnchorType={})).MARGIN="margin",s.PAGE="page",s.TEXT="text",(a=t.RelativeHorizontalPosition||(t.RelativeHorizontalPosition={})).CENTER="center",a.INSIDE="inside",a.LEFT="left",a.OUTSIDE="outside",a.RIGHT="right",(l=t.RelativeVerticalPosition||(t.RelativeVerticalPosition={})).CENTER="center",l.INSIDE="inside",l.BOTTOM="bottom",l.OUTSIDE="outside",l.INLINE="inline",l.TOP="top";class d extends c.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={horizontalAnchor:"w:horzAnchor",verticalAnchor:"w:vertAnchor",absoluteHorizontalPosition:"w:tblpX",relativeHorizontalPosition:"w:tblpXSpec",absoluteVerticalPosition:"w:tblpY",relativeVerticalPosition:"w:tblpYSpec",bottomFromText:"w:bottomFromText",topFromText:"w:topFromText",leftFromText:"w:leftFromText",rightFromText:"w:rightFromText"}}}t.TableFloatOptionsAttributes=d;class h extends c.XmlComponent{constructor(e){super("w:tblpPr"),this.root.push(new d(e)),e.overlap&&this.root.push(new u.TableOverlap(e.overlap))}}t.TableFloatProperties=h},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=t.OverlapType||(t.OverlapType={})).NEVER="never",r.OVERLAP="overlap";class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}class a extends o.XmlComponent{constructor(e){super("w:tblOverlap"),this.root.push(new s({val:e}))}}t.TableOverlap=a},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=t.TableLayoutType||(t.TableLayoutType={})).AUTOFIT="autofit",r.FIXED="fixed";class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={type:"w:type"}}}class a extends o.XmlComponent{constructor(e){super("w:tblLayout"),this.root.push(new s({type:e}))}}t.TableLayout=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(113);class o extends i.IgnoreIfEmptyXmlComponent{constructor(){super("w:trPr")}setCantSplit(){return this.root.push(new a),this}setTableHeader(){return this.root.push(new c),this}setHeight(e,t){return this.root.push(new r.TableRowHeight(e,t)),this}}t.TableRowProperties=o;class s extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}class a extends i.XmlComponent{constructor(){super("w:cantSplit"),this.root.push(new s({val:!0}))}}t.CantSplit=a;class l extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}class c extends i.XmlComponent{constructor(){super("w:tblHeader"),this.root.push(new l({val:!0}))}}t.TableHeader=c},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=t.HeightRule||(t.HeightRule={})).AUTO="auto",r.ATLEAST="atLeast",r.EXACT="exact";class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={height:"w:val",rule:"w:hRule"}}}t.TableRowHeightAttributes=s;class a extends o.XmlComponent{constructor(e,t){super("w:trHeight"),this.root.push(new s({height:e,rule:t}))}}t.TableRowHeight=a},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(292)),i(n(11)),i(n(115)),i(n(130))},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(293)),i(n(129))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(44),r=n(0),o=n(294),s=n(296),a=n(117),l=n(118),c=n(120),u=n(121),d=n(123),h=n(124),p=n(300),f=n(125),m=n(126),g=n(45),v=n(303),y=n(127);class b extends r.XmlComponent{constructor(e={column:{}}){super("w:sectPr");let{width:t=11906,height:n=16838,top:r=i.convertInchesToTwip(1),right:a=i.convertInchesToTwip(1),bottom:l=i.convertInchesToTwip(1),left:c=i.convertInchesToTwip(1),header:u=708,footer:b=708,gutter:w=0,mirror:_=!1,column:E={},linePitch:x=360,orientation:k=g.PageOrientation.PORTRAIT,headers:T,footers:O,pageNumberFormatType:C,pageNumberStart:A,lineNumberCountBy:S,lineNumberStart:N,lineNumberRestart:I,lineNumberDistance:L,pageBorders:R,pageBorderTop:P,pageBorderRight:D,pageBorderBottom:j,pageBorderLeft:B,titlePage:F=!1,verticalAlign:q}=e;this.options=e,this.root.push(new m.PageSize(t,n,k)),this.root.push(new p.PageMargin(r,a,l,c,u,b,w,_)),this.root.push(new o.Columns(E.space?E.space:708,E.count?E.count:1)),this.root.push(new s.DocumentGrid(x)),this.addHeaders(T),this.addFooters(O),(A||C)&&this.root.push(new f.PageNumberType(A,C)),(S||N||I||L)&&this.root.push(new d.LineNumberType(S,N,I,L)),(R||P||D||j||B)&&this.root.push(new h.PageBorders({pageBorders:R,pageBorderTop:P,pageBorderRight:D,pageBorderBottom:j,pageBorderLeft:B})),F&&this.root.push(new v.TitlePage),q&&this.root.push(new y.SectionVerticalAlign(q))}addHeaders(e){e&&(e.default&&this.root.push(new u.HeaderReference({headerType:c.HeaderReferenceType.DEFAULT,headerId:e.default.Header.ReferenceId})),e.first&&this.root.push(new u.HeaderReference({headerType:c.HeaderReferenceType.FIRST,headerId:e.first.Header.ReferenceId})),e.even&&this.root.push(new u.HeaderReference({headerType:c.HeaderReferenceType.EVEN,headerId:e.even.Header.ReferenceId})))}addFooters(e){e&&(e.default&&this.root.push(new l.FooterReference({footerType:a.FooterReferenceType.DEFAULT,footerId:e.default.Footer.ReferenceId})),e.first&&this.root.push(new l.FooterReference({footerType:a.FooterReferenceType.FIRST,footerId:e.first.Footer.ReferenceId})),e.even&&this.root.push(new l.FooterReference({footerType:a.FooterReferenceType.EVEN,footerId:e.even.Footer.ReferenceId})))}get Options(){return this.options}}t.SectionProperties=b},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(118)),i(n(119))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(119);class o extends i.XmlComponent{constructor(e){super("w:footerReference"),this.root.push(new r.FooterReferenceAttributes({type:e.footerType||r.FooterReferenceType.DEFAULT,id:`rId${e.footerId}`}))}}t.FooterReference=o},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=t.FooterReferenceType||(t.FooterReferenceType={})).DEFAULT="default",r.FIRST="first",r.EVEN="even";class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={type:"w:type",id:"r:id"}}}t.FooterReferenceAttributes=s},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(121)),i(n(122))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(122);class o extends i.XmlComponent{constructor(e){super("w:headerReference"),this.root.push(new r.HeaderReferenceAttributes({type:e.headerType||r.HeaderReferenceType.DEFAULT,id:`rId${e.headerId}`}))}}t.HeaderReference=o},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=t.HeaderReferenceType||(t.HeaderReferenceType={})).DEFAULT="default",r.FIRST="first",r.EVEN="even";class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={type:"w:type",id:"r:id"}}}t.HeaderReferenceAttributes=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(298))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(299))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(302))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(45);class o extends i.XmlComponent{constructor(e,t,n){super("w:pgSz");let i=n===r.PageOrientation.LANDSCAPE;this.root.push(new r.PageSizeAttributes({width:i?t:e,height:i?e:t,orientation:n}))}}t.PageSize=o},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(305)),i(n(128))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={verticalAlign:"w:val"}}}t.SectionVerticalAlignAttributes=r},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(116)),i(n(117)),i(n(120)),i(n(306)),i(n(125)),i(n(124)),i(n(123)),i(n(127))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(307))},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(313)),i(n(323))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.Header=class e{constructor(e={children:[]}){this.options=e}};t.Footer=class e{constructor(e={children:[]}){this.options=e}}},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(330)),i(n(134)),i(n(24)),i(n(135))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(24),o=n(331);class s extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={abstractNumId:"w:abstractNumId",restartNumberingAfterBreak:"w15:restartNumberingAfterBreak"}}}class a extends i.XmlComponent{constructor(e,t){for(let n of(super("w:abstractNum"),this.root.push(new s({abstractNumId:e,restartNumberingAfterBreak:0})),this.root.push(new o.MultiLevelType("hybridMultilevel")),this.id=e,t))this.root.push(new r.Level(n))}}t.AbstractNumbering=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(24);class o extends i.XmlComponent{constructor(e){super("w:abstractNumId"),this.root.push(new i.Attributes({val:e}))}}class s extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={numId:"w:numId"}}}class a extends i.XmlComponent{constructor(e,t,n){super("w:num"),this.reference=n,this.root.push(new s({numId:e})),this.root.push(new o(t)),this.id=e}overrideLevel(e,t){let n=new c(e,t);return this.root.push(n),n}}t.ConcreteNumbering=a;class l extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={ilvl:"w:ilvl"}}}class c extends i.XmlComponent{constructor(e,t){super("w:lvlOverride"),this.levelNum=e,this.root.push(new l({ilvl:e})),void 0!==t&&this.root.push(new d(t)),this.lvl=new r.LevelForOverride({level:this.levelNum}),this.root.push(this.lvl)}get Level(){return this.lvl}}t.LevelOverride=c;class u extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val"}}}class d extends i.XmlComponent{constructor(e){super("w:startOverride"),this.root.push(new u({val:e}))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={enabled:"w:val"}}}t.UpdateFieldsAttributes=r;class o extends i.XmlComponent{constructor(e=!0){super("w:updateFields"),this.root.push(new r({enabled:e}))}}t.UpdateFields=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={id:"w:id",author:"w:author",date:"w:date"}}}t.ChangeAttributes=r},function(e,t,n){(function(t,n,i){var r,o;o=function(){return(function e(t,n,i){function o(a,l){if(!n[a]){if(!t[a]){if(!l&&"function"==typeof r&&r)return r(a,!0);if(s)return s(a,!0);var c=Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[a]={exports:{}};t[a][0].call(u.exports,function(e){return o(t[a][1][e]||e)},u,u.exports,e,t,n,i)}return n[a].exports}for(var s="function"==typeof r&&r,a=0;a<i.length;a++)o(i[a]);return o})({1:[function(e,t,n){"use strict";var i=e("./utils"),r=e("./support"),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.encode=function(e){for(var t,n,r,s,a,l,c,u=[],d=0,h=e.length,p=h,f="string"!==i.getTypeOf(e);d<e.length;)p=h-d,r=f?(t=e[d++],n=d<h?e[d++]:0,d<h?e[d++]:0):(t=e.charCodeAt(d++),n=d<h?e.charCodeAt(d++):0,d<h?e.charCodeAt(d++):0),s=t>>2,a=(3&t)<<4|n>>4,l=1<p?(15&n)<<2|r>>6:64,c=2<p?63&r:64,u.push(o.charAt(s)+o.charAt(a)+o.charAt(l)+o.charAt(c));return u.join("")},n.decode=function(e){var t,n,i,s,a,l,c=0,u=0,d="data:";if(e.substr(0,d.length)===d)throw Error("Invalid base64 input, it looks like a data url.");var h,p=3*(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"")).length/4;if(e.charAt(e.length-1)===o.charAt(64)&&p--,e.charAt(e.length-2)===o.charAt(64)&&p--,p%1!=0)throw Error("Invalid base64 input, bad content length.");for(h=r.uint8array?new Uint8Array(0|p):Array(0|p);c<e.length;)t=o.indexOf(e.charAt(c++))<<2|(s=o.indexOf(e.charAt(c++)))>>4,n=(15&s)<<4|(a=o.indexOf(e.charAt(c++)))>>2,i=(3&a)<<6|(l=o.indexOf(e.charAt(c++))),h[u++]=t,64!==a&&(h[u++]=n),64!==l&&(h[u++]=i);return h}},{"./support":30,"./utils":32}],2:[function(e,t,n){"use strict";var i=e("./external"),r=e("./stream/DataWorker"),o=e("./stream/DataLengthProbe"),s=e("./stream/Crc32Probe");function a(e,t,n,i,r){this.compressedSize=e,this.uncompressedSize=t,this.crc32=n,this.compression=i,this.compressedContent=r}o=e("./stream/DataLengthProbe"),a.prototype={getContentWorker:function(){var e=new r(i.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new o("data_length")),t=this;return e.on("end",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw Error("Bug : uncompressed data size mismatch")}),e},getCompressedWorker:function(){return new r(i.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},a.createWorkerFrom=function(e,t,n){return e.pipe(new s).pipe(new o("uncompressedSize")).pipe(t.compressWorker(n)).pipe(new o("compressedSize")).withStreamInfo("compression",t)},t.exports=a},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,n){"use strict";var i=e("./stream/GenericWorker");n.STORE={magic:"\0\0",compressWorker:function(e){return new i("STORE compression")},uncompressWorker:function(){return new i("STORE decompression")}},n.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,n){"use strict";var i=e("./utils"),r=function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var i=0;i<8;i++)e=1&e?0xedb88320^e>>>1:e>>>1;t[n]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?"string"!==i.getTypeOf(e)?function(e,t,n,i){var o=0+n;e^=-1;for(var s=i;s<o;s++)e=e>>>8^r[255&(e^t[s])];return -1^e}(0|t,e,e.length,0):function(e,t,n,i){var o=0+n;e^=-1;for(var s=i;s<o;s++)e=e>>>8^r[255&(e^t.charCodeAt(s))];return -1^e}(0|t,e,e.length,0):0}},{"./utils":32}],5:[function(e,t,n){"use strict";n.base64=!1,n.binary=!1,n.dir=!1,n.createFolders=!0,n.date=null,n.compression=null,n.compressionOptions=null,n.comment=null,n.unixPermissions=null,n.dosPermissions=null},{}],6:[function(e,t,n){"use strict";var i=null;i="undefined"!=typeof Promise?Promise:e("lie"),t.exports={Promise:i}},{lie:37}],7:[function(e,t,n){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,r=e("pako"),o=e("./utils"),s=e("./stream/GenericWorker"),a=i?"uint8array":"array";function l(e,t){s.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}n.magic="\b\0",o.inherits(l,s),l.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(o.transformTo(a,e.data),!1)},l.prototype.flush=function(){s.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},l.prototype.cleanUp=function(){s.prototype.cleanUp.call(this),this._pako=null},l.prototype._createPako=function(){this._pako=new r[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},n.compressWorker=function(e){return new l("Deflate",e)},n.uncompressWorker=function(){return new l("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,n){"use strict";function i(e,t){var n,i="";for(n=0;n<t;n++)i+=String.fromCharCode(255&e),e>>>=8;return i}function r(e,t,n,r,s,u){var d,h,p,f,m,g=e.file,v=e.compression,y=u!==a.utf8encode,b=o.transformTo("string",u(g.name)),w=o.transformTo("string",a.utf8encode(g.name)),_=g.comment,E=o.transformTo("string",u(_)),x=o.transformTo("string",a.utf8encode(_)),k=w.length!==g.name.length,T=x.length!==_.length,O="",C="",A="",S=g.dir,N=g.date,I={crc32:0,compressedSize:0,uncompressedSize:0};t&&!n||(I.crc32=e.crc32,I.compressedSize=e.compressedSize,I.uncompressedSize=e.uncompressedSize);var L=0;t&&(L|=8),!y&&(k||T)&&(L|=2048);var R=0,P=0;S&&(R|=16),"UNIX"===s?(P=798,R|=(d=g.unixPermissions,h=S,p=d,d||(p=h?16893:33204),(65535&p)<<16)):(P=20,R|=63&(g.dosPermissions||0)),f=(N.getUTCHours()<<6|N.getUTCMinutes())<<5|N.getUTCSeconds()/2,m=(N.getUTCFullYear()-1980<<4|N.getUTCMonth()+1)<<5|N.getUTCDate(),k&&(C=i(1,1)+i(l(b),4)+w,O+="up"+i(C.length,2)+C),T&&(A=i(1,1)+i(l(E),4)+x,O+="uc"+i(A.length,2)+A);var D="";return D+="\n\0",D+=i(L,2),D+=v.magic,D+=i(f,2),D+=i(m,2),D+=i(I.crc32,4),D+=i(I.compressedSize,4),D+=i(I.uncompressedSize,4),D+=i(b.length,2),D+=i(O.length,2),{fileRecord:c.LOCAL_FILE_HEADER+D+b+O,dirRecord:c.CENTRAL_FILE_HEADER+i(P,2)+D+i(E.length,2)+"\0\0\0\0"+i(R,4)+i(r,4)+b+O+E}}var o=e("../utils"),s=e("../stream/GenericWorker"),a=e("../utf8"),l=e("../crc32"),c=e("../signature");function u(e,t,n,i){s.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=n,this.encodeFileName=i,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}o.inherits(u,s),u.prototype.push=function(e){var t=e.meta.percent||0,n=this.entriesCount,i=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,s.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:n?(t+100*(n-i-1))/n:100}}))},u.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var n=r(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:n.fileRecord,meta:{percent:0}})}else this.accumulate=!0},u.prototype.closedSource=function(e){this.accumulate=!1;var t,n=this.streamFiles&&!e.file.dir,o=r(e,n,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(o.dirRecord),n){;this.push({data:(t=e,c.DATA_DESCRIPTOR+i(t.crc32,4)+i(t.compressedSize,4)+i(t.uncompressedSize,4)),meta:{percent:100}})}else for(this.push({data:o.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},u.prototype.flush=function(){for(var e,t,n,r,s,a,l=this.bytesWritten,u=0;u<this.dirRecords.length;u++)this.push({data:this.dirRecords[u],meta:{percent:100}});var d=this.bytesWritten-l,h=(e=this.dirRecords.length,t=d,n=l,r=this.zipComment,s=this.encodeFileName,a=o.transformTo("string",s(r)),c.CENTRAL_DIRECTORY_END+"\0\0\0\0"+i(e,2)+i(e,2)+i(t,4)+i(n,4)+i(a.length,2)+a);this.push({data:h,meta:{percent:100}})},u.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},u.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()}),e.on("error",function(e){t.error(e)}),this},u.prototype.resume=function(){return!!s.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},u.prototype.error=function(e){var t=this._sources;if(!s.prototype.error.call(this,e))return!1;for(var n=0;n<t.length;n++)try{t[n].error(e)}catch(e){}return!0},u.prototype.lock=function(){s.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},t.exports=u},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,n){"use strict";var i=e("../compressions"),r=e("./ZipFileWorker");n.generateWorker=function(e,t,n){var o=new r(t.streamFiles,n,t.platform,t.encodeFileName),s=0;try{e.forEach(function(e,n){s++;var r=function(e,t){var n=e||t,r=i[n];if(!r)throw Error(n+" is not a valid compression method !");return r}(n.options.compression,t.compression),a=n.options.compressionOptions||t.compressionOptions||{},l=n.dir,c=n.date;n._compressWorker(r,a).withStreamInfo("file",{name:e,dir:l,date:c,comment:n.comment||"",unixPermissions:n.unixPermissions,dosPermissions:n.dosPermissions}).pipe(o)}),o.entriesCount=s}catch(e){o.error(e)}return o}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,n){"use strict";function i(){if(!(this instanceof i))return new i;if(arguments.length)throw Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files={},this.comment=null,this.root="",this.clone=function(){var e=new i;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e}}(i.prototype=e("./object")).loadAsync=e("./load"),i.support=e("./support"),i.defaults=e("./defaults"),i.version="3.5.0",i.loadAsync=function(e,t){return(new i).loadAsync(e,t)},i.external=e("./external"),t.exports=i},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(e,t,n){"use strict";var i=e("./utils"),r=e("./external"),o=e("./utf8"),s=(i=e("./utils"),e("./zipEntries")),a=e("./stream/Crc32Probe"),l=e("./nodejsUtils");t.exports=function(e,t){var n=this;return t=i.extend(t||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:o.utf8decode}),l.isNode&&l.isStream(e)?r.Promise.reject(Error("JSZip can't accept a stream when loading a zip file.")):i.prepareContent("the loaded zip file",e,!0,t.optimizedBinaryString,t.base64).then(function(e){var n=new s(t);return n.load(e),n}).then(function(e){var n=[r.Promise.resolve(e)],i=e.files;if(t.checkCRC32)for(var o=0;o<i.length;o++)n.push(function(e){return new r.Promise(function(t,n){var i=e.decompressed.getContentWorker().pipe(new a);i.on("error",function(e){n(e)}).on("end",function(){i.streamInfo.crc32!==e.decompressed.crc32?n(Error("Corrupted zip : CRC32 mismatch")):t()}).resume()})}(i[o]));return r.Promise.all(n)}).then(function(e){for(var i=e.shift(),r=i.files,o=0;o<r.length;o++){var s=r[o];n.file(s.fileNameStr,s.decompressed,{binary:!0,optimizedBinaryString:!0,date:s.date,dir:s.dir,comment:s.fileCommentStr.length?s.fileCommentStr:null,unixPermissions:s.unixPermissions,dosPermissions:s.dosPermissions,createFolders:t.createFolders})}return i.zipComment.length&&(n.comment=i.zipComment),n})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,n){"use strict";var i=e("../utils"),r=e("../stream/GenericWorker");function o(e,t){r.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t)}i.inherits(o,r),o.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on("data",function(e){t.push({data:e,meta:{percent:0}})}).on("error",function(e){t.isPaused?this.generatedError=e:t.error(e)}).on("end",function(){t.isPaused?t._upstreamEnded=!0:t.end()})},o.prototype.pause=function(){return!!r.prototype.pause.call(this)&&(this._stream.pause(),!0)},o.prototype.resume=function(){return!!r.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=o},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,n){"use strict";var i=e("readable-stream").Readable;function r(e,t,n){i.call(this,t),this._helper=e;var r=this;e.on("data",function(e,t){r.push(e)||r._helper.pause(),n&&n(t)}).on("error",function(e){r.emit("error",e)}).on("end",function(){r.push(null)})}e("../utils").inherits(r,i),r.prototype._read=function(){this._helper.resume()},t.exports=r},{"../utils":32,"readable-stream":16}],14:[function(e,n,i){"use strict";n.exports={isNode:void 0!==t,newBufferFrom:function(e,n){if(t.from&&t.from!==Uint8Array.from)return t.from(e,n);if("number"==typeof e)throw Error('The "data" argument must not be a number');return new t(e,n)},allocBuffer:function(e){if(t.alloc)return t.alloc(e);var n=new t(e);return n.fill(0),n},isBuffer:function(e){return t.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}}},{}],15:[function(e,t,n){"use strict";function i(e,t,n){var i,r=o.getTypeOf(t),a=o.extend(n||{},l);a.date=a.date||new Date,null!==a.compression&&(a.compression=a.compression.toUpperCase()),"string"==typeof a.unixPermissions&&(a.unixPermissions=parseInt(a.unixPermissions,8)),a.unixPermissions&&16384&a.unixPermissions&&(a.dir=!0),a.dosPermissions&&16&a.dosPermissions&&(a.dir=!0),a.dir&&(e=m(e)),a.createFolders&&(i=f(e))&&g.call(this,i,!0);var d="string"===r&&!1===a.binary&&!1===a.base64;n&&void 0!==n.binary||(a.binary=!d),(t instanceof c&&0===t.uncompressedSize||a.dir||!t||0===t.length)&&(a.base64=!1,a.binary=!0,t="",a.compression="STORE",r="string");var v=null;v=t instanceof c||t instanceof s?t:h.isNode&&h.isStream(t)?new p(e,t):o.prepareContent(e,t,a.binary,a.optimizedBinaryString,a.base64);var y=new u(e,v,a);this.files[e]=y}var r=e("./utf8"),o=e("./utils"),s=e("./stream/GenericWorker"),a=e("./stream/StreamHelper"),l=e("./defaults"),c=e("./compressedObject"),u=e("./zipObject"),d=e("./generate"),h=e("./nodejsUtils"),p=e("./nodejs/NodejsStreamInputAdapter"),f=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return 0<t?e.substring(0,t):""},m=function(e){return"/"!==e.slice(-1)&&(e+="/"),e},g=function(e,t){return t=void 0!==t?t:l.createFolders,e=m(e),this.files[e]||i.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function v(e){return"[object RegExp]"===Object.prototype.toString.call(e)}t.exports={load:function(){throw Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,n,i;for(t in this.files)this.files.hasOwnProperty(t)&&(i=this.files[t],(n=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(n,i))},filter:function(e){var t=[];return this.forEach(function(n,i){e(n,i)&&t.push(i)}),t},file:function(e,t,n){if(1!=arguments.length)return e=this.root+e,i.call(this,e,t,n),this;if(v(e)){var r=e;return this.filter(function(e,t){return!t.dir&&r.test(e)})}var o=this.files[this.root+e];return o&&!o.dir?o:null},folder:function(e){if(!e)return this;if(v(e))return this.filter(function(t,n){return n.dir&&e.test(t)});var t=this.root+e,n=g.call(this,t),i=this.clone();return i.root=n.name,i},remove:function(e){e=this.root+e;var t=this.files[e];if(t||("/"!==e.slice(-1)&&(e+="/"),t=this.files[e]),t&&!t.dir)delete this.files[e];else for(var n=this.filter(function(t,n){return n.name.slice(0,e.length)===e}),i=0;i<n.length;i++)delete this.files[n[i].name];return this},generate:function(e){throw Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,n={};try{if((n=o.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:r.utf8encode})).type=n.type.toLowerCase(),n.compression=n.compression.toUpperCase(),"binarystring"===n.type&&(n.type="string"),!n.type)throw Error("No output type specified.");o.checkSupport(n.type),"darwin"!==n.platform&&"freebsd"!==n.platform&&"linux"!==n.platform&&"sunos"!==n.platform||(n.platform="UNIX"),"win32"===n.platform&&(n.platform="DOS");var i=n.comment||this.comment||"";t=d.generateWorker(this,n,i)}catch(e){(t=new s("error")).error(e)}return new a(t,n.type||"string",n.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type="nodebuffer"),this.generateInternalStream(e).toNodejsStream(t)}}},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(e,t,n){t.exports=e("stream")},{stream:void 0}],17:[function(e,t,n){"use strict";var i=e("./DataReader");function r(e){i.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}e("../utils").inherits(r,i),r.prototype.byteAt=function(e){return this.data[this.zero+e]},r.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),n=e.charCodeAt(1),i=e.charCodeAt(2),r=e.charCodeAt(3),o=this.length-4;0<=o;--o)if(this.data[o]===t&&this.data[o+1]===n&&this.data[o+2]===i&&this.data[o+3]===r)return o-this.zero;return -1},r.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),n=e.charCodeAt(1),i=e.charCodeAt(2),r=e.charCodeAt(3),o=this.readData(4);return t===o[0]&&n===o[1]&&i===o[2]&&r===o[3]},r.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=r},{"../utils":32,"./DataReader":18}],18:[function(e,t,n){"use strict";var i=e("../utils");function r(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}r.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw Error("End of data reached (data length = "+this.length+", asked index = "+e+"). Corrupted zip ?")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(e){},readInt:function(e){var t,n=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)n=(n<<8)+this.byteAt(t);return this.index+=e,n},readString:function(e){return i.transformTo("string",this.readData(e))},readData:function(e){},lastIndexOfSignature:function(e){},readAndCheckSignature:function(e){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=r},{"../utils":32}],19:[function(e,t,n){"use strict";var i=e("./Uint8ArrayReader");function r(e){i.call(this,e)}e("../utils").inherits(r,i),r.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=r},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,n){"use strict";var i=e("./DataReader");function r(e){i.call(this,e)}e("../utils").inherits(r,i),r.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},r.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},r.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},r.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=r},{"../utils":32,"./DataReader":18}],21:[function(e,t,n){"use strict";var i=e("./ArrayReader");function r(e){i.call(this,e)}e("../utils").inherits(r,i),r.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=r},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,n){"use strict";var i=e("../utils"),r=e("../support"),o=e("./ArrayReader"),s=e("./StringReader"),a=e("./NodeBufferReader"),l=e("./Uint8ArrayReader");t.exports=function(e){var t=i.getTypeOf(e);return i.checkSupport(t),"string"!==t||r.uint8array?"nodebuffer"===t?new a(e):r.uint8array?new l(i.transformTo("uint8array",e)):new o(i.transformTo("array",e)):new s(e)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,n){"use strict";n.LOCAL_FILE_HEADER="PK\x03\x04",n.CENTRAL_FILE_HEADER="PK\x01\x02",n.CENTRAL_DIRECTORY_END="PK\x05\x06",n.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x06\x07",n.ZIP64_CENTRAL_DIRECTORY_END="PK\x06\x06",n.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(e,t,n){"use strict";var i=e("./GenericWorker"),r=e("../utils");function o(e){i.call(this,"ConvertWorker to "+e),this.destType=e}r.inherits(o,i),o.prototype.processChunk=function(e){this.push({data:r.transformTo(this.destType,e.data),meta:e.meta})},t.exports=o},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,n){"use strict";var i=e("./GenericWorker"),r=e("../crc32");function o(){i.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(o,i),o.prototype.processChunk=function(e){this.streamInfo.crc32=r(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=o},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,n){"use strict";var i=e("../utils"),r=e("./GenericWorker");function o(e){r.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}i.inherits(o,r),o.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}r.prototype.processChunk.call(this,e)},t.exports=o},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,n){"use strict";var i=e("../utils"),r=e("./GenericWorker");function o(e){r.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=i.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}i.inherits(o,r),o.prototype.cleanUp=function(){r.prototype.cleanUp.call(this),this.data=null},o.prototype.resume=function(){return!!r.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,i.delay(this._tickAndRepeat,[],this)),!0)},o.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(i.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},o.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=o},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,n){"use strict";function i(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}i.prototype={push:function(e){this.emit("data",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit("error",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var n=0;n<this._listeners[e].length;n++)this._listeners[e][n].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw Error("The stream '"+this+"' has already been used.");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.end()}),e.on("error",function(e){t.error(e)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)this.extraStreamInfo.hasOwnProperty(e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e="Worker "+this.name;return this.previous?this.previous+" -> "+e:e}},t.exports=i},{}],29:[function(e,n,i){"use strict";var r=e("../utils"),o=e("./ConvertWorker"),s=e("./GenericWorker"),a=e("../base64"),l=e("../support"),c=e("../external"),u=null;if(l.nodestream)try{u=e("../nodejs/NodejsStreamOutputAdapter")}catch(e){}function d(e,t,n){var i=t;switch(t){case"blob":case"arraybuffer":i="uint8array";break;case"base64":i="string"}try{this._internalType=i,this._outputType=t,this._mimeType=n,r.checkSupport(i),this._worker=e.pipe(new o(i)),e.lock()}catch(e){this._worker=new s("error"),this._worker.error(e)}}d.prototype={accumulate:function(e){var n,i;return n=this,i=e,new c.Promise(function(e,o){var s=[],l=n._internalType,c=n._outputType,u=n._mimeType;n.on("data",function(e,t){s.push(e),i&&i(t)}).on("error",function(e){s=[],o(e)}).on("end",function(){try{var n=function(e,t,n){switch(e){case"blob":return r.newBlob(r.transformTo("arraybuffer",t),n);case"base64":return a.encode(t);default:return r.transformTo(e,t)}}(c,function(e,n){var i,r=0,o=null,s=0;for(i=0;i<n.length;i++)s+=n[i].length;switch(e){case"string":return n.join("");case"array":return Array.prototype.concat.apply([],n);case"uint8array":for(o=new Uint8Array(s),i=0;i<n.length;i++)o.set(n[i],r),r+=n[i].length;return o;case"nodebuffer":return t.concat(n);default:throw Error("concat : unsupported type '"+e+"'")}}(l,s),u);e(n)}catch(e){o(e)}s=[]}).resume()})},on:function(e,t){var n=this;return"data"===e?this._worker.on(e,function(e){t.call(n,e.data,e.meta)}):this._worker.on(e,function(){r.delay(t,arguments,n)}),this},resume:function(){return r.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(r.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw Error(this._outputType+" is not supported by this method");return new u(this,{objectMode:"nodebuffer"!==this._outputType},e)}},n.exports=d},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,n,i){"use strict";if(i.base64=!0,i.array=!0,i.string=!0,i.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,i.nodebuffer=void 0!==t,i.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)i.blob=!1;else{var r=new ArrayBuffer(0);try{i.blob=0===new Blob([r],{type:"application/zip"}).size}catch(e){try{var o=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);o.append(r),i.blob=0===o.getBlob("application/zip").size}catch(e){i.blob=!1}}}try{i.nodestream=!!e("readable-stream").Readable}catch(e){i.nodestream=!1}},{"readable-stream":16}],31:[function(e,t,n){"use strict";for(var i=e("./utils"),r=e("./support"),o=e("./nodejsUtils"),s=e("./stream/GenericWorker"),a=Array(256),l=0;l<256;l++)a[l]=252<=l?6:248<=l?5:240<=l?4:224<=l?3:192<=l?2:1;function c(){s.call(this,"utf-8 decode"),this.leftOver=null}function u(){s.call(this,"utf-8 encode")}a[254]=a[254]=1,n.utf8encode=function(e){return r.nodebuffer?o.newBufferFrom(e,"utf-8"):function(e){var t,n,i,o,s,a=e.length,l=0;for(o=0;o<a;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(i=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(i-56320),o++),l+=n<128?1:n<2048?2:n<65536?3:4;for(t=r.uint8array?new Uint8Array(l):Array(l),o=s=0;s<l;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(i=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(i-56320),o++),n<128?t[s++]=n:(n<2048?t[s++]=192|n>>>6:(n<65536?t[s++]=224|n>>>12:(t[s++]=240|n>>>18,t[s++]=128|n>>>12&63),t[s++]=128|n>>>6&63),t[s++]=128|63&n);return t}(e)},n.utf8decode=function(e){return r.nodebuffer?i.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,n,r,o,s=e.length,l=Array(2*s);for(t=n=0;t<s;)if((r=e[t++])<128)l[n++]=r;else if(4<(o=a[r]))l[n++]=65533,t+=o-1;else{for(r&=2===o?31:3===o?15:7;1<o&&t<s;)r=r<<6|63&e[t++],o--;1<o?l[n++]=65533:r<65536?l[n++]=r:(r-=65536,l[n++]=55296|r>>10&1023,l[n++]=56320|1023&r)}return l.length!==n&&(l.subarray?l=l.subarray(0,n):l.length=n),i.applyFromCharCode(l)}(e=i.transformTo(r.uint8array?"uint8array":"array",e))},i.inherits(c,s),c.prototype.processChunk=function(e){var t=i.transformTo(r.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(r.uint8array){var o=t;(t=new Uint8Array(o.length+this.leftOver.length)).set(this.leftOver,0),t.set(o,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var s=function(e,t){var n;for((t=t||e.length)>e.length&&(t=e.length),n=t-1;0<=n&&128==(192&e[n]);)n--;return n<0?t:0===n?t:n+a[e[n]]>t?n:t}(t),l=t;s!==t.length&&(r.uint8array?(l=t.subarray(0,s),this.leftOver=t.subarray(s,t.length)):(l=t.slice(0,s),this.leftOver=t.slice(s,t.length))),this.push({data:n.utf8decode(l),meta:e.meta})},c.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:n.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},n.Utf8DecodeWorker=c,i.inherits(u,s),u.prototype.processChunk=function(e){this.push({data:n.utf8encode(e.data),meta:e.meta})},n.Utf8EncodeWorker=u},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,n){"use strict";var i=e("./support"),r=e("./base64"),o=e("./nodejsUtils"),s=e("set-immediate-shim"),a=e("./external");function l(e){return e}function c(e,t){for(var n=0;n<e.length;++n)t[n]=255&e.charCodeAt(n);return t}n.newBlob=function(e,t){n.checkSupport("blob");try{return new Blob([e],{type:t})}catch(n){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return i.append(e),i.getBlob(t)}catch(e){throw Error("Bug : can't construct the Blob.")}}};var u={stringifyByChunk:function(e,t,n){var i=[],r=0,o=e.length;if(o<=n)return String.fromCharCode.apply(null,e);for(;r<o;)"array"===t||"nodebuffer"===t?i.push(String.fromCharCode.apply(null,e.slice(r,Math.min(r+n,o)))):i.push(String.fromCharCode.apply(null,e.subarray(r,Math.min(r+n,o)))),r+=n;return i.join("")},stringifyByChar:function(e){for(var t="",n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t},applyCanBeUsed:{uint8array:function(){try{return i.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return i.nodebuffer&&1===String.fromCharCode.apply(null,o.allocBuffer(1)).length}catch(e){return!1}}()}};function d(e){var t=65536,i=n.getTypeOf(e),r=!0;if("uint8array"===i?r=u.applyCanBeUsed.uint8array:"nodebuffer"===i&&(r=u.applyCanBeUsed.nodebuffer),r)for(;1<t;)try{return u.stringifyByChunk(e,i,t)}catch(e){t=Math.floor(t/2)}return u.stringifyByChar(e)}function h(e,t){for(var n=0;n<e.length;n++)t[n]=e[n];return t}n.applyFromCharCode=d;var p={};p.string={string:l,array:function(e){return c(e,Array(e.length))},arraybuffer:function(e){return p.string.uint8array(e).buffer},uint8array:function(e){return c(e,new Uint8Array(e.length))},nodebuffer:function(e){return c(e,o.allocBuffer(e.length))}},p.array={string:d,array:l,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return o.newBufferFrom(e)}},p.arraybuffer={string:function(e){return d(new Uint8Array(e))},array:function(e){return h(new Uint8Array(e),Array(e.byteLength))},arraybuffer:l,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return o.newBufferFrom(new Uint8Array(e))}},p.uint8array={string:d,array:function(e){return h(e,Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:l,nodebuffer:function(e){return o.newBufferFrom(e)}},p.nodebuffer={string:d,array:function(e){return h(e,Array(e.length))},arraybuffer:function(e){return p.nodebuffer.uint8array(e).buffer},uint8array:function(e){return h(e,new Uint8Array(e.length))},nodebuffer:l},n.transformTo=function(e,t){return(t=t||"",e)?(n.checkSupport(e),p[n.getTypeOf(t)][e](t)):t},n.getTypeOf=function(e){return"string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":i.nodebuffer&&o.isBuffer(e)?"nodebuffer":i.uint8array&&e instanceof Uint8Array?"uint8array":i.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},n.checkSupport=function(e){if(!i[e.toLowerCase()])throw Error(e+" is not supported by this platform")},n.MAX_VALUE_16BITS=65535,n.MAX_VALUE_32BITS=-1,n.pretty=function(e){var t,n,i="";for(n=0;n<(e||"").length;n++)i+="\\x"+((t=e.charCodeAt(n))<16?"0":"")+t.toString(16).toUpperCase();return i},n.delay=function(e,t,n){s(function(){e.apply(n||null,t||[])})},n.inherits=function(e,t){function n(){}n.prototype=t.prototype,e.prototype=new n},n.extend=function(){var e,t,n={};for(e=0;e<arguments.length;e++)for(t in arguments[e])arguments[e].hasOwnProperty(t)&&void 0===n[t]&&(n[t]=arguments[e][t]);return n},n.prepareContent=function(e,t,o,s,l){return a.Promise.resolve(t).then(function(e){return i.blob&&(e instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(e)))&&"undefined"!=typeof FileReader?new a.Promise(function(t,n){var i=new FileReader;i.onload=function(e){t(e.target.result)},i.onerror=function(e){n(e.target.error)},i.readAsArrayBuffer(e)}):e}).then(function(t){var u,d=n.getTypeOf(t);return d?("arraybuffer"===d?t=n.transformTo("uint8array",t):"string"===d&&(l?t=r.decode(t):o&&!0!==s&&(t=c(u=t,i.uint8array?new Uint8Array(u.length):Array(u.length)))),t):a.Promise.reject(Error("Can't read the data of '"+e+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,"set-immediate-shim":54}],33:[function(e,t,n){"use strict";var i=e("./reader/readerFor"),r=e("./utils"),o=e("./signature"),s=e("./zipEntry"),a=(e("./utf8"),e("./support"));function l(e){this.files=[],this.loadOptions=e}l.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw Error("Corrupted zip or bug: unexpected signature ("+r.pretty(t)+", expected "+r.pretty(e)+")")}},isSignature:function(e,t){var n=this.reader.index;this.reader.setIndex(e);var i=this.reader.readString(4)===t;return this.reader.setIndex(n),i},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=a.uint8array?"uint8array":"array",n=r.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(n)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,n,i=this.zip64EndOfCentralSize-44;0<i;)e=this.reader.readInt(2),t=this.reader.readInt(4),n=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:n}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(o.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(o.CENTRAL_FILE_HEADER);)(e=new s({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(o.CENTRAL_DIRECTORY_END);if(e<0)throw this.isSignature(0,o.LOCAL_FILE_HEADER)?Error("Corrupted zip: can't find end of central directory"):Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(e);var t=e;if(this.checkSignature(o.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===r.MAX_VALUE_16BITS||this.diskWithCentralDirStart===r.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===r.MAX_VALUE_16BITS||this.centralDirRecords===r.MAX_VALUE_16BITS||this.centralDirSize===r.MAX_VALUE_32BITS||this.centralDirOffset===r.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(o.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(e),this.checkSignature(o.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,o.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(o.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(o.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var n=this.centralDirOffset+this.centralDirSize;this.zip64&&(n+=20,n+=12+this.zip64EndOfCentralSize);var i=t-n;if(0<i)this.isSignature(t,o.CENTRAL_FILE_HEADER)||(this.reader.zero=i);else if(i<0)throw Error("Corrupted zip: missing "+Math.abs(i)+" bytes.")},prepareReader:function(e){this.reader=i(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=l},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utf8":31,"./utils":32,"./zipEntry":34}],34:[function(e,t,n){"use strict";var i=e("./reader/readerFor"),r=e("./utils"),o=e("./compressedObject"),s=e("./crc32"),a=e("./utf8"),l=e("./compressions"),c=e("./support");function u(e,t){this.options=e,this.loadOptions=t}u.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,n;if(e.skip(22),this.fileNameLength=e.readInt(2),n=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(n),-1===this.compressedSize||-1===this.uncompressedSize)throw Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in l)if(l.hasOwnProperty(t)&&l[t].magic===e)return l[t];return null}(this.compressionMethod)))throw Error("Corrupted zip : compression "+r.pretty(this.compressionMethod)+" unknown (inner file : "+r.transformTo("string",this.fileName)+")");this.decompressed=new o(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(e){if(this.extraFields[1]){var t=i(this.extraFields[1].value);this.uncompressedSize===r.MAX_VALUE_32BITS&&(this.uncompressedSize=t.readInt(8)),this.compressedSize===r.MAX_VALUE_32BITS&&(this.compressedSize=t.readInt(8)),this.localHeaderOffset===r.MAX_VALUE_32BITS&&(this.localHeaderOffset=t.readInt(8)),this.diskNumberStart===r.MAX_VALUE_32BITS&&(this.diskNumberStart=t.readInt(4))}},readExtraFields:function(e){var t,n,i,r=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<r;)t=e.readInt(2),n=e.readInt(2),i=e.readData(n),this.extraFields[t]={id:t,length:n,value:i};e.setIndex(r)},handleUTF8:function(){var e=c.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=a.utf8decode(this.fileName),this.fileCommentStr=a.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var n=r.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(n)}var i=this.findExtraFieldUnicodeComment();if(null!==i)this.fileCommentStr=i;else{var o=r.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(o)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=i(e.value);return 1!==t.readInt(1)?null:s(this.fileName)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=i(e.value);return 1!==t.readInt(1)?null:s(this.fileComment)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null}},t.exports=u},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,n){"use strict";function i(e,t,n){this.name=e,this.dir=n.dir,this.date=n.date,this.comment=n.comment,this.unixPermissions=n.unixPermissions,this.dosPermissions=n.dosPermissions,this._data=t,this._dataBinary=n.binary,this.options={compression:n.compression,compressionOptions:n.compressionOptions}}var r=e("./stream/StreamHelper"),o=e("./stream/DataWorker"),s=e("./utf8"),a=e("./compressedObject"),l=e("./stream/GenericWorker");i.prototype={internalStream:function(e){var t=null,n="string";try{if(!e)throw Error("No output type specified.");var i="string"===(n=e.toLowerCase())||"text"===n;"binarystring"!==n&&"text"!==n||(n="string"),t=this._decompressWorker();var o=!this._dataBinary;o&&!i&&(t=t.pipe(new s.Utf8EncodeWorker)),!o&&i&&(t=t.pipe(new s.Utf8DecodeWorker))}catch(e){(t=new l("error")).error(e)}return new r(t,n,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof a&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var n=this._decompressWorker();return this._dataBinary||(n=n.pipe(new s.Utf8EncodeWorker)),a.createWorkerFrom(n,e,t)},_decompressWorker:function(){return this._data instanceof a?this._data.getContentWorker():this._data instanceof l?this._data:new o(this._data)}};for(var c=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],u=function(){throw Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},d=0;d<c.length;d++)i.prototype[c[d]]=u;t.exports=i},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,t,i){(function(e){"use strict";var n,i,r=e.MutationObserver||e.WebKitMutationObserver;if(r){var o=0,s=new r(u),a=e.document.createTextNode("");s.observe(a,{characterData:!0}),n=function(){a.data=o=++o%2}}else if(e.setImmediate||void 0===e.MessageChannel)n="document"in e&&"onreadystatechange"in e.document.createElement("script")?function(){var t=e.document.createElement("script");t.onreadystatechange=function(){u(),t.onreadystatechange=null,t.parentNode.removeChild(t),t=null},e.document.documentElement.appendChild(t)}:function(){setTimeout(u,0)};else{var l=new e.MessageChannel;l.port1.onmessage=u,n=function(){l.port2.postMessage(0)}}var c=[];function u(){var e,t;i=!0;for(var n=c.length;n;){for(t=c,c=[],e=-1;++e<n;)t[e]();n=c.length}i=!1}t.exports=function(e){1!==c.push(e)||i||n()}}).call(this,void 0!==n?n:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],37:[function(e,t,n){"use strict";var i=e("immediate");function r(){}var o={},s=["REJECTED"],a=["FULFILLED"],l=["PENDING"];function c(e){if("function"!=typeof e)throw TypeError("resolver must be a function");this.state=l,this.queue=[],this.outcome=void 0,e!==r&&p(this,e)}function u(e,t,n){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof n&&(this.onRejected=n,this.callRejected=this.otherCallRejected)}function d(e,t,n){i(function(){var i;try{i=t(n)}catch(t){return o.reject(e,t)}i===e?o.reject(e,TypeError("Cannot resolve promise with itself")):o.resolve(e,i)})}function h(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments)}}function p(e,t){var n=!1;function i(t){n||(n=!0,o.reject(e,t))}function r(t){n||(n=!0,o.resolve(e,t))}var s=f(function(){t(r,i)});"error"===s.status&&i(s.value)}function f(e,t){var n={};try{n.value=e(t),n.status="success"}catch(e){n.status="error",n.value=e}return n}(t.exports=c).prototype.finally=function(e){if("function"!=typeof e)return this;var t=this.constructor;return this.then(function(n){return t.resolve(e()).then(function(){return n})},function(n){return t.resolve(e()).then(function(){throw n})})},c.prototype.catch=function(e){return this.then(null,e)},c.prototype.then=function(e,t){if("function"!=typeof e&&this.state===a||"function"!=typeof t&&this.state===s)return this;var n=new this.constructor(r);return this.state!==l?d(n,this.state===a?e:t,this.outcome):this.queue.push(new u(n,e,t)),n},u.prototype.callFulfilled=function(e){o.resolve(this.promise,e)},u.prototype.otherCallFulfilled=function(e){d(this.promise,this.onFulfilled,e)},u.prototype.callRejected=function(e){o.reject(this.promise,e)},u.prototype.otherCallRejected=function(e){d(this.promise,this.onRejected,e)},o.resolve=function(e,t){var n=f(h,t);if("error"===n.status)return o.reject(e,n.value);var i=n.value;if(i)p(e,i);else{e.state=a,e.outcome=t;for(var r=-1,s=e.queue.length;++r<s;)e.queue[r].callFulfilled(t)}return e},o.reject=function(e,t){e.state=s,e.outcome=t;for(var n=-1,i=e.queue.length;++n<i;)e.queue[n].callRejected(t);return e},c.resolve=function(e){return e instanceof this?e:o.resolve(new this(r),e)},c.reject=function(e){var t=new this(r);return o.reject(t,e)},c.all=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(TypeError("must be an array"));var n=e.length,i=!1;if(!n)return this.resolve([]);for(var s=Array(n),a=0,l=-1,c=new this(r);++l<n;)(function(e,r){t.resolve(e).then(function(e){s[r]=e,++a!==n||i||(i=!0,o.resolve(c,s))},function(e){i||(i=!0,o.reject(c,e))})})(e[l],l);return c},c.race=function(e){if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(TypeError("must be an array"));var t,n=e.length,i=!1;if(!n)return this.resolve([]);for(var s=-1,a=new this(r);++s<n;)t=e[s],this.resolve(t).then(function(e){i||(i=!0,o.resolve(a,e))},function(e){i||(i=!0,o.reject(a,e))});return a}},{immediate:36}],38:[function(e,t,n){"use strict";var i={};(0,e("./lib/utils/common").assign)(i,e("./lib/deflate"),e("./lib/inflate"),e("./lib/zlib/constants")),t.exports=i},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(e,t,n){"use strict";var i=e("./zlib/deflate"),r=e("./utils/common"),o=e("./utils/strings"),s=e("./zlib/messages"),a=e("./zlib/zstream"),l=Object.prototype.toString;function c(e){if(!(this instanceof c))return new c(e);this.options=r.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},e||{});var t,n=this.options;n.raw&&0<n.windowBits?n.windowBits=-n.windowBits:n.gzip&&0<n.windowBits&&n.windowBits<16&&(n.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var u=i.deflateInit2(this.strm,n.level,n.method,n.windowBits,n.memLevel,n.strategy);if(0!==u)throw Error(s[u]);if(n.header&&i.deflateSetHeader(this.strm,n.header),n.dictionary){if(t="string"==typeof n.dictionary?o.string2buf(n.dictionary):"[object ArrayBuffer]"===l.call(n.dictionary)?new Uint8Array(n.dictionary):n.dictionary,0!==(u=i.deflateSetDictionary(this.strm,t)))throw Error(s[u]);this._dict_set=!0}}function u(e,t){var n=new c(t);if(n.push(e,!0),n.err)throw n.msg||s[n.err];return n.result}c.prototype.push=function(e,t){var n,s,a=this.strm,c=this.options.chunkSize;if(this.ended)return!1;s=t===~~t?t:!0===t?4:0,"string"==typeof e?a.input=o.string2buf(e):"[object ArrayBuffer]"===l.call(e)?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;do{if(0===a.avail_out&&(a.output=new r.Buf8(c),a.next_out=0,a.avail_out=c),1!==(n=i.deflate(a,s))&&0!==n)return this.onEnd(n),this.ended=!0,!1;0!==a.avail_out&&(0!==a.avail_in||4!==s&&2!==s)||("string"===this.options.to?this.onData(o.buf2binstring(r.shrinkBuf(a.output,a.next_out))):this.onData(r.shrinkBuf(a.output,a.next_out)))}while((0<a.avail_in||0===a.avail_out)&&1!==n);return 4===s?(n=i.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,0===n):2!==s||(this.onEnd(0),a.avail_out=0,!0)},c.prototype.onData=function(e){this.chunks.push(e)},c.prototype.onEnd=function(e){0===e&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},n.Deflate=c,n.deflate=u,n.deflateRaw=function(e,t){return(t=t||{}).raw=!0,u(e,t)},n.gzip=function(e,t){return(t=t||{}).gzip=!0,u(e,t)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,n){"use strict";var i=e("./zlib/inflate"),r=e("./utils/common"),o=e("./utils/strings"),s=e("./zlib/constants"),a=e("./zlib/messages"),l=e("./zlib/zstream"),c=e("./zlib/gzheader"),u=Object.prototype.toString;function d(e){if(!(this instanceof d))return new d(e);this.options=r.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var n=i.inflateInit2(this.strm,t.windowBits);if(n!==s.Z_OK)throw Error(a[n]);this.header=new c,i.inflateGetHeader(this.strm,this.header)}function h(e,t){var n=new d(t);if(n.push(e,!0),n.err)throw n.msg||a[n.err];return n.result}d.prototype.push=function(e,t){var n,a,l,c,d,h,p=this.strm,f=this.options.chunkSize,m=this.options.dictionary,g=!1;if(this.ended)return!1;a=t===~~t?t:!0===t?s.Z_FINISH:s.Z_NO_FLUSH,"string"==typeof e?p.input=o.binstring2buf(e):"[object ArrayBuffer]"===u.call(e)?p.input=new Uint8Array(e):p.input=e,p.next_in=0,p.avail_in=p.input.length;do{if(0===p.avail_out&&(p.output=new r.Buf8(f),p.next_out=0,p.avail_out=f),(n=i.inflate(p,s.Z_NO_FLUSH))===s.Z_NEED_DICT&&m&&(h="string"==typeof m?o.string2buf(m):"[object ArrayBuffer]"===u.call(m)?new Uint8Array(m):m,n=i.inflateSetDictionary(this.strm,h)),n===s.Z_BUF_ERROR&&!0===g&&(n=s.Z_OK,g=!1),n!==s.Z_STREAM_END&&n!==s.Z_OK)return this.onEnd(n),this.ended=!0,!1;p.next_out&&(0!==p.avail_out&&n!==s.Z_STREAM_END&&(0!==p.avail_in||a!==s.Z_FINISH&&a!==s.Z_SYNC_FLUSH)||("string"===this.options.to?(l=o.utf8border(p.output,p.next_out),c=p.next_out-l,d=o.buf2string(p.output,l),p.next_out=c,p.avail_out=f-c,c&&r.arraySet(p.output,p.output,l,c,0),this.onData(d)):this.onData(r.shrinkBuf(p.output,p.next_out)))),0===p.avail_in&&0===p.avail_out&&(g=!0)}while((0<p.avail_in||0===p.avail_out)&&n!==s.Z_STREAM_END);return n===s.Z_STREAM_END&&(a=s.Z_FINISH),a===s.Z_FINISH?(n=i.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===s.Z_OK):a!==s.Z_SYNC_FLUSH||(this.onEnd(s.Z_OK),p.avail_out=0,!0)},d.prototype.onData=function(e){this.chunks.push(e)},d.prototype.onEnd=function(e){e===s.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},n.Inflate=d,n.inflate=h,n.inflateRaw=function(e,t){return(t=t||{}).raw=!0,h(e,t)},n.ungzip=h},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,t,n){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;n.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var n=t.shift();if(n){if("object"!=typeof n)throw TypeError(n+"must be non-object");for(var i in n)n.hasOwnProperty(i)&&(e[i]=n[i])}}return e},n.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var r={arraySet:function(e,t,n,i,r){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+i),r);else for(var o=0;o<i;o++)e[r+o]=t[n+o]},flattenChunks:function(e){var t,n,i,r,o,s;for(t=i=0,n=e.length;t<n;t++)i+=e[t].length;for(s=new Uint8Array(i),t=r=0,n=e.length;t<n;t++)o=e[t],s.set(o,r),r+=o.length;return s}},o={arraySet:function(e,t,n,i,r){for(var o=0;o<i;o++)e[r+o]=t[n+o]},flattenChunks:function(e){return[].concat.apply([],e)}};n.setTyped=function(e){e?(n.Buf8=Uint8Array,n.Buf16=Uint16Array,n.Buf32=Int32Array,n.assign(n,r)):(n.Buf8=Array,n.Buf16=Array,n.Buf32=Array,n.assign(n,o))},n.setTyped(i)},{}],42:[function(e,t,n){"use strict";var i=e("./common"),r=!0,o=!0;try{String.fromCharCode.apply(null,[0])}catch(e){r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){o=!1}for(var s=new i.Buf8(256),a=0;a<256;a++)s[a]=252<=a?6:248<=a?5:240<=a?4:224<=a?3:192<=a?2:1;function l(e,t){if(t<65537&&(e.subarray&&o||!e.subarray&&r))return String.fromCharCode.apply(null,i.shrinkBuf(e,t));for(var n="",s=0;s<t;s++)n+=String.fromCharCode(e[s]);return n}s[254]=s[254]=1,n.string2buf=function(e){var t,n,r,o,s,a=e.length,l=0;for(o=0;o<a;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(r=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(r-56320),o++),l+=n<128?1:n<2048?2:n<65536?3:4;for(t=new i.Buf8(l),o=s=0;s<l;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(r=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(r-56320),o++),n<128?t[s++]=n:(n<2048?t[s++]=192|n>>>6:(n<65536?t[s++]=224|n>>>12:(t[s++]=240|n>>>18,t[s++]=128|n>>>12&63),t[s++]=128|n>>>6&63),t[s++]=128|63&n);return t},n.buf2binstring=function(e){return l(e,e.length)},n.binstring2buf=function(e){for(var t=new i.Buf8(e.length),n=0,r=t.length;n<r;n++)t[n]=e.charCodeAt(n);return t},n.buf2string=function(e,t){var n,i,r,o,a=t||e.length,c=Array(2*a);for(n=i=0;n<a;)if((r=e[n++])<128)c[i++]=r;else if(4<(o=s[r]))c[i++]=65533,n+=o-1;else{for(r&=2===o?31:3===o?15:7;1<o&&n<a;)r=r<<6|63&e[n++],o--;1<o?c[i++]=65533:r<65536?c[i++]=r:(r-=65536,c[i++]=55296|r>>10&1023,c[i++]=56320|1023&r)}return l(c,i)},n.utf8border=function(e,t){var n;for((t=t||e.length)>e.length&&(t=e.length),n=t-1;0<=n&&128==(192&e[n]);)n--;return n<0?t:0===n?t:n+s[e[n]]>t?n:t}},{"./common":41}],43:[function(e,t,n){"use strict";t.exports=function(e,t,n,i){for(var r=65535&e|0,o=e>>>16&65535|0,s=0;0!==n;){for(n-=s=2e3<n?2e3:n;o=o+(r=r+t[i++]|0)|0,--s;);r%=65521,o%=65521}return r|o<<16|0}},{}],44:[function(e,t,n){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,n){"use strict";var i=function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var i=0;i<8;i++)e=1&e?0xedb88320^e>>>1:e>>>1;t[n]=e}return t}();t.exports=function(e,t,n,r){var o=r+n;e^=-1;for(var s=r;s<o;s++)e=e>>>8^i[255&(e^t[s])];return -1^e}},{}],46:[function(e,t,n){"use strict";var i,r=e("../utils/common"),o=e("./trees"),s=e("./adler32"),a=e("./crc32"),l=e("./messages"),c=573,u=262;function d(e,t){return e.msg=l[t],t}function h(e){return(e<<1)-(4<e?9:0)}function p(e){for(var t=e.length;0<=--t;)e[t]=0}function f(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(r.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))}function m(e,t){o._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,f(e.strm)}function g(e,t){e.pending_buf[e.pending++]=t}function v(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function y(e,t){var n,i,r=e.max_chain_length,o=e.strstart,s=e.prev_length,a=e.nice_match,l=e.strstart>e.w_size-u?e.strstart-(e.w_size-u):0,c=e.window,d=e.w_mask,h=e.prev,p=e.strstart+258,f=c[o+s-1],m=c[o+s];e.prev_length>=e.good_match&&(r>>=2),a>e.lookahead&&(a=e.lookahead);do if(c[(n=t)+s]===m&&c[n+s-1]===f&&c[n]===c[o]&&c[++n]===c[o+1]){o+=2,n++;do;while(c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&o<p);if(i=258-(p-o),o=p-258,s<i){if(e.match_start=t,a<=(s=i))break;f=c[o+s-1],m=c[o+s]}}while((t=h[t&d])>l&&0!=--r);return s<=e.lookahead?s:e.lookahead}function b(e){var t,n,i,o,l,c,d,h,p,f,m=e.w_size;do{if(o=e.window_size-e.lookahead-e.strstart,e.strstart>=m+(m-u)){for(r.arraySet(e.window,e.window,m,m,0),e.match_start-=m,e.strstart-=m,e.block_start-=m,t=n=e.hash_size;i=e.head[--t],e.head[t]=m<=i?i-m:0,--n;);for(t=n=m;i=e.prev[--t],e.prev[t]=m<=i?i-m:0,--n;);o+=m}if(0===e.strm.avail_in)break;if(c=e.strm,d=e.window,h=e.strstart+e.lookahead,f=void 0,(p=o)<(f=c.avail_in)&&(f=p),n=0===f?0:(c.avail_in-=f,r.arraySet(d,c.input,c.next_in,f,h),1===c.state.wrap?c.adler=s(c.adler,d,f,h):2===c.state.wrap&&(c.adler=a(c.adler,d,f,h)),c.next_in+=f,c.total_in+=f,f),e.lookahead+=n,e.lookahead+e.insert>=3)for(l=e.strstart-e.insert,e.ins_h=e.window[l],e.ins_h=(e.ins_h<<e.hash_shift^e.window[l+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[l+3-1])&e.hash_mask,e.prev[l&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=l,l++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<u&&0!==e.strm.avail_in)}function w(e,t){for(var n,i;;){if(e.lookahead<u){if(b(e),e.lookahead<u&&0===t)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-u&&(e.match_length=y(e,n)),e.match_length>=3){if(i=o._tr_tally(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask}else i=o._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(m(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,4===t?(m(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(m(e,!1),0===e.strm.avail_out)?1:2}function _(e,t){for(var n,i,r;;){if(e.lookahead<u){if(b(e),e.lookahead<u&&0===t)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==n&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-u&&(e.match_length=y(e,n),e.match_length<=5&&(1===e.strategy||3===e.match_length&&4096<e.strstart-e.match_start)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){for(r=e.strstart+e.lookahead-3,i=o._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=r&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=2,e.strstart++,i&&(m(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((i=o._tr_tally(e,0,e.window[e.strstart-1]))&&m(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=o._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,4===t?(m(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(m(e,!1),0===e.strm.avail_out)?1:2}function E(e,t,n,i,r){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=i,this.func=r}function x(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=8,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new r.Buf16(2*c),this.dyn_dtree=new r.Buf16(122),this.bl_tree=new r.Buf16(78),p(this.dyn_ltree),p(this.dyn_dtree),p(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new r.Buf16(16),this.heap=new r.Buf16(573),p(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new r.Buf16(573),p(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function k(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=2,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?42:113,e.adler=2===t.wrap?0:1,t.last_flush=0,o._tr_init(t),0):d(e,-2)}function T(e){var t,n=k(e);return 0===n&&((t=e.state).window_size=2*t.w_size,p(t.head),t.max_lazy_match=i[t.level].max_lazy,t.good_match=i[t.level].good_length,t.nice_match=i[t.level].nice_length,t.max_chain_length=i[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0),n}function O(e,t,n,i,o,s){if(!e)return -2;var a=1;if(-1===t&&(t=6),i<0?(a=0,i=-i):15<i&&(a=2,i-=16),o<1||9<o||8!==n||i<8||15<i||t<0||9<t||s<0||4<s)return d(e,-2);8===i&&(i=9);var l=new x;return(e.state=l).strm=e,l.wrap=a,l.gzhead=null,l.w_bits=i,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=o+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+3-1)/3),l.window=new r.Buf8(2*l.w_size),l.head=new r.Buf16(l.hash_size),l.prev=new r.Buf16(l.w_size),l.lit_bufsize=1<<o+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new r.Buf8(l.pending_buf_size),l.d_buf=1*l.lit_bufsize,l.l_buf=3*l.lit_bufsize,l.level=t,l.strategy=s,l.method=n,T(e)}i=[new E(0,0,0,0,function(e,t){var n=65535;for(65535>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(b(e),0===e.lookahead&&0===t)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var i=e.block_start+n;if((0===e.strstart||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,m(e,!1),0===e.strm.avail_out)||e.strstart-e.block_start>=e.w_size-u&&(m(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(m(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&(m(e,!1),e.strm.avail_out),1)}),new E(4,4,8,4,w),new E(4,5,16,8,w),new E(4,6,32,32,w),new E(4,4,16,16,_),new E(8,16,32,32,_),new E(8,16,128,128,_),new E(8,32,128,256,_),new E(32,128,258,1024,_),new E(32,258,258,4096,_)],n.deflateInit=function(e,t){return O(e,t,8,15,8,0)},n.deflateInit2=O,n.deflateReset=T,n.deflateResetKeep=k,n.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?-2:(e.state.gzhead=t,0):-2},n.deflate=function(e,t){var n,r,s,l;if(!e||!e.state||5<t||t<0)return e?d(e,-2):-2;if(r=e.state,!e.output||!e.input&&0!==e.avail_in||666===r.status&&4!==t)return d(e,0===e.avail_out?-5:-2);if(r.strm=e,n=r.last_flush,r.last_flush=t,42===r.status){if(2===r.wrap)e.adler=0,g(r,31),g(r,139),g(r,8),r.gzhead?(g(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),g(r,255&r.gzhead.time),g(r,r.gzhead.time>>8&255),g(r,r.gzhead.time>>16&255),g(r,r.gzhead.time>>24&255),g(r,9===r.level?2:2<=r.strategy||r.level<2?4:0),g(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(g(r,255&r.gzhead.extra.length),g(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=a(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69):(g(r,0),g(r,0),g(r,0),g(r,0),g(r,0),g(r,9===r.level?2:2<=r.strategy||r.level<2?4:0),g(r,3),r.status=113);else{var c=8+(r.w_bits-8<<4)<<8;c|=(2<=r.strategy||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(c|=32),c+=31-c%31,r.status=113,v(r,c),0!==r.strstart&&(v(r,e.adler>>>16),v(r,65535&e.adler)),e.adler=1}}if(69===r.status){if(r.gzhead.extra){for(s=r.pending;r.gzindex<(65535&r.gzhead.extra.length)&&(r.pending!==r.pending_buf_size||(r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),f(e),s=r.pending,r.pending!==r.pending_buf_size));)g(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=73)}else r.status=73}if(73===r.status){if(r.gzhead.name){s=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),f(e),s=r.pending,r.pending===r.pending_buf_size)){l=1;break}l=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,g(r,l)}while(0!==l);r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),0===l&&(r.gzindex=0,r.status=91)}else r.status=91}if(91===r.status){if(r.gzhead.comment){s=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),f(e),s=r.pending,r.pending===r.pending_buf_size)){l=1;break}l=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,g(r,l)}while(0!==l);r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),0===l&&(r.status=103)}else r.status=103}if(103===r.status&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&f(e),r.pending+2<=r.pending_buf_size&&(g(r,255&e.adler),g(r,e.adler>>8&255),e.adler=0,r.status=113)):r.status=113),0!==r.pending){if(f(e),0===e.avail_out)return r.last_flush=-1,0}else if(0===e.avail_in&&h(t)<=h(n)&&4!==t)return d(e,-5);if(666===r.status&&0!==e.avail_in)return d(e,-5);if(0!==e.avail_in||0!==r.lookahead||0!==t&&666!==r.status){var u=2===r.strategy?function(e,t){for(var n;;){if(0===e.lookahead&&(b(e),0===e.lookahead)){if(0===t)return 1;break}if(e.match_length=0,n=o._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(m(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(m(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(m(e,!1),0===e.strm.avail_out)?1:2}(r,t):3===r.strategy?function(e,t){for(var n,i,r,s,a=e.window;;){if(e.lookahead<=258){if(b(e),e.lookahead<=258&&0===t)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&0<e.strstart&&(i=a[r=e.strstart-1])===a[++r]&&i===a[++r]&&i===a[++r]){s=e.strstart+258;do;while(i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&r<s);e.match_length=258-(s-r),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(n=o._tr_tally(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=o._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(m(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(m(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(m(e,!1),0===e.strm.avail_out)?1:2}(r,t):i[r.level].func(r,t);if(3!==u&&4!==u||(r.status=666),1===u||3===u)return 0===e.avail_out&&(r.last_flush=-1),0;if(2===u&&(1===t?o._tr_align(r):5!==t&&(o._tr_stored_block(r,0,0,!1),3===t&&(p(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),f(e),0===e.avail_out))return r.last_flush=-1,0}return 4!==t?0:r.wrap<=0?1:(2===r.wrap?(g(r,255&e.adler),g(r,e.adler>>8&255),g(r,e.adler>>16&255),g(r,e.adler>>24&255),g(r,255&e.total_in),g(r,e.total_in>>8&255),g(r,e.total_in>>16&255),g(r,e.total_in>>24&255)):(v(r,e.adler>>>16),v(r,65535&e.adler)),f(e),0<r.wrap&&(r.wrap=-r.wrap),0!==r.pending?0:1)},n.deflateEnd=function(e){var t;return e&&e.state?42!==(t=e.state.status)&&69!==t&&73!==t&&91!==t&&103!==t&&113!==t&&666!==t?d(e,-2):(e.state=null,113===t?d(e,-3):0):-2},n.deflateSetDictionary=function(e,t){var n,i,o,a,l,c,u,d,h=t.length;if(!e||!e.state||2===(a=(n=e.state).wrap)||1===a&&42!==n.status||n.lookahead)return -2;for(1===a&&(e.adler=s(e.adler,t,h,0)),n.wrap=0,h>=n.w_size&&(0===a&&(p(n.head),n.strstart=0,n.block_start=0,n.insert=0),d=new r.Buf8(n.w_size),r.arraySet(d,t,h-n.w_size,n.w_size,0),t=d,h=n.w_size),l=e.avail_in,c=e.next_in,u=e.input,e.avail_in=h,e.next_in=0,e.input=t,b(n);n.lookahead>=3;){for(i=n.strstart,o=n.lookahead-2;n.ins_h=(n.ins_h<<n.hash_shift^n.window[i+3-1])&n.hash_mask,n.prev[i&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=i,i++,--o;);n.strstart=i,n.lookahead=2,b(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,e.next_in=c,e.input=u,e.avail_in=l,n.wrap=a,0},n.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,n){"use strict";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,n){"use strict";t.exports=function(e,t){var n,i,r,o,s,a,l,c,u,d,h,p,f,m,g,v,y,b,w,_,E,x,k,T,O;n=e.state,i=e.next_in,T=e.input,r=i+(e.avail_in-5),o=e.next_out,O=e.output,s=o-(t-e.avail_out),a=o+(e.avail_out-257),l=n.dmax,c=n.wsize,u=n.whave,d=n.wnext,h=n.window,p=n.hold,f=n.bits,m=n.lencode,g=n.distcode,v=(1<<n.lenbits)-1,y=(1<<n.distbits)-1;e:do for(f<15&&(p+=T[i++]<<f,f+=8,p+=T[i++]<<f,f+=8),b=m[p&v];;){if(p>>>=w=b>>>24,f-=w,0==(w=b>>>16&255))O[o++]=65535&b;else{if(!(16&w)){if(0==(64&w)){b=m[(65535&b)+(p&(1<<w)-1)];continue}if(32&w){n.mode=12;break e}e.msg="invalid literal/length code",n.mode=30;break e}for(_=65535&b,(w&=15)&&(f<w&&(p+=T[i++]<<f,f+=8),_+=p&(1<<w)-1,p>>>=w,f-=w),f<15&&(p+=T[i++]<<f,f+=8,p+=T[i++]<<f,f+=8),b=g[p&y];;){if(p>>>=w=b>>>24,f-=w,!(16&(w=b>>>16&255))){if(0==(64&w)){b=g[(65535&b)+(p&(1<<w)-1)];continue}e.msg="invalid distance code",n.mode=30;break e}if(E=65535&b,f<(w&=15)&&(p+=T[i++]<<f,(f+=8)<w&&(p+=T[i++]<<f,f+=8)),l<(E+=p&(1<<w)-1)){e.msg="invalid distance too far back",n.mode=30;break e}if(p>>>=w,f-=w,(w=o-s)<E){if(u<(w=E-w)&&n.sane){e.msg="invalid distance too far back",n.mode=30;break e}if(k=h,(x=0)===d){if(x+=c-w,w<_){for(_-=w;O[o++]=h[x++],--w;);x=o-E,k=O}}else if(d<w){if(x+=c+d-w,(w-=d)<_){for(_-=w;O[o++]=h[x++],--w;);if(x=0,d<_){for(_-=w=d;O[o++]=h[x++],--w;);x=o-E,k=O}}}else if(x+=d-w,w<_){for(_-=w;O[o++]=h[x++],--w;);x=o-E,k=O}for(;2<_;)O[o++]=k[x++],O[o++]=k[x++],O[o++]=k[x++],_-=3;_&&(O[o++]=k[x++],1<_&&(O[o++]=k[x++]))}else{for(x=o-E;O[o++]=O[x++],O[o++]=O[x++],O[o++]=O[x++],2<(_-=3););_&&(O[o++]=O[x++],1<_&&(O[o++]=O[x++]))}break}}break}while(i<r&&o<a);i-=_=f>>3,p&=(1<<(f-=_<<3))-1,e.next_in=i,e.next_out=o,e.avail_in=i<r?r-i+5:5-(i-r),e.avail_out=o<a?a-o+257:257-(o-a),n.hold=p,n.bits=f}},{}],49:[function(e,t,n){"use strict";var i=e("../utils/common"),r=e("./adler32"),o=e("./crc32"),s=e("./inffast"),a=e("./inftrees");function l(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function c(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new i.Buf16(320),this.work=new i.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function u(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new i.Buf32(852),t.distcode=t.distdyn=new i.Buf32(592),t.sane=1,t.back=-1,0):-2}function d(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,u(e)):-2}function h(e,t){var n,i;return e&&e.state?(i=e.state,t<0?(n=0,t=-t):(n=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?-2:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=n,i.wbits=t,d(e))):-2}function p(e,t){var n,i;return e?(i=new c,(e.state=i).window=null,0!==(n=h(e,t))&&(e.state=null),n):-2}var f,m,g=!0;function v(e,t,n,r){var o,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new i.Buf8(s.wsize)),r>=s.wsize?(i.arraySet(s.window,t,n-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(r<(o=s.wsize-s.wnext)&&(o=r),i.arraySet(s.window,t,n-r,o,s.wnext),(r-=o)?(i.arraySet(s.window,t,n-r,r,0),s.wnext=r,s.whave=s.wsize):(s.wnext+=o,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=o))),0}n.inflateReset=d,n.inflateReset2=h,n.inflateResetKeep=u,n.inflateInit=function(e){return p(e,15)},n.inflateInit2=p,n.inflate=function(e,t){var n,c,u,d,h,p,y,b,w,_,E,x,k,T,O,C,A,S,N,I,L,R,P,D,j=0,B=new i.Buf8(4),F=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return -2;12===(n=e.state).mode&&(n.mode=13),h=e.next_out,u=e.output,y=e.avail_out,d=e.next_in,c=e.input,p=e.avail_in,b=n.hold,w=n.bits,_=p,E=y,R=0;e:for(;;)switch(n.mode){case 1:if(0===n.wrap){n.mode=13;break}for(;w<16;){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}if(2&n.wrap&&35615===b){B[n.check=0]=255&b,B[1]=b>>>8&255,n.check=o(n.check,B,2,0),w=b=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&b)<<8)+(b>>8))%31){e.msg="incorrect header check",n.mode=30;break}if(8!=(15&b)){e.msg="unknown compression method",n.mode=30;break}if(w-=4,L=8+(15&(b>>>=4)),0===n.wbits)n.wbits=L;else if(L>n.wbits){e.msg="invalid window size",n.mode=30;break}n.dmax=1<<L,e.adler=n.check=1,n.mode=512&b?10:12,w=b=0;break;case 2:for(;w<16;){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}if(n.flags=b,8!=(255&n.flags)){e.msg="unknown compression method",n.mode=30;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=30;break}n.head&&(n.head.text=b>>8&1),512&n.flags&&(B[0]=255&b,B[1]=b>>>8&255,n.check=o(n.check,B,2,0)),w=b=0,n.mode=3;case 3:for(;w<32;){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}n.head&&(n.head.time=b),512&n.flags&&(B[0]=255&b,B[1]=b>>>8&255,B[2]=b>>>16&255,B[3]=b>>>24&255,n.check=o(n.check,B,4,0)),w=b=0,n.mode=4;case 4:for(;w<16;){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}n.head&&(n.head.xflags=255&b,n.head.os=b>>8),512&n.flags&&(B[0]=255&b,B[1]=b>>>8&255,n.check=o(n.check,B,2,0)),w=b=0,n.mode=5;case 5:if(1024&n.flags){for(;w<16;){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}n.length=b,n.head&&(n.head.extra_len=b),512&n.flags&&(B[0]=255&b,B[1]=b>>>8&255,n.check=o(n.check,B,2,0)),w=b=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&(p<(x=n.length)&&(x=p),x&&(n.head&&(L=n.head.extra_len-n.length,n.head.extra||(n.head.extra=Array(n.head.extra_len)),i.arraySet(n.head.extra,c,d,x,L)),512&n.flags&&(n.check=o(n.check,c,x,d)),p-=x,d+=x,n.length-=x),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===p)break e;for(x=0;L=c[d+x++],n.head&&L&&n.length<65536&&(n.head.name+=String.fromCharCode(L)),L&&x<p;);if(512&n.flags&&(n.check=o(n.check,c,x,d)),p-=x,d+=x,L)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=8;case 8:if(4096&n.flags){if(0===p)break e;for(x=0;L=c[d+x++],n.head&&L&&n.length<65536&&(n.head.comment+=String.fromCharCode(L)),L&&x<p;);if(512&n.flags&&(n.check=o(n.check,c,x,d)),p-=x,d+=x,L)break e}else n.head&&(n.head.comment=null);n.mode=9;case 9:if(512&n.flags){for(;w<16;){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}if(b!==(65535&n.check)){e.msg="header crc mismatch",n.mode=30;break}w=b=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=12;break;case 10:for(;w<32;){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}e.adler=n.check=l(b),w=b=0,n.mode=11;case 11:if(0===n.havedict)return e.next_out=h,e.avail_out=y,e.next_in=d,e.avail_in=p,n.hold=b,n.bits=w,2;e.adler=n.check=1,n.mode=12;case 12:if(5===t||6===t)break e;case 13:if(n.last){b>>>=7&w,w-=7&w,n.mode=27;break}for(;w<3;){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}switch(n.last=1&b,w-=1,3&(b>>>=1)){case 0:n.mode=14;break;case 1:if(function(e){if(g){var t;for(f=new i.Buf32(512),m=new i.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(a(1,e.lens,0,288,f,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;a(2,e.lens,0,32,m,0,e.work,{bits:5}),g=!1}e.lencode=f,e.lenbits=9,e.distcode=m,e.distbits=5}(n),n.mode=20,6!==t)break;b>>>=2,w-=2;break e;case 2:n.mode=17;break;case 3:e.msg="invalid block type",n.mode=30}b>>>=2,w-=2;break;case 14:for(b>>>=7&w,w-=7&w;w<32;){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}if((65535&b)!=(b>>>16^65535)){e.msg="invalid stored block lengths",n.mode=30;break}if(n.length=65535&b,w=b=0,n.mode=15,6===t)break e;case 15:n.mode=16;case 16:if(x=n.length){if(p<x&&(x=p),y<x&&(x=y),0===x)break e;i.arraySet(u,c,d,x,h),p-=x,d+=x,y-=x,h+=x,n.length-=x;break}n.mode=12;break;case 17:for(;w<14;){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}if(n.nlen=257+(31&b),b>>>=5,w-=5,n.ndist=1+(31&b),b>>>=5,w-=5,n.ncode=4+(15&b),b>>>=4,w-=4,286<n.nlen||30<n.ndist){e.msg="too many length or distance symbols",n.mode=30;break}n.have=0,n.mode=18;case 18:for(;n.have<n.ncode;){for(;w<3;){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}n.lens[F[n.have++]]=7&b,b>>>=3,w-=3}for(;n.have<19;)n.lens[F[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,P={bits:n.lenbits},R=a(0,n.lens,0,19,n.lencode,0,n.work,P),n.lenbits=P.bits,R){e.msg="invalid code lengths set",n.mode=30;break}n.have=0,n.mode=19;case 19:for(;n.have<n.nlen+n.ndist;){for(;C=(j=n.lencode[b&(1<<n.lenbits)-1])>>>16&255,A=65535&j,!((O=j>>>24)<=w);){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}if(A<16)b>>>=O,w-=O,n.lens[n.have++]=A;else{if(16===A){for(D=O+2;w<D;){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}if(b>>>=O,w-=O,0===n.have){e.msg="invalid bit length repeat",n.mode=30;break}L=n.lens[n.have-1],x=3+(3&b),b>>>=2,w-=2}else if(17===A){for(D=O+3;w<D;){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}w-=O,L=0,x=3+(7&(b>>>=O)),b>>>=3,w-=3}else{for(D=O+7;w<D;){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}w-=O,L=0,x=11+(127&(b>>>=O)),b>>>=7,w-=7}if(n.have+x>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=30;break}for(;x--;)n.lens[n.have++]=L}}if(30===n.mode)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=30;break}if(n.lenbits=9,P={bits:n.lenbits},R=a(1,n.lens,0,n.nlen,n.lencode,0,n.work,P),n.lenbits=P.bits,R){e.msg="invalid literal/lengths set",n.mode=30;break}if(n.distbits=6,n.distcode=n.distdyn,P={bits:n.distbits},R=a(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,P),n.distbits=P.bits,R){e.msg="invalid distances set",n.mode=30;break}if(n.mode=20,6===t)break e;case 20:n.mode=21;case 21:if(6<=p&&258<=y){e.next_out=h,e.avail_out=y,e.next_in=d,e.avail_in=p,n.hold=b,n.bits=w,s(e,E),h=e.next_out,u=e.output,y=e.avail_out,d=e.next_in,c=e.input,p=e.avail_in,b=n.hold,w=n.bits,12===n.mode&&(n.back=-1);break}for(n.back=0;C=(j=n.lencode[b&(1<<n.lenbits)-1])>>>16&255,A=65535&j,!((O=j>>>24)<=w);){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}if(C&&0==(240&C)){for(S=O,N=C,I=A;C=(j=n.lencode[I+((b&(1<<S+N)-1)>>S)])>>>16&255,A=65535&j,!(S+(O=j>>>24)<=w);){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}b>>>=S,w-=S,n.back+=S}if(b>>>=O,w-=O,n.back+=O,n.length=A,0===C){n.mode=26;break}if(32&C){n.back=-1,n.mode=12;break}if(64&C){e.msg="invalid literal/length code",n.mode=30;break}n.extra=15&C,n.mode=22;case 22:if(n.extra){for(D=n.extra;w<D;){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}n.length+=b&(1<<n.extra)-1,b>>>=n.extra,w-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;C=(j=n.distcode[b&(1<<n.distbits)-1])>>>16&255,A=65535&j,!((O=j>>>24)<=w);){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}if(0==(240&C)){for(S=O,N=C,I=A;C=(j=n.distcode[I+((b&(1<<S+N)-1)>>S)])>>>16&255,A=65535&j,!(S+(O=j>>>24)<=w);){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}b>>>=S,w-=S,n.back+=S}if(b>>>=O,w-=O,n.back+=O,64&C){e.msg="invalid distance code",n.mode=30;break}n.offset=A,n.extra=15&C,n.mode=24;case 24:if(n.extra){for(D=n.extra;w<D;){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}n.offset+=b&(1<<n.extra)-1,b>>>=n.extra,w-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=30;break}n.mode=25;case 25:if(0===y)break e;if(x=E-y,n.offset>x){if((x=n.offset-x)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=30;break}k=x>n.wnext?(x-=n.wnext,n.wsize-x):n.wnext-x,x>n.length&&(x=n.length),T=n.window}else T=u,k=h-n.offset,x=n.length;for(y<x&&(x=y),y-=x,n.length-=x;u[h++]=T[k++],--x;);0===n.length&&(n.mode=21);break;case 26:if(0===y)break e;u[h++]=n.length,y--,n.mode=21;break;case 27:if(n.wrap){for(;w<32;){if(0===p)break e;p--,b|=c[d++]<<w,w+=8}if(E-=y,e.total_out+=E,n.total+=E,E&&(e.adler=n.check=n.flags?o(n.check,u,E,h-E):r(n.check,u,E,h-E)),E=y,(n.flags?b:l(b))!==n.check){e.msg="incorrect data check",n.mode=30;break}w=b=0}n.mode=28;case 28:if(n.wrap&&n.flags){for(;w<32;){if(0===p)break e;p--,b+=c[d++]<<w,w+=8}if(b!==(0xffffffff&n.total)){e.msg="incorrect length check",n.mode=30;break}w=b=0}n.mode=29;case 29:R=1;break e;case 30:R=-3;break e;case 31:return -4;default:return -2}return e.next_out=h,e.avail_out=y,e.next_in=d,e.avail_in=p,n.hold=b,n.bits=w,(n.wsize||E!==e.avail_out&&n.mode<30&&(n.mode<27||4!==t))&&v(e,e.output,e.next_out,E-e.avail_out)?(n.mode=31,-4):(_-=e.avail_in,E-=e.avail_out,e.total_in+=_,e.total_out+=E,n.total+=E,n.wrap&&E&&(e.adler=n.check=n.flags?o(n.check,u,E,e.next_out-E):r(n.check,u,E,e.next_out-E)),e.data_type=n.bits+(n.last?64:0)+(12===n.mode?128:0)+(20===n.mode||15===n.mode?256:0),(0==_&&0===E||4===t)&&0===R&&(R=-5),R)},n.inflateEnd=function(e){if(!e||!e.state)return -2;var t=e.state;return t.window&&(t.window=null),e.state=null,0},n.inflateGetHeader=function(e,t){var n;return e&&e.state?0==(2&(n=e.state).wrap)?-2:((n.head=t).done=!1,0):-2},n.inflateSetDictionary=function(e,t){var n,i=t.length;return e&&e.state?0!==(n=e.state).wrap&&11!==n.mode?-2:11===n.mode&&r(1,t,i,0)!==n.check?-3:v(e,t,i,i)?(n.mode=31,-4):(n.havedict=1,0):-2},n.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,n){"use strict";var i=e("../utils/common"),r=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],o=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],s=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],a=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,n,l,c,u,d,h){var p,f,m,g,v,y,b,w,_,E=h.bits,x=0,k=0,T=0,O=0,C=0,A=0,S=0,N=0,I=0,L=0,R=null,P=0,D=new i.Buf16(16),j=new i.Buf16(16),B=null,F=0;for(x=0;x<=15;x++)D[x]=0;for(k=0;k<l;k++)D[t[n+k]]++;for(C=E,O=15;1<=O&&0===D[O];O--);if(O<C&&(C=O),0===O)return c[u++]=0x1400000,c[u++]=0x1400000,h.bits=1,0;for(T=1;T<O&&0===D[T];T++);for(C<T&&(C=T),x=N=1;x<=15;x++)if(N<<=1,(N-=D[x])<0)return -1;if(0<N&&(0===e||1!==O))return -1;for(j[1]=0,x=1;x<15;x++)j[x+1]=j[x]+D[x];for(k=0;k<l;k++)0!==t[n+k]&&(d[j[t[n+k]]++]=k);if(y=0===e?(R=B=d,19):1===e?(R=r,P-=257,B=o,F-=257,256):(R=s,B=a,-1),x=T,v=u,S=k=L=0,m=-1,g=(I=1<<(A=C))-1,1===e&&852<I||2===e&&592<I)return 1;for(;;){for(b=x-S,_=d[k]<y?(w=0,d[k]):d[k]>y?(w=B[F+d[k]],R[P+d[k]]):(w=96,0),p=1<<x-S,T=f=1<<A;c[v+(L>>S)+(f-=p)]=b<<24|w<<16|_|0,0!==f;);for(p=1<<x-1;L&p;)p>>=1;if(0!==p?(L&=p-1,L+=p):L=0,k++,0==--D[x]){if(x===O)break;x=t[n+d[k]]}if(C<x&&(L&g)!==m){for(0===S&&(S=C),v+=T,N=1<<(A=x-S);A+S<O&&!((N-=D[A+S])<=0);)A++,N<<=1;if(I+=1<<A,1===e&&852<I||2===e&&592<I)return 1;c[m=L&g]=C<<24|A<<16|v-u|0}}return 0!==L&&(c[v+L]=x-S<<24|4194304),h.bits=C,0}},{"../utils/common":41}],51:[function(e,t,n){"use strict";t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(e,t,n){"use strict";var i=e("../utils/common");function r(e){for(var t=e.length;0<=--t;)e[t]=0}var o=286,s=573,a=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],l=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],c=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],u=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],d=Array(576);r(d);var h=Array(60);r(h);var p=Array(512);r(p);var f=Array(256);r(f);var m=Array(29);r(m);var g,v,y,b=Array(30);function w(e,t,n,i,r){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=i,this.max_length=r,this.has_stree=e&&e.length}function _(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function E(e){return e<256?p[e]:p[256+(e>>>7)]}function x(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function k(e,t,n){e.bi_valid>16-n?(e.bi_buf|=t<<e.bi_valid&65535,x(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=n-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function T(e,t,n){k(e,n[2*t],n[2*t+1])}function O(e,t){for(var n=0;n|=1&e,e>>>=1,n<<=1,0<--t;);return n>>>1}function C(e,t,n){var i,r,o=Array(16),s=0;for(i=1;i<=15;i++)o[i]=s=s+n[i-1]<<1;for(r=0;r<=t;r++){var a=e[2*r+1];0!==a&&(e[2*r]=O(o[a]++,a))}}function A(e){var t;for(t=0;t<o;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function S(e){8<e.bi_valid?x(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function N(e,t,n,i){var r=2*t,o=2*n;return e[r]<e[o]||e[r]===e[o]&&i[t]<=i[n]}function I(e,t,n){for(var i=e.heap[n],r=n<<1;r<=e.heap_len&&(r<e.heap_len&&N(t,e.heap[r+1],e.heap[r],e.depth)&&r++,!N(t,i,e.heap[r],e.depth));)e.heap[n]=e.heap[r],n=r,r<<=1;e.heap[n]=i}function L(e,t,n){var i,r,o,s,c=0;if(0!==e.last_lit)for(;i=e.pending_buf[e.d_buf+2*c]<<8|e.pending_buf[e.d_buf+2*c+1],r=e.pending_buf[e.l_buf+c],c++,0===i?T(e,r,t):(T(e,(o=f[r])+256+1,t),0!==(s=a[o])&&k(e,r-=m[o],s),T(e,o=E(--i),n),0!==(s=l[o])&&k(e,i-=b[o],s)),c<e.last_lit;);T(e,256,t)}function R(e,t){var n,i,r,o=t.dyn_tree,a=t.stat_desc.static_tree,l=t.stat_desc.has_stree,c=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=s,n=0;n<c;n++)0!==o[2*n]?(e.heap[++e.heap_len]=u=n,e.depth[n]=0):o[2*n+1]=0;for(;e.heap_len<2;)o[2*(r=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[r]=0,e.opt_len--,l&&(e.static_len-=a[2*r+1]);for(t.max_code=u,n=e.heap_len>>1;1<=n;n--)I(e,o,n);for(r=c;n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],I(e,o,1),i=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=i,o[2*r]=o[2*n]+o[2*i],e.depth[r]=(e.depth[n]>=e.depth[i]?e.depth[n]:e.depth[i])+1,o[2*n+1]=o[2*i+1]=r,e.heap[1]=r++,I(e,o,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,i,r,o,a,l,c=t.dyn_tree,u=t.max_code,d=t.stat_desc.static_tree,h=t.stat_desc.has_stree,p=t.stat_desc.extra_bits,f=t.stat_desc.extra_base,m=t.stat_desc.max_length,g=0;for(o=0;o<=15;o++)e.bl_count[o]=0;for(c[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<s;n++)m<(o=c[2*c[2*(i=e.heap[n])+1]+1]+1)&&(o=m,g++),c[2*i+1]=o,u<i||(e.bl_count[o]++,a=0,f<=i&&(a=p[i-f]),l=c[2*i],e.opt_len+=l*(o+a),h&&(e.static_len+=l*(d[2*i+1]+a)));if(0!==g){do{for(o=m-1;0===e.bl_count[o];)o--;e.bl_count[o]--,e.bl_count[o+1]+=2,e.bl_count[m]--,g-=2}while(0<g);for(o=m;0!==o;o--)for(i=e.bl_count[o];0!==i;)u<(r=e.heap[--n])||(c[2*r+1]!==o&&(e.opt_len+=(o-c[2*r+1])*c[2*r],c[2*r+1]=o),i--)}}(e,t),C(o,u,e.bl_count)}function P(e,t,n){var i,r,o=-1,s=t[1],a=0,l=7,c=4;for(0===s&&(l=138,c=3),t[2*(n+1)+1]=65535,i=0;i<=n;i++)r=s,s=t[2*(i+1)+1],++a<l&&r===s||(a<c?e.bl_tree[2*r]+=a:0!==r?(r!==o&&e.bl_tree[2*r]++,e.bl_tree[32]++):a<=10?e.bl_tree[34]++:e.bl_tree[36]++,o=r,c=(a=0)===s?(l=138,3):r===s?(l=6,3):(l=7,4))}function D(e,t,n){var i,r,o=-1,s=t[1],a=0,l=7,c=4;for(0===s&&(l=138,c=3),i=0;i<=n;i++)if(r=s,s=t[2*(i+1)+1],!(++a<l&&r===s)){if(a<c)for(;T(e,r,e.bl_tree),0!=--a;);else 0!==r?(r!==o&&(T(e,r,e.bl_tree),a--),T(e,16,e.bl_tree),k(e,a-3,2)):a<=10?(T(e,17,e.bl_tree),k(e,a-3,3)):(T(e,18,e.bl_tree),k(e,a-11,7));o=r,c=(a=0)===s?(l=138,3):r===s?(l=6,3):(l=7,4)}}r(b);var j=!1;function B(e,t,n,r){var o,s,a,l;k(e,0+(r?1:0),3),o=e,s=t,a=n,l=!0,S(o),l&&(x(o,a),x(o,~a)),i.arraySet(o.pending_buf,o.window,s,a,o.pending),o.pending+=a}n._tr_init=function(e){j||(function(){var e,t,n,i,r,s=Array(16);for(i=n=0;i<28;i++)for(m[i]=n,e=0;e<1<<a[i];e++)f[n++]=i;for(f[n-1]=i,i=r=0;i<16;i++)for(b[i]=r,e=0;e<1<<l[i];e++)p[r++]=i;for(r>>=7;i<30;i++)for(b[i]=r<<7,e=0;e<1<<l[i]-7;e++)p[256+r++]=i;for(t=0;t<=15;t++)s[t]=0;for(e=0;e<=143;)d[2*e+1]=8,e++,s[8]++;for(;e<=255;)d[2*e+1]=9,e++,s[9]++;for(;e<=279;)d[2*e+1]=7,e++,s[7]++;for(;e<=287;)d[2*e+1]=8,e++,s[8]++;for(C(d,o+1,s),e=0;e<30;e++)h[2*e+1]=5,h[2*e]=O(e,5);g=new w(d,a,257,o,15),v=new w(h,l,0,30,15),y=new w([],c,0,19,7)}(),j=!0),e.l_desc=new _(e.dyn_ltree,g),e.d_desc=new _(e.dyn_dtree,v),e.bl_desc=new _(e.bl_tree,y),e.bi_buf=0,e.bi_valid=0,A(e)},n._tr_stored_block=B,n._tr_flush_block=function(e,t,n,i){var r,o,s=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=0xf3ffc07f;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),R(e,e.l_desc),R(e,e.d_desc),s=function(e){var t;for(P(e,e.dyn_ltree,e.l_desc.max_code),P(e,e.dyn_dtree,e.d_desc.max_code),R(e,e.bl_desc),t=18;3<=t&&0===e.bl_tree[2*u[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),r=e.opt_len+3+7>>>3,(o=e.static_len+3+7>>>3)<=r&&(r=o)):r=o=n+5,n+4<=r&&-1!==t?B(e,t,n,i):4===e.strategy||o===r?(k(e,2+(i?1:0),3),L(e,d,h)):(k(e,4+(i?1:0),3),function(e,t,n,i){var r;for(k(e,t-257,5),k(e,n-1,5),k(e,i-4,4),r=0;r<i;r++)k(e,e.bl_tree[2*u[r]+1],3);D(e,e.dyn_ltree,t-1),D(e,e.dyn_dtree,n-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,s+1),L(e,e.dyn_ltree,e.dyn_dtree)),A(e),i&&S(e)},n._tr_tally=function(e,t,n){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(f[n]+256+1)]++,e.dyn_dtree[2*E(t)]++),e.last_lit===e.lit_bufsize-1},n._tr_align=function(e){var t;k(e,2,3),T(e,256,d),16===(t=e).bi_valid?(x(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):8<=t.bi_valid&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}},{"../utils/common":41}],53:[function(e,t,n){"use strict";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,n){"use strict";t.exports="function"==typeof i?i:function(){var e=[].slice.apply(arguments);e.splice(1,0,0),setTimeout.apply(null,e)}},{}]},{},[10])(10)},e.exports=o()}).call(t,n(6).Buffer,n(4),n(60).setImmediate)},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0});var r=n(12);t.Document=r.File,i(n(12)),i(n(352)),i(n(360)),i(n(44))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(25);t.EMPTY_OBJECT=Object.seal({});class r extends i.BaseXmlComponent{constructor(e){super(e),this.root=[]}prepForXml(e){let n,r=this.root.filter(e=>e instanceof i.BaseXmlComponent?!e.IsDeleted:void 0!==e).map(t=>t instanceof i.BaseXmlComponent?t.prepForXml(e):t).filter(e=>void 0!==e);return{[this.rootKey]:r.length?1===r.length&&"object"==typeof(n=r[0])&&n._attr?r[0]:r:t.EMPTY_OBJECT}}addChildElement(e){return this.root.push(e),this}delete(){this.deleted=!0}}t.XmlComponent=r;t.IgnoreIfEmptyXmlComponent=class e extends r{prepForXml(){let e=super.prepForXml();if(e&&("object"!=typeof e[this.rootKey]||Object.keys(e[this.rootKey]).length))return e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(53);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val",color:"w:color",fill:"w:fill",space:"w:space",sz:"w:sz",type:"w:type",rsidR:"w:rsidR",rsidRPr:"w:rsidRPr",rsidSect:"w:rsidSect",w:"w:w",h:"w:h",top:"w:top",right:"w:right",bottom:"w:bottom",left:"w:left",header:"w:header",footer:"w:footer",gutter:"w:gutter",linePitch:"w:linePitch",pos:"w:pos"}}}t.Attributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(26),r=n(0);function o(e){switch(e.type){case void 0:case"element":let t=new a(e.name,e.attributes);for(let n of e.elements||[]){let e=o(n);void 0!==e&&t.push(e)}return t;case"text":return e.text;default:return}}t.convertToXmlComponent=o;class s extends r.XmlAttributeComponent{}class a extends r.XmlComponent{static fromXmlString(e){return o(i.xml2js(e,{compact:!1}))}constructor(e,t){super(e),t&&this.root.push(new s(t))}push(e){this.root.push(e)}}t.ImportedXmlComponent=a;class l extends r.XmlComponent{constructor(e){super(""),this._attr=e}prepForXml(){return{_attr:this._attr}}}t.ImportedRootElementAttributes=l},function(e,t,n){(function(e){!function(t){t.parser=function(e,t){return new l(e,t)},t.SAXParser=l,t.SAXStream=u,t.createStream=function(e,t){return new u(e,t)},t.MAX_BUFFER_LENGTH=65536;var i,r,o,s,a=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function l(e,n){if(!(this instanceof l))return new l(e,n);(function(e){for(var t=0,n=a.length;t<n;t++)e[a[t]]=""})(this),this.q=this.c="",this.bufferCheckPosition=t.MAX_BUFFER_LENGTH,this.opt=n||{},this.opt.lowercase=this.opt.lowercase||this.opt.lowercasetags,this.looseCase=this.opt.lowercase?"toLowerCase":"toUpperCase",this.tags=[],this.closed=this.closedRoot=this.sawRoot=!1,this.tag=this.error=null,this.strict=!!e,this.noscript=!!(e||this.opt.noscript),this.state=_.BEGIN,this.strictEntities=this.opt.strictEntities,this.ENTITIES=this.strictEntities?Object.create(t.XML_ENTITIES):Object.create(t.ENTITIES),this.attribList=[],this.opt.xmlns&&(this.ns=Object.create(p)),this.trackPosition=!1!==this.opt.position,this.trackPosition&&(this.position=this.line=this.column=0),x(this,"onready")}t.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"],!Object.create&&(Object.create=function(e){function t(){}return t.prototype=e,new t}),!Object.keys&&(Object.keys=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t});l.prototype={end:function(){A(this)},write:function(e){if(this.error)throw this.error;if(this.closed)return C(this,"Cannot write after close. Assign an onready handler.");if(null===e)return A(this);"object"==typeof e&&(e=e.toString());for(var n=0,i="";i=D(e,n++),this.c=i,i;){;switch(this.trackPosition&&(this.position++,"\n"===i?(this.line++,this.column=0):this.column++),this.state){case _.BEGIN:if(this.state=_.BEGIN_WHITESPACE,"\uFEFF"===i)continue;P(this,i);continue;case _.BEGIN_WHITESPACE:P(this,i);continue;case _.TEXT:if(this.sawRoot&&!this.closedRoot){for(var r,o,s,l=n-1;i&&"<"!==i&&"&"!==i;)(i=D(e,n++))&&this.trackPosition&&(this.position++,"\n"===i?(this.line++,this.column=0):this.column++);this.textNode+=e.substring(l,n-1)}"<"!==i||this.sawRoot&&this.closedRoot&&!this.strict?(!y(i)&&(!this.sawRoot||this.closedRoot)&&S(this,"Text data outside of root node."),"&"===i?this.state=_.TEXT_ENTITY:this.textNode+=i):(this.state=_.OPEN_WAKA,this.startTagPosition=this.position);continue;case _.SCRIPT:"<"===i?this.state=_.SCRIPT_ENDING:this.script+=i;continue;case _.SCRIPT_ENDING:"/"===i?this.state=_.CLOSE_TAG:(this.script+="<"+i,this.state=_.SCRIPT);continue;case _.OPEN_WAKA:"!"===i?(this.state=_.SGML_DECL,this.sgmlDecl=""):y(i)||(w(f,i)?(this.state=_.OPEN_TAG,this.tagName=i):"/"===i?(this.state=_.CLOSE_TAG,this.tagName=""):"?"===i?(this.state=_.PROC_INST,this.procInstName=this.procInstBody=""):(S(this,"Unencoded <"),this.startTagPosition+1<this.position&&(i=Array(this.position-this.startTagPosition).join(" ")+i),this.textNode+="<"+i,this.state=_.TEXT));continue;case _.SGML_DECL:"[CDATA["===(this.sgmlDecl+i).toUpperCase()?(k(this,"onopencdata"),this.state=_.CDATA,this.sgmlDecl="",this.cdata=""):this.sgmlDecl+i==="--"?(this.state=_.COMMENT,this.comment="",this.sgmlDecl=""):"DOCTYPE"===(this.sgmlDecl+i).toUpperCase()?(this.state=_.DOCTYPE,(this.doctype||this.sawRoot)&&S(this,"Inappropriately located doctype declaration"),this.doctype="",this.sgmlDecl=""):">"===i?(k(this,"onsgmldeclaration",this.sgmlDecl),this.sgmlDecl="",this.state=_.TEXT):(b(i)&&(this.state=_.SGML_DECL_QUOTED),this.sgmlDecl+=i);continue;case _.SGML_DECL_QUOTED:i===this.q&&(this.state=_.SGML_DECL,this.q=""),this.sgmlDecl+=i;continue;case _.DOCTYPE:">"===i?(this.state=_.TEXT,k(this,"ondoctype",this.doctype),this.doctype=!0):(this.doctype+=i,"["===i?this.state=_.DOCTYPE_DTD:b(i)&&(this.state=_.DOCTYPE_QUOTED,this.q=i));continue;case _.DOCTYPE_QUOTED:this.doctype+=i,i===this.q&&(this.q="",this.state=_.DOCTYPE);continue;case _.DOCTYPE_DTD:this.doctype+=i,"]"===i?this.state=_.DOCTYPE:b(i)&&(this.state=_.DOCTYPE_DTD_QUOTED,this.q=i);continue;case _.DOCTYPE_DTD_QUOTED:this.doctype+=i,i===this.q&&(this.state=_.DOCTYPE_DTD,this.q="");continue;case _.COMMENT:"-"===i?this.state=_.COMMENT_ENDING:this.comment+=i;continue;case _.COMMENT_ENDING:"-"===i?(this.state=_.COMMENT_ENDED,this.comment=O(this.opt,this.comment),this.comment&&k(this,"oncomment",this.comment),this.comment=""):(this.comment+="-"+i,this.state=_.COMMENT);continue;case _.COMMENT_ENDED:">"!==i?(S(this,"Malformed comment"),this.comment+="--"+i,this.state=_.COMMENT):this.state=_.TEXT;continue;case _.CDATA:"]"===i?this.state=_.CDATA_ENDING:this.cdata+=i;continue;case _.CDATA_ENDING:"]"===i?this.state=_.CDATA_ENDING_2:(this.cdata+="]"+i,this.state=_.CDATA);continue;case _.CDATA_ENDING_2:">"===i?(this.cdata&&k(this,"oncdata",this.cdata),k(this,"onclosecdata"),this.cdata="",this.state=_.TEXT):"]"===i?this.cdata+="]":(this.cdata+="]]"+i,this.state=_.CDATA);continue;case _.PROC_INST:"?"===i?this.state=_.PROC_INST_ENDING:y(i)?this.state=_.PROC_INST_BODY:this.procInstName+=i;continue;case _.PROC_INST_BODY:!this.procInstBody&&y(i)||("?"===i?this.state=_.PROC_INST_ENDING:this.procInstBody+=i);continue;case _.PROC_INST_ENDING:">"===i?(k(this,"onprocessinginstruction",{name:this.procInstName,body:this.procInstBody}),this.procInstName=this.procInstBody="",this.state=_.TEXT):(this.procInstBody+="?"+i,this.state=_.PROC_INST_BODY);continue;case _.OPEN_TAG:w(m,i)?this.tagName+=i:(!function(e){!e.strict&&(e.tagName=e.tagName[e.looseCase]());var t=e.tags[e.tags.length-1]||e,n=e.tag={name:e.tagName,attributes:{}};e.opt.xmlns&&(n.ns=t.ns),e.attribList.length=0,k(e,"onopentagstart",n)}(this),">"===i?L(this):"/"===i?this.state=_.OPEN_TAG_SLASH:(!y(i)&&S(this,"Invalid character in tag name"),this.state=_.ATTRIB));continue;case _.OPEN_TAG_SLASH:">"===i?(L(this,!0),R(this)):(S(this,"Forward-slash in opening tag not followed by >"),this.state=_.ATTRIB);continue;case _.ATTRIB:y(i)||(">"===i?L(this):"/"===i?this.state=_.OPEN_TAG_SLASH:w(f,i)?(this.attribName=i,this.attribValue="",this.state=_.ATTRIB_NAME):S(this,"Invalid attribute name"));continue;case _.ATTRIB_NAME:"="===i?this.state=_.ATTRIB_VALUE:">"===i?(S(this,"Attribute without value"),this.attribValue=this.attribName,I(this),L(this)):y(i)?this.state=_.ATTRIB_NAME_SAW_WHITE:w(m,i)?this.attribName+=i:S(this,"Invalid attribute name");continue;case _.ATTRIB_NAME_SAW_WHITE:"="===i?this.state=_.ATTRIB_VALUE:y(i)||(S(this,"Attribute without value"),this.tag.attributes[this.attribName]="",this.attribValue="",k(this,"onattribute",{name:this.attribName,value:""}),this.attribName="",">"===i?L(this):w(f,i)?(this.attribName=i,this.state=_.ATTRIB_NAME):(S(this,"Invalid attribute name"),this.state=_.ATTRIB));continue;case _.ATTRIB_VALUE:y(i)||(b(i)?(this.q=i,this.state=_.ATTRIB_VALUE_QUOTED):(S(this,"Unquoted attribute value"),this.state=_.ATTRIB_VALUE_UNQUOTED,this.attribValue=i));continue;case _.ATTRIB_VALUE_QUOTED:if(i!==this.q){"&"===i?this.state=_.ATTRIB_VALUE_ENTITY_Q:this.attribValue+=i;continue}I(this),this.q="",this.state=_.ATTRIB_VALUE_CLOSED;continue;case _.ATTRIB_VALUE_CLOSED:y(i)?this.state=_.ATTRIB:">"===i?L(this):"/"===i?this.state=_.OPEN_TAG_SLASH:w(f,i)?(S(this,"No whitespace between attributes"),this.attribName=i,this.attribValue="",this.state=_.ATTRIB_NAME):S(this,"Invalid attribute name");continue;case _.ATTRIB_VALUE_UNQUOTED:;if(!(">"===(r=i)||y(r))){"&"===i?this.state=_.ATTRIB_VALUE_ENTITY_U:this.attribValue+=i;continue}I(this),">"===i?L(this):this.state=_.ATTRIB;continue;case _.CLOSE_TAG:if(this.tagName)">"===i?R(this):w(m,i)?this.tagName+=i:this.script?(this.script+="</"+this.tagName,this.tagName="",this.state=_.SCRIPT):(!y(i)&&S(this,"Invalid tagname in closing tag"),this.state=_.CLOSE_TAG_SAW_WHITE);else if(y(i));else if(w(f,i))this.tagName=i;else this.script?(this.script+="</"+i,this.state=_.SCRIPT):S(this,"Invalid tagname in closing tag.");continue;case _.CLOSE_TAG_SAW_WHITE:if(y(i))continue;">"===i?R(this):S(this,"Invalid characters in closing tag");continue;case _.TEXT_ENTITY:case _.ATTRIB_VALUE_ENTITY_Q:case _.ATTRIB_VALUE_ENTITY_U:switch(this.state){case _.TEXT_ENTITY:o=_.TEXT,s="textNode";break;case _.ATTRIB_VALUE_ENTITY_Q:o=_.ATTRIB_VALUE_QUOTED,s="attribValue";break;case _.ATTRIB_VALUE_ENTITY_U:o=_.ATTRIB_VALUE_UNQUOTED,s="attribValue"}";"===i?(this[s]+=function(e){var t,n=e.entity,i=n.toLowerCase(),r="";return e.ENTITIES[n]?e.ENTITIES[n]:e.ENTITIES[i]?e.ENTITIES[i]:("#"===(n=i).charAt(0)&&(r="x"===n.charAt(1)?(t=parseInt(n=n.slice(2),16)).toString(16):(t=parseInt(n=n.slice(1),10)).toString(10)),n=n.replace(/^0+/,""),isNaN(t)||r.toLowerCase()!==n)?(S(e,"Invalid character entity"),"&"+e.entity+";"):String.fromCodePoint(t)}(this),this.entity="",this.state=o):w(this.entity.length?v:g,i)?this.entity+=i:(S(this,"Invalid character in entity name"),this[s]+="&"+this.entity+i,this.entity="",this.state=o);continue;default:throw Error(this,"Unknown state: "+this.state)}}return this.position>=this.bufferCheckPosition&&!function(e){for(var n=Math.max(t.MAX_BUFFER_LENGTH,10),i=0,r=0,o=a.length;r<o;r++){var s=e[a[r]].length;if(s>n)switch(a[r]){case"textNode":T(e);break;case"cdata":k(e,"oncdata",e.cdata),e.cdata="";break;case"script":k(e,"onscript",e.script),e.script="";break;default:C(e,"Max buffer length exceeded: "+a[r])}i=Math.max(i,s)}var l=t.MAX_BUFFER_LENGTH-i;e.bufferCheckPosition=l+e.position}(this),this},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var e;e=this,T(e),""!==e.cdata&&(k(e,"oncdata",e.cdata),e.cdata=""),""!==e.script&&(k(e,"onscript",e.script),e.script="")}};try{s=n(56).Stream}catch(e){s=function(){}}var c=t.EVENTS.filter(function(e){return"error"!==e&&"end"!==e});function u(e,t){if(!(this instanceof u))return new u(e,t);s.apply(this),this._parser=new l(e,t),this.writable=!0,this.readable=!0;var n=this;this._parser.onend=function(){n.emit("end")},this._parser.onerror=function(e){n.emit("error",e),n._parser.error=null},this._decoder=null,c.forEach(function(e){Object.defineProperty(n,"on"+e,{get:function(){return n._parser["on"+e]},set:function(t){if(!t)return n.removeAllListeners(e),n._parser["on"+e]=t,t;n.on(e,t)},enumerable:!0,configurable:!1})})}u.prototype=Object.create(s.prototype,{constructor:{value:u}}),u.prototype.write=function(t){if("function"==typeof e&&"function"==typeof e.isBuffer&&e.isBuffer(t)){if(!this._decoder){var i=n(30).StringDecoder;this._decoder=new i("utf8")}t=this._decoder.write(t)}return this._parser.write(t.toString()),this.emit("data",t),!0},u.prototype.end=function(e){return e&&e.length&&this.write(e),this._parser.end(),!0},u.prototype.on=function(e,t){var n=this;return!n._parser["on"+e]&&-1!==c.indexOf(e)&&(n._parser["on"+e]=function(){var t=1==arguments.length?[arguments[0]]:Array.apply(null,arguments);t.splice(0,0,e),n.emit.apply(n,t)}),s.prototype.on.call(n,e,t)};var d="http://www.w3.org/XML/1998/namespace",h="http://www.w3.org/2000/xmlns/",p={xml:d,xmlns:h},f=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,m=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,g=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,v=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function y(e){return" "===e||"\n"===e||"\r"===e||" "===e}function b(e){return'"'===e||"'"===e}function w(e,t){return e.test(t)}var _=0;for(var E in t.STATE={BEGIN:_++,BEGIN_WHITESPACE:_++,TEXT:_++,TEXT_ENTITY:_++,OPEN_WAKA:_++,SGML_DECL:_++,SGML_DECL_QUOTED:_++,DOCTYPE:_++,DOCTYPE_QUOTED:_++,DOCTYPE_DTD:_++,DOCTYPE_DTD_QUOTED:_++,COMMENT_STARTING:_++,COMMENT:_++,COMMENT_ENDING:_++,COMMENT_ENDED:_++,CDATA:_++,CDATA_ENDING:_++,CDATA_ENDING_2:_++,PROC_INST:_++,PROC_INST_BODY:_++,PROC_INST_ENDING:_++,OPEN_TAG:_++,OPEN_TAG_SLASH:_++,ATTRIB:_++,ATTRIB_NAME:_++,ATTRIB_NAME_SAW_WHITE:_++,ATTRIB_VALUE:_++,ATTRIB_VALUE_QUOTED:_++,ATTRIB_VALUE_CLOSED:_++,ATTRIB_VALUE_UNQUOTED:_++,ATTRIB_VALUE_ENTITY_Q:_++,ATTRIB_VALUE_ENTITY_U:_++,CLOSE_TAG:_++,CLOSE_TAG_SAW_WHITE:_++,SCRIPT:_++,SCRIPT_ENDING:_++},t.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},t.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(t.ENTITIES).forEach(function(e){var n=t.ENTITIES[e],i="number"==typeof n?String.fromCharCode(n):n;t.ENTITIES[e]=i}),t.STATE)t.STATE[t.STATE[E]]=E;function x(e,t,n){e[t]&&e[t](n)}function k(e,t,n){e.textNode&&T(e),x(e,t,n)}function T(e){e.textNode=O(e.opt,e.textNode),e.textNode&&x(e,"ontext",e.textNode),e.textNode=""}function O(e,t){return e.trim&&(t=t.trim()),e.normalize&&(t=t.replace(/\s+/g," ")),t}function C(e,t){return T(e),e.trackPosition&&(t+="\nLine: "+e.line+"\nColumn: "+e.column+"\nChar: "+e.c),t=Error(t),e.error=t,x(e,"onerror",t),e}function A(e){return e.sawRoot&&!e.closedRoot&&S(e,"Unclosed root tag"),e.state!==_.BEGIN&&e.state!==_.BEGIN_WHITESPACE&&e.state!==_.TEXT&&C(e,"Unexpected end"),T(e),e.c="",e.closed=!0,x(e,"onend"),l.call(e,e.strict,e.opt),e}function S(e,t){if("object"!=typeof e||!(e instanceof l))throw Error("bad call to strictFail");e.strict&&C(e,t)}_=t.STATE;function N(e,t){var n=0>e.indexOf(":")?["",e]:e.split(":"),i=n[0],r=n[1];return t&&"xmlns"===e&&(i="xmlns",r=""),{prefix:i,local:r}}function I(e){if(!e.strict&&(e.attribName=e.attribName[e.looseCase]()),-1!==e.attribList.indexOf(e.attribName)||e.tag.attributes.hasOwnProperty(e.attribName)){e.attribName=e.attribValue="";return}if(e.opt.xmlns){var t=N(e.attribName,!0),n=t.prefix,i=t.local;if("xmlns"===n){if("xml"===i&&e.attribValue!==d)S(e,"xml: prefix must be bound to "+d+"\nActual: "+e.attribValue);else if("xmlns"===i&&e.attribValue!==h)S(e,"xmlns: prefix must be bound to "+h+"\nActual: "+e.attribValue);else{var r=e.tag,o=e.tags[e.tags.length-1]||e;r.ns===o.ns&&(r.ns=Object.create(o.ns)),r.ns[i]=e.attribValue}}e.attribList.push([e.attribName,e.attribValue])}else e.tag.attributes[e.attribName]=e.attribValue,k(e,"onattribute",{name:e.attribName,value:e.attribValue});e.attribName=e.attribValue=""}function L(e,t){if(e.opt.xmlns){var n=e.tag,i=N(e.tagName);n.prefix=i.prefix,n.local=i.local,n.uri=n.ns[i.prefix]||"",n.prefix&&!n.uri&&(S(e,"Unbound namespace prefix: "+JSON.stringify(e.tagName)),n.uri=i.prefix);var r=e.tags[e.tags.length-1]||e;n.ns&&r.ns!==n.ns&&Object.keys(n.ns).forEach(function(t){k(e,"onopennamespace",{prefix:t,uri:n.ns[t]})});for(var o=0,s=e.attribList.length;o<s;o++){var a=e.attribList[o],l=a[0],c=a[1],u=N(l,!0),d=u.prefix,h=u.local,p=""===d?"":n.ns[d]||"",f={name:l,value:c,prefix:d,local:h,uri:p};d&&"xmlns"!==d&&!p&&(S(e,"Unbound namespace prefix: "+JSON.stringify(d)),f.uri=d),e.tag.attributes[l]=f,k(e,"onattribute",f)}e.attribList.length=0}e.tag.isSelfClosing=!!t,e.sawRoot=!0,e.tags.push(e.tag),k(e,"onopentag",e.tag),!t&&(e.noscript||"script"!==e.tagName.toLowerCase()?e.state=_.TEXT:e.state=_.SCRIPT,e.tag=null,e.tagName=""),e.attribName=e.attribValue="",e.attribList.length=0}function R(e){if(!e.tagName){S(e,"Weird empty close tag."),e.textNode+="</>",e.state=_.TEXT;return}if(e.script){if("script"!==e.tagName){e.script+="</"+e.tagName+">",e.tagName="",e.state=_.SCRIPT;return}k(e,"onscript",e.script),e.script=""}var t=e.tags.length,n=e.tagName;!e.strict&&(n=n[e.looseCase]());for(var i=n;t--;)if(e.tags[t].name!==i)S(e,"Unexpected close tag");else break;if(t<0){S(e,"Unmatched closing tag: "+e.tagName),e.textNode+="</"+e.tagName+">",e.state=_.TEXT;return}e.tagName=n;for(var r=e.tags.length;r-- >t;){var o=e.tag=e.tags.pop();e.tagName=e.tag.name,k(e,"onclosetag",e.tagName);var s={};for(var a in o.ns)s[a]=o.ns[a];var l=e.tags[e.tags.length-1]||e;e.opt.xmlns&&o.ns!==l.ns&&Object.keys(o.ns).forEach(function(t){var n=o.ns[t];k(e,"onclosenamespace",{prefix:t,uri:n})})}0===t&&(e.closedRoot=!0),e.tagName=e.attribValue=e.attribName="",e.attribList.length=0,e.state=_.TEXT}function P(e,t){"<"===t?(e.state=_.OPEN_WAKA,e.startTagPosition=e.position):!y(t)&&(S(e,"Non-whitespace before first tag."),e.textNode=t,e.state=_.TEXT)}function D(e,t){var n="";return t<e.length&&(n=e.charAt(t)),n}if(!String.fromCodePoint){;i=String.fromCharCode,r=Math.floor,o=function(){var e,t,n=[],o=-1,s=arguments.length;if(!s)return"";for(var a="";++o<s;){var l=Number(arguments[o]);if(!isFinite(l)||l<0||l>1114111||r(l)!==l)throw RangeError("Invalid code point: "+l);l<=65535?n.push(l):(l-=65536,e=(l>>10)+55296,t=l%1024+56320,n.push(e,t)),(o+1===s||n.length>16384)&&(a+=i.apply(null,n),n.length=0)}return a},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:o,configurable:!0,writable:!0}):String.fromCodePoint=o}}(t)}).call(t,n(6).Buffer)},function(e,t,n){"use strict";t.byteLength=function(e){var t=c(e),n=t[0],i=t[1];return(n+i)*3/4-i},t.toByteArray=function(e){var t,n,i,s=c(e),a=s[0],l=s[1];for(var u=new o((t=0,(a+(n=l))*3/4-n)),d=0,h=l>0?a-4:a,p=0;p<h;p+=4)i=r[e.charCodeAt(p)]<<18|r[e.charCodeAt(p+1)]<<12|r[e.charCodeAt(p+2)]<<6|r[e.charCodeAt(p+3)],u[d++]=i>>16&255,u[d++]=i>>8&255,u[d++]=255&i;return 2===l&&(i=r[e.charCodeAt(p)]<<2|r[e.charCodeAt(p+1)]>>4,u[d++]=255&i),1===l&&(i=r[e.charCodeAt(p)]<<10|r[e.charCodeAt(p+1)]<<4|r[e.charCodeAt(p+2)]>>2,u[d++]=i>>8&255,u[d++]=255&i),u},t.fromByteArray=function(e){for(var t,n=e.length,r=n%3,o=[],s=0,a=n-r;s<a;s+=16383)o.push(function(e,t,n){for(var r,o,s=[],a=t;a<n;a+=3){;o=(e[a]<<16&0xff0000)+(e[a+1]<<8&65280)+(255&e[a+2]),s.push(i[(r=o)>>18&63]+i[r>>12&63]+i[r>>6&63]+i[63&r])}return s.join("")}(e,s,s+16383>a?a:s+16383));return 1===r?(t=e[n-1],o.push(i[t>>2]+i[t<<4&63]+"==")):2===r&&(t=(e[n-2]<<8)+e[n-1],o.push(i[t>>10]+i[t>>4&63]+i[t<<2&63]+"=")),o.join("")};for(var i=[],r=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,l=s.length;a<l;++a)i[a]=s[a],r[s.charCodeAt(a)]=a;function c(e){var t=e.length;if(t%4>0)throw Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");-1===n&&(n=t);var i=n===t?0:4-n%4;return[n,i]}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,n,i,r){var o,s,a=8*r-i-1,l=(1<<a)-1,c=l>>1,u=-7,d=n?r-1:0,h=n?-1:1,p=e[t+d];for(d+=h,o=p&(1<<-u)-1,p>>=-u,u+=a;u>0;o=256*o+e[t+d],d+=h,u-=8);for(s=o&(1<<-u)-1,o>>=-u,u+=i;u>0;s=256*s+e[t+d],d+=h,u-=8);if(0===o)o=1-c;else{if(o===l)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,i),o-=c}return(p?-1:1)*s*Math.pow(2,o-i)},t.write=function(e,t,n,i,r,o){var s,a,l,c=8*o-r-1,u=(1<<c)-1,d=u>>1,h=23===r?5960464477539062e-23:0,p=i?0:o-1,f=i?1:-1,m=t<0||0===t&&1/t<0?1:0;for(isNaN(t=Math.abs(t))||t===1/0?(a=isNaN(t)?1:0,s=u):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),s+d>=1?t+=h/l:t+=h*Math.pow(2,1-d),t*l>=2&&(s++,l/=2),s+d>=u?(a=0,s=u):s+d>=1?(a=(t*l-1)*Math.pow(2,r),s+=d):(a=t*Math.pow(2,d-1)*Math.pow(2,r),s=0));r>=8;e[n+p]=255&a,p+=f,a/=256,r-=8);for(s=s<<r|a,c+=r;c>0;e[n+p]=255&s,p+=f,s/=256,c-=8);e[n+p-f]|=128*m}},function(e,t){},function(e,t,n){"use strict";var i=n(16).Buffer,r=n(148);e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},e.prototype.concat=function(e){if(0===this.length)return i.alloc(0);if(1===this.length)return this.head.data;for(var t=i.allocUnsafe(e>>>0),n=this.head,r=0;n;)!function(e,t,n){e.copy(t,n)}(n.data,t,r),r+=n.data.length,n=n.next;return t},e}(),r&&r.inspect&&r.inspect.custom&&(e.exports.prototype[r.inspect.custom]=function(){var e=r.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t){},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var i,r,o,s,a,l=1,c={},u=!1,d=e.document;var h=Object.getPrototypeOf&&Object.getPrototypeOf(e);if(h=h&&h.setTimeout?h:e,"[object process]"===({}).toString.call(e.process))a=function(e){t.nextTick(function(){f(e)})};else if(function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()){;i="setImmediate$"+Math.random()+"$",r=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(i)&&f(+t.data.slice(i.length))},e.addEventListener?e.addEventListener("message",r,!1):e.attachEvent("onmessage",r),a=function(t){e.postMessage(i+t,"*")}}else if(e.MessageChannel){;(o=new MessageChannel).port1.onmessage=function(e){f(e.data)},a=function(e){o.port2.postMessage(e)}}else if(d&&"onreadystatechange"in d.createElement("script")){;s=d.documentElement,a=function(e){var t=d.createElement("script");t.onreadystatechange=function(){f(e),t.onreadystatechange=null,s.removeChild(t),t=null},s.appendChild(t)}}else a=function(e){setTimeout(f,0,e)};h.setImmediate=function(e){"function"!=typeof e&&(e=Function(""+e));for(var t=Array(arguments.length-1),n=0;n<t.length;n++)t[n]=arguments[n+1];var i={callback:e,args:t};return c[l]=i,a(l),l++},h.clearImmediate=p}function p(e){delete c[e]}function f(e){if(u)setTimeout(f,0,e);else{var t=c[e];if(t){u=!0;try{!function(e){var t=e.callback,i=e.args;switch(i.length){case 0:t();break;case 1:t(i[0]);break;case 2:t(i[0],i[1]);break;case 3:t(i[0],i[1],i[2]);break;default:t.apply(n,i)}}(t)}finally{p(e),u=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(t,n(4),n(13))},function(e,t,n){(function(t){e.exports=function(e,t){if(n("noDeprecation"))return e;var i=!1;return function(){if(!i){if(n("throwDeprecation"))throw Error(t);n("traceDeprecation")?console.trace(t):console.warn(t);i=!0}return e.apply(this,arguments)}};function n(e){try{if(!t.localStorage)return!1}catch(e){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}}).call(t,n(4))},function(e,t,n){"use strict";e.exports=o;var i=n(61),r=n(14);function o(e){if(!(this instanceof o))return new o(e);i.call(this,e)}r.inherits=n(7),r.inherits(o,i),o.prototype._transform=function(e,t,n){n(null,e)}},function(e,t,n){e.exports=n(29)},function(e,t,n){e.exports=n(5)},function(e,t,n){e.exports=n(28).Transform},function(e,t,n){e.exports=n(28).PassThrough},function(e,t,n){var i=n(31),r=n(54);e.exports=function(e,t){var n,o,s,a,l,c;return l=t,c=i.copyOptions(l),i.ensureSpacesExists(c),o=r(e,n=c),a="compact"in n&&n.compact?"_parent":"parent",(s="addParent"in n&&n.addParent?JSON.stringify(o,function(e,t){return e===a?"_":t},n.spaces):JSON.stringify(o,null,n.spaces)).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}},function(e,t,n){(function(t){var i=n(62);e.exports=function(e,n){e instanceof t&&(e=e.toString());var r=null;if("string"==typeof e)try{r=JSON.parse(e)}catch(e){throw Error("The JSON structure is invalid")}else r=e;return i(r,n)}}).call(t,n(6).Buffer)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WORKAROUND3=""},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e,t){super(e),t&&(this.root=t.root)}}t.InitializableXmlComponent=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={val:"w:val",color:"w:color",space:"w:space",sz:"w:sz"}}}t.BorderAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(8),r=n(0);class o extends r.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={space:"xml:space"}}}class s extends r.XmlComponent{constructor(){super("w:instrText"),this.root.push(new o({space:i.SpaceType.PRESERVE})),this.root.push("PAGE")}}t.Page=s;class a extends r.XmlComponent{constructor(){super("w:instrText"),this.root.push(new o({space:i.SpaceType.PRESERVE})),this.root.push("NUMPAGES")}}t.NumberOfPages=a;class l extends r.XmlComponent{constructor(){super("w:instrText"),this.root.push(new o({space:i.SpaceType.PRESERVE})),this.root.push("SECTIONPAGES")}}t.NumberOfPagesSection=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(17),r=n(71);class o extends i.Run{constructor(e){if("string"==typeof e){super({}),this.root.push(new r.Text(e));return}super(e)}}t.TextRun=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(17),r=n(164);class o extends i.Run{constructor(e){if("string"==typeof e){super({}),this.root.push(new r.Symbol(e));return}super(e),this.root.push(new r.Symbol(e.char,e.symbolfont))}}t.SymbolRun=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={char:"w:char",symbolfont:"w:font"}}}class o extends i.XmlComponent{constructor(e="",t="Wingdings"){super("w:sym"),this.root.push(new r({char:e,symbolfont:t}))}}t.Symbol=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(72),r=n(3);class o extends r.Run{constructor(e,t){super({});let n=new i.Drawing(e,t);this.root.push(n)}}t.PictureRun=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(167),o=n(210);class s extends i.XmlComponent{constructor(e,t={}){super("w:drawing"),t.floating?this.root.push(new r.Anchor(e,e.dimensions,t)):(this.inline=new o.Inline(e,e.dimensions),this.root.push(this.inline))}scale(e,t){this.inline.scale(e,t)}}t.Drawing=s},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(168)),i(n(81))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(73),o=n(76),s=n(36),a=n(77),l=n(78),c=n(79),u=n(80),d=n(81);class h extends i.XmlComponent{constructor(e,t,n){super("wp:anchor");let i=Object.assign({allowOverlap:!0,behindDocument:!1,lockAnchor:!1,layoutInCell:!0,verticalPosition:{},horizontalPosition:{}},n.floating);if(this.root.push(new d.AnchorAttributes({distT:i.margins&&i.margins.top||0,distB:i.margins&&i.margins.bottom||0,distL:i.margins&&i.margins.left||0,distR:i.margins&&i.margins.right||0,simplePos:"0",allowOverlap:!0===i.allowOverlap?"1":"0",behindDoc:!0===i.behindDocument?"1":"0",locked:!0===i.lockAnchor?"1":"0",layoutInCell:!0===i.layoutInCell?"1":"0",relativeHeight:i.zIndex?i.zIndex:t.emus.y})),this.root.push(new r.SimplePos),this.root.push(new r.HorizontalPosition(i.horizontalPosition)),this.root.push(new r.VerticalPosition(i.verticalPosition)),this.root.push(new c.Extent(t.emus.x,t.emus.y)),this.root.push(new l.EffectExtent),void 0!==n.floating&&void 0!==n.floating.wrap)switch(n.floating.wrap.type){case s.TextWrappingType.SQUARE:this.root.push(new s.WrapSquare(n.floating.wrap,n.floating.margins));break;case s.TextWrappingType.TIGHT:this.root.push(new s.WrapTight(n.floating.margins));break;case s.TextWrappingType.TOP_AND_BOTTOM:this.root.push(new s.WrapTopAndBottom(n.floating.margins));break;case s.TextWrappingType.NONE:default:this.root.push(new s.WrapNone)}else this.root.push(new s.WrapNone);this.root.push(new a.DocProperties),this.root.push(new u.GraphicFrameProperties),this.root.push(new o.Graphic(e,t.emus.x,t.emus.y))}}t.Anchor=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={x:"x",y:"y"}}}class o extends i.XmlComponent{constructor(){super("wp:simplePos"),this.root.push(new r({x:0,y:0}))}}t.SimplePos=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(74),o=n(35),s=n(75);class a extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={relativeFrom:"relativeFrom"}}}class l extends i.XmlComponent{constructor(e){if(super("wp:positionH"),this.root.push(new a({relativeFrom:e.relative||o.HorizontalPositionRelativeFrom.PAGE})),e.align)this.root.push(new r.Align(e.align));else if(void 0!==e.offset)this.root.push(new s.PositionOffset(e.offset));else throw Error("There is no configuration provided for floating position (Align or offset)")}}t.HorizontalPosition=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(74),o=n(35),s=n(75);class a extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={relativeFrom:"relativeFrom"}}}class l extends i.XmlComponent{constructor(e){if(super("wp:positionV"),this.root.push(new a({relativeFrom:e.relative||o.VerticalPositionRelativeFrom.PAGE})),e.align)this.root.push(new r.Align(e.align));else if(void 0!==e.offset)this.root.push(new s.PositionOffset(e.offset));else throw Error("There is no configuration provided for floating position (Align or offset)")}}t.VerticalPosition=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(173);class o extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={a:"xmlns:a"}}}class s extends i.XmlComponent{constructor(e,t,n){super("a:graphic"),this.root.push(new o({a:"http://schemas.openxmlformats.org/drawingml/2006/main"})),this.data=new r.GraphicData(e,t,n),this.root.push(this.data)}setXY(e,t){this.data.setXY(e,t)}}t.Graphic=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(174))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(175),o=n(176);class s extends i.XmlComponent{constructor(e,t,n){super("a:graphicData"),this.root.push(new r.GraphicDataAttributes({uri:"http://schemas.openxmlformats.org/drawingml/2006/picture"})),this.pic=new o.Pic(e,t,n),this.root.push(this.pic)}setXY(e,t){this.pic.setXY(e,t)}}t.GraphicData=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={uri:"uri"}}}t.GraphicDataAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(177))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(178),o=n(182),s=n(188),a=n(189);class l extends i.XmlComponent{constructor(e,t,n){super("pic:pic"),this.root.push(new s.PicAttributes({xmlns:"http://schemas.openxmlformats.org/drawingml/2006/picture"})),this.shapeProperties=new a.ShapeProperties(t,n),this.root.push(new o.NonVisualPicProperties),this.root.push(new r.BlipFill(e)),this.root.push(new a.ShapeProperties(t,n))}setXY(e,t){this.shapeProperties.setXY(e,t)}}t.Pic=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(179),o=n(180),s=n(181);class a extends i.XmlComponent{constructor(e){super("pic:blipFill"),this.root.push(new r.Blip(e)),this.root.push(new o.SourceRectangle),this.root.push(new s.Stretch)}}t.BlipFill=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={embed:"r:embed",cstate:"cstate"}}}class o extends i.XmlComponent{constructor(e){super("a:blip"),this.root.push(new r({embed:`rId{${e.fileName}}`,cstate:"none"}))}}t.Blip=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("a:srcRect")}}t.SourceRectangle=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("a:fillRect")}}class o extends i.XmlComponent{constructor(){super("a:stretch"),this.root.push(new r)}}t.Stretch=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(183),o=n(186);class s extends i.XmlComponent{constructor(){super("pic:nvPicPr"),this.root.push(new o.NonVisualProperties),this.root.push(new r.ChildNonVisualProperties)}}t.NonVisualPicProperties=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(184);class o extends i.XmlComponent{constructor(){super("pic:cNvPicPr"),this.root.push(new r.PicLocks)}}t.ChildNonVisualProperties=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(185);class o extends i.XmlComponent{constructor(){super("a:picLocks"),this.root.push(new r.PicLocksAttributes({noChangeAspect:1,noChangeArrowheads:1}))}}t.PicLocks=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={noChangeAspect:"noChangeAspect",noChangeArrowheads:"noChangeArrowheads"}}}t.PicLocksAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(187);class o extends i.XmlComponent{constructor(){super("pic:cNvPr"),this.root.push(new r.NonVisualPropertiesAttributes({id:0,name:"",descr:""}))}}t.NonVisualProperties=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={id:"id",name:"name",descr:"desc"}}}t.NonVisualPropertiesAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={xmlns:"xmlns:pic"}}}t.PicAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(190),o=n(196),s=n(199);class a extends i.XmlComponent{constructor(e,t){super("pic:spPr"),this.root.push(new s.ShapePropertiesAttributes({bwMode:"auto"})),this.form=new r.Form(e,t),this.root.push(this.form),this.root.push(new o.PresetGeometry)}setXY(e,t){this.form.setXY(e,t)}}t.ShapeProperties=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(191))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(192),o=n(194);class s extends i.XmlComponent{constructor(e,t){super("a:xfrm"),this.extents=new r.Extents(e,t),this.root.push(this.extents),this.root.push(new o.Offset)}setXY(e,t){this.extents.setXY(e,t)}}t.Form=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(193);class o extends i.XmlComponent{constructor(e,t){super("a:ext"),this.attributes=new r.ExtentsAttributes({cx:e,cy:t}),this.root.push(this.attributes)}setXY(e,t){this.attributes.set({cx:e,cy:t})}}t.Extents=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={cx:"cx",cy:"cy"}}}t.ExtentsAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(195);class o extends i.XmlComponent{constructor(){super("a:off"),this.root.push(new r.OffsetAttributes({x:0,y:0}))}}t.Offset=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={x:"x",y:"y"}}}t.OffsetAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(197),o=n(198);class s extends i.XmlComponent{constructor(){super("a:prstGeom"),this.root.push(new o.PresetGeometryAttributes({prst:"rect"})),this.root.push(new r.AdjustmentValues)}}t.PresetGeometry=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("a:avLst")}}t.AdjustmentValues=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={prst:"prst"}}}t.PresetGeometryAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={bwMode:"bwMode"}}}t.ShapePropertiesAttributes=r},function(e,t,n){"use strict";var i,r,o,s;Object.defineProperty(t,"__esModule",{value:!0}),(o=t.TextWrappingType||(t.TextWrappingType={}))[o.NONE=0]="NONE",o[o.SQUARE=1]="SQUARE",o[o.TIGHT=2]="TIGHT",o[o.TOP_AND_BOTTOM=3]="TOP_AND_BOTTOM",(s=t.TextWrappingSide||(t.TextWrappingSide={})).BOTH_SIDES="bothSides",s.LEFT="left",s.RIGHT="right",s.LARGEST="largest"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("wp:wrapNone")}}t.WrapNone=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(36);class o extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={distT:"distT",distB:"distB",distL:"distL",distR:"distR",wrapText:"wrapText"}}}class s extends i.XmlComponent{constructor(e,t={top:0,bottom:0,left:0,right:0}){super("wp:wrapSquare"),this.root.push(new o({wrapText:e.side||r.TextWrappingSide.BOTH_SIDES,distT:t.top,distB:t.bottom,distL:t.left,distR:t.right}))}}t.WrapSquare=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={distT:"distT",distB:"distB"}}}class o extends i.XmlComponent{constructor(e={top:0,bottom:0}){super("wp:wrapTight"),this.root.push(new r({distT:e.top,distB:e.bottom}))}}t.WrapTight=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={distT:"distT",distB:"distB"}}}class o extends i.XmlComponent{constructor(e={top:0,bottom:0}){super("wp:wrapTopAndBottom"),this.root.push(new r({distT:e.top,distB:e.bottom}))}}t.WrapTopAndBottom=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={id:"id",name:"name",descr:"descr"}}}t.DocPropertiesAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={b:"b",l:"l",r:"r",t:"t"}}}t.EffectExtentAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={cx:"cx",cy:"cy"}}}t.ExtentAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(209);class o extends i.XmlComponent{constructor(){super("a:graphicFrameLocks"),this.root.push(new r.GraphicFrameLockAttributes({xmlns:"http://schemas.openxmlformats.org/drawingml/2006/main",noChangeAspect:1}))}}t.GraphicFrameLocks=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={xmlns:"xmlns:a",noChangeAspect:"noChangeAspect"}}}t.GraphicFrameLockAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(211))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(77),o=n(78),s=n(79),a=n(80),l=n(76),c=n(212);class u extends i.XmlComponent{constructor(e,t){super("wp:inline"),this.dimensions=t,this.root.push(new c.InlineAttributes({distT:0,distB:0,distL:0,distR:0})),this.extent=new s.Extent(t.emus.x,t.emus.y),this.graphic=new l.Graphic(e,t.emus.x,t.emus.y),this.root.push(this.extent),this.root.push(new o.EffectExtent),this.root.push(new r.DocProperties),this.root.push(new a.GraphicFrameProperties),this.root.push(this.graphic)}scale(e,t){let n=Math.round(this.dimensions.emus.x*e),i=Math.round(this.dimensions.emus.y*t);this.extent.setXY(n,i),this.graphic.setXY(n,i)}}t.Inline=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={distT:"distT",distB:"distB",distL:"distL",distR:"distR"}}}t.InlineAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(3),r=n(18),o=n(214);class s extends i.Run{constructor(e){super({}),this.root.push(new r.Begin(!0)),this.root.push(new o.SequentialIdentifierInstruction(e)),this.root.push(new r.Separate),this.root.push(new r.End)}}t.SequentialIdentifier=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(8),r=n(0);class o extends r.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={space:"xml:space"}}}class s extends r.XmlComponent{constructor(e){super("w:instrText"),this.root.push(new o({space:i.SpaceType.PRESERVE})),this.root.push(`SEQ ${e}`)}}t.SequentialIdentifierInstruction=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:tab")}}t.Tab=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(37),o=n(21),s=n(3);class a extends i.XmlComponent{constructor(e){if(super("w:p"),"string"==typeof e){this.properties=new o.ParagraphProperties({}),this.root.push(this.properties),this.root.push(new s.TextRun(e));return}if(e instanceof s.PictureRun){this.properties=new o.ParagraphProperties({}),this.root.push(this.properties),this.root.push(e);return}if(this.properties=new o.ParagraphProperties(e),this.root.push(this.properties),e.text&&this.root.push(new s.TextRun(e.text)),e.children)for(let t of e.children){if(t instanceof r.Bookmark){this.root.push(t.start),this.root.push(t.text),this.root.push(t.end);continue}this.root.push(t)}}prepForXml(e){for(let t of this.root)if(t instanceof r.HyperlinkRef){let n=this.root.indexOf(t);this.root[n]=e.HyperlinkCache[t.id]}return super.prepForXml()}addRunToFront(e){return this.root.splice(1,0,e),this}}t.Paragraph=a},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0),s=n(3),a=n(218);(r=t.HyperlinkType||(t.HyperlinkType={})).INTERNAL="INTERNAL",r.EXTERNAL="EXTERNAL";t.HyperlinkRef=class e{constructor(e){this.id=e}};class l extends o.XmlComponent{constructor(e,t,n){super("w:hyperlink"),this.linkId=t;let i={history:1,anchor:n||void 0,id:n?void 0:`rId${this.linkId}`},r=new a.HyperlinkAttributes(i);this.root.push(r),this.textRun=new s.TextRun({text:e,style:"Hyperlink"}),this.root.push(this.textRun)}get TextRun(){return this.textRun}}t.Hyperlink=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={id:"r:id",history:"w:history",anchor:"w:anchor"}}}t.HyperlinkAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(86),o=n(3),s=n(228);t.Bookmark=class e{constructor(e,t){let n=r.generate().toLowerCase();this.start=new a(e,n),this.text=new o.TextRun(t),this.end=new l(n)}};class a extends i.XmlComponent{constructor(e,t){super("w:bookmarkStart");let n=new s.BookmarkStartAttributes({name:e,id:t});this.root.push(n)}}t.BookmarkStart=a;class l extends i.XmlComponent{constructor(e){super("w:bookmarkEnd");let t=new s.BookmarkEndAttributes({id:e});this.root.push(t)}}t.BookmarkEnd=l},function(e,t,n){"use strict";var i=n(20),r=n(222),o=n(226),s=n(227)||0;function a(){return r(s)}e.exports=a,e.exports.generate=a,e.exports.seed=function(t){return i.seed(t),e.exports},e.exports.worker=function(t){return s=t,e.exports},e.exports.characters=function(e){return void 0!==e&&i.characters(e),i.shuffled()},e.exports.isValid=o},function(e,t,n){"use strict";var i=1;e.exports={nextValue:function(){return(i=(9301*i+49297)%233280)/233280},seed:function(e){i=e}}},function(e,t,n){"use strict";var i,r,o=n(223);n(20);e.exports=function(e){var t="",n=Math.floor((Date.now()-0x16d05594f0e)*.001);return n===r?i++:(i=0,r=n),t+=o(7),t+=o(e),i>0&&(t+=o(i)),t+=o(n)}},function(e,t,n){"use strict";var i=n(20),r=n(224),o=n(225);e.exports=function(e){for(var t,n=0,s="";!t;)s+=o(r,i.get(),1),t=e<Math.pow(16,n+1),n++;return s}},function(e,t,n){"use strict";var i,r="object"==typeof window&&(window.crypto||window.msCrypto);i=r&&r.getRandomValues?function(e){return r.getRandomValues(new Uint8Array(e))}:function(e){for(var t=[],n=0;n<e;n++)t.push(Math.floor(256*Math.random()));return t},e.exports=i},function(e,t){e.exports=function(e,t,n){for(var i=(2<<Math.log(t.length-1)/Math.LN2)-1,r=Math.ceil(1.6*i*n/t.length),o="";;){for(var s=r,a=e(s);s--;)if((o+=t[a[s]&i]||"").length===+n)return o}}},function(e,t,n){"use strict";var i=n(20);e.exports=function(e){return!!e&&"string"==typeof e&&!(e.length<6)&&!RegExp("[^"+i.get().replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&")+"]").test(e)}},function(e,t,n){"use strict";e.exports=0},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={id:"w:id",name:"w:name"}}}t.BookmarkStartAttributes=r;class o extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={id:"w:id"}}}t.BookmarkEndAttributes=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){super("w:outlineLvl"),this.level=e,this.root.push(new i.Attributes({val:e}))}}t.OutlineLevel=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:bidi")}}t.Bidirectional=r},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(232)),i(n(233)),i(n(235)),i(n(2)),i(n(240)),i(n(249)),i(n(250)),i(n(253)),i(n(255))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){for(let t of(super("m:oMath"),e.children))this.root.push(t)}}t.Math=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(234);class o extends i.XmlComponent{constructor(e){super("m:r"),this.root.push(new r.MathText(e))}}t.MathRun=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){super("m:t"),this.root.push(e)}}t.MathText=r},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(236)),i(n(87)),i(n(88))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(87),o=n(88);class s extends i.XmlComponent{constructor(e){super("m:f"),this.root.push(new o.MathNumerator(e.numerator)),this.root.push(new r.MathDenominator(e.denominator))}}t.MathFraction=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={hide:"m:val"}}}class o extends i.XmlComponent{constructor(){super("m:subHide"),this.root.push(new r({hide:1}))}}t.MathSubScriptHide=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={hide:"m:val"}}}class o extends i.XmlComponent{constructor(){super("m:supHide"),this.root.push(new r({hide:1}))}}t.MathSuperScriptHide=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(90),o=n(92),s=n(93),a=n(94);class l extends i.XmlComponent{constructor(e){super("m:nary"),this.root.push(new o.MathNArayProperties("∑",!!e.superScript,!!e.subScript)),e.subScript&&this.root.push(new s.MathSubScriptElement(e.subScript)),e.superScript&&this.root.push(new a.MathSuperScriptElement(e.superScript)),this.root.push(new r.MathBase(e.children))}}t.MathSum=l},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(241)),i(n(243)),i(n(245)),i(n(247))},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(242)),i(n(95))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(2),o=n(95);class s extends i.XmlComponent{constructor(e){super("m:sSup"),this.root.push(new o.MathSuperScriptProperties),this.root.push(new r.MathBase(e.children)),this.root.push(new r.MathSuperScriptElement(e.superScript))}}t.MathSuperScript=s},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(244)),i(n(96))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(2),o=n(96);class s extends i.XmlComponent{constructor(e){super("m:sSub"),this.root.push(new o.MathSubScriptProperties),this.root.push(new r.MathBase(e.children)),this.root.push(new r.MathSubScriptElement(e.subScript))}}t.MathSubScript=s},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(246)),i(n(97))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(2),o=n(97);class s extends i.XmlComponent{constructor(e){super("m:sSubSup"),this.root.push(new o.MathSubSuperScriptProperties),this.root.push(new r.MathBase(e.children)),this.root.push(new r.MathSubScriptElement(e.subScript)),this.root.push(new r.MathSuperScriptElement(e.superScript))}}t.MathSubSuperScript=s},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(248)),i(n(98))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(2),o=n(98);class s extends i.XmlComponent{constructor(e){super("m:sPre"),this.root.push(new o.MathPreSubSuperScriptProperties),this.root.push(new r.MathBase(e.children)),this.root.push(new r.MathSubScriptElement(e.subScript)),this.root.push(new r.MathSuperScriptElement(e.superScript))}}t.MathPreSubSuperScript=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WORKAROUND4=""},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(99)),i(n(251)),i(n(100))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(2),o=n(99),s=n(100);class a extends i.XmlComponent{constructor(e){super("m:rad"),this.root.push(new s.MathRadicalProperties(!!e.degree)),this.root.push(new o.MathDegree(e.degree)),this.root.push(new r.MathBase(e.children))}}t.MathRadical=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={hide:"m:val"}}}class o extends i.XmlComponent{constructor(){super("m:degHide"),this.root.push(new r({hide:1}))}}t.MathDegreeHide=o},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(254)),i(n(101)),i(n(102))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(2),o=n(101),s=n(102);class a extends i.XmlComponent{constructor(e){super("m:func"),this.root.push(new s.MathFunctionProperties),this.root.push(new o.MathFunctionName(e.name)),this.root.push(new r.MathBase(e.children))}}t.MathFunction=a},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(256)),i(n(259)),i(n(260)),i(n(261))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(2),o=n(22);class s extends i.XmlComponent{constructor(e){super("m:d"),this.root.push(new o.MathBracketProperties),this.root.push(new r.MathBase(e.children))}}t.MathRoundBrackets=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={character:"m:val"}}}class o extends i.XmlComponent{constructor(e){super("m:begChr"),this.root.push(new r({character:e}))}}t.MathBeginningCharacter=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={character:"m:val"}}}class o extends i.XmlComponent{constructor(e){super("m:endChr"),this.root.push(new r({character:e}))}}t.MathEndingCharacter=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(2),o=n(22);class s extends i.XmlComponent{constructor(e){super("m:d"),this.root.push(new o.MathBracketProperties({beginningCharacter:"[",endingCharacter:"]"})),this.root.push(new r.MathBase(e.children))}}t.MathSquareBrackets=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(2),o=n(22);class s extends i.XmlComponent{constructor(e){super("m:d"),this.root.push(new o.MathBracketProperties({beginningCharacter:"{",endingCharacter:"}"})),this.root.push(new r.MathBase(e.children))}}t.MathCurlyBrackets=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(2),o=n(22);class s extends i.XmlComponent{constructor(e){super("m:d"),this.root.push(new o.MathBracketProperties({beginningCharacter:"〈",endingCharacter:"〉"})),this.root.push(new r.MathBase(e.children))}}t.MathAngledBrackets=s},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(263)),i(n(10)),i(n(103)),i(n(39)),i(n(278))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(264),o=n(10),s=n(103);class a extends i.XmlComponent{constructor({rows:e,width:t,columnWidths:n=Array(Math.max(...e.map(e=>e.CellCount))).fill(100),margins:{marginUnitType:i,top:a,bottom:l,right:c,left:u}={marginUnitType:o.WidthType.AUTO,top:0,bottom:0,right:0,left:0},float:d,layout:h,borders:p,alignment:f}){for(let o of(super("w:tbl"),this.properties=new s.TableProperties,this.root.push(this.properties),p?this.properties.setBorder(p):this.properties.setBorder({}),t?this.properties.setWidth(t.size,t.type):this.properties.setWidth(100),this.properties.CellMargin.addBottomMargin(l||0,i),this.properties.CellMargin.addTopMargin(a||0,i),this.properties.CellMargin.addLeftMargin(u||0,i),this.properties.CellMargin.addRightMargin(c||0,i),this.root.push(new r.TableGrid(n)),e))this.root.push(o);e.forEach((t,n)=>{if(n===e.length-1)return;let i=0;t.cells.forEach(t=>{if(t.options.rowSpan&&t.options.rowSpan>1){let r=new o.TableCell({rowSpan:t.options.rowSpan-1,columnSpan:t.options.columnSpan,borders:t.options.borders,children:[],verticalMerge:o.VerticalMergeType.CONTINUE});e[n+1].addCellToColumnIndex(r,i)}i+=t.options.columnSpan||1})}),d&&this.properties.setTableFloatProperties(d),h&&this.properties.setLayout(h),f&&this.properties.setAlignment(f)}}t.Table=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){for(let t of(super("w:tblGrid"),e))this.root.push(new s(t))}}t.TableGrid=r;class o extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={w:"w:w"}}}class s extends i.XmlComponent{constructor(e){super("w:gridCol"),void 0!==e&&this.root.push(new o({w:e}))}}t.GridCol=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(1),r=n(0),o=n(38),s=n(266);class a extends r.XmlComponent{constructor(e){for(let t of(super("w:tc"),this.options=e,this.properties=new s.TableCellProperties,this.root.push(this.properties),e.children))this.root.push(t);e.verticalAlign&&this.properties.setVerticalAlign(e.verticalAlign),e.textDirection&&this.properties.setTextDirection(e.textDirection),e.verticalMerge?this.properties.addVerticalMerge(e.verticalMerge):e.rowSpan&&e.rowSpan>1&&this.properties.addVerticalMerge(o.VerticalMergeType.RESTART),e.margins&&this.properties.addMargins(e.margins),e.shading&&this.properties.setShading(e.shading),e.columnSpan&&this.properties.addGridSpan(e.columnSpan),e.width&&this.properties.setWidth(e.width.size,e.width.type),e.borders&&(e.borders.top&&this.properties.Borders.addTopBorder(e.borders.top.style,e.borders.top.size,e.borders.top.color),e.borders.bottom&&this.properties.Borders.addBottomBorder(e.borders.bottom.style,e.borders.bottom.size,e.borders.bottom.color),e.borders.left&&this.properties.Borders.addLeftBorder(e.borders.left.style,e.borders.left.size,e.borders.left.color),e.borders.right&&this.properties.Borders.addRightBorder(e.borders.right.style,e.borders.right.size,e.borders.right.color))}prepForXml(e){return!(this.root[this.root.length-1]instanceof i.Paragraph)&&this.root.push(new i.Paragraph({})),super.prepForXml(e)}}t.TableCell=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(39),o=n(268),s=n(38);class a extends i.IgnoreIfEmptyXmlComponent{constructor(){super("w:tcPr"),this.cellBorder=new s.TableCellBorders,this.root.push(this.cellBorder)}get Borders(){return this.cellBorder}addGridSpan(e){return this.root.push(new s.GridSpan(e)),this}addVerticalMerge(e){return this.root.push(new s.VerticalMerge(e)),this}setVerticalAlign(e){return this.root.push(new s.VAlign(e)),this}setWidth(e,t=s.WidthType.AUTO){return this.root.push(new s.TableCellWidth(e,t)),this}setShading(e){return this.root.push(new r.TableShading(e)),this}addMargins(e){return this.root.push(new o.TableCellMargin(e)),this}setTextDirection(e){return this.root.push(new s.TDirection(e)),this}}t.TableCellProperties=a},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={fill:"w:fill",color:"w:color",val:"w:val"}}}class a extends o.XmlComponent{constructor(e){super("w:shd"),this.root.push(new s(e))}}t.TableShading=a,(r=t.ShadingType||(t.ShadingType={})).CLEAR="clear",r.DIAGONAL_CROSS="diagCross",r.DIAGONAL_STRIPE="diagStripe",r.HORIZONTAL_CROSS="horzCross",r.HORIZONTAL_STRIPE="horzStripe",r.NIL="nil",r.PERCENT_5="pct5",r.PERCENT_10="pct10",r.PERCENT_12="pct12",r.PERCENT_15="pct15",r.PERCENT_20="pct20",r.PERCENT_25="pct25",r.PERCENT_30="pct30",r.PERCENT_35="pct35",r.PERCENT_37="pct37",r.PERCENT_40="pct40",r.PERCENT_45="pct45",r.PERCENT_50="pct50",r.PERCENT_55="pct55",r.PERCENT_60="pct60",r.PERCENT_62="pct62",r.PERCENT_65="pct65",r.PERCENT_70="pct70",r.PERCENT_75="pct75",r.PERCENT_80="pct80",r.PERCENT_85="pct85",r.PERCENT_87="pct87",r.PERCENT_90="pct90",r.PERCENT_95="pct95",r.REVERSE_DIAGONAL_STRIPE="reverseDiagStripe",r.SOLID="solid",r.THIN_DIAGONAL_CROSS="thinDiagCross",r.THIN_DIAGONAL_STRIPE="thinDiagStripe",r.THIN_HORIZONTAL_CROSS="thinHorzCross",r.THIN_REVERSE_DIAGONAL_STRIPE="thinReverseDiagStripe",r.THIN_VERTICAL_STRIPE="thinVertStripe",r.VERTICAL_STRIPE="vertStripe"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(269);class o extends i.XmlComponent{constructor({top:e=0,left:t=0,right:n=0,bottom:i=0}){super("w:tcMar"),this.root.push(new r.TopCellMargin(e)),this.root.push(new r.BottomCellMargin(i)),this.root.push(new r.RightCellMargin(n)),this.root.push(new r.LeftCellMargin(t))}}t.TableCellMargin=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={width:"w:w",type:"w:type"}}}class o extends i.XmlComponent{constructor(e){super("w:top"),this.root.push(new r({width:e,type:"dxa"}))}}t.TopCellMargin=o;class s extends i.XmlComponent{constructor(e){super("w:bottom"),this.root.push(new r({width:e,type:"dxa"}))}}t.BottomCellMargin=s;class a extends i.XmlComponent{constructor(e){super("w:start"),this.root.push(new r({width:e,type:"dxa"}))}}t.LeftCellMargin=a;class l extends i.XmlComponent{constructor(e){super("w:end"),this.root.push(new r({width:e,type:"dxa"}))}}t.RightCellMargin=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(1),o=n(39),s=n(10),a=n(104),l=n(276),c=n(109),u=n(111),d=n(277);class h extends i.IgnoreIfEmptyXmlComponent{constructor(){super("w:tblPr"),this.cellMargin=new l.TableCellMargin,this.root.push(this.cellMargin)}setWidth(e,t=s.WidthType.AUTO){return this.root.push(new d.PreferredTableWidth(t,e)),this}setLayout(e){this.root.push(new u.TableLayout(e))}setBorder(e){return this.root.push(new a.TableBorders(e)),this}get CellMargin(){return this.cellMargin}setTableFloatProperties(e){return this.root.push(new c.TableFloatProperties(e)),this}setShading(e){return this.root.push(new o.TableShading(e)),this}setAlignment(e){this.root.push(new r.Alignment(e))}}t.TableProperties=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(105);!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(273));class o extends i.XmlComponent{constructor(e){if(super("w:styles"),e.initialStyles&&this.root.push(e.initialStyles),e.importedStyles)for(let t of e.importedStyles)this.root.push(t);if(e.paragraphStyles)for(let t of e.paragraphStyles)this.root.push(new r.StyleForParagraph(t));if(e.characterStyles)for(let t of e.characterStyles)this.root.push(new r.StyleForCharacter(t))}}t.Styles=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(19),r=n(43),o=n(42);class s extends o.StyleForParagraph{constructor(e){super(Object.assign({},e,{basedOn:"Normal",next:"Normal",quickFormat:!0}))}}t.HeadingStyle=s;t.TitleStyle=class e extends s{constructor(e){super(Object.assign({},e,{id:"Title",name:"Title"}))}};t.Heading1Style=class e extends s{constructor(e){super(Object.assign({},e,{id:"Heading1",name:"Heading 1"}))}};t.Heading2Style=class e extends s{constructor(e){super(Object.assign({},e,{id:"Heading2",name:"Heading 2"}))}};t.Heading3Style=class e extends s{constructor(e){super(Object.assign({},e,{id:"Heading3",name:"Heading 3"}))}};t.Heading4Style=class e extends s{constructor(e){super(Object.assign({},e,{id:"Heading4",name:"Heading 4"}))}};t.Heading5Style=class e extends s{constructor(e){super(Object.assign({},e,{id:"Heading5",name:"Heading 5"}))}};t.Heading6Style=class e extends s{constructor(e){super(Object.assign({},e,{id:"Heading6",name:"Heading 6"}))}};t.StrongStyle=class e extends s{constructor(e){super(Object.assign({},e,{id:"Strong",name:"Strong"}))}};class a extends o.StyleForParagraph{constructor(e){super(Object.assign({},e,{id:"ListParagraph",name:"List Paragraph",basedOn:"Normal",quickFormat:!0}))}}t.ListParagraph=a;class l extends o.StyleForParagraph{constructor(e){super(Object.assign({},e,{id:"FootnoteText",name:"footnote text",link:"FootnoteTextChar",basedOn:"Normal",uiPriority:99,semiHidden:!0,unhideWhenUsed:!0,paragraph:{spacing:{after:0,line:240,lineRule:"auto"}},run:{size:20}}))}}t.FootnoteText=l;class c extends r.StyleForCharacter{constructor(e){super(Object.assign({},e,{id:"FootnoteReference",name:"footnote reference",basedOn:"DefaultParagraphFont",semiHidden:!0,run:{superScript:!0}}))}}t.FootnoteReferenceStyle=c;class u extends r.StyleForCharacter{constructor(e){super(Object.assign({},e,{id:"FootnoteTextChar",name:"Footnote Text Char",basedOn:"DefaultParagraphFont",link:"FootnoteText",semiHidden:!0,run:{size:20}}))}}t.FootnoteTextChar=u;class d extends r.StyleForCharacter{constructor(e){super(Object.assign({},e,{id:"Hyperlink",name:"Hyperlink",basedOn:"DefaultParagraphFont",run:{color:"0563C1",underline:{type:i.UnderlineType.SINGLE}}}))}}t.HyperlinkStyle=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(274))},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0}),(r=t.BorderStyle||(t.BorderStyle={})).SINGLE="single",r.DASH_DOT_STROKED="dashDotStroked",r.DASHED="dashed",r.DASH_SMALL_GAP="dashSmallGap",r.DOT_DASH="dotDash",r.DOT_DOT_DASH="dotDotDash",r.DOTTED="dotted",r.DOUBLE="double",r.DOUBLE_WAVE="doubleWave",r.INSET="inset",r.NIL="nil",r.NONE="none",r.OUTSET="outset",r.THICK="thick",r.THICK_THIN_LARGE_GAP="thickThinLargeGap",r.THICK_THIN_MEDIUM_GAP="thickThinMediumGap",r.THICK_THIN_SMALL_GAP="thickThinSmallGap",r.THIN_THICK_LARGE_GAP="thinThickLargeGap",r.THIN_THICK_MEDIUM_GAP="thinThickMediumGap",r.THIN_THICK_SMALL_GAP="thinThickSmallGap",r.THIN_THICK_THIN_LARGE_GAP="thinThickThinLargeGap",r.THIN_THICK_THIN_MEDIUM_GAP="thinThickThinMediumGap",r.THIN_THICK_THIN_SMALL_GAP="thinThickThinSmallGap",r.THREE_D_EMBOSS="threeDEmboss",r.THREE_D_ENGRAVE="threeDEngrave",r.TRIPLE="triple",r.WAVE="wave"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(107),o=n(108);class s extends i.XmlComponent{constructor(e){super("w:docDefaults"),this.runPropertiesDefaults=new o.RunPropertiesDefaults(e&&e.run),this.paragraphPropertiesDefaults=new r.ParagraphPropertiesDefaults(e&&e.paragraph),this.root.push(this.runPropertiesDefaults),this.root.push(this.paragraphPropertiesDefaults)}}t.DocumentDefaults=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(10);class o extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={value:"w:w",type:"w:type"}}}class s extends i.XmlComponent{setProperties(e,t=r.WidthType.DXA){this.root.push(new o({type:t,value:e}))}}class a extends i.IgnoreIfEmptyXmlComponent{constructor(){super("w:tblCellMar")}addTopMargin(e,t=r.WidthType.DXA){let n=new s("w:top");n.setProperties(e,t),this.root.push(n)}addLeftMargin(e,t=r.WidthType.DXA){let n=new s("w:left");n.setProperties(e,t),this.root.push(n)}addBottomMargin(e,t=r.WidthType.DXA){let n=new s("w:bottom");n.setProperties(e,t),this.root.push(n)}addRightMargin(e,t=r.WidthType.DXA){let n=new s("w:right");n.setProperties(e,t),this.root.push(n)}}t.TableCellMargin=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(10);class o extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={type:"w:type",w:"w:w"}}}class s extends i.XmlComponent{constructor(e,t){super("w:tblW");let n=e===r.WidthType.PERCENTAGE?`${t}%`:t;this.root.push(new o({type:e,w:n}))}}t.PreferredTableWidth=s},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(279)),i(n(112)),i(n(113))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(10),o=n(112);class s extends i.XmlComponent{constructor(e){for(let t of(super("w:tr"),this.options=e,this.properties=new o.TableRowProperties,this.root.push(this.properties),e.children))this.root.push(t);e.cantSplit&&this.properties.setCantSplit(),e.tableHeader&&this.properties.setTableHeader(),e.height&&this.properties.setHeight(e.height.height,e.height.rule)}get CellCount(){return this.options.children.length}get Children(){return this.options.children}get cells(){return this.root.filter(e=>e instanceof r.TableCell)}addCellToIndex(e,t){this.root.splice(t+1,0,e)}addCellToColumnIndex(e,t){let n=this.columnIndexToRootIndex(t,!0);this.addCellToIndex(e,n-1)}rootIndexToColumnIndex(e){if(e<1||e>=this.root.length)throw Error(`cell 'rootIndex' should between 1 to ${this.root.length-1}`);let t=0;for(let n=1;n<e;n++)t+=this.root[n].options.columnSpan||1;return t}columnIndexToRootIndex(e,t=!1){if(e<0)throw Error("cell 'columnIndex' should not less than zero");let n=0,i=1;for(;n<=e;){if(i>=this.root.length){if(t)return this.root.length;throw Error(`cell 'columnIndex' should not great than ${n-1}`)}let e=this.root[i];i+=1,n+=e&&e.options.columnSpan||1}return i-1}}t.TableRow=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(86),r=n(281),o=n(283),s=n(289),a=n(114),l=n(129),c=n(46),u=n(131),d=n(132),h=n(49),p=n(50),f=n(133),m=n(1),g=n(47),v=n(48),y=n(332),b=n(23),w=n(337),_=n(338);t.File=class e{constructor(e={creator:"Un-named",revision:"1",lastModifiedBy:"Un-named"},t={},n=[]){if(this.currentRelationshipId=1,this.headers=[],this.footers=[],this.hyperlinkCache={},this.coreProperties=new s.CoreProperties(e),this.numbering=new f.Numbering(e.numbering?e.numbering:{config:[]}),this.docRelationships=new g.Relationships,this.fileRelationships=new g.Relationships,this.appProperties=new r.AppProperties,this.footNotes=new u.FootNotes,this.contentTypes=new o.ContentTypes,this.document=new a.Document({background:e.background||{}}),this.settings=new y.Settings,this.media=t.template&&t.template.media?t.template.media:new p.Media,t.template&&(this.currentRelationshipId=t.template.currentRelationshipId+1),t.template&&e.externalStyles)throw Error("can not use both template and external styles");if(t.template){let e=new w.ExternalStylesFactory;this.styles=e.newInstance(t.template.styles)}else if(e.externalStyles){let t=new w.ExternalStylesFactory;this.styles=t.newInstance(e.externalStyles)}else if(e.styles){let t=new _.DefaultStylesFactory().newInstance(e.styles.default);this.styles=new b.Styles(Object.assign({},t,e.styles))}else{let e=new _.DefaultStylesFactory;this.styles=new b.Styles(e.newInstance())}if(this.addDefaultRelationships(),t.template&&t.template.headers)for(let e of t.template.headers)this.addHeaderToDocument(e.header,e.type);if(t.template&&t.template.footers)for(let e of t.template.footers)this.addFooterToDocument(e.footer,e.type);for(let e of n)for(let t of(this.document.Body.addSection(e.properties?e.properties:{}),e.children)){if(t instanceof m.HyperlinkRef){let e=this.hyperlinkCache[t.id];this.document.add(e);continue}this.document.add(t)}if(e.footnotes)for(let t of e.footnotes)this.footNotes.createFootNote(t);if(e.hyperlinks){let t={};for(let n in e.hyperlinks){if(!e.hyperlinks[n])continue;let i=e.hyperlinks[n],r=i.type===m.HyperlinkType.EXTERNAL?this.createHyperlink(i.link,i.text):this.createInternalHyperLink(n,i.text);t[n]=r}this.hyperlinkCache=t}e.features&&e.features.trackRevisions&&this.settings.addTrackRevisions()}addSection({headers:e={default:new d.Header},footers:t={default:new d.Header},margins:n={},size:i={},properties:r,children:o}){for(let s of(this.document.Body.addSection(Object.assign({},r,{headers:{default:e.default?this.createHeader(e.default):this.createHeader(new d.Header),first:e.first?this.createHeader(e.first):void 0,even:e.even?this.createHeader(e.even):void 0},footers:{default:t.default?this.createFooter(t.default):this.createFooter(new d.Footer),first:t.first?this.createFooter(t.first):void 0,even:t.even?this.createFooter(t.even):void 0}},n,i)),o)){if(s instanceof m.HyperlinkRef){let e=this.hyperlinkCache[s.id];this.document.add(e);continue}this.document.add(s)}}verifyUpdateFields(){this.document.getTablesOfContents().length&&this.settings.addUpdateFields()}createHyperlink(e,t=e){let n=new m.Hyperlink(t,i.generate().toLowerCase());return this.docRelationships.createRelationship(n.linkId,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",e,v.TargetModeType.EXTERNAL),n}createInternalHyperLink(e,t=e){return new m.Hyperlink(t,i.generate().toLowerCase(),e)}createHeader(e){let t=new h.HeaderWrapper(this.media,this.currentRelationshipId++);for(let n of e.options.children)t.add(n);return this.addHeaderToDocument(t),t}createFooter(e){let t=new c.FooterWrapper(this.media,this.currentRelationshipId++);for(let n of e.options.children)t.add(n);return this.addFooterToDocument(t),t}addHeaderToDocument(e,t=l.HeaderReferenceType.DEFAULT){this.headers.push({header:e,type:t}),this.docRelationships.createRelationship(e.Header.ReferenceId,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header",`header${this.headers.length}.xml`),this.contentTypes.addHeader(this.headers.length)}addFooterToDocument(e,t=l.FooterReferenceType.DEFAULT){this.footers.push({footer:e,type:t}),this.docRelationships.createRelationship(e.Footer.ReferenceId,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",`footer${this.footers.length}.xml`),this.contentTypes.addFooter(this.footers.length)}addDefaultRelationships(){this.fileRelationships.createRelationship(1,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument","word/document.xml"),this.fileRelationships.createRelationship(2,"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties","docProps/core.xml"),this.fileRelationships.createRelationship(3,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties","docProps/app.xml"),this.docRelationships.createRelationship(this.currentRelationshipId++,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles","styles.xml"),this.docRelationships.createRelationship(this.currentRelationshipId++,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering","numbering.xml"),this.docRelationships.createRelationship(this.currentRelationshipId++,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes","footnotes.xml"),this.docRelationships.createRelationship(this.currentRelationshipId++,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings","settings.xml")}get Document(){return this.document}get Styles(){return this.styles}get CoreProperties(){return this.coreProperties}get Numbering(){return this.numbering}get Media(){return this.media}get DocumentRelationships(){return this.docRelationships}get FileRelationships(){return this.fileRelationships}get Headers(){return this.headers.map(e=>e.header)}get Footers(){return this.footers.map(e=>e.footer)}get ContentTypes(){return this.contentTypes}get AppProperties(){return this.appProperties}get FootNotes(){return this.footNotes}get Settings(){return this.settings}get HyperlinkCache(){return this.hyperlinkCache}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(282);class o extends i.XmlComponent{constructor(){super("Properties"),this.root.push(new r.AppPropertiesAttributes({xmlns:"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"}))}}t.AppProperties=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={xmlns:"xmlns",vt:"xmlns:vt"}}}t.AppPropertiesAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(284),o=n(285),s=n(287);class a extends i.XmlComponent{constructor(){super("Types"),this.root.push(new r.ContentTypeAttributes({xmlns:"http://schemas.openxmlformats.org/package/2006/content-types"})),this.root.push(new o.Default("image/png","png")),this.root.push(new o.Default("image/jpeg","jpeg")),this.root.push(new o.Default("image/jpeg","jpg")),this.root.push(new o.Default("image/bmp","bmp")),this.root.push(new o.Default("image/gif","gif")),this.root.push(new o.Default("application/vnd.openxmlformats-package.relationships+xml","rels")),this.root.push(new o.Default("application/xml","xml")),this.root.push(new s.Override("application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml","/word/document.xml")),this.root.push(new s.Override("application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml","/word/styles.xml")),this.root.push(new s.Override("application/vnd.openxmlformats-package.core-properties+xml","/docProps/core.xml")),this.root.push(new s.Override("application/vnd.openxmlformats-officedocument.extended-properties+xml","/docProps/app.xml")),this.root.push(new s.Override("application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml","/word/numbering.xml")),this.root.push(new s.Override("application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml","/word/footnotes.xml")),this.root.push(new s.Override("application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml","/word/settings.xml"))}addFooter(e){this.root.push(new s.Override("application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml",`/word/footer${e}.xml`))}addHeader(e){this.root.push(new s.Override("application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml",`/word/header${e}.xml`))}}t.ContentTypes=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={xmlns:"xmlns"}}}t.ContentTypeAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(286);class o extends i.XmlComponent{constructor(e,t){super("Default"),this.root.push(new r.DefaultAttributes({contentType:e,extension:t}))}}t.Default=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={contentType:"ContentType",extension:"Extension"}}}t.DefaultAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(288);class o extends i.XmlComponent{constructor(e,t){super("Override"),this.root.push(new r.OverrideAttributes({contentType:e,partName:t}))}}t.Override=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={contentType:"ContentType",partName:"PartName"}}}t.OverrideAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(290))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(11),o=n(291);class s extends i.XmlComponent{constructor(e){super("cp:coreProperties"),this.root.push(new r.DocumentAttributes({cp:"http://schemas.openxmlformats.org/package/2006/metadata/core-properties",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",xsi:"http://www.w3.org/2001/XMLSchema-instance"})),e.title&&this.root.push(new o.Title(e.title)),e.subject&&this.root.push(new o.Subject(e.subject)),e.creator&&this.root.push(new o.Creator(e.creator)),e.keywords&&this.root.push(new o.Keywords(e.keywords)),e.description&&this.root.push(new o.Description(e.description)),e.lastModifiedBy&&this.root.push(new o.LastModifiedBy(e.lastModifiedBy)),e.revision&&this.root.push(new o.Revision(e.revision)),this.root.push(new o.Created),this.root.push(new o.Modified)}}t.CoreProperties=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(11);class o extends i.XmlComponent{constructor(e){super("dc:title"),this.root.push(e)}}t.Title=o;class s extends i.XmlComponent{constructor(e){super("dc:subject"),this.root.push(e)}}t.Subject=s;class a extends i.XmlComponent{constructor(e){super("dc:creator"),this.root.push(e)}}t.Creator=a;class l extends i.XmlComponent{constructor(e){super("cp:keywords"),this.root.push(e)}}t.Keywords=l;class c extends i.XmlComponent{constructor(e){super("dc:description"),this.root.push(e)}}t.Description=c;class u extends i.XmlComponent{constructor(e){super("cp:lastModifiedBy"),this.root.push(e)}}t.LastModifiedBy=u;class d extends i.XmlComponent{constructor(e){super("cp:revision"),this.root.push(e)}}t.Revision=d;class h extends i.XmlComponent{getCurrentDate(){let e=new Date,t=e.getFullYear(),n=("0"+(e.getMonth()+1)).slice(-2),i=("0"+e.getDate()).slice(-2),r=("0"+e.getHours()).slice(-2),o=("0"+e.getMinutes()).slice(-2);return t+"-"+n+"-"+i+"T"+r+":"+o+":"+("0"+e.getSeconds()).slice(-2)+"Z"}}t.DateComponent=h;t.Created=class e extends h{constructor(){super("dcterms:created"),this.root.push(new r.DocumentAttributes({type:"dcterms:W3CDTF"})),this.root.push(this.getCurrentDate())}};t.Modified=class e extends h{constructor(){super("dcterms:modified"),this.root.push(new r.DocumentAttributes({type:"dcterms:W3CDTF"})),this.root.push(this.getCurrentDate())}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(115),o=n(11),s=n(130);class a extends i.XmlComponent{constructor(e){super("w:document"),this.root.push(new o.DocumentAttributes({wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wpi:"http://schemas.microsoft.com/office/word/2010/wordprocessingInk",wne:"http://schemas.microsoft.com/office/word/2006/wordml",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape",Ignorable:"w14 w15 wp14"})),this.body=new r.Body,this.root.push(new s.DocumentBackground(e.background)),this.root.push(this.body)}add(e){return this.body.push(e),this}get Body(){return this.body}getTablesOfContents(){return this.body.getTablesOfContents()}}t.Document=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(12),o=n(116);class s extends i.XmlComponent{constructor(){super("w:body"),this.sections=[]}addSection(e){let t=this.sections.pop();this.root.push(this.createSectionParagraph(t)),this.sections.push(new o.SectionProperties(e))}prepForXml(e){return 1===this.sections.length&&(this.root.splice(0,1),this.root.push(this.sections.pop())),super.prepForXml(e)}push(e){this.root.push(e)}getTablesOfContents(){return this.root.filter(e=>e instanceof r.TableOfContents)}createSectionParagraph(e){let t=new r.Paragraph({}),n=new r.ParagraphProperties({});return n.push(e),t.addChildElement(n),t}}t.Body=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(295);class o extends i.XmlComponent{constructor(e,t){super("w:cols"),this.root.push(new r.ColumnsAttributes({space:e,num:t}))}}t.Columns=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={space:"w:space",num:"w:num"}}}t.ColumnsAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(297);class o extends i.XmlComponent{constructor(e){super("w:docGrid"),this.root.push(new r.DocGridAttributes({linePitch:e}))}}t.DocumentGrid=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={linePitch:"w:linePitch"}}}t.DocGridAttributes=r},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=t.LineNumberRestartFormat||(t.LineNumberRestartFormat={})).CONTINUOUS="continuous",r.NEW_SECTION="newSection",r.NEW_PAGE="newPage";class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={lineNumberCountBy:"w:countBy",lineNumberStart:"w:start",lineNumberRestart:"w:restart",lineNumberDistance:"w:distance"}}}t.LineNumberAttributes=s;class a extends o.XmlComponent{constructor(e,t,n,i){super("w:lnNumType"),this.root.push(new s({lineNumberCountBy:e,lineNumberStart:t,lineNumberRestart:n,lineNumberDistance:i}))}}t.LineNumberType=a},function(e,t,n){"use strict";var i,r,o,s,a,l;Object.defineProperty(t,"__esModule",{value:!0});let c=n(0);(s=t.PageBorderDisplay||(t.PageBorderDisplay={})).ALL_PAGES="allPages",s.FIRST_PAGE="firstPage",s.NOT_FIRST_PAGE="notFirstPage",(a=t.PageBorderOffsetFrom||(t.PageBorderOffsetFrom={})).PAGE="page",a.TEXT="text",(l=t.PageBorderZOrder||(t.PageBorderZOrder={})).BACK="back",l.FRONT="front";class u extends c.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={style:"w:val",size:"w:size",color:"w:color",space:"w:space"}}}class d extends c.XmlComponent{constructor(e,t){super(e),this.root.push(new u(t))}}class h extends c.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={display:"w:display",offsetFrom:"w:offsetFrom",zOrder:"w:zOrder"}}}class p extends c.IgnoreIfEmptyXmlComponent{constructor(e){if(super("w:pgBorders"),!e)return;let t={};e.pageBorders&&(t={display:e.pageBorders.display,offsetFrom:e.pageBorders.offsetFrom,zOrder:e.pageBorders.zOrder}),this.root.push(new h(t)),e.pageBorderTop&&this.root.push(new d("w:top",e.pageBorderTop)),e.pageBorderRight&&this.root.push(new d("w:right",e.pageBorderRight)),e.pageBorderBottom&&this.root.push(new d("w:bottom",e.pageBorderBottom)),e.pageBorderLeft&&this.root.push(new d("w:left",e.pageBorderLeft))}}t.PageBorders=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(301);class o extends i.XmlComponent{constructor(e,t,n,i,o,s,a,l){super("w:pgMar"),this.root.push(new r.PageMarginAttributes({top:e,right:t,bottom:n,left:i,header:o,footer:s,gutter:a,mirror:l}))}}t.PageMargin=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={top:"w:top",right:"w:right",bottom:"w:bottom",left:"w:left",header:"w:header",footer:"w:footer",gutter:"w:gutter",mirror:"w:mirrorMargins"}}}t.PageMarginAttributes=r},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0);(r=t.PageNumberFormat||(t.PageNumberFormat={})).CARDINAL_TEXT="cardinalText",r.DECIMAL="decimal",r.DECIMAL_ENCLOSED_CIRCLE="decimalEnclosedCircle",r.DECIMAL_ENCLOSED_FULL_STOP="decimalEnclosedFullstop",r.DECIMAL_ENCLOSED_PAREN="decimalEnclosedParen",r.DECIMAL_ZERO="decimalZero",r.LOWER_LETTER="lowerLetter",r.LOWER_ROMAN="lowerRoman",r.NONE="none",r.ORDINAL_TEXT="ordinalText",r.UPPER_LETTER="upperLetter",r.UPPER_ROMAN="upperRoman",r.DECIMAL_FULL_WIDTH="decimalFullWidth";class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={pageNumberStart:"w:start",pageNumberFormatType:"w:fmt"}}}t.PageNumberTypeAttributes=s;class a extends o.XmlComponent{constructor(e,t){super("w:pgNumType"),this.root.push(new s({pageNumberStart:e,pageNumberFormatType:t}))}}t.PageNumberType=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(304);class o extends i.XmlComponent{constructor(){super("w:titlePg"),this.root.push(new r.TitlePageAttributes({value:"1"}))}}t.TitlePage=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={value:"w:val"}}}t.TitlePageAttributes=r},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0),s=n(128);(r=t.SectionVerticalAlignValue||(t.SectionVerticalAlignValue={})).BOTH="both",r.BOTTOM="bottom",r.CENTER="center",r.TOP="top";class a extends o.XmlComponent{constructor(e){super("w:vAlign"),this.root.push(new s.SectionVerticalAlignAttributes({verticalAlign:e}))}}t.SectionVerticalAlign=a},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(126)),i(n(45))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={color:"w:color",themeColor:"w:themeColor",themeShade:"w:themeShade",themeTint:"w:themeTint"}}}t.DocumentBackgroundAttributes=r;class o extends i.XmlComponent{constructor(e){super("w:background"),this.root.push(new r({color:e.color?e.color:"FFFFFF",themeColor:e.themeColor,themeShade:e.themeShade,themeTint:e.themeTint}))}}t.DocumentBackground=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(309);class o extends i.InitializableXmlComponent{constructor(e,t){super("w:ftr",t),this.refId=e,!t&&this.root.push(new r.FooterAttributes({wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wpi:"http://schemas.microsoft.com/office/word/2010/wordprocessingInk",wne:"http://schemas.microsoft.com/office/word/2006/wordml",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape"}))}get ReferenceId(){return this.refId}add(e){this.root.push(e)}}t.Footer=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={wpc:"xmlns:wpc",mc:"xmlns:mc",o:"xmlns:o",r:"xmlns:r",m:"xmlns:m",v:"xmlns:v",wp14:"xmlns:wp14",wp:"xmlns:wp",w10:"xmlns:w10",w:"xmlns:w",w14:"xmlns:w14",w15:"xmlns:w15",wpg:"xmlns:wpg",wpi:"xmlns:wpi",wne:"xmlns:wne",wps:"xmlns:wps",cp:"xmlns:cp",dc:"xmlns:dc",dcterms:"xmlns:dcterms",dcmitype:"xmlns:dcmitype",xsi:"xmlns:xsi",type:"xsi:type"}}}t.FooterAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(311),o=n(48);class s extends i.XmlComponent{constructor(){super("Relationships"),this.root.push(new r.RelationshipsAttributes({xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"}))}addRelationship(e){this.root.push(e)}createRelationship(e,t,n,i){let r=new o.Relationship(`rId${e}`,t,n,i);return this.addRelationship(r),r}get RelationshipCount(){return this.root.length-1}}t.Relationships=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={xmlns:"xmlns"}}}t.RelationshipsAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={id:"Id",type:"Type",target:"Target",targetMode:"TargetMode"}}}t.RelationshipAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(1),o=n(314),s=n(318),a=n(320),l=n(322);class c extends i.XmlComponent{constructor(){super("w:footnotes"),this.currentId=1,this.root.push(new l.FootnotesAttributes({wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wpi:"http://schemas.microsoft.com/office/word/2010/wordprocessingInk",wne:"http://schemas.microsoft.com/office/word/2006/wordml",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape",Ignorable:"w14 w15 wp14"}));let e=new o.Footnote(-1,o.FootnoteType.SEPERATOR);e.add(new r.Paragraph({spacing:{after:0,line:240,lineRule:"auto"},children:[new a.SeperatorRun]})),this.root.push(e);let t=new o.Footnote(0,o.FootnoteType.CONTINUATION_SEPERATOR);t.add(new r.Paragraph({spacing:{after:0,line:240,lineRule:"auto"},children:[new s.ContinuationSeperatorRun]})),this.root.push(t)}createFootNote(e){let t=new o.Footnote(this.currentId);t.add(e),this.root.push(t),this.currentId++}}t.FootNotes=c},function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(0),s=n(315),a=n(316);(r=t.FootnoteType||(t.FootnoteType={})).SEPERATOR="separator",r.CONTINUATION_SEPERATOR="continuationSeparator";class l extends o.XmlComponent{constructor(e,t){super("w:footnote"),this.root.push(new s.FootnoteAttributes({type:t,id:e}))}add(e){e.addRunToFront(new a.FootnoteRefRun),this.root.push(e)}}t.Footnote=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={type:"w:type",id:"w:id"}}}t.FootnoteAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(1),r=n(317);class o extends i.Run{constructor(){super({style:"FootnoteReference"}),this.root.push(new r.FootnoteRef)}}t.FootnoteRefRun=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:footnoteRef")}}t.FootnoteRef=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(1),r=n(319);class o extends i.Run{constructor(){super({}),this.root.push(new r.ContinuationSeperator)}}t.ContinuationSeperatorRun=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:continuationSeparator")}}t.ContinuationSeperator=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(1),r=n(321);class o extends i.Run{constructor(){super({}),this.root.push(new r.Seperator)}}t.SeperatorRun=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:separator")}}t.Seperator=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={wpc:"xmlns:wpc",mc:"xmlns:mc",o:"xmlns:o",r:"xmlns:r",m:"xmlns:m",v:"xmlns:v",wp14:"xmlns:wp14",wp:"xmlns:wp",w10:"xmlns:w10",w:"xmlns:w",w14:"xmlns:w14",w15:"xmlns:w15",wpg:"xmlns:wpg",wpi:"xmlns:wpi",wne:"xmlns:wne",wps:"xmlns:wps",Ignorable:"mc:Ignorable"}}}t.FootnotesAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(324))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(325))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(3),r=n(70),o=n(0);class s extends o.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={id:"w:id"}}}t.FootNoteReferenceRunAttributes=s;class a extends o.XmlComponent{constructor(e){super("w:footnoteReference"),this.root.push(new s({id:e}))}}t.FootnoteReference=a;class l extends i.Run{constructor(e){super({}),this.properties.push(new r.Style("FootnoteReference")),this.root.push(new a(e))}}t.FootnoteReferenceRun=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(327);class o extends i.InitializableXmlComponent{constructor(e,t){super("w:hdr",t),this.refId=e,!t&&this.root.push(new r.HeaderAttributes({wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wpi:"http://schemas.microsoft.com/office/word/2010/wordprocessingInk",wne:"http://schemas.microsoft.com/office/word/2006/wordml",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape",cx:"http://schemas.microsoft.com/office/drawing/2014/chartex",cx1:"http://schemas.microsoft.com/office/drawing/2015/9/8/chartex",cx2:"http://schemas.microsoft.com/office/drawing/2015/10/21/chartex",cx3:"http://schemas.microsoft.com/office/drawing/2016/5/9/chartex",cx4:"http://schemas.microsoft.com/office/drawing/2016/5/10/chartex",cx5:"http://schemas.microsoft.com/office/drawing/2016/5/11/chartex",cx6:"http://schemas.microsoft.com/office/drawing/2016/5/12/chartex",cx7:"http://schemas.microsoft.com/office/drawing/2016/5/13/chartex",cx8:"http://schemas.microsoft.com/office/drawing/2016/5/14/chartex",w16cid:"http://schemas.microsoft.com/office/word/2016/wordml/cid",w16se:"http://schemas.microsoft.com/office/word/2015/wordml/symex"}))}get ReferenceId(){return this.refId}add(e){this.root.push(e)}}t.Header=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={wpc:"xmlns:wpc",mc:"xmlns:mc",o:"xmlns:o",r:"xmlns:r",m:"xmlns:m",v:"xmlns:v",wp14:"xmlns:wp14",wp:"xmlns:wp",w10:"xmlns:w10",w:"xmlns:w",w14:"xmlns:w14",w15:"xmlns:w15",wpg:"xmlns:wpg",wpi:"xmlns:wpi",wne:"xmlns:wne",wps:"xmlns:wps",cp:"xmlns:cp",dc:"xmlns:dc",dcterms:"xmlns:dcterms",dcmitype:"xmlns:dcmitype",xsi:"xmlns:xsi",type:"xsi:type",cx:"xmlns:cx",cx1:"xmlns:cx1",cx2:"xmlns:cx2",cx3:"xmlns:cx3",cx4:"xmlns:cx4",cx5:"xmlns:cx5",cx6:"xmlns:cx6",cx7:"xmlns:cx7",cx8:"xmlns:cx8",w16cid:"xmlns:w16cid",w16se:"xmlns:w16se"}}}t.HeaderAttributes=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(1);class r{static addImage(e,t,n,r,o){let s=e.Media.addMedia(t,n,r);return new i.PictureRun(s,o)}static generateId(){return Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)}constructor(){this.map=new Map}getMedia(e){let t=this.map.get(e);if(void 0===t)throw Error(`Cannot find image with the key ${e}`);return t}addMedia(e,t=100,n=100){let i=`${r.generateId()}.png`;return this.createMedia(i,{width:t,height:n},e)}createMedia(e,t,n,i){let r={stream:"string"==typeof n?this.convertDataURIToBinary(n):n,path:i,fileName:e,dimensions:{pixels:{x:Math.round(t.width),y:Math.round(t.height)},emus:{x:Math.round(9525*t.width),y:Math.round(9525*t.height)}}};return this.map.set(e,r),r}get Array(){let e=[];return this.map.forEach(t=>{e.push(t)}),e}convertDataURIToBinary(e){let t=";base64,",i=e.indexOf(t)+t.length;return"function"==typeof atob?new Uint8Array(atob(e.substring(i)).split("").map(e=>e.charCodeAt(0))):new(n(6)).Buffer(e,"base64")}}t.Media=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WORKAROUND2=""},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(44),r=n(1),o=n(0),s=n(11),a=n(134),l=n(24),c=n(135);class u extends o.XmlComponent{constructor(e){super("w:numbering"),this.abstractNumbering=[],this.concreteNumbering=[],this.root.push(new s.DocumentAttributes({wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wpi:"http://schemas.microsoft.com/office/word/2010/wordprocessingInk",wne:"http://schemas.microsoft.com/office/word/2006/wordml",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape",Ignorable:"w14 w15 wp14"})),this.nextId=0;let t=this.createAbstractNumbering([{level:0,format:l.LevelFormat.BULLET,text:"●",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:i.convertInchesToTwip(.5),hanging:i.convertInchesToTwip(.25)}}}},{level:1,format:l.LevelFormat.BULLET,text:"○",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:i.convertInchesToTwip(1),hanging:i.convertInchesToTwip(.25)}}}},{level:2,format:l.LevelFormat.BULLET,text:"■",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:2160,hanging:i.convertInchesToTwip(.25)}}}},{level:3,format:l.LevelFormat.BULLET,text:"●",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:2880,hanging:i.convertInchesToTwip(.25)}}}},{level:4,format:l.LevelFormat.BULLET,text:"○",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:3600,hanging:i.convertInchesToTwip(.25)}}}},{level:5,format:l.LevelFormat.BULLET,text:"■",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:4320,hanging:i.convertInchesToTwip(.25)}}}},{level:6,format:l.LevelFormat.BULLET,text:"●",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:5040,hanging:i.convertInchesToTwip(.25)}}}},{level:7,format:l.LevelFormat.BULLET,text:"●",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:5760,hanging:i.convertInchesToTwip(.25)}}}},{level:8,format:l.LevelFormat.BULLET,text:"●",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:6480,hanging:i.convertInchesToTwip(.25)}}}}]);for(let n of(this.createConcreteNumbering(t),e.config)){let e=this.createAbstractNumbering(n.levels);this.createConcreteNumbering(e,n.reference)}}prepForXml(){return this.abstractNumbering.forEach(e=>this.root.push(e)),this.concreteNumbering.forEach(e=>this.root.push(e)),super.prepForXml()}createConcreteNumbering(e,t){let n=new c.ConcreteNumbering(this.nextId++,e.id,t);return this.concreteNumbering.push(n),n}createAbstractNumbering(e){let t=new a.AbstractNumbering(this.nextId++,e);return this.abstractNumbering.push(t),t}get ConcreteNumbering(){return this.concreteNumbering}}t.Numbering=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(e){super("w:multiLevelType"),this.root.push(new i.Attributes({val:e}))}}t.MultiLevelType=r},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(333)),i(n(136))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(334),o=n(335),s=n(336),a=n(136);class l extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={wpc:"xmlns:wpc",mc:"xmlns:mc",o:"xmlns:o",r:"xmlns:r",m:"xmlns:m",v:"xmlns:v",wp14:"xmlns:wp14",wp:"xmlns:wp",w10:"xmlns:w10",w:"xmlns:w",w14:"xmlns:w14",w15:"xmlns:w15",wpg:"xmlns:wpg",wpi:"xmlns:wpi",wne:"xmlns:wne",wps:"xmlns:wps",Ignorable:"mc:Ignorable"}}}t.SettingsAttributes=l;class c extends i.XmlComponent{constructor(){super("w:settings"),this.root.push(new l({wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wpi:"http://schemas.microsoft.com/office/word/2010/wordprocessingInk",wne:"http://schemas.microsoft.com/office/word/2006/wordml",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape",Ignorable:"w14 w15 wp14"})),this.compatibility=new r.Compatibility,this.trackRevisions=new s.TrackRevisions,this.root.push(new o.DisplayBackgroundShape)}addUpdateFields(){!this.root.find(e=>e instanceof a.UpdateFields)&&this.addChildElement(new a.UpdateFields)}addCompatibility(){return!this.root.find(e=>e instanceof r.Compatibility)&&this.addChildElement(this.compatibility),this.compatibility}addTrackRevisions(){return!this.root.find(e=>e instanceof s.TrackRevisions)&&this.addChildElement(this.trackRevisions),this.trackRevisions}}t.Settings=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:doNotExpandShiftReturn")}}class o extends i.XmlComponent{constructor(){super("w:compat")}doNotExpandShiftReturn(){return this.root.push(new r),this}}t.Compatibility=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:displayBackgroundShape")}}t.DisplayBackgroundShape=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:trackRevisions")}}t.TrackRevisions=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(26),o=n(23);t.ExternalStylesFactory=class e{newInstance(e){let t;for(let n of r.xml2js(e,{compact:!1}).elements||[])"w:styles"===n.name&&(t=n);if(void 0===t)throw Error("can not find styles element");let n=t.elements||[];return new o.Styles({initialStyles:new i.ImportedRootElementAttributes(t.attributes),importedStyles:n.map(e=>i.convertToXmlComponent(e))})}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(11),r=n(106),o=n(105);t.DefaultStylesFactory=class e{newInstance(e={}){return{initialStyles:new i.DocumentAttributes({mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",Ignorable:"w14 w15"}),importedStyles:[new r.DocumentDefaults(e.document),new o.TitleStyle(Object.assign({run:{size:56}},e.title)),new o.Heading1Style(Object.assign({run:{color:"2E74B5",size:32}},e.heading1)),new o.Heading2Style(Object.assign({run:{color:"2E74B5",size:26}},e.heading2)),new o.Heading3Style(Object.assign({run:{color:"1F4D78",size:24}},e.heading3)),new o.Heading4Style(Object.assign({run:{color:"2E74B5",italics:!0}},e.heading4)),new o.Heading5Style(Object.assign({run:{color:"2E74B5"}},e.heading5)),new o.Heading6Style(Object.assign({run:{color:"1F4D78"}},e.heading6)),new o.StrongStyle(Object.assign({run:{bold:!0}},e.strong)),new o.ListParagraph(e.listParagraph||{}),new o.HyperlinkStyle(e.hyperlink||{}),new o.FootnoteReferenceStyle(e.footnoteReference||{}),new o.FootnoteText(e.footnoteText||{}),new o.FootnoteTextChar(e.footnoteTextChar||{})]}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WORKAROUND=""},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(341)),i(n(346))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(1),r=n(3),o=n(18),s=n(0),a=n(342),l=n(343),c=n(344);class u extends s.XmlComponent{constructor(e="Table of Contents",t){super("w:sdt"),this.root.push(new c.StructuredDocumentTagProperties(e));let n=new l.StructuredDocumentTagContent,s=new i.Paragraph({children:[new r.Run({children:[new o.Begin(!0),new a.FieldInstruction(t),new o.Separate]})]});n.addChildElement(s);let u=new i.Paragraph({children:[new r.Run({children:[new o.End]})]});n.addChildElement(u),this.root.push(n)}}t.TableOfContents=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(8),r=n(0);class o extends r.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={space:"xml:space"}}}class s extends r.XmlComponent{constructor(e={}){super("w:instrText"),this.properties=e,this.root.push(new o({space:i.SpaceType.PRESERVE}));let t="TOC";if(this.properties.captionLabel&&(t=`${t} \\a "${this.properties.captionLabel}"`),this.properties.entriesFromBookmark&&(t=`${t} \\b "${this.properties.entriesFromBookmark}"`),this.properties.captionLabelIncludingNumbers&&(t=`${t} \\c "${this.properties.captionLabelIncludingNumbers}"`),this.properties.sequenceAndPageNumbersSeparator&&(t=`${t} \\d "${this.properties.sequenceAndPageNumbersSeparator}"`),this.properties.tcFieldIdentifier&&(t=`${t} \\f "${this.properties.tcFieldIdentifier}"`),this.properties.hyperlink&&(t=`${t} \\h`),this.properties.tcFieldLevelRange&&(t=`${t} \\l "${this.properties.tcFieldLevelRange}"`),this.properties.pageNumbersEntryLevelsRange&&(t=`${t} \\n "${this.properties.pageNumbersEntryLevelsRange}"`),this.properties.headingStyleRange&&(t=`${t} \\o "${this.properties.headingStyleRange}"`),this.properties.entryAndPageNumberSeparator&&(t=`${t} \\p "${this.properties.entryAndPageNumberSeparator}"`),this.properties.seqFieldIdentifierForPrefix&&(t=`${t} \\s "${this.properties.seqFieldIdentifierForPrefix}"`),this.properties.stylesWithLevels&&this.properties.stylesWithLevels.length){let e=this.properties.stylesWithLevels.map(e=>`${e.styleName},${e.level}`).join(",");t=`${t} \\t "${e}"`}this.properties.useAppliedParagraphOutlineLevel&&(t=`${t} \\u`),this.properties.preserveTabInEntries&&(t=`${t} \\w`),this.properties.preserveNewLineInEntries&&(t=`${t} \\x`),this.properties.hideTabAndPageNumbersInWebView&&(t=`${t} \\z`),this.root.push(t)}}t.FieldInstruction=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlComponent{constructor(){super("w:sdtContent")}}t.StructuredDocumentTagContent=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(345);class o extends i.XmlComponent{constructor(e){super("w:sdtPr"),this.root.push(new r.Alias(e))}}t.StructuredDocumentTagProperties=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0);class r extends i.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={alias:"w:val"}}}class o extends i.XmlComponent{constructor(e){super("w:alias"),this.root.push(new r({alias:e}))}}t.Alias=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.StyleLevel=class e{constructor(e,t){this.styleName=e,this.level=t}}},function(e,t,n){"use strict";function i(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),i(n(348)),i(n(349))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(12),o=n(137);class s extends i.XmlComponent{constructor(e){super("w:ins"),this.root.push(new o.ChangeAttributes({id:e.id,author:e.author,date:e.date})),this.addChildElement(new r.TextRun(e))}}t.InsertedTextRun=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(0),r=n(12),o=n(67),s=n(18),a=n(17),l=n(137),c=n(350),u=n(351);class d extends i.XmlComponent{constructor(e){super("w:del"),this.root.push(new l.ChangeAttributes({id:e.id,author:e.author,date:e.date})),this.deletedTextRunWrapper=new h(e),this.addChildElement(this.deletedTextRunWrapper)}}t.DeletedTextRun=d;class h extends i.XmlComponent{constructor(e){if(super("w:r"),this.root.push(new r.RunProperties(e)),e.children)for(let t of e.children){if("string"==typeof t){switch(t){case a.PageNumber.CURRENT:this.root.push(new s.Begin),this.root.push(new c.DeletedPage),this.root.push(new s.Separate),this.root.push(new s.End);break;case a.PageNumber.TOTAL_PAGES:this.root.push(new s.Begin),this.root.push(new c.DeletedNumberOfPages),this.root.push(new s.Separate),this.root.push(new s.End);break;case a.PageNumber.TOTAL_PAGES_IN_SECTION:this.root.push(new s.Begin),this.root.push(new c.DeletedNumberOfPagesSection),this.root.push(new s.Separate),this.root.push(new s.End);break;default:this.root.push(new u.DeletedText(t))}continue}this.root.push(t)}else e.text&&this.root.push(new u.DeletedText(e.text));if(e.break)for(let t=0;t<e.break;t++)this.root.splice(1,0,new o.Break)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(8),r=n(0);class o extends r.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={space:"xml:space"}}}class s extends r.XmlComponent{constructor(){super("w:delInstrText"),this.root.push(new o({space:i.SpaceType.PRESERVE})),this.root.push("PAGE")}}t.DeletedPage=s;class a extends r.XmlComponent{constructor(){super("w:delInstrText"),this.root.push(new o({space:i.SpaceType.PRESERVE})),this.root.push("NUMPAGES")}}t.DeletedNumberOfPages=a;class l extends r.XmlComponent{constructor(){super("w:delInstrText"),this.root.push(new o({space:i.SpaceType.PRESERVE})),this.root.push("SECTIONPAGES")}}t.DeletedNumberOfPagesSection=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(8),r=n(0);class o extends r.XmlAttributeComponent{constructor(){super(...arguments),this.xmlKeys={space:"xml:space"}}}class s extends r.XmlComponent{constructor(e){super("w:delText"),this.root.push(new o({space:i.SpaceType.PRESERVE})),this.root.push(e)}}t.DeletedText=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(353))},function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{l(i.next(e))}catch(e){o(e)}}function a(e){try{l(i.throw(e))}catch(e){o(e)}}function l(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}l((i=i.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});let r=n(354);class o{static toBuffer(e,t){return i(this,void 0,void 0,function*(){let n=this.compiler.compile(e,t);return yield n.generateAsync({type:"nodebuffer",mimeType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",compression:"DEFLATE"})})}static toBase64String(e,t){return i(this,void 0,void 0,function*(){let n=this.compiler.compile(e,t);return yield n.generateAsync({type:"base64",mimeType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",compression:"DEFLATE"})})}static toBlob(e,t){return i(this,void 0,void 0,function*(){let n=this.compiler.compile(e,t);return yield n.generateAsync({type:"blob",mimeType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",compression:"DEFLATE"})})}}o.compiler=new r.Compiler,t.Packer=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(138),r=n(355),o=n(357),s=n(358),a=n(359);t.Compiler=class e{constructor(){this.formatter=new o.Formatter,this.imageReplacer=new s.ImageReplacer,this.numberingReplacer=new a.NumberingReplacer}compile(e,t){let n=new i,r=this.xmlifyFile(e,t);for(let e in r){if(!r[e])continue;let t=r[e];if(Array.isArray(t))for(let e of t)n.file(e.path,e.data);else n.file(t.path,t.data)}for(let t of e.Media.Array){let e=t.stream;n.file(`word/media/${t.fileName}`,e)}return n}xmlifyFile(e,t){e.verifyUpdateFields();let n=e.DocumentRelationships.RelationshipCount+1,i=r(this.formatter.format(e.Document,e),t),o=this.imageReplacer.getMediaData(i,e.Media);return{Relationships:{data:(()=>(o.forEach((t,i)=>{e.DocumentRelationships.createRelationship(n+i,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`media/${t.fileName}`)}),r(this.formatter.format(e.DocumentRelationships,e),t)))(),path:"word/_rels/document.xml.rels"},Document:{data:(()=>{let t=this.imageReplacer.replace(i,o,n);return this.numberingReplacer.replace(t,e.Numbering.ConcreteNumbering)})(),path:"word/document.xml"},Styles:{data:r(this.formatter.format(e.Styles,e),t),path:"word/styles.xml"},Properties:{data:r(this.formatter.format(e.CoreProperties,e),{declaration:{standalone:"yes",encoding:"UTF-8"}}),path:"docProps/core.xml"},Numbering:{data:r(this.formatter.format(e.Numbering,e),t),path:"word/numbering.xml"},FileRelationships:{data:r(this.formatter.format(e.FileRelationships,e),t),path:"_rels/.rels"},HeaderRelationships:e.Headers.map((n,i)=>{let o=r(this.formatter.format(n.Header,e),t);return this.imageReplacer.getMediaData(o,e.Media).forEach((e,t)=>{n.Relationships.createRelationship(t,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`media/${e.fileName}`)}),{data:r(this.formatter.format(n.Relationships,e),t),path:`word/_rels/header${i+1}.xml.rels`}}),FooterRelationships:e.Footers.map((n,i)=>{let o=r(this.formatter.format(n.Footer,e),t);return this.imageReplacer.getMediaData(o,e.Media).forEach((e,t)=>{n.Relationships.createRelationship(t,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`media/${e.fileName}`)}),{data:r(this.formatter.format(n.Relationships,e),t),path:`word/_rels/footer${i+1}.xml.rels`}}),Headers:e.Headers.map((n,i)=>{let o=r(this.formatter.format(n.Header,e),t),s=this.imageReplacer.getMediaData(o,e.Media);return{data:this.imageReplacer.replace(o,s,0),path:`word/header${i+1}.xml`}}),Footers:e.Footers.map((n,i)=>{let o=r(this.formatter.format(n.Footer,e),t),s=this.imageReplacer.getMediaData(o,e.Media);return{data:this.imageReplacer.replace(o,s,0),path:`word/footer${i+1}.xml`}}),ContentTypes:{data:r(this.formatter.format(e.ContentTypes,e),t),path:"[Content_Types].xml"},AppProperties:{data:r(this.formatter.format(e.AppProperties,e),t),path:"docProps/app.xml"},FootNotes:{data:r(this.formatter.format(e.FootNotes,e),t),path:"word/footnotes.xml"},Settings:{data:r(this.formatter.format(e.Settings,e),t),path:"word/settings.xml"}}}}},function(e,t,n){(function(t){var i=n(356),r=n(56).Stream;function o(e,t,n){n=n||0;var r,s,a,l=(r=t,Array(n||0).join(r||"")),c=e;if("object"==typeof e&&(s=Object.keys(e)[0],(c=e[s])&&c._elem))return c._elem.name=s,c._elem.icount=n,c._elem.indent=t,c._elem.indents=l,c._elem.interrupt=c,c._elem;var u=[],d=[];function h(e){Object.keys(e).forEach(function(t){u.push(function(e,t){return e+'="'+i(t)+'"'}(t,e[t]))})}switch(typeof c){case"object":if(null===c)break;c._attr&&h(c._attr),c._cdata&&d.push(("<![CDATA["+c._cdata).replace(/\]\]>/g,"]]]]><![CDATA[>")+"]]>"),c.forEach&&(a=!1,d.push(""),c.forEach(function(e){"object"==typeof e?"_attr"==Object.keys(e)[0]?h(e._attr):d.push(o(e,t,n+1)):(d.pop(),a=!0,d.push(i(e)))}),!a&&d.push(""));break;default:d.push(i(c))}return{name:s,interrupt:!1,attributes:u,content:d,icount:n,indents:l,indent:t}}function s(e,t,n){if("object"!=typeof t)return e(!1,t);var i=t.interrupt?1:t.content.length;function r(){for(;t.content.length;){var r=t.content.shift();if(void 0!==r){if(o(r))return;s(e,r)}}e(!1,(i>1?t.indents:"")+(t.name?"</"+t.name+">":"")+(t.indent&&!n?"\n":"")),n&&n()}function o(t){return!!t.interrupt&&(t.interrupt.append=e,t.interrupt.end=r,t.interrupt=!1,e(!0),!0)}if(e(!1,t.indents+(t.name?"<"+t.name:"")+(t.attributes.length?" "+t.attributes.join(" "):"")+(i?t.name?">":"":t.name?"/>":"")+(t.indent&&i>1?"\n":"")),!i)return e(!1,t.indent?"\n":"");!o(t)&&r()}e.exports=function(e,n){"object"!=typeof n&&(n={indent:n});var i,a,l=n.stream?new r:null,c="",u=!1,d=n.indent?!0===n.indent?" ":n.indent:"",h=!0;function p(e){h?t.nextTick(e):e()}function f(e,t){if(void 0!==t&&(c+=t),e&&!u&&(l=l||new r,u=!0),e&&u){var n=c;p(function(){l.emit("data",n)}),c=""}}function m(e,t){s(f,o(e,d,d?1:0),t)}function g(){if(l){var e=c;p(function(){l.emit("data",e),l.emit("end"),l.readable=!1,l.emit("close")})}}if(p(function(){h=!1}),n.declaration){;a={version:"1.0",encoding:(i=n.declaration).encoding||"UTF-8"},i.standalone&&(a.standalone=i.standalone),m({"?xml":{_attr:a}}),c=c.replace("/>","?>")}return(e&&e.forEach?e.forEach(function(t,n){var i;n+1===e.length&&(i=g),m(t,i)}):m(e,g),l)?(l.readable=!0,l):c},e.exports.element=e.exports.Element=function(){var e=Array.prototype.slice.call(arguments),t={_elem:o(e)};return t.push=function(e){if(!this.append)throw Error("not assigned to a parent!");var t=this,n=this._elem.indent;s(this.append,o(e,n,this._elem.icount+(n?1:0)),function(){t.append(!0)})},t.close=function(e){void 0!==e&&this.push(e),this.end&&this.end()},t}}).call(t,n(13))},function(e,t){var n={"&":"&",'"':""","'":"'","<":"<",">":">"};e.exports=function(e){return e&&e.replace?e.replace(/([&"<>'])/g,function(e,t){return n[t]}):e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.Formatter=class e{format(e,t){let n=e.prepForXml(t);if(n)return n;throw Error("XMLComponent did not format correctly")}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.ImageReplacer=class e{replace(e,t,n){let i=e;return t.forEach((e,t)=>{i=i.replace(RegExp(`{${e.fileName}}`,"g"),(n+t).toString())}),i}getMediaData(e,t){return t.Array.filter(t=>e.search(`{${t.fileName}}`)>0)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.NumberingReplacer=class e{replace(e,t){let n=e;for(let e of t){if(!!e.reference)n=n.replace(RegExp(`{${e.reference}}`,"g"),e.id.toString())}return n}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e){for(var n in e)!t.hasOwnProperty(n)&&(t[n]=e[n])}(n(361))},function(e,t,n){"use strict";var i,r,o=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{l(i.next(e))}catch(e){o(e)}}function a(e){try{l(i.throw(e))}catch(e){o(e)}}function l(e){e.done?r(e.value):new n(function(t){t(e.value)}).then(s,a)}l((i=i.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});let s=n(138),a=n(26),l=n(46),c=n(49),u=n(50),d=n(48),h=n(0),p={"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header":"header","http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer":"footer","http://schemas.openxmlformats.org/officeDocument/2006/relationships/image":"image","http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink":"hyperlink"};(i=r||(r={})).HEADER="header",i.FOOTER="footer",i.IMAGE="image",i.HYPERLINK="hyperlink";t.ImportDotx=class e{extract(e){return o(this,void 0,void 0,function*(){let t=yield s.loadAsync(e),n=yield t.files["word/document.xml"].async("text"),i=yield t.files["word/_rels/document.xml.rels"].async("text"),r=this.extractDocumentRefs(n),o=this.findReferenceFiles(i),a=new u.Media;return{headers:yield this.createHeaders(t,r,o,a,0),footers:yield this.createFooters(t,r,o,a,r.headers.length),currentRelationshipId:r.footers.length+r.headers.length,styles:yield t.files["word/styles.xml"].async("text"),titlePageIsDefined:this.checkIfTitlePageIsDefined(n),media:a}})}createFooters(e,t,n,i,r){return o(this,void 0,void 0,function*(){return Promise.all(t.footers.map((t,s)=>o(this,void 0,void 0,function*(){let o=n.find(e=>e.id===t.id);if(null===o||!o)throw Error(`Can not find target file for id ${t.id}`);let c=yield e.files[`word/${o.target}`].async("text"),u=a.xml2js(c,{compact:!1,captureSpacesBetweenElements:!0});if(!u.elements)return;let d=u.elements.reduce((e,t)=>"w:ftr"===t.name?t:e),p=h.convertToXmlComponent(d),f=new l.FooterWrapper(i,r+s,p);return yield this.addRelationshipToWrapper(o,e,f,i),{type:t.type,footer:f}})).filter(e=>!!e))})}createHeaders(e,t,n,i,r){return o(this,void 0,void 0,function*(){return Promise.all(t.headers.map((t,s)=>o(this,void 0,void 0,function*(){let o=n.find(e=>e.id===t.id);if(null===o||!o)throw Error(`Can not find target file for id ${t.id}`);let l=yield e.files[`word/${o.target}`].async("text"),u=a.xml2js(l,{compact:!1,captureSpacesBetweenElements:!0});if(!u.elements)return;let d=u.elements.reduce((e,t)=>"w:hdr"===t.name?t:e),p=h.convertToXmlComponent(d),f=new c.HeaderWrapper(i,r+s,p);return yield this.addRelationshipToWrapper(o,e,f,i),{type:t.type,header:f}})).filter(e=>!!e))})}addRelationshipToWrapper(e,t,n,i){return o(this,void 0,void 0,function*(){let o=t.files[`word/_rels/${e.target}.rels`];if(!o)return;let s=yield o.async("text"),a=this.findReferenceFiles(s).filter(e=>e.type===r.IMAGE),l=this.findReferenceFiles(s).filter(e=>e.type===r.HYPERLINK);for(let e of a){let r=yield t.files[`word/${e.target}`].async("nodebuffer"),o=i.addMedia(r);n.Relationships.createRelationship(e.id,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`media/${o.fileName}`)}for(let e of l)n.Relationships.createRelationship(e.id,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",e.target,d.TargetModeType.EXTERNAL)})}findReferenceFiles(e){let t=a.xml2js(e,{compact:!0});return(Array.isArray(t.Relationships.Relationship)?t.Relationships.Relationship:[t.Relationships.Relationship]).map(e=>{if(void 0===e._attributes)throw Error("relationship element has no attributes");return{id:this.parseRefId(e._attributes.Id),type:p[e._attributes.Type],target:e._attributes.Target}}).filter(e=>null!==e.type)}extractDocumentRefs(e){let t,n;let i=a.xml2js(e,{compact:!0})["w:document"]["w:body"]["w:sectPr"],r=i["w:headerReference"],o=(t=void 0===r?[]:Array.isArray(r)?r:[r]).map(e=>{if(void 0===e._attributes)throw Error("header referecne element has no attributes");return{type:e._attributes["w:type"],id:this.parseRefId(e._attributes["r:id"])}}),s=i["w:footerReference"];return{headers:o,footers:(n=void 0===s?[]:Array.isArray(s)?s:[s]).map(e=>{if(void 0===e._attributes)throw Error("footer referecne element has no attributes");return{type:e._attributes["w:type"],id:this.parseRefId(e._attributes["r:id"])}})}}checkIfTitlePageIsDefined(e){return void 0!==a.xml2js(e,{compact:!0})["w:document"]["w:body"]["w:sectPr"]["w:titlePg"]}parseRefId(e){let t=/^rId(\d+)$/.exec(e);if(null===t)throw Error("Invalid ref id");return parseInt(t[1],10)}}}])},e.exports=n()},2337:function(e){"use strict";var t=Object.prototype.hasOwnProperty,n="~";function i(){}function r(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,i,o,s){if("function"!=typeof i)throw TypeError("The listener must be a function");var a=new r(i,o||e,s),l=n?n+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],a]:e._events[l].push(a):(e._events[l]=a,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new i:delete e._events[t]}function a(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),!new i().__proto__&&(n=!1)),a.prototype.eventNames=function(){var e,i,r=[];if(0===this._eventsCount)return r;for(i in e=this._events)t.call(e,i)&&r.push(n?i.slice(1):i);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},a.prototype.listeners=function(e){var t=n?n+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var r=0,o=i.length,s=Array(o);r<o;r++)s[r]=i[r].fn;return s},a.prototype.listenerCount=function(e){var t=n?n+e:e,i=this._events[t];return i?i.fn?1:i.length:0},a.prototype.emit=function(e,t,i,r,o,s){var a=n?n+e:e;if(!this._events[a])return!1;var l,c,u=this._events[a],d=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),d){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,i),!0;case 4:return u.fn.call(u.context,t,i,r),!0;case 5:return u.fn.call(u.context,t,i,r,o),!0;case 6:return u.fn.call(u.context,t,i,r,o,s),!0}for(c=1,l=Array(d-1);c<d;c++)l[c-1]=arguments[c];u.fn.apply(u.context,l)}else{var h,p=u.length;for(c=0;c<p;c++)switch(u[c].once&&this.removeListener(e,u[c].fn,void 0,!0),d){case 1:u[c].fn.call(u[c].context);break;case 2:u[c].fn.call(u[c].context,t);break;case 3:u[c].fn.call(u[c].context,t,i);break;case 4:u[c].fn.call(u[c].context,t,i,r);break;default:if(!l)for(h=1,l=Array(d-1);h<d;h++)l[h-1]=arguments[h];u[c].fn.apply(u[c].context,l)}}return!0},a.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},a.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},a.prototype.removeListener=function(e,t,i,r){var o=n?n+e:e;if(!this._events[o])return this;if(!t)return s(this,o),this;var a=this._events[o];if(a.fn)a.fn===t&&(!r||a.once)&&(!i||a.context===i)&&s(this,o);else{for(var l=0,c=[],u=a.length;l<u;l++)(a[l].fn!==t||r&&!a[l].once||i&&a[l].context!==i)&&c.push(a[l]);c.length?this._events[o]=1===c.length?c[0]:c:s(this,o)}return this},a.prototype.removeAllListeners=function(e){var t;return e?(t=n?n+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=n,a.EventEmitter=a;e.exports=a},2158:function(e){function t(e,h,p,f,m){if(e===h)return e?[[0,e]]:[];if(null!=p){var v=function(e,t,n){var i="number"==typeof n?{index:n,length:0}:n.oldRange,r="number"==typeof n?null:n.newRange,o=e.length,s=t.length;if(0===i.length&&(null===r||0===r.length)){var a=i.index,l=e.slice(0,a),c=e.slice(a),u=r?r.index:null;t:{var d=a+s-o;if(null!==u&&u!==d||d<0||d>s)break t;var h=t.slice(0,d),p=t.slice(d);if(p!==c)break t;var f=Math.min(a,d),m=l.slice(0,f),v=h.slice(0,f);if(m!==v)break t;var y=l.slice(f),b=h.slice(f);return g(m,y,b,c)}n:if(null===u||u===a){var h=t.slice(0,a),p=t.slice(a);if(h!==l)break n;var w=Math.min(o-a,s-a),_=c.slice(c.length-w),E=p.slice(p.length-w);if(_!==E)break n;var y=c.slice(0,c.length-w),b=p.slice(0,p.length-w);return g(l,y,b,_)}}if(i.length>0&&r&&0===r.length)i:{var m=e.slice(0,i.index),_=e.slice(i.index+i.length),f=m.length,w=_.length;if(s<f+w)break i;var v=t.slice(0,f),E=t.slice(s-w);if(m!==v||_!==E)break i;var y=e.slice(f,o-w),b=t.slice(f,s-w);return g(m,y,b,_)}return null}(e,h,p);if(v)return v}var y=i(e,h),b=e.substring(0,y);e=e.substring(y),y=o(e,h=h.substring(y));var w=e.substring(e.length-y);e=e.substring(0,e.length-y);var _=function(e,r){if(!e)return[[1,r]];if(!r)return[[-1,e]];var s,a=e.length>r.length?e:r,l=e.length>r.length?r:e,c=a.indexOf(l);if(-1!==c)return s=[[1,a.substring(0,c)],[0,l],[1,a.substring(c+l.length)]],e.length>r.length&&(s[0][0]=s[2][0]=-1),s;if(1===l.length)return[[-1,e],[1,r]];var u=function(e,t){var n,r,s,a,l,c=e.length>t.length?e:t,u=e.length>t.length?t:e;if(c.length<4||2*u.length<c.length)return null;function d(e,t,n){for(var r,s,a,l,c=e.substring(n,n+Math.floor(e.length/4)),u=-1,d="";-1!==(u=t.indexOf(c,u+1));){var h=i(e.substring(n),t.substring(u)),p=o(e.substring(0,n),t.substring(0,u));d.length<p+h&&(d=t.substring(u-p,u)+t.substring(u,u+h),r=e.substring(0,n-p),s=e.substring(n+h),a=t.substring(0,u-p),l=t.substring(u+h))}return 2*d.length>=e.length?[r,s,a,l,d]:null}var h=d(c,u,Math.ceil(c.length/4)),p=d(c,u,Math.ceil(c.length/2));return h||p?(n=p?h?h[4].length>p[4].length?h:p:p:h,e.length>t.length?(r=n[0],s=n[1],a=n[2],l=n[3]):(a=n[0],l=n[1],r=n[2],s=n[3]),[r,s,a,l,n[4]]):null}(e,r);if(u){var d=u[0],h=u[1],p=u[2],f=u[3],m=u[4],g=t(d,p),v=t(h,f);return g.concat([[0,m]],v)}return function(e,t){for(var i=e.length,r=t.length,o=Math.ceil((i+r)/2),s=2*o,a=Array(s),l=Array(s),c=0;c<s;c++)a[c]=-1,l[c]=-1;a[o+1]=0,l[o+1]=0;for(var u=i-r,d=u%2!=0,h=0,p=0,f=0,m=0,g=0;g<o;g++){for(var v=-g+h;v<=g-p;v+=2){for(var y,b=o+v,w=(y=v===-g||v!==g&&a[b-1]<a[b+1]?a[b+1]:a[b-1]+1)-v;y<i&&w<r&&e.charAt(y)===t.charAt(w);)y++,w++;if(a[b]=y,y>i)p+=2;else if(w>r)h+=2;else if(d){var _=o+u-v;if(_>=0&&_<s&&-1!==l[_]){var E=i-l[_];if(y>=E)return n(e,t,y,w)}}}for(var x=-g+f;x<=g-m;x+=2){for(var E,_=o+x,k=(E=x===-g||x!==g&&l[_-1]<l[_+1]?l[_+1]:l[_-1]+1)-x;E<i&&k<r&&e.charAt(i-E-1)===t.charAt(r-k-1);)E++,k++;if(l[_]=E,E>i)m+=2;else if(k>r)f+=2;else if(!d){var b=o+u-x;if(b>=0&&b<s&&-1!==a[b]){var y=a[b],w=o+y-b;if(y>=(E=i-E))return n(e,t,y,w)}}}}return[[-1,e],[1,t]]}(e,r)}(e,h=h.substring(0,h.length-y));return b&&_.unshift([0,b]),w&&_.push([0,w]),d(_,m),f&&function(e){for(var t=!1,n=[],i=0,h=null,p=0,f=0,m=0,g=0,v=0;p<e.length;)0==e[p][0]?(n[i++]=p,f=g,m=v,g=0,v=0,h=e[p][1]):(1==e[p][0]?g+=e[p][1].length:v+=e[p][1].length,h&&h.length<=Math.max(f,m)&&h.length<=Math.max(g,v)&&(e.splice(n[i-1],0,[-1,h]),e[n[i-1]+1][0]=1,i--,p=--i>0?n[i-1]:-1,f=0,m=0,g=0,v=0,h=null,t=!0)),p++;for(t&&d(e),function(e){function t(e,t){if(!e||!t)return 6;var n=e.charAt(e.length-1),i=t.charAt(0),r=n.match(s),o=i.match(s),d=r&&n.match(a),h=o&&i.match(a),p=d&&n.match(l),f=h&&i.match(l),m=p&&e.match(c),g=f&&t.match(u);if(m||g)return 5;if(p||f)return 4;if(r&&!d&&h)return 3;else if(d||h)return 2;else if(r||o)return 1;return 0}for(var n=1;n<e.length-1;){if(0==e[n-1][0]&&0==e[n+1][0]){var i=e[n-1][1],r=e[n][1],d=e[n+1][1],h=o(i,r);if(h){var p=r.substring(r.length-h);i=i.substring(0,i.length-h),r=p+r.substring(0,r.length-h),d=p+d}for(var f=i,m=r,g=d,v=t(i,r)+t(r,d);r.charAt(0)===d.charAt(0);){i+=r.charAt(0),r=r.substring(1)+d.charAt(0),d=d.substring(1);var y=t(i,r)+t(r,d);y>=v&&(v=y,f=i,m=r,g=d)}e[n-1][1]!=f&&(f?e[n-1][1]=f:(e.splice(n-1,1),n--),e[n][1]=m,g?e[n+1][1]=g:(e.splice(n+1,1),n--))}n++}}(e),p=1;p<e.length;){if(-1==e[p-1][0]&&1==e[p][0]){var y=e[p-1][1],b=e[p][1],w=r(y,b),_=r(b,y);w>=_?(w>=y.length/2||w>=b.length/2)&&(e.splice(p,0,[0,b.substring(0,w)]),e[p-1][1]=y.substring(0,y.length-w),e[p+1][1]=b.substring(w),p++):(_>=y.length/2||_>=b.length/2)&&(e.splice(p,0,[0,y.substring(0,_)]),e[p-1][0]=1,e[p-1][1]=b.substring(0,b.length-_),e[p+1][0]=-1,e[p+1][1]=y.substring(_),p++),p++}p++}}(_),_}function n(e,n,i,r){var o=e.substring(0,i),s=n.substring(0,r),a=e.substring(i),l=n.substring(r),c=t(o,s),u=t(a,l);return c.concat(u)}function i(e,t){if(!e||!t||e.charAt(0)!==t.charAt(0))return 0;for(var n=0,i=Math.min(e.length,t.length),r=i,o=0;n<r;)e.substring(o,r)==t.substring(o,r)?o=n=r:i=r,r=Math.floor((i-n)/2+n);return h(e.charCodeAt(r-1))&&r--,r}function r(e,t){var n=e.length,i=t.length;if(0==n||0==i)return 0;n>i?e=e.substring(n-i):n<i&&(t=t.substring(0,n));var r=Math.min(n,i);if(e==t)return r;for(var o=0,s=1;;){var a=e.substring(r-s),l=t.indexOf(a);if(-1==l)return o;s+=l,(0==l||e.substring(r-s)==t.substring(0,s))&&(o=s,s++)}}function o(e,t){if(!e||!t||e.slice(-1)!==t.slice(-1))return 0;for(var n=0,i=Math.min(e.length,t.length),r=i,o=0;n<r;)e.substring(e.length-r,e.length-o)==t.substring(t.length-r,t.length-o)?o=n=r:i=r,r=Math.floor((i-n)/2+n);return p(e.charCodeAt(e.length-r))&&r--,r}var s=/[^a-zA-Z0-9]/,a=/\s/,l=/[\r\n]/,c=/\n\r?\n$/,u=/^\r?\n\r?\n/;function d(e,t){e.push([0,""]);for(var n,r=0,s=0,a=0,l="",c="";r<e.length;){if(r<e.length-1&&!e[r][1]){e.splice(r,1);continue}switch(e[r][0]){case 1:a++,c+=e[r][1],r++;break;case -1:s++,l+=e[r][1],r++;break;case 0:var u=r-a-s-1;if(t){if(u>=0&&m(e[u][1])){var h=e[u][1].slice(-1);if(e[u][1]=e[u][1].slice(0,-1),l=h+l,c=h+c,!e[u][1]){e.splice(u,1),r--;var p=u-1;e[p]&&1===e[p][0]&&(a++,c=e[p][1]+c,p--),e[p]&&-1===e[p][0]&&(s++,l=e[p][1]+l,p--),u=p}}if(f(e[r][1])){var h=e[r][1].charAt(0);e[r][1]=e[r][1].slice(1),l+=h,c+=h}}if(r<e.length-1&&!e[r][1]){e.splice(r,1);break}if(l.length>0||c.length>0){l.length>0&&c.length>0&&(0!==(n=i(c,l))&&(u>=0?e[u][1]+=c.substring(0,n):(e.splice(0,0,[0,c.substring(0,n)]),r++),c=c.substring(n),l=l.substring(n)),0!==(n=o(c,l))&&(e[r][1]=c.substring(c.length-n)+e[r][1],c=c.substring(0,c.length-n),l=l.substring(0,l.length-n)));var g=a+s;0===l.length&&0===c.length?(e.splice(r-g,g),r-=g):0===l.length?(e.splice(r-g,g,[1,c]),r=r-g+1):0===c.length?(e.splice(r-g,g,[-1,l]),r=r-g+1):(e.splice(r-g,g,[-1,l],[1,c]),r=r-g+2)}0!==r&&0===e[r-1][0]?(e[r-1][1]+=e[r][1],e.splice(r,1)):r++,a=0,s=0,l="",c=""}}""===e[e.length-1][1]&&e.pop();var v=!1;for(r=1;r<e.length-1;)0===e[r-1][0]&&0===e[r+1][0]&&(e[r][1].substring(e[r][1].length-e[r-1][1].length)===e[r-1][1]?(e[r][1]=e[r-1][1]+e[r][1].substring(0,e[r][1].length-e[r-1][1].length),e[r+1][1]=e[r-1][1]+e[r+1][1],e.splice(r-1,1),v=!0):e[r][1].substring(0,e[r+1][1].length)==e[r+1][1]&&(e[r-1][1]+=e[r+1][1],e[r][1]=e[r][1].substring(e[r+1][1].length)+e[r+1][1],e.splice(r+1,1),v=!0)),r++;v&&d(e,t)}function h(e){return e>=55296&&e<=56319}function p(e){return e>=56320&&e<=57343}function f(e){return p(e.charCodeAt(0))}function m(e){return h(e.charCodeAt(e.length-1))}function g(e,t,n,i){return m(e)||f(i)?null:function(e){for(var t=[],n=0;n<e.length;n++)e[n][1].length>0&&t.push(e[n]);return t}([[0,e],[-1,t],[1,n],[0,i]])}function v(e,n,i,r){return t(e,n,i,r,!0)}v.INSERT=1,v.DELETE=-1,v.EQUAL=0,e.exports=v},2323:function(e,t,n){e=n.nmd(e);var i,r="__lodash_hash_undefined__",o="[object Arguments]",s="[object Boolean]",a="[object Date]",l="[object Function]",c="[object GeneratorFunction]",u="[object Map]",d="[object Number]",h="[object Object]",p="[object Promise]",f="[object RegExp]",m="[object Set]",g="[object String]",v="[object Symbol]",y="[object WeakMap]",b="[object ArrayBuffer]",w="[object DataView]",_="[object Float32Array]",E="[object Float64Array]",x="[object Int8Array]",k="[object Int16Array]",T="[object Int32Array]",O="[object Uint8Array]",C="[object Uint8ClampedArray]",A="[object Uint16Array]",S="[object Uint32Array]",N=/\w*$/,I=/^\[object .+?Constructor\]$/,L=/^(?:0|[1-9]\d*)$/,R={};R[o]=R["[object Array]"]=R[b]=R[w]=R[s]=R[a]=R[_]=R[E]=R[x]=R[k]=R[T]=R[u]=R[d]=R[h]=R[f]=R[m]=R[g]=R[v]=R[O]=R[C]=R[A]=R[S]=!0,R["[object Error]"]=R[l]=R[y]=!1;var P="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,D="object"==typeof self&&self&&self.Object===Object&&self,j=P||D||Function("return this")(),B=t&&!t.nodeType&&t,F=B&&e&&!e.nodeType&&e,q=F&&F.exports===B;function H(e,t){return e.set(t[0],t[1]),e}function U(e,t){return e.add(t),e}function z(e,t,n,i){var r=-1,o=e?e.length:0;for(i&&o&&(n=e[++r]);++r<o;)n=t(n,e[r],r,e);return n}function X(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function W(e){var t=-1,n=Array(e.size);return e.forEach(function(e,i){n[++t]=[i,e]}),n}function V(e,t){return function(n){return e(t(n))}}function K(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var G=Array.prototype,Y=Function.prototype,Z=Object.prototype,Q=j["__core-js_shared__"];var J=(i=/[^.]+$/.exec(Q&&Q.keys&&Q.keys.IE_PROTO||""))?"Symbol(src)_1."+i:"",ee=Y.toString,et=Z.hasOwnProperty,en=Z.toString,ei=RegExp("^"+ee.call(et).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),er=q?j.Buffer:void 0,eo=j.Symbol,es=j.Uint8Array,ea=V(Object.getPrototypeOf,Object),el=Object.create,ec=Z.propertyIsEnumerable,eu=G.splice,ed=Object.getOwnPropertySymbols,eh=er?er.isBuffer:void 0,ep=V(Object.keys,Object),ef=eD(j,"DataView"),em=eD(j,"Map"),eg=eD(j,"Promise"),ev=eD(j,"Set"),ey=eD(j,"WeakMap"),eb=eD(Object,"create"),ew=eq(ef),e_=eq(em),eE=eq(eg),ex=eq(ev),ek=eq(ey),eT=eo?eo.prototype:void 0,eO=eT?eT.valueOf:void 0;function eC(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function eA(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}eC.prototype.clear=function(){this.__data__=eb?eb(null):{}},eC.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},eC.prototype.get=function(e){var t=this.__data__;if(eb){var n=t[e];return n===r?void 0:n}return et.call(t,e)?t[e]:void 0},eC.prototype.has=function(e){var t=this.__data__;return eb?void 0!==t[e]:et.call(t,e)},eC.prototype.set=function(e,t){return this.__data__[e]=eb&&void 0===t?r:t,this};function eS(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}eA.prototype.clear=function(){this.__data__=[]},eA.prototype.delete=function(e){var t=this.__data__,n=eL(t,e);return!(n<0)&&(n==t.length-1?t.pop():eu.call(t,n,1),!0)},eA.prototype.get=function(e){var t=this.__data__,n=eL(t,e);return n<0?void 0:t[n][1]},eA.prototype.has=function(e){return eL(this.__data__,e)>-1},eA.prototype.set=function(e,t){var n=this.__data__,i=eL(n,e);return i<0?n.push([e,t]):n[i][1]=t,this};function eN(e){this.__data__=new eA(e)}eS.prototype.clear=function(){this.__data__={hash:new eC,map:new(em||eA),string:new eC}},eS.prototype.delete=function(e){return eP(this,e).delete(e)},eS.prototype.get=function(e){return eP(this,e).get(e)},eS.prototype.has=function(e){return eP(this,e).has(e)},eS.prototype.set=function(e,t){return eP(this,e).set(e,t),this};eN.prototype.clear=function(){this.__data__=new eA},eN.prototype.delete=function(e){return this.__data__.delete(e)},eN.prototype.get=function(e){return this.__data__.get(e)},eN.prototype.has=function(e){return this.__data__.has(e)},eN.prototype.set=function(e,t){var n=this.__data__;if(n instanceof eA){var i=n.__data__;if(!em||i.length<199)return i.push([e,t]),this;n=this.__data__=new eS(i)}return n.set(e,t),this};function eI(e,t,n){var i=e[t];(!(et.call(e,t)&&eH(i,n))||void 0===n&&!(t in e))&&(e[t]=n)}function eL(e,t){for(var n=e.length;n--;)if(eH(e[n][0],t))return n;return -1}function eM(e){var t=new e.constructor(e.byteLength);return new es(t).set(new es(e)),t}function eR(e,t,n,i){n||(n={});for(var r=-1,o=t.length;++r<o;){var s=t[r],a=i?i(n[s],e[s],s,n,e):void 0;eI(n,s,void 0===a?e[s]:a)}return n}function eP(e,t){var n=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?n["string"==typeof t?"string":"hash"]:n.map}function eD(e,t){var n,i,r,o=(n=e,i=t,null==n?void 0:n[i]);return!(!eW(r=o)||function(e){return!!J&&J in e}(r))&&(eX(r)||X(r)?ei:I).test(eq(r))?o:void 0}var ej=ed?V(ed,Object):function(){return[]},eB=function(e){return en.call(e)};(ef&&eB(new ef(new ArrayBuffer(1)))!=w||em&&eB(new em)!=u||eg&&eB(eg.resolve())!=p||ev&&eB(new ev)!=m||ey&&eB(new ey)!=y)&&(eB=function(e){var t=en.call(e),n=t==h?e.constructor:void 0,i=n?eq(n):void 0;if(i)switch(i){case ew:return w;case e_:return u;case eE:return p;case ex:return m;case ek:return y}return t});function eF(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Z)}function eq(e){if(null!=e){try{return ee.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function eH(e,t){return e===t||e!=e&&t!=t}var e$=Array.isArray;function eU(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}(e.length)&&!eX(e)}var ez=eh||function(){return!1};function eX(e){var t=eW(e)?en.call(e):"";return t==l||t==c}function eW(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function eV(e){return eU(e)?function(e,t){var n=e$(e)||function(e){return function(e){return function(e){return!!e&&"object"==typeof e}(e)&&eU(e)}(e)&&et.call(e,"callee")&&(!ec.call(e,"callee")||en.call(e)==o)}(e)?function(e,t){for(var n=-1,i=Array(e);++n<e;)i[n]=t(n);return i}(e.length,String):[],i=n.length,r=!!i;for(var s in e)et.call(e,s)&&!(r&&("length"==s||function(e,t){return!!(t=null==t?0x1fffffffffffff:t)&&("number"==typeof e||L.test(e))&&e>-1&&e%1==0&&e<t}(s,i)))&&n.push(s);return n}(e):function(e){if(!eF(e))return ep(e);var t=[];for(var n in Object(e))et.call(e,n)&&"constructor"!=n&&t.push(n);return t}(e)}e.exports=function(e){return function e(t,n,i,r,p,y,I){if(r&&(L=y?r(t,p,y,I):r(t)),void 0!==L)return L;if(!eW(t))return t;var L,P=e$(t);if(P){if(L=function(e){var t=e.length,n=e.constructor(t);return t&&"string"==typeof e[0]&&et.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(t),!n)return function(e,t){var n=-1,i=e.length;for(t||(t=Array(i));++n<i;)t[n]=e[n];return t}(t,L)}else{var D,j,B=eB(t),F=B==l||B==c;if(ez(t))return function(e,t){if(t)return e.slice();var n=new e.constructor(e.length);return e.copy(n),n}(t,n);if(B==h||B==o||F&&!y){if(X(t))return y?t:{};if(L=function(e){var t;return"function"!=typeof e.constructor||eF(e)?{}:eW(t=ea(e))?el(t):{}}(F?{}:t),!n){;return function(e,t){return eR(e,ej(e),t)}(t,(D=L,j=t,D&&eR(j,eV(j),D)))}}else{if(!R[B])return y?t:{};L=function(e,t,n,i){var r,o,l,c,h,p,y,I,L,R,P,D,j,B=e.constructor;switch(t){case b:return eM(e);case s:case a:return new B(+e);case w:;return r=e,o=i?eM(r.buffer):r.buffer,new r.constructor(o,r.byteOffset,r.byteLength);case _:case E:case x:case k:case T:case O:case C:case A:case S:;return l=e,c=i?eM(l.buffer):l.buffer,new l.constructor(c,l.byteOffset,l.length);case u:;return h=e,p=i,y=n,z(p?y(W(h),!0):W(h),H,new h.constructor);case d:case g:return new B(e);case f:;return(L=new(I=e).constructor(I.source,N.exec(I))).lastIndex=I.lastIndex,L;case m:;return R=e,P=i,D=n,z(P?D(K(R),!0):K(R),U,new R.constructor);case v:;return j=e,eO?Object(eO.call(j)):{}}}(t,B,e,n)}}I||(I=new eN);var q=I.get(t);if(q)return q;if(I.set(t,L),!P)var V=i?function(e){var t,n,i,r;return t=e,n=eV,i=ej,r=n(t),e$(t)?r:function(e,t){for(var n=-1,i=t.length,r=e.length;++n<i;)e[r+n]=t[n];return e}(r,i(t))}(t):eV(t);return!function(e,t){for(var n=-1,i=e?e.length:0;++n<i&&!1!==t(e[n],n,e););;}(V||t,function(o,s){V&&(o=t[s=o]),eI(L,s,e(o,n,i,r,s,t,I))}),L}(e,!0,!0)}},5899:function(e,t,n){e=n.nmd(e);var i,r,o,s,a="__lodash_hash_undefined__",l="[object Arguments]",c="[object Array]",u="[object Boolean]",d="[object Date]",h="[object Error]",p="[object Function]",f="[object Map]",m="[object Number]",g="[object Object]",v="[object Promise]",y="[object RegExp]",b="[object Set]",w="[object String]",_="[object WeakMap]",E="[object ArrayBuffer]",x="[object DataView]",k=/^\[object .+?Constructor\]$/,T=/^(?:0|[1-9]\d*)$/,O={};O["[object Float32Array]"]=O["[object Float64Array]"]=O["[object Int8Array]"]=O["[object Int16Array]"]=O["[object Int32Array]"]=O["[object Uint8Array]"]=O["[object Uint8ClampedArray]"]=O["[object Uint16Array]"]=O["[object Uint32Array]"]=!0,O[l]=O[c]=O[E]=O[u]=O[x]=O[d]=O[h]=O[p]=O[f]=O[m]=O[g]=O[y]=O[b]=O[w]=O[_]=!1;var C="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,A="object"==typeof self&&self&&self.Object===Object&&self,S=C||A||Function("return this")(),N=t&&!t.nodeType&&t,I=N&&e&&!e.nodeType&&e,L=I&&I.exports===N,R=L&&C.process,P=function(){try{return R&&R.binding&&R.binding("util")}catch(e){}}(),D=P&&P.isTypedArray;function j(e){var t=-1,n=Array(e.size);return e.forEach(function(e,i){n[++t]=[i,e]}),n}function B(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var F=Array.prototype,q=Function.prototype,H=Object.prototype,U=S["__core-js_shared__"],z=q.toString,X=H.hasOwnProperty;var W=(i=/[^.]+$/.exec(U&&U.keys&&U.keys.IE_PROTO||""))?"Symbol(src)_1."+i:"",V=H.toString,K=RegExp("^"+z.call(X).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),G=L?S.Buffer:void 0,Y=S.Symbol,Z=S.Uint8Array,Q=H.propertyIsEnumerable,J=F.splice,ee=Y?Y.toStringTag:void 0;var et=Object.getOwnPropertySymbols,en=G?G.isBuffer:void 0,ei=(r=Object.keys,o=Object,function(e){return r(o(e))}),er=eA(S,"DataView"),eo=eA(S,"Map"),es=eA(S,"Promise"),ea=eA(S,"Set"),el=eA(S,"WeakMap"),ec=eA(Object,"create"),eu=eI(er),ed=eI(eo),eh=eI(es),ep=eI(ea),ef=eI(el),em=Y?Y.prototype:void 0,eg=em?em.valueOf:void 0;function ev(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function ey(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}ev.prototype.clear=function(){this.__data__=ec?ec(null):{},this.size=0},ev.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},ev.prototype.get=function(e){var t=this.__data__;if(ec){var n=t[e];return n===a?void 0:n}return X.call(t,e)?t[e]:void 0},ev.prototype.has=function(e){var t=this.__data__;return ec?void 0!==t[e]:X.call(t,e)},ev.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=ec&&void 0===t?a:t,this};function eb(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}ey.prototype.clear=function(){this.__data__=[],this.size=0},ey.prototype.delete=function(e){var t=this.__data__,n=eE(t,e);return!(n<0)&&(n==t.length-1?t.pop():J.call(t,n,1),--this.size,!0)},ey.prototype.get=function(e){var t=this.__data__,n=eE(t,e);return n<0?void 0:t[n][1]},ey.prototype.has=function(e){return eE(this.__data__,e)>-1},ey.prototype.set=function(e,t){var n=this.__data__,i=eE(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this};function ew(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new eb;++t<n;)this.add(e[t])}eb.prototype.clear=function(){this.size=0,this.__data__={hash:new ev,map:new(eo||ey),string:new ev}},eb.prototype.delete=function(e){var t=eC(this,e).delete(e);return this.size-=t?1:0,t},eb.prototype.get=function(e){return eC(this,e).get(e)},eb.prototype.has=function(e){return eC(this,e).has(e)},eb.prototype.set=function(e,t){var n=eC(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this};function e_(e){var t=this.__data__=new ey(e);this.size=t.size}ew.prototype.add=ew.prototype.push=function(e){return this.__data__.set(e,a),this},ew.prototype.has=function(e){return this.__data__.has(e)};e_.prototype.clear=function(){this.__data__=new ey,this.size=0},e_.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},e_.prototype.get=function(e){return this.__data__.get(e)},e_.prototype.has=function(e){return this.__data__.has(e)},e_.prototype.set=function(e,t){var n=this.__data__;if(n instanceof ey){var i=n.__data__;if(!eo||i.length<199)return i.push([e,t]),this.size=++n.size,this;n=this.__data__=new eb(i)}return n.set(e,t),this.size=n.size,this};function eE(e,t){for(var n=e.length;n--;)if(eL(e[n][0],t))return n;return -1}function ex(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":ee&&ee in Object(e)?function(e){var t=X.call(e,ee),n=e[ee];try{e[ee]=void 0;var i=!0}catch(e){}var r=V.call(e);return i&&(t?e[ee]=n:delete e[ee]),r}(e):function(e){return V.call(e)}(e)}function ek(e){return eF(e)&&ex(e)==l}function eT(e,t,n,i,r,o){var s=1&n,a=e.length,l=t.length;if(a!=l&&!(s&&l>a))return!1;var c=o.get(e);if(c&&o.get(t))return c==t;var u=-1,d=!0,h=2&n?new ew:void 0;for(o.set(e,t),o.set(t,e);++u<a;){var p=e[u],f=t[u];if(i)var m=s?i(f,p,u,t,e,o):i(p,f,u,e,t,o);if(void 0!==m){if(m)continue;d=!1;break}if(h){if(!function(e,t){for(var n=-1,i=null==e?0:e.length;++n<i;)if(t(e[n],n,e))return!0;return!1}(t,function(e,t){var s,a;if(s=h,a=t,!s.has(a)&&(p===e||r(p,e,n,i,o)))return h.push(t)})){d=!1;break}}else if(!(p===f||r(p,f,n,i,o))){d=!1;break}}return o.delete(e),o.delete(t),d}function eO(e){var t,n,i,r;return t=e,n=eH,i=eS,r=n(t),eR(t)?r:function(e,t){for(var n=-1,i=t.length,r=e.length;++n<i;)e[r+n]=t[n];return e}(r,i(t))}function eC(e,t){var n=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?n["string"==typeof t?"string":"hash"]:n.map}function eA(e,t){var n,i,r,o=(n=e,i=t,null==n?void 0:n[i]);return!(!eB(r=o)||function(e){return!!W&&W in e}(r))&&(eD(r)?K:k).test(eI(r))?o:void 0}var eS=et?function(e){return null==e?[]:function(e,t){for(var n=-1,i=null==e?0:e.length,r=0,o=[];++n<i;){var s=e[n];t(s,n,e)&&(o[r++]=s)}return o}(et(e=Object(e)),function(t){return Q.call(e,t)})}:function(){return[]},eN=ex;(er&&eN(new er(new ArrayBuffer(1)))!=x||eo&&eN(new eo)!=f||es&&eN(es.resolve())!=v||ea&&eN(new ea)!=b||el&&eN(new el)!=_)&&(eN=function(e){var t=ex(e),n=t==g?e.constructor:void 0,i=n?eI(n):"";if(i)switch(i){case eu:return x;case ed:return f;case eh:return v;case ep:return b;case ef:return _}return t});function eI(e){if(null!=e){try{return z.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function eL(e,t){return e===t||e!=e&&t!=t}var eM=ek(function(){return arguments}())?ek:function(e){return eF(e)&&X.call(e,"callee")&&!Q.call(e,"callee")},eR=Array.isArray,eP=en||function(){return!1};function eD(e){if(!eB(e))return!1;var t=ex(e);return t==p||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}function ej(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}function eB(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function eF(e){return null!=e&&"object"==typeof e}var eq=D?(s=D,function(e){return s(e)}):function(e){return eF(e)&&ej(e.length)&&!!O[ex(e)]};function eH(e){var t;return null!=(t=e)&&ej(t.length)&&!eD(t)?function(e,t){var n=eR(e),i=!n&&eM(e),r=!n&&!i&&eP(e),o=!n&&!i&&!r&&eq(e),s=n||i||r||o,a=s?function(e,t){for(var n=-1,i=Array(e);++n<e;)i[n]=t(n);return i}(e.length,String):[],l=a.length;for(var c in e)X.call(e,c)&&!(s&&("length"==c||r&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||function(e,t){return!!(t=null==t?0x1fffffffffffff:t)&&("number"==typeof e||T.test(e))&&e>-1&&e%1==0&&e<t}(c,l)))&&a.push(c);return a}(e):function(e){if(!function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||H)}(e))return ei(e);var t=[];for(var n in Object(e))X.call(e,n)&&"constructor"!=n&&t.push(n);return t}(e)}e.exports=function(e,t){return function e(t,n,i,r,o){return t===n||(null!=t&&null!=n&&(eF(t)||eF(n))?function(e,t,n,i,r,o){var s=eR(e),a=eR(t),p=s?c:eN(e),v=a?c:eN(t);p=p==l?g:p,v=v==l?g:v;var _=p==g,k=v==g,T=p==v;if(T&&eP(e)){if(!eP(t))return!1;s=!0,_=!1}if(T&&!_)return o||(o=new e_),s||eq(e)?eT(e,t,n,i,r,o):function(e,t,n,i,r,o,s){switch(n){case x:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case E:if(e.byteLength!=t.byteLength||!o(new Z(e),new Z(t)))break;return!0;case u:case d:case m:return eL(+e,+t);case h:return e.name==t.name&&e.message==t.message;case y:case w:return e==t+"";case f:var a=j;case b:var l=1&i;if(a||(a=B),e.size!=t.size&&!l)break;var c=s.get(e);if(c)return c==t;i|=2,s.set(e,t);var p=eT(a(e),a(t),i,r,o,s);return s.delete(e),p;case"[object Symbol]":if(eg)return eg.call(e)==eg.call(t)}return!1}(e,t,p,n,i,r,o);if(!(1&n)){var O=_&&X.call(e,"__wrapped__"),C=k&&X.call(t,"__wrapped__");if(O||C){var A=O?e.value():e,S=C?t.value():t;return o||(o=new e_),r(A,S,n,i,o)}}return!!T&&(o||(o=new e_),function(e,t,n,i,r,o){var s=1&n,a=eO(e),l=a.length;if(l!=eO(t).length&&!s)return!1;for(var c=l;c--;){var u=a[c];if(!(s?u in t:X.call(t,u)))return!1}var d=o.get(e);if(d&&o.get(t))return d==t;var h=!0;o.set(e,t),o.set(t,e);for(var p=s;++c<l;){var f=e[u=a[c]],m=t[u];if(i)var g=s?i(m,f,u,t,e,o):i(f,m,u,e,t,o);if(!(void 0===g?f===m||r(f,m,n,i,o):g)){h=!1;break}p||(p="constructor"==u)}if(h&&!p){var v=e.constructor,y=t.constructor;v!=y&&"constructor"in e&&"constructor"in t&&!("function"==typeof v&&v instanceof v&&"function"==typeof y&&y instanceof y)&&(h=!1)}return o.delete(e),o.delete(t),h}(e,t,n,i,r,o))}(t,n,i,r,e,o):t!=t&&n!=n)}(e,t)}},234:function(e,t,n){e=n.nmd(e);var i,r,o,s,a,l,c,u,d,h,p,f,m,g,v,y,b,w,_,E,x,k,T,O,C,A,S,N,I,L,R,P,D,j,B,F,q,H,U,z,X,W,V,K,G,Y,Z,Q,J,ee,et,en,ei,er,eo,es,ea,el,ec,eu,ed,eh,ep,ef,em,eg,ev,ey,eb,ew,e_,eE,ex,ek,eT,eO,eC,eA,eS,eN,eI=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,i)}if("value"in r)return r.value;var s=r.get;return void 0!==s?s.call(i):void 0},eL=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();function eM(e,t){if(!e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t&&("object"==typeof t||"function"==typeof t)?t:e}function eR(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function eP(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}window.cash=function(){var e,t=document,n=window,i=Array.prototype,r=i.slice,o=i.filter,s=i.push,a=function(){},l=function(e){return typeof e==typeof a&&e.call},c=function(e){return"string"==typeof e},u=/^#[\w-]*$/,d=/^\.[\w-]*$/,h=/<.+>/,p=/^\w+$/;function f(e,n){return n=n||t,d.test(e)?n.getElementsByClassName(e.slice(1)):p.test(e)?n.getElementsByTagName(e):n.querySelectorAll(e)}function m(n){if(!e){var i=(e=t.implementation.createHTMLDocument(null)).createElement("base");i.href=t.location.href,e.head.appendChild(i)}return e.body.innerHTML=n,e.body.childNodes}function g(e){"loading"!==t.readyState?e():t.addEventListener("DOMContentLoaded",e)}function v(e,i){if(!e)return this;if(e.cash&&e!==n)return e;var r,o=e,s=0;if(c(e))o=u.test(e)?t.getElementById(e.slice(1)):h.test(e)?m(e):f(e,i);else if(l(e))return g(e),this;if(!o)return this;if(o.nodeType||o===n)this[0]=o,this.length=1;else for(r=this.length=o.length;s<r;s++)this[s]=o[s];return this}function y(e,t){return new v(e,t)}var b=y.fn=y.prototype=v.prototype={cash:!0,length:0,push:s,splice:i.splice,map:i.map,init:v};function w(e,t){for(var n=e.length,i=0;i<n&&!1!==t.call(e[i],e[i],i,e);i++);}function _(e,t){var n=e&&(e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector);return!!n&&n.call(e,t)}function E(e){return c(e)?_:e.cash?function(t){return e.is(t)}:function(e,t){return e===t}}function x(e){return y(r.call(e).filter(function(e,t,n){return n.indexOf(e)===t}))}Object.defineProperty(b,"constructor",{value:y}),y.parseHTML=m,y.noop=a,y.isFunction=l,y.isString=c,y.extend=b.extend=function(e){e=e||{};var t=r.call(arguments),n=t.length,i=1;for(1===t.length&&(e=this,i=0);i<n;i++)if(t[i])for(var o in t[i])t[i].hasOwnProperty(o)&&(e[o]=t[i][o]);return e},y.extend({merge:function(e,t){for(var n=+t.length,i=e.length,r=0;r<n;i++,r++)e[i]=t[r];return e.length=i,e},each:w,matches:_,unique:x,isArray:Array.isArray,isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)}});var k=y.uid="_cash"+Date.now();function T(e){return e[k]=e[k]||{}}function O(e,t,n){return T(e)[t]=n}function C(e,t){var n=T(e);return void 0===n[t]&&(n[t]=e.dataset?e.dataset[t]:y(e).attr("data-"+t)),n[t]}b.extend({data:function(e,t){if(c(e))return void 0===t?C(this[0],e):this.each(function(n){var i,r,o;return i=n,r=e,o=t,T(i)[r]=o});for(var n in e)this.data(n,e[n]);return this},removeData:function(e){return this.each(function(t){var n;(n=T(t))?delete n[e]:t.dataset?delete t.dataset[e]:y(t).removeAttr("data-"+name)})}});var A=/\S+/g;function S(e){return c(e)&&e.match(A)}function N(e,t){return e.classList?e.classList.contains(t):RegExp("(^| )"+t+"( |$)","gi").test(e.className)}function I(e,t,n){e.classList?e.classList.add(t):n.indexOf(" "+t+" ")&&(e.className+=" "+t)}function L(e,t){e.classList?e.classList.remove(t):e.className=e.className.replace(t,"")}b.extend({addClass:function(e){var t=S(e);return t?this.each(function(e){var n=" "+e.className+" ";w(t,function(t){I(e,t,n)})}):this},attr:function(e,t){if(e){if(c(e))return void 0===t?this[0]?this[0].getAttribute?this[0].getAttribute(e):this[0][e]:void 0:this.each(function(n){n.setAttribute?n.setAttribute(e,t):n[e]=t});for(var n in e)this.attr(n,e[n]);return this}},hasClass:function(e){var t=!1,n=S(e);return n&&n.length&&this.each(function(e){return!(t=N(e,n[0]))}),t},prop:function(e,t){if(c(e))return void 0===t?this[0][e]:this.each(function(n){n[e]=t});for(var n in e)this.prop(n,e[n]);return this},removeAttr:function(e){return this.each(function(t){t.removeAttribute?t.removeAttribute(e):delete t[e]})},removeClass:function(e){if(!arguments.length)return this.attr("class","");var t=S(e);return t?this.each(function(e){w(t,function(t){L(e,t)})}):this},removeProp:function(e){return this.each(function(t){delete t[e]})},toggleClass:function(e,t){if(void 0!==t)return this[t?"addClass":"removeClass"](e);var n=S(e);return n?this.each(function(e){var t=" "+e.className+" ";w(n,function(n){N(e,n)?L(e,n):I(e,n,t)})}):this}}),b.extend({add:function(e,t){return x(y.merge(this,y(e,t)))},each:function(e){return w(this,e),this},eq:function(e){return y(this.get(e))},filter:function(e){if(!e)return this;var t=l(e)?e:E(e);return y(o.call(this,function(n){return t(n,e)}))},first:function(){return this.eq(0)},get:function(e){return void 0===e?r.call(this):e<0?this[e+this.length]:this[e]},index:function(e){var t=e?y(e)[0]:this[0],n=e?this:y(t).parent().children();return r.call(n).indexOf(t)},last:function(){return this.eq(-1)}});var R,P,D,j,B=(D=/(?:^\w|[A-Z]|\b\w)/g,j=/[\s-_]+/g,function(e){return e.replace(D,function(e,t){return e[0===t?"toLowerCase":"toUpperCase"]()}).replace(j,"")}),F=(R={},P=document.createElement("div").style,function(e){if(R[e=B(e)])return R[e];var t=e.charAt(0).toUpperCase()+e.slice(1);return w((e+" "+["webkit","moz","ms","o"].join(t+" ")+t).split(" "),function(t){if(t in P)return R[t]=e=R[e]=t,!1}),R[e]});function q(e,t){return parseInt(n.getComputedStyle(e[0],null)[t],10)||0}function H(e,t,n){var i,r=C(e,"_cashEvents"),o=r&&r[t];o&&(n?(e.removeEventListener(t,n),0<=(i=o.indexOf(n))&&o.splice(i,1)):(w(o,function(n){e.removeEventListener(t,n)}),o=[]))}function U(e,t){return"&"+encodeURIComponent(e)+"="+encodeURIComponent(t).replace(/%20/g,"+")}function z(e){var t,n,i=e.type;if(!i)return null;switch(i.toLowerCase()){case"select-one":return 0<=(n=e.selectedIndex)?e.options[n].value:null;case"select-multiple":return t=[],w(e.options,function(e){e.selected&&t.push(e.value)}),t.length?t:null;case"radio":case"checkbox":return e.checked?e.value:null;default:return e.value?e.value:null}}function X(e,t,n){var i=c(t);i||!t.length?w(e,i?function(e){return e.insertAdjacentHTML(n?"afterbegin":"beforeend",t)}:function(e,i){return function(e,t,n){if(n){var i=e.childNodes[0];e.insertBefore(t,i)}else e.appendChild(t)}(e,0===i?t:t.cloneNode(!0),n)}):w(t,function(t){return X(e,t,n)})}y.prefixedProp=F,y.camelCase=B,b.extend({css:function(e,t){if(c(e))return e=F(e),1<arguments.length?this.each(function(n){return n.style[e]=t}):n.getComputedStyle(this[0])[e];for(var i in e)this.css(i,e[i]);return this}}),w(["Width","Height"],function(e){var t=e.toLowerCase();b[t]=function(){return this[0].getBoundingClientRect()[t]},b["inner"+e]=function(){return this[0]["client"+e]},b["outer"+e]=function(t){return this[0]["offset"+e]+(t?q(this,"margin"+("Width"===e?"Left":"Top"))+q(this,"margin"+("Width"===e?"Right":"Bottom")):0)}}),b.extend({off:function(e,t){return this.each(function(n){return H(n,e,t)})},on:function(e,t,n,i){var r;if(!c(e)){for(var o in e)this.on(o,t,e[o]);return this}return l(t)&&(n=t,t=null),"ready"===e?(g(n),this):(t&&(r=n,n=function(e){for(var n=e.target;!_(n,t);){if(n===this||null===n)return!1;n=n.parentNode}n&&r.call(n,e)}),this.each(function(t){var r,o,s,a=n;i&&(a=function(){n.apply(this,arguments),H(t,e,a)}),o=a,(s=C(t,"_cashEvents")||(r={},T(t)._cashEvents=r))[e]=s[e]||[],s[e].push(o),t.addEventListener(e,o)}))},one:function(e,t,n){return this.on(e,t,n,!0)},ready:g,trigger:function(e,t){if(document.createEvent){var n=document.createEvent("HTMLEvents");return n.initEvent(e,!0,!1),n=this.extend(n,t),this.each(function(e){return e.dispatchEvent(n)})}}}),b.extend({serialize:function(){var e="";return w(this[0].elements||this,function(t){if(!t.disabled&&"FIELDSET"!==t.tagName){var n=t.name;switch(t.type.toLowerCase()){case"file":case"reset":case"submit":case"button":break;case"select-multiple":var i=z(t);null!==i&&w(i,function(t){e+=U(n,t)});break;default:var r=z(t);null!==r&&(e+=U(n,r))}}}),e.substr(1)},val:function(e){return void 0===e?z(this[0]):this.each(function(t){return t.value=e})}}),b.extend({after:function(e){return y(e).insertAfter(this),this},append:function(e){return X(this,e),this},appendTo:function(e){return X(y(e),this),this},before:function(e){return y(e).insertBefore(this),this},clone:function(){return y(this.map(function(e){return e.cloneNode(!0)}))},empty:function(){return this.html(""),this},html:function(e){if(void 0===e)return this[0].innerHTML;var t=e.nodeType?e[0].outerHTML:e;return this.each(function(e){return e.innerHTML=t})},insertAfter:function(e){var t=this;return y(e).each(function(e,n){var i=e.parentNode,r=e.nextSibling;t.each(function(e){i.insertBefore(0===n?e:e.cloneNode(!0),r)})}),this},insertBefore:function(e){var t=this;return y(e).each(function(e,n){var i=e.parentNode;t.each(function(t){i.insertBefore(0===n?t:t.cloneNode(!0),e)})}),this},prepend:function(e){return X(this,e,!0),this},prependTo:function(e){return X(y(e),this,!0),this},remove:function(){return this.each(function(e){if(e.parentNode)return e.parentNode.removeChild(e)})},text:function(e){return void 0===e?this[0].textContent:this.each(function(t){return t.textContent=e})}});var W=t.documentElement;return b.extend({position:function(){var e=this[0];return{left:e.offsetLeft,top:e.offsetTop}},offset:function(){var e=this[0].getBoundingClientRect();return{top:e.top+n.pageYOffset-W.clientTop,left:e.left+n.pageXOffset-W.clientLeft}},offsetParent:function(){return y(this[0].offsetParent)}}),b.extend({children:function(e){var t=[];return this.each(function(e){s.apply(t,e.children)}),t=x(t),e?t.filter(function(t){return _(t,e)}):t},closest:function(e){return!e||this.length<1?y():this.is(e)?this.filter(e):this.parent().closest(e)},is:function(e){if(!e)return!1;var t=!1,n=E(e);return this.each(function(i){return!(t=n(i,e))}),t},find:function(e){if(!e||e.nodeType)return y(e&&this.has(e).length?e:null);var t=[];return this.each(function(n){s.apply(t,f(e,n))}),x(t)},has:function(e){var t=c(e)?function(t){return 0!==f(e,t).length}:function(t){return t.contains(e)};return this.filter(t)},next:function(){return y(this[0].nextElementSibling)},not:function(e){if(!e)return this;var t=E(e);return this.filter(function(n){return!t(n,e)})},parent:function(){var e=[];return this.each(function(t){t&&t.parentNode&&e.push(t.parentNode)}),x(e)},parents:function(e){var n,i=[];return this.each(function(r){for(n=r;n&&n.parentNode&&n!==t.body.parentNode;)n=n.parentNode,(!e||e&&_(n,e))&&i.push(n)}),x(i)},prev:function(){return y(this[0].previousElementSibling)},siblings:function(e){var t=this.parent().children(e),n=this[0];return t.filter(function(e){return e!==n})}}),y}();var eD=function(){function e(t,n,i){eP(this,e),n instanceof Element||console.error(Error(n+" is not an HTML Element"));var r=t.getInstance(n);r&&r.destroy(),this.el=n,this.$el=cash(n)}return eL(e,null,[{key:"init",value:function(e,t,n){var i=null;if(t instanceof Element)i=new e(t,n);else if(t&&(t.jquery||t.cash||t instanceof NodeList)){for(var r=[],o=0;o<t.length;o++)r.push(new e(t[o],n));i=r}return i}}]),e}();(i=window).Package?M={}:i.M={},M.jQueryLoaded=!!i.jQuery,"function"==typeof define&&define.amd?define("M",[],function(){return M}):t.nodeType||(!e.nodeType&&e.exports&&(t=e.exports=M),t.default=M),M.version="1.0.0",M.keys={TAB:9,ENTER:13,ESC:27,ARROW_UP:38,ARROW_DOWN:40},M.tabPressed=!1,M.keyDown=!1;document.addEventListener("keydown",function(e){M.keyDown=!0,e.which!==M.keys.TAB&&e.which!==M.keys.ARROW_DOWN&&e.which!==M.keys.ARROW_UP||(M.tabPressed=!0)},!0),document.addEventListener("keyup",function(e){M.keyDown=!1,e.which!==M.keys.TAB&&e.which!==M.keys.ARROW_DOWN&&e.which!==M.keys.ARROW_UP||(M.tabPressed=!1)},!0),document.addEventListener("focus",function(e){M.keyDown&&document.body.classList.add("keyboard-focused")},!0),document.addEventListener("blur",function(e){document.body.classList.remove("keyboard-focused")},!0),M.initializeJqueryWrapper=function(e,t,n){jQuery.fn[t]=function(i){if(e.prototype[i]){var r=Array.prototype.slice.call(arguments,1);if("get"===i.slice(0,3)){var o=this.first()[0][n];return o[i].apply(o,r)}return this.each(function(){var e=this[n];e[i].apply(e,r)})}if("object"==typeof i||!i)return e.init(this,i),this;jQuery.error("Method "+i+" does not exist on jQuery."+t)}},M.AutoInit=function(e){var t=e||document.body,n={Autocomplete:t.querySelectorAll(".autocomplete:not(.no-autoinit)"),Carousel:t.querySelectorAll(".carousel:not(.no-autoinit)"),Chips:t.querySelectorAll(".chips:not(.no-autoinit)"),Collapsible:t.querySelectorAll(".collapsible:not(.no-autoinit)"),Datepicker:t.querySelectorAll(".datepicker:not(.no-autoinit)"),Dropdown:t.querySelectorAll(".dropdown-trigger:not(.no-autoinit)"),Materialbox:t.querySelectorAll(".materialboxed:not(.no-autoinit)"),Modal:t.querySelectorAll(".modal:not(.no-autoinit)"),Parallax:t.querySelectorAll(".parallax:not(.no-autoinit)"),Pushpin:t.querySelectorAll(".pushpin:not(.no-autoinit)"),ScrollSpy:t.querySelectorAll(".scrollspy:not(.no-autoinit)"),FormSelect:t.querySelectorAll("select:not(.no-autoinit)"),Sidenav:t.querySelectorAll(".sidenav:not(.no-autoinit)"),Tabs:t.querySelectorAll(".tabs:not(.no-autoinit)"),TapTarget:t.querySelectorAll(".tap-target:not(.no-autoinit)"),Timepicker:t.querySelectorAll(".timepicker:not(.no-autoinit)"),Tooltip:t.querySelectorAll(".tooltipped:not(.no-autoinit)"),FloatingActionButton:t.querySelectorAll(".fixed-action-btn:not(.no-autoinit)")};for(var i in n)M[i].init(n[i])},M.objectSelectorString=function(e){return((e.prop("tagName")||"")+(e.attr("id")||"")+(e.attr("class")||"")).replace(/\s/g,"")},M.guid=function(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return function(){return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}}(),M.escapeHash=function(e){return e.replace(/(:|\.|\[|\]|,|=|\/)/g,"\\$1")},M.elementOrParentIsFixed=function(e){var t=$(e),n=t.add(t.parents()),i=!1;return n.each(function(){if("fixed"===$(this).css("position"))return i=!0,!1}),i},M.checkWithinContainer=function(e,t,n){var i={top:!1,right:!1,bottom:!1,left:!1},r=e.getBoundingClientRect(),o=e===document.body?Math.max(r.bottom,window.innerHeight):r.bottom,s=e.scrollLeft,a=e.scrollTop,l=t.left-s,c=t.top-a;return(l<r.left+n||l<n)&&(i.left=!0),(l+t.width>r.right-n||l+t.width>window.innerWidth-n)&&(i.right=!0),(c<r.top+n||c<n)&&(i.top=!0),(c+t.height>o-n||c+t.height>window.innerHeight-n)&&(i.bottom=!0),i},M.checkPossibleAlignments=function(e,t,n,i){var r={top:!0,right:!0,bottom:!0,left:!0,spaceOnTop:null,spaceOnRight:null,spaceOnBottom:null,spaceOnLeft:null},o="visible"===getComputedStyle(t).overflow,s=t.getBoundingClientRect(),a=Math.min(s.height,window.innerHeight),l=Math.min(s.width,window.innerWidth),c=e.getBoundingClientRect(),u=t.scrollLeft,d=t.scrollTop,h=n.left-u,p=n.top-d,f=n.top+c.height-d;return r.spaceOnRight=o?window.innerWidth-(c.left+n.width):l-(h+n.width),r.spaceOnRight<0&&(r.left=!1),r.spaceOnLeft=o?c.right-n.width:h-n.width+c.width,r.spaceOnLeft<0&&(r.right=!1),r.spaceOnBottom=o?window.innerHeight-(c.top+n.height+i):a-(p+n.height+i),r.spaceOnBottom<0&&(r.top=!1),r.spaceOnTop=o?c.bottom-(n.height+i):f-(n.height-i),r.spaceOnTop<0&&(r.bottom=!1),r},M.getOverflowParent=function(e){return null==e?null:e===document.body||"visible"!==getComputedStyle(e).overflow?e:M.getOverflowParent(e.parentElement)},M.getIdFromTrigger=function(e){var t=e.getAttribute("data-target");return t||(t=(t=e.getAttribute("href"))?t.slice(1):""),t},M.getDocumentScrollTop=function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},M.getDocumentScrollLeft=function(){return window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0};var ej=Date.now||function(){return(new Date).getTime()};M.throttle=function(e,t,n){var i=void 0,r=void 0,o=void 0,s=null,a=0;n||(n={});var l=function(){a=!1===n.leading?0:ej(),s=null,o=e.apply(i,r),i=r=null};return function(){var c=ej();a||!1!==n.leading||(a=c);var u=t-(c-a);return i=this,r=arguments,u<=0?(clearTimeout(s),s=null,a=c,o=e.apply(i,r),i=r=null):s||!1===n.trailing||(s=setTimeout(l,u)),o}};var eB={scope:{}};eB.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(e,t,n){if(n.get||n.set)throw TypeError("ES3 does not support getters and setters.");e!=Array.prototype&&e!=Object.prototype&&(e[t]=n.value)},eB.getGlobal=function(e){return"undefined"!=typeof window&&window===e?e:void 0!==n.g&&null!=n.g?n.g:e},eB.global=eB.getGlobal(this),eB.SYMBOL_PREFIX="jscomp_symbol_",eB.initSymbol=function(){eB.initSymbol=function(){},eB.global.Symbol||(eB.global.Symbol=eB.Symbol)},eB.symbolCounter_=0,eB.Symbol=function(e){return eB.SYMBOL_PREFIX+(e||"")+eB.symbolCounter_++},eB.initSymbolIterator=function(){eB.initSymbol();var e=eB.global.Symbol.iterator;e||(e=eB.global.Symbol.iterator=eB.global.Symbol("iterator")),"function"!=typeof Array.prototype[e]&&eB.defineProperty(Array.prototype,e,{configurable:!0,writable:!0,value:function(){return eB.arrayIterator(this)}}),eB.initSymbolIterator=function(){}},eB.arrayIterator=function(e){var t=0;return eB.iteratorPrototype(function(){return t<e.length?{done:!1,value:e[t++]}:{done:!0}})},eB.iteratorPrototype=function(e){return eB.initSymbolIterator(),(e={next:e})[eB.global.Symbol.iterator]=function(){return this},e},eB.array=eB.array||{},eB.iteratorFromArray=function(e,t){eB.initSymbolIterator(),e instanceof String&&(e+="");var n=0,i={next:function(){if(n<e.length){var r=n++;return{value:t(r,e[r]),done:!1}}return i.next=function(){return{done:!0,value:void 0}},i.next()}};return i[Symbol.iterator]=function(){return i},i},eB.polyfill=function(e,t,n,i){if(t){for(n=eB.global,e=e.split("."),i=0;i<e.length-1;i++){var r=e[i];r in n||(n[r]={}),n=n[r]}(t=t(i=n[e=e[e.length-1]]))!=i&&null!=t&&eB.defineProperty(n,e,{configurable:!0,writable:!0,value:t})}},eB.polyfill("Array.prototype.keys",function(e){return e||function(){return eB.iteratorFromArray(this,function(e){return e})}},"es6-impl","es3");var eF=this;M.anime=function(){function e(e){if(!T.col(e))try{return document.querySelectorAll(e)}catch(e){}}function t(e,t){for(var n=e.length,i=2<=arguments.length?t:void 0,r=[],o=0;o<n;o++)if(o in e){var s=e[o];t.call(i,s,o,e)&&r.push(s)}return r}function n(e){return e.reduce(function(e,t){return e.concat(T.arr(t)?n(t):t)},[])}function i(t){return T.arr(t)?t:(T.str(t)&&(t=e(t)||t),t instanceof NodeList||t instanceof HTMLCollection?[].slice.call(t):[t])}function r(e,t){return e.some(function(e){return e===t})}function o(e){var t,n={};for(t in e)n[t]=e[t];return n}function s(e,t){var n,i=o(e);for(n in e)i[n]=t.hasOwnProperty(n)?t[n]:e[n];return i}function a(e,t){var n,i=o(e);for(n in t)i[n]=T.und(e[n])?t[n]:e[n];return i}function l(e){if(e=/([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(e))return e[2]}function c(e,t){return T.fnc(e)?e(t.target,t.id,t.total):e}function u(e,t){if(t in e.style)return getComputedStyle(e).getPropertyValue(t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase())||"0"}function d(e,t){return T.dom(e)&&r(k,t)?"transform":T.dom(e)&&(e.getAttribute(t)||T.svg(e)&&e[t])?"attribute":T.dom(e)&&"transform"!==t&&u(e,t)?"css":null!=e[t]?"object":void 0}function h(e,n){switch(d(e,n)){case"transform":return function(e,n){var i=-1<n.indexOf("translate")||"perspective"===n?"px":-1<n.indexOf("rotate")||-1<n.indexOf("skew")?"deg":void 0,i=-1<n.indexOf("scale")?1:0+i;if(!(e=e.style.transform))return i;for(var r=[],o=[],s=[],a=/(\w+)\((.+?)\)/g;r=a.exec(e);)o.push(r[1]),s.push(r[2]);return(e=t(s,function(e,t){return o[t]===n})).length?e[0]:i}(e,n);case"css":return u(e,n);case"attribute":return e.getAttribute(n)}return e[n]||0}function p(e,t){var n=/^(\*=|\+=|-=)/.exec(e);if(!n)return e;var i=l(e)||0;switch(t=parseFloat(t),e=parseFloat(e.replace(n[0],"")),n[0][0]){case"+":return t+e+i;case"-":return t-e+i;case"*":return t*e+i}}function f(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function m(e){e=e.points;for(var t,n=0,i=0;i<e.numberOfItems;i++){var r=e.getItem(i);0<i&&(n+=f(t,r)),t=r}return n}function g(e){if(e.getTotalLength)return e.getTotalLength();switch(e.tagName.toLowerCase()){case"circle":return 2*Math.PI*e.getAttribute("r");case"rect":return 2*e.getAttribute("width")+2*e.getAttribute("height");case"line":return f({x:e.getAttribute("x1"),y:e.getAttribute("y1")},{x:e.getAttribute("x2"),y:e.getAttribute("y2")});case"polyline":return m(e);case"polygon":var t=e.points;return m(e)+f(t.getItem(t.numberOfItems-1),t.getItem(0))}}function v(e,t){var n,i=/-?\d*\.?\d+/g;if(n=T.pth(e)?e.totalLength:e,T.col(n)){if(T.rgb(n)){var r,o,s,o,a=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(n);n=a?"rgba("+a[1]+",1)":n}else{;n=T.hex(n)?(r=(r=n).replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(e,t,n,i){return t+t+n+n+i+i}),r=parseInt((o=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(r))[1],16),s=parseInt(o[2],16),"rgba("+r+","+s+","+(o=parseInt(o[3],16))+",1)"):T.hsl(n)?function(e){function t(e,t,n){return n<0&&(n+=1),1<n&&--n,n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var n=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(e)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(e);e=parseInt(n[1])/360;var i=parseInt(n[2])/100,r=parseInt(n[3])/100,n=n[4]||1;if(0==i)r=i=e=r;else{var o=r<.5?r*(1+i):r+i-r*i,s=2*r-o,r=t(s,o,e+1/3),i=t(s,o,e);e=t(s,o,e-1/3)}return"rgba("+255*r+","+255*i+","+255*e+","+n+")"}(n):void 0}}else a=(a=l(n))?n.substr(0,n.length-a.length):n,n=t&&!/\s/g.test(n)?a+t:a;return{original:n+="",numbers:n.match(i)?n.match(i).map(Number):[0],strings:T.str(e)||t?n.split(i):[]}}function y(e){return t(e=e?n(T.arr(e)?e.map(i):i(e)):[],function(e,t,n){return n.indexOf(e)===t})}function b(e,t,n,i){var r="delay"===e;return t.length?(r?Math.min:Math.max).apply(Math,t.map(function(t){return t[e]})):r?i.delay:n.offset+i.delay+i.duration}function w(e){function r(){return window.Promise&&new Promise(function(e){return j=e})}function f(e){return F.reversed?F.duration-e:e}function m(e){for(var n=0,i={},r=F.animations,o=r.length;n<o;){var s=r[n],a=s.animatable,l=s.tweens,c=l.length-1,d=l[c];c&&(d=t(l,function(t){return e<t.end})[0]||d);for(var l=Math.min(Math.max(e-d.start-d.delay,0),d.duration)/d.duration,h=isNaN(l)?1:d.easing(l,d.elasticity),l=d.to.strings,p=d.round,c=[],f=void 0,f=d.to.numbers.length,m=0;m<f;m++){var g=d.to.numbers[m],v=d.from.numbers[m],g=d.isPath?function(e,t){function n(n){return n=void 0===n?0:n,e.el.getPointAtLength(1<=t+n?t+n:0)}var i=n(),r=n(-1),o=n(1);switch(e.property){case"x":return i.x;case"y":return i.y;case"angle":return 180*Math.atan2(o.y-r.y,o.x-r.x)/Math.PI}}(d.value,h*g):v+h*(g-v);p&&(d.isColor&&2<m||(g=Math.round(g*p)/p)),c.push(g)}if(d=l.length)for(f=l[0],h=0;h<d;h++)p=l[h+1],isNaN(m=c[h])||(f=p?f+(m+p):f+(m+" "));else f=c[0];A[s.type](a.target,s.property,f,i,a.id),s.currentValue=f,n++}if(n=Object.keys(i).length)for(r=0;r<n;r++)_||(_=u(document.body,"transform")?"transform":"-webkit-transform"),F.animatables[r].target.style[_]=i[r].join(" ");F.currentTime=e,F.progress=e/F.duration*100}function g(e){F[e]&&F[e](F)}function k(){F.remaining&&!0!==F.remaining&&F.remaining--}function L(e){var t=F.duration,n=F.offset,i=n+F.delay,o=F.currentTime,s=F.reversed,a=f(e);if(F.children.length){var l=F.children,c=l.length;if(a>=F.currentTime)for(var u=0;u<c;u++)l[u].seek(a);else for(;c--;)l[c].seek(a)}(i<=a||!t)&&(F.began||(F.began=!0,g("begin")),g("run")),n<a&&a<t?m(a):(a<=n&&0!==o&&(m(0),s&&k()),(t<=a&&o!==t||!t)&&(m(t),s||k())),g("update"),t<=e&&(F.remaining?(P=R,"alternate"===F.direction&&(F.reversed=!F.reversed)):(F.pause(),F.completed||(F.completed=!0,g("complete"),"Promise"in window&&(j(),B=r()))),D=0)}e=void 0===e?{}:e;var R,P,D=0,j=null,B=r(),F=function(e){var r,u,f=s(E,e),m=s(x,e),g=(u=y(e.targets)).map(function(e,t){return{target:e,id:t,total:u.length}}),w=[],_=a(f,m);for(r in e)_.hasOwnProperty(r)||"targets"===r||w.push({name:r,offset:_.offset,tweens:function(e,t){var n=o(t);if(T.arr(e)){var r=e.length;2!==r||T.obj(e[0])?T.fnc(t.duration)||(n.duration=t.duration/r):e={value:e}}return i(e).map(function(e,n){return n=n?0:t.delay,e=T.obj(e)&&!T.pth(e)?e:{value:e},T.und(e.delay)&&(e.delay=n),e}).map(function(e){return a(e,n)})}(e[r],m)});return e=t(n(g.map(function(e){return w.map(function(t){var n=d(e.target,t.name);if(n){var i,r,o,s=(i=t,r=e,i.tweens.map(function(e){var t=(e=function(e,t){var n,i={};for(n in e){var r=c(e[n],t);T.arr(r)&&1===(r=r.map(function(e){return c(e,t)})).length&&(r=r[0]),i[n]=r}return i.duration=parseFloat(i.duration),i.delay=parseFloat(i.delay),i}(e,r)).value,n=h(r.target,i.name),s=o?o.to.original:n,s=T.arr(t)?t[0]:s,a=p(T.arr(t)?t[1]:t,s),n=l(a)||l(s)||l(n);return e.from=v(s,n),e.to=v(a,n),e.start=o?o.end:i.offset,e.end=e.start+e.delay+e.duration,e.easing=function(e){return T.arr(e)?O.apply(this,e):C[e]}(e.easing),e.elasticity=(1e3-Math.min(Math.max(e.elasticity,1),999))/1e3,e.isPath=T.pth(t),e.isColor=T.col(e.from.original),e.isColor&&(e.round=1),o=e}));t={type:n,property:t.name,animatable:e,tweens:s,duration:s[s.length-1].end,delay:s[0].delay}}else t=void 0;return t})})),function(e){return!T.und(e)}),a(f,{children:[],animatables:g,animations:e,duration:b("duration",e,f,m),delay:b("delay",e,f,m)})}(e);return F.reset=function(){var e=F.direction,t=F.loop;for(F.currentTime=0,F.progress=0,F.paused=!0,F.began=!1,F.completed=!1,F.reversed="reverse"===e,F.remaining="alternate"===e&&1===t?2:t,m(0),e=F.children.length;e--;)F.children[e].reset()},F.tick=function(e){R=e,P||(P=R),L((D+R-P)*w.speed)},F.seek=function(e){L(f(e))},F.pause=function(){var e=S.indexOf(F);-1<e&&S.splice(e,1),F.paused=!0},F.play=function(){F.paused&&(F.paused=!1,P=0,D=f(F.currentTime),S.push(F),N||I())},F.reverse=function(){F.reversed=!F.reversed,P=0,D=f(F.currentTime)},F.restart=function(){F.pause(),F.reset(),F.play()},F.finished=B,F.reset(),F.autoplay&&F.play(),F}var _,E={update:void 0,begin:void 0,run:void 0,complete:void 0,loop:1,direction:"normal",autoplay:!0,offset:0},x={duration:1e3,delay:0,easing:"easeOutElastic",elasticity:500,round:0},k="translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective".split(" "),T={arr:function(e){return Array.isArray(e)},obj:function(e){return -1<Object.prototype.toString.call(e).indexOf("Object")},pth:function(e){return T.obj(e)&&e.hasOwnProperty("totalLength")},svg:function(e){return e instanceof SVGElement},dom:function(e){return e.nodeType||T.svg(e)},str:function(e){return"string"==typeof e},fnc:function(e){return"function"==typeof e},und:function(e){return void 0===e},hex:function(e){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e)},rgb:function(e){return/^rgb/.test(e)},hsl:function(e){return/^hsl/.test(e)},col:function(e){return T.hex(e)||T.rgb(e)||T.hsl(e)}},O=function(){function e(e,t,n){return(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e}return function(t,n,i,r){if(0<=t&&t<=1&&0<=i&&i<=1){var o=new Float32Array(11);if(t!==n||i!==r)for(var s=0;s<11;++s)o[s]=e(.1*s,t,i);return function(s){if(t===n&&i===r)return s;if(0===s)return 0;if(1===s)return 1;for(var a=0,l=1;10!==l&&o[l]<=s;++l)a+=.1;var l=a+(s-o[--l])/(o[l+1]-o[l])*.1,c=3*(1-3*i+3*t)*l*l+2*(3*i-6*t)*l+3*t;if(.001<=c){for(a=0;a<4&&0!=(c=3*(1-3*i+3*t)*l*l+2*(3*i-6*t)*l+3*t);++a)var u=e(l,t,i)-s,l=l-u/c;s=l}else if(0===c)s=l;else{for(var l=a,a=a+.1,d=0;0<(c=e(u=l+(a-l)/2,t,i)-s)?a=u:l=u,1e-7<Math.abs(c)&&++d<10;);s=u}return e(s,n,r)}}}}(),C=function(){function e(e,t){return 0===e||1===e?e:-Math.pow(2,10*(e-1))*Math.sin(2*(e-1-t/(2*Math.PI)*Math.asin(1))*Math.PI/t)}var t,n="Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "),i={In:[[.55,.085,.68,.53],[.55,.055,.675,.19],[.895,.03,.685,.22],[.755,.05,.855,.06],[.47,0,.745,.715],[.95,.05,.795,.035],[.6,.04,.98,.335],[.6,-.28,.735,.045],e],Out:[[.25,.46,.45,.94],[.215,.61,.355,1],[.165,.84,.44,1],[.23,1,.32,1],[.39,.575,.565,1],[.19,1,.22,1],[.075,.82,.165,1],[.175,.885,.32,1.275],function(t,n){return 1-e(1-t,n)}],InOut:[[.455,.03,.515,.955],[.645,.045,.355,1],[.77,0,.175,1],[.86,0,.07,1],[.445,.05,.55,.95],[1,0,0,1],[.785,.135,.15,.86],[.68,-.55,.265,1.55],function(t,n){return t<.5?e(2*t,n)/2:1-e(-2*t+2,n)/2}]},r={linear:O(.25,.25,.75,.75)},o={};for(t in i)o.type=t,i[o.type].forEach(function(e){return function(t,i){r["ease"+e.type+n[i]]=T.fnc(t)?t:O.apply(eF,t)}}(o)),o={type:o.type};return r}(),A={css:function(e,t,n){return e.style[t]=n},attribute:function(e,t,n){return e.setAttribute(t,n)},object:function(e,t,n){return e[t]=n},transform:function(e,t,n,i,r){i[r]||(i[r]=[]),i[r].push(t+"("+n+")")}},S=[],N=0,I=function(){function e(){N=requestAnimationFrame(t)}function t(t){var n=S.length;if(n){for(var i=0;i<n;)S[i]&&S[i].tick(t),i++;e()}else cancelAnimationFrame(N),N=0}return e}();return w.version="2.2.0",w.speed=1,w.running=S,w.remove=function(e){e=y(e);for(var t=S.length;t--;)for(var n=S[t],i=n.animations,o=i.length;o--;)r(e,i[o].animatable.target)&&(i.splice(o,1),i.length||n.pause())},w.getValue=h,w.path=function(t,n){var i=T.str(t)?e(t)[0]:t,r=n||100;return function(e){return{el:i,property:e,totalLength:g(i)*(r/100)}}},w.setDashoffset=function(e){var t=g(e);return e.setAttribute("stroke-dasharray",t),t},w.bezier=O,w.easings=C,w.timeline=function(e){var t=w(e);return t.pause(),t.duration=0,t.add=function(n){return t.children.forEach(function(e){e.began=!0,e.completed=!0}),i(n).forEach(function(n){var i=a(n,s(x,e||{}));i.targets=i.targets||e.targets,n=t.duration;var r=i.offset;i.autoplay=!1,i.direction=t.direction,i.offset=T.und(r)?n:p(r,n),t.began=!0,t.completed=!0,t.seek(i.offset),(i=w(i)).began=!0,i.completed=!0,i.duration>n&&(t.duration=i.duration),t.children.push(i)}),t.seek(0),t.reset(),t.autoplay&&t.restart(),t},t},w.random=function(e,t){return Math.floor(Math.random()*(t-e+1))+e},w}(),r=cash,o=M.anime,s={accordion:!0,onOpenStart:void 0,onOpenEnd:void 0,onCloseStart:void 0,onCloseEnd:void 0,inDuration:300,outDuration:300},a=function(e){function t(e,n){eP(this,t);var i=eM(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));(i.el.M_Collapsible=i).options=r.extend({},t.defaults,n),i.$headers=i.$el.children("li").children(".collapsible-header"),i.$headers.attr("tabindex",0),i._setupEventHandlers();var o=i.$el.children("li.active").children(".collapsible-body");return i.options.accordion?o.first().css("display","block"):o.css("display","block"),i}return eR(t,eD),eL(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Collapsible=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleCollapsibleClickBound=this._handleCollapsibleClick.bind(this),this._handleCollapsibleKeydownBound=this._handleCollapsibleKeydown.bind(this),this.el.addEventListener("click",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.addEventListener("keydown",e._handleCollapsibleKeydownBound)})}},{key:"_removeEventHandlers",value:function(){var e=this;this.el.removeEventListener("click",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.removeEventListener("keydown",e._handleCollapsibleKeydownBound)})}},{key:"_handleCollapsibleClick",value:function(e){var t=r(e.target).closest(".collapsible-header");if(e.target&&t.length){var n=t.closest(".collapsible");if(n[0]===this.el){var i=t.closest("li"),o=n.children("li"),s=i[0].classList.contains("active"),a=o.index(i);s?this.close(a):this.open(a)}}}},{key:"_handleCollapsibleKeydown",value:function(e){13===e.keyCode&&this._handleCollapsibleClickBound(e)}},{key:"_animateIn",value:function(e){var t=this,n=this.$el.children("li").eq(e);if(n.length){var i=n.children(".collapsible-body");o.remove(i[0]),i.css({display:"block",overflow:"hidden",height:0,paddingTop:"",paddingBottom:""});var r=i.css("padding-top"),s=i.css("padding-bottom"),a=i[0].scrollHeight;i.css({paddingTop:0,paddingBottom:0}),o({targets:i[0],height:a,paddingTop:r,paddingBottom:s,duration:this.options.inDuration,easing:"easeInOutCubic",complete:function(e){i.css({overflow:"",paddingTop:"",paddingBottom:"",height:""}),"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,n[0])}})}}},{key:"_animateOut",value:function(e){var t=this,n=this.$el.children("li").eq(e);if(n.length){var i=n.children(".collapsible-body");o.remove(i[0]),i.css("overflow","hidden"),o({targets:i[0],height:0,paddingTop:0,paddingBottom:0,duration:this.options.outDuration,easing:"easeInOutCubic",complete:function(){i.css({height:"",overflow:"",padding:"",display:""}),"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,n[0])}})}}},{key:"open",value:function(e){var t=this,n=this.$el.children("li").eq(e);if(n.length&&!n[0].classList.contains("active")){if("function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,n[0]),this.options.accordion){var i=this.$el.children("li");this.$el.children("li.active").each(function(e){var n=i.index(r(e));t.close(n)})}n[0].classList.add("active"),this._animateIn(e)}}},{key:"close",value:function(e){var t=this.$el.children("li").eq(e);t.length&&t[0].classList.contains("active")&&("function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,t[0]),t[0].classList.remove("active"),this._animateOut(e))}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Collapsible}},{key:"defaults",get:function(){return s}}]),t}(),M.Collapsible=a,M.jQueryLoaded&&M.initializeJqueryWrapper(a,"collapsible","M_Collapsible"),l=cash,c=M.anime,u={alignment:"left",autoFocus:!0,constrainWidth:!0,container:null,coverTrigger:!0,closeOnClick:!0,hover:!1,inDuration:150,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onItemClick:null},(d=function(e){function t(e,n){eP(this,t);var i=eM(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return i.el.M_Dropdown=i,t._dropdowns.push(i),i.id=M.getIdFromTrigger(e),i.dropdownEl=document.getElementById(i.id),i.$dropdownEl=l(i.dropdownEl),i.options=l.extend({},t.defaults,n),i.isOpen=!1,i.isScrollable=!1,i.isTouchMoving=!1,i.focusedIndex=-1,i.filterQuery=[],i.options.container?l(i.options.container).append(i.dropdownEl):i.$el.after(i.dropdownEl),i._makeDropdownFocusable(),i._resetFilterQueryBound=i._resetFilterQuery.bind(i),i._handleDocumentClickBound=i._handleDocumentClick.bind(i),i._handleDocumentTouchmoveBound=i._handleDocumentTouchmove.bind(i),i._handleDropdownClickBound=i._handleDropdownClick.bind(i),i._handleDropdownKeydownBound=i._handleDropdownKeydown.bind(i),i._handleTriggerKeydownBound=i._handleTriggerKeydown.bind(i),i._setupEventHandlers(),i}return eR(t,eD),eL(t,[{key:"destroy",value:function(){this._resetDropdownStyles(),this._removeEventHandlers(),t._dropdowns.splice(t._dropdowns.indexOf(this),1),this.el.M_Dropdown=void 0}},{key:"_setupEventHandlers",value:function(){this.el.addEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.addEventListener("click",this._handleDropdownClickBound),this.options.hover?(this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.addEventListener("mouseleave",this._handleMouseLeaveBound)):(this._handleClickBound=this._handleClick.bind(this),this.el.addEventListener("click",this._handleClickBound))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.removeEventListener("click",this._handleDropdownClickBound),this.options.hover?(this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.removeEventListener("mouseleave",this._handleMouseLeaveBound)):this.el.removeEventListener("click",this._handleClickBound)}},{key:"_setupTemporaryEventHandlers",value:function(){document.body.addEventListener("click",this._handleDocumentClickBound,!0),document.body.addEventListener("touchend",this._handleDocumentClickBound),document.body.addEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.addEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_removeTemporaryEventHandlers",value:function(){document.body.removeEventListener("click",this._handleDocumentClickBound,!0),document.body.removeEventListener("touchend",this._handleDocumentClickBound),document.body.removeEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.removeEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_handleClick",value:function(e){e.preventDefault(),this.open()}},{key:"_handleMouseEnter",value:function(){this.open()}},{key:"_handleMouseLeave",value:function(e){var t=e.toElement||e.relatedTarget,n=!!l(t).closest(".dropdown-content").length,i=!1,r=l(t).closest(".dropdown-trigger");r.length&&r[0].M_Dropdown&&r[0].M_Dropdown.isOpen&&(i=!0),i||n||this.close()}},{key:"_handleDocumentClick",value:function(e){var t=this,n=l(e.target);this.options.closeOnClick&&n.closest(".dropdown-content").length&&!this.isTouchMoving?setTimeout(function(){t.close()},0):!n.closest(".dropdown-trigger").length&&n.closest(".dropdown-content").length||setTimeout(function(){t.close()},0),this.isTouchMoving=!1}},{key:"_handleTriggerKeydown",value:function(e){e.which!==M.keys.ARROW_DOWN&&e.which!==M.keys.ENTER||this.isOpen||(e.preventDefault(),this.open())}},{key:"_handleDocumentTouchmove",value:function(e){l(e.target).closest(".dropdown-content").length&&(this.isTouchMoving=!0)}},{key:"_handleDropdownClick",value:function(e){if("function"==typeof this.options.onItemClick){var t=l(e.target).closest("li")[0];this.options.onItemClick.call(this,t)}}},{key:"_handleDropdownKeydown",value:function(e){if(e.which===M.keys.TAB)e.preventDefault(),this.close();else if((e.which===M.keys.ARROW_DOWN||e.which===M.keys.ARROW_UP)&&this.isOpen){e.preventDefault();var t=e.which===M.keys.ARROW_DOWN?1:-1,n=this.focusedIndex,i=!1;do if(n+=t,this.dropdownEl.children[n]&&-1!==this.dropdownEl.children[n].tabIndex){i=!0;break}while(n<this.dropdownEl.children.length&&0<=n);i&&(this.focusedIndex=n,this._focusFocusedItem())}else if(e.which===M.keys.ENTER&&this.isOpen){var r=this.dropdownEl.children[this.focusedIndex],o=l(r).find("a, button").first();o.length?o[0].click():r&&r.click()}else e.which===M.keys.ESC&&this.isOpen&&(e.preventDefault(),this.close());var s=String.fromCharCode(e.which).toLowerCase();if(s&&-1===[9,13,27,38,40].indexOf(e.which)){this.filterQuery.push(s);var a=this.filterQuery.join(""),c=l(this.dropdownEl).find("li").filter(function(e){return 0===l(e).text().toLowerCase().indexOf(a)})[0];c&&(this.focusedIndex=l(c).index(),this._focusFocusedItem())}this.filterTimeout=setTimeout(this._resetFilterQueryBound,1e3)}},{key:"_resetFilterQuery",value:function(){this.filterQuery=[]}},{key:"_resetDropdownStyles",value:function(){this.$dropdownEl.css({display:"",width:"",height:"",left:"",top:"","transform-origin":"",transform:"",opacity:""})}},{key:"_makeDropdownFocusable",value:function(){this.dropdownEl.tabIndex=0,l(this.dropdownEl).children().each(function(e){e.getAttribute("tabindex")||e.setAttribute("tabindex",0)})}},{key:"_focusFocusedItem",value:function(){0<=this.focusedIndex&&this.focusedIndex<this.dropdownEl.children.length&&this.options.autoFocus&&this.dropdownEl.children[this.focusedIndex].focus()}},{key:"_getDropdownPosition",value:function(){this.el.offsetParent.getBoundingClientRect();var e=this.el.getBoundingClientRect(),t=this.dropdownEl.getBoundingClientRect(),n=t.height,i=t.width,r=e.left-t.left,o=e.top-t.top,s={left:r,top:o,height:n,width:i},a=this.dropdownEl.offsetParent?this.dropdownEl.offsetParent:this.dropdownEl.parentNode,l=M.checkPossibleAlignments(this.el,a,s,this.options.coverTrigger?0:e.height),c="top",u=this.options.alignment;if(o+=this.options.coverTrigger?0:e.height,this.isScrollable=!1,l.top||(l.bottom?c="bottom":(this.isScrollable=!0,l.spaceOnTop>l.spaceOnBottom?(c="bottom",n+=l.spaceOnTop,o-=l.spaceOnTop):n+=l.spaceOnBottom)),!l[u]){var d="left"===u?"right":"left";l[d]?u=d:l.spaceOnLeft>l.spaceOnRight?(u="right",i+=l.spaceOnLeft,r-=l.spaceOnLeft):(u="left",i+=l.spaceOnRight)}return"bottom"===c&&(o=o-t.height+(this.options.coverTrigger?e.height:0)),"right"===u&&(r=r-t.width+e.width),{x:r,y:o,verticalAlignment:c,horizontalAlignment:u,height:n,width:i}}},{key:"_animateIn",value:function(){var e=this;c.remove(this.dropdownEl),c({targets:this.dropdownEl,opacity:{value:[0,1],easing:"easeOutQuad"},scaleX:[.3,1],scaleY:[.3,1],duration:this.options.inDuration,easing:"easeOutQuint",complete:function(t){e.options.autoFocus&&e.dropdownEl.focus(),"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,e.el)}})}},{key:"_animateOut",value:function(){var e=this;c.remove(this.dropdownEl),c({targets:this.dropdownEl,opacity:{value:0,easing:"easeOutQuint"},scaleX:.3,scaleY:.3,duration:this.options.outDuration,easing:"easeOutQuint",complete:function(t){e._resetDropdownStyles(),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,e.el)}})}},{key:"_placeDropdown",value:function(){var e=this.options.constrainWidth?this.el.getBoundingClientRect().width:this.dropdownEl.getBoundingClientRect().width;this.dropdownEl.style.width=e+"px";var t=this._getDropdownPosition();this.dropdownEl.style.left=t.x+"px",this.dropdownEl.style.top=t.y+"px",this.dropdownEl.style.height=t.height+"px",this.dropdownEl.style.width=t.width+"px",this.dropdownEl.style.transformOrigin=("left"===t.horizontalAlignment?"0":"100%")+" "+("top"===t.verticalAlignment?"0":"100%")}},{key:"open",value:function(){this.isOpen||(this.isOpen=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._resetDropdownStyles(),this.dropdownEl.style.display="block",this._placeDropdown(),this._animateIn(),this._setupTemporaryEventHandlers())}},{key:"close",value:function(){this.isOpen&&(this.isOpen=!1,this.focusedIndex=-1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._animateOut(),this._removeTemporaryEventHandlers(),this.options.autoFocus&&this.el.focus())}},{key:"recalculateDimensions",value:function(){this.isOpen&&(this.$dropdownEl.css({width:"",height:"",left:"",top:"","transform-origin":""}),this._placeDropdown())}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Dropdown}},{key:"defaults",get:function(){return u}}]),t}())._dropdowns=[],M.Dropdown=d,M.jQueryLoaded&&M.initializeJqueryWrapper(d,"dropdown","M_Dropdown"),h=cash,p=M.anime,f={opacity:.5,inDuration:250,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0,dismissible:!0,startingTop:"4%",endingTop:"10%"},(m=function(e){function t(e,n){eP(this,t);var i=eM(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Modal=i).options=h.extend({},t.defaults,n),i.isOpen=!1,i.id=i.$el.attr("id"),i._openingTrigger=void 0,i.$overlay=h('<div class="modal-overlay"></div>'),i.el.tabIndex=0,i._nthModalOpened=0,t._count++,i._setupEventHandlers(),i}return eR(t,eD),eL(t,[{key:"destroy",value:function(){t._count--,this._removeEventHandlers(),this.el.removeAttribute("style"),this.$overlay.remove(),this.el.M_Modal=void 0}},{key:"_setupEventHandlers",value:function(){this._handleOverlayClickBound=this._handleOverlayClick.bind(this),this._handleModalCloseClickBound=this._handleModalCloseClick.bind(this),1===t._count&&document.body.addEventListener("click",this._handleTriggerClick),this.$overlay[0].addEventListener("click",this._handleOverlayClickBound),this.el.addEventListener("click",this._handleModalCloseClickBound)}},{key:"_removeEventHandlers",value:function(){0===t._count&&document.body.removeEventListener("click",this._handleTriggerClick),this.$overlay[0].removeEventListener("click",this._handleOverlayClickBound),this.el.removeEventListener("click",this._handleModalCloseClickBound)}},{key:"_handleTriggerClick",value:function(e){var t=h(e.target).closest(".modal-trigger");if(t.length){var n=M.getIdFromTrigger(t[0]),i=document.getElementById(n).M_Modal;i&&i.open(t),e.preventDefault()}}},{key:"_handleOverlayClick",value:function(){this.options.dismissible&&this.close()}},{key:"_handleModalCloseClick",value:function(e){h(e.target).closest(".modal-close").length&&this.close()}},{key:"_handleKeydown",value:function(e){27===e.keyCode&&this.options.dismissible&&this.close()}},{key:"_handleFocus",value:function(e){this.el.contains(e.target)||this._nthModalOpened!==t._modalsOpen||this.el.focus()}},{key:"_animateIn",value:function(){var e=this;h.extend(this.el.style,{display:"block",opacity:0}),h.extend(this.$overlay[0].style,{display:"block",opacity:0}),p({targets:this.$overlay[0],opacity:this.options.opacity,duration:this.options.inDuration,easing:"easeOutQuad"});var t={targets:this.el,duration:this.options.inDuration,easing:"easeOutCubic",complete:function(){"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,e.el,e._openingTrigger)}};this.el.classList.contains("bottom-sheet")?h.extend(t,{bottom:0,opacity:1}):h.extend(t,{top:[this.options.startingTop,this.options.endingTop],opacity:1,scaleX:[.8,1],scaleY:[.8,1]}),p(t)}},{key:"_animateOut",value:function(){var e=this;p({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuart"});var t={targets:this.el,duration:this.options.outDuration,easing:"easeOutCubic",complete:function(){e.el.style.display="none",e.$overlay.remove(),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,e.el)}};this.el.classList.contains("bottom-sheet")?h.extend(t,{bottom:"-100%",opacity:0}):h.extend(t,{top:[this.options.endingTop,this.options.startingTop],opacity:0,scaleX:.8,scaleY:.8}),p(t)}},{key:"open",value:function(e){if(!this.isOpen)return this.isOpen=!0,t._modalsOpen++,this._nthModalOpened=t._modalsOpen,this.$overlay[0].style.zIndex=1e3+2*t._modalsOpen,this.el.style.zIndex=1e3+2*t._modalsOpen+1,this._openingTrigger=e?e[0]:void 0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el,this._openingTrigger),this.options.preventScrolling&&(document.body.style.overflow="hidden"),this.el.classList.add("open"),this.el.insertAdjacentElement("afterend",this.$overlay[0]),this.options.dismissible&&(this._handleKeydownBound=this._handleKeydown.bind(this),this._handleFocusBound=this._handleFocus.bind(this),document.addEventListener("keydown",this._handleKeydownBound),document.addEventListener("focus",this._handleFocusBound,!0)),p.remove(this.el),p.remove(this.$overlay[0]),this._animateIn(),this.el.focus(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,t._modalsOpen--,this._nthModalOpened=0,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this.el.classList.remove("open"),0===t._modalsOpen&&(document.body.style.overflow=""),this.options.dismissible&&(document.removeEventListener("keydown",this._handleKeydownBound),document.removeEventListener("focus",this._handleFocusBound,!0)),p.remove(this.el),p.remove(this.$overlay[0]),this._animateOut(),this}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Modal}},{key:"defaults",get:function(){return f}}]),t}())._modalsOpen=0,m._count=0,M.Modal=m,M.jQueryLoaded&&M.initializeJqueryWrapper(m,"modal","M_Modal"),g=cash,v=M.anime,y={inDuration:275,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null},b=function(e){function t(e,n){eP(this,t);var i=eM(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Materialbox=i).options=g.extend({},t.defaults,n),i.overlayActive=!1,i.doneAnimating=!0,i.placeholder=g("<div></div>").addClass("material-placeholder"),i.originalWidth=0,i.originalHeight=0,i.originInlineStyles=i.$el.attr("style"),i.caption=i.el.getAttribute("data-caption")||"",i.$el.before(i.placeholder),i.placeholder.append(i.$el),i._setupEventHandlers(),i}return eR(t,eD),eL(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Materialbox=void 0,g(this.placeholder).after(this.el).remove(),this.$el.removeAttr("style")}},{key:"_setupEventHandlers",value:function(){this._handleMaterialboxClickBound=this._handleMaterialboxClick.bind(this),this.el.addEventListener("click",this._handleMaterialboxClickBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleMaterialboxClickBound)}},{key:"_handleMaterialboxClick",value:function(e){!1===this.doneAnimating||this.overlayActive&&this.doneAnimating?this.close():this.open()}},{key:"_handleWindowScroll",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowResize",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowEscape",value:function(e){27===e.keyCode&&this.doneAnimating&&this.overlayActive&&this.close()}},{key:"_makeAncestorsOverflowVisible",value:function(){this.ancestorsChanged=g();for(var e=this.placeholder[0].parentNode;null!==e&&!g(e).is(document);){var t=g(e);"visible"!==t.css("overflow")&&(t.css("overflow","visible"),void 0===this.ancestorsChanged?this.ancestorsChanged=t:this.ancestorsChanged=this.ancestorsChanged.add(t)),e=e.parentNode}}},{key:"_animateImageIn",value:function(){var e=this,t={targets:this.el,height:[this.originalHeight,this.newHeight],width:[this.originalWidth,this.newWidth],left:M.getDocumentScrollLeft()+this.windowWidth/2-this.placeholder.offset().left-this.newWidth/2,top:M.getDocumentScrollTop()+this.windowHeight/2-this.placeholder.offset().top-this.newHeight/2,duration:this.options.inDuration,easing:"easeOutQuad",complete:function(){e.doneAnimating=!0,"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,e.el)}};this.maxWidth=this.$el.css("max-width"),this.maxHeight=this.$el.css("max-height"),"none"!==this.maxWidth&&(t.maxWidth=this.newWidth),"none"!==this.maxHeight&&(t.maxHeight=this.newHeight),v(t)}},{key:"_animateImageOut",value:function(){var e=this;v({targets:this.el,width:this.originalWidth,height:this.originalHeight,left:0,top:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){e.placeholder.css({height:"",width:"",position:"",top:"",left:""}),e.attrWidth&&e.$el.attr("width",e.attrWidth),e.attrHeight&&e.$el.attr("height",e.attrHeight),e.$el.removeAttr("style"),e.originInlineStyles&&e.$el.attr("style",e.originInlineStyles),e.$el.removeClass("active"),e.doneAnimating=!0,e.ancestorsChanged.length&&e.ancestorsChanged.css("overflow",""),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,e.el)}})}},{key:"_updateVars",value:function(){this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight,this.caption=this.el.getAttribute("data-caption")||""}},{key:"open",value:function(){var e=this;this._updateVars(),this.originalWidth=this.el.getBoundingClientRect().width,this.originalHeight=this.el.getBoundingClientRect().height,this.doneAnimating=!1,this.$el.addClass("active"),this.overlayActive=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this.placeholder.css({width:this.placeholder[0].getBoundingClientRect().width+"px",height:this.placeholder[0].getBoundingClientRect().height+"px",position:"relative",top:0,left:0}),this._makeAncestorsOverflowVisible(),this.$el.css({position:"absolute","z-index":1e3,"will-change":"left, top, width, height"}),this.attrWidth=this.$el.attr("width"),this.attrHeight=this.$el.attr("height"),this.attrWidth&&(this.$el.css("width",this.attrWidth+"px"),this.$el.removeAttr("width")),this.attrHeight&&(this.$el.css("width",this.attrHeight+"px"),this.$el.removeAttr("height")),this.$overlay=g('<div id="materialbox-overlay"></div>').css({opacity:0}).one("click",function(){e.doneAnimating&&e.close()}),this.$el.before(this.$overlay);var t=this.$overlay[0].getBoundingClientRect();this.$overlay.css({width:this.windowWidth+"px",height:this.windowHeight+"px",left:-1*t.left+"px",top:-1*t.top+"px"}),v.remove(this.el),v.remove(this.$overlay[0]),v({targets:this.$overlay[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}),""!==this.caption&&(this.$photocaption&&v.remove(this.$photoCaption[0]),this.$photoCaption=g('<div class="materialbox-caption"></div>'),this.$photoCaption.text(this.caption),g("body").append(this.$photoCaption),this.$photoCaption.css({display:"inline"}),v({targets:this.$photoCaption[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}));var n=0,i=this.originalWidth/this.windowWidth,r=this.originalHeight/this.windowHeight;this.newWidth=0,this.newHeight=0,r<i?(n=this.originalHeight/this.originalWidth,this.newWidth=.9*this.windowWidth,this.newHeight=.9*this.windowWidth*n):(n=this.originalWidth/this.originalHeight,this.newWidth=.9*this.windowHeight*n,this.newHeight=.9*this.windowHeight),this._animateImageIn(),this._handleWindowScrollBound=this._handleWindowScroll.bind(this),this._handleWindowResizeBound=this._handleWindowResize.bind(this),this._handleWindowEscapeBound=this._handleWindowEscape.bind(this),window.addEventListener("scroll",this._handleWindowScrollBound),window.addEventListener("resize",this._handleWindowResizeBound),window.addEventListener("keyup",this._handleWindowEscapeBound)}},{key:"close",value:function(){var e=this;this._updateVars(),this.doneAnimating=!1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),v.remove(this.el),v.remove(this.$overlay[0]),""!==this.caption&&v.remove(this.$photoCaption[0]),window.removeEventListener("scroll",this._handleWindowScrollBound),window.removeEventListener("resize",this._handleWindowResizeBound),window.removeEventListener("keyup",this._handleWindowEscapeBound),v({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){e.overlayActive=!1,e.$overlay.remove()}}),this._animateImageOut(),""!==this.caption&&v({targets:this.$photoCaption[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){e.$photoCaption.remove()}})}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Materialbox}},{key:"defaults",get:function(){return y}}]),t}(),M.Materialbox=b,M.jQueryLoaded&&M.initializeJqueryWrapper(b,"materialbox","M_Materialbox"),w=cash,_={responsiveThreshold:0},(E=function(e){function t(e,n){eP(this,t);var i=eM(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Parallax=i).options=w.extend({},t.defaults,n),i._enabled=window.innerWidth>i.options.responsiveThreshold,i.$img=i.$el.find("img").first(),i.$img.each(function(){this.complete&&w(this).trigger("load")}),i._updateParallax(),i._setupEventHandlers(),i._setupStyles(),t._parallaxes.push(i),i}return eR(t,eD),eL(t,[{key:"destroy",value:function(){t._parallaxes.splice(t._parallaxes.indexOf(this),1),this.$img[0].style.transform="",this._removeEventHandlers(),this.$el[0].M_Parallax=void 0}},{key:"_setupEventHandlers",value:function(){this._handleImageLoadBound=this._handleImageLoad.bind(this),this.$img[0].addEventListener("load",this._handleImageLoadBound),0===t._parallaxes.length&&(t._handleScrollThrottled=M.throttle(t._handleScroll,5),window.addEventListener("scroll",t._handleScrollThrottled),t._handleWindowResizeThrottled=M.throttle(t._handleWindowResize,5),window.addEventListener("resize",t._handleWindowResizeThrottled))}},{key:"_removeEventHandlers",value:function(){this.$img[0].removeEventListener("load",this._handleImageLoadBound),0===t._parallaxes.length&&(window.removeEventListener("scroll",t._handleScrollThrottled),window.removeEventListener("resize",t._handleWindowResizeThrottled))}},{key:"_setupStyles",value:function(){this.$img[0].style.opacity=1}},{key:"_handleImageLoad",value:function(){this._updateParallax()}},{key:"_updateParallax",value:function(){var e=0<this.$el.height()?this.el.parentNode.offsetHeight:500,t=this.$img[0].offsetHeight-e,n=this.$el.offset().top+e,i=this.$el.offset().top,r=M.getDocumentScrollTop(),o=window.innerHeight;this._enabled?r<n&&i<r+o&&(this.$img[0].style.transform="translate3D(-50%, "+(r+o-i)/(e+o)*t+"px, 0)"):this.$img[0].style.transform=""}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Parallax}},{key:"_handleScroll",value:function(){for(var e=0;e<t._parallaxes.length;e++){var n=t._parallaxes[e];n._updateParallax.call(n)}}},{key:"_handleWindowResize",value:function(){for(var e=0;e<t._parallaxes.length;e++){var n=t._parallaxes[e];n._enabled=window.innerWidth>n.options.responsiveThreshold}}},{key:"defaults",get:function(){return _}}]),t}())._parallaxes=[],M.Parallax=E,M.jQueryLoaded&&M.initializeJqueryWrapper(E,"parallax","M_Parallax"),x=cash,k=M.anime,T={duration:300,onShow:null,swipeable:!1,responsiveThreshold:1/0},O=function(e){function t(e,n){eP(this,t);var i=eM(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Tabs=i).options=x.extend({},t.defaults,n),i.$tabLinks=i.$el.children("li.tab").children("a"),i.index=0,i._setupActiveTabLink(),i.options.swipeable?i._setupSwipeableTabs():i._setupNormalTabs(),i._setTabsAndTabWidth(),i._createIndicator(),i._setupEventHandlers(),i}return eR(t,eD),eL(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this._indicator.parentNode.removeChild(this._indicator),this.options.swipeable?this._teardownSwipeableTabs():this._teardownNormalTabs(),this.$el[0].M_Tabs=void 0}},{key:"_setupEventHandlers",value:function(){this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener("resize",this._handleWindowResizeBound),this._handleTabClickBound=this._handleTabClick.bind(this),this.el.addEventListener("click",this._handleTabClickBound)}},{key:"_removeEventHandlers",value:function(){window.removeEventListener("resize",this._handleWindowResizeBound),this.el.removeEventListener("click",this._handleTabClickBound)}},{key:"_handleWindowResize",value:function(){this._setTabsAndTabWidth(),0!==this.tabWidth&&0!==this.tabsWidth&&(this._indicator.style.left=this._calcLeftPos(this.$activeTabLink)+"px",this._indicator.style.right=this._calcRightPos(this.$activeTabLink)+"px")}},{key:"_handleTabClick",value:function(e){var t=this,n=x(e.target).closest("li.tab"),i=x(e.target).closest("a");if(i.length&&i.parent().hasClass("tab")){if(n.hasClass("disabled"))e.preventDefault();else if(!i.attr("target")){this.$activeTabLink.removeClass("active");var r=this.$content;this.$activeTabLink=i,this.$content=x(M.escapeHash(i[0].hash)),this.$tabLinks=this.$el.children("li.tab").children("a"),this.$activeTabLink.addClass("active");var o=this.index;this.index=Math.max(this.$tabLinks.index(i),0),this.options.swipeable?this._tabsCarousel&&this._tabsCarousel.set(this.index,function(){"function"==typeof t.options.onShow&&t.options.onShow.call(t,t.$content[0])}):this.$content.length&&(this.$content[0].style.display="block",this.$content.addClass("active"),"function"==typeof this.options.onShow&&this.options.onShow.call(this,this.$content[0]),r.length&&!r.is(this.$content)&&(r[0].style.display="none",r.removeClass("active"))),this._setTabsAndTabWidth(),this._animateIndicator(o),e.preventDefault()}}}},{key:"_createIndicator",value:function(){var e=this,t=document.createElement("li");t.classList.add("indicator"),this.el.appendChild(t),this._indicator=t,setTimeout(function(){e._indicator.style.left=e._calcLeftPos(e.$activeTabLink)+"px",e._indicator.style.right=e._calcRightPos(e.$activeTabLink)+"px"},0)}},{key:"_setupActiveTabLink",value:function(){this.$activeTabLink=x(this.$tabLinks.filter('[href="'+location.hash+'"]')),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a.active").first()),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a").first()),this.$tabLinks.removeClass("active"),this.$activeTabLink[0].classList.add("active"),this.index=Math.max(this.$tabLinks.index(this.$activeTabLink),0),this.$activeTabLink.length&&(this.$content=x(M.escapeHash(this.$activeTabLink[0].hash)),this.$content.addClass("active"))}},{key:"_setupSwipeableTabs",value:function(){var e=this;window.innerWidth>this.options.responsiveThreshold&&(this.options.swipeable=!1);var t=x();this.$tabLinks.each(function(e){var n=x(M.escapeHash(e.hash));n.addClass("carousel-item"),t=t.add(n)});var n=x('<div class="tabs-content carousel carousel-slider"></div>');t.first().before(n),n.append(t),t[0].style.display="";var i=this.$activeTabLink.closest(".tab").index();this._tabsCarousel=M.Carousel.init(n[0],{fullWidth:!0,noWrap:!0,onCycleTo:function(t){var n=e.index;e.index=x(t).index(),e.$activeTabLink.removeClass("active"),e.$activeTabLink=e.$tabLinks.eq(e.index),e.$activeTabLink.addClass("active"),e._animateIndicator(n),"function"==typeof e.options.onShow&&e.options.onShow.call(e,e.$content[0])}}),this._tabsCarousel.set(i)}},{key:"_teardownSwipeableTabs",value:function(){var e=this._tabsCarousel.$el;this._tabsCarousel.destroy(),e.after(e.children()),e.remove()}},{key:"_setupNormalTabs",value:function(){this.$tabLinks.not(this.$activeTabLink).each(function(e){if(e.hash){var t=x(M.escapeHash(e.hash));t.length&&(t[0].style.display="none")}})}},{key:"_teardownNormalTabs",value:function(){this.$tabLinks.each(function(e){if(e.hash){var t=x(M.escapeHash(e.hash));t.length&&(t[0].style.display="")}})}},{key:"_setTabsAndTabWidth",value:function(){this.tabsWidth=this.$el.width(),this.tabWidth=Math.max(this.tabsWidth,this.el.scrollWidth)/this.$tabLinks.length}},{key:"_calcRightPos",value:function(e){return Math.ceil(this.tabsWidth-e.position().left-e[0].getBoundingClientRect().width)}},{key:"_calcLeftPos",value:function(e){return Math.floor(e.position().left)}},{key:"updateTabIndicator",value:function(){this._setTabsAndTabWidth(),this._animateIndicator(this.index)}},{key:"_animateIndicator",value:function(e){var t=0,n=0;0<=this.index-e?t=90:n=90;var i={targets:this._indicator,left:{value:this._calcLeftPos(this.$activeTabLink),delay:t},right:{value:this._calcRightPos(this.$activeTabLink),delay:n},duration:this.options.duration,easing:"easeOutQuad"};k.remove(this._indicator),k(i)}},{key:"select",value:function(e){var t=this.$tabLinks.filter('[href="#'+e+'"]');t.length&&t.trigger("click")}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Tabs}},{key:"defaults",get:function(){return T}}]),t}(),M.Tabs=O,M.jQueryLoaded&&M.initializeJqueryWrapper(O,"tabs","M_Tabs"),C=cash,A=M.anime,S={exitDelay:200,enterDelay:0,html:null,margin:5,inDuration:250,outDuration:200,position:"bottom",transitionMovement:10},N=function(e){function t(e,n){eP(this,t);var i=eM(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Tooltip=i).options=C.extend({},t.defaults,n),i.isOpen=!1,i.isHovered=!1,i.isFocused=!1,i._appendTooltipEl(),i._setupEventHandlers(),i}return eR(t,eD),eL(t,[{key:"destroy",value:function(){C(this.tooltipEl).remove(),this._removeEventHandlers(),this.el.M_Tooltip=void 0}},{key:"_appendTooltipEl",value:function(){var e=document.createElement("div");e.classList.add("material-tooltip"),this.tooltipEl=e;var t=document.createElement("div");t.classList.add("tooltip-content"),t.innerHTML=this.options.html,e.appendChild(t),document.body.appendChild(e)}},{key:"_updateTooltipContent",value:function(){this.tooltipEl.querySelector(".tooltip-content").innerHTML=this.options.html}},{key:"_setupEventHandlers",value:function(){this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this._handleFocusBound=this._handleFocus.bind(this),this._handleBlurBound=this._handleBlur.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.el.addEventListener("focus",this._handleFocusBound,!0),this.el.addEventListener("blur",this._handleBlurBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.el.removeEventListener("focus",this._handleFocusBound,!0),this.el.removeEventListener("blur",this._handleBlurBound,!0)}},{key:"open",value:function(e){this.isOpen||(e=void 0===e||void 0,this.isOpen=!0,this.options=C.extend({},this.options,this._getAttributeOptions()),this._updateTooltipContent(),this._setEnterDelayTimeout(e))}},{key:"close",value:function(){this.isOpen&&(this.isHovered=!1,this.isFocused=!1,this.isOpen=!1,this._setExitDelayTimeout())}},{key:"_setExitDelayTimeout",value:function(){var e=this;clearTimeout(this._exitDelayTimeout),this._exitDelayTimeout=setTimeout(function(){e.isHovered||e.isFocused||e._animateOut()},this.options.exitDelay)}},{key:"_setEnterDelayTimeout",value:function(e){var t=this;clearTimeout(this._enterDelayTimeout),this._enterDelayTimeout=setTimeout(function(){(t.isHovered||t.isFocused||e)&&t._animateIn()},this.options.enterDelay)}},{key:"_positionTooltip",value:function(){var e,t=this.el,n=this.tooltipEl,i=t.offsetHeight,r=t.offsetWidth,o=n.offsetHeight,s=n.offsetWidth,a=this.options.margin,l=void 0,c=void 0;this.xMovement=0,this.yMovement=0,l=t.getBoundingClientRect().top+M.getDocumentScrollTop(),c=t.getBoundingClientRect().left+M.getDocumentScrollLeft(),"top"===this.options.position?(l+=-o-a,c+=r/2-s/2,this.yMovement=-this.options.transitionMovement):"right"===this.options.position?(l+=i/2-o/2,c+=r+a,this.xMovement=this.options.transitionMovement):"left"===this.options.position?(l+=i/2-o/2,c+=-s-a,this.xMovement=-this.options.transitionMovement):(l+=i+a,c+=r/2-s/2,this.yMovement=this.options.transitionMovement),e=this._repositionWithinScreen(c,l,s,o),C(n).css({top:e.y+"px",left:e.x+"px"})}},{key:"_repositionWithinScreen",value:function(e,t,n,i){var r=M.getDocumentScrollLeft(),o=M.getDocumentScrollTop(),s=e-r,a=t-o,l={left:s,top:a,width:n,height:i},c=this.options.margin+this.options.transitionMovement,u=M.checkWithinContainer(document.body,l,c);return u.left?s=c:u.right&&(s-=s+n-window.innerWidth),u.top?a=c:u.bottom&&(a-=a+i-window.innerHeight),{x:s+r,y:a+o}}},{key:"_animateIn",value:function(){this._positionTooltip(),this.tooltipEl.style.visibility="visible",A.remove(this.tooltipEl),A({targets:this.tooltipEl,opacity:1,translateX:this.xMovement,translateY:this.yMovement,duration:this.options.inDuration,easing:"easeOutCubic"})}},{key:"_animateOut",value:function(){A.remove(this.tooltipEl),A({targets:this.tooltipEl,opacity:0,translateX:0,translateY:0,duration:this.options.outDuration,easing:"easeOutCubic"})}},{key:"_handleMouseEnter",value:function(){this.isHovered=!0,this.isFocused=!1,this.open(!1)}},{key:"_handleMouseLeave",value:function(){this.isHovered=!1,this.isFocused=!1,this.close()}},{key:"_handleFocus",value:function(){M.tabPressed&&(this.isFocused=!0,this.open(!1))}},{key:"_handleBlur",value:function(){this.isFocused=!1,this.close()}},{key:"_getAttributeOptions",value:function(){var e={},t=this.el.getAttribute("data-tooltip"),n=this.el.getAttribute("data-position");return t&&(e.html=t),n&&(e.position=n),e}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Tooltip}},{key:"defaults",get:function(){return S}}]),t}(),M.Tooltip=N,M.jQueryLoaded&&M.initializeJqueryWrapper(N,"tooltip","M_Tooltip"),function(e){"use strict";var t=t||{},n=document.querySelectorAll.bind(document);function i(e){var t="";for(var n in e)e.hasOwnProperty(n)&&(t+=n+":"+e[n]+";");return t}var r={duration:750,show:function(e,t){if(2===e.button)return!1;var n=t||this,o=document.createElement("div");o.className="waves-ripple",n.appendChild(o);var s,a,l,c,u=(l={top:0,left:0},s=(c=n&&n.ownerDocument).documentElement,void 0!==n.getBoundingClientRect&&(l=n.getBoundingClientRect()),a=null!==c&&c===c.window?c:9===c.nodeType&&c.defaultView,{top:l.top+a.pageYOffset-s.clientTop,left:l.left+a.pageXOffset-s.clientLeft}),d=e.pageY-u.top,h=e.pageX-u.left,p="scale("+n.clientWidth/100*10+")";"touches"in e&&(d=e.touches[0].pageY-u.top,h=e.touches[0].pageX-u.left),o.setAttribute("data-hold",Date.now()),o.setAttribute("data-scale",p),o.setAttribute("data-x",h),o.setAttribute("data-y",d);var f={top:d+"px",left:h+"px"};o.className=o.className+" waves-notransition",o.setAttribute("style",i(f)),o.className=o.className.replace("waves-notransition",""),f["-webkit-transform"]=p,f["-moz-transform"]=p,f["-ms-transform"]=p,f["-o-transform"]=p,f.transform=p,f.opacity="1",f["-webkit-transition-duration"]=r.duration+"ms",f["-moz-transition-duration"]=r.duration+"ms",f["-o-transition-duration"]=r.duration+"ms",f["transition-duration"]=r.duration+"ms",f["-webkit-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["-moz-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["-o-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",o.setAttribute("style",i(f))},hide:function(e){o.touchup(e);var t=this,n=(t.clientWidth,null),s=t.getElementsByClassName("waves-ripple");if(!(0<s.length))return!1;var a=(n=s[s.length-1]).getAttribute("data-x"),l=n.getAttribute("data-y"),c=n.getAttribute("data-scale"),u=350-(Date.now()-Number(n.getAttribute("data-hold")));u<0&&(u=0),setTimeout(function(){var e={top:l+"px",left:a+"px",opacity:"0","-webkit-transition-duration":r.duration+"ms","-moz-transition-duration":r.duration+"ms","-o-transition-duration":r.duration+"ms","transition-duration":r.duration+"ms","-webkit-transform":c,"-moz-transform":c,"-ms-transform":c,"-o-transform":c,transform:c};n.setAttribute("style",i(e)),setTimeout(function(){try{t.removeChild(n)}catch(e){return!1}},r.duration)},u)},wrapInput:function(e){for(var t=0;t<e.length;t++){var n=e[t];if("input"===n.tagName.toLowerCase()){var i=n.parentNode;if("i"===i.tagName.toLowerCase()&&-1!==i.className.indexOf("waves-effect"))continue;var r=document.createElement("i");r.className=n.className+" waves-input-wrapper";var o=n.getAttribute("style");o||(o=""),r.setAttribute("style",o),n.className="waves-button-input",n.removeAttribute("style"),i.replaceChild(r,n),r.appendChild(n)}}}},o={touches:0,allowEvent:function(e){var t=!0;return"touchstart"===e.type?o.touches+=1:"touchend"===e.type||"touchcancel"===e.type?setTimeout(function(){0<o.touches&&(o.touches-=1)},500):"mousedown"===e.type&&0<o.touches&&(t=!1),t},touchup:function(e){o.allowEvent(e)}};function s(t){var n=function(e){if(!1===o.allowEvent(e))return null;for(var t=null,n=e.target||e.srcElement;null!==n.parentNode;){if(!(n instanceof SVGElement)&&-1!==n.className.indexOf("waves-effect")){t=n;break}n=n.parentNode}return t}(t);null!==n&&(r.show(t,n),"ontouchstart"in e&&(n.addEventListener("touchend",r.hide,!1),n.addEventListener("touchcancel",r.hide,!1)),n.addEventListener("mouseup",r.hide,!1),n.addEventListener("mouseleave",r.hide,!1),n.addEventListener("dragend",r.hide,!1))}t.displayEffect=function(t){"duration"in(t=t||{})&&(r.duration=t.duration),r.wrapInput(n(".waves-effect")),"ontouchstart"in e&&document.body.addEventListener("touchstart",s,!1),document.body.addEventListener("mousedown",s,!1)},t.attach=function(t){"input"===t.tagName.toLowerCase()&&(r.wrapInput([t]),t=t.parentNode),"ontouchstart"in e&&t.addEventListener("touchstart",s,!1),t.addEventListener("mousedown",s,!1)},e.Waves=t,document.addEventListener("DOMContentLoaded",function(){t.displayEffect()},!1)}(window),I=cash,L=M.anime,R={html:"",displayLength:4e3,inDuration:300,outDuration:375,classes:"",completeCallback:null,activationPercent:.8},(P=function(){function e(t){eP(this,e),this.options=I.extend({},e.defaults,t),this.message=this.options.html,this.panning=!1,this.timeRemaining=this.options.displayLength,0===e._toasts.length&&e._createContainer(),e._toasts.push(this);var n=this._createToast();(n.M_Toast=this).el=n,this.$el=I(n),this._animateIn(),this._setTimer()}return eL(e,[{key:"_createToast",value:function(){var t=document.createElement("div");return t.classList.add("toast"),this.options.classes.length&&I(t).addClass(this.options.classes),("object"==typeof HTMLElement?this.message instanceof HTMLElement:this.message&&"object"==typeof this.message&&null!==this.message&&1===this.message.nodeType&&"string"==typeof this.message.nodeName)?t.appendChild(this.message):this.message.jquery?I(t).append(this.message[0]):t.innerHTML=this.message,e._container.appendChild(t),t}},{key:"_animateIn",value:function(){L({targets:this.el,top:0,opacity:1,duration:this.options.inDuration,easing:"easeOutCubic"})}},{key:"_setTimer",value:function(){var e=this;this.timeRemaining!==1/0&&(this.counterInterval=setInterval(function(){e.panning||(e.timeRemaining-=20),e.timeRemaining<=0&&e.dismiss()},20))}},{key:"dismiss",value:function(){var t=this;window.clearInterval(this.counterInterval);var n=this.el.offsetWidth*this.options.activationPercent;this.wasSwiped&&(this.el.style.transition="transform .05s, opacity .05s",this.el.style.transform="translateX("+n+"px)",this.el.style.opacity=0),L({targets:this.el,opacity:0,marginTop:-40,duration:this.options.outDuration,easing:"easeOutExpo",complete:function(){"function"==typeof t.options.completeCallback&&t.options.completeCallback(),t.$el.remove(),e._toasts.splice(e._toasts.indexOf(t),1),0===e._toasts.length&&e._removeContainer()}})}}],[{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Toast}},{key:"_createContainer",value:function(){var t=document.createElement("div");t.setAttribute("id","toast-container"),t.addEventListener("touchstart",e._onDragStart),t.addEventListener("touchmove",e._onDragMove),t.addEventListener("touchend",e._onDragEnd),t.addEventListener("mousedown",e._onDragStart),document.addEventListener("mousemove",e._onDragMove),document.addEventListener("mouseup",e._onDragEnd),document.body.appendChild(t),e._container=t}},{key:"_removeContainer",value:function(){document.removeEventListener("mousemove",e._onDragMove),document.removeEventListener("mouseup",e._onDragEnd),I(e._container).remove(),e._container=null}},{key:"_onDragStart",value:function(t){if(t.target&&I(t.target).closest(".toast").length){var n=I(t.target).closest(".toast")[0].M_Toast;n.panning=!0,(e._draggedToast=n).el.classList.add("panning"),n.el.style.transition="",n.startingXPos=e._xPos(t),n.time=Date.now(),n.xPos=e._xPos(t)}}},{key:"_onDragMove",value:function(t){if(e._draggedToast){t.preventDefault();var n=e._draggedToast;n.deltaX=Math.abs(n.xPos-e._xPos(t)),n.xPos=e._xPos(t),n.velocityX=n.deltaX/(Date.now()-n.time),n.time=Date.now();var i=n.xPos-n.startingXPos,r=n.el.offsetWidth*n.options.activationPercent;n.el.style.transform="translateX("+i+"px)",n.el.style.opacity=1-Math.abs(i/r)}}},{key:"_onDragEnd",value:function(){if(e._draggedToast){var t=e._draggedToast;t.panning=!1,t.el.classList.remove("panning"),Math.abs(t.xPos-t.startingXPos)>t.el.offsetWidth*t.options.activationPercent||1<t.velocityX?(t.wasSwiped=!0,t.dismiss()):(t.el.style.transition="transform .2s, opacity .2s",t.el.style.transform="",t.el.style.opacity=""),e._draggedToast=null}}},{key:"_xPos",value:function(e){return e.targetTouches&&1<=e.targetTouches.length?e.targetTouches[0].clientX:e.clientX}},{key:"dismissAll",value:function(){for(var t in e._toasts)e._toasts[t].dismiss()}},{key:"defaults",get:function(){return R}}]),e}())._toasts=[],P._container=null,P._draggedToast=null,M.Toast=P,M.toast=function(e){return new P(e)},D=cash,j=M.anime,B={edge:"left",draggable:!0,inDuration:250,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0},(F=function(e){function t(e,n){eP(this,t);var i=eM(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Sidenav=i).id=i.$el.attr("id"),i.options=D.extend({},t.defaults,n),i.isOpen=!1,i.isFixed=i.el.classList.contains("sidenav-fixed"),i.isDragged=!1,i.lastWindowWidth=window.innerWidth,i.lastWindowHeight=window.innerHeight,i._createOverlay(),i._createDragTarget(),i._setupEventHandlers(),i._setupClasses(),i._setupFixed(),t._sidenavs.push(i),i}return eR(t,eD),eL(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this._enableBodyScrolling(),this._overlay.parentNode.removeChild(this._overlay),this.dragTarget.parentNode.removeChild(this.dragTarget),this.el.M_Sidenav=void 0,this.el.style.transform="";var e=t._sidenavs.indexOf(this);0<=e&&t._sidenavs.splice(e,1)}},{key:"_createOverlay",value:function(){var e=document.createElement("div");this._closeBound=this.close.bind(this),e.classList.add("sidenav-overlay"),e.addEventListener("click",this._closeBound),document.body.appendChild(e),this._overlay=e}},{key:"_setupEventHandlers",value:function(){0===t._sidenavs.length&&document.body.addEventListener("click",this._handleTriggerClick),this._handleDragTargetDragBound=this._handleDragTargetDrag.bind(this),this._handleDragTargetReleaseBound=this._handleDragTargetRelease.bind(this),this._handleCloseDragBound=this._handleCloseDrag.bind(this),this._handleCloseReleaseBound=this._handleCloseRelease.bind(this),this._handleCloseTriggerClickBound=this._handleCloseTriggerClick.bind(this),this.dragTarget.addEventListener("touchmove",this._handleDragTargetDragBound),this.dragTarget.addEventListener("touchend",this._handleDragTargetReleaseBound),this._overlay.addEventListener("touchmove",this._handleCloseDragBound),this._overlay.addEventListener("touchend",this._handleCloseReleaseBound),this.el.addEventListener("touchmove",this._handleCloseDragBound),this.el.addEventListener("touchend",this._handleCloseReleaseBound),this.el.addEventListener("click",this._handleCloseTriggerClickBound),this.isFixed&&(this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener("resize",this._handleWindowResizeBound))}},{key:"_removeEventHandlers",value:function(){1===t._sidenavs.length&&document.body.removeEventListener("click",this._handleTriggerClick),this.dragTarget.removeEventListener("touchmove",this._handleDragTargetDragBound),this.dragTarget.removeEventListener("touchend",this._handleDragTargetReleaseBound),this._overlay.removeEventListener("touchmove",this._handleCloseDragBound),this._overlay.removeEventListener("touchend",this._handleCloseReleaseBound),this.el.removeEventListener("touchmove",this._handleCloseDragBound),this.el.removeEventListener("touchend",this._handleCloseReleaseBound),this.el.removeEventListener("click",this._handleCloseTriggerClickBound),this.isFixed&&window.removeEventListener("resize",this._handleWindowResizeBound)}},{key:"_handleTriggerClick",value:function(e){var t=D(e.target).closest(".sidenav-trigger");if(e.target&&t.length){var n=M.getIdFromTrigger(t[0]),i=document.getElementById(n).M_Sidenav;i&&i.open(t),e.preventDefault()}}},{key:"_startDrag",value:function(e){var t=e.targetTouches[0].clientX;this.isDragged=!0,this._startingXpos=t,this._xPos=this._startingXpos,this._time=Date.now(),this._width=this.el.getBoundingClientRect().width,this._overlay.style.display="block",this._initialScrollTop=this.isOpen?this.el.scrollTop:M.getDocumentScrollTop(),this._verticallyScrolling=!1,j.remove(this.el),j.remove(this._overlay)}},{key:"_dragMoveUpdate",value:function(e){var t=e.targetTouches[0].clientX,n=this.isOpen?this.el.scrollTop:M.getDocumentScrollTop();this.deltaX=Math.abs(this._xPos-t),this._xPos=t,this.velocityX=this.deltaX/(Date.now()-this._time),this._time=Date.now(),this._initialScrollTop!==n&&(this._verticallyScrolling=!0)}},{key:"_handleDragTargetDrag",value:function(e){if(this.options.draggable&&!this._isCurrentlyFixed()&&!this._verticallyScrolling){this.isDragged||this._startDrag(e),this._dragMoveUpdate(e);var t=this._xPos-this._startingXpos,n=0<t?"right":"left";t=Math.min(this._width,Math.abs(t)),this.options.edge===n&&(t=0);var i=t,r="translateX(-100%)";"right"===this.options.edge&&(r="translateX(100%)",i=-i),this.percentOpen=Math.min(1,t/this._width),this.el.style.transform=r+" translateX("+i+"px)",this._overlay.style.opacity=this.percentOpen}}},{key:"_handleDragTargetRelease",value:function(){this.isDragged&&(.2<this.percentOpen?this.open():this._animateOut(),this.isDragged=!1,this._verticallyScrolling=!1)}},{key:"_handleCloseDrag",value:function(e){if(this.isOpen&&!(!this.options.draggable||this._isCurrentlyFixed())&&!this._verticallyScrolling){this.isDragged||this._startDrag(e),this._dragMoveUpdate(e);var t=this._xPos-this._startingXpos,n=0<t?"right":"left";t=Math.min(this._width,Math.abs(t)),this.options.edge!==n&&(t=0);var i=-t;"right"===this.options.edge&&(i=-i),this.percentOpen=Math.min(1,1-t/this._width),this.el.style.transform="translateX("+i+"px)",this._overlay.style.opacity=this.percentOpen}}},{key:"_handleCloseRelease",value:function(){this.isOpen&&this.isDragged&&(.8<this.percentOpen?this._animateIn():this.close(),this.isDragged=!1,this._verticallyScrolling=!1)}},{key:"_handleCloseTriggerClick",value:function(e){D(e.target).closest(".sidenav-close").length&&!this._isCurrentlyFixed()&&this.close()}},{key:"_handleWindowResize",value:function(){this.lastWindowWidth!==window.innerWidth&&(992<window.innerWidth?this.open():this.close()),this.lastWindowWidth=window.innerWidth,this.lastWindowHeight=window.innerHeight}},{key:"_setupClasses",value:function(){"right"===this.options.edge&&(this.el.classList.add("right-aligned"),this.dragTarget.classList.add("right-aligned"))}},{key:"_removeClasses",value:function(){this.el.classList.remove("right-aligned"),this.dragTarget.classList.remove("right-aligned")}},{key:"_setupFixed",value:function(){this._isCurrentlyFixed()&&this.open()}},{key:"_isCurrentlyFixed",value:function(){return this.isFixed&&992<window.innerWidth}},{key:"_createDragTarget",value:function(){var e=document.createElement("div");e.classList.add("drag-target"),document.body.appendChild(e),this.dragTarget=e}},{key:"_preventBodyScrolling",value:function(){document.body.style.overflow="hidden"}},{key:"_enableBodyScrolling",value:function(){document.body.style.overflow=""}},{key:"open",value:function(){!0!==this.isOpen&&(this.isOpen=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._isCurrentlyFixed()?(j.remove(this.el),j({targets:this.el,translateX:0,duration:0,easing:"easeOutQuad"}),this._enableBodyScrolling(),this._overlay.style.display="none"):(this.options.preventScrolling&&this._preventBodyScrolling(),this.isDragged&&1==this.percentOpen||this._animateIn()))}},{key:"close",value:function(){if(!1!==this.isOpen){if(this.isOpen=!1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._isCurrentlyFixed()){var e="left"===this.options.edge?"-105%":"105%";this.el.style.transform="translateX("+e+")"}else this._enableBodyScrolling(),this.isDragged&&0==this.percentOpen?this._overlay.style.display="none":this._animateOut()}}},{key:"_animateIn",value:function(){this._animateSidenavIn(),this._animateOverlayIn()}},{key:"_animateSidenavIn",value:function(){var e=this,t="left"===this.options.edge?-1:1;this.isDragged&&(t="left"===this.options.edge?t+this.percentOpen:t-this.percentOpen),j.remove(this.el),j({targets:this.el,translateX:[100*t+"%",0],duration:this.options.inDuration,easing:"easeOutQuad",complete:function(){"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,e.el)}})}},{key:"_animateOverlayIn",value:function(){var e=0;this.isDragged?e=this.percentOpen:D(this._overlay).css({display:"block"}),j.remove(this._overlay),j({targets:this._overlay,opacity:[e,1],duration:this.options.inDuration,easing:"easeOutQuad"})}},{key:"_animateOut",value:function(){this._animateSidenavOut(),this._animateOverlayOut()}},{key:"_animateSidenavOut",value:function(){var e=this,t="left"===this.options.edge?-1:1,n=0;this.isDragged&&(n="left"===this.options.edge?t+this.percentOpen:t-this.percentOpen),j.remove(this.el),j({targets:this.el,translateX:[100*n+"%",105*t+"%"],duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,e.el)}})}},{key:"_animateOverlayOut",value:function(){var e=this;j.remove(this._overlay),j({targets:this._overlay,opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){D(e._overlay).css("display","none")}})}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Sidenav}},{key:"defaults",get:function(){return B}}]),t}())._sidenavs=[],M.Sidenav=F,M.jQueryLoaded&&M.initializeJqueryWrapper(F,"sidenav","M_Sidenav"),q=cash,H=M.anime,U={throttle:100,scrollOffset:200,activeClass:"active",getActiveElement:function(e){return'a[href="#'+e+'"]'}},(z=function(e){function t(e,n){eP(this,t);var i=eM(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_ScrollSpy=i).options=q.extend({},t.defaults,n),t._elements.push(i),t._count++,t._increment++,i.tickId=-1,i.id=t._increment,i._setupEventHandlers(),i._handleWindowScroll(),i}return eR(t,eD),eL(t,[{key:"destroy",value:function(){t._elements.splice(t._elements.indexOf(this),1),t._elementsInView.splice(t._elementsInView.indexOf(this),1),t._visibleElements.splice(t._visibleElements.indexOf(this.$el),1),t._count--,this._removeEventHandlers(),q(this.options.getActiveElement(this.$el.attr("id"))).removeClass(this.options.activeClass),this.el.M_ScrollSpy=void 0}},{key:"_setupEventHandlers",value:function(){var e=M.throttle(this._handleWindowScroll,200);this._handleThrottledResizeBound=e.bind(this),this._handleWindowScrollBound=this._handleWindowScroll.bind(this),1===t._count&&(window.addEventListener("scroll",this._handleWindowScrollBound),window.addEventListener("resize",this._handleThrottledResizeBound),document.body.addEventListener("click",this._handleTriggerClick))}},{key:"_removeEventHandlers",value:function(){0===t._count&&(window.removeEventListener("scroll",this._handleWindowScrollBound),window.removeEventListener("resize",this._handleThrottledResizeBound),document.body.removeEventListener("click",this._handleTriggerClick))}},{key:"_handleTriggerClick",value:function(e){for(var n=q(e.target),i=t._elements.length-1;0<=i;i--){var r=t._elements[i];if(n.is('a[href="#'+r.$el.attr("id")+'"]')){e.preventDefault();var o=r.$el.offset().top+1;H({targets:[document.documentElement,document.body],scrollTop:o-r.options.scrollOffset,duration:400,easing:"easeOutCubic"});break}}}},{key:"_handleWindowScroll",value:function(){t._ticks++;for(var e=M.getDocumentScrollTop(),n=M.getDocumentScrollLeft(),i=n+window.innerWidth,r=e+window.innerHeight,o=t._findElements(e,i,r,n),s=0;s<o.length;s++){var a=o[s];a.tickId<0&&a._enter(),a.tickId=t._ticks}for(var l=0;l<t._elementsInView.length;l++){var c=t._elementsInView[l],u=c.tickId;0<=u&&u!==t._ticks&&(c._exit(),c.tickId=-1)}t._elementsInView=o}},{key:"_enter",value:function(){(t._visibleElements=t._visibleElements.filter(function(e){return 0!=e.height()}))[0]?(q(this.options.getActiveElement(t._visibleElements[0].attr("id"))).removeClass(this.options.activeClass),t._visibleElements[0][0].M_ScrollSpy&&this.id<t._visibleElements[0][0].M_ScrollSpy.id?t._visibleElements.unshift(this.$el):t._visibleElements.push(this.$el)):t._visibleElements.push(this.$el),q(this.options.getActiveElement(t._visibleElements[0].attr("id"))).addClass(this.options.activeClass)}},{key:"_exit",value:function(){var e=this;(t._visibleElements=t._visibleElements.filter(function(e){return 0!=e.height()}))[0]&&(q(this.options.getActiveElement(t._visibleElements[0].attr("id"))).removeClass(this.options.activeClass),(t._visibleElements=t._visibleElements.filter(function(t){return t.attr("id")!=e.$el.attr("id")}))[0]&&q(this.options.getActiveElement(t._visibleElements[0].attr("id"))).addClass(this.options.activeClass))}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_ScrollSpy}},{key:"_findElements",value:function(e,n,i,r){for(var o=[],s=0;s<t._elements.length;s++){var a=t._elements[s],l=e+a.options.scrollOffset||200;if(0<a.$el.height()){var c=a.$el.offset().top,u=a.$el.offset().left,d=u+a.$el.width(),h=c+a.$el.height();n<u||d<r||i<c||h<l||o.push(a)}}return o}},{key:"defaults",get:function(){return U}}]),t}())._elements=[],z._elementsInView=[],z._visibleElements=[],z._count=0,z._increment=0,z._ticks=0,M.ScrollSpy=z,M.jQueryLoaded&&M.initializeJqueryWrapper(z,"scrollSpy","M_ScrollSpy"),X=cash,W={data:{},limit:1/0,onAutocomplete:null,minLength:1,sortFunction:function(e,t,n){return e.indexOf(n)-t.indexOf(n)}},(V=function(e){function t(e,n){eP(this,t);var i=eM(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Autocomplete=i).options=X.extend({},t.defaults,n),i.isOpen=!1,i.count=0,i.activeIndex=-1,i.oldVal,i.$inputField=i.$el.closest(".input-field"),i.$active=X(),i._mousedown=!1,i._setupDropdown(),i._setupEventHandlers(),i}return eR(t,eD),eL(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeDropdown(),this.el.M_Autocomplete=void 0}},{key:"_setupEventHandlers",value:function(){this._handleInputBlurBound=this._handleInputBlur.bind(this),this._handleInputKeyupAndFocusBound=this._handleInputKeyupAndFocus.bind(this),this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleContainerMousedownAndTouchstartBound=this._handleContainerMousedownAndTouchstart.bind(this),this._handleContainerMouseupAndTouchendBound=this._handleContainerMouseupAndTouchend.bind(this),this.el.addEventListener("blur",this._handleInputBlurBound),this.el.addEventListener("keyup",this._handleInputKeyupAndFocusBound),this.el.addEventListener("focus",this._handleInputKeyupAndFocusBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.el.addEventListener("click",this._handleInputClickBound),this.container.addEventListener("mousedown",this._handleContainerMousedownAndTouchstartBound),this.container.addEventListener("mouseup",this._handleContainerMouseupAndTouchendBound),void 0!==window.ontouchstart&&(this.container.addEventListener("touchstart",this._handleContainerMousedownAndTouchstartBound),this.container.addEventListener("touchend",this._handleContainerMouseupAndTouchendBound))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("blur",this._handleInputBlurBound),this.el.removeEventListener("keyup",this._handleInputKeyupAndFocusBound),this.el.removeEventListener("focus",this._handleInputKeyupAndFocusBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound),this.el.removeEventListener("click",this._handleInputClickBound),this.container.removeEventListener("mousedown",this._handleContainerMousedownAndTouchstartBound),this.container.removeEventListener("mouseup",this._handleContainerMouseupAndTouchendBound),void 0!==window.ontouchstart&&(this.container.removeEventListener("touchstart",this._handleContainerMousedownAndTouchstartBound),this.container.removeEventListener("touchend",this._handleContainerMouseupAndTouchendBound))}},{key:"_setupDropdown",value:function(){var e=this;this.container=document.createElement("ul"),this.container.id="autocomplete-options-"+M.guid(),X(this.container).addClass("autocomplete-content dropdown-content"),this.$inputField.append(this.container),this.el.setAttribute("data-target",this.container.id),this.dropdown=M.Dropdown.init(this.el,{autoFocus:!1,closeOnClick:!1,coverTrigger:!1,onItemClick:function(t){e.selectOption(X(t))}}),this.el.removeEventListener("click",this.dropdown._handleClickBound)}},{key:"_removeDropdown",value:function(){this.container.parentNode.removeChild(this.container)}},{key:"_handleInputBlur",value:function(){this._mousedown||(this.close(),this._resetAutocomplete())}},{key:"_handleInputKeyupAndFocus",value:function(e){"keyup"===e.type&&(t._keydown=!1),this.count=0;var n=this.el.value.toLowerCase();13!==e.keyCode&&38!==e.keyCode&&40!==e.keyCode&&(this.oldVal!==n&&(M.tabPressed||"focus"!==e.type)&&this.open(),this.oldVal=n)}},{key:"_handleInputKeydown",value:function(e){t._keydown=!0;var n=e.keyCode,i=void 0,r=X(this.container).children("li").length;n===M.keys.ENTER&&0<=this.activeIndex?(i=X(this.container).children("li").eq(this.activeIndex)).length&&(this.selectOption(i),e.preventDefault()):n!==M.keys.ARROW_UP&&n!==M.keys.ARROW_DOWN||(e.preventDefault(),n===M.keys.ARROW_UP&&0<this.activeIndex&&this.activeIndex--,n===M.keys.ARROW_DOWN&&this.activeIndex<r-1&&this.activeIndex++,this.$active.removeClass("active"),0<=this.activeIndex&&(this.$active=X(this.container).children("li").eq(this.activeIndex),this.$active.addClass("active")))}},{key:"_handleInputClick",value:function(e){this.open()}},{key:"_handleContainerMousedownAndTouchstart",value:function(e){this._mousedown=!0}},{key:"_handleContainerMouseupAndTouchend",value:function(e){this._mousedown=!1}},{key:"_highlight",value:function(e,t){var n=t.find("img"),i=t.text().toLowerCase().indexOf(""+e.toLowerCase()),r=i+e.length-1,o=t.text().slice(0,i),s=t.text().slice(i,r+1),a=t.text().slice(r+1);t.html("<span>"+o+"<span class='highlight'>"+s+"</span>"+a+"</span>"),n.length&&t.prepend(n)}},{key:"_resetCurrentElement",value:function(){this.activeIndex=-1,this.$active.removeClass("active")}},{key:"_resetAutocomplete",value:function(){X(this.container).empty(),this._resetCurrentElement(),this.oldVal=null,this.isOpen=!1,this._mousedown=!1}},{key:"selectOption",value:function(e){var t=e.text().trim();this.el.value=t,this.$el.trigger("change"),this._resetAutocomplete(),this.close(),"function"==typeof this.options.onAutocomplete&&this.options.onAutocomplete.call(this,t)}},{key:"_renderDropdown",value:function(e,t){var n=this;this._resetAutocomplete();var i=[];for(var r in e)if(e.hasOwnProperty(r)&&-1!==r.toLowerCase().indexOf(t)){if(this.count>=this.options.limit)break;var o={data:e[r],key:r};i.push(o),this.count++}this.options.sortFunction&&i.sort(function(e,i){return n.options.sortFunction(e.key.toLowerCase(),i.key.toLowerCase(),t.toLowerCase())});for(var s=0;s<i.length;s++){var a=i[s],l=X("<li></li>");a.data?l.append('<img src="'+a.data+'" class="right circle"><span>'+a.key+"</span>"):l.append("<span>"+a.key+"</span>"),X(this.container).append(l),this._highlight(t,l)}}},{key:"open",value:function(){var e=this.el.value.toLowerCase();this._resetAutocomplete(),e.length>=this.options.minLength&&(this.isOpen=!0,this._renderDropdown(this.options.data,e)),this.dropdown.isOpen?this.dropdown.recalculateDimensions():this.dropdown.open()}},{key:"close",value:function(){this.dropdown.close()}},{key:"updateData",value:function(e){var t=this.el.value.toLowerCase();this.options.data=e,this.isOpen&&this._renderDropdown(e,t)}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Autocomplete}},{key:"defaults",get:function(){return W}}]),t}())._keydown=!1,M.Autocomplete=V,M.jQueryLoaded&&M.initializeJqueryWrapper(V,"autocomplete","M_Autocomplete"),K=cash,M.updateTextFields=function(){K("input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea").each(function(e,t){var n=K(this);0<e.value.length||K(e).is(":focus")||e.autofocus||null!==n.attr("placeholder")?n.siblings("label").addClass("active"):e.validity?n.siblings("label").toggleClass("active",!0===e.validity.badInput):n.siblings("label").removeClass("active")})},M.validate_field=function(e){var t=null!==e.attr("data-length"),n=parseInt(e.attr("data-length")),i=e[0].value.length;0!==i||!1!==e[0].validity.badInput||e.is(":required")?e.hasClass("validate")&&(e.is(":valid")&&t&&i<=n||e.is(":valid")&&!t?(e.removeClass("invalid"),e.addClass("valid")):(e.removeClass("valid"),e.addClass("invalid"))):e.hasClass("validate")&&(e.removeClass("valid"),e.removeClass("invalid"))},M.textareaAutoResize=function(e){if(e instanceof Element&&(e=K(e)),e.length){var t=K(".hiddendiv").first();t.length||(t=K('<div class="hiddendiv common"></div>'),K("body").append(t));var n=e.css("font-family"),i=e.css("font-size"),r=e.css("line-height"),o=e.css("padding-top"),s=e.css("padding-right"),a=e.css("padding-bottom"),l=e.css("padding-left");i&&t.css("font-size",i),n&&t.css("font-family",n),r&&t.css("line-height",r),o&&t.css("padding-top",o),s&&t.css("padding-right",s),a&&t.css("padding-bottom",a),l&&t.css("padding-left",l),e.data("original-height")||e.data("original-height",e.height()),"off"===e.attr("wrap")&&t.css("overflow-wrap","normal").css("white-space","pre"),t.text(e[0].value+"\n");var c=t.html().replace(/\n/g,"<br>");t.html(c),0<e[0].offsetWidth&&0<e[0].offsetHeight?t.css("width",e.width()+"px"):t.css("width",window.innerWidth/2+"px"),e.data("original-height")<=t.innerHeight()?e.css("height",t.innerHeight()+"px"):e[0].value.length<e.data("previous-length")&&e.css("height",e.data("original-height")+"px"),e.data("previous-length",e[0].value.length)}else console.error("No textarea element found")},K(document).ready(function(){var e="input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea";K(document).on("change",e,function(){0===this.value.length&&null===K(this).attr("placeholder")||K(this).siblings("label").addClass("active"),M.validate_field(K(this))}),K(document).ready(function(){M.updateTextFields()}),K(document).on("reset",function(t){var n=K(t.target);n.is("form")&&(n.find(e).removeClass("valid").removeClass("invalid"),n.find(e).each(function(e){this.value.length&&K(this).siblings("label").removeClass("active")}),setTimeout(function(){n.find("select").each(function(){this.M_FormSelect&&K(this).trigger("change")})},0))}),document.addEventListener("focus",function(t){K(t.target).is(e)&&K(t.target).siblings("label, .prefix").addClass("active")},!0),document.addEventListener("blur",function(t){var n=K(t.target);if(n.is(e)){var i=".prefix";0===n[0].value.length&&!0!==n[0].validity.badInput&&null===n.attr("placeholder")&&(i+=", label"),n.siblings(i).removeClass("active"),M.validate_field(n)}},!0),K(document).on("keyup","input[type=radio], input[type=checkbox]",function(e){if(e.which===M.keys.TAB)return K(this).addClass("tabbed"),void K(this).one("blur",function(e){K(this).removeClass("tabbed")})});var t=".materialize-textarea";K(t).each(function(){var e=K(this);e.data("original-height",e.height()),e.data("previous-length",this.value.length),M.textareaAutoResize(e)}),K(document).on("keyup",t,function(){M.textareaAutoResize(K(this))}),K(document).on("keydown",t,function(){M.textareaAutoResize(K(this))}),K(document).on("change",'.file-field input[type="file"]',function(){for(var e=K(this).closest(".file-field").find("input.file-path"),t=K(this)[0].files,n=[],i=0;i<t.length;i++)n.push(t[i].name);e[0].value=n.join(", "),e.trigger("change")})}),G=cash,Y=M.anime,Z={indicators:!0,height:400,duration:500,interval:6e3},Q=function(e){function t(e,n){eP(this,t);var i=eM(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Slider=i).options=G.extend({},t.defaults,n),i.$slider=i.$el.find(".slides"),i.$slides=i.$slider.children("li"),i.activeIndex=i.$slides.filter(function(e){return G(e).hasClass("active")}).first().index(),-1!=i.activeIndex&&(i.$active=i.$slides.eq(i.activeIndex)),i._setSliderHeight(),i.$slides.find(".caption").each(function(e){i._animateCaptionIn(e,0)}),i.$slides.find("img").each(function(e){var t="data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";G(e).attr("src")!==t&&(G(e).css("background-image",'url("'+G(e).attr("src")+'")'),G(e).attr("src",t))}),i._setupIndicators(),i.$active?i.$active.css("display","block"):(i.$slides.first().addClass("active"),Y({targets:i.$slides.first()[0],opacity:1,duration:i.options.duration,easing:"easeOutQuad"}),i.activeIndex=0,i.$active=i.$slides.eq(i.activeIndex),i.options.indicators&&i.$indicators.eq(i.activeIndex).addClass("active")),i.$active.find("img").each(function(e){Y({targets:i.$active.find(".caption")[0],opacity:1,translateX:0,translateY:0,duration:i.options.duration,easing:"easeOutQuad"})}),i._setupEventHandlers(),i.start(),i}return eR(t,eD),eL(t,[{key:"destroy",value:function(){this.pause(),this._removeIndicators(),this._removeEventHandlers(),this.el.M_Slider=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleIntervalBound=this._handleInterval.bind(this),this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.options.indicators&&this.$indicators.each(function(t){t.addEventListener("click",e._handleIndicatorClickBound)})}},{key:"_removeEventHandlers",value:function(){var e=this;this.options.indicators&&this.$indicators.each(function(t){t.removeEventListener("click",e._handleIndicatorClickBound)})}},{key:"_handleIndicatorClick",value:function(e){var t=G(e.target).index();this.set(t)}},{key:"_handleInterval",value:function(){var e=this.$slider.find(".active").index();this.$slides.length===e+1?e=0:e+=1,this.set(e)}},{key:"_animateCaptionIn",value:function(e,t){var n={targets:e,opacity:0,duration:t,easing:"easeOutQuad"};G(e).hasClass("center-align")?n.translateY=-100:G(e).hasClass("right-align")?n.translateX=100:G(e).hasClass("left-align")&&(n.translateX=-100),Y(n)}},{key:"_setSliderHeight",value:function(){this.$el.hasClass("fullscreen")||(this.options.indicators?this.$el.css("height",this.options.height+40+"px"):this.$el.css("height",this.options.height+"px"),this.$slider.css("height",this.options.height+"px"))}},{key:"_setupIndicators",value:function(){var e=this;this.options.indicators&&(this.$indicators=G('<ul class="indicators"></ul>'),this.$slides.each(function(t,n){var i=G('<li class="indicator-item"></li>');e.$indicators.append(i[0])}),this.$el.append(this.$indicators[0]),this.$indicators=this.$indicators.children("li.indicator-item"))}},{key:"_removeIndicators",value:function(){this.$el.find("ul.indicators").remove()}},{key:"set",value:function(e){var t=this;if(e>=this.$slides.length?e=0:e<0&&(e=this.$slides.length-1),this.activeIndex!=e){this.$active=this.$slides.eq(this.activeIndex);var n=this.$active.find(".caption");this.$active.removeClass("active"),Y({targets:this.$active[0],opacity:0,duration:this.options.duration,easing:"easeOutQuad",complete:function(){t.$slides.not(".active").each(function(e){Y({targets:e,opacity:0,translateX:0,translateY:0,duration:0,easing:"easeOutQuad"})})}}),this._animateCaptionIn(n[0],this.options.duration),this.options.indicators&&(this.$indicators.eq(this.activeIndex).removeClass("active"),this.$indicators.eq(e).addClass("active")),Y({targets:this.$slides.eq(e)[0],opacity:1,duration:this.options.duration,easing:"easeOutQuad"}),Y({targets:this.$slides.eq(e).find(".caption")[0],opacity:1,translateX:0,translateY:0,duration:this.options.duration,delay:this.options.duration,easing:"easeOutQuad"}),this.$slides.eq(e).addClass("active"),this.activeIndex=e,this.start()}}},{key:"pause",value:function(){clearInterval(this.interval)}},{key:"start",value:function(){clearInterval(this.interval),this.interval=setInterval(this._handleIntervalBound,this.options.duration+this.options.interval)}},{key:"next",value:function(){var e=this.activeIndex+1;e>=this.$slides.length?e=0:e<0&&(e=this.$slides.length-1),this.set(e)}},{key:"prev",value:function(){var e=this.activeIndex-1;e>=this.$slides.length?e=0:e<0&&(e=this.$slides.length-1),this.set(e)}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Slider}},{key:"defaults",get:function(){return Z}}]),t}(),M.Slider=Q,M.jQueryLoaded&&M.initializeJqueryWrapper(Q,"slider","M_Slider"),function(e,t){e(document).on("click",".card",function(n){if(e(this).children(".card-reveal").length){var i=e(n.target).closest(".card");void 0===i.data("initialOverflow")&&i.data("initialOverflow",void 0===i.css("overflow")?"":i.css("overflow"));var r=e(this).find(".card-reveal");e(n.target).is(e(".card-reveal .card-title"))||e(n.target).is(e(".card-reveal .card-title i"))?t({targets:r[0],translateY:0,duration:225,easing:"easeInOutQuad",complete:function(t){e(t.animatables[0].target).css({display:"none"}),i.css("overflow",i.data("initialOverflow"))}}):(e(n.target).is(e(".card .activator"))||e(n.target).is(e(".card .activator i")))&&(i.css("overflow","hidden"),r.css({display:"block"}),t({targets:r[0],translateY:"-100%",duration:300,easing:"easeInOutQuad"}))}})}(cash,M.anime),J=cash,ee={data:[],placeholder:"",secondaryPlaceholder:"",autocompleteOptions:{},limit:1/0,onChipAdd:null,onChipSelect:null,onChipDelete:null},(et=function(e){function t(e,n){eP(this,t);var i=eM(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Chips=i).options=J.extend({},t.defaults,n),i.$el.addClass("chips input-field"),i.chipsData=[],i.$chips=J(),i._setupInput(),i.hasAutocomplete=0<Object.keys(i.options.autocompleteOptions).length,i.$input.attr("id")||i.$input.attr("id",M.guid()),i.options.data.length&&(i.chipsData=i.options.data,i._renderChips(i.chipsData)),i.hasAutocomplete&&i._setupAutocomplete(),i._setPlaceholder(),i._setupLabel(),i._setupEventHandlers(),i}return eR(t,eD),eL(t,[{key:"getData",value:function(){return this.chipsData}},{key:"destroy",value:function(){this._removeEventHandlers(),this.$chips.remove(),this.el.M_Chips=void 0}},{key:"_setupEventHandlers",value:function(){this._handleChipClickBound=this._handleChipClick.bind(this),this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputFocusBound=this._handleInputFocus.bind(this),this._handleInputBlurBound=this._handleInputBlur.bind(this),this.el.addEventListener("click",this._handleChipClickBound),document.addEventListener("keydown",t._handleChipsKeydown),document.addEventListener("keyup",t._handleChipsKeyup),this.el.addEventListener("blur",t._handleChipsBlur,!0),this.$input[0].addEventListener("focus",this._handleInputFocusBound),this.$input[0].addEventListener("blur",this._handleInputBlurBound),this.$input[0].addEventListener("keydown",this._handleInputKeydownBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleChipClickBound),document.removeEventListener("keydown",t._handleChipsKeydown),document.removeEventListener("keyup",t._handleChipsKeyup),this.el.removeEventListener("blur",t._handleChipsBlur,!0),this.$input[0].removeEventListener("focus",this._handleInputFocusBound),this.$input[0].removeEventListener("blur",this._handleInputBlurBound),this.$input[0].removeEventListener("keydown",this._handleInputKeydownBound)}},{key:"_handleChipClick",value:function(e){var t=J(e.target).closest(".chip"),n=J(e.target).is(".close");if(t.length){var i=t.index();n?(this.deleteChip(i),this.$input[0].focus()):this.selectChip(i)}else this.$input[0].focus()}},{key:"_handleInputFocus",value:function(){this.$el.addClass("focus")}},{key:"_handleInputBlur",value:function(){this.$el.removeClass("focus")}},{key:"_handleInputKeydown",value:function(e){(t._keydown=!0,13===e.keyCode)?(!this.hasAutocomplete||!this.autocomplete||!this.autocomplete.isOpen)&&(e.preventDefault(),this.addChip({tag:this.$input[0].value}),this.$input[0].value=""):(8===e.keyCode||37===e.keyCode)&&""===this.$input[0].value&&this.chipsData.length&&(e.preventDefault(),this.selectChip(this.chipsData.length-1))}},{key:"_renderChip",value:function(e){if(e.tag){var t=document.createElement("div"),n=document.createElement("i");if(t.classList.add("chip"),t.textContent=e.tag,t.setAttribute("tabindex",0),J(n).addClass("material-icons close"),n.textContent="close",e.image){var i=document.createElement("img");i.setAttribute("src",e.image),t.insertBefore(i,t.firstChild)}return t.appendChild(n),t}}},{key:"_renderChips",value:function(){this.$chips.remove();for(var e=0;e<this.chipsData.length;e++){var t=this._renderChip(this.chipsData[e]);this.$el.append(t),this.$chips.add(t)}this.$el.append(this.$input[0])}},{key:"_setupAutocomplete",value:function(){var e=this;this.options.autocompleteOptions.onAutocomplete=function(t){e.addChip({tag:t}),e.$input[0].value="",e.$input[0].focus()},this.autocomplete=M.Autocomplete.init(this.$input[0],this.options.autocompleteOptions)}},{key:"_setupInput",value:function(){this.$input=this.$el.find("input"),this.$input.length||(this.$input=J("<input></input>"),this.$el.append(this.$input)),this.$input.addClass("input")}},{key:"_setupLabel",value:function(){this.$label=this.$el.find("label"),this.$label.length&&this.$label.setAttribute("for",this.$input.attr("id"))}},{key:"_setPlaceholder",value:function(){void 0!==this.chipsData&&!this.chipsData.length&&this.options.placeholder?J(this.$input).prop("placeholder",this.options.placeholder):(void 0===this.chipsData||this.chipsData.length)&&this.options.secondaryPlaceholder&&J(this.$input).prop("placeholder",this.options.secondaryPlaceholder)}},{key:"_isValid",value:function(e){if(e.hasOwnProperty("tag")&&""!==e.tag){for(var t=!1,n=0;n<this.chipsData.length;n++)if(this.chipsData[n].tag===e.tag){t=!0;break}return!t}return!1}},{key:"addChip",value:function(e){if(this._isValid(e)&&!(this.chipsData.length>=this.options.limit)){var t=this._renderChip(e);this.$chips.add(t),this.chipsData.push(e),J(this.$input).before(t),this._setPlaceholder(),"function"==typeof this.options.onChipAdd&&this.options.onChipAdd.call(this,this.$el,t)}}},{key:"deleteChip",value:function(e){var t=this.$chips.eq(e);this.$chips.eq(e).remove(),this.$chips=this.$chips.filter(function(e){return 0<=J(e).index()}),this.chipsData.splice(e,1),this._setPlaceholder(),"function"==typeof this.options.onChipDelete&&this.options.onChipDelete.call(this,this.$el,t[0])}},{key:"selectChip",value:function(e){var t=this.$chips.eq(e);(this._selectedChip=t)[0].focus(),"function"==typeof this.options.onChipSelect&&this.options.onChipSelect.call(this,this.$el,t[0])}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Chips}},{key:"_handleChipsKeydown",value:function(e){t._keydown=!0;var n=J(e.target).closest(".chips"),i=e.target&&n.length;if(!J(e.target).is("input, textarea")&&i){var r=n[0].M_Chips;if(8===e.keyCode||46===e.keyCode){e.preventDefault();var o=r.chipsData.length;if(r._selectedChip){var s=r._selectedChip.index();r.deleteChip(s),r._selectedChip=null,o=Math.max(s-1,0)}r.chipsData.length&&r.selectChip(o)}else if(37===e.keyCode){if(r._selectedChip){var a=r._selectedChip.index()-1;if(a<0)return;r.selectChip(a)}}else if(39===e.keyCode&&r._selectedChip){var l=r._selectedChip.index()+1;l>=r.chipsData.length?r.$input[0].focus():r.selectChip(l)}}}},{key:"_handleChipsKeyup",value:function(e){t._keydown=!1}},{key:"_handleChipsBlur",value:function(e){t._keydown||(J(e.target).closest(".chips")[0].M_Chips._selectedChip=null)}},{key:"defaults",get:function(){return ee}}]),t}())._keydown=!1,M.Chips=et,M.jQueryLoaded&&M.initializeJqueryWrapper(et,"chips","M_Chips"),J(document).ready(function(){J(document.body).on("click",".chip .close",function(){var e=J(this).closest(".chips");e.length&&e[0].M_Chips||J(this).closest(".chip").remove()})}),en=cash,ei={top:0,bottom:1/0,offset:0,onPositionChange:null},(er=function(e){function t(e,n){eP(this,t);var i=eM(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Pushpin=i).options=en.extend({},t.defaults,n),i.originalOffset=i.el.offsetTop,t._pushpins.push(i),i._setupEventHandlers(),i._updatePosition(),i}return eR(t,eD),eL(t,[{key:"destroy",value:function(){this.el.style.top=null,this._removePinClasses(),this._removeEventHandlers();var e=t._pushpins.indexOf(this);t._pushpins.splice(e,1)}},{key:"_setupEventHandlers",value:function(){document.addEventListener("scroll",t._updateElements)}},{key:"_removeEventHandlers",value:function(){document.removeEventListener("scroll",t._updateElements)}},{key:"_updatePosition",value:function(){var e=M.getDocumentScrollTop()+this.options.offset;this.options.top<=e&&this.options.bottom>=e&&!this.el.classList.contains("pinned")&&(this._removePinClasses(),this.el.style.top=this.options.offset+"px",this.el.classList.add("pinned"),"function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pinned")),e<this.options.top&&!this.el.classList.contains("pin-top")&&(this._removePinClasses(),this.el.style.top=0,this.el.classList.add("pin-top"),"function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pin-top")),e>this.options.bottom&&!this.el.classList.contains("pin-bottom")&&(this._removePinClasses(),this.el.classList.add("pin-bottom"),this.el.style.top=this.options.bottom-this.originalOffset+"px","function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pin-bottom"))}},{key:"_removePinClasses",value:function(){this.el.classList.remove("pin-top"),this.el.classList.remove("pinned"),this.el.classList.remove("pin-bottom")}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Pushpin}},{key:"_updateElements",value:function(){for(var e in t._pushpins)t._pushpins[e]._updatePosition()}},{key:"defaults",get:function(){return ei}}]),t}())._pushpins=[],M.Pushpin=er,M.jQueryLoaded&&M.initializeJqueryWrapper(er,"pushpin","M_Pushpin"),eo=cash,es=M.anime,ea={direction:"top",hoverEnabled:!0,toolbarEnabled:!1},eo.fn.reverse=[].reverse,el=function(e){function t(e,n){eP(this,t);var i=eM(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_FloatingActionButton=i).options=eo.extend({},t.defaults,n),i.isOpen=!1,i.$anchor=i.$el.children("a").first(),i.$menu=i.$el.children("ul").first(),i.$floatingBtns=i.$el.find("ul .btn-floating"),i.$floatingBtnsReverse=i.$el.find("ul .btn-floating").reverse(),i.offsetY=0,i.offsetX=0,i.$el.addClass("direction-"+i.options.direction),"top"===i.options.direction?i.offsetY=40:"right"===i.options.direction?i.offsetX=-40:"bottom"===i.options.direction?i.offsetY=-40:i.offsetX=40,i._setupEventHandlers(),i}return eR(t,eD),eL(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_FloatingActionButton=void 0}},{key:"_setupEventHandlers",value:function(){this._handleFABClickBound=this._handleFABClick.bind(this),this._handleOpenBound=this.open.bind(this),this._handleCloseBound=this.close.bind(this),this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.addEventListener("mouseenter",this._handleOpenBound),this.el.addEventListener("mouseleave",this._handleCloseBound)):this.el.addEventListener("click",this._handleFABClickBound)}},{key:"_removeEventHandlers",value:function(){this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.removeEventListener("mouseenter",this._handleOpenBound),this.el.removeEventListener("mouseleave",this._handleCloseBound)):this.el.removeEventListener("click",this._handleFABClickBound)}},{key:"_handleFABClick",value:function(){this.isOpen?this.close():this.open()}},{key:"_handleDocumentClick",value:function(e){eo(e.target).closest(this.$menu).length||this.close()}},{key:"open",value:function(){this.isOpen||(this.options.toolbarEnabled?this._animateInToolbar():this._animateInFAB(),this.isOpen=!0)}},{key:"close",value:function(){this.isOpen&&(this.options.toolbarEnabled?(window.removeEventListener("scroll",this._handleCloseBound,!0),document.body.removeEventListener("click",this._handleDocumentClickBound,!0),this._animateOutToolbar()):this._animateOutFAB(),this.isOpen=!1)}},{key:"_animateInFAB",value:function(){var e=this;this.$el.addClass("active");var t=0;this.$floatingBtnsReverse.each(function(n){es({targets:n,opacity:1,scale:[.4,1],translateY:[e.offsetY,0],translateX:[e.offsetX,0],duration:275,delay:t,easing:"easeInOutQuad"}),t+=40})}},{key:"_animateOutFAB",value:function(){var e=this;this.$floatingBtnsReverse.each(function(t){es.remove(t),es({targets:t,opacity:0,scale:.4,translateY:e.offsetY,translateX:e.offsetX,duration:175,easing:"easeOutQuad",complete:function(){e.$el.removeClass("active")}})})}},{key:"_animateInToolbar",value:function(){var e,t=this,n=window.innerWidth,i=window.innerHeight,r=this.el.getBoundingClientRect(),o=eo('<div class="fab-backdrop"></div>'),s=this.$anchor.css("background-color");this.$anchor.append(o),this.offsetX=r.left-n/2+r.width/2,this.offsetY=i-r.bottom,e=n/o[0].clientWidth,this.btnBottom=r.bottom,this.btnLeft=r.left,this.btnWidth=r.width,this.$el.addClass("active"),this.$el.css({"text-align":"center",width:"100%",bottom:0,left:0,transform:"translateX("+this.offsetX+"px)",transition:"none"}),this.$anchor.css({transform:"translateY("+-this.offsetY+"px)",transition:"none"}),o.css({"background-color":s}),setTimeout(function(){t.$el.css({transform:"",transition:"transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s"}),t.$anchor.css({overflow:"visible",transform:"",transition:"transform .2s"}),setTimeout(function(){t.$el.css({overflow:"hidden","background-color":s}),o.css({transform:"scale("+e+")",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"}),t.$menu.children("li").children("a").css({opacity:1}),t._handleDocumentClickBound=t._handleDocumentClick.bind(t),window.addEventListener("scroll",t._handleCloseBound,!0),document.body.addEventListener("click",t._handleDocumentClickBound,!0)},100)},0)}},{key:"_animateOutToolbar",value:function(){var e=this,t=window.innerWidth,n=window.innerHeight,i=this.$el.find(".fab-backdrop"),r=this.$anchor.css("background-color");this.offsetX=this.btnLeft-t/2+this.btnWidth/2,this.offsetY=n-this.btnBottom,this.$el.removeClass("active"),this.$el.css({"background-color":"transparent",transition:"none"}),this.$anchor.css({transition:"none"}),i.css({transform:"scale(0)","background-color":r}),this.$menu.children("li").children("a").css({opacity:""}),setTimeout(function(){i.remove(),e.$el.css({"text-align":"",width:"",bottom:"",left:"",overflow:"","background-color":"",transform:"translate3d("+-e.offsetX+"px,0,0)"}),e.$anchor.css({overflow:"",transform:"translate3d(0,"+e.offsetY+"px,0)"}),setTimeout(function(){e.$el.css({transform:"translate3d(0,0,0)",transition:"transform .2s"}),e.$anchor.css({transform:"translate3d(0,0,0)",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"})},20)},200)}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_FloatingActionButton}},{key:"defaults",get:function(){return ea}}]),t}(),M.FloatingActionButton=el,M.jQueryLoaded&&M.initializeJqueryWrapper(el,"floatingActionButton","M_FloatingActionButton"),ec=cash,eu={autoClose:!1,format:"mmm dd, yyyy",parse:null,defaultDate:null,setDefaultDate:!1,disableWeekends:!1,disableDayFn:null,firstDay:0,minDate:null,maxDate:null,yearRange:10,minYear:0,maxYear:9999,minMonth:void 0,maxMonth:void 0,startRange:null,endRange:null,isRTL:!1,showMonthAfterYear:!1,showDaysInNextAndPreviousMonths:!1,container:null,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok",previousMonth:"‹",nextMonth:"›",months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekdaysAbbrev:["S","M","T","W","T","F","S"]},events:[],onSelect:null,onOpen:null,onClose:null,onDraw:null},(ed=function(e){function t(e,n){eP(this,t);var i=eM(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));(i.el.M_Datepicker=i).options=ec.extend({},t.defaults,n),n&&n.hasOwnProperty("i18n")&&"object"==typeof n.i18n&&(i.options.i18n=ec.extend({},t.defaults.i18n,n.i18n)),i.options.minDate&&i.options.minDate.setHours(0,0,0,0),i.options.maxDate&&i.options.maxDate.setHours(0,0,0,0),i.id=M.guid(),i._setupVariables(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupEventHandlers(),i.options.defaultDate||(i.options.defaultDate=new Date(Date.parse(i.el.value)));var r=i.options.defaultDate;return t._isDate(r)?i.options.setDefaultDate?(i.setDate(r,!0),i.setInputValue()):i.gotoDate(r):i.gotoDate(new Date),i.isOpen=!1,i}return eR(t,eD),eL(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),ec(this.modalEl).remove(),this.destroySelects(),this.el.M_Datepicker=void 0}},{key:"destroySelects",value:function(){var e=this.calendarEl.querySelector(".orig-select-year");e&&M.FormSelect.getInstance(e).destroy();var t=this.calendarEl.querySelector(".orig-select-month");t&&M.FormSelect.getInstance(t).destroy()}},{key:"_insertHTMLIntoDOM",value:function(){this.options.showClearBtn&&(ec(this.clearBtn).css({visibility:""}),this.clearBtn.innerHTML=this.options.i18n.clear),this.doneBtn.innerHTML=this.options.i18n.done,this.cancelBtn.innerHTML=this.options.i18n.cancel,this.options.container?this.$modalEl.appendTo(this.options.container):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var e=this;this.modalEl.id="modal-"+this.id,this.modal=M.Modal.init(this.modalEl,{onCloseEnd:function(){e.isOpen=!1}})}},{key:"toString",value:function(e){var n=this;return e=e||this.options.format,t._isDate(this.date)?e.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g).map(function(e){return n.formats[e]?n.formats[e]():e}).join(""):""}},{key:"setDate",value:function(e,n){if(!e)return this.date=null,this._renderDateDisplay(),this.draw();if("string"==typeof e&&(e=new Date(Date.parse(e))),t._isDate(e)){var i=this.options.minDate,r=this.options.maxDate;t._isDate(i)&&e<i?e=i:t._isDate(r)&&r<e&&(e=r),this.date=new Date(e.getTime()),this._renderDateDisplay(),t._setToStartOfDay(this.date),this.gotoDate(this.date),n||"function"!=typeof this.options.onSelect||this.options.onSelect.call(this,this.date)}}},{key:"setInputValue",value:function(){this.el.value=this.toString(),this.$el.trigger("change",{firedBy:this})}},{key:"_renderDateDisplay",value:function(){var e=t._isDate(this.date)?this.date:new Date,n=this.options.i18n,i=n.weekdaysShort[e.getDay()],r=n.monthsShort[e.getMonth()],o=e.getDate();this.yearTextEl.innerHTML=e.getFullYear(),this.dateTextEl.innerHTML=i+", "+r+" "+o}},{key:"gotoDate",value:function(e){var n=!0;if(t._isDate(e)){if(this.calendars){var i=new Date(this.calendars[0].year,this.calendars[0].month,1),r=new Date(this.calendars[this.calendars.length-1].year,this.calendars[this.calendars.length-1].month,1),o=e.getTime();r.setMonth(r.getMonth()+1),r.setDate(r.getDate()-1),n=o<i.getTime()||r.getTime()<o}n&&(this.calendars=[{month:e.getMonth(),year:e.getFullYear()}]),this.adjustCalendars()}}},{key:"adjustCalendars",value:function(){this.calendars[0]=this.adjustCalendar(this.calendars[0]),this.draw()}},{key:"adjustCalendar",value:function(e){return e.month<0&&(e.year-=Math.ceil(Math.abs(e.month)/12),e.month+=12),11<e.month&&(e.year+=Math.floor(Math.abs(e.month)/12),e.month-=12),e}},{key:"nextMonth",value:function(){this.calendars[0].month++,this.adjustCalendars()}},{key:"prevMonth",value:function(){this.calendars[0].month--,this.adjustCalendars()}},{key:"render",value:function(e,n,i){var r=this.options,o=new Date,s=t._getDaysInMonth(e,n),a=new Date(e,n,1).getDay(),l=[],c=[];t._setToStartOfDay(o),0<r.firstDay&&(a-=r.firstDay)<0&&(a+=7);for(var u=0===n?11:n-1,d=11===n?0:n+1,h=0===n?e-1:e,p=11===n?e+1:e,f=t._getDaysInMonth(h,u),m=s+a,g=m;7<g;)g-=7;m+=7-g;for(var v=!1,y=0,b=0;y<m;y++){var w=new Date(e,n,y-a+1),_=!!t._isDate(this.date)&&t._compareDates(w,this.date),E=t._compareDates(w,o),x=-1!==r.events.indexOf(w.toDateString()),k=y<a||s+a<=y,T=y-a+1,O=n,C=e,A=r.startRange&&t._compareDates(r.startRange,w),S=r.endRange&&t._compareDates(r.endRange,w),N=r.startRange&&r.endRange&&r.startRange<w&&w<r.endRange;k&&(y<a?(T=f+T,O=u,C=h):(T-=s,O=d,C=p));var I={day:T,month:O,year:C,hasEvent:x,isSelected:_,isToday:E,isDisabled:r.minDate&&w<r.minDate||r.maxDate&&w>r.maxDate||r.disableWeekends&&t._isWeekend(w)||r.disableDayFn&&r.disableDayFn(w),isEmpty:k,isStartRange:A,isEndRange:S,isInRange:N,showDaysInNextAndPreviousMonths:r.showDaysInNextAndPreviousMonths};c.push(this.renderDay(I)),7==++b&&(l.push(this.renderRow(c,r.isRTL,v)),b=0,c=[],v=!1)}return this.renderTable(r,l,i)}},{key:"renderDay",value:function(e){var t=[],n="false";if(e.isEmpty){if(!e.showDaysInNextAndPreviousMonths)return'<td class="is-empty"></td>';t.push("is-outside-current-month"),t.push("is-selection-disabled")}return e.isDisabled&&t.push("is-disabled"),e.isToday&&t.push("is-today"),e.isSelected&&(t.push("is-selected"),n="true"),e.hasEvent&&t.push("has-event"),e.isInRange&&t.push("is-inrange"),e.isStartRange&&t.push("is-startrange"),e.isEndRange&&t.push("is-endrange"),'<td data-day="'+e.day+'" class="'+t.join(" ")+'" aria-selected="'+n+'"><button class="datepicker-day-button" type="button" data-year="'+e.year+'" data-month="'+e.month+'" data-day="'+e.day+'">'+e.day+"</button></td>"}},{key:"renderRow",value:function(e,t,n){return'<tr class="datepicker-row'+(n?" is-selected":"")+'">'+(t?e.reverse():e).join("")+"</tr>"}},{key:"renderTable",value:function(e,t,n){return'<div class="datepicker-table-wrapper"><table cellpadding="0" cellspacing="0" class="datepicker-table" role="grid" aria-labelledby="'+n+'">'+this.renderHead(e)+this.renderBody(t)+"</table></div>"}},{key:"renderHead",value:function(e){var t=void 0,n=[];for(t=0;t<7;t++)n.push('<th scope="col"><abbr title="'+this.renderDayName(e,t)+'">'+this.renderDayName(e,t,!0)+"</abbr></th>");return"<thead><tr>"+(e.isRTL?n.reverse():n).join("")+"</tr></thead>"}},{key:"renderBody",value:function(e){return"<tbody>"+e.join("")+"</tbody>"}},{key:"renderTitle",value:function(e,t,n,i,r,o){var s,a,l=void 0,c=void 0,u=void 0,d=this.options,h=n===d.minYear,p=n===d.maxYear,f='<div id="'+o+'" class="datepicker-controls" role="heading" aria-live="assertive">',m=!0,g=!0;for(u=[],l=0;l<12;l++)u.push('<option value="'+(n===r?l-t:12+l-t)+'"'+(l===i?' selected="selected"':"")+(h&&l<d.minMonth||p&&l>d.maxMonth?'disabled="disabled"':"")+">"+d.i18n.months[l]+"</option>");for(s='<select class="datepicker-select orig-select-month" tabindex="-1">'+u.join("")+"</select>",ec.isArray(d.yearRange)?(l=d.yearRange[0],c=d.yearRange[1]+1):(l=n-d.yearRange,c=1+n+d.yearRange),u=[];l<c&&l<=d.maxYear;l++)l>=d.minYear&&u.push('<option value="'+l+'" '+(l===n?'selected="selected"':"")+">"+l+"</option>");return a='<select class="datepicker-select orig-select-year" tabindex="-1">'+u.join("")+"</select>",f+='<button class="month-prev'+(m?"":" is-disabled")+'" type="button"><svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"/><path d="M0-.5h24v24H0z" fill="none"/></svg></button>',f+='<div class="selects-container">',d.showMonthAfterYear?f+=a+s:f+=s+a,f+="</div>",h&&(0===i||d.minMonth>=i)&&(m=!1),p&&(11===i||d.maxMonth<=i)&&(g=!1),(f+='<button class="month-next'+(g?"":" is-disabled")+'" type="button"><svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"/><path d="M0-.25h24v24H0z" fill="none"/></svg></button>')+"</div>"}},{key:"draw",value:function(e){if(this.isOpen||e){var t,n=this.options,i=n.minYear,r=n.maxYear,o=n.minMonth,s=n.maxMonth,a="";this._y<=i&&(this._y=i,!isNaN(o)&&this._m<o&&(this._m=o)),this._y>=r&&(this._y=r,!isNaN(s)&&this._m>s&&(this._m=s)),t="datepicker-title-"+Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,2);for(var l=0;l<1;l++)this._renderDateDisplay(),a+=this.renderTitle(this,l,this.calendars[l].year,this.calendars[l].month,this.calendars[0].year,t)+this.render(this.calendars[l].year,this.calendars[l].month,t);this.destroySelects(),this.calendarEl.innerHTML=a;var c=this.calendarEl.querySelector(".orig-select-year"),u=this.calendarEl.querySelector(".orig-select-month");M.FormSelect.init(c,{classes:"select-year",dropdownOptions:{container:document.body,constrainWidth:!1}}),M.FormSelect.init(u,{classes:"select-month",dropdownOptions:{container:document.body,constrainWidth:!1}}),c.addEventListener("change",this._handleYearChange.bind(this)),u.addEventListener("change",this._handleMonthChange.bind(this)),"function"==typeof this.options.onDraw&&this.options.onDraw(this)}}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleInputChangeBound=this._handleInputChange.bind(this),this._handleCalendarClickBound=this._handleCalendarClick.bind(this),this._finishSelectionBound=this._finishSelection.bind(this),this._handleMonthChange=this._handleMonthChange.bind(this),this._closeBound=this.close.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.el.addEventListener("change",this._handleInputChangeBound),this.calendarEl.addEventListener("click",this._handleCalendarClickBound),this.doneBtn.addEventListener("click",this._finishSelectionBound),this.cancelBtn.addEventListener("click",this._closeBound),this.options.showClearBtn&&(this._handleClearClickBound=this._handleClearClick.bind(this),this.clearBtn.addEventListener("click",this._handleClearClickBound))}},{key:"_setupVariables",value:function(){var e=this;this.$modalEl=ec(t._template),this.modalEl=this.$modalEl[0],this.calendarEl=this.modalEl.querySelector(".datepicker-calendar"),this.yearTextEl=this.modalEl.querySelector(".year-text"),this.dateTextEl=this.modalEl.querySelector(".date-text"),this.options.showClearBtn&&(this.clearBtn=this.modalEl.querySelector(".datepicker-clear")),this.doneBtn=this.modalEl.querySelector(".datepicker-done"),this.cancelBtn=this.modalEl.querySelector(".datepicker-cancel"),this.formats={d:function(){return e.date.getDate()},dd:function(){var t=e.date.getDate();return(t<10?"0":"")+t},ddd:function(){return e.options.i18n.weekdaysShort[e.date.getDay()]},dddd:function(){return e.options.i18n.weekdays[e.date.getDay()]},m:function(){return e.date.getMonth()+1},mm:function(){var t=e.date.getMonth()+1;return(t<10?"0":"")+t},mmm:function(){return e.options.i18n.monthsShort[e.date.getMonth()]},mmmm:function(){return e.options.i18n.months[e.date.getMonth()]},yy:function(){return(""+e.date.getFullYear()).slice(2)},yyyy:function(){return e.date.getFullYear()}}}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound),this.el.removeEventListener("change",this._handleInputChangeBound),this.calendarEl.removeEventListener("click",this._handleCalendarClickBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(e){e.which===M.keys.ENTER&&(e.preventDefault(),this.open())}},{key:"_handleCalendarClick",value:function(e){if(this.isOpen){var t=ec(e.target);t.hasClass("is-disabled")||(!t.hasClass("datepicker-day-button")||t.hasClass("is-empty")||t.parent().hasClass("is-disabled")?t.closest(".month-prev").length?this.prevMonth():t.closest(".month-next").length&&this.nextMonth():(this.setDate(new Date(e.target.getAttribute("data-year"),e.target.getAttribute("data-month"),e.target.getAttribute("data-day"))),this.options.autoClose&&this._finishSelection()))}}},{key:"_handleClearClick",value:function(){this.date=null,this.setInputValue(),this.close()}},{key:"_handleMonthChange",value:function(e){this.gotoMonth(e.target.value)}},{key:"_handleYearChange",value:function(e){this.gotoYear(e.target.value)}},{key:"gotoMonth",value:function(e){isNaN(e)||(this.calendars[0].month=parseInt(e,10),this.adjustCalendars())}},{key:"gotoYear",value:function(e){isNaN(e)||(this.calendars[0].year=parseInt(e,10),this.adjustCalendars())}},{key:"_handleInputChange",value:function(e){var n=void 0;e.firedBy!==this&&(n=this.options.parse?this.options.parse(this.el.value,this.options.format):new Date(Date.parse(this.el.value)),t._isDate(n)&&this.setDate(n))}},{key:"renderDayName",value:function(e,t,n){for(t+=e.firstDay;7<=t;)t-=7;return n?e.i18n.weekdaysAbbrev[t]:e.i18n.weekdays[t]}},{key:"_finishSelection",value:function(){this.setInputValue(),this.close()}},{key:"open",value:function(){if(!this.isOpen)return this.isOpen=!0,"function"==typeof this.options.onOpen&&this.options.onOpen.call(this),this.draw(),this.modal.open(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,"function"==typeof this.options.onClose&&this.options.onClose.call(this),this.modal.close(),this}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"_isDate",value:function(e){return/Date/.test(Object.prototype.toString.call(e))&&!isNaN(e.getTime())}},{key:"_isWeekend",value:function(e){var t=e.getDay();return 0===t||6===t}},{key:"_setToStartOfDay",value:function(e){t._isDate(e)&&e.setHours(0,0,0,0)}},{key:"_getDaysInMonth",value:function(e,n){return[31,t._isLeapYear(e)?29:28,31,30,31,30,31,31,30,31,30,31][n]}},{key:"_isLeapYear",value:function(e){return e%4==0&&e%100!=0||e%400==0}},{key:"_compareDates",value:function(e,t){return e.getTime()===t.getTime()}},{key:"_setToStartOfDay",value:function(e){t._isDate(e)&&e.setHours(0,0,0,0)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Datepicker}},{key:"defaults",get:function(){return eu}}]),t}())._template='<div class= "modal datepicker-modal"><div class="modal-content datepicker-container"><div class="datepicker-date-display"><span class="year-text"></span><span class="date-text"></span></div><div class="datepicker-calendar-container"><div class="datepicker-calendar"></div><div class="datepicker-footer"><button class="btn-flat datepicker-clear waves-effect" style="visibility: hidden;" type="button"></button><div class="confirmation-btns"><button class="btn-flat datepicker-cancel waves-effect" type="button"></button><button class="btn-flat datepicker-done waves-effect" type="button"></button></div></div></div></div></div>',M.Datepicker=ed,M.jQueryLoaded&&M.initializeJqueryWrapper(ed,"datepicker","M_Datepicker"),eh=cash,ep={dialRadius:135,outerRadius:105,innerRadius:70,tickRadius:20,duration:350,container:null,defaultTime:"now",fromNow:0,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok"},autoClose:!1,twelveHour:!0,vibrate:!0,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onSelect:null},(ef=function(e){function t(e,n){eP(this,t);var i=eM(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Timepicker=i).options=eh.extend({},t.defaults,n),i.id=M.guid(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupVariables(),i._setupEventHandlers(),i._clockSetup(),i._pickerSetup(),i}return eR(t,eD),eL(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),eh(this.modalEl).remove(),this.el.M_Timepicker=void 0}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleClockClickStartBound=this._handleClockClickStart.bind(this),this._handleDocumentClickMoveBound=this._handleDocumentClickMove.bind(this),this._handleDocumentClickEndBound=this._handleDocumentClickEnd.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.plate.addEventListener("mousedown",this._handleClockClickStartBound),this.plate.addEventListener("touchstart",this._handleClockClickStartBound),eh(this.spanHours).on("click",this.showView.bind(this,"hours")),eh(this.spanMinutes).on("click",this.showView.bind(this,"minutes"))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(e){e.which===M.keys.ENTER&&(e.preventDefault(),this.open())}},{key:"_handleClockClickStart",value:function(e){e.preventDefault();var n=this.plate.getBoundingClientRect(),i=n.left,r=n.top;this.x0=i+this.options.dialRadius,this.y0=r+this.options.dialRadius,this.moved=!1;var o=t._Pos(e);this.dx=o.x-this.x0,this.dy=o.y-this.y0,this.setHand(this.dx,this.dy,!1),document.addEventListener("mousemove",this._handleDocumentClickMoveBound),document.addEventListener("touchmove",this._handleDocumentClickMoveBound),document.addEventListener("mouseup",this._handleDocumentClickEndBound),document.addEventListener("touchend",this._handleDocumentClickEndBound)}},{key:"_handleDocumentClickMove",value:function(e){e.preventDefault();var n=t._Pos(e),i=n.x-this.x0,r=n.y-this.y0;this.moved=!0,this.setHand(i,r,!1,!0)}},{key:"_handleDocumentClickEnd",value:function(e){var n=this;e.preventDefault(),document.removeEventListener("mouseup",this._handleDocumentClickEndBound),document.removeEventListener("touchend",this._handleDocumentClickEndBound);var i=t._Pos(e),r=i.x-this.x0,o=i.y-this.y0;this.moved&&r===this.dx&&o===this.dy&&this.setHand(r,o),"hours"===this.currentView?this.showView("minutes",this.options.duration/2):this.options.autoClose&&(eh(this.minutesView).addClass("timepicker-dial-out"),setTimeout(function(){n.done()},this.options.duration/2)),"function"==typeof this.options.onSelect&&this.options.onSelect.call(this,this.hours,this.minutes),document.removeEventListener("mousemove",this._handleDocumentClickMoveBound),document.removeEventListener("touchmove",this._handleDocumentClickMoveBound)}},{key:"_insertHTMLIntoDOM",value:function(){this.$modalEl=eh(t._template),this.modalEl=this.$modalEl[0],this.modalEl.id="modal-"+this.id;var e=document.querySelector(this.options.container);this.options.container&&e?this.$modalEl.appendTo(e):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var e=this;this.modal=M.Modal.init(this.modalEl,{onOpenStart:this.options.onOpenStart,onOpenEnd:this.options.onOpenEnd,onCloseStart:this.options.onCloseStart,onCloseEnd:function(){"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e),e.isOpen=!1}})}},{key:"_setupVariables",value:function(){this.currentView="hours",this.vibrate=navigator.vibrate?"vibrate":navigator.webkitVibrate?"webkitVibrate":null,this._canvas=this.modalEl.querySelector(".timepicker-canvas"),this.plate=this.modalEl.querySelector(".timepicker-plate"),this.hoursView=this.modalEl.querySelector(".timepicker-hours"),this.minutesView=this.modalEl.querySelector(".timepicker-minutes"),this.spanHours=this.modalEl.querySelector(".timepicker-span-hours"),this.spanMinutes=this.modalEl.querySelector(".timepicker-span-minutes"),this.spanAmPm=this.modalEl.querySelector(".timepicker-span-am-pm"),this.footer=this.modalEl.querySelector(".timepicker-footer"),this.amOrPm="PM"}},{key:"_pickerSetup",value:function(){var e=eh('<button class="btn-flat timepicker-clear waves-effect" style="visibility: hidden;" type="button" tabindex="'+(this.options.twelveHour?"3":"1")+'">'+this.options.i18n.clear+"</button>").appendTo(this.footer).on("click",this.clear.bind(this));this.options.showClearBtn&&e.css({visibility:""});var t=eh('<div class="confirmation-btns"></div>');eh('<button class="btn-flat timepicker-close waves-effect" type="button" tabindex="'+(this.options.twelveHour?"3":"1")+'">'+this.options.i18n.cancel+"</button>").appendTo(t).on("click",this.close.bind(this)),eh('<button class="btn-flat timepicker-close waves-effect" type="button" tabindex="'+(this.options.twelveHour?"3":"1")+'">'+this.options.i18n.done+"</button>").appendTo(t).on("click",this.done.bind(this)),t.appendTo(this.footer)}},{key:"_clockSetup",value:function(){this.options.twelveHour&&(this.$amBtn=eh('<div class="am-btn">AM</div>'),this.$pmBtn=eh('<div class="pm-btn">PM</div>'),this.$amBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm),this.$pmBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm)),this._buildHoursView(),this._buildMinutesView(),this._buildSVGClock()}},{key:"_buildSVGClock",value:function(){var e=this.options.dialRadius,n=this.options.tickRadius,i=2*e,r=t._createSVGEl("svg");r.setAttribute("class","timepicker-svg"),r.setAttribute("width",i),r.setAttribute("height",i);var o=t._createSVGEl("g");o.setAttribute("transform","translate("+e+","+e+")");var s=t._createSVGEl("circle");s.setAttribute("class","timepicker-canvas-bearing"),s.setAttribute("cx",0),s.setAttribute("cy",0),s.setAttribute("r",4);var a=t._createSVGEl("line");a.setAttribute("x1",0),a.setAttribute("y1",0);var l=t._createSVGEl("circle");l.setAttribute("class","timepicker-canvas-bg"),l.setAttribute("r",n),o.appendChild(a),o.appendChild(l),o.appendChild(s),r.appendChild(o),this._canvas.appendChild(r),this.hand=a,this.bg=l,this.bearing=s,this.g=o}},{key:"_buildHoursView",value:function(){var e=eh('<div class="timepicker-tick"></div>');if(this.options.twelveHour)for(var t=1;t<13;t+=1){var n=e.clone(),i=t/6*Math.PI,r=this.options.outerRadius;n.css({left:this.options.dialRadius+Math.sin(i)*r-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(i)*r-this.options.tickRadius+"px"}),n.html(0===t?"00":t),this.hoursView.appendChild(n[0])}else for(var o=0;o<24;o+=1){var s=e.clone(),a=o/6*Math.PI,l=0<o&&o<13?this.options.innerRadius:this.options.outerRadius;s.css({left:this.options.dialRadius+Math.sin(a)*l-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(a)*l-this.options.tickRadius+"px"}),s.html(0===o?"00":o),this.hoursView.appendChild(s[0])}}},{key:"_buildMinutesView",value:function(){for(var e=eh('<div class="timepicker-tick"></div>'),n=0;n<60;n+=5){var i=e.clone(),r=n/30*Math.PI;i.css({left:this.options.dialRadius+Math.sin(r)*this.options.outerRadius-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(r)*this.options.outerRadius-this.options.tickRadius+"px"}),i.html(t._addLeadingZero(n)),this.minutesView.appendChild(i[0])}}},{key:"_handleAmPmClick",value:function(e){var t=eh(e.target);this.amOrPm=t.hasClass("am-btn")?"AM":"PM",this._updateAmPmView()}},{key:"_updateAmPmView",value:function(){this.options.twelveHour&&(this.$amBtn.toggleClass("text-primary","AM"===this.amOrPm),this.$pmBtn.toggleClass("text-primary","PM"===this.amOrPm))}},{key:"_updateTimeFromInput",value:function(){var e=((this.el.value||this.options.defaultTime||"")+"").split(":");if(this.options.twelveHour&&void 0!==e[1]&&(0<e[1].toUpperCase().indexOf("AM")?this.amOrPm="AM":this.amOrPm="PM",e[1]=e[1].replace("AM","").replace("PM","")),"now"===e[0]){var n=new Date(+new Date+this.options.fromNow);e=[n.getHours(),n.getMinutes()],this.options.twelveHour&&(this.amOrPm=12<=e[0]&&e[0]<24?"PM":"AM")}this.hours=+e[0]||0,this.minutes=+e[1]||0,this.spanHours.innerHTML=this.hours,this.spanMinutes.innerHTML=t._addLeadingZero(this.minutes),this._updateAmPmView()}},{key:"showView",value:function(e,t){"minutes"===e&&eh(this.hoursView).css("visibility");var n="hours"===e,i=n?this.hoursView:this.minutesView,r=n?this.minutesView:this.hoursView;this.currentView=e,eh(this.spanHours).toggleClass("text-primary",n),eh(this.spanMinutes).toggleClass("text-primary",!n),r.classList.add("timepicker-dial-out"),eh(i).css("visibility","visible").removeClass("timepicker-dial-out"),this.resetClock(t),clearTimeout(this.toggleViewTimer),this.toggleViewTimer=setTimeout(function(){eh(r).css("visibility","hidden")},this.options.duration)}},{key:"resetClock",value:function(e){var t=this.currentView,n=this[t],i="hours"===t,r=Math.PI/(i?6:30)*n,o=i&&0<n&&n<13?this.options.innerRadius:this.options.outerRadius,s=Math.sin(r)*o,a=-Math.cos(r)*o,l=this;e?(eh(this.canvas).addClass("timepicker-canvas-out"),setTimeout(function(){eh(l.canvas).removeClass("timepicker-canvas-out"),l.setHand(s,a)},e)):this.setHand(s,a)}},{key:"setHand",value:function(e,n,i){var r=this,o=Math.atan2(e,-n),s="hours"===this.currentView,a=Math.PI/(s||i?6:30),l=Math.sqrt(e*e+n*n),c=s&&l<(this.options.outerRadius+this.options.innerRadius)/2,u=c?this.options.innerRadius:this.options.outerRadius;this.options.twelveHour&&(u=this.options.outerRadius),o<0&&(o=2*Math.PI+o);var d=Math.round(o/a);o=d*a,this.options.twelveHour?s?0===d&&(d=12):(i&&(d*=5),60===d&&(d=0)):s?(12===d&&(d=0),d=c?0===d?12:d:0===d?0:d+12):(i&&(d*=5),60===d&&(d=0)),this[this.currentView]!==d&&this.vibrate&&this.options.vibrate&&(this.vibrateTimer||(navigator[this.vibrate](10),this.vibrateTimer=setTimeout(function(){r.vibrateTimer=null},100))),this[this.currentView]=d,s?this.spanHours.innerHTML=d:this.spanMinutes.innerHTML=t._addLeadingZero(d);var h=Math.sin(o)*(u-this.options.tickRadius),p=-Math.cos(o)*(u-this.options.tickRadius),f=Math.sin(o)*u,m=-Math.cos(o)*u;this.hand.setAttribute("x2",h),this.hand.setAttribute("y2",p),this.bg.setAttribute("cx",f),this.bg.setAttribute("cy",m)}},{key:"open",value:function(){this.isOpen||(this.isOpen=!0,this._updateTimeFromInput(),this.showView("hours"),this.modal.open())}},{key:"close",value:function(){this.isOpen&&(this.isOpen=!1,this.modal.close())}},{key:"done",value:function(e,n){var i=this.el.value,r=n?"":t._addLeadingZero(this.hours)+":"+t._addLeadingZero(this.minutes);this.time=r,!n&&this.options.twelveHour&&(r=r+" "+this.amOrPm),(this.el.value=r)!==i&&this.$el.trigger("change"),this.close(),this.el.focus()}},{key:"clear",value:function(){this.done(null,!0)}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"_addLeadingZero",value:function(e){return(e<10?"0":"")+e}},{key:"_createSVGEl",value:function(e){return document.createElementNS("http://www.w3.org/2000/svg",e)}},{key:"_Pos",value:function(e){return e.targetTouches&&1<=e.targetTouches.length?{x:e.targetTouches[0].clientX,y:e.targetTouches[0].clientY}:{x:e.clientX,y:e.clientY}}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Timepicker}},{key:"defaults",get:function(){return ep}}]),t}())._template='<div class= "modal timepicker-modal"><div class="modal-content timepicker-container"><div class="timepicker-digital-display"><div class="timepicker-text-container"><div class="timepicker-display-column"><span class="timepicker-span-hours text-primary"></span>:<span class="timepicker-span-minutes"></span></div><div class="timepicker-display-column timepicker-display-am-pm"><div class="timepicker-span-am-pm"></div></div></div></div><div class="timepicker-analog-display"><div class="timepicker-plate"><div class="timepicker-canvas"></div><div class="timepicker-dial timepicker-hours"></div><div class="timepicker-dial timepicker-minutes timepicker-dial-out"></div></div><div class="timepicker-footer"></div></div></div></div>',M.Timepicker=ef,M.jQueryLoaded&&M.initializeJqueryWrapper(ef,"timepicker","M_Timepicker"),em=cash,eg={},ev=function(e){function t(e,n){eP(this,t);var i=eM(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_CharacterCounter=i).options=em.extend({},t.defaults,n),i.isInvalid=!1,i.isValidLength=!1,i._setupCounter(),i._setupEventHandlers(),i}return eR(t,eD),eL(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.CharacterCounter=void 0,this._removeCounter()}},{key:"_setupEventHandlers",value:function(){this._handleUpdateCounterBound=this.updateCounter.bind(this),this.el.addEventListener("focus",this._handleUpdateCounterBound,!0),this.el.addEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("focus",this._handleUpdateCounterBound,!0),this.el.removeEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_setupCounter",value:function(){this.counterEl=document.createElement("span"),em(this.counterEl).addClass("character-counter").css({float:"right","font-size":"12px",height:1}),this.$el.parent().append(this.counterEl)}},{key:"_removeCounter",value:function(){em(this.counterEl).remove()}},{key:"updateCounter",value:function(){var e=+this.$el.attr("data-length"),t=this.el.value.length;this.isValidLength=t<=e;var n=t;e&&(n+="/"+e,this._validateInput()),em(this.counterEl).html(n)}},{key:"_validateInput",value:function(){this.isValidLength&&this.isInvalid?(this.isInvalid=!1,this.$el.removeClass("invalid")):this.isValidLength||this.isInvalid||(this.isInvalid=!0,this.$el.removeClass("valid"),this.$el.addClass("invalid"))}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_CharacterCounter}},{key:"defaults",get:function(){return eg}}]),t}(),M.CharacterCounter=ev,M.jQueryLoaded&&M.initializeJqueryWrapper(ev,"characterCounter","M_CharacterCounter"),ey=cash,eb={duration:200,dist:-100,shift:0,padding:0,numVisible:5,fullWidth:!1,indicators:!1,noWrap:!1,onCycleTo:null},ew=function(e){function t(e,n){eP(this,t);var i=eM(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Carousel=i).options=ey.extend({},t.defaults,n),i.hasMultipleSlides=1<i.$el.find(".carousel-item").length,i.showIndicators=i.options.indicators&&i.hasMultipleSlides,i.noWrap=i.options.noWrap||!i.hasMultipleSlides,i.pressed=!1,i.dragged=!1,i.offset=i.target=0,i.images=[],i.itemWidth=i.$el.find(".carousel-item").first().innerWidth(),i.itemHeight=i.$el.find(".carousel-item").first().innerHeight(),i.dim=2*i.itemWidth+i.options.padding||1,i._autoScrollBound=i._autoScroll.bind(i),i._trackBound=i._track.bind(i),i.options.fullWidth&&(i.options.dist=0,i._setCarouselHeight(),i.showIndicators&&i.$el.find(".carousel-fixed-item").addClass("with-indicators")),i.$indicators=ey('<ul class="indicators"></ul>'),i.$el.find(".carousel-item").each(function(e,t){if(i.images.push(e),i.showIndicators){var n=ey('<li class="indicator-item"></li>');0===t&&n[0].classList.add("active"),i.$indicators.append(n)}}),i.showIndicators&&i.$el.append(i.$indicators),i.count=i.images.length,i.options.numVisible=Math.min(i.count,i.options.numVisible),i.xform="transform",["webkit","Moz","O","ms"].every(function(e){var t=e+"Transform";return void 0===document.body.style[t]||(i.xform=t,!1)}),i._setupEventHandlers(),i._scroll(i.offset),i}return eR(t,eD),eL(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Carousel=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleCarouselTapBound=this._handleCarouselTap.bind(this),this._handleCarouselDragBound=this._handleCarouselDrag.bind(this),this._handleCarouselReleaseBound=this._handleCarouselRelease.bind(this),this._handleCarouselClickBound=this._handleCarouselClick.bind(this),void 0!==window.ontouchstart&&(this.el.addEventListener("touchstart",this._handleCarouselTapBound),this.el.addEventListener("touchmove",this._handleCarouselDragBound),this.el.addEventListener("touchend",this._handleCarouselReleaseBound)),this.el.addEventListener("mousedown",this._handleCarouselTapBound),this.el.addEventListener("mousemove",this._handleCarouselDragBound),this.el.addEventListener("mouseup",this._handleCarouselReleaseBound),this.el.addEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.addEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&(this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.$indicators.find(".indicator-item").each(function(t,n){t.addEventListener("click",e._handleIndicatorClickBound)}));var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){var e=this;void 0!==window.ontouchstart&&(this.el.removeEventListener("touchstart",this._handleCarouselTapBound),this.el.removeEventListener("touchmove",this._handleCarouselDragBound),this.el.removeEventListener("touchend",this._handleCarouselReleaseBound)),this.el.removeEventListener("mousedown",this._handleCarouselTapBound),this.el.removeEventListener("mousemove",this._handleCarouselDragBound),this.el.removeEventListener("mouseup",this._handleCarouselReleaseBound),this.el.removeEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.removeEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&this.$indicators.find(".indicator-item").each(function(t,n){t.removeEventListener("click",e._handleIndicatorClickBound)}),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleCarouselTap",value:function(e){"mousedown"===e.type&&ey(e.target).is("img")&&e.preventDefault(),this.pressed=!0,this.dragged=!1,this.verticalDragged=!1,this.reference=this._xpos(e),this.referenceY=this._ypos(e),this.velocity=this.amplitude=0,this.frame=this.offset,this.timestamp=Date.now(),clearInterval(this.ticker),this.ticker=setInterval(this._trackBound,100)}},{key:"_handleCarouselDrag",value:function(e){var t=void 0,n=void 0,i=void 0;if(this.pressed){if(t=this._xpos(e),n=this._ypos(e),i=this.reference-t,30>Math.abs(this.referenceY-n)&&!this.verticalDragged)(2<i||i<-2)&&(this.dragged=!0,this.reference=t,this._scroll(this.offset+i));else{if(this.dragged)return e.preventDefault(),e.stopPropagation(),!1;this.verticalDragged=!0}}if(this.dragged)return e.preventDefault(),e.stopPropagation(),!1}},{key:"_handleCarouselRelease",value:function(e){if(this.pressed)return this.pressed=!1,clearInterval(this.ticker),this.target=this.offset,(10<this.velocity||this.velocity<-10)&&(this.amplitude=.9*this.velocity,this.target=this.offset+this.amplitude),this.target=Math.round(this.target/this.dim)*this.dim,this.noWrap&&(this.target>=this.dim*(this.count-1)?this.target=this.dim*(this.count-1):this.target<0&&(this.target=0)),this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound),this.dragged&&(e.preventDefault(),e.stopPropagation()),!1}},{key:"_handleCarouselClick",value:function(e){if(this.dragged)return e.preventDefault(),e.stopPropagation(),!1;if(!this.options.fullWidth){var t=ey(e.target).closest(".carousel-item").index();0!=this._wrap(this.center)-t&&(e.preventDefault(),e.stopPropagation()),this._cycleTo(t)}}},{key:"_handleIndicatorClick",value:function(e){e.stopPropagation();var t=ey(e.target).closest(".indicator-item");t.length&&this._cycleTo(t.index())}},{key:"_handleResize",value:function(e){this.options.fullWidth?(this.itemWidth=this.$el.find(".carousel-item").first().innerWidth(),this.imageHeight=this.$el.find(".carousel-item.active").height(),this.dim=2*this.itemWidth+this.options.padding,this.offset=2*this.center*this.itemWidth,this.target=this.offset,this._setCarouselHeight(!0)):this._scroll()}},{key:"_setCarouselHeight",value:function(e){var t=this,n=this.$el.find(".carousel-item.active").length?this.$el.find(".carousel-item.active").first():this.$el.find(".carousel-item").first(),i=n.find("img").first();if(i.length){if(i[0].complete){var r=i.height();if(0<r)this.$el.css("height",r+"px");else{var o=i[0].naturalWidth,s=i[0].naturalHeight,a=this.$el.width()/o*s;this.$el.css("height",a+"px")}}else i.one("load",function(e,n){t.$el.css("height",e.offsetHeight+"px")})}else if(!e){var l=n.height();this.$el.css("height",l+"px")}}},{key:"_xpos",value:function(e){return e.targetTouches&&1<=e.targetTouches.length?e.targetTouches[0].clientX:e.clientX}},{key:"_ypos",value:function(e){return e.targetTouches&&1<=e.targetTouches.length?e.targetTouches[0].clientY:e.clientY}},{key:"_wrap",value:function(e){return e>=this.count?e%this.count:e<0?this._wrap(this.count+e%this.count):e}},{key:"_track",value:function(){var e,t,n,i;t=(e=Date.now())-this.timestamp,this.timestamp=e,n=this.offset-this.frame,this.frame=this.offset,i=1e3*n/(1+t),this.velocity=.8*i+.2*this.velocity}},{key:"_autoScroll",value:function(){var e=void 0,t=void 0;this.amplitude&&(e=Date.now()-this.timestamp,2<(t=this.amplitude*Math.exp(-e/this.options.duration))||t<-2?(this._scroll(this.target-t),requestAnimationFrame(this._autoScrollBound)):this._scroll(this.target))}},{key:"_scroll",value:function(e){var t=this;this.$el.hasClass("scrolling")||this.el.classList.add("scrolling"),null!=this.scrollingTimeout&&window.clearTimeout(this.scrollingTimeout),this.scrollingTimeout=window.setTimeout(function(){t.$el.removeClass("scrolling")},this.options.duration);var n,i,r,o,s=void 0,a=void 0,l=void 0,c=void 0,u=void 0,d=void 0,h=this.center,p=1/this.options.numVisible;if(this.offset="number"==typeof e?e:this.offset,this.center=Math.floor((this.offset+this.dim/2)/this.dim),o=-(r=(i=this.offset-this.center*this.dim)<0?1:-1)*i*2/this.dim,n=this.count>>1,this.options.fullWidth?(l="translateX(0)",d=1):(l="translateX("+(this.el.clientWidth-this.itemWidth)/2+"px) "+("translateY("+(this.el.clientHeight-this.itemHeight)/2+"px)"),d=1-p*o),this.showIndicators){var f=this.center%this.count,m=this.$indicators.find(".indicator-item.active");m.index()!==f&&(m.removeClass("active"),this.$indicators.find(".indicator-item").eq(f)[0].classList.add("active"))}if(!this.noWrap||0<=this.center&&this.center<this.count){ey(a=this.images[this._wrap(this.center)]).hasClass("active")||(this.$el.find(".carousel-item").removeClass("active"),a.classList.add("active"));var g=l+" translateX("+-i/2+"px) translateX("+r*this.options.shift*o*s+"px) translateZ("+this.options.dist*o+"px)";this._updateItemStyle(a,d,0,g)}for(s=1;s<=n;++s){if(this.options.fullWidth?(c=this.options.dist,u=s===n&&i<0?1-o:1):(c=this.options.dist*(2*s+o*r),u=1-p*(2*s+o*r)),!this.noWrap||this.center+s<this.count){a=this.images[this._wrap(this.center+s)];var v=l+" translateX("+(this.options.shift+(this.dim*s-i)/2)+"px) translateZ("+c+"px)";this._updateItemStyle(a,u,-s,v)}if(this.options.fullWidth?(c=this.options.dist,u=s===n&&0<i?1-o:1):(c=this.options.dist*(2*s-o*r),u=1-p*(2*s-o*r)),!this.noWrap||0<=this.center-s){a=this.images[this._wrap(this.center-s)];var y=l+" translateX("+(-this.options.shift+(-this.dim*s-i)/2)+"px) translateZ("+c+"px)";this._updateItemStyle(a,u,-s,y)}}if(!this.noWrap||0<=this.center&&this.center<this.count){a=this.images[this._wrap(this.center)];var b=l+" translateX("+-i/2+"px) translateX("+r*this.options.shift*o+"px) translateZ("+this.options.dist*o+"px)";this._updateItemStyle(a,d,0,b)}var w=this.$el.find(".carousel-item").eq(this._wrap(this.center));h!==this.center&&"function"==typeof this.options.onCycleTo&&this.options.onCycleTo.call(this,w[0],this.dragged),"function"==typeof this.oneTimeCallback&&(this.oneTimeCallback.call(this,w[0],this.dragged),this.oneTimeCallback=null)}},{key:"_updateItemStyle",value:function(e,t,n,i){e.style[this.xform]=i,e.style.zIndex=n,e.style.opacity=t,e.style.visibility="visible"}},{key:"_cycleTo",value:function(e,t){var n=this.center%this.count-e;this.noWrap||(n<0?Math.abs(n+this.count)<Math.abs(n)&&(n+=this.count):0<n&&Math.abs(n-this.count)<n&&(n-=this.count)),this.target=this.dim*Math.round(this.offset/this.dim),n<0?this.target+=this.dim*Math.abs(n):0<n&&(this.target-=this.dim*n),"function"==typeof t&&(this.oneTimeCallback=t),this.offset!==this.target&&(this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound))}},{key:"next",value:function(e){(void 0===e||isNaN(e))&&(e=1);var t=this.center+e;if(t>=this.count||t<0){if(this.noWrap)return;t=this._wrap(t)}this._cycleTo(t)}},{key:"prev",value:function(e){(void 0===e||isNaN(e))&&(e=1);var t=this.center-e;if(t>=this.count||t<0){if(this.noWrap)return;t=this._wrap(t)}this._cycleTo(t)}},{key:"set",value:function(e,t){if((void 0===e||isNaN(e))&&(e=0),e>this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e,t)}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Carousel}},{key:"defaults",get:function(){return eb}}]),t}(),M.Carousel=ew,M.jQueryLoaded&&M.initializeJqueryWrapper(ew,"carousel","M_Carousel"),e_=cash,eE={onOpen:void 0,onClose:void 0},ex=function(e){function t(e,n){eP(this,t);var i=eM(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_TapTarget=i).options=e_.extend({},t.defaults,n),i.isOpen=!1,i.$origin=e_("#"+i.$el.attr("data-target")),i._setup(),i._calculatePositioning(),i._setupEventHandlers(),i}return eR(t,eD),eL(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.TapTarget=void 0}},{key:"_setupEventHandlers",value:function(){this._handleDocumentClickBound=this._handleDocumentClick.bind(this),this._handleTargetClickBound=this._handleTargetClick.bind(this),this._handleOriginClickBound=this._handleOriginClick.bind(this),this.el.addEventListener("click",this._handleTargetClickBound),this.originEl.addEventListener("click",this._handleOriginClickBound);var e=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=e.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleTargetClickBound),this.originEl.removeEventListener("click",this._handleOriginClickBound),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleTargetClick",value:function(e){this.open()}},{key:"_handleOriginClick",value:function(e){this.close()}},{key:"_handleResize",value:function(e){this._calculatePositioning()}},{key:"_handleDocumentClick",value:function(e){e_(e.target).closest(".tap-target-wrapper").length||(this.close(),e.preventDefault(),e.stopPropagation())}},{key:"_setup",value:function(){this.wrapper=this.$el.parent()[0],this.waveEl=e_(this.wrapper).find(".tap-target-wave")[0],this.originEl=e_(this.wrapper).find(".tap-target-origin")[0],this.contentEl=this.$el.find(".tap-target-content")[0],e_(this.wrapper).hasClass(".tap-target-wrapper")||(this.wrapper=document.createElement("div"),this.wrapper.classList.add("tap-target-wrapper"),this.$el.before(e_(this.wrapper)),this.wrapper.append(this.el)),this.contentEl||(this.contentEl=document.createElement("div"),this.contentEl.classList.add("tap-target-content"),this.$el.append(this.contentEl)),this.waveEl||(this.waveEl=document.createElement("div"),this.waveEl.classList.add("tap-target-wave"),this.originEl||(this.originEl=this.$origin.clone(!0,!0),this.originEl.addClass("tap-target-origin"),this.originEl.removeAttr("id"),this.originEl.removeAttr("style"),this.originEl=this.originEl[0],this.waveEl.append(this.originEl)),this.wrapper.append(this.waveEl))}},{key:"_calculatePositioning",value:function(){var e="fixed"===this.$origin.css("position");if(!e)for(var t=this.$origin.parents(),n=0;n<t.length&&!(e="fixed"==e_(t[n]).css("position"));n++);var i=this.$origin.outerWidth(),r=this.$origin.outerHeight(),o=e?this.$origin.offset().top-M.getDocumentScrollTop():this.$origin.offset().top,s=e?this.$origin.offset().left-M.getDocumentScrollLeft():this.$origin.offset().left,a=window.innerWidth,l=window.innerHeight,c=a/2,u=l/2,d=s<=c,h=o<=u,p=u<o,f=.25*a<=s&&s<=.75*a,m=this.$el.outerWidth(),g=this.$el.outerHeight(),v=o+r/2-g/2,y=s+i/2-m/2,b=e?"fixed":"absolute",w=2*i,_={};_.top=h?v+"px":"",_.right=c<s?a-y-m+"px":"",_.bottom=p?l-v-g+"px":"",_.left=d?y+"px":"",_.position=b,e_(this.wrapper).css(_),e_(this.contentEl).css({width:(f?m:m/2+i)+"px",height:g/2+"px",top:(h?g/2:0)+"px",right:"0px",bottom:"0px",left:(d&&!f?m/2-i:0)+"px",padding:i+"px",verticalAlign:p?"bottom":"top"}),e_(this.waveEl).css({top:g/2-w/2+"px",left:m/2-w/2+"px",width:w+"px",height:w+"px"})}},{key:"open",value:function(){this.isOpen||("function"==typeof this.options.onOpen&&this.options.onOpen.call(this,this.$origin[0]),this.isOpen=!0,this.wrapper.classList.add("open"),document.body.addEventListener("click",this._handleDocumentClickBound,!0),document.body.addEventListener("touchend",this._handleDocumentClickBound))}},{key:"close",value:function(){this.isOpen&&("function"==typeof this.options.onClose&&this.options.onClose.call(this,this.$origin[0]),this.isOpen=!1,this.wrapper.classList.remove("open"),document.body.removeEventListener("click",this._handleDocumentClickBound,!0),document.body.removeEventListener("touchend",this._handleDocumentClickBound))}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_TapTarget}},{key:"defaults",get:function(){return eE}}]),t}(),M.TapTarget=ex,M.jQueryLoaded&&M.initializeJqueryWrapper(ex,"tapTarget","M_TapTarget"),ek=cash,eT={classes:"",dropdownOptions:{}},eO=function(e){function t(e,n){eP(this,t);var i=eM(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return i.$el.hasClass("browser-default")?eM(i):((i.el.M_FormSelect=i).options=ek.extend({},t.defaults,n),i.isMultiple=i.$el.prop("multiple"),i.el.tabIndex=-1,i._keysSelected={},i._valueDict={},i._setupDropdown(),i._setupEventHandlers(),i)}return eR(t,eD),eL(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeDropdown(),this.el.M_FormSelect=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleSelectChangeBound=this._handleSelectChange.bind(this),this._handleOptionClickBound=this._handleOptionClick.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),ek(this.dropdownOptions).find("li:not(.optgroup)").each(function(t){t.addEventListener("click",e._handleOptionClickBound)}),this.el.addEventListener("change",this._handleSelectChangeBound),this.input.addEventListener("click",this._handleInputClickBound)}},{key:"_removeEventHandlers",value:function(){var e=this;ek(this.dropdownOptions).find("li:not(.optgroup)").each(function(t){t.removeEventListener("click",e._handleOptionClickBound)}),this.el.removeEventListener("change",this._handleSelectChangeBound),this.input.removeEventListener("click",this._handleInputClickBound)}},{key:"_handleSelectChange",value:function(e){this._setValueToInput()}},{key:"_handleOptionClick",value:function(e){e.preventDefault();var t=ek(e.target).closest("li")[0],n=t.id;if(!ek(t).hasClass("disabled")&&!ek(t).hasClass("optgroup")&&n.length){var i=!0;if(this.isMultiple){var r=ek(this.dropdownOptions).find("li.disabled.selected");r.length&&(r.removeClass("selected"),r.find('input[type="checkbox"]').prop("checked",!1),this._toggleEntryFromArray(r[0].id)),i=this._toggleEntryFromArray(n)}else ek(this.dropdownOptions).find("li").removeClass("selected"),ek(t).toggleClass("selected",i);ek(this._valueDict[n].el).prop("selected")!==i&&(ek(this._valueDict[n].el).prop("selected",i),this.$el.trigger("change"))}e.stopPropagation()}},{key:"_handleInputClick",value:function(){this.dropdown&&this.dropdown.isOpen&&(this._setValueToInput(),this._setSelectedStates())}},{key:"_setupDropdown",value:function(){var e=this;this.wrapper=document.createElement("div"),ek(this.wrapper).addClass("select-wrapper "+this.options.classes),this.$el.before(ek(this.wrapper)),this.wrapper.appendChild(this.el),this.el.disabled&&this.wrapper.classList.add("disabled"),this.$selectOptions=this.$el.children("option, optgroup"),this.dropdownOptions=document.createElement("ul"),this.dropdownOptions.id="select-options-"+M.guid(),ek(this.dropdownOptions).addClass("dropdown-content select-dropdown "+(this.isMultiple?"multiple-select-dropdown":"")),this.$selectOptions.length&&this.$selectOptions.each(function(t){if(ek(t).is("option")){var n=void 0;n=e.isMultiple?e._appendOptionWithIcon(e.$el,t,"multiple"):e._appendOptionWithIcon(e.$el,t),e._addOptionToValueDict(t,n)}else if(ek(t).is("optgroup")){var i=ek(t).children("option");ek(e.dropdownOptions).append(ek('<li class="optgroup"><span>'+t.getAttribute("label")+"</span></li>")[0]),i.each(function(t){var n=e._appendOptionWithIcon(e.$el,t,"optgroup-option");e._addOptionToValueDict(t,n)})}}),this.$el.after(this.dropdownOptions),this.input=document.createElement("input"),ek(this.input).addClass("select-dropdown dropdown-trigger"),this.input.setAttribute("type","text"),this.input.setAttribute("readonly","true"),this.input.setAttribute("data-target",this.dropdownOptions.id),this.el.disabled&&ek(this.input).prop("disabled","true"),this.$el.before(this.input),this._setValueToInput();var t=ek('<svg class="caret" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');if(this.$el.before(t[0]),!this.el.disabled){var n=ek.extend({},this.options.dropdownOptions);n.onOpenEnd=function(t){var n=ek(e.dropdownOptions).find(".selected").first();if(n.length&&(M.keyDown=!0,e.dropdown.focusedIndex=n.index(),e.dropdown._focusFocusedItem(),M.keyDown=!1,e.dropdown.isScrollable)){var i=n[0].getBoundingClientRect().top-e.dropdownOptions.getBoundingClientRect().top;i-=e.dropdownOptions.clientHeight/2,e.dropdownOptions.scrollTop=i}},this.isMultiple&&(n.closeOnClick=!1),this.dropdown=M.Dropdown.init(this.input,n)}this._setSelectedStates()}},{key:"_addOptionToValueDict",value:function(e,t){var n=Object.keys(this._valueDict).length,i=this.dropdownOptions.id+n,r={};t.id=i,r.el=e,r.optionEl=t,this._valueDict[i]=r}},{key:"_removeDropdown",value:function(){ek(this.wrapper).find(".caret").remove(),ek(this.input).remove(),ek(this.dropdownOptions).remove(),ek(this.wrapper).before(this.$el),ek(this.wrapper).remove()}},{key:"_appendOptionWithIcon",value:function(e,t,n){var i=t.disabled?"disabled ":"",r=this.isMultiple?'<label><input type="checkbox"'+i+'"/><span>'+t.innerHTML+"</span></label>":t.innerHTML,o=ek("<li></li>"),s=ek("<span></span>");s.html(r),o.addClass(i+" "+("optgroup-option"===n?"optgroup-option ":"")),o.append(s);var a=t.getAttribute("data-icon");if(a){var l=ek('<img alt="" src="'+a+'">');o.prepend(l)}return ek(this.dropdownOptions).append(o[0]),o[0]}},{key:"_toggleEntryFromArray",value:function(e){var t=!this._keysSelected.hasOwnProperty(e),n=ek(this._valueDict[e].optionEl);return t?this._keysSelected[e]=!0:delete this._keysSelected[e],n.toggleClass("selected",t),n.find('input[type="checkbox"]').prop("checked",t),n.prop("selected",t),t}},{key:"_setValueToInput",value:function(){var e=[];if(this.$el.find("option").each(function(t){if(ek(t).prop("selected")){var n=ek(t).text();e.push(n)}}),!e.length){var t=this.$el.find("option:disabled").eq(0);t.length&&""===t[0].value&&e.push(t.text())}this.input.value=e.join(", ")}},{key:"_setSelectedStates",value:function(){for(var e in this._keysSelected={},this._valueDict){var t=this._valueDict[e],n=ek(t.el).prop("selected");ek(t.optionEl).find('input[type="checkbox"]').prop("checked",n),n?(this._activateOption(ek(this.dropdownOptions),ek(t.optionEl)),this._keysSelected[e]=!0):ek(t.optionEl).removeClass("selected")}}},{key:"_activateOption",value:function(e,t){t&&(this.isMultiple||e.find("li.selected").removeClass("selected"),ek(t).addClass("selected"))}},{key:"getSelectedValues",value:function(){var e=[];for(var t in this._keysSelected)e.push(this._valueDict[t].el.value);return e}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_FormSelect}},{key:"defaults",get:function(){return eT}}]),t}(),M.FormSelect=eO,M.jQueryLoaded&&M.initializeJqueryWrapper(eO,"formSelect","M_FormSelect"),eC=cash,eA=M.anime,eS={},eN=function(e){function t(e,n){eP(this,t);var i=eM(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,t,e,n));return(i.el.M_Range=i).options=eC.extend({},t.defaults,n),i._mousedown=!1,i._setupThumb(),i._setupEventHandlers(),i}return eR(t,eD),eL(t,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeThumb(),this.el.M_Range=void 0}},{key:"_setupEventHandlers",value:function(){this._handleRangeChangeBound=this._handleRangeChange.bind(this),this._handleRangeMousedownTouchstartBound=this._handleRangeMousedownTouchstart.bind(this),this._handleRangeInputMousemoveTouchmoveBound=this._handleRangeInputMousemoveTouchmove.bind(this),this._handleRangeMouseupTouchendBound=this._handleRangeMouseupTouchend.bind(this),this._handleRangeBlurMouseoutTouchleaveBound=this._handleRangeBlurMouseoutTouchleave.bind(this),this.el.addEventListener("change",this._handleRangeChangeBound),this.el.addEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.addEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.addEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("change",this._handleRangeChangeBound),this.el.removeEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_handleRangeChange",value:function(){eC(this.value).html(this.$el.val()),eC(this.thumb).hasClass("active")||this._showRangeBubble();var e=this._calcRangeOffset();eC(this.thumb).addClass("active").css("left",e+"px")}},{key:"_handleRangeMousedownTouchstart",value:function(e){if(eC(this.value).html(this.$el.val()),this._mousedown=!0,this.$el.addClass("active"),eC(this.thumb).hasClass("active")||this._showRangeBubble(),"input"!==e.type){var t=this._calcRangeOffset();eC(this.thumb).addClass("active").css("left",t+"px")}}},{key:"_handleRangeInputMousemoveTouchmove",value:function(){if(this._mousedown){eC(this.thumb).hasClass("active")||this._showRangeBubble();var e=this._calcRangeOffset();eC(this.thumb).addClass("active").css("left",e+"px"),eC(this.value).html(this.$el.val())}}},{key:"_handleRangeMouseupTouchend",value:function(){this._mousedown=!1,this.$el.removeClass("active")}},{key:"_handleRangeBlurMouseoutTouchleave",value:function(){if(!this._mousedown){var e=7+parseInt(this.$el.css("padding-left"))+"px";eC(this.thumb).hasClass("active")&&(eA.remove(this.thumb),eA({targets:this.thumb,height:0,width:0,top:10,easing:"easeOutQuad",marginLeft:e,duration:100})),eC(this.thumb).removeClass("active")}}},{key:"_setupThumb",value:function(){this.thumb=document.createElement("span"),this.value=document.createElement("span"),eC(this.thumb).addClass("thumb"),eC(this.value).addClass("value"),eC(this.thumb).append(this.value),this.$el.after(this.thumb)}},{key:"_removeThumb",value:function(){eC(this.thumb).remove()}},{key:"_showRangeBubble",value:function(){var e=-7+parseInt(eC(this.thumb).parent().css("padding-left"))+"px";eA.remove(this.thumb),eA({targets:this.thumb,height:30,width:30,top:-30,marginLeft:e,duration:300,easing:"easeOutQuint"})}},{key:"_calcRangeOffset",value:function(){var e=this.$el.width()-15,t=parseFloat(this.$el.attr("max"))||100,n=parseFloat(this.$el.attr("min"))||0;return(parseFloat(this.$el.val())-n)/(t-n)*e}}],[{key:"init",value:function(e,n){return eI(t.__proto__||Object.getPrototypeOf(t),"init",this).call(this,this,e,n)}},{key:"getInstance",value:function(e){return(e.jquery?e[0]:e).M_Range}},{key:"defaults",get:function(){return eS}}]),t}(),M.Range=eN,M.jQueryLoaded&&M.initializeJqueryWrapper(eN,"range","M_Range"),eN.init(eC("input[type=range]"))},9556:function(e,t,n){"use strict";t.meiosisSetup=void 0;var i=n(2161);Object.defineProperty(t,"meiosisSetup",{enumerable:!0,get:function(){return i.meiosisSetup}})},2161:function(e,t,n){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.meiosisSetup=void 0;let r=n(1229),o=n(3072),s=i(n(8474)),a=(e,t,n)=>(n[e]=t,n),l=(e,t)=>t?e.concat(t):e,c=e=>e?Object.keys(e).reduce((t,n)=>a(n,Object.assign({},e[n].initial,c(e[n].nested)),t),{}):{},u=e=>Object.assign({},e.initial,c(e.nested)),d=e=>e?Object.keys(e).reduce((t,n)=>{let i=e[n];if(void 0!==i.view){let e=i.view;return a(n,{view:(t,...i)=>e(t.nest(n),...i),nested:d(i.nested)},t)}return t},{}):{},h=e=>d(e.nested),p=(e,t=e=>e,n=e=>e)=>e?Object.keys(e).reduce((i,r)=>{var o;let s=e=>t(e).nest(r),a=e=>n(e)[r],c=e[r];return l(i,null===(o=c.services)||void 0===o?void 0:o.map(e=>({onchange:t=>e.onchange?e.onchange(a(t)):t,run:t=>e.run(s(t))}))).concat(p(c.nested,s,a))},[]):[],f=e=>l([],e.services).concat(p(e.nested)),m=({stream:e,app:t})=>{!e&&(e=r.simpleStream);let n=t||{},i=u(n),o=h(n),a="function"==typeof e?e:e.stream,l=e.scan,c=a();return{states:l((e,t)=>(0,s.default)(e,t),i,c),update:c,view:o}},g=(e,t)=>({[t]:e}),v=(e,t)=>n=>e(g(n,t)),y=(e,t,n)=>i=>{let r=e.map(e=>e[i]),s=()=>e()[i],a=v(t,i),l=(0,o.get)(n,[i,"nested"]);return{states:r,state:s(),getState:s,update:a,nest:y(r,a,l),nested:l}};t.meiosisSetup=e=>{let t=null==e?void 0:e.stream,n=null==e?void 0:e.app,{states:i,update:o,view:s}=m({stream:t,app:n}),a=y(i,o,s),l=()=>i(),c=e=>({states:i,state:e,getState:l,update:o,nest:a,nested:s}),u=(0,r.createDropRepeats)(t);return n&&f(n).forEach(e=>{u(i,e.onchange).map(t=>e.run(c(t)))}),u(i).map(c)}},1229:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dropRepeats=t.createDropRepeats=t.simpleStream=t.scan=t.stream=void 0;t.stream=e=>{let n=[],i=e,r=function(e){if(arguments.length>0&&!r.ended)for(let t in i=e,n)n[t](i);return i};return r.map=e=>{let r=(0,t.stream)(),o=t=>{r(e(t))};return n.push(o),r.end=e=>{let t=n.indexOf(o);r.ended=!0,n.splice(t,1)},void 0!==i&&r(e(i)),r},r.end=e=>{r.ended=!0},r};t.scan=(e,n,i)=>{let r=(0,t.stream)(n),o=n;return i.map(t=>{r(o=e(o,t))}),r},t.simpleStream={stream:t.stream,scan:t.scan};t.createDropRepeats=(e=t.simpleStream)=>(t,n=e=>e)=>{let i;let r=("function"==typeof e?e:e.stream)();return t.map(e=>{let t=n(e);t!==i&&(i=t,r(e))}),r},t.dropRepeats=(0,t.createDropRepeats)()},3072:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.updateFormFloatValue=t.updateFormIntValue=t.updateFormValue=t.get=void 0;t.get=(e,t)=>t.reduce((e,t)=>void 0==e?void 0:e[t],e);let n=(e,t)=>({[e[0]]:1===e.length?t:n(e.slice(1),t)}),i=e=>Array.isArray(e)?e:[e],r=(e,t,r)=>o=>{let s=e(o.currentTarget.value);!isNaN(s)&&t.update(n(i(r),s))};t.updateFormValue=(e,t,r=e=>e)=>o=>e.update(n(i(t),r(o.currentTarget.value)));t.updateFormIntValue=(e,t)=>n=>r(parseInt,e,t)(n);t.updateFormFloatValue=(e,t)=>n=>r(parseFloat,e,t)(n)},8474:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return s}});let i=Object.assign||((e,t)=>(t&&Object.keys(t).forEach(n=>e[n]=t[n]),e)),r=(e,t,n)=>{let i=typeof n;if(n&&"object"===i){if(Array.isArray(n))for(let i of n)t=r(e,t,i);else for(let i of Object.keys(n)){let s=n[i];"function"==typeof s?t[i]=s(t[i],o):void 0===s?e&&!isNaN(i)?t.splice(i,1):delete t[i]:null===s||"object"!=typeof s||Array.isArray(s)?t[i]=s:"object"==typeof t[i]?t[i]=s===t[i]?s:o(t[i],s):t[i]=r(!1,{},s)}}else"function"===i&&(t=n(t,o));return t},o=(e,...t)=>{let n=Array.isArray(e);return r(n,n?e.slice():i({},e),t)},s=o},8507:function(e,t,n){"use strict";var i=n(1132);e.exports=function(e,t,n){var r=[],o=!1,s=-1;function a(){for(s=0;s<r.length;s+=2)try{e(r[s],i(r[s+1]),l)}catch(e){n.error(e)}s=-1}function l(){!o&&(o=!0,t(function(){o=!1,a()}))}return l.sync=a,{mount:function(t,n){if(null!=n&&null==n.view&&"function"!=typeof n)throw TypeError("m.mount expects a component, not a vnode.");var o=r.indexOf(t);o>=0&&(r.splice(o,2),o<=s&&(s-=2),e(t,[])),null!=n&&(r.push(t,n),e(t,i(n),l))},redraw:l}}},7966:function(e,t,n){"use strict";var i=n(1132),r=n(4142),o=n(7265),s=n(3444),a=n(5353),l=n(8858),c={};function u(e){try{return decodeURIComponent(e)}catch(t){return e}}e.exports=function(e,t){var n=null==e?null:"function"==typeof e.setImmediate?e.setImmediate:e.setTimeout,d=Promise.resolve(),h=!1,p=!1,f=0,m,g,v,y,b,w,_=c,E={onbeforeupdate:function(){return!(!(f=f?2:1)||c===_)},onremove:function(){e.removeEventListener("popstate",T,!1),e.removeEventListener("hashchange",k,!1)},view:function(){if(f&&c!==_){var e=[i(v,y.key,y)];return _&&(e=_.render(e[0])),e}}},x=C.SKIP={};function k(){h=!1;var n=e.location.hash;"#"!==C.prefix[0]&&(n=e.location.search+n,"?"!==C.prefix[0]&&"/"!==(n=e.location.pathname+n)[0]&&(n="/"+n));var i=n.concat().replace(/(?:%[a-f89][a-f0-9])+/gim,u).slice(C.prefix.length),r=s(i);function o(e){console.error(e),O(g,null,{replace:!0})}Object.assign(r.params,e.history.state),function e(n){for(;n<m.length;n++)if(m[n].check(r)){var s=m[n].component,a=m[n].route,l=s,c=w=function(o){if(c===w){if(o===x)return e(n+1);v=null!=o&&("function"==typeof o.view||"function"==typeof o)?o:"div",y=r.params,b=i,w=null,_=s.render?s:null,2===f?t.redraw():(f=2,t.redraw.sync())}};s.view||"function"==typeof s?(s={},c(l)):s.onmatch?d.then(function(){return s.onmatch(r.params,i,a)}).then(c,i===g?null:o):c("div");return}if(i===g)throw Error("Could not resolve default route "+g+".");O(g,null,{replace:!0})}(0)}function T(){!h&&(h=!0,n(k))}function O(t,n,i){if(t=o(t,n),p){T();var r=i?i.state:null,s=i?i.title:null;i&&i.replace?e.history.replaceState(r,s,C.prefix+t):e.history.pushState(r,s,C.prefix+t)}else e.location.href=C.prefix+t}function C(n,i,r){if(!n)throw TypeError("DOM element being rendered to does not exist.");if(m=Object.keys(r).map(function(e){if("/"!==e[0])throw SyntaxError("Routes must start with a '/'.");if(/:([^\/\.-]+)(\.{3})?:/.test(e))throw SyntaxError("Route parameter names must be separated with either '/', '.', or '-'.");return{route:e,component:r[e],check:a(e)}}),g=i,null!=i){var o=s(i);if(!m.some(function(e){return e.check(o)}))throw ReferenceError("Default route doesn't match any known routes.")}"function"==typeof e.history.pushState?e.addEventListener("popstate",T,!1):"#"===C.prefix[0]&&e.addEventListener("hashchange",k,!1),p=!0,t.mount(n,E),k()}return C.set=function(e,t,n){null!=w&&((n=n||{}).replace=!0),w=null,O(e,t,n)},C.get=function(){return b},C.prefix="#!",C.Link={view:function(e){var t,n,i,s=r(e.attrs.selector||"a",l(e.attrs,["options","params","selector","onclick"]),e.children);return(s.attrs.disabled=!!s.attrs.disabled)?(s.attrs.href=null,s.attrs["aria-disabled"]="true"):(t=e.attrs.options,n=e.attrs.onclick,i=o(s.attrs.href,e.attrs.params),s.attrs.href=C.prefix+i,s.attrs.onclick=function(e){var r;"function"==typeof n?r=n.call(e.currentTarget,e):null==n||"object"!=typeof n||"function"==typeof n.handleEvent&&n.handleEvent(e),!1!==r&&!e.defaultPrevented&&(0===e.button||0===e.which||1===e.which)&&(!e.currentTarget.target||"_self"===e.currentTarget.target)&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey&&(e.preventDefault(),e.redraw=!1,C.set(i,null,t))}),s}},C.param=function(e){return y&&null!=e?y[e]:y},C}},8943:function(e,t,n){"use strict";var i=n(4142);i.trust=n(6013),i.fragment=n(9559),e.exports=i},540:function(e,t,n){"use strict";var i=n(8943),r=n(5941),o=n(9691),s=n(7152),a=function(){return i.apply(this,arguments)};a.m=i,a.trust=i.trust,a.fragment=i.fragment,a.Fragment="[",a.mount=o.mount,a.route=n(4878),a.render=n(7347),a.redraw=o.redraw,a.request=r.request,a.parseQueryString=n(671),a.buildQueryString=n(9100),a.parsePathname=n(3444),a.buildPathname=n(7265),a.vnode=n(1132),a.censor=n(8858),a.domFor=s.domFor,e.exports=a},9691:function(e,t,n){"use strict";var i=n(7347);e.exports=n(8507)(i,"undefined"!=typeof requestAnimationFrame?requestAnimationFrame:null,"undefined"!=typeof console?console:null)},7265:function(e,t,n){"use strict";var i=n(9100);e.exports=function(e,t){if(/:([^\/\.-]+)(\.{3})?:/.test(e))throw SyntaxError("Template parameter names must be separated by either a '/', '-', or '.'.");if(null==t)return e;var n=e.indexOf("?"),r=e.indexOf("#"),o=r<0?e.length:r,s=n<0?o:n,a=e.slice(0,s),l={};Object.assign(l,t);var c=a.replace(/:([^\/\.-]+)(\.{3})?/g,function(e,n,i){return(delete l[n],null==t[n])?e:i?t[n]:encodeURIComponent(String(t[n]))}),u=c.indexOf("?"),d=c.indexOf("#"),h=d<0?c.length:d,p=u<0?h:u,f=c.slice(0,p);n>=0&&(f+=e.slice(n,o)),u>=0&&(f+=(n<0?"?":"&")+c.slice(u,h));var m=i(l);return m&&(f+=(n<0&&u<0?"?":"&")+m),r>=0&&(f+=e.slice(r)),d>=0&&(f+=(r<0?"":"&")+c.slice(d)),f}},5353:function(e,t,n){"use strict";var i=n(3444);e.exports=function(e){var t=i(e),n=Object.keys(t.params),r=[],o=RegExp("^"+t.path.replace(/:([^\/.-]+)(\.{3}|\.(?!\.)|-)?|[\\^$*+.()|\[\]{}]/g,function(e,t,n){return null==t?"\\"+e:(r.push({k:t,r:"..."===n}),"..."===n)?"(.*)":"."===n?"([^/]+)\\.":"([^/]+)"+(n||"")})+"$");return function(e){for(var i=0;i<n.length;i++)if(t.params[n[i]]!==e.params[n[i]])return!1;if(!r.length)return o.test(e.path);var s=o.exec(e.path);if(null==s)return!1;for(var i=0;i<r.length;i++)e.params[r[i].k]=r[i].r?s[i+1]:decodeURIComponent(s[i+1]);return!0}}},3444:function(e,t,n){"use strict";var i=n(671);e.exports=function(e){var t=e.indexOf("?"),n=e.indexOf("#"),r=n<0?e.length:n,o=t<0?r:t,s=e.slice(0,o).replace(/\/{2,}/g,"/");return s?"/"!==s[0]&&(s="/"+s):s="/",{path:s,params:t<0?{}:i(e.slice(t+1,r))}}},9100:function(e){"use strict";e.exports=function(e){if("[object Object]"!==Object.prototype.toString.call(e))return"";var t=[];for(var n in e)(function e(n,i){if(Array.isArray(i))for(var r=0;r<i.length;r++)e(n+"["+r+"]",i[r]);else if("[object Object]"===Object.prototype.toString.call(i))for(var r in i)e(n+"["+r+"]",i[r]);else t.push(encodeURIComponent(n)+(null!=i&&""!==i?"="+encodeURIComponent(i):""))})(n,e[n]);return t.join("&")}},671:function(e){"use strict";function t(e){try{return decodeURIComponent(e)}catch(t){return e}}e.exports=function(e){if(""===e||null==e)return{};"?"===e.charAt(0)&&(e=e.slice(1));for(var n=e.split("&"),i={},r={},o=0;o<n.length;o++){var s=n[o].split("="),a=t(s[0]),l=2===s.length?t(s[1]):"";"true"===l?l=!0:"false"===l&&(l=!1);var c=a.split(/\]\[?|\[/),u=r;a.indexOf("[")>-1&&c.pop();for(var d=0;d<c.length;d++){var h=c[d],p=c[d+1],f=""==p||!isNaN(parseInt(p,10));if(""===h){var a=c.slice(0,d).join();null==i[a]&&(i[a]=Array.isArray(u)?u.length:0),h=i[a]++}else if("__proto__"===h)break;if(d===c.length-1)u[h]=l;else{var m=Object.getOwnPropertyDescriptor(u,h);null!=m&&(m=m.value),null==m&&(u[h]=m=f?[]:{}),u=m}}}return r}},7347:function(e,t,n){"use strict";e.exports=n(7149)("undefined"!=typeof window?window:null)},7152:function(e){"use strict";var t=new WeakMap;e.exports={delayedRemoval:t,domFor:function*(e,n={}){var i=e.dom,r=e.domSize,o=n.generation;if(null!=i)do{var s=i.nextSibling;t.get(i)===o&&(yield i,r--),i=s}while(r)}}},9559:function(e,t,n){"use strict";var i=n(1132),r=n(8473);e.exports=function(){var e=r.apply(0,arguments);return e.tag="[",e.children=i.normalizeChildren(e.children),e}},4142:function(e,t,n){"use strict";var i=n(1132),r=n(8473),o=n(9781),s=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,a=Object.create(null);e.exports=function(e){if(null==e||"string"!=typeof e&&"function"!=typeof e&&"function"!=typeof e.view)throw Error("The selector must be either a string or a component.");var t,n,l,c,u,d=r.apply(1,arguments);if("string"==typeof e&&(d.children=i.normalizeChildren(d.children),"["!==e)){;return t=a[e]||function(e){for(var t,n="div",i=[],r={};t=s.exec(e);){var l=t[1],c=t[2];if(""===l&&""!==c)n=c;else if("#"===l)r.id=c;else if("."===l)i.push(c);else if("["===t[3][0]){var u=t[6];u&&(u=u.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")),"class"===t[4]?i.push(u):r[t[4]]=""===u?u:u||!0}}return i.length>0&&(r.className=i.join(" ")),function(e){for(var t in e)if(o.call(e,t))return!1;return!0}(r)&&(r=null),a[e]={tag:n,attrs:r}}(e),l=(n=d).attrs,u=(c=o.call(l,"class"))?l.class:l.className,n.tag=t.tag,null!=t.attrs?(l=Object.assign({},t.attrs,l),(null!=u||null!=t.attrs.className)&&(l.className=null!=u?null!=t.attrs.className?String(t.attrs.className)+" "+String(u):u:null!=t.attrs.className?t.attrs.className:null)):null!=u&&(l.className=u),c&&(l.class=null),"input"===t.tag&&o.call(l,"type")&&(l=Object.assign({type:l.type},l)),n.attrs=l,n}return d.tag=e,d}},8473:function(e,t,n){"use strict";var i=n(1132);e.exports=function(){var e,t=arguments[this],n=this+1;if(null==t?t={}:("object"!=typeof t||null!=t.tag||Array.isArray(t))&&(t={},n=this),arguments.length===n+1)e=arguments[n],!Array.isArray(e)&&(e=[e]);else for(e=[];n<arguments.length;)e.push(arguments[n++]);return i("",t.key,t,e)}},7149:function(e,t,n){"use strict";var i=n(1132),r=n(7152),o=r.delayedRemoval,s=r.domFor;e.exports=function(){var e,t,n,r={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"};function a(e){return e.ownerDocument}function l(e){return e.attrs&&e.attrs.xmlns||r[e.tag]}function c(e,t){if(e.state!==t)throw Error("'vnode.state' must not be modified.")}function u(e){var t=e.state;try{return this.apply(t,arguments)}finally{c(e,t)}}function d(e){try{return a(e).activeElement}catch(e){return null}}function h(e,t,n,i,r,o,s){for(var a=n;a<i;a++){var l=t[a];null!=l&&p(e,l,r,s,o)}}function p(e,t,n,r,o){var s=t.tag;if("string"==typeof s)switch(t.state={},null!=t.attrs&&R(t.attrs,t,n),s){case"#":(function(e,t,n){t.dom=a(e).createTextNode(t.children),_(e,t.dom,n)})(e,t,o);break;case"<":m(e,t,r,o);break;case"[":(function(e,t,n,i,r){var o=a(e).createDocumentFragment();if(null!=t.children){var s=t.children;h(o,s,0,s.length,n,null,i)}t.dom=o.firstChild,t.domSize=o.childNodes.length,_(e,o,r)})(e,t,n,r,o);break;default:(function(e,t,n,i,r){var o=t.tag,s=t.attrs,c=s&&s.is,u=(i=l(t)||i)?c?a(e).createElementNS(i,o,{is:c}):a(e).createElementNS(i,o):c?a(e).createElement(o,{is:c}):a(e).createElement(o);if(t.dom=u,null!=s&&function(e,t,n){for(var i in t)C(e,i,null,t[i],n)}(t,s,i),_(e,u,r),!E(t)&&null!=t.children){var d=t.children;h(u,d,0,d.length,n,null,i),"select"===t.tag&&null!=s&&function(e,t){if("value"in t){if(null===t.value)-1!==e.dom.selectedIndex&&(e.dom.value=null);else{var n=""+t.value;(e.dom.value!==n||-1===e.dom.selectedIndex)&&(e.dom.value=n)}}"selectedIndex"in t&&C(e,"selectedIndex",null,t.selectedIndex,void 0)}(t,s)}})(e,t,n,r,o)}else(function(e,t,n,r,o){!function(e,t){var n;if("function"==typeof e.tag.view){if(e.state=Object.create(e.tag),null!=(n=e.state.view).$$reentrantLock$$)return;n.$$reentrantLock$$=!0}else{if(e.state=void 0,null!=(n=e.tag).$$reentrantLock$$)return;n.$$reentrantLock$$=!0,e.state=null!=e.tag.prototype&&"function"==typeof e.tag.prototype.view?new e.tag(e):e.tag(e)}if(R(e.state,e,t),null!=e.attrs&&R(e.attrs,e,t),e.instance=i.normalize(u.call(e.state.view,e)),e.instance===e)throw Error("A view cannot return the vnode it received as argument");n.$$reentrantLock$$=null}(t,n),null!=t.instance?(p(e,t.instance,n,r,o),t.dom=t.instance.dom,t.domSize=null!=t.dom?t.instance.domSize:0):t.domSize=0})(e,t,n,r,o)}var f={caption:"table",thead:"table",tbody:"table",tfoot:"table",tr:"tbody",th:"tr",td:"tr",colgroup:"table",col:"colgroup"};function m(e,t,n,i){var r,o=t.children.match(/^\s*?<(\w+)/im)||[],s=a(e).createElement(f[o[1]]||"div");"http://www.w3.org/2000/svg"===n?(s.innerHTML='<svg xmlns="http://www.w3.org/2000/svg">'+t.children+"</svg>",s=s.firstChild):s.innerHTML=t.children,t.dom=s.firstChild,t.domSize=s.childNodes.length;for(var l=a(e).createDocumentFragment();r=s.firstChild;)l.appendChild(r);_(e,l,i)}function g(e,t,n,i,r,o){if(t!==n&&(null!=t||null!=n))if(null==t||0===t.length)h(e,n,0,n.length,i,r,o);else if(null==n||0===n.length)x(e,t,0,t.length);else{var s=null!=t[0]&&null!=t[0].key,a=null!=n[0]&&null!=n[0].key,l=0,c=0;if(!s)for(;c<t.length&&null==t[c];)c++;if(!a)for(;l<n.length&&null==n[l];)l++;if(s!==a)x(e,t,c,t.length),h(e,n,l,n.length,i,r,o);else if(a){for(var u,d,f,m,g,_,E=t.length-1,T=n.length-1;E>=c&&T>=l&&(m=t[E],g=n[T],m.key===g.key);){;m!==g&&v(e,m,g,i,r,o),null!=g.dom&&(r=g.dom),E--,T--}for(;E>=c&&T>=l&&(d=t[c],f=n[l],d.key===f.key);){;c++,l++,d!==f&&v(e,d,f,i,b(t,c,r),o)}for(;E>=c&&T>=l&&l!==T&&d.key===g.key&&m.key===f.key;){;w(e,m,_=b(t,c,r)),m!==f&&v(e,m,f,i,_,o),++l<=--T&&w(e,d,r),d!==g&&v(e,d,g,i,r,o),null!=g.dom&&(r=g.dom),c++,m=t[--E],g=n[T],d=t[c],f=n[l]}for(;E>=c&&T>=l&&m.key===g.key;){;m!==g&&v(e,m,g,i,r,o),null!=g.dom&&(r=g.dom),E--,T--,m=t[E],g=n[T]}if(l>T)x(e,t,c,E+1);else if(c>E)h(e,n,l,T+1,i,r,o);else{var u,O,C=r,A=T-l+1,S=Array(A),N=0,I=0,L=0x7fffffff,R=0;for(I=0;I<A;I++)S[I]=-1;for(I=T;I>=l;I--){null==u&&(u=function(e,t,n){for(var i=Object.create(null);t<n;t++){var r=e[t];if(null!=r){var o=r.key;null!=o&&(i[o]=t)}}return i}(t,c,E+1));var P=u[(g=n[I]).key];null!=P&&(L=P<L?P:-1,S[I-l]=P,m=t[P],t[P]=null,m!==g&&v(e,m,g,i,r,o),null!=g.dom&&(r=g.dom),R++)}if(r=C,R!==E-c+1&&x(e,t,c,E+1),0===R)h(e,n,l,T+1,i,r,o);else if(-1===L)for(N=(O=function(e){for(var t=[0],n=0,i=0,r=0,o=y.length=e.length,r=0;r<o;r++)y[r]=e[r];for(var r=0;r<o;++r)if(-1!==e[r]){var s=t[t.length-1];if(e[s]<e[r]){y[r]=s,t.push(r);continue}for(n=0,i=t.length-1;n<i;){var a=(n>>>1)+(i>>>1)+(n&i&1);e[t[a]]<e[r]?n=a+1:i=a}e[r]<e[t[n]]&&(n>0&&(y[r]=t[n-1]),t[n]=r)}for(n=t.length,i=t[n-1];n-- >0;)t[n]=i,i=y[i];return y.length=0,t}(S)).length-1,I=T;I>=l;I--)f=n[I],-1===S[I-l]?p(e,f,i,o,r):O[N]===I-l?N--:w(e,f,r),null!=f.dom&&(r=n[I].dom);else for(I=T;I>=l;I--)f=n[I],-1===S[I-l]&&p(e,f,i,o,r),null!=f.dom&&(r=n[I].dom)}}else{var D=t.length<n.length?t.length:n.length;for(l=l<c?l:c;l<D;l++){if(d=t[l],d!==(f=n[l])&&(null!=d||null!=f))null==d?p(e,f,i,o,b(t,l+1,r)):null==f?k(e,d):v(e,d,f,i,b(t,l+1,r),o)}t.length>D&&x(e,t,l,t.length),n.length>D&&h(e,n,l,n.length,i,r,o)}}}function v(e,t,n,r,o,s){var a=t.tag;if(a===n.tag){if(n.state=t.state,n.events=t.events,function(e,t){do{if(null!=e.attrs&&"function"==typeof e.attrs.onbeforeupdate){var n=u.call(e.attrs.onbeforeupdate,e,t);if(void 0!==n&&!n)break}if("string"!=typeof e.tag&&"function"==typeof e.state.onbeforeupdate){var n=u.call(e.state.onbeforeupdate,e,t);if(void 0!==n&&!n)break}return!1}while(!1);return e.dom=t.dom,e.domSize=t.domSize,e.instance=t.instance,e.attrs=t.attrs,e.children=t.children,e.text=t.text,!0}(n,t))return;if("string"==typeof a)switch(null!=n.attrs&&P(n.attrs,n,r),a){case"#":(function(e,t){e.children.toString()!==t.children.toString()&&(e.dom.nodeValue=t.children),t.dom=e.dom})(t,n);break;case"<":(function(e,t,n,i,r){t.children!==n.children?(T(e,t,void 0),m(e,n,i,r)):(n.dom=t.dom,n.domSize=t.domSize)})(e,t,n,s,o);break;case"[":(function(e,t,n,i,r,o){g(e,t.children,n.children,i,r,o);var s=0,a=n.children;if(n.dom=null,null!=a){for(var l=0;l<a.length;l++){var c=a[l];null!=c&&null!=c.dom&&(null==n.dom&&(n.dom=c.dom),s+=c.domSize||1)}1!==s&&(n.domSize=s)}})(e,t,n,r,o,s);break;default:(function(e,t,n,i){var r=t.dom=e.dom;i=l(t)||i,function(e,t,n,i){var r;if(t&&t===n&&console.warn("Don't reuse attrs object, use new object for every redraw, this will throw in next major"),null!=n)for(var o in n)C(e,o,t&&t[o],n[o],i);if(null!=t)for(var o in t)null!=(r=t[o])&&(null==n||null==n[o])&&!function(e,t,n,i){if(!("key"===t||"is"===t||null==n||A(t))){if("o"===t[0]&&"n"===t[1])L(e,t,void 0);else if("style"===t)N(e.dom,n,null);else if(!S(e,t,i)||"className"===t||"title"===t||"value"===t&&("option"===e.tag||"select"===e.tag&&-1===e.dom.selectedIndex&&e.dom===d(e.dom))||"input"===e.tag&&"type"===t){var r=t.indexOf(":");-1!==r&&(t=t.slice(r+1)),!1!==n&&e.dom.removeAttribute("className"===t?"class":t)}else e.dom[t]=null}}(e,o,r,i)}(t,e.attrs,t.attrs,i),!E(t)&&g(r,e.children,t.children,n,null,i)})(t,n,r,s)}else(function(e,t,n,r,o,s){if(n.instance=i.normalize(u.call(n.state.view,n)),n.instance===n)throw Error("A view cannot return the vnode it received as argument");P(n.state,n,r),null!=n.attrs&&P(n.attrs,n,r),null!=n.instance?(null==t.instance?p(e,n.instance,r,s,o):v(e,t.instance,n.instance,r,o,s),n.dom=n.instance.dom,n.domSize=n.instance.domSize):null!=t.instance?(k(e,t.instance),n.dom=void 0,n.domSize=0):(n.dom=t.dom,n.domSize=t.domSize)})(e,t,n,r,o,s)}else k(e,t),p(e,n,r,s,o)}var y=[];function b(e,t,n){for(;t<e.length;t++)if(null!=e[t]&&null!=e[t].dom)return e[t].dom;return n}function w(e,t,n){if(null!=t.dom){var i;if(null==t.domSize)i=t.dom;else for(var r of(i=a(e).createDocumentFragment(),s(t)))i.appendChild(r);_(e,i,n)}}function _(e,t,n){null!=n?e.insertBefore(t,n):e.appendChild(t)}function E(e){if(null==e.attrs||null==e.attrs.contenteditable&&null==e.attrs.contentEditable)return!1;var t=e.children;if(null!=t&&1===t.length&&"<"===t[0].tag){var n=t[0].children;e.dom.innerHTML!==n&&(e.dom.innerHTML=n)}else if(null!=t&&0!==t.length)throw Error("Child node of a contenteditable must be trusted.");return!0}function x(e,t,n,i){for(var r=n;r<i;r++){var o=t[r];null!=o&&k(e,o)}}function k(e,n){var i,r,a,l=0,d=n.state;if("string"!=typeof n.tag&&"function"==typeof n.state.onbeforeremove){var h=u.call(n.state.onbeforeremove,n);null!=h&&"function"==typeof h.then&&(l=1,i=h)}if(n.attrs&&"function"==typeof n.attrs.onbeforeremove){var h=u.call(n.attrs.onbeforeremove,n);null!=h&&"function"==typeof h.then&&(l|=2,r=h)}if(c(n,d),l){for(var p of(a=t,s(n)))o.set(p,a);null!=i&&i.finally(function(){1&l&&!(l&=2)&&(c(n,d),O(n),T(e,n,a))}),null!=r&&r.finally(function(){2&l&&!(l&=1)&&(c(n,d),O(n),T(e,n,a))})}else O(n),T(e,n,a)}function T(e,t,n){if(null!=t.dom){if(null==t.domSize)o.get(t.dom)===n&&e.removeChild(t.dom);else for(var i of s(t,{generation:n}))e.removeChild(i)}}function O(e){if("string"!=typeof e.tag&&"function"==typeof e.state.onremove&&u.call(e.state.onremove,e),e.attrs&&"function"==typeof e.attrs.onremove&&u.call(e.attrs.onremove,e),"string"!=typeof e.tag)null!=e.instance&&O(e.instance);else{var t=e.children;if(Array.isArray(t))for(var n=0;n<t.length;n++){var i=t[n];null!=i&&O(i)}}}function C(e,t,n,i,r){if(!("key"===t||"is"===t||null==i||A(t))&&(n!==i||function(e,t){return"value"===t||"checked"===t||"selectedIndex"===t||"selected"===t&&e.dom===d(e.dom)||"option"===e.tag&&e.dom.parentNode===d(e.dom)}(e,t)||"object"==typeof i)){if("o"===t[0]&&"n"===t[1])return L(e,t,i);if("xlink:"===t.slice(0,6))e.dom.setAttributeNS("http://www.w3.org/1999/xlink",t.slice(6),i);else if("style"===t)N(e.dom,n,i);else if(S(e,t,r)){if("value"===t){var o="input"===e.tag&&"file"===e.attrs.type;if(("input"===e.tag||"textarea"===e.tag)&&e.dom.value===""+i&&(o||e.dom===d(e.dom))||"select"===e.tag&&null!==n&&e.dom.value===""+i||"option"===e.tag&&null!==n&&e.dom.value===""+i)return;if(o&&""+i!=""){console.error("`value` is read-only on file inputs!");return}}"input"===e.tag&&"type"===t?e.dom.setAttribute(t,i):e.dom[t]=i}else"boolean"==typeof i?i?e.dom.setAttribute(t,""):e.dom.removeAttribute(t):e.dom.setAttribute("className"===t?"class":t,i)}}function A(e){return"oninit"===e||"oncreate"===e||"onupdate"===e||"onremove"===e||"onbeforeremove"===e||"onbeforeupdate"===e}function S(e,t,n){return void 0===n&&(e.tag.indexOf("-")>-1||null!=e.attrs&&e.attrs.is||"href"!==t&&"list"!==t&&"form"!==t&&"width"!==t&&"height"!==t)&&t in e.dom}function N(e,t,n){if(t===n);else if(null==n)e.style="";else if("object"!=typeof n)e.style=n;else if(null==t||"object"!=typeof t)for(var i in e.style.cssText="",n){var r=n[i];null!=r&&(i.includes("-")?e.style.setProperty(i,String(r)):e.style[i]=String(r))}else{for(var i in n){var r=n[i];null!=r&&(r=String(r))!==String(t[i])&&(i.includes("-")?e.style.setProperty(i,r):e.style[i]=r)}for(var i in t)null!=t[i]&&null==n[i]&&(i.includes("-")?e.style.removeProperty(i):e.style[i]="")}}function I(){this._=e}function L(t,n,i){null!=t.events?(t.events._=e,t.events[n]!==i&&(null!=i&&("function"==typeof i||"object"==typeof i)?(null==t.events[n]&&t.dom.addEventListener(n.slice(2),t.events,!1),t.events[n]=i):(null!=t.events[n]&&t.dom.removeEventListener(n.slice(2),t.events,!1),t.events[n]=void 0))):null!=i&&("function"==typeof i||"object"==typeof i)&&(t.events=new I,t.dom.addEventListener(n.slice(2),t.events,!1),t.events[n]=i)}function R(e,t,n){"function"==typeof e.oninit&&u.call(e.oninit,t),"function"==typeof e.oncreate&&n.push(u.bind(e.oncreate,t))}function P(e,t,n){"function"==typeof e.onupdate&&n.push(u.bind(e.onupdate,t))}return I.prototype=Object.create(null),I.prototype.handleEvent=function(e){var t,n=this["on"+e.type];"function"==typeof n?t=n.call(e.currentTarget,e):"function"==typeof n.handleEvent&&n.handleEvent(e),this._&&!1!==e.redraw&&(0,this._)(),!1===t&&(e.preventDefault(),e.stopPropagation())},function(r,o,s){if(!r)throw TypeError("DOM element being rendered to does not exist.");if(null!=n&&r.contains(n))throw TypeError("Node is currently being rendered to and thus is locked.");var a=e,l=n,c=[],u=d(r),h=r.namespaceURI;n=r,e="function"==typeof s?s:void 0,t={};try{null==r.vnodes&&(r.textContent=""),o=i.normalizeChildren(Array.isArray(o)?o:[o]),g(r,r.vnodes,o,c,null,"http://www.w3.org/1999/xhtml"===h?void 0:h),r.vnodes=o,null!=u&&d(r)!==u&&"function"==typeof u.focus&&u.focus();for(var p=0;p<c.length;p++)c[p]()}finally{e=a,n=l}}}},6013:function(e,t,n){"use strict";var i=n(1132);e.exports=function(e){return null==e&&(e=""),i("<",void 0,void 0,e,void 0,void 0)}},1132:function(e){"use strict";function t(e,t,n,i,r,o){return{tag:e,key:t,attrs:n,children:i,text:r,dom:o,domSize:void 0,state:void 0,events:void 0,instance:void 0}}t.normalize=function(e){return Array.isArray(e)?t("[",void 0,void 0,t.normalizeChildren(e),void 0,void 0):null==e||"boolean"==typeof e?null:"object"==typeof e?e:t("#",void 0,void 0,String(e),void 0,void 0)},t.normalizeChildren=function(e){var n=[];if(e.length){for(var i=null!=e[0]&&null!=e[0].key,r=1;r<e.length;r++)if((null!=e[r]&&null!=e[r].key)!==i)throw TypeError(i&&(null!=e[r]||"boolean"==typeof e[r])?"In fragments, vnodes must either all have keys or none have keys. You may wish to consider using an explicit keyed empty fragment, m.fragment({key: ...}), instead of a hole.":"In fragments, vnodes must either all have keys or none have keys.");for(var r=0;r<e.length;r++)n[r]=t.normalize(e[r])}return n},e.exports=t},5941:function(e,t,n){"use strict";var i=n(9691);e.exports=n(406)("undefined"!=typeof window?window:null,i.redraw)},406:function(e,t,n){"use strict";var i=n(7265),r=n(9781);e.exports=function(e,t){function n(e){return new Promise(e)}function o(e,t){for(var n in e.headers)if(r.call(e.headers,n)&&n.toLowerCase()===t)return!0;return!1}return n.prototype=Promise.prototype,n.__proto__=Promise,{request:function(s,a){"string"!=typeof s?(a=s,s=s.url):null==a&&(a={});var l,c,u=(l=s,c=a,new Promise(function(t,n){l=i(l,c.params);var s=null!=c.method?c.method.toUpperCase():"GET",a=c.body,u=(null==c.serialize||c.serialize===JSON.serialize)&&!(a instanceof e.FormData||a instanceof e.URLSearchParams),d=c.responseType||("function"==typeof c.extract?"":"json"),h=new e.XMLHttpRequest,p=!1,f=!1,m,g=h,v=h.abort;for(var y in h.abort=function(){p=!0,v.call(this)},h.open(s,l,!1!==c.async,"string"==typeof c.user?c.user:void 0,"string"==typeof c.password?c.password:void 0),u&&null!=a&&!o(c,"content-type")&&h.setRequestHeader("Content-Type","application/json; charset=utf-8"),"function"!=typeof c.deserialize&&!o(c,"accept")&&h.setRequestHeader("Accept","application/json, text/*"),c.withCredentials&&(h.withCredentials=c.withCredentials),c.timeout&&(h.timeout=c.timeout),h.responseType=d,c.headers)r.call(c.headers,y)&&h.setRequestHeader(y,c.headers[y]);h.onreadystatechange=function(e){if(!p&&4===e.target.readyState)try{var i,r=e.target.status>=200&&e.target.status<300||304===e.target.status||/^file:\/\//i.test(l),o=e.target.response;if("json"===d){if(!e.target.responseType&&"function"!=typeof c.extract)try{o=JSON.parse(e.target.responseText)}catch(e){o=null}}else(!d||"text"===d)&&null==o&&(o=e.target.responseText);if("function"==typeof c.extract?(o=c.extract(e.target,c),r=!0):"function"==typeof c.deserialize&&(o=c.deserialize(o)),r){if("function"==typeof c.type){if(Array.isArray(o))for(var s=0;s<o.length;s++)o[s]=new c.type(o[s]);else o=new c.type(o)}t(o)}else{var a=function(){try{i=e.target.responseText}catch(e){i=o}var t=Error(i);t.code=e.target.status,t.response=o,n(t)};0===h.status?setTimeout(function(){!f&&a()}):a()}}catch(e){n(e)}},h.ontimeout=function(e){f=!0;var t=Error("Request timed out");t.code=e.target.status,n(t)},"function"==typeof c.config&&(h=c.config(h,c,l)||h)!==g&&(m=h.abort,h.abort=function(){p=!0,m.call(this)}),null==a?h.send():"function"==typeof c.serialize?h.send(c.serialize(a)):a instanceof e.FormData||a instanceof e.URLSearchParams?h.send(a):h.send(JSON.stringify(a))}));if(!0===a.background)return u;var d=0;function h(){0==--d&&"function"==typeof t&&t()}return function e(t){var i=t.then;return t.constructor=n,t.then=function(){d++;var n=i.apply(t,arguments);return n.then(h,function(e){if(h(),0===d)throw e}),e(n)},t}(u)}}}},4878:function(e,t,n){"use strict";var i=n(9691);e.exports=n(7966)("undefined"!=typeof window?window:null,i)},8858:function(e,t,n){"use strict";var i=n(9781),r=RegExp("^(?:key|oninit|oncreate|onbeforeupdate|onupdate|onbeforeremove|onremove)$");e.exports=function(e,t){var n={};if(null!=t)for(var o in e)i.call(e,o)&&!r.test(o)&&0>t.indexOf(o)&&(n[o]=e[o]);else for(var o in e)i.call(e,o)&&!r.test(o)&&(n[o]=e[o]);return n}},9781:function(e){"use strict";e.exports=({}).hasOwnProperty},301:function(e,t,n){"use strict";var i,r;Object.defineProperty(t,"__esModule",{value:!0});let o=n(2323),s=n(5899);(r=i||(i={})).compose=function(e={},t={},n=!1){"object"!=typeof e&&(e={}),"object"!=typeof t&&(t={});let i=o(t);for(let r in!n&&(i=Object.keys(i).reduce((e,t)=>(null!=i[t]&&(e[t]=i[t]),e),{})),e)void 0!==e[r]&&void 0===t[r]&&(i[r]=e[r]);return Object.keys(i).length>0?i:void 0},r.diff=function(e={},t={}){"object"!=typeof e&&(e={}),"object"!=typeof t&&(t={});let n=Object.keys(e).concat(Object.keys(t)).reduce((n,i)=>(!s(e[i],t[i])&&(n[i]=void 0===t[i]?null:t[i]),n),{});return Object.keys(n).length>0?n:void 0},r.invert=function(e={},t={}){e=e||{};let n=Object.keys(t).reduce((n,i)=>(t[i]!==e[i]&&void 0!==e[i]&&(n[i]=t[i]),n),{});return Object.keys(e).reduce((n,i)=>(e[i]!==t[i]&&void 0===t[i]&&(n[i]=null),n),n)},r.transform=function(e,t,n=!1){if("object"!=typeof e)return t;if("object"!=typeof t)return;if(!n)return t;let i=Object.keys(t).reduce((n,i)=>(void 0===e[i]&&(n[i]=t[i]),n),{});return Object.keys(i).length>0?i:void 0},t.default=i},3258:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AttributeMap=t.OpIterator=t.Op=void 0;let i=n(2158),r=n(2323),o=n(5899),s=n(301);t.AttributeMap=s.default;let a=n(8133);t.Op=a.default;let l=n(7316);t.OpIterator=l.default;let c=(e,t)=>{if("object"!=typeof e||null===e)throw Error(`cannot retain a ${typeof e}`);if("object"!=typeof t||null===t)throw Error(`cannot retain a ${typeof t}`);let n=Object.keys(e)[0];if(!n||n!==Object.keys(t)[0])throw Error(`embed types not matched: ${n} != ${Object.keys(t)[0]}`);return[n,e[n],t[n]]};class u{constructor(e){Array.isArray(e)?this.ops=e:null!=e&&Array.isArray(e.ops)?this.ops=e.ops:this.ops=[]}static registerEmbed(e,t){this.handlers[e]=t}static unregisterEmbed(e){delete this.handlers[e]}static getHandler(e){let t=this.handlers[e];if(!t)throw Error(`no handlers for embed type "${e}"`);return t}insert(e,t){let n={};return"string"==typeof e&&0===e.length?this:(n.insert=e,null!=t&&"object"==typeof t&&Object.keys(t).length>0&&(n.attributes=t),this.push(n))}delete(e){return e<=0?this:this.push({delete:e})}retain(e,t){if("number"==typeof e&&e<=0)return this;let n={retain:e};return null!=t&&"object"==typeof t&&Object.keys(t).length>0&&(n.attributes=t),this.push(n)}push(e){let t=this.ops.length,n=this.ops[t-1];if(e=r(e),"object"==typeof n){if("number"==typeof e.delete&&"number"==typeof n.delete)return this.ops[t-1]={delete:n.delete+e.delete},this;if("number"==typeof n.delete&&null!=e.insert&&(t-=1,"object"!=typeof(n=this.ops[t-1])))return this.ops.unshift(e),this;if(o(e.attributes,n.attributes)){if("string"==typeof e.insert&&"string"==typeof n.insert)return this.ops[t-1]={insert:n.insert+e.insert},"object"==typeof e.attributes&&(this.ops[t-1].attributes=e.attributes),this;if("number"==typeof e.retain&&"number"==typeof n.retain)return this.ops[t-1]={retain:n.retain+e.retain},"object"==typeof e.attributes&&(this.ops[t-1].attributes=e.attributes),this}}return t===this.ops.length?this.ops.push(e):this.ops.splice(t,0,e),this}chop(){let e=this.ops[this.ops.length-1];return e&&"number"==typeof e.retain&&!e.attributes&&this.ops.pop(),this}filter(e){return this.ops.filter(e)}forEach(e){this.ops.forEach(e)}map(e){return this.ops.map(e)}partition(e){let t=[],n=[];return this.forEach(i=>{(e(i)?t:n).push(i)}),[t,n]}reduce(e,t){return this.ops.reduce(e,t)}changeLength(){return this.reduce((e,t)=>t.insert?e+a.default.length(t):t.delete?e-t.delete:e,0)}length(){return this.reduce((e,t)=>e+a.default.length(t),0)}slice(e=0,t=1/0){let n=[],i=new l.default(this.ops),r=0;for(;r<t&&i.hasNext();){let o;r<e?o=i.next(e-r):(o=i.next(t-r),n.push(o)),r+=a.default.length(o)}return new u(n)}compose(e){let t=new l.default(this.ops),n=new l.default(e.ops),i=[],r=n.peek();if(null!=r&&"number"==typeof r.retain&&null==r.attributes){let e=r.retain;for(;"insert"===t.peekType()&&t.peekLength()<=e;)e-=t.peekLength(),i.push(t.next());r.retain-e>0&&n.next(r.retain-e)}let a=new u(i);for(;t.hasNext()||n.hasNext();)if("insert"===n.peekType())a.push(n.next());else if("delete"===t.peekType())a.push(t.next());else{let e=Math.min(t.peekLength(),n.peekLength()),i=t.next(e),r=n.next(e);if(r.retain){let l={};if("number"==typeof i.retain)l.retain="number"==typeof r.retain?e:r.retain;else if("number"==typeof r.retain)null==i.retain?l.insert=i.insert:l.retain=i.retain;else{let e=null==i.retain?"insert":"retain",[t,n,o]=c(i[e],r.retain),s=u.getHandler(t);l[e]={[t]:s.compose(n,o,"retain"===e)}}let d=s.default.compose(i.attributes,r.attributes,"number"==typeof i.retain);if(d&&(l.attributes=d),a.push(l),!n.hasNext()&&o(a.ops[a.ops.length-1],l)){let e=new u(t.rest());return a.concat(e).chop()}}else"number"==typeof r.delete&&("number"==typeof i.retain||"object"==typeof i.retain&&null!==i.retain)&&a.push(r)}return a.chop()}concat(e){let t=new u(this.ops.slice());return e.ops.length>0&&(t.push(e.ops[0]),t.ops=t.ops.concat(e.ops.slice(1))),t}diff(e,t){if(this.ops===e.ops)return new u;let n=[this,e].map(t=>t.map(n=>{if(null!=n.insert)return"string"==typeof n.insert?n.insert:"\0";throw Error("diff() called "+(t===e?"on":"with")+" non-document")}).join("")),r=new u,a=i(n[0],n[1],t,!0),c=new l.default(this.ops),d=new l.default(e.ops);return a.forEach(e=>{let t=e[1].length;for(;t>0;){let n=0;switch(e[0]){case i.INSERT:n=Math.min(d.peekLength(),t),r.push(d.next(n));break;case i.DELETE:n=Math.min(t,c.peekLength()),c.next(n),r.delete(n);break;case i.EQUAL:n=Math.min(c.peekLength(),d.peekLength(),t);let a=c.next(n),l=d.next(n);o(a.insert,l.insert)?r.retain(n,s.default.diff(a.attributes,l.attributes)):r.push(l).delete(n)}t-=n}}),r.chop()}eachLine(e,t="\n"){let n=new l.default(this.ops),i=new u,r=0;for(;n.hasNext();){if("insert"!==n.peekType())return;let o=n.peek(),s=a.default.length(o)-n.peekLength(),l="string"==typeof o.insert?o.insert.indexOf(t,s)-s:-1;if(l<0)i.push(n.next());else if(l>0)i.push(n.next(l));else{if(!1===e(i,n.next(1).attributes||{},r))return;r+=1,i=new u}}i.length()>0&&e(i,{},r)}invert(e){let t=new u;return this.reduce((n,i)=>{if(i.insert)t.delete(a.default.length(i));else if("number"==typeof i.retain&&null==i.attributes)return t.retain(i.retain),n+i.retain;else if(i.delete||"number"==typeof i.retain){let r=i.delete||i.retain;return e.slice(n,n+r).forEach(e=>{i.delete?t.push(e):i.retain&&i.attributes&&t.retain(a.default.length(e),s.default.invert(i.attributes,e.attributes))}),n+r}else if("object"==typeof i.retain&&null!==i.retain){let r=e.slice(n,n+1),o=new l.default(r.ops).next(),[a,d,h]=c(i.retain,o.insert),p=u.getHandler(a);return t.retain({[a]:p.invert(d,h)},s.default.invert(i.attributes,o.attributes)),n+1}return n},0),t.chop()}transform(e,t=!1){if(t=!!t,"number"==typeof e)return this.transformPosition(e,t);let n=new l.default(this.ops),i=new l.default(e.ops),r=new u;for(;n.hasNext()||i.hasNext();)if("insert"===n.peekType()&&(t||"insert"!==i.peekType()))r.retain(a.default.length(n.next()));else if("insert"===i.peekType())r.push(i.next());else{let e=Math.min(n.peekLength(),i.peekLength()),o=n.next(e),a=i.next(e);if(o.delete)continue;if(a.delete)r.push(a);else{let n=o.retain,i=a.retain,l="object"==typeof i&&null!==i?i:e;if("object"==typeof n&&null!==n&&"object"==typeof i&&null!==i){let e=Object.keys(n)[0];if(e===Object.keys(i)[0]){let r=u.getHandler(e);r&&(l={[e]:r.transform(n[e],i[e],t)})}}r.retain(l,s.default.transform(o.attributes,a.attributes,t))}}return r.chop()}transformPosition(e,t=!1){t=!!t;let n=new l.default(this.ops),i=0;for(;n.hasNext()&&i<=e;){let r=n.peekLength(),o=n.peekType();if(n.next(),"delete"===o){e-=Math.min(r,e-i);continue}"insert"===o&&(i<e||!t)&&(e+=r);i+=r}return e}}u.Op=a.default,u.OpIterator=l.default,u.AttributeMap=s.default,u.handlers={},t.default=u;e.exports=u,e.exports.default=u},8133:function(e,t){"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),(n||(n={})).length=function(e){if("number"==typeof e.delete)return e.delete;if("number"==typeof e.retain)return e.retain;if("object"==typeof e.retain&&null!==e.retain)return 1;else return"string"==typeof e.insert?e.insert.length:1},t.default=n},7316:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=n(8133);t.default=class e{constructor(e){this.ops=e,this.index=0,this.offset=0}hasNext(){return this.peekLength()<1/0}next(e){!e&&(e=1/0);let t=this.ops[this.index];if(!t)return{retain:1/0};{let n=this.offset,r=i.default.length(t);if(e>=r-n?(e=r-n,this.index+=1,this.offset=0):this.offset+=e,"number"==typeof t.delete)return{delete:e};{let i={};return t.attributes&&(i.attributes=t.attributes),"number"==typeof t.retain?i.retain=e:"object"==typeof t.retain&&null!==t.retain?i.retain=t.retain:"string"==typeof t.insert?i.insert=t.insert.substr(n,e):i.insert=t.insert,i}}}peek(){return this.ops[this.index]}peekLength(){return this.ops[this.index]?i.default.length(this.ops[this.index])-this.offset:1/0}peekType(){let e=this.ops[this.index];if(e){if("number"==typeof e.delete)return"delete";if("number"!=typeof e.retain&&("object"!=typeof e.retain||null===e.retain))return"insert"}return"retain"}rest(){if(!this.hasNext())return[];if(0===this.offset)return this.ops.slice(this.index);{let e=this.offset,t=this.index,n=this.next(),i=this.ops.slice(this.index);return this.offset=e,this.index=t,[n].concat(i)}}}},3205:function(e,t,n){var i,r;i=self,r=function(e){var t,n;return t={190:e=>{var t,n;self,e.exports=(t={607:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.parseQuillDelta=void 0;let n=!1;function i(e){e.paragraphs.push({textRuns:[]})}function r(e,t,n){var i,r;n?(null===(i=t.paragraphs[t.paragraphs.length-1].textRuns)||void 0===i||i.push({text:e,attributes:n}),n.link&&t.setup.hyperlinks.push({text:e,link:n.link})):null===(r=t.paragraphs[t.paragraphs.length-1].textRuns)||void 0===r||r.push({text:e})}t.parseQuillDelta=function(e){n=!1;let t={paragraphs:[],setup:{numberedLists:0,hyperlinks:[]}};for(let o of e.ops)(function(e,t){var o,s,a,l,c,u,d;e.insert.video||e.insert.image?(o=e,(s=t).paragraphs.push({embed:o.insert}),n=!1,i(s)):e.insert.formula?(a=e,0===(l=t).paragraphs.length&&i(l),null===(c=l.paragraphs[l.paragraphs.length-1].textRuns)||void 0===c||c.push({formula:a.insert.formula,attributes:a.attributes})):"\n"===e.insert?(u=e,d=t,u.attributes&&(d.paragraphs[d.paragraphs.length-1].attributes=u.attributes,"ordered"===u.attributes.list?n||(d.setup.numberedLists++,n=!0):n=!1),i(d)):function(e,t){if(0===t.paragraphs.length&&i(t),e.insert.match(/\n/))for(let o of e.insert.split(/(\n)/))"\n"===o?(i(t),n=!1):r(o,t);else r(e.insert,t,e.attributes)}(e,t)})(o,t);return t}}},n={},function e(i){if(n[i])return n[i].exports;var r=n[i]={exports:{}};return t[i](r,r.exports,e),r.exports}(607))},829:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultNumbering=t.customBulletLevels=t.customNumberedLevels=t.defaultStyles=void 0;let i=n(687);t.defaultStyles=[{id:"normal",name:"Normal",next:"normal",basedOn:"normal",quickFormat:!0,run:{size:24},paragraph:{spacing:{line:480,before:0,after:0}}},{id:"header_1",name:"Heading 1",next:"normal",quickFormat:!0,run:{font:"Calibri",size:30,bold:!0},paragraph:{spacing:{before:300,after:200}}},{id:"header_2",name:"Heading 2",basedOn:"normal",next:"normal",quickFormat:!0,run:{font:"Calibri",size:26,bold:!0},paragraph:{spacing:{before:200,after:100}}},{id:"list_paragraph",name:"List Paragraph",basedOn:"normal",quickFormat:!0,run:{size:24}},{id:"code_block",name:"Code Block",basedOn:"normal",quickFormat:!0,run:{size:24,font:"Courier New"},paragraph:{indent:{left:720,right:720}}},{id:"block_quote",name:"Block Quote",basedOn:"normal",quickFormat:!0,run:{italics:!0},paragraph:{indent:{left:540},border:{left:{size:12,space:28,color:"333333",value:"single"}}}},{id:"citation",name:"Citation",basedOn:"normal",quickFormat:!0,run:{size:24},paragraph:{indent:{left:0,hanging:320},spacing:{line:480}}}],t.customNumberedLevels=[{level:0,format:"decimal",text:"%1.",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:720,hanging:360}}}},{level:1,format:"lowerLetter",text:"%2.",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:1440,hanging:360}}}},{level:2,format:"lowerRoman",text:"%3.",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:2160,hanging:360}}}},{level:3,format:"decimal",text:"%4.",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:2880,hanging:360}}}},{level:4,format:"lowerLetter",text:"%5.",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:3600,hanging:360}}}},{level:3,format:"lowerRoman",text:"%5.",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:4320,hanging:360}}}}],t.customBulletLevels=[{level:0,format:"bullet",text:"•",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:720,hanging:360}}}},{level:1,format:"bullet",text:"•",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:1440,hanging:360}}}},{level:2,format:"bullet",text:"•",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:2160,hanging:360}}}},{level:3,format:"bullet",text:"•",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:2880,hanging:360}}}},{level:4,format:"bullet",text:"•",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:3600,hanging:360}}}},{level:3,format:"bullet",text:"•",alignment:i.AlignmentType.LEFT,style:{paragraph:{indent:{left:4320,hanging:360}}}}],t.defaultNumbering={config:[{reference:"default-numbering",levels:t.customNumberedLevels}]}},35:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return r(t,e),t},s=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function s(e){try{l(i.next(e))}catch(e){o(e)}}function a(e){try{l(i.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?r(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(s,a)}l((i=i.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0}),t.generateWord=void 0;let a=n(190),l=o(n(687)),c=n(687),u=n(829),d=0,h=-1,p=u.defaultStyles,f=u.customNumberedLevels,m=!1;function g(e,t,n){e.paragraph&&(p[n].paragraph=e.paragraph),e.run&&(p[n].run=e.run)}t.generateWord=function(e,t){return s(this,void 0,void 0,function*(){var n,i,r;let o,v,y;d=0,h=-1,m=!1;let b=[],w=[];if(e.ops){let t=a.parseQuillDelta(e);w.push(t)}else if(Array.isArray(e))for(let t of e)w.push(t);else{if(!e.paragraphs)throw Error("Please provide a raw Quill Delta, a parsed Quill delta, or an Array of parsed Quill deltas. See QuillTodocx readme.");w.push(e)}for(let e of(n=w[0],i=t,p=u.defaultStyles,f=u.customNumberedLevels,i&&((r=i).paragraphStyles&&function(e){if(e.normal){let t=p.findIndex(e=>"normal"===e.id);g(e.normal,0,t)}if(e.header_1){let t=p.findIndex(e=>"header_1"===e.id);g(e.header_1,0,t)}if(e.header_2){let t=p.findIndex(e=>"header_2"===e.id);g(e.header_2,0,t)}if(e.list_paragraph){let t=p.findIndex(e=>"list_paragraph"===e.id);g(e.list_paragraph,0,t)}if(e.code_block){let t=p.findIndex(e=>"code_block"===e.id);g(e.code_block,0,t)}if(e.block_quote){let t=p.findIndex(e=>"block_quote"===e.id);g(e.block_quote,0,t)}if(e.citation){let t=p.findIndex(e=>"citation"===e.id);g(e.citation,0,t)}}(r.paragraphStyles),r.customLevels&&(f=r.customLevels)),n.setup.hyperlinks.length>0&&(v=function(e){let t={},n=0;for(let i of e){let e={link:i.link,text:i.text,type:c.HyperlinkType.EXTERNAL};t=Object.assign(Object.assign({},t),{[`link${n}`]:e}),n++}return t}(n.setup.hyperlinks)),n.setup.numberedLists>0&&(y=function(e){let t=[],n=0;for(;n<e;){let e={reference:`numbered_${n}`,levels:f};t.push(e),n++}return{config:t}}(n.setup.numberedLists)),(null==i?void 0:i.customBulletLevels)&&(y=function(e,t){let n={reference:"customBullets",levels:t};return e?(e.config.push(n),e):{config:[n]}}(y,i.customBulletLevels),m=!0),o=new l.Document({styles:{paragraphStyles:p},numbering:y,hyperlinks:v}),w))b.push(function(e,t){var n,i,r,o,s;let a=0,u=[];for(let p of e){if(null===(n=p.embed)||void 0===n?void 0:n.image){let e=c.Media.addImage(t,p.embed.image);u.push(new c.Paragraph(e))}else if(null===(i=p.embed)||void 0===i?void 0:i.video){let e=(s=p.embed.video,new c.TextRun({text:s}));u.push(new c.Paragraph({children:[e]}))}else p.textRuns&&(a>0&&"ordered"===(null===(r=p.attributes)||void 0===r?void 0:r.list)&&("ordered"===(null===(o=e[a-1].attributes)||void 0===o?void 0:o.list)?h:h++),u.push(function(e){var t,n,i,r,o,s,a,u,p,f,g,v,y;let b=[];for(let t of e.textRuns)t.formula?b.push((y=t.formula,new c.TextRun({text:y}))):t.text&&b.push(function(e,t){var n,i,r,o,s,a,l,u,h,p,f,m,g;let v;return(null===(n=e.attributes)||void 0===n?void 0:n.link)?(v=new c.HyperlinkRef(`link${d}`),d++):v=new c.TextRun({text:e.text,bold:!!(null===(i=e.attributes)||void 0===i?void 0:i.bold),italics:!!(null===(r=e.attributes)||void 0===r?void 0:r.italic),subScript:"sub"===(null===(o=e.attributes)||void 0===o?void 0:o.script),superScript:"super"===(null===(s=e.attributes)||void 0===s?void 0:s.script),strike:!!(null===(a=e.attributes)||void 0===a?void 0:a.strike),underline:(null===(l=e.attributes)||void 0===l?void 0:l.underline)?{type:c.UnderlineType.SINGLE,color:"auto"}:void 0,color:(null===(u=e.attributes)||void 0===u?void 0:u.color)?null===(h=e.attributes)||void 0===h?void 0:h.color.slice(1):void 0,size:"huge"===(null===(p=e.attributes)||void 0===p?void 0:p.size)?36:"large"===(null===(f=e.attributes)||void 0===f?void 0:f.size)?32:"small"===(null===(m=e.attributes)||void 0===m?void 0:m.size)?20:void 0,highlight:(null===(g=e.attributes)||void 0===g?void 0:g.background)?"yellow":void 0}),v}(t));return new c.Paragraph({children:b,heading:1===(null===(t=e.attributes)||void 0===t?void 0:t.header)?l.HeadingLevel.HEADING_1:2===(null===(n=e.attributes)||void 0===n?void 0:n.header)?l.HeadingLevel.HEADING_2:void 0,bullet:"bullet"!==(null===(i=e.attributes)||void 0===i?void 0:i.list)||m?void 0:{level:e.attributes.indent?e.attributes.indent:0},numbering:"ordered"===(null===(r=e.attributes)||void 0===r?void 0:r.list)?{reference:`numbered_${h}`,level:e.attributes.indent?e.attributes.indent:0}:"bullet"===(null===(o=e.attributes)||void 0===o?void 0:o.list)&&m?{reference:"customBullets",level:e.attributes.indent?e.attributes.indent:0}:void 0,alignment:"left"===(null===(s=e.attributes)||void 0===s?void 0:s.align)?c.AlignmentType.LEFT:"center"===(null===(a=e.attributes)||void 0===a?void 0:a.align)?c.AlignmentType.CENTER:"right"===(null===(u=e.attributes)||void 0===u?void 0:u.align)?c.AlignmentType.RIGHT:"justify"===(null===(p=e.attributes)||void 0===p?void 0:p.align)?c.AlignmentType.JUSTIFIED:void 0,style:(null===(f=e.attributes)||void 0===f?void 0:f["code-block"])?"code_block":(null===(g=e.attributes)||void 0===g?void 0:g.blockquote)?"block_quote":(null===(v=e.attributes)||void 0===v?void 0:v.citation)?"citation":void 0})}(p)));a++}return u}(e.paragraphs,o));for(let e of b)o.addSection({children:e});return function(e,t){return s(this,void 0,void 0,function*(){if(!t||!t.exportAs||"doc"===t.exportAs)return e;if("blob"===t.exportAs)return c.Packer.toBlob(e);if("buffer"===t.exportAs)return console.log("returning buffer"),c.Packer.toBuffer(e);if("base64"===t.exportAs)return c.Packer.toBase64String(e);throw Error("Please set exportAs configuration to blob, buffer, doc, or base64.")})}(o,t)})}},607:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(35),t),r(n(679),t)},679:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},687:t=>{"use strict";t.exports=e}},n={},function e(i){if(n[i])return n[i].exports;var r=n[i]={exports:{}};return t[i].call(r.exports,r,r.exports,e),r.exports}(607)},e.exports=r(n(5966))},8872:function(e,t){var n;function i(e){return 1!==e?"p":"s"}t.plural_EN=i},6867:function(e,t,n){"use strict";e.exports=n.p+"4ad034d2c499d9b6.woff"},9358:function(e,t,n){"use strict";e.exports=n.p+"59322316b3fd6063.woff2"},4247:function(e,t,n){"use strict";let i;var r,o,s,a,l,c,u,d,h,p,f,m,g,v,y,b,w,_,E,x,k={};n.r(k),n.d(k,{Attributor:()=>r1,AttributorStore:()=>r7,BlockBlot:()=>od,ClassAttributor:()=>r6,ContainerBlot:()=>op,EmbedBlot:()=>of,InlineBlot:()=>oc,LeafBlot:()=>oi,ParentBlot:()=>oa,Registry:()=>r3,Scope:()=>r0,ScrollBlot:()=>ov,StyleAttributor:()=>r9,TextBlot:()=>ob});var T=n("540"),O=n.n(T);n("2855"),n("1366"),n("234"),n("4784"),n("118");var C=((r={}).HOME="HOME",r.ABOUT="ABOUT",r.DEFINE_BOX="DEFINE_BOX",r.CREATE_SCENARIO="CREATE_SCENARIO",r.SHOW_SCENARIO="SHOW_SCENARIO",r.DECISION_SUPPORT="DECISION_SUPPORT",r.SETTINGS="SETTINGS",r.HELP="HELP",r);let A=()=>"idxxxxxxxx".replace(/[x]/g,()=>(16*Math.random()|0).toString(16)),S=(...e)=>t=>e.reduceRight((e,t)=>t(e),t),N=e=>t=>Array.prototype.map.call(t,e),I=e=>t=>Array.prototype.join.call(t,e),L=e=>e.replace(/([A-Z])/g,e=>"-"+e.toLowerCase()),R=e=>e?S(I(""),N(t=>`[${L(t)}="${((e="")=>e.toString().replace(/"/g,"""))(e[t])}"]`),Object.keys)(e):"",P=["min","max","minLength","maxLength","rows","cols","placeholder","autocomplete","pattern","readOnly","step"],D=e=>P.indexOf(e)>=0,j=({disabled:e})=>e?"[disabled]":"",B=({required:e,isMandatory:t})=>e||t?"[required][aria-required=true]":"",F=e=>{let t;return(e=>Object.keys(e).filter(D).filter(t=>void 0!==e[t]).reduce((t,n)=>{let i=e[n];return t.push(`[${n.toLowerCase()}=${i}]`),t},[]).join(""))(e)+((t=e).maxLength?`[data-length=${t.maxLength}]`:"")+j(e)+B(e)+(({autofocus:e})=>"boolean"==typeof e&&e||e&&e()?"[autofocus]":"")(e)},q=e=>!isNaN(parseFloat(e))&&isFinite(e),H=(e,t=2,n="0")=>(e+="").length>=t?e:Array(t-e.length+1).join(n)+e;function U(){return(U=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function z(e,t){if(null==e)return{};var n,i,r={},o=Object.keys(e);for(i=0;i<o.length;i++)t.indexOf(n=o[i])>=0||(r[n]=e[n]);return r}let X=["label","id","isMandatory","isActive"],W={view:({attrs:e})=>O()("span.mandatory",e,"*")},V=()=>({view:e=>{let{attrs:{label:t,id:n,isMandatory:i,isActive:r}}=e,o=z(e.attrs,X);return t?O()(`label${r?".active":""}${n?`[for=${n}]`:""}`,o,[O().trust(t),i?O()(W):void 0]):void 0}}),K=()=>({view:({attrs:{helperText:e,dataError:t,dataSuccess:n,className:i}})=>e||t||n?O()("span.helper-text",{className:i,dataError:t,dataSuccess:n},e?O().trust(e):""):void 0}),G=["iconName"],Y=()=>({view:e=>{let{attrs:{iconName:t}}=e,n=z(e.attrs,G);return O()("i.material-icons",n,t)}}),Z=["modalId","tooltip","tooltipPostion","iconName","iconClass","label","attr"],Q=(e,t="")=>()=>{let n=`${e}${t}`;return{view:({attrs:e})=>{let{modalId:t,tooltip:i,tooltipPostion:r,iconName:o,iconClass:s,label:a,attr:l}=e,c=z(e,Z);return O()(`${n}${t?`.modal-trigger[href=#${t}]`:""}${i?`.tooltipped[data-position=${r||"top"}][data-tooltip=${i}]`:""}${R(l)}`,c,o?O()(Y,{iconName:o,className:s||"left"}):void 0,a||void 0)}}},J=Q("a.waves-effect.waves-light.btn","[type=button]"),ee=(Q("a.waves-effect.waves-light.btn-large","[type=button]"),Q("a.waves-effect.waves-light.btn-small","[type=button]"),Q("a.waves-effect.waves-teal.btn-flat","[type=button]"));Q("button.btn-floating.btn-large.waves-effect.waves-light","[type=button]"),Q("button.btn.waves-effect.waves-light","[type=submit]"),(o=_||(_={}))[o.BASIC=0]="BASIC",o[o.LINKS=1]="LINKS",o[o.AVATAR=2]="AVATAR";let et=["className","dataError","dataSuccess","helperText","iconName","id","initialValue","isMandatory","label","maxLength","newRow","onchange","onkeydown","onkeypress","onkeyup","onblur","style","validate"],en=(e,t="")=>()=>{let n={id:A()},i=t=>{let n=t.value;return n&&("number"===e||"range"===e)?+n:n},r=(e,t)=>{e.setCustomValidity("boolean"==typeof t?t?"":"Custom validation failed":t)};return{view:({attrs:o})=>{let{className:s="col s12",dataError:a,dataSuccess:l,helperText:c,iconName:u,id:d=n.id,initialValue:h,isMandatory:p,label:f,maxLength:m,newRow:g,onchange:v,onkeydown:y,onkeypress:b,onkeyup:w,onblur:_,style:E,validate:x}=o,k=F(z(o,et));return O()(`.input-field${g?".clear":""}${t}`,{className:s,style:E},[u?O()("i.material-icons.prefix",u):void 0,O()(`input.validate[type=${e}][tabindex=0][id=${d}]${k}`,{oncreate:({dom:t})=>{(({autofocus:e})=>!!e&&("boolean"==typeof e?e:e()))(o)&&t.focus(),m&&M.CharacterCounter.init(t),"range"===e&&M.Range.init(t)},onkeyup:w?e=>{w(e,i(e.target))}:void 0,onkeydown:y?e=>{y(e,i(e.target))}:void 0,onkeypress:b?e=>{b(e,i(e.target))}:void 0,onblur:_,onupdate:x?({dom:e})=>{r(e,x(i(e),e))}:void 0,onchange:e=>{let t=e.target;if(t){let e=i(t);v&&v(e),x&&r(t,x(e,t))}},value:h}),O()(V,{label:f,id:d,isMandatory:p,isActive:!(void 0===h&&!o.placeholder&&"number"!==e&&"color"!==e&&"range"!==e)}),O()(K,{helperText:c,dataError:a,dataSuccess:l})])}}},ei=en("text"),er=(en("password"),en("number"),en("url"),en("color"),en("range",".range-field"),en("email"),()=>({view:({attrs:{className:e="col s12",onchange:t,label:n,checked:i,disabled:r,description:o,style:s}})=>O()("div",{className:e,style:s},O()("label",[O()("input[type=checkbox][tabindex=0]",{checked:i,disabled:r,onclick:t?e=>{e.target&&void 0!==e.target.checked&&t(e.target.checked)}:void 0}),n?"string"==typeof n?O()("span",n):n:void 0]),o&&O()(K,{className:"input-checkbox-desc",helperText:o}))})),eo=()=>({oncreate:({dom:e,attrs:{options:t,onCreate:n}})=>{let i=M.Modal.init(e,t);n&&n(i)},view:({attrs:{id:e,title:t,description:n,fixedFooter:i,bottomSheet:r,buttons:o,richContent:s}})=>O()(`.modal${i?".modal-fixed-footer":""}${r?".bottom-sheet":""}[id=${e}]`,[O()(".modal-content",[O()("h4",t),s&&"string"==typeof n?O().trust(n||""):"string"==typeof n?O()("p",n):n]),o?O()(".modal-footer",o.map(e=>O()(ee,U({},e,{className:"modal-close"})))):void 0])}),es=()=>({view:({attrs:{id:e,groupId:t,label:n,onchange:i,className:r="col s12",checked:o,disabled:s}})=>O()("div",{className:r},O()("label",[O()(`input[type=radio][tabindex=0][name=${t}]${o?"[checked=checked]":""}${s?"[disabled]":""}`,{onclick:i?()=>i(e):void 0}),O()("span",O().trust(n))]))}),ea=()=>{let e={groupId:A()};return{oninit:({attrs:{checkedId:t,initialValue:n}})=>{e.oldCheckedId=t,e.checkedId=t||n},view:({attrs:{id:t,checkedId:n,newRow:i,className:r="col s12",label:o="",disabled:s,description:a,options:l,isMandatory:c,checkboxClass:u,onchange:d}})=>{e.oldCheckedId!==n&&(e.oldCheckedId=e.checkedId=n);let{groupId:h,checkedId:p}=e,f=t=>{e.checkedId=t,d&&d(t)};return i&&(r+=" clear"),O()("div",{id:t,className:r},[O()("div",{className:"input-field options"},O()(V,{id:t,label:o,isMandatory:c})),a?O()("p.helper-text",O().trust(a)):"",...l.map(e=>O()(es,U({},e,{onchange:f,groupId:h,disabled:s,className:u,checked:e.id===p})))])}}},el=()=>{let e={},t=e=>e.map(e=>e.id).join(""),n=(e,t,n=!1)=>n||(t instanceof Array&&(e||"number"==typeof e)?t.indexOf(e)>=0:t===e);return{oninit:({attrs:{checkedId:n,initialValue:i,options:r}})=>{e.ids=t(r);let o=n||i;e.checkedId=n instanceof Array?[...n]:n,e.initialValue=null!=o?o instanceof Array?o.filter(e=>null!=e):[o]:[]},view:({attrs:{id:i,newRow:r,className:o="col s12",checkedId:s,key:a,options:l,multiple:c,label:u,helperText:d,placeholder:h="",isMandatory:p,iconName:f,disabled:m,classes:g="",dropdownOptions:v,onchange:y}})=>{e.checkedId!==s&&(e.initialValue=s?s instanceof Array?s:[s]:void 0);let{initialValue:b}=e,w=y?c?()=>{let t=e.instance&&e.instance.getSelectedValues(),n=t?t.length>0&&q(t[0])?t.map(e=>+e):t.filter(e=>null!==e||void 0!==e):void 0;e.initialValue=n||[],y(e.initialValue)}:t=>{if(t&&t.currentTarget){let n=t.currentTarget,i=q(n.value)?+n.value:n.value;e.initialValue=[i]}e.initialValue&&y(e.initialValue)}:void 0;r&&(o+=" clear");let _=!l.some(e=>n(e.id,b)),E=l.reduce((e,t)=>(t.group&&0>e.indexOf(t.group)&&e.push(t.group),e),[]);return O()(".input-field.select-space",{className:o,key:a,oncreate:c?({dom:t})=>e.wrapper=t:void 0},[f&&O()("i.material-icons.prefix",f),O()("select",{id:i,title:u,disabled:m,multiple:c,oncreate:({dom:t})=>{e.instance=M.FormSelect.init(t,{classes:g,dropdownOptions:v})},onupdate:({dom:n})=>{if(c){let t=f?1:0;!e.inputEl&&e.wrapper&&e.wrapper.childNodes&&e.wrapper.childNodes.length>0&&e.wrapper.childNodes[t].childNodes&&e.wrapper.childNodes[t].childNodes[0]&&(e.inputEl=e.wrapper.childNodes[t].childNodes[0]),e.inputEl&&e.inputEl.value&&e.inputEl.value.startsWith(`${h}, `)&&(e.inputEl.value=e.inputEl.value.replace(`${h}, `,""))}let i=t(l),r=s&&e.checkedId!==s.toString();e.ids!==i&&(e.ids=i,r=!0),(e.checkedId instanceof Array&&s instanceof Array?e.checkedId.join()!==s.join():e.checkedId!==s)&&(e.checkedId=s,r=!0),r&&(e.instance=M.FormSelect.init(n,{classes:g,dropdownOptions:v}))},onchange:w},O()("option",{value:"",disabled:!0,selected:!!_||void 0},h),0===E.length?l.map((e,t)=>{var i;return O()("option",{value:e.id,title:e.title||void 0,disabled:e.disabled?"true":void 0,"data-icon":e.img||void 0,selected:n(e.id,b,0===t&&_&&!h)},null==(i=e.label)?void 0:i.replace("&","&"))}):E.map(e=>O()("optgroup",{label:e},l.filter(t=>t.group===e).map((e,t)=>{var i;return O()("option",{value:e.id,title:e.title||void 0,disabled:e.disabled?"true":void 0,"data-icon":e.img||void 0,selected:n(e.id,b,0===t&&_&&!h)},null==(i=e.label)?void 0:i.replace("&","&"))})))),O()(V,{label:u,isMandatory:p}),d&&O()(K,{helperText:d})])}}},ec=()=>{let e={},t=(e,t)=>t||e.replace(/ /g,"").toLowerCase();return{view:({attrs:{tabWidth:n,selectedTabId:i,tabs:r,className:o,style:s,duration:a,onShow:l,swipeable:c,responsiveThreshold:u}})=>{let d=r.filter(e=>e.active).shift(),h=i||(d?t(d.title,d.id):"");return O()(".row",[O()(".col.s12",O()("ul.tabs"+("fill"===n?".tabs-fixed-width":""),{className:o,style:s,oncreate:({dom:t})=>{e.instance=M.Tabs.init(t,{duration:a,onShow:l,responsiveThreshold:u,swipeable:c})},onupdate:()=>{if(h){let e=document.getElementById(`tab_${h}`);e&&e.click()}},onremove:()=>e.instance.destroy()},r.map(({className:e,title:i,id:o,active:s,disabled:a,target:l,href:c})=>O()(`li.tab${a?".disabled":""}${"fixed"===n?`.col.s${Math.floor(12/r.length)}`:""}`,{className:e},O()(`a[id=tab_${t(i,o)}]${s?".active":""}`,{target:l,href:c||`#${t(i,o)}`},i))))),r.filter(({href:e})=>void 0===e).map(({id:e,title:n,vnode:i,contentClass:r})=>O()(`.col.s12[id=${t(n,e)}]`,{className:r},i))])}}};var eu=[{threshold:0,color:"#ddeced"},{threshold:1,color:"#FF7800"},{threshold:2,color:"#ffff00"},{threshold:3,color:"#ff0000"}],ed={version:1,lastUpdate:new Date().valueOf(),scenarios:[],scenario:{id:"demo1",label:"Demo",desc:"Demo scenario",includeDecisionSupport:!1,hideInconsistentValues:!0,inconsistencies:{},categories:[{id:"threat",label:"Threat",componentIds:["ThreatDirection","Impact","Motivation","ModusOperandiDuringExecution","Equipment","Responsibility"]},{id:"context",label:"Context",componentIds:["WeatherType","WeatherBehaviour","TypeOfObject","AvailableBudget","OpenCompartments","Location"]}],components:[{id:"ThreatDirection",label:"Threat direction",values:[{id:"df62efe6",label:"Hannibal"},{id:"70630364",label:"The Romans"},{id:"82d5d4f5",label:"Herbert Hoover"}]},{id:"Impact",label:"Impact",values:[{id:"5c532a23",label:"Low"},{id:"16ad9a77",label:"Medium"},{id:"b894abb6",label:"High"}]},{id:"Motivation",label:"Motivation",values:[{id:"f4ab7a7a",label:"Money"},{id:"ff550f8f",label:"Justice"},{id:"22b4867e",label:"Revenge"}]},{id:"ModusOperandiDuringExecution",label:"Modus operandi during execution",values:[{id:"7ed25fa5",label:"Sniper attack",type:"ModusOperandiDuringExecution"},{id:"1f9b68c9",label:"Kidnapping",type:"ModusOperandiDuringExecution"},{id:"5cc5e352",label:"Singing",type:"ModusOperandiDuringExecution"}]},{id:"Equipment",label:"Equipment",values:[{id:"b4218a1f",label:"None"},{id:"8f6185f7",label:"Drone"},{id:"cb02878d",label:"Bomb"},{id:"9d645efb",label:"Helicopter"},{id:"3a4398c7",label:"Hammer"}]},{id:"Responsibility",label:"Responsibility",values:[{id:"f44d22be",label:"Private"},{id:"20f9a6ed",label:"Public"}]},{id:"WeatherType",label:"Weather type",values:[{id:"b9fe2b73",label:"Rainy"},{id:"478581c1",label:"Sunny"},{id:"b855ac10",label:"Windy"},{id:"24c73f36",label:"Cloudy"}]},{id:"WeatherBehaviour",label:"Weather behaviour",values:[{id:"0ff8041e",label:"Stable"},{id:"894a9bcb",label:"Changing"}]},{id:"TypeOfObject",label:"Type of object",values:[{id:"29a303b3",label:"Church"},{id:"2e7df143",label:"Park"},{id:"e11282fb",label:"Palace"},{id:"9a1b3256",label:"Airport"}]},{id:"AvailableBudget",label:"Available budget",values:[{id:"90e1ba48",label:"Knowledge"},{id:"f961174c",label:"Water"}]},{id:"OpenCompartments",label:"Open compartments",values:[{id:"01c3940a",label:"Open"},{id:"56b7fa45",label:"Closed"}]},{id:"Location",label:"Location",values:[{id:"ea57f820",label:"Vietnam"},{id:"b8bd8bc3",label:"Washington"},{id:"8fb1e1ab",label:"Buitenpost"}]}],narratives:[],thresholdColors:eu}},eh=function(){return{id:A(),label:"NEW SCENARIO",desc:"",includeDecisionSupport:!1,hideInconsistentValues:!1,inconsistencies:{},categories:[],components:[],narratives:[],thresholdColors:eu}},ep=function(){return{version:1,lastUpdate:new Date().valueOf(),scenarios:[],scenario:eh()}},ef=[ep(),ed],em=[{id:"airport",name:"Airport",key:"aeroway",value:"aerodrome"},{id:"cafe",name:"Cafe",key:"amenity",value:"bar"},{id:"church",name:"Church",key:"building",value:"church"},{id:"city_square",name:"City square",key:"place",value:"square"},{id:"flats",name:"Flats",key:'"building:levels"',value:'"([6-9]|d{2,})"'},{id:"gas_station",name:"Gas station",key:"amenity",value:"fuel"},{id:"hospital",name:"Hospital",key:"amenity",value:"hospital"},{id:"hotel",name:"Hotel",key:"tourism",value:"hotel"},{id:"palace",name:"Palace",key:"castle_type",value:"palace"},{id:"parking",name:"Parking",key:"amenity",value:"parking"},{id:"restaurant",name:"Restaurant",key:"amenity",value:"restaurant"},{id:"shopping_street",name:"Shopping street",key:"highway",value:"pedestrian"},{id:"stadspoort",name:"Stadspoort",key:"historic",value:"city_gate"},{id:"statue",name:"Statue",key:"memorial",value:"statue"}].map(function(e){return e.id});let eg=n.p+"f418cfa539199976.svg";var ev=n("9556");function ey(e,t,n,i,r,o,s){try{var a=e[o](s),l=a.value}catch(e){n(e);return}a.done?t(l):Promise.resolve(l).then(i,r)}function eb(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function s(e){ey(o,i,r,s,a,"next",e)}function a(e){ey(o,i,r,s,a,"throw",e)}s(void 0)})}}function ew(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],i=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}var e_=function(){var e,t="undefined"!=typeof window?window:void 0;if(!t)throw Error("indexedDB cannot get window");var n=t.indexedDB||t.mozIndexedDB||t.webkitIndexedDB||t.msIndexedDB;if("undefined"!=typeof window&&!n)throw Error("indexDB not supported");var i=n.open("ldb",1);i.onsuccess=function(){e=this.result},i.onerror=function(e){console.error("indexedDB request error"),console.log(e)},i.onupgradeneeded=function(t){e=null,(t&&t.target&&t.target.result.createObjectStore("s",{keyPath:"k"})).transaction.oncomplete=function(t){e=t.target.db}};var r={get:function(t){return new Promise(function(n){if(!e){setTimeout(eb(function(){return ew(this,function(e){switch(e.label){case 0:return[4,r.get(t)];case 1:return[2,n.apply(void 0,[e.sent()])]}})}),50);return}e.transaction("s").objectStore("s").get(t).onsuccess=function(e){n(e.target.result&&e.target.result.v||null)}})},set:function(t,n){return new Promise(function(i){if(!e){setTimeout(eb(function(){return ew(this,function(e){switch(e.label){case 0:return[4,r.set(t,n)];case 1:return[2,i.apply(void 0,[e.sent()])]}})}),50);return}var o=e.transaction("s","readwrite");o.oncomplete=function(){return i()},o.objectStore("s").put({k:t,v:n}),o.commit()})},delete:function(t){return new Promise(function(n){if(!e){setTimeout(eb(function(){return ew(this,function(e){switch(e.label){case 0:return[4,r.delete(t)];case 1:return[2,n.apply(void 0,[e.sent()])]}})}),50);return}e.transaction("s","readwrite").objectStore("s").delete(t).onsuccess=function(){n()}})},list:function(){return new Promise(function(t){if(!e){setTimeout(eb(function(){return ew(this,function(e){switch(e.label){case 0:return[4,r.list()];case 1:return[2,t.apply(void 0,[e.sent()])]}})}),50);return}e.transaction("s").objectStore("s").getAllKeys().onsuccess=function(e){t(e.target.result||null)}})},getAll:function(){return new Promise(function(t){if(!e){setTimeout(eb(function(){return ew(this,function(e){switch(e.label){case 0:return[4,r.getAll()];case 1:return[2,t.apply(void 0,[e.sent()])]}})}),50);return}e.transaction("s").objectStore("s").getAll().onsuccess=function(e){t(e.target.result||null)}})},clear:function(){return new Promise(function(t){if(!e){setTimeout(eb(function(){return ew(this,function(e){switch(e.label){case 0:return[4,r.clear()];case 1:return[2,t.apply(void 0,[e.sent()])]}})}),50);return}e.transaction("s","readwrite").objectStore("s").clear().onsuccess=function(){t()}})}};return r}();let eE={"&":"&","<":"<",">":">",'"':""","'":"'"},ex=RegExp(`[${Object.keys(eE).join("")}]`,"g"),ek=[[/\r\n/g,"\n"],[/\n(#+)(.*)/g,(e,t,n="")=>{let i=t.length;return`<h${i}>${n.trim()}</h${i}>`}],[/!\[([^\[]+)\]\((?:javascript:)?([^\)]+)\)/g,'<img src="$2" alt="$1">'],[/\[([^\[]+)\]\((?:javascript:)?([^\)]+)\)/g,'<a href="$2">$1</a>'],[/([^\\])(\*\*|__)(.*?(_|\*)?)\2/g,"$1<strong>$3</strong>"],[/([^\\])(\*|_)(.*?)\2/g,"$1<em>$3</em>"],[/\\_/g,"_"],[/\~\~(.*?)\~\~/g,"<del>$1</del>"],[/\:\"(.*?)\"\:/g,"<q>$1</q>"],[/\n\s*```\n([^]*?)\n\s*```\s*\n/g,"\n<pre>$1</pre>"],[/`(.*?)`/g,(e,t)=>`<code>${t.replace(ex,e=>eE[e])}</code>`],[/\n(\*|\-|\+)(.*)/g,(e,t,n="")=>`<ul> <li>${n.trim()}</li> </ul>`],[/\n[0-9]+\.(.*)/g,(e,t="")=>`<ol> <li>${t.trim()}</li> @@ -11,12 +11,12 @@ ${t} <p> ${n} </p> -`}],[/\s?<\/ul>\s?<ul>/g,""],[/\s?<\/ol>\s?<ol>/g,""],[/<\/blockquote>\n<blockquote>/g,"<br>\n"],[/https?:\/\/[^"']*/g,e=>e.replace(/<\/?em>/g,"_")],[/_/g,"_"]],ex=(e,t=!1,n=!1)=>(e=` +`}],[/\s?<\/ul>\s?<ul>/g,""],[/\s?<\/ol>\s?<ol>/g,""],[/<\/blockquote>\n<blockquote>/g,"<br>\n"],[/https?:\/\/[^"']*/g,e=>e.replace(/<\/?em>/g,"_")],[/_/g,"_"]],eT=(e,t=!1,n=!1)=>(e=` ${e} -`,eE.forEach(([t,n])=>{e=e.replace(t,n)}),e=e.trim(),t&&(e=e.replace(/^<p>([\s\S]*)<\/p>$/,"$1")),n&&(e=e.replace(/<a href="/g,'<a target="_blank" href="')),e),ek=()=>"idxxxxxxxx".replace(/[x]/g,()=>(16*Math.random()|0).toString(16)),eT=["min","max","minLength","maxLength","rows","cols","placeholder","autocomplete","pattern","readOnly","step"],eO=e=>eT.indexOf(e)>=0,eC=({disabled:e})=>e?"[disabled]":"",eA=e=>{let t;return(e=>Object.keys(e).filter(eO).filter(t=>void 0!==e[t]).reduce((t,n)=>{let i=e[n];return t.push(`[${n.toLowerCase()}=${i}]`),t},[]).join(""))(e)+((t=e).maxLength?`[data-length=${t.maxLength}]`:"")+eC(e)+(({required:e,isMandatory:t})=>e||t?"[required][aria-required=true]":"")(e)+(({autofocus:e})=>"boolean"==typeof e&&e||e&&e()?"[autofocus]":"")(e)},eS=e=>!isNaN(parseFloat(e))&&isFinite(e);function eN(){return(eN=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function eI(e,t){if(null==e)return{};var n,i,r={},o=Object.keys(e);for(i=0;i<o.length;i++)t.indexOf(n=o[i])>=0||(r[n]=e[n]);return r}let eM=["label","id","isMandatory","isActive"],eL={view:({attrs:e})=>T()("span.mandatory",e,"*")},eR=()=>({view:e=>{let{attrs:{label:t,id:n,isMandatory:i,isActive:r}}=e,o=eI(e.attrs,eM);return t?T()(`label${r?".active":""}${n?`[for=${n}]`:""}`,o,[T().trust(t),i?T()(eL):void 0]):void 0}}),eP=()=>({view:({attrs:{helperText:e,dataError:t,dataSuccess:n,className:i}})=>e||t||n?T()("span.helper-text",{className:i,dataError:t,dataSuccess:n},e?T().trust(e):""):void 0}),eD=()=>{let e={id:ek()};return{view:({attrs:t})=>{let n=t.id||e.id,i=eA(t),{label:r,helperText:o,initialValue:s,onchange:a,newRow:l,className:c="col s12",style:u,iconName:h,isMandatory:d}=t;return T()(".input-field"+(l?".clear":""),{className:l?c+" clear":c,style:u},[h?T()("i.material-icons.prefix",h):"",T()(`input.autocomplete[type=text][tabindex=0]${i}`,{id:n,oncreate:({dom:e})=>{M.Autocomplete.init(e,t)},onchange:a?e=>{e.target&&e.target.value&&a(e.target.value)}:void 0,value:s}),T()(eR,{label:r,id:n,isMandatory:d,isActive:s}),T()(eP,{helperText:o})])}}},ej=["iconName"],eB=()=>({view:e=>{let{attrs:{iconName:t}}=e,n=eI(e.attrs,ej);return T()("i.material-icons",n,t)}}),eF=["modalId","tooltip","tooltipPostion","iconName","iconClass","label","attr"],eq=(e,t="")=>()=>{let n=`${e}${t}`;return{view:({attrs:e})=>{var t;let i,{modalId:r,tooltip:o,tooltipPostion:s,iconName:a,iconClass:l,label:c,attr:u}=e,h=eI(e,eF);return T()(`${n}${r?`.modal-trigger[href=#${r}]`:""}${o?`.tooltipped[data-position=${s||"top"}][data-tooltip=${o}]`:""}${(t=u)?((...e)=>t=>e.reduceRight((e,t)=>t(e),t))(e=>Array.prototype.join.call(e,""),(i=e=>`[${e.replace(/([A-Z])/g,e=>"-"+e.toLowerCase())}="${((e="")=>e.toString().replace(/"/g,"""))(t[e])}"]`,e=>Array.prototype.map.call(e,i)),Object.keys)(t):""}`,h,a?T()(eB,{iconName:a,className:l||"left"}):void 0,c||void 0)}}},eH=eq("a.waves-effect.waves-teal.btn-flat","[type=button]"),e$=eq("button.btn-floating.btn-large.waves-effect.waves-light","[type=button]"),eU=()=>({oncreate:({attrs:e,dom:t})=>{let{onchange:n,onChipAdd:i,onChipDelete:r}=e,o=M.Chips.getInstance(t.children[0]),s=i?i.bind(o):void 0;e.onChipAdd=function(e,t){n&&n(this.chipsData),s&&s(e,t)};let a=r?r.bind(o):void 0;e.onChipDelete=function(e,t){n&&n(this.chipsData),a&&a(e,t)},M.Chips.init(t.children[0],e)},onupdate:({dom:e,attrs:{data:t}})=>{if(!t||0===t.length)return;let n=M.Chips.getInstance(e.children[0]);t.forEach(e=>n.addChip(e))},view:({attrs:{placeholder:e,required:t,isMandatory:n=t,data:i,className:r="col s12",label:o,helperText:s}})=>T()(".input-field",{className:r},[T()(`.chips.chips-autocomplete${e?".chips-placeholder":""}${i?".chips-initial":""}`),o?T()(eR,{label:o,isMandatory:n,className:"active"}):void 0,s?T()(eP,{helperText:s}):void 0])}),ez=()=>({view:({attrs:{header:e,body:t,active:n,iconName:i}})=>T()(n?"li.active":"li",[e||i?T()(".collapsible-header",[i?T()("i.material-icons",i):void 0,e?"string"==typeof e?T()("span",e):e:void 0]):void 0,t?T()(".collapsible-body",t):void 0])}),eX=()=>({oncreate:({dom:e,attrs:t})=>{M.Collapsible.init(e,t)},view:({attrs:e})=>{let{items:t,class:n,className:i,style:r,id:o}=e;return t&&t.length>0?T()("ul.collapsible",{class:n||i,style:r,id:o},t.map(e=>T()(ez,e))):void 0}});(s=_||(_={}))[s.BASIC=0]="BASIC",s[s.LINKS=1]="LINKS",s[s.AVATAR=2]="AVATAR";let eW=["className","helperText","iconName","id","initialValue","isMandatory","label","onchange","onkeydown","onkeypress","onkeyup","onblur","style"],eV=["className","dataError","dataSuccess","helperText","iconName","id","initialValue","isMandatory","label","maxLength","newRow","onchange","onkeydown","onkeypress","onkeyup","onblur","style","validate"],eK=()=>{let e={id:ek()};return{view:({attrs:t})=>{let{className:n="col s12",helperText:i,iconName:r,id:o=e.id,initialValue:s,isMandatory:a,label:l,onchange:c,onkeydown:u,onkeypress:h,onkeyup:d,onblur:p,style:f}=t,m=eA(eI(t,eW));return T()(".input-field",{className:n,style:f},[r?T()("i.material-icons.prefix",r):"",T()(`textarea.materialize-textarea[tabindex=0][id=${o}]${m}`,{oncreate:({dom:e})=>{M.textareaAutoResize(e),t.maxLength&&M.CharacterCounter.init(e)},onchange:c?e=>{let t=e.target;c(t&&"string"==typeof t.value?t.value:"")}:void 0,value:s,onkeyup:d?e=>{d(e,e.target.value)}:void 0,onkeydown:u?e=>{u(e,e.target.value)}:void 0,onkeypress:h?e=>{h(e,e.target.value)}:void 0,onblur:p}),T()(eR,{label:l,id:o,isMandatory:a,isActive:s||t.placeholder}),T()(eP,{helperText:i})])}}},eG=(e,t="")=>()=>{let n={id:ek()},i=t=>{let n=t.value;return n&&("number"===e||"range"===e)?+n:n},r=(e,t)=>{e.setCustomValidity("boolean"==typeof t?t?"":"Custom validation failed":t)};return{view:({attrs:o})=>{let{className:s="col s12",dataError:a,dataSuccess:l,helperText:c,iconName:u,id:h=n.id,initialValue:d,isMandatory:p,label:f,maxLength:m,newRow:g,onchange:v,onkeydown:y,onkeypress:b,onkeyup:w,onblur:_,style:E,validate:x}=o,k=eA(eI(o,eV));return T()(`.input-field${g?".clear":""}${t}`,{className:s,style:E},[u?T()("i.material-icons.prefix",u):void 0,T()(`input.validate[type=${e}][tabindex=0][id=${h}]${k}`,{oncreate:({dom:t})=>{(({autofocus:e})=>!!e&&("boolean"==typeof e?e:e()))(o)&&t.focus(),m&&M.CharacterCounter.init(t),"range"===e&&M.Range.init(t)},onkeyup:w?e=>{w(e,i(e.target))}:void 0,onkeydown:y?e=>{y(e,i(e.target))}:void 0,onkeypress:b?e=>{b(e,i(e.target))}:void 0,onblur:_,onupdate:x?({dom:e})=>{r(e,x(i(e),e))}:void 0,onchange:e=>{let t=e.target;if(t){let e=i(t);v&&v(e),x&&r(t,x(e,t))}},value:d}),T()(eR,{label:f,id:h,isMandatory:p,isActive:!(void 0===d&&!o.placeholder&&"number"!==e&&"color"!==e&&"range"!==e)}),T()(eP,{helperText:c,dataError:a,dataSuccess:l})])}}},eY=eG("text"),eZ=eG("number"),eQ=eG("url"),eJ=eG("color"),e0=eG("email"),e1=()=>{let e,t=!1;return{view:({attrs:n})=>{let{multiple:i,disabled:r,initialValue:o,placeholder:s,onchange:a,className:l="col s12",accept:c,label:u="File"}=n,h=c?c instanceof Array?c.join(", "):c:void 0,d=h?`[accept=${h}]`:"",p=s?`[placeholder=${s}]`:"";return T()(".file-field.input-field",{className:n.class||l},[T()(".btn",[T()("span",u),T()(`input[type=file]${i?"[multiple]":""}${r?"[disabled]":""}${d}`,{onchange:a?e=>{let n=e.target;n&&n.files&&a&&(t=!0,a(n.files))}:void 0})]),T()(".file-path-wrapper",T()(`input.file-path.validate${p}[type=text]`,{oncreate:({dom:t})=>{e=t,o&&(e.value=o)}})),(t||o)&&T()("a.waves-effect.waves-teal.btn-flat",{style:"float: right;position: relative;top: -3rem; padding: 0",onclick:()=>{t=!1,e.value="",a&&a({})}},T()("i.material-icons","clear"))])}}},e2=()=>({view:({attrs:{className:e="col s12",onchange:t,label:n,checked:i,disabled:r,description:o}})=>T()("div",{className:e},T()("label",[T()("input[type=checkbox][tabindex=0]",{checked:i,disabled:r,onclick:t?e=>{e.target&&void 0!==e.target.checked&&t(e.target.checked)}:void 0}),n?"string"==typeof n?T()("span",n):n:void 0]),o&&T()(eP,{className:"input-checkbox-desc",helperText:o}))}),e5=()=>{let e={},t=t=>e.checkedIds.indexOf(t)>=0;return{oninit:({attrs:{initialValue:t,checkedId:n}})=>{let i=n||t;e.checkedId=n,e.checkedIds=i?i instanceof Array?[...i]:[i]:[]},view:({attrs:{label:n,id:i,options:r,checkedId:o,description:s,className:a="col s12",disabled:l,checkboxClass:c,newRow:u,isMandatory:h,onchange:d}})=>{o&&e.checkedId!==o&&(e.checkedId=o,e.checkedIds=o instanceof Array?o:[o]);let p=d?(t,n)=>{let i=e.checkedIds.filter(e=>e!==t);n&&i.push(t),e.checkedIds=i,d(i)}:void 0;return T()("div"+(u?".clear":""),{className:a},[T()("div",{className:"input-field options"},T()(eR,{id:i,label:n,isMandatory:h})),T()(eP,{helperText:s}),...r.map(e=>T()(e2,{disabled:l||e.disabled,label:e.label,onchange:p?t=>p(e.id,t):void 0,className:e.className||c,checked:t(e.id),description:e.description}))])}}},e3=()=>({oncreate:({dom:e,attrs:{options:t,onCreate:n}})=>{let i=M.Modal.init(e,t);n&&n(i)},view:({attrs:{id:e,title:t,description:n,fixedFooter:i,bottomSheet:r,buttons:o,richContent:s}})=>T()(`.modal${i?".modal-fixed-footer":""}${r?".bottom-sheet":""}[id=${e}]`,[T()(".modal-content",[T()("h4",t),s&&"string"==typeof n?T().trust(n||""):"string"==typeof n?T()("p",n):n]),o?T()(".modal-footer",o.map(e=>T()(eH,eN({},e,{className:"modal-close"})))):void 0])}),e4=()=>({view:({attrs:{title:e,href:t,active:n,disabled:i}})=>T()("li",{className:n?"active":i?"disabled":"waves-effect"},"number"==typeof e?T()(T().route.Link,{href:t},e):e)}),e6=()=>{let e={pagIndex:0};return{view:({attrs:{items:t,curPage:n=1,size:i=Math.min(9,t.length)}})=>{let{pagIndex:r}=e,o=r*i,s=o+i,a=r>0,l=s<t.length,c=[{title:T()("a",{onclick:()=>a&&e.pagIndex--},T()("i.material-icons","chevron_left")),disabled:!a},...t.filter((e,t)=>o<=t&&t<s),{title:T()("a",{onclick:()=>l&&e.pagIndex++},T()("i.material-icons","chevron_right")),disabled:!l}];return T()("ul.pagination",c.map((e,t)=>T()(e4,eN({title:o+t},e,{active:o+t===n}))))}}},e8=["label","helperText","initialValue","newRow","className","iconName","isMandatory","onchange","disabled"],e9=["label","helperText","initialValue","newRow","className","iconName","isMandatory","onchange","disabled"],e7=()=>{let e={id:ek()};return{view:t=>{let{attrs:{label:n,helperText:i,initialValue:r,newRow:o,className:s="col s12",iconName:a,isMandatory:l,onchange:c,disabled:u}}=t,h=eI(t.attrs,e8),d=e.id,p=eA(h),f=c?()=>e.dp&&c(e.dp.date):void 0;return T()(".input-field"+(o?".clear":""),{className:s,onremove:()=>e.dp&&e.dp.destroy()},[a?T()("i.material-icons.prefix",a):"",T()(`input.datepicker[type=text][tabindex=0][id=${d}]${p}${u?"[disabled]":""}`,{oncreate:({dom:t})=>{e.dp=M.Datepicker.init(t,eN({format:"yyyy/mm/dd",showClearBtn:!0,setDefaultDate:!0,defaultDate:r?new Date(r):new Date},h,{onClose:f}))}}),T()(eR,{label:n,id:d,isMandatory:l,isActive:!!r}),T()(eP,{helperText:i})])}}},te=()=>{let e={id:ek()};return{view:t=>{let{attrs:{label:n,helperText:i,initialValue:r,newRow:o,className:s="col s12",iconName:a,isMandatory:l,onchange:c,disabled:u}}=t,h=eI(t.attrs,e9),d=e.id,p=eA(h),f=new Date,m=c?()=>e.tp&&c(e.tp.time||r||`${f.getHours()}:${f.getMinutes()}`):void 0;return T()(`.input-field.timepicker${o?".clear":""}`,{className:s,onremove:()=>e.tp&&e.tp.destroy()},[a?T()("i.material-icons.prefix",a):"",T()(`input[type=text][tabindex=0][id=${d}]${p}${u?"[disabled]":""}`,{value:r,oncreate:({dom:t})=>{e.tp=M.Timepicker.init(t,eN({twelveHour:!1,showClearBtn:!0,defaultTime:r},h,{onCloseEnd:m}))}}),T()(eR,{label:n,id:d,isMandatory:l,isActive:r}),T()(eP,{helperText:i})])}}},tt=()=>({view:({attrs:{id:e,groupId:t,label:n,onchange:i,className:r="col s12",checked:o,disabled:s}})=>T()("div",{className:r},T()("label",[T()(`input[type=radio][tabindex=0][name=${t}]${o?"[checked=checked]":""}${s?"[disabled]":""}`,{onclick:i?()=>i(e):void 0}),T()("span",T().trust(n))]))}),tn=()=>{let e={groupId:ek()};return{oninit:({attrs:{checkedId:t,initialValue:n}})=>{e.oldCheckedId=t,e.checkedId=t||n},view:({attrs:{id:t,checkedId:n,newRow:i,className:r="col s12",label:o="",disabled:s,description:a,options:l,isMandatory:c,checkboxClass:u,onchange:h}})=>{e.oldCheckedId!==n&&(e.oldCheckedId=e.checkedId=n);let{groupId:d,checkedId:p}=e,f=t=>{e.checkedId=t,h&&h(t)};return i&&(r+=" clear"),T()("div",{id:t,className:r},[T()("div",{className:"input-field options"},T()(eR,{id:t,label:o,isMandatory:c})),a?T()("p.helper-text",T().trust(a)):"",...l.map(e=>T()(tt,eN({},e,{onchange:f,groupId:d,disabled:s,className:u,checked:e.id===p})))])}}},ti=()=>{let e={},t=e=>e.map(e=>e.id).join(""),n=(e,t,n=!1)=>n||(t instanceof Array&&(e||"number"==typeof e)?t.indexOf(e)>=0:t===e);return{oninit:({attrs:{checkedId:n,initialValue:i,options:r}})=>{e.ids=t(r);let o=n||i;e.checkedId=n instanceof Array?[...n]:n,e.initialValue=null!=o?o instanceof Array?o.filter(e=>null!=e):[o]:[]},view:({attrs:{id:i,newRow:r,className:o="col s12",checkedId:s,key:a,options:l,multiple:c,label:u,helperText:h,placeholder:d="",isMandatory:p,iconName:f,disabled:m,classes:g="",dropdownOptions:v,onchange:y}})=>{e.checkedId!==s&&(e.initialValue=s?s instanceof Array?s:[s]:void 0);let{initialValue:b}=e,w=y?c?()=>{let t=e.instance&&e.instance.getSelectedValues(),n=t?t.length>0&&eS(t[0])?t.map(e=>+e):t.filter(e=>null!==e||void 0!==e):void 0;e.initialValue=n||[],y(e.initialValue)}:t=>{if(t&&t.currentTarget){let n=t.currentTarget,i=eS(n.value)?+n.value:n.value;e.initialValue=[i]}e.initialValue&&y(e.initialValue)}:void 0;r&&(o+=" clear");let _=!l.some(e=>n(e.id,b)),E=l.reduce((e,t)=>(t.group&&0>e.indexOf(t.group)&&e.push(t.group),e),[]);return T()(".input-field.select-space",{className:o,key:a,oncreate:c?({dom:t})=>e.wrapper=t:void 0},[f&&T()("i.material-icons.prefix",f),T()("select",{id:i,title:u,disabled:m,multiple:c,oncreate:({dom:t})=>{e.instance=M.FormSelect.init(t,{classes:g,dropdownOptions:v})},onupdate:({dom:n})=>{if(c){let t=f?1:0;!e.inputEl&&e.wrapper&&e.wrapper.childNodes&&e.wrapper.childNodes.length>0&&e.wrapper.childNodes[t].childNodes&&e.wrapper.childNodes[t].childNodes[0]&&(e.inputEl=e.wrapper.childNodes[t].childNodes[0]),e.inputEl&&e.inputEl.value&&e.inputEl.value.startsWith(`${d}, `)&&(e.inputEl.value=e.inputEl.value.replace(`${d}, `,""))}let i=t(l),r=s&&e.checkedId!==s.toString();e.ids!==i&&(e.ids=i,r=!0),(e.checkedId instanceof Array&&s instanceof Array?e.checkedId.join()!==s.join():e.checkedId!==s)&&(e.checkedId=s,r=!0),r&&(e.instance=M.FormSelect.init(n,{classes:g,dropdownOptions:v}))},onchange:w},T()("option",{value:"",disabled:!0,selected:!!_||void 0},d),0===E.length?l.map((e,t)=>{var i;return T()("option",{value:e.id,title:e.title||void 0,disabled:e.disabled?"true":void 0,"data-icon":e.img||void 0,selected:n(e.id,b,0===t&&_&&!d)},null==(i=e.label)?void 0:i.replace("&","&"))}):E.map(e=>T()("optgroup",{label:e},l.filter(t=>t.group===e).map((e,t)=>{var i;return T()("option",{value:e.id,title:e.title||void 0,disabled:e.disabled?"true":void 0,"data-icon":e.img||void 0,selected:n(e.id,b,0===t&&_&&!d)},null==(i=e.label)?void 0:i.replace("&","&"))})))),T()(eR,{label:u,isMandatory:p}),h&&T()(eP,{helperText:h})])}}},tr=["label","left","right","disabled","newRow","onchange","checked","isMandatory","className"],to=()=>{let e={id:ek()};return{view:({attrs:t})=>{let n=t.id||e.id,{label:i,left:r,right:o,disabled:s,newRow:a,onchange:l,checked:c,isMandatory:u,className:h="col s12"}=t,d=eI(t,tr);return T()("div"+(a?".clear":""),{className:h},[i?T()(eR,{label:i||"",id:n,isMandatory:u}):void 0,T()(".switch",d,T()("label",[r||"Off",T()(`input[id=${n}][type=checkbox]${eC({disabled:s})}${c?"[checked]":""}`,{onclick:l?e=>{e.target&&void 0!==e.target.checked&&l(e.target.checked)}:void 0}),T()("span.lever"),o||"On"]))])}}},ts=()=>{let e={},t=(e,t)=>t||e.replace(/ /g,"").toLowerCase();return{view:({attrs:{tabWidth:n,selectedTabId:i,tabs:r,className:o,style:s,duration:a,onShow:l,swipeable:c,responsiveThreshold:u}})=>{let h=r.filter(e=>e.active).shift(),d=i||(h?t(h.title,h.id):"");return T()(".row",[T()(".col.s12",T()("ul.tabs"+("fill"===n?".tabs-fixed-width":""),{className:o,style:s,oncreate:({dom:t})=>{e.instance=M.Tabs.init(t,{duration:a,onShow:l,responsiveThreshold:u,swipeable:c})},onupdate:()=>{if(d){let e=document.getElementById(`tab_${d}`);e&&e.click()}},onremove:()=>e.instance.destroy()},r.map(({className:e,title:i,id:o,active:s,disabled:a,target:l,href:c})=>T()(`li.tab${a?".disabled":""}${"fixed"===n?`.col.s${Math.floor(12/r.length)}`:""}`,{className:e},T()(`a[id=tab_${t(i,o)}]${s?".active":""}`,{target:l,href:c||`#${t(i,o)}`},i))))),r.filter(({href:e})=>void 0===e).map(({id:e,title:n,vnode:i,contentClass:r})=>T()(`.col.s12[id=${t(n,e)}]`,{className:r},i))])}}},ta=e=>e.charAt(0).toUpperCase()+e.slice(1),tl=(e,t=2,n="0")=>e.toString().length>=t?e.toString():tl(n+e,t,n),tc=e=>e?`${tl(e.getHours())}:${tl(e.getMinutes())}`:"00:00",tu=(e,t)=>{let n=(t=(t=t.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split("."),i={...e};for(let t=0,r=n.length;t<r;++t){let r=n[t];if("object"==typeof i&&r in i)i=i[r];else{if(!(i instanceof Array))return;{let t=e[r]||r,n=/([A-Z]\w+)/.exec(r),o=n&&n[0][0].toLowerCase()+n[0].substr(1)||r,s=i.filter(e=>e[o]===t).shift();if(!s)return;i=s}}}return i},th=e=>e.reduce((e,t)=>t instanceof Array?[...e,...t]:[...e,t],[]),td=/([^ =><]*)\s*([=><]*)\s*(\S*)/i,tp=/^\s*!\s*/,tf=/===?|[^<>=]/i,tm=function(e){var t=[].slice.call(arguments,1);return 0===e.length||(e instanceof Array?e:[e]).some(e=>{let n,i;return n=e,i=tf.test(e)?[t[0]]:th(t),n.split("&").reduce((e,t)=>{let n=tp.test(t),r=n?t.replace(tp,""):t;return e=e&&i.filter(Boolean).reduce((e,t)=>e||((e,t)=>{if(!t||0===Object.keys(t).length)return!1;let n=td.exec(e);if(n){let[e,i,r,o]=n,s=tu(t,i.trim());if(void 0===s||"string"==typeof s&&0===s.length)return!1;if(!r||!o)return!0;{let t=isNaN(+o)?"true"===o||"false"!==o&&o:+o;switch(r){case"=":case"==":case"===":return s instanceof Array?s.indexOf(t)>=0:s===t;case"<=":return s<=t;case">=":return s>=t;case"<":return s<t;case">":return s>t;default:return console.error(`Unrecognized operand (${r}) in expression: ${e}`),!1}}}return!0})(r.trim(),t),!1),n?!e:e},!0)})},tg=(e,t)=>tu(t.filter(Boolean).reduceRight((e,t)=>({...t,...e})),e.trim()),tv=(e,t)=>void 0!==tg(e,t),ty=/{{\s*([^\s"'`:]*):?([^\s]*)\s*}}/g,tb=function(e){let t;if(!ty.test(e))return!0;ty.lastIndex=0;let n=!0;do(t=ty.exec(e))&&(t.index===ty.lastIndex&&ty.lastIndex++,t.forEach((e,t,[,i])=>{n=n&&tv(i,[].slice.call(arguments,1))}));while(n&&null!==t);return n},tw=(e,t)=>{if(void 0===e)return"";if(e instanceof Array)return e.map(e=>tw(e,t)).join(", ");if(!t)return e.toString();if("boolean"==typeof e){let n=t.indexOf(":");return e?t.substring(0,n):t.substring(n+1)}switch(t){default:return e.toString();case"date":return new Date(e).toLocaleDateString();case"time":return new Date(e).toLocaleTimeString();case"iso":return new Date(e).toISOString();case"utc":return new Date(e).toUTCString()}},t_=function(e){let t;if(!ty.test(e))return e;ty.lastIndex=0;do(t=ty.exec(e))&&(t.index===ty.lastIndex&&ty.lastIndex++,t.forEach((t,n,[i,r,o])=>{let s=tg(r,[].slice.call(arguments,1));!s||s instanceof Array||(e=e.replace(i,tw(s,o)))}));while(null!==t);return e},tE=e=>{if(null===e)return e;if(e instanceof Date)return new Date(e.getTime());if(e instanceof Array){let t=[];return e.forEach(e=>{t.push(e)}),t.map(e=>tE(e))}if("object"==typeof e){let t={...e};return Object.keys(t).forEach(e=>{t[e]=tE(t[e])}),t}return e},tx=(e="")=>e.replace(/\s|,|\./g,"").toLowerCase(),tk=(e,t,n=1)=>{let i=[];for(let r=e;r<=t;r+=n)i.push(r);return i},tT=e=>{"string"!=typeof e&&(e=JSON.stringify(e));let t=0;if(0===e.length)return t;for(var n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t&=t;return t},tO=(e,t,n)=>{let i=Object.assign({},t,n);return`${e}?${Object.keys(i).map(e=>`${e}=${i[e]}`).join("&")}`},tC=()=>({view:({attrs:{md:e="",removeParagraphs:t=!1,externalLinks:n=!1,...i}})=>T()(".slimdown-view.markdown",i,T().trust(ex(e,t,n)))}),tA=()=>({view:({attrs:{type:e,props:t,label:n="",initialValue:i,inline:r=!1}})=>{let o={className:t.className||"col s12"};if(i instanceof Array&&i.length>3)return T()(".readonly",o,[T()("label",n),T()(tC,{md:"\n- "+i.join("\n- ")})]);if("string"==typeof i)return T()(".readonly",o,"url"===e?[T()("label",`${n.trim()}: `),T()("a[target=_blank]",{href:i},i)]:"color"===e?[T()("label",`${n.trim()}: `),T()(".color",{style:`height: 1rem; width: 40px; border-radius: 4px; background-color: ${i}`})]:[T()("label",n),T()(tC,{md:i})]);let s=i instanceof Array?i.join(", "):i;return T()(".readonly",o,[n&&T()("label",n),r?T()("span",s?`: ${s}`:T().trust(" ")):T()("p",s||T().trust(" "))])}}),tS=()=>{let e;let t={},n=(e,n)=>{let i=e instanceof Array?e.length:e.hasOwnProperty(n)?e[n].length:0,r=t.onNewItem?t.onNewItem(e,n,i):{};e instanceof Array?e.push(r):e.hasOwnProperty(n)?e[n].push(r):e[n]=[r]},i=e=>{e.preventDefault()};return{oninit:({attrs:{i18n:n={},field:{id:i="",sortProperty:r,onNewItem:o}}})=>{t.editLabel=n.editRepeat||`Edit ${String(i)}`,t.createLabel=n.createRepeat||`Create new ${String(i)}`,t.onNewItem=o,e=(e=>{if(!e)return(e,t)=>0;let t="!"===e[0],n=t?e.substring(1):e;return t?(e,t)=>e[n]>t[n]?-1:e[n]<t[n]?1:0:(e,t)=>e[n]>t[n]?1:e[n]<t[n]?-1:0})(r)},view:({attrs:{field:r,obj:o,context:s,className:a=r.className?"."+r.className.split(" ").join("."):".col.s12",section:l,containerId:c,disabled:u="boolean"==typeof r.disabled?r.disabled:void 0,readonly:h,i18n:d={},onchange:p}})=>{let f,m;let{filterValue:g}=t,{id:v,label:y,type:b,min:w,max:_,pageSize:E,propertyFilter:x,filterLabel:k,readonly:O=h,repeatItemClass:C=""}=r,A=(f=o,m=v,f instanceof Array?f:(f.hasOwnProperty(m)||(f[m]=[]),f[m])),S=g?tx(g):void 0,N=x&&S&&S.length>2?A.filter(e=>tx(`${e[x]}`).indexOf(S)>=0):A,I=(e=>{let t=window.location.hash.split("?")[1];return t?new URLSearchParams(t).get(e):null})(String(v)),L=I?Math.min(N.length,+I):1,R=E&&N&&(L-1)*E<N.length?L:1,P=T().route.get()||location.href.replace(location.origin,"").replace("/#!",""),D=E?Math.ceil(N.length/E):0,j=!!(_&&N.length>=_),B=!u&&!O&&(!w||N.length>w),F=P?P.split("?")[0]:"",q=(e=>{let t=e?e.split("?")[1]:window.location.search.slice(1),n={};if(t){let e=t.split("&");for(var i=0;i<e.length;i++){let t=e[i].split("="),r=t[0],o=void 0===t[1]||t[1];if(r.match(/\[(\d+)?\]$/)){let e=n[r.replace(/\[(\d+)?\]/,"")]||[];r.match(/\[\d+\]$/)?e[+/\[(\d+)\]/.exec(r)[1]]=o:e.push(o)}else n[r]?("string"==typeof n[r]&&(n[r]=[n[r]]),n[r].push(o)):n[r]=o}}return n})(P),H=30+10*Math.floor(Math.log10(N.length)),U=0===D;return[[T()(`#${String(v)}.mui-repeat-list${a}`,[T()(".row.mui-repeat-list-controls",T()(".col.s12",[T()(eH,{iconName:u||O||j?"":"add",iconClass:"right",label:y,onclick:()=>{n(o,String(v)),v&&T().route.set(F,Object.assign(q,{[v]:N.length})),p&&p(o)},style:{padding:0},className:"left",disabled:u||j,readonly:O}),D>1&&T()(".right",T()(e6,{curPage:R,items:tk(1,D).map(e=>({href:tO(F,q,{[v]:e})}))})),(N.length>1||g)&&x&&!u&&T()(eY,{style:"margin-top: -6px; margin-bottom: -1rem;",iconName:"filter_list",iconClass:"small",placeholder:k,onkeyup:(e,n)=>t.filterValue=n,className:"right",disabled:u,readonly:O})])),N&&N.length>0&&"string"!=typeof b&&N.sort(e).filter(E?(e,t)=>(R-1)*E<=t&&t<R*E:()=>!0).map((e,n)=>T()(".mui-repeat-item",{key:n,draggable:U,ondragstart:U?e=>{var t,i;return t=e,i=n,void t.dataTransfer?.setData("text/plain",i.toString())}:void 0,ondragover:U?i:void 0,ondrop:U?e=>((e,t,n,i,r)=>{let o=parseInt(e.dataTransfer?.getData("text")||"0",10),s=[...n[i]],[a]=s.splice(o,1);s.splice(t,0,a),n[i]=s,r&&r(n),e.preventDefault()})(e,n,o,v,p):void 0,style:{display:"flex",cursor:U?"move":void 0}},[B&&[(!E||E>1)&&T()("span.mui-show-item-number left",{style:`flex: 0 0 ${H}px;`},`[${(E?(R-1)*E+n:n)+1}]`)],[T()(".row.repeat-item",{className:C,key:L+tT(e),style:"flex: 1;"},[b&&T()(tM,{form:b,obj:e,i18n:d,context:s instanceof Array?[o,...s]:[o,s],section:l,containerId:c,disabled:u,readonly:O,onchange:()=>p&&p(o)})])],B&&[T()(eH,{iconName:"delete",className:"mui-delete-item",iconClass:"mui-delete-icon",style:{flex:"0 0 20px",padding:0},disabled:u,readonly:O,onclick:()=>{t.curItemIdx=E?(R-1)*E+n:n}})]])),!(u||j||O||!N||0===N.length||1===E)&&T()(e$,{iconName:"add",className:"row mui-add-new-item btn-small right",title:y,style:"padding: 0; margin-top: -10px; margin-right: -25px",onclick:()=>{n(o,String(v)),T().route.set(F,Object.assign(q,{[v]:N.length})),p&&p(o)}})])],void 0!==t.curItemIdx&&T()(e3,{id:"deleteItem",onCreate:e=>e.open(),options:{onCloseStart:()=>{t.curItemIdx=void 0,T().redraw()}},fixedFooter:!0,title:d.deleteItem||"Delete item",description:T()(tM,{form:b,obj:N[t.curItemIdx],context:s instanceof Array?[o,...s]:[o,s],section:l,containerId:c,readonly:!0,i18n:d}),buttons:[{label:d.disagree||"Disagree"},{label:d.agree||"Agree",onclick:()=>{void 0!==t.curItemIdx&&(N.splice(t.curItemIdx,1),o instanceof Array?o=[...N]:o[v]=[...N],p&&p(o))}}]})]}}},tN=()=>{let e={};return{oninit:({attrs:{i18n:t={}}})=>{let{raw:n="RAW",view:i="VIEW"}=t;e.raw=n,e.view=i},view:({attrs:{field:{id:t="",type:n,onSelect:i},obj:r,context:o,containerId:s,disabled:a,readonly:l,i18n:c,onchange:u}})=>{if(r instanceof Array)return;let h=r[t],d=h?JSON.parse(h):void 0,p=d&&d.features||[],f=[],m={title:e.raw,vnode:T()(eK,{class:"col s12",initialValue:d?JSON.stringify(d,null,2):void 0,placeholder:"Enter GeoJSON",onchange:e=>r[t]=e})};if(!n||"string"==typeof n)return;let g=n.length>0?n[0].id:void 0,v={title:e.view,vnode:p.length?T()(eX,{oncreate:({dom:t})=>e.dom=t,onOpenStart:i?t=>{let n=e.dom.children||[];for(let e=0;e<n.length;e++)if(n[e]===t)return void i(e,p[e])}:void 0,className:"geojson-feature-list",items:p.map((e,i)=>(e.properties||(e.properties={}),{id:"erik_"+i,key:i,header:g&&e.properties[g]||e.geometry.type,body:T()(".row",T()(tM,{class:"col s12",form:n,obj:e.properties,i18n:c,context:o instanceof Array?[r,...o]:[r,o],containerId:s,disabled:a,readonly:l,onchange:(e,n)=>{n&&(p[i].properties=n),r[t]=JSON.stringify(d,null,2),u&&u(r)}}))}))}):T()("span","...")};return f.push(v),f.push(m),T()(ts,{tabs:f,tabWidth:"fill"})}}},tI=((e={},t={})=>()=>{let n={key:Date.now()};return{view:({attrs:{i18n:i,field:r,obj:o,autofocus:s,onchange:a,context:l=[],containerId:c,disabled:u,readonly:h}})=>{let{id:d="",type:p,disabled:f=u,readonly:m=h,value:g,required:v,autogenerate:y,show:b,label:w,description:_,i18n:E=i||{},checkAllOptions:x,transform:k,effect:O,onkeyup:C,onkeydown:A,onblur:S}=r;if(b&&!tm(b,o,l)||w&&!tb(w,o,l)||_&&!tb(_,o,l))return;let N="string"==typeof r.options?tg(r.options,[o,...l]):r.options,I=N&&N instanceof Array?N.filter(e=>void 0!==e.id&&(e.label||isNaN(Number(e.id)))&&(!e.show||tm(e.show,o,l))).map(e=>e.label?e:{...e,label:ta(e.id)}):[],L="boolean"==typeof u&&u,R=((e,t=!1,n=!1)=>{let{id:i="",label:r,description:o,required:s,multiple:a,className:l,checkboxClass:c,icon:u,iconClass:h,placeholder:d,maxLength:p,minLength:f,max:m,min:g,step:v,dateTimeOutput:y,dateTimeSeconds:b,dateFormat:w,twelveHour:_}=e,E={id:`mui_${String(i)}-${ek()}`,label:r};return void 0===r&&i&&(E.label=ta(String(i))),o&&(E.helperText=ex(o,!0)),l&&(E.className=l),u&&(E.iconName=u),h&&(E.iconClass=h),c&&(E.checkboxClass=c),d&&(E.placeholder=d),s&&(E.isMandatory=!0),a&&(E.multiple=a),n&&(E.disabled=!0),t&&(E.autofocus=!0),void 0!==p&&(E.maxLength=p),void 0!==f&&(E.minLength=f),void 0!==m&&(E.max=m),void 0!==g&&(E.min=g),void 0!==v&&(E.step=v),y&&(E.dateTimeOutput=y),b&&(E.dateTimeSeconds=b),w&&(E.dateFormat=w),_&&(E.twelveHour=_),E})(r,s,"boolean"==typeof f||void 0===f?L||f:L||tm(f,o,l));w&&(R.label=ex(t_(R.label||w,o,l),!0)),_&&(R.description=ex(t_(R.description||_,o,l),!0));let P=v?e=>!(e instanceof Array)||e&&e.length>0:void 0;if(o instanceof Array)return void console.warn("Only a repeat list can deal with arrays!");let D=function(e){try{return void 0===e||"undefined"===e?(delete o[d],a(o),Promise.resolve()):(o[d]=k?k("to",e):e,O?Promise.resolve(O(o,o[d],l)).then(function(e){a(void 0!==e?e:o)}):Promise.resolve(a(o)))}catch(e){return Promise.reject(e)}};if(p instanceof Array)return d?(o.hasOwnProperty(d)||(o[d]={}),T()(".muf-form",{className:r.className},[T()(".muf-form-header",T().trust(ex(R.label||ta(String(d)),!0))),R.description&&T()("div",T().trust(ex(R.description))),T()(".row",T()(tM,{...R,i18n:E,readonly:m,form:p,obj:o[d],context:l instanceof Array?[o,...l]:[o,l],onchange:()=>a&&a(o),containerId:c}))])):void console.warn("Missing ID for type "+JSON.stringify(p));y&&!o[d]&&(o[d]="guid"===y?"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}):"id"===y?ek():Date.now());let j=o.hasOwnProperty(d)&&void 0!==o[d]?k?k("from",o[d]):o[d]:g;d&&void 0!==g&&void 0!==j&&(o[d]=k?k("to",j):j);let[B,F]=x?x.split("|"):["",""];if(m&&p&&0>["md","none"].indexOf(p)){if(t.hasOwnProperty(p))return T()(t[p],{iv:j,field:r,props:R,label:R.label,obj:o,context:l});if(p&&e.hasOwnProperty(p))return T()(e[p],{iv:j,field:r,props:R,label:R.label,onchange:D,obj:o,context:l});switch(p){case"time":{let e=E.dateTimeOptions?{hour:"2-digit",minute:"2-digit",second:void 0,...E.dateTimeOptions,weekday:void 0,month:void 0,day:void 0,year:void 0}:void 0,t="number"==typeof j||"string"==typeof j||j instanceof Date?new Date(j):void 0,n=t?t.toLocaleTimeString(E.locales,e):"";return T()(tA,{props:R,label:R.label,initialValue:n})}case"date":{let e=E.dateTimeOptions?{...E.dateTimeOptions,hour:void 0,hour12:void 0,minute:void 0,second:void 0}:void 0,t="number"==typeof j||"string"==typeof j||j instanceof Date?new Date(j):void 0,n=t?t.toLocaleDateString(E.locales,e):"";return T()(tA,{props:R,label:R.label,initialValue:n})}case"datetime":{let e=E.dateTimeOptions?{hour:"2-digit",minute:"2-digit",month:"numeric",day:"numeric",...E.dateTimeOptions}:void 0,t="number"==typeof j||"string"==typeof j||j instanceof Date?new Date(j):void 0,n=t?t.toLocaleTimeString(E.locales,e):"";return T()(tA,{props:R,label:R.label,initialValue:n})}case"switch":case"checkbox":return T()(tA,{props:R,label:R.label,initialValue:j?"✔":"✘",inline:!0});case"tags":return T()(tA,{props:R,label:R.label,initialValue:j||[]});case"options":case"select":{let e=void 0!==j?j instanceof Array?j:[j]:[],t=I.filter(t=>e.indexOf(t.id)>=0),n=t&&0===t.length?"?":1===t.length?t[0].label:t.map(e=>e.label);return T()(tA,{props:R,label:R.label,initialValue:n})}case"radio":{let e=I.filter(e=>e.id===j);return T()(tA,{props:R,label:R.label,initialValue:e&&e.length?e[0].label:"?"})}case"base64":return!(!j||!/data:image/i.test(j))&&T()("div",T()("img.responsive-img",{src:j,alt:o.title||o.alt||o.name||"",style:`max-height: ${r.max||50}px`}));case"file":return T()("div",R,(j instanceof Array?j:[j]).map((e="")=>{let t=/data:image|.jpg$|.jpeg$|.png$|.gif$|.svg$|.bmp$|.tif$|.tiff$/i.test(e),n=`${new URL(r.url).origin}${e}`;return T()("a[target=_blank]",{href:n},t?T()("img",{src:n,alt:n,style:`max-height: ${r.max||50}`}):T()(tA,{props:R,label:r.placeholder||"File",initialValue:e}))}));case"md":case"markdown":{let e="string"==typeof j&&j?ex(j):"";return T()(tA,{props:R,label:R.label,initialValue:e})}default:return T()(tA,{props:R,type:p,label:R.label,initialValue:j})}}else{if(p&&e.hasOwnProperty(p))return T()(e[p],{iv:j,field:r,props:R,label:R.label,onchange:D,obj:o,context:l});switch(p){case"colour":case"color":return T()(eJ,{...R,initialValue:j,onchange:D,onblur:S});case"time":{let{twelveHour:e=!1}=R,t=j?"number"==typeof j||"string"==typeof j?new Date(j):j:new Date,n=tc(t);return o[d]=k?k("to",t):t,T()(te,{...R,twelveHour:e,initialValue:n,onchange:e=>{let n=e.split(":").map(e=>+e);t.setHours(n[0],n[1]),D(t)},container:c})}case"date":{let{format:e="mmmm d, yyyy"}=R,t="number"==typeof j||"string"==typeof j?new Date(j):j;o[d]=t?k?k("to",t.valueOf()):t.valueOf():t;let{min:n,max:i}=R,r=n?!t||n<t.valueOf()?new Date(n):t:void 0,s=i?!t||i>t.valueOf()?new Date(i):t:void 0;return T()(e7,{...R,minDate:r,maxDate:s,setDefaultDate:!!t,format:e,initialValue:t,onchange:e=>{D(new Date(e))},container:c})}case"datetime":{let{label:e,className:t="col s12",dateTimeSeconds:n=!1,twelveHour:i=!1,format:r="mmmm d, yyyy",...o}=R,s="number"==typeof j||"string"==typeof j?new Date(j):j,a={initialDateTime:s},l=s||void 0,u=s?tc(s):"",{min:h,max:d}=R,p=h?!s||h<s.valueOf()?new Date(h):s:void 0,f=d?!s||d>s.valueOf()?new Date(d):s:void 0,m=R.dateTimeOutput||"UTC",g=e=>{a.initialDateTime=e,D("UTC"===m?e.toUTCString():"ISO"===m?e.toISOString():e.valueOf())};return T()("div",{className:t},T()(".row",[T()(n?".col.s6":".col.s8",{style:"padding: 0"},T()(e7,{...o,label:e,minDate:p,maxDate:f,setDefaultDate:!!s,format:r,initialValue:l,container:c,onchange:e=>{let t=new Date(a.initialDateTime);t.setFullYear(e.getFullYear()),t.setMonth(e.getMonth()),t.setDate(e.getDate()),g(t)}})),T()(".col.s4",{style:"min-width: 6rem; padding-right: 0; padding-left: 0"},T()(te,{...o,label:"",helperText:"",twelveHour:i,initialValue:u,container:c,onchange:e=>{let t=e.split(":").map(e=>+e),n=a.initialDateTime||new Date((new Date).setSeconds(0,0));n.setHours(t[0],t[1]),g(n)}})),n&&T()(eZ,{style:"min-width: 4rem; padding-right: 0; padding-left: 0",className:"col s2",min:0,max:59,onchange:e=>{let t=a.initialDateTime||new Date((new Date).setSeconds(0,0));t.setSeconds(e,0),g(t)}})]))}case"email":return T()(e0,{...R,validate:P,autofocus:s,onchange:D,initialValue:j,onkeydown:A,onkeyup:C,onblur:S});case"number":return T()(eZ,{...R,validate:P,autofocus:s,onchange:D,initialValue:j,onkeydown:A,onkeyup:C,onblur:S});case"radio":return T()(tn,{label:"",...R,options:I,checkedId:j,onchange:D});case"checkbox":return T()(e2,{...R,checked:j,onchange:D});case"options":return[[T()(e5,{key:n.key,checkboxClass:"col s6 m4 l3",className:"input-field col s12",...R,disabled:R.disabled||!I||0===I.length,options:I,checkedId:j,onchange:e=>D(1===e.length?e[0]:e.filter(e=>null!==e))})],void 0!==x&&T()(".col.s12.option-buttons",[T()(eH,{disabled:R.disabled,label:B,iconName:"check",onclick:()=>{n.key=Date.now(),D(I.map(e=>e.id))}}),F&&T()(eH,{disabled:R.disabled,label:F,iconName:"check_box_outline_blank",onclick:()=>{let e=o[d]||[];e.length=0,n.key=Date.now(),D(e)}})])];case"select":return T()(ti,{placeholder:R.multiple?E.pickOneOrMore||"Pick one or more":E.pickOne||"Pick one",...R,disabled:R.disabled||!I||0===I.length,options:I,initialValue:j,onchange:e=>D(1!==e.length||R.multiple?e.filter(e=>null!==e||void 0!==e):e[0])});case"markdown":case"md":{let{label:e,className:t="col s12"}=R,n=t_((d?j:g||e)||"",o,l);return T()(tC,{md:n,className:t})}case"section":return T()(".divider");case"switch":{let e=I&&I.length>0?I[0].label:"",t=I&&I.length>1?I[1].label:"";return T()(to,{...R,left:e,right:t,checked:j,onchange:D})}case"tags":{let e=(j?j instanceof Array?j:[j]:[]).map(e=>({tag:e})),t=I&&I.length>0?{data:I.reduce((e,t)=>(e[t.id]=null,e),{}),limit:r.maxLength||1/0,minLength:r.minLength||1}:{},{label:n,isMandatory:i,className:o,helperText:s}=R;return T()(eU,{className:o,label:n,isMandatory:i,helperText:s,onchange:e=>D(e.map(e=>e.tag)),placeholder:r.placeholder||"Add a tag",secondaryPlaceholder:r.secondaryPlaceholder||"+tag",data:e,autocompleteOptions:t,onblur:S})}case"autocomplete":{let e=I&&I.length>0?{data:I.reduce((e,t)=>(e[t.id]=null,e),{}),limit:r.maxLength||1/0,minLength:r.minLength||1}:{data:{}},{label:t,isMandatory:n,className:i,helperText:o}=R;return T()(eD,{initialValue:j,className:i,label:t,isMandatory:n,helperText:o,onchange:D,onblur:S,placeholder:r.placeholder||"...",...e})}case"textarea":return T()(eK,{...R,validate:P,autofocus:s,onchange:D,initialValue:j,onkeyup:C,onkeydown:A,onblur:S});case"file":{let{url:e,placeholder:t}=r;if(!e)throw Error('Input field "url" not defined, which indicates the URL to the upload folder.');let n=I?I.map(e=>e.id):void 0;return T()(e1,{...R,accept:n,placeholder:t,onchange:t=>{if(!t||t.length<1)return void D("");let n=new FormData;n.append("file",t[0]),T().request({method:"POST",url:e,body:n}).then(e=>D(e)).catch(console.error)},initialValue:j})}case"base64":{let e=!(!j||!/data:image/i.test(j)),{placeholder:t}=r,n=I?I.map(e=>e.id).join(","):void 0;return e?T()("div",[T()("img.responsive-img",{src:j,alt:o.title||o.alt||o.name||"",style:`max-height: ${r.max||50}px`}),T()(eH,{iconName:"clear",onclick:()=>D("")})]):T()(e1,{...R,accept:n,placeholder:t,onchange:e=>{if(!e||e.length<1)return void D("");let t=new FileReader;t.onloadend=()=>{"string"==typeof t.result&&D(t.result),T().redraw()},t.readAsDataURL(e[0])},initialValue:j})}case"url":return T()(eQ,{placeholder:"http(s)://www.example.com",...R,validate:P,autofocus:s,onchange:D,initialValue:j,onkeydown:A,onkeyup:C,onblur:S});case"text":return T()(eY,{...R,validate:P,autofocus:s,onchange:D,initialValue:j,onkeydown:A,onkeyup:C,onblur:S});default:return}}}}})({},{}),tM=()=>({view:({attrs:{i18n:e,form:t,obj:n,onchange:i,disabled:r,readonly:o,context:s,section:a}})=>{let l=e=>{let n;return i&&i((n=e,t.filter(e=>e.required&&(e.id,!0)).reduce((e,t)=>e&&!(t.id&&(void 0===n[t.id]||n[t.id]instanceof Array&&0===n[t.id].length||"string"==typeof n[t.id]&&0===n[t.id].length)),!0)),e)};return t.filter((e=>{if(!e)return e=>!0;let t=!1;return({type:n,id:i})=>"section"===n?(t=i===e,!1):t})(a)).filter(e=>!e.show||tm(e.show,n,...s||[])).reduce((t,i)=>(i.type||(i.type=(e=>{let{autogenerate:t,value:n,options:i}=e;return t?"none":n?"string"==typeof n?"md":"number"==typeof n?"number":"boolean"==typeof n?"checkbox":"none":i&&i.length>0?"select":"none"})(i)),[...t,void 0===i.repeat||!1===i.repeat?T()(tI,{i18n:e,field:i,obj:n,onchange:l,disabled:r,readonly:o,context:s,section:a,containerId:"body"}):T()("geojson"===i.repeat?tN:tS,{obj:n,field:i,onchange:l,context:s,i18n:e,containerId:"body",disabled:r,readonly:o})]),[])}});function tL(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function tR(e,t){return null!=t&&"undefined"!=typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}function tP(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),i.forEach(function(t){var i,r,o;i=e,r=t,o=n[t],r in i?Object.defineProperty(i,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):i[r]=o})}return e}function tD(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n.push.apply(n,i)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function tj(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,i,r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],s=!0,a=!1;try{for(r=r.call(e);!(s=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);s=!0);}catch(e){a=!0,i=e}finally{try{!s&&null!=r.return&&r.return()}finally{if(a)throw i}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return tL(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return tL(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tB(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}var tF="SG_LANGUAGE",tq="SG_MODEL_SAVED",tH=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date,t=new Date(e);return"".concat(t.getFullYear(),"-").concat(q(t.getMonth()+1),"-").concat(q(t.getDate()))},t$=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"and",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",i=!(arguments.length>3)||void 0===arguments[3]||arguments[3],r=e.filter(function(e){return e});return 0===r.length?"":n+(1===r.length?r[0]:"".concat(r.slice(0,r.length-1).map(function(e,t){return 0!==t&&void 0!==e&&i?e.toLowerCase():e}).join(", ")," ").concat(t," ").concat(i?r[r.length-1].toLowerCase():r[r.length-1]))},tU=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;if(e>t)throw Error("Start number must be less than or equal to the end number.");if(n<=0)throw Error("Step size must be a positive number.");return Array.from({length:Math.floor((t-e)/n)+1},function(t,i){return e+i*n})},tz=function(e){if(0!==e.length){var t=Math.floor(Math.random()*e.length);return e[t]}},tX=function(e){if(null===e)return e;if(tR(e,Date))return new Date(e.getTime());if(tR(e,Array)){var t=[];return e.forEach(function(e){t.push(e)}),t.map(function(e){return tX(e)})}if((void 0===e?"undefined":tB(e))==="object"){var n=tP({},e);return Object.keys(n).forEach(function(e){n[e]=tX(n[e])}),n}return e},tW=function(e){var t=[parseInt(e[1]+e[2],16),parseInt(e[3]+e[4],16),parseInt(e[5]+e[6],16)];return .2126*t[0]+.7152*t[1]+.0722*t[2]<20?"#ffffff":"#000000"},tV=function(e,t){var n,i=(null===(n=e.scenario)||void 0===n?void 0:n.label)||"scenario_spark";return t&&(i+="_".concat(t)),"".concat(i.replace(/\s/g,"_"),"_v").concat(q(e.version||1,3),"_").concat(tH())},tK=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.categories,i=e.components,r=e.inconsistencies,o=0;do{var s=function(){var e=tP({},t),o=!0,s=!1,a=void 0;try{for(var l,c=n[Symbol.iterator]();!(o=(l=c.next()).done);o=!0){var u=function(){var t=l.value,n=i.filter(function(e){return t.componentIds&&t.componentIds.includes(e.id)}).map(function(e){var t=e.values?e.values.reduce(function(e,t){return e+(r[t.id]?Object.keys(r[t.id]).length:0)},0):0;return tD(tP({},e),{inc:t})}).sort(function(e,t){return e.inc>t.inc?-1:1}),o=[],s=!0,a=!1,c=void 0;try{for(var u,h=n[Symbol.iterator]();!(s=(u=h.next()).done);s=!0){var d=function(){var t=u.value;if(e.hasOwnProperty(t.id)){var n=e[t.id];if(n&&n.length){if(n.some(function(e){return o.includes(e)}))return{v:!1};n.forEach(function(e){r[e]&&Object.keys(r[e]).forEach(function(t){return r[e][t]&&o.push(t)})})}return"continue"}var i=t.values&&t.values.map(function(e){return e.id}).filter(function(e){return!o.includes(e)});if(!i||0===i.length)return{v:!1};var s=tz(i);if(!s)return{v:!1};r[s]&&Object.keys(r[s]).forEach(function(e){return r[s][e]&&o.push(e)}),e[t.id]=[s]}();if("object"===tB(d))return{v:d.v}}}catch(e){a=!0,c=e}finally{try{!s&&null!=h.return&&h.return()}finally{if(a)throw c}}}();if("object"===tB(u))return u.v}}catch(e){s=!0,a=e}finally{try{!o&&null!=c.return&&c.return()}finally{if(s)throw a}}return e}();if(s)return{id:C(),components:s,included:!1};o++}while(o<100);return!1},tG=function(e,t){t&&t.preventDefault();var n=document.getElementById(e);n?n.scrollIntoView({behavior:"smooth"}):console.log("Element with id ".concat(e," not found."))},tY=function(){window.scrollTo({top:0,behavior:"smooth"})},tZ=function(e,t){var n=e.components,i=tP({components:{}},function(e,t){if(null==e)return{};var n,i,r=function(e,t){if(null==e)return{};var n,i,r={},o=Object.keys(e);for(i=0;i<o.length;i++)n=o[i],!(t.indexOf(n)>=0)&&(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++){if(n=o[i],!(t.indexOf(n)>=0))Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}}return r}(e,["components"]));return t.filter(function(e){return n.hasOwnProperty(e.id)}).forEach(function(e){i.components[e.id]=n[e.id].filter(function(t){var n;return null===(n=e.values)||void 0===n?void 0:n.find(function(e){return e.id===t})})}),i},tQ=function(e){return e.map(function(e){return tD(tP({},e),{group:e.included?E("GROUP","SELECTED"):E("GROUP","UNSELECTED")})}).sort(function(e,t){return e.included&&t.included?(e.label||"").localeCompare(t.label):e.included?-1:1})},tJ=["#2c7bb6","#abd9e9","#ffffbf","#fdae61","#d7191c"],t0=function(e){var t=btoa(e);return"data:image/svg+xml;base64,".concat(t)},t1=function(e,t){var n=.1*t;return'<svg xmlns="http://www.w3.org/2000/svg" width="'.concat(t,'" height="').concat(t,'">\n <circle cx="').concat(t/2,'" cy="').concat(t/2,'" r="').concat((t-n)/2,'" fill="').concat(e,'" stroke="black" stroke-width="').concat(n,'" /></svg>')},t2=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=1,i=e.match(/^(.*?)(\d+)$/);i&&(e=i[1].trim(),n=parseInt(i[2])+1);for(var r="".concat(e," ").concat(n);t.includes(r);)n++,r="".concat(e," ").concat(n);return r};function t5(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function t3(e,t,n,i,r,o,s){try{var a=e[o](s),l=a.value}catch(e){n(e);return}a.done?t(l):Promise.resolve(l).then(i,r)}function t4(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function s(e){t3(o,i,r,s,a,"next",e)}function a(e){t3(o,i,r,s,a,"throw",e)}s(void 0)})}}function t6(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],i=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}var t8="SG_MODEL",t9=function(e){document.title="ScenarioSpark: ".concat(e)},t7=function(e,t){tY(),e.update({page:t})},ne=function(e,t,n,i){ch&&ch.switchTo(t,n,i),e.update({page:t})};var nt=(a=t4(function(e,t){var n,i=arguments;return t6(this,function(r){switch(r.label){case 0:var o;if(n=i.length>2&&void 0!==i[2]&&i[2],localStorage.setItem(tq,"false"),t.lastUpdate=Date.now(),!n)return[3,2];if(o=t.scenario,console.log("Validating scenario"),!o||(!o.inconsistencies&&(o.inconsistencies={}),!o.categories&&(o.categories=[]),!o.components&&(o.components=[]),!o.narratives&&(o.narratives=[]),o.narratives=o.narratives.map(function(e){return tZ(e,o.components)}),void 0===o.hideInconsistentValues&&(o.hideInconsistentValues=!0),!o.thresholdColors&&(o.thresholdColors=ec),o.narratives.forEach(function(e){!e.components&&(e.components={}),!e.id&&(e.id=C()),!e.label&&(e.label="UNKNOWN")}),o.categories.forEach(function(e){!e.componentIds&&(e.componentIds=[]),!e.id&&(e.id=C()),!e.label&&(e.label="UNKNOWN")}),o.components.forEach(function(e){!e.values&&(e.values=[]),!e.id&&(e.id=C()),!e.label&&(e.label="UNKNOWN")}),0))return alert(E("JSON_NOT_VALID")),[2];return[4,eb.set(t8,JSON.stringify(t))];case 1:return r.sent(),e.update({model:function(){return t},activeTooltip:"",title:t.scenario.label,curNarrative:function(){},excludedComps:function(){return{}},lockedComps:function(){return{}}}),[3,4];case 2:return[4,eb.set(t8,JSON.stringify(t))];case 3:r.sent(),e.update({model:function(){return t}}),r.label=4;case 4:return localStorage.setItem(tq,"false"),[2]}})}),function(e,t){return a.apply(this,arguments)});var nn=(l=t4(function(e,t){var n;return t6(this,function(i){return n=e.getState().model,!t.id&&(t.id=C()),n.scenario.narratives?t.saved?n.scenario.narratives=n.scenario.narratives.map(function(e){return e.id!==t.id?e:t}):(t.saved=!0,n.scenario.narratives.push(t)):(t.saved=!0,n.scenario.narratives=[t]),e.update({curNarrative:function(){return t}}),nt(e,n),[2]})}),function(e,t){return l.apply(this,arguments)});var ni=(c=t4(function(e,t){return t6(this,function(n){switch(n.label){case 0:if(!t.saved)return[3,2];return[4,nn(e,t)];case 1:n.sent(),n.label=2;case 2:return e.update({curNarrative:t}),[2]}})}),function(e,t){return c.apply(this,arguments)}),nr=function(e,t,n,i){var r,o=e.state.model,s=o.scenario.components.filter(function(e){return e.id===t}).shift();if(!s){console.error("Scenario component not found!");return}var a=s.values,l=void 0===a?[]:a;s.values="update"===i?l.map(function(e){return e.id===n.id?n:e}):"delete"===i?l.filter(function(e){return e.id!==n.id}):((function(e){if(Array.isArray(e))return t5(e)})(r=l)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||function(e,t){if(e){if("string"==typeof e)return t5(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return t5(e,t)}}(r)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).concat([n]),"delete"===i&&(o.scenario.narratives=o.scenario.narratives.map(function(e){return tZ(e,o.scenario.components)})),nt(e,o)},no=function(e,t,n,i,r){var o=e.state.model,s=o.scenario.components.filter(function(e){return e.id===t}).shift();if(!s){console.error("Scenario component not found!");return}var a=s.values,l=void 0===a?[]:a,c=l.find(function(e){return e.id===n});if(!!c)l.find(function(e){return e.id===i})&&(s.values=l.filter(function(e){return e.id!==n}).reduce(function(e,t){return t.id===i?r?(e.push(c),e.push(t)):(e.push(t),e.push(c)):e.push(t),e},[]),nt(e,o))};var ns=(u=t4(function(){var e,t=arguments;return t6(this,function(n){switch(n.label){case 0:return e=t.length>0&&void 0!==t[0]?t[0]:nw.currentLocale,localStorage.setItem(tF,e),[4,nw.loadAndSetLocale(e)];case 1:return n.sent(),[2]}})}),function(){return u.apply(this,arguments)});var na=(h=t4(function(e){var t,n,i,r;return t6(this,function(o){switch(o.label){case 0:return[4,eb.get(t8)];case 1:return t9(r=(null===(t=(i=(n=o.sent())?JSON.parse(n):eu).scenario)||void 0===t?void 0:t.label)||""),e({model:function(){return function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),i.forEach(function(t){var i,r,o;i=e,r=t,o=n[t],r in i?Object.defineProperty(i,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):i[r]=o})}return e}({},i)},title:r}),[2]}})}),function(e){return h.apply(this,arguments)}),nl={services:[{onchange:function(e){var t,n;return null===(n=e.model)||void 0===n?void 0:null===(t=n.scenario)||void 0===t?void 0:t.label},run:function(e){var t,n,i=null===(n=e.state.model)||void 0===n?void 0:null===(t=n.scenario)||void 0===t?void 0:t.label;t9(i),e.update({title:i})}}],initial:{title:"",page:O.HOME,model:eu}},nc=(0,em.meiosisSetup)({app:nl});na(nc().update),nc.map(function(){return T().redraw()});var nu=function(e){return e&&"object"==typeof e};function nh(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var n=this.opts,i=n.array;n.array=!0;var r=this.apply(null,e);return n.array=i,r}function nd(e,t){e=e||{},(t=t||{}).resolveAliases&&(e=nd.resolveAliases(e));var n={};function i(e,t,r){return function(e,t,n,i,r,o){r=r||{};var s=i[e],a=nu(s),l=a||null!=t||null!=n;if(l){if(nu(t)){var c=n;n=t,t=c}if(n=n||{},a){var u=null!=t&&s[t]||s["*"];if(null!=u)s=u;else if("number"==typeof t){var h,d,p,f,m=r.pluralize;h=s,d=t,p=m,f=Math.abs(d),s=null!=h[f=p?p(f):f]?h[f]:null!=h.n?h.n:void 0}}}if("string"!=typeof s){if(!1===r.useKeyForMissingTranslation)return;s=e,r.debug&&(null!=t?(s="@@"+e+"."+t+"@@",console.warn('No translation or pluralization form found for "'+t+'" in'+e)):(s="@@"+s+"@@",console.warn('Translation for "'+e+'" not found.')))}return l?function(e,t,n,i,r){var o=i[e];if(null==o){var s=e.replace(/\{(\w+)\}/g,"{x}$1{x}").split("{x}");o=s.length>1?s:s[0],i[e]=o}return o=o.pop?function(e,t,n,i){for(var r=i.array?e.slice():e[0],o=e.length,s=1;s<o;s+=2){var a=e[s],l=t[a];null==l&&("n"===a&&null!=n?l=n:(i.debug&&console.warn('No "'+a+'" in placeholder object:',t),l="{"+a+"}")),i.array?r[s]=l:r+=l+e[s+1]}return r}(o,t,n,r):o}(s,n,t,o,r):s}(e,t,r,i.keys,i.opts,n)}return i.arr=nh,i.keys=e||{},i.opts=t,i}nd.resolveAliases=function(e){var t={};return function n(i){if(nu(i)){var r,o;return r=i,o=n,Object.keys(r).reduce(function(e,t){return e[t]=o(r[t],t),e},{})}return i.replace(/{{(.*?)}}/g,function(i,r){if(t[r])throw Error('Circular reference for "'+r+'" detected');t[r]=!0;var o=r,s="",a=r.match(/^(.+)\[(.+)\]$/);a&&(o=a[1],s=a[2]);var l=e[o];if(nu(l)){if(s)l=l[s];else throw Error("You can't alias objects")}if(null==l)throw Error('No translation for alias "'+r+'"');var c=n(l);return t[r]=!1,c})}(e)};var np=n("8872");function nf(e,t,n,i,r,o,s){try{var a=e[o](s),l=a.value}catch(e){n(e);return}a.done?t(l):Promise.resolve(l).then(i,r)}function nm(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function s(e){nf(o,i,r,s,a,"next",e)}function a(e){nf(o,i,r,s,a,"throw",e)}s(void 0)})}}function ng(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],i=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}var nv={HOME:{TITLE:"home",ROUTE:"/home"},ABOUT:{TITLE:"About the app",ROUTE:"/about"},DEFINE_BOX:{TITLE:"Morphological box",ROUTE:"/define"},SETTINGS:{TITLE:"Settings",ROUTE:"/settings"},CREATE_SCENARIO:{TITLE:"Create scenario",ROUTE:"/create"},SHOW_SCENARIO:{TITLE:"Show scenarios",ROUTE:"/show"},DECISION_SUPPORT:{TITLE:"Decision support",ROUTE:"/decide"},DOWNLOAD:"Save scenario file",UPLOAD:"Load scenario file",CANCEL:"Cancel",DELETE:"Delete",AND:"and",YES:"Yes",NO:"No",OK:"Ok",NAME:"Name",DESCRIPTION:"Description",CATEGORIES:"Categories",DIMENSION:"Key driver",DIMENSION_SELECTED:"Selected drivers",DIMENSIONS:"Drivers",KEY_VALUE:"Key value",CONTEXT:"Context",NONE:"None",LOCATION:"Location",LOCATION_TYPE:"Location type",COORDINATES:"Coordinates",LOCATION_NAME:"Location name",LATITUDE:"Latitude",LONGITUDE:"Longitude",MANUAL:"Manual mode",Type:"Type",PICK_FROM_LIST:"Pick from list",ENTER_KEY_VALUE:"Enter key value",EDIT_COMPONENT:"Edit component",ADD_COMPONENT:"Add component",GENERATE_NARRATIVE:"Generate",CLEAR_NARRATIVE:"Clear",NAME_NARRATIVE:"Title of current narrative",SAVE_NARRATIVE:"Save",SAVED_NARRATIVES:"Saved scenarios",NARRATIVE:"narrative",INCLUDE_NARRATIVE:"Include scenario",NARRATIVE_INCLUDED:"Scenario is included",SELECT_NARRATIVE:"Select narrative",KEY:"Key",VALUE:"Value",MODEL:"Model",SELECTION:"Selected value",EDITOR_PLACEHOLDER:"Edit narrative",THRESHOLDS:"Thresholds colors reflecting component options",THRESHOLD:"Threshold value",COLOR:"Color",ORDER:"Order",COMBINATIONS:{POSSIBLE:"Combinations are possible",IMPOSSIBLE:"Combinations are impossible",IMPROBABLE:"Combinations are improbable"},DELETE_ITEM:{title:"Delete {item}",description:"Are you certain you want to delete this {item}. There is no turning back?"},NEW_MODEL:{btn:"New model",title:"Choose a new model and erase everything",description:"Are you sure that you want to delete your existing model and start one of the available new ones? There is no way back.",choose:"Choose your new model",remove:"Remove all key values"},INCONSISTENCIES:{title:"Edit inconsistencies",SELECT_ROW:"Select row",SELECT_COL:"Select column"},saveButton:{label:"Save",tooltip:"Save unsaved changes"},i18n:{editRepeat:"Edit",createRepeat:"Add",deleteItem:"Delete",agree:"Yes",disagree:"No",pick:"Pick",pickOne:"Pick one",pickOneOrMore:"Pick one or more",cancel:"Cancel",save:"Save"},COMP:{AVAILABLEBUDGET:"Budget",BEHAVIOURDURINGPREPARATION:"Behaviour during preparation",CAPABILITIES:"Capability",COMPARTMENTSPRESENT:"Compartments present",CRIMINALPHASE:"Criminal phase",DURATION:"Duration",EQUIPMENT:"Equipment",EXISTINGINFRA:"Existing infra",IMPACT:"Impact",INTENT:"Bystander intent",LOCATION:"Location",LOCATION2:"Location",MODUSOPERANDIDURINGEXECUTION:"Mode of operation",MOTIVATION:"Motivation",NARRATIVE:"Narrative",NARRATIVE_PLACEHOLDER:"Describe the context in which the incident took place, such as a description of the (geographic) location, the person or building that must be protected, the way an actor obtains information, at what time did the action take place, under what weather circumstances, how many persons were involved in the action, from which organisation, how did they obtain access, or which means/weapons were employed.",OBJECT:"Object",OPENCOMPARTMENTS:"Open compartment",PEOPLEDENSITY:"Person density",PERSONS:"Person",PHYSICALANGLEOFATTACKDURINGEXECUTION:"Physical angle of attack",PHYSICAL_ANGLE:"Physical angle",PRIVACYAWARENESS:"Privacy awareness",RELATIONOWNEROBJECTANDOWNERSECURITYSYSTEM:"Relation owner object and owner security system",RESPONSIBILITY:"Responsibility",SCENARIOS:"Scenario",SECURITYAWARENESS:"Security awareness",TARGETTYPE:"Target type",THREATDIRECTION:"Threat direction",ACTOR:"Actor",ACTION:"Action",ACCESS:"Access",MEANS:"Means",TYPEOFENVIRONMENT:"Environment type",TYPEOFOBJECT:"Type of object",WEAPON:"Weapon",WEATHERBEHAVIOUR:"Weather behaviour",WEATHERTYPE:"Weather condition",PI:"Protected interest (target)",MEANSWEAPON:"Means/weapon",MISSIONCONTEXT:"Mission context",ADVERSARY:"Adversary",C2HEADQUARTERS:"C2-HQ location",TARGET:"Target",DELIBERATEACTION:"Deliberate action",MEANS2:"Means of attack",MEANS3:"Means for action",MEANS4:"Means for access",ACCESS2:"Means of access",MEANS2ACCESS:"Means to access"},MODEL_NAMES:{0:"Empty model",1:"Simple model (in English)"},MODEL_DESC:{0:"An empty scenario model.",1:"A scenario model with a threat and a context category."},JSON_NOT_VALID:"JSON model file not valid! Aborting.",NO_NARRATIVE:"Narrative not generated in 100 tries!",SPEC_CATS:"First specify some categories, where each category contains some key drivers.",EXPORT2WORD:"Export to Word",HIDE_INCONSISTENT:"Hide inconsistent combinations",GOAL:{TITLE:"Goal",DESC:"ScenarioSpark is a web application that can be used to systematically create and manage a set of scenarios for risk management activities."},USAGE:{TITLE:"Usage",DESC:"ScenarioSpark supports the user in creating and compiling a representative set of scenarios that can be used in the various steps of the risk management process."},SECURITY:{TITLE:"Security",DESC:"All information used and entered is processed and stored exclusively locally."},SUMMARY:"A free tool to support you in creating new scenarios using a morphological box. First, you define the aspects that are of interest in your domain. Next, you specify variations for each aspect. And finally, you either manually create new scenarios, or become inspired by generating possible scenarios automatically.",SET_LANGUAGE:"Set language",SCENARIO_LOADED_MSG:"Scenario successfully loaded",COPY_TO_CLIPBOARD:"Copy table to clipboard",GROUP:{SELECTED:"Selected scenarios",UNSELECTED:"Unselected scenarios"},CLONE_NARRATIVE:"Clone",INCLUDE_DECISION_SUPPORT:"Activate decision support",IS_DECISION_CATEGORY:"For decision support",PROBABILITY:"Probability of occurence",IMPACT:"Impact",RISK:"Risk",RISK_PLACEHOLDER:"Select probability and impact",PROB5:{0:"Very low",1:"Low",2:"Medium",3:"High",4:"Very high"},IMP5:{0:"Very low",1:"Low",2:"Medium",3:"High",4:"Very high"},RISK5:{0:"Very low",1:"Low",2:"Medium",3:"High",4:"Very high"},SUGGESTED_APPROACH:{TITLE:"Suggested approach",DESC:"The suggested approach is a (risk-)weighted combination of the selected counter-measures."},TEMPLATE:{TITLE:"Template string for fluid text",DESC:"Write a paragraph where {1} is replaced by the value for key factor 1, etc. Empty lines are converted to paragraphs."}},ny={HOME:{TITLE:"home",ROUTE:"/home"},ABOUT:{TITLE:"over de app",ROUTE:"/over"},DEFINE_BOX:{TITLE:"Morfologische box",ROUTE:"/definieer"},SETTINGS:{TITLE:"Instellingen",ROUTE:"/instellingen"},CREATE_SCENARIO:{TITLE:"Maak scenario",ROUTE:"/maak"},SHOW_SCENARIO:{TITLE:"Toon scenario's",ROUTE:"/toon"},DECISION_SUPPORT:{TITLE:"Beslisondersteuning",ROUTE:"/beslis"},DOWNLOAD:"Bewaar scenario bestand",UPLOAD:"Inlezen scenario bestand",CANCEL:"Afbreken",DELETE:"Verwijderen",AND:"en",YES:"Ja",NO:"Nee",OK:"Ok",NAME:"Naam",DESCRIPTION:"Omschrijving",CATEGORIES:"Categorie\xebn",DIMENSION:"Hoofdfactor",DIMENSION_SELECTED:"Geselecteerde factoren",DIMENSIONS:"Factoren",KEY_VALUE:"Waarde",CONTEXT:"Context",NONE:"Geen",LOCATION:"Locatie",LOCATION_TYPE:"Locatietype",COORDINATES:"Coordinaten",LOCATION_NAME:"Locatienaam",LATITUDE:"Latitude",LONGITUDE:"Longitude",MANUAL:"Manuele mode",Type:"Type",PICK_FROM_LIST:"Kies uit de lijst",ENTER_KEY_VALUE:"Vul een sleutel en waarde in",EDIT_COMPONENT:"Bewerk optie",ADD_COMPONENT:"Nieuwe optie",GENERATE_NARRATIVE:"Genereer",CLEAR_NARRATIVE:"Wis",NARRATIVE:"verhaallijn",NAME_NARRATIVE:"Titel van huidige verhaallijn",SAVE_NARRATIVE:"Bewaar",SAVED_NARRATIVES:"Bewaarde scenario's",INCLUDE_NARRATIVE:"Selecteer scenario",NARRATIVE_INCLUDED:"Scenario is geselecteerd",SELECT_NARRATIVE:"Selecteer verhaallijn",KEY:"Sleutel",VALUE:"Waarde",MODEL:"Model",SELECTION:"Geselecteerde waarde",EDITOR_PLACEHOLDER:"Bewerk verhaallijn",THRESHOLDS:"Kleuren voor weergave gebruik van opties",THRESHOLD:"Drempelwaarde",COLOR:"Kleur",ORDER:"Volgorde",COMBINATIONS:{POSSIBLE:"Combinaties zijn mogelijk",IMPOSSIBLE:"Combinaties zijn onmogelijk",IMPROBABLE:"Combinaties zijn onwaarschijnlijk"},DELETE_ITEM:{title:"Verwijder {item}",description:"Weet u zeker dat u de {item} wilt verwijderen? Dit kan niet ongedaan gemaakt worden."},NEW_MODEL:{btn:"Nieuw model",title:"Kies een nieuw model en wis alles",description:"Weet u zeker dat u het huidige model wilt wissen, en met \xe9\xe9n van onderstaande modellen wilt verdergaan? Er is geen weg terug.",choose:"Kies uw nieuwe model",remove:"Verwijder alle reeds ingevulde waarden"},INCONSISTENCIES:{title:"Bewerk inconsistencies",SELECT_ROW:"Selecteer rij",SELECT_COL:"Selecteer kolom"},saveButton:{label:"Opslaan",tooltip:"Sla aanpassingen op"},i18n:{editRepeat:"Bewerk",createRepeat:"Nieuw",deleteItem:"Verwijder",agree:"Ja",disagree:"Nee",pick:"Kies",pickOne:"Kies \xe9\xe9n",pickOneOrMore:"Kies \xe9\xe9n of meer",cancel:"Afbreken",save:"Opslaan"},COMP:{AVAILABLEBUDGET:"Budget",BEHAVIOURDURINGPREPARATION:"Gedrag tijdens voorbereiding",CAPABILITIES:"Capability",COMPARTMENTSPRESENT:"Aanwezige compartimenten",CRIMINALPHASE:"Criminele fase",DURATION:"Duur",EQUIPMENT:"Materieel",EXISTINGINFRA:"Bestaande infra",IMPACT:"Impact",INTENT:"Intentie publiek",LOCATION:"TBB: locatie",LOCATION2:"Locatie",MODUSOPERANDIDURINGEXECUTION:"Modus operandus",MOTIVATION:"Motivatie",NARRATIVE:"Verhaallijn",NARRATIVE_PLACEHOLDER:"Beschrijf de context waarin het incident plaatsvindt, zoals een nadere beschrijving van de (geografische) locatie, de te beschermen persoon of gebouw, de wijze waarop een actor informatie verzamelt, op welk tijdstip vindt de actie plaats, onder welke weersomstandigheden, hoeveel personen zijn er betrokken bij de actie, van welke organisatie, hoe kregen ze toegang, of welke middelen/wapens werden ingezet.",OBJECT:"Object",OPENCOMPARTMENTS:"Open compartiment",PEOPLEDENSITY:"Personendichtheid",PERSONS:"Persoon",PHYSICALANGLEOFATTACKDURINGEXECUTION:"Fysieke aanvalshoek",PHYSICAL_ANGLE:"Fysieke hoek",PRIVACYAWARENESS:"Privacy-bewustzijn",RELATIONOWNEROBJECTANDOWNERSECURITYSYSTEM:"Relatie eigenaar object en eigenaar beveiligingssysteem",RESPONSIBILITY:"Verantwoordelijkheid",SCENARIOS:"Scenario",SECURITYAWARENESS:"Beveiligingsbewustzijn",TARGETTYPE:"Doeltype",THREATDIRECTION:"Dreigingsrichting",ACTOR:"Actor",ACTION:"Moedwillige actie",ACCESS:"Wijze van toegang",MEANS:"Middel / wapen",TYPEOFENVIRONMENT:"Omgevingstype",TYPEOFOBJECT:"Objecttype",WEAPON:"Wapen",WEATHERBEHAVIOUR:"Weersgedrag",WEATHERTYPE:"Weersconditie",PI:"TBB: Soort doelwit",MEANSWEAPON:"Middel/wapen",MISSIONCONTEXT:"Missiecontext",ADVERSARY:"Tegenstander",C2HEADQUARTERS:"C2-HQ locatie",TARGET:"Doelwit",DELIBERATEACTION:"Moedwillige actie",MEANS2:"Aanslagmiddel",MEANS3:"Middel tbv actie",MEANS4:"Middel tbv toegang",ACCESS2:"Wijze van binnendringen",MEANS2ACCESS:"Middel om binnen te dringen"},MODEL_NAMES:{0:"Leeg model",1:"Simpel model (in Engels)"},MODEL_DESC:{0:"Een leeg scenario model.",1:"Een scenario model met een dreigings- en contextcategorie."},JSON_NOT_VALID:"JSON bestand niet valide! Het inladen wordt afgebroken.",NO_NARRATIVE:"Er kon geen verhaallijn gegenereerd worden na 100 pogingen!",SPEC_CATS:"Definieer eerst 1 of 2 categorie\xebn, met in iedere categorie enkele hoofdfactoren.",EXPORT2WORD:"Exporteer naar Word",HIDE_INCONSISTENT:"Verberg inconsistente combinaties",GOAL:{TITLE:"Doel",DESC:"ScenarioSpark is een webapplicatie waarmee systematisch een set scenario’s ten behoeve van risicomanagement- activiteiten kan worden gemaakt en beheerd."},USAGE:{TITLE:"Gebruik",DESC:"ScenarioSpark ondersteunt de gebruiker bij het op- en samenstellen van een representatieve set scenario’s die gebruikt kan worden in de diverse stappen van het risicomanagement proces. "},SECURITY:{TITLE:"Security",DESC:"Alle gebruikte en ingevoerde informatie wordt uitsluitend lokaal verwerkt en opgeslagen."},SUMMARY:"Een gratis hulpmiddel om u te ondersteunen bij het cre\xebren van nieuwe scenario's met behulp van een morfologische doos. Eerst definieert u de aspecten die van belang zijn voor uw domein. Vervolgens specificeert u variaties voor elk aspect. En ten slotte cre\xeber je handmatig nieuwe scenario's, of laat u zich inspireren door mogelijke scenario's te genereren.",SET_LANGUAGE:"Kies de taal",SCENARIO_LOADED_MSG:"De scenario's zijn ingeladen",COPY_TO_CLIPBOARD:"Kopieer tabel naar het plakbord",GROUP:{SELECTED:"Geselecteerd",UNSELECTED:"Niet geselecteerd"},CLONE_NARRATIVE:"Kopieer",INCLUDE_DECISION_SUPPORT:"Activeer beslisondersteuning",IS_DECISION_CATEGORY:"Voor beslisondersteuning",PROBABILITY:"Kans van optreden",IMPACT:"Impact",RISK:"Risico",RISK_PLACEHOLDER:"Specificeer kans en impact",PROB5:{0:"Zeer laag",1:"Laag",2:"Gemiddeld",3:"Hoog",4:"Zeer hoog"},IMP5:{0:"Zeer laag",1:"Laag",2:"Gemiddeld",3:"Hoog",4:"Zeer hoog"},RISK5:{0:"Zeer laag",1:"Laag",2:"Gemiddeld",3:"Hoog",4:"Zeer hoog"},SUGGESTED_APPROACH:{TITLE:"Aanbevolen aanpak",DESC:"De aanbevolen aanpak is gebaseerd op een risicogewogen combinatie van de gekozen maatregelen."},TEMPLATE:{TITLE:"Template om de factoren te vertalen naar een lopende tekst.",DESC:"Schrijf een paragraaf waarbij {1} zal vervangen worden door de waarde van factor 1, etc. Lege regels worden omgezet naar paragrafen."}},nb=[],nw={defaultLocale:"en",currentLocale:"en",locales:{},init:function(e,t){return n_.apply(this,arguments)},addOnChangeListener:function(e){nb.push(e)},loadAndSetLocale:nE,i18n:{}};function n_(){return(n_=nm(function(e,t){var n;return ng(this,function(i){switch(i.label){case 0:return nw.locales=e,(n=Object.keys(e).filter(function(t){return e[t].default}).shift())&&(nw.defaultLocale=n||t),document.documentElement.setAttribute("lang",t),[4,nE(t)];case 1:return i.sent(),[2]}})})).apply(this,arguments)}function nE(e){return nx.apply(this,arguments)}function nx(){return(nx=nm(function(e){var t;return ng(this,function(n){if(nw.currentLocale===e)return[2];return t=function(e){return Object.keys(nw.locales).indexOf(e)>=0}(e)?e:nw.defaultLocale,nw.currentLocale=t,E=nd("nl"===e?ny:nv,{debug:!0,array:!0,resolveAliases:!0,pluralize:np.plural_EN,useKeyForMissingTranslation:!0}),nw.i18n={editRepeat:E("i18n","editRepeat"),createRepeat:E("i18n","createRepeat"),deleteItem:E("i18n","deleteItem"),agree:E("i18n","agree"),disagree:E("i18n","disagree"),pickOne:E("i18n","pickOne"),pickOneOrMore:E("i18n","pickOneOrMore"),cancel:E("i18n","cancel"),save:E("i18n","save")},nb.forEach(function(e){return e(nw.currentLocale,function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:nw.currentLocale;return nw.locales[e].dir||"ltr"}())}),[2]})})).apply(this,arguments)}let nk=n.p+"e8244ad7ec8b2937.png",nT=n.p+"ec3f975a962f44ff.png";function nO(e,t,n,i,r,o,s){try{var a=e[o](s),l=a.value}catch(e){n(e);return}a.done?t(l):Promise.resolve(l).then(i,r)}var nC=(p=(d=function(){var e,t=arguments;return function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],i=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}(this,function(n){switch(n.label){case 0:return e=t.length>0&&void 0!==t[0]?t[0]:nw.currentLocale,localStorage.setItem(tF,e),[4,nw.loadAndSetLocale(e)];case 1:return n.sent(),[2]}})},function(){var e=this,t=arguments;return new Promise(function(n,i){var r=d.apply(e,t);function o(e){nO(r,n,i,o,s,"next",e)}function s(e){nO(r,n,i,o,s,"throw",e)}o(void 0)})}),function(){return p.apply(this,arguments)}),nA=function(){return{view:function(e){var t,n,i=e.children,r=e.attrs,o=function(e){return r.state.page===e.id?".active":""},s=ch.getList().filter(function(e){var t,n;return("boolean"==typeof e.visible?e.visible:e.visible(null===(n=r.state)||void 0===n?void 0:null===(t=n.model)||void 0===t?void 0:t.scenario))||o(e)}),a=nw.currentLocale;return T()(".main",{style:"overflow-x: hidden"},[T()(".navbar-fixed",{style:"z-index: 1001"},T()("nav",T()(".nav-wrapper",[T()("a.brand-logo[href=#].show-on-large",{style:"margin-left: 20px"},[T()("img[width=140][height=60][src=".concat(ef,"][alt=TNO]"),{style:"margin-top: 5px; margin-left: -5px;"}),T()(".title.show-on-med-and-up.black-text.truncate",null===(n=r.state.model)||void 0===n?void 0:null===(t=n.scenario)||void 0===t?void 0:t.label)]),T()(T().route.Link,{className:"sidenav-trigger","data-target":"slide-out",href:T().route.get()},T()(G,{iconName:"menu",className:"hide-on-large-and-up black-text",style:"margin-left: 5px;"})),T()("ul#dropdown_languages.dropdown-content",[T()("li",T()("a",{href:"#!",onclick:function(){return nC("nl")}},[T()("img",{src:nk,alt:"Nederlands",title:"Nederlands",disabled:"nl"===a,class:"nl"===a?"disabled-image":"clickable"}),"Nederlands"])),T()("li",T()("a",{href:"#!",onclick:function(){return nC("en")}},[T()("img",{src:nT,alt:"English",title:"English",disabled:"en"===a,class:"en"===a?"disabled-image":"clickable"}),"English"]))]),T()("ul#slide-out.sidenav.hide-on-large-and-up",{oncreate:function(){var e=document.querySelectorAll(".sidenav");M.Sidenav.init(e)}},s.map(function(e){return T()("li.tooltip".concat(o(e),".unselectable"),[T()("a",{href:ch.href(e.id)},T()(G,{className:e.iconClass?" ".concat(e.iconClass):"",iconName:"string"==typeof e.icon?e.icon:e.icon()}),("string"==typeof e.title?e.title:e.title()).toUpperCase())])}),T()("li.tooltip.language-settings.unselectable",[T()("a.dropdown-trigger",{href:"#!","data-target":"dropdown_languages",oncreate:function(e){var t=e.dom;M.Dropdown.init(t)}},T()(G,{iconName:"language",className:"hoverable",style:"font-size: 2.2rem; width: 4rem;"}),T()("span.tooltiptext",E("SET_LANGUAGE").toUpperCase()))])),T()("ul.right.hide-on-med-and-down",s.map(function(e){return T()("li.tooltip".concat(o(e),".unselectable"),[T()(G,{className:"hoverable"+(e.iconClass?" ".concat(e.iconClass):""),style:"font-size: 2.2rem; width: 4rem;",iconName:"string"==typeof e.icon?e.icon:e.icon(),onclick:function(){return ne(r,e.id)}}),T()("span.tooltiptext",("string"==typeof e.title?e.title:e.title()).toUpperCase())])}),T()("li.tooltip.language-settings.unselectable",[T()("a.dropdown-trigger",{href:"#!","data-target":"dropdown_languages",oncreate:function(e){var t=e.dom;M.Dropdown.init(t)}},T()(G,{iconName:"language",className:"hoverable",style:"font-size: 2.2rem; width: 4rem;"}),T()("span.tooltiptext",E("SET_LANGUAGE").toUpperCase()))]))]))),T()(".container",i)])}}};let nS=n.p+"094cb0b3bbf09476.png",nN=n.p+"c74483ed5cfc0c92.png",nI=n.p+"c4f17dae74c10fe5.png",nM=n.p+"c03c2e1f7852da96.png",nL=n.p+"bb94794d7d411f8a.png",nR=n.p+"7dcc9881475f4790.png";var nP="_ScenarioSpark is ontwikkeld als ondersteunend instrument voor de methode “Risicomanagement Integrale Beveiliging”. Specifiek biedt ScenarioSpark vooral ondersteuning bij de uitvoering van stap 2 van deze methode. Het betreft de stap waarin onder meer de te behandelen dreigingsscenario’s voor de TBB’s worden bepaald._\n\n![De zes stappen van de methode “Risicomanagement Integrale Beveiliging”](".concat(nS,")"),nD="### Het ontwikkelen van creatieve scenario’s\n\nNavigeer in het hoofdmenu naar ‘maak scenario’.\n\n![Menubalk met instellingen](".concat(nN,")\n![Model en inconsistenties](").concat(nL,")\n\nDe pagina bestaat uit een aantal componenten:\n\n1. Drie knoppen: ‘genereer’, ‘wis’ en 'bewaar’;\n2. Een drop down menu waarin eerder gegenereerde scenario’s weer opgeroepen kunnen worden;\n3. De factoren waaruit de morfologische box is opgebouwd;\n4. Een ‘slotje’ achter ieder van de factoren;\n5. Een beschrijvende titel die kan worden toegekend aan het scenario;\n6. Een vinkje dat aangeeft of het scenario is geselecteerd voor evaluatie;\n7. Een tekst vak waarin de scenariostam verder kan worden uitgewerkt, eventueel met opmaak en/of afbeeldingen.\n\nDoor op ‘genereer’ te klikken wordt er aan de hand van de morfologische box een scenario gegeneerd waarbij random een optie wordt toegekend aan elk van de factoren. De gebruiker heeft een aantal mogelijkheden:\n\n1. Het scenario houden zoals is gegenereerd door de morfologische box;\n2. Enkele factoren vastzetten door middel van het slotje en nieuwe opties genereren voor de andere factoren door opnieuw op ‘genereer’ te klikken;\n3. Een scenario wijzigen of aanvullen door zelf een optie te kiezen voor een factor of meerdere opties te selecteren voor een factor;\n4. Een compleet nieuw scenario door de tool laten genereren;\n5. Een eigen scenario te cre\xebren door handmatig optie(s) voor elke factor te selecteren.\n\nIndien de gebruiker tevreden is met het gegenereerde scenario kan ervoor worden gekozen het scenario toe te voegen aan de lijst met de te evalueren dreigingsscenario’s. Het scenario kan worden uitgeschreven tot een verhaal en er kan een titel worden gegeven om het scenario herkenbaar en ondubbelzinnig te maken.\n\n### Het samenstellen van een beperkte, maar toch representatieve set van scenario’s.\n\n#### Modus uitsluiten inconsistenties\n\nSommige combinaties van opties van factoren zijn onmogelijk of onwaarschijnlijk. Denk bijvoorbeeld aan een cybercrimineel (actor) die fysieke informatie steelt (doelwit) door middel van een ramvoertuig (middel/ wapen). Om deze reden is er in ScenarioSpark een kruistabel toegevoegd die weergeeft wanneer combinaties van opties van factoren mogelijk, onmogelijk of onwaarschijnlijk zijn. Wanneer de modus ‘uitsluiten inconsistenties’ is aangevinkt in instellingen, is het niet mogelijk om handmatig een optie voor een factor te kiezen die onmogelijk of onwaarschijnlijk is in combinatie met de reeds geselecteerde opties voor de andere factoren."),nj="### Aanpassen morfologische box\n\nHet aanpassen van de morfologische box kan worden gedaan in ‘instellingen’ onder het kopje ‘model’.\n\n![Menubalk met instellingen](".concat(nI,")\n\n### Aanpassen categorie\xebn\nDoor het instellen van categorie\xebn kan de morfologische box in meerdere delen worden gesplitst (zoals dreigingen, objecten, omstandigheden). Deze mogelijkheid wordt niet gebruikt binnen de context van de Tweede Kamer.\n\n### Selectie getoonde factoren\n\nIn dit drop down menu kan een selectie worden gemaakt van de factoren die meegenomen worden in de morfologische box.\n\n### Aanpassen factoren\n\nNieuwe factoren kunnen worden toegevoegd door op het plusje naast ‘factoren’ te klikken. Er dienen een aantal gegevens te worden ingevuld:\n\n1. Volgorde (de plek in de morfologische box waar de factor komt te staan);\n2. Manuele mode (bij het automatisch genereren van een scenario wordt deze factor overgeslagen, en dient dus manueel gekozen te worden);\n3. Naam;\n4. Omschrijving.\n\nFactoren kunnen worden gewijzigd door naar de desbetreffende factor te navigeren. Factoren kunnen worden verwijderd door aan de rechterkant op het kruisje te klikken.\n\n### Aanpassen opties binnen factoren\n\nHet aanpassen van opties binnen factoren gebeurt op de pagina van de morfologische box zelf.\n\n![Genereren van varianten](").concat(nM,")\n\nEr kunnen nieuwe opties worden toegevoegd en bestaande opties worden gewijzigd of verwijderd. Om een nieuwe optie toe te voegen dient geklikt te worden op het plusje naast de factor, die tevoorschijn komt door met de muis over de factor te hoveren. Een optie kan worden bewerkt of verwijderd door op het pennetje te klikken dat tevoorschijn komt door met de muis over de optie te hoveren.\n\n### Aanpassen consistenties\n\nHet aanpassen van consistenties kan door op de pagina ‘instellingen’ te navigeren naar ‘bewerk inconsitenties’.\n\n![Model en inconsistenties](").concat(nR,")\n\nScenarioSpark beschikt over een kruistabel waarin voor alle combinaties van opties van factoren is aangegeven of het mogelijk, onwaarschijnlijk of onmogelijk is. Dit kruistabel dient handmatig te worden aangepast. Er kan een rij en een kolom worden gekozen, die beiden een factor representeren. Vervolgens kan worden aangegeven per combinatie van de opties van de factoren of de combinatie als mogelijk, onmogelijk of onwaarschijnlijk wordt geacht. Hoe meer factoren er zijn, hoe meer combinaties moeten worden gecheckt. Houd er dus rekening mee dat dit de nodige tijd in beslag neemt. Indien een nieuwe optie wordt toegevoegd aan een factor in de morfologische box, dient voor de nieuwe optie alle combinaties met bestaande opties van andere factoren beoordeeld te worden.\n\nLet op: na het toevoegen van nieuwe opties in de morfologische box wordt geen enkele combinatie met deze nieuwe optie uitgesloten. Indien u wilt voorkomen dat niet-realistische scenario’s worden gegeneerd in de scenariogenerator, dient u handmatig de niet- realistische combinaties hier af te vinken.\n\n### Aanpassen kleurweergave\n\nMet behulp van kleuren kan voor de opties in de morfologische box worden aangegeven hoe vaak deze is gebruikt in een scenario. De keuze van de gebruikte kleuren, het aantal verschillende kleuren en de bandbreedtes waarin dezelfde kleur gegeven wordt, kan naar vrijheid worden ingevuld. Een optie krijgt de kleur van de bandbreedte als het aantal keer dat deze voorkomt groter of gelijk is aan het getal dat wordt ingevoerd als drempelwaarde bij de bandbreedte, zolang er geen hogere drempelwaarde bestaat waar dit ook voor geldt.\n\n### Aanpassen taal\n\nDe taalinstelling van de tool kan worden aangepast door de gewenste vlag op de homepagina te selecteren, of het menu rechtsboven te gebruiken."),nB=function(){return{oninit:function(e){return t7(e.attrs,O.ABOUT)},view:function(){var e=/#([a-zA-Z]*)/.exec(T().route.get());return e&&e.length>0&&setTimeout(function(){return tG(e[1])},0),T()(".markdown",[T()("aside#toc",[T()(".center-align",[T()("ul.list-inline",[T()("li",T()("a",{href:"#goal",onclick:function(e){return tG("goal",e)}},"Doel van ScenarioSpark")),T()("li"," | "),T()("li",T()("a",{href:"#usage",onclick:function(e){return tG("usage",e)}},"Hoe te gebruiken")),T()("li"," | "),T()("li",T()("a",{href:"#settings",onclick:function(e){return tG("settings",e)}},"Beheer")),T()("li"," | "),T()("li",T()("a",{href:"#security",onclick:function(e){return tG("security",e)}},"Security"))])])]),T()("main",[T()("header",[T()("h1","Achtergrond"),T().trust(ex(nP))]),T()("section#goal",[T()("h2","Doel van ScenarioSpark"),T().trust(ex("ScenarioSpark is ontwikkeld om de risicomanager te ondersteunen in twee uitdagingen:\n\n- Het op een creatieve manier ontwikkelen van plausibele scenario’s;\n- Het samenstellen van een beperkte, maar toch representatieve set van scenario’s.\n\n### Het ontwikkelen van creatieve scenario’s\n\nZoals we in het recente verleden hebben gezien, blijven terroristen en andere criminelen voortdurend nieuwe manieren bedenken om onze samenleving aan te vallen. Voor een goede beveiliging is het belangrijk dat we niet alleen bekende dreigingen beoordelen, maar ook creatieve dreigingsscenario's bedenken om buiten de gebaande paden te denken. Dit is makkelijker gezegd dan gedaan, omdat recente ervaringen vaak onze gedachten sturen. ScenarioSpark is ontwikkeld om hierin te ondersteunen door willekeurig (dus niet be\xefnvloed door vooroordelen of ervaringen uit het verleden) potentieel valide scenariostammen te genereren. Op basis van de gegenereerde suggesties kan de gebruiker vervolgens bepalen welke interessant zijn om uit te werken en in de risicoanalyse mee te nemen.\n\n### Het samenstellen van een beperkte, maar toch representatieve set van scenario’s\n\nHet maken van een compleet overzicht van alle risico’s in alle situaties op alle te beschermen belangen is in het algemeen niet realistisch. Er zijn immers zoveel variaties mogelijk dat volledige analyse hiervan niet haalbaar is. In de praktijk wordt daarom getracht een beperkte set scenario’s te kiezen waarmee toch een goed, representatief beeld ontstaat van alle mogelijke risico’s.\n\nScenarioSpark ondersteunt hierin door inzicht te geven in welke mate een set geselecteerde scenario’s de totale risico-ruimte afdekt en welke overlappen er in die set zitten. Hiertoe wordt gebruik gemaakt van een zogenaamde ‘morfologische box’. Dat is een matrix waarin de kolommen worden gevormd door alle relevante factoren die een scenario karakteriseren, en waarin de rijen worden gevormd door de opties voor ieder van die factoren (de mogelijke waarden die de factoren kunnen aannemen). In ScenarioSpark wordt een scenario gekarakteriseerd door de keuze van \xe9\xe9n of meer opties voor iedere factor.\n\nUit alle gegenereerde of gedefinieerde scenario’s kan de gebruiker de scenario’s selecteren die worden toegevoegd aan de set met te evalueren dreigingsscenario’s. In de morfologische box wordt aan de hand van een kleurcodering aangegeven hoe vaak bepaalde opties voorkomen in deze set.\n\nOp deze wijze kan met ScenarioSpark een set scenario’s worden samengesteld waarin de te analyseren factoren van risico’s zo effici\xebnt mogelijk worden behandeld in de (beperkte) set met scenario’s. Bovendien wordt voorkomen dat belangrijke factoren over het hoofd worden gezien."))]),T()("section#usage",[T()("h2","Hoe te gebruiken"),T().trust(ex(nD))]),T()("section#settings",[T()("h2","Beheer"),T().trust(ex(nj))]),T()("section#security",[T()("h2","Security"),T().trust(ex("Omdat de informatie die in ScenarioSpark wordt gezet vertrouwelijk kan zijn, is bij het ontwerp van deze applicatie hiermee rekening gehouden door de volgende uitgangspunten te hanteren:\n\n- ScenarioSpark wordt geladen vanaf een website. De enige informatie die hierbij over het net gaat, is de werking van het programma. Eenmaal ingeladen in de computer, is een verbinding met internet dus ook niet meer noodzakelijk;\n- Alle informatie die door ScenarioSpark wordt gebruikt, blijft op de computer van de gebruiker (hetzij in de Browsercache, hetzij in een bewaard bestand). De mate van beveiliging van deze gegevens is hiermee gelijk aan de mate van beveiliging van de betreffende computer en volledig controleerbaar door de beheerder van de betreffende computer. Dit betreft zowel de gebruikersinstellingen, de opzet van de morfologische box, als de scenario’s.\n- Het programma biedt de mogelijkheid deze informatie op te slaan en in te lezen. De informatie wordt altijd opgeslagen in de download map van de browser (dit is de enige map waarvoor de browser schrijfrechten heeft). Het inlezen van een bestand kan vanaf elke locatie.\n"))])])])}}};let nF=n.p+"17ba83f71583172b.webp";function nq(e,t,n,i,r,o,s){try{var a=e[o](s),l=a.value}catch(e){n(e);return}a.done?t(l):Promise.resolve(l).then(i,r)}function nH(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function s(e){nq(o,i,r,s,a,"next",e)}function a(e){nq(o,i,r,s,a,"throw",e)}s(void 0)})}}function n$(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),i.forEach(function(t){var i,r,o;i=e,r=t,o=n[t],r in i?Object.defineProperty(i,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):i[r]=o})}return e}function nU(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n.push.apply(n,i)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function nz(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],i=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}var nX=function(){return{view:function(e){var t=e.attrs,n=t.components,i=t.narratives,r=function(e,t){if(null==e)return{};var n,i,r=function(e,t){if(null==e)return{};var n,i,r={},o=Object.keys(e);for(i=0;i<o.length;i++)n=o[i],!(t.indexOf(n)>=0)&&(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++){if(n=o[i],!(t.indexOf(n)>=0))Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}}return r}(e.attrs,["components","narratives"]),o=n.reduce(function(e,t){return t.values&&t.values.forEach(function(t){e[t.id]=t.label}),e},{});return T()(".table-container",T()(".table",T()("table.responsive-table.highlight",[T()("thead",T()("tr",T()("th",{style:"text-align: right"},E("NAME")),n.map(function(e){return T()("th",e.label)}))),T()("tbody",(void 0===i?[]:i).map(function(e){var t;return T()("tr",T()("th.bold",{style:"text-align: left"},T()("a",{href:ch.href(O.SHOW_SCENARIO),onclick:function(){r.update({curNarrative:function(){return e}})}},(t=e.label)&&t.charAt(0).toUpperCase()+t.slice(1))),n.map(function(t){return e.components[t.id]&&e.components[t.id].length>0?T()("td",T().trust(e.components[t.id].map(function(e){return o[e]||'<span class="red-text">Missing component ID: '.concat(e,"</span>")}).join(", "))):e[t.id]?T()("td",o[e[t.id]]):T()("td.center-align.missing",T()(G,{iconName:"clear",className:"red-text"}))}))}))])))}}},nW=function(){var e=window.File&&window.FileReader&&window.FileList&&window.Blob,t=0,n=!1;return{oninit:function(e){t7(e.attrs,O.HOME)},view:function(i){var r=i.attrs,o=r.state,s=o.model,a=o.language,l=s.scenario,c=l.narratives,u=l.components,h=l.categories,d=(void 0===c?[]:c).filter(function(e){return e.included}).sort(function(e,t){return(e.label||"").localeCompare(t.label)});return[T()("div",{style:"padding-top: 1rem;position: relative;"},[d.length>0&&h.length>0&&[T()(".row",T()(".col.s12",[T()("h4",E("SAVED_NARRATIVES"))])),h.length>1?T()(el,{tabs:h.map(function(e){return{title:e.label,vnode:T()(nX,nU(n$({},r),{narratives:d,components:u.filter(function(t){return e.componentIds&&e.componentIds.includes(t.id)})}))}})}):T()(".narratives",T()(nX,nU(n$({},r),{narratives:d,components:u.filter(function(e){return h[0].componentIds&&h[0].componentIds.includes(e.id)})})))],0===d.length&&T()(".row",T()(".col.s12.center-align",T()("img.responsive-img.center[alt=fountain pen]",{src:nF}))),T()(".buttons.center",{style:"margin: 10px auto;"},[[T()(".language-option",{onclick:function(){return ns("nl")}},[T()("img",{src:nk,alt:"Nederlands",title:"Nederlands",disabled:"nl"===a,class:"nl"===a?"disabled-image":"clickable"}),T()("span","Nederlands")]),T()(".language-option",{onclick:function(){return ns("en")}},[T()("img",{src:nT,alt:"English",title:"English",disabled:"en"===a,class:"en"===a?"disabled-image":"clickable"}),T()("span","English")])],T()(Q,{iconName:"clear",disabled:!1,className:"btn-large",label:E("NEW_MODEL","btn"),modalId:"clearAll"}),T()("a#downloadAnchorElem",{style:"display:none"}),T()(Q,{iconName:"download",disabled:!1,className:"btn-large",label:E("DOWNLOAD"),onclick:function(){var e=document.getElementById("downloadAnchorElem");if(!!e){var t=void 0===s.version?1:++s.version,n="data:text/json;charset=utf-8,"+encodeURIComponent(JSON.stringify(nU(n$({},s),{version:t})));e.setAttribute("href",n),e.setAttribute("download","".concat(tV(s),".json")),e.click(),localStorage.setItem(tq,"true")}}}),T()("input#selectFiles[type=file][accept=.json]",{style:"display:none"}),e&&T()(Q,{iconName:"upload",className:"btn-large",label:E("UPLOAD"),onclick:function(){var e=document.getElementById("selectFiles");e.onchange=function(){if(!e)return;var t,n=e.files;if(!!n&&(!n||!(n.length<=0))){var i=n&&n.item(0),o=i&&/json$/i.test(i.name),s=new FileReader;s.onload=(t=nH(function(e){var t;return nz(this,function(n){if(o&&(t=JSON.parse((e&&e.target&&e.target.result).toString()))){var i;nt(r,t.version?t:Object.keys(i=t).reduce(function(e,t){if("scenarios"===t){var n=i[t].current;e.scenario.id=n.id,e.scenario.label=n.name,e.scenario.desc=n.desc,e.scenario.hideInconsistentValues=!0,e.scenario.inconsistencies=n.inconsistencies.reduce(function(e,t){var n=tj(t.ids,2),i=n[0],r=n[1],o=t.type;!e[i]&&(e[i]={}),!e[r]&&(e[r]={});var s="totally"===o;return e[i][r]=s,e[r][i]=s,e},{}),e.scenario.narratives=n.narratives.map(function(e){var t=e.id,n=e.name,i=e.components,r=e.narrative,o=e.included;return{id:t,label:n,components:Object.keys(i).reduce(function(e,t){return e[t]=[i[t]],e},{}),desc:r,included:o,saved:!0}}),e.scenario.categories=Object.keys(n.categories).map(function(e){return{id:e,label:e,componentIds:n.categories[e]}})}else{!e.scenario.components&&(e.scenario.components=[]);var r=i[t].list,o=r.reduce(function(e,t){return t.context&&t.context.type&&("LOCATION"===t.context.type&&0>=e.indexOf("location")?e.push("location"):"LOCATIONTYPE"===t.context.type&&0>=e.indexOf("locationType")&&e.push("locationType")),e},[]);if(e.scenario.components.push({id:t,label:E("COMP",t.toUpperCase()),contexts:o,values:r.map(function(e){var t=e.name,n=e.id,i=e.desc,r=e.context,o=r?"LOCATION"===r.type?"location":"LOCATIONTYPE"===r.type?"locationType":"none":void 0,s=r&&"LOCATION"===r.type?r.data.NAME?"name":r.data.COORDINATES?"coords":void 0:void 0,a=tj("coords"===s&&r.data.COORDINATES?r.data.COORDINATES.split(/,/).map(function(e){return+e}):[void 0,void 0],2),l=a[0],c=a[1],u=r&&"LOCATIONTYPE"===r.type?ep.indexOf(Object.keys(r.data).shift())>=0?"list":"keyValue":void 0,h="list"===u?Object.keys(r.data).shift():void 0,d=tj(("keyValue"===u?Object.entries(r.data).shift():void 0)||[void 0,void 0],2),p=d[0],f=d[1];return{id:n,label:t,desc:i,context:o,location:r&&"LOCATION"===r.type?r.data.NAME:void 0,locationType:s,locationTypeType:u,lat:l,lon:c,osmTypeId:h,key:p,value:f}})}),e.scenario.thresholdColors=ec,e.scenario.categories){var s=1,a=e.scenario.categories.filter(function(e){return e.componentIds}).reduce(function(e,t){var n;return null===(n=t.componentIds)||void 0===n||n.forEach(function(t){return e[t]=s++}),e},{});e.scenario.components=e.scenario.components.map(function(e){return tD(tP({},e),{order:a[e.id]})}),e.scenario.components.sort(function(e,t){return e.order>t.order?1:-1})}}return e},{scenario:{},version:1,lastUpdata:Date.now()}),!0),M.toast({html:E("SCENARIO_LOADED_MSG")})}return[2]})}),function(e){return t.apply(this,arguments)}),i&&(o?s.readAsText(i):s.readAsArrayBuffer(i))}},e.click()}})]),T()(".section.white",T()(".row.container.center",[T()(".row",T()(".col.s12.align-center",[T()("h5","ScenarioSpark")])),T()(".row",[T()(".col.s12.m4",T()(".icon-block",[T()(".center",T()(G,{iconName:"ads_click"})),T()("h5.center",T()(T().route.Link,{href:E("ABOUT","ROUTE")+"#goal"},E("GOAL","TITLE"))),T()("p",E("GOAL","DESC"))])),T()(".col.s12.m4",T()(".icon-block",[T()(".center",T()(G,{iconName:"settings"})),T()("h5.center",T()(T().route.Link,{href:E("ABOUT","ROUTE")+"#usage"},E("USAGE","TITLE"))),T()("p",E("USAGE","DESC"))])),T()(".col.s12.m4",T()(".icon-block",[T()(".center",T()(G,{iconName:"lock"})),T()("h5.center",T()(T().route.Link,{href:E("ABOUT","ROUTE")+"#security"},E("SECURITY","TITLE"))),T()("p",E("SECURITY","DESC"))]))])])),T()(er,{id:"clearAll",title:E("NEW_MODEL","title"),description:T()(".row",[T()(".col.s12",[E("NEW_MODEL","description")]),T()(".col.s12",[T()(".row",T()(es,{label:E("NEW_MODEL","choose"),checkedId:1,options:ed.map(function(e,t){return{id:t+1,label:"<strong>".concat(E("MODEL_NAMES",t),": </strong>").concat(E("MODEL_DESC",t))}}),onchange:function(e){return t=e-1}})),T()(".row",T()(ei,{label:E("NEW_MODEL","remove"),checked:n,onchange:function(e){return n=e}}))])]),buttons:[{label:E("CANCEL"),iconName:"cancel"},{label:E("OK"),iconName:"delete",onclick:nH(function(){return nz(this,function(e){switch(e.label){case 0:return[4,nt(r,ed[t],!0)];case 1:return e.sent(),ch.switchTo(0===t?O.SETTINGS:O.DEFINE_BOX),[2]}})})}]})])]}}};function nV(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function nK(e,t,n,i,r,o,s){try{var a=e[o](s),l=a.value}catch(e){n(e);return}a.done?t(l):Promise.resolve(l).then(i,r)}function nG(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function s(e){nK(o,i,r,s,a,"next",e)}function a(e){nK(o,i,r,s,a,"throw",e)}s(void 0)})}}function nY(e){return function(e){if(Array.isArray(e))return nV(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return nV(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return nV(e,t)}}(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function nZ(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],i=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}var nQ=function(){return{view:function(e){var t=e.attrs,n=t.rowId,i=t.colId,r=t.inconsistencies,o=t.callback,s=r[n],a=void 0!==s?s[i]:void 0;return T()(G,{className:"clickable",iconName:void 0===a?"check_circle_outline":a?"radio_button_unchecked":"blur_circular",onclick:nG(function(){return nZ(this,function(e){switch(e.label){case 0:switch(a){case!0:r[n][i]=r[i][n]=!1;break;case!1:delete r[n][i],delete r[i][n];break;default:!r[n]&&(r[n]={}),!r[i]&&(r[i]={}),r[n][i]=r[i][n]=!0}return[4,o()];case 1:return e.sent(),[2]}})})})}}},nJ=function(){var e,t,n=[{id:"id",autogenerate:"id"},{id:"label",type:"text",className:"col s12 m6",label:E("NAME")},{id:"hideInconsistentValues",type:"checkbox",className:"col s6 m3 mt25",label:E("HIDE_INCONSISTENT")},{id:"includeDecisionSupport",type:"checkbox",className:"col s6 m3 mt25",label:E("INCLUDE_DECISION_SUPPORT")},{id:"desc",type:"textarea",label:E("DESCRIPTION")},{id:"template",type:"textarea",label:E("TEMPLATE","TITLE"),placeholder:E("TEMPLATE","DESC")},{id:"categories",label:E("CATEGORIES"),type:[{id:"id",autogenerate:"id"},{id:"label",className:"col s4 m3 l2",type:"text",label:E("NAME")},{id:"desc",className:"col s4 m6 l7",type:"text",label:E("DESCRIPTION")},{id:"decisionSupport",type:"checkbox",className:"col s6 m3 l3 mt25",label:E("IS_DECISION_CATEGORY")},{id:"componentIds",type:"select",multiple:!0,label:E("DIMENSION_SELECTED"),options:"components"}],repeat:!0,pageSize:1,max:2},{id:"components",type:[{id:"id",autogenerate:"id"},{id:"order",type:"number",className:"col s3 m2",label:E("ORDER")},{id:"manual",type:"switch",className:"switch col s3 m2",label:E("MANUAL")},{id:"label",type:"text",className:"col s6 m8",label:E("NAME")},{id:"desc",type:"text",className:"col s12",label:E("DESCRIPTION")}],repeat:!0,pageSize:1,sortProperty:"order",label:E("DIMENSIONS")},{id:"thresholdColors",label:E("THRESHOLDS"),repeat:!0,sortProperty:"threshold",pageSize:1,type:[{id:"threshold",label:E("THRESHOLD"),type:"number",min:0,className:"col s6"},{id:"color",label:E("COLOR"),type:"color",className:"col s6"}]}];return{oninit:function(e){return t7(e.attrs,O.SETTINGS)},view:function(i){var r=i.attrs,o=r.state.model,s=o.scenario.inconsistencies,a=o.scenario.components.filter(function(e){return e.id&&e.label}),l=e&&a.filter(function(t){return t.id===e}).shift(),c=t&&a.filter(function(e){return e.id===t}).shift(),u=l&&l.values,h=c&&c.values;return[T()(".settings-page.row",[T()(el,{tabs:[{title:E("MODEL"),vnode:T()(".model-settings",[T()(".row",T()(J,{className:"right",iconName:"delete",label:E("DELETE"),modalId:"deleteModel"})),T()(".row",T()(tM,{obj:o.scenario,form:n,i18n:nw.i18n,onchange:nG(function(){return nZ(this,function(e){switch(e.label){case 0:return[4,nt(r,o)];case 1:return e.sent(),[2]}})})}))])},{title:E("INCONSISTENCIES","title"),vnode:T()(".inconsistencies-settings.row",a.length>0&&[T()(ea,{checkedId:e,iconName:"view_stream",className:"col s6 m4",placeholder:E("i18n","pickOne"),label:E("INCONSISTENCIES","SELECT_ROW"),options:a,onchange:function(t){return e=t[0]}}),T()(ea,{checkedId:t,iconName:"view_week",className:"col s6 m4",placeholder:E("i18n","pickOne"),label:E("INCONSISTENCIES","SELECT_COL"),options:a,onchange:function(e){return t=e[0]}}),T()("#legend.col.s12.m4",T()(".card",[T()("ul",[T()("li",T()(G,{style:"vertical-align: bottom",iconName:"check_circle_outline"}),E("COMBINATIONS","POSSIBLE")),T()("li",T()(G,{style:"vertical-align: bottom",iconName:"radio_button_unchecked"}),E("COMBINATIONS","IMPOSSIBLE")),T()("li",T()(G,{style:"vertical-align: bottom",iconName:"blur_circular"}),E("COMBINATIONS","IMPROBABLE"))])])),l&&c&&u&&h&&T()(".col.s12",T()(".row",[T()(".col.s12",T()("table.responsive-table.highlight",{style:"display: block;overflow-x: auto"},[T()("thead",T()("tr",[T()("th","".concat(l.label," \\ ").concat(c.label))].concat(nY(h.map(function(e){return T()("th",e.label)}))))),T()("tbody",u.map(function(e){return T()("tr",[T()("th",e.label)].concat(nY(h.map(function(t){return T()("td",T()(nQ,{rowId:e.id,colId:t.id,inconsistencies:s,callback:nG(function(){return nZ(this,function(e){switch(e.label){case 0:return[4,nt(r,o)];case 1:return[2,e.sent()]}})})}))}))))}))]))]))])}]}),T()(er,{id:"deleteModel",title:E("DELETE_ITEM","title",{item:E("MODEL")}),description:E("DELETE_ITEM","description",{item:E("MODEL")}),buttons:[{label:E("CANCEL")},{label:E("OK"),onclick:function(){nt(r,eh)}}]})])]}}};function n0(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function n1(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),i.forEach(function(t){var i,r,o;i=e,r=t,o=n[t],r in i?Object.defineProperty(i,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):i[r]=o})}return e}function n2(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n.push.apply(n,i)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function n5(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,i,r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],s=!0,a=!1;try{for(r=r.call(e);!(s=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);s=!0);}catch(e){a=!0,i=e}finally{try{!s&&null!=r.return&&r.return()}finally{if(a)throw i}}return o}}(e,t)||n3(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n3(e,t){if(e){if("string"==typeof e)return n0(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return n0(e,t)}}var n4=function(){var e,t;return{oninit:function(n){var i=n.attrs,r=i.item,o=i.form,s=i.contexts,a=s&&s.length>0&&"none"!==s[0];t=o.filter(function(e){return"context"!==e.id||a}).map(function(e){var t,n;return"context"===e.id&&a&&e.options&&(t=e.options,null!=(n=Array)&&"undefined"!=typeof Symbol&&n[Symbol.hasInstance]?!!n[Symbol.hasInstance](t):t instanceof n)?n2(n1({},e),{options:e.options.filter(function(e){return"none"===e.id||s.indexOf(e.id)>=0})}):e}),e=n1({},r)},view:function(n){var i=n.attrs,r=i.item,o=i.id,s=i.color;return T()("li.kanban-item.card.widget[draggable=true]",{key:o,id:"ki_".concat(r.id),style:"background-color: ".concat(s[0],"; color: ").concat(s[1]),ondragstart:function(e){var t;null===(t=e.dataTransfer)||void 0===t||t.setData(o,JSON.stringify([o,r.id]))},ondragover:function(e){var t;(null===(t=e.dataTransfer)||void 0===t?void 0:t.types.includes(o.toLowerCase()))&&e.preventDefault()},ondrop:function(e){e.preventDefault();var t,n=null===(t=e.dataTransfer)||void 0===t?void 0:t.getData(o);if(!n)return;var s=n5(JSON.parse(n),2),a=(s[0],s[1]),l=e.currentTarget;if(!!a&&!!l&&a!==r.id){if(l){var c=e.clientY-l.getBoundingClientRect().top,u=l.clientHeight;no(i,o,a,r.id,c<=u/2)}}}},[T()(".card-content",[T()("span.card-title",{onmouseenter:r.desc?function(){i.update({activeTooltip:r.desc})}:void 0,onmouseleave:r.desc?function(){i.update({activeTooltip:void 0})}:void 0},r.label),T()(J,{className:"top-right widget-link",iconName:"edit",iconClass:"no-gutter",modalId:"modal_".concat(r.id)})]),T()(er,{id:"modal_".concat(r.id),title:E("EDIT_COMPONENT"),fixedFooter:!0,description:T()(".row",T()(tM,{form:t,obj:e,i18n:nw.i18n})),buttons:[{label:E("CANCEL")},{label:E("DELETE"),onclick:function(){nr(i,o,e,"delete")}},{label:E("OK"),onclick:function(){nr(i,o,e,"update")}}]})])}}},n6=function(){var e={};return{view:function(t){var n=t.attrs,i=n.sc,r=n.form,o=i.id;return T()("li.kanban-header.widget",{key:"header"},[T()(".span.title.truncate.left.ml10",{onmouseenter:i.desc?function(){n.update({activeTooltip:i.desc})}:void 0,onmouseleave:i.desc?function(){n.update({activeTooltip:void 0})}:void 0},i.label),T()(J,{className:"widget-link",iconName:"add",iconClass:"no-gutter",modalId:i.id,i18n:nw.i18n}),T()(er,{id:i.id,title:E("ADD_COMPONENT"),fixedFooter:!0,description:T()(".row",T()(tM,{form:r,obj:e,i18n:nw.i18n})),buttons:[{label:E("CANCEL")},{label:E("OK"),onclick:function(){var t=n1({},e);e={},nr(n,o,t,"create")}}]})])}}},n8=function(){return{view:function(e){var t,n=e.attrs,i=n.sc,r=n.form,o=n.compColor;return T()("li",{key:i.id},[T()("ul.kanban-row",T()(n6,n2(n1({},n),{sc:i,form:r})),null===(t=i.values)||void 0===t?void 0:t.map(function(e){return T()(n4,n2(n1({key:e.id},n),{id:i.id,contexts:i.contexts,item:e,form:r,color:o[e.id]||o.OTHER}))}))])}}},n9=function(){return{view:function(e){var t=e.attrs,n=t.form,i=t.categoryId,r=t.compColor,o=t.state.model.scenario,s=o.categories,a=o.components,l=s[i],c=a.filter(function(e){return l.componentIds&&l.componentIds.indexOf(e.id)>=0});return T()("ul.kanban",[c.map(function(e){return T()(n8,n2(n1({},t),{sc:e,form:n,compColor:r}))})])}}},n7=function(){var e=[{id:"id",autogenerate:"id"},{id:"label",type:"text",label:E("NAME")},{id:"desc",type:"textarea",label:E("DESCRIPTION")}],t={};return{oninit:function(e){t7(e.attrs,O.DEFINE_BOX)},view:function(n){var i=n.attrs,r=i.state,o=r.activeTooltip,s=r.model.scenario,a=s.categories,l=s.thresholdColors,c=void 0===l?[]:l;if(t||Object.keys(t).length<c.length){var u,h,d=s.narratives,p=(void 0===d?[]:d).filter(function(e){return e.included}).reduce(function(e,t){var n=t.components;return Object.keys(n).forEach(function(t){var i=!0,r=!1,o=void 0;try{for(var s,a=n[t][Symbol.iterator]();!(i=(s=a.next()).done);i=!0){var l=s.value;e[l]?e[l]++:e[l]=1}}catch(e){r=!0,o=e}finally{try{!i&&null!=a.return&&a.return()}finally{if(r)throw o}}}),e},{});var f=tU(0,(h=Math).max.apply(h,function(e){if(Array.isArray(e))return n0(e)}(u=c.map(function(e){return e.threshold}))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(u)||n3(u)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())).map(function(e){return""}),m=0;c.sort(function(e,t){return e.threshold>t.threshold?1:-1}).forEach(function(e){do f[m]=e.color,m++;while(m<e.threshold)}),t=Object.entries(p).reduce(function(e,t){var n=n5(t,2),i=n[0],r=n[1],o=r<f.length?f[r]:f[f.length-1];return e[i]=[o,tW(o)],e},{OTHER:[f[0],tW(f[0])]})}return[T()(".create-box-page",[a.length>1&&a[0].componentIds&&a[1].componentIds?T()(el,{tabs:a.map(function(n,r){return{id:n.id,title:n.label,vnode:T()(n9,n2(n1({},i),{compColor:t,categoryId:r,form:e}))}})}):1===a.length&&a[0].componentIds?T()(n9,n2(n1({},i),{compColor:t,categoryId:0,form:e})):T()(".row.mt10",T()(".col.s12",E("SPEC_CATS"))),o&&T()(".popupContainer",T()(".popupContent.center",T()(tC,{md:o,removeParagraphs:!0})))])]}}};let ie=function(e,t){return e===t||e!=e&&t!=t},it=function(e,t){for(var n=e.length;n--;)if(ie(e[n][0],t))return n;return -1};var ii=Array.prototype.splice;function ir(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}ir.prototype.clear=function(){this.__data__=[],this.size=0},ir.prototype.delete=function(e){var t=this.__data__,n=it(t,e);return!(n<0)&&(n==t.length-1?t.pop():ii.call(t,n,1),--this.size,!0)},ir.prototype.get=function(e){var t=this.__data__,n=it(t,e);return n<0?void 0:t[n][1]},ir.prototype.has=function(e){return it(this.__data__,e)>-1},ir.prototype.set=function(e,t){var n=this.__data__,i=it(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this};var io="object"==typeof global&&global&&global.Object===Object&&global,is="object"==typeof self&&self&&self.Object===Object&&self,ia=io||is||Function("return this")(),il=ia.Symbol,ic=Object.prototype,iu=ic.hasOwnProperty,ih=ic.toString,id=il?il.toStringTag:void 0;let ip=function(e){var t=iu.call(e,id),n=e[id];try{e[id]=void 0;var i=!0}catch(e){}var r=ih.call(e);return i&&(t?e[id]=n:delete e[id]),r};var im=Object.prototype.toString,ig=il?il.toStringTag:void 0;let iv=function(e){var t;if(null==e)return void 0===e?"[object Undefined]":"[object Null]";return ig&&ig in Object(e)?ip(e):(t=e,im.call(t))},iy=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},ib=function(e){if(!iy(e))return!1;var t=iv(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t};var iw=ia["__core-js_shared__"];var i_=(f=/[^.]+$/.exec(iw&&iw.keys&&iw.keys.IE_PROTO||""))?"Symbol(src)_1."+f:"",iE=Function.prototype.toString;let ix=function(e){if(null!=e){try{return iE.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var ik=/^\[object .+?Constructor\]$/,iT=Object.prototype,iO=Function.prototype.toString,iC=iT.hasOwnProperty,iA=RegExp("^"+iO.call(iC).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");let iS=function(e){var t;return!!iy(e)&&(t=e,!i_||!(i_ in t))&&(ib(e)?iA:ik).test(ix(e))},iN=function(e,t){var n,i,r=(n=e,i=t,null==n?void 0:n[i]);return iS(r)?r:void 0};var iI=iN(ia,"Map"),iM=iN(Object,"create"),iL=Object.prototype.hasOwnProperty,iR=Object.prototype.hasOwnProperty;function iP(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}iP.prototype.clear=function(){this.__data__=iM?iM(null):{},this.size=0},iP.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},iP.prototype.get=function(e){var t=this.__data__;if(iM){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return iL.call(t,e)?t[e]:void 0},iP.prototype.has=function(e){var t=this.__data__;return iM?void 0!==t[e]:iR.call(t,e)},iP.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=iM&&void 0===t?"__lodash_hash_undefined__":t,this};let iD=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e},ij=function(e,t){var n=e.__data__;return iD(t)?n["string"==typeof t?"string":"hash"]:n.map};function iB(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}iB.prototype.clear=function(){this.size=0,this.__data__={hash:new iP,map:new(iI||ir),string:new iP}},iB.prototype.delete=function(e){var t=ij(this,e).delete(e);return this.size-=t?1:0,t},iB.prototype.get=function(e){return ij(this,e).get(e)},iB.prototype.has=function(e){return ij(this,e).has(e)},iB.prototype.set=function(e,t){var n=ij(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this};function iF(e){var t=this.__data__=new ir(e);this.size=t.size}iF.prototype.clear=function(){this.__data__=new ir,this.size=0},iF.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},iF.prototype.get=function(e){return this.__data__.get(e)},iF.prototype.has=function(e){return this.__data__.has(e)},iF.prototype.set=function(e,t){var n=this.__data__;if(n instanceof ir){var i=n.__data__;if(!iI||i.length<199)return i.push([e,t]),this.size=++n.size,this;n=this.__data__=new iB(i)}return n.set(e,t),this.size=n.size,this};var iq=function(){try{var e=iN(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();let iH=function(e,t,n){"__proto__"==t&&iq?iq(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n},i$=function(e,t,n){(void 0!==n&&!ie(e[t],n)||void 0===n&&!(t in e))&&iH(e,t,n)};let iU=function(e,t,n){for(var i=-1,r=Object(e),o=n(e),s=o.length;s--;){var a=o[++i];if(!1===t(r[a],a,r))break}return e};var iz="object"==typeof exports&&exports&&!exports.nodeType&&exports,iX=iz&&"object"==typeof module&&module&&!module.nodeType&&module,iW=iX&&iX.exports===iz?ia.Buffer:void 0,iV=iW?iW.allocUnsafe:void 0;let iK=function(e,t){if(t)return e.slice();var n=e.length,i=iV?iV(n):new e.constructor(n);return e.copy(i),i};var iG=ia.Uint8Array;let iY=function(e){var t=new e.constructor(e.byteLength);return new iG(t).set(new iG(e)),t},iZ=function(e,t){var n=t?iY(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)},iQ=function(e,t){var n=-1,i=e.length;for(t||(t=Array(i));++n<i;)t[n]=e[n];return t};var iJ=Object.create,i0=function(){function e(){}return function(t){if(!iy(t))return{};if(iJ)return iJ(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();let i1=function(e,t){return function(n){return e(t(n))}};var i2=i1(Object.getPrototypeOf,Object),i5=Object.prototype;let i3=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||i5)},i4=function(e){return"function"!=typeof e.constructor||i3(e)?{}:i0(i2(e))},i6=function(e){return null!=e&&"object"==typeof e},i8=function(e){return i6(e)&&"[object Arguments]"==iv(e)};var i9=Object.prototype,i7=i9.hasOwnProperty,re=i9.propertyIsEnumerable,rt=i8(function(){return arguments}())?i8:function(e){return i6(e)&&i7.call(e,"callee")&&!re.call(e,"callee")},rn=Array.isArray;let ri=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff},rr=function(e){return null!=e&&ri(e.length)&&!ib(e)};var ro="object"==typeof exports&&exports&&!exports.nodeType&&exports,rs=ro&&"object"==typeof module&&module&&!module.nodeType&&module,ra=rs&&rs.exports===ro?ia.Buffer:void 0,rl=ra?ra.isBuffer:void 0;let rc=rl||function(){return!1};var ru=Object.prototype,rh=Function.prototype.toString,rd=ru.hasOwnProperty,rp=rh.call(Object);let rf=function(e){if(!i6(e)||"[object Object]"!=iv(e))return!1;var t=i2(e);if(null===t)return!0;var n=rd.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&rh.call(n)==rp};var rm={};rm["[object Float32Array]"]=rm["[object Float64Array]"]=rm["[object Int8Array]"]=rm["[object Int16Array]"]=rm["[object Int32Array]"]=rm["[object Uint8Array]"]=rm["[object Uint8ClampedArray]"]=rm["[object Uint16Array]"]=rm["[object Uint32Array]"]=!0,rm["[object Arguments]"]=rm["[object Array]"]=rm["[object ArrayBuffer]"]=rm["[object Boolean]"]=rm["[object DataView]"]=rm["[object Date]"]=rm["[object Error]"]=rm["[object Function]"]=rm["[object Map]"]=rm["[object Number]"]=rm["[object Object]"]=rm["[object RegExp]"]=rm["[object Set]"]=rm["[object String]"]=rm["[object WeakMap]"]=!1;let rg=function(e){return function(t){return e(t)}};var rv="object"==typeof exports&&exports&&!exports.nodeType&&exports,ry=rv&&"object"==typeof module&&module&&!module.nodeType&&module,rb=ry&&ry.exports===rv&&io.process,rw=function(){try{var e=ry&&ry.require&&ry.require("util").types;if(e)return e;return rb&&rb.binding&&rb.binding("util")}catch(e){}}(),r_=rw&&rw.isTypedArray,rE=r_?rg(r_):function(e){return i6(e)&&ri(e.length)&&!!rm[iv(e)]};let rx=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]};var rk=Object.prototype.hasOwnProperty;let rT=function(e,t,n){var i=e[t];(!(rk.call(e,t)&&ie(i,n))||void 0===n&&!(t in e))&&iH(e,t,n)},rO=function(e,t,n,i){var r=!n;n||(n={});for(var o=-1,s=t.length;++o<s;){var a=t[o],l=i?i(n[a],e[a],a,n,e):void 0;void 0===l&&(l=e[a]),r?iH(n,a,l):rT(n,a,l)}return n},rC=function(e,t){for(var n=-1,i=Array(e);++n<e;)i[n]=t(n);return i};var rA=/^(?:0|[1-9]\d*)$/;let rS=function(e,t){var n=typeof e;return!!(t=null==t?0x1fffffffffffff:t)&&("number"==n||"symbol"!=n&&rA.test(e))&&e>-1&&e%1==0&&e<t};var rN=Object.prototype.hasOwnProperty;let rI=function(e,t){var n=rn(e),i=!n&&rt(e),r=!n&&!i&&rc(e),o=!n&&!i&&!r&&rE(e),s=n||i||r||o,a=s?rC(e.length,String):[],l=a.length;for(var c in e)(t||rN.call(e,c))&&!(s&&("length"==c||r&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||rS(c,l)))&&a.push(c);return a},rM=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t};var rL=Object.prototype.hasOwnProperty;let rR=function(e){if(!iy(e))return rM(e);var t=i3(e),n=[];for(var i in e)!("constructor"==i&&(t||!rL.call(e,i)))&&n.push(i);return n},rP=function(e){return rr(e)?rI(e,!0):rR(e)},rD=function(e,t,n,i,r,o,s){var a=rx(e,n),l=rx(t,n),c=s.get(l);if(c){i$(e,n,c);return}var u=o?o(a,l,n+"",e,t,s):void 0,h=void 0===u;if(h){var d,p,f=rn(l),m=!f&&rc(l),g=!f&&!m&&rE(l);if(u=l,f||m||g){if(rn(a))u=a;else{;if(i6(d=a)&&rr(d))u=iQ(a);else m?(h=!1,u=iK(l,!0)):g?(h=!1,u=iZ(l,!0)):u=[]}}else if(rf(l)||rt(l)){if(u=a,rt(a)){;u=rO(p=a,rP(p))}else(!iy(a)||ib(a))&&(u=i4(l))}else h=!1}h&&(s.set(l,u),r(u,l,i,o,s),s.delete(l)),i$(e,n,u)},rj=function e(t,n,i,r,o){if(t!==n)iU(n,function(s,a){if(o||(o=new iF),iy(s))rD(t,n,a,i,e,r,o);else{var l=r?r(rx(t,a),s,a+"",t,n,o):void 0;void 0===l&&(l=s),i$(t,a,l)}},rP)},rB=function(e){return e},rF=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)};var rq=Math.max,rH=Date.now;var r$=(g=iq?function(e,t){var n;return iq(e,"toString",{configurable:!0,enumerable:!1,value:(n=t,function(){return n}),writable:!0})}:rB,v=0,y=0,function(){var e=rH(),t=16-(e-y);if(y=e,t>0){if(++v>=800)return arguments[0]}else v=0;return g.apply(void 0,arguments)});let rU=function(e,t){var n,i,r;return r$((n=e,i=t,r=rB,i=rq(void 0===i?n.length-1:i,0),function(){for(var e=arguments,t=-1,o=rq(e.length-i,0),s=Array(o);++t<o;)s[t]=e[i+t];t=-1;for(var a=Array(i+1);++t<i;)a[t]=e[t];return a[i]=r(s),rF(n,this,a)}),e+"")},rz=function(e,t,n){if(!iy(n))return!1;var i=typeof t;return("number"==i?!!(rr(n)&&rS(t,n.length)):"string"==i&&t in n)&&ie(n[t],e)};var rX=(b=function(e,t,n){rj(e,t,n)},rU(function(e,t){var n=-1,i=t.length,r=i>1?t[i-1]:void 0,o=i>2?t[2]:void 0;for(r=b.length>3&&"function"==typeof r?(i--,r):void 0,o&&rz(t[0],t[1],o)&&(r=i<3?void 0:r,i=1),e=Object(e);++n<i;){var s=t[n];s&&b(e,s,n,r)}return e}));var rW=((i=rW||{})[i.TYPE=3]="TYPE",i[i.LEVEL=12]="LEVEL",i[i.ATTRIBUTE=13]="ATTRIBUTE",i[i.BLOT=14]="BLOT",i[i.INLINE=7]="INLINE",i[i.BLOCK=11]="BLOCK",i[i.BLOCK_BLOT=10]="BLOCK_BLOT",i[i.INLINE_BLOT=6]="INLINE_BLOT",i[i.BLOCK_ATTRIBUTE=9]="BLOCK_ATTRIBUTE",i[i.INLINE_ATTRIBUTE=5]="INLINE_ATTRIBUTE",i[i.ANY=15]="ANY",i);class rV{constructor(e,t,n={}){this.attrName=e,this.keyName=t;let i=rW.TYPE&rW.ATTRIBUTE;this.scope=null!=n.scope?n.scope&rW.LEVEL|i:rW.ATTRIBUTE,null!=n.whitelist&&(this.whitelist=n.whitelist)}static keys(e){return Array.from(e.attributes).map(e=>e.name)}add(e,t){return!!this.canAdd(e,t)&&(e.setAttribute(this.keyName,t),!0)}canAdd(e,t){return null==this.whitelist||("string"==typeof t?this.whitelist.indexOf(t.replace(/["']/g,""))>-1:this.whitelist.indexOf(t)>-1)}remove(e){e.removeAttribute(this.keyName)}value(e){let t=e.getAttribute(this.keyName);return this.canAdd(e,t)&&t?t:""}}class rK extends Error{constructor(e){super(e="[Parchment] "+e),this.message=e,this.name=this.constructor.name}}let rG=class e{constructor(){this.attributes={},this.classes={},this.tags={},this.types={}}static find(e,t=!1){if(null==e)return null;if(this.blots.has(e))return this.blots.get(e)||null;if(t){let n=null;try{n=e.parentNode}catch{return null}return this.find(n,t)}return null}create(t,n,i){let r=this.query(n);if(null==r)throw new rK(`Unable to create ${n} blot`);let o=n instanceof Node||n.nodeType===Node.TEXT_NODE?n:r.create(i),s=new r(t,o,i);return e.blots.set(s.domNode,s),s}find(t,n=!1){return e.find(t,n)}query(e,t=rW.ANY){let n;return"string"==typeof e?n=this.types[e]||this.attributes[e]:e instanceof Text||e.nodeType===Node.TEXT_NODE?n=this.types.text:"number"==typeof e?e&rW.LEVEL&rW.BLOCK?n=this.types.block:e&rW.LEVEL&rW.INLINE&&(n=this.types.inline):e instanceof Element&&((e.getAttribute("class")||"").split(/\s+/).some(e=>!!(n=this.classes[e])),n=n||this.tags[e.tagName]),null==n?null:"scope"in n&&t&rW.LEVEL&n.scope&&t&rW.TYPE&n.scope?n:null}register(...e){return e.map(e=>{let t="blotName"in e,n="attrName"in e;if(!t&&!n)throw new rK("Invalid definition");if(t&&"abstract"===e.blotName)throw new rK("Cannot register abstract class");let i=t?e.blotName:n?e.attrName:void 0;return this.types[i]=e,n?"string"==typeof e.keyName&&(this.attributes[e.keyName]=e):t&&(e.className&&(this.classes[e.className]=e),e.tagName&&(Array.isArray(e.tagName)?e.tagName=e.tagName.map(e=>e.toUpperCase()):e.tagName=e.tagName.toUpperCase(),(Array.isArray(e.tagName)?e.tagName:[e.tagName]).forEach(t=>{(null==this.tags[t]||null==e.className)&&(this.tags[t]=e)}))),e})}};rG.blots=new WeakMap;let rY=rG;function rZ(e,t){return(e.getAttribute("class")||"").split(/\s+/).filter(e=>0===e.indexOf(`${t}-`))}let rQ=class e extends rV{static keys(e){return(e.getAttribute("class")||"").split(/\s+/).map(e=>e.split("-").slice(0,-1).join("-"))}add(e,t){return!!this.canAdd(e,t)&&(this.remove(e),e.classList.add(`${this.keyName}-${t}`),!0)}remove(e){rZ(e,this.keyName).forEach(t=>{e.classList.remove(t)}),0===e.classList.length&&e.removeAttribute("class")}value(e){let t=(rZ(e,this.keyName)[0]||"").slice(this.keyName.length+1);return this.canAdd(e,t)?t:""}};function rJ(e){let t=e.split("-"),n=t.slice(1).map(e=>e[0].toUpperCase()+e.slice(1)).join("");return t[0]+n}let r0=class e extends rV{static keys(e){return(e.getAttribute("style")||"").split(";").map(e=>e.split(":")[0].trim())}add(e,t){return!!this.canAdd(e,t)&&(e.style[rJ(this.keyName)]=t,!0)}remove(e){e.style[rJ(this.keyName)]="",e.getAttribute("style")||e.removeAttribute("style")}value(e){let t=e.style[rJ(this.keyName)];return this.canAdd(e,t)?t:""}},r1=class e{constructor(e){this.attributes={},this.domNode=e,this.build()}attribute(e,t){t?e.add(this.domNode,t)&&(null!=e.value(this.domNode)?this.attributes[e.attrName]=e:delete this.attributes[e.attrName]):(e.remove(this.domNode),delete this.attributes[e.attrName])}build(){this.attributes={};let e=rY.find(this.domNode);if(null==e)return;let t=rV.keys(this.domNode),n=rQ.keys(this.domNode),i=r0.keys(this.domNode);t.concat(n).concat(i).forEach(t=>{let n=e.scroll.query(t,rW.ATTRIBUTE);n instanceof rV&&(this.attributes[n.attrName]=n)})}copy(e){Object.keys(this.attributes).forEach(t=>{let n=this.attributes[t].value(this.domNode);e.format(t,n)})}move(e){this.copy(e),Object.keys(this.attributes).forEach(e=>{this.attributes[e].remove(this.domNode)}),this.attributes={}}values(){return Object.keys(this.attributes).reduce((e,t)=>(e[t]=this.attributes[t].value(this.domNode),e),{})}},r2=class{constructor(e,t){this.scroll=e,this.domNode=t,rY.blots.set(t,this),this.prev=null,this.next=null}static create(e){let t,n;if(null==this.tagName)throw new rK("Blot definition missing tagName");return Array.isArray(this.tagName)?("string"==typeof e?parseInt(n=e.toUpperCase(),10).toString()===n&&(n=parseInt(n,10)):"number"==typeof e&&(n=e),t="number"==typeof n?document.createElement(this.tagName[n-1]):n&&this.tagName.indexOf(n)>-1?document.createElement(n):document.createElement(this.tagName[0])):t=document.createElement(this.tagName),this.className&&t.classList.add(this.className),t}get statics(){return this.constructor}attach(){}clone(){let e=this.domNode.cloneNode(!1);return this.scroll.create(e)}detach(){null!=this.parent&&this.parent.removeChild(this),rY.blots.delete(this.domNode)}deleteAt(e,t){this.isolate(e,t).remove()}formatAt(e,t,n,i){let r=this.isolate(e,t);if(null!=this.scroll.query(n,rW.BLOT)&&i)r.wrap(n,i);else if(null!=this.scroll.query(n,rW.ATTRIBUTE)){let e=this.scroll.create(this.statics.scope);r.wrap(e),e.format(n,i)}}insertAt(e,t,n){let i=null==n?this.scroll.create("text",t):this.scroll.create(t,n),r=this.split(e);this.parent.insertBefore(i,r||void 0)}isolate(e,t){let n=this.split(e);if(null==n)throw Error("Attempt to isolate at end");return n.split(t),n}length(){return 1}offset(e=this.parent){return null==this.parent||this===e?0:this.parent.children.offset(this)+this.parent.offset(e)}optimize(e){!this.statics.requiredContainer||this.parent instanceof this.statics.requiredContainer||this.wrap(this.statics.requiredContainer.blotName)}remove(){null!=this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode),this.detach()}replaceWith(e,t){let n="string"==typeof e?this.scroll.create(e,t):e;return null!=this.parent&&(this.parent.insertBefore(n,this.next||void 0),this.remove()),n}split(e,t){return 0===e?this:this.next}update(e,t){}wrap(e,t){let n="string"==typeof e?this.scroll.create(e,t):e;if(null!=this.parent&&this.parent.insertBefore(n,this.next||void 0),"function"!=typeof n.appendChild)throw new rK(`Cannot wrap ${e}`);return n.appendChild(this),n}};r2.blotName="abstract";let r5=r2,r3=class extends r5{static value(e){return!0}index(e,t){return this.domNode===e||this.domNode.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY?Math.min(t,1):-1}position(e,t){let n=Array.from(this.parent.domNode.childNodes).indexOf(this.domNode);return e>0&&(n+=1),[this.parent.domNode,n]}value(){return{[this.statics.blotName]:this.statics.value(this.domNode)||!0}}};r3.scope=rW.INLINE_BLOT;let r4=r3;class r6{constructor(){this.head=null,this.tail=null,this.length=0}append(...e){if(this.insertBefore(e[0],null),e.length>1){let t=e.slice(1);this.append(...t)}}at(e){let t=this.iterator(),n=t();for(;n&&e>0;)e-=1,n=t();return n}contains(e){let t=this.iterator(),n=t();for(;n;){if(n===e)return!0;n=t()}return!1}indexOf(e){let t=this.iterator(),n=t(),i=0;for(;n;){if(n===e)return i;i+=1,n=t()}return -1}insertBefore(e,t){null!=e&&(this.remove(e),e.next=t,null!=t?(e.prev=t.prev,null!=t.prev&&(t.prev.next=e),t.prev=e,t===this.head&&(this.head=e)):null!=this.tail?(this.tail.next=e,e.prev=this.tail,this.tail=e):(e.prev=null,this.head=this.tail=e),this.length+=1)}offset(e){let t=0,n=this.head;for(;null!=n;){if(n===e)return t;t+=n.length(),n=n.next}return -1}remove(e){this.contains(e)&&(null!=e.prev&&(e.prev.next=e.next),null!=e.next&&(e.next.prev=e.prev),e===this.head&&(this.head=e.next),e===this.tail&&(this.tail=e.prev),this.length-=1)}iterator(e=this.head){return()=>{let t=e;return null!=e&&(e=e.next),t}}find(e,t=!1){let n=this.iterator(),i=n();for(;i;){let r=i.length();if(e<r||t&&e===r&&(null==i.next||0!==i.next.length()))return[i,e];e-=r,i=n()}return[null,0]}forEach(e){let t=this.iterator(),n=t();for(;n;)e(n),n=t()}forEachAt(e,t,n){if(t<=0)return;let[i,r]=this.find(e),o=e-r,s=this.iterator(i),a=s();for(;a&&o<e+t;){let i=a.length();e>o?n(a,e-o,Math.min(t,o+i-e)):n(a,0,Math.min(i,e+t-o)),o+=i,a=s()}}map(e){return this.reduce((t,n)=>(t.push(e(n)),t),[])}reduce(e,t){let n=this.iterator(),i=n();for(;i;)t=e(t,i),i=n();return t}}function r8(e,t){let n=t.find(e);if(n)return n;try{return t.create(e)}catch{let n=t.create(rW.INLINE);return Array.from(e.childNodes).forEach(e=>{n.domNode.appendChild(e)}),e.parentNode&&e.parentNode.replaceChild(n.domNode,e),n.attach(),n}}let r9=class e extends r5{constructor(e,t){super(e,t),this.uiNode=null,this.build()}appendChild(e){this.insertBefore(e)}attach(){super.attach(),this.children.forEach(e=>{e.attach()})}attachUI(t){null!=this.uiNode&&this.uiNode.remove(),this.uiNode=t,e.uiClass&&this.uiNode.classList.add(e.uiClass),this.uiNode.setAttribute("contenteditable","false"),this.domNode.insertBefore(this.uiNode,this.domNode.firstChild)}build(){this.children=new r6,Array.from(this.domNode.childNodes).filter(e=>e!==this.uiNode).reverse().forEach(e=>{try{let t=r8(e,this.scroll);this.insertBefore(t,this.children.head||void 0)}catch(e){if(e instanceof rK)return;throw e}})}deleteAt(e,t){if(0===e&&t===this.length())return this.remove();this.children.forEachAt(e,t,(e,t,n)=>{e.deleteAt(t,n)})}descendant(t,n=0){let[i,r]=this.children.find(n);return null==t.blotName&&t(i)||null!=t.blotName&&i instanceof t?[i,r]:i instanceof e?i.descendant(t,r):[null,-1]}descendants(t,n=0,i=Number.MAX_VALUE){let r=[],o=i;return this.children.forEachAt(n,i,(n,i,s)=>{(null==t.blotName&&t(n)||null!=t.blotName&&n instanceof t)&&r.push(n),n instanceof e&&(r=r.concat(n.descendants(t,i,o))),o-=s}),r}detach(){this.children.forEach(e=>{e.detach()}),super.detach()}enforceAllowedChildren(){let t=!1;this.children.forEach(n=>{t||this.statics.allowedChildren.some(e=>n instanceof e)||(n.statics.scope===rW.BLOCK_BLOT?(null!=n.next&&this.splitAfter(n),null!=n.prev&&this.splitAfter(n.prev),n.parent.unwrap(),t=!0):n instanceof e?n.unwrap():n.remove())})}formatAt(e,t,n,i){this.children.forEachAt(e,t,(e,t,r)=>{e.formatAt(t,r,n,i)})}insertAt(e,t,n){let[i,r]=this.children.find(e);if(i)i.insertAt(r,t,n);else{let e=null==n?this.scroll.create("text",t):this.scroll.create(t,n);this.appendChild(e)}}insertBefore(e,t){null!=e.parent&&e.parent.children.remove(e);let n=null;this.children.insertBefore(e,t||null),e.parent=this,null!=t&&(n=t.domNode),(this.domNode.parentNode!==e.domNode||this.domNode.nextSibling!==n)&&this.domNode.insertBefore(e.domNode,n),e.attach()}length(){return this.children.reduce((e,t)=>e+t.length(),0)}moveChildren(e,t){this.children.forEach(n=>{e.insertBefore(n,t)})}optimize(e){if(super.optimize(e),this.enforceAllowedChildren(),null!=this.uiNode&&this.uiNode!==this.domNode.firstChild&&this.domNode.insertBefore(this.uiNode,this.domNode.firstChild),0===this.children.length){if(null!=this.statics.defaultChild){let e=this.scroll.create(this.statics.defaultChild.blotName);this.appendChild(e)}else this.remove()}}path(t,n=!1){let[i,r]=this.children.find(t,n),o=[[this,t]];return i instanceof e?o.concat(i.path(r,n)):(null!=i&&o.push([i,r]),o)}removeChild(e){this.children.remove(e)}replaceWith(t,n){let i="string"==typeof t?this.scroll.create(t,n):t;return i instanceof e&&this.moveChildren(i),super.replaceWith(i)}split(e,t=!1){if(!t){if(0===e)return this;if(e===this.length())return this.next}let n=this.clone();return this.parent&&this.parent.insertBefore(n,this.next||void 0),this.children.forEachAt(e,this.length(),(e,i,r)=>{let o=e.split(i,t);null!=o&&n.appendChild(o)}),n}splitAfter(e){let t=this.clone();for(;null!=e.next;)t.appendChild(e.next);return this.parent&&this.parent.insertBefore(t,this.next||void 0),t}unwrap(){this.parent&&this.moveChildren(this.parent,this.next||void 0),this.remove()}update(e,t){let n=[],i=[];e.forEach(e=>{e.target===this.domNode&&"childList"===e.type&&(n.push(...e.addedNodes),i.push(...e.removedNodes))}),i.forEach(e=>{if(null!=e.parentNode&&"IFRAME"!==e.tagName&&document.body.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)return;let t=this.scroll.find(e);null!=t&&(null==t.domNode.parentNode||t.domNode.parentNode===this.domNode)&&t.detach()}),n.filter(e=>e.parentNode===this.domNode&&e!==this.uiNode).sort((e,t)=>e===t?0:e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?1:-1).forEach(e=>{let t=null;null!=e.nextSibling&&(t=this.scroll.find(e.nextSibling));let n=r8(e,this.scroll);(n.next!==t||null==n.next)&&(null!=n.parent&&n.parent.removeChild(this),this.insertBefore(n,t||void 0))}),this.enforceAllowedChildren()}};r9.uiClass="";let r7=r9,oe=class e extends r7{static create(e){return super.create(e)}static formats(t,n){let i=n.query(e.blotName);if(!(null!=i&&t.tagName===i.tagName)){if("string"==typeof this.tagName)return!0;if(Array.isArray(this.tagName))return t.tagName.toLowerCase()}}constructor(e,t){super(e,t),this.attributes=new r1(this.domNode)}format(t,n){if(t!==this.statics.blotName||n){let e=this.scroll.query(t,rW.INLINE);if(null!=e)e instanceof rV?this.attributes.attribute(e,n):n&&(t!==this.statics.blotName||this.formats()[t]!==n)&&this.replaceWith(t,n)}else this.children.forEach(t=>{t instanceof e||(t=t.wrap(e.blotName,!0)),this.attributes.copy(t)}),this.unwrap()}formats(){let e=this.attributes.values(),t=this.statics.formats(this.domNode,this.scroll);return null!=t&&(e[this.statics.blotName]=t),e}formatAt(e,t,n,i){null!=this.formats()[n]||this.scroll.query(n,rW.ATTRIBUTE)?this.isolate(e,t).format(n,i):super.formatAt(e,t,n,i)}optimize(t){super.optimize(t);let n=this.formats();if(0===Object.keys(n).length)return this.unwrap();let i=this.next;i instanceof e&&i.prev===this&&function(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}(n,i.formats())&&(i.moveChildren(this),i.remove())}replaceWith(e,t){let n=super.replaceWith(e,t);return this.attributes.copy(n),n}update(e,t){super.update(e,t),e.some(e=>e.target===this.domNode&&"attributes"===e.type)&&this.attributes.build()}wrap(t,n){let i=super.wrap(t,n);return i instanceof e&&this.attributes.move(i),i}};oe.allowedChildren=[oe,r4],oe.blotName="inline",oe.scope=rW.INLINE_BLOT,oe.tagName="SPAN";let ot=oe,on=class e extends r7{static create(e){return super.create(e)}static formats(t,n){let i=n.query(e.blotName);if(!(null!=i&&t.tagName===i.tagName)){if("string"==typeof this.tagName)return!0;if(Array.isArray(this.tagName))return t.tagName.toLowerCase()}}constructor(e,t){super(e,t),this.attributes=new r1(this.domNode)}format(t,n){let i=this.scroll.query(t,rW.BLOCK);null!=i&&(i instanceof rV?this.attributes.attribute(i,n):t!==this.statics.blotName||n?n&&(t!==this.statics.blotName||this.formats()[t]!==n)&&this.replaceWith(t,n):this.replaceWith(e.blotName))}formats(){let e=this.attributes.values(),t=this.statics.formats(this.domNode,this.scroll);return null!=t&&(e[this.statics.blotName]=t),e}formatAt(e,t,n,i){null!=this.scroll.query(n,rW.BLOCK)?this.format(n,i):super.formatAt(e,t,n,i)}insertAt(e,t,n){if(null==n||null!=this.scroll.query(t,rW.INLINE))super.insertAt(e,t,n);else{let i=this.split(e);if(null!=i){let e=this.scroll.create(t,n);i.parent.insertBefore(e,i)}else throw Error("Attempt to insertAt after block boundaries")}}replaceWith(e,t){let n=super.replaceWith(e,t);return this.attributes.copy(n),n}update(e,t){super.update(e,t),e.some(e=>e.target===this.domNode&&"attributes"===e.type)&&this.attributes.build()}};on.blotName="block",on.scope=rW.BLOCK_BLOT,on.tagName="P",on.allowedChildren=[ot,on,r4];let oi=on,or=class extends r7{checkMerge(){return null!==this.next&&this.next.statics.blotName===this.statics.blotName}deleteAt(e,t){super.deleteAt(e,t),this.enforceAllowedChildren()}formatAt(e,t,n,i){super.formatAt(e,t,n,i),this.enforceAllowedChildren()}insertAt(e,t,n){super.insertAt(e,t,n),this.enforceAllowedChildren()}optimize(e){super.optimize(e),this.children.length>0&&null!=this.next&&this.checkMerge()&&(this.next.moveChildren(this),this.next.remove())}};or.blotName="container",or.scope=rW.BLOCK_BLOT;let oo=or,os=class e extends r4{static formats(e,t){}format(e,t){super.formatAt(0,this.length(),e,t)}formatAt(e,t,n,i){0===e&&t===this.length()?this.format(n,i):super.formatAt(e,t,n,i)}formats(){return this.statics.formats(this.domNode,this.scroll)}},oa={attributes:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0},ol=class extends r7{constructor(e,t){super(null,t),this.registry=e,this.scroll=this,this.build(),this.observer=new MutationObserver(e=>{this.update(e)}),this.observer.observe(this.domNode,oa),this.attach()}create(e,t){return this.registry.create(this,e,t)}find(e,t=!1){let n=this.registry.find(e,t);return n?n.scroll===this?n:t?this.find(n.scroll.domNode.parentNode,!0):null:null}query(e,t=rW.ANY){return this.registry.query(e,t)}register(...e){return this.registry.register(...e)}build(){null!=this.scroll&&super.build()}detach(){super.detach(),this.observer.disconnect()}deleteAt(e,t){this.update(),0===e&&t===this.length()?this.children.forEach(e=>{e.remove()}):super.deleteAt(e,t)}formatAt(e,t,n,i){this.update(),super.formatAt(e,t,n,i)}insertAt(e,t,n){this.update(),super.insertAt(e,t,n)}optimize(e=[],t={}){super.optimize(t);let n=t.mutationsMap||new WeakMap,i=Array.from(this.observer.takeRecords());for(;i.length>0;)e.push(i.pop());let r=(e,t=!0)=>{null==e||e===this||null!=e.domNode.parentNode&&(n.has(e.domNode)||n.set(e.domNode,[]),t&&r(e.parent))},o=e=>{n.has(e.domNode)&&(e instanceof r7&&e.children.forEach(o),n.delete(e.domNode),e.optimize(t))},s=e;for(let t=0;s.length>0;t+=1){if(t>=100)throw Error("[Parchment] Maximum optimize iterations reached");for(s.forEach(e=>{let t=this.find(e.target,!0);null!=t&&(t.domNode===e.target&&("childList"===e.type?(r(this.find(e.previousSibling,!1)),Array.from(e.addedNodes).forEach(e=>{let t=this.find(e,!1);r(t,!1),t instanceof r7&&t.children.forEach(e=>{r(e,!1)})})):"attributes"===e.type&&r(t.prev)),r(t))}),this.children.forEach(o),i=(s=Array.from(this.observer.takeRecords())).slice();i.length>0;)e.push(i.pop())}}update(e,t={}){e=e||this.observer.takeRecords();let n=new WeakMap;e.map(e=>{let t=this.find(e.target,!0);return null==t?null:n.has(t.domNode)?(n.get(t.domNode).push(e),null):(n.set(t.domNode,[e]),t)}).forEach(e=>{null!=e&&e!==this&&n.has(e.domNode)&&e.update(n.get(e.domNode)||[],t)}),t.mutationsMap=n,n.has(this.domNode)&&super.update(n.get(this.domNode),t),this.optimize(e,t)}};ol.blotName="scroll",ol.defaultChild=oi,ol.allowedChildren=[oi,oo],ol.scope=rW.BLOCK_BLOT,ol.tagName="DIV";let oc=ol,ou=class e extends r4{static create(e){return document.createTextNode(e)}static value(e){return e.data}constructor(e,t){super(e,t),this.text=this.statics.value(this.domNode)}deleteAt(e,t){this.domNode.data=this.text=this.text.slice(0,e)+this.text.slice(e+t)}index(e,t){return this.domNode===e?t:-1}insertAt(e,t,n){null==n?(this.text=this.text.slice(0,e)+t+this.text.slice(e),this.domNode.data=this.text):super.insertAt(e,t,n)}length(){return this.text.length}optimize(t){super.optimize(t),this.text=this.statics.value(this.domNode),0===this.text.length?this.remove():this.next instanceof e&&this.next.prev===this&&(this.insertAt(this.length(),this.next.value()),this.next.remove())}position(e,t=!1){return[this.domNode,e]}split(e,t=!1){if(!t){if(0===e)return this;if(e===this.length())return this.next}let n=this.scroll.create(this.domNode.splitText(e));return this.parent.insertBefore(n,this.next||void 0),this.text=this.statics.value(this.domNode),n}update(e,t){e.some(e=>"characterData"===e.type&&e.target===this.domNode)&&(this.text=this.statics.value(this.domNode))}value(){return this.text}};ou.blotName="text",ou.scope=rW.INLINE_BLOT;let oh=ou;var od=n("3258");let op=function(e,t){for(var n=-1,i=null==e?0:e.length;++n<i&&!1!==t(e[n],n,e););return e};var of=i1(Object.keys,Object),om=Object.prototype.hasOwnProperty;let og=function(e){if(!i3(e))return of(e);var t=[];for(var n in Object(e))om.call(e,n)&&"constructor"!=n&&t.push(n);return t},ov=function(e){return rr(e)?rI(e):og(e)},oy=function(e,t){for(var n=-1,i=null==e?0:e.length,r=0,o=[];++n<i;){var s=e[n];t(s,n,e)&&(o[r++]=s)}return o},ob=function(){return[]};var ow=Object.prototype.propertyIsEnumerable,o_=Object.getOwnPropertySymbols,oE=o_?function(e){return null==e?[]:oy(o_(e=Object(e)),function(t){return ow.call(e,t)})}:ob;let ox=function(e,t){for(var n=-1,i=t.length,r=e.length;++n<i;)e[r+n]=t[n];return e};var ok=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)ox(t,oE(e)),e=i2(e);return t}:ob;let oT=function(e,t,n){var i=t(e);return rn(e)?i:ox(i,n(e))},oO=function(e){return oT(e,ov,oE)},oC=function(e){return oT(e,rP,ok)};var oA=iN(ia,"DataView"),oS=iN(ia,"Promise"),oN=iN(ia,"Set"),oI=iN(ia,"WeakMap"),oM="[object Map]",oL="[object Promise]",oR="[object Set]",oP="[object WeakMap]",oD="[object DataView]",oj=ix(oA),oB=ix(iI),oF=ix(oS),oq=ix(oN),oH=ix(oI),o$=iv;(oA&&o$(new oA(new ArrayBuffer(1)))!=oD||iI&&o$(new iI)!=oM||oS&&o$(oS.resolve())!=oL||oN&&o$(new oN)!=oR||oI&&o$(new oI)!=oP)&&(o$=function(e){var t=iv(e),n="[object Object]"==t?e.constructor:void 0,i=n?ix(n):"";if(i)switch(i){case oj:return oD;case oB:return oM;case oF:return oL;case oq:return oR;case oH:return oP}return t});let oU=o$;var oz=Object.prototype.hasOwnProperty;let oX=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&oz.call(e,"index")&&(n.index=e.index,n.input=e.input),n},oW=function(e,t){var n=t?iY(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)};var oV=/\w*$/;let oK=function(e){var t=new e.constructor(e.source,oV.exec(e));return t.lastIndex=e.lastIndex,t};var oG=il?il.prototype:void 0,oY=oG?oG.valueOf:void 0;let oZ=function(e,t,n){var i,r=e.constructor;switch(t){case"[object ArrayBuffer]":return iY(e);case"[object Boolean]":case"[object Date]":return new r(+e);case"[object DataView]":return oW(e,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return iZ(e,n);case"[object Map]":case"[object Set]":return new r;case"[object Number]":case"[object String]":return new r(e);case"[object RegExp]":return oK(e);case"[object Symbol]":;return i=e,oY?Object(oY.call(i)):{}}};var oQ=rw&&rw.isMap,oJ=oQ?rg(oQ):function(e){return i6(e)&&"[object Map]"==oU(e)},o0=rw&&rw.isSet,o1=o0?rg(o0):function(e){return i6(e)&&"[object Set]"==oU(e)},o2="[object Arguments]",o5="[object Function]",o3="[object Object]",o4={};o4[o2]=o4["[object Array]"]=o4["[object ArrayBuffer]"]=o4["[object DataView]"]=o4["[object Boolean]"]=o4["[object Date]"]=o4["[object Float32Array]"]=o4["[object Float64Array]"]=o4["[object Int8Array]"]=o4["[object Int16Array]"]=o4["[object Int32Array]"]=o4["[object Map]"]=o4["[object Number]"]=o4[o3]=o4["[object RegExp]"]=o4["[object Set]"]=o4["[object String]"]=o4["[object Symbol]"]=o4["[object Uint8Array]"]=o4["[object Uint8ClampedArray]"]=o4["[object Uint16Array]"]=o4["[object Uint32Array]"]=!0,o4["[object Error]"]=o4[o5]=o4["[object WeakMap]"]=!1;let o6=function e(t,n,i,r,o,s){var a,l=1&n,c=2&n,u=4&n;if(i&&(a=o?i(t,r,o,s):i(t)),void 0!==a)return a;if(!iy(t))return t;var h=rn(t);if(h){if(a=oX(t),!l)return iQ(t,a)}else{var d,p,f,m,g,v,y,b,w=oU(t),_=w==o5||"[object GeneratorFunction]"==w;if(rc(t))return iK(t,l);if(w==o3||w==o2||_&&!o){if(a=c||_?{}:i4(t),!l){;return c?(f=t,m=(d=a,p=t,d&&rO(p,rP(p),d)),rO(f,ok(f),m)):(y=t,b=(g=a,v=t,g&&rO(v,ov(v),g)),rO(y,oE(y),b))}}else{if(!o4[w])return o?t:{};a=oZ(t,w,l)}}s||(s=new iF);var E=s.get(t);if(E)return E;s.set(t,a),o1(t)?t.forEach(function(r){a.add(e(r,n,i,r,t,s))}):oJ(t)&&t.forEach(function(r,o){a.set(o,e(r,n,i,o,t,s))});var x=u?c?oC:oO:c?rP:ov,k=h?void 0:x(t);return op(k||t,function(r,o){k&&(r=t[o=r]),rT(a,o,e(r,n,i,o,t,s))}),a},o8=function(e){return o6(e,5)};function o9(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new iB;++t<n;)this.add(e[t])}o9.prototype.add=o9.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},o9.prototype.has=function(e){return this.__data__.has(e)};let o7=function(e,t){for(var n=-1,i=null==e?0:e.length;++n<i;)if(t(e[n],n,e))return!0;return!1},se=function(e,t,n,i,r,o){var s=1&n,a=e.length,l=t.length;if(a!=l&&!(s&&l>a))return!1;var c=o.get(e),u=o.get(t);if(c&&u)return c==t&&u==e;var h=-1,d=!0,p=2&n?new o9:void 0;for(o.set(e,t),o.set(t,e);++h<a;){var f=e[h],m=t[h];if(i)var g=s?i(m,f,h,t,e,o):i(f,m,h,e,t,o);if(void 0!==g){if(g)continue;d=!1;break}if(p){if(!o7(t,function(e,t){var s,a;if(s=p,a=t,!s.has(a)&&(f===e||r(f,e,n,i,o)))return p.push(t)})){d=!1;break}}else if(!(f===m||r(f,m,n,i,o))){d=!1;break}}return o.delete(e),o.delete(t),d},st=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e,i){n[++t]=[i,e]}),n},sn=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n};var si=il?il.prototype:void 0,sr=si?si.valueOf:void 0;let so=function(e,t,n,i,r,o,s){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":if(e.byteLength!=t.byteLength||!o(new iG(e),new iG(t)))break;return!0;case"[object Boolean]":case"[object Date]":case"[object Number]":return ie(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var a=st;case"[object Set]":var l=1&i;if(a||(a=sn),e.size!=t.size&&!l)break;var c=s.get(e);if(c)return c==t;i|=2,s.set(e,t);var u=se(a(e),a(t),i,r,o,s);return s.delete(e),u;case"[object Symbol]":if(sr)return sr.call(e)==sr.call(t)}return!1};var ss=Object.prototype.hasOwnProperty;let sa=function(e,t,n,i,r,o){var s=1&n,a=oO(e),l=a.length;if(l!=oO(t).length&&!s)return!1;for(var c=l;c--;){var u=a[c];if(!(s?u in t:ss.call(t,u)))return!1}var h=o.get(e),d=o.get(t);if(h&&d)return h==t&&d==e;var p=!0;o.set(e,t),o.set(t,e);for(var f=s;++c<l;){var m=e[u=a[c]],g=t[u];if(i)var v=s?i(g,m,u,t,e,o):i(m,g,u,e,t,o);if(!(void 0===v?m===g||r(m,g,n,i,o):v)){p=!1;break}f||(f="constructor"==u)}if(p&&!f){var y=e.constructor,b=t.constructor;y!=b&&"constructor"in e&&"constructor"in t&&!("function"==typeof y&&y instanceof y&&"function"==typeof b&&b instanceof b)&&(p=!1)}return o.delete(e),o.delete(t),p};var sl="[object Arguments]",sc="[object Array]",su="[object Object]",sh=Object.prototype.hasOwnProperty;let sd=function(e,t,n,i,r,o){var s=rn(e),a=rn(t),l=s?sc:oU(e),c=a?sc:oU(t);l=l==sl?su:l,c=c==sl?su:c;var u=l==su,h=c==su,d=l==c;if(d&&rc(e)){if(!rc(t))return!1;s=!0,u=!1}if(d&&!u)return o||(o=new iF),s||rE(e)?se(e,t,n,i,r,o):so(e,t,l,n,i,r,o);if(!(1&n)){var p=u&&sh.call(e,"__wrapped__"),f=h&&sh.call(t,"__wrapped__");if(p||f){var m=p?e.value():e,g=f?t.value():t;return o||(o=new iF),r(m,g,n,i,o)}}return!!d&&(o||(o=new iF),sa(e,t,n,i,r,o))},sp=function(e,t){return function e(t,n,i,r,o){return t===n||(null!=t&&null!=n&&(i6(t)||i6(n))?sd(t,n,i,r,e,o):t!=t&&n!=n)}(e,t)};class sf extends os{static value(){}optimize(){(this.prev||this.next)&&this.remove()}length(){return 0}value(){return""}}sf.blotName="break",sf.tagName="BR";class sm extends oh{}function sg(e){return e.replace(/[&<>"']/g,e=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[e])}class sv extends ot{static allowedChildren=[sv,sf,os,sm];static order=["cursor","inline","link","underline","strike","italic","bold","script","code"];static compare(e,t){let n=sv.order.indexOf(e),i=sv.order.indexOf(t);return n>=0||i>=0?n-i:e===t?0:e<t?-1:1}formatAt(e,t,n,i){if(0>sv.compare(this.statics.blotName,n)&&this.scroll.query(n,rW.BLOT)){let r=this.isolate(e,t);i&&r.wrap(n,i)}else super.formatAt(e,t,n,i)}optimize(e){if(super.optimize(e),this.parent instanceof sv&&sv.compare(this.statics.blotName,this.parent.statics.blotName)>0){let e=this.parent.isolate(this.offset(),this.length());this.moveChildren(e),e.wrap(this)}}}let sy=sv;class sb extends oi{cache={};delta(){return null==this.cache.delta&&(this.cache.delta=s_(this)),this.cache.delta}deleteAt(e,t){super.deleteAt(e,t),this.cache={}}formatAt(e,t,n,i){!(t<=0)&&(this.scroll.query(n,rW.BLOCK)?e+t===this.length()&&this.format(n,i):super.formatAt(e,Math.min(t,this.length()-e-1),n,i),this.cache={})}insertAt(e,t,n){if(null!=n){super.insertAt(e,t,n),this.cache={};return}if(0===t.length)return;let i=t.split("\n"),r=i.shift();r.length>0&&(e<this.length()-1||null==this.children.tail?super.insertAt(Math.min(e,this.length()-1),r):this.children.tail.insertAt(this.children.tail.length(),r),this.cache={});let o=this;i.reduce((e,t)=>((o=o.split(e,!0)).insertAt(0,t),t.length),e+r.length)}insertBefore(e,t){let{head:n}=this.children;super.insertBefore(e,t),n instanceof sf&&n.remove(),this.cache={}}length(){return null==this.cache.length&&(this.cache.length=super.length()+1),this.cache.length}moveChildren(e,t){super.moveChildren(e,t),this.cache={}}optimize(e){super.optimize(e),this.cache={}}path(e){return super.path(e,!0)}removeChild(e){super.removeChild(e),this.cache={}}split(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t&&(0===e||e>=this.length()-1)){let t=this.clone();return 0===e?(this.parent.insertBefore(t,this),this):(this.parent.insertBefore(t,this.next),t)}let n=super.split(e,t);return this.cache={},n}}sb.blotName="block",sb.tagName="P",sb.defaultChild=sf,sb.allowedChildren=[sf,sy,os,sm];class sw extends os{attach(){super.attach(),this.attributes=new r1(this.domNode)}delta(){return new od().insert(this.value(),{...this.formats(),...this.attributes.values()})}format(e,t){let n=this.scroll.query(e,rW.BLOCK_ATTRIBUTE);null!=n&&this.attributes.attribute(n,t)}formatAt(e,t,n,i){this.format(n,i)}insertAt(e,t,n){if(null!=n){super.insertAt(e,t,n);return}let i=t.split("\n"),r=i.pop(),o=i.map(e=>{let t=this.scroll.create(sb.blotName);return t.insertAt(0,e),t}),s=this.split(e);o.forEach(e=>{this.parent.insertBefore(e,s)}),r&&this.parent.insertBefore(this.scroll.create("text",r),s)}}function s_(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return e.descendants(r4).reduce((e,n)=>0===n.length()?e:e.insert(n.value(),sE(n,{},t)),new od).insert("\n",sE(e))}function sE(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=!(arguments.length>2)||void 0===arguments[2]||arguments[2];return null==e?t:("formats"in e&&"function"==typeof e.formats&&(t={...t,...e.formats()},n&&delete t["code-token"]),null==e.parent||"scroll"===e.parent.statics.blotName||e.parent.statics.scope!==e.statics.scope)?t:sE(e.parent,t,n)}sw.scope=rW.BLOCK_BLOT;class sx extends os{static blotName="cursor";static className="ql-cursor";static tagName="span";static CONTENTS="\uFEFF";static value(){}constructor(e,t,n){super(e,t),this.selection=n,this.textNode=document.createTextNode(sx.CONTENTS),this.domNode.appendChild(this.textNode),this.savedLength=0}detach(){null!=this.parent&&this.parent.removeChild(this)}format(e,t){if(0!==this.savedLength){super.format(e,t);return}let n=this,i=0;for(;null!=n&&n.statics.scope!==rW.BLOCK_BLOT;)i+=n.offset(n.parent),n=n.parent;null!=n&&(this.savedLength=sx.CONTENTS.length,n.optimize(),n.formatAt(i,sx.CONTENTS.length,e,t),this.savedLength=0)}index(e,t){return e===this.textNode?0:super.index(e,t)}length(){return this.savedLength}position(){return[this.textNode,this.textNode.data.length]}remove(){super.remove(),this.parent=null}restore(){let e;if(this.selection.composing||null==this.parent)return null;let t=this.selection.getNativeRange();for(;null!=this.domNode.lastChild&&this.domNode.lastChild!==this.textNode;)this.domNode.parentNode.insertBefore(this.domNode.lastChild,this.domNode);let n=this.prev instanceof sm?this.prev:null,i=n?n.length():0,r=this.next instanceof sm?this.next:null,o=r?r.text:"",{textNode:s}=this,a=s.data.split(sx.CONTENTS).join("");if(s.data=sx.CONTENTS,n)e=n,(a||r)&&(n.insertAt(n.length(),a+o),r&&r.remove());else if(r)e=r,r.insertAt(0,a);else{let t=document.createTextNode(a);e=this.scroll.create(t),this.parent.insertBefore(e,this)}if(this.remove(),t){let o=(e,t)=>n&&e===n.domNode?t:e===s?i+t-1:r&&e===r.domNode?i+a.length+t:null,l=o(t.start.node,t.start.offset),c=o(t.end.node,t.end.offset);if(null!==l&&null!==c)return{startNode:e.domNode,startOffset:l,endNode:e.domNode,endOffset:c}}return null}update(e,t){if(e.some(e=>"characterData"===e.type&&e.target===this.textNode)){let e=this.restore();e&&(t.range=e)}}optimize(e){super.optimize(e);let{parent:t}=this;for(;t;){if("A"===t.domNode.tagName){this.savedLength=sx.CONTENTS.length,t.isolate(this.offset(t),this.length()).unwrap(),this.savedLength=0;break}t=t.parent}}value(){return""}}var sk=n("2337"),sT=n.n(sk);let sO=new WeakMap,sC=["error","warn","log","info"],sA="warn";function sS(e){if(sA&&sC.indexOf(e)<=sC.indexOf(sA)){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];console[e](...n)}}function sN(e){return sC.reduce((t,n)=>(t[n]=sS.bind(console,n,e),t),{})}sN.level=e=>{sA=e},sS.level=sN.level;let sI=sN("quill:events");["selectionchange","mousedown","mouseup","click"].forEach(e=>{document.addEventListener(e,function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];Array.from(document.querySelectorAll(".ql-container")).forEach(e=>{let n=sO.get(e);n&&n.emitter&&n.emitter.handleDOM(...t)})})});class sM extends sT(){static events={EDITOR_CHANGE:"editor-change",SCROLL_BEFORE_UPDATE:"scroll-before-update",SCROLL_BLOT_MOUNT:"scroll-blot-mount",SCROLL_BLOT_UNMOUNT:"scroll-blot-unmount",SCROLL_OPTIMIZE:"scroll-optimize",SCROLL_UPDATE:"scroll-update",SCROLL_EMBED_UPDATE:"scroll-embed-update",SELECTION_CHANGE:"selection-change",TEXT_CHANGE:"text-change",COMPOSITION_BEFORE_START:"composition-before-start",COMPOSITION_START:"composition-start",COMPOSITION_BEFORE_END:"composition-before-end",COMPOSITION_END:"composition-end"};static sources={API:"api",SILENT:"silent",USER:"user"};constructor(){super(),this.domListeners={},this.on("error",sI.error)}emit(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return sI.log.call(sI,...t),super.emit(...t)}handleDOM(e){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];(this.domListeners[e.type]||[]).forEach(t=>{let{node:i,handler:r}=t;(e.target===i||i.contains(e.target))&&r(e,...n)})}listenDOM(e,t,n){!this.domListeners[e]&&(this.domListeners[e]=[]),this.domListeners[e].push({node:t,handler:n})}}let sL=sN("quill:selection");class sR{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.index=e,this.length=t}}function sP(e,t){try{t.parentNode}catch(e){return!1}return e.contains(t)}let sD=class e{constructor(e,t){this.emitter=t,this.scroll=e,this.composing=!1,this.mouseDown=!1,this.root=this.scroll.domNode,this.cursor=this.scroll.create("cursor",this),this.savedRange=new sR(0,0),this.lastRange=this.savedRange,this.lastNative=null,this.handleComposition(),this.handleDragging(),this.emitter.listenDOM("selectionchange",document,()=>{!this.mouseDown&&!this.composing&&setTimeout(this.update.bind(this,sM.sources.USER),1)}),this.emitter.on(sM.events.SCROLL_BEFORE_UPDATE,()=>{if(!this.hasFocus())return;let e=this.getNativeRange();if(null!=e)e.start.node!==this.cursor.textNode&&this.emitter.once(sM.events.SCROLL_UPDATE,(t,n)=>{try{this.root.contains(e.start.node)&&this.root.contains(e.end.node)&&this.setNativeRange(e.start.node,e.start.offset,e.end.node,e.end.offset);let i=n.some(e=>"characterData"===e.type||"childList"===e.type||"attributes"===e.type&&e.target===this.root);this.update(i?sM.sources.SILENT:t)}catch(e){}})}),this.emitter.on(sM.events.SCROLL_OPTIMIZE,(e,t)=>{if(t.range){let{startNode:e,startOffset:n,endNode:i,endOffset:r}=t.range;this.setNativeRange(e,n,i,r),this.update(sM.sources.SILENT)}}),this.update(sM.sources.SILENT)}handleComposition(){this.emitter.on(sM.events.COMPOSITION_BEFORE_START,()=>{this.composing=!0}),this.emitter.on(sM.events.COMPOSITION_END,()=>{if(this.composing=!1,this.cursor.parent){let e=this.cursor.restore();if(!!e)setTimeout(()=>{this.setNativeRange(e.startNode,e.startOffset,e.endNode,e.endOffset)},1)}})}handleDragging(){this.emitter.listenDOM("mousedown",document.body,()=>{this.mouseDown=!0}),this.emitter.listenDOM("mouseup",document.body,()=>{this.mouseDown=!1,this.update(sM.sources.USER)})}focus(){!this.hasFocus()&&(this.root.focus({preventScroll:!0}),this.setRange(this.savedRange))}format(e,t){this.scroll.update();let n=this.getNativeRange();if(!(null==n||!n.native.collapsed||this.scroll.query(e,rW.BLOCK))){if(n.start.node!==this.cursor.textNode){let e=this.scroll.find(n.start.node,!1);if(null==e)return;if(e instanceof r4){let t=e.split(n.start.offset);e.parent.insertBefore(this.cursor,t)}else e.insertBefore(this.cursor,n.start.node);this.cursor.attach()}this.cursor.format(e,t),this.scroll.optimize(),this.setNativeRange(this.cursor.textNode,this.cursor.textNode.data.length),this.update()}}getBounds(e){let t,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=this.scroll.length();i=Math.min((e=Math.min(e,r-1))+i,r-1)-e;let[o,s]=this.scroll.leaf(e);if(null==o)return null;if(i>0&&s===o.length()){let[t]=this.scroll.leaf(e+1);if(t){let[n]=this.scroll.line(e),[i]=this.scroll.line(e+1);n===i&&(o=t,s=0)}}[t,s]=o.position(s,!0);let a=document.createRange();if(i>0)return(a.setStart(t,s),[o,s]=this.scroll.leaf(e+i),null==o)?null:([t,s]=o.position(s,!0),a.setEnd(t,s),a.getBoundingClientRect());let l="left";if(t instanceof Text){if(!t.data.length)return null;s<t.data.length?(a.setStart(t,s),a.setEnd(t,s+1)):(a.setStart(t,s-1),a.setEnd(t,s),l="right"),n=a.getBoundingClientRect()}else{if(!(o.domNode instanceof Element))return null;n=o.domNode.getBoundingClientRect(),s>0&&(l="right")}return{bottom:n.top+n.height,height:n.height,left:n[l],right:n[l],top:n.top,width:0}}getNativeRange(){let e=document.getSelection();if(null==e||e.rangeCount<=0)return null;let t=e.getRangeAt(0);if(null==t)return null;let n=this.normalizeNative(t);return sL.info("getNativeRange",n),n}getRange(){let e=this.scroll.domNode;if("isConnected"in e&&!e.isConnected)return[null,null];let t=this.getNativeRange();return null==t?[null,null]:[this.normalizedToRange(t),t]}hasFocus(){return document.activeElement===this.root||null!=document.activeElement&&sP(this.root,document.activeElement)}normalizedToRange(e){let t=[[e.start.node,e.start.offset]];!e.native.collapsed&&t.push([e.end.node,e.end.offset]);let n=t.map(e=>{let[t,n]=e,i=this.scroll.find(t,!0),r=i.offset(this.scroll);return 0===n?r:i instanceof r4?r+i.index(t,n):r+i.length()}),i=Math.min(Math.max(...n),this.scroll.length()-1),r=Math.min(i,...n);return new sR(r,i-r)}normalizeNative(e){if(!sP(this.root,e.startContainer)||!e.collapsed&&!sP(this.root,e.endContainer))return null;let t={start:{node:e.startContainer,offset:e.startOffset},end:{node:e.endContainer,offset:e.endOffset},native:e};return[t.start,t.end].forEach(e=>{let{node:t,offset:n}=e;for(;!(t instanceof Text)&&t.childNodes.length>0;)if(t.childNodes.length>n)t=t.childNodes[n],n=0;else if(t.childNodes.length===n)(t=t.lastChild)instanceof Text?n=t.data.length:n=t.childNodes.length>0?t.childNodes.length:t.childNodes.length+1;else break;e.node=t,e.offset=n}),t}rangeToNative(e){let t=this.scroll.length(),n=(e,n)=>{e=Math.min(t-1,e);let[i,r]=this.scroll.leaf(e);return i?i.position(r,n):[null,-1]};return[...n(e.index,!1),...n(e.index+e.length,!0)]}setNativeRange(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t,r=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(sL.info("setNativeRange",e,t,n,i),null!=e&&(null==this.root.parentNode||null==e.parentNode||null==n.parentNode))return;let o=document.getSelection();if(null!=o){if(null!=e){!this.hasFocus()&&this.root.focus({preventScroll:!0});let{native:s}=this.getNativeRange()||{};if(null==s||r||e!==s.startContainer||t!==s.startOffset||n!==s.endContainer||i!==s.endOffset){e instanceof Element&&"BR"===e.tagName&&(t=Array.from(e.parentNode.childNodes).indexOf(e),e=e.parentNode),n instanceof Element&&"BR"===n.tagName&&(i=Array.from(n.parentNode.childNodes).indexOf(n),n=n.parentNode);let r=document.createRange();r.setStart(e,t),r.setEnd(n,i),o.removeAllRanges(),o.addRange(r)}}else o.removeAllRanges(),this.root.blur()}}setRange(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:sM.sources.API;if("string"==typeof t&&(n=t,t=!1),sL.info("setRange",e),null!=e){let n=this.rangeToNative(e);this.setNativeRange(...n,t)}else this.setNativeRange(null);this.update(n)}update(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:sM.sources.USER,t=this.lastRange,[n,i]=this.getRange();if(this.lastRange=n,this.lastNative=i,null!=this.lastRange&&(this.savedRange=this.lastRange),!sp(t,this.lastRange)){if(!this.composing&&null!=i&&i.native.collapsed&&i.start.node!==this.cursor.textNode){let e=this.cursor.restore();e&&this.setNativeRange(e.startNode,e.startOffset,e.endNode,e.endOffset)}let n=[sM.events.SELECTION_CHANGE,o8(this.lastRange),o8(t),e];this.emitter.emit(sM.events.EDITOR_CHANGE,...n),e!==sM.sources.SILENT&&this.emitter.emit(...n)}}},sj=/^[ -~]*$/;function sB(e,t,n){let i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if("html"in e&&"function"==typeof e.html)return e.html(t,n);if(e instanceof sm)return sg(e.value().slice(t,t+n));if(e instanceof r7){if("list-container"===e.statics.blotName){let i=[];return e.children.forEachAt(t,n,(e,t,n)=>{let r="formats"in e&&"function"==typeof e.formats?e.formats():{};i.push({child:e,offset:t,length:n,indent:r.indent||0,type:r.list})}),function e(t,n,i){if(0===t.length){let[t]=sF(i.pop());return n<=0?`</li></${t}>`:`</li></${t}>${e([],n-1,i)}`}let[{child:r,offset:o,length:s,indent:a,type:l},...c]=t,[u,h]=sF(l);if(a>n)return(i.push(l),a===n+1)?`<${u}><li${h}>${sB(r,o,s)}${e(c,a,i)}`:`<${u}><li>${e(t,n+1,i)}`;let d=i[i.length-1];if(a===n&&l===d)return`</li><li${h}>${sB(r,o,s)}${e(c,a,i)}`;let[p]=sF(i.pop());return`</li></${p}>${e(t,n-1,i)}`}(i,-1,[])}let r=[];if(e.children.forEachAt(t,n,(e,t,n)=>{r.push(sB(e,t,n))}),i||"list"===e.statics.blotName)return r.join("");let{outerHTML:o,innerHTML:s}=e.domNode,[a,l]=o.split(`>${s}<`);return"<table"===a?`<table style="border: 1px solid #000;">${r.join("")}<${l}`:`${a}>${r.join("")}<${l}`}return e.domNode instanceof Element?e.domNode.outerHTML:""}function sF(e){let t="ordered"===e?"ol":"ul";switch(e){case"checked":return[t,' data-list="checked"'];case"unchecked":return[t,' data-list="unchecked"'];default:return[t,""]}}function sq(e){return e.reduce((e,t)=>{if("string"==typeof t.insert){let n=t.insert.replace(/\r\n/g,"\n").replace(/\r/g,"\n");return e.insert(n,t.attributes)}return e.push(t)},new od)}function sH(e,t){let{index:n,length:i}=e;return new sR(n+t,i)}let s$=class e{constructor(e){this.scroll=e,this.delta=this.getDelta()}applyDelta(e){this.scroll.update();let t=this.scroll.length();this.scroll.batchStart();let n=sq(e),i=new od;return(function(e){let t=[];return e.forEach(e=>{"string"==typeof e.insert?e.insert.split("\n").forEach((n,i)=>{i&&t.push({insert:"\n",attributes:e.attributes}),n&&t.push({insert:n,attributes:e.attributes})}):t.push(e)}),t})(n.ops.slice()).reduce((e,n)=>{let r=od.Op.length(n),o=n.attributes||{},s=!1,a=!1;if(null!=n.insert){if(i.retain(r),"string"==typeof n.insert){let i=n.insert;a=!i.endsWith("\n")&&(t<=e||!!this.scroll.descendant(sw,e)[0]),this.scroll.insertAt(e,i);let[r,s]=this.scroll.line(e),l=rX({},sE(r));if(r instanceof sb){let[e]=r.descendant(r4,s);e&&(l=rX(l,sE(e)))}o=od.AttributeMap.diff(l,o)||{}}else if("object"==typeof n.insert){let i=Object.keys(n.insert)[0];if(null==i)return e;let r=null!=this.scroll.query(i,rW.INLINE);if(r)(t<=e||this.scroll.descendant(sw,e)[0])&&(a=!0);else if(e>0){let[t,n]=this.scroll.descendant(r4,e-1);t instanceof sm?"\n"!==t.value()[n]&&(s=!0):t instanceof os&&t.statics.scope===rW.INLINE_BLOT&&(s=!0)}if(this.scroll.insertAt(e,i,n.insert[i]),r){let[t]=this.scroll.descendant(r4,e);if(t){let e=rX({},sE(t));o=od.AttributeMap.diff(e,o)||{}}}}t+=r}else if(i.push(n),null!==n.retain&&"object"==typeof n.retain){let t=Object.keys(n.retain)[0];if(null==t)return e;this.scroll.updateEmbedAt(e,t,n.retain[t])}Object.keys(o).forEach(t=>{this.scroll.formatAt(e,r,t,o[t])});let l=s?1:0,c=a?1:0;return t+=l+c,i.retain(l),i.delete(c),e+r+l+c},0),i.reduce((e,t)=>"number"==typeof t.delete?(this.scroll.deleteAt(e,t.delete),e):e+od.Op.length(t),0),this.scroll.batchEnd(),this.scroll.optimize(),this.update(n)}deleteText(e,t){return this.scroll.deleteAt(e,t),this.update(new od().retain(e).delete(t))}formatLine(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.scroll.update(),Object.keys(n).forEach(i=>{this.scroll.lines(e,Math.max(t,1)).forEach(e=>{e.format(i,n[i])})}),this.scroll.optimize();let i=new od().retain(e).retain(t,o8(n));return this.update(i)}formatText(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.keys(n).forEach(i=>{this.scroll.formatAt(e,t,i,n[i])});let i=new od().retain(e).retain(t,o8(n));return this.update(i)}getContents(e,t){return this.delta.slice(e,e+t)}getDelta(){return this.scroll.lines().reduce((e,t)=>e.concat(t.delta()),new od)}getFormat(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=[],i=[];0===t?this.scroll.path(e).forEach(e=>{let[t]=e;t instanceof sb?n.push(t):t instanceof r4&&i.push(t)}):(n=this.scroll.lines(e,t),i=this.scroll.descendants(r4,e,t));let[r,o]=[n,i].map(e=>{let t=e.shift();if(null==t)return{};let n=sE(t);for(;Object.keys(n).length>0;){let t=e.shift();if(null==t)break;n=function(e,t){return Object.keys(t).reduce((n,i)=>{if(null==e[i])return n;let r=t[i];return r===e[i]?n[i]=r:Array.isArray(r)?0>r.indexOf(e[i])?n[i]=r.concat([e[i]]):n[i]=r:n[i]=[r,e[i]],n},{})}(sE(t),n)}return n});return{...r,...o}}getHTML(e,t){let[n,i]=this.scroll.line(e);if(n){let r=n.length();return n.length()>=i+t&&!(0===i&&t===r)?sB(n,i,t,!0):sB(this.scroll,e,t,!0)}return""}getText(e,t){return this.getContents(e,t).filter(e=>"string"==typeof e.insert).map(e=>e.insert).join("")}insertContents(e,t){let n=sq(t),i=new od().retain(e).concat(n);return this.scroll.insertContents(e,n),this.update(i)}insertEmbed(e,t,n){return this.scroll.insertAt(e,t,n),this.update(new od().retain(e).insert({[t]:n}))}insertText(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t=t.replace(/\r\n/g,"\n").replace(/\r/g,"\n"),this.scroll.insertAt(e,t),Object.keys(n).forEach(i=>{this.scroll.formatAt(e,t.length,i,n[i])}),this.update(new od().retain(e).insert(t,o8(n)))}isBlank(){if(0===this.scroll.children.length)return!0;if(this.scroll.children.length>1)return!1;let e=this.scroll.children.head;return e?.statics.blotName===sb.blotName&&!(e.children.length>1)&&e.children.head instanceof sf}removeFormat(e,t){let n=this.getText(e,t),[i,r]=this.scroll.line(e+t),o=0,s=new od;null!=i&&(o=i.length()-r,s=i.delta().slice(r,r+o-1).insert("\n"));let a=this.getContents(e,t+o).diff(new od().insert(n).concat(s)),l=new od().retain(e).concat(a);return this.applyDelta(l)}update(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,i=this.delta;if(1===t.length&&"characterData"===t[0].type&&t[0].target.data.match(sj)&&this.scroll.find(t[0].target)){let r=this.scroll.find(t[0].target),o=sE(r),s=r.offset(this.scroll),a=t[0].oldValue.replace(sx.CONTENTS,""),l=new od().insert(a),c=new od().insert(r.value()),u=n&&{oldRange:sH(n.oldRange,-s),newRange:sH(n.newRange,-s)};e=new od().retain(s).concat(l.diff(c,u)).reduce((e,t)=>t.insert?e.insert(t.insert,o):e.push(t),new od),this.delta=i.compose(e)}else this.delta=this.getDelta(),(!e||!sp(i.compose(e),this.delta))&&(e=i.diff(this.delta,n));return e}},sU=class e{static DEFAULTS={};constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.quill=e,this.options=t}},sz=class e extends os{constructor(e,t){super(e,t),this.contentNode=document.createElement("span"),this.contentNode.setAttribute("contenteditable","false"),Array.from(this.domNode.childNodes).forEach(e=>{this.contentNode.appendChild(e)}),this.leftGuard=document.createTextNode("\uFEFF"),this.rightGuard=document.createTextNode("\uFEFF"),this.domNode.appendChild(this.leftGuard),this.domNode.appendChild(this.contentNode),this.domNode.appendChild(this.rightGuard)}index(e,t){return e===this.leftGuard?0:e===this.rightGuard?1:super.index(e,t)}restore(e){let t,n=null,i=e.data.split("\uFEFF").join("");if(e===this.leftGuard){if(this.prev instanceof sm){let e=this.prev.length();this.prev.insertAt(e,i),n={startNode:this.prev.domNode,startOffset:e+i.length}}else t=document.createTextNode(i),this.parent.insertBefore(this.scroll.create(t),this),n={startNode:t,startOffset:i.length}}else e===this.rightGuard&&(this.next instanceof sm?(this.next.insertAt(0,i),n={startNode:this.next.domNode,startOffset:i.length}):(t=document.createTextNode(i),this.parent.insertBefore(this.scroll.create(t),this.next),n={startNode:t,startOffset:i.length}));return e.data="\uFEFF",n}update(e,t){e.forEach(e=>{if("characterData"===e.type&&(e.target===this.leftGuard||e.target===this.rightGuard)){let n=this.restore(e.target);n&&(t.range=n)}})}},sX=class e{isComposing=!1;constructor(e,t){this.scroll=e,this.emitter=t,this.setupListeners()}setupListeners(){this.scroll.domNode.addEventListener("compositionstart",e=>{!this.isComposing&&this.handleCompositionStart(e)}),this.scroll.domNode.addEventListener("compositionend",e=>{this.isComposing&&queueMicrotask(()=>{this.handleCompositionEnd(e)})})}handleCompositionStart(e){let t=e.target instanceof Node?this.scroll.find(e.target,!0):null;t&&!(t instanceof sz)&&(this.emitter.emit(sM.events.COMPOSITION_BEFORE_START,e),this.scroll.batchStart(),this.emitter.emit(sM.events.COMPOSITION_START,e),this.isComposing=!0)}handleCompositionEnd(e){this.emitter.emit(sM.events.COMPOSITION_BEFORE_END,e),this.scroll.batchEnd(),this.emitter.emit(sM.events.COMPOSITION_END,e),this.isComposing=!1}};class sW{static DEFAULTS={modules:{}};static themes={default:sW};modules={};constructor(e,t){this.quill=e,this.options=t}init(){Object.keys(this.options.modules).forEach(e=>{null==this.modules[e]&&this.addModule(e)})}addModule(e){let t=this.quill.constructor.import(`modules/${e}`);return this.modules[e]=new t(this.quill,this.options.modules[e]||{}),this.modules[e]}}let sV=sW,sK=e=>e.parentElement||e.getRootNode().host||null,sG=e=>{let t=e.getBoundingClientRect(),n="offsetWidth"in e&&Math.abs(t.width)/e.offsetWidth||1,i="offsetHeight"in e&&Math.abs(t.height)/e.offsetHeight||1;return{top:t.top,right:t.left+e.clientWidth*n,bottom:t.top+e.clientHeight*i,left:t.left}},sY=e=>{let t=parseInt(e,10);return Number.isNaN(t)?0:t},sZ=(e,t,n,i,r,o)=>e<n&&t>i?0:e<n?-(n-e+r):t>i?t-e>i-n?e+r-n:t-i+o:0,sQ=(e,t)=>{let n=e.ownerDocument,i=t,r=e;for(;r;){let e=r===n.body,t=e?{top:0,right:window.visualViewport?.width??n.documentElement.clientWidth,bottom:window.visualViewport?.height??n.documentElement.clientHeight,left:0}:sG(r),o=getComputedStyle(r),s=sZ(i.left,i.right,t.left,t.right,sY(o.scrollPaddingLeft),sY(o.scrollPaddingRight)),a=sZ(i.top,i.bottom,t.top,t.bottom,sY(o.scrollPaddingTop),sY(o.scrollPaddingBottom));if(s||a){if(e)n.defaultView?.scrollBy(s,a);else{let{scrollLeft:e,scrollTop:t}=r;a&&(r.scrollTop+=a),s&&(r.scrollLeft+=s);let n=r.scrollLeft-e,o=r.scrollTop-t;i={left:i.left-n,top:i.top-o,right:i.right-n,bottom:i.bottom-o}}}r=e||"fixed"===o.position?null:sK(r)}},sJ=["block","break","cursor","inline","scroll","text"],s0=(e,t,n)=>{let i=new rY;return sJ.forEach(e=>{let n=t.query(e);n&&i.register(n)}),e.forEach(e=>{let r=t.query(e);!r&&n.error(`Cannot register "${e}" specified in "formats" config. Are you sure it was registered?`);let o=0;for(;r;)if(i.register(r),r="blotName"in r?r.requiredContainer??null:null,(o+=1)>100){n.error(`Cycle detected in registering blot requiredContainer: "${e}"`);break}}),i},s1=sN("quill"),s2=new rY;r7.uiClass="ql-ui";class s5{static DEFAULTS={bounds:null,modules:{clipboard:!0,keyboard:!0,history:!0,uploader:!0},placeholder:"",readOnly:!1,registry:s2,theme:"default"};static events=sM.events;static sources=sM.sources;static version="2.0.2";static imports={delta:od,parchment:x,"core/module":sU,"core/theme":sV};static debug(e){!0===e&&(e="log"),sN.level(e)}static find(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return sO.get(e)||s2.find(e,t)}static import(e){return null==this.imports[e]&&s1.error(`Cannot import ${e}. Are you sure it was registered?`),this.imports[e]}static register(){if("string"!=typeof(arguments.length<=0?void 0:arguments[0])){let e=arguments.length<=0?void 0:arguments[0],t=!!(arguments.length<=1?void 0:arguments[1]),n="attrName"in e?e.attrName:e.blotName;"string"==typeof n?this.register(`formats/${n}`,e,t):Object.keys(e).forEach(n=>{this.register(n,e[n],t)})}else{let e=arguments.length<=0?void 0:arguments[0],t=arguments.length<=1?void 0:arguments[1],n=!!(arguments.length<=2?void 0:arguments[2]);null!=this.imports[e]&&!n&&s1.warn(`Overwriting ${e} with`,t),this.imports[e]=t,(e.startsWith("blots/")||e.startsWith("formats/"))&&t&&"boolean"!=typeof t&&"abstract"!==t.blotName&&s2.register(t),"function"==typeof t.register&&t.register(s2)}}constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.options=function(e,t){let n=s3(e);if(!n)throw Error("Invalid Quill container");let i=t.theme&&t.theme!==s5.DEFAULTS.theme?s5.import(`themes/${t.theme}`):sV;if(!i)throw Error(`Invalid theme ${t.theme}. Did you register it?`);let{modules:r,...o}=s5.DEFAULTS,{modules:s,...a}=i.DEFAULTS,l=s4(t.modules);null!=l&&l.toolbar&&l.toolbar.constructor!==Object&&(l={...l,toolbar:{container:l.toolbar}});let c=rX({},s4(r),s4(s),l),u={...o,...s6(a),...s6(t)},h=t.registry;return h?t.formats&&s1.warn('Ignoring "formats" option because "registry" is specified'):h=t.formats?s0(t.formats,u.registry,s1):u.registry,{...u,registry:h,container:n,theme:i,modules:Object.entries(c).reduce((e,t)=>{let[n,i]=t;if(!i)return e;let r=s5.import(`modules/${n}`);return null==r?(s1.error(`Cannot load ${n} module. Are you sure you registered it?`),e):{...e,[n]:rX({},r.DEFAULTS||{},i)}},{}),bounds:s3(u.bounds)}}(e,t),this.container=this.options.container,null==this.container){s1.error("Invalid Quill container",e);return}this.options.debug&&s5.debug(this.options.debug);let n=this.container.innerHTML.trim();this.container.classList.add("ql-container"),this.container.innerHTML="",sO.set(this.container,this),this.root=this.addContainer("ql-editor"),this.root.classList.add("ql-blank"),this.emitter=new sM;let i=oc.blotName,r=this.options.registry.query(i);if(!r||!("blotName"in r))throw Error(`Cannot initialize Quill without "${i}" blot`);if(this.scroll=new r(this.options.registry,this.root,{emitter:this.emitter}),this.editor=new s$(this.scroll),this.selection=new sD(this.scroll,this.emitter),this.composition=new sX(this.scroll,this.emitter),this.theme=new this.options.theme(this,this.options),this.keyboard=this.theme.addModule("keyboard"),this.clipboard=this.theme.addModule("clipboard"),this.history=this.theme.addModule("history"),this.uploader=this.theme.addModule("uploader"),this.theme.addModule("input"),this.theme.addModule("uiNode"),this.theme.init(),this.emitter.on(sM.events.EDITOR_CHANGE,e=>{e===sM.events.TEXT_CHANGE&&this.root.classList.toggle("ql-blank",this.editor.isBlank())}),this.emitter.on(sM.events.SCROLL_UPDATE,(e,t)=>{let n=this.selection.lastRange,[i]=this.selection.getRange(),r=n&&i?{oldRange:n,newRange:i}:void 0;s8.call(this,()=>this.editor.update(null,t,r),e)}),this.emitter.on(sM.events.SCROLL_EMBED_UPDATE,(e,t)=>{let n=this.selection.lastRange,[i]=this.selection.getRange(),r=n&&i?{oldRange:n,newRange:i}:void 0;s8.call(this,()=>{let n=new od().retain(e.offset(this)).retain({[e.statics.blotName]:t});return this.editor.update(n,[],r)},s5.sources.USER)}),n){let e=this.clipboard.convert({html:`${n}<p><br></p>`,text:"\n"});this.setContents(e)}this.history.clear(),this.options.placeholder&&this.root.setAttribute("data-placeholder",this.options.placeholder),this.options.readOnly&&this.disable(),this.allowReadOnlyEdits=!1}addContainer(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if("string"==typeof e){let t=e;(e=document.createElement("div")).classList.add(t)}return this.container.insertBefore(e,t),e}blur(){this.selection.setRange(null)}deleteText(e,t,n){return[e,t,,n]=s9(e,t,n),s8.call(this,()=>this.editor.deleteText(e,t),n,e,-1*t)}disable(){this.enable(!1)}editReadOnly(e){this.allowReadOnlyEdits=!0;let t=e();return this.allowReadOnlyEdits=!1,t}enable(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];this.scroll.enable(e),this.container.classList.toggle("ql-disabled",!e)}focus(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.selection.focus(),!e.preventScroll&&this.scrollSelectionIntoView()}format(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:sM.sources.API;return s8.call(this,()=>{let n=this.getSelection(!0),i=new od;if(null==n)return i;if(this.scroll.query(e,rW.BLOCK))i=this.editor.formatLine(n.index,n.length,{[e]:t});else{if(0===n.length)return this.selection.format(e,t),i;i=this.editor.formatText(n.index,n.length,{[e]:t})}return this.setSelection(n,sM.sources.SILENT),i},n)}formatLine(e,t,n,i,r){let o;return[e,t,o,r]=s9(e,t,n,i,r),s8.call(this,()=>this.editor.formatLine(e,t,o),r,e,0)}formatText(e,t,n,i,r){let o;return[e,t,o,r]=s9(e,t,n,i,r),s8.call(this,()=>this.editor.formatText(e,t,o),r,e,0)}getBounds(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=null;if(!(n="number"==typeof e?this.selection.getBounds(e,t):this.selection.getBounds(e.index,e.length)))return null;let i=this.container.getBoundingClientRect();return{bottom:n.bottom-i.top,height:n.height,left:n.left-i.left,right:n.right-i.left,top:n.top-i.top,width:n.width}}getContents(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getLength()-e;return[e,t]=s9(e,t),this.editor.getContents(e,t)}getFormat(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getSelection(!0),t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return"number"==typeof e?this.editor.getFormat(e,t):this.editor.getFormat(e.index,e.length)}getIndex(e){return e.offset(this.scroll)}getLength(){return this.scroll.length()}getLeaf(e){return this.scroll.leaf(e)}getLine(e){return this.scroll.line(e)}getLines(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE;return"number"!=typeof e?this.scroll.lines(e.index,e.length):this.scroll.lines(e,t)}getModule(e){return this.theme.modules[e]}getSelection(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return e&&this.focus(),this.update(),this.selection.getRange()[0]}getSemanticHTML(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;return"number"==typeof e&&(t=t??this.getLength()-e),[e,t]=s9(e,t),this.editor.getHTML(e,t)}getText(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;return"number"==typeof e&&(t=t??this.getLength()-e),[e,t]=s9(e,t),this.editor.getText(e,t)}hasFocus(){return this.selection.hasFocus()}insertEmbed(e,t,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:s5.sources.API;return s8.call(this,()=>this.editor.insertEmbed(e,t,n),i,e)}insertText(e,t,n,i,r){let o;return[e,,o,r]=s9(e,0,n,i,r),s8.call(this,()=>this.editor.insertText(e,t,o),r,e,t.length)}isEnabled(){return this.scroll.isEnabled()}off(){return this.emitter.off(...arguments)}on(){return this.emitter.on(...arguments)}once(){return this.emitter.once(...arguments)}removeFormat(e,t,n){return[e,t,,n]=s9(e,t,n),s8.call(this,()=>this.editor.removeFormat(e,t),n,e)}scrollRectIntoView(e){sQ(this.root,e)}scrollIntoView(){console.warn("Quill#scrollIntoView() has been deprecated and will be removed in the near future. Please use Quill#scrollSelectionIntoView() instead."),this.scrollSelectionIntoView()}scrollSelectionIntoView(){let e=this.selection.lastRange,t=e&&this.selection.getBounds(e.index,e.length);t&&this.scrollRectIntoView(t)}setContents(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:sM.sources.API;return s8.call(this,()=>{e=new od(e);let t=this.getLength(),n=this.editor.deleteText(0,t),i=this.editor.insertContents(0,e),r=this.editor.deleteText(this.getLength()-1,1);return n.compose(i).compose(r)},t)}setSelection(e,t,n){null==e?this.selection.setRange(null,t||s5.sources.API):([e,t,,n]=s9(e,t,n),this.selection.setRange(new sR(Math.max(0,e),t),n),n!==sM.sources.SILENT&&this.scrollSelectionIntoView())}setText(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:sM.sources.API,n=new od().insert(e);return this.setContents(n,t)}update(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:sM.sources.USER,t=this.scroll.update(e);return this.selection.update(e),t}updateContents(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:sM.sources.API;return s8.call(this,()=>(e=new od(e),this.editor.applyDelta(e)),t,!0)}}function s3(e){return"string"==typeof e?document.querySelector(e):e}function s4(e){return Object.entries(e??{}).reduce((e,t)=>{let[n,i]=t;return{...e,[n]:!0===i?{}:i}},{})}function s6(e){return Object.fromEntries(Object.entries(e).filter(e=>void 0!==e[1]))}function s8(e,t,n,i){if(!this.isEnabled()&&t===sM.sources.USER&&!this.allowReadOnlyEdits)return new od;let r=null==n?null:this.getSelection(),o=this.editor.delta,s=e();if(null!=r&&(!0===n&&(n=r.index),null==i?r=s7(r,s,t):0!==i&&(r=s7(r,n,i,t)),this.setSelection(r,sM.sources.SILENT)),s.length()>0){let e=[sM.events.TEXT_CHANGE,s,o,t];this.emitter.emit(sM.events.EDITOR_CHANGE,...e),t!==sM.sources.SILENT&&this.emitter.emit(...e)}return s}function s9(e,t,n,i,r){let o={};return"number"==typeof e.index&&"number"==typeof e.length?("number"!=typeof t&&(r=i,i=n,n=t),t=e.length,e=e.index):"number"!=typeof t&&(r=i,i=n,n=t,t=0),"object"==typeof n?(o=n,r=i):"string"==typeof n&&(null!=i?o[n]=i:r=n),[e,t,o,r=r||sM.sources.API]}function s7(e,t,n,i){let r,o;let s="number"==typeof n?n:0;return null==e?null:(t&&"function"==typeof t.transformPosition?[r,o]=[e.index,e.index+e.length].map(e=>t.transformPosition(e,i!==sM.sources.USER)):[r,o]=[e.index,e.index+e.length].map(e=>e<t||e===t&&i===sM.sources.USER?e:s>=0?e+s:Math.max(t,e+s)),new sR(r,o-r))}let ae=class e extends oo{};function at(e){return e instanceof sb||e instanceof sw}function an(e){return"function"==typeof e.updateContent}function ai(e,t,n){n.reduce((t,n)=>{let i=od.Op.length(n),r=n.attributes||{};if(null!=n.insert){if("string"==typeof n.insert){let i=n.insert;e.insertAt(t,i);let[o]=e.descendant(r4,t),s=sE(o);r=od.AttributeMap.diff(s,r)||{}}else if("object"==typeof n.insert){let i=Object.keys(n.insert)[0];if(null==i)return t;if(e.insertAt(t,i,n.insert[i]),null!=e.scroll.query(i,rW.INLINE)){let[n]=e.descendant(r4,t),i=sE(n);r=od.AttributeMap.diff(i,r)||{}}}}return Object.keys(r).forEach(n=>{e.formatAt(t,i,n,r[n])}),t+i},t)}let ar=class e extends oc{static blotName="scroll";static className="ql-editor";static tagName="DIV";static defaultChild=sb;static allowedChildren=[sb,sw,ae];constructor(e,t,n){let{emitter:i}=n;super(e,t),this.emitter=i,this.batch=!1,this.optimize(),this.enable(),this.domNode.addEventListener("dragstart",e=>this.handleDragStart(e))}batchStart(){!Array.isArray(this.batch)&&(this.batch=[])}batchEnd(){if(!this.batch)return;let e=this.batch;this.batch=!1,this.update(e)}emitMount(e){this.emitter.emit(sM.events.SCROLL_BLOT_MOUNT,e)}emitUnmount(e){this.emitter.emit(sM.events.SCROLL_BLOT_UNMOUNT,e)}emitEmbedUpdate(e,t){this.emitter.emit(sM.events.SCROLL_EMBED_UPDATE,e,t)}deleteAt(e,t){let[n,i]=this.line(e),[r]=this.line(e+t);if(super.deleteAt(e,t),null!=r&&n!==r&&i>0){if(n instanceof sw||r instanceof sw){this.optimize();return}let e=r.children.head instanceof sf?null:r.children.head;n.moveChildren(r,e),n.remove()}this.optimize()}enable(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];this.domNode.setAttribute("contenteditable",e?"true":"false")}formatAt(e,t,n,i){super.formatAt(e,t,n,i),this.optimize()}insertAt(e,t,n){if(e>=this.length()){if(null==n||null==this.scroll.query(t,rW.BLOCK)){let e=this.scroll.create(this.statics.defaultChild.blotName);this.appendChild(e),null==n&&t.endsWith("\n")?e.insertAt(0,t.slice(0,-1),n):e.insertAt(0,t,n)}else{let e=this.scroll.create(t,n);this.appendChild(e)}}else super.insertAt(e,t,n);this.optimize()}insertBefore(e,t){if(e.statics.scope===rW.INLINE_BLOT){let n=this.scroll.create(this.statics.defaultChild.blotName);n.appendChild(e),super.insertBefore(n,t)}else super.insertBefore(e,t)}insertContents(e,t){let n=this.deltaToRenderBlocks(t.concat(new od().insert("\n"))),i=n.pop();if(null==i)return;this.batchStart();let r=n.shift();if(r){let t="block"===r.type&&(0===r.delta.length()||!this.descendant(sw,e)[0]&&e<this.length()),n="block"===r.type?r.delta:new od().insert({[r.key]:r.value});ai(this,e,n);let i="block"===r.type?1:0,o=e+n.length()+i;t&&this.insertAt(o-1,"\n");let s=sE(this.line(e)[0]),a=od.AttributeMap.diff(s,r.attributes)||{};Object.keys(a).forEach(e=>{this.formatAt(o-1,1,e,a[e])}),e=o}let[o,s]=this.children.find(e);n.length&&(o&&(o=o.split(s),s=0),n.forEach(e=>{if("block"===e.type)ai(this.createBlock(e.attributes,o||void 0),0,e.delta);else{let t=this.create(e.key,e.value);this.insertBefore(t,o||void 0),Object.keys(e.attributes).forEach(n=>{t.format(n,e.attributes[n])})}})),"block"===i.type&&i.delta.length()&&ai(this,o?o.offset(o.scroll)+s:this.length(),i.delta),this.batchEnd(),this.optimize()}isEnabled(){return"true"===this.domNode.getAttribute("contenteditable")}leaf(e){let t=this.path(e).pop();if(!t)return[null,-1];let[n,i]=t;return n instanceof r4?[n,i]:[null,-1]}line(e){return e===this.length()?this.line(e-1):this.descendant(at,e)}lines(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,n=(e,t,i)=>{let r=[],o=i;return e.children.forEachAt(t,i,(e,t,i)=>{at(e)?r.push(e):e instanceof oo&&(r=r.concat(n(e,t,o))),o-=i}),r};return n(this,e,t)}optimize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!this.batch&&(super.optimize(e,t),e.length>0&&this.emitter.emit(sM.events.SCROLL_OPTIMIZE,e,t))}path(e){return super.path(e).slice(1)}remove(){}update(e){if(this.batch){Array.isArray(e)&&(this.batch=this.batch.concat(e));return}let t=sM.sources.USER;"string"==typeof e&&(t=e),!Array.isArray(e)&&(e=this.observer.takeRecords()),(e=e.filter(e=>{let{target:t}=e,n=this.find(t,!0);return n&&!an(n)})).length>0&&this.emitter.emit(sM.events.SCROLL_BEFORE_UPDATE,t,e),super.update(e.concat([])),e.length>0&&this.emitter.emit(sM.events.SCROLL_UPDATE,t,e)}updateEmbedAt(e,t,n){let[i]=this.descendant(e=>e instanceof sw,e);i&&i.statics.blotName===t&&an(i)&&i.updateContent(n)}handleDragStart(e){e.preventDefault()}deltaToRenderBlocks(e){let t=[],n=new od;return e.forEach(e=>{let i=e?.insert;if(i){if("string"==typeof i){let r=i.split("\n");r.slice(0,-1).forEach(i=>{n.insert(i,e.attributes),t.push({type:"block",delta:n,attributes:e.attributes??{}}),n=new od});let o=r[r.length-1];o&&n.insert(o,e.attributes)}else{let r=Object.keys(i)[0];if(!r)return;this.query(r,rW.INLINE)?n.push(e):(n.length()&&t.push({type:"block",delta:n,attributes:{}}),n=new od,t.push({type:"blockEmbed",key:r,value:i[r],attributes:e.attributes??{}}))}}}),n.length()&&t.push({type:"block",delta:n,attributes:{}}),t}createBlock(e,t){let n;let i={};Object.entries(e).forEach(e=>{let[t,r]=e;null!=this.query(t,rW.BLOCK&rW.BLOT)?n=t:i[t]=r});let r=this.create(n||this.statics.defaultChild.blotName,n?e[n]:void 0);this.insertBefore(r,t||void 0);let o=r.length();return Object.entries(i).forEach(e=>{let[t,n]=e;r.formatAt(0,o,t,n)}),r}},ao={scope:rW.BLOCK,whitelist:["right","center","justify"]},as=new rV("align","align",ao),aa=new rQ("align","ql-align",ao),al=new r0("align","text-align",ao);class ac extends r0{value(e){let t=super.value(e);if(!t.startsWith("rgb("))return t;let n=(t=t.replace(/^[^\d]+/,"").replace(/[^\d]+$/,"")).split(",").map(e=>`00${parseInt(e,10).toString(16)}`.slice(-2)).join("");return`#${n}`}}let au=new rQ("color","ql-color",{scope:rW.INLINE}),ah=new ac("color","color",{scope:rW.INLINE}),ad=new rQ("background","ql-bg",{scope:rW.INLINE}),ap=new ac("background","background-color",{scope:rW.INLINE});class af extends ae{static create(e){let t=super.create(e);return t.setAttribute("spellcheck","false"),t}code(e,t){return this.children.map(e=>1>=e.length()?"":e.domNode.innerText).join("\n").slice(e,e+t)}html(e,t){return`<pre> -${sg(this.code(e,t))} -</pre>`}}class am extends sb{static TAB=" ";static register(){s5.register(af)}}class ag extends sy{}ag.blotName="code",ag.tagName="CODE",am.blotName="code-block",am.className="ql-code-block",am.tagName="DIV",af.blotName="code-block-container",af.className="ql-code-block-container",af.tagName="DIV",af.allowedChildren=[am],am.allowedChildren=[sm,sf,sx],am.requiredContainer=af;let av={scope:rW.BLOCK,whitelist:["rtl"]},ay=new rV("direction","dir",av),ab=new rQ("direction","ql-direction",av),aw=new r0("direction","direction",av),a_={scope:rW.INLINE,whitelist:["serif","monospace"]},aE=new rQ("font","ql-font",a_),ax=new class e extends r0{value(e){return super.value(e).replace(/["']/g,"")}}("font","font-family",a_),ak=new rQ("size","ql-size",{scope:rW.INLINE,whitelist:["small","large","huge"]}),aT=new r0("size","font-size",{scope:rW.INLINE,whitelist:["10px","18px","32px"]}),aO=sN("quill:keyboard"),aC=/Mac/i.test(navigator.platform)?"metaKey":"ctrlKey";class aA extends sU{static match(e,t){return!["altKey","ctrlKey","metaKey","shiftKey"].some(n=>!!t[n]!==e[n]&&null!==t[n])&&(t.key===e.key||t.key===e.which)}constructor(e,t){super(e,t),this.bindings={},Object.keys(this.options.bindings).forEach(e=>{this.options.bindings[e]&&this.addBinding(this.options.bindings[e])}),this.addBinding({key:"Enter",shiftKey:null},this.handleEnter),this.addBinding({key:"Enter",metaKey:null,ctrlKey:null,altKey:null},()=>{}),/Firefox/i.test(navigator.userAgent)?(this.addBinding({key:"Backspace"},{collapsed:!0},this.handleBackspace),this.addBinding({key:"Delete"},{collapsed:!0},this.handleDelete)):(this.addBinding({key:"Backspace"},{collapsed:!0,prefix:/^.?$/},this.handleBackspace),this.addBinding({key:"Delete"},{collapsed:!0,suffix:/^.?$/},this.handleDelete)),this.addBinding({key:"Backspace"},{collapsed:!1},this.handleDeleteRange),this.addBinding({key:"Delete"},{collapsed:!1},this.handleDeleteRange),this.addBinding({key:"Backspace",altKey:null,ctrlKey:null,metaKey:null,shiftKey:null},{collapsed:!0,offset:0},this.handleBackspace),this.listen()}addBinding(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=function(e){if("string"==typeof e||"number"==typeof e)e={key:e};else{if("object"!=typeof e)return null;e=o8(e)}return e.shortKey&&(e[aC]=e.shortKey,delete e.shortKey),e}(e);if(null==i){aO.warn("Attempted to add invalid keyboard binding",i);return}"function"==typeof t&&(t={handler:t}),"function"==typeof n&&(n={handler:n}),(Array.isArray(i.key)?i.key:[i.key]).forEach(e=>{let r={...i,key:e,...t,...n};this.bindings[r.key]=this.bindings[r.key]||[],this.bindings[r.key].push(r)})}listen(){this.quill.root.addEventListener("keydown",e=>{if(e.defaultPrevented||e.isComposing||229===e.keyCode&&("Enter"===e.key||"Backspace"===e.key))return;let t=(this.bindings[e.key]||[]).concat(this.bindings[e.which]||[]).filter(t=>aA.match(e,t));if(0===t.length)return;let n=s5.find(e.target,!0);if(n&&n.scroll!==this.quill.scroll)return;let i=this.quill.getSelection();if(null==i||!this.quill.hasFocus())return;let[r,o]=this.quill.getLine(i.index),[s,a]=this.quill.getLeaf(i.index),[l,c]=0===i.length?[s,a]:this.quill.getLeaf(i.index+i.length),u=s instanceof oh?s.value().slice(0,a):"",h=l instanceof oh?l.value().slice(c):"",d={collapsed:0===i.length,empty:0===i.length&&1>=r.length(),format:this.quill.getFormat(i),line:r,offset:o,prefix:u,suffix:h,event:e};t.some(e=>{if(null!=e.collapsed&&e.collapsed!==d.collapsed||null!=e.empty&&e.empty!==d.empty||null!=e.offset&&e.offset!==d.offset)return!1;if(Array.isArray(e.format)){if(e.format.every(e=>null==d.format[e]))return!1}else if("object"==typeof e.format&&!Object.keys(e.format).every(t=>!0===e.format[t]?null!=d.format[t]:!1===e.format[t]?null==d.format[t]:sp(e.format[t],d.format[t])))return!1;return!!((null==e.prefix||e.prefix.test(d.prefix))&&(null==e.suffix||e.suffix.test(d.suffix)))&&!0!==e.handler.call(this,i,d,e)})&&e.preventDefault()})}handleBackspace(e,t){let n=/[\uD800-\uDBFF][\uDC00-\uDFFF]$/.test(t.prefix)?2:1;if(0===e.index||1>=this.quill.getLength())return;let i={},[r]=this.quill.getLine(e.index),o=new od().retain(e.index-n).delete(n);if(0===t.offset){let[t]=this.quill.getLine(e.index-1);if(t&&!("block"===t.statics.blotName&&1>=t.length())){let t=r.formats(),n=this.quill.getFormat(e.index-1,1);if(Object.keys(i=od.AttributeMap.diff(t,n)||{}).length>0){let t=new od().retain(e.index+r.length()-2).retain(1,i);o=o.compose(t)}}}this.quill.updateContents(o,s5.sources.USER),this.quill.focus()}handleDelete(e,t){let n=/^[\uD800-\uDBFF][\uDC00-\uDFFF]/.test(t.suffix)?2:1;if(e.index>=this.quill.getLength()-n)return;let i={},[r]=this.quill.getLine(e.index),o=new od().retain(e.index).delete(n);if(t.offset>=r.length()-1){let[t]=this.quill.getLine(e.index+1);if(t){let n=r.formats(),s=this.quill.getFormat(e.index,1);Object.keys(i=od.AttributeMap.diff(n,s)||{}).length>0&&(o=o.retain(t.length()-1).retain(1,i))}}this.quill.updateContents(o,s5.sources.USER),this.quill.focus()}handleDeleteRange(e){aR({range:e,quill:this.quill}),this.quill.focus()}handleEnter(e,t){let n=Object.keys(t.format).reduce((e,n)=>(this.quill.scroll.query(n,rW.BLOCK)&&!Array.isArray(t.format[n])&&(e[n]=t.format[n]),e),{}),i=new od().retain(e.index).delete(e.length).insert("\n",n);this.quill.updateContents(i,s5.sources.USER),this.quill.setSelection(e.index+1,s5.sources.SILENT),this.quill.focus()}}let aS={bindings:{bold:aM("bold"),italic:aM("italic"),underline:aM("underline"),indent:{key:"Tab",format:["blockquote","indent","list"],handler(e,t){return!!t.collapsed&&0!==t.offset||(this.quill.format("indent","+1",s5.sources.USER),!1)}},outdent:{key:"Tab",shiftKey:!0,format:["blockquote","indent","list"],handler(e,t){return!!t.collapsed&&0!==t.offset||(this.quill.format("indent","-1",s5.sources.USER),!1)}},"outdent backspace":{key:"Backspace",collapsed:!0,shiftKey:null,metaKey:null,ctrlKey:null,altKey:null,format:["indent","list"],offset:0,handler(e,t){null!=t.format.indent?this.quill.format("indent","-1",s5.sources.USER):null!=t.format.list&&this.quill.format("list",!1,s5.sources.USER)}},"indent code-block":aN(!0),"outdent code-block":aN(!1),"remove tab":{key:"Tab",shiftKey:!0,collapsed:!0,prefix:/\t$/,handler(e){this.quill.deleteText(e.index-1,1,s5.sources.USER)}},tab:{key:"Tab",handler(e,t){if(t.format.table)return!0;this.quill.history.cutoff();let n=new od().retain(e.index).delete(e.length).insert(" ");return this.quill.updateContents(n,s5.sources.USER),this.quill.history.cutoff(),this.quill.setSelection(e.index+1,s5.sources.SILENT),!1}},"blockquote empty enter":{key:"Enter",collapsed:!0,format:["blockquote"],empty:!0,handler(){this.quill.format("blockquote",!1,s5.sources.USER)}},"list empty enter":{key:"Enter",collapsed:!0,format:["list"],empty:!0,handler(e,t){let n={list:!1};t.format.indent&&(n.indent=!1),this.quill.formatLine(e.index,e.length,n,s5.sources.USER)}},"checklist enter":{key:"Enter",collapsed:!0,format:{list:"checked"},handler(e){let[t,n]=this.quill.getLine(e.index),i={...t.formats(),list:"checked"},r=new od().retain(e.index).insert("\n",i).retain(t.length()-n-1).retain(1,{list:"unchecked"});this.quill.updateContents(r,s5.sources.USER),this.quill.setSelection(e.index+1,s5.sources.SILENT),this.quill.scrollSelectionIntoView()}},"header enter":{key:"Enter",collapsed:!0,format:["header"],suffix:/^$/,handler(e,t){let[n,i]=this.quill.getLine(e.index),r=new od().retain(e.index).insert("\n",t.format).retain(n.length()-i-1).retain(1,{header:null});this.quill.updateContents(r,s5.sources.USER),this.quill.setSelection(e.index+1,s5.sources.SILENT),this.quill.scrollSelectionIntoView()}},"table backspace":{key:"Backspace",format:["table"],collapsed:!0,offset:0,handler(){}},"table delete":{key:"Delete",format:["table"],collapsed:!0,suffix:/^$/,handler(){}},"table enter":{key:"Enter",shiftKey:null,format:["table"],handler(e){let t=this.quill.getModule("table");if(t){let[n,i,r,o]=t.getTable(e),s=function(e,t,n,i){if(null==t.prev&&null==t.next)return null==n.prev&&null==n.next?0===i?-1:1:null==n.prev?-1:1;return null==t.prev?-1:null==t.next?1:null}(n,i,r,o);if(null==s)return;let a=n.offset();if(s<0){let t=new od().retain(a).insert("\n");this.quill.updateContents(t,s5.sources.USER),this.quill.setSelection(e.index+1,e.length,s5.sources.SILENT)}else if(s>0){a+=n.length();let e=new od().retain(a).insert("\n");this.quill.updateContents(e,s5.sources.USER),this.quill.setSelection(a,s5.sources.USER)}}}},"table tab":{key:"Tab",shiftKey:null,format:["table"],handler(e,t){let{event:n,line:i}=t,r=i.offset(this.quill.scroll);n.shiftKey?this.quill.setSelection(r-1,s5.sources.USER):this.quill.setSelection(r+i.length(),s5.sources.USER)}},"list autofill":{key:" ",shiftKey:null,collapsed:!0,format:{"code-block":!1,blockquote:!1,table:!1},prefix:/^\s*?(\d+\.|-|\*|\[ ?\]|\[x\])$/,handler(e,t){let n;if(null==this.quill.scroll.query("list"))return!0;let{length:i}=t.prefix,[r,o]=this.quill.getLine(e.index);if(o>i)return!0;switch(t.prefix.trim()){case"[]":case"[ ]":n="unchecked";break;case"[x]":n="checked";break;case"-":case"*":n="bullet";break;default:n="ordered"}this.quill.insertText(e.index," ",s5.sources.USER),this.quill.history.cutoff();let s=new od().retain(e.index-o).delete(i+1).retain(r.length()-2-o).retain(1,{list:n});return this.quill.updateContents(s,s5.sources.USER),this.quill.history.cutoff(),this.quill.setSelection(e.index-i,s5.sources.SILENT),!1}},"code exit":{key:"Enter",collapsed:!0,format:["code-block"],prefix:/^$/,suffix:/^\s*$/,handler(e){let[t,n]=this.quill.getLine(e.index),i=2,r=t;for(;null!=r&&1>=r.length()&&r.formats()["code-block"];)if(r=r.prev,(i-=1)<=0){let i=new od().retain(e.index+t.length()-n-2).retain(1,{"code-block":null}).delete(1);return this.quill.updateContents(i,s5.sources.USER),this.quill.setSelection(e.index-1,s5.sources.SILENT),!1}return!0}},"embed left":aI("ArrowLeft",!1),"embed left shift":aI("ArrowLeft",!0),"embed right":aI("ArrowRight",!1),"embed right shift":aI("ArrowRight",!0),"table down":aL(!1),"table up":aL(!0)}};function aN(e){return{key:"Tab",shiftKey:!e,format:{"code-block":!0},handler(t,n){let{event:i}=n,{TAB:r}=this.quill.scroll.query("code-block");if(0===t.length&&!i.shiftKey){this.quill.insertText(t.index,r,s5.sources.USER),this.quill.setSelection(t.index+r.length,s5.sources.SILENT);return}let o=0===t.length?this.quill.getLines(t.index,1):this.quill.getLines(t),{index:s,length:a}=t;o.forEach((t,n)=>{e?(t.insertAt(0,r),0===n?s+=r.length:a+=r.length):t.domNode.textContent.startsWith(r)&&(t.deleteAt(0,r.length),0===n?s-=r.length:a-=r.length)}),this.quill.update(s5.sources.USER),this.quill.setSelection(s,a,s5.sources.SILENT)}}}function aI(e,t){return{key:e,shiftKey:t,altKey:null,["ArrowLeft"===e?"prefix":"suffix"]:/^$/,handler(n){let{index:i}=n;"ArrowRight"===e&&(i+=n.length+1);let[r]=this.quill.getLeaf(i);return!(r instanceof os)||("ArrowLeft"===e?t?this.quill.setSelection(n.index-1,n.length+1,s5.sources.USER):this.quill.setSelection(n.index-1,s5.sources.USER):t?this.quill.setSelection(n.index,n.length+1,s5.sources.USER):this.quill.setSelection(n.index+n.length+1,s5.sources.USER),!1)}}}function aM(e){return{key:e[0],shortKey:!0,handler(t,n){this.quill.format(e,!n.format[e],s5.sources.USER)}}}function aL(e){return{key:e?"ArrowUp":"ArrowDown",collapsed:!0,format:["table"],handler(t,n){let i=e?"prev":"next",r=n.line,o=r.parent[i];if(null!=o){if("table-row"===o.statics.blotName){let e=o.children.head,t=r;for(;null!=t.prev;)t=t.prev,e=e.next;let i=e.offset(this.quill.scroll)+Math.min(n.offset,e.length()-1);this.quill.setSelection(i,0,s5.sources.USER)}}else{let t=r.table()[i];null!=t&&(e?this.quill.setSelection(t.offset(this.quill.scroll)+t.length()-1,0,s5.sources.USER):this.quill.setSelection(t.offset(this.quill.scroll),0,s5.sources.USER))}return!1}}}aA.DEFAULTS=aS;function aR(e){let{quill:t,range:n}=e,i=t.getLines(n),r={};if(i.length>1){let e=i[0].formats(),t=i[i.length-1].formats();r=od.AttributeMap.diff(t,e)||{}}t.deleteText(n,s5.sources.USER),Object.keys(r).length>0&&t.formatLine(n.index,1,r,s5.sources.USER),t.setSelection(n.index,s5.sources.SILENT)}let aP=/font-weight:\s*normal/,aD=["P","OL","UL"],aj=e=>e&&aD.includes(e.tagName),aB=e=>{Array.from(e.querySelectorAll("br")).filter(e=>aj(e.previousElementSibling)&&aj(e.nextElementSibling)).forEach(e=>{e.parentNode?.removeChild(e)})},aF=e=>{Array.from(e.querySelectorAll('b[style*="font-weight"]')).filter(e=>e.getAttribute("style")?.match(aP)).forEach(t=>{let n=e.createDocumentFragment();n.append(...t.childNodes),t.parentNode?.replaceChild(n,t)})},aq=/\bmso-list:[^;]*ignore/i,aH=/\bmso-list:[^;]*\bl(\d+)/i,a$=/\bmso-list:[^;]*\blevel(\d+)/i,aU=(e,t)=>{let n=e.getAttribute("style"),i=n?.match(aH);if(!i)return null;let r=Number(i[1]),o=n?.match(a$),s=o?Number(o[1]):1,a=RegExp(`@list l${r}:level${s}\\s*\\{[^\\}]*mso-level-number-format:\\s*([\\w-]+)`,"i"),l=t.match(a);return{id:r,indent:s,type:l&&"bullet"===l[1]?"bullet":"ordered",element:e}},az=e=>{let t=Array.from(e.querySelectorAll("[style*=mso-list]")),n=[],i=[];t.forEach(e=>{(e.getAttribute("style")||"").match(aq)?n.push(e):i.push(e)}),n.forEach(e=>e.parentNode?.removeChild(e));let r=e.documentElement.innerHTML,o=i.map(e=>aU(e,r)).filter(e=>e);for(;o.length;){let e=[],t=o.shift();for(;t;)e.push(t),t=o.length&&o[0]?.element===t.element.nextElementSibling&&o[0].id===t.id?o.shift():null;let n=document.createElement("ul");e.forEach(e=>{let t=document.createElement("li");t.setAttribute("data-list",e.type),e.indent>1&&t.setAttribute("class",`ql-indent-${e.indent-1}`),t.innerHTML=e.element.innerHTML,n.appendChild(t)});let i=e[0]?.element,{parentNode:r}=i??{};i&&r?.replaceChild(n,i),e.slice(1).forEach(e=>{let{element:t}=e;r?.removeChild(t)})}},aX=[function(e){"urn:schemas-microsoft-com:office:word"===e.documentElement.getAttribute("xmlns:w")&&az(e)},function(e){e.querySelector('[id^="docs-internal-guid-"]')&&(aF(e),aB(e))}],aW=e=>{e.documentElement&&aX.forEach(t=>{t(e)})},aV=sN("quill:clipboard"),aK=[[Node.TEXT_NODE,function(e,t,n){let i=e.data;if(e.parentElement?.tagName==="O:P")return t.insert(i.trim());if(!function e(t){return null!=t&&(!a0.has(t)&&("PRE"===t.tagName?a0.set(t,!0):a0.set(t,e(t.parentNode))),a0.get(t))}(e)){var r,o;if(0===i.trim().length&&i.includes("\n")&&(r=e,o=n,!r.previousElementSibling||!r.nextElementSibling||aJ(r.previousElementSibling,o)||aJ(r.nextElementSibling,o)))return t;let s=(e,t)=>{let n=t.replace(/[^\u00a0]/g,"");return n.length<1&&e?" ":n};i=(i=i.replace(/\r\n/g," ").replace(/\n/g," ")).replace(/\s\s+/g,s.bind(s,!0)),(null==e.previousSibling&&null!=e.parentElement&&aJ(e.parentElement,n)||e.previousSibling instanceof Element&&aJ(e.previousSibling,n))&&(i=i.replace(/^\s+/,s.bind(s,!1))),(null==e.nextSibling&&null!=e.parentElement&&aJ(e.parentElement,n)||e.nextSibling instanceof Element&&aJ(e.nextSibling,n))&&(i=i.replace(/\s+$/,s.bind(s,!1)))}return t.insert(i)}],[Node.TEXT_NODE,a5],["br",function(e,t){return!aQ(t,"\n")&&t.insert("\n"),t}],[Node.ELEMENT_NODE,a5],[Node.ELEMENT_NODE,function(e,t,n){let i=n.query(e);if(null==i)return t;if(i.prototype instanceof os){let t={},r=i.value(e);if(null!=r)return t[i.blotName]=r,new od().insert(t,i.formats(e,n))}else if(i.prototype instanceof oi&&!aQ(t,"\n")&&t.insert("\n"),"blotName"in i&&"formats"in i&&"function"==typeof i.formats)return aZ(t,i.blotName,i.formats(e,n),n);return t}],[Node.ELEMENT_NODE,function(e,t,n){let i=rV.keys(e),r=rQ.keys(e),o=r0.keys(e),s={};return i.concat(r).concat(o).forEach(t=>{let i=n.query(t,rW.ATTRIBUTE);if(null==i||(s[i.attrName]=i.value(e),!s[i.attrName]))null!=(i=aG[t])&&(i.attrName===t||i.keyName===t)&&(s[i.attrName]=i.value(e)||void 0),null!=(i=aY[t])&&(i.attrName===t||i.keyName===t)&&(s[(i=aY[t]).attrName]=i.value(e)||void 0)}),Object.entries(s).reduce((e,t)=>{let[i,r]=t;return aZ(e,i,r,n)},t)}],[Node.ELEMENT_NODE,function(e,t,n){let i={},r=e.style||{};return("italic"===r.fontStyle&&(i.italic=!0),"underline"===r.textDecoration&&(i.underline=!0),"line-through"===r.textDecoration&&(i.strike=!0),(r.fontWeight?.startsWith("bold")||parseInt(r.fontWeight,10)>=700)&&(i.bold=!0),t=Object.entries(i).reduce((e,t)=>{let[i,r]=t;return aZ(e,i,r,n)},t),parseFloat(r.textIndent||0)>0)?new od().insert(" ").concat(t):t}],["li",function(e,t,n){let i=n.query(e);if(null==i||"list"!==i.blotName||!aQ(t,"\n"))return t;let r=-1,o=e.parentNode;for(;null!=o;)["OL","UL"].includes(o.tagName)&&(r+=1),o=o.parentNode;return r<=0?t:t.reduce((e,t)=>t.insert?t.attributes&&"number"==typeof t.attributes.indent?e.push(t):e.insert(t.insert,{indent:r,...t.attributes||{}}):e,new od)}],["ol, ul",function(e,t,n){let i="OL"===e.tagName?"ordered":"bullet",r=e.getAttribute("data-checked");return r&&(i="true"===r?"checked":"unchecked"),aZ(t,"list",i,n)}],["pre",function(e,t,n){let i=n.query("code-block");return aZ(t,"code-block",!i||!("formats"in i)||"function"!=typeof i.formats||i.formats(e,n),n)}],["tr",function(e,t,n){let i=e.parentElement?.tagName==="TABLE"?e.parentElement:e.parentElement?.parentElement;return null!=i?aZ(t,"table",Array.from(i.querySelectorAll("tr")).indexOf(e)+1,n):t}],["b",a2("bold")],["i",a2("italic")],["strike",a2("strike")],["style",function(){return new od}]],aG=[as,ay].reduce((e,t)=>(e[t.keyName]=t,e),{}),aY=[al,ap,ah,aw,ax,aT].reduce((e,t)=>(e[t.keyName]=t,e),{});function aZ(e,t,n,i){return i.query(t)?e.reduce((e,i)=>i.insert?i.attributes&&i.attributes[t]?e.push(i):e.insert(i.insert,{...n?{[t]:n}:{},...i.attributes}):e,new od):e}function aQ(e,t){let n="";for(let i=e.ops.length-1;i>=0&&n.length<t.length;--i){let t=e.ops[i];if("string"!=typeof t.insert)break;n=t.insert+n}return n.slice(-1*t.length)===t}function aJ(e,t){if(!(e instanceof Element))return!1;let n=t.query(e);return(!n||!(n.prototype instanceof os))&&["address","article","blockquote","canvas","dd","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","iframe","li","main","nav","ol","output","p","pre","section","table","td","tr","ul","video"].includes(e.tagName.toLowerCase())}let a0=new WeakMap;function a1(e,t,n,i,r){return t.nodeType===t.TEXT_NODE?i.reduce((n,i)=>i(t,n,e),new od):t.nodeType===t.ELEMENT_NODE?Array.from(t.childNodes||[]).reduce((o,s)=>{let a=a1(e,s,n,i,r);return s.nodeType===t.ELEMENT_NODE&&(a=n.reduce((t,n)=>n(s,t,e),a),a=(r.get(s)||[]).reduce((t,n)=>n(s,t,e),a)),o.concat(a)},new od):new od}function a2(e){return(t,n,i)=>aZ(n,e,!0,i)}function a5(e,t,n){if(!aQ(t,"\n")){if(aJ(e,n)&&(e.childNodes.length>0||e instanceof HTMLParagraphElement))return t.insert("\n");if(t.length()>0&&e.nextSibling){let i=e.nextSibling;for(;null!=i;){if(aJ(i,n))return t.insert("\n");let e=n.query(i);if(e&&e.prototype instanceof sw)return t.insert("\n");i=i.firstChild}}}return t}function a3(e,t){let n=t;for(let t=e.length-1;t>=0;t-=1){let i=e[t];e[t]={delta:n.transform(i.delta,!0),range:i.range&&a4(i.range,n)},n=i.delta.transform(n),0===e[t].delta.length()&&e.splice(t,1)}}function a4(e,t){if(!e)return e;let n=t.transformPosition(e.index);return{index:n,length:t.transformPosition(e.index+e.length)-n}}class a6 extends sU{constructor(e,t){super(e,t),e.root.addEventListener("drop",t=>{t.preventDefault();let n=null;if(document.caretRangeFromPoint)n=document.caretRangeFromPoint(t.clientX,t.clientY);else if(document.caretPositionFromPoint){let e=document.caretPositionFromPoint(t.clientX,t.clientY);(n=document.createRange()).setStart(e.offsetNode,e.offset),n.setEnd(e.offsetNode,e.offset)}let i=n&&e.selection.normalizeNative(n);if(i){let n=e.selection.normalizedToRange(i);t.dataTransfer?.files&&this.upload(n,t.dataTransfer.files)}})}upload(e,t){let n=[];Array.from(t).forEach(e=>{e&&this.options.mimetypes?.includes(e.type)&&n.push(e)}),n.length>0&&this.options.handler.call(this,e,n)}}a6.DEFAULTS={mimetypes:["image/png","image/jpeg"],handler(e,t){if(!!this.quill.scroll.query("image"))Promise.all(t.map(e=>new Promise(t=>{let n=new FileReader;n.onload=()=>{t(n.result)},n.readAsDataURL(e)}))).then(t=>{let n=t.reduce((e,t)=>e.insert({image:t}),new od().retain(e.index).delete(e.length));this.quill.updateContents(n,sM.sources.USER),this.quill.setSelection(e.index+t.length,sM.sources.SILENT)})}};let a8=["insertText","insertReplacementText"],a9=class e extends sU{constructor(e,t){super(e,t),e.root.addEventListener("beforeinput",e=>{this.handleBeforeInput(e)}),!/Android/i.test(navigator.userAgent)&&e.on(s5.events.COMPOSITION_BEFORE_START,()=>{this.handleCompositionStart()})}deleteRange(e){aR({range:e,quill:this.quill})}replaceText(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(0===e.length)return!1;if(t){let n=this.quill.getFormat(e.index,1);this.deleteRange(e),this.quill.updateContents(new od().retain(e.index).insert(t,n),s5.sources.USER)}else this.deleteRange(e);return this.quill.setSelection(e.index+t.length,0,s5.sources.SILENT),!0}handleBeforeInput(e){if(this.quill.composition.isComposing||e.defaultPrevented||!a8.includes(e.inputType))return;let t=e.getTargetRanges?e.getTargetRanges()[0]:null;if(!t||!0===t.collapsed)return;let n=function(e){return"string"==typeof e.data?e.data:e.dataTransfer?.types.includes("text/plain")?e.dataTransfer.getData("text/plain"):null}(e);if(null==n)return;let i=this.quill.selection.normalizeNative(t),r=i?this.quill.selection.normalizedToRange(i):null;r&&this.replaceText(r,n)&&e.preventDefault()}handleCompositionStart(){let e=this.quill.getSelection();e&&this.replaceText(e)}},a7=/Mac/i.test(navigator.platform),le=e=>"ArrowLeft"===e.key||"ArrowRight"===e.key||"ArrowUp"===e.key||"ArrowDown"===e.key||"Home"===e.key||!!a7&&"a"===e.key&&!0===e.ctrlKey||!1,lt=class e extends sU{isListening=!1;selectionChangeDeadline=0;constructor(e,t){super(e,t),this.handleArrowKeys(),this.handleNavigationShortcuts()}handleArrowKeys(){this.quill.keyboard.addBinding({key:["ArrowLeft","ArrowRight"],offset:0,shiftKey:null,handler(e,t){let{line:n,event:i}=t;if(!(n instanceof r7)||!n.uiNode)return!0;let r="rtl"===getComputedStyle(n.domNode).direction;return!!r&&"ArrowRight"!==i.key||!r&&"ArrowLeft"!==i.key||(this.quill.setSelection(e.index-1,e.length+(i.shiftKey?1:0),s5.sources.USER),!1)}})}handleNavigationShortcuts(){this.quill.root.addEventListener("keydown",e=>{!e.defaultPrevented&&le(e)&&this.ensureListeningToSelectionChange()})}ensureListeningToSelectionChange(){if(this.selectionChangeDeadline=Date.now()+100,!this.isListening){this.isListening=!0;document.addEventListener("selectionchange",()=>{this.isListening=!1,Date.now()<=this.selectionChangeDeadline&&this.handleSelectionChange()},{once:!0})}}handleSelectionChange(){let e=document.getSelection();if(!e)return;let t=e.getRangeAt(0);if(!0!==t.collapsed||0!==t.startOffset)return;let n=this.quill.scroll.find(t.startContainer);if(!(n instanceof r7)||!n.uiNode)return;let i=document.createRange();i.setStartAfter(n.uiNode),i.setEndAfter(n.uiNode),e.removeAllRanges(),e.addRange(i)}};s5.register({"blots/block":sb,"blots/block/embed":sw,"blots/break":sf,"blots/container":ae,"blots/cursor":sx,"blots/embed":sz,"blots/inline":sy,"blots/scroll":ar,"blots/text":sm,"modules/clipboard":class e extends sU{static DEFAULTS={matchers:[]};constructor(e,t){super(e,t),this.quill.root.addEventListener("copy",e=>this.onCaptureCopy(e,!1)),this.quill.root.addEventListener("cut",e=>this.onCaptureCopy(e,!0)),this.quill.root.addEventListener("paste",this.onCapturePaste.bind(this)),this.matchers=[],aK.concat(this.options.matchers??[]).forEach(e=>{let[t,n]=e;this.addMatcher(t,n)})}addMatcher(e,t){this.matchers.push([e,t])}convert(e){let{html:t,text:n}=e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(i[am.blotName])return new od().insert(n||"",{[am.blotName]:i[am.blotName]});if(!t)return new od().insert(n||"",i);let r=this.convertHTML(t);return aQ(r,"\n")&&(null==r.ops[r.ops.length-1].attributes||i.table)?r.compose(new od().retain(r.length()-1).delete(1)):r}normalizeHTML(e){aW(e)}convertHTML(e){let t=new DOMParser().parseFromString(e,"text/html");this.normalizeHTML(t);let n=t.body,i=new WeakMap,[r,o]=this.prepareMatching(n,i);return a1(this.quill.scroll,n,r,o,i)}dangerouslyPasteHTML(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s5.sources.API;if("string"==typeof e){let n=this.convert({html:e,text:""});this.quill.setContents(n,t),this.quill.setSelection(0,s5.sources.SILENT)}else{let i=this.convert({html:t,text:""});this.quill.updateContents(new od().retain(e).concat(i),n),this.quill.setSelection(e+i.length(),s5.sources.SILENT)}}onCaptureCopy(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e.defaultPrevented)return;e.preventDefault();let[n]=this.quill.selection.getRange();if(null==n)return;let{html:i,text:r}=this.onCopy(n,t);e.clipboardData?.setData("text/plain",r),e.clipboardData?.setData("text/html",i),t&&aR({range:n,quill:this.quill})}normalizeURIList(e){return e.split(/\r?\n/).filter(e=>"#"!==e[0]).join("\n")}onCapturePaste(e){if(e.defaultPrevented||!this.quill.isEnabled())return;e.preventDefault();let t=this.quill.getSelection(!0);if(null==t)return;let n=e.clipboardData?.getData("text/html"),i=e.clipboardData?.getData("text/plain");if(!n&&!i){let t=e.clipboardData?.getData("text/uri-list");t&&(i=this.normalizeURIList(t))}let r=Array.from(e.clipboardData?.files||[]);if(!n&&r.length>0){this.quill.uploader.upload(t,r);return}if(n&&r.length>0){let e=new DOMParser().parseFromString(n,"text/html");if(1===e.body.childElementCount&&e.body.firstElementChild?.tagName==="IMG"){this.quill.uploader.upload(t,r);return}}this.onPaste(t,{html:n,text:i})}onCopy(e){let t=this.quill.getText(e);return{html:this.quill.getSemanticHTML(e),text:t}}onPaste(e,t){let{text:n,html:i}=t,r=this.quill.getFormat(e.index),o=this.convert({text:n,html:i},r);aV.log("onPaste",o,{text:n,html:i});let s=new od().retain(e.index).delete(e.length).concat(o);this.quill.updateContents(s,s5.sources.USER),this.quill.setSelection(s.length()-e.length,s5.sources.SILENT),this.quill.scrollSelectionIntoView()}prepareMatching(e,t){let n=[],i=[];return this.matchers.forEach(r=>{let[o,s]=r;switch(o){case Node.TEXT_NODE:i.push(s);break;case Node.ELEMENT_NODE:n.push(s);break;default:Array.from(e.querySelectorAll(o)).forEach(e=>{if(t.has(e)){let n=t.get(e);n?.push(s)}else t.set(e,[s])})}}),[n,i]}},"modules/history":class e extends sU{static DEFAULTS={delay:1e3,maxStack:100,userOnly:!1};lastRecorded=0;ignoreChange=!1;stack={undo:[],redo:[]};currentRange=null;constructor(e,t){super(e,t),this.quill.on(s5.events.EDITOR_CHANGE,(e,t,n,i)=>{e===s5.events.SELECTION_CHANGE?t&&i!==s5.sources.SILENT&&(this.currentRange=t):e===s5.events.TEXT_CHANGE&&(!this.ignoreChange&&(this.options.userOnly&&i!==s5.sources.USER?this.transform(t):this.record(t,n)),this.currentRange=a4(this.currentRange,t))}),this.quill.keyboard.addBinding({key:"z",shortKey:!0},this.undo.bind(this)),this.quill.keyboard.addBinding({key:["z","Z"],shortKey:!0,shiftKey:!0},this.redo.bind(this)),/Win/i.test(navigator.platform)&&this.quill.keyboard.addBinding({key:"y",shortKey:!0},this.redo.bind(this)),this.quill.root.addEventListener("beforeinput",e=>{"historyUndo"===e.inputType?(this.undo(),e.preventDefault()):"historyRedo"===e.inputType&&(this.redo(),e.preventDefault())})}change(e,t){if(0===this.stack[e].length)return;let n=this.stack[e].pop();if(!n)return;let i=this.quill.getContents(),r=n.delta.invert(i);this.stack[t].push({delta:r,range:a4(n.range,r)}),this.lastRecorded=0,this.ignoreChange=!0,this.quill.updateContents(n.delta,s5.sources.USER),this.ignoreChange=!1,this.restoreSelection(n)}clear(){this.stack={undo:[],redo:[]}}cutoff(){this.lastRecorded=0}record(e,t){if(0===e.ops.length)return;this.stack.redo=[];let n=e.invert(t),i=this.currentRange,r=Date.now();if(this.lastRecorded+this.options.delay>r&&this.stack.undo.length>0){let e=this.stack.undo.pop();e&&(n=n.compose(e.delta),i=e.range)}else this.lastRecorded=r;0!==n.length()&&(this.stack.undo.push({delta:n,range:i}),this.stack.undo.length>this.options.maxStack&&this.stack.undo.shift())}redo(){this.change("redo","undo")}transform(e){a3(this.stack.undo,e),a3(this.stack.redo,e)}undo(){this.change("undo","redo")}restoreSelection(e){if(e.range)this.quill.setSelection(e.range,s5.sources.USER);else{let t=function(e,t){let n=t.reduce((e,t)=>e+(t.delete||0),0),i=t.length()-n;return function(e,t){let n=t.ops[t.ops.length-1];return null!=n&&(null!=n.insert?"string"==typeof n.insert&&n.insert.endsWith("\n"):null!=n.attributes&&Object.keys(n.attributes).some(t=>null!=e.query(t,rW.BLOCK)))}(e,t)&&(i-=1),i}(this.quill.scroll,e.delta);this.quill.setSelection(t,s5.sources.USER)}}},"modules/keyboard":aA,"modules/uploader":a6,"modules/input":a9,"modules/uiNode":lt});let ln=new class e extends rQ{add(e,t){let n=0;if("+1"===t||"-1"===t){let i=this.value(e)||0;n="+1"===t?i+1:i-1}else"number"==typeof t&&(n=t);return 0===n?(this.remove(e),!0):super.add(e,n.toString())}canAdd(e,t){return super.canAdd(e,t)||super.canAdd(e,parseInt(t,10))}value(e){return parseInt(super.value(e),10)||void 0}}("indent","ql-indent",{scope:rW.BLOCK,whitelist:[1,2,3,4,5,6,7,8]}),li=class e extends sb{static blotName="blockquote";static tagName="blockquote"},lr=class e extends sb{static blotName="header";static tagName=["H1","H2","H3","H4","H5","H6"];static formats(e){return this.tagName.indexOf(e.tagName)+1}};class lo extends ae{}lo.blotName="list-container",lo.tagName="OL";class ls extends sb{static create(e){let t=super.create();return t.setAttribute("data-list",e),t}static formats(e){return e.getAttribute("data-list")||void 0}static register(){s5.register(lo)}constructor(e,t){super(e,t);let n=t.ownerDocument.createElement("span"),i=n=>{if(!e.isEnabled())return;let i=this.statics.formats(t,e);"checked"===i?(this.format("list","unchecked"),n.preventDefault()):"unchecked"===i&&(this.format("list","checked"),n.preventDefault())};n.addEventListener("mousedown",i),n.addEventListener("touchstart",i),this.attachUI(n)}format(e,t){e===this.statics.blotName&&t?this.domNode.setAttribute("data-list",t):super.format(e,t)}}ls.blotName="list",ls.tagName="LI",lo.allowedChildren=[ls],ls.requiredContainer=lo;let la=class e extends sy{static blotName="bold";static tagName=["STRONG","B"];static create(){return super.create()}static formats(){return!0}optimize(e){super.optimize(e),this.domNode.tagName!==this.statics.tagName[0]&&this.replaceWith(this.statics.blotName)}};class ll extends sy{static blotName="link";static tagName="A";static SANITIZED_URL="about:blank";static PROTOCOL_WHITELIST=["http","https","mailto","tel","sms"];static create(e){let t=super.create(e);return t.setAttribute("href",this.sanitize(e)),t.setAttribute("rel","noopener noreferrer"),t.setAttribute("target","_blank"),t}static formats(e){return e.getAttribute("href")}static sanitize(e){return lc(e,this.PROTOCOL_WHITELIST)?e:this.SANITIZED_URL}format(e,t){e===this.statics.blotName&&t?this.domNode.setAttribute("href",this.constructor.sanitize(t)):super.format(e,t)}}function lc(e,t){let n=document.createElement("a");n.href=e;let i=n.href.slice(0,n.href.indexOf(":"));return t.indexOf(i)>-1}let lu=class e extends sy{static blotName="script";static tagName=["SUB","SUP"];static create(e){return"super"===e?document.createElement("sup"):"sub"===e?document.createElement("sub"):super.create(e)}static formats(e){return"SUB"===e.tagName?"sub":"SUP"===e.tagName?"super":void 0}},lh=class e extends sy{static blotName="underline";static tagName="U"},ld=class e extends sz{static blotName="formula";static className="ql-formula";static tagName="SPAN";static create(e){if(null==window.katex)throw Error("Formula module requires KaTeX.");let t=super.create(e);return"string"==typeof e&&(window.katex.render(e,t,{throwOnError:!1,errorColor:"#f00"}),t.setAttribute("data-value",e)),t}static value(e){return e.getAttribute("data-value")}html(){let{formula:e}=this.value();return`<span>${e}</span>`}},lp=["alt","height","width"],lf=class e extends os{static blotName="image";static tagName="IMG";static create(e){let t=super.create(e);return"string"==typeof e&&t.setAttribute("src",this.sanitize(e)),t}static formats(e){return lp.reduce((t,n)=>(e.hasAttribute(n)&&(t[n]=e.getAttribute(n)),t),{})}static match(e){return/\.(jpe?g|gif|png)$/.test(e)||/^data:image\/.+;base64/.test(e)}static sanitize(e){return lc(e,["http","https","data"])?e:"//:0"}static value(e){return e.getAttribute("src")}format(e,t){lp.indexOf(e)>-1?t?this.domNode.setAttribute(e,t):this.domNode.removeAttribute(e):super.format(e,t)}},lm=["height","width"],lg=class e extends sw{static blotName="video";static className="ql-video";static tagName="IFRAME";static create(e){let t=super.create(e);return t.setAttribute("frameborder","0"),t.setAttribute("allowfullscreen","true"),t.setAttribute("src",this.sanitize(e)),t}static formats(e){return lm.reduce((t,n)=>(e.hasAttribute(n)&&(t[n]=e.getAttribute(n)),t),{})}static sanitize(e){return ll.sanitize(e)}static value(e){return e.getAttribute("src")}format(e,t){lm.indexOf(e)>-1?t?this.domNode.setAttribute(e,t):this.domNode.removeAttribute(e):super.format(e,t)}html(){let{video:e}=this.value();return`<a href="${e}">${e}</a>`}},lv=new rQ("code-token","hljs",{scope:rW.INLINE});class ly extends sy{static formats(e,t){for(;null!=e&&e!==t.domNode;){if(e.classList&&e.classList.contains(am.className))return super.formats(e,t);e=e.parentNode}}constructor(e,t,n){super(e,t,n),lv.add(this.domNode,n)}format(e,t){e!==ly.blotName?super.format(e,t):t?lv.add(this.domNode,t):(lv.remove(this.domNode),this.domNode.classList.remove(this.statics.className))}optimize(){super.optimize(...arguments),!lv.value(this.domNode)&&this.unwrap()}}ly.blotName="code-token",ly.className="ql-token";class lb extends am{static create(e){let t=super.create(e);return"string"==typeof e&&t.setAttribute("data-language",e),t}static formats(e){return e.getAttribute("data-language")||"plain"}static register(){}format(e,t){e===this.statics.blotName&&t?this.domNode.setAttribute("data-language",t):super.format(e,t)}replaceWith(e,t){return this.formatAt(0,this.length(),ly.blotName,!1),super.replaceWith(e,t)}}class lw extends af{attach(){super.attach(),this.forceNext=!1,this.scroll.emitMount(this)}format(e,t){e===lb.blotName&&(this.forceNext=!0,this.children.forEach(n=>{n.format(e,t)}))}formatAt(e,t,n,i){n===lb.blotName&&(this.forceNext=!0),super.formatAt(e,t,n,i)}highlight(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==this.children.head)return;let n=Array.from(this.domNode.childNodes).filter(e=>e!==this.uiNode),i=`${n.map(e=>e.textContent).join("\n")} -`,r=lb.formats(this.children.head.domNode);if(t||this.forceNext||this.cachedText!==i){if(i.trim().length>0||null==this.cachedText){let t=this.children.reduce((e,t)=>e.concat(s_(t,!1)),new od),n=e(i,r);t.diff(n).reduce((e,t)=>{let{retain:n,attributes:i}=t;return n?(i&&Object.keys(i).forEach(t=>{[lb.blotName,ly.blotName].includes(t)&&this.formatAt(e,n,t,i[t])}),e+n):e},0)}this.cachedText=i,this.forceNext=!1}}html(e,t){let[n]=this.children.find(e),i=n?lb.formats(n.domNode):"plain";return`<pre data-language="${i}"> -${sg(this.code(e,t))} -</pre>`}optimize(e){if(super.optimize(e),null!=this.parent&&null!=this.children.head&&null!=this.uiNode){let e=lb.formats(this.children.head.domNode);e!==this.uiNode.value&&(this.uiNode.value=e)}}}lw.allowedChildren=[lb],lb.requiredContainer=lw,lb.allowedChildren=[ly,sx,sm,sf];let l_=(e,t,n)=>"string"==typeof e.versionString&&parseInt(e.versionString.split(".")[0],10)>=11?e.highlight(n,{language:t}).value:e.highlight(t,n).value;class lE extends sU{static register(){s5.register(ly,!0),s5.register(lb,!0),s5.register(lw,!0)}constructor(e,t){if(super(e,t),null==this.options.hljs)throw Error("Syntax module requires highlight.js. Please include the library on the page before Quill.");this.languages=this.options.languages.reduce((e,t)=>{let{key:n}=t;return e[n]=!0,e},{}),this.highlightBlot=this.highlightBlot.bind(this),this.initListener(),this.initTimer()}initListener(){this.quill.on(s5.events.SCROLL_BLOT_MOUNT,e=>{if(!(e instanceof lw))return;let t=this.quill.root.ownerDocument.createElement("select");this.options.languages.forEach(e=>{let{key:n,label:i}=e,r=t.ownerDocument.createElement("option");r.textContent=i,r.setAttribute("value",n),t.appendChild(r)}),t.addEventListener("change",()=>{e.format(lb.blotName,t.value),this.quill.root.focus(),this.highlight(e,!0)}),null==e.uiNode&&(e.attachUI(t),e.children.head&&(t.value=lb.formats(e.children.head.domNode)))})}initTimer(){let e=null;this.quill.on(s5.events.SCROLL_OPTIMIZE,()=>{e&&clearTimeout(e),e=setTimeout(()=>{this.highlight(),e=null},this.options.interval)})}highlight(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.quill.selection.composing)return;this.quill.update(s5.sources.USER);let n=this.quill.getSelection();(null==e?this.quill.scroll.descendants(lw):[e]).forEach(e=>{e.highlight(this.highlightBlot,t)}),this.quill.update(s5.sources.SILENT),null!=n&&this.quill.setSelection(n,s5.sources.SILENT)}highlightBlot(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"plain";if("plain"===(t=this.languages[t]?t:"plain"))return sg(e).split("\n").reduce((e,n,i)=>(0!==i&&e.insert("\n",{[am.blotName]:t}),e.insert(n)),new od);let n=this.quill.root.ownerDocument.createElement("div");return n.classList.add(am.className),n.innerHTML=l_(this.options.hljs,t,e),a1(this.quill.scroll,n,[(e,t)=>{let n=lv.value(e);return n?t.compose(new od().retain(t.length(),{[ly.blotName]:n})):t}],[(e,n)=>e.data.split("\n").reduce((e,n,i)=>(0!==i&&e.insert("\n",{[am.blotName]:t}),e.insert(n)),n)],new WeakMap)}}lE.DEFAULTS={hljs:window.hljs,interval:1e3,languages:[{key:"plain",label:"Plain"},{key:"bash",label:"Bash"},{key:"cpp",label:"C++"},{key:"cs",label:"C#"},{key:"css",label:"CSS"},{key:"diff",label:"Diff"},{key:"xml",label:"HTML/XML"},{key:"java",label:"Java"},{key:"javascript",label:"JavaScript"},{key:"markdown",label:"Markdown"},{key:"php",label:"PHP"},{key:"python",label:"Python"},{key:"ruby",label:"Ruby"},{key:"sql",label:"SQL"}]};class lx extends sb{static blotName="table";static tagName="TD";static create(e){let t=super.create();return e?t.setAttribute("data-row",e):t.setAttribute("data-row",lC()),t}static formats(e){if(e.hasAttribute("data-row"))return e.getAttribute("data-row")}cellOffset(){return this.parent?this.parent.children.indexOf(this):-1}format(e,t){e===lx.blotName&&t?this.domNode.setAttribute("data-row",t):super.format(e,t)}row(){return this.parent}rowOffset(){return this.row()?this.row().rowOffset():-1}table(){return this.row()&&this.row().table()}}class lk extends ae{static blotName="table-row";static tagName="TR";checkMerge(){if(super.checkMerge()&&null!=this.next.children.head){let e=this.children.head.formats(),t=this.children.tail.formats(),n=this.next.children.head.formats(),i=this.next.children.tail.formats();return e.table===t.table&&e.table===n.table&&e.table===i.table}return!1}optimize(e){super.optimize(e),this.children.forEach(e=>{if(null==e.next)return;let t=e.formats(),n=e.next.formats();if(t.table!==n.table){let t=this.splitAfter(e);t&&t.optimize(),this.prev&&this.prev.optimize()}})}rowOffset(){return this.parent?this.parent.children.indexOf(this):-1}table(){return this.parent&&this.parent.parent}}class lT extends ae{static blotName="table-body";static tagName="TBODY"}class lO extends ae{static blotName="table-container";static tagName="TABLE";balanceCells(){let e=this.descendants(lk),t=e.reduce((e,t)=>Math.max(t.children.length,e),0);e.forEach(e=>{Array(t-e.children.length).fill(0).forEach(()=>{let t;null!=e.children.head&&(t=lx.formats(e.children.head.domNode));let n=this.scroll.create(lx.blotName,t);e.appendChild(n),n.optimize()})})}cells(e){return this.rows().map(t=>t.children.at(e))}deleteColumn(e){let[t]=this.descendant(lT);null!=t&&null!=t.children.head&&t.children.forEach(t=>{let n=t.children.at(e);null!=n&&n.remove()})}insertColumn(e){let[t]=this.descendant(lT);null!=t&&null!=t.children.head&&t.children.forEach(t=>{let n=t.children.at(e),i=lx.formats(t.children.head.domNode),r=this.scroll.create(lx.blotName,i);t.insertBefore(r,n)})}insertRow(e){let[t]=this.descendant(lT);if(null==t||null==t.children.head)return;let n=lC(),i=this.scroll.create(lk.blotName);t.children.head.children.forEach(()=>{let e=this.scroll.create(lx.blotName,n);i.appendChild(e)});let r=t.children.at(e);t.insertBefore(i,r)}rows(){let e=this.children.head;return null==e?[]:e.children.map(e=>e)}}function lC(){let e=Math.random().toString(36).slice(2,6);return`row-${e}`}lO.allowedChildren=[lT],lT.requiredContainer=lO,lT.allowedChildren=[lk],lk.requiredContainer=lT,lk.allowedChildren=[lx],lx.requiredContainer=lk;let lA=class e extends sU{static register(){s5.register(lx),s5.register(lk),s5.register(lT),s5.register(lO)}constructor(){super(...arguments),this.listenBalanceCells()}balanceTables(){this.quill.scroll.descendants(lO).forEach(e=>{e.balanceCells()})}deleteColumn(){let[e,,t]=this.getTable();null!=t&&(e.deleteColumn(t.cellOffset()),this.quill.update(s5.sources.USER))}deleteRow(){let[,e]=this.getTable();null!=e&&(e.remove(),this.quill.update(s5.sources.USER))}deleteTable(){let[e]=this.getTable();if(null==e)return;let t=e.offset();e.remove(),this.quill.update(s5.sources.USER),this.quill.setSelection(t,s5.sources.SILENT)}getTable(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.quill.getSelection();if(null==e)return[null,null,null,-1];let[t,n]=this.quill.getLine(e.index);if(null==t||t.statics.blotName!==lx.blotName)return[null,null,null,-1];let i=t.parent;return[i.parent.parent,i,t,n]}insertColumn(e){let t=this.quill.getSelection();if(!t)return;let[n,i,r]=this.getTable(t);if(null==r)return;let o=r.cellOffset();n.insertColumn(o+e),this.quill.update(s5.sources.USER);let s=i.rowOffset();0===e&&(s+=1),this.quill.setSelection(t.index+s,t.length,s5.sources.SILENT)}insertColumnLeft(){this.insertColumn(0)}insertColumnRight(){this.insertColumn(1)}insertRow(e){let t=this.quill.getSelection();if(!t)return;let[n,i,r]=this.getTable(t);if(null==r)return;let o=i.rowOffset();n.insertRow(o+e),this.quill.update(s5.sources.USER),e>0?this.quill.setSelection(t,s5.sources.SILENT):this.quill.setSelection(t.index+i.children.length,t.length,s5.sources.SILENT)}insertRowAbove(){this.insertRow(0)}insertRowBelow(){this.insertRow(1)}insertTable(e,t){let n=this.quill.getSelection();if(null==n)return;let i=Array(e).fill(0).reduce(e=>{let n=Array(t).fill("\n").join("");return e.insert(n,{table:lC()})},new od().retain(n.index));this.quill.updateContents(i,s5.sources.USER),this.quill.setSelection(n.index,s5.sources.SILENT),this.balanceTables()}listenBalanceCells(){this.quill.on(s5.events.SCROLL_OPTIMIZE,e=>{e.some(e=>!!["TD","TR","TBODY","TABLE"].includes(e.target.tagName)&&(this.quill.once(s5.events.TEXT_CHANGE,(e,t,n)=>{n===s5.sources.USER&&this.balanceTables()}),!0))})}},lS=sN("quill:toolbar");class lN extends sU{constructor(e,t){if(super(e,t),Array.isArray(this.options.container)){let t=document.createElement("div");t.setAttribute("role","toolbar"),function(e,t){!Array.isArray(t[0])&&(t=[t]),t.forEach(t=>{let n=document.createElement("span");n.classList.add("ql-formats"),t.forEach(e=>{if("string"==typeof e)lI(n,e);else{let t=Object.keys(e)[0],i=e[t];Array.isArray(i)?function(e,t,n){let i=document.createElement("select");i.classList.add(`ql-${t}`),n.forEach(e=>{let t=document.createElement("option");!1!==e?t.setAttribute("value",String(e)):t.setAttribute("selected","selected"),i.appendChild(t)}),e.appendChild(i)}(n,t,i):lI(n,t,i)}}),e.appendChild(n)})}(t,this.options.container),e.container?.parentNode?.insertBefore(t,e.container),this.container=t}else"string"==typeof this.options.container?this.container=document.querySelector(this.options.container):this.container=this.options.container;if(!(this.container instanceof HTMLElement)){lS.error("Container required for toolbar",this.options);return}this.container.classList.add("ql-toolbar"),this.controls=[],this.handlers={},this.options.handlers&&Object.keys(this.options.handlers).forEach(e=>{let t=this.options.handlers?.[e];t&&this.addHandler(e,t)}),Array.from(this.container.querySelectorAll("button, select")).forEach(e=>{this.attach(e)}),this.quill.on(s5.events.EDITOR_CHANGE,()=>{let[e]=this.quill.selection.getRange();this.update(e)})}addHandler(e,t){this.handlers[e]=t}attach(e){let t=Array.from(e.classList).find(e=>0===e.indexOf("ql-"));if(!t)return;if(t=t.slice(3),"BUTTON"===e.tagName&&e.setAttribute("type","button"),null==this.handlers[t]&&null==this.quill.scroll.query(t)){lS.warn("ignoring attaching to nonexistent format",t,e);return}let n="SELECT"===e.tagName?"change":"click";e.addEventListener(n,n=>{let i;if("SELECT"===e.tagName){if(e.selectedIndex<0)return;let t=e.options[e.selectedIndex];i=!t.hasAttribute("selected")&&(t.value||!1)}else i=!e.classList.contains("ql-active")&&(e.value||!e.hasAttribute("value")),n.preventDefault();this.quill.focus();let[r]=this.quill.selection.getRange();if(null!=this.handlers[t])this.handlers[t].call(this,i);else if(this.quill.scroll.query(t).prototype instanceof os){if(!(i=prompt(`Enter ${t}`)))return;this.quill.updateContents(new od().retain(r.index).delete(r.length).insert({[t]:i}),s5.sources.USER)}else this.quill.format(t,i,s5.sources.USER);this.update(r)}),this.controls.push([t,e])}update(e){let t=null==e?{}:this.quill.getFormat(e);this.controls.forEach(n=>{let[i,r]=n;if("SELECT"===r.tagName){let n=null;if(null==e)n=null;else if(null==t[i])n=r.querySelector("option[selected]");else if(!Array.isArray(t[i])){let e=t[i];"string"==typeof e&&(e=e.replace(/"/g,'\\"')),n=r.querySelector(`option[value="${e}"]`)}null==n?(r.value="",r.selectedIndex=-1):n.selected=!0}else if(null==e)r.classList.remove("ql-active"),r.setAttribute("aria-pressed","false");else if(r.hasAttribute("value")){let e=t[i],n=e===r.getAttribute("value")||null!=e&&e.toString()===r.getAttribute("value")||null==e&&!r.getAttribute("value");r.classList.toggle("ql-active",n),r.setAttribute("aria-pressed",n.toString())}else{let e=null!=t[i];r.classList.toggle("ql-active",e),r.setAttribute("aria-pressed",e.toString())}})}}function lI(e,t,n){let i=document.createElement("button");i.setAttribute("type","button"),i.classList.add(`ql-${t}`),i.setAttribute("aria-pressed","false"),null!=n?(i.value=n,i.setAttribute("aria-label",`${t}: ${n}`)):i.setAttribute("aria-label",t),e.appendChild(i)}lN.DEFAULTS={};lN.DEFAULTS={container:null,handlers:{clean(){let e=this.quill.getSelection();null!=e&&(0===e.length?Object.keys(this.quill.getFormat()).forEach(e=>{null!=this.quill.scroll.query(e,rW.INLINE)&&this.quill.format(e,!1,s5.sources.USER)}):this.quill.removeFormat(e.index,e.length,s5.sources.USER))},direction(e){let{align:t}=this.quill.getFormat();"rtl"===e&&null==t?this.quill.format("align","right",s5.sources.USER):!e&&"right"===t&&this.quill.format("align",!1,s5.sources.USER),this.quill.format("direction",e,s5.sources.USER)},indent(e){let t=this.quill.getSelection(),n=this.quill.getFormat(t),i=parseInt(n.indent||0,10);if("+1"===e||"-1"===e){let t="+1"===e?1:-1;"rtl"===n.direction&&(t*=-1),this.quill.format("indent",i+t,s5.sources.USER)}},link(e){!0===e&&(e=prompt("Enter link URL:")),this.quill.format("link",e,s5.sources.USER)},list(e){let t=this.quill.getSelection(),n=this.quill.getFormat(t);"check"===e?"checked"===n.list||"unchecked"===n.list?this.quill.format("list",!1,s5.sources.USER):this.quill.format("list","unchecked",s5.sources.USER):this.quill.format("list",e,s5.sources.USER)}}};let lM='<svg viewbox="0 0 18 18"><polyline class="ql-even ql-stroke" points="5 7 3 9 5 11"/><polyline class="ql-even ql-stroke" points="13 7 15 9 13 11"/><line class="ql-stroke" x1="10" x2="8" y1="5" y2="13"/></svg>',lL={align:{"":'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="3" x2="15" y1="9" y2="9"/><line class="ql-stroke" x1="3" x2="13" y1="14" y2="14"/><line class="ql-stroke" x1="3" x2="9" y1="4" y2="4"/></svg>',center:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="15" x2="3" y1="9" y2="9"/><line class="ql-stroke" x1="14" x2="4" y1="14" y2="14"/><line class="ql-stroke" x1="12" x2="6" y1="4" y2="4"/></svg>',right:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="15" x2="3" y1="9" y2="9"/><line class="ql-stroke" x1="15" x2="5" y1="14" y2="14"/><line class="ql-stroke" x1="15" x2="9" y1="4" y2="4"/></svg>',justify:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="15" x2="3" y1="9" y2="9"/><line class="ql-stroke" x1="15" x2="3" y1="14" y2="14"/><line class="ql-stroke" x1="15" x2="3" y1="4" y2="4"/></svg>'},background:'<svg viewbox="0 0 18 18"><g class="ql-fill ql-color-label"><polygon points="6 6.868 6 6 5 6 5 7 5.942 7 6 6.868"/><rect height="1" width="1" x="4" y="4"/><polygon points="6.817 5 6 5 6 6 6.38 6 6.817 5"/><rect height="1" width="1" x="2" y="6"/><rect height="1" width="1" x="3" y="5"/><rect height="1" width="1" x="4" y="7"/><polygon points="4 11.439 4 11 3 11 3 12 3.755 12 4 11.439"/><rect height="1" width="1" x="2" y="12"/><rect height="1" width="1" x="2" y="9"/><rect height="1" width="1" x="2" y="15"/><polygon points="4.63 10 4 10 4 11 4.192 11 4.63 10"/><rect height="1" width="1" x="3" y="8"/><path d="M10.832,4.2L11,4.582V4H10.708A1.948,1.948,0,0,1,10.832,4.2Z"/><path d="M7,4.582L7.168,4.2A1.929,1.929,0,0,1,7.292,4H7V4.582Z"/><path d="M8,13H7.683l-0.351.8a1.933,1.933,0,0,1-.124.2H8V13Z"/><rect height="1" width="1" x="12" y="2"/><rect height="1" width="1" x="11" y="3"/><path d="M9,3H8V3.282A1.985,1.985,0,0,1,9,3Z"/><rect height="1" width="1" x="2" y="3"/><rect height="1" width="1" x="6" y="2"/><rect height="1" width="1" x="3" y="2"/><rect height="1" width="1" x="5" y="3"/><rect height="1" width="1" x="9" y="2"/><rect height="1" width="1" x="15" y="14"/><polygon points="13.447 10.174 13.469 10.225 13.472 10.232 13.808 11 14 11 14 10 13.37 10 13.447 10.174"/><rect height="1" width="1" x="13" y="7"/><rect height="1" width="1" x="15" y="5"/><rect height="1" width="1" x="14" y="6"/><rect height="1" width="1" x="15" y="8"/><rect height="1" width="1" x="14" y="9"/><path d="M3.775,14H3v1H4V14.314A1.97,1.97,0,0,1,3.775,14Z"/><rect height="1" width="1" x="14" y="3"/><polygon points="12 6.868 12 6 11.62 6 12 6.868"/><rect height="1" width="1" x="15" y="2"/><rect height="1" width="1" x="12" y="5"/><rect height="1" width="1" x="13" y="4"/><polygon points="12.933 9 13 9 13 8 12.495 8 12.933 9"/><rect height="1" width="1" x="9" y="14"/><rect height="1" width="1" x="8" y="15"/><path d="M6,14.926V15H7V14.316A1.993,1.993,0,0,1,6,14.926Z"/><rect height="1" width="1" x="5" y="15"/><path d="M10.668,13.8L10.317,13H10v1h0.792A1.947,1.947,0,0,1,10.668,13.8Z"/><rect height="1" width="1" x="11" y="15"/><path d="M14.332,12.2a1.99,1.99,0,0,1,.166.8H15V12H14.245Z"/><rect height="1" width="1" x="14" y="15"/><rect height="1" width="1" x="15" y="11"/></g><polyline class="ql-stroke" points="5.5 13 9 5 12.5 13"/><line class="ql-stroke" x1="11.63" x2="6.38" y1="11" y2="11"/></svg>',blockquote:'<svg viewbox="0 0 18 18"><rect class="ql-fill ql-stroke" height="3" width="3" x="4" y="5"/><rect class="ql-fill ql-stroke" height="3" width="3" x="11" y="5"/><path class="ql-even ql-fill ql-stroke" d="M7,8c0,4.031-3,5-3,5"/><path class="ql-even ql-fill ql-stroke" d="M14,8c0,4.031-3,5-3,5"/></svg>',bold:'<svg viewbox="0 0 18 18"><path class="ql-stroke" d="M5,4H9.5A2.5,2.5,0,0,1,12,6.5v0A2.5,2.5,0,0,1,9.5,9H5A0,0,0,0,1,5,9V4A0,0,0,0,1,5,4Z"/><path class="ql-stroke" d="M5,9h5.5A2.5,2.5,0,0,1,13,11.5v0A2.5,2.5,0,0,1,10.5,14H5a0,0,0,0,1,0,0V9A0,0,0,0,1,5,9Z"/></svg>',clean:'<svg class="" viewbox="0 0 18 18"><line class="ql-stroke" x1="5" x2="13" y1="3" y2="3"/><line class="ql-stroke" x1="6" x2="9.35" y1="12" y2="3"/><line class="ql-stroke" x1="11" x2="15" y1="11" y2="15"/><line class="ql-stroke" x1="15" x2="11" y1="11" y2="15"/><rect class="ql-fill" height="1" rx="0.5" ry="0.5" width="7" x="2" y="14"/></svg>',code:lM,"code-block":lM,color:'<svg viewbox="0 0 18 18"><line class="ql-color-label ql-stroke ql-transparent" x1="3" x2="15" y1="15" y2="15"/><polyline class="ql-stroke" points="5.5 11 9 3 12.5 11"/><line class="ql-stroke" x1="11.63" x2="6.38" y1="9" y2="9"/></svg>',direction:{"":'<svg viewbox="0 0 18 18"><polygon class="ql-stroke ql-fill" points="3 11 5 9 3 7 3 11"/><line class="ql-stroke ql-fill" x1="15" x2="11" y1="4" y2="4"/><path class="ql-fill" d="M11,3a3,3,0,0,0,0,6h1V3H11Z"/><rect class="ql-fill" height="11" width="1" x="11" y="4"/><rect class="ql-fill" height="11" width="1" x="13" y="4"/></svg>',rtl:'<svg viewbox="0 0 18 18"><polygon class="ql-stroke ql-fill" points="15 12 13 10 15 8 15 12"/><line class="ql-stroke ql-fill" x1="9" x2="5" y1="4" y2="4"/><path class="ql-fill" d="M5,3A3,3,0,0,0,5,9H6V3H5Z"/><rect class="ql-fill" height="11" width="1" x="5" y="4"/><rect class="ql-fill" height="11" width="1" x="7" y="4"/></svg>'},formula:'<svg viewbox="0 0 18 18"><path class="ql-fill" d="M11.759,2.482a2.561,2.561,0,0,0-3.53.607A7.656,7.656,0,0,0,6.8,6.2C6.109,9.188,5.275,14.677,4.15,14.927a1.545,1.545,0,0,0-1.3-.933A0.922,0.922,0,0,0,2,15.036S1.954,16,4.119,16s3.091-2.691,3.7-5.553c0.177-.826.36-1.726,0.554-2.6L8.775,6.2c0.381-1.421.807-2.521,1.306-2.676a1.014,1.014,0,0,0,1.02.56A0.966,0.966,0,0,0,11.759,2.482Z"/><rect class="ql-fill" height="1.6" rx="0.8" ry="0.8" width="5" x="5.15" y="6.2"/><path class="ql-fill" d="M13.663,12.027a1.662,1.662,0,0,1,.266-0.276q0.193,0.069.456,0.138a2.1,2.1,0,0,0,.535.069,1.075,1.075,0,0,0,.767-0.3,1.044,1.044,0,0,0,.314-0.8,0.84,0.84,0,0,0-.238-0.619,0.8,0.8,0,0,0-.594-0.239,1.154,1.154,0,0,0-.781.3,4.607,4.607,0,0,0-.781,1q-0.091.15-.218,0.346l-0.246.38c-0.068-.288-0.137-0.582-0.212-0.885-0.459-1.847-2.494-.984-2.941-0.8-0.482.2-.353,0.647-0.094,0.529a0.869,0.869,0,0,1,1.281.585c0.217,0.751.377,1.436,0.527,2.038a5.688,5.688,0,0,1-.362.467,2.69,2.69,0,0,1-.264.271q-0.221-.08-0.471-0.147a2.029,2.029,0,0,0-.522-0.066,1.079,1.079,0,0,0-.768.3A1.058,1.058,0,0,0,9,15.131a0.82,0.82,0,0,0,.832.852,1.134,1.134,0,0,0,.787-0.3,5.11,5.11,0,0,0,.776-0.993q0.141-.219.215-0.34c0.046-.076.122-0.194,0.223-0.346a2.786,2.786,0,0,0,.918,1.726,2.582,2.582,0,0,0,2.376-.185c0.317-.181.212-0.565,0-0.494A0.807,0.807,0,0,1,14.176,15a5.159,5.159,0,0,1-.913-2.446l0,0Q13.487,12.24,13.663,12.027Z"/></svg>',header:{1:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Zm6.06787,9.209H14.98975V7.59863a.54085.54085,0,0,0-.605-.60547h-.62744a1.01119,1.01119,0,0,0-.748.29688L11.645,8.56641a.5435.5435,0,0,0-.022.8584l.28613.30762a.53861.53861,0,0,0,.84717.0332l.09912-.08789a1.2137,1.2137,0,0,0,.2417-.35254h.02246s-.01123.30859-.01123.60547V13.209H12.041a.54085.54085,0,0,0-.605.60547v.43945a.54085.54085,0,0,0,.605.60547h4.02686a.54085.54085,0,0,0,.605-.60547v-.43945A.54085.54085,0,0,0,16.06787,13.209Z"/></svg>',2:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M16.73975,13.81445v.43945a.54085.54085,0,0,1-.605.60547H11.855a.58392.58392,0,0,1-.64893-.60547V14.0127c0-2.90527,3.39941-3.42187,3.39941-4.55469a.77675.77675,0,0,0-.84717-.78125,1.17684,1.17684,0,0,0-.83594.38477c-.2749.26367-.561.374-.85791.13184l-.4292-.34082c-.30811-.24219-.38525-.51758-.1543-.81445a2.97155,2.97155,0,0,1,2.45361-1.17676,2.45393,2.45393,0,0,1,2.68408,2.40918c0,2.45312-3.1792,2.92676-3.27832,3.93848h2.79443A.54085.54085,0,0,1,16.73975,13.81445ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z"/></svg>',3:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M16.65186,12.30664a2.6742,2.6742,0,0,1-2.915,2.68457,3.96592,3.96592,0,0,1-2.25537-.6709.56007.56007,0,0,1-.13232-.83594L11.64648,13c.209-.34082.48389-.36328.82471-.1543a2.32654,2.32654,0,0,0,1.12256.33008c.71484,0,1.12207-.35156,1.12207-.78125,0-.61523-.61621-.86816-1.46338-.86816H13.2085a.65159.65159,0,0,1-.68213-.41895l-.05518-.10937a.67114.67114,0,0,1,.14307-.78125l.71533-.86914a8.55289,8.55289,0,0,1,.68213-.7373V8.58887a3.93913,3.93913,0,0,1-.748.05469H11.9873a.54085.54085,0,0,1-.605-.60547V7.59863a.54085.54085,0,0,1,.605-.60547h3.75146a.53773.53773,0,0,1,.60547.59375v.17676a1.03723,1.03723,0,0,1-.27539.748L14.74854,10.0293A2.31132,2.31132,0,0,1,16.65186,12.30664ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z"/></svg>',4:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Zm7.05371,7.96582v.38477c0,.39648-.165.60547-.46191.60547h-.47314v1.29785a.54085.54085,0,0,1-.605.60547h-.69336a.54085.54085,0,0,1-.605-.60547V12.95605H11.333a.5412.5412,0,0,1-.60547-.60547v-.15332a1.199,1.199,0,0,1,.22021-.748l2.56348-4.05957a.7819.7819,0,0,1,.72607-.39648h1.27637a.54085.54085,0,0,1,.605.60547v3.7627h.33008A.54055.54055,0,0,1,17.05371,11.96582ZM14.28125,8.7207h-.022a4.18969,4.18969,0,0,1-.38525.81348l-1.188,1.80469v.02246h1.5293V9.60059A7.04058,7.04058,0,0,1,14.28125,8.7207Z"/></svg>',5:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M16.74023,12.18555a2.75131,2.75131,0,0,1-2.91553,2.80566,3.908,3.908,0,0,1-2.25537-.68164.54809.54809,0,0,1-.13184-.8252L11.73438,13c.209-.34082.48389-.36328.8252-.1543a2.23757,2.23757,0,0,0,1.1001.33008,1.01827,1.01827,0,0,0,1.1001-.96777c0-.61621-.53906-.97949-1.25439-.97949a2.15554,2.15554,0,0,0-.64893.09961,1.15209,1.15209,0,0,1-.814.01074l-.12109-.04395a.64116.64116,0,0,1-.45117-.71484l.231-3.00391a.56666.56666,0,0,1,.62744-.583H15.541a.54085.54085,0,0,1,.605.60547v.43945a.54085.54085,0,0,1-.605.60547H13.41748l-.04395.72559a1.29306,1.29306,0,0,1-.04395.30859h.022a2.39776,2.39776,0,0,1,.57227-.07715A2.53266,2.53266,0,0,1,16.74023,12.18555ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z"/></svg>',6:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M14.51758,9.64453a1.85627,1.85627,0,0,0-1.24316.38477H13.252a1.73532,1.73532,0,0,1,1.72754-1.4082,2.66491,2.66491,0,0,1,.5498.06641c.35254.05469.57227.01074.70508-.40723l.16406-.5166a.53393.53393,0,0,0-.373-.75977,4.83723,4.83723,0,0,0-1.17773-.14258c-2.43164,0-3.7627,2.17773-3.7627,4.43359,0,2.47559,1.60645,3.69629,3.19043,3.69629A2.70585,2.70585,0,0,0,16.96,12.19727,2.43861,2.43861,0,0,0,14.51758,9.64453Zm-.23047,3.58691c-.67187,0-1.22168-.81445-1.22168-1.45215,0-.47363.30762-.583.72559-.583.96875,0,1.27734.59375,1.27734,1.12207A.82182.82182,0,0,1,14.28711,13.23145ZM10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Z"/></svg>'},italic:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="7" x2="13" y1="4" y2="4"/><line class="ql-stroke" x1="5" x2="11" y1="14" y2="14"/><line class="ql-stroke" x1="8" x2="10" y1="14" y2="4"/></svg>',image:'<svg viewbox="0 0 18 18"><rect class="ql-stroke" height="10" width="12" x="3" y="4"/><circle class="ql-fill" cx="6" cy="7" r="1"/><polyline class="ql-even ql-fill" points="5 12 5 11 7 9 8 10 11 7 13 9 13 12 5 12"/></svg>',indent:{"+1":'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="3" x2="15" y1="14" y2="14"/><line class="ql-stroke" x1="3" x2="15" y1="4" y2="4"/><line class="ql-stroke" x1="9" x2="15" y1="9" y2="9"/><polyline class="ql-fill ql-stroke" points="3 7 3 11 5 9 3 7"/></svg>',"-1":'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="3" x2="15" y1="14" y2="14"/><line class="ql-stroke" x1="3" x2="15" y1="4" y2="4"/><line class="ql-stroke" x1="9" x2="15" y1="9" y2="9"/><polyline class="ql-stroke" points="5 7 5 11 3 9 5 7"/></svg>'},link:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="7" x2="11" y1="7" y2="11"/><path class="ql-even ql-stroke" d="M8.9,4.577a3.476,3.476,0,0,1,.36,4.679A3.476,3.476,0,0,1,4.577,8.9C3.185,7.5,2.035,6.4,4.217,4.217S7.5,3.185,8.9,4.577Z"/><path class="ql-even ql-stroke" d="M13.423,9.1a3.476,3.476,0,0,0-4.679-.36,3.476,3.476,0,0,0,.36,4.679c1.392,1.392,2.5,2.542,4.679.36S14.815,10.5,13.423,9.1Z"/></svg>',list:{bullet:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="6" x2="15" y1="4" y2="4"/><line class="ql-stroke" x1="6" x2="15" y1="9" y2="9"/><line class="ql-stroke" x1="6" x2="15" y1="14" y2="14"/><line class="ql-stroke" x1="3" x2="3" y1="4" y2="4"/><line class="ql-stroke" x1="3" x2="3" y1="9" y2="9"/><line class="ql-stroke" x1="3" x2="3" y1="14" y2="14"/></svg>',check:'<svg class="" viewbox="0 0 18 18"><line class="ql-stroke" x1="9" x2="15" y1="4" y2="4"/><polyline class="ql-stroke" points="3 4 4 5 6 3"/><line class="ql-stroke" x1="9" x2="15" y1="14" y2="14"/><polyline class="ql-stroke" points="3 14 4 15 6 13"/><line class="ql-stroke" x1="9" x2="15" y1="9" y2="9"/><polyline class="ql-stroke" points="3 9 4 10 6 8"/></svg>',ordered:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="7" x2="15" y1="4" y2="4"/><line class="ql-stroke" x1="7" x2="15" y1="9" y2="9"/><line class="ql-stroke" x1="7" x2="15" y1="14" y2="14"/><line class="ql-stroke ql-thin" x1="2.5" x2="4.5" y1="5.5" y2="5.5"/><path class="ql-fill" d="M3.5,6A0.5,0.5,0,0,1,3,5.5V3.085l-0.276.138A0.5,0.5,0,0,1,2.053,3c-0.124-.247-0.023-0.324.224-0.447l1-.5A0.5,0.5,0,0,1,4,2.5v3A0.5,0.5,0,0,1,3.5,6Z"/><path class="ql-stroke ql-thin" d="M4.5,10.5h-2c0-.234,1.85-1.076,1.85-2.234A0.959,0.959,0,0,0,2.5,8.156"/><path class="ql-stroke ql-thin" d="M2.5,14.846a0.959,0.959,0,0,0,1.85-.109A0.7,0.7,0,0,0,3.75,14a0.688,0.688,0,0,0,.6-0.736,0.959,0.959,0,0,0-1.85-.109"/></svg>'},script:{sub:'<svg viewbox="0 0 18 18"><path class="ql-fill" d="M15.5,15H13.861a3.858,3.858,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.921,1.921,0,0,0,12.021,11.7a0.50013,0.50013,0,1,0,.957.291h0a0.914,0.914,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.076-1.16971,1.86982-1.93971,2.43082A1.45639,1.45639,0,0,0,12,15.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,15Z"/><path class="ql-fill" d="M9.65,5.241a1,1,0,0,0-1.409.108L6,7.964,3.759,5.349A1,1,0,0,0,2.192,6.59178Q2.21541,6.6213,2.241,6.649L4.684,9.5,2.241,12.35A1,1,0,0,0,3.71,13.70722q0.02557-.02768.049-0.05722L6,11.036,8.241,13.65a1,1,0,1,0,1.567-1.24277Q9.78459,12.3777,9.759,12.35L7.316,9.5,9.759,6.651A1,1,0,0,0,9.65,5.241Z"/></svg>',super:'<svg viewbox="0 0 18 18"><path class="ql-fill" d="M15.5,7H13.861a4.015,4.015,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.922,1.922,0,0,0,12.021,3.7a0.5,0.5,0,1,0,.957.291,0.917,0.917,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.077-1.164,1.925-1.934,2.486A1.423,1.423,0,0,0,12,7.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,7Z"/><path class="ql-fill" d="M9.651,5.241a1,1,0,0,0-1.41.108L6,7.964,3.759,5.349a1,1,0,1,0-1.519,1.3L4.683,9.5,2.241,12.35a1,1,0,1,0,1.519,1.3L6,11.036,8.241,13.65a1,1,0,0,0,1.519-1.3L7.317,9.5,9.759,6.651A1,1,0,0,0,9.651,5.241Z"/></svg>'},strike:'<svg viewbox="0 0 18 18"><line class="ql-stroke ql-thin" x1="15.5" x2="2.5" y1="8.5" y2="9.5"/><path class="ql-fill" d="M9.007,8C6.542,7.791,6,7.519,6,6.5,6,5.792,7.283,5,9,5c1.571,0,2.765.679,2.969,1.309a1,1,0,0,0,1.9-.617C13.356,4.106,11.354,3,9,3,6.2,3,4,4.538,4,6.5a3.2,3.2,0,0,0,.5,1.843Z"/><path class="ql-fill" d="M8.984,10C11.457,10.208,12,10.479,12,11.5c0,0.708-1.283,1.5-3,1.5-1.571,0-2.765-.679-2.969-1.309a1,1,0,1,0-1.9.617C4.644,13.894,6.646,15,9,15c2.8,0,5-1.538,5-3.5a3.2,3.2,0,0,0-.5-1.843Z"/></svg>',table:'<svg viewbox="0 0 18 18"><rect class="ql-stroke" height="12" width="12" x="3" y="3"/><rect class="ql-fill" height="2" width="3" x="5" y="5"/><rect class="ql-fill" height="2" width="4" x="9" y="5"/><g class="ql-fill ql-transparent"><rect height="2" width="3" x="5" y="8"/><rect height="2" width="4" x="9" y="8"/><rect height="2" width="3" x="5" y="11"/><rect height="2" width="4" x="9" y="11"/></g></svg>',underline:'<svg viewbox="0 0 18 18"><path class="ql-stroke" d="M5,3V9a4.012,4.012,0,0,0,4,4H9a4.012,4.012,0,0,0,4-4V3"/><rect class="ql-fill" height="1" rx="0.5" ry="0.5" width="12" x="3" y="15"/></svg>',video:'<svg viewbox="0 0 18 18"><rect class="ql-stroke" height="12" width="12" x="3" y="3"/><rect class="ql-fill" height="12" width="1" x="5" y="3"/><rect class="ql-fill" height="12" width="1" x="12" y="3"/><rect class="ql-fill" height="2" width="8" x="5" y="8"/><rect class="ql-fill" height="1" width="3" x="3" y="5"/><rect class="ql-fill" height="1" width="3" x="3" y="7"/><rect class="ql-fill" height="1" width="3" x="3" y="10"/><rect class="ql-fill" height="1" width="3" x="3" y="12"/><rect class="ql-fill" height="1" width="3" x="12" y="5"/><rect class="ql-fill" height="1" width="3" x="12" y="7"/><rect class="ql-fill" height="1" width="3" x="12" y="10"/><rect class="ql-fill" height="1" width="3" x="12" y="12"/></svg>'},lR=0;function lP(e,t){e.setAttribute(t,`${"true"!==e.getAttribute(t)}`)}let lD=class e{constructor(e){this.select=e,this.container=document.createElement("span"),this.buildPicker(),this.select.style.display="none",this.select.parentNode.insertBefore(this.container,this.select),this.label.addEventListener("mousedown",()=>{this.togglePicker()}),this.label.addEventListener("keydown",e=>{switch(e.key){case"Enter":this.togglePicker();break;case"Escape":this.escape(),e.preventDefault()}}),this.select.addEventListener("change",this.update.bind(this))}togglePicker(){this.container.classList.toggle("ql-expanded"),lP(this.label,"aria-expanded"),lP(this.options,"aria-hidden")}buildItem(e){let t=document.createElement("span");t.tabIndex="0",t.setAttribute("role","button"),t.classList.add("ql-picker-item");let n=e.getAttribute("value");return n&&t.setAttribute("data-value",n),e.textContent&&t.setAttribute("data-label",e.textContent),t.addEventListener("click",()=>{this.selectItem(t,!0)}),t.addEventListener("keydown",e=>{switch(e.key){case"Enter":this.selectItem(t,!0),e.preventDefault();break;case"Escape":this.escape(),e.preventDefault()}}),t}buildLabel(){let e=document.createElement("span");return e.classList.add("ql-picker-label"),e.innerHTML='<svg viewbox="0 0 18 18"><polygon class="ql-stroke" points="7 11 9 13 11 11 7 11"/><polygon class="ql-stroke" points="7 7 9 5 11 7 7 7"/></svg>',e.tabIndex="0",e.setAttribute("role","button"),e.setAttribute("aria-expanded","false"),this.container.appendChild(e),e}buildOptions(){let e=document.createElement("span");e.classList.add("ql-picker-options"),e.setAttribute("aria-hidden","true"),e.tabIndex="-1",e.id=`ql-picker-options-${lR}`,lR+=1,this.label.setAttribute("aria-controls",e.id),this.options=e,Array.from(this.select.options).forEach(t=>{let n=this.buildItem(t);e.appendChild(n),!0===t.selected&&this.selectItem(n)}),this.container.appendChild(e)}buildPicker(){Array.from(this.select.attributes).forEach(e=>{this.container.setAttribute(e.name,e.value)}),this.container.classList.add("ql-picker"),this.label=this.buildLabel(),this.buildOptions()}escape(){this.close(),setTimeout(()=>this.label.focus(),1)}close(){this.container.classList.remove("ql-expanded"),this.label.setAttribute("aria-expanded","false"),this.options.setAttribute("aria-hidden","true")}selectItem(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.container.querySelector(".ql-selected");if(e!==n)null!=n&&n.classList.remove("ql-selected"),null!=e&&(e.classList.add("ql-selected"),this.select.selectedIndex=Array.from(e.parentNode.children).indexOf(e),e.hasAttribute("data-value")?this.label.setAttribute("data-value",e.getAttribute("data-value")):this.label.removeAttribute("data-value"),e.hasAttribute("data-label")?this.label.setAttribute("data-label",e.getAttribute("data-label")):this.label.removeAttribute("data-label"),t&&(this.select.dispatchEvent(new Event("change")),this.close()))}update(){let e;if(this.select.selectedIndex>-1){let t=this.container.querySelector(".ql-picker-options").children[this.select.selectedIndex];e=this.select.options[this.select.selectedIndex],this.selectItem(t)}else this.selectItem(null);let t=null!=e&&e!==this.select.querySelector("option[selected]");this.label.classList.toggle("ql-active",t)}},lj=class e extends lD{constructor(e,t){super(e),this.label.innerHTML=t,this.container.classList.add("ql-color-picker"),Array.from(this.container.querySelectorAll(".ql-picker-item")).slice(0,7).forEach(e=>{e.classList.add("ql-primary")})}buildItem(e){let t=super.buildItem(e);return t.style.backgroundColor=e.getAttribute("value")||"",t}selectItem(e,t){super.selectItem(e,t);let n=this.label.querySelector(".ql-color-label"),i=e&&e.getAttribute("data-value")||"";n&&("line"===n.tagName?n.style.stroke=i:n.style.fill=i)}},lB=class e extends lD{constructor(e,t){super(e),this.container.classList.add("ql-icon-picker"),Array.from(this.container.querySelectorAll(".ql-picker-item")).forEach(e=>{e.innerHTML=t[e.getAttribute("data-value")||""]}),this.defaultItem=this.container.querySelector(".ql-selected"),this.selectItem(this.defaultItem)}selectItem(e,t){super.selectItem(e,t);let n=e||this.defaultItem;if(null!=n){if(this.label.innerHTML===n.innerHTML)return;this.label.innerHTML=n.innerHTML}}},lF=e=>{let{overflowY:t}=getComputedStyle(e,null);return"visible"!==t&&"clip"!==t},lq=class e{constructor(e,t){this.quill=e,this.boundsContainer=t||document.body,this.root=e.addContainer("ql-tooltip"),this.root.innerHTML=this.constructor.TEMPLATE,lF(this.quill.root)&&this.quill.root.addEventListener("scroll",()=>{this.root.style.marginTop=`${-1*this.quill.root.scrollTop}px`}),this.hide()}hide(){this.root.classList.add("ql-hidden")}position(e){let t=e.left+e.width/2-this.root.offsetWidth/2,n=e.bottom+this.quill.root.scrollTop;this.root.style.left=`${t}px`,this.root.style.top=`${n}px`,this.root.classList.remove("ql-flip");let i=this.boundsContainer.getBoundingClientRect(),r=this.root.getBoundingClientRect(),o=0;if(r.right>i.right&&(o=i.right-r.right,this.root.style.left=`${t+o}px`),r.left<i.left&&(o=i.left-r.left,this.root.style.left=`${t+o}px`),r.bottom>i.bottom){let t=r.bottom-r.top,i=e.bottom-e.top+t;this.root.style.top=`${n-i}px`,this.root.classList.add("ql-flip")}return o}show(){this.root.classList.remove("ql-editing"),this.root.classList.remove("ql-hidden")}},lH=[!1,"center","right","justify"],l$=["#000000","#e60000","#ff9900","#ffff00","#008a00","#0066cc","#9933ff","#ffffff","#facccc","#ffebcc","#ffffcc","#cce8cc","#cce0f5","#ebd6ff","#bbbbbb","#f06666","#ffc266","#ffff66","#66b966","#66a3e0","#c285ff","#888888","#a10000","#b26b00","#b2b200","#006100","#0047b2","#6b24b2","#444444","#5c0000","#663d00","#666600","#003700","#002966","#3d1466"],lU=[!1,"serif","monospace"],lz=["1","2","3",!1],lX=["small",!1,"large","huge"];class lW extends sV{constructor(e,t){super(e,t);let n=t=>{if(!document.body.contains(e.root)){document.body.removeEventListener("click",n);return}null!=this.tooltip&&!this.tooltip.root.contains(t.target)&&document.activeElement!==this.tooltip.textbox&&!this.quill.hasFocus()&&this.tooltip.hide(),null!=this.pickers&&this.pickers.forEach(e=>{!e.container.contains(t.target)&&e.close()})};e.emitter.listenDOM("click",document.body,n)}addModule(e){let t=super.addModule(e);return"toolbar"===e&&this.extendToolbar(t),t}buildButtons(e,t){Array.from(e).forEach(e=>{(e.getAttribute("class")||"").split(/\s+/).forEach(n=>{if(!!n.startsWith("ql-")){if(null!=t[n=n.slice(3)]){if("direction"===n)e.innerHTML=t[n][""]+t[n].rtl;else if("string"==typeof t[n])e.innerHTML=t[n];else{let i=e.value||"";null!=i&&t[n][i]&&(e.innerHTML=t[n][i])}}}})})}buildPickers(e,t){this.pickers=Array.from(e).map(e=>{if(e.classList.contains("ql-align")&&(null==e.querySelector("option")&&lK(e,lH),"object"==typeof t.align))return new lB(e,t.align);if(e.classList.contains("ql-background")||e.classList.contains("ql-color")){let n=e.classList.contains("ql-background")?"background":"color";return null==e.querySelector("option")&&lK(e,l$,"background"===n?"#ffffff":"#000000"),new lj(e,t[n])}return null==e.querySelector("option")&&(e.classList.contains("ql-font")?lK(e,lU):e.classList.contains("ql-header")?lK(e,lz):e.classList.contains("ql-size")&&lK(e,lX)),new lD(e)});this.quill.on(sM.events.EDITOR_CHANGE,()=>{this.pickers.forEach(e=>{e.update()})})}}lW.DEFAULTS=rX({},sV.DEFAULTS,{modules:{toolbar:{handlers:{formula(){this.quill.theme.tooltip.edit("formula")},image(){let e=this.container.querySelector("input.ql-image[type=file]");null==e&&((e=document.createElement("input")).setAttribute("type","file"),e.setAttribute("accept",this.quill.uploader.options.mimetypes.join(", ")),e.classList.add("ql-image"),e.addEventListener("change",()=>{let t=this.quill.getSelection(!0);this.quill.uploader.upload(t,e.files),e.value=""}),this.container.appendChild(e)),e.click()},video(){this.quill.theme.tooltip.edit("video")}}}}});class lV extends lq{constructor(e,t){super(e,t),this.textbox=this.root.querySelector('input[type="text"]'),this.listen()}listen(){this.textbox.addEventListener("keydown",e=>{"Enter"===e.key?(this.save(),e.preventDefault()):"Escape"===e.key&&(this.cancel(),e.preventDefault())})}cancel(){this.hide(),this.restoreFocus()}edit(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"link",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(this.root.classList.remove("ql-hidden"),this.root.classList.add("ql-editing"),null==this.textbox)return;null!=t?this.textbox.value=t:e!==this.root.getAttribute("data-mode")&&(this.textbox.value="");let n=this.quill.getBounds(this.quill.selection.savedRange);null!=n&&this.position(n),this.textbox.select(),this.textbox.setAttribute("placeholder",this.textbox.getAttribute(`data-${e}`)||""),this.root.setAttribute("data-mode",e)}restoreFocus(){this.quill.focus({preventScroll:!0})}save(){let{value:e}=this.textbox;switch(this.root.getAttribute("data-mode")){case"link":{let{scrollTop:t}=this.quill.root;this.linkRange?(this.quill.formatText(this.linkRange,"link",e,sM.sources.USER),delete this.linkRange):(this.restoreFocus(),this.quill.format("link",e,sM.sources.USER)),this.quill.root.scrollTop=t;break}case"video":e=function(e){let t=e.match(/^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtube\.com\/watch.*v=([a-zA-Z0-9_-]+)/)||e.match(/^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtu\.be\/([a-zA-Z0-9_-]+)/);return t?`${t[1]||"https"}://www.youtube.com/embed/${t[2]}?showinfo=0`:(t=e.match(/^(?:(https?):\/\/)?(?:www\.)?vimeo\.com\/(\d+)/))?`${t[1]||"https"}://player.vimeo.com/video/${t[2]}/`:e}(e);case"formula":{if(!e)break;let t=this.quill.getSelection(!0);if(null!=t){let n=t.index+t.length;this.quill.insertEmbed(n,this.root.getAttribute("data-mode"),e,sM.sources.USER),"formula"===this.root.getAttribute("data-mode")&&this.quill.insertText(n+1," ",sM.sources.USER),this.quill.setSelection(n+2,sM.sources.USER)}}}this.textbox.value="",this.hide()}}function lK(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t.forEach(t=>{let i=document.createElement("option");t===n?i.setAttribute("selected","selected"):i.setAttribute("value",String(t)),e.appendChild(i)})}let lG=[["bold","italic","link"],[{header:1},{header:2},"blockquote"]];class lY extends lV{static TEMPLATE='<span class="ql-tooltip-arrow"></span><div class="ql-tooltip-editor"><input type="text" data-formula="e=mc^2" data-link="https://quilljs.com" data-video="Embed URL"><a class="ql-close"></a></div>';constructor(e,t){super(e,t),this.quill.on(sM.events.EDITOR_CHANGE,(e,t,n,i)=>{if(e===sM.events.SELECTION_CHANGE){if(null!=t&&t.length>0&&i===sM.sources.USER){this.show(),this.root.style.left="0px",this.root.style.width="",this.root.style.width=`${this.root.offsetWidth}px`;let e=this.quill.getLines(t.index,t.length);if(1===e.length){let e=this.quill.getBounds(t);null!=e&&this.position(e)}else{let n=e[e.length-1],i=this.quill.getIndex(n),r=Math.min(n.length()-1,t.index+t.length-i),o=this.quill.getBounds(new sR(i,r));null!=o&&this.position(o)}}else document.activeElement!==this.textbox&&this.quill.hasFocus()&&this.hide()}})}listen(){super.listen(),this.root.querySelector(".ql-close").addEventListener("click",()=>{this.root.classList.remove("ql-editing")}),this.quill.on(sM.events.SCROLL_OPTIMIZE,()=>{setTimeout(()=>{if(this.root.classList.contains("ql-hidden"))return;let e=this.quill.getSelection();if(null!=e){let t=this.quill.getBounds(e);null!=t&&this.position(t)}},1)})}cancel(){this.show()}position(e){let t=super.position(e),n=this.root.querySelector(".ql-tooltip-arrow");return n.style.marginLeft="",0!==t&&(n.style.marginLeft=`${-1*t-n.offsetWidth/2}px`),t}}class lZ extends lW{constructor(e,t){null!=t.modules.toolbar&&null==t.modules.toolbar.container&&(t.modules.toolbar.container=lG),super(e,t),this.quill.container.classList.add("ql-bubble")}extendToolbar(e){this.tooltip=new lY(this.quill,this.options.bounds),null!=e.container&&(this.tooltip.root.appendChild(e.container),this.buildButtons(e.container.querySelectorAll("button"),lL),this.buildPickers(e.container.querySelectorAll("select"),lL))}}lZ.DEFAULTS=rX({},lW.DEFAULTS,{modules:{toolbar:{handlers:{link(e){e?this.quill.theme.tooltip.edit():this.quill.format("link",!1,s5.sources.USER)}}}}});let lQ=[[{header:["1","2","3",!1]}],["bold","italic","underline","link"],[{list:"ordered"},{list:"bullet"}],["clean"]];class lJ extends lV{static TEMPLATE='<a class="ql-preview" rel="noopener noreferrer" target="_blank" href="about:blank"></a><input type="text" data-formula="e=mc^2" data-link="https://quilljs.com" data-video="Embed URL"><a class="ql-action"></a><a class="ql-remove"></a>';preview=this.root.querySelector("a.ql-preview");listen(){super.listen(),this.root.querySelector("a.ql-action").addEventListener("click",e=>{this.root.classList.contains("ql-editing")?this.save():this.edit("link",this.preview.textContent),e.preventDefault()}),this.root.querySelector("a.ql-remove").addEventListener("click",e=>{if(null!=this.linkRange){let e=this.linkRange;this.restoreFocus(),this.quill.formatText(e,"link",!1,sM.sources.USER),delete this.linkRange}e.preventDefault(),this.hide()}),this.quill.on(sM.events.SELECTION_CHANGE,(e,t,n)=>{if(null!=e){if(0===e.length&&n===sM.sources.USER){let[t,n]=this.quill.scroll.descendant(ll,e.index);if(null!=t){this.linkRange=new sR(e.index-n,t.length());let i=ll.formats(t.domNode);this.preview.textContent=i,this.preview.setAttribute("href",i),this.show();let r=this.quill.getBounds(this.linkRange);null!=r&&this.position(r);return}}else delete this.linkRange;this.hide()}})}show(){super.show(),this.root.removeAttribute("data-mode")}}class l0 extends lW{constructor(e,t){null!=t.modules.toolbar&&null==t.modules.toolbar.container&&(t.modules.toolbar.container=lQ),super(e,t),this.quill.container.classList.add("ql-snow")}extendToolbar(e){null!=e.container&&(e.container.classList.add("ql-snow"),this.buildButtons(e.container.querySelectorAll("button"),lL),this.buildPickers(e.container.querySelectorAll("select"),lL),this.tooltip=new lJ(this.quill,this.options.bounds),e.container.querySelector(".ql-link")&&this.quill.keyboard.addBinding({key:"k",shortKey:!0},(t,n)=>{e.handlers.link.call(e,!n.format.link)}))}}l0.DEFAULTS=rX({},lW.DEFAULTS,{modules:{toolbar:{handlers:{link(e){if(e){let e=this.quill.getSelection();if(null==e||0===e.length)return;let t=this.quill.getText(e);/^\S+@\S+\.\S+$/.test(t)&&0!==t.indexOf("mailto:")&&(t=`mailto:${t}`);let{tooltip:n}=this.quill.theme;n.edit("link",t)}else this.quill.format("link",!1,s5.sources.USER)}}}}});s5.register({"attributors/attribute/direction":ay,"attributors/class/align":aa,"attributors/class/background":ad,"attributors/class/color":au,"attributors/class/direction":ab,"attributors/class/font":aE,"attributors/class/size":ak,"attributors/style/align":al,"attributors/style/background":ap,"attributors/style/color":ah,"attributors/style/direction":aw,"attributors/style/font":ax,"attributors/style/size":aT},!0),s5.register({"formats/align":aa,"formats/direction":ab,"formats/indent":ln,"formats/background":ap,"formats/color":ah,"formats/font":aE,"formats/size":ak,"formats/blockquote":li,"formats/code-block":am,"formats/header":lr,"formats/list":ls,"formats/bold":la,"formats/code":ag,"formats/italic":class e extends la{static blotName="italic";static tagName=["EM","I"]},"formats/link":ll,"formats/script":lu,"formats/strike":class e extends la{static blotName="strike";static tagName=["S","STRIKE"]},"formats/underline":lh,"formats/formula":ld,"formats/image":lf,"formats/video":lg,"modules/syntax":lE,"modules/table":lA,"modules/toolbar":lN,"themes/bubble":lZ,"themes/snow":l0,"ui/icons":lL,"ui/picker":lD,"ui/icon-picker":lB,"ui/color-picker":lj,"ui/tooltip":lq},!0);var l1=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.reduce(function(e,t,n){return e[t.id]=n,e},{});return((t=e.match(/({[^}]+})|([^{}]+)/g))||[]).map(function(e){if(console.log(e),!(e.startsWith("{")&&e.endsWith("}")))return e;var t=e.substring(1,e.length-1);console.log(t);var o=n[r[t]];if(!o)return t;var s=o.values&&i[o.id]?"".concat(t$(o.values.filter(function(e){return i[o.id].includes(e.id)}).map(function(e){return e.label}),E("AND"),"",!1)):" ... ";return T()("strong",s)})},l2=function(){return{view:function(e){var t=e.attrs,n=t.template,i=t.state,r=i.model,o=i.curNarrative,s=r.scenario.components,a=void 0===s?[]:s,l=(void 0===o?{}:o).components,c=void 0===l?{}:l;return n.split(/{(\d+)}/g).map(function(e){return e.replace(/\d+/,function(e){return+e<a.length?"{".concat(a[+e-1].id,"}"):"??? ".concat(e," ???")})}).join("").split(/\n/g).map(function(e){return e.trim()}).filter(Boolean).map(function(e){return T()(".scenario-paragraph",[l1(e,a,c)])})}}};function l5(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),i.forEach(function(t){var i,r,o;i=e,r=t,o=n[t],r in i?Object.defineProperty(i,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):i[r]=o})}return e}function l3(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n.push.apply(n,i)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}var l4=function(){return{view:function(e){var t=e.attrs,n=t.on,i=t.off,r=t.value,o=t.disabled,s=t.callback;return T()(G,{className:"clickable".concat(o?" grey-text":""),iconName:r?n:i,disabled:o,onclick:o?{}:function(){return s(!r)}})}}},l6=function(e){var t=e.probability,n=e.impact;if("string"==typeof t&&"string"==typeof n){var i=+t.replace(/[a-zA-Z_]/g,""),r=+n.replace(/[a-zA-Z_]/g,"");e.risk="risk_"+[[0,0,1,2,3],[0,1,2,3,4],[1,2,3,4,4],[2,3,4,4,4],[3,4,4,4,4]][i][r],console.log("Risk = probability x impact: ".concat(t," x ").concat(n," = ").concat(e.risk))}},l8=function(){var e=!1;return{view:function(t){var n=t.attrs,i=n.catId,r=n.excluded,o=n.state,s=o.model,a=o.excludedComps,l=void 0===a?{}:a,c=o.lockedComps,u=void 0===c?{}:c,h=o.curNarrative,d=void 0===h?{}:h,p=s.scenario,f=p.categories,m=void 0===f?[]:f,g=p.components,v=m.length>1,y=m.filter(function(e){return e.id===i}).shift(),b=null==y?void 0:y.componentIds,w=b&&(void 0===g?[]:g).filter(function(e){return b.indexOf(e.id)>=0}),_=d.components,x=void 0===_?{}:_;return y&&w&&T()(".scenario-table.row",[T()(".col.s11",v&&T()("h5",y.label)),T()(".col.s1.icons",[T()(l4,{on:"lock_open",off:"lock",value:e,callback:function(t){e=t,n.update({lockedComps:function(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return null==y||null===(t=y.componentIds)||void 0===t||t.forEach(function(t){return n[t]=e}),n}})}})]),w.map(function(e){var t;return[[T()(ea,{label:e.label,key:"key_".concat(e.id,"_").concat(l[e.id]),className:"col s11",multiple:!0,disabled:void 0!==l[e.id]&&l[e.id],initialValue:x[e.id],options:null===(t=e.values)||void 0===t?void 0:t.filter(function(e){return!r.has(e.id)}),placeholder:E("i18n","pick"),onchange:function(t){!d.components&&(d.components={}),d.components[e.id]=t,ni(n,d)}})],T()(".col.s1.icons",[T()(l4,{on:"lock_open",off:"lock",disabled:e.manual,value:!e.manual&&!u[e.id],callback:function(t){n.update({lockedComps:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n[e.id]=!t,n}})}})])]})])}}},l9=function(){var e,t=!1,n=0;return{oninit:function(e){return t7(e.attrs,O.CREATE_SCENARIO)},view:function(i){var r=i.attrs,o=r.state,s=o.model,a=o.curNarrative,l=void 0===a?{}:a,c=o.lockedComps,u=void 0===c?{}:c,h=s.scenario,d=h.template,p=h.categories,f=void 0===p?[]:p,m=h.inconsistencies,g=void 0===m?{}:m,v=h.hideInconsistentValues,y=s.scenario&&s.scenario.narratives,b=l.components&&void 0!==v&&v?Object.keys(l.components).filter(function(e){return l.components[e]}).reduce(function(e,t){return l.components[t].forEach(function(t){return g[t]&&Object.keys(g[t]).forEach(function(n){return g[t][n]&&e.add(n)})}),e},new Set):new Set,w=tQ(s.scenario.narratives);return T()(".create-scenario.row",[T()(".col.s12",[T()(J,{label:E("GENERATE_NARRATIVE"),iconName:"refresh",onclick:function(){var e=l.components,t=void 0===e?{}:e,i=t?Object.keys(u).reduce(function(e,n){return u[n]&&(e[n]=t[n]),e},{}):{};s.scenario.components.filter(function(e){return e.manual}).forEach(function(e){i[e.id]=t[e.id]});var o=tK(s.scenario,i);o?(n++,r.update({curNarrative:function(){return o}})):alert(E("NO_NARRATIVE"))}}),T()(J,{label:E("CLEAR_NARRATIVE"),iconName:"clear",style:"margin-left: 10px;",onclick:function(){n=0===n?1:0,e.setContents([]),r.update({lockedComps:function(){return{}},curNarrative:function(){return{included:!1,components:{}}}})}}),l.saved?[T()(J,{label:E("CLONE_NARRATIVE"),iconName:"content_copy",style:"margin-left: 10px;",onclick:function(){var e,t=tX(l);t.id=C(),t.saved=!1,t.label=t2(l.label,null===(e=s.scenario.narratives)||void 0===e?void 0:e.map(function(e){return e.label})),nn(r,t)}}),T()(J,{label:E("DELETE"),iconName:"delete",modalId:"deleteSavedNarrative"}),T()(er,{id:"deleteSavedNarrative",title:E("DELETE_ITEM","title",{item:E("NARRATIVE")}),description:E("DELETE_ITEM","description",{item:E("NARRATIVE")}),buttons:[{label:E("CANCEL")},{label:E("OK"),onclick:function(){n=0,s.scenario.narratives=s.scenario.narratives.filter(function(e){return e.id!==l.id}),t=!0,e.setContents([]),t=!1,r.update({curNarrative:function(){return{included:!1,components:{}}},lockedComps:function(){}}),nt(r,s)}}]})]:[T()(J,{label:E("SAVE_NARRATIVE"),iconName:"save",disabled:!l.label||!l.components||0===Object.keys(l.components).length,onclick:function(){nn(r,l)}})],y&&[T()(ea,{key:Date.now(),className:"right mb0 w30",label:E("SELECT_NARRATIVE"),checkedId:l.saved?l.id:void 0,placeholder:E("i18n","pickOne"),options:w,onchange:function(i){if(i&&i.length>0){n++;var o=y.filter(function(e){return e.id===i[0]}).shift();t=!0,e.setContents(o&&o.desc?JSON.parse(o.desc):[]),t=!1,r.update({curNarrative:function(){return o},lockedComps:function(){return s.scenario.components.reduce(function(e,t){return e[t.id]=!0,e},{})}})}}})]]),d?T()(l2,l3(l5({},r),{template:d})):"",f.map(function(e,t){return T()(".col.s12",{className:"m".concat(Math.round(12/f.length)),key:1e4*n+t},T()(l8,l3(l5({},r),{catId:e.id,excluded:b})))}),T()(".col.s12",[T()(".row",[T()(en,{className:"col s6 m3",initialValue:l.label,label:E("NAME_NARRATIVE"),required:!0,onchange:function(e){l.label=e,ni(r,l)}}),T()(ei,{className:"col s6 m3 mt25",checked:l.included,label:E("INCLUDE_NARRATIVE"),onchange:function(e){l.included=e,ni(r,l)}}),s.scenario.includeDecisionSupport&&[T()(ea,{key:"prob".concat(l.id),placeholder:E("i18n","pick"),className:"col s6 m2",label:E("PROBABILITY"),initialValue:l.probability,options:tk(0,4).map(function(e){return{id:"probability_".concat(e),label:E("PROB5",e)}}),onchange:function(e){l.probability=e[0],l6(l),ni(r,l)}}),T()(ea,{key:"imp".concat(l.id),placeholder:E("i18n","pick"),className:"col s6 m2",label:E("IMPACT"),initialValue:l.impact,options:tk(0,4).map(function(e){return{id:"impact_".concat(e),label:E("IMP5",e)}}),onchange:function(e){l.impact=e[0],l6(l),ni(r,l)}}),T()(ea,{key:"".concat(l.id,"-").concat(l.probability,"-").concat(l.impact),placeholder:E("RISK_PLACEHOLDER"),className:"col s6 m2",label:E("RISK"),initialValue:l.risk,options:tk(0,4).map(function(e){return{id:"risk_".concat(e),label:E("RISK5",e)}}),disabled:!0})]]),[T()("#editor",{oncreate:function(){(e=new s5("#editor",{modules:{toolbar:[[{header:[1,2,!1]}],["bold","italic","underline","strike"],[{list:"ordered"},{list:"bullet"}],[{script:"sub"},{script:"super"}],[{indent:"-1"},{indent:"+1"}],[{color:[]}],[{align:[]}],["image","code-block"]]},placeholder:E("EDITOR_PLACEHOLDER"),readOnly:!1,theme:"snow"})).on("text-change",function(){if(!t){var n=r.getState().curNarrative;n&&(n.desc=JSON.stringify(e.getContents()),ni(r,n))}}),l&&e.setContents(l.desc?JSON.parse(l.desc):[])}})]])])}}},l7=n("3205"),ce=function(e){var t=e.body,n=e.lang,i=e.css;return'\n<!doctype html>\n<html lang="'.concat(n,'">\n<head>\n ').concat(void 0===i?ct:i,"\n</head>\n\n<body>\n ").concat(t,"\n</body>\n</html>\n")},ct="<style>\ntd, th {\n text-align: left;\n border: 1px solid black;\n padding: 0.5rem;\n}\nth {\n background-color:#999;\n}\ntable {\n font-family: Calibri;\n font-size: 11pt;\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0.5rem;\n}\n</style>";function cn(e,t,n,i,r,o,s){try{var a=e[o](s),l=a.value}catch(e){n(e);return}a.done?t(l):Promise.resolve(l).then(i,r)}var ci=function(){var e;return{oninit:function(){return e=C()},view:function(t){var n=t.attrs,i=n.curNarrative,r=n.comps,o=(void 0===i?{}:i).components,s=r&&r.reduce(function(e,t){return t.values&&t.values.forEach(function(n){e[t.id+n.id]=n.label}),e},{});return[T()("table.highlight",{id:e},[T()("thead",T()("tr",[T()("th",E("DIMENSION")),T()("th",E("KEY_VALUE"))])),T()("tbody",o&&r&&s&&r.filter(function(e){return o[e.id]}).map(function(e){return T()("tr",[T()("th",e.label),T()("td",o[e.id].map(function(t){return s[e.id+t]}).join(", "))])}))]),T()(J,{label:E("COPY_TO_CLIPBOARD"),className:"right",iconName:"content_copy",onclick:function(){var t=function(t){if(!!t.clipboardData){var n=document.getElementById(e);n&&(console.log(n.outerHTML),t.clipboardData.setData("text/html",ce({body:n.outerHTML,lang:nw.currentLocale})),t.preventDefault())}};document.addEventListener("copy",t),document.execCommand("copy"),document.removeEventListener("copy",t)}})]}}},cr=function(){var e,t,n,i=(t=(e=function(e,t){var i,r,o;return function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],i=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}(this,function(s){switch(s.label){case 0:return i=n.getContents(),[4,(0,l7.generateWord)(i,{exportAs:"blob",paragraphStyles:{normal:{paragraph:{spacing:{before:0,after:12}},run:{font:"Calibri",size:24}}}})];case 1:if(r=s.sent(),!(o=document.getElementById("downloadAnchorElem")))return[2];return e.version=e.version?e.version++:1,o.setAttribute("href",URL.createObjectURL(r)),o.setAttribute("download","".concat(tV(e,t),".docx")),o.click(),[2]}})},function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function s(e){cn(o,i,r,s,a,"next",e)}function a(e){cn(o,i,r,s,a,"throw",e)}s(void 0)})}),function(e,n){return t.apply(this,arguments)});return{oninit:function(e){return t7(e.attrs,O.SHOW_SCENARIO)},view:function(e){var t,r,o=e.attrs,s=o.state,a=s.model,l=s.curNarrative,c=a.scenario,u=c.template,h=c.categories,d=void 0===h?[]:h,p=c.components,f=void 0===p?[]:p,m=d.length>1;if((!l||!l.saved)&&a.scenario.narratives&&a.scenario.narratives.length>0){var g=a.scenario.narratives[0];o.update({curNarrative:function(){return tE(g)}});return}var v=tQ(a.scenario.narratives);return T()(".show-scenario.row",[T()("a#downloadAnchorElem",{style:"display:none"}),T()(".col.s12",{style:"font-size: 24px"},[a.scenario&&a.scenario.narratives&&a.scenario.narratives.length>0&&[T()(ea,{className:"left mb0 mw30",label:E("SELECT_NARRATIVE"),checkedId:l&&l.saved?l.id:void 0,placeholder:E("i18n","pickOne"),options:v,onchange:function(e){if(e&&e.length>0){var t=a.scenario.narratives.filter(function(t){return t.id===e[0]}).shift();t&&n.setContents(t.desc?JSON.parse(t.desc):[]),o.update({curNarrative:function(){return tE(t)},lockedComps:function(){return a.scenario.components.reduce(function(e,t){return e[t.id]=!0,e},{})}})}}}),l&&[l.risk&&T()("img[title=risk-status].right",{src:t0(t1(tJ[+l.risk.replace("risk_","")],48))}),T()(J,{label:E("EXPORT2WORD"),iconName:"download",className:"right mt5",disabled:!l.desc,onclick:function(){return i(a,l.label)}}),T()(ei,{checked:l.included,label:E("NARRATIVE_INCLUDED"),disabled:!0,className:"right"})]]]),l&&[T()(".col.s12",{oncreate:function(){(n=new s5("#editor",{modules:{toolbar:!1},readOnly:!0,theme:"snow"})).setContents(l.desc?JSON.parse(l.desc):[])}},[T()(".col.s12",[T()("#editor.row",{})])]),u?T()(".col.s12",T()(l2,(t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),i.forEach(function(t){var i,r,o;i=e,r=t,o=n[t],r in i?Object.defineProperty(i,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):i[r]=o})}return e}({},o),r=(r={template:u},r),Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n.push.apply(n,i)}return n})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))):"",T()(".col.s12",T()(".row",[d.map(function(e){var t=e&&e.componentIds,n=t&&f.filter(function(e){return t.indexOf(e.id)>=0});return T()(".col",{className:"s".concat(12/d.length)},m&&T()("h5",e.label),T()(ci,{curNarrative:l,comps:n}))})]))]])}}};function co(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function cs(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,i,r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],s=!0,a=!1;try{for(r=r.call(e);!(s=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);s=!0);}catch(e){a=!0,i=e}finally{try{!s&&null!=r.return&&r.return()}finally{if(a)throw i}}return o}}(e,t)||cl(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ca(e){return function(e){if(Array.isArray(e))return co(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||cl(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function cl(e,t){if(e){if("string"==typeof e)return co(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return co(e,t)}}var cc=function(){var e,t=function(e,t,n){return{id:e,label:t,values:n}},n=["probability","impact","risk"],i=function(n){var i=n.scenario,r=i.components;e=i.categories.filter(function(e){return e.decisionSupport}).reduce(function(e,t){return e.push.apply(e,ca(r.filter(function(e){return t.componentIds&&t.componentIds.includes(e.id)}))),e},[t("probability",E("PROBABILITY"),tk(0,4).map(function(e){return{id:"probability_".concat(e),label:E("PROB5",e)}})),t("impact",E("IMPACT"),tk(0,4).map(function(e){return{id:"impact_".concat(e),label:E("IMP5",e)}})),t("risk",E("RISK"),tk(0,4).map(function(e){return{id:"risk_".concat(e),label:E("RISK5",e)}}))])};return{oninit:function(e){t7(e.attrs,O.DECISION_SUPPORT)},view:function(t){var r,o,s=t.attrs,a=s.state.model,l=a.scenario.narratives;i(a);var c=(void 0===l?[]:l).filter(function(e){return e.included}).sort(function(e,t){return(e.label||"").localeCompare(t.label)}),u=c.map(function(e){return e.risk||"0"}).map(function(e){return+e.replace("risk_","")+1}),h={id:"suggested_approach",included:!0,saved:!1,label:E("SUGGESTED_APPROACH","TITLE"),desc:E("SUGGESTED_APPROACH","DESC"),components:e.filter(function(e){return!n.includes(e.id)}).reduce(function(e,t){var n,i=c.map(function(e){return e.components&&e.components[t.id]}).reduce(function(e,t,n){return t&&0!==t.length?(t.filter(function(e){return e}).forEach(function(t){return e.set(t,(e.get(t)||0)+u[n])}),e):e},new Map),r=(n=Math).max.apply(n,ca(Array.from(i.values())));return e[t.id]=Array.from(i.entries()).filter(function(e){var t=cs(e,2);return t[0],t[1]===r}).map(function(e){var t=cs(e,2),n=t[0];return t[1],n}),e},{})};return c.push(h),T()(".row.decision-support",[T()(nX,(r=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),i.forEach(function(t){var i,r,o;i=e,r=t,o=n[t],r in i?Object.defineProperty(i,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):i[r]=o})}return e}({},s),o=(o={narratives:c,components:e},o),Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n.push.apply(n,i)}return n})(Object(o)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))}),r))])}}};function cu(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}var ch=new(function(){var e,t,n;function i(){var e,t,n;!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,i),e=this,n=void 0,(t="dashboards")in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}return e=i,t=[{key:"init",value:function(){var e=[{id:O.HOME,icon:"home",title:E("HOME","TITLE"),route:E("HOME","ROUTE"),visible:!0,default:!0,component:nW},{id:O.DEFINE_BOX,icon:"grid_view",title:E("DEFINE_BOX","TITLE"),route:E("DEFINE_BOX","ROUTE"),visible:!0,component:n7},{id:O.CREATE_SCENARIO,icon:"edit",title:E("CREATE_SCENARIO","TITLE"),route:E("CREATE_SCENARIO","ROUTE"),visible:!0,component:l9},{id:O.DECISION_SUPPORT,icon:"assistant_direction",title:E("DECISION_SUPPORT","TITLE"),route:E("DECISION_SUPPORT","ROUTE"),visible:function(e){return!!e&&e.includeDecisionSupport},component:cc},{id:O.SHOW_SCENARIO,icon:"visibility",title:E("SHOW_SCENARIO","TITLE"),route:E("SHOW_SCENARIO","ROUTE"),visible:!0,component:cr},{id:O.ABOUT,icon:"info",title:E("ABOUT","TITLE"),route:E("ABOUT","ROUTE"),visible:!0,component:nB},{id:O.SETTINGS,icon:"settings",iconClass:"blue-text",title:E("SETTINGS","TITLE"),route:E("SETTINGS","ROUTE"),visible:!0,component:nJ}];this.setList(e)}},{key:"getList",value:function(){return this.dashboards}},{key:"setList",value:function(e){this.dashboards=Object.freeze(e)}},{key:"defaultRoute",get:function(){var e=this.dashboards.filter(function(e){return e.default}).shift();return e?e.route:this.dashboards[0].route}},{key:"route",value:function(e,t){var n=this.dashboards.filter(function(t){return t.id===e}).shift();return n?"#!"+n.route+(t?"?"+T().buildQueryString(t):""):this.defaultRoute}},{key:"href",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=this.dashboards.filter(function(t){return t.id===e}).shift();return n?"#!".concat(n.route.replace(/:\w*/,"")).concat(t):this.defaultRoute}},{key:"switchTo",value:function(e,t,n){var i=this.dashboards.filter(function(t){return t.id===e}).shift();if(i){var r=i.route+(n?"?"+T().buildQueryString(n):"");T().route.set(r,t)}}},{key:"routingTable",value:function(){return this.dashboards.reduce(function(e,t){return e[t.route]=!1===t.hasNavBar?{render:function(){return T()(t.component,nc())}}:{render:function(){return T()(nA,nc(),T()(t.component,nc()))}},e},{})}}],cu(e.prototype,t),i}());window.onbeforeunload=function(e){"true"!==localStorage.getItem(tq)&&(localStorage.setItem(tq,"true"),e.preventDefault(),e.returnValue="")},nw.addOnChangeListener(function(e){console.log("Language loaded"),ch.init(),T().route(document.body,ch.defaultRoute,ch.routingTable())}),nw.init({en:{name:"English",fqn:"en-UK",default:!0},nl:{name:"Nederlands",fqn:"nl-NL"}},window.localStorage.getItem(tF)||"nl")}},t={};function n(i){var r=t[i];if(void 0!==r){if(void 0!==r.error)throw r.error;return r.exports}var o=t[i]={id:i,loaded:!1,exports:{}};try{var s={id:i,module:o,factory:e[i],require:n};n.i.forEach(function(e){e(s)}),o=s.module,!s.factory&&console.error("undefined factory",i),s.factory.call(o.exports,o,o.exports,s.require)}catch(e){throw o.error=e,e}return o.loaded=!0,o.exports}n.m=e,n.c=t,n.i=[],n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.k=function(e){return"main.css"},n.hu=function(e){return""+e+"."+n.h()+".hot-update.js"},n.h=function(){return"6189c8c9e95f38e6"},n.hmrF=function(){return"main."+n.h()+".hot-update.json"},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},(()=>{var e,t,i,r={},o=n.c,s=[],a=[],l="idle",c=0,u=[];n.hmrD=r,n.i.push(function(u){var m=u.module,g=function(t,n){var i=o[n];if(!i)return t;var r=function(r){if(i.hot.active){if(o[r]){var a=o[r].parents;-1===a.indexOf(n)&&a.push(n)}else s=[n],e=r;-1===i.children.indexOf(r)&&i.children.push(r)}else console.warn("[HMR] unexpected require("+r+") from disposed module "+n),s=[];return t(r)},a=function(e){return{configurable:!0,enumerable:!0,get:function(){return t[e]},set:function(n){t[e]=n}}};for(var u in t)Object.prototype.hasOwnProperty.call(t,u)&&"e"!==u&&Object.defineProperty(r,u,a(u));return r.e=function(e,n){return function(e){switch(l){case"ready":h("prepare");case"prepare":return c++,e.then(d,d),e;default:return e}}(t.e(e,n))},r}(u.require,u.id);m.hot=function(o,c){var u=e!==o,d={_acceptedDependencies:{},_acceptedErrorHandlers:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_selfInvalidated:!1,_disposeHandlers:[],_main:u,_requireSelf:function(){s=c.parents.slice(),e=u?void 0:o,n(o)},active:!0,accept:function(e,t,n){if(void 0===e)d._selfAccepted=!0;else if("function"==typeof e)d._selfAccepted=e;else if("object"==typeof e&&null!==e)for(var i=0;i<e.length;i++)d._acceptedDependencies[e[i]]=t||function(){},d._acceptedErrorHandlers[e[i]]=n;else d._acceptedDependencies[e]=t||function(){},d._acceptedErrorHandlers[e]=n},decline:function(e){if(void 0===e)d._selfDeclined=!0;else if("object"==typeof e&&null!==e)for(var t=0;t<e.length;t++)d._declinedDependencies[e[t]]=!0;else d._declinedDependencies[e]=!0},dispose:function(e){d._disposeHandlers.push(e)},addDisposeHandler:function(e){d._disposeHandlers.push(e)},removeDisposeHandler:function(e){var t=d._disposeHandlers.indexOf(e);t>=0&&d._disposeHandlers.splice(t,1)},invalidate:function(){switch(this._selfInvalidated=!0,l){case"idle":t=[],Object.keys(n.hmrI).forEach(function(e){n.hmrI[e](o,t)}),h("ready");break;case"ready":Object.keys(n.hmrI).forEach(function(e){n.hmrI[e](o,t)});break;case"prepare":case"check":case"dispose":case"apply":(i=i||[]).push(o)}},check:p,apply:f,status:function(e){if(!e)return l;a.push(e)},addStatusHandler:function(e){a.push(e)},removeStatusHandler:function(e){var t=a.indexOf(e);t>=0&&a.splice(t,1)},data:r[o]};return e=void 0,d}(u.id,m),m.parents=s,m.children=[],s=[],u.require=g}),n.hmrC={},n.hmrI={};function h(e){l=e;for(var t=[],n=0;n<a.length;n++)t[n]=a[n].call(null,e);return Promise.all(t).then(function(){})}function d(){0==--c&&h("ready").then(function(){if(0===c){var e=u;u=[];for(var t=0;t<e.length;t++)e[t]()}})}function p(e){if("idle"!==l)throw Error("check() is only allowed in idle status");return h("check").then(n.hmrM).then(function(i){return i?h("prepare").then(function(){var r=[];return t=[],Promise.all(Object.keys(n.hmrC).reduce(function(e,o){return n.hmrC[o](i.c,i.r,i.m,e,t,r),e},[])).then(function(){var t;return t=function(){return e?m(e):h("ready").then(function(){return r})},0===c?t():new Promise(function(e){u.push(function(){e(t())})})})}):h(g()?"ready":"idle").then(function(){return null})})}function f(e){return"ready"!==l?Promise.resolve().then(function(){throw Error("apply() is only allowed in ready status (state: "+l+")")}):m(e)}function m(e){e=e||{},g();var n,r=t.map(function(t){return t(e)});t=void 0;var o=r.map(function(e){return e.error}).filter(Boolean);if(o.length>0)return h("abort").then(function(){throw o[0]});var s=h("dispose");r.forEach(function(e){e.dispose&&e.dispose()});var a=h("apply"),l=function(e){!n&&(n=e)},c=[];return r.forEach(function(e){if(e.apply){var t=e.apply(l);if(t)for(var n=0;n<t.length;n++)c.push(t[n])}}),Promise.all([s,a]).then(function(){return n?h("fail").then(function(){throw n}):i?m(e).then(function(e){return c.forEach(function(t){0>e.indexOf(t)&&e.push(t)}),e}):h("idle").then(function(){return c})})}function g(){if(i)return!t&&(t=[]),Object.keys(n.hmrI).forEach(function(e){i.forEach(function(i){n.hmrI[e](i,t)})}),i=void 0,!0}})(),(()=>{var e={},t="gui:";n.l=function(i,r,o,s){if(e[i]){e[i].push(r);return}if(void 0!==o){for(var a,l,c=document.getElementsByTagName("script"),u=0;u<c.length;u++){var h=c[u];if(h.getAttribute("src")==i||h.getAttribute("data-webpack")==t+o){a=h;break}}}!a&&(l=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,n.nc&&a.setAttribute("nonce",n.nc),a.setAttribute("data-webpack",t+o),a.src=i),e[i]=[r];var d=function(t,n){a.onerror=a.onload=null,clearTimeout(p);var r=e[i];if(delete e[i],a.parentNode&&a.parentNode.removeChild(a),r&&r.forEach(function(e){return e(n)}),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),l&&document.head.appendChild(a)}})(),n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=function(e){return e.paths=[],!e.children&&(e.children=[]),e},n.rv=function(){return"1.1.4"},(()=>{n.g.importScripts&&(e=n.g.location+"");var e,t=n.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var i=t.getElementsByTagName("script");if(i.length){for(var r=i.length-1;r>-1&&(!e||!/^http(s?):/.test(e));)e=i[r--].src}}if(!e)throw Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{var e={},t=(t,i,o)=>{var s,a,l="",c="",u="",h={},d=[],p="--webpack-gui-"+o,f=1,m={};try{!i&&(i=r(o));for(var g=i.sheet.cssRules||i.sheet.rules,v=g.length-1;v>-1&&!s;){var y=g[v--].style;if(!!y)s=y.getPropertyValue(p)}}catch(e){}if(!s&&(s=getComputedStyle(document.head).getPropertyValue(p)),!s)return[];var b,w={},_=s[0],E=_,x=_,k=256;for(a=1;a<s.length;a++)x+=b=(f=s[a].charCodeAt(0))<256?s[a]:w[f]?w[f]:E+_,_=b.charAt(0),w[k]=E+_,++k>65535&&(k=256,w={}),E=b;for(a=0,s=x;f;a++)58==(f=s.charCodeAt(a))?(c=l,l=""):47==f?(l=l.replace(/^_/,""),c=c.replace(/^_/,""),u?m.push(c,u,l):h[c]=void 0===h[c]?l:h[c]+" "+l,l="",c="",u=""):38==f?n.r(h):f&&44!=f?92==f?l+=s[++a]:64==f?(u=l,l=""):l+=s[a]:(t[l=l.replace(/^_/,"")]=((e,t,i)=>{!function(e,t){for(var i=0;i<t.length;i+=3){var r=t[i],o=t[i+1],s=t[i+2],a=n(o)[s];e[r]=e[r]+" "+a}}(e,t),i.exports=e}).bind(null,h,m),d.push(l),l="",c="",h={},m=[]);return t==n.m&&(e[o]=0),d},i="data-webpack-loading",r=function(e,t,r,o,s){var a,l,c="chunk-"+e;if(!o){for(var u=document.getElementsByTagName("link"),h=0;h<u.length;h++){var d=u[h],p=d.getAttribute("href")||d.href;if(p&&!p.startsWith(n.p)&&(p=n.p+(p.startsWith("/")?p.slice(1):p)),"stylesheet"==d.rel&&(p&&p.startsWith(t)||d.getAttribute("data-webpack")=="gui:"+c)){a=d;break}}if(!r)return a}!a&&(l=!0,a=document.createElement("link"),n.nc&&a.setAttribute("nonce",n.nc),a.setAttribute("data-webpack","gui:"+c),s&&a.setAttribute("fetchpriority",s),a.setAttribute(i,1),a.rel="stylesheet",a.href=t);var f=function(e,t){if(a.onerror=a.onload=null,a.removeAttribute(i),clearTimeout(m),t&&"load"!=t.type&&a.parentNode.removeChild(a),r(t),e)return e(t)};if(a.getAttribute(i)){var m=setTimeout(f.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=f.bind(null,a.onerror),a.onload=f.bind(null,a.onload)}else f(void 0,{type:"load",target:a});return o?document.head.insertBefore(a,o):l&&document.head.appendChild(a),a};t(n.m,0,"909");var o=[],s=[],a=function(e){return{dispose:function(){},apply:function(){var e=[];for(s.forEach(function(e){e[1].sheet.disabled=!1});o.length;){var i=o.pop();i.parentNode&&i.parentNode.removeChild(i)}for(;s.length;){var r=s.pop();t(n.m,r[1],r[0]).forEach(function(t){e.push(t)})}return e}}},l=function(e){return Array.from(e.sheet.cssRules,function(e){return e.cssText}).join()};n.hmrC.css=function(e,i,c,u,h,d){h.push(a),e.forEach(function(e){var i=n.k(e),a=n.p+i,c=r(e,a);c&&u.push(new Promise(function(n,i){var u=r(e,a+(0>a.indexOf("?")?"?":"&")+"hmr="+Date.now(),function(r){if("load"!==r.type){var a=Error(),h=r&&r.type,p=r&&r.target&&r.target.src;a.message="Loading css hot update chunk "+e+" failed.\n("+h+": "+p+")",a.name="ChunkLoadError",a.type=h,a.request=p,i(a)}else{try{if(l(c)==l(u))return u.parentNode&&u.parentNode.removeChild(u),n()}catch(e){}var f={};t(f,u,e),Object.keys(f).forEach(function(e){d.push(e)}),u.sheet.disabled=!0,o.push(c),s.push([e,u]),n()}},c)}))})}})(),(()=>{var e,t,i,r,o,s=n.hmrS_jsonp=n.hmrS_jsonp||{909:0},a={};function l(t,i){return e=i,new Promise(function(e,i){a[t]=e;var r=n.p+n.hu(t),o=Error();n.l(r,function(e){if(a[t]){a[t]=void 0;var n=e&&("load"===e.type?"missing":e.type),r=e&&e.target&&e.target.src;o.message="Loading hot update chunk "+t+" failed.\n("+n+": "+r+")",o.name="ChunkLoadError",o.type=n,o.request=r,i(o)}})})}function c(e){n.f&&delete n.f.jsonpHmr,t=void 0;function a(e,t){for(var n=0;n<t.length;n++){var i=t[n];-1===e.indexOf(i)&&e.push(i)}}var l,c={},u=[],h={},d=function(e){console.warn("[HMR] unexpected require("+e.id+") to disposed module")};for(var p in i)if(n.o(i,p)){var f=i[p],m=f?function(e){for(var t=[e],i={},r=t.map(function(e){return{chain:[e],id:e}});r.length>0;){var o=r.pop(),s=o.id,l=o.chain,c=n.c[s];if(!!c&&(!c.hot._selfAccepted||!!c.hot._selfInvalidated)){if(c.hot._selfDeclined)return{type:"self-declined",chain:l,moduleId:s};if(c.hot._main)return{type:"unaccepted",chain:l,moduleId:s};for(var u=0;u<c.parents.length;u++){var h=c.parents[u],d=n.c[h];if(!d)continue;if(d.hot._declinedDependencies[s])return{type:"declined",chain:l.concat([h]),moduleId:s,parentId:h};if(-1===t.indexOf(h)){if(d.hot._acceptedDependencies[s]){!i[h]&&(i[h]=[]),a(i[h],[s]);continue}delete i[h],t.push(h),r.push({chain:l.concat([h]),id:h})}}}}return{type:"accepted",moduleId:e,outdatedModules:t,outdatedDependencies:i}}(p):{type:"disposed",moduleId:p},g=!1,v=!1,y=!1,b="";switch(m.chain&&(b="\nUpdate propagation: "+m.chain.join(" -> ")),m.type){case"self-declined":e.onDeclined&&e.onDeclined(m),!e.ignoreDeclined&&(g=Error("Aborted because of self decline: "+m.moduleId+b));break;case"declined":e.onDeclined&&e.onDeclined(m),!e.ignoreDeclined&&(g=Error("Aborted because of declined dependency: "+m.moduleId+" in "+m.parentId+b));break;case"unaccepted":e.onUnaccepted&&e.onUnaccepted(m),!e.ignoreUnaccepted&&(g=Error("Aborted because "+p+" is not accepted"+b));break;case"accepted":e.onAccepted&&e.onAccepted(m),v=!0;break;case"disposed":e.onDisposed&&e.onDisposed(m),y=!0;break;default:throw Error("Unexception type "+m.type)}if(g)return{error:g};if(v)for(p in h[p]=f,a(u,m.outdatedModules),m.outdatedDependencies)n.o(m.outdatedDependencies,p)&&(!c[p]&&(c[p]=[]),a(c[p],m.outdatedDependencies[p]));y&&(a(u,[m.moduleId]),h[p]=d)}i=void 0;for(var w=[],_=0;_<u.length;_++){var E=u[_],x=n.c[E];x&&(x.hot._selfAccepted||x.hot._main)&&h[E]!==d&&!x.hot._selfInvalidated&&w.push({module:E,require:x.hot._requireSelf,errorHandler:x.hot._selfAccepted})}return{dispose:function(){r.forEach(function(e){delete s[e]}),r=void 0;for(var e,t,i=u.slice();i.length>0;){var o=i.pop(),a=n.c[o];if(!!a){var h={},d=a.hot._disposeHandlers;for(_=0;_<d.length;_++)d[_].call(null,h);for(n.hmrD[o]=h,a.hot.active=!1,delete n.c[o],delete c[o],_=0;_<a.children.length;_++){var p=n.c[a.children[_]];p&&(e=p.parents.indexOf(o))>=0&&p.parents.splice(e,1)}}}for(var f in c)if(n.o(c,f)&&(a=n.c[f]))for(_=0,l=c[f];_<l.length;_++)t=l[_],(e=a.children.indexOf(t))>=0&&a.children.splice(e,1)},apply:function(t){for(var i in h)n.o(h,i)&&(n.m[i]=h[i]);for(var r=0;r<o.length;r++)o[r](n);for(var s in c)if(n.o(c,s)){var a=n.c[s];if(a){l=c[s];for(var d=[],p=[],f=[],m=0;m<l.length;m++){var g=l[m],v=a.hot._acceptedDependencies[g],y=a.hot._acceptedErrorHandlers[g];if(v){if(-1!==d.indexOf(v))continue;d.push(v),p.push(y),f.push(g)}}for(var b=0;b<d.length;b++)try{d[b].call(null,l)}catch(n){if("function"==typeof p[b])try{p[b](n,{moduleId:s,dependencyId:f[b]})}catch(i){e.onErrored&&e.onErrored({type:"accept-error-handler-errored",moduleId:s,dependencyId:f[b],error:i,originalError:n}),!e.ignoreErrored&&(t(i),t(n))}else e.onErrored&&e.onErrored({type:"accept-errored",moduleId:s,dependencyId:f[b],error:n}),!e.ignoreErrored&&t(n)}}}for(var _=0;_<w.length;_++){var E=w[_],x=E.module;try{E.require(x)}catch(i){if("function"==typeof E.errorHandler)try{E.errorHandler(i,{moduleId:x,module:n.c[x]})}catch(n){e.onErrored&&e.onErrored({type:"self-accept-error-handler-errored",moduleId:x,error:n,originalError:i}),!e.ignoreErrored&&(t(n),t(i))}else e.onErrored&&e.onErrored({type:"self-accept-errored",moduleId:x,error:i}),!e.ignoreErrored&&t(i)}}return u}}}self.webpackHotUpdategui=function(t,r,s){for(var l in r)n.o(r,l)&&(i[l]=r[l],e&&e.push(l));s&&o.push(s),a[t]&&(a[t](),a[t]=void 0)},n.hmrI.jsonp=function(e,t){!i&&(i={},o=[],r=[],t.push(c)),!n.o(i,e)&&(i[e]=n.m[e])},n.hmrC.jsonp=function(e,a,u,h,d,p){d.push(c),t={},r=a,i=u.reduce(function(e,t){return e[t]=!1,e},{}),o=[],e.forEach(function(e){n.o(s,e)&&void 0!==s[e]?(h.push(l(e,p)),t[e]=!0):t[e]=!1}),n.f&&(n.f.jsonpHmr=function(e,i){t&&n.o(t,e)&&!t[e]&&(i.push(l(e)),t[e]=!0)})},n.hmrM=function(){if("undefined"==typeof fetch)throw Error("No browser support: need fetch API");return fetch(n.p+n.hmrF()).then(function(e){if(404!==e.status){if(!e.ok)throw Error("Failed to fetch update manifest "+e.statusText);return e.json()}})}})(),n.ruid="bundler=rspack@1.1.4",n("9509")})(); +`,ek.forEach(([t,n])=>{e=e.replace(t,n)}),e=e.trim(),t&&(e=e.replace(/^<p>([\s\S]*)<\/p>$/,"$1")),n&&(e=e.replace(/<a href="/g,'<a target="_blank" href="')),e),eO=()=>"idxxxxxxxx".replace(/[x]/g,()=>(16*Math.random()|0).toString(16)),eC=["min","max","minLength","maxLength","rows","cols","placeholder","autocomplete","pattern","readOnly","step"],eA=e=>eC.indexOf(e)>=0,eS=({disabled:e})=>e?"[disabled]":"",eN=e=>{let t;return(e=>Object.keys(e).filter(eA).filter(t=>void 0!==e[t]).reduce((t,n)=>{let i=e[n];return t.push(`[${n.toLowerCase()}=${i}]`),t},[]).join(""))(e)+((t=e).maxLength?`[data-length=${t.maxLength}]`:"")+eS(e)+(({required:e,isMandatory:t})=>e||t?"[required][aria-required=true]":"")(e)+(({autofocus:e})=>"boolean"==typeof e&&e||e&&e()?"[autofocus]":"")(e)},eI=e=>!isNaN(parseFloat(e))&&isFinite(e);function eL(){return(eL=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function eM(e,t){if(null==e)return{};var n,i,r={},o=Object.keys(e);for(i=0;i<o.length;i++)t.indexOf(n=o[i])>=0||(r[n]=e[n]);return r}let eR=["label","id","isMandatory","isActive"],eP={view:({attrs:e})=>O()("span.mandatory",e,"*")},eD=()=>({view:e=>{let{attrs:{label:t,id:n,isMandatory:i,isActive:r}}=e,o=eM(e.attrs,eR);return t?O()(`label${r?".active":""}${n?`[for=${n}]`:""}`,o,[O().trust(t),i?O()(eP):void 0]):void 0}}),ej=()=>({view:({attrs:{helperText:e,dataError:t,dataSuccess:n,className:i}})=>e||t||n?O()("span.helper-text",{className:i,dataError:t,dataSuccess:n},e?O().trust(e):""):void 0}),eB=()=>{let e={id:eO()};return{view:({attrs:t})=>{let n=t.id||e.id,i=eN(t),{label:r,helperText:o,initialValue:s,onchange:a,newRow:l,className:c="col s12",style:u,iconName:d,isMandatory:h}=t;return O()(".input-field"+(l?".clear":""),{className:l?c+" clear":c,style:u},[d?O()("i.material-icons.prefix",d):"",O()(`input.autocomplete[type=text][tabindex=0]${i}`,{id:n,oncreate:({dom:e})=>{M.Autocomplete.init(e,t)},onchange:a?e=>{e.target&&e.target.value&&a(e.target.value)}:void 0,value:s}),O()(eD,{label:r,id:n,isMandatory:h,isActive:s}),O()(ej,{helperText:o})])}}},eF=["iconName"],eq=()=>({view:e=>{let{attrs:{iconName:t}}=e,n=eM(e.attrs,eF);return O()("i.material-icons",n,t)}}),eH=["modalId","tooltip","tooltipPostion","iconName","iconClass","label","attr"],e$=(e,t="")=>()=>{let n=`${e}${t}`;return{view:({attrs:e})=>{var t;let i,{modalId:r,tooltip:o,tooltipPostion:s,iconName:a,iconClass:l,label:c,attr:u}=e,d=eM(e,eH);return O()(`${n}${r?`.modal-trigger[href=#${r}]`:""}${o?`.tooltipped[data-position=${s||"top"}][data-tooltip=${o}]`:""}${(t=u)?((...e)=>t=>e.reduceRight((e,t)=>t(e),t))(e=>Array.prototype.join.call(e,""),(i=e=>`[${e.replace(/([A-Z])/g,e=>"-"+e.toLowerCase())}="${((e="")=>e.toString().replace(/"/g,"""))(t[e])}"]`,e=>Array.prototype.map.call(e,i)),Object.keys)(t):""}`,d,a?O()(eq,{iconName:a,className:l||"left"}):void 0,c||void 0)}}},eU=e$("a.waves-effect.waves-teal.btn-flat","[type=button]"),ez=e$("button.btn-floating.btn-large.waves-effect.waves-light","[type=button]"),eX=()=>({oncreate:({attrs:e,dom:t})=>{let{onchange:n,onChipAdd:i,onChipDelete:r}=e,o=M.Chips.getInstance(t.children[0]),s=i?i.bind(o):void 0;e.onChipAdd=function(e,t){n&&n(this.chipsData),s&&s(e,t)};let a=r?r.bind(o):void 0;e.onChipDelete=function(e,t){n&&n(this.chipsData),a&&a(e,t)},M.Chips.init(t.children[0],e)},onupdate:({dom:e,attrs:{data:t}})=>{if(!t||0===t.length)return;let n=M.Chips.getInstance(e.children[0]);t.forEach(e=>n.addChip(e))},view:({attrs:{placeholder:e,required:t,isMandatory:n=t,data:i,className:r="col s12",label:o,helperText:s}})=>O()(".input-field",{className:r},[O()(`.chips.chips-autocomplete${e?".chips-placeholder":""}${i?".chips-initial":""}`),o?O()(eD,{label:o,isMandatory:n,className:"active"}):void 0,s?O()(ej,{helperText:s}):void 0])}),eW=()=>({view:({attrs:{header:e,body:t,active:n,iconName:i}})=>O()(n?"li.active":"li",[e||i?O()(".collapsible-header",[i?O()("i.material-icons",i):void 0,e?"string"==typeof e?O()("span",e):e:void 0]):void 0,t?O()(".collapsible-body",t):void 0])}),eV=()=>({oncreate:({dom:e,attrs:t})=>{M.Collapsible.init(e,t)},view:({attrs:e})=>{let{items:t,class:n,className:i,style:r,id:o}=e;return t&&t.length>0?O()("ul.collapsible",{class:n||i,style:r,id:o},t.map(e=>O()(eW,e))):void 0}});(s=E||(E={}))[s.BASIC=0]="BASIC",s[s.LINKS=1]="LINKS",s[s.AVATAR=2]="AVATAR";let eK=["className","helperText","iconName","id","initialValue","isMandatory","label","onchange","onkeydown","onkeypress","onkeyup","onblur","style"],eG=["className","dataError","dataSuccess","helperText","iconName","id","initialValue","isMandatory","label","maxLength","newRow","onchange","onkeydown","onkeypress","onkeyup","onblur","style","validate"],eY=()=>{let e={id:eO()};return{view:({attrs:t})=>{let{className:n="col s12",helperText:i,iconName:r,id:o=e.id,initialValue:s,isMandatory:a,label:l,onchange:c,onkeydown:u,onkeypress:d,onkeyup:h,onblur:p,style:f}=t,m=eN(eM(t,eK));return O()(".input-field",{className:n,style:f},[r?O()("i.material-icons.prefix",r):"",O()(`textarea.materialize-textarea[tabindex=0][id=${o}]${m}`,{oncreate:({dom:e})=>{M.textareaAutoResize(e),t.maxLength&&M.CharacterCounter.init(e)},onchange:c?e=>{let t=e.target;c(t&&"string"==typeof t.value?t.value:"")}:void 0,value:s,onkeyup:h?e=>{h(e,e.target.value)}:void 0,onkeydown:u?e=>{u(e,e.target.value)}:void 0,onkeypress:d?e=>{d(e,e.target.value)}:void 0,onblur:p}),O()(eD,{label:l,id:o,isMandatory:a,isActive:s||t.placeholder}),O()(ej,{helperText:i})])}}},eZ=(e,t="")=>()=>{let n={id:eO()},i=t=>{let n=t.value;return n&&("number"===e||"range"===e)?+n:n},r=(e,t)=>{e.setCustomValidity("boolean"==typeof t?t?"":"Custom validation failed":t)};return{view:({attrs:o})=>{let{className:s="col s12",dataError:a,dataSuccess:l,helperText:c,iconName:u,id:d=n.id,initialValue:h,isMandatory:p,label:f,maxLength:m,newRow:g,onchange:v,onkeydown:y,onkeypress:b,onkeyup:w,onblur:_,style:E,validate:x}=o,k=eN(eM(o,eG));return O()(`.input-field${g?".clear":""}${t}`,{className:s,style:E},[u?O()("i.material-icons.prefix",u):void 0,O()(`input.validate[type=${e}][tabindex=0][id=${d}]${k}`,{oncreate:({dom:t})=>{(({autofocus:e})=>!!e&&("boolean"==typeof e?e:e()))(o)&&t.focus(),m&&M.CharacterCounter.init(t),"range"===e&&M.Range.init(t)},onkeyup:w?e=>{w(e,i(e.target))}:void 0,onkeydown:y?e=>{y(e,i(e.target))}:void 0,onkeypress:b?e=>{b(e,i(e.target))}:void 0,onblur:_,onupdate:x?({dom:e})=>{r(e,x(i(e),e))}:void 0,onchange:e=>{let t=e.target;if(t){let e=i(t);v&&v(e),x&&r(t,x(e,t))}},value:h}),O()(eD,{label:f,id:d,isMandatory:p,isActive:!(void 0===h&&!o.placeholder&&"number"!==e&&"color"!==e&&"range"!==e)}),O()(ej,{helperText:c,dataError:a,dataSuccess:l})])}}},eQ=eZ("text"),eJ=eZ("number"),e0=eZ("url"),e1=eZ("color"),e2=eZ("email"),e5=()=>{let e,t=!1;return{view:({attrs:n})=>{let{multiple:i,disabled:r,initialValue:o,placeholder:s,onchange:a,className:l="col s12",accept:c,label:u="File"}=n,d=c?c instanceof Array?c.join(", "):c:void 0,h=d?`[accept=${d}]`:"",p=s?`[placeholder=${s}]`:"";return O()(".file-field.input-field",{className:n.class||l},[O()(".btn",[O()("span",u),O()(`input[type=file]${i?"[multiple]":""}${r?"[disabled]":""}${h}`,{onchange:a?e=>{let n=e.target;n&&n.files&&a&&(t=!0,a(n.files))}:void 0})]),O()(".file-path-wrapper",O()(`input.file-path.validate${p}[type=text]`,{oncreate:({dom:t})=>{e=t,o&&(e.value=o)}})),(t||o)&&O()("a.waves-effect.waves-teal.btn-flat",{style:"float: right;position: relative;top: -3rem; padding: 0",onclick:()=>{t=!1,e.value="",a&&a({})}},O()("i.material-icons","clear"))])}}},e3=()=>({view:({attrs:{className:e="col s12",onchange:t,label:n,checked:i,disabled:r,description:o}})=>O()("div",{className:e},O()("label",[O()("input[type=checkbox][tabindex=0]",{checked:i,disabled:r,onclick:t?e=>{e.target&&void 0!==e.target.checked&&t(e.target.checked)}:void 0}),n?"string"==typeof n?O()("span",n):n:void 0]),o&&O()(ej,{className:"input-checkbox-desc",helperText:o}))}),e4=()=>{let e={},t=t=>e.checkedIds.indexOf(t)>=0;return{oninit:({attrs:{initialValue:t,checkedId:n}})=>{let i=n||t;e.checkedId=n,e.checkedIds=i?i instanceof Array?[...i]:[i]:[]},view:({attrs:{label:n,id:i,options:r,checkedId:o,description:s,className:a="col s12",disabled:l,checkboxClass:c,newRow:u,isMandatory:d,onchange:h}})=>{o&&e.checkedId!==o&&(e.checkedId=o,e.checkedIds=o instanceof Array?o:[o]);let p=h?(t,n)=>{let i=e.checkedIds.filter(e=>e!==t);n&&i.push(t),e.checkedIds=i,h(i)}:void 0;return O()("div"+(u?".clear":""),{className:a},[O()("div",{className:"input-field options"},O()(eD,{id:i,label:n,isMandatory:d})),O()(ej,{helperText:s}),...r.map(e=>O()(e3,{disabled:l||e.disabled,label:e.label,onchange:p?t=>p(e.id,t):void 0,className:e.className||c,checked:t(e.id),description:e.description}))])}}},e6=()=>({oncreate:({dom:e,attrs:{options:t,onCreate:n}})=>{let i=M.Modal.init(e,t);n&&n(i)},view:({attrs:{id:e,title:t,description:n,fixedFooter:i,bottomSheet:r,buttons:o,richContent:s}})=>O()(`.modal${i?".modal-fixed-footer":""}${r?".bottom-sheet":""}[id=${e}]`,[O()(".modal-content",[O()("h4",t),s&&"string"==typeof n?O().trust(n||""):"string"==typeof n?O()("p",n):n]),o?O()(".modal-footer",o.map(e=>O()(eU,eL({},e,{className:"modal-close"})))):void 0])}),e8=()=>({view:({attrs:{title:e,href:t,active:n,disabled:i}})=>O()("li",{className:n?"active":i?"disabled":"waves-effect"},"number"==typeof e?O()(O().route.Link,{href:t},e):e)}),e9=()=>{let e={pagIndex:0};return{view:({attrs:{items:t,curPage:n=1,size:i=Math.min(9,t.length)}})=>{let{pagIndex:r}=e,o=r*i,s=o+i,a=r>0,l=s<t.length,c=[{title:O()("a",{onclick:()=>a&&e.pagIndex--},O()("i.material-icons","chevron_left")),disabled:!a},...t.filter((e,t)=>o<=t&&t<s),{title:O()("a",{onclick:()=>l&&e.pagIndex++},O()("i.material-icons","chevron_right")),disabled:!l}];return O()("ul.pagination",c.map((e,t)=>O()(e8,eL({title:o+t},e,{active:o+t===n}))))}}},e7=["label","helperText","initialValue","newRow","className","iconName","isMandatory","onchange","disabled"],te=["label","helperText","initialValue","newRow","className","iconName","isMandatory","onchange","disabled"],tt=()=>{let e={id:eO()};return{view:t=>{let{attrs:{label:n,helperText:i,initialValue:r,newRow:o,className:s="col s12",iconName:a,isMandatory:l,onchange:c,disabled:u}}=t,d=eM(t.attrs,e7),h=e.id,p=eN(d),f=c?()=>e.dp&&c(e.dp.date):void 0;return O()(".input-field"+(o?".clear":""),{className:s,onremove:()=>e.dp&&e.dp.destroy()},[a?O()("i.material-icons.prefix",a):"",O()(`input.datepicker[type=text][tabindex=0][id=${h}]${p}${u?"[disabled]":""}`,{oncreate:({dom:t})=>{e.dp=M.Datepicker.init(t,eL({format:"yyyy/mm/dd",showClearBtn:!0,setDefaultDate:!0,defaultDate:r?new Date(r):new Date},d,{onClose:f}))}}),O()(eD,{label:n,id:h,isMandatory:l,isActive:!!r}),O()(ej,{helperText:i})])}}},tn=()=>{let e={id:eO()};return{view:t=>{let{attrs:{label:n,helperText:i,initialValue:r,newRow:o,className:s="col s12",iconName:a,isMandatory:l,onchange:c,disabled:u}}=t,d=eM(t.attrs,te),h=e.id,p=eN(d),f=new Date,m=c?()=>e.tp&&c(e.tp.time||r||`${f.getHours()}:${f.getMinutes()}`):void 0;return O()(`.input-field.timepicker${o?".clear":""}`,{className:s,onremove:()=>e.tp&&e.tp.destroy()},[a?O()("i.material-icons.prefix",a):"",O()(`input[type=text][tabindex=0][id=${h}]${p}${u?"[disabled]":""}`,{value:r,oncreate:({dom:t})=>{e.tp=M.Timepicker.init(t,eL({twelveHour:!1,showClearBtn:!0,defaultTime:r},d,{onCloseEnd:m}))}}),O()(eD,{label:n,id:h,isMandatory:l,isActive:r}),O()(ej,{helperText:i})])}}},ti=()=>({view:({attrs:{id:e,groupId:t,label:n,onchange:i,className:r="col s12",checked:o,disabled:s}})=>O()("div",{className:r},O()("label",[O()(`input[type=radio][tabindex=0][name=${t}]${o?"[checked=checked]":""}${s?"[disabled]":""}`,{onclick:i?()=>i(e):void 0}),O()("span",O().trust(n))]))}),tr=()=>{let e={groupId:eO()};return{oninit:({attrs:{checkedId:t,initialValue:n}})=>{e.oldCheckedId=t,e.checkedId=t||n},view:({attrs:{id:t,checkedId:n,newRow:i,className:r="col s12",label:o="",disabled:s,description:a,options:l,isMandatory:c,checkboxClass:u,onchange:d}})=>{e.oldCheckedId!==n&&(e.oldCheckedId=e.checkedId=n);let{groupId:h,checkedId:p}=e,f=t=>{e.checkedId=t,d&&d(t)};return i&&(r+=" clear"),O()("div",{id:t,className:r},[O()("div",{className:"input-field options"},O()(eD,{id:t,label:o,isMandatory:c})),a?O()("p.helper-text",O().trust(a)):"",...l.map(e=>O()(ti,eL({},e,{onchange:f,groupId:h,disabled:s,className:u,checked:e.id===p})))])}}},to=()=>{let e={},t=e=>e.map(e=>e.id).join(""),n=(e,t,n=!1)=>n||(t instanceof Array&&(e||"number"==typeof e)?t.indexOf(e)>=0:t===e);return{oninit:({attrs:{checkedId:n,initialValue:i,options:r}})=>{e.ids=t(r);let o=n||i;e.checkedId=n instanceof Array?[...n]:n,e.initialValue=null!=o?o instanceof Array?o.filter(e=>null!=e):[o]:[]},view:({attrs:{id:i,newRow:r,className:o="col s12",checkedId:s,key:a,options:l,multiple:c,label:u,helperText:d,placeholder:h="",isMandatory:p,iconName:f,disabled:m,classes:g="",dropdownOptions:v,onchange:y}})=>{e.checkedId!==s&&(e.initialValue=s?s instanceof Array?s:[s]:void 0);let{initialValue:b}=e,w=y?c?()=>{let t=e.instance&&e.instance.getSelectedValues(),n=t?t.length>0&&eI(t[0])?t.map(e=>+e):t.filter(e=>null!==e||void 0!==e):void 0;e.initialValue=n||[],y(e.initialValue)}:t=>{if(t&&t.currentTarget){let n=t.currentTarget,i=eI(n.value)?+n.value:n.value;e.initialValue=[i]}e.initialValue&&y(e.initialValue)}:void 0;r&&(o+=" clear");let _=!l.some(e=>n(e.id,b)),E=l.reduce((e,t)=>(t.group&&0>e.indexOf(t.group)&&e.push(t.group),e),[]);return O()(".input-field.select-space",{className:o,key:a,oncreate:c?({dom:t})=>e.wrapper=t:void 0},[f&&O()("i.material-icons.prefix",f),O()("select",{id:i,title:u,disabled:m,multiple:c,oncreate:({dom:t})=>{e.instance=M.FormSelect.init(t,{classes:g,dropdownOptions:v})},onupdate:({dom:n})=>{if(c){let t=f?1:0;!e.inputEl&&e.wrapper&&e.wrapper.childNodes&&e.wrapper.childNodes.length>0&&e.wrapper.childNodes[t].childNodes&&e.wrapper.childNodes[t].childNodes[0]&&(e.inputEl=e.wrapper.childNodes[t].childNodes[0]),e.inputEl&&e.inputEl.value&&e.inputEl.value.startsWith(`${h}, `)&&(e.inputEl.value=e.inputEl.value.replace(`${h}, `,""))}let i=t(l),r=s&&e.checkedId!==s.toString();e.ids!==i&&(e.ids=i,r=!0),(e.checkedId instanceof Array&&s instanceof Array?e.checkedId.join()!==s.join():e.checkedId!==s)&&(e.checkedId=s,r=!0),r&&(e.instance=M.FormSelect.init(n,{classes:g,dropdownOptions:v}))},onchange:w},O()("option",{value:"",disabled:!0,selected:!!_||void 0},h),0===E.length?l.map((e,t)=>{var i;return O()("option",{value:e.id,title:e.title||void 0,disabled:e.disabled?"true":void 0,"data-icon":e.img||void 0,selected:n(e.id,b,0===t&&_&&!h)},null==(i=e.label)?void 0:i.replace("&","&"))}):E.map(e=>O()("optgroup",{label:e},l.filter(t=>t.group===e).map((e,t)=>{var i;return O()("option",{value:e.id,title:e.title||void 0,disabled:e.disabled?"true":void 0,"data-icon":e.img||void 0,selected:n(e.id,b,0===t&&_&&!h)},null==(i=e.label)?void 0:i.replace("&","&"))})))),O()(eD,{label:u,isMandatory:p}),d&&O()(ej,{helperText:d})])}}},ts=["label","left","right","disabled","newRow","onchange","checked","isMandatory","className"],ta=()=>{let e={id:eO()};return{view:({attrs:t})=>{let n=t.id||e.id,{label:i,left:r,right:o,disabled:s,newRow:a,onchange:l,checked:c,isMandatory:u,className:d="col s12"}=t,h=eM(t,ts);return O()("div"+(a?".clear":""),{className:d},[i?O()(eD,{label:i||"",id:n,isMandatory:u}):void 0,O()(".switch",h,O()("label",[r||"Off",O()(`input[id=${n}][type=checkbox]${eS({disabled:s})}${c?"[checked]":""}`,{onclick:l?e=>{e.target&&void 0!==e.target.checked&&l(e.target.checked)}:void 0}),O()("span.lever"),o||"On"]))])}}},tl=()=>{let e={},t=(e,t)=>t||e.replace(/ /g,"").toLowerCase();return{view:({attrs:{tabWidth:n,selectedTabId:i,tabs:r,className:o,style:s,duration:a,onShow:l,swipeable:c,responsiveThreshold:u}})=>{let d=r.filter(e=>e.active).shift(),h=i||(d?t(d.title,d.id):"");return O()(".row",[O()(".col.s12",O()("ul.tabs"+("fill"===n?".tabs-fixed-width":""),{className:o,style:s,oncreate:({dom:t})=>{e.instance=M.Tabs.init(t,{duration:a,onShow:l,responsiveThreshold:u,swipeable:c})},onupdate:()=>{if(h){let e=document.getElementById(`tab_${h}`);e&&e.click()}},onremove:()=>e.instance.destroy()},r.map(({className:e,title:i,id:o,active:s,disabled:a,target:l,href:c})=>O()(`li.tab${a?".disabled":""}${"fixed"===n?`.col.s${Math.floor(12/r.length)}`:""}`,{className:e},O()(`a[id=tab_${t(i,o)}]${s?".active":""}`,{target:l,href:c||`#${t(i,o)}`},i))))),r.filter(({href:e})=>void 0===e).map(({id:e,title:n,vnode:i,contentClass:r})=>O()(`.col.s12[id=${t(n,e)}]`,{className:r},i))])}}},tc=e=>e.charAt(0).toUpperCase()+e.slice(1),tu=(e,t=2,n="0")=>e.toString().length>=t?e.toString():tu(n+e,t,n),td=e=>e?`${tu(e.getHours())}:${tu(e.getMinutes())}`:"00:00",th=(e,t)=>{let n=(t=(t=t.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split("."),i={...e};for(let t=0,r=n.length;t<r;++t){let r=n[t];if("object"==typeof i&&r in i)i=i[r];else{if(!(i instanceof Array))return;{let t=e[r]||r,n=/([A-Z]\w+)/.exec(r),o=n&&n[0][0].toLowerCase()+n[0].substr(1)||r,s=i.filter(e=>e[o]===t).shift();if(!s)return;i=s}}}return i},tp=e=>e.reduce((e,t)=>t instanceof Array?[...e,...t]:[...e,t],[]),tf=/([^ =><]*)\s*([=><]*)\s*(\S*)/i,tm=/^\s*!\s*/,tg=/===?|[^<>=]/i,tv=function(e){var t=[].slice.call(arguments,1);return 0===e.length||(e instanceof Array?e:[e]).some(e=>{let n,i;return n=e,i=tg.test(e)?[t[0]]:tp(t),n.split("&").reduce((e,t)=>{let n=tm.test(t),r=n?t.replace(tm,""):t;return e=e&&i.filter(Boolean).reduce((e,t)=>e||((e,t)=>{if(!t||0===Object.keys(t).length)return!1;let n=tf.exec(e);if(n){let[e,i,r,o]=n,s=th(t,i.trim());if(void 0===s||"string"==typeof s&&0===s.length)return!1;if(!r||!o)return!0;{let t=isNaN(+o)?"true"===o||"false"!==o&&o:+o;switch(r){case"=":case"==":case"===":return s instanceof Array?s.indexOf(t)>=0:s===t;case"<=":return s<=t;case">=":return s>=t;case"<":return s<t;case">":return s>t;default:return console.error(`Unrecognized operand (${r}) in expression: ${e}`),!1}}}return!0})(r.trim(),t),!1),n?!e:e},!0)})},ty=(e,t)=>th(t.filter(Boolean).reduceRight((e,t)=>({...t,...e})),e.trim()),tb=(e,t)=>void 0!==ty(e,t),tw=/{{\s*([^\s"'`:]*):?([^\s]*)\s*}}/g,t_=function(e){let t;if(!tw.test(e))return!0;tw.lastIndex=0;let n=!0;do(t=tw.exec(e))&&(t.index===tw.lastIndex&&tw.lastIndex++,t.forEach((e,t,[,i])=>{n=n&&tb(i,[].slice.call(arguments,1))}));while(n&&null!==t);return n},tE=(e,t)=>{if(void 0===e)return"";if(e instanceof Array)return e.map(e=>tE(e,t)).join(", ");if(!t)return e.toString();if("boolean"==typeof e){let n=t.indexOf(":");return e?t.substring(0,n):t.substring(n+1)}switch(t){default:return e.toString();case"date":return new Date(e).toLocaleDateString();case"time":return new Date(e).toLocaleTimeString();case"iso":return new Date(e).toISOString();case"utc":return new Date(e).toUTCString()}},tx=function(e){let t;if(!tw.test(e))return e;tw.lastIndex=0;do(t=tw.exec(e))&&(t.index===tw.lastIndex&&tw.lastIndex++,t.forEach((t,n,[i,r,o])=>{let s=ty(r,[].slice.call(arguments,1));!s||s instanceof Array||(e=e.replace(i,tE(s,o)))}));while(null!==t);return e},tk=e=>{if(null===e)return e;if(e instanceof Date)return new Date(e.getTime());if(e instanceof Array){let t=[];return e.forEach(e=>{t.push(e)}),t.map(e=>tk(e))}if("object"==typeof e){let t={...e};return Object.keys(t).forEach(e=>{t[e]=tk(t[e])}),t}return e},tT=(e="")=>e.replace(/\s|,|\./g,"").toLowerCase(),tO=(e,t,n=1)=>{let i=[];for(let r=e;r<=t;r+=n)i.push(r);return i},tC=e=>{"string"!=typeof e&&(e=JSON.stringify(e));let t=0;if(0===e.length)return t;for(var n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t&=t;return t},tA=(e,t,n)=>{let i=Object.assign({},t,n);return`${e}?${Object.keys(i).map(e=>`${e}=${i[e]}`).join("&")}`},tS=()=>({view:({attrs:{md:e="",removeParagraphs:t=!1,externalLinks:n=!1,...i}})=>O()(".slimdown-view.markdown",i,O().trust(eT(e,t,n)))}),tN=()=>({view:({attrs:{type:e,props:t,label:n="",initialValue:i,inline:r=!1}})=>{let o={className:t.className||"col s12"};if(i instanceof Array&&i.length>3)return O()(".readonly",o,[O()("label",n),O()(tS,{md:"\n- "+i.join("\n- ")})]);if("string"==typeof i)return O()(".readonly",o,"url"===e?[O()("label",`${n.trim()}: `),O()("a[target=_blank]",{href:i},i)]:"color"===e?[O()("label",`${n.trim()}: `),O()(".color",{style:`height: 1rem; width: 40px; border-radius: 4px; background-color: ${i}`})]:[O()("label",n),O()(tS,{md:i})]);let s=i instanceof Array?i.join(", "):i;return O()(".readonly",o,[n&&O()("label",n),r?O()("span",s?`: ${s}`:O().trust(" ")):O()("p",s||O().trust(" "))])}}),tI=()=>{let e;let t={},n=(e,n)=>{let i=e instanceof Array?e.length:e.hasOwnProperty(n)?e[n].length:0,r=t.onNewItem?t.onNewItem(e,n,i):{};e instanceof Array?e.push(r):e.hasOwnProperty(n)?e[n].push(r):e[n]=[r]},i=e=>{e.preventDefault()};return{oninit:({attrs:{i18n:n={},field:{id:i="",sortProperty:r,onNewItem:o}}})=>{t.editLabel=n.editRepeat||`Edit ${String(i)}`,t.createLabel=n.createRepeat||`Create new ${String(i)}`,t.onNewItem=o,e=(e=>{if(!e)return(e,t)=>0;let t="!"===e[0],n=t?e.substring(1):e;return t?(e,t)=>e[n]>t[n]?-1:e[n]<t[n]?1:0:(e,t)=>e[n]>t[n]?1:e[n]<t[n]?-1:0})(r)},view:({attrs:{field:r,obj:o,context:s,className:a=r.className?"."+r.className.split(" ").join("."):".col.s12",section:l,containerId:c,disabled:u="boolean"==typeof r.disabled?r.disabled:void 0,readonly:d,i18n:h={},onchange:p}})=>{let f,m;let{filterValue:g}=t,{id:v,label:y,type:b,min:w,max:_,pageSize:E,propertyFilter:x,filterLabel:k,readonly:T=d,repeatItemClass:C=""}=r,A=(f=o,m=v,f instanceof Array?f:(f.hasOwnProperty(m)||(f[m]=[]),f[m])),S=g?tT(g):void 0,N=x&&S&&S.length>2?A.filter(e=>tT(`${e[x]}`).indexOf(S)>=0):A,I=(e=>{let t=window.location.hash.split("?")[1];return t?new URLSearchParams(t).get(e):null})(String(v)),L=I?Math.min(N.length,+I):1,R=E&&N&&(L-1)*E<N.length?L:1,P=O().route.get()||location.href.replace(location.origin,"").replace("/#!",""),D=E?Math.ceil(N.length/E):0,j=!!(_&&N.length>=_),B=!u&&!T&&(!w||N.length>w),F=P?P.split("?")[0]:"",q=(e=>{let t=e?e.split("?")[1]:window.location.search.slice(1),n={};if(t){let e=t.split("&");for(var i=0;i<e.length;i++){let t=e[i].split("="),r=t[0],o=void 0===t[1]||t[1];if(r.match(/\[(\d+)?\]$/)){let e=n[r.replace(/\[(\d+)?\]/,"")]||[];r.match(/\[\d+\]$/)?e[+/\[(\d+)\]/.exec(r)[1]]=o:e.push(o)}else n[r]?("string"==typeof n[r]&&(n[r]=[n[r]]),n[r].push(o)):n[r]=o}}return n})(P),H=30+10*Math.floor(Math.log10(N.length)),U=0===D;return[[O()(`#${String(v)}.mui-repeat-list${a}`,[O()(".row.mui-repeat-list-controls",O()(".col.s12",[O()(eU,{iconName:u||T||j?"":"add",iconClass:"right",label:y,onclick:()=>{n(o,String(v)),v&&O().route.set(F,Object.assign(q,{[v]:N.length})),p&&p(o)},style:{padding:0},className:"left",disabled:u||j,readonly:T}),D>1&&O()(".right",O()(e9,{curPage:R,items:tO(1,D).map(e=>({href:tA(F,q,{[v]:e})}))})),(N.length>1||g)&&x&&!u&&O()(eQ,{style:"margin-top: -6px; margin-bottom: -1rem;",iconName:"filter_list",iconClass:"small",placeholder:k,onkeyup:(e,n)=>t.filterValue=n,className:"right",disabled:u,readonly:T})])),N&&N.length>0&&"string"!=typeof b&&N.sort(e).filter(E?(e,t)=>(R-1)*E<=t&&t<R*E:()=>!0).map((e,n)=>O()(".mui-repeat-item",{key:n,draggable:U,ondragstart:U?e=>{var t,i;return t=e,i=n,void t.dataTransfer?.setData("text/plain",i.toString())}:void 0,ondragover:U?i:void 0,ondrop:U?e=>((e,t,n,i,r)=>{let o=parseInt(e.dataTransfer?.getData("text")||"0",10),s=[...n[i]],[a]=s.splice(o,1);s.splice(t,0,a),n[i]=s,r&&r(n),e.preventDefault()})(e,n,o,v,p):void 0,style:{display:"flex",cursor:U?"move":void 0}},[B&&[(!E||E>1)&&O()("span.mui-show-item-number left",{style:`flex: 0 0 ${H}px;`},`[${(E?(R-1)*E+n:n)+1}]`)],[O()(".row.repeat-item",{className:C,key:L+tC(e),style:"flex: 1;"},[b&&O()(tR,{form:b,obj:e,i18n:h,context:s instanceof Array?[o,...s]:[o,s],section:l,containerId:c,disabled:u,readonly:T,onchange:()=>p&&p(o)})])],B&&[O()(eU,{iconName:"delete",className:"mui-delete-item",iconClass:"mui-delete-icon",style:{flex:"0 0 20px",padding:0},disabled:u,readonly:T,onclick:()=>{t.curItemIdx=E?(R-1)*E+n:n}})]])),!(u||j||T||!N||0===N.length||1===E)&&O()(ez,{iconName:"add",className:"row mui-add-new-item btn-small right",title:y,style:"padding: 0; margin-top: -10px; margin-right: -25px",onclick:()=>{n(o,String(v)),O().route.set(F,Object.assign(q,{[v]:N.length})),p&&p(o)}})])],void 0!==t.curItemIdx&&O()(e6,{id:"deleteItem",onCreate:e=>e.open(),options:{onCloseStart:()=>{t.curItemIdx=void 0,O().redraw()}},fixedFooter:!0,title:h.deleteItem||"Delete item",description:O()(tR,{form:b,obj:N[t.curItemIdx],context:s instanceof Array?[o,...s]:[o,s],section:l,containerId:c,readonly:!0,i18n:h}),buttons:[{label:h.disagree||"Disagree"},{label:h.agree||"Agree",onclick:()=>{void 0!==t.curItemIdx&&(N.splice(t.curItemIdx,1),o instanceof Array?o=[...N]:o[v]=[...N],p&&p(o))}}]})]}}},tL=()=>{let e={};return{oninit:({attrs:{i18n:t={}}})=>{let{raw:n="RAW",view:i="VIEW"}=t;e.raw=n,e.view=i},view:({attrs:{field:{id:t="",type:n,onSelect:i},obj:r,context:o,containerId:s,disabled:a,readonly:l,i18n:c,onchange:u}})=>{if(r instanceof Array)return;let d=r[t],h=d?JSON.parse(d):void 0,p=h&&h.features||[],f=[],m={title:e.raw,vnode:O()(eY,{class:"col s12",initialValue:h?JSON.stringify(h,null,2):void 0,placeholder:"Enter GeoJSON",onchange:e=>r[t]=e})};if(!n||"string"==typeof n)return;let g=n.length>0?n[0].id:void 0,v={title:e.view,vnode:p.length?O()(eV,{oncreate:({dom:t})=>e.dom=t,onOpenStart:i?t=>{let n=e.dom.children||[];for(let e=0;e<n.length;e++)if(n[e]===t)return void i(e,p[e])}:void 0,className:"geojson-feature-list",items:p.map((e,i)=>(e.properties||(e.properties={}),{id:"erik_"+i,key:i,header:g&&e.properties[g]||e.geometry.type,body:O()(".row",O()(tR,{class:"col s12",form:n,obj:e.properties,i18n:c,context:o instanceof Array?[r,...o]:[r,o],containerId:s,disabled:a,readonly:l,onchange:(e,n)=>{n&&(p[i].properties=n),r[t]=JSON.stringify(h,null,2),u&&u(r)}}))}))}):O()("span","...")};return f.push(v),f.push(m),O()(tl,{tabs:f,tabWidth:"fill"})}}},tM=((e={},t={})=>()=>{let n={key:Date.now()};return{view:({attrs:{i18n:i,field:r,obj:o,autofocus:s,onchange:a,context:l=[],containerId:c,disabled:u,readonly:d}})=>{let{id:h="",type:p,disabled:f=u,readonly:m=d,value:g,required:v,autogenerate:y,show:b,label:w,description:_,i18n:E=i||{},checkAllOptions:x,transform:k,effect:T,onkeyup:C,onkeydown:A,onblur:S}=r;if(b&&!tv(b,o,l)||w&&!t_(w,o,l)||_&&!t_(_,o,l))return;let N="string"==typeof r.options?ty(r.options,[o,...l]):r.options,I=N&&N instanceof Array?N.filter(e=>void 0!==e.id&&(e.label||isNaN(Number(e.id)))&&(!e.show||tv(e.show,o,l))).map(e=>e.label?e:{...e,label:tc(e.id)}):[],L="boolean"==typeof u&&u,R=((e,t=!1,n=!1)=>{let{id:i="",label:r,description:o,required:s,multiple:a,className:l,checkboxClass:c,icon:u,iconClass:d,placeholder:h,maxLength:p,minLength:f,max:m,min:g,step:v,dateTimeOutput:y,dateTimeSeconds:b,dateFormat:w,twelveHour:_}=e,E={id:`mui_${String(i)}-${eO()}`,label:r};return void 0===r&&i&&(E.label=tc(String(i))),o&&(E.helperText=eT(o,!0)),l&&(E.className=l),u&&(E.iconName=u),d&&(E.iconClass=d),c&&(E.checkboxClass=c),h&&(E.placeholder=h),s&&(E.isMandatory=!0),a&&(E.multiple=a),n&&(E.disabled=!0),t&&(E.autofocus=!0),void 0!==p&&(E.maxLength=p),void 0!==f&&(E.minLength=f),void 0!==m&&(E.max=m),void 0!==g&&(E.min=g),void 0!==v&&(E.step=v),y&&(E.dateTimeOutput=y),b&&(E.dateTimeSeconds=b),w&&(E.dateFormat=w),_&&(E.twelveHour=_),E})(r,s,"boolean"==typeof f||void 0===f?L||f:L||tv(f,o,l));w&&(R.label=eT(tx(R.label||w,o,l),!0)),_&&(R.description=eT(tx(R.description||_,o,l),!0));let P=v?e=>!(e instanceof Array)||e&&e.length>0:void 0;if(o instanceof Array)return void console.warn("Only a repeat list can deal with arrays!");let D=function(e){try{return void 0===e||"undefined"===e?(delete o[h],a(o),Promise.resolve()):(o[h]=k?k("to",e):e,T?Promise.resolve(T(o,o[h],l)).then(function(e){a(void 0!==e?e:o)}):Promise.resolve(a(o)))}catch(e){return Promise.reject(e)}};if(p instanceof Array)return h?(o.hasOwnProperty(h)||(o[h]={}),O()(".muf-form",{className:r.className},[O()(".muf-form-header",O().trust(eT(R.label||tc(String(h)),!0))),R.description&&O()("div",O().trust(eT(R.description))),O()(".row",O()(tR,{...R,i18n:E,readonly:m,form:p,obj:o[h],context:l instanceof Array?[o,...l]:[o,l],onchange:()=>a&&a(o),containerId:c}))])):void console.warn("Missing ID for type "+JSON.stringify(p));y&&!o[h]&&(o[h]="guid"===y?"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}):"id"===y?eO():Date.now());let j=o.hasOwnProperty(h)&&void 0!==o[h]?k?k("from",o[h]):o[h]:g;h&&void 0!==g&&void 0!==j&&(o[h]=k?k("to",j):j);let[B,F]=x?x.split("|"):["",""];if(m&&p&&0>["md","none"].indexOf(p)){if(t.hasOwnProperty(p))return O()(t[p],{iv:j,field:r,props:R,label:R.label,obj:o,context:l});if(p&&e.hasOwnProperty(p))return O()(e[p],{iv:j,field:r,props:R,label:R.label,onchange:D,obj:o,context:l});switch(p){case"time":{let e=E.dateTimeOptions?{hour:"2-digit",minute:"2-digit",second:void 0,...E.dateTimeOptions,weekday:void 0,month:void 0,day:void 0,year:void 0}:void 0,t="number"==typeof j||"string"==typeof j||j instanceof Date?new Date(j):void 0,n=t?t.toLocaleTimeString(E.locales,e):"";return O()(tN,{props:R,label:R.label,initialValue:n})}case"date":{let e=E.dateTimeOptions?{...E.dateTimeOptions,hour:void 0,hour12:void 0,minute:void 0,second:void 0}:void 0,t="number"==typeof j||"string"==typeof j||j instanceof Date?new Date(j):void 0,n=t?t.toLocaleDateString(E.locales,e):"";return O()(tN,{props:R,label:R.label,initialValue:n})}case"datetime":{let e=E.dateTimeOptions?{hour:"2-digit",minute:"2-digit",month:"numeric",day:"numeric",...E.dateTimeOptions}:void 0,t="number"==typeof j||"string"==typeof j||j instanceof Date?new Date(j):void 0,n=t?t.toLocaleTimeString(E.locales,e):"";return O()(tN,{props:R,label:R.label,initialValue:n})}case"switch":case"checkbox":return O()(tN,{props:R,label:R.label,initialValue:j?"✔":"✘",inline:!0});case"tags":return O()(tN,{props:R,label:R.label,initialValue:j||[]});case"options":case"select":{let e=void 0!==j?j instanceof Array?j:[j]:[],t=I.filter(t=>e.indexOf(t.id)>=0),n=t&&0===t.length?"?":1===t.length?t[0].label:t.map(e=>e.label);return O()(tN,{props:R,label:R.label,initialValue:n})}case"radio":{let e=I.filter(e=>e.id===j);return O()(tN,{props:R,label:R.label,initialValue:e&&e.length?e[0].label:"?"})}case"base64":return!(!j||!/data:image/i.test(j))&&O()("div",O()("img.responsive-img",{src:j,alt:o.title||o.alt||o.name||"",style:`max-height: ${r.max||50}px`}));case"file":return O()("div",R,(j instanceof Array?j:[j]).map((e="")=>{let t=/data:image|.jpg$|.jpeg$|.png$|.gif$|.svg$|.bmp$|.tif$|.tiff$/i.test(e),n=`${new URL(r.url).origin}${e}`;return O()("a[target=_blank]",{href:n},t?O()("img",{src:n,alt:n,style:`max-height: ${r.max||50}`}):O()(tN,{props:R,label:r.placeholder||"File",initialValue:e}))}));case"md":case"markdown":{let e="string"==typeof j&&j?eT(j):"";return O()(tN,{props:R,label:R.label,initialValue:e})}default:return O()(tN,{props:R,type:p,label:R.label,initialValue:j})}}else{if(p&&e.hasOwnProperty(p))return O()(e[p],{iv:j,field:r,props:R,label:R.label,onchange:D,obj:o,context:l});switch(p){case"colour":case"color":return O()(e1,{...R,initialValue:j,onchange:D,onblur:S});case"time":{let{twelveHour:e=!1}=R,t=j?"number"==typeof j||"string"==typeof j?new Date(j):j:new Date,n=td(t);return o[h]=k?k("to",t):t,O()(tn,{...R,twelveHour:e,initialValue:n,onchange:e=>{let n=e.split(":").map(e=>+e);t.setHours(n[0],n[1]),D(t)},container:c})}case"date":{let{format:e="mmmm d, yyyy"}=R,t="number"==typeof j||"string"==typeof j?new Date(j):j;o[h]=t?k?k("to",t.valueOf()):t.valueOf():t;let{min:n,max:i}=R,r=n?!t||n<t.valueOf()?new Date(n):t:void 0,s=i?!t||i>t.valueOf()?new Date(i):t:void 0;return O()(tt,{...R,minDate:r,maxDate:s,setDefaultDate:!!t,format:e,initialValue:t,onchange:e=>{D(new Date(e))},container:c})}case"datetime":{let{label:e,className:t="col s12",dateTimeSeconds:n=!1,twelveHour:i=!1,format:r="mmmm d, yyyy",...o}=R,s="number"==typeof j||"string"==typeof j?new Date(j):j,a={initialDateTime:s},l=s||void 0,u=s?td(s):"",{min:d,max:h}=R,p=d?!s||d<s.valueOf()?new Date(d):s:void 0,f=h?!s||h>s.valueOf()?new Date(h):s:void 0,m=R.dateTimeOutput||"UTC",g=e=>{a.initialDateTime=e,D("UTC"===m?e.toUTCString():"ISO"===m?e.toISOString():e.valueOf())};return O()("div",{className:t},O()(".row",[O()(n?".col.s6":".col.s8",{style:"padding: 0"},O()(tt,{...o,label:e,minDate:p,maxDate:f,setDefaultDate:!!s,format:r,initialValue:l,container:c,onchange:e=>{let t=new Date(a.initialDateTime);t.setFullYear(e.getFullYear()),t.setMonth(e.getMonth()),t.setDate(e.getDate()),g(t)}})),O()(".col.s4",{style:"min-width: 6rem; padding-right: 0; padding-left: 0"},O()(tn,{...o,label:"",helperText:"",twelveHour:i,initialValue:u,container:c,onchange:e=>{let t=e.split(":").map(e=>+e),n=a.initialDateTime||new Date((new Date).setSeconds(0,0));n.setHours(t[0],t[1]),g(n)}})),n&&O()(eJ,{style:"min-width: 4rem; padding-right: 0; padding-left: 0",className:"col s2",min:0,max:59,onchange:e=>{let t=a.initialDateTime||new Date((new Date).setSeconds(0,0));t.setSeconds(e,0),g(t)}})]))}case"email":return O()(e2,{...R,validate:P,autofocus:s,onchange:D,initialValue:j,onkeydown:A,onkeyup:C,onblur:S});case"number":return O()(eJ,{...R,validate:P,autofocus:s,onchange:D,initialValue:j,onkeydown:A,onkeyup:C,onblur:S});case"radio":return O()(tr,{label:"",...R,options:I,checkedId:j,onchange:D});case"checkbox":return O()(e3,{...R,checked:j,onchange:D});case"options":return[[O()(e4,{key:n.key,checkboxClass:"col s6 m4 l3",className:"input-field col s12",...R,disabled:R.disabled||!I||0===I.length,options:I,checkedId:j,onchange:e=>D(1===e.length?e[0]:e.filter(e=>null!==e))})],void 0!==x&&O()(".col.s12.option-buttons",[O()(eU,{disabled:R.disabled,label:B,iconName:"check",onclick:()=>{n.key=Date.now(),D(I.map(e=>e.id))}}),F&&O()(eU,{disabled:R.disabled,label:F,iconName:"check_box_outline_blank",onclick:()=>{let e=o[h]||[];e.length=0,n.key=Date.now(),D(e)}})])];case"select":return O()(to,{placeholder:R.multiple?E.pickOneOrMore||"Pick one or more":E.pickOne||"Pick one",...R,disabled:R.disabled||!I||0===I.length,options:I,initialValue:j,onchange:e=>D(1!==e.length||R.multiple?e.filter(e=>null!==e||void 0!==e):e[0])});case"markdown":case"md":{let{label:e,className:t="col s12"}=R,n=tx((h?j:g||e)||"",o,l);return O()(tS,{md:n,className:t})}case"section":return O()(".divider");case"switch":{let e=I&&I.length>0?I[0].label:"",t=I&&I.length>1?I[1].label:"";return O()(ta,{...R,left:e,right:t,checked:j,onchange:D})}case"tags":{let e=(j?j instanceof Array?j:[j]:[]).map(e=>({tag:e})),t=I&&I.length>0?{data:I.reduce((e,t)=>(e[t.id]=null,e),{}),limit:r.maxLength||1/0,minLength:r.minLength||1}:{},{label:n,isMandatory:i,className:o,helperText:s}=R;return O()(eX,{className:o,label:n,isMandatory:i,helperText:s,onchange:e=>D(e.map(e=>e.tag)),placeholder:r.placeholder||"Add a tag",secondaryPlaceholder:r.secondaryPlaceholder||"+tag",data:e,autocompleteOptions:t,onblur:S})}case"autocomplete":{let e=I&&I.length>0?{data:I.reduce((e,t)=>(e[t.id]=null,e),{}),limit:r.maxLength||1/0,minLength:r.minLength||1}:{data:{}},{label:t,isMandatory:n,className:i,helperText:o}=R;return O()(eB,{initialValue:j,className:i,label:t,isMandatory:n,helperText:o,onchange:D,onblur:S,placeholder:r.placeholder||"...",...e})}case"textarea":return O()(eY,{...R,validate:P,autofocus:s,onchange:D,initialValue:j,onkeyup:C,onkeydown:A,onblur:S});case"file":{let{url:e,placeholder:t}=r;if(!e)throw Error('Input field "url" not defined, which indicates the URL to the upload folder.');let n=I?I.map(e=>e.id):void 0;return O()(e5,{...R,accept:n,placeholder:t,onchange:t=>{if(!t||t.length<1)return void D("");let n=new FormData;n.append("file",t[0]),O().request({method:"POST",url:e,body:n}).then(e=>D(e)).catch(console.error)},initialValue:j})}case"base64":{let e=!(!j||!/data:image/i.test(j)),{placeholder:t}=r,n=I?I.map(e=>e.id).join(","):void 0;return e?O()("div",[O()("img.responsive-img",{src:j,alt:o.title||o.alt||o.name||"",style:`max-height: ${r.max||50}px`}),O()(eU,{iconName:"clear",onclick:()=>D("")})]):O()(e5,{...R,accept:n,placeholder:t,onchange:e=>{if(!e||e.length<1)return void D("");let t=new FileReader;t.onloadend=()=>{"string"==typeof t.result&&D(t.result),O().redraw()},t.readAsDataURL(e[0])},initialValue:j})}case"url":return O()(e0,{placeholder:"http(s)://www.example.com",...R,validate:P,autofocus:s,onchange:D,initialValue:j,onkeydown:A,onkeyup:C,onblur:S});case"text":return O()(eQ,{...R,validate:P,autofocus:s,onchange:D,initialValue:j,onkeydown:A,onkeyup:C,onblur:S});default:return}}}}})({},{}),tR=()=>({view:({attrs:{i18n:e,form:t,obj:n,onchange:i,disabled:r,readonly:o,context:s,section:a}})=>{let l=e=>{let n;return i&&i((n=e,t.filter(e=>e.required&&(e.id,!0)).reduce((e,t)=>e&&!(t.id&&(void 0===n[t.id]||n[t.id]instanceof Array&&0===n[t.id].length||"string"==typeof n[t.id]&&0===n[t.id].length)),!0)),e)};return t.filter((e=>{if(!e)return e=>!0;let t=!1;return({type:n,id:i})=>"section"===n?(t=i===e,!1):t})(a)).filter(e=>!e.show||tv(e.show,n,...s||[])).reduce((t,i)=>(i.type||(i.type=(e=>{let{autogenerate:t,value:n,options:i}=e;return t?"none":n?"string"==typeof n?"md":"number"==typeof n?"number":"boolean"==typeof n?"checkbox":"none":i&&i.length>0?"select":"none"})(i)),[...t,void 0===i.repeat||!1===i.repeat?O()(tM,{i18n:e,field:i,obj:n,onchange:l,disabled:r,readonly:o,context:s,section:a,containerId:"body"}):O()("geojson"===i.repeat?tL:tI,{obj:n,field:i,onchange:l,context:s,i18n:e,containerId:"body",disabled:r,readonly:o})]),[])}});function tP(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function tD(e,t){return null!=t&&"undefined"!=typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}function tj(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),i.forEach(function(t){var i,r,o;i=e,r=t,o=n[t],r in i?Object.defineProperty(i,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):i[r]=o})}return e}function tB(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n.push.apply(n,i)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function tF(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,i,r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],s=!0,a=!1;try{for(r=r.call(e);!(s=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);s=!0);}catch(e){a=!0,i=e}finally{try{!s&&null!=r.return&&r.return()}finally{if(a)throw i}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return tP(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return tP(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tq(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}var tH="SG_LANGUAGE",t$="SG_MODEL_SAVED",tU=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date,t=new Date(e);return"".concat(t.getFullYear(),"-").concat(H(t.getMonth()+1),"-").concat(H(t.getDate()))},tz=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"and",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",i=!(arguments.length>3)||void 0===arguments[3]||arguments[3],r=e.filter(function(e){return e});return 0===r.length?"":n+(1===r.length?r[0]:"".concat(r.slice(0,r.length-1).map(function(e,t){return 0!==t&&void 0!==e&&i?e.toLowerCase():e}).join(", ")," ").concat(t," ").concat(i?r[r.length-1].toLowerCase():r[r.length-1]))},tX=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;if(e>t)throw Error("Start number must be less than or equal to the end number.");if(n<=0)throw Error("Step size must be a positive number.");return Array.from({length:Math.floor((t-e)/n)+1},function(t,i){return e+i*n})},tW=function(e){if(0!==e.length){var t=Math.floor(Math.random()*e.length);return e[t]}},tV=function(e){if(null===e)return e;if(tD(e,Date))return new Date(e.getTime());if(tD(e,Array)){var t=[];return e.forEach(function(e){t.push(e)}),t.map(function(e){return tV(e)})}if((void 0===e?"undefined":tq(e))==="object"){var n=tj({},e);return Object.keys(n).forEach(function(e){n[e]=tV(n[e])}),n}return e},tK=function(e){var t=[parseInt(e[1]+e[2],16),parseInt(e[3]+e[4],16),parseInt(e[5]+e[6],16)];return .2126*t[0]+.7152*t[1]+.0722*t[2]<20?"#ffffff":"#000000"},tG=function(e,t){var n,i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],r=i?"spark_collection":((null===(n=e.scenario)||void 0===n?void 0:n.label)||"spark")+"_model";return t&&(r+="_".concat(t)),"".concat(r.replace(/\s/g,"_"),"_v").concat(H(e.version||1,3),"_").concat(tU()).toLowerCase()},tY=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.categories,i=e.components,r=e.inconsistencies,o=0;do{var s=function(){var e=tj({},t),o=!0,s=!1,a=void 0;try{for(var l,c=n[Symbol.iterator]();!(o=(l=c.next()).done);o=!0){var u=function(){var t=l.value,n=i.filter(function(e){return t.componentIds&&t.componentIds.includes(e.id)}).map(function(e){var t=e.values?e.values.reduce(function(e,t){return e+(r[t.id]?Object.keys(r[t.id]).length:0)},0):0;return tB(tj({},e),{inc:t})}).sort(function(e,t){return e.inc>t.inc?-1:1}),o=[],s=!0,a=!1,c=void 0;try{for(var u,d=n[Symbol.iterator]();!(s=(u=d.next()).done);s=!0){var h=function(){var t=u.value;if(e.hasOwnProperty(t.id)){var n=e[t.id];if(n&&n.length){if(n.some(function(e){return o.includes(e)}))return{v:!1};n.forEach(function(e){r[e]&&Object.keys(r[e]).forEach(function(t){return r[e][t]&&o.push(t)})})}return"continue"}var i=t.values&&t.values.map(function(e){return e.id}).filter(function(e){return!o.includes(e)});if(!i||0===i.length)return{v:!1};var s=tW(i);if(!s)return{v:!1};r[s]&&Object.keys(r[s]).forEach(function(e){return r[s][e]&&o.push(e)}),e[t.id]=[s]}();if("object"===tq(h))return{v:h.v}}}catch(e){a=!0,c=e}finally{try{!s&&null!=d.return&&d.return()}finally{if(a)throw c}}}();if("object"===tq(u))return u.v}}catch(e){s=!0,a=e}finally{try{!o&&null!=c.return&&c.return()}finally{if(s)throw a}}return e}();if(s)return{id:A(),components:s,included:!1};o++}while(o<100);return!1},tZ=function(e,t){t&&t.preventDefault();var n=document.getElementById(e);n?n.scrollIntoView({behavior:"smooth"}):console.log("Element with id ".concat(e," not found."))},tQ=function(){window.scrollTo({top:0,behavior:"smooth"})},tJ=function(e,t){var n=e.components,i=tj({components:{}},function(e,t){if(null==e)return{};var n,i,r=function(e,t){if(null==e)return{};var n,i,r={},o=Object.keys(e);for(i=0;i<o.length;i++)n=o[i],!(t.indexOf(n)>=0)&&(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++){if(n=o[i],!(t.indexOf(n)>=0))Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}}return r}(e,["components"]));return t.filter(function(e){return n.hasOwnProperty(e.id)}).forEach(function(e){i.components[e.id]=n[e.id].filter(function(t){var n;return null===(n=e.values)||void 0===n?void 0:n.find(function(e){return e.id===t})})}),i},t0=function(e){return e.map(function(e){return tB(tj({},e),{group:e.included?x("GROUP","SELECTED"):x("GROUP","UNSELECTED")})}).sort(function(e,t){return e.included&&t.included?(e.label||"").localeCompare(t.label):e.included?-1:1})},t1=["#2c7bb6","#abd9e9","#ffffbf","#fdae61","#d7191c"],t2=function(e){var t=btoa(e);return"data:image/svg+xml;base64,".concat(t)},t5=function(e,t){var n=.1*t;return'<svg xmlns="http://www.w3.org/2000/svg" width="'.concat(t,'" height="').concat(t,'">\n <circle cx="').concat(t/2,'" cy="').concat(t/2,'" r="').concat((t-n)/2,'" fill="').concat(e,'" stroke="black" stroke-width="').concat(n,'" /></svg>')},t3=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=1,i=e.match(/^(.*?)(\d+)$/);i&&(e=i[1].trim(),n=parseInt(i[2])+1);for(var r="".concat(e," ").concat(n);t.includes(r);)n++,r="".concat(e," ").concat(n);return r};function t4(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function t6(e,t,n,i,r,o,s){try{var a=e[o](s),l=a.value}catch(e){n(e);return}a.done?t(l):Promise.resolve(l).then(i,r)}function t8(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function s(e){t6(o,i,r,s,a,"next",e)}function a(e){t6(o,i,r,s,a,"throw",e)}s(void 0)})}}function t9(e){return function(e){if(Array.isArray(e))return t4(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return t4(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return t4(e,t)}}(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function t7(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],i=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}var ne="SG_MODEL",nt=function(e){document.title="ScenarioSpark: ".concat(e)},nn=function(e,t){tQ(),e.update({page:t})},ni=function(e,t,n,i){cb&&cb.switchTo(t,n,i),e.update({page:t})};var nr=(a=t8(function(e,t){var n,i=arguments;return t7(this,function(r){switch(r.label){case 0:var o;if(n=i.length>2&&void 0!==i[2]&&i[2],localStorage.setItem(t$,"false"),t.lastUpdate=Date.now(),!t.scenarios&&(t.scenarios=[]),!n)return[3,2];if(o=t.scenario,console.log("Validating scenario"),!o||(!o.inconsistencies&&(o.inconsistencies={}),!o.categories&&(o.categories=[]),!o.components&&(o.components=[]),!o.narratives&&(o.narratives=[]),o.narratives=o.narratives.map(function(e){return tJ(e,o.components)}),void 0===o.hideInconsistentValues&&(o.hideInconsistentValues=!0),!o.thresholdColors&&(o.thresholdColors=eu),o.narratives.forEach(function(e){!e.components&&(e.components={}),!e.id&&(e.id=A()),!e.label&&(e.label="UNKNOWN")}),o.categories.forEach(function(e){!e.componentIds&&(e.componentIds=[]),!e.id&&(e.id=A()),!e.label&&(e.label="UNKNOWN")}),o.components.forEach(function(e){!e.values&&(e.values=[]),!e.id&&(e.id=A()),!e.label&&(e.label="UNKNOWN")}),0))return alert(x("JSON_NOT_VALID")),[2];return[4,e_.set(ne,JSON.stringify(t))];case 1:return r.sent(),e.update({model:function(){return t},activeTooltip:"",title:t.scenario.label,curNarrative:function(){},excludedComps:function(){return{}},lockedComps:function(){return{}}}),[3,4];case 2:return[4,e_.set(ne,JSON.stringify(t))];case 3:r.sent(),e.update({model:function(){return t}}),r.label=4;case 4:return localStorage.setItem(t$,"false"),[2]}})}),function(e,t){return a.apply(this,arguments)});var no=(l=t8(function(e,t){var n,i,r,o,s;return t7(this,function(a){switch(a.label){case 0:if(i=(n=e.getState().model).scenario,s=(o=void 0===(r=n.scenarios)?[]:r).find(function(e){return e.id===t}),!(i&&s))return[3,2];return n.scenarios=[i].concat(t9(o.filter(function(e){return e.id!==t}))),n.scenario=s,e.update({model:function(){return n},activeTooltip:"",title:s.label,curNarrative:function(){},excludedComps:function(){return{}},lockedComps:function(){return{}}}),[4,e_.set(ne,JSON.stringify(n))];case 1:a.sent(),a.label=2;case 2:return[2]}})}),function(e,t){return l.apply(this,arguments)});var ns=(c=t8(function(e,t){var n;return t7(this,function(i){return n=e.getState().model,!t.id&&(t.id=A()),n.scenario.narratives?t.saved?n.scenario.narratives=n.scenario.narratives.map(function(e){return e.id!==t.id?e:t}):(t.saved=!0,n.scenario.narratives.push(t)):(t.saved=!0,n.scenario.narratives=[t]),e.update({curNarrative:function(){return t}}),nr(e,n),[2]})}),function(e,t){return c.apply(this,arguments)});var na=(u=t8(function(e,t){return t7(this,function(n){switch(n.label){case 0:if(!t.saved)return[3,2];return[4,ns(e,t)];case 1:n.sent(),n.label=2;case 2:return e.update({curNarrative:t}),[2]}})}),function(e,t){return u.apply(this,arguments)}),nl=function(e,t,n,i){var r=e.state.model,o=r.scenario.components.filter(function(e){return e.id===t}).shift();if(!o){console.error("Scenario component not found!");return}var s=o.values,a=void 0===s?[]:s;o.values="update"===i?a.map(function(e){return e.id===n.id?n:e}):"delete"===i?a.filter(function(e){return e.id!==n.id}):t9(a).concat([n]),"delete"===i&&(r.scenario.narratives=r.scenario.narratives.map(function(e){return tJ(e,r.scenario.components)})),nr(e,r)},nc=function(e,t,n,i,r){var o=e.state.model,s=o.scenario.components.filter(function(e){return e.id===t}).shift();if(!s){console.error("Scenario component not found!");return}var a=s.values,l=void 0===a?[]:a,c=l.find(function(e){return e.id===n});if(!!c)l.find(function(e){return e.id===i})&&(s.values=l.filter(function(e){return e.id!==n}).reduce(function(e,t){return t.id===i?r?(e.push(c),e.push(t)):(e.push(t),e.push(c)):e.push(t),e},[]),nr(e,o))};var nu=(d=t8(function(){var e,t=arguments;return t7(this,function(n){switch(n.label){case 0:return e=t.length>0&&void 0!==t[0]?t[0]:nk.currentLocale,localStorage.setItem(tH,e),[4,nk.loadAndSetLocale(e)];case 1:return n.sent(),[2]}})}),function(){return d.apply(this,arguments)});var nd=(h=t8(function(e){var t,n,i,r;return t7(this,function(o){switch(o.label){case 0:return[4,e_.get(ne)];case 1:return nt(r=(null===(t=(i=(n=o.sent())?JSON.parse(n):ed).scenario)||void 0===t?void 0:t.label)||""),e({model:function(){return function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),i.forEach(function(t){var i,r,o;i=e,r=t,o=n[t],r in i?Object.defineProperty(i,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):i[r]=o})}return e}({},i)},title:r}),[2]}})}),function(e){return h.apply(this,arguments)}),nh={services:[{onchange:function(e){var t,n;return null===(n=e.model)||void 0===n?void 0:null===(t=n.scenario)||void 0===t?void 0:t.label},run:function(e){var t,n,i=null===(n=e.state.model)||void 0===n?void 0:null===(t=n.scenario)||void 0===t?void 0:t.label;nt(i),e.update({title:i})}}],initial:{title:"",page:C.HOME,model:ed}},np=(0,ev.meiosisSetup)({app:nh});nd(np().update),np.map(function(){return O().redraw()});var nf=function(e){return e&&"object"==typeof e};function nm(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var n=this.opts,i=n.array;n.array=!0;var r=this.apply(null,e);return n.array=i,r}function ng(e,t){e=e||{},(t=t||{}).resolveAliases&&(e=ng.resolveAliases(e));var n={};function i(e,t,r){return function(e,t,n,i,r,o){r=r||{};var s=i[e],a=nf(s),l=a||null!=t||null!=n;if(l){if(nf(t)){var c=n;n=t,t=c}if(n=n||{},a){var u=null!=t&&s[t]||s["*"];if(null!=u)s=u;else if("number"==typeof t){var d,h,p,f,m=r.pluralize;d=s,h=t,p=m,f=Math.abs(h),s=null!=d[f=p?p(f):f]?d[f]:null!=d.n?d.n:void 0}}}if("string"!=typeof s){if(!1===r.useKeyForMissingTranslation)return;s=e,r.debug&&(null!=t?(s="@@"+e+"."+t+"@@",console.warn('No translation or pluralization form found for "'+t+'" in'+e)):(s="@@"+s+"@@",console.warn('Translation for "'+e+'" not found.')))}return l?function(e,t,n,i,r){var o=i[e];if(null==o){var s=e.replace(/\{(\w+)\}/g,"{x}$1{x}").split("{x}");o=s.length>1?s:s[0],i[e]=o}return o=o.pop?function(e,t,n,i){for(var r=i.array?e.slice():e[0],o=e.length,s=1;s<o;s+=2){var a=e[s],l=t[a];null==l&&("n"===a&&null!=n?l=n:(i.debug&&console.warn('No "'+a+'" in placeholder object:',t),l="{"+a+"}")),i.array?r[s]=l:r+=l+e[s+1]}return r}(o,t,n,r):o}(s,n,t,o,r):s}(e,t,r,i.keys,i.opts,n)}return i.arr=nm,i.keys=e||{},i.opts=t,i}ng.resolveAliases=function(e){var t={};return function n(i){if(nf(i)){var r,o;return r=i,o=n,Object.keys(r).reduce(function(e,t){return e[t]=o(r[t],t),e},{})}return i.replace(/{{(.*?)}}/g,function(i,r){if(t[r])throw Error('Circular reference for "'+r+'" detected');t[r]=!0;var o=r,s="",a=r.match(/^(.+)\[(.+)\]$/);a&&(o=a[1],s=a[2]);var l=e[o];if(nf(l)){if(s)l=l[s];else throw Error("You can't alias objects")}if(null==l)throw Error('No translation for alias "'+r+'"');var c=n(l);return t[r]=!1,c})}(e)};var nv=n("8872");function ny(e,t,n,i,r,o,s){try{var a=e[o](s),l=a.value}catch(e){n(e);return}a.done?t(l):Promise.resolve(l).then(i,r)}function nb(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function s(e){ny(o,i,r,s,a,"next",e)}function a(e){ny(o,i,r,s,a,"throw",e)}s(void 0)})}}function nw(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],i=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}var n_={HOME:{TITLE:"home",ROUTE:"/home"},ABOUT:{TITLE:"About the app",ROUTE:"/about"},DEFINE_BOX:{TITLE:"Morphological box",ROUTE:"/define"},SETTINGS:{TITLE:"Settings",ROUTE:"/settings"},CREATE_SCENARIO:{TITLE:"Create scenario",ROUTE:"/create"},SHOW_SCENARIO:{TITLE:"Show scenarios",ROUTE:"/show"},DECISION_SUPPORT:{TITLE:"Decision support",ROUTE:"/decide"},DOWNLOAD:{COLLECTION:"Save collection",MODEL:"Save scenario file"},UPLOAD:{COLLECTION:"Load collection",MODEL:"Load scenario file"},CANCEL:"Cancel",DELETE:"Delete",AND:"and",YES:"Yes",NO:"No",OK:"Ok",NAME:"Name",DESCRIPTION:"Description",CATEGORIES:"Categories",DIMENSION:"Key driver",DIMENSION_SELECTED:"Selected drivers",DIMENSIONS:"Drivers",KEY_VALUE:"Key value",CONTEXT:"Context",NONE:"None",LOCATION:"Location",LOCATION_TYPE:"Location type",COORDINATES:"Coordinates",LOCATION_NAME:"Location name",LATITUDE:"Latitude",LONGITUDE:"Longitude",MANUAL:"Manual mode",Type:"Type",PICK_FROM_LIST:"Pick from list",ENTER_KEY_VALUE:"Enter key value",EDIT_COMPONENT:"Edit component",ADD_COMPONENT:"Add component",GENERATE_NARRATIVE:"Generate",CLEAR_NARRATIVE:"Clear",NAME_NARRATIVE:"Title of current narrative",SAVE_NARRATIVE:"Save",SAVED_NARRATIVES:"Saved scenarios",NARRATIVE:"narrative",INCLUDE_NARRATIVE:"Include scenario",NARRATIVE_INCLUDED:"Scenario is included",SELECT_NARRATIVE:"Select narrative",SELECT_SCENARIO:"Select scenario",KEY:"Key",VALUE:"Value",MODEL:"Model",SELECTION:"Selected value",EDITOR_PLACEHOLDER:"Edit narrative",THRESHOLDS:"Thresholds colors reflecting component options",THRESHOLD:"Threshold value",COLOR:"Color",ORDER:"Order",COMBINATIONS:{POSSIBLE:"Combinations are possible",IMPOSSIBLE:"Combinations are impossible",IMPROBABLE:"Combinations are improbable"},DELETE_ITEM:{title:"Delete {item}",description:"Are you certain you want to delete this {item}. There is no turning back?"},NEW_SCENARIO:"New scenario",NEW_MODEL:{btn:"New collection",title:"Choose a new scenario model and erase everything",description:"Are you sure that you want to delete your existing collection and start one of the available new ones? There is no way back.",choose:"Choose your new collection",remove:"Remove all key values"},DELETE_MODEL:{btn:"Delete scenario",title:"Delete the selected scenario",description:"Are you sure that you want to delete your scenario? There is no way back."},INCONSISTENCIES:{title:"Edit inconsistencies",SELECT_ROW:"Select row",SELECT_COL:"Select column"},saveButton:{label:"Save",tooltip:"Save unsaved changes"},i18n:{editRepeat:"Edit",createRepeat:"Add",deleteItem:"Delete",agree:"Yes",disagree:"No",pick:"Pick",pickOne:"Pick one",pickOneOrMore:"Pick one or more",cancel:"Cancel",save:"Save"},COMP:{AVAILABLEBUDGET:"Budget",BEHAVIOURDURINGPREPARATION:"Behaviour during preparation",CAPABILITIES:"Capability",COMPARTMENTSPRESENT:"Compartments present",CRIMINALPHASE:"Criminal phase",DURATION:"Duration",EQUIPMENT:"Equipment",EXISTINGINFRA:"Existing infra",IMPACT:"Impact",INTENT:"Bystander intent",LOCATION:"Location",LOCATION2:"Location",MODUSOPERANDIDURINGEXECUTION:"Mode of operation",MOTIVATION:"Motivation",NARRATIVE:"Narrative",NARRATIVE_PLACEHOLDER:"Describe the context in which the incident took place, such as a description of the (geographic) location, the person or building that must be protected, the way an actor obtains information, at what time did the action take place, under what weather circumstances, how many persons were involved in the action, from which organisation, how did they obtain access, or which means/weapons were employed.",OBJECT:"Object",OPENCOMPARTMENTS:"Open compartment",PEOPLEDENSITY:"Person density",PERSONS:"Person",PHYSICALANGLEOFATTACKDURINGEXECUTION:"Physical angle of attack",PHYSICAL_ANGLE:"Physical angle",PRIVACYAWARENESS:"Privacy awareness",RELATIONOWNEROBJECTANDOWNERSECURITYSYSTEM:"Relation owner object and owner security system",RESPONSIBILITY:"Responsibility",SCENARIOS:"Scenario",SECURITYAWARENESS:"Security awareness",TARGETTYPE:"Target type",THREATDIRECTION:"Threat direction",ACTOR:"Actor",ACTION:"Action",ACCESS:"Access",MEANS:"Means",TYPEOFENVIRONMENT:"Environment type",TYPEOFOBJECT:"Type of object",WEAPON:"Weapon",WEATHERBEHAVIOUR:"Weather behaviour",WEATHERTYPE:"Weather condition",PI:"Protected interest (target)",MEANSWEAPON:"Means/weapon",MISSIONCONTEXT:"Mission context",ADVERSARY:"Adversary",C2HEADQUARTERS:"C2-HQ location",TARGET:"Target",DELIBERATEACTION:"Deliberate action",MEANS2:"Means of attack",MEANS3:"Means for action",MEANS4:"Means for access",ACCESS2:"Means of access",MEANS2ACCESS:"Means to access"},MODEL_NAMES:{0:"Empty model",1:"Simple model (in English)"},MODEL_DESC:{0:"An empty scenario model.",1:"A scenario model with a threat and a context category."},JSON_NOT_VALID:"JSON model file not valid! Aborting.",NO_NARRATIVE:"Narrative not generated in 100 tries!",SPEC_CATS:"First specify some categories, where each category contains some key drivers.",EXPORT2WORD:"Export to Word",HIDE_INCONSISTENT:"Hide inconsistent combinations",GOAL:{TITLE:"Goal",DESC:"ScenarioSpark is a web application that can be used to systematically create and manage a set of scenarios for risk management activities."},USAGE:{TITLE:"Usage",DESC:"ScenarioSpark supports the user in creating and compiling a representative set of scenarios that can be used in the various steps of the risk management process."},SECURITY:{TITLE:"Security",DESC:"All information used and entered is processed and stored exclusively locally."},SUMMARY:"A free tool to support you in creating new scenarios using a morphological box. First, you define the aspects that are of interest in your domain. Next, you specify variations for each aspect. And finally, you either manually create new scenarios, or become inspired by generating possible scenarios automatically.",SET_LANGUAGE:"Set language",SCENARIO_LOADED_MSG:"Scenario successfully loaded",COLLECTION_LOADED_MSG:"The scenario collection is loaded",SCENARIO_NOT_LOADED_MSG:"The scenario is not loaded",SCENARIO_CREATED_MSG:"A new scenario is created",COPY_TO_CLIPBOARD:"Copy table to clipboard",GROUP:{SELECTED:"Selected scenarios",UNSELECTED:"Unselected scenarios"},CLONE_NARRATIVE:"Clone",INCLUDE_DECISION_SUPPORT:"Activate decision support",IS_DECISION_CATEGORY:"For decision support",PROBABILITY:"Probability of occurence",IMPACT:"Impact",RISK:"Risk",RISK_PLACEHOLDER:"Select probability and impact",PROB5:{0:"Very low",1:"Low",2:"Medium",3:"High",4:"Very high"},IMP5:{0:"Very low",1:"Low",2:"Medium",3:"High",4:"Very high"},RISK5:{0:"Very low",1:"Low",2:"Medium",3:"High",4:"Very high"},SUGGESTED_APPROACH:{TITLE:"Suggested approach",DESC:"The suggested approach is a (risk-)weighted combination of the selected counter-measures."},TEMPLATE:{TITLE:"Template string for fluid text",DESC:"Write a paragraph where {1} is replaced by the value for key factor 1, etc. Empty lines are converted to paragraphs."}},nE={HOME:{TITLE:"home",ROUTE:"/home"},ABOUT:{TITLE:"over de app",ROUTE:"/over"},DEFINE_BOX:{TITLE:"Morfologische box",ROUTE:"/definieer"},SETTINGS:{TITLE:"Instellingen",ROUTE:"/instellingen"},CREATE_SCENARIO:{TITLE:"Maak scenario",ROUTE:"/maak"},SHOW_SCENARIO:{TITLE:"Toon scenario's",ROUTE:"/toon"},DECISION_SUPPORT:{TITLE:"Beslisondersteuning",ROUTE:"/beslis"},DOWNLOAD:{COLLECTION:"Bewaar collectie",MODEL:"Bewaar scenario bestand"},UPLOAD:{COLLECTION:"Lees collectie",MODEL:"Lees scenario bestand"},CANCEL:"Afbreken",DELETE:"Verwijderen",AND:"en",YES:"Ja",NO:"Nee",OK:"Ok",NAME:"Naam",DESCRIPTION:"Omschrijving",CATEGORIES:"Categorie\xebn",DIMENSION:"Hoofdfactor",DIMENSION_SELECTED:"Geselecteerde factoren",DIMENSIONS:"Factoren",KEY_VALUE:"Waarde",CONTEXT:"Context",NONE:"Geen",LOCATION:"Locatie",LOCATION_TYPE:"Locatietype",COORDINATES:"Coordinaten",LOCATION_NAME:"Locatienaam",LATITUDE:"Latitude",LONGITUDE:"Longitude",MANUAL:"Manuele mode",Type:"Type",PICK_FROM_LIST:"Kies uit de lijst",ENTER_KEY_VALUE:"Vul een sleutel en waarde in",EDIT_COMPONENT:"Bewerk optie",ADD_COMPONENT:"Nieuwe optie",GENERATE_NARRATIVE:"Genereer",CLEAR_NARRATIVE:"Wis",NARRATIVE:"verhaallijn",NAME_NARRATIVE:"Titel van huidige verhaallijn",SAVE_NARRATIVE:"Bewaar",SAVED_NARRATIVES:"Bewaarde scenario's",INCLUDE_NARRATIVE:"Selecteer scenario",NARRATIVE_INCLUDED:"Scenario is geselecteerd",SELECT_NARRATIVE:"Selecteer verhaallijn",SELECT_SCENARIO:"Selecteer scenario",KEY:"Sleutel",VALUE:"Waarde",MODEL:"Model",SELECTION:"Geselecteerde waarde",EDITOR_PLACEHOLDER:"Bewerk verhaallijn",THRESHOLDS:"Kleuren voor weergave gebruik van opties",THRESHOLD:"Drempelwaarde",COLOR:"Kleur",ORDER:"Volgorde",COMBINATIONS:{POSSIBLE:"Combinaties zijn mogelijk",IMPOSSIBLE:"Combinaties zijn onmogelijk",IMPROBABLE:"Combinaties zijn onwaarschijnlijk"},DELETE_ITEM:{title:"Verwijder {item}",description:"Weet u zeker dat u de {item} wilt verwijderen? Dit kan niet ongedaan gemaakt worden."},NEW_SCENARIO:"Nieuw scenario",NEW_MODEL:{btn:"Nieuwe collectie",title:"Kies een nieuw scenario en wis alles",description:"Weet u zeker dat u de huidige collectie wilt wissen, en met \xe9\xe9n van onderstaande modellen wilt verdergaan? Er is geen weg terug.",choose:"Kies uw nieuwe scenario",remove:"Verwijder alle reeds ingevulde waarden"},DELETE_MODEL:{btn:"Verwijder scenario",title:"Verwijder het geselecteerde scenario",description:"Weet u zeker dat u uw scenario wilt verwijderen? Er is geen weg terug."},INCONSISTENCIES:{title:"Bewerk inconsistencies",SELECT_ROW:"Selecteer rij",SELECT_COL:"Selecteer kolom"},saveButton:{label:"Opslaan",tooltip:"Sla aanpassingen op"},i18n:{editRepeat:"Bewerk",createRepeat:"Nieuw",deleteItem:"Verwijder",agree:"Ja",disagree:"Nee",pick:"Kies",pickOne:"Kies \xe9\xe9n",pickOneOrMore:"Kies \xe9\xe9n of meer",cancel:"Afbreken",save:"Opslaan"},COMP:{AVAILABLEBUDGET:"Budget",BEHAVIOURDURINGPREPARATION:"Gedrag tijdens voorbereiding",CAPABILITIES:"Capability",COMPARTMENTSPRESENT:"Aanwezige compartimenten",CRIMINALPHASE:"Criminele fase",DURATION:"Duur",EQUIPMENT:"Materieel",EXISTINGINFRA:"Bestaande infra",IMPACT:"Impact",INTENT:"Intentie publiek",LOCATION:"TBB: locatie",LOCATION2:"Locatie",MODUSOPERANDIDURINGEXECUTION:"Modus operandus",MOTIVATION:"Motivatie",NARRATIVE:"Verhaallijn",NARRATIVE_PLACEHOLDER:"Beschrijf de context waarin het incident plaatsvindt, zoals een nadere beschrijving van de (geografische) locatie, de te beschermen persoon of gebouw, de wijze waarop een actor informatie verzamelt, op welk tijdstip vindt de actie plaats, onder welke weersomstandigheden, hoeveel personen zijn er betrokken bij de actie, van welke organisatie, hoe kregen ze toegang, of welke middelen/wapens werden ingezet.",OBJECT:"Object",OPENCOMPARTMENTS:"Open compartiment",PEOPLEDENSITY:"Personendichtheid",PERSONS:"Persoon",PHYSICALANGLEOFATTACKDURINGEXECUTION:"Fysieke aanvalshoek",PHYSICAL_ANGLE:"Fysieke hoek",PRIVACYAWARENESS:"Privacy-bewustzijn",RELATIONOWNEROBJECTANDOWNERSECURITYSYSTEM:"Relatie eigenaar object en eigenaar beveiligingssysteem",RESPONSIBILITY:"Verantwoordelijkheid",SCENARIOS:"Scenario",SECURITYAWARENESS:"Beveiligingsbewustzijn",TARGETTYPE:"Doeltype",THREATDIRECTION:"Dreigingsrichting",ACTOR:"Actor",ACTION:"Moedwillige actie",ACCESS:"Wijze van toegang",MEANS:"Middel / wapen",TYPEOFENVIRONMENT:"Omgevingstype",TYPEOFOBJECT:"Objecttype",WEAPON:"Wapen",WEATHERBEHAVIOUR:"Weersgedrag",WEATHERTYPE:"Weersconditie",PI:"TBB: Soort doelwit",MEANSWEAPON:"Middel/wapen",MISSIONCONTEXT:"Missiecontext",ADVERSARY:"Tegenstander",C2HEADQUARTERS:"C2-HQ locatie",TARGET:"Doelwit",DELIBERATEACTION:"Moedwillige actie",MEANS2:"Aanslagmiddel",MEANS3:"Middel tbv actie",MEANS4:"Middel tbv toegang",ACCESS2:"Wijze van binnendringen",MEANS2ACCESS:"Middel om binnen te dringen"},MODEL_NAMES:{0:"Leeg model",1:"Simpel model (in Engels)"},MODEL_DESC:{0:"Een leeg scenario model.",1:"Een scenario model met een dreigings- en contextcategorie."},JSON_NOT_VALID:"JSON bestand niet valide! Het inladen wordt afgebroken.",NO_NARRATIVE:"Er kon geen verhaallijn gegenereerd worden na 100 pogingen!",SPEC_CATS:"Definieer eerst 1 of 2 categorie\xebn, met in iedere categorie enkele hoofdfactoren.",EXPORT2WORD:"Exporteer naar Word",HIDE_INCONSISTENT:"Verberg inconsistente combinaties",GOAL:{TITLE:"Doel",DESC:"ScenarioSpark is een webapplicatie waarmee systematisch een set scenario’s ten behoeve van risicomanagement- activiteiten kan worden gemaakt en beheerd."},USAGE:{TITLE:"Gebruik",DESC:"ScenarioSpark ondersteunt de gebruiker bij het op- en samenstellen van een representatieve set scenario’s die gebruikt kan worden in de diverse stappen van het risicomanagement proces. "},SECURITY:{TITLE:"Security",DESC:"Alle gebruikte en ingevoerde informatie wordt uitsluitend lokaal verwerkt en opgeslagen."},SUMMARY:"Een gratis hulpmiddel om u te ondersteunen bij het cre\xebren van nieuwe scenario's met behulp van een morfologische doos. Eerst definieert u de aspecten die van belang zijn voor uw domein. Vervolgens specificeert u variaties voor elk aspect. En ten slotte cre\xeber je handmatig nieuwe scenario's, of laat u zich inspireren door mogelijke scenario's te genereren.",SET_LANGUAGE:"Kies de taal",SCENARIO_LOADED_MSG:"Het scenario is ingeladen",COLLECTION_LOADED_MSG:"De scenario's zijn ingeladen",SCENARIO_NOT_LOADED_MSG:"Het scenario is niet ingeladen",SCENARIO_CREATED_MSG:"Een nieuw scenario is aangemaakt",COPY_TO_CLIPBOARD:"Kopieer tabel naar het plakbord",GROUP:{SELECTED:"Geselecteerd",UNSELECTED:"Niet geselecteerd"},CLONE_NARRATIVE:"Kopieer",INCLUDE_DECISION_SUPPORT:"Activeer beslisondersteuning",IS_DECISION_CATEGORY:"Voor beslisondersteuning",PROBABILITY:"Kans van optreden",IMPACT:"Impact",RISK:"Risico",RISK_PLACEHOLDER:"Specificeer kans en impact",PROB5:{0:"Zeer laag",1:"Laag",2:"Gemiddeld",3:"Hoog",4:"Zeer hoog"},IMP5:{0:"Zeer laag",1:"Laag",2:"Gemiddeld",3:"Hoog",4:"Zeer hoog"},RISK5:{0:"Zeer laag",1:"Laag",2:"Gemiddeld",3:"Hoog",4:"Zeer hoog"},SUGGESTED_APPROACH:{TITLE:"Aanbevolen aanpak",DESC:"De aanbevolen aanpak is gebaseerd op een risicogewogen combinatie van de gekozen maatregelen."},TEMPLATE:{TITLE:"Template om de factoren te vertalen naar een lopende tekst.",DESC:"Schrijf een paragraaf waarbij {1} zal vervangen worden door de waarde van factor 1, etc. Lege regels worden omgezet naar paragrafen."}},nx=[],nk={defaultLocale:"en",currentLocale:"en",locales:{},init:function(e,t){return nT.apply(this,arguments)},addOnChangeListener:function(e){nx.push(e)},loadAndSetLocale:nO,i18n:{}};function nT(){return(nT=nb(function(e,t){var n;return nw(this,function(i){switch(i.label){case 0:return nk.locales=e,(n=Object.keys(e).filter(function(t){return e[t].default}).shift())&&(nk.defaultLocale=n||t),document.documentElement.setAttribute("lang",t),[4,nO(t)];case 1:return i.sent(),[2]}})})).apply(this,arguments)}function nO(e){return nC.apply(this,arguments)}function nC(){return(nC=nb(function(e){var t;return nw(this,function(n){if(nk.currentLocale===e)return[2];return t=function(e){return Object.keys(nk.locales).indexOf(e)>=0}(e)?e:nk.defaultLocale,nk.currentLocale=t,x=ng("nl"===e?nE:n_,{debug:!0,array:!0,resolveAliases:!0,pluralize:nv.plural_EN,useKeyForMissingTranslation:!0}),nk.i18n={editRepeat:x("i18n","editRepeat"),createRepeat:x("i18n","createRepeat"),deleteItem:x("i18n","deleteItem"),agree:x("i18n","agree"),disagree:x("i18n","disagree"),pickOne:x("i18n","pickOne"),pickOneOrMore:x("i18n","pickOneOrMore"),cancel:x("i18n","cancel"),save:x("i18n","save")},nx.forEach(function(e){return e(nk.currentLocale,function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:nk.currentLocale;return nk.locales[e].dir||"ltr"}())}),[2]})})).apply(this,arguments)}let nA=n.p+"e8244ad7ec8b2937.png",nS=n.p+"ec3f975a962f44ff.png";function nN(e,t,n,i,r,o,s){try{var a=e[o](s),l=a.value}catch(e){n(e);return}a.done?t(l):Promise.resolve(l).then(i,r)}var nI=(f=(p=function(){var e,t=arguments;return function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],i=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}(this,function(n){switch(n.label){case 0:return e=t.length>0&&void 0!==t[0]?t[0]:nk.currentLocale,localStorage.setItem(tH,e),[4,nk.loadAndSetLocale(e)];case 1:return n.sent(),[2]}})},function(){var e=this,t=arguments;return new Promise(function(n,i){var r=p.apply(e,t);function o(e){nN(r,n,i,o,s,"next",e)}function s(e){nN(r,n,i,o,s,"throw",e)}o(void 0)})}),function(){return f.apply(this,arguments)}),nL=function(){return{view:function(e){var t,n,i=e.children,r=e.attrs,o=function(e){return r.state.page===e.id?".active":""},s=cb.getList().filter(function(e){var t,n;return("boolean"==typeof e.visible?e.visible:e.visible(null===(n=r.state)||void 0===n?void 0:null===(t=n.model)||void 0===t?void 0:t.scenario))||o(e)}),a=nk.currentLocale;return O()(".main",{style:"overflow-x: hidden"},[O()(".navbar-fixed",{style:"z-index: 1001"},O()("nav",O()(".nav-wrapper",[O()("a.brand-logo[href=#].show-on-large",{style:"margin-left: 20px"},[O()("img[width=140][height=60][src=".concat(eg,"][alt=TNO]"),{style:"margin-top: 5px; margin-left: -5px;"}),O()(".title.show-on-med-and-up.black-text.truncate",null===(n=r.state.model)||void 0===n?void 0:null===(t=n.scenario)||void 0===t?void 0:t.label)]),O()(O().route.Link,{className:"sidenav-trigger","data-target":"slide-out",href:O().route.get()},O()(Y,{iconName:"menu",className:"hide-on-large-and-up black-text",style:"margin-left: 5px;"})),O()("ul#dropdown_languages.dropdown-content",[O()("li",O()("a",{href:"#!",onclick:function(){return nI("nl")}},[O()("img",{src:nA,alt:"Nederlands",title:"Nederlands",disabled:"nl"===a,class:"nl"===a?"disabled-image":"clickable"}),"Nederlands"])),O()("li",O()("a",{href:"#!",onclick:function(){return nI("en")}},[O()("img",{src:nS,alt:"English",title:"English",disabled:"en"===a,class:"en"===a?"disabled-image":"clickable"}),"English"]))]),O()("ul#slide-out.sidenav.hide-on-large-and-up",{oncreate:function(){var e=document.querySelectorAll(".sidenav");M.Sidenav.init(e)}},s.map(function(e){return O()("li.tooltip".concat(o(e),".unselectable"),[O()("a",{href:cb.href(e.id)},O()(Y,{className:e.iconClass?" ".concat(e.iconClass):"",iconName:"string"==typeof e.icon?e.icon:e.icon()}),("string"==typeof e.title?e.title:e.title()).toUpperCase())])}),O()("li.tooltip.language-settings.unselectable",[O()("a.dropdown-trigger",{href:"#!","data-target":"dropdown_languages",oncreate:function(e){var t=e.dom;M.Dropdown.init(t)}},O()(Y,{iconName:"language",className:"hoverable",style:"font-size: 2.2rem; width: 4rem;"}),O()("span.tooltiptext",x("SET_LANGUAGE").toUpperCase()))])),O()("ul.right.hide-on-med-and-down",s.map(function(e){return O()("li.tooltip".concat(o(e),".unselectable"),[O()(Y,{className:"hoverable"+(e.iconClass?" ".concat(e.iconClass):""),style:"font-size: 2.2rem; width: 4rem;",iconName:"string"==typeof e.icon?e.icon:e.icon(),onclick:function(){return ni(r,e.id)}}),O()("span.tooltiptext",("string"==typeof e.title?e.title:e.title()).toUpperCase())])}),O()("li.tooltip.language-settings.unselectable",[O()("a.dropdown-trigger",{href:"#!","data-target":"dropdown_languages",oncreate:function(e){var t=e.dom;M.Dropdown.init(t)}},O()(Y,{iconName:"language",className:"hoverable",style:"font-size: 2.2rem; width: 4rem;"}),O()("span.tooltiptext",x("SET_LANGUAGE").toUpperCase()))]))]))),O()(".container",i)])}}};let nM=n.p+"094cb0b3bbf09476.png",nR=n.p+"c74483ed5cfc0c92.png",nP=n.p+"c4f17dae74c10fe5.png",nD=n.p+"c03c2e1f7852da96.png",nj=n.p+"bb94794d7d411f8a.png",nB=n.p+"7dcc9881475f4790.png";var nF="_ScenarioSpark is ontwikkeld als ondersteunend instrument voor de methode “Risicomanagement Integrale Beveiliging”. Specifiek biedt ScenarioSpark vooral ondersteuning bij de uitvoering van stap 2 van deze methode. Het betreft de stap waarin onder meer de te behandelen dreigingsscenario’s voor de TBB’s worden bepaald._\n\n![De zes stappen van de methode “Risicomanagement Integrale Beveiliging”](".concat(nM,")"),nq="### Het ontwikkelen van creatieve scenario’s\n\nNavigeer in het hoofdmenu naar ‘maak scenario’.\n\n![Menubalk met instellingen](".concat(nR,")\n![Model en inconsistenties](").concat(nj,")\n\nDe pagina bestaat uit een aantal componenten:\n\n1. Drie knoppen: ‘genereer’, ‘wis’ en 'bewaar’;\n2. Een drop down menu waarin eerder gegenereerde scenario’s weer opgeroepen kunnen worden;\n3. De factoren waaruit de morfologische box is opgebouwd;\n4. Een ‘slotje’ achter ieder van de factoren;\n5. Een beschrijvende titel die kan worden toegekend aan het scenario;\n6. Een vinkje dat aangeeft of het scenario is geselecteerd voor evaluatie;\n7. Een tekst vak waarin de scenariostam verder kan worden uitgewerkt, eventueel met opmaak en/of afbeeldingen.\n\nDoor op ‘genereer’ te klikken wordt er aan de hand van de morfologische box een scenario gegeneerd waarbij random een optie wordt toegekend aan elk van de factoren. De gebruiker heeft een aantal mogelijkheden:\n\n1. Het scenario houden zoals is gegenereerd door de morfologische box;\n2. Enkele factoren vastzetten door middel van het slotje en nieuwe opties genereren voor de andere factoren door opnieuw op ‘genereer’ te klikken;\n3. Een scenario wijzigen of aanvullen door zelf een optie te kiezen voor een factor of meerdere opties te selecteren voor een factor;\n4. Een compleet nieuw scenario door de tool laten genereren;\n5. Een eigen scenario te cre\xebren door handmatig optie(s) voor elke factor te selecteren.\n\nIndien de gebruiker tevreden is met het gegenereerde scenario kan ervoor worden gekozen het scenario toe te voegen aan de lijst met de te evalueren dreigingsscenario’s. Het scenario kan worden uitgeschreven tot een verhaal en er kan een titel worden gegeven om het scenario herkenbaar en ondubbelzinnig te maken.\n\n### Het samenstellen van een beperkte, maar toch representatieve set van scenario’s.\n\n#### Modus uitsluiten inconsistenties\n\nSommige combinaties van opties van factoren zijn onmogelijk of onwaarschijnlijk. Denk bijvoorbeeld aan een cybercrimineel (actor) die fysieke informatie steelt (doelwit) door middel van een ramvoertuig (middel/ wapen). Om deze reden is er in ScenarioSpark een kruistabel toegevoegd die weergeeft wanneer combinaties van opties van factoren mogelijk, onmogelijk of onwaarschijnlijk zijn. Wanneer de modus ‘uitsluiten inconsistenties’ is aangevinkt in instellingen, is het niet mogelijk om handmatig een optie voor een factor te kiezen die onmogelijk of onwaarschijnlijk is in combinatie met de reeds geselecteerde opties voor de andere factoren."),nH="### Aanpassen morfologische box\n\nHet aanpassen van de morfologische box kan worden gedaan in ‘instellingen’ onder het kopje ‘model’.\n\n![Menubalk met instellingen](".concat(nP,")\n\n### Aanpassen categorie\xebn\nDoor het instellen van categorie\xebn kan de morfologische box in meerdere delen worden gesplitst (zoals dreigingen, objecten, omstandigheden). Deze mogelijkheid wordt niet gebruikt binnen de context van de Tweede Kamer.\n\n### Selectie getoonde factoren\n\nIn dit drop down menu kan een selectie worden gemaakt van de factoren die meegenomen worden in de morfologische box.\n\n### Aanpassen factoren\n\nNieuwe factoren kunnen worden toegevoegd door op het plusje naast ‘factoren’ te klikken. Er dienen een aantal gegevens te worden ingevuld:\n\n1. Volgorde (de plek in de morfologische box waar de factor komt te staan);\n2. Manuele mode (bij het automatisch genereren van een scenario wordt deze factor overgeslagen, en dient dus manueel gekozen te worden);\n3. Naam;\n4. Omschrijving.\n\nFactoren kunnen worden gewijzigd door naar de desbetreffende factor te navigeren. Factoren kunnen worden verwijderd door aan de rechterkant op het kruisje te klikken.\n\n### Aanpassen opties binnen factoren\n\nHet aanpassen van opties binnen factoren gebeurt op de pagina van de morfologische box zelf.\n\n![Genereren van varianten](").concat(nD,")\n\nEr kunnen nieuwe opties worden toegevoegd en bestaande opties worden gewijzigd of verwijderd. Om een nieuwe optie toe te voegen dient geklikt te worden op het plusje naast de factor, die tevoorschijn komt door met de muis over de factor te hoveren. Een optie kan worden bewerkt of verwijderd door op het pennetje te klikken dat tevoorschijn komt door met de muis over de optie te hoveren.\n\n### Aanpassen consistenties\n\nHet aanpassen van consistenties kan door op de pagina ‘instellingen’ te navigeren naar ‘bewerk inconsitenties’.\n\n![Model en inconsistenties](").concat(nB,")\n\nScenarioSpark beschikt over een kruistabel waarin voor alle combinaties van opties van factoren is aangegeven of het mogelijk, onwaarschijnlijk of onmogelijk is. Dit kruistabel dient handmatig te worden aangepast. Er kan een rij en een kolom worden gekozen, die beiden een factor representeren. Vervolgens kan worden aangegeven per combinatie van de opties van de factoren of de combinatie als mogelijk, onmogelijk of onwaarschijnlijk wordt geacht. Hoe meer factoren er zijn, hoe meer combinaties moeten worden gecheckt. Houd er dus rekening mee dat dit de nodige tijd in beslag neemt. Indien een nieuwe optie wordt toegevoegd aan een factor in de morfologische box, dient voor de nieuwe optie alle combinaties met bestaande opties van andere factoren beoordeeld te worden.\n\nLet op: na het toevoegen van nieuwe opties in de morfologische box wordt geen enkele combinatie met deze nieuwe optie uitgesloten. Indien u wilt voorkomen dat niet-realistische scenario’s worden gegeneerd in de scenariogenerator, dient u handmatig de niet- realistische combinaties hier af te vinken.\n\n### Aanpassen kleurweergave\n\nMet behulp van kleuren kan voor de opties in de morfologische box worden aangegeven hoe vaak deze is gebruikt in een scenario. De keuze van de gebruikte kleuren, het aantal verschillende kleuren en de bandbreedtes waarin dezelfde kleur gegeven wordt, kan naar vrijheid worden ingevuld. Een optie krijgt de kleur van de bandbreedte als het aantal keer dat deze voorkomt groter of gelijk is aan het getal dat wordt ingevoerd als drempelwaarde bij de bandbreedte, zolang er geen hogere drempelwaarde bestaat waar dit ook voor geldt.\n\n### Aanpassen taal\n\nDe taalinstelling van de tool kan worden aangepast door de gewenste vlag op de homepagina te selecteren, of het menu rechtsboven te gebruiken."),n$=function(){return{oninit:function(e){return nn(e.attrs,C.ABOUT)},view:function(){var e=/#([a-zA-Z]*)/.exec(O().route.get());return e&&e.length>0&&setTimeout(function(){return tZ(e[1])},0),O()(".markdown",[O()("aside#toc",[O()(".center-align",[O()("ul.list-inline",[O()("li",O()("a",{href:"#goal",onclick:function(e){return tZ("goal",e)}},"Doel van ScenarioSpark")),O()("li"," | "),O()("li",O()("a",{href:"#usage",onclick:function(e){return tZ("usage",e)}},"Hoe te gebruiken")),O()("li"," | "),O()("li",O()("a",{href:"#settings",onclick:function(e){return tZ("settings",e)}},"Beheer")),O()("li"," | "),O()("li",O()("a",{href:"#security",onclick:function(e){return tZ("security",e)}},"Security"))])])]),O()("main",[O()("header",[O()("h1","Achtergrond"),O().trust(eT(nF))]),O()("section#goal",[O()("h2","Doel van ScenarioSpark"),O().trust(eT("ScenarioSpark is ontwikkeld om de risicomanager te ondersteunen in twee uitdagingen:\n\n- Het op een creatieve manier ontwikkelen van plausibele scenario’s;\n- Het samenstellen van een beperkte, maar toch representatieve set van scenario’s.\n\n### Het ontwikkelen van creatieve scenario’s\n\nZoals we in het recente verleden hebben gezien, blijven terroristen en andere criminelen voortdurend nieuwe manieren bedenken om onze samenleving aan te vallen. Voor een goede beveiliging is het belangrijk dat we niet alleen bekende dreigingen beoordelen, maar ook creatieve dreigingsscenario's bedenken om buiten de gebaande paden te denken. Dit is makkelijker gezegd dan gedaan, omdat recente ervaringen vaak onze gedachten sturen. ScenarioSpark is ontwikkeld om hierin te ondersteunen door willekeurig (dus niet be\xefnvloed door vooroordelen of ervaringen uit het verleden) potentieel valide scenariostammen te genereren. Op basis van de gegenereerde suggesties kan de gebruiker vervolgens bepalen welke interessant zijn om uit te werken en in de risicoanalyse mee te nemen.\n\n### Het samenstellen van een beperkte, maar toch representatieve set van scenario’s\n\nHet maken van een compleet overzicht van alle risico’s in alle situaties op alle te beschermen belangen is in het algemeen niet realistisch. Er zijn immers zoveel variaties mogelijk dat volledige analyse hiervan niet haalbaar is. In de praktijk wordt daarom getracht een beperkte set scenario’s te kiezen waarmee toch een goed, representatief beeld ontstaat van alle mogelijke risico’s.\n\nScenarioSpark ondersteunt hierin door inzicht te geven in welke mate een set geselecteerde scenario’s de totale risico-ruimte afdekt en welke overlappen er in die set zitten. Hiertoe wordt gebruik gemaakt van een zogenaamde ‘morfologische box’. Dat is een matrix waarin de kolommen worden gevormd door alle relevante factoren die een scenario karakteriseren, en waarin de rijen worden gevormd door de opties voor ieder van die factoren (de mogelijke waarden die de factoren kunnen aannemen). In ScenarioSpark wordt een scenario gekarakteriseerd door de keuze van \xe9\xe9n of meer opties voor iedere factor.\n\nUit alle gegenereerde of gedefinieerde scenario’s kan de gebruiker de scenario’s selecteren die worden toegevoegd aan de set met te evalueren dreigingsscenario’s. In de morfologische box wordt aan de hand van een kleurcodering aangegeven hoe vaak bepaalde opties voorkomen in deze set.\n\nOp deze wijze kan met ScenarioSpark een set scenario’s worden samengesteld waarin de te analyseren factoren van risico’s zo effici\xebnt mogelijk worden behandeld in de (beperkte) set met scenario’s. Bovendien wordt voorkomen dat belangrijke factoren over het hoofd worden gezien."))]),O()("section#usage",[O()("h2","Hoe te gebruiken"),O().trust(eT(nq))]),O()("section#settings",[O()("h2","Beheer"),O().trust(eT(nH))]),O()("section#security",[O()("h2","Security"),O().trust(eT("Omdat de informatie die in ScenarioSpark wordt gezet vertrouwelijk kan zijn, is bij het ontwerp van deze applicatie hiermee rekening gehouden door de volgende uitgangspunten te hanteren:\n\n- ScenarioSpark wordt geladen vanaf een website. De enige informatie die hierbij over het net gaat, is de werking van het programma. Eenmaal ingeladen in de computer, is een verbinding met internet dus ook niet meer noodzakelijk;\n- Alle informatie die door ScenarioSpark wordt gebruikt, blijft op de computer van de gebruiker (hetzij in de Browsercache, hetzij in een bewaard bestand). De mate van beveiliging van deze gegevens is hiermee gelijk aan de mate van beveiliging van de betreffende computer en volledig controleerbaar door de beheerder van de betreffende computer. Dit betreft zowel de gebruikersinstellingen, de opzet van de morfologische box, als de scenario’s.\n- Het programma biedt de mogelijkheid deze informatie op te slaan en in te lezen. De informatie wordt altijd opgeslagen in de download map van de browser (dit is de enige map waarvoor de browser schrijfrechten heeft). Het inlezen van een bestand kan vanaf elke locatie.\n"))])])])}}};let nU=n.p+"17ba83f71583172b.webp";function nz(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function nX(e,t,n,i,r,o,s){try{var a=e[o](s),l=a.value}catch(e){n(e);return}a.done?t(l):Promise.resolve(l).then(i,r)}function nW(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function s(e){nX(o,i,r,s,a,"next",e)}function a(e){nX(o,i,r,s,a,"throw",e)}s(void 0)})}}function nV(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),i.forEach(function(t){var i,r,o;i=e,r=t,o=n[t],r in i?Object.defineProperty(i,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):i[r]=o})}return e}function nK(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n.push.apply(n,i)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function nG(e){return function(e){if(Array.isArray(e))return nz(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return nz(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return nz(e,t)}}(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function nY(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],i=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}var nZ=function(){return{view:function(e){var t=e.attrs,n=t.components,i=t.narratives,r=function(e,t){if(null==e)return{};var n,i,r=function(e,t){if(null==e)return{};var n,i,r={},o=Object.keys(e);for(i=0;i<o.length;i++)n=o[i],!(t.indexOf(n)>=0)&&(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++){if(n=o[i],!(t.indexOf(n)>=0))Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}}return r}(e.attrs,["components","narratives"]),o=n.reduce(function(e,t){return t.values&&t.values.forEach(function(t){e[t.id]=t.label}),e},{});return O()(".table-container",O()(".table",O()("table.responsive-table.highlight",[O()("thead",O()("tr",O()("th",{style:"text-align: right"},x("NAME")),n.map(function(e){return O()("th",e.label)}))),O()("tbody",(void 0===i?[]:i).map(function(e){var t;return O()("tr",O()("th.bold",{style:"text-align: left"},O()("a",{href:cb.href(C.SHOW_SCENARIO),onclick:function(){r.update({curNarrative:function(){return e}})}},(t=e.label)&&t.charAt(0).toUpperCase()+t.slice(1))),n.map(function(t){return e.components[t.id]&&e.components[t.id].length>0?O()("td",O().trust(e.components[t.id].map(function(e){return o[e]||'<span class="red-text">Missing component ID: '.concat(e,"</span>")}).join(", "))):e[t.id]?O()("td",o[e[t.id]]):O()("td.center-align.missing",O()(Y,{iconName:"clear",className:"red-text"}))}))}))])))}}},nQ=function(){var e=window.File&&window.FileReader&&window.FileList&&window.Blob,t=0,n=!1;return{oninit:function(e){nn(e.attrs,C.HOME)},view:function(i){var r,o=i.attrs,s=o.state,a=s.model,l=s.language,c=a.scenarios,u=a.scenario,d=u.id,h=u.label,p=u.narratives,f=u.components,m=u.categories,g=(void 0===p?[]:p).filter(function(e){return e.included}).sort(function(e,t){return(e.label||"").localeCompare(t.label)});return[O()("div",{style:"padding-top: 1rem;position: relative;"},[g.length>0&&m.length>0&&[O()(".row",O()(".col.s12",[O()("h4",x("SAVED_NARRATIVES"))])),m.length>1?O()(ec,{tabs:m.map(function(e){return{title:e.label,vnode:O()(nZ,nK(nV({},o),{narratives:g,components:f.filter(function(t){return e.componentIds&&e.componentIds.includes(t.id)})}))}})}):O()(".narratives",O()(nZ,nK(nV({},o),{narratives:g,components:f.filter(function(e){return m[0].componentIds&&m[0].componentIds.includes(e.id)})})))],0===g.length&&O()(".row",O()(".col.s12.center-align",O()("img.responsive-img.center[alt=fountain pen]",{src:nU}))),O()(".row",O()(".col.s12.m8.l6.offset-m2.offset-l3",O()(".flex-row",O()(el,{key:d,iconName:"cases",className:"flex-grow",label:x("SELECT_SCENARIO"),checkedId:d,options:[{id:d,label:h}].concat(nG(void 0===c?[]:c)),onchange:(r=nW(function(e){return nY(this,function(t){switch(t.label){case 0:return[4,no(o,e[0])];case 1:return t.sent(),[2]}})}),function(e){return r.apply(this,arguments)})}),O()(".icon-buttons",{key:"icons"},O()(ee,{className:"icon-button",iconName:"add",title:x("NEW_SCENARIO"),onclick:nW(function(){return nY(this,function(e){switch(e.label){case 0:return!a.scenarios&&(a.scenarios=[]),a.scenarios=[a.scenario].concat(nG(a.scenarios)),a.scenario=eh(),[4,nr(o,a,!0)];case 1:return e.sent(),M.toast({html:x("SCENARIO_CREATED_MSG")}),ni(o,C.SETTINGS),[2]}})})}),O()(ee,{className:"icon-button",iconName:"download",title:x("DOWNLOAD","MODEL"),onclick:function(){var e=document.getElementById("downloadAnchorElem");if(!!e){var t=void 0===a.version?1:++a.version,n="data:text/json;charset=utf-8,"+encodeURIComponent(JSON.stringify(nK(nV({},a.scenario),{version:t})));e.setAttribute("href",n),e.setAttribute("download","".concat(tG(a,void 0,!1),".json")),e.click(),localStorage.setItem(t$,"true")}}}),e&&O()(ee,{className:"icon-button",iconName:"upload",title:x("UPLOAD","MODEL"),onclick:function(){var e=document.getElementById("selectFiles");e.onchange=function(){if(!e)return;var t,n=e.files;if(!!n&&(!n||!(n.length<=0))){var i=n&&n.item(0),r=i&&/json$/i.test(i.name),s=new FileReader;s.onload=(t=nW(function(e){var t,n;return nY(this,function(i){return r&&((n=JSON.parse((e&&e.target&&e.target.result).toString()))&&n.id&&n.label&&a.scenario.id!==n.id&&!(null===(t=a.scenarios)||void 0===t?void 0:t.some(function(e){return e.id===n.id}))?(!a.scenarios&&(a.scenarios=[]),a.scenarios=[a.scenario].concat(nG(a.scenarios)),a.scenario=n,nr(o,a,!0),M.toast({html:x("SCENARIO_LOADED_MSG")})):M.toast({html:x("SCENARIO_NOT_LOADED_MSG")})),[2]})}),function(e){return t.apply(this,arguments)}),i&&(r?s.readAsText(i):s.readAsArrayBuffer(i))}},e.click()}}),O()(ee,{className:"icon-button",iconName:"delete",title:x("DELETE"),modalId:"delete_model"}))))),O()(".buttons.center",{style:"margin: 10px auto;"},[[O()(".language-option",{onclick:function(){return nu("nl")}},[O()("img",{src:nA,alt:"Nederlands",title:"Nederlands",disabled:"nl"===l,class:"nl"===l?"disabled-image":"clickable"}),O()("span","Nederlands")]),O()(".language-option",{onclick:function(){return nu("en")}},[O()("img",{src:nS,alt:"English",title:"English",disabled:"en"===l,class:"en"===l?"disabled-image":"clickable"}),O()("span","English")])],O()(J,{iconName:"clear",disabled:!1,className:"btn-large",label:x("NEW_MODEL","btn"),modalId:"clearAll"}),O()("a#downloadAnchorElem",{style:"display:none"}),O()(J,{iconName:"download",disabled:!1,className:"btn-large",label:x("DOWNLOAD","COLLECTION"),onclick:function(){var e=document.getElementById("downloadAnchorElem");if(!!e){var t=void 0===a.version?1:++a.version,n="data:text/json;charset=utf-8,"+encodeURIComponent(JSON.stringify(nK(nV({},a),{version:t})));e.setAttribute("href",n),e.setAttribute("download","".concat(tG(a),".json")),e.click(),localStorage.setItem(t$,"true")}}}),O()("input#selectFiles[type=file][accept=.json]",{style:"display:none"}),e&&O()(J,{iconName:"upload",className:"btn-large",label:x("UPLOAD","COLLECTION"),onclick:function(){var e=document.getElementById("selectFiles");e.onchange=function(){if(!e)return;var t,n=e.files;if(!!n&&(!n||!(n.length<=0))){var i=n&&n.item(0),r=i&&/json$/i.test(i.name),s=new FileReader;s.onload=(t=nW(function(e){var t;return nY(this,function(n){if(r&&(t=JSON.parse((e&&e.target&&e.target.result).toString()))){var i;nr(o,t.version?t:Object.keys(i=t).reduce(function(e,t){if("scenarios"===t){var n=i[t].current;e.scenario.id=n.id,e.scenario.label=n.name,e.scenario.desc=n.desc,e.scenario.hideInconsistentValues=!0,e.scenario.inconsistencies=n.inconsistencies.reduce(function(e,t){var n=tF(t.ids,2),i=n[0],r=n[1],o=t.type;!e[i]&&(e[i]={}),!e[r]&&(e[r]={});var s="totally"===o;return e[i][r]=s,e[r][i]=s,e},{}),e.scenario.narratives=n.narratives.map(function(e){var t=e.id,n=e.name,i=e.components,r=e.narrative,o=e.included;return{id:t,label:n,components:Object.keys(i).reduce(function(e,t){return e[t]=[i[t]],e},{}),desc:r,included:o,saved:!0}}),e.scenario.categories=Object.keys(n.categories).map(function(e){return{id:e,label:e,componentIds:n.categories[e]}})}else{!e.scenario.components&&(e.scenario.components=[]);var r=i[t].list,o=r.reduce(function(e,t){return t.context&&t.context.type&&("LOCATION"===t.context.type&&0>=e.indexOf("location")?e.push("location"):"LOCATIONTYPE"===t.context.type&&0>=e.indexOf("locationType")&&e.push("locationType")),e},[]);if(e.scenario.components.push({id:t,label:x("COMP",t.toUpperCase()),contexts:o,values:r.map(function(e){var t=e.name,n=e.id,i=e.desc,r=e.context,o=r?"LOCATION"===r.type?"location":"LOCATIONTYPE"===r.type?"locationType":"none":void 0,s=r&&"LOCATION"===r.type?r.data.NAME?"name":r.data.COORDINATES?"coords":void 0:void 0,a=tF("coords"===s&&r.data.COORDINATES?r.data.COORDINATES.split(/,/).map(function(e){return+e}):[void 0,void 0],2),l=a[0],c=a[1],u=r&&"LOCATIONTYPE"===r.type?em.indexOf(Object.keys(r.data).shift())>=0?"list":"keyValue":void 0,d="list"===u?Object.keys(r.data).shift():void 0,h=tF(("keyValue"===u?Object.entries(r.data).shift():void 0)||[void 0,void 0],2),p=h[0],f=h[1];return{id:n,label:t,desc:i,context:o,location:r&&"LOCATION"===r.type?r.data.NAME:void 0,locationType:s,locationTypeType:u,lat:l,lon:c,osmTypeId:d,key:p,value:f}})}),e.scenario.thresholdColors=eu,e.scenario.categories){var s=1,a=e.scenario.categories.filter(function(e){return e.componentIds}).reduce(function(e,t){var n;return null===(n=t.componentIds)||void 0===n||n.forEach(function(t){return e[t]=s++}),e},{});e.scenario.components=e.scenario.components.map(function(e){return tB(tj({},e),{order:a[e.id]})}),e.scenario.components.sort(function(e,t){return e.order>t.order?1:-1})}}return e},{scenario:{},version:1,lastUpdata:Date.now(),scenarios:[]}),!0),M.toast({html:x("COLLECTION_LOADED_MSG")})}return[2]})}),function(e){return t.apply(this,arguments)}),i&&(r?s.readAsText(i):s.readAsArrayBuffer(i))}},e.click()}})]),O()(".section.white",O()(".row.container.center",[O()(".row",O()(".col.s12.align-center",[O()("h5","ScenarioSpark")])),O()(".row",[O()(".col.s12.m4",O()(".icon-block",[O()(".center",O()(Y,{iconName:"ads_click"})),O()("h5.center",O()(O().route.Link,{href:x("ABOUT","ROUTE")+"#goal"},x("GOAL","TITLE"))),O()("p",x("GOAL","DESC"))])),O()(".col.s12.m4",O()(".icon-block",[O()(".center",O()(Y,{iconName:"settings"})),O()("h5.center",O()(O().route.Link,{href:x("ABOUT","ROUTE")+"#usage"},x("USAGE","TITLE"))),O()("p",x("USAGE","DESC"))])),O()(".col.s12.m4",O()(".icon-block",[O()(".center",O()(Y,{iconName:"lock"})),O()("h5.center",O()(O().route.Link,{href:x("ABOUT","ROUTE")+"#security"},x("SECURITY","TITLE"))),O()("p",x("SECURITY","DESC"))]))])])),O()(eo,{id:"delete_model",title:x("DELETE_MODEL","title"),description:O()(".row",[O()(".col.s12",[x("DELETE_MODEL","description")])]),buttons:[{label:x("CANCEL"),iconName:"cancel"},{label:x("OK"),iconName:"delete",onclick:nW(function(){return nY(this,function(e){switch(e.label){case 0:return a.scenario=a.scenarios&&a.scenarios.length>0?a.scenarios[0]:eh(),a.scenarios=a.scenarios.filter(function(e){return e.id!==a.scenario.id}),[4,nr(o,a,!0)];case 1:return e.sent(),[2]}})})}]}),O()(eo,{id:"clearAll",title:x("NEW_MODEL","title"),description:O()(".row",[O()(".col.s12",[x("NEW_MODEL","description")]),O()(".col.s12",[O()(".row",O()(ea,{label:x("NEW_MODEL","choose"),checkedId:1,options:ef.map(function(e,t){return{id:t+1,label:"<strong>".concat(x("MODEL_NAMES",t),": </strong>").concat(x("MODEL_DESC",t))}}),onchange:function(e){return t=e-1}})),O()(".row",O()(er,{label:x("NEW_MODEL","remove"),checked:n,onchange:function(e){return n=e}}))])]),buttons:[{label:x("CANCEL"),iconName:"cancel"},{label:x("OK"),iconName:"delete",onclick:nW(function(){return nY(this,function(e){switch(e.label){case 0:return[4,nr(o,ef[t],!0)];case 1:return e.sent(),cb.switchTo(0===t?C.SETTINGS:C.DEFINE_BOX),[2]}})})}]})])]}}};function nJ(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function n0(e,t,n,i,r,o,s){try{var a=e[o](s),l=a.value}catch(e){n(e);return}a.done?t(l):Promise.resolve(l).then(i,r)}function n1(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function s(e){n0(o,i,r,s,a,"next",e)}function a(e){n0(o,i,r,s,a,"throw",e)}s(void 0)})}}function n2(e){return function(e){if(Array.isArray(e))return nJ(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return nJ(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return nJ(e,t)}}(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n5(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],i=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}var n3=function(){return{view:function(e){var t=e.attrs,n=t.rowId,i=t.colId,r=t.inconsistencies,o=t.callback,s=r[n],a=void 0!==s?s[i]:void 0;return O()(Y,{className:"clickable",iconName:void 0===a?"check_circle_outline":a?"radio_button_unchecked":"blur_circular",onclick:n1(function(){return n5(this,function(e){switch(e.label){case 0:switch(a){case!0:r[n][i]=r[i][n]=!1;break;case!1:delete r[n][i],delete r[i][n];break;default:!r[n]&&(r[n]={}),!r[i]&&(r[i]={}),r[n][i]=r[i][n]=!0}return[4,o()];case 1:return e.sent(),[2]}})})})}}},n4=function(){var e,t,n=[{id:"id",autogenerate:"id"},{id:"label",type:"text",className:"col s12 m6",label:x("NAME")},{id:"hideInconsistentValues",type:"checkbox",className:"col s6 m3 mt25",label:x("HIDE_INCONSISTENT")},{id:"includeDecisionSupport",type:"checkbox",className:"col s6 m3 mt25",label:x("INCLUDE_DECISION_SUPPORT")},{id:"desc",type:"textarea",label:x("DESCRIPTION")},{id:"template",type:"textarea",label:x("TEMPLATE","TITLE"),placeholder:x("TEMPLATE","DESC")},{id:"categories",label:x("CATEGORIES"),type:[{id:"id",autogenerate:"id"},{id:"label",className:"col s4 m3 l2",type:"text",label:x("NAME")},{id:"desc",className:"col s4 m6 l7",type:"text",label:x("DESCRIPTION")},{id:"decisionSupport",type:"checkbox",className:"col s6 m3 l3 mt25",label:x("IS_DECISION_CATEGORY")},{id:"componentIds",type:"select",multiple:!0,label:x("DIMENSION_SELECTED"),options:"components"}],repeat:!0,pageSize:1,max:2},{id:"components",type:[{id:"id",autogenerate:"id"},{id:"order",type:"number",className:"col s3 m2",label:x("ORDER")},{id:"manual",type:"switch",className:"switch col s3 m2",label:x("MANUAL")},{id:"label",type:"text",className:"col s6 m8",label:x("NAME")},{id:"desc",type:"text",className:"col s12",label:x("DESCRIPTION")}],repeat:!0,pageSize:1,sortProperty:"order",label:x("DIMENSIONS")},{id:"thresholdColors",label:x("THRESHOLDS"),repeat:!0,sortProperty:"threshold",pageSize:1,type:[{id:"threshold",label:x("THRESHOLD"),type:"number",min:0,className:"col s6"},{id:"color",label:x("COLOR"),type:"color",className:"col s6"}]}];return{oninit:function(e){return nn(e.attrs,C.SETTINGS)},view:function(i){var r=i.attrs,o=r.state.model,s=o.scenario.inconsistencies,a=o.scenario.components.filter(function(e){return e.id&&e.label}),l=e&&a.filter(function(t){return t.id===e}).shift(),c=t&&a.filter(function(e){return e.id===t}).shift(),u=l&&l.values,d=c&&c.values;return[O()(".settings-page.row",[O()(ec,{tabs:[{title:x("MODEL"),vnode:O()(".model-settings",[O()(".row",O()(ee,{className:"right",iconName:"delete",label:x("DELETE"),modalId:"deleteModel"})),O()(".row",O()(tR,{obj:o.scenario,form:n,i18n:nk.i18n,onchange:n1(function(){return n5(this,function(e){switch(e.label){case 0:return[4,nr(r,o)];case 1:return e.sent(),[2]}})})}))])},{title:x("INCONSISTENCIES","title"),vnode:O()(".inconsistencies-settings.row",a.length>0&&[O()(el,{checkedId:e,iconName:"view_stream",className:"col s6 m4",placeholder:x("i18n","pickOne"),label:x("INCONSISTENCIES","SELECT_ROW"),options:a,onchange:function(t){return e=t[0]}}),O()(el,{checkedId:t,iconName:"view_week",className:"col s6 m4",placeholder:x("i18n","pickOne"),label:x("INCONSISTENCIES","SELECT_COL"),options:a,onchange:function(e){return t=e[0]}}),O()("#legend.col.s12.m4",O()(".card",[O()("ul",[O()("li",O()(Y,{style:"vertical-align: bottom",iconName:"check_circle_outline"}),x("COMBINATIONS","POSSIBLE")),O()("li",O()(Y,{style:"vertical-align: bottom",iconName:"radio_button_unchecked"}),x("COMBINATIONS","IMPOSSIBLE")),O()("li",O()(Y,{style:"vertical-align: bottom",iconName:"blur_circular"}),x("COMBINATIONS","IMPROBABLE"))])])),l&&c&&u&&d&&O()(".col.s12",O()(".row",[O()(".col.s12",O()("table.responsive-table.highlight",{style:"display: block;overflow-x: auto"},[O()("thead",O()("tr",[O()("th","".concat(l.label," \\ ").concat(c.label))].concat(n2(d.map(function(e){return O()("th",e.label)}))))),O()("tbody",u.map(function(e){return O()("tr",[O()("th",e.label)].concat(n2(d.map(function(t){return O()("td",O()(n3,{rowId:e.id,colId:t.id,inconsistencies:s,callback:n1(function(){return n5(this,function(e){switch(e.label){case 0:return[4,nr(r,o)];case 1:return[2,e.sent()]}})})}))}))))}))]))]))])}]}),O()(eo,{id:"deleteModel",title:x("DELETE_ITEM","title",{item:x("MODEL")}),description:x("DELETE_ITEM","description",{item:x("MODEL")}),buttons:[{label:x("CANCEL")},{label:x("OK"),onclick:function(){nr(r,ep())}}]})])]}}},n6=function(e){var t=e.replace("#",""),n=parseInt(t.substring(0,2),16),i=parseInt(t.substring(2,4),16),r=parseInt(t.substring(4,6),16);return(299*n+587*i+114*r)/1e3>125?"black":"white"},n8={view:function(e){var t=e.attrs.items;return O()(".legend",{style:{display:"fixed"}},O()(".legend-items",{style:{top:0,right:0,display:"flex",alignItems:"center",gap:"8px"}},t.map(function(e,n){return O()("div",{key:n,style:{display:"flex",alignItems:"center",justifyContent:"center",width:"40px",height:"40px",backgroundColor:e.color,color:n6(e.color),borderRadius:"8px"}},n===t.length-1?"".concat(e.threshold,"+"):"".concat(e.threshold,"x"))})))}};function n9(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function n7(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),i.forEach(function(t){var i,r,o;i=e,r=t,o=n[t],r in i?Object.defineProperty(i,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):i[r]=o})}return e}function ie(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n.push.apply(n,i)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function it(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,i,r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],s=!0,a=!1;try{for(r=r.call(e);!(s=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);s=!0);}catch(e){a=!0,i=e}finally{try{!s&&null!=r.return&&r.return()}finally{if(a)throw i}}return o}}(e,t)||ii(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ii(e,t){if(e){if("string"==typeof e)return n9(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return n9(e,t)}}var ir=function(){var e,t;return{oninit:function(n){var i=n.attrs,r=i.item,o=i.form,s=i.contexts,a=s&&s.length>0&&"none"!==s[0];t=o.filter(function(e){return"context"!==e.id||a}).map(function(e){var t,n;return"context"===e.id&&a&&e.options&&(t=e.options,null!=(n=Array)&&"undefined"!=typeof Symbol&&n[Symbol.hasInstance]?!!n[Symbol.hasInstance](t):t instanceof n)?ie(n7({},e),{options:e.options.filter(function(e){return"none"===e.id||s.indexOf(e.id)>=0})}):e}),e=n7({},r)},view:function(n){var i=n.attrs,r=i.item,o=i.id,s=i.color;return O()("li.kanban-item.card.widget[draggable=true]",{key:o,id:"ki_".concat(r.id),style:"background-color: ".concat(s[0],"; color: ").concat(s[1]),ondragstart:function(e){var t;null===(t=e.dataTransfer)||void 0===t||t.setData(o,JSON.stringify([o,r.id]))},ondragover:function(e){var t;(null===(t=e.dataTransfer)||void 0===t?void 0:t.types.includes(o.toLowerCase()))&&e.preventDefault()},ondrop:function(e){e.preventDefault();var t,n=null===(t=e.dataTransfer)||void 0===t?void 0:t.getData(o);if(!n)return;var s=it(JSON.parse(n),2),a=(s[0],s[1]),l=e.currentTarget;if(!!a&&!!l&&a!==r.id){if(l){var c=e.clientY-l.getBoundingClientRect().top,u=l.clientHeight;nc(i,o,a,r.id,c<=u/2)}}}},[O()(".card-content",[O()("span.card-title",{onmouseenter:r.desc?function(){i.update({activeTooltip:r.desc})}:void 0,onmouseleave:r.desc?function(){i.update({activeTooltip:void 0})}:void 0},r.label),O()(ee,{className:"top-right widget-link",iconName:"edit",iconClass:"no-gutter",modalId:"modal_".concat(r.id)})]),O()(eo,{id:"modal_".concat(r.id),title:x("EDIT_COMPONENT"),fixedFooter:!0,description:O()(".row",O()(tR,{form:t,obj:e,i18n:nk.i18n})),buttons:[{label:x("CANCEL")},{label:x("DELETE"),onclick:function(){nl(i,o,e,"delete")}},{label:x("OK"),onclick:function(){nl(i,o,e,"update")}}]})])}}},io=function(){var e={};return{view:function(t){var n=t.attrs,i=n.sc,r=n.form,o=i.id;return O()("li.kanban-header.widget",{key:"header"},[O()(".span.title.truncate.left.ml10",{onmouseenter:i.desc?function(){n.update({activeTooltip:i.desc})}:void 0,onmouseleave:i.desc?function(){n.update({activeTooltip:void 0})}:void 0},i.label),O()(ee,{className:"widget-link",iconName:"add",iconClass:"no-gutter",modalId:i.id,i18n:nk.i18n}),O()(eo,{id:i.id,title:x("ADD_COMPONENT"),fixedFooter:!0,description:O()(".row",O()(tR,{form:r,obj:e,i18n:nk.i18n})),buttons:[{label:x("CANCEL")},{label:x("OK"),onclick:function(){var t=n7({},e);e={},nl(n,o,t,"create")}}]})])}}},is=function(){return{view:function(e){var t,n=e.attrs,i=n.sc,r=n.form,o=n.compColor;return O()("li",{key:i.id},[O()("ul.kanban-row",O()(io,ie(n7({},n),{sc:i,form:r})),null===(t=i.values)||void 0===t?void 0:t.map(function(e){return O()(ir,ie(n7({key:e.id},n),{id:i.id,contexts:i.contexts,item:e,form:r,color:o[e.id]||o.OTHER}))}))])}}},ia=function(){return{view:function(e){var t=e.attrs,n=t.form,i=t.categoryId,r=t.compColor,o=t.state.model.scenario,s=o.categories,a=o.components,l=s[i],c=a.filter(function(e){return l.componentIds&&l.componentIds.indexOf(e.id)>=0});return O()("ul.kanban",[c.map(function(e){return O()(is,ie(n7({},t),{sc:e,form:n,compColor:r}))})])}}},il=function(){var e=[{id:"id",autogenerate:"id"},{id:"label",type:"text",label:x("NAME")},{id:"desc",type:"textarea",label:x("DESCRIPTION")}],t={};return{oninit:function(e){nn(e.attrs,C.DEFINE_BOX)},view:function(n){var i=n.attrs,r=i.state,o=r.activeTooltip,s=r.model.scenario,a=s.categories,l=s.thresholdColors,c=void 0===l?[]:l;if(t||Object.keys(t).length<c.length){var u,d,h=s.narratives,p=(void 0===h?[]:h).filter(function(e){return e.included}).reduce(function(e,t){var n=t.components;return Object.keys(n).forEach(function(t){var i=!0,r=!1,o=void 0;try{for(var s,a=n[t][Symbol.iterator]();!(i=(s=a.next()).done);i=!0){var l=s.value;e[l]?e[l]++:e[l]=1}}catch(e){r=!0,o=e}finally{try{!i&&null!=a.return&&a.return()}finally{if(r)throw o}}}),e},{});var f=tX(0,(d=Math).max.apply(d,function(e){if(Array.isArray(e))return n9(e)}(u=c.map(function(e){return e.threshold}))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(u)||ii(u)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())).map(function(e){return""}),m=0;c.sort(function(e,t){return e.threshold>t.threshold?1:-1}).forEach(function(e){do f[m]=e.color,m++;while(m<e.threshold)}),t=Object.entries(p).reduce(function(e,t){var n=it(t,2),i=n[0],r=n[1],o=r<f.length?f[r]:f[f.length-1];return e[i]=[o,tK(o)],e},{OTHER:[f[0],tK(f[0])]})}return[O()(".create-box-page",[s&&s.thresholdColors&&O()(n8,{items:s.thresholdColors}),a.length>1&&a[0].componentIds&&a[1].componentIds?O()(ec,{tabs:a.map(function(n,r){return{id:n.id,title:n.label,vnode:O()(ia,ie(n7({},i),{compColor:t,categoryId:r,form:e}))}})}):1===a.length&&a[0].componentIds?O()(ia,ie(n7({},i),{compColor:t,categoryId:0,form:e})):O()(".row.mt10",O()(".col.s12",x("SPEC_CATS"))),o&&O()(".popupContainer",O()(".popupContent.center",O()(tS,{md:o,removeParagraphs:!0})))])]}}};let ic=function(e,t){return e===t||e!=e&&t!=t},iu=function(e,t){for(var n=e.length;n--;)if(ic(e[n][0],t))return n;return -1};var id=Array.prototype.splice;function ih(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}ih.prototype.clear=function(){this.__data__=[],this.size=0},ih.prototype.delete=function(e){var t=this.__data__,n=iu(t,e);return!(n<0)&&(n==t.length-1?t.pop():id.call(t,n,1),--this.size,!0)},ih.prototype.get=function(e){var t=this.__data__,n=iu(t,e);return n<0?void 0:t[n][1]},ih.prototype.has=function(e){return iu(this.__data__,e)>-1},ih.prototype.set=function(e,t){var n=this.__data__,i=iu(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this};var ip="object"==typeof global&&global&&global.Object===Object&&global,im="object"==typeof self&&self&&self.Object===Object&&self,ig=ip||im||Function("return this")(),iv=ig.Symbol,iy=Object.prototype,ib=iy.hasOwnProperty,iw=iy.toString,i_=iv?iv.toStringTag:void 0;let iE=function(e){var t=ib.call(e,i_),n=e[i_];try{e[i_]=void 0;var i=!0}catch(e){}var r=iw.call(e);return i&&(t?e[i_]=n:delete e[i_]),r};var ix=Object.prototype.toString,ik=iv?iv.toStringTag:void 0;let iT=function(e){var t;if(null==e)return void 0===e?"[object Undefined]":"[object Null]";return ik&&ik in Object(e)?iE(e):(t=e,ix.call(t))},iO=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},iC=function(e){if(!iO(e))return!1;var t=iT(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t};var iA=ig["__core-js_shared__"];var iS=(m=/[^.]+$/.exec(iA&&iA.keys&&iA.keys.IE_PROTO||""))?"Symbol(src)_1."+m:"",iN=Function.prototype.toString;let iI=function(e){if(null!=e){try{return iN.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var iL=/^\[object .+?Constructor\]$/,iM=Object.prototype,iR=Function.prototype.toString,iP=iM.hasOwnProperty,iD=RegExp("^"+iR.call(iP).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");let ij=function(e){var t;return!!iO(e)&&(t=e,!iS||!(iS in t))&&(iC(e)?iD:iL).test(iI(e))},iB=function(e,t){var n,i,r=(n=e,i=t,null==n?void 0:n[i]);return ij(r)?r:void 0};var iF=iB(ig,"Map"),iq=iB(Object,"create"),iH=Object.prototype.hasOwnProperty,i$=Object.prototype.hasOwnProperty;function iU(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}iU.prototype.clear=function(){this.__data__=iq?iq(null):{},this.size=0},iU.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},iU.prototype.get=function(e){var t=this.__data__;if(iq){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return iH.call(t,e)?t[e]:void 0},iU.prototype.has=function(e){var t=this.__data__;return iq?void 0!==t[e]:i$.call(t,e)},iU.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=iq&&void 0===t?"__lodash_hash_undefined__":t,this};let iz=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e},iX=function(e,t){var n=e.__data__;return iz(t)?n["string"==typeof t?"string":"hash"]:n.map};function iW(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}iW.prototype.clear=function(){this.size=0,this.__data__={hash:new iU,map:new(iF||ih),string:new iU}},iW.prototype.delete=function(e){var t=iX(this,e).delete(e);return this.size-=t?1:0,t},iW.prototype.get=function(e){return iX(this,e).get(e)},iW.prototype.has=function(e){return iX(this,e).has(e)},iW.prototype.set=function(e,t){var n=iX(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this};function iV(e){var t=this.__data__=new ih(e);this.size=t.size}iV.prototype.clear=function(){this.__data__=new ih,this.size=0},iV.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},iV.prototype.get=function(e){return this.__data__.get(e)},iV.prototype.has=function(e){return this.__data__.has(e)},iV.prototype.set=function(e,t){var n=this.__data__;if(n instanceof ih){var i=n.__data__;if(!iF||i.length<199)return i.push([e,t]),this.size=++n.size,this;n=this.__data__=new iW(i)}return n.set(e,t),this.size=n.size,this};var iK=function(){try{var e=iB(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();let iG=function(e,t,n){"__proto__"==t&&iK?iK(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n},iY=function(e,t,n){(void 0!==n&&!ic(e[t],n)||void 0===n&&!(t in e))&&iG(e,t,n)};let iZ=function(e,t,n){for(var i=-1,r=Object(e),o=n(e),s=o.length;s--;){var a=o[++i];if(!1===t(r[a],a,r))break}return e};var iQ="object"==typeof exports&&exports&&!exports.nodeType&&exports,iJ=iQ&&"object"==typeof module&&module&&!module.nodeType&&module,i0=iJ&&iJ.exports===iQ?ig.Buffer:void 0,i1=i0?i0.allocUnsafe:void 0;let i2=function(e,t){if(t)return e.slice();var n=e.length,i=i1?i1(n):new e.constructor(n);return e.copy(i),i};var i5=ig.Uint8Array;let i3=function(e){var t=new e.constructor(e.byteLength);return new i5(t).set(new i5(e)),t},i4=function(e,t){var n=t?i3(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)},i6=function(e,t){var n=-1,i=e.length;for(t||(t=Array(i));++n<i;)t[n]=e[n];return t};var i8=Object.create,i9=function(){function e(){}return function(t){if(!iO(t))return{};if(i8)return i8(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();let i7=function(e,t){return function(n){return e(t(n))}};var re=i7(Object.getPrototypeOf,Object),rt=Object.prototype;let rn=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||rt)},ri=function(e){return"function"!=typeof e.constructor||rn(e)?{}:i9(re(e))},rr=function(e){return null!=e&&"object"==typeof e},ro=function(e){return rr(e)&&"[object Arguments]"==iT(e)};var rs=Object.prototype,ra=rs.hasOwnProperty,rl=rs.propertyIsEnumerable,rc=ro(function(){return arguments}())?ro:function(e){return rr(e)&&ra.call(e,"callee")&&!rl.call(e,"callee")},ru=Array.isArray;let rd=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff},rh=function(e){return null!=e&&rd(e.length)&&!iC(e)};var rp="object"==typeof exports&&exports&&!exports.nodeType&&exports,rf=rp&&"object"==typeof module&&module&&!module.nodeType&&module,rm=rf&&rf.exports===rp?ig.Buffer:void 0,rg=rm?rm.isBuffer:void 0;let rv=rg||function(){return!1};var ry=Object.prototype,rb=Function.prototype.toString,rw=ry.hasOwnProperty,r_=rb.call(Object);let rE=function(e){if(!rr(e)||"[object Object]"!=iT(e))return!1;var t=re(e);if(null===t)return!0;var n=rw.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&rb.call(n)==r_};var rx={};rx["[object Float32Array]"]=rx["[object Float64Array]"]=rx["[object Int8Array]"]=rx["[object Int16Array]"]=rx["[object Int32Array]"]=rx["[object Uint8Array]"]=rx["[object Uint8ClampedArray]"]=rx["[object Uint16Array]"]=rx["[object Uint32Array]"]=!0,rx["[object Arguments]"]=rx["[object Array]"]=rx["[object ArrayBuffer]"]=rx["[object Boolean]"]=rx["[object DataView]"]=rx["[object Date]"]=rx["[object Error]"]=rx["[object Function]"]=rx["[object Map]"]=rx["[object Number]"]=rx["[object Object]"]=rx["[object RegExp]"]=rx["[object Set]"]=rx["[object String]"]=rx["[object WeakMap]"]=!1;let rk=function(e){return function(t){return e(t)}};var rT="object"==typeof exports&&exports&&!exports.nodeType&&exports,rO=rT&&"object"==typeof module&&module&&!module.nodeType&&module,rC=rO&&rO.exports===rT&&ip.process,rA=function(){try{var e=rO&&rO.require&&rO.require("util").types;if(e)return e;return rC&&rC.binding&&rC.binding("util")}catch(e){}}(),rS=rA&&rA.isTypedArray,rN=rS?rk(rS):function(e){return rr(e)&&rd(e.length)&&!!rx[iT(e)]};let rI=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]};var rL=Object.prototype.hasOwnProperty;let rM=function(e,t,n){var i=e[t];(!(rL.call(e,t)&&ic(i,n))||void 0===n&&!(t in e))&&iG(e,t,n)},rR=function(e,t,n,i){var r=!n;n||(n={});for(var o=-1,s=t.length;++o<s;){var a=t[o],l=i?i(n[a],e[a],a,n,e):void 0;void 0===l&&(l=e[a]),r?iG(n,a,l):rM(n,a,l)}return n},rP=function(e,t){for(var n=-1,i=Array(e);++n<e;)i[n]=t(n);return i};var rD=/^(?:0|[1-9]\d*)$/;let rj=function(e,t){var n=typeof e;return!!(t=null==t?0x1fffffffffffff:t)&&("number"==n||"symbol"!=n&&rD.test(e))&&e>-1&&e%1==0&&e<t};var rB=Object.prototype.hasOwnProperty;let rF=function(e,t){var n=ru(e),i=!n&&rc(e),r=!n&&!i&&rv(e),o=!n&&!i&&!r&&rN(e),s=n||i||r||o,a=s?rP(e.length,String):[],l=a.length;for(var c in e)(t||rB.call(e,c))&&!(s&&("length"==c||r&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||rj(c,l)))&&a.push(c);return a},rq=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t};var rH=Object.prototype.hasOwnProperty;let r$=function(e){if(!iO(e))return rq(e);var t=rn(e),n=[];for(var i in e)!("constructor"==i&&(t||!rH.call(e,i)))&&n.push(i);return n},rU=function(e){return rh(e)?rF(e,!0):r$(e)},rz=function(e,t,n,i,r,o,s){var a=rI(e,n),l=rI(t,n),c=s.get(l);if(c){iY(e,n,c);return}var u=o?o(a,l,n+"",e,t,s):void 0,d=void 0===u;if(d){var h,p,f=ru(l),m=!f&&rv(l),g=!f&&!m&&rN(l);if(u=l,f||m||g){if(ru(a))u=a;else{;if(rr(h=a)&&rh(h))u=i6(a);else m?(d=!1,u=i2(l,!0)):g?(d=!1,u=i4(l,!0)):u=[]}}else if(rE(l)||rc(l)){if(u=a,rc(a)){;u=rR(p=a,rU(p))}else(!iO(a)||iC(a))&&(u=ri(l))}else d=!1}d&&(s.set(l,u),r(u,l,i,o,s),s.delete(l)),iY(e,n,u)},rX=function e(t,n,i,r,o){if(t!==n)iZ(n,function(s,a){if(o||(o=new iV),iO(s))rz(t,n,a,i,e,r,o);else{var l=r?r(rI(t,a),s,a+"",t,n,o):void 0;void 0===l&&(l=s),iY(t,a,l)}},rU)},rW=function(e){return e},rV=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)};var rK=Math.max,rG=Date.now;var rY=(v=iK?function(e,t){var n;return iK(e,"toString",{configurable:!0,enumerable:!1,value:(n=t,function(){return n}),writable:!0})}:rW,y=0,b=0,function(){var e=rG(),t=16-(e-b);if(b=e,t>0){if(++y>=800)return arguments[0]}else y=0;return v.apply(void 0,arguments)});let rZ=function(e,t){var n,i,r;return rY((n=e,i=t,r=rW,i=rK(void 0===i?n.length-1:i,0),function(){for(var e=arguments,t=-1,o=rK(e.length-i,0),s=Array(o);++t<o;)s[t]=e[i+t];t=-1;for(var a=Array(i+1);++t<i;)a[t]=e[t];return a[i]=r(s),rV(n,this,a)}),e+"")},rQ=function(e,t,n){if(!iO(n))return!1;var i=typeof t;return("number"==i?!!(rh(n)&&rj(t,n.length)):"string"==i&&t in n)&&ic(n[t],e)};var rJ=(w=function(e,t,n){rX(e,t,n)},rZ(function(e,t){var n=-1,i=t.length,r=i>1?t[i-1]:void 0,o=i>2?t[2]:void 0;for(r=w.length>3&&"function"==typeof r?(i--,r):void 0,o&&rQ(t[0],t[1],o)&&(r=i<3?void 0:r,i=1),e=Object(e);++n<i;){var s=t[n];s&&w(e,s,n,r)}return e}));var r0=((i=r0||{})[i.TYPE=3]="TYPE",i[i.LEVEL=12]="LEVEL",i[i.ATTRIBUTE=13]="ATTRIBUTE",i[i.BLOT=14]="BLOT",i[i.INLINE=7]="INLINE",i[i.BLOCK=11]="BLOCK",i[i.BLOCK_BLOT=10]="BLOCK_BLOT",i[i.INLINE_BLOT=6]="INLINE_BLOT",i[i.BLOCK_ATTRIBUTE=9]="BLOCK_ATTRIBUTE",i[i.INLINE_ATTRIBUTE=5]="INLINE_ATTRIBUTE",i[i.ANY=15]="ANY",i);class r1{constructor(e,t,n={}){this.attrName=e,this.keyName=t;let i=r0.TYPE&r0.ATTRIBUTE;this.scope=null!=n.scope?n.scope&r0.LEVEL|i:r0.ATTRIBUTE,null!=n.whitelist&&(this.whitelist=n.whitelist)}static keys(e){return Array.from(e.attributes).map(e=>e.name)}add(e,t){return!!this.canAdd(e,t)&&(e.setAttribute(this.keyName,t),!0)}canAdd(e,t){return null==this.whitelist||("string"==typeof t?this.whitelist.indexOf(t.replace(/["']/g,""))>-1:this.whitelist.indexOf(t)>-1)}remove(e){e.removeAttribute(this.keyName)}value(e){let t=e.getAttribute(this.keyName);return this.canAdd(e,t)&&t?t:""}}class r2 extends Error{constructor(e){super(e="[Parchment] "+e),this.message=e,this.name=this.constructor.name}}let r5=class e{constructor(){this.attributes={},this.classes={},this.tags={},this.types={}}static find(e,t=!1){if(null==e)return null;if(this.blots.has(e))return this.blots.get(e)||null;if(t){let n=null;try{n=e.parentNode}catch{return null}return this.find(n,t)}return null}create(t,n,i){let r=this.query(n);if(null==r)throw new r2(`Unable to create ${n} blot`);let o=n instanceof Node||n.nodeType===Node.TEXT_NODE?n:r.create(i),s=new r(t,o,i);return e.blots.set(s.domNode,s),s}find(t,n=!1){return e.find(t,n)}query(e,t=r0.ANY){let n;return"string"==typeof e?n=this.types[e]||this.attributes[e]:e instanceof Text||e.nodeType===Node.TEXT_NODE?n=this.types.text:"number"==typeof e?e&r0.LEVEL&r0.BLOCK?n=this.types.block:e&r0.LEVEL&r0.INLINE&&(n=this.types.inline):e instanceof Element&&((e.getAttribute("class")||"").split(/\s+/).some(e=>!!(n=this.classes[e])),n=n||this.tags[e.tagName]),null==n?null:"scope"in n&&t&r0.LEVEL&n.scope&&t&r0.TYPE&n.scope?n:null}register(...e){return e.map(e=>{let t="blotName"in e,n="attrName"in e;if(!t&&!n)throw new r2("Invalid definition");if(t&&"abstract"===e.blotName)throw new r2("Cannot register abstract class");let i=t?e.blotName:n?e.attrName:void 0;return this.types[i]=e,n?"string"==typeof e.keyName&&(this.attributes[e.keyName]=e):t&&(e.className&&(this.classes[e.className]=e),e.tagName&&(Array.isArray(e.tagName)?e.tagName=e.tagName.map(e=>e.toUpperCase()):e.tagName=e.tagName.toUpperCase(),(Array.isArray(e.tagName)?e.tagName:[e.tagName]).forEach(t=>{(null==this.tags[t]||null==e.className)&&(this.tags[t]=e)}))),e})}};r5.blots=new WeakMap;let r3=r5;function r4(e,t){return(e.getAttribute("class")||"").split(/\s+/).filter(e=>0===e.indexOf(`${t}-`))}let r6=class e extends r1{static keys(e){return(e.getAttribute("class")||"").split(/\s+/).map(e=>e.split("-").slice(0,-1).join("-"))}add(e,t){return!!this.canAdd(e,t)&&(this.remove(e),e.classList.add(`${this.keyName}-${t}`),!0)}remove(e){r4(e,this.keyName).forEach(t=>{e.classList.remove(t)}),0===e.classList.length&&e.removeAttribute("class")}value(e){let t=(r4(e,this.keyName)[0]||"").slice(this.keyName.length+1);return this.canAdd(e,t)?t:""}};function r8(e){let t=e.split("-"),n=t.slice(1).map(e=>e[0].toUpperCase()+e.slice(1)).join("");return t[0]+n}let r9=class e extends r1{static keys(e){return(e.getAttribute("style")||"").split(";").map(e=>e.split(":")[0].trim())}add(e,t){return!!this.canAdd(e,t)&&(e.style[r8(this.keyName)]=t,!0)}remove(e){e.style[r8(this.keyName)]="",e.getAttribute("style")||e.removeAttribute("style")}value(e){let t=e.style[r8(this.keyName)];return this.canAdd(e,t)?t:""}},r7=class e{constructor(e){this.attributes={},this.domNode=e,this.build()}attribute(e,t){t?e.add(this.domNode,t)&&(null!=e.value(this.domNode)?this.attributes[e.attrName]=e:delete this.attributes[e.attrName]):(e.remove(this.domNode),delete this.attributes[e.attrName])}build(){this.attributes={};let e=r3.find(this.domNode);if(null==e)return;let t=r1.keys(this.domNode),n=r6.keys(this.domNode),i=r9.keys(this.domNode);t.concat(n).concat(i).forEach(t=>{let n=e.scroll.query(t,r0.ATTRIBUTE);n instanceof r1&&(this.attributes[n.attrName]=n)})}copy(e){Object.keys(this.attributes).forEach(t=>{let n=this.attributes[t].value(this.domNode);e.format(t,n)})}move(e){this.copy(e),Object.keys(this.attributes).forEach(e=>{this.attributes[e].remove(this.domNode)}),this.attributes={}}values(){return Object.keys(this.attributes).reduce((e,t)=>(e[t]=this.attributes[t].value(this.domNode),e),{})}},oe=class{constructor(e,t){this.scroll=e,this.domNode=t,r3.blots.set(t,this),this.prev=null,this.next=null}static create(e){let t,n;if(null==this.tagName)throw new r2("Blot definition missing tagName");return Array.isArray(this.tagName)?("string"==typeof e?parseInt(n=e.toUpperCase(),10).toString()===n&&(n=parseInt(n,10)):"number"==typeof e&&(n=e),t="number"==typeof n?document.createElement(this.tagName[n-1]):n&&this.tagName.indexOf(n)>-1?document.createElement(n):document.createElement(this.tagName[0])):t=document.createElement(this.tagName),this.className&&t.classList.add(this.className),t}get statics(){return this.constructor}attach(){}clone(){let e=this.domNode.cloneNode(!1);return this.scroll.create(e)}detach(){null!=this.parent&&this.parent.removeChild(this),r3.blots.delete(this.domNode)}deleteAt(e,t){this.isolate(e,t).remove()}formatAt(e,t,n,i){let r=this.isolate(e,t);if(null!=this.scroll.query(n,r0.BLOT)&&i)r.wrap(n,i);else if(null!=this.scroll.query(n,r0.ATTRIBUTE)){let e=this.scroll.create(this.statics.scope);r.wrap(e),e.format(n,i)}}insertAt(e,t,n){let i=null==n?this.scroll.create("text",t):this.scroll.create(t,n),r=this.split(e);this.parent.insertBefore(i,r||void 0)}isolate(e,t){let n=this.split(e);if(null==n)throw Error("Attempt to isolate at end");return n.split(t),n}length(){return 1}offset(e=this.parent){return null==this.parent||this===e?0:this.parent.children.offset(this)+this.parent.offset(e)}optimize(e){!this.statics.requiredContainer||this.parent instanceof this.statics.requiredContainer||this.wrap(this.statics.requiredContainer.blotName)}remove(){null!=this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode),this.detach()}replaceWith(e,t){let n="string"==typeof e?this.scroll.create(e,t):e;return null!=this.parent&&(this.parent.insertBefore(n,this.next||void 0),this.remove()),n}split(e,t){return 0===e?this:this.next}update(e,t){}wrap(e,t){let n="string"==typeof e?this.scroll.create(e,t):e;if(null!=this.parent&&this.parent.insertBefore(n,this.next||void 0),"function"!=typeof n.appendChild)throw new r2(`Cannot wrap ${e}`);return n.appendChild(this),n}};oe.blotName="abstract";let ot=oe,on=class extends ot{static value(e){return!0}index(e,t){return this.domNode===e||this.domNode.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY?Math.min(t,1):-1}position(e,t){let n=Array.from(this.parent.domNode.childNodes).indexOf(this.domNode);return e>0&&(n+=1),[this.parent.domNode,n]}value(){return{[this.statics.blotName]:this.statics.value(this.domNode)||!0}}};on.scope=r0.INLINE_BLOT;let oi=on;class or{constructor(){this.head=null,this.tail=null,this.length=0}append(...e){if(this.insertBefore(e[0],null),e.length>1){let t=e.slice(1);this.append(...t)}}at(e){let t=this.iterator(),n=t();for(;n&&e>0;)e-=1,n=t();return n}contains(e){let t=this.iterator(),n=t();for(;n;){if(n===e)return!0;n=t()}return!1}indexOf(e){let t=this.iterator(),n=t(),i=0;for(;n;){if(n===e)return i;i+=1,n=t()}return -1}insertBefore(e,t){null!=e&&(this.remove(e),e.next=t,null!=t?(e.prev=t.prev,null!=t.prev&&(t.prev.next=e),t.prev=e,t===this.head&&(this.head=e)):null!=this.tail?(this.tail.next=e,e.prev=this.tail,this.tail=e):(e.prev=null,this.head=this.tail=e),this.length+=1)}offset(e){let t=0,n=this.head;for(;null!=n;){if(n===e)return t;t+=n.length(),n=n.next}return -1}remove(e){this.contains(e)&&(null!=e.prev&&(e.prev.next=e.next),null!=e.next&&(e.next.prev=e.prev),e===this.head&&(this.head=e.next),e===this.tail&&(this.tail=e.prev),this.length-=1)}iterator(e=this.head){return()=>{let t=e;return null!=e&&(e=e.next),t}}find(e,t=!1){let n=this.iterator(),i=n();for(;i;){let r=i.length();if(e<r||t&&e===r&&(null==i.next||0!==i.next.length()))return[i,e];e-=r,i=n()}return[null,0]}forEach(e){let t=this.iterator(),n=t();for(;n;)e(n),n=t()}forEachAt(e,t,n){if(t<=0)return;let[i,r]=this.find(e),o=e-r,s=this.iterator(i),a=s();for(;a&&o<e+t;){let i=a.length();e>o?n(a,e-o,Math.min(t,o+i-e)):n(a,0,Math.min(i,e+t-o)),o+=i,a=s()}}map(e){return this.reduce((t,n)=>(t.push(e(n)),t),[])}reduce(e,t){let n=this.iterator(),i=n();for(;i;)t=e(t,i),i=n();return t}}function oo(e,t){let n=t.find(e);if(n)return n;try{return t.create(e)}catch{let n=t.create(r0.INLINE);return Array.from(e.childNodes).forEach(e=>{n.domNode.appendChild(e)}),e.parentNode&&e.parentNode.replaceChild(n.domNode,e),n.attach(),n}}let os=class e extends ot{constructor(e,t){super(e,t),this.uiNode=null,this.build()}appendChild(e){this.insertBefore(e)}attach(){super.attach(),this.children.forEach(e=>{e.attach()})}attachUI(t){null!=this.uiNode&&this.uiNode.remove(),this.uiNode=t,e.uiClass&&this.uiNode.classList.add(e.uiClass),this.uiNode.setAttribute("contenteditable","false"),this.domNode.insertBefore(this.uiNode,this.domNode.firstChild)}build(){this.children=new or,Array.from(this.domNode.childNodes).filter(e=>e!==this.uiNode).reverse().forEach(e=>{try{let t=oo(e,this.scroll);this.insertBefore(t,this.children.head||void 0)}catch(e){if(e instanceof r2)return;throw e}})}deleteAt(e,t){if(0===e&&t===this.length())return this.remove();this.children.forEachAt(e,t,(e,t,n)=>{e.deleteAt(t,n)})}descendant(t,n=0){let[i,r]=this.children.find(n);return null==t.blotName&&t(i)||null!=t.blotName&&i instanceof t?[i,r]:i instanceof e?i.descendant(t,r):[null,-1]}descendants(t,n=0,i=Number.MAX_VALUE){let r=[],o=i;return this.children.forEachAt(n,i,(n,i,s)=>{(null==t.blotName&&t(n)||null!=t.blotName&&n instanceof t)&&r.push(n),n instanceof e&&(r=r.concat(n.descendants(t,i,o))),o-=s}),r}detach(){this.children.forEach(e=>{e.detach()}),super.detach()}enforceAllowedChildren(){let t=!1;this.children.forEach(n=>{t||this.statics.allowedChildren.some(e=>n instanceof e)||(n.statics.scope===r0.BLOCK_BLOT?(null!=n.next&&this.splitAfter(n),null!=n.prev&&this.splitAfter(n.prev),n.parent.unwrap(),t=!0):n instanceof e?n.unwrap():n.remove())})}formatAt(e,t,n,i){this.children.forEachAt(e,t,(e,t,r)=>{e.formatAt(t,r,n,i)})}insertAt(e,t,n){let[i,r]=this.children.find(e);if(i)i.insertAt(r,t,n);else{let e=null==n?this.scroll.create("text",t):this.scroll.create(t,n);this.appendChild(e)}}insertBefore(e,t){null!=e.parent&&e.parent.children.remove(e);let n=null;this.children.insertBefore(e,t||null),e.parent=this,null!=t&&(n=t.domNode),(this.domNode.parentNode!==e.domNode||this.domNode.nextSibling!==n)&&this.domNode.insertBefore(e.domNode,n),e.attach()}length(){return this.children.reduce((e,t)=>e+t.length(),0)}moveChildren(e,t){this.children.forEach(n=>{e.insertBefore(n,t)})}optimize(e){if(super.optimize(e),this.enforceAllowedChildren(),null!=this.uiNode&&this.uiNode!==this.domNode.firstChild&&this.domNode.insertBefore(this.uiNode,this.domNode.firstChild),0===this.children.length){if(null!=this.statics.defaultChild){let e=this.scroll.create(this.statics.defaultChild.blotName);this.appendChild(e)}else this.remove()}}path(t,n=!1){let[i,r]=this.children.find(t,n),o=[[this,t]];return i instanceof e?o.concat(i.path(r,n)):(null!=i&&o.push([i,r]),o)}removeChild(e){this.children.remove(e)}replaceWith(t,n){let i="string"==typeof t?this.scroll.create(t,n):t;return i instanceof e&&this.moveChildren(i),super.replaceWith(i)}split(e,t=!1){if(!t){if(0===e)return this;if(e===this.length())return this.next}let n=this.clone();return this.parent&&this.parent.insertBefore(n,this.next||void 0),this.children.forEachAt(e,this.length(),(e,i,r)=>{let o=e.split(i,t);null!=o&&n.appendChild(o)}),n}splitAfter(e){let t=this.clone();for(;null!=e.next;)t.appendChild(e.next);return this.parent&&this.parent.insertBefore(t,this.next||void 0),t}unwrap(){this.parent&&this.moveChildren(this.parent,this.next||void 0),this.remove()}update(e,t){let n=[],i=[];e.forEach(e=>{e.target===this.domNode&&"childList"===e.type&&(n.push(...e.addedNodes),i.push(...e.removedNodes))}),i.forEach(e=>{if(null!=e.parentNode&&"IFRAME"!==e.tagName&&document.body.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)return;let t=this.scroll.find(e);null!=t&&(null==t.domNode.parentNode||t.domNode.parentNode===this.domNode)&&t.detach()}),n.filter(e=>e.parentNode===this.domNode&&e!==this.uiNode).sort((e,t)=>e===t?0:e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?1:-1).forEach(e=>{let t=null;null!=e.nextSibling&&(t=this.scroll.find(e.nextSibling));let n=oo(e,this.scroll);(n.next!==t||null==n.next)&&(null!=n.parent&&n.parent.removeChild(this),this.insertBefore(n,t||void 0))}),this.enforceAllowedChildren()}};os.uiClass="";let oa=os,ol=class e extends oa{static create(e){return super.create(e)}static formats(t,n){let i=n.query(e.blotName);if(!(null!=i&&t.tagName===i.tagName)){if("string"==typeof this.tagName)return!0;if(Array.isArray(this.tagName))return t.tagName.toLowerCase()}}constructor(e,t){super(e,t),this.attributes=new r7(this.domNode)}format(t,n){if(t!==this.statics.blotName||n){let e=this.scroll.query(t,r0.INLINE);if(null!=e)e instanceof r1?this.attributes.attribute(e,n):n&&(t!==this.statics.blotName||this.formats()[t]!==n)&&this.replaceWith(t,n)}else this.children.forEach(t=>{t instanceof e||(t=t.wrap(e.blotName,!0)),this.attributes.copy(t)}),this.unwrap()}formats(){let e=this.attributes.values(),t=this.statics.formats(this.domNode,this.scroll);return null!=t&&(e[this.statics.blotName]=t),e}formatAt(e,t,n,i){null!=this.formats()[n]||this.scroll.query(n,r0.ATTRIBUTE)?this.isolate(e,t).format(n,i):super.formatAt(e,t,n,i)}optimize(t){super.optimize(t);let n=this.formats();if(0===Object.keys(n).length)return this.unwrap();let i=this.next;i instanceof e&&i.prev===this&&function(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}(n,i.formats())&&(i.moveChildren(this),i.remove())}replaceWith(e,t){let n=super.replaceWith(e,t);return this.attributes.copy(n),n}update(e,t){super.update(e,t),e.some(e=>e.target===this.domNode&&"attributes"===e.type)&&this.attributes.build()}wrap(t,n){let i=super.wrap(t,n);return i instanceof e&&this.attributes.move(i),i}};ol.allowedChildren=[ol,oi],ol.blotName="inline",ol.scope=r0.INLINE_BLOT,ol.tagName="SPAN";let oc=ol,ou=class e extends oa{static create(e){return super.create(e)}static formats(t,n){let i=n.query(e.blotName);if(!(null!=i&&t.tagName===i.tagName)){if("string"==typeof this.tagName)return!0;if(Array.isArray(this.tagName))return t.tagName.toLowerCase()}}constructor(e,t){super(e,t),this.attributes=new r7(this.domNode)}format(t,n){let i=this.scroll.query(t,r0.BLOCK);null!=i&&(i instanceof r1?this.attributes.attribute(i,n):t!==this.statics.blotName||n?n&&(t!==this.statics.blotName||this.formats()[t]!==n)&&this.replaceWith(t,n):this.replaceWith(e.blotName))}formats(){let e=this.attributes.values(),t=this.statics.formats(this.domNode,this.scroll);return null!=t&&(e[this.statics.blotName]=t),e}formatAt(e,t,n,i){null!=this.scroll.query(n,r0.BLOCK)?this.format(n,i):super.formatAt(e,t,n,i)}insertAt(e,t,n){if(null==n||null!=this.scroll.query(t,r0.INLINE))super.insertAt(e,t,n);else{let i=this.split(e);if(null!=i){let e=this.scroll.create(t,n);i.parent.insertBefore(e,i)}else throw Error("Attempt to insertAt after block boundaries")}}replaceWith(e,t){let n=super.replaceWith(e,t);return this.attributes.copy(n),n}update(e,t){super.update(e,t),e.some(e=>e.target===this.domNode&&"attributes"===e.type)&&this.attributes.build()}};ou.blotName="block",ou.scope=r0.BLOCK_BLOT,ou.tagName="P",ou.allowedChildren=[oc,ou,oi];let od=ou,oh=class extends oa{checkMerge(){return null!==this.next&&this.next.statics.blotName===this.statics.blotName}deleteAt(e,t){super.deleteAt(e,t),this.enforceAllowedChildren()}formatAt(e,t,n,i){super.formatAt(e,t,n,i),this.enforceAllowedChildren()}insertAt(e,t,n){super.insertAt(e,t,n),this.enforceAllowedChildren()}optimize(e){super.optimize(e),this.children.length>0&&null!=this.next&&this.checkMerge()&&(this.next.moveChildren(this),this.next.remove())}};oh.blotName="container",oh.scope=r0.BLOCK_BLOT;let op=oh,of=class e extends oi{static formats(e,t){}format(e,t){super.formatAt(0,this.length(),e,t)}formatAt(e,t,n,i){0===e&&t===this.length()?this.format(n,i):super.formatAt(e,t,n,i)}formats(){return this.statics.formats(this.domNode,this.scroll)}},om={attributes:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0},og=class extends oa{constructor(e,t){super(null,t),this.registry=e,this.scroll=this,this.build(),this.observer=new MutationObserver(e=>{this.update(e)}),this.observer.observe(this.domNode,om),this.attach()}create(e,t){return this.registry.create(this,e,t)}find(e,t=!1){let n=this.registry.find(e,t);return n?n.scroll===this?n:t?this.find(n.scroll.domNode.parentNode,!0):null:null}query(e,t=r0.ANY){return this.registry.query(e,t)}register(...e){return this.registry.register(...e)}build(){null!=this.scroll&&super.build()}detach(){super.detach(),this.observer.disconnect()}deleteAt(e,t){this.update(),0===e&&t===this.length()?this.children.forEach(e=>{e.remove()}):super.deleteAt(e,t)}formatAt(e,t,n,i){this.update(),super.formatAt(e,t,n,i)}insertAt(e,t,n){this.update(),super.insertAt(e,t,n)}optimize(e=[],t={}){super.optimize(t);let n=t.mutationsMap||new WeakMap,i=Array.from(this.observer.takeRecords());for(;i.length>0;)e.push(i.pop());let r=(e,t=!0)=>{null==e||e===this||null!=e.domNode.parentNode&&(n.has(e.domNode)||n.set(e.domNode,[]),t&&r(e.parent))},o=e=>{n.has(e.domNode)&&(e instanceof oa&&e.children.forEach(o),n.delete(e.domNode),e.optimize(t))},s=e;for(let t=0;s.length>0;t+=1){if(t>=100)throw Error("[Parchment] Maximum optimize iterations reached");for(s.forEach(e=>{let t=this.find(e.target,!0);null!=t&&(t.domNode===e.target&&("childList"===e.type?(r(this.find(e.previousSibling,!1)),Array.from(e.addedNodes).forEach(e=>{let t=this.find(e,!1);r(t,!1),t instanceof oa&&t.children.forEach(e=>{r(e,!1)})})):"attributes"===e.type&&r(t.prev)),r(t))}),this.children.forEach(o),i=(s=Array.from(this.observer.takeRecords())).slice();i.length>0;)e.push(i.pop())}}update(e,t={}){e=e||this.observer.takeRecords();let n=new WeakMap;e.map(e=>{let t=this.find(e.target,!0);return null==t?null:n.has(t.domNode)?(n.get(t.domNode).push(e),null):(n.set(t.domNode,[e]),t)}).forEach(e=>{null!=e&&e!==this&&n.has(e.domNode)&&e.update(n.get(e.domNode)||[],t)}),t.mutationsMap=n,n.has(this.domNode)&&super.update(n.get(this.domNode),t),this.optimize(e,t)}};og.blotName="scroll",og.defaultChild=od,og.allowedChildren=[od,op],og.scope=r0.BLOCK_BLOT,og.tagName="DIV";let ov=og,oy=class e extends oi{static create(e){return document.createTextNode(e)}static value(e){return e.data}constructor(e,t){super(e,t),this.text=this.statics.value(this.domNode)}deleteAt(e,t){this.domNode.data=this.text=this.text.slice(0,e)+this.text.slice(e+t)}index(e,t){return this.domNode===e?t:-1}insertAt(e,t,n){null==n?(this.text=this.text.slice(0,e)+t+this.text.slice(e),this.domNode.data=this.text):super.insertAt(e,t,n)}length(){return this.text.length}optimize(t){super.optimize(t),this.text=this.statics.value(this.domNode),0===this.text.length?this.remove():this.next instanceof e&&this.next.prev===this&&(this.insertAt(this.length(),this.next.value()),this.next.remove())}position(e,t=!1){return[this.domNode,e]}split(e,t=!1){if(!t){if(0===e)return this;if(e===this.length())return this.next}let n=this.scroll.create(this.domNode.splitText(e));return this.parent.insertBefore(n,this.next||void 0),this.text=this.statics.value(this.domNode),n}update(e,t){e.some(e=>"characterData"===e.type&&e.target===this.domNode)&&(this.text=this.statics.value(this.domNode))}value(){return this.text}};oy.blotName="text",oy.scope=r0.INLINE_BLOT;let ob=oy;var ow=n("3258");let o_=function(e,t){for(var n=-1,i=null==e?0:e.length;++n<i&&!1!==t(e[n],n,e););return e};var oE=i7(Object.keys,Object),ox=Object.prototype.hasOwnProperty;let ok=function(e){if(!rn(e))return oE(e);var t=[];for(var n in Object(e))ox.call(e,n)&&"constructor"!=n&&t.push(n);return t},oT=function(e){return rh(e)?rF(e):ok(e)},oO=function(e,t){for(var n=-1,i=null==e?0:e.length,r=0,o=[];++n<i;){var s=e[n];t(s,n,e)&&(o[r++]=s)}return o},oC=function(){return[]};var oA=Object.prototype.propertyIsEnumerable,oS=Object.getOwnPropertySymbols,oN=oS?function(e){return null==e?[]:oO(oS(e=Object(e)),function(t){return oA.call(e,t)})}:oC;let oI=function(e,t){for(var n=-1,i=t.length,r=e.length;++n<i;)e[r+n]=t[n];return e};var oL=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)oI(t,oN(e)),e=re(e);return t}:oC;let oM=function(e,t,n){var i=t(e);return ru(e)?i:oI(i,n(e))},oR=function(e){return oM(e,oT,oN)},oP=function(e){return oM(e,rU,oL)};var oD=iB(ig,"DataView"),oj=iB(ig,"Promise"),oB=iB(ig,"Set"),oF=iB(ig,"WeakMap"),oq="[object Map]",oH="[object Promise]",o$="[object Set]",oU="[object WeakMap]",oz="[object DataView]",oX=iI(oD),oW=iI(iF),oV=iI(oj),oK=iI(oB),oG=iI(oF),oY=iT;(oD&&oY(new oD(new ArrayBuffer(1)))!=oz||iF&&oY(new iF)!=oq||oj&&oY(oj.resolve())!=oH||oB&&oY(new oB)!=o$||oF&&oY(new oF)!=oU)&&(oY=function(e){var t=iT(e),n="[object Object]"==t?e.constructor:void 0,i=n?iI(n):"";if(i)switch(i){case oX:return oz;case oW:return oq;case oV:return oH;case oK:return o$;case oG:return oU}return t});let oZ=oY;var oQ=Object.prototype.hasOwnProperty;let oJ=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&oQ.call(e,"index")&&(n.index=e.index,n.input=e.input),n},o0=function(e,t){var n=t?i3(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)};var o1=/\w*$/;let o2=function(e){var t=new e.constructor(e.source,o1.exec(e));return t.lastIndex=e.lastIndex,t};var o5=iv?iv.prototype:void 0,o3=o5?o5.valueOf:void 0;let o4=function(e,t,n){var i,r=e.constructor;switch(t){case"[object ArrayBuffer]":return i3(e);case"[object Boolean]":case"[object Date]":return new r(+e);case"[object DataView]":return o0(e,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return i4(e,n);case"[object Map]":case"[object Set]":return new r;case"[object Number]":case"[object String]":return new r(e);case"[object RegExp]":return o2(e);case"[object Symbol]":;return i=e,o3?Object(o3.call(i)):{}}};var o6=rA&&rA.isMap,o8=o6?rk(o6):function(e){return rr(e)&&"[object Map]"==oZ(e)},o9=rA&&rA.isSet,o7=o9?rk(o9):function(e){return rr(e)&&"[object Set]"==oZ(e)},se="[object Arguments]",st="[object Function]",sn="[object Object]",si={};si[se]=si["[object Array]"]=si["[object ArrayBuffer]"]=si["[object DataView]"]=si["[object Boolean]"]=si["[object Date]"]=si["[object Float32Array]"]=si["[object Float64Array]"]=si["[object Int8Array]"]=si["[object Int16Array]"]=si["[object Int32Array]"]=si["[object Map]"]=si["[object Number]"]=si[sn]=si["[object RegExp]"]=si["[object Set]"]=si["[object String]"]=si["[object Symbol]"]=si["[object Uint8Array]"]=si["[object Uint8ClampedArray]"]=si["[object Uint16Array]"]=si["[object Uint32Array]"]=!0,si["[object Error]"]=si[st]=si["[object WeakMap]"]=!1;let sr=function e(t,n,i,r,o,s){var a,l=1&n,c=2&n,u=4&n;if(i&&(a=o?i(t,r,o,s):i(t)),void 0!==a)return a;if(!iO(t))return t;var d=ru(t);if(d){if(a=oJ(t),!l)return i6(t,a)}else{var h,p,f,m,g,v,y,b,w=oZ(t),_=w==st||"[object GeneratorFunction]"==w;if(rv(t))return i2(t,l);if(w==sn||w==se||_&&!o){if(a=c||_?{}:ri(t),!l){;return c?(f=t,m=(h=a,p=t,h&&rR(p,rU(p),h)),rR(f,oL(f),m)):(y=t,b=(g=a,v=t,g&&rR(v,oT(v),g)),rR(y,oN(y),b))}}else{if(!si[w])return o?t:{};a=o4(t,w,l)}}s||(s=new iV);var E=s.get(t);if(E)return E;s.set(t,a),o7(t)?t.forEach(function(r){a.add(e(r,n,i,r,t,s))}):o8(t)&&t.forEach(function(r,o){a.set(o,e(r,n,i,o,t,s))});var x=u?c?oP:oR:c?rU:oT,k=d?void 0:x(t);return o_(k||t,function(r,o){k&&(r=t[o=r]),rM(a,o,e(r,n,i,o,t,s))}),a},so=function(e){return sr(e,5)};function ss(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new iW;++t<n;)this.add(e[t])}ss.prototype.add=ss.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},ss.prototype.has=function(e){return this.__data__.has(e)};let sa=function(e,t){for(var n=-1,i=null==e?0:e.length;++n<i;)if(t(e[n],n,e))return!0;return!1},sl=function(e,t,n,i,r,o){var s=1&n,a=e.length,l=t.length;if(a!=l&&!(s&&l>a))return!1;var c=o.get(e),u=o.get(t);if(c&&u)return c==t&&u==e;var d=-1,h=!0,p=2&n?new ss:void 0;for(o.set(e,t),o.set(t,e);++d<a;){var f=e[d],m=t[d];if(i)var g=s?i(m,f,d,t,e,o):i(f,m,d,e,t,o);if(void 0!==g){if(g)continue;h=!1;break}if(p){if(!sa(t,function(e,t){var s,a;if(s=p,a=t,!s.has(a)&&(f===e||r(f,e,n,i,o)))return p.push(t)})){h=!1;break}}else if(!(f===m||r(f,m,n,i,o))){h=!1;break}}return o.delete(e),o.delete(t),h},sc=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e,i){n[++t]=[i,e]}),n},su=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n};var sd=iv?iv.prototype:void 0,sh=sd?sd.valueOf:void 0;let sp=function(e,t,n,i,r,o,s){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":if(e.byteLength!=t.byteLength||!o(new i5(e),new i5(t)))break;return!0;case"[object Boolean]":case"[object Date]":case"[object Number]":return ic(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var a=sc;case"[object Set]":var l=1&i;if(a||(a=su),e.size!=t.size&&!l)break;var c=s.get(e);if(c)return c==t;i|=2,s.set(e,t);var u=sl(a(e),a(t),i,r,o,s);return s.delete(e),u;case"[object Symbol]":if(sh)return sh.call(e)==sh.call(t)}return!1};var sf=Object.prototype.hasOwnProperty;let sm=function(e,t,n,i,r,o){var s=1&n,a=oR(e),l=a.length;if(l!=oR(t).length&&!s)return!1;for(var c=l;c--;){var u=a[c];if(!(s?u in t:sf.call(t,u)))return!1}var d=o.get(e),h=o.get(t);if(d&&h)return d==t&&h==e;var p=!0;o.set(e,t),o.set(t,e);for(var f=s;++c<l;){var m=e[u=a[c]],g=t[u];if(i)var v=s?i(g,m,u,t,e,o):i(m,g,u,e,t,o);if(!(void 0===v?m===g||r(m,g,n,i,o):v)){p=!1;break}f||(f="constructor"==u)}if(p&&!f){var y=e.constructor,b=t.constructor;y!=b&&"constructor"in e&&"constructor"in t&&!("function"==typeof y&&y instanceof y&&"function"==typeof b&&b instanceof b)&&(p=!1)}return o.delete(e),o.delete(t),p};var sg="[object Arguments]",sv="[object Array]",sy="[object Object]",sb=Object.prototype.hasOwnProperty;let sw=function(e,t,n,i,r,o){var s=ru(e),a=ru(t),l=s?sv:oZ(e),c=a?sv:oZ(t);l=l==sg?sy:l,c=c==sg?sy:c;var u=l==sy,d=c==sy,h=l==c;if(h&&rv(e)){if(!rv(t))return!1;s=!0,u=!1}if(h&&!u)return o||(o=new iV),s||rN(e)?sl(e,t,n,i,r,o):sp(e,t,l,n,i,r,o);if(!(1&n)){var p=u&&sb.call(e,"__wrapped__"),f=d&&sb.call(t,"__wrapped__");if(p||f){var m=p?e.value():e,g=f?t.value():t;return o||(o=new iV),r(m,g,n,i,o)}}return!!h&&(o||(o=new iV),sm(e,t,n,i,r,o))},s_=function(e,t){return function e(t,n,i,r,o){return t===n||(null!=t&&null!=n&&(rr(t)||rr(n))?sw(t,n,i,r,e,o):t!=t&&n!=n)}(e,t)};class sE extends of{static value(){}optimize(){(this.prev||this.next)&&this.remove()}length(){return 0}value(){return""}}sE.blotName="break",sE.tagName="BR";class sx extends ob{}function sk(e){return e.replace(/[&<>"']/g,e=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[e])}class sT extends oc{static allowedChildren=[sT,sE,of,sx];static order=["cursor","inline","link","underline","strike","italic","bold","script","code"];static compare(e,t){let n=sT.order.indexOf(e),i=sT.order.indexOf(t);return n>=0||i>=0?n-i:e===t?0:e<t?-1:1}formatAt(e,t,n,i){if(0>sT.compare(this.statics.blotName,n)&&this.scroll.query(n,r0.BLOT)){let r=this.isolate(e,t);i&&r.wrap(n,i)}else super.formatAt(e,t,n,i)}optimize(e){if(super.optimize(e),this.parent instanceof sT&&sT.compare(this.statics.blotName,this.parent.statics.blotName)>0){let e=this.parent.isolate(this.offset(),this.length());this.moveChildren(e),e.wrap(this)}}}let sO=sT;class sC extends od{cache={};delta(){return null==this.cache.delta&&(this.cache.delta=sS(this)),this.cache.delta}deleteAt(e,t){super.deleteAt(e,t),this.cache={}}formatAt(e,t,n,i){!(t<=0)&&(this.scroll.query(n,r0.BLOCK)?e+t===this.length()&&this.format(n,i):super.formatAt(e,Math.min(t,this.length()-e-1),n,i),this.cache={})}insertAt(e,t,n){if(null!=n){super.insertAt(e,t,n),this.cache={};return}if(0===t.length)return;let i=t.split("\n"),r=i.shift();r.length>0&&(e<this.length()-1||null==this.children.tail?super.insertAt(Math.min(e,this.length()-1),r):this.children.tail.insertAt(this.children.tail.length(),r),this.cache={});let o=this;i.reduce((e,t)=>((o=o.split(e,!0)).insertAt(0,t),t.length),e+r.length)}insertBefore(e,t){let{head:n}=this.children;super.insertBefore(e,t),n instanceof sE&&n.remove(),this.cache={}}length(){return null==this.cache.length&&(this.cache.length=super.length()+1),this.cache.length}moveChildren(e,t){super.moveChildren(e,t),this.cache={}}optimize(e){super.optimize(e),this.cache={}}path(e){return super.path(e,!0)}removeChild(e){super.removeChild(e),this.cache={}}split(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t&&(0===e||e>=this.length()-1)){let t=this.clone();return 0===e?(this.parent.insertBefore(t,this),this):(this.parent.insertBefore(t,this.next),t)}let n=super.split(e,t);return this.cache={},n}}sC.blotName="block",sC.tagName="P",sC.defaultChild=sE,sC.allowedChildren=[sE,sO,of,sx];class sA extends of{attach(){super.attach(),this.attributes=new r7(this.domNode)}delta(){return new ow().insert(this.value(),{...this.formats(),...this.attributes.values()})}format(e,t){let n=this.scroll.query(e,r0.BLOCK_ATTRIBUTE);null!=n&&this.attributes.attribute(n,t)}formatAt(e,t,n,i){this.format(n,i)}insertAt(e,t,n){if(null!=n){super.insertAt(e,t,n);return}let i=t.split("\n"),r=i.pop(),o=i.map(e=>{let t=this.scroll.create(sC.blotName);return t.insertAt(0,e),t}),s=this.split(e);o.forEach(e=>{this.parent.insertBefore(e,s)}),r&&this.parent.insertBefore(this.scroll.create("text",r),s)}}function sS(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return e.descendants(oi).reduce((e,n)=>0===n.length()?e:e.insert(n.value(),sN(n,{},t)),new ow).insert("\n",sN(e))}function sN(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=!(arguments.length>2)||void 0===arguments[2]||arguments[2];return null==e?t:("formats"in e&&"function"==typeof e.formats&&(t={...t,...e.formats()},n&&delete t["code-token"]),null==e.parent||"scroll"===e.parent.statics.blotName||e.parent.statics.scope!==e.statics.scope)?t:sN(e.parent,t,n)}sA.scope=r0.BLOCK_BLOT;class sI extends of{static blotName="cursor";static className="ql-cursor";static tagName="span";static CONTENTS="\uFEFF";static value(){}constructor(e,t,n){super(e,t),this.selection=n,this.textNode=document.createTextNode(sI.CONTENTS),this.domNode.appendChild(this.textNode),this.savedLength=0}detach(){null!=this.parent&&this.parent.removeChild(this)}format(e,t){if(0!==this.savedLength){super.format(e,t);return}let n=this,i=0;for(;null!=n&&n.statics.scope!==r0.BLOCK_BLOT;)i+=n.offset(n.parent),n=n.parent;null!=n&&(this.savedLength=sI.CONTENTS.length,n.optimize(),n.formatAt(i,sI.CONTENTS.length,e,t),this.savedLength=0)}index(e,t){return e===this.textNode?0:super.index(e,t)}length(){return this.savedLength}position(){return[this.textNode,this.textNode.data.length]}remove(){super.remove(),this.parent=null}restore(){let e;if(this.selection.composing||null==this.parent)return null;let t=this.selection.getNativeRange();for(;null!=this.domNode.lastChild&&this.domNode.lastChild!==this.textNode;)this.domNode.parentNode.insertBefore(this.domNode.lastChild,this.domNode);let n=this.prev instanceof sx?this.prev:null,i=n?n.length():0,r=this.next instanceof sx?this.next:null,o=r?r.text:"",{textNode:s}=this,a=s.data.split(sI.CONTENTS).join("");if(s.data=sI.CONTENTS,n)e=n,(a||r)&&(n.insertAt(n.length(),a+o),r&&r.remove());else if(r)e=r,r.insertAt(0,a);else{let t=document.createTextNode(a);e=this.scroll.create(t),this.parent.insertBefore(e,this)}if(this.remove(),t){let o=(e,t)=>n&&e===n.domNode?t:e===s?i+t-1:r&&e===r.domNode?i+a.length+t:null,l=o(t.start.node,t.start.offset),c=o(t.end.node,t.end.offset);if(null!==l&&null!==c)return{startNode:e.domNode,startOffset:l,endNode:e.domNode,endOffset:c}}return null}update(e,t){if(e.some(e=>"characterData"===e.type&&e.target===this.textNode)){let e=this.restore();e&&(t.range=e)}}optimize(e){super.optimize(e);let{parent:t}=this;for(;t;){if("A"===t.domNode.tagName){this.savedLength=sI.CONTENTS.length,t.isolate(this.offset(t),this.length()).unwrap(),this.savedLength=0;break}t=t.parent}}value(){return""}}var sL=n("2337"),sM=n.n(sL);let sR=new WeakMap,sP=["error","warn","log","info"],sD="warn";function sj(e){if(sD&&sP.indexOf(e)<=sP.indexOf(sD)){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];console[e](...n)}}function sB(e){return sP.reduce((t,n)=>(t[n]=sj.bind(console,n,e),t),{})}sB.level=e=>{sD=e},sj.level=sB.level;let sF=sB("quill:events");["selectionchange","mousedown","mouseup","click"].forEach(e=>{document.addEventListener(e,function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];Array.from(document.querySelectorAll(".ql-container")).forEach(e=>{let n=sR.get(e);n&&n.emitter&&n.emitter.handleDOM(...t)})})});class sq extends sM(){static events={EDITOR_CHANGE:"editor-change",SCROLL_BEFORE_UPDATE:"scroll-before-update",SCROLL_BLOT_MOUNT:"scroll-blot-mount",SCROLL_BLOT_UNMOUNT:"scroll-blot-unmount",SCROLL_OPTIMIZE:"scroll-optimize",SCROLL_UPDATE:"scroll-update",SCROLL_EMBED_UPDATE:"scroll-embed-update",SELECTION_CHANGE:"selection-change",TEXT_CHANGE:"text-change",COMPOSITION_BEFORE_START:"composition-before-start",COMPOSITION_START:"composition-start",COMPOSITION_BEFORE_END:"composition-before-end",COMPOSITION_END:"composition-end"};static sources={API:"api",SILENT:"silent",USER:"user"};constructor(){super(),this.domListeners={},this.on("error",sF.error)}emit(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return sF.log.call(sF,...t),super.emit(...t)}handleDOM(e){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];(this.domListeners[e.type]||[]).forEach(t=>{let{node:i,handler:r}=t;(e.target===i||i.contains(e.target))&&r(e,...n)})}listenDOM(e,t,n){!this.domListeners[e]&&(this.domListeners[e]=[]),this.domListeners[e].push({node:t,handler:n})}}let sH=sB("quill:selection");class s${constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.index=e,this.length=t}}function sU(e,t){try{t.parentNode}catch(e){return!1}return e.contains(t)}let sz=class e{constructor(e,t){this.emitter=t,this.scroll=e,this.composing=!1,this.mouseDown=!1,this.root=this.scroll.domNode,this.cursor=this.scroll.create("cursor",this),this.savedRange=new s$(0,0),this.lastRange=this.savedRange,this.lastNative=null,this.handleComposition(),this.handleDragging(),this.emitter.listenDOM("selectionchange",document,()=>{!this.mouseDown&&!this.composing&&setTimeout(this.update.bind(this,sq.sources.USER),1)}),this.emitter.on(sq.events.SCROLL_BEFORE_UPDATE,()=>{if(!this.hasFocus())return;let e=this.getNativeRange();if(null!=e)e.start.node!==this.cursor.textNode&&this.emitter.once(sq.events.SCROLL_UPDATE,(t,n)=>{try{this.root.contains(e.start.node)&&this.root.contains(e.end.node)&&this.setNativeRange(e.start.node,e.start.offset,e.end.node,e.end.offset);let i=n.some(e=>"characterData"===e.type||"childList"===e.type||"attributes"===e.type&&e.target===this.root);this.update(i?sq.sources.SILENT:t)}catch(e){}})}),this.emitter.on(sq.events.SCROLL_OPTIMIZE,(e,t)=>{if(t.range){let{startNode:e,startOffset:n,endNode:i,endOffset:r}=t.range;this.setNativeRange(e,n,i,r),this.update(sq.sources.SILENT)}}),this.update(sq.sources.SILENT)}handleComposition(){this.emitter.on(sq.events.COMPOSITION_BEFORE_START,()=>{this.composing=!0}),this.emitter.on(sq.events.COMPOSITION_END,()=>{if(this.composing=!1,this.cursor.parent){let e=this.cursor.restore();if(!!e)setTimeout(()=>{this.setNativeRange(e.startNode,e.startOffset,e.endNode,e.endOffset)},1)}})}handleDragging(){this.emitter.listenDOM("mousedown",document.body,()=>{this.mouseDown=!0}),this.emitter.listenDOM("mouseup",document.body,()=>{this.mouseDown=!1,this.update(sq.sources.USER)})}focus(){!this.hasFocus()&&(this.root.focus({preventScroll:!0}),this.setRange(this.savedRange))}format(e,t){this.scroll.update();let n=this.getNativeRange();if(!(null==n||!n.native.collapsed||this.scroll.query(e,r0.BLOCK))){if(n.start.node!==this.cursor.textNode){let e=this.scroll.find(n.start.node,!1);if(null==e)return;if(e instanceof oi){let t=e.split(n.start.offset);e.parent.insertBefore(this.cursor,t)}else e.insertBefore(this.cursor,n.start.node);this.cursor.attach()}this.cursor.format(e,t),this.scroll.optimize(),this.setNativeRange(this.cursor.textNode,this.cursor.textNode.data.length),this.update()}}getBounds(e){let t,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=this.scroll.length();i=Math.min((e=Math.min(e,r-1))+i,r-1)-e;let[o,s]=this.scroll.leaf(e);if(null==o)return null;if(i>0&&s===o.length()){let[t]=this.scroll.leaf(e+1);if(t){let[n]=this.scroll.line(e),[i]=this.scroll.line(e+1);n===i&&(o=t,s=0)}}[t,s]=o.position(s,!0);let a=document.createRange();if(i>0)return(a.setStart(t,s),[o,s]=this.scroll.leaf(e+i),null==o)?null:([t,s]=o.position(s,!0),a.setEnd(t,s),a.getBoundingClientRect());let l="left";if(t instanceof Text){if(!t.data.length)return null;s<t.data.length?(a.setStart(t,s),a.setEnd(t,s+1)):(a.setStart(t,s-1),a.setEnd(t,s),l="right"),n=a.getBoundingClientRect()}else{if(!(o.domNode instanceof Element))return null;n=o.domNode.getBoundingClientRect(),s>0&&(l="right")}return{bottom:n.top+n.height,height:n.height,left:n[l],right:n[l],top:n.top,width:0}}getNativeRange(){let e=document.getSelection();if(null==e||e.rangeCount<=0)return null;let t=e.getRangeAt(0);if(null==t)return null;let n=this.normalizeNative(t);return sH.info("getNativeRange",n),n}getRange(){let e=this.scroll.domNode;if("isConnected"in e&&!e.isConnected)return[null,null];let t=this.getNativeRange();return null==t?[null,null]:[this.normalizedToRange(t),t]}hasFocus(){return document.activeElement===this.root||null!=document.activeElement&&sU(this.root,document.activeElement)}normalizedToRange(e){let t=[[e.start.node,e.start.offset]];!e.native.collapsed&&t.push([e.end.node,e.end.offset]);let n=t.map(e=>{let[t,n]=e,i=this.scroll.find(t,!0),r=i.offset(this.scroll);return 0===n?r:i instanceof oi?r+i.index(t,n):r+i.length()}),i=Math.min(Math.max(...n),this.scroll.length()-1),r=Math.min(i,...n);return new s$(r,i-r)}normalizeNative(e){if(!sU(this.root,e.startContainer)||!e.collapsed&&!sU(this.root,e.endContainer))return null;let t={start:{node:e.startContainer,offset:e.startOffset},end:{node:e.endContainer,offset:e.endOffset},native:e};return[t.start,t.end].forEach(e=>{let{node:t,offset:n}=e;for(;!(t instanceof Text)&&t.childNodes.length>0;)if(t.childNodes.length>n)t=t.childNodes[n],n=0;else if(t.childNodes.length===n)(t=t.lastChild)instanceof Text?n=t.data.length:n=t.childNodes.length>0?t.childNodes.length:t.childNodes.length+1;else break;e.node=t,e.offset=n}),t}rangeToNative(e){let t=this.scroll.length(),n=(e,n)=>{e=Math.min(t-1,e);let[i,r]=this.scroll.leaf(e);return i?i.position(r,n):[null,-1]};return[...n(e.index,!1),...n(e.index+e.length,!0)]}setNativeRange(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t,r=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(sH.info("setNativeRange",e,t,n,i),null!=e&&(null==this.root.parentNode||null==e.parentNode||null==n.parentNode))return;let o=document.getSelection();if(null!=o){if(null!=e){!this.hasFocus()&&this.root.focus({preventScroll:!0});let{native:s}=this.getNativeRange()||{};if(null==s||r||e!==s.startContainer||t!==s.startOffset||n!==s.endContainer||i!==s.endOffset){e instanceof Element&&"BR"===e.tagName&&(t=Array.from(e.parentNode.childNodes).indexOf(e),e=e.parentNode),n instanceof Element&&"BR"===n.tagName&&(i=Array.from(n.parentNode.childNodes).indexOf(n),n=n.parentNode);let r=document.createRange();r.setStart(e,t),r.setEnd(n,i),o.removeAllRanges(),o.addRange(r)}}else o.removeAllRanges(),this.root.blur()}}setRange(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:sq.sources.API;if("string"==typeof t&&(n=t,t=!1),sH.info("setRange",e),null!=e){let n=this.rangeToNative(e);this.setNativeRange(...n,t)}else this.setNativeRange(null);this.update(n)}update(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:sq.sources.USER,t=this.lastRange,[n,i]=this.getRange();if(this.lastRange=n,this.lastNative=i,null!=this.lastRange&&(this.savedRange=this.lastRange),!s_(t,this.lastRange)){if(!this.composing&&null!=i&&i.native.collapsed&&i.start.node!==this.cursor.textNode){let e=this.cursor.restore();e&&this.setNativeRange(e.startNode,e.startOffset,e.endNode,e.endOffset)}let n=[sq.events.SELECTION_CHANGE,so(this.lastRange),so(t),e];this.emitter.emit(sq.events.EDITOR_CHANGE,...n),e!==sq.sources.SILENT&&this.emitter.emit(...n)}}},sX=/^[ -~]*$/;function sW(e,t,n){let i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if("html"in e&&"function"==typeof e.html)return e.html(t,n);if(e instanceof sx)return sk(e.value().slice(t,t+n));if(e instanceof oa){if("list-container"===e.statics.blotName){let i=[];return e.children.forEachAt(t,n,(e,t,n)=>{let r="formats"in e&&"function"==typeof e.formats?e.formats():{};i.push({child:e,offset:t,length:n,indent:r.indent||0,type:r.list})}),function e(t,n,i){if(0===t.length){let[t]=sV(i.pop());return n<=0?`</li></${t}>`:`</li></${t}>${e([],n-1,i)}`}let[{child:r,offset:o,length:s,indent:a,type:l},...c]=t,[u,d]=sV(l);if(a>n)return(i.push(l),a===n+1)?`<${u}><li${d}>${sW(r,o,s)}${e(c,a,i)}`:`<${u}><li>${e(t,n+1,i)}`;let h=i[i.length-1];if(a===n&&l===h)return`</li><li${d}>${sW(r,o,s)}${e(c,a,i)}`;let[p]=sV(i.pop());return`</li></${p}>${e(t,n-1,i)}`}(i,-1,[])}let r=[];if(e.children.forEachAt(t,n,(e,t,n)=>{r.push(sW(e,t,n))}),i||"list"===e.statics.blotName)return r.join("");let{outerHTML:o,innerHTML:s}=e.domNode,[a,l]=o.split(`>${s}<`);return"<table"===a?`<table style="border: 1px solid #000;">${r.join("")}<${l}`:`${a}>${r.join("")}<${l}`}return e.domNode instanceof Element?e.domNode.outerHTML:""}function sV(e){let t="ordered"===e?"ol":"ul";switch(e){case"checked":return[t,' data-list="checked"'];case"unchecked":return[t,' data-list="unchecked"'];default:return[t,""]}}function sK(e){return e.reduce((e,t)=>{if("string"==typeof t.insert){let n=t.insert.replace(/\r\n/g,"\n").replace(/\r/g,"\n");return e.insert(n,t.attributes)}return e.push(t)},new ow)}function sG(e,t){let{index:n,length:i}=e;return new s$(n+t,i)}let sY=class e{constructor(e){this.scroll=e,this.delta=this.getDelta()}applyDelta(e){this.scroll.update();let t=this.scroll.length();this.scroll.batchStart();let n=sK(e),i=new ow;return(function(e){let t=[];return e.forEach(e=>{"string"==typeof e.insert?e.insert.split("\n").forEach((n,i)=>{i&&t.push({insert:"\n",attributes:e.attributes}),n&&t.push({insert:n,attributes:e.attributes})}):t.push(e)}),t})(n.ops.slice()).reduce((e,n)=>{let r=ow.Op.length(n),o=n.attributes||{},s=!1,a=!1;if(null!=n.insert){if(i.retain(r),"string"==typeof n.insert){let i=n.insert;a=!i.endsWith("\n")&&(t<=e||!!this.scroll.descendant(sA,e)[0]),this.scroll.insertAt(e,i);let[r,s]=this.scroll.line(e),l=rJ({},sN(r));if(r instanceof sC){let[e]=r.descendant(oi,s);e&&(l=rJ(l,sN(e)))}o=ow.AttributeMap.diff(l,o)||{}}else if("object"==typeof n.insert){let i=Object.keys(n.insert)[0];if(null==i)return e;let r=null!=this.scroll.query(i,r0.INLINE);if(r)(t<=e||this.scroll.descendant(sA,e)[0])&&(a=!0);else if(e>0){let[t,n]=this.scroll.descendant(oi,e-1);t instanceof sx?"\n"!==t.value()[n]&&(s=!0):t instanceof of&&t.statics.scope===r0.INLINE_BLOT&&(s=!0)}if(this.scroll.insertAt(e,i,n.insert[i]),r){let[t]=this.scroll.descendant(oi,e);if(t){let e=rJ({},sN(t));o=ow.AttributeMap.diff(e,o)||{}}}}t+=r}else if(i.push(n),null!==n.retain&&"object"==typeof n.retain){let t=Object.keys(n.retain)[0];if(null==t)return e;this.scroll.updateEmbedAt(e,t,n.retain[t])}Object.keys(o).forEach(t=>{this.scroll.formatAt(e,r,t,o[t])});let l=s?1:0,c=a?1:0;return t+=l+c,i.retain(l),i.delete(c),e+r+l+c},0),i.reduce((e,t)=>"number"==typeof t.delete?(this.scroll.deleteAt(e,t.delete),e):e+ow.Op.length(t),0),this.scroll.batchEnd(),this.scroll.optimize(),this.update(n)}deleteText(e,t){return this.scroll.deleteAt(e,t),this.update(new ow().retain(e).delete(t))}formatLine(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.scroll.update(),Object.keys(n).forEach(i=>{this.scroll.lines(e,Math.max(t,1)).forEach(e=>{e.format(i,n[i])})}),this.scroll.optimize();let i=new ow().retain(e).retain(t,so(n));return this.update(i)}formatText(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.keys(n).forEach(i=>{this.scroll.formatAt(e,t,i,n[i])});let i=new ow().retain(e).retain(t,so(n));return this.update(i)}getContents(e,t){return this.delta.slice(e,e+t)}getDelta(){return this.scroll.lines().reduce((e,t)=>e.concat(t.delta()),new ow)}getFormat(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=[],i=[];0===t?this.scroll.path(e).forEach(e=>{let[t]=e;t instanceof sC?n.push(t):t instanceof oi&&i.push(t)}):(n=this.scroll.lines(e,t),i=this.scroll.descendants(oi,e,t));let[r,o]=[n,i].map(e=>{let t=e.shift();if(null==t)return{};let n=sN(t);for(;Object.keys(n).length>0;){let t=e.shift();if(null==t)break;n=function(e,t){return Object.keys(t).reduce((n,i)=>{if(null==e[i])return n;let r=t[i];return r===e[i]?n[i]=r:Array.isArray(r)?0>r.indexOf(e[i])?n[i]=r.concat([e[i]]):n[i]=r:n[i]=[r,e[i]],n},{})}(sN(t),n)}return n});return{...r,...o}}getHTML(e,t){let[n,i]=this.scroll.line(e);if(n){let r=n.length();return n.length()>=i+t&&!(0===i&&t===r)?sW(n,i,t,!0):sW(this.scroll,e,t,!0)}return""}getText(e,t){return this.getContents(e,t).filter(e=>"string"==typeof e.insert).map(e=>e.insert).join("")}insertContents(e,t){let n=sK(t),i=new ow().retain(e).concat(n);return this.scroll.insertContents(e,n),this.update(i)}insertEmbed(e,t,n){return this.scroll.insertAt(e,t,n),this.update(new ow().retain(e).insert({[t]:n}))}insertText(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t=t.replace(/\r\n/g,"\n").replace(/\r/g,"\n"),this.scroll.insertAt(e,t),Object.keys(n).forEach(i=>{this.scroll.formatAt(e,t.length,i,n[i])}),this.update(new ow().retain(e).insert(t,so(n)))}isBlank(){if(0===this.scroll.children.length)return!0;if(this.scroll.children.length>1)return!1;let e=this.scroll.children.head;return e?.statics.blotName===sC.blotName&&!(e.children.length>1)&&e.children.head instanceof sE}removeFormat(e,t){let n=this.getText(e,t),[i,r]=this.scroll.line(e+t),o=0,s=new ow;null!=i&&(o=i.length()-r,s=i.delta().slice(r,r+o-1).insert("\n"));let a=this.getContents(e,t+o).diff(new ow().insert(n).concat(s)),l=new ow().retain(e).concat(a);return this.applyDelta(l)}update(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,i=this.delta;if(1===t.length&&"characterData"===t[0].type&&t[0].target.data.match(sX)&&this.scroll.find(t[0].target)){let r=this.scroll.find(t[0].target),o=sN(r),s=r.offset(this.scroll),a=t[0].oldValue.replace(sI.CONTENTS,""),l=new ow().insert(a),c=new ow().insert(r.value()),u=n&&{oldRange:sG(n.oldRange,-s),newRange:sG(n.newRange,-s)};e=new ow().retain(s).concat(l.diff(c,u)).reduce((e,t)=>t.insert?e.insert(t.insert,o):e.push(t),new ow),this.delta=i.compose(e)}else this.delta=this.getDelta(),(!e||!s_(i.compose(e),this.delta))&&(e=i.diff(this.delta,n));return e}},sZ=class e{static DEFAULTS={};constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.quill=e,this.options=t}},sQ=class e extends of{constructor(e,t){super(e,t),this.contentNode=document.createElement("span"),this.contentNode.setAttribute("contenteditable","false"),Array.from(this.domNode.childNodes).forEach(e=>{this.contentNode.appendChild(e)}),this.leftGuard=document.createTextNode("\uFEFF"),this.rightGuard=document.createTextNode("\uFEFF"),this.domNode.appendChild(this.leftGuard),this.domNode.appendChild(this.contentNode),this.domNode.appendChild(this.rightGuard)}index(e,t){return e===this.leftGuard?0:e===this.rightGuard?1:super.index(e,t)}restore(e){let t,n=null,i=e.data.split("\uFEFF").join("");if(e===this.leftGuard){if(this.prev instanceof sx){let e=this.prev.length();this.prev.insertAt(e,i),n={startNode:this.prev.domNode,startOffset:e+i.length}}else t=document.createTextNode(i),this.parent.insertBefore(this.scroll.create(t),this),n={startNode:t,startOffset:i.length}}else e===this.rightGuard&&(this.next instanceof sx?(this.next.insertAt(0,i),n={startNode:this.next.domNode,startOffset:i.length}):(t=document.createTextNode(i),this.parent.insertBefore(this.scroll.create(t),this.next),n={startNode:t,startOffset:i.length}));return e.data="\uFEFF",n}update(e,t){e.forEach(e=>{if("characterData"===e.type&&(e.target===this.leftGuard||e.target===this.rightGuard)){let n=this.restore(e.target);n&&(t.range=n)}})}},sJ=class e{isComposing=!1;constructor(e,t){this.scroll=e,this.emitter=t,this.setupListeners()}setupListeners(){this.scroll.domNode.addEventListener("compositionstart",e=>{!this.isComposing&&this.handleCompositionStart(e)}),this.scroll.domNode.addEventListener("compositionend",e=>{this.isComposing&&queueMicrotask(()=>{this.handleCompositionEnd(e)})})}handleCompositionStart(e){let t=e.target instanceof Node?this.scroll.find(e.target,!0):null;t&&!(t instanceof sQ)&&(this.emitter.emit(sq.events.COMPOSITION_BEFORE_START,e),this.scroll.batchStart(),this.emitter.emit(sq.events.COMPOSITION_START,e),this.isComposing=!0)}handleCompositionEnd(e){this.emitter.emit(sq.events.COMPOSITION_BEFORE_END,e),this.scroll.batchEnd(),this.emitter.emit(sq.events.COMPOSITION_END,e),this.isComposing=!1}};class s0{static DEFAULTS={modules:{}};static themes={default:s0};modules={};constructor(e,t){this.quill=e,this.options=t}init(){Object.keys(this.options.modules).forEach(e=>{null==this.modules[e]&&this.addModule(e)})}addModule(e){let t=this.quill.constructor.import(`modules/${e}`);return this.modules[e]=new t(this.quill,this.options.modules[e]||{}),this.modules[e]}}let s1=s0,s2=e=>e.parentElement||e.getRootNode().host||null,s5=e=>{let t=e.getBoundingClientRect(),n="offsetWidth"in e&&Math.abs(t.width)/e.offsetWidth||1,i="offsetHeight"in e&&Math.abs(t.height)/e.offsetHeight||1;return{top:t.top,right:t.left+e.clientWidth*n,bottom:t.top+e.clientHeight*i,left:t.left}},s3=e=>{let t=parseInt(e,10);return Number.isNaN(t)?0:t},s4=(e,t,n,i,r,o)=>e<n&&t>i?0:e<n?-(n-e+r):t>i?t-e>i-n?e+r-n:t-i+o:0,s6=(e,t)=>{let n=e.ownerDocument,i=t,r=e;for(;r;){let e=r===n.body,t=e?{top:0,right:window.visualViewport?.width??n.documentElement.clientWidth,bottom:window.visualViewport?.height??n.documentElement.clientHeight,left:0}:s5(r),o=getComputedStyle(r),s=s4(i.left,i.right,t.left,t.right,s3(o.scrollPaddingLeft),s3(o.scrollPaddingRight)),a=s4(i.top,i.bottom,t.top,t.bottom,s3(o.scrollPaddingTop),s3(o.scrollPaddingBottom));if(s||a){if(e)n.defaultView?.scrollBy(s,a);else{let{scrollLeft:e,scrollTop:t}=r;a&&(r.scrollTop+=a),s&&(r.scrollLeft+=s);let n=r.scrollLeft-e,o=r.scrollTop-t;i={left:i.left-n,top:i.top-o,right:i.right-n,bottom:i.bottom-o}}}r=e||"fixed"===o.position?null:s2(r)}},s8=["block","break","cursor","inline","scroll","text"],s9=(e,t,n)=>{let i=new r3;return s8.forEach(e=>{let n=t.query(e);n&&i.register(n)}),e.forEach(e=>{let r=t.query(e);!r&&n.error(`Cannot register "${e}" specified in "formats" config. Are you sure it was registered?`);let o=0;for(;r;)if(i.register(r),r="blotName"in r?r.requiredContainer??null:null,(o+=1)>100){n.error(`Cycle detected in registering blot requiredContainer: "${e}"`);break}}),i},s7=sB("quill"),ae=new r3;oa.uiClass="ql-ui";class at{static DEFAULTS={bounds:null,modules:{clipboard:!0,keyboard:!0,history:!0,uploader:!0},placeholder:"",readOnly:!1,registry:ae,theme:"default"};static events=sq.events;static sources=sq.sources;static version="2.0.2";static imports={delta:ow,parchment:k,"core/module":sZ,"core/theme":s1};static debug(e){!0===e&&(e="log"),sB.level(e)}static find(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return sR.get(e)||ae.find(e,t)}static import(e){return null==this.imports[e]&&s7.error(`Cannot import ${e}. Are you sure it was registered?`),this.imports[e]}static register(){if("string"!=typeof(arguments.length<=0?void 0:arguments[0])){let e=arguments.length<=0?void 0:arguments[0],t=!!(arguments.length<=1?void 0:arguments[1]),n="attrName"in e?e.attrName:e.blotName;"string"==typeof n?this.register(`formats/${n}`,e,t):Object.keys(e).forEach(n=>{this.register(n,e[n],t)})}else{let e=arguments.length<=0?void 0:arguments[0],t=arguments.length<=1?void 0:arguments[1],n=!!(arguments.length<=2?void 0:arguments[2]);null!=this.imports[e]&&!n&&s7.warn(`Overwriting ${e} with`,t),this.imports[e]=t,(e.startsWith("blots/")||e.startsWith("formats/"))&&t&&"boolean"!=typeof t&&"abstract"!==t.blotName&&ae.register(t),"function"==typeof t.register&&t.register(ae)}}constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.options=function(e,t){let n=an(e);if(!n)throw Error("Invalid Quill container");let i=t.theme&&t.theme!==at.DEFAULTS.theme?at.import(`themes/${t.theme}`):s1;if(!i)throw Error(`Invalid theme ${t.theme}. Did you register it?`);let{modules:r,...o}=at.DEFAULTS,{modules:s,...a}=i.DEFAULTS,l=ai(t.modules);null!=l&&l.toolbar&&l.toolbar.constructor!==Object&&(l={...l,toolbar:{container:l.toolbar}});let c=rJ({},ai(r),ai(s),l),u={...o,...ar(a),...ar(t)},d=t.registry;return d?t.formats&&s7.warn('Ignoring "formats" option because "registry" is specified'):d=t.formats?s9(t.formats,u.registry,s7):u.registry,{...u,registry:d,container:n,theme:i,modules:Object.entries(c).reduce((e,t)=>{let[n,i]=t;if(!i)return e;let r=at.import(`modules/${n}`);return null==r?(s7.error(`Cannot load ${n} module. Are you sure you registered it?`),e):{...e,[n]:rJ({},r.DEFAULTS||{},i)}},{}),bounds:an(u.bounds)}}(e,t),this.container=this.options.container,null==this.container){s7.error("Invalid Quill container",e);return}this.options.debug&&at.debug(this.options.debug);let n=this.container.innerHTML.trim();this.container.classList.add("ql-container"),this.container.innerHTML="",sR.set(this.container,this),this.root=this.addContainer("ql-editor"),this.root.classList.add("ql-blank"),this.emitter=new sq;let i=ov.blotName,r=this.options.registry.query(i);if(!r||!("blotName"in r))throw Error(`Cannot initialize Quill without "${i}" blot`);if(this.scroll=new r(this.options.registry,this.root,{emitter:this.emitter}),this.editor=new sY(this.scroll),this.selection=new sz(this.scroll,this.emitter),this.composition=new sJ(this.scroll,this.emitter),this.theme=new this.options.theme(this,this.options),this.keyboard=this.theme.addModule("keyboard"),this.clipboard=this.theme.addModule("clipboard"),this.history=this.theme.addModule("history"),this.uploader=this.theme.addModule("uploader"),this.theme.addModule("input"),this.theme.addModule("uiNode"),this.theme.init(),this.emitter.on(sq.events.EDITOR_CHANGE,e=>{e===sq.events.TEXT_CHANGE&&this.root.classList.toggle("ql-blank",this.editor.isBlank())}),this.emitter.on(sq.events.SCROLL_UPDATE,(e,t)=>{let n=this.selection.lastRange,[i]=this.selection.getRange(),r=n&&i?{oldRange:n,newRange:i}:void 0;ao.call(this,()=>this.editor.update(null,t,r),e)}),this.emitter.on(sq.events.SCROLL_EMBED_UPDATE,(e,t)=>{let n=this.selection.lastRange,[i]=this.selection.getRange(),r=n&&i?{oldRange:n,newRange:i}:void 0;ao.call(this,()=>{let n=new ow().retain(e.offset(this)).retain({[e.statics.blotName]:t});return this.editor.update(n,[],r)},at.sources.USER)}),n){let e=this.clipboard.convert({html:`${n}<p><br></p>`,text:"\n"});this.setContents(e)}this.history.clear(),this.options.placeholder&&this.root.setAttribute("data-placeholder",this.options.placeholder),this.options.readOnly&&this.disable(),this.allowReadOnlyEdits=!1}addContainer(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if("string"==typeof e){let t=e;(e=document.createElement("div")).classList.add(t)}return this.container.insertBefore(e,t),e}blur(){this.selection.setRange(null)}deleteText(e,t,n){return[e,t,,n]=as(e,t,n),ao.call(this,()=>this.editor.deleteText(e,t),n,e,-1*t)}disable(){this.enable(!1)}editReadOnly(e){this.allowReadOnlyEdits=!0;let t=e();return this.allowReadOnlyEdits=!1,t}enable(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];this.scroll.enable(e),this.container.classList.toggle("ql-disabled",!e)}focus(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.selection.focus(),!e.preventScroll&&this.scrollSelectionIntoView()}format(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:sq.sources.API;return ao.call(this,()=>{let n=this.getSelection(!0),i=new ow;if(null==n)return i;if(this.scroll.query(e,r0.BLOCK))i=this.editor.formatLine(n.index,n.length,{[e]:t});else{if(0===n.length)return this.selection.format(e,t),i;i=this.editor.formatText(n.index,n.length,{[e]:t})}return this.setSelection(n,sq.sources.SILENT),i},n)}formatLine(e,t,n,i,r){let o;return[e,t,o,r]=as(e,t,n,i,r),ao.call(this,()=>this.editor.formatLine(e,t,o),r,e,0)}formatText(e,t,n,i,r){let o;return[e,t,o,r]=as(e,t,n,i,r),ao.call(this,()=>this.editor.formatText(e,t,o),r,e,0)}getBounds(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=null;if(!(n="number"==typeof e?this.selection.getBounds(e,t):this.selection.getBounds(e.index,e.length)))return null;let i=this.container.getBoundingClientRect();return{bottom:n.bottom-i.top,height:n.height,left:n.left-i.left,right:n.right-i.left,top:n.top-i.top,width:n.width}}getContents(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getLength()-e;return[e,t]=as(e,t),this.editor.getContents(e,t)}getFormat(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getSelection(!0),t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return"number"==typeof e?this.editor.getFormat(e,t):this.editor.getFormat(e.index,e.length)}getIndex(e){return e.offset(this.scroll)}getLength(){return this.scroll.length()}getLeaf(e){return this.scroll.leaf(e)}getLine(e){return this.scroll.line(e)}getLines(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE;return"number"!=typeof e?this.scroll.lines(e.index,e.length):this.scroll.lines(e,t)}getModule(e){return this.theme.modules[e]}getSelection(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return e&&this.focus(),this.update(),this.selection.getRange()[0]}getSemanticHTML(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;return"number"==typeof e&&(t=t??this.getLength()-e),[e,t]=as(e,t),this.editor.getHTML(e,t)}getText(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;return"number"==typeof e&&(t=t??this.getLength()-e),[e,t]=as(e,t),this.editor.getText(e,t)}hasFocus(){return this.selection.hasFocus()}insertEmbed(e,t,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:at.sources.API;return ao.call(this,()=>this.editor.insertEmbed(e,t,n),i,e)}insertText(e,t,n,i,r){let o;return[e,,o,r]=as(e,0,n,i,r),ao.call(this,()=>this.editor.insertText(e,t,o),r,e,t.length)}isEnabled(){return this.scroll.isEnabled()}off(){return this.emitter.off(...arguments)}on(){return this.emitter.on(...arguments)}once(){return this.emitter.once(...arguments)}removeFormat(e,t,n){return[e,t,,n]=as(e,t,n),ao.call(this,()=>this.editor.removeFormat(e,t),n,e)}scrollRectIntoView(e){s6(this.root,e)}scrollIntoView(){console.warn("Quill#scrollIntoView() has been deprecated and will be removed in the near future. Please use Quill#scrollSelectionIntoView() instead."),this.scrollSelectionIntoView()}scrollSelectionIntoView(){let e=this.selection.lastRange,t=e&&this.selection.getBounds(e.index,e.length);t&&this.scrollRectIntoView(t)}setContents(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:sq.sources.API;return ao.call(this,()=>{e=new ow(e);let t=this.getLength(),n=this.editor.deleteText(0,t),i=this.editor.insertContents(0,e),r=this.editor.deleteText(this.getLength()-1,1);return n.compose(i).compose(r)},t)}setSelection(e,t,n){null==e?this.selection.setRange(null,t||at.sources.API):([e,t,,n]=as(e,t,n),this.selection.setRange(new s$(Math.max(0,e),t),n),n!==sq.sources.SILENT&&this.scrollSelectionIntoView())}setText(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:sq.sources.API,n=new ow().insert(e);return this.setContents(n,t)}update(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:sq.sources.USER,t=this.scroll.update(e);return this.selection.update(e),t}updateContents(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:sq.sources.API;return ao.call(this,()=>(e=new ow(e),this.editor.applyDelta(e)),t,!0)}}function an(e){return"string"==typeof e?document.querySelector(e):e}function ai(e){return Object.entries(e??{}).reduce((e,t)=>{let[n,i]=t;return{...e,[n]:!0===i?{}:i}},{})}function ar(e){return Object.fromEntries(Object.entries(e).filter(e=>void 0!==e[1]))}function ao(e,t,n,i){if(!this.isEnabled()&&t===sq.sources.USER&&!this.allowReadOnlyEdits)return new ow;let r=null==n?null:this.getSelection(),o=this.editor.delta,s=e();if(null!=r&&(!0===n&&(n=r.index),null==i?r=aa(r,s,t):0!==i&&(r=aa(r,n,i,t)),this.setSelection(r,sq.sources.SILENT)),s.length()>0){let e=[sq.events.TEXT_CHANGE,s,o,t];this.emitter.emit(sq.events.EDITOR_CHANGE,...e),t!==sq.sources.SILENT&&this.emitter.emit(...e)}return s}function as(e,t,n,i,r){let o={};return"number"==typeof e.index&&"number"==typeof e.length?("number"!=typeof t&&(r=i,i=n,n=t),t=e.length,e=e.index):"number"!=typeof t&&(r=i,i=n,n=t,t=0),"object"==typeof n?(o=n,r=i):"string"==typeof n&&(null!=i?o[n]=i:r=n),[e,t,o,r=r||sq.sources.API]}function aa(e,t,n,i){let r,o;let s="number"==typeof n?n:0;return null==e?null:(t&&"function"==typeof t.transformPosition?[r,o]=[e.index,e.index+e.length].map(e=>t.transformPosition(e,i!==sq.sources.USER)):[r,o]=[e.index,e.index+e.length].map(e=>e<t||e===t&&i===sq.sources.USER?e:s>=0?e+s:Math.max(t,e+s)),new s$(r,o-r))}let al=class e extends op{};function ac(e){return e instanceof sC||e instanceof sA}function au(e){return"function"==typeof e.updateContent}function ad(e,t,n){n.reduce((t,n)=>{let i=ow.Op.length(n),r=n.attributes||{};if(null!=n.insert){if("string"==typeof n.insert){let i=n.insert;e.insertAt(t,i);let[o]=e.descendant(oi,t),s=sN(o);r=ow.AttributeMap.diff(s,r)||{}}else if("object"==typeof n.insert){let i=Object.keys(n.insert)[0];if(null==i)return t;if(e.insertAt(t,i,n.insert[i]),null!=e.scroll.query(i,r0.INLINE)){let[n]=e.descendant(oi,t),i=sN(n);r=ow.AttributeMap.diff(i,r)||{}}}}return Object.keys(r).forEach(n=>{e.formatAt(t,i,n,r[n])}),t+i},t)}let ah=class e extends ov{static blotName="scroll";static className="ql-editor";static tagName="DIV";static defaultChild=sC;static allowedChildren=[sC,sA,al];constructor(e,t,n){let{emitter:i}=n;super(e,t),this.emitter=i,this.batch=!1,this.optimize(),this.enable(),this.domNode.addEventListener("dragstart",e=>this.handleDragStart(e))}batchStart(){!Array.isArray(this.batch)&&(this.batch=[])}batchEnd(){if(!this.batch)return;let e=this.batch;this.batch=!1,this.update(e)}emitMount(e){this.emitter.emit(sq.events.SCROLL_BLOT_MOUNT,e)}emitUnmount(e){this.emitter.emit(sq.events.SCROLL_BLOT_UNMOUNT,e)}emitEmbedUpdate(e,t){this.emitter.emit(sq.events.SCROLL_EMBED_UPDATE,e,t)}deleteAt(e,t){let[n,i]=this.line(e),[r]=this.line(e+t);if(super.deleteAt(e,t),null!=r&&n!==r&&i>0){if(n instanceof sA||r instanceof sA){this.optimize();return}let e=r.children.head instanceof sE?null:r.children.head;n.moveChildren(r,e),n.remove()}this.optimize()}enable(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];this.domNode.setAttribute("contenteditable",e?"true":"false")}formatAt(e,t,n,i){super.formatAt(e,t,n,i),this.optimize()}insertAt(e,t,n){if(e>=this.length()){if(null==n||null==this.scroll.query(t,r0.BLOCK)){let e=this.scroll.create(this.statics.defaultChild.blotName);this.appendChild(e),null==n&&t.endsWith("\n")?e.insertAt(0,t.slice(0,-1),n):e.insertAt(0,t,n)}else{let e=this.scroll.create(t,n);this.appendChild(e)}}else super.insertAt(e,t,n);this.optimize()}insertBefore(e,t){if(e.statics.scope===r0.INLINE_BLOT){let n=this.scroll.create(this.statics.defaultChild.blotName);n.appendChild(e),super.insertBefore(n,t)}else super.insertBefore(e,t)}insertContents(e,t){let n=this.deltaToRenderBlocks(t.concat(new ow().insert("\n"))),i=n.pop();if(null==i)return;this.batchStart();let r=n.shift();if(r){let t="block"===r.type&&(0===r.delta.length()||!this.descendant(sA,e)[0]&&e<this.length()),n="block"===r.type?r.delta:new ow().insert({[r.key]:r.value});ad(this,e,n);let i="block"===r.type?1:0,o=e+n.length()+i;t&&this.insertAt(o-1,"\n");let s=sN(this.line(e)[0]),a=ow.AttributeMap.diff(s,r.attributes)||{};Object.keys(a).forEach(e=>{this.formatAt(o-1,1,e,a[e])}),e=o}let[o,s]=this.children.find(e);n.length&&(o&&(o=o.split(s),s=0),n.forEach(e=>{if("block"===e.type)ad(this.createBlock(e.attributes,o||void 0),0,e.delta);else{let t=this.create(e.key,e.value);this.insertBefore(t,o||void 0),Object.keys(e.attributes).forEach(n=>{t.format(n,e.attributes[n])})}})),"block"===i.type&&i.delta.length()&&ad(this,o?o.offset(o.scroll)+s:this.length(),i.delta),this.batchEnd(),this.optimize()}isEnabled(){return"true"===this.domNode.getAttribute("contenteditable")}leaf(e){let t=this.path(e).pop();if(!t)return[null,-1];let[n,i]=t;return n instanceof oi?[n,i]:[null,-1]}line(e){return e===this.length()?this.line(e-1):this.descendant(ac,e)}lines(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,n=(e,t,i)=>{let r=[],o=i;return e.children.forEachAt(t,i,(e,t,i)=>{ac(e)?r.push(e):e instanceof op&&(r=r.concat(n(e,t,o))),o-=i}),r};return n(this,e,t)}optimize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!this.batch&&(super.optimize(e,t),e.length>0&&this.emitter.emit(sq.events.SCROLL_OPTIMIZE,e,t))}path(e){return super.path(e).slice(1)}remove(){}update(e){if(this.batch){Array.isArray(e)&&(this.batch=this.batch.concat(e));return}let t=sq.sources.USER;"string"==typeof e&&(t=e),!Array.isArray(e)&&(e=this.observer.takeRecords()),(e=e.filter(e=>{let{target:t}=e,n=this.find(t,!0);return n&&!au(n)})).length>0&&this.emitter.emit(sq.events.SCROLL_BEFORE_UPDATE,t,e),super.update(e.concat([])),e.length>0&&this.emitter.emit(sq.events.SCROLL_UPDATE,t,e)}updateEmbedAt(e,t,n){let[i]=this.descendant(e=>e instanceof sA,e);i&&i.statics.blotName===t&&au(i)&&i.updateContent(n)}handleDragStart(e){e.preventDefault()}deltaToRenderBlocks(e){let t=[],n=new ow;return e.forEach(e=>{let i=e?.insert;if(i){if("string"==typeof i){let r=i.split("\n");r.slice(0,-1).forEach(i=>{n.insert(i,e.attributes),t.push({type:"block",delta:n,attributes:e.attributes??{}}),n=new ow});let o=r[r.length-1];o&&n.insert(o,e.attributes)}else{let r=Object.keys(i)[0];if(!r)return;this.query(r,r0.INLINE)?n.push(e):(n.length()&&t.push({type:"block",delta:n,attributes:{}}),n=new ow,t.push({type:"blockEmbed",key:r,value:i[r],attributes:e.attributes??{}}))}}}),n.length()&&t.push({type:"block",delta:n,attributes:{}}),t}createBlock(e,t){let n;let i={};Object.entries(e).forEach(e=>{let[t,r]=e;null!=this.query(t,r0.BLOCK&r0.BLOT)?n=t:i[t]=r});let r=this.create(n||this.statics.defaultChild.blotName,n?e[n]:void 0);this.insertBefore(r,t||void 0);let o=r.length();return Object.entries(i).forEach(e=>{let[t,n]=e;r.formatAt(0,o,t,n)}),r}},ap={scope:r0.BLOCK,whitelist:["right","center","justify"]},af=new r1("align","align",ap),am=new r6("align","ql-align",ap),ag=new r9("align","text-align",ap);class av extends r9{value(e){let t=super.value(e);if(!t.startsWith("rgb("))return t;let n=(t=t.replace(/^[^\d]+/,"").replace(/[^\d]+$/,"")).split(",").map(e=>`00${parseInt(e,10).toString(16)}`.slice(-2)).join("");return`#${n}`}}let ay=new r6("color","ql-color",{scope:r0.INLINE}),ab=new av("color","color",{scope:r0.INLINE}),aw=new r6("background","ql-bg",{scope:r0.INLINE}),a_=new av("background","background-color",{scope:r0.INLINE});class aE extends al{static create(e){let t=super.create(e);return t.setAttribute("spellcheck","false"),t}code(e,t){return this.children.map(e=>1>=e.length()?"":e.domNode.innerText).join("\n").slice(e,e+t)}html(e,t){return`<pre> +${sk(this.code(e,t))} +</pre>`}}class ax extends sC{static TAB=" ";static register(){at.register(aE)}}class ak extends sO{}ak.blotName="code",ak.tagName="CODE",ax.blotName="code-block",ax.className="ql-code-block",ax.tagName="DIV",aE.blotName="code-block-container",aE.className="ql-code-block-container",aE.tagName="DIV",aE.allowedChildren=[ax],ax.allowedChildren=[sx,sE,sI],ax.requiredContainer=aE;let aT={scope:r0.BLOCK,whitelist:["rtl"]},aO=new r1("direction","dir",aT),aC=new r6("direction","ql-direction",aT),aA=new r9("direction","direction",aT),aS={scope:r0.INLINE,whitelist:["serif","monospace"]},aN=new r6("font","ql-font",aS),aI=new class e extends r9{value(e){return super.value(e).replace(/["']/g,"")}}("font","font-family",aS),aL=new r6("size","ql-size",{scope:r0.INLINE,whitelist:["small","large","huge"]}),aM=new r9("size","font-size",{scope:r0.INLINE,whitelist:["10px","18px","32px"]}),aR=sB("quill:keyboard"),aP=/Mac/i.test(navigator.platform)?"metaKey":"ctrlKey";class aD extends sZ{static match(e,t){return!["altKey","ctrlKey","metaKey","shiftKey"].some(n=>!!t[n]!==e[n]&&null!==t[n])&&(t.key===e.key||t.key===e.which)}constructor(e,t){super(e,t),this.bindings={},Object.keys(this.options.bindings).forEach(e=>{this.options.bindings[e]&&this.addBinding(this.options.bindings[e])}),this.addBinding({key:"Enter",shiftKey:null},this.handleEnter),this.addBinding({key:"Enter",metaKey:null,ctrlKey:null,altKey:null},()=>{}),/Firefox/i.test(navigator.userAgent)?(this.addBinding({key:"Backspace"},{collapsed:!0},this.handleBackspace),this.addBinding({key:"Delete"},{collapsed:!0},this.handleDelete)):(this.addBinding({key:"Backspace"},{collapsed:!0,prefix:/^.?$/},this.handleBackspace),this.addBinding({key:"Delete"},{collapsed:!0,suffix:/^.?$/},this.handleDelete)),this.addBinding({key:"Backspace"},{collapsed:!1},this.handleDeleteRange),this.addBinding({key:"Delete"},{collapsed:!1},this.handleDeleteRange),this.addBinding({key:"Backspace",altKey:null,ctrlKey:null,metaKey:null,shiftKey:null},{collapsed:!0,offset:0},this.handleBackspace),this.listen()}addBinding(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=function(e){if("string"==typeof e||"number"==typeof e)e={key:e};else{if("object"!=typeof e)return null;e=so(e)}return e.shortKey&&(e[aP]=e.shortKey,delete e.shortKey),e}(e);if(null==i){aR.warn("Attempted to add invalid keyboard binding",i);return}"function"==typeof t&&(t={handler:t}),"function"==typeof n&&(n={handler:n}),(Array.isArray(i.key)?i.key:[i.key]).forEach(e=>{let r={...i,key:e,...t,...n};this.bindings[r.key]=this.bindings[r.key]||[],this.bindings[r.key].push(r)})}listen(){this.quill.root.addEventListener("keydown",e=>{if(e.defaultPrevented||e.isComposing||229===e.keyCode&&("Enter"===e.key||"Backspace"===e.key))return;let t=(this.bindings[e.key]||[]).concat(this.bindings[e.which]||[]).filter(t=>aD.match(e,t));if(0===t.length)return;let n=at.find(e.target,!0);if(n&&n.scroll!==this.quill.scroll)return;let i=this.quill.getSelection();if(null==i||!this.quill.hasFocus())return;let[r,o]=this.quill.getLine(i.index),[s,a]=this.quill.getLeaf(i.index),[l,c]=0===i.length?[s,a]:this.quill.getLeaf(i.index+i.length),u=s instanceof ob?s.value().slice(0,a):"",d=l instanceof ob?l.value().slice(c):"",h={collapsed:0===i.length,empty:0===i.length&&1>=r.length(),format:this.quill.getFormat(i),line:r,offset:o,prefix:u,suffix:d,event:e};t.some(e=>{if(null!=e.collapsed&&e.collapsed!==h.collapsed||null!=e.empty&&e.empty!==h.empty||null!=e.offset&&e.offset!==h.offset)return!1;if(Array.isArray(e.format)){if(e.format.every(e=>null==h.format[e]))return!1}else if("object"==typeof e.format&&!Object.keys(e.format).every(t=>!0===e.format[t]?null!=h.format[t]:!1===e.format[t]?null==h.format[t]:s_(e.format[t],h.format[t])))return!1;return!!((null==e.prefix||e.prefix.test(h.prefix))&&(null==e.suffix||e.suffix.test(h.suffix)))&&!0!==e.handler.call(this,i,h,e)})&&e.preventDefault()})}handleBackspace(e,t){let n=/[\uD800-\uDBFF][\uDC00-\uDFFF]$/.test(t.prefix)?2:1;if(0===e.index||1>=this.quill.getLength())return;let i={},[r]=this.quill.getLine(e.index),o=new ow().retain(e.index-n).delete(n);if(0===t.offset){let[t]=this.quill.getLine(e.index-1);if(t&&!("block"===t.statics.blotName&&1>=t.length())){let t=r.formats(),n=this.quill.getFormat(e.index-1,1);if(Object.keys(i=ow.AttributeMap.diff(t,n)||{}).length>0){let t=new ow().retain(e.index+r.length()-2).retain(1,i);o=o.compose(t)}}}this.quill.updateContents(o,at.sources.USER),this.quill.focus()}handleDelete(e,t){let n=/^[\uD800-\uDBFF][\uDC00-\uDFFF]/.test(t.suffix)?2:1;if(e.index>=this.quill.getLength()-n)return;let i={},[r]=this.quill.getLine(e.index),o=new ow().retain(e.index).delete(n);if(t.offset>=r.length()-1){let[t]=this.quill.getLine(e.index+1);if(t){let n=r.formats(),s=this.quill.getFormat(e.index,1);Object.keys(i=ow.AttributeMap.diff(n,s)||{}).length>0&&(o=o.retain(t.length()-1).retain(1,i))}}this.quill.updateContents(o,at.sources.USER),this.quill.focus()}handleDeleteRange(e){a$({range:e,quill:this.quill}),this.quill.focus()}handleEnter(e,t){let n=Object.keys(t.format).reduce((e,n)=>(this.quill.scroll.query(n,r0.BLOCK)&&!Array.isArray(t.format[n])&&(e[n]=t.format[n]),e),{}),i=new ow().retain(e.index).delete(e.length).insert("\n",n);this.quill.updateContents(i,at.sources.USER),this.quill.setSelection(e.index+1,at.sources.SILENT),this.quill.focus()}}let aj={bindings:{bold:aq("bold"),italic:aq("italic"),underline:aq("underline"),indent:{key:"Tab",format:["blockquote","indent","list"],handler(e,t){return!!t.collapsed&&0!==t.offset||(this.quill.format("indent","+1",at.sources.USER),!1)}},outdent:{key:"Tab",shiftKey:!0,format:["blockquote","indent","list"],handler(e,t){return!!t.collapsed&&0!==t.offset||(this.quill.format("indent","-1",at.sources.USER),!1)}},"outdent backspace":{key:"Backspace",collapsed:!0,shiftKey:null,metaKey:null,ctrlKey:null,altKey:null,format:["indent","list"],offset:0,handler(e,t){null!=t.format.indent?this.quill.format("indent","-1",at.sources.USER):null!=t.format.list&&this.quill.format("list",!1,at.sources.USER)}},"indent code-block":aB(!0),"outdent code-block":aB(!1),"remove tab":{key:"Tab",shiftKey:!0,collapsed:!0,prefix:/\t$/,handler(e){this.quill.deleteText(e.index-1,1,at.sources.USER)}},tab:{key:"Tab",handler(e,t){if(t.format.table)return!0;this.quill.history.cutoff();let n=new ow().retain(e.index).delete(e.length).insert(" ");return this.quill.updateContents(n,at.sources.USER),this.quill.history.cutoff(),this.quill.setSelection(e.index+1,at.sources.SILENT),!1}},"blockquote empty enter":{key:"Enter",collapsed:!0,format:["blockquote"],empty:!0,handler(){this.quill.format("blockquote",!1,at.sources.USER)}},"list empty enter":{key:"Enter",collapsed:!0,format:["list"],empty:!0,handler(e,t){let n={list:!1};t.format.indent&&(n.indent=!1),this.quill.formatLine(e.index,e.length,n,at.sources.USER)}},"checklist enter":{key:"Enter",collapsed:!0,format:{list:"checked"},handler(e){let[t,n]=this.quill.getLine(e.index),i={...t.formats(),list:"checked"},r=new ow().retain(e.index).insert("\n",i).retain(t.length()-n-1).retain(1,{list:"unchecked"});this.quill.updateContents(r,at.sources.USER),this.quill.setSelection(e.index+1,at.sources.SILENT),this.quill.scrollSelectionIntoView()}},"header enter":{key:"Enter",collapsed:!0,format:["header"],suffix:/^$/,handler(e,t){let[n,i]=this.quill.getLine(e.index),r=new ow().retain(e.index).insert("\n",t.format).retain(n.length()-i-1).retain(1,{header:null});this.quill.updateContents(r,at.sources.USER),this.quill.setSelection(e.index+1,at.sources.SILENT),this.quill.scrollSelectionIntoView()}},"table backspace":{key:"Backspace",format:["table"],collapsed:!0,offset:0,handler(){}},"table delete":{key:"Delete",format:["table"],collapsed:!0,suffix:/^$/,handler(){}},"table enter":{key:"Enter",shiftKey:null,format:["table"],handler(e){let t=this.quill.getModule("table");if(t){let[n,i,r,o]=t.getTable(e),s=function(e,t,n,i){if(null==t.prev&&null==t.next)return null==n.prev&&null==n.next?0===i?-1:1:null==n.prev?-1:1;return null==t.prev?-1:null==t.next?1:null}(n,i,r,o);if(null==s)return;let a=n.offset();if(s<0){let t=new ow().retain(a).insert("\n");this.quill.updateContents(t,at.sources.USER),this.quill.setSelection(e.index+1,e.length,at.sources.SILENT)}else if(s>0){a+=n.length();let e=new ow().retain(a).insert("\n");this.quill.updateContents(e,at.sources.USER),this.quill.setSelection(a,at.sources.USER)}}}},"table tab":{key:"Tab",shiftKey:null,format:["table"],handler(e,t){let{event:n,line:i}=t,r=i.offset(this.quill.scroll);n.shiftKey?this.quill.setSelection(r-1,at.sources.USER):this.quill.setSelection(r+i.length(),at.sources.USER)}},"list autofill":{key:" ",shiftKey:null,collapsed:!0,format:{"code-block":!1,blockquote:!1,table:!1},prefix:/^\s*?(\d+\.|-|\*|\[ ?\]|\[x\])$/,handler(e,t){let n;if(null==this.quill.scroll.query("list"))return!0;let{length:i}=t.prefix,[r,o]=this.quill.getLine(e.index);if(o>i)return!0;switch(t.prefix.trim()){case"[]":case"[ ]":n="unchecked";break;case"[x]":n="checked";break;case"-":case"*":n="bullet";break;default:n="ordered"}this.quill.insertText(e.index," ",at.sources.USER),this.quill.history.cutoff();let s=new ow().retain(e.index-o).delete(i+1).retain(r.length()-2-o).retain(1,{list:n});return this.quill.updateContents(s,at.sources.USER),this.quill.history.cutoff(),this.quill.setSelection(e.index-i,at.sources.SILENT),!1}},"code exit":{key:"Enter",collapsed:!0,format:["code-block"],prefix:/^$/,suffix:/^\s*$/,handler(e){let[t,n]=this.quill.getLine(e.index),i=2,r=t;for(;null!=r&&1>=r.length()&&r.formats()["code-block"];)if(r=r.prev,(i-=1)<=0){let i=new ow().retain(e.index+t.length()-n-2).retain(1,{"code-block":null}).delete(1);return this.quill.updateContents(i,at.sources.USER),this.quill.setSelection(e.index-1,at.sources.SILENT),!1}return!0}},"embed left":aF("ArrowLeft",!1),"embed left shift":aF("ArrowLeft",!0),"embed right":aF("ArrowRight",!1),"embed right shift":aF("ArrowRight",!0),"table down":aH(!1),"table up":aH(!0)}};function aB(e){return{key:"Tab",shiftKey:!e,format:{"code-block":!0},handler(t,n){let{event:i}=n,{TAB:r}=this.quill.scroll.query("code-block");if(0===t.length&&!i.shiftKey){this.quill.insertText(t.index,r,at.sources.USER),this.quill.setSelection(t.index+r.length,at.sources.SILENT);return}let o=0===t.length?this.quill.getLines(t.index,1):this.quill.getLines(t),{index:s,length:a}=t;o.forEach((t,n)=>{e?(t.insertAt(0,r),0===n?s+=r.length:a+=r.length):t.domNode.textContent.startsWith(r)&&(t.deleteAt(0,r.length),0===n?s-=r.length:a-=r.length)}),this.quill.update(at.sources.USER),this.quill.setSelection(s,a,at.sources.SILENT)}}}function aF(e,t){return{key:e,shiftKey:t,altKey:null,["ArrowLeft"===e?"prefix":"suffix"]:/^$/,handler(n){let{index:i}=n;"ArrowRight"===e&&(i+=n.length+1);let[r]=this.quill.getLeaf(i);return!(r instanceof of)||("ArrowLeft"===e?t?this.quill.setSelection(n.index-1,n.length+1,at.sources.USER):this.quill.setSelection(n.index-1,at.sources.USER):t?this.quill.setSelection(n.index,n.length+1,at.sources.USER):this.quill.setSelection(n.index+n.length+1,at.sources.USER),!1)}}}function aq(e){return{key:e[0],shortKey:!0,handler(t,n){this.quill.format(e,!n.format[e],at.sources.USER)}}}function aH(e){return{key:e?"ArrowUp":"ArrowDown",collapsed:!0,format:["table"],handler(t,n){let i=e?"prev":"next",r=n.line,o=r.parent[i];if(null!=o){if("table-row"===o.statics.blotName){let e=o.children.head,t=r;for(;null!=t.prev;)t=t.prev,e=e.next;let i=e.offset(this.quill.scroll)+Math.min(n.offset,e.length()-1);this.quill.setSelection(i,0,at.sources.USER)}}else{let t=r.table()[i];null!=t&&(e?this.quill.setSelection(t.offset(this.quill.scroll)+t.length()-1,0,at.sources.USER):this.quill.setSelection(t.offset(this.quill.scroll),0,at.sources.USER))}return!1}}}aD.DEFAULTS=aj;function a$(e){let{quill:t,range:n}=e,i=t.getLines(n),r={};if(i.length>1){let e=i[0].formats(),t=i[i.length-1].formats();r=ow.AttributeMap.diff(t,e)||{}}t.deleteText(n,at.sources.USER),Object.keys(r).length>0&&t.formatLine(n.index,1,r,at.sources.USER),t.setSelection(n.index,at.sources.SILENT)}let aU=/font-weight:\s*normal/,az=["P","OL","UL"],aX=e=>e&&az.includes(e.tagName),aW=e=>{Array.from(e.querySelectorAll("br")).filter(e=>aX(e.previousElementSibling)&&aX(e.nextElementSibling)).forEach(e=>{e.parentNode?.removeChild(e)})},aV=e=>{Array.from(e.querySelectorAll('b[style*="font-weight"]')).filter(e=>e.getAttribute("style")?.match(aU)).forEach(t=>{let n=e.createDocumentFragment();n.append(...t.childNodes),t.parentNode?.replaceChild(n,t)})},aK=/\bmso-list:[^;]*ignore/i,aG=/\bmso-list:[^;]*\bl(\d+)/i,aY=/\bmso-list:[^;]*\blevel(\d+)/i,aZ=(e,t)=>{let n=e.getAttribute("style"),i=n?.match(aG);if(!i)return null;let r=Number(i[1]),o=n?.match(aY),s=o?Number(o[1]):1,a=RegExp(`@list l${r}:level${s}\\s*\\{[^\\}]*mso-level-number-format:\\s*([\\w-]+)`,"i"),l=t.match(a);return{id:r,indent:s,type:l&&"bullet"===l[1]?"bullet":"ordered",element:e}},aQ=e=>{let t=Array.from(e.querySelectorAll("[style*=mso-list]")),n=[],i=[];t.forEach(e=>{(e.getAttribute("style")||"").match(aK)?n.push(e):i.push(e)}),n.forEach(e=>e.parentNode?.removeChild(e));let r=e.documentElement.innerHTML,o=i.map(e=>aZ(e,r)).filter(e=>e);for(;o.length;){let e=[],t=o.shift();for(;t;)e.push(t),t=o.length&&o[0]?.element===t.element.nextElementSibling&&o[0].id===t.id?o.shift():null;let n=document.createElement("ul");e.forEach(e=>{let t=document.createElement("li");t.setAttribute("data-list",e.type),e.indent>1&&t.setAttribute("class",`ql-indent-${e.indent-1}`),t.innerHTML=e.element.innerHTML,n.appendChild(t)});let i=e[0]?.element,{parentNode:r}=i??{};i&&r?.replaceChild(n,i),e.slice(1).forEach(e=>{let{element:t}=e;r?.removeChild(t)})}},aJ=[function(e){"urn:schemas-microsoft-com:office:word"===e.documentElement.getAttribute("xmlns:w")&&aQ(e)},function(e){e.querySelector('[id^="docs-internal-guid-"]')&&(aV(e),aW(e))}],a0=e=>{e.documentElement&&aJ.forEach(t=>{t(e)})},a1=sB("quill:clipboard"),a2=[[Node.TEXT_NODE,function(e,t,n){let i=e.data;if(e.parentElement?.tagName==="O:P")return t.insert(i.trim());if(!function e(t){return null!=t&&(!a9.has(t)&&("PRE"===t.tagName?a9.set(t,!0):a9.set(t,e(t.parentNode))),a9.get(t))}(e)){var r,o;if(0===i.trim().length&&i.includes("\n")&&(r=e,o=n,!r.previousElementSibling||!r.nextElementSibling||a8(r.previousElementSibling,o)||a8(r.nextElementSibling,o)))return t;let s=(e,t)=>{let n=t.replace(/[^\u00a0]/g,"");return n.length<1&&e?" ":n};i=(i=i.replace(/\r\n/g," ").replace(/\n/g," ")).replace(/\s\s+/g,s.bind(s,!0)),(null==e.previousSibling&&null!=e.parentElement&&a8(e.parentElement,n)||e.previousSibling instanceof Element&&a8(e.previousSibling,n))&&(i=i.replace(/^\s+/,s.bind(s,!1))),(null==e.nextSibling&&null!=e.parentElement&&a8(e.parentElement,n)||e.nextSibling instanceof Element&&a8(e.nextSibling,n))&&(i=i.replace(/\s+$/,s.bind(s,!1)))}return t.insert(i)}],[Node.TEXT_NODE,lt],["br",function(e,t){return!a6(t,"\n")&&t.insert("\n"),t}],[Node.ELEMENT_NODE,lt],[Node.ELEMENT_NODE,function(e,t,n){let i=n.query(e);if(null==i)return t;if(i.prototype instanceof of){let t={},r=i.value(e);if(null!=r)return t[i.blotName]=r,new ow().insert(t,i.formats(e,n))}else if(i.prototype instanceof od&&!a6(t,"\n")&&t.insert("\n"),"blotName"in i&&"formats"in i&&"function"==typeof i.formats)return a4(t,i.blotName,i.formats(e,n),n);return t}],[Node.ELEMENT_NODE,function(e,t,n){let i=r1.keys(e),r=r6.keys(e),o=r9.keys(e),s={};return i.concat(r).concat(o).forEach(t=>{let i=n.query(t,r0.ATTRIBUTE);if(null==i||(s[i.attrName]=i.value(e),!s[i.attrName]))null!=(i=a5[t])&&(i.attrName===t||i.keyName===t)&&(s[i.attrName]=i.value(e)||void 0),null!=(i=a3[t])&&(i.attrName===t||i.keyName===t)&&(s[(i=a3[t]).attrName]=i.value(e)||void 0)}),Object.entries(s).reduce((e,t)=>{let[i,r]=t;return a4(e,i,r,n)},t)}],[Node.ELEMENT_NODE,function(e,t,n){let i={},r=e.style||{};return("italic"===r.fontStyle&&(i.italic=!0),"underline"===r.textDecoration&&(i.underline=!0),"line-through"===r.textDecoration&&(i.strike=!0),(r.fontWeight?.startsWith("bold")||parseInt(r.fontWeight,10)>=700)&&(i.bold=!0),t=Object.entries(i).reduce((e,t)=>{let[i,r]=t;return a4(e,i,r,n)},t),parseFloat(r.textIndent||0)>0)?new ow().insert(" ").concat(t):t}],["li",function(e,t,n){let i=n.query(e);if(null==i||"list"!==i.blotName||!a6(t,"\n"))return t;let r=-1,o=e.parentNode;for(;null!=o;)["OL","UL"].includes(o.tagName)&&(r+=1),o=o.parentNode;return r<=0?t:t.reduce((e,t)=>t.insert?t.attributes&&"number"==typeof t.attributes.indent?e.push(t):e.insert(t.insert,{indent:r,...t.attributes||{}}):e,new ow)}],["ol, ul",function(e,t,n){let i="OL"===e.tagName?"ordered":"bullet",r=e.getAttribute("data-checked");return r&&(i="true"===r?"checked":"unchecked"),a4(t,"list",i,n)}],["pre",function(e,t,n){let i=n.query("code-block");return a4(t,"code-block",!i||!("formats"in i)||"function"!=typeof i.formats||i.formats(e,n),n)}],["tr",function(e,t,n){let i=e.parentElement?.tagName==="TABLE"?e.parentElement:e.parentElement?.parentElement;return null!=i?a4(t,"table",Array.from(i.querySelectorAll("tr")).indexOf(e)+1,n):t}],["b",le("bold")],["i",le("italic")],["strike",le("strike")],["style",function(){return new ow}]],a5=[af,aO].reduce((e,t)=>(e[t.keyName]=t,e),{}),a3=[ag,a_,ab,aA,aI,aM].reduce((e,t)=>(e[t.keyName]=t,e),{});function a4(e,t,n,i){return i.query(t)?e.reduce((e,i)=>i.insert?i.attributes&&i.attributes[t]?e.push(i):e.insert(i.insert,{...n?{[t]:n}:{},...i.attributes}):e,new ow):e}function a6(e,t){let n="";for(let i=e.ops.length-1;i>=0&&n.length<t.length;--i){let t=e.ops[i];if("string"!=typeof t.insert)break;n=t.insert+n}return n.slice(-1*t.length)===t}function a8(e,t){if(!(e instanceof Element))return!1;let n=t.query(e);return(!n||!(n.prototype instanceof of))&&["address","article","blockquote","canvas","dd","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","iframe","li","main","nav","ol","output","p","pre","section","table","td","tr","ul","video"].includes(e.tagName.toLowerCase())}let a9=new WeakMap;function a7(e,t,n,i,r){return t.nodeType===t.TEXT_NODE?i.reduce((n,i)=>i(t,n,e),new ow):t.nodeType===t.ELEMENT_NODE?Array.from(t.childNodes||[]).reduce((o,s)=>{let a=a7(e,s,n,i,r);return s.nodeType===t.ELEMENT_NODE&&(a=n.reduce((t,n)=>n(s,t,e),a),a=(r.get(s)||[]).reduce((t,n)=>n(s,t,e),a)),o.concat(a)},new ow):new ow}function le(e){return(t,n,i)=>a4(n,e,!0,i)}function lt(e,t,n){if(!a6(t,"\n")){if(a8(e,n)&&(e.childNodes.length>0||e instanceof HTMLParagraphElement))return t.insert("\n");if(t.length()>0&&e.nextSibling){let i=e.nextSibling;for(;null!=i;){if(a8(i,n))return t.insert("\n");let e=n.query(i);if(e&&e.prototype instanceof sA)return t.insert("\n");i=i.firstChild}}}return t}function ln(e,t){let n=t;for(let t=e.length-1;t>=0;t-=1){let i=e[t];e[t]={delta:n.transform(i.delta,!0),range:i.range&&li(i.range,n)},n=i.delta.transform(n),0===e[t].delta.length()&&e.splice(t,1)}}function li(e,t){if(!e)return e;let n=t.transformPosition(e.index);return{index:n,length:t.transformPosition(e.index+e.length)-n}}class lr extends sZ{constructor(e,t){super(e,t),e.root.addEventListener("drop",t=>{t.preventDefault();let n=null;if(document.caretRangeFromPoint)n=document.caretRangeFromPoint(t.clientX,t.clientY);else if(document.caretPositionFromPoint){let e=document.caretPositionFromPoint(t.clientX,t.clientY);(n=document.createRange()).setStart(e.offsetNode,e.offset),n.setEnd(e.offsetNode,e.offset)}let i=n&&e.selection.normalizeNative(n);if(i){let n=e.selection.normalizedToRange(i);t.dataTransfer?.files&&this.upload(n,t.dataTransfer.files)}})}upload(e,t){let n=[];Array.from(t).forEach(e=>{e&&this.options.mimetypes?.includes(e.type)&&n.push(e)}),n.length>0&&this.options.handler.call(this,e,n)}}lr.DEFAULTS={mimetypes:["image/png","image/jpeg"],handler(e,t){if(!!this.quill.scroll.query("image"))Promise.all(t.map(e=>new Promise(t=>{let n=new FileReader;n.onload=()=>{t(n.result)},n.readAsDataURL(e)}))).then(t=>{let n=t.reduce((e,t)=>e.insert({image:t}),new ow().retain(e.index).delete(e.length));this.quill.updateContents(n,sq.sources.USER),this.quill.setSelection(e.index+t.length,sq.sources.SILENT)})}};let lo=["insertText","insertReplacementText"],ls=class e extends sZ{constructor(e,t){super(e,t),e.root.addEventListener("beforeinput",e=>{this.handleBeforeInput(e)}),!/Android/i.test(navigator.userAgent)&&e.on(at.events.COMPOSITION_BEFORE_START,()=>{this.handleCompositionStart()})}deleteRange(e){a$({range:e,quill:this.quill})}replaceText(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(0===e.length)return!1;if(t){let n=this.quill.getFormat(e.index,1);this.deleteRange(e),this.quill.updateContents(new ow().retain(e.index).insert(t,n),at.sources.USER)}else this.deleteRange(e);return this.quill.setSelection(e.index+t.length,0,at.sources.SILENT),!0}handleBeforeInput(e){if(this.quill.composition.isComposing||e.defaultPrevented||!lo.includes(e.inputType))return;let t=e.getTargetRanges?e.getTargetRanges()[0]:null;if(!t||!0===t.collapsed)return;let n=function(e){return"string"==typeof e.data?e.data:e.dataTransfer?.types.includes("text/plain")?e.dataTransfer.getData("text/plain"):null}(e);if(null==n)return;let i=this.quill.selection.normalizeNative(t),r=i?this.quill.selection.normalizedToRange(i):null;r&&this.replaceText(r,n)&&e.preventDefault()}handleCompositionStart(){let e=this.quill.getSelection();e&&this.replaceText(e)}},la=/Mac/i.test(navigator.platform),ll=e=>"ArrowLeft"===e.key||"ArrowRight"===e.key||"ArrowUp"===e.key||"ArrowDown"===e.key||"Home"===e.key||!!la&&"a"===e.key&&!0===e.ctrlKey||!1,lc=class e extends sZ{isListening=!1;selectionChangeDeadline=0;constructor(e,t){super(e,t),this.handleArrowKeys(),this.handleNavigationShortcuts()}handleArrowKeys(){this.quill.keyboard.addBinding({key:["ArrowLeft","ArrowRight"],offset:0,shiftKey:null,handler(e,t){let{line:n,event:i}=t;if(!(n instanceof oa)||!n.uiNode)return!0;let r="rtl"===getComputedStyle(n.domNode).direction;return!!r&&"ArrowRight"!==i.key||!r&&"ArrowLeft"!==i.key||(this.quill.setSelection(e.index-1,e.length+(i.shiftKey?1:0),at.sources.USER),!1)}})}handleNavigationShortcuts(){this.quill.root.addEventListener("keydown",e=>{!e.defaultPrevented&&ll(e)&&this.ensureListeningToSelectionChange()})}ensureListeningToSelectionChange(){if(this.selectionChangeDeadline=Date.now()+100,!this.isListening){this.isListening=!0;document.addEventListener("selectionchange",()=>{this.isListening=!1,Date.now()<=this.selectionChangeDeadline&&this.handleSelectionChange()},{once:!0})}}handleSelectionChange(){let e=document.getSelection();if(!e)return;let t=e.getRangeAt(0);if(!0!==t.collapsed||0!==t.startOffset)return;let n=this.quill.scroll.find(t.startContainer);if(!(n instanceof oa)||!n.uiNode)return;let i=document.createRange();i.setStartAfter(n.uiNode),i.setEndAfter(n.uiNode),e.removeAllRanges(),e.addRange(i)}};at.register({"blots/block":sC,"blots/block/embed":sA,"blots/break":sE,"blots/container":al,"blots/cursor":sI,"blots/embed":sQ,"blots/inline":sO,"blots/scroll":ah,"blots/text":sx,"modules/clipboard":class e extends sZ{static DEFAULTS={matchers:[]};constructor(e,t){super(e,t),this.quill.root.addEventListener("copy",e=>this.onCaptureCopy(e,!1)),this.quill.root.addEventListener("cut",e=>this.onCaptureCopy(e,!0)),this.quill.root.addEventListener("paste",this.onCapturePaste.bind(this)),this.matchers=[],a2.concat(this.options.matchers??[]).forEach(e=>{let[t,n]=e;this.addMatcher(t,n)})}addMatcher(e,t){this.matchers.push([e,t])}convert(e){let{html:t,text:n}=e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(i[ax.blotName])return new ow().insert(n||"",{[ax.blotName]:i[ax.blotName]});if(!t)return new ow().insert(n||"",i);let r=this.convertHTML(t);return a6(r,"\n")&&(null==r.ops[r.ops.length-1].attributes||i.table)?r.compose(new ow().retain(r.length()-1).delete(1)):r}normalizeHTML(e){a0(e)}convertHTML(e){let t=new DOMParser().parseFromString(e,"text/html");this.normalizeHTML(t);let n=t.body,i=new WeakMap,[r,o]=this.prepareMatching(n,i);return a7(this.quill.scroll,n,r,o,i)}dangerouslyPasteHTML(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:at.sources.API;if("string"==typeof e){let n=this.convert({html:e,text:""});this.quill.setContents(n,t),this.quill.setSelection(0,at.sources.SILENT)}else{let i=this.convert({html:t,text:""});this.quill.updateContents(new ow().retain(e).concat(i),n),this.quill.setSelection(e+i.length(),at.sources.SILENT)}}onCaptureCopy(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e.defaultPrevented)return;e.preventDefault();let[n]=this.quill.selection.getRange();if(null==n)return;let{html:i,text:r}=this.onCopy(n,t);e.clipboardData?.setData("text/plain",r),e.clipboardData?.setData("text/html",i),t&&a$({range:n,quill:this.quill})}normalizeURIList(e){return e.split(/\r?\n/).filter(e=>"#"!==e[0]).join("\n")}onCapturePaste(e){if(e.defaultPrevented||!this.quill.isEnabled())return;e.preventDefault();let t=this.quill.getSelection(!0);if(null==t)return;let n=e.clipboardData?.getData("text/html"),i=e.clipboardData?.getData("text/plain");if(!n&&!i){let t=e.clipboardData?.getData("text/uri-list");t&&(i=this.normalizeURIList(t))}let r=Array.from(e.clipboardData?.files||[]);if(!n&&r.length>0){this.quill.uploader.upload(t,r);return}if(n&&r.length>0){let e=new DOMParser().parseFromString(n,"text/html");if(1===e.body.childElementCount&&e.body.firstElementChild?.tagName==="IMG"){this.quill.uploader.upload(t,r);return}}this.onPaste(t,{html:n,text:i})}onCopy(e){let t=this.quill.getText(e);return{html:this.quill.getSemanticHTML(e),text:t}}onPaste(e,t){let{text:n,html:i}=t,r=this.quill.getFormat(e.index),o=this.convert({text:n,html:i},r);a1.log("onPaste",o,{text:n,html:i});let s=new ow().retain(e.index).delete(e.length).concat(o);this.quill.updateContents(s,at.sources.USER),this.quill.setSelection(s.length()-e.length,at.sources.SILENT),this.quill.scrollSelectionIntoView()}prepareMatching(e,t){let n=[],i=[];return this.matchers.forEach(r=>{let[o,s]=r;switch(o){case Node.TEXT_NODE:i.push(s);break;case Node.ELEMENT_NODE:n.push(s);break;default:Array.from(e.querySelectorAll(o)).forEach(e=>{if(t.has(e)){let n=t.get(e);n?.push(s)}else t.set(e,[s])})}}),[n,i]}},"modules/history":class e extends sZ{static DEFAULTS={delay:1e3,maxStack:100,userOnly:!1};lastRecorded=0;ignoreChange=!1;stack={undo:[],redo:[]};currentRange=null;constructor(e,t){super(e,t),this.quill.on(at.events.EDITOR_CHANGE,(e,t,n,i)=>{e===at.events.SELECTION_CHANGE?t&&i!==at.sources.SILENT&&(this.currentRange=t):e===at.events.TEXT_CHANGE&&(!this.ignoreChange&&(this.options.userOnly&&i!==at.sources.USER?this.transform(t):this.record(t,n)),this.currentRange=li(this.currentRange,t))}),this.quill.keyboard.addBinding({key:"z",shortKey:!0},this.undo.bind(this)),this.quill.keyboard.addBinding({key:["z","Z"],shortKey:!0,shiftKey:!0},this.redo.bind(this)),/Win/i.test(navigator.platform)&&this.quill.keyboard.addBinding({key:"y",shortKey:!0},this.redo.bind(this)),this.quill.root.addEventListener("beforeinput",e=>{"historyUndo"===e.inputType?(this.undo(),e.preventDefault()):"historyRedo"===e.inputType&&(this.redo(),e.preventDefault())})}change(e,t){if(0===this.stack[e].length)return;let n=this.stack[e].pop();if(!n)return;let i=this.quill.getContents(),r=n.delta.invert(i);this.stack[t].push({delta:r,range:li(n.range,r)}),this.lastRecorded=0,this.ignoreChange=!0,this.quill.updateContents(n.delta,at.sources.USER),this.ignoreChange=!1,this.restoreSelection(n)}clear(){this.stack={undo:[],redo:[]}}cutoff(){this.lastRecorded=0}record(e,t){if(0===e.ops.length)return;this.stack.redo=[];let n=e.invert(t),i=this.currentRange,r=Date.now();if(this.lastRecorded+this.options.delay>r&&this.stack.undo.length>0){let e=this.stack.undo.pop();e&&(n=n.compose(e.delta),i=e.range)}else this.lastRecorded=r;0!==n.length()&&(this.stack.undo.push({delta:n,range:i}),this.stack.undo.length>this.options.maxStack&&this.stack.undo.shift())}redo(){this.change("redo","undo")}transform(e){ln(this.stack.undo,e),ln(this.stack.redo,e)}undo(){this.change("undo","redo")}restoreSelection(e){if(e.range)this.quill.setSelection(e.range,at.sources.USER);else{let t=function(e,t){let n=t.reduce((e,t)=>e+(t.delete||0),0),i=t.length()-n;return function(e,t){let n=t.ops[t.ops.length-1];return null!=n&&(null!=n.insert?"string"==typeof n.insert&&n.insert.endsWith("\n"):null!=n.attributes&&Object.keys(n.attributes).some(t=>null!=e.query(t,r0.BLOCK)))}(e,t)&&(i-=1),i}(this.quill.scroll,e.delta);this.quill.setSelection(t,at.sources.USER)}}},"modules/keyboard":aD,"modules/uploader":lr,"modules/input":ls,"modules/uiNode":lc});let lu=new class e extends r6{add(e,t){let n=0;if("+1"===t||"-1"===t){let i=this.value(e)||0;n="+1"===t?i+1:i-1}else"number"==typeof t&&(n=t);return 0===n?(this.remove(e),!0):super.add(e,n.toString())}canAdd(e,t){return super.canAdd(e,t)||super.canAdd(e,parseInt(t,10))}value(e){return parseInt(super.value(e),10)||void 0}}("indent","ql-indent",{scope:r0.BLOCK,whitelist:[1,2,3,4,5,6,7,8]}),ld=class e extends sC{static blotName="blockquote";static tagName="blockquote"},lh=class e extends sC{static blotName="header";static tagName=["H1","H2","H3","H4","H5","H6"];static formats(e){return this.tagName.indexOf(e.tagName)+1}};class lp extends al{}lp.blotName="list-container",lp.tagName="OL";class lf extends sC{static create(e){let t=super.create();return t.setAttribute("data-list",e),t}static formats(e){return e.getAttribute("data-list")||void 0}static register(){at.register(lp)}constructor(e,t){super(e,t);let n=t.ownerDocument.createElement("span"),i=n=>{if(!e.isEnabled())return;let i=this.statics.formats(t,e);"checked"===i?(this.format("list","unchecked"),n.preventDefault()):"unchecked"===i&&(this.format("list","checked"),n.preventDefault())};n.addEventListener("mousedown",i),n.addEventListener("touchstart",i),this.attachUI(n)}format(e,t){e===this.statics.blotName&&t?this.domNode.setAttribute("data-list",t):super.format(e,t)}}lf.blotName="list",lf.tagName="LI",lp.allowedChildren=[lf],lf.requiredContainer=lp;let lm=class e extends sO{static blotName="bold";static tagName=["STRONG","B"];static create(){return super.create()}static formats(){return!0}optimize(e){super.optimize(e),this.domNode.tagName!==this.statics.tagName[0]&&this.replaceWith(this.statics.blotName)}};class lg extends sO{static blotName="link";static tagName="A";static SANITIZED_URL="about:blank";static PROTOCOL_WHITELIST=["http","https","mailto","tel","sms"];static create(e){let t=super.create(e);return t.setAttribute("href",this.sanitize(e)),t.setAttribute("rel","noopener noreferrer"),t.setAttribute("target","_blank"),t}static formats(e){return e.getAttribute("href")}static sanitize(e){return lv(e,this.PROTOCOL_WHITELIST)?e:this.SANITIZED_URL}format(e,t){e===this.statics.blotName&&t?this.domNode.setAttribute("href",this.constructor.sanitize(t)):super.format(e,t)}}function lv(e,t){let n=document.createElement("a");n.href=e;let i=n.href.slice(0,n.href.indexOf(":"));return t.indexOf(i)>-1}let ly=class e extends sO{static blotName="script";static tagName=["SUB","SUP"];static create(e){return"super"===e?document.createElement("sup"):"sub"===e?document.createElement("sub"):super.create(e)}static formats(e){return"SUB"===e.tagName?"sub":"SUP"===e.tagName?"super":void 0}},lb=class e extends sO{static blotName="underline";static tagName="U"},lw=class e extends sQ{static blotName="formula";static className="ql-formula";static tagName="SPAN";static create(e){if(null==window.katex)throw Error("Formula module requires KaTeX.");let t=super.create(e);return"string"==typeof e&&(window.katex.render(e,t,{throwOnError:!1,errorColor:"#f00"}),t.setAttribute("data-value",e)),t}static value(e){return e.getAttribute("data-value")}html(){let{formula:e}=this.value();return`<span>${e}</span>`}},l_=["alt","height","width"],lE=class e extends of{static blotName="image";static tagName="IMG";static create(e){let t=super.create(e);return"string"==typeof e&&t.setAttribute("src",this.sanitize(e)),t}static formats(e){return l_.reduce((t,n)=>(e.hasAttribute(n)&&(t[n]=e.getAttribute(n)),t),{})}static match(e){return/\.(jpe?g|gif|png)$/.test(e)||/^data:image\/.+;base64/.test(e)}static sanitize(e){return lv(e,["http","https","data"])?e:"//:0"}static value(e){return e.getAttribute("src")}format(e,t){l_.indexOf(e)>-1?t?this.domNode.setAttribute(e,t):this.domNode.removeAttribute(e):super.format(e,t)}},lx=["height","width"],lk=class e extends sA{static blotName="video";static className="ql-video";static tagName="IFRAME";static create(e){let t=super.create(e);return t.setAttribute("frameborder","0"),t.setAttribute("allowfullscreen","true"),t.setAttribute("src",this.sanitize(e)),t}static formats(e){return lx.reduce((t,n)=>(e.hasAttribute(n)&&(t[n]=e.getAttribute(n)),t),{})}static sanitize(e){return lg.sanitize(e)}static value(e){return e.getAttribute("src")}format(e,t){lx.indexOf(e)>-1?t?this.domNode.setAttribute(e,t):this.domNode.removeAttribute(e):super.format(e,t)}html(){let{video:e}=this.value();return`<a href="${e}">${e}</a>`}},lT=new r6("code-token","hljs",{scope:r0.INLINE});class lO extends sO{static formats(e,t){for(;null!=e&&e!==t.domNode;){if(e.classList&&e.classList.contains(ax.className))return super.formats(e,t);e=e.parentNode}}constructor(e,t,n){super(e,t,n),lT.add(this.domNode,n)}format(e,t){e!==lO.blotName?super.format(e,t):t?lT.add(this.domNode,t):(lT.remove(this.domNode),this.domNode.classList.remove(this.statics.className))}optimize(){super.optimize(...arguments),!lT.value(this.domNode)&&this.unwrap()}}lO.blotName="code-token",lO.className="ql-token";class lC extends ax{static create(e){let t=super.create(e);return"string"==typeof e&&t.setAttribute("data-language",e),t}static formats(e){return e.getAttribute("data-language")||"plain"}static register(){}format(e,t){e===this.statics.blotName&&t?this.domNode.setAttribute("data-language",t):super.format(e,t)}replaceWith(e,t){return this.formatAt(0,this.length(),lO.blotName,!1),super.replaceWith(e,t)}}class lA extends aE{attach(){super.attach(),this.forceNext=!1,this.scroll.emitMount(this)}format(e,t){e===lC.blotName&&(this.forceNext=!0,this.children.forEach(n=>{n.format(e,t)}))}formatAt(e,t,n,i){n===lC.blotName&&(this.forceNext=!0),super.formatAt(e,t,n,i)}highlight(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==this.children.head)return;let n=Array.from(this.domNode.childNodes).filter(e=>e!==this.uiNode),i=`${n.map(e=>e.textContent).join("\n")} +`,r=lC.formats(this.children.head.domNode);if(t||this.forceNext||this.cachedText!==i){if(i.trim().length>0||null==this.cachedText){let t=this.children.reduce((e,t)=>e.concat(sS(t,!1)),new ow),n=e(i,r);t.diff(n).reduce((e,t)=>{let{retain:n,attributes:i}=t;return n?(i&&Object.keys(i).forEach(t=>{[lC.blotName,lO.blotName].includes(t)&&this.formatAt(e,n,t,i[t])}),e+n):e},0)}this.cachedText=i,this.forceNext=!1}}html(e,t){let[n]=this.children.find(e),i=n?lC.formats(n.domNode):"plain";return`<pre data-language="${i}"> +${sk(this.code(e,t))} +</pre>`}optimize(e){if(super.optimize(e),null!=this.parent&&null!=this.children.head&&null!=this.uiNode){let e=lC.formats(this.children.head.domNode);e!==this.uiNode.value&&(this.uiNode.value=e)}}}lA.allowedChildren=[lC],lC.requiredContainer=lA,lC.allowedChildren=[lO,sI,sx,sE];let lS=(e,t,n)=>"string"==typeof e.versionString&&parseInt(e.versionString.split(".")[0],10)>=11?e.highlight(n,{language:t}).value:e.highlight(t,n).value;class lN extends sZ{static register(){at.register(lO,!0),at.register(lC,!0),at.register(lA,!0)}constructor(e,t){if(super(e,t),null==this.options.hljs)throw Error("Syntax module requires highlight.js. Please include the library on the page before Quill.");this.languages=this.options.languages.reduce((e,t)=>{let{key:n}=t;return e[n]=!0,e},{}),this.highlightBlot=this.highlightBlot.bind(this),this.initListener(),this.initTimer()}initListener(){this.quill.on(at.events.SCROLL_BLOT_MOUNT,e=>{if(!(e instanceof lA))return;let t=this.quill.root.ownerDocument.createElement("select");this.options.languages.forEach(e=>{let{key:n,label:i}=e,r=t.ownerDocument.createElement("option");r.textContent=i,r.setAttribute("value",n),t.appendChild(r)}),t.addEventListener("change",()=>{e.format(lC.blotName,t.value),this.quill.root.focus(),this.highlight(e,!0)}),null==e.uiNode&&(e.attachUI(t),e.children.head&&(t.value=lC.formats(e.children.head.domNode)))})}initTimer(){let e=null;this.quill.on(at.events.SCROLL_OPTIMIZE,()=>{e&&clearTimeout(e),e=setTimeout(()=>{this.highlight(),e=null},this.options.interval)})}highlight(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.quill.selection.composing)return;this.quill.update(at.sources.USER);let n=this.quill.getSelection();(null==e?this.quill.scroll.descendants(lA):[e]).forEach(e=>{e.highlight(this.highlightBlot,t)}),this.quill.update(at.sources.SILENT),null!=n&&this.quill.setSelection(n,at.sources.SILENT)}highlightBlot(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"plain";if("plain"===(t=this.languages[t]?t:"plain"))return sk(e).split("\n").reduce((e,n,i)=>(0!==i&&e.insert("\n",{[ax.blotName]:t}),e.insert(n)),new ow);let n=this.quill.root.ownerDocument.createElement("div");return n.classList.add(ax.className),n.innerHTML=lS(this.options.hljs,t,e),a7(this.quill.scroll,n,[(e,t)=>{let n=lT.value(e);return n?t.compose(new ow().retain(t.length(),{[lO.blotName]:n})):t}],[(e,n)=>e.data.split("\n").reduce((e,n,i)=>(0!==i&&e.insert("\n",{[ax.blotName]:t}),e.insert(n)),n)],new WeakMap)}}lN.DEFAULTS={hljs:window.hljs,interval:1e3,languages:[{key:"plain",label:"Plain"},{key:"bash",label:"Bash"},{key:"cpp",label:"C++"},{key:"cs",label:"C#"},{key:"css",label:"CSS"},{key:"diff",label:"Diff"},{key:"xml",label:"HTML/XML"},{key:"java",label:"Java"},{key:"javascript",label:"JavaScript"},{key:"markdown",label:"Markdown"},{key:"php",label:"PHP"},{key:"python",label:"Python"},{key:"ruby",label:"Ruby"},{key:"sql",label:"SQL"}]};class lI extends sC{static blotName="table";static tagName="TD";static create(e){let t=super.create();return e?t.setAttribute("data-row",e):t.setAttribute("data-row",lP()),t}static formats(e){if(e.hasAttribute("data-row"))return e.getAttribute("data-row")}cellOffset(){return this.parent?this.parent.children.indexOf(this):-1}format(e,t){e===lI.blotName&&t?this.domNode.setAttribute("data-row",t):super.format(e,t)}row(){return this.parent}rowOffset(){return this.row()?this.row().rowOffset():-1}table(){return this.row()&&this.row().table()}}class lL extends al{static blotName="table-row";static tagName="TR";checkMerge(){if(super.checkMerge()&&null!=this.next.children.head){let e=this.children.head.formats(),t=this.children.tail.formats(),n=this.next.children.head.formats(),i=this.next.children.tail.formats();return e.table===t.table&&e.table===n.table&&e.table===i.table}return!1}optimize(e){super.optimize(e),this.children.forEach(e=>{if(null==e.next)return;let t=e.formats(),n=e.next.formats();if(t.table!==n.table){let t=this.splitAfter(e);t&&t.optimize(),this.prev&&this.prev.optimize()}})}rowOffset(){return this.parent?this.parent.children.indexOf(this):-1}table(){return this.parent&&this.parent.parent}}class lM extends al{static blotName="table-body";static tagName="TBODY"}class lR extends al{static blotName="table-container";static tagName="TABLE";balanceCells(){let e=this.descendants(lL),t=e.reduce((e,t)=>Math.max(t.children.length,e),0);e.forEach(e=>{Array(t-e.children.length).fill(0).forEach(()=>{let t;null!=e.children.head&&(t=lI.formats(e.children.head.domNode));let n=this.scroll.create(lI.blotName,t);e.appendChild(n),n.optimize()})})}cells(e){return this.rows().map(t=>t.children.at(e))}deleteColumn(e){let[t]=this.descendant(lM);null!=t&&null!=t.children.head&&t.children.forEach(t=>{let n=t.children.at(e);null!=n&&n.remove()})}insertColumn(e){let[t]=this.descendant(lM);null!=t&&null!=t.children.head&&t.children.forEach(t=>{let n=t.children.at(e),i=lI.formats(t.children.head.domNode),r=this.scroll.create(lI.blotName,i);t.insertBefore(r,n)})}insertRow(e){let[t]=this.descendant(lM);if(null==t||null==t.children.head)return;let n=lP(),i=this.scroll.create(lL.blotName);t.children.head.children.forEach(()=>{let e=this.scroll.create(lI.blotName,n);i.appendChild(e)});let r=t.children.at(e);t.insertBefore(i,r)}rows(){let e=this.children.head;return null==e?[]:e.children.map(e=>e)}}function lP(){let e=Math.random().toString(36).slice(2,6);return`row-${e}`}lR.allowedChildren=[lM],lM.requiredContainer=lR,lM.allowedChildren=[lL],lL.requiredContainer=lM,lL.allowedChildren=[lI],lI.requiredContainer=lL;let lD=class e extends sZ{static register(){at.register(lI),at.register(lL),at.register(lM),at.register(lR)}constructor(){super(...arguments),this.listenBalanceCells()}balanceTables(){this.quill.scroll.descendants(lR).forEach(e=>{e.balanceCells()})}deleteColumn(){let[e,,t]=this.getTable();null!=t&&(e.deleteColumn(t.cellOffset()),this.quill.update(at.sources.USER))}deleteRow(){let[,e]=this.getTable();null!=e&&(e.remove(),this.quill.update(at.sources.USER))}deleteTable(){let[e]=this.getTable();if(null==e)return;let t=e.offset();e.remove(),this.quill.update(at.sources.USER),this.quill.setSelection(t,at.sources.SILENT)}getTable(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.quill.getSelection();if(null==e)return[null,null,null,-1];let[t,n]=this.quill.getLine(e.index);if(null==t||t.statics.blotName!==lI.blotName)return[null,null,null,-1];let i=t.parent;return[i.parent.parent,i,t,n]}insertColumn(e){let t=this.quill.getSelection();if(!t)return;let[n,i,r]=this.getTable(t);if(null==r)return;let o=r.cellOffset();n.insertColumn(o+e),this.quill.update(at.sources.USER);let s=i.rowOffset();0===e&&(s+=1),this.quill.setSelection(t.index+s,t.length,at.sources.SILENT)}insertColumnLeft(){this.insertColumn(0)}insertColumnRight(){this.insertColumn(1)}insertRow(e){let t=this.quill.getSelection();if(!t)return;let[n,i,r]=this.getTable(t);if(null==r)return;let o=i.rowOffset();n.insertRow(o+e),this.quill.update(at.sources.USER),e>0?this.quill.setSelection(t,at.sources.SILENT):this.quill.setSelection(t.index+i.children.length,t.length,at.sources.SILENT)}insertRowAbove(){this.insertRow(0)}insertRowBelow(){this.insertRow(1)}insertTable(e,t){let n=this.quill.getSelection();if(null==n)return;let i=Array(e).fill(0).reduce(e=>{let n=Array(t).fill("\n").join("");return e.insert(n,{table:lP()})},new ow().retain(n.index));this.quill.updateContents(i,at.sources.USER),this.quill.setSelection(n.index,at.sources.SILENT),this.balanceTables()}listenBalanceCells(){this.quill.on(at.events.SCROLL_OPTIMIZE,e=>{e.some(e=>!!["TD","TR","TBODY","TABLE"].includes(e.target.tagName)&&(this.quill.once(at.events.TEXT_CHANGE,(e,t,n)=>{n===at.sources.USER&&this.balanceTables()}),!0))})}},lj=sB("quill:toolbar");class lB extends sZ{constructor(e,t){if(super(e,t),Array.isArray(this.options.container)){let t=document.createElement("div");t.setAttribute("role","toolbar"),function(e,t){!Array.isArray(t[0])&&(t=[t]),t.forEach(t=>{let n=document.createElement("span");n.classList.add("ql-formats"),t.forEach(e=>{if("string"==typeof e)lF(n,e);else{let t=Object.keys(e)[0],i=e[t];Array.isArray(i)?function(e,t,n){let i=document.createElement("select");i.classList.add(`ql-${t}`),n.forEach(e=>{let t=document.createElement("option");!1!==e?t.setAttribute("value",String(e)):t.setAttribute("selected","selected"),i.appendChild(t)}),e.appendChild(i)}(n,t,i):lF(n,t,i)}}),e.appendChild(n)})}(t,this.options.container),e.container?.parentNode?.insertBefore(t,e.container),this.container=t}else"string"==typeof this.options.container?this.container=document.querySelector(this.options.container):this.container=this.options.container;if(!(this.container instanceof HTMLElement)){lj.error("Container required for toolbar",this.options);return}this.container.classList.add("ql-toolbar"),this.controls=[],this.handlers={},this.options.handlers&&Object.keys(this.options.handlers).forEach(e=>{let t=this.options.handlers?.[e];t&&this.addHandler(e,t)}),Array.from(this.container.querySelectorAll("button, select")).forEach(e=>{this.attach(e)}),this.quill.on(at.events.EDITOR_CHANGE,()=>{let[e]=this.quill.selection.getRange();this.update(e)})}addHandler(e,t){this.handlers[e]=t}attach(e){let t=Array.from(e.classList).find(e=>0===e.indexOf("ql-"));if(!t)return;if(t=t.slice(3),"BUTTON"===e.tagName&&e.setAttribute("type","button"),null==this.handlers[t]&&null==this.quill.scroll.query(t)){lj.warn("ignoring attaching to nonexistent format",t,e);return}let n="SELECT"===e.tagName?"change":"click";e.addEventListener(n,n=>{let i;if("SELECT"===e.tagName){if(e.selectedIndex<0)return;let t=e.options[e.selectedIndex];i=!t.hasAttribute("selected")&&(t.value||!1)}else i=!e.classList.contains("ql-active")&&(e.value||!e.hasAttribute("value")),n.preventDefault();this.quill.focus();let[r]=this.quill.selection.getRange();if(null!=this.handlers[t])this.handlers[t].call(this,i);else if(this.quill.scroll.query(t).prototype instanceof of){if(!(i=prompt(`Enter ${t}`)))return;this.quill.updateContents(new ow().retain(r.index).delete(r.length).insert({[t]:i}),at.sources.USER)}else this.quill.format(t,i,at.sources.USER);this.update(r)}),this.controls.push([t,e])}update(e){let t=null==e?{}:this.quill.getFormat(e);this.controls.forEach(n=>{let[i,r]=n;if("SELECT"===r.tagName){let n=null;if(null==e)n=null;else if(null==t[i])n=r.querySelector("option[selected]");else if(!Array.isArray(t[i])){let e=t[i];"string"==typeof e&&(e=e.replace(/"/g,'\\"')),n=r.querySelector(`option[value="${e}"]`)}null==n?(r.value="",r.selectedIndex=-1):n.selected=!0}else if(null==e)r.classList.remove("ql-active"),r.setAttribute("aria-pressed","false");else if(r.hasAttribute("value")){let e=t[i],n=e===r.getAttribute("value")||null!=e&&e.toString()===r.getAttribute("value")||null==e&&!r.getAttribute("value");r.classList.toggle("ql-active",n),r.setAttribute("aria-pressed",n.toString())}else{let e=null!=t[i];r.classList.toggle("ql-active",e),r.setAttribute("aria-pressed",e.toString())}})}}function lF(e,t,n){let i=document.createElement("button");i.setAttribute("type","button"),i.classList.add(`ql-${t}`),i.setAttribute("aria-pressed","false"),null!=n?(i.value=n,i.setAttribute("aria-label",`${t}: ${n}`)):i.setAttribute("aria-label",t),e.appendChild(i)}lB.DEFAULTS={};lB.DEFAULTS={container:null,handlers:{clean(){let e=this.quill.getSelection();null!=e&&(0===e.length?Object.keys(this.quill.getFormat()).forEach(e=>{null!=this.quill.scroll.query(e,r0.INLINE)&&this.quill.format(e,!1,at.sources.USER)}):this.quill.removeFormat(e.index,e.length,at.sources.USER))},direction(e){let{align:t}=this.quill.getFormat();"rtl"===e&&null==t?this.quill.format("align","right",at.sources.USER):!e&&"right"===t&&this.quill.format("align",!1,at.sources.USER),this.quill.format("direction",e,at.sources.USER)},indent(e){let t=this.quill.getSelection(),n=this.quill.getFormat(t),i=parseInt(n.indent||0,10);if("+1"===e||"-1"===e){let t="+1"===e?1:-1;"rtl"===n.direction&&(t*=-1),this.quill.format("indent",i+t,at.sources.USER)}},link(e){!0===e&&(e=prompt("Enter link URL:")),this.quill.format("link",e,at.sources.USER)},list(e){let t=this.quill.getSelection(),n=this.quill.getFormat(t);"check"===e?"checked"===n.list||"unchecked"===n.list?this.quill.format("list",!1,at.sources.USER):this.quill.format("list","unchecked",at.sources.USER):this.quill.format("list",e,at.sources.USER)}}};let lq='<svg viewbox="0 0 18 18"><polyline class="ql-even ql-stroke" points="5 7 3 9 5 11"/><polyline class="ql-even ql-stroke" points="13 7 15 9 13 11"/><line class="ql-stroke" x1="10" x2="8" y1="5" y2="13"/></svg>',lH={align:{"":'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="3" x2="15" y1="9" y2="9"/><line class="ql-stroke" x1="3" x2="13" y1="14" y2="14"/><line class="ql-stroke" x1="3" x2="9" y1="4" y2="4"/></svg>',center:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="15" x2="3" y1="9" y2="9"/><line class="ql-stroke" x1="14" x2="4" y1="14" y2="14"/><line class="ql-stroke" x1="12" x2="6" y1="4" y2="4"/></svg>',right:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="15" x2="3" y1="9" y2="9"/><line class="ql-stroke" x1="15" x2="5" y1="14" y2="14"/><line class="ql-stroke" x1="15" x2="9" y1="4" y2="4"/></svg>',justify:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="15" x2="3" y1="9" y2="9"/><line class="ql-stroke" x1="15" x2="3" y1="14" y2="14"/><line class="ql-stroke" x1="15" x2="3" y1="4" y2="4"/></svg>'},background:'<svg viewbox="0 0 18 18"><g class="ql-fill ql-color-label"><polygon points="6 6.868 6 6 5 6 5 7 5.942 7 6 6.868"/><rect height="1" width="1" x="4" y="4"/><polygon points="6.817 5 6 5 6 6 6.38 6 6.817 5"/><rect height="1" width="1" x="2" y="6"/><rect height="1" width="1" x="3" y="5"/><rect height="1" width="1" x="4" y="7"/><polygon points="4 11.439 4 11 3 11 3 12 3.755 12 4 11.439"/><rect height="1" width="1" x="2" y="12"/><rect height="1" width="1" x="2" y="9"/><rect height="1" width="1" x="2" y="15"/><polygon points="4.63 10 4 10 4 11 4.192 11 4.63 10"/><rect height="1" width="1" x="3" y="8"/><path d="M10.832,4.2L11,4.582V4H10.708A1.948,1.948,0,0,1,10.832,4.2Z"/><path d="M7,4.582L7.168,4.2A1.929,1.929,0,0,1,7.292,4H7V4.582Z"/><path d="M8,13H7.683l-0.351.8a1.933,1.933,0,0,1-.124.2H8V13Z"/><rect height="1" width="1" x="12" y="2"/><rect height="1" width="1" x="11" y="3"/><path d="M9,3H8V3.282A1.985,1.985,0,0,1,9,3Z"/><rect height="1" width="1" x="2" y="3"/><rect height="1" width="1" x="6" y="2"/><rect height="1" width="1" x="3" y="2"/><rect height="1" width="1" x="5" y="3"/><rect height="1" width="1" x="9" y="2"/><rect height="1" width="1" x="15" y="14"/><polygon points="13.447 10.174 13.469 10.225 13.472 10.232 13.808 11 14 11 14 10 13.37 10 13.447 10.174"/><rect height="1" width="1" x="13" y="7"/><rect height="1" width="1" x="15" y="5"/><rect height="1" width="1" x="14" y="6"/><rect height="1" width="1" x="15" y="8"/><rect height="1" width="1" x="14" y="9"/><path d="M3.775,14H3v1H4V14.314A1.97,1.97,0,0,1,3.775,14Z"/><rect height="1" width="1" x="14" y="3"/><polygon points="12 6.868 12 6 11.62 6 12 6.868"/><rect height="1" width="1" x="15" y="2"/><rect height="1" width="1" x="12" y="5"/><rect height="1" width="1" x="13" y="4"/><polygon points="12.933 9 13 9 13 8 12.495 8 12.933 9"/><rect height="1" width="1" x="9" y="14"/><rect height="1" width="1" x="8" y="15"/><path d="M6,14.926V15H7V14.316A1.993,1.993,0,0,1,6,14.926Z"/><rect height="1" width="1" x="5" y="15"/><path d="M10.668,13.8L10.317,13H10v1h0.792A1.947,1.947,0,0,1,10.668,13.8Z"/><rect height="1" width="1" x="11" y="15"/><path d="M14.332,12.2a1.99,1.99,0,0,1,.166.8H15V12H14.245Z"/><rect height="1" width="1" x="14" y="15"/><rect height="1" width="1" x="15" y="11"/></g><polyline class="ql-stroke" points="5.5 13 9 5 12.5 13"/><line class="ql-stroke" x1="11.63" x2="6.38" y1="11" y2="11"/></svg>',blockquote:'<svg viewbox="0 0 18 18"><rect class="ql-fill ql-stroke" height="3" width="3" x="4" y="5"/><rect class="ql-fill ql-stroke" height="3" width="3" x="11" y="5"/><path class="ql-even ql-fill ql-stroke" d="M7,8c0,4.031-3,5-3,5"/><path class="ql-even ql-fill ql-stroke" d="M14,8c0,4.031-3,5-3,5"/></svg>',bold:'<svg viewbox="0 0 18 18"><path class="ql-stroke" d="M5,4H9.5A2.5,2.5,0,0,1,12,6.5v0A2.5,2.5,0,0,1,9.5,9H5A0,0,0,0,1,5,9V4A0,0,0,0,1,5,4Z"/><path class="ql-stroke" d="M5,9h5.5A2.5,2.5,0,0,1,13,11.5v0A2.5,2.5,0,0,1,10.5,14H5a0,0,0,0,1,0,0V9A0,0,0,0,1,5,9Z"/></svg>',clean:'<svg class="" viewbox="0 0 18 18"><line class="ql-stroke" x1="5" x2="13" y1="3" y2="3"/><line class="ql-stroke" x1="6" x2="9.35" y1="12" y2="3"/><line class="ql-stroke" x1="11" x2="15" y1="11" y2="15"/><line class="ql-stroke" x1="15" x2="11" y1="11" y2="15"/><rect class="ql-fill" height="1" rx="0.5" ry="0.5" width="7" x="2" y="14"/></svg>',code:lq,"code-block":lq,color:'<svg viewbox="0 0 18 18"><line class="ql-color-label ql-stroke ql-transparent" x1="3" x2="15" y1="15" y2="15"/><polyline class="ql-stroke" points="5.5 11 9 3 12.5 11"/><line class="ql-stroke" x1="11.63" x2="6.38" y1="9" y2="9"/></svg>',direction:{"":'<svg viewbox="0 0 18 18"><polygon class="ql-stroke ql-fill" points="3 11 5 9 3 7 3 11"/><line class="ql-stroke ql-fill" x1="15" x2="11" y1="4" y2="4"/><path class="ql-fill" d="M11,3a3,3,0,0,0,0,6h1V3H11Z"/><rect class="ql-fill" height="11" width="1" x="11" y="4"/><rect class="ql-fill" height="11" width="1" x="13" y="4"/></svg>',rtl:'<svg viewbox="0 0 18 18"><polygon class="ql-stroke ql-fill" points="15 12 13 10 15 8 15 12"/><line class="ql-stroke ql-fill" x1="9" x2="5" y1="4" y2="4"/><path class="ql-fill" d="M5,3A3,3,0,0,0,5,9H6V3H5Z"/><rect class="ql-fill" height="11" width="1" x="5" y="4"/><rect class="ql-fill" height="11" width="1" x="7" y="4"/></svg>'},formula:'<svg viewbox="0 0 18 18"><path class="ql-fill" d="M11.759,2.482a2.561,2.561,0,0,0-3.53.607A7.656,7.656,0,0,0,6.8,6.2C6.109,9.188,5.275,14.677,4.15,14.927a1.545,1.545,0,0,0-1.3-.933A0.922,0.922,0,0,0,2,15.036S1.954,16,4.119,16s3.091-2.691,3.7-5.553c0.177-.826.36-1.726,0.554-2.6L8.775,6.2c0.381-1.421.807-2.521,1.306-2.676a1.014,1.014,0,0,0,1.02.56A0.966,0.966,0,0,0,11.759,2.482Z"/><rect class="ql-fill" height="1.6" rx="0.8" ry="0.8" width="5" x="5.15" y="6.2"/><path class="ql-fill" d="M13.663,12.027a1.662,1.662,0,0,1,.266-0.276q0.193,0.069.456,0.138a2.1,2.1,0,0,0,.535.069,1.075,1.075,0,0,0,.767-0.3,1.044,1.044,0,0,0,.314-0.8,0.84,0.84,0,0,0-.238-0.619,0.8,0.8,0,0,0-.594-0.239,1.154,1.154,0,0,0-.781.3,4.607,4.607,0,0,0-.781,1q-0.091.15-.218,0.346l-0.246.38c-0.068-.288-0.137-0.582-0.212-0.885-0.459-1.847-2.494-.984-2.941-0.8-0.482.2-.353,0.647-0.094,0.529a0.869,0.869,0,0,1,1.281.585c0.217,0.751.377,1.436,0.527,2.038a5.688,5.688,0,0,1-.362.467,2.69,2.69,0,0,1-.264.271q-0.221-.08-0.471-0.147a2.029,2.029,0,0,0-.522-0.066,1.079,1.079,0,0,0-.768.3A1.058,1.058,0,0,0,9,15.131a0.82,0.82,0,0,0,.832.852,1.134,1.134,0,0,0,.787-0.3,5.11,5.11,0,0,0,.776-0.993q0.141-.219.215-0.34c0.046-.076.122-0.194,0.223-0.346a2.786,2.786,0,0,0,.918,1.726,2.582,2.582,0,0,0,2.376-.185c0.317-.181.212-0.565,0-0.494A0.807,0.807,0,0,1,14.176,15a5.159,5.159,0,0,1-.913-2.446l0,0Q13.487,12.24,13.663,12.027Z"/></svg>',header:{1:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Zm6.06787,9.209H14.98975V7.59863a.54085.54085,0,0,0-.605-.60547h-.62744a1.01119,1.01119,0,0,0-.748.29688L11.645,8.56641a.5435.5435,0,0,0-.022.8584l.28613.30762a.53861.53861,0,0,0,.84717.0332l.09912-.08789a1.2137,1.2137,0,0,0,.2417-.35254h.02246s-.01123.30859-.01123.60547V13.209H12.041a.54085.54085,0,0,0-.605.60547v.43945a.54085.54085,0,0,0,.605.60547h4.02686a.54085.54085,0,0,0,.605-.60547v-.43945A.54085.54085,0,0,0,16.06787,13.209Z"/></svg>',2:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M16.73975,13.81445v.43945a.54085.54085,0,0,1-.605.60547H11.855a.58392.58392,0,0,1-.64893-.60547V14.0127c0-2.90527,3.39941-3.42187,3.39941-4.55469a.77675.77675,0,0,0-.84717-.78125,1.17684,1.17684,0,0,0-.83594.38477c-.2749.26367-.561.374-.85791.13184l-.4292-.34082c-.30811-.24219-.38525-.51758-.1543-.81445a2.97155,2.97155,0,0,1,2.45361-1.17676,2.45393,2.45393,0,0,1,2.68408,2.40918c0,2.45312-3.1792,2.92676-3.27832,3.93848h2.79443A.54085.54085,0,0,1,16.73975,13.81445ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z"/></svg>',3:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M16.65186,12.30664a2.6742,2.6742,0,0,1-2.915,2.68457,3.96592,3.96592,0,0,1-2.25537-.6709.56007.56007,0,0,1-.13232-.83594L11.64648,13c.209-.34082.48389-.36328.82471-.1543a2.32654,2.32654,0,0,0,1.12256.33008c.71484,0,1.12207-.35156,1.12207-.78125,0-.61523-.61621-.86816-1.46338-.86816H13.2085a.65159.65159,0,0,1-.68213-.41895l-.05518-.10937a.67114.67114,0,0,1,.14307-.78125l.71533-.86914a8.55289,8.55289,0,0,1,.68213-.7373V8.58887a3.93913,3.93913,0,0,1-.748.05469H11.9873a.54085.54085,0,0,1-.605-.60547V7.59863a.54085.54085,0,0,1,.605-.60547h3.75146a.53773.53773,0,0,1,.60547.59375v.17676a1.03723,1.03723,0,0,1-.27539.748L14.74854,10.0293A2.31132,2.31132,0,0,1,16.65186,12.30664ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z"/></svg>',4:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Zm7.05371,7.96582v.38477c0,.39648-.165.60547-.46191.60547h-.47314v1.29785a.54085.54085,0,0,1-.605.60547h-.69336a.54085.54085,0,0,1-.605-.60547V12.95605H11.333a.5412.5412,0,0,1-.60547-.60547v-.15332a1.199,1.199,0,0,1,.22021-.748l2.56348-4.05957a.7819.7819,0,0,1,.72607-.39648h1.27637a.54085.54085,0,0,1,.605.60547v3.7627h.33008A.54055.54055,0,0,1,17.05371,11.96582ZM14.28125,8.7207h-.022a4.18969,4.18969,0,0,1-.38525.81348l-1.188,1.80469v.02246h1.5293V9.60059A7.04058,7.04058,0,0,1,14.28125,8.7207Z"/></svg>',5:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M16.74023,12.18555a2.75131,2.75131,0,0,1-2.91553,2.80566,3.908,3.908,0,0,1-2.25537-.68164.54809.54809,0,0,1-.13184-.8252L11.73438,13c.209-.34082.48389-.36328.8252-.1543a2.23757,2.23757,0,0,0,1.1001.33008,1.01827,1.01827,0,0,0,1.1001-.96777c0-.61621-.53906-.97949-1.25439-.97949a2.15554,2.15554,0,0,0-.64893.09961,1.15209,1.15209,0,0,1-.814.01074l-.12109-.04395a.64116.64116,0,0,1-.45117-.71484l.231-3.00391a.56666.56666,0,0,1,.62744-.583H15.541a.54085.54085,0,0,1,.605.60547v.43945a.54085.54085,0,0,1-.605.60547H13.41748l-.04395.72559a1.29306,1.29306,0,0,1-.04395.30859h.022a2.39776,2.39776,0,0,1,.57227-.07715A2.53266,2.53266,0,0,1,16.74023,12.18555ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z"/></svg>',6:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M14.51758,9.64453a1.85627,1.85627,0,0,0-1.24316.38477H13.252a1.73532,1.73532,0,0,1,1.72754-1.4082,2.66491,2.66491,0,0,1,.5498.06641c.35254.05469.57227.01074.70508-.40723l.16406-.5166a.53393.53393,0,0,0-.373-.75977,4.83723,4.83723,0,0,0-1.17773-.14258c-2.43164,0-3.7627,2.17773-3.7627,4.43359,0,2.47559,1.60645,3.69629,3.19043,3.69629A2.70585,2.70585,0,0,0,16.96,12.19727,2.43861,2.43861,0,0,0,14.51758,9.64453Zm-.23047,3.58691c-.67187,0-1.22168-.81445-1.22168-1.45215,0-.47363.30762-.583.72559-.583.96875,0,1.27734.59375,1.27734,1.12207A.82182.82182,0,0,1,14.28711,13.23145ZM10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Z"/></svg>'},italic:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="7" x2="13" y1="4" y2="4"/><line class="ql-stroke" x1="5" x2="11" y1="14" y2="14"/><line class="ql-stroke" x1="8" x2="10" y1="14" y2="4"/></svg>',image:'<svg viewbox="0 0 18 18"><rect class="ql-stroke" height="10" width="12" x="3" y="4"/><circle class="ql-fill" cx="6" cy="7" r="1"/><polyline class="ql-even ql-fill" points="5 12 5 11 7 9 8 10 11 7 13 9 13 12 5 12"/></svg>',indent:{"+1":'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="3" x2="15" y1="14" y2="14"/><line class="ql-stroke" x1="3" x2="15" y1="4" y2="4"/><line class="ql-stroke" x1="9" x2="15" y1="9" y2="9"/><polyline class="ql-fill ql-stroke" points="3 7 3 11 5 9 3 7"/></svg>',"-1":'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="3" x2="15" y1="14" y2="14"/><line class="ql-stroke" x1="3" x2="15" y1="4" y2="4"/><line class="ql-stroke" x1="9" x2="15" y1="9" y2="9"/><polyline class="ql-stroke" points="5 7 5 11 3 9 5 7"/></svg>'},link:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="7" x2="11" y1="7" y2="11"/><path class="ql-even ql-stroke" d="M8.9,4.577a3.476,3.476,0,0,1,.36,4.679A3.476,3.476,0,0,1,4.577,8.9C3.185,7.5,2.035,6.4,4.217,4.217S7.5,3.185,8.9,4.577Z"/><path class="ql-even ql-stroke" d="M13.423,9.1a3.476,3.476,0,0,0-4.679-.36,3.476,3.476,0,0,0,.36,4.679c1.392,1.392,2.5,2.542,4.679.36S14.815,10.5,13.423,9.1Z"/></svg>',list:{bullet:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="6" x2="15" y1="4" y2="4"/><line class="ql-stroke" x1="6" x2="15" y1="9" y2="9"/><line class="ql-stroke" x1="6" x2="15" y1="14" y2="14"/><line class="ql-stroke" x1="3" x2="3" y1="4" y2="4"/><line class="ql-stroke" x1="3" x2="3" y1="9" y2="9"/><line class="ql-stroke" x1="3" x2="3" y1="14" y2="14"/></svg>',check:'<svg class="" viewbox="0 0 18 18"><line class="ql-stroke" x1="9" x2="15" y1="4" y2="4"/><polyline class="ql-stroke" points="3 4 4 5 6 3"/><line class="ql-stroke" x1="9" x2="15" y1="14" y2="14"/><polyline class="ql-stroke" points="3 14 4 15 6 13"/><line class="ql-stroke" x1="9" x2="15" y1="9" y2="9"/><polyline class="ql-stroke" points="3 9 4 10 6 8"/></svg>',ordered:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="7" x2="15" y1="4" y2="4"/><line class="ql-stroke" x1="7" x2="15" y1="9" y2="9"/><line class="ql-stroke" x1="7" x2="15" y1="14" y2="14"/><line class="ql-stroke ql-thin" x1="2.5" x2="4.5" y1="5.5" y2="5.5"/><path class="ql-fill" d="M3.5,6A0.5,0.5,0,0,1,3,5.5V3.085l-0.276.138A0.5,0.5,0,0,1,2.053,3c-0.124-.247-0.023-0.324.224-0.447l1-.5A0.5,0.5,0,0,1,4,2.5v3A0.5,0.5,0,0,1,3.5,6Z"/><path class="ql-stroke ql-thin" d="M4.5,10.5h-2c0-.234,1.85-1.076,1.85-2.234A0.959,0.959,0,0,0,2.5,8.156"/><path class="ql-stroke ql-thin" d="M2.5,14.846a0.959,0.959,0,0,0,1.85-.109A0.7,0.7,0,0,0,3.75,14a0.688,0.688,0,0,0,.6-0.736,0.959,0.959,0,0,0-1.85-.109"/></svg>'},script:{sub:'<svg viewbox="0 0 18 18"><path class="ql-fill" d="M15.5,15H13.861a3.858,3.858,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.921,1.921,0,0,0,12.021,11.7a0.50013,0.50013,0,1,0,.957.291h0a0.914,0.914,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.076-1.16971,1.86982-1.93971,2.43082A1.45639,1.45639,0,0,0,12,15.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,15Z"/><path class="ql-fill" d="M9.65,5.241a1,1,0,0,0-1.409.108L6,7.964,3.759,5.349A1,1,0,0,0,2.192,6.59178Q2.21541,6.6213,2.241,6.649L4.684,9.5,2.241,12.35A1,1,0,0,0,3.71,13.70722q0.02557-.02768.049-0.05722L6,11.036,8.241,13.65a1,1,0,1,0,1.567-1.24277Q9.78459,12.3777,9.759,12.35L7.316,9.5,9.759,6.651A1,1,0,0,0,9.65,5.241Z"/></svg>',super:'<svg viewbox="0 0 18 18"><path class="ql-fill" d="M15.5,7H13.861a4.015,4.015,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.922,1.922,0,0,0,12.021,3.7a0.5,0.5,0,1,0,.957.291,0.917,0.917,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.077-1.164,1.925-1.934,2.486A1.423,1.423,0,0,0,12,7.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,7Z"/><path class="ql-fill" d="M9.651,5.241a1,1,0,0,0-1.41.108L6,7.964,3.759,5.349a1,1,0,1,0-1.519,1.3L4.683,9.5,2.241,12.35a1,1,0,1,0,1.519,1.3L6,11.036,8.241,13.65a1,1,0,0,0,1.519-1.3L7.317,9.5,9.759,6.651A1,1,0,0,0,9.651,5.241Z"/></svg>'},strike:'<svg viewbox="0 0 18 18"><line class="ql-stroke ql-thin" x1="15.5" x2="2.5" y1="8.5" y2="9.5"/><path class="ql-fill" d="M9.007,8C6.542,7.791,6,7.519,6,6.5,6,5.792,7.283,5,9,5c1.571,0,2.765.679,2.969,1.309a1,1,0,0,0,1.9-.617C13.356,4.106,11.354,3,9,3,6.2,3,4,4.538,4,6.5a3.2,3.2,0,0,0,.5,1.843Z"/><path class="ql-fill" d="M8.984,10C11.457,10.208,12,10.479,12,11.5c0,0.708-1.283,1.5-3,1.5-1.571,0-2.765-.679-2.969-1.309a1,1,0,1,0-1.9.617C4.644,13.894,6.646,15,9,15c2.8,0,5-1.538,5-3.5a3.2,3.2,0,0,0-.5-1.843Z"/></svg>',table:'<svg viewbox="0 0 18 18"><rect class="ql-stroke" height="12" width="12" x="3" y="3"/><rect class="ql-fill" height="2" width="3" x="5" y="5"/><rect class="ql-fill" height="2" width="4" x="9" y="5"/><g class="ql-fill ql-transparent"><rect height="2" width="3" x="5" y="8"/><rect height="2" width="4" x="9" y="8"/><rect height="2" width="3" x="5" y="11"/><rect height="2" width="4" x="9" y="11"/></g></svg>',underline:'<svg viewbox="0 0 18 18"><path class="ql-stroke" d="M5,3V9a4.012,4.012,0,0,0,4,4H9a4.012,4.012,0,0,0,4-4V3"/><rect class="ql-fill" height="1" rx="0.5" ry="0.5" width="12" x="3" y="15"/></svg>',video:'<svg viewbox="0 0 18 18"><rect class="ql-stroke" height="12" width="12" x="3" y="3"/><rect class="ql-fill" height="12" width="1" x="5" y="3"/><rect class="ql-fill" height="12" width="1" x="12" y="3"/><rect class="ql-fill" height="2" width="8" x="5" y="8"/><rect class="ql-fill" height="1" width="3" x="3" y="5"/><rect class="ql-fill" height="1" width="3" x="3" y="7"/><rect class="ql-fill" height="1" width="3" x="3" y="10"/><rect class="ql-fill" height="1" width="3" x="3" y="12"/><rect class="ql-fill" height="1" width="3" x="12" y="5"/><rect class="ql-fill" height="1" width="3" x="12" y="7"/><rect class="ql-fill" height="1" width="3" x="12" y="10"/><rect class="ql-fill" height="1" width="3" x="12" y="12"/></svg>'},l$=0;function lU(e,t){e.setAttribute(t,`${"true"!==e.getAttribute(t)}`)}let lz=class e{constructor(e){this.select=e,this.container=document.createElement("span"),this.buildPicker(),this.select.style.display="none",this.select.parentNode.insertBefore(this.container,this.select),this.label.addEventListener("mousedown",()=>{this.togglePicker()}),this.label.addEventListener("keydown",e=>{switch(e.key){case"Enter":this.togglePicker();break;case"Escape":this.escape(),e.preventDefault()}}),this.select.addEventListener("change",this.update.bind(this))}togglePicker(){this.container.classList.toggle("ql-expanded"),lU(this.label,"aria-expanded"),lU(this.options,"aria-hidden")}buildItem(e){let t=document.createElement("span");t.tabIndex="0",t.setAttribute("role","button"),t.classList.add("ql-picker-item");let n=e.getAttribute("value");return n&&t.setAttribute("data-value",n),e.textContent&&t.setAttribute("data-label",e.textContent),t.addEventListener("click",()=>{this.selectItem(t,!0)}),t.addEventListener("keydown",e=>{switch(e.key){case"Enter":this.selectItem(t,!0),e.preventDefault();break;case"Escape":this.escape(),e.preventDefault()}}),t}buildLabel(){let e=document.createElement("span");return e.classList.add("ql-picker-label"),e.innerHTML='<svg viewbox="0 0 18 18"><polygon class="ql-stroke" points="7 11 9 13 11 11 7 11"/><polygon class="ql-stroke" points="7 7 9 5 11 7 7 7"/></svg>',e.tabIndex="0",e.setAttribute("role","button"),e.setAttribute("aria-expanded","false"),this.container.appendChild(e),e}buildOptions(){let e=document.createElement("span");e.classList.add("ql-picker-options"),e.setAttribute("aria-hidden","true"),e.tabIndex="-1",e.id=`ql-picker-options-${l$}`,l$+=1,this.label.setAttribute("aria-controls",e.id),this.options=e,Array.from(this.select.options).forEach(t=>{let n=this.buildItem(t);e.appendChild(n),!0===t.selected&&this.selectItem(n)}),this.container.appendChild(e)}buildPicker(){Array.from(this.select.attributes).forEach(e=>{this.container.setAttribute(e.name,e.value)}),this.container.classList.add("ql-picker"),this.label=this.buildLabel(),this.buildOptions()}escape(){this.close(),setTimeout(()=>this.label.focus(),1)}close(){this.container.classList.remove("ql-expanded"),this.label.setAttribute("aria-expanded","false"),this.options.setAttribute("aria-hidden","true")}selectItem(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.container.querySelector(".ql-selected");if(e!==n)null!=n&&n.classList.remove("ql-selected"),null!=e&&(e.classList.add("ql-selected"),this.select.selectedIndex=Array.from(e.parentNode.children).indexOf(e),e.hasAttribute("data-value")?this.label.setAttribute("data-value",e.getAttribute("data-value")):this.label.removeAttribute("data-value"),e.hasAttribute("data-label")?this.label.setAttribute("data-label",e.getAttribute("data-label")):this.label.removeAttribute("data-label"),t&&(this.select.dispatchEvent(new Event("change")),this.close()))}update(){let e;if(this.select.selectedIndex>-1){let t=this.container.querySelector(".ql-picker-options").children[this.select.selectedIndex];e=this.select.options[this.select.selectedIndex],this.selectItem(t)}else this.selectItem(null);let t=null!=e&&e!==this.select.querySelector("option[selected]");this.label.classList.toggle("ql-active",t)}},lX=class e extends lz{constructor(e,t){super(e),this.label.innerHTML=t,this.container.classList.add("ql-color-picker"),Array.from(this.container.querySelectorAll(".ql-picker-item")).slice(0,7).forEach(e=>{e.classList.add("ql-primary")})}buildItem(e){let t=super.buildItem(e);return t.style.backgroundColor=e.getAttribute("value")||"",t}selectItem(e,t){super.selectItem(e,t);let n=this.label.querySelector(".ql-color-label"),i=e&&e.getAttribute("data-value")||"";n&&("line"===n.tagName?n.style.stroke=i:n.style.fill=i)}},lW=class e extends lz{constructor(e,t){super(e),this.container.classList.add("ql-icon-picker"),Array.from(this.container.querySelectorAll(".ql-picker-item")).forEach(e=>{e.innerHTML=t[e.getAttribute("data-value")||""]}),this.defaultItem=this.container.querySelector(".ql-selected"),this.selectItem(this.defaultItem)}selectItem(e,t){super.selectItem(e,t);let n=e||this.defaultItem;if(null!=n){if(this.label.innerHTML===n.innerHTML)return;this.label.innerHTML=n.innerHTML}}},lV=e=>{let{overflowY:t}=getComputedStyle(e,null);return"visible"!==t&&"clip"!==t},lK=class e{constructor(e,t){this.quill=e,this.boundsContainer=t||document.body,this.root=e.addContainer("ql-tooltip"),this.root.innerHTML=this.constructor.TEMPLATE,lV(this.quill.root)&&this.quill.root.addEventListener("scroll",()=>{this.root.style.marginTop=`${-1*this.quill.root.scrollTop}px`}),this.hide()}hide(){this.root.classList.add("ql-hidden")}position(e){let t=e.left+e.width/2-this.root.offsetWidth/2,n=e.bottom+this.quill.root.scrollTop;this.root.style.left=`${t}px`,this.root.style.top=`${n}px`,this.root.classList.remove("ql-flip");let i=this.boundsContainer.getBoundingClientRect(),r=this.root.getBoundingClientRect(),o=0;if(r.right>i.right&&(o=i.right-r.right,this.root.style.left=`${t+o}px`),r.left<i.left&&(o=i.left-r.left,this.root.style.left=`${t+o}px`),r.bottom>i.bottom){let t=r.bottom-r.top,i=e.bottom-e.top+t;this.root.style.top=`${n-i}px`,this.root.classList.add("ql-flip")}return o}show(){this.root.classList.remove("ql-editing"),this.root.classList.remove("ql-hidden")}},lG=[!1,"center","right","justify"],lY=["#000000","#e60000","#ff9900","#ffff00","#008a00","#0066cc","#9933ff","#ffffff","#facccc","#ffebcc","#ffffcc","#cce8cc","#cce0f5","#ebd6ff","#bbbbbb","#f06666","#ffc266","#ffff66","#66b966","#66a3e0","#c285ff","#888888","#a10000","#b26b00","#b2b200","#006100","#0047b2","#6b24b2","#444444","#5c0000","#663d00","#666600","#003700","#002966","#3d1466"],lZ=[!1,"serif","monospace"],lQ=["1","2","3",!1],lJ=["small",!1,"large","huge"];class l0 extends s1{constructor(e,t){super(e,t);let n=t=>{if(!document.body.contains(e.root)){document.body.removeEventListener("click",n);return}null!=this.tooltip&&!this.tooltip.root.contains(t.target)&&document.activeElement!==this.tooltip.textbox&&!this.quill.hasFocus()&&this.tooltip.hide(),null!=this.pickers&&this.pickers.forEach(e=>{!e.container.contains(t.target)&&e.close()})};e.emitter.listenDOM("click",document.body,n)}addModule(e){let t=super.addModule(e);return"toolbar"===e&&this.extendToolbar(t),t}buildButtons(e,t){Array.from(e).forEach(e=>{(e.getAttribute("class")||"").split(/\s+/).forEach(n=>{if(!!n.startsWith("ql-")){if(null!=t[n=n.slice(3)]){if("direction"===n)e.innerHTML=t[n][""]+t[n].rtl;else if("string"==typeof t[n])e.innerHTML=t[n];else{let i=e.value||"";null!=i&&t[n][i]&&(e.innerHTML=t[n][i])}}}})})}buildPickers(e,t){this.pickers=Array.from(e).map(e=>{if(e.classList.contains("ql-align")&&(null==e.querySelector("option")&&l2(e,lG),"object"==typeof t.align))return new lW(e,t.align);if(e.classList.contains("ql-background")||e.classList.contains("ql-color")){let n=e.classList.contains("ql-background")?"background":"color";return null==e.querySelector("option")&&l2(e,lY,"background"===n?"#ffffff":"#000000"),new lX(e,t[n])}return null==e.querySelector("option")&&(e.classList.contains("ql-font")?l2(e,lZ):e.classList.contains("ql-header")?l2(e,lQ):e.classList.contains("ql-size")&&l2(e,lJ)),new lz(e)});this.quill.on(sq.events.EDITOR_CHANGE,()=>{this.pickers.forEach(e=>{e.update()})})}}l0.DEFAULTS=rJ({},s1.DEFAULTS,{modules:{toolbar:{handlers:{formula(){this.quill.theme.tooltip.edit("formula")},image(){let e=this.container.querySelector("input.ql-image[type=file]");null==e&&((e=document.createElement("input")).setAttribute("type","file"),e.setAttribute("accept",this.quill.uploader.options.mimetypes.join(", ")),e.classList.add("ql-image"),e.addEventListener("change",()=>{let t=this.quill.getSelection(!0);this.quill.uploader.upload(t,e.files),e.value=""}),this.container.appendChild(e)),e.click()},video(){this.quill.theme.tooltip.edit("video")}}}}});class l1 extends lK{constructor(e,t){super(e,t),this.textbox=this.root.querySelector('input[type="text"]'),this.listen()}listen(){this.textbox.addEventListener("keydown",e=>{"Enter"===e.key?(this.save(),e.preventDefault()):"Escape"===e.key&&(this.cancel(),e.preventDefault())})}cancel(){this.hide(),this.restoreFocus()}edit(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"link",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(this.root.classList.remove("ql-hidden"),this.root.classList.add("ql-editing"),null==this.textbox)return;null!=t?this.textbox.value=t:e!==this.root.getAttribute("data-mode")&&(this.textbox.value="");let n=this.quill.getBounds(this.quill.selection.savedRange);null!=n&&this.position(n),this.textbox.select(),this.textbox.setAttribute("placeholder",this.textbox.getAttribute(`data-${e}`)||""),this.root.setAttribute("data-mode",e)}restoreFocus(){this.quill.focus({preventScroll:!0})}save(){let{value:e}=this.textbox;switch(this.root.getAttribute("data-mode")){case"link":{let{scrollTop:t}=this.quill.root;this.linkRange?(this.quill.formatText(this.linkRange,"link",e,sq.sources.USER),delete this.linkRange):(this.restoreFocus(),this.quill.format("link",e,sq.sources.USER)),this.quill.root.scrollTop=t;break}case"video":e=function(e){let t=e.match(/^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtube\.com\/watch.*v=([a-zA-Z0-9_-]+)/)||e.match(/^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtu\.be\/([a-zA-Z0-9_-]+)/);return t?`${t[1]||"https"}://www.youtube.com/embed/${t[2]}?showinfo=0`:(t=e.match(/^(?:(https?):\/\/)?(?:www\.)?vimeo\.com\/(\d+)/))?`${t[1]||"https"}://player.vimeo.com/video/${t[2]}/`:e}(e);case"formula":{if(!e)break;let t=this.quill.getSelection(!0);if(null!=t){let n=t.index+t.length;this.quill.insertEmbed(n,this.root.getAttribute("data-mode"),e,sq.sources.USER),"formula"===this.root.getAttribute("data-mode")&&this.quill.insertText(n+1," ",sq.sources.USER),this.quill.setSelection(n+2,sq.sources.USER)}}}this.textbox.value="",this.hide()}}function l2(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t.forEach(t=>{let i=document.createElement("option");t===n?i.setAttribute("selected","selected"):i.setAttribute("value",String(t)),e.appendChild(i)})}let l5=[["bold","italic","link"],[{header:1},{header:2},"blockquote"]];class l3 extends l1{static TEMPLATE='<span class="ql-tooltip-arrow"></span><div class="ql-tooltip-editor"><input type="text" data-formula="e=mc^2" data-link="https://quilljs.com" data-video="Embed URL"><a class="ql-close"></a></div>';constructor(e,t){super(e,t),this.quill.on(sq.events.EDITOR_CHANGE,(e,t,n,i)=>{if(e===sq.events.SELECTION_CHANGE){if(null!=t&&t.length>0&&i===sq.sources.USER){this.show(),this.root.style.left="0px",this.root.style.width="",this.root.style.width=`${this.root.offsetWidth}px`;let e=this.quill.getLines(t.index,t.length);if(1===e.length){let e=this.quill.getBounds(t);null!=e&&this.position(e)}else{let n=e[e.length-1],i=this.quill.getIndex(n),r=Math.min(n.length()-1,t.index+t.length-i),o=this.quill.getBounds(new s$(i,r));null!=o&&this.position(o)}}else document.activeElement!==this.textbox&&this.quill.hasFocus()&&this.hide()}})}listen(){super.listen(),this.root.querySelector(".ql-close").addEventListener("click",()=>{this.root.classList.remove("ql-editing")}),this.quill.on(sq.events.SCROLL_OPTIMIZE,()=>{setTimeout(()=>{if(this.root.classList.contains("ql-hidden"))return;let e=this.quill.getSelection();if(null!=e){let t=this.quill.getBounds(e);null!=t&&this.position(t)}},1)})}cancel(){this.show()}position(e){let t=super.position(e),n=this.root.querySelector(".ql-tooltip-arrow");return n.style.marginLeft="",0!==t&&(n.style.marginLeft=`${-1*t-n.offsetWidth/2}px`),t}}class l4 extends l0{constructor(e,t){null!=t.modules.toolbar&&null==t.modules.toolbar.container&&(t.modules.toolbar.container=l5),super(e,t),this.quill.container.classList.add("ql-bubble")}extendToolbar(e){this.tooltip=new l3(this.quill,this.options.bounds),null!=e.container&&(this.tooltip.root.appendChild(e.container),this.buildButtons(e.container.querySelectorAll("button"),lH),this.buildPickers(e.container.querySelectorAll("select"),lH))}}l4.DEFAULTS=rJ({},l0.DEFAULTS,{modules:{toolbar:{handlers:{link(e){e?this.quill.theme.tooltip.edit():this.quill.format("link",!1,at.sources.USER)}}}}});let l6=[[{header:["1","2","3",!1]}],["bold","italic","underline","link"],[{list:"ordered"},{list:"bullet"}],["clean"]];class l8 extends l1{static TEMPLATE='<a class="ql-preview" rel="noopener noreferrer" target="_blank" href="about:blank"></a><input type="text" data-formula="e=mc^2" data-link="https://quilljs.com" data-video="Embed URL"><a class="ql-action"></a><a class="ql-remove"></a>';preview=this.root.querySelector("a.ql-preview");listen(){super.listen(),this.root.querySelector("a.ql-action").addEventListener("click",e=>{this.root.classList.contains("ql-editing")?this.save():this.edit("link",this.preview.textContent),e.preventDefault()}),this.root.querySelector("a.ql-remove").addEventListener("click",e=>{if(null!=this.linkRange){let e=this.linkRange;this.restoreFocus(),this.quill.formatText(e,"link",!1,sq.sources.USER),delete this.linkRange}e.preventDefault(),this.hide()}),this.quill.on(sq.events.SELECTION_CHANGE,(e,t,n)=>{if(null!=e){if(0===e.length&&n===sq.sources.USER){let[t,n]=this.quill.scroll.descendant(lg,e.index);if(null!=t){this.linkRange=new s$(e.index-n,t.length());let i=lg.formats(t.domNode);this.preview.textContent=i,this.preview.setAttribute("href",i),this.show();let r=this.quill.getBounds(this.linkRange);null!=r&&this.position(r);return}}else delete this.linkRange;this.hide()}})}show(){super.show(),this.root.removeAttribute("data-mode")}}class l9 extends l0{constructor(e,t){null!=t.modules.toolbar&&null==t.modules.toolbar.container&&(t.modules.toolbar.container=l6),super(e,t),this.quill.container.classList.add("ql-snow")}extendToolbar(e){null!=e.container&&(e.container.classList.add("ql-snow"),this.buildButtons(e.container.querySelectorAll("button"),lH),this.buildPickers(e.container.querySelectorAll("select"),lH),this.tooltip=new l8(this.quill,this.options.bounds),e.container.querySelector(".ql-link")&&this.quill.keyboard.addBinding({key:"k",shortKey:!0},(t,n)=>{e.handlers.link.call(e,!n.format.link)}))}}l9.DEFAULTS=rJ({},l0.DEFAULTS,{modules:{toolbar:{handlers:{link(e){if(e){let e=this.quill.getSelection();if(null==e||0===e.length)return;let t=this.quill.getText(e);/^\S+@\S+\.\S+$/.test(t)&&0!==t.indexOf("mailto:")&&(t=`mailto:${t}`);let{tooltip:n}=this.quill.theme;n.edit("link",t)}else this.quill.format("link",!1,at.sources.USER)}}}}});at.register({"attributors/attribute/direction":aO,"attributors/class/align":am,"attributors/class/background":aw,"attributors/class/color":ay,"attributors/class/direction":aC,"attributors/class/font":aN,"attributors/class/size":aL,"attributors/style/align":ag,"attributors/style/background":a_,"attributors/style/color":ab,"attributors/style/direction":aA,"attributors/style/font":aI,"attributors/style/size":aM},!0),at.register({"formats/align":am,"formats/direction":aC,"formats/indent":lu,"formats/background":a_,"formats/color":ab,"formats/font":aN,"formats/size":aL,"formats/blockquote":ld,"formats/code-block":ax,"formats/header":lh,"formats/list":lf,"formats/bold":lm,"formats/code":ak,"formats/italic":class e extends lm{static blotName="italic";static tagName=["EM","I"]},"formats/link":lg,"formats/script":ly,"formats/strike":class e extends lm{static blotName="strike";static tagName=["S","STRIKE"]},"formats/underline":lb,"formats/formula":lw,"formats/image":lE,"formats/video":lk,"modules/syntax":lN,"modules/table":lD,"modules/toolbar":lB,"themes/bubble":l4,"themes/snow":l9,"ui/icons":lH,"ui/picker":lz,"ui/icon-picker":lW,"ui/color-picker":lX,"ui/tooltip":lK},!0);var l7=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.reduce(function(e,t,n){return e[t.id]=n,e},{});return((t=e.match(/({[^}]+})|([^{}]+)/g))||[]).map(function(e){if(console.log(e),!(e.startsWith("{")&&e.endsWith("}")))return e;var t=e.substring(1,e.length-1);console.log(t);var o=n[r[t]];if(!o)return t;var s=o.values&&i[o.id]?"".concat(tz(o.values.filter(function(e){return i[o.id].includes(e.id)}).map(function(e){return e.label}),x("AND"),"",!1)):" ... ";return O()("strong",s)})},ce=function(){return{view:function(e){var t=e.attrs,n=t.template,i=t.state,r=i.model,o=i.curNarrative,s=r.scenario.components,a=void 0===s?[]:s,l=(void 0===o?{}:o).components,c=void 0===l?{}:l;return n.split(/{(\d+)}/g).map(function(e){return e.replace(/\d+/,function(e){return+e<a.length?"{".concat(a[+e-1].id,"}"):"??? ".concat(e," ???")})}).join("").split(/\n/g).map(function(e){return e.trim()}).filter(Boolean).map(function(e){return O()(".scenario-paragraph",[l7(e,a,c)])})}}};function ct(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),i.forEach(function(t){var i,r,o;i=e,r=t,o=n[t],r in i?Object.defineProperty(i,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):i[r]=o})}return e}function cn(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n.push.apply(n,i)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}var ci=function(){return{view:function(e){var t=e.attrs,n=t.on,i=t.off,r=t.value,o=t.disabled,s=t.callback;return O()(Y,{className:"clickable".concat(o?" grey-text":""),iconName:r?n:i,disabled:o,onclick:o?{}:function(){return s(!r)}})}}},cr=function(e){var t=e.probability,n=e.impact;if("string"==typeof t&&"string"==typeof n){var i=+t.replace(/[a-zA-Z_]/g,""),r=+n.replace(/[a-zA-Z_]/g,"");e.risk="risk_"+[[0,0,1,2,3],[0,1,2,3,4],[1,2,3,4,4],[2,3,4,4,4],[3,4,4,4,4]][i][r],console.log("Risk = probability x impact: ".concat(t," x ").concat(n," = ").concat(e.risk))}},co=function(){var e=!1;return{view:function(t){var n=t.attrs,i=n.catId,r=n.excluded,o=n.state,s=o.model,a=o.excludedComps,l=void 0===a?{}:a,c=o.lockedComps,u=void 0===c?{}:c,d=o.curNarrative,h=void 0===d?{}:d,p=s.scenario,f=p.categories,m=void 0===f?[]:f,g=p.components,v=m.length>1,y=m.filter(function(e){return e.id===i}).shift(),b=null==y?void 0:y.componentIds,w=b&&(void 0===g?[]:g).filter(function(e){return b.indexOf(e.id)>=0}),_=h.components,E=void 0===_?{}:_;return y&&w&&O()(".scenario-table.row",[O()(".col.s11",v&&O()("h5",y.label)),O()(".col.s1.icons",[O()(ci,{on:"lock_open",off:"lock",value:e,callback:function(t){e=t,n.update({lockedComps:function(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return null==y||null===(t=y.componentIds)||void 0===t||t.forEach(function(t){return n[t]=e}),n}})}})]),w.map(function(e){var t;return[[O()(el,{label:e.label,key:"key_".concat(e.id,"_").concat(l[e.id]),className:"col s11",multiple:!0,disabled:void 0!==l[e.id]&&l[e.id],initialValue:E[e.id],options:null===(t=e.values)||void 0===t?void 0:t.filter(function(e){return!r.has(e.id)}),placeholder:x("i18n","pick"),onchange:function(t){!h.components&&(h.components={}),h.components[e.id]=t,na(n,h)}})],O()(".col.s1.icons",[O()(ci,{on:"lock_open",off:"lock",disabled:e.manual,value:!e.manual&&!u[e.id],callback:function(t){n.update({lockedComps:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n[e.id]=!t,n}})}})])]})])}}},cs=function(){var e,t=!1,n=0;return{oninit:function(e){return nn(e.attrs,C.CREATE_SCENARIO)},view:function(i){var r=i.attrs,o=r.state,s=o.model,a=o.curNarrative,l=void 0===a?{}:a,c=o.lockedComps,u=void 0===c?{}:c,d=s.scenario,h=d.template,p=d.categories,f=void 0===p?[]:p,m=d.inconsistencies,g=void 0===m?{}:m,v=d.hideInconsistentValues,y=s.scenario&&s.scenario.narratives,b=l.components&&void 0!==v&&v?Object.keys(l.components).filter(function(e){return l.components[e]}).reduce(function(e,t){return l.components[t].forEach(function(t){return g[t]&&Object.keys(g[t]).forEach(function(n){return g[t][n]&&e.add(n)})}),e},new Set):new Set,w=t0(s.scenario.narratives);return O()(".create-scenario.row",[O()(".col.s12",[O()(ee,{label:x("GENERATE_NARRATIVE"),iconName:"refresh",onclick:function(){var e=l.components,t=void 0===e?{}:e,i=t?Object.keys(u).reduce(function(e,n){return u[n]&&(e[n]=t[n]),e},{}):{};s.scenario.components.filter(function(e){return e.manual}).forEach(function(e){i[e.id]=t[e.id]});var o=tY(s.scenario,i);o?(n++,r.update({curNarrative:function(){return o}})):alert(x("NO_NARRATIVE"))}}),O()(ee,{label:x("CLEAR_NARRATIVE"),iconName:"clear",style:"margin-left: 10px;",onclick:function(){n=0===n?1:0,e.setContents([]),r.update({lockedComps:function(){return{}},curNarrative:function(){return{included:!1,components:{}}}})}}),l.saved?[O()(ee,{label:x("CLONE_NARRATIVE"),iconName:"content_copy",style:"margin-left: 10px;",onclick:function(){var e,t=tV(l);t.id=A(),t.saved=!1,t.label=t3(l.label,null===(e=s.scenario.narratives)||void 0===e?void 0:e.map(function(e){return e.label})),ns(r,t)}}),O()(ee,{label:x("DELETE"),iconName:"delete",modalId:"deleteSavedNarrative"}),O()(eo,{id:"deleteSavedNarrative",title:x("DELETE_ITEM","title",{item:x("NARRATIVE")}),description:x("DELETE_ITEM","description",{item:x("NARRATIVE")}),buttons:[{label:x("CANCEL")},{label:x("OK"),onclick:function(){n=0,s.scenario.narratives=s.scenario.narratives.filter(function(e){return e.id!==l.id}),t=!0,e.setContents([]),t=!1,r.update({curNarrative:function(){return{included:!1,components:{}}},lockedComps:function(){}}),nr(r,s)}}]})]:[O()(ee,{label:x("SAVE_NARRATIVE"),iconName:"save",disabled:!l.label||!l.components||0===Object.keys(l.components).length,onclick:function(){ns(r,l)}})],y&&[O()(el,{key:Date.now(),className:"right mb0 w30",label:x("SELECT_NARRATIVE"),checkedId:l.saved?l.id:void 0,placeholder:x("i18n","pickOne"),options:w,onchange:function(i){if(i&&i.length>0){n++;var o=y.filter(function(e){return e.id===i[0]}).shift();t=!0,e.setContents(o&&o.desc?JSON.parse(o.desc):[]),t=!1,r.update({curNarrative:function(){return o},lockedComps:function(){return s.scenario.components.reduce(function(e,t){return e[t.id]=!0,e},{})}})}}})]]),h?O()(ce,cn(ct({},r),{template:h})):"",f.map(function(e,t){return O()(".col.s12",{className:"m".concat(Math.round(12/f.length)),key:1e4*n+t},O()(co,cn(ct({},r),{catId:e.id,excluded:b})))}),O()(".col.s12",[O()(".row",[O()(ei,{className:"col s6 m3",initialValue:l.label,label:x("NAME_NARRATIVE"),required:!0,onchange:function(e){l.label=e,na(r,l)}}),O()(er,{className:"col s6 m3 mt25",checked:l.included,label:x("INCLUDE_NARRATIVE"),onchange:function(e){l.included=e,na(r,l)}}),s.scenario.includeDecisionSupport&&[O()(el,{key:"prob".concat(l.id),placeholder:x("i18n","pick"),className:"col s6 m2",label:x("PROBABILITY"),initialValue:l.probability,options:tO(0,4).map(function(e){return{id:"probability_".concat(e),label:x("PROB5",e)}}),onchange:function(e){l.probability=e[0],cr(l),na(r,l)}}),O()(el,{key:"imp".concat(l.id),placeholder:x("i18n","pick"),className:"col s6 m2",label:x("IMPACT"),initialValue:l.impact,options:tO(0,4).map(function(e){return{id:"impact_".concat(e),label:x("IMP5",e)}}),onchange:function(e){l.impact=e[0],cr(l),na(r,l)}}),O()(el,{key:"".concat(l.id,"-").concat(l.probability,"-").concat(l.impact),placeholder:x("RISK_PLACEHOLDER"),className:"col s6 m2",label:x("RISK"),initialValue:l.risk,options:tO(0,4).map(function(e){return{id:"risk_".concat(e),label:x("RISK5",e)}}),disabled:!0})]]),[O()("#editor",{oncreate:function(){(e=new at("#editor",{modules:{toolbar:[[{header:[1,2,!1]}],["bold","italic","underline","strike"],[{list:"ordered"},{list:"bullet"}],[{script:"sub"},{script:"super"}],[{indent:"-1"},{indent:"+1"}],[{color:[]}],[{align:[]}],["image","code-block"]]},placeholder:x("EDITOR_PLACEHOLDER"),readOnly:!1,theme:"snow"})).on("text-change",function(){if(!t){var n=r.getState().curNarrative;n&&(n.desc=JSON.stringify(e.getContents()),na(r,n))}}),l&&e.setContents(l.desc?JSON.parse(l.desc):[])}})]])])}}},ca=n("3205"),cl=function(e){var t=e.body,n=e.lang,i=e.css;return'\n<!doctype html>\n<html lang="'.concat(n,'">\n<head>\n ').concat(void 0===i?cc:i,"\n</head>\n\n<body>\n ").concat(t,"\n</body>\n</html>\n")},cc="<style>\ntd, th {\n text-align: left;\n border: 1px solid black;\n padding: 0.5rem;\n}\nth {\n background-color:#999;\n}\ntable {\n font-family: Calibri;\n font-size: 11pt;\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0.5rem;\n}\n</style>";function cu(e,t,n,i,r,o,s){try{var a=e[o](s),l=a.value}catch(e){n(e);return}a.done?t(l):Promise.resolve(l).then(i,r)}var cd=function(){var e;return{oninit:function(){return e=A()},view:function(t){var n=t.attrs,i=n.curNarrative,r=n.comps,o=(void 0===i?{}:i).components,s=r&&r.reduce(function(e,t){return t.values&&t.values.forEach(function(n){e[t.id+n.id]=n.label}),e},{});return[O()("table.highlight",{id:e},[O()("thead",O()("tr",[O()("th",x("DIMENSION")),O()("th",x("KEY_VALUE"))])),O()("tbody",o&&r&&s&&r.filter(function(e){return o[e.id]}).map(function(e){return O()("tr",[O()("th",e.label),O()("td",o[e.id].map(function(t){return s[e.id+t]}).join(", "))])}))]),O()(ee,{label:x("COPY_TO_CLIPBOARD"),className:"right",iconName:"content_copy",onclick:function(){var t=function(t){if(!!t.clipboardData){var n=document.getElementById(e);n&&(console.log(n.outerHTML),t.clipboardData.setData("text/html",cl({body:n.outerHTML,lang:nk.currentLocale})),t.preventDefault())}};document.addEventListener("copy",t),document.execCommand("copy"),document.removeEventListener("copy",t)}})]}}},ch=function(){var e,t,n,i=(t=(e=function(e,t){var i,r,o;return function(e,t){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],i=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}(this,function(s){switch(s.label){case 0:return i=n.getContents(),[4,(0,ca.generateWord)(i,{exportAs:"blob",paragraphStyles:{normal:{paragraph:{spacing:{before:0,after:12}},run:{font:"Calibri",size:24}}}})];case 1:if(r=s.sent(),!(o=document.getElementById("downloadAnchorElem")))return[2];return e.version=e.version?e.version++:1,o.setAttribute("href",URL.createObjectURL(r)),o.setAttribute("download","".concat(tG(e,t),".docx")),o.click(),[2]}})},function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function s(e){cu(o,i,r,s,a,"next",e)}function a(e){cu(o,i,r,s,a,"throw",e)}s(void 0)})}),function(e,n){return t.apply(this,arguments)});return{oninit:function(e){return nn(e.attrs,C.SHOW_SCENARIO)},view:function(e){var t,r,o=e.attrs,s=o.state,a=s.model,l=s.curNarrative,c=a.scenario,u=c.template,d=c.categories,h=void 0===d?[]:d,p=c.components,f=void 0===p?[]:p,m=h.length>1;if((!l||!l.saved)&&a.scenario.narratives&&a.scenario.narratives.length>0){var g=a.scenario.narratives[0];o.update({curNarrative:function(){return tk(g)}});return}var v=t0(a.scenario.narratives);return O()(".show-scenario.row",[O()("a#downloadAnchorElem",{style:"display:none"}),O()(".col.s12",{style:"font-size: 24px"},[a.scenario&&a.scenario.narratives&&a.scenario.narratives.length>0&&[O()(el,{className:"left mb0 mw30",label:x("SELECT_NARRATIVE"),checkedId:l&&l.saved?l.id:void 0,placeholder:x("i18n","pickOne"),options:v,onchange:function(e){if(e&&e.length>0){var t=a.scenario.narratives.filter(function(t){return t.id===e[0]}).shift();t&&n.setContents(t.desc?JSON.parse(t.desc):[]),o.update({curNarrative:function(){return tk(t)},lockedComps:function(){return a.scenario.components.reduce(function(e,t){return e[t.id]=!0,e},{})}})}}}),l&&[l.risk&&O()("img[title=risk-status].right",{src:t2(t5(t1[+l.risk.replace("risk_","")],48))}),O()(ee,{label:x("EXPORT2WORD"),iconName:"download",className:"right mt5",disabled:!l.desc,onclick:function(){return i(a,l.label)}}),O()(er,{checked:l.included,label:x("NARRATIVE_INCLUDED"),disabled:!0,className:"right"})]]]),l&&[O()(".col.s12",{oncreate:function(){(n=new at("#editor",{modules:{toolbar:!1},readOnly:!0,theme:"snow"})).setContents(l.desc?JSON.parse(l.desc):[])}},[O()(".col.s12",[O()("#editor.row",{})])]),u?O()(".col.s12",O()(ce,(t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),i.forEach(function(t){var i,r,o;i=e,r=t,o=n[t],r in i?Object.defineProperty(i,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):i[r]=o})}return e}({},o),r=(r={template:u},r),Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n.push.apply(n,i)}return n})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t))):"",O()(".col.s12",O()(".row",[h.map(function(e){var t=e&&e.componentIds,n=t&&f.filter(function(e){return t.indexOf(e.id)>=0});return O()(".col",{className:"s".concat(12/h.length)},m&&O()("h5",e.label),O()(cd,{curNarrative:l,comps:n}))})]))]])}}};function cp(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function cf(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,i,r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o=[],s=!0,a=!1;try{for(r=r.call(e);!(s=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);s=!0);}catch(e){a=!0,i=e}finally{try{!s&&null!=r.return&&r.return()}finally{if(a)throw i}}return o}}(e,t)||cg(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function cm(e){return function(e){if(Array.isArray(e))return cp(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||cg(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function cg(e,t){if(e){if("string"==typeof e)return cp(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return cp(e,t)}}var cv=function(){var e,t=function(e,t,n){return{id:e,label:t,values:n}},n=["probability","impact","risk"],i=function(n){var i=n.scenario,r=i.components;e=i.categories.filter(function(e){return e.decisionSupport}).reduce(function(e,t){return e.push.apply(e,cm(r.filter(function(e){return t.componentIds&&t.componentIds.includes(e.id)}))),e},[t("probability",x("PROBABILITY"),tO(0,4).map(function(e){return{id:"probability_".concat(e),label:x("PROB5",e)}})),t("impact",x("IMPACT"),tO(0,4).map(function(e){return{id:"impact_".concat(e),label:x("IMP5",e)}})),t("risk",x("RISK"),tO(0,4).map(function(e){return{id:"risk_".concat(e),label:x("RISK5",e)}}))])};return{oninit:function(e){nn(e.attrs,C.DECISION_SUPPORT)},view:function(t){var r,o,s=t.attrs,a=s.state.model,l=a.scenario.narratives;i(a);var c=(void 0===l?[]:l).filter(function(e){return e.included}).sort(function(e,t){return(e.label||"").localeCompare(t.label)}),u=c.map(function(e){return e.risk||"0"}).map(function(e){return+e.replace("risk_","")+1}),d={id:"suggested_approach",included:!0,saved:!1,label:x("SUGGESTED_APPROACH","TITLE"),desc:x("SUGGESTED_APPROACH","DESC"),components:e.filter(function(e){return!n.includes(e.id)}).reduce(function(e,t){var n,i=c.map(function(e){return e.components&&e.components[t.id]}).reduce(function(e,t,n){return t&&0!==t.length?(t.filter(function(e){return e}).forEach(function(t){return e.set(t,(e.get(t)||0)+u[n])}),e):e},new Map),r=(n=Math).max.apply(n,cm(Array.from(i.values())));return e[t.id]=Array.from(i.entries()).filter(function(e){var t=cf(e,2);return t[0],t[1]===r}).map(function(e){var t=cf(e,2),n=t[0];return t[1],n}),e},{})};return c.push(d),O()(".row.decision-support",[O()(nZ,(r=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),i.forEach(function(t){var i,r,o;i=e,r=t,o=n[t],r in i?Object.defineProperty(i,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):i[r]=o})}return e}({},s),o=(o={narratives:c,components:e},o),Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n.push.apply(n,i)}return n})(Object(o)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))}),r))])}}};function cy(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}var cb=new(function(){var e,t,n;function i(){var e,t,n;!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,i),e=this,n=void 0,(t="dashboards")in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}return e=i,t=[{key:"init",value:function(){var e=[{id:C.HOME,icon:"home",title:x("HOME","TITLE"),route:x("HOME","ROUTE"),visible:!0,default:!0,component:nQ},{id:C.DEFINE_BOX,icon:"grid_view",title:x("DEFINE_BOX","TITLE"),route:x("DEFINE_BOX","ROUTE"),visible:!0,component:il},{id:C.CREATE_SCENARIO,icon:"edit",title:x("CREATE_SCENARIO","TITLE"),route:x("CREATE_SCENARIO","ROUTE"),visible:!0,component:cs},{id:C.DECISION_SUPPORT,icon:"assistant_direction",title:x("DECISION_SUPPORT","TITLE"),route:x("DECISION_SUPPORT","ROUTE"),visible:function(e){return!!e&&e.includeDecisionSupport},component:cv},{id:C.SHOW_SCENARIO,icon:"visibility",title:x("SHOW_SCENARIO","TITLE"),route:x("SHOW_SCENARIO","ROUTE"),visible:!0,component:ch},{id:C.ABOUT,icon:"info",title:x("ABOUT","TITLE"),route:x("ABOUT","ROUTE"),visible:!0,component:n$},{id:C.SETTINGS,icon:"settings",iconClass:"blue-text",title:x("SETTINGS","TITLE"),route:x("SETTINGS","ROUTE"),visible:!0,component:n4}];this.setList(e)}},{key:"getList",value:function(){return this.dashboards}},{key:"setList",value:function(e){this.dashboards=Object.freeze(e)}},{key:"defaultRoute",get:function(){var e=this.dashboards.filter(function(e){return e.default}).shift();return e?e.route:this.dashboards[0].route}},{key:"route",value:function(e,t){var n=this.dashboards.filter(function(t){return t.id===e}).shift();return n?"#!"+n.route+(t?"?"+O().buildQueryString(t):""):this.defaultRoute}},{key:"href",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=this.dashboards.filter(function(t){return t.id===e}).shift();return n?"#!".concat(n.route.replace(/:\w*/,"")).concat(t):this.defaultRoute}},{key:"switchTo",value:function(e,t,n){var i=this.dashboards.filter(function(t){return t.id===e}).shift();if(i){var r=i.route+(n?"?"+O().buildQueryString(n):"");O().route.set(r,t)}}},{key:"routingTable",value:function(){return this.dashboards.reduce(function(e,t){return e[t.route]=!1===t.hasNavBar?{render:function(){return O()(t.component,np())}}:{render:function(){return O()(nL,np(),O()(t.component,np()))}},e},{})}}],cy(e.prototype,t),i}());window.onbeforeunload=function(e){"true"!==localStorage.getItem(t$)&&(localStorage.setItem(t$,"true"),e.preventDefault(),e.returnValue="")},nk.addOnChangeListener(function(e){console.log("Language loaded"),cb.init(),O().route(document.body,cb.defaultRoute,cb.routingTable())}),nk.init({en:{name:"English",fqn:"en-UK",default:!0},nl:{name:"Nederlands",fqn:"nl-NL"}},window.localStorage.getItem(tH)||"nl")}},t={};function n(i){var r=t[i];if(void 0!==r){if(void 0!==r.error)throw r.error;return r.exports}var o=t[i]={id:i,loaded:!1,exports:{}};try{var s={id:i,module:o,factory:e[i],require:n};n.i.forEach(function(e){e(s)}),o=s.module,!s.factory&&console.error("undefined factory",i),s.factory.call(o.exports,o,o.exports,s.require)}catch(e){throw o.error=e,e}return o.loaded=!0,o.exports}n.m=e,n.c=t,n.i=[],n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.k=function(e){return"main.css"},n.hu=function(e){return""+e+"."+n.h()+".hot-update.js"},n.h=function(){return"2f54983e57f4df53"},n.hmrF=function(){return"main."+n.h()+".hot-update.json"},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},(()=>{var e,t,i,r={},o=n.c,s=[],a=[],l="idle",c=0,u=[];n.hmrD=r,n.i.push(function(u){var m=u.module,g=function(t,n){var i=o[n];if(!i)return t;var r=function(r){if(i.hot.active){if(o[r]){var a=o[r].parents;-1===a.indexOf(n)&&a.push(n)}else s=[n],e=r;-1===i.children.indexOf(r)&&i.children.push(r)}else console.warn("[HMR] unexpected require("+r+") from disposed module "+n),s=[];return t(r)},a=function(e){return{configurable:!0,enumerable:!0,get:function(){return t[e]},set:function(n){t[e]=n}}};for(var u in t)Object.prototype.hasOwnProperty.call(t,u)&&"e"!==u&&Object.defineProperty(r,u,a(u));return r.e=function(e,n){return function(e){switch(l){case"ready":d("prepare");case"prepare":return c++,e.then(h,h),e;default:return e}}(t.e(e,n))},r}(u.require,u.id);m.hot=function(o,c){var u=e!==o,h={_acceptedDependencies:{},_acceptedErrorHandlers:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_selfInvalidated:!1,_disposeHandlers:[],_main:u,_requireSelf:function(){s=c.parents.slice(),e=u?void 0:o,n(o)},active:!0,accept:function(e,t,n){if(void 0===e)h._selfAccepted=!0;else if("function"==typeof e)h._selfAccepted=e;else if("object"==typeof e&&null!==e)for(var i=0;i<e.length;i++)h._acceptedDependencies[e[i]]=t||function(){},h._acceptedErrorHandlers[e[i]]=n;else h._acceptedDependencies[e]=t||function(){},h._acceptedErrorHandlers[e]=n},decline:function(e){if(void 0===e)h._selfDeclined=!0;else if("object"==typeof e&&null!==e)for(var t=0;t<e.length;t++)h._declinedDependencies[e[t]]=!0;else h._declinedDependencies[e]=!0},dispose:function(e){h._disposeHandlers.push(e)},addDisposeHandler:function(e){h._disposeHandlers.push(e)},removeDisposeHandler:function(e){var t=h._disposeHandlers.indexOf(e);t>=0&&h._disposeHandlers.splice(t,1)},invalidate:function(){switch(this._selfInvalidated=!0,l){case"idle":t=[],Object.keys(n.hmrI).forEach(function(e){n.hmrI[e](o,t)}),d("ready");break;case"ready":Object.keys(n.hmrI).forEach(function(e){n.hmrI[e](o,t)});break;case"prepare":case"check":case"dispose":case"apply":(i=i||[]).push(o)}},check:p,apply:f,status:function(e){if(!e)return l;a.push(e)},addStatusHandler:function(e){a.push(e)},removeStatusHandler:function(e){var t=a.indexOf(e);t>=0&&a.splice(t,1)},data:r[o]};return e=void 0,h}(u.id,m),m.parents=s,m.children=[],s=[],u.require=g}),n.hmrC={},n.hmrI={};function d(e){l=e;for(var t=[],n=0;n<a.length;n++)t[n]=a[n].call(null,e);return Promise.all(t).then(function(){})}function h(){0==--c&&d("ready").then(function(){if(0===c){var e=u;u=[];for(var t=0;t<e.length;t++)e[t]()}})}function p(e){if("idle"!==l)throw Error("check() is only allowed in idle status");return d("check").then(n.hmrM).then(function(i){return i?d("prepare").then(function(){var r=[];return t=[],Promise.all(Object.keys(n.hmrC).reduce(function(e,o){return n.hmrC[o](i.c,i.r,i.m,e,t,r),e},[])).then(function(){var t;return t=function(){return e?m(e):d("ready").then(function(){return r})},0===c?t():new Promise(function(e){u.push(function(){e(t())})})})}):d(g()?"ready":"idle").then(function(){return null})})}function f(e){return"ready"!==l?Promise.resolve().then(function(){throw Error("apply() is only allowed in ready status (state: "+l+")")}):m(e)}function m(e){e=e||{},g();var n,r=t.map(function(t){return t(e)});t=void 0;var o=r.map(function(e){return e.error}).filter(Boolean);if(o.length>0)return d("abort").then(function(){throw o[0]});var s=d("dispose");r.forEach(function(e){e.dispose&&e.dispose()});var a=d("apply"),l=function(e){!n&&(n=e)},c=[];return r.forEach(function(e){if(e.apply){var t=e.apply(l);if(t)for(var n=0;n<t.length;n++)c.push(t[n])}}),Promise.all([s,a]).then(function(){return n?d("fail").then(function(){throw n}):i?m(e).then(function(e){return c.forEach(function(t){0>e.indexOf(t)&&e.push(t)}),e}):d("idle").then(function(){return c})})}function g(){if(i)return!t&&(t=[]),Object.keys(n.hmrI).forEach(function(e){i.forEach(function(i){n.hmrI[e](i,t)})}),i=void 0,!0}})(),(()=>{var e={},t="gui:";n.l=function(i,r,o,s){if(e[i]){e[i].push(r);return}if(void 0!==o){for(var a,l,c=document.getElementsByTagName("script"),u=0;u<c.length;u++){var d=c[u];if(d.getAttribute("src")==i||d.getAttribute("data-webpack")==t+o){a=d;break}}}!a&&(l=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,n.nc&&a.setAttribute("nonce",n.nc),a.setAttribute("data-webpack",t+o),a.src=i),e[i]=[r];var h=function(t,n){a.onerror=a.onload=null,clearTimeout(p);var r=e[i];if(delete e[i],a.parentNode&&a.parentNode.removeChild(a),r&&r.forEach(function(e){return e(n)}),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=h.bind(null,a.onerror),a.onload=h.bind(null,a.onload),l&&document.head.appendChild(a)}})(),n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=function(e){return e.paths=[],!e.children&&(e.children=[]),e},n.rv=function(){return"1.1.4"},(()=>{n.g.importScripts&&(e=n.g.location+"");var e,t=n.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var i=t.getElementsByTagName("script");if(i.length){for(var r=i.length-1;r>-1&&(!e||!/^http(s?):/.test(e));)e=i[r--].src}}if(!e)throw Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{var e={},t=(t,i,o)=>{var s,a,l="",c="",u="",d={},h=[],p="--webpack-gui-"+o,f=1,m={};try{!i&&(i=r(o));for(var g=i.sheet.cssRules||i.sheet.rules,v=g.length-1;v>-1&&!s;){var y=g[v--].style;if(!!y)s=y.getPropertyValue(p)}}catch(e){}if(!s&&(s=getComputedStyle(document.head).getPropertyValue(p)),!s)return[];var b,w={},_=s[0],E=_,x=_,k=256;for(a=1;a<s.length;a++)x+=b=(f=s[a].charCodeAt(0))<256?s[a]:w[f]?w[f]:E+_,_=b.charAt(0),w[k]=E+_,++k>65535&&(k=256,w={}),E=b;for(a=0,s=x;f;a++)58==(f=s.charCodeAt(a))?(c=l,l=""):47==f?(l=l.replace(/^_/,""),c=c.replace(/^_/,""),u?m.push(c,u,l):d[c]=void 0===d[c]?l:d[c]+" "+l,l="",c="",u=""):38==f?n.r(d):f&&44!=f?92==f?l+=s[++a]:64==f?(u=l,l=""):l+=s[a]:(t[l=l.replace(/^_/,"")]=((e,t,i)=>{!function(e,t){for(var i=0;i<t.length;i+=3){var r=t[i],o=t[i+1],s=t[i+2],a=n(o)[s];e[r]=e[r]+" "+a}}(e,t),i.exports=e}).bind(null,d,m),h.push(l),l="",c="",d={},m=[]);return t==n.m&&(e[o]=0),h},i="data-webpack-loading",r=function(e,t,r,o,s){var a,l,c="chunk-"+e;if(!o){for(var u=document.getElementsByTagName("link"),d=0;d<u.length;d++){var h=u[d],p=h.getAttribute("href")||h.href;if(p&&!p.startsWith(n.p)&&(p=n.p+(p.startsWith("/")?p.slice(1):p)),"stylesheet"==h.rel&&(p&&p.startsWith(t)||h.getAttribute("data-webpack")=="gui:"+c)){a=h;break}}if(!r)return a}!a&&(l=!0,a=document.createElement("link"),n.nc&&a.setAttribute("nonce",n.nc),a.setAttribute("data-webpack","gui:"+c),s&&a.setAttribute("fetchpriority",s),a.setAttribute(i,1),a.rel="stylesheet",a.href=t);var f=function(e,t){if(a.onerror=a.onload=null,a.removeAttribute(i),clearTimeout(m),t&&"load"!=t.type&&a.parentNode.removeChild(a),r(t),e)return e(t)};if(a.getAttribute(i)){var m=setTimeout(f.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=f.bind(null,a.onerror),a.onload=f.bind(null,a.onload)}else f(void 0,{type:"load",target:a});return o?document.head.insertBefore(a,o):l&&document.head.appendChild(a),a};t(n.m,0,"909");var o=[],s=[],a=function(e){return{dispose:function(){},apply:function(){var e=[];for(s.forEach(function(e){e[1].sheet.disabled=!1});o.length;){var i=o.pop();i.parentNode&&i.parentNode.removeChild(i)}for(;s.length;){var r=s.pop();t(n.m,r[1],r[0]).forEach(function(t){e.push(t)})}return e}}},l=function(e){return Array.from(e.sheet.cssRules,function(e){return e.cssText}).join()};n.hmrC.css=function(e,i,c,u,d,h){d.push(a),e.forEach(function(e){var i=n.k(e),a=n.p+i,c=r(e,a);c&&u.push(new Promise(function(n,i){var u=r(e,a+(0>a.indexOf("?")?"?":"&")+"hmr="+Date.now(),function(r){if("load"!==r.type){var a=Error(),d=r&&r.type,p=r&&r.target&&r.target.src;a.message="Loading css hot update chunk "+e+" failed.\n("+d+": "+p+")",a.name="ChunkLoadError",a.type=d,a.request=p,i(a)}else{try{if(l(c)==l(u))return u.parentNode&&u.parentNode.removeChild(u),n()}catch(e){}var f={};t(f,u,e),Object.keys(f).forEach(function(e){h.push(e)}),u.sheet.disabled=!0,o.push(c),s.push([e,u]),n()}},c)}))})}})(),(()=>{var e,t,i,r,o,s=n.hmrS_jsonp=n.hmrS_jsonp||{909:0},a={};function l(t,i){return e=i,new Promise(function(e,i){a[t]=e;var r=n.p+n.hu(t),o=Error();n.l(r,function(e){if(a[t]){a[t]=void 0;var n=e&&("load"===e.type?"missing":e.type),r=e&&e.target&&e.target.src;o.message="Loading hot update chunk "+t+" failed.\n("+n+": "+r+")",o.name="ChunkLoadError",o.type=n,o.request=r,i(o)}})})}function c(e){n.f&&delete n.f.jsonpHmr,t=void 0;function a(e,t){for(var n=0;n<t.length;n++){var i=t[n];-1===e.indexOf(i)&&e.push(i)}}var l,c={},u=[],d={},h=function(e){console.warn("[HMR] unexpected require("+e.id+") to disposed module")};for(var p in i)if(n.o(i,p)){var f=i[p],m=f?function(e){for(var t=[e],i={},r=t.map(function(e){return{chain:[e],id:e}});r.length>0;){var o=r.pop(),s=o.id,l=o.chain,c=n.c[s];if(!!c&&(!c.hot._selfAccepted||!!c.hot._selfInvalidated)){if(c.hot._selfDeclined)return{type:"self-declined",chain:l,moduleId:s};if(c.hot._main)return{type:"unaccepted",chain:l,moduleId:s};for(var u=0;u<c.parents.length;u++){var d=c.parents[u],h=n.c[d];if(!h)continue;if(h.hot._declinedDependencies[s])return{type:"declined",chain:l.concat([d]),moduleId:s,parentId:d};if(-1===t.indexOf(d)){if(h.hot._acceptedDependencies[s]){!i[d]&&(i[d]=[]),a(i[d],[s]);continue}delete i[d],t.push(d),r.push({chain:l.concat([d]),id:d})}}}}return{type:"accepted",moduleId:e,outdatedModules:t,outdatedDependencies:i}}(p):{type:"disposed",moduleId:p},g=!1,v=!1,y=!1,b="";switch(m.chain&&(b="\nUpdate propagation: "+m.chain.join(" -> ")),m.type){case"self-declined":e.onDeclined&&e.onDeclined(m),!e.ignoreDeclined&&(g=Error("Aborted because of self decline: "+m.moduleId+b));break;case"declined":e.onDeclined&&e.onDeclined(m),!e.ignoreDeclined&&(g=Error("Aborted because of declined dependency: "+m.moduleId+" in "+m.parentId+b));break;case"unaccepted":e.onUnaccepted&&e.onUnaccepted(m),!e.ignoreUnaccepted&&(g=Error("Aborted because "+p+" is not accepted"+b));break;case"accepted":e.onAccepted&&e.onAccepted(m),v=!0;break;case"disposed":e.onDisposed&&e.onDisposed(m),y=!0;break;default:throw Error("Unexception type "+m.type)}if(g)return{error:g};if(v)for(p in d[p]=f,a(u,m.outdatedModules),m.outdatedDependencies)n.o(m.outdatedDependencies,p)&&(!c[p]&&(c[p]=[]),a(c[p],m.outdatedDependencies[p]));y&&(a(u,[m.moduleId]),d[p]=h)}i=void 0;for(var w=[],_=0;_<u.length;_++){var E=u[_],x=n.c[E];x&&(x.hot._selfAccepted||x.hot._main)&&d[E]!==h&&!x.hot._selfInvalidated&&w.push({module:E,require:x.hot._requireSelf,errorHandler:x.hot._selfAccepted})}return{dispose:function(){r.forEach(function(e){delete s[e]}),r=void 0;for(var e,t,i=u.slice();i.length>0;){var o=i.pop(),a=n.c[o];if(!!a){var d={},h=a.hot._disposeHandlers;for(_=0;_<h.length;_++)h[_].call(null,d);for(n.hmrD[o]=d,a.hot.active=!1,delete n.c[o],delete c[o],_=0;_<a.children.length;_++){var p=n.c[a.children[_]];p&&(e=p.parents.indexOf(o))>=0&&p.parents.splice(e,1)}}}for(var f in c)if(n.o(c,f)&&(a=n.c[f]))for(_=0,l=c[f];_<l.length;_++)t=l[_],(e=a.children.indexOf(t))>=0&&a.children.splice(e,1)},apply:function(t){for(var i in d)n.o(d,i)&&(n.m[i]=d[i]);for(var r=0;r<o.length;r++)o[r](n);for(var s in c)if(n.o(c,s)){var a=n.c[s];if(a){l=c[s];for(var h=[],p=[],f=[],m=0;m<l.length;m++){var g=l[m],v=a.hot._acceptedDependencies[g],y=a.hot._acceptedErrorHandlers[g];if(v){if(-1!==h.indexOf(v))continue;h.push(v),p.push(y),f.push(g)}}for(var b=0;b<h.length;b++)try{h[b].call(null,l)}catch(n){if("function"==typeof p[b])try{p[b](n,{moduleId:s,dependencyId:f[b]})}catch(i){e.onErrored&&e.onErrored({type:"accept-error-handler-errored",moduleId:s,dependencyId:f[b],error:i,originalError:n}),!e.ignoreErrored&&(t(i),t(n))}else e.onErrored&&e.onErrored({type:"accept-errored",moduleId:s,dependencyId:f[b],error:n}),!e.ignoreErrored&&t(n)}}}for(var _=0;_<w.length;_++){var E=w[_],x=E.module;try{E.require(x)}catch(i){if("function"==typeof E.errorHandler)try{E.errorHandler(i,{moduleId:x,module:n.c[x]})}catch(n){e.onErrored&&e.onErrored({type:"self-accept-error-handler-errored",moduleId:x,error:n,originalError:i}),!e.ignoreErrored&&(t(n),t(i))}else e.onErrored&&e.onErrored({type:"self-accept-errored",moduleId:x,error:i}),!e.ignoreErrored&&t(i)}}return u}}}self.webpackHotUpdategui=function(t,r,s){for(var l in r)n.o(r,l)&&(i[l]=r[l],e&&e.push(l));s&&o.push(s),a[t]&&(a[t](),a[t]=void 0)},n.hmrI.jsonp=function(e,t){!i&&(i={},o=[],r=[],t.push(c)),!n.o(i,e)&&(i[e]=n.m[e])},n.hmrC.jsonp=function(e,a,u,d,h,p){h.push(c),t={},r=a,i=u.reduce(function(e,t){return e[t]=!1,e},{}),o=[],e.forEach(function(e){n.o(s,e)&&void 0!==s[e]?(d.push(l(e,p)),t[e]=!0):t[e]=!1}),n.f&&(n.f.jsonpHmr=function(e,i){t&&n.o(t,e)&&!t[e]&&(i.push(l(e)),t[e]=!0)})},n.hmrM=function(){if("undefined"==typeof fetch)throw Error("No browser support: need fetch API");return fetch(n.p+n.hmrF()).then(function(e){if(404!==e.status){if(!e.ok)throw Error("Failed to fetch update manifest "+e.statusText);return e.json()}})}})(),n.ruid="bundler=rspack@1.1.4",n("4247")})(); //# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/docs/main.js.map b/docs/main.js.map index d983310..4d932da 100644 --- a/docs/main.js.map +++ b/docs/main.js.map @@ -1 +1 @@ -{"version":3,"file":"main.js","sources":["webpack://gui/./node_modules/.pnpm/docx@5.5.0/node_modules/docx/build/index.js","webpack://gui/./node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.js","webpack://gui/./node_modules/.pnpm/fast-diff@1.3.0/node_modules/fast-diff/diff.js","webpack://gui/./node_modules/.pnpm/lodash.clonedeep@4.5.0/node_modules/lodash.clonedeep/index.js","webpack://gui/./node_modules/.pnpm/lodash.isequal@4.5.0/node_modules/lodash.isequal/index.js","webpack://gui/./node_modules/.pnpm/materialize-css@1.0.0/node_modules/materialize-css/dist/js/materialize.min.js","webpack://gui/./node_modules/.pnpm/meiosis-setup@6.2.3/node_modules/meiosis-setup/index.js","webpack://gui/./node_modules/.pnpm/meiosis-setup@6.2.3/node_modules/meiosis-setup/setup.js","webpack://gui/./node_modules/.pnpm/meiosis-setup@6.2.3/node_modules/meiosis-setup/simple-stream/index.js","webpack://gui/./node_modules/.pnpm/meiosis-setup@6.2.3/node_modules/meiosis-setup/util/index.js","webpack://gui/./node_modules/.pnpm/mergerino@0.4.0/node_modules/mergerino/dist/mergerino.min.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/api/mount-redraw.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/api/router.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/hyperscript.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/index.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/mount-redraw.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/pathname/build.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/pathname/compileTemplate.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/pathname/parse.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/querystring/build.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/querystring/parse.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/render.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/render/domFor.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/render/fragment.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/render/hyperscript.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/render/hyperscriptVnode.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/render/render.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/render/trust.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/render/vnode.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/request.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/request/request.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/route.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/util/censor.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/util/hasOwn.js","webpack://gui/./node_modules/.pnpm/quill-delta@5.1.0/node_modules/quill-delta/dist/AttributeMap.js","webpack://gui/./node_modules/.pnpm/quill-delta@5.1.0/node_modules/quill-delta/dist/Delta.js","webpack://gui/./node_modules/.pnpm/quill-delta@5.1.0/node_modules/quill-delta/dist/Op.js","webpack://gui/./node_modules/.pnpm/quill-delta@5.1.0/node_modules/quill-delta/dist/OpIterator.js","webpack://gui/./node_modules/.pnpm/quill-to-word@1.3.0/node_modules/quill-to-word/dist/main.js","webpack://gui/./node_modules/.pnpm/translate.js@1.3.2/node_modules/translate.js/pluralize/index.js","webpack://gui/./node_modules/.pnpm/parchment@3.0.0/node_modules/parchment/dist/parchment.js","webpack://gui/./src/models/dashboard.ts","webpack://gui/./node_modules/.pnpm/mithril-materialized@1.2.2/node_modules/mithril-materialized/dist/index.modern.js","webpack://gui/./node_modules/.pnpm/mithril-ui-form@1.10.9/node_modules/mithril-ui-form/lib/index.esm.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isMasked.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createBaseFor.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_shortOut.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createAssigner.js","webpack://gui/./src/services/translations.ts","webpack://gui/./src/models/data-model.ts","webpack://gui/./src/models/osm.ts","webpack://gui/./src/utils/local-ldb.ts","webpack://gui/./node_modules/.pnpm/slimdown-js@0.7.4/node_modules/slimdown-js/dist/slimdown.modern.mjs","webpack://gui/./src/utils/index.ts","webpack://gui/./src/services/state-mgmt.ts","webpack://gui/./node_modules/.pnpm/translate.js@1.3.2/node_modules/translate.js/index.js","webpack://gui/./src/components/layout.ts","webpack://gui/./src/components/about-page.ts","webpack://gui/./src/components/home-page.ts","webpack://gui/./src/components/settings-page.ts","webpack://gui/./src/components/create-box-page.ts","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/eq.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assocIndexOf.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheDelete.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_ListCache.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheClear.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheGet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheHas.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheSet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_freeGlobal.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_root.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Symbol.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getRawTag.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_objectToString.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGetTag.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObject.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isFunction.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_coreJsData.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_toSource.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsNative.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getNative.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getValue.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Map.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeCreate.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashGet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashHas.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Hash.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashClear.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashDelete.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashSet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isKeyable.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getMapData.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_MapCache.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheClear.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheDelete.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheGet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheHas.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheSet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Stack.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackClear.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackDelete.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackGet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackHas.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackSet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_defineProperty.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseAssignValue.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assignMergeValue.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseFor.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneBuffer.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Uint8Array.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneArrayBuffer.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneTypedArray.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copyArray.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseCreate.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_overArg.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getPrototype.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isPrototype.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_initCloneObject.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObjectLike.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsArguments.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArguments.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArray.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isLength.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArrayLike.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isBuffer.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/stubFalse.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isPlainObject.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsTypedArray.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseUnary.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nodeUtil.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isTypedArray.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_safeGet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assignValue.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copyObject.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseTimes.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isIndex.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayLikeKeys.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeKeysIn.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseKeysIn.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/keysIn.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseMergeDeep.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArrayLikeObject.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toPlainObject.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseMerge.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/identity.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_apply.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_overRest.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setToString.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseSetToString.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/constant.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseRest.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isIterateeCall.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/merge.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayEach.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeKeys.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseKeys.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/keys.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayFilter.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/stubArray.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getSymbols.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayPush.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getSymbolsIn.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGetAllKeys.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getAllKeys.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getAllKeysIn.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_DataView.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Promise.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Set.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_WeakMap.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getTag.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_initCloneArray.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneDataView.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneRegExp.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneSymbol.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_initCloneByTag.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isMap.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsMap.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isSet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsSet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseClone.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseAssignIn.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copySymbolsIn.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseAssign.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copySymbols.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/cloneDeep.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_SetCache.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setCacheAdd.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setCacheHas.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arraySome.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_equalArrays.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cacheHas.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapToArray.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setToArray.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_equalByTag.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_equalObjects.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsEqualDeep.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isEqual.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsEqual.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/blots/break.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/blots/text.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/blots/inline.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/blots/block.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/blots/cursor.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/instances.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/logger.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/emitter.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/selection.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/editor.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/module.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/blots/embed.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/composition.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/theme.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/utils/scrollRectIntoView.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/utils/createRegistryWithFormats.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/quill.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/blots/container.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/blots/scroll.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/align.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/color.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/background.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/code.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/direction.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/font.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/size.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/keyboard.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/normalizeExternalHTML/normalizers/googleDocs.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/normalizeExternalHTML/normalizers/msWord.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/normalizeExternalHTML/index.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/clipboard.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/history.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/uploader.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/input.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/uiNode.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/indent.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/blockquote.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/header.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/list.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/bold.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/link.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/script.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/underline.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/formula.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/image.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/video.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/syntax.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/table.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/table.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/toolbar.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/ui/icons.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/ui/picker.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/ui/color-picker.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/ui/icon-picker.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/ui/tooltip.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/themes/base.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/themes/bubble.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/themes/snow.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/quill.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/italic.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/strike.js","webpack://gui/./src/components/ui/scenario-paragraph.ts","webpack://gui/./src/components/create-scenario-page.ts","webpack://gui/./src/assets/html-styles.ts","webpack://gui/./src/components/show-scenario-page.ts","webpack://gui/./src/components/decision-support-page.ts","webpack://gui/./src/services/routing-service.ts","webpack://gui/./src/app.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"docx\"] = factory();\n\telse\n\t\troot[\"docx\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 139);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(140));\r\n__export(__webpack_require__(141));\r\n__export(__webpack_require__(53));\r\n__export(__webpack_require__(142));\r\n__export(__webpack_require__(158));\r\n__export(__webpack_require__(159));\r\n__export(__webpack_require__(25));\r\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(51));\r\n__export(__webpack_require__(216));\r\n__export(__webpack_require__(21));\r\n__export(__webpack_require__(3));\r\n__export(__webpack_require__(37));\r\n__export(__webpack_require__(231));\r\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(89));\r\n__export(__webpack_require__(90));\r\n__export(__webpack_require__(91));\r\n__export(__webpack_require__(92));\r\n__export(__webpack_require__(93));\r\n__export(__webpack_require__(239));\r\n__export(__webpack_require__(94));\r\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(17));\r\n__export(__webpack_require__(9));\r\n__export(__webpack_require__(162));\r\n__export(__webpack_require__(163));\r\n__export(__webpack_require__(165));\r\n__export(__webpack_require__(34));\r\n__export(__webpack_require__(213));\r\n__export(__webpack_require__(19));\r\n__export(__webpack_require__(33));\r\n__export(__webpack_require__(215));\r\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n\n\n/*<replacement>*/\n\nvar pna = __webpack_require__(15);\n/*</replacement>*/\n\n/*<replacement>*/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n keys.push(key);\n }return keys;\n};\n/*</replacement>*/\n\nmodule.exports = Duplex;\n\n/*<replacement>*/\nvar util = __webpack_require__(14);\nutil.inherits = __webpack_require__(7);\n/*</replacement>*/\n\nvar Readable = __webpack_require__(57);\nvar Writable = __webpack_require__(29);\n\nutil.inherits(Duplex, Readable);\n\n{\n // avoid scope creep, the keys array can then be collected\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n\n Readable.call(this, options);\n Writable.call(this, options);\n\n if (options && options.readable === false) this.readable = false;\n\n if (options && options.writable === false) this.writable = false;\n\n this.allowHalfOpen = true;\n if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;\n\n this.once('end', onend);\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // if we allow half-open state, or if the writable side ended,\n // then we're ok.\n if (this.allowHalfOpen || this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n pna.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n\nDuplex.prototype._destroy = function (err, cb) {\n this.push(null);\n this.end();\n\n pna.nextTick(cb, err);\n};\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n\n\nvar base64 = __webpack_require__(144)\nvar ieee754 = __webpack_require__(145)\nvar isArray = __webpack_require__(55)\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4)))\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nif (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar SpaceType;\r\n(function (SpaceType) {\r\n SpaceType[\"DEFAULT\"] = \"default\";\r\n SpaceType[\"PRESERVE\"] = \"preserve\";\r\n})(SpaceType = exports.SpaceType || (exports.SpaceType = {}));\r\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst emphasis_mark_1 = __webpack_require__(33);\r\nconst formatting_1 = __webpack_require__(68);\r\nconst run_fonts_1 = __webpack_require__(34);\r\nconst script_1 = __webpack_require__(69);\r\nconst style_1 = __webpack_require__(70);\r\nconst underline_1 = __webpack_require__(19);\r\nclass RunProperties extends xml_components_1.IgnoreIfEmptyXmlComponent {\r\n constructor(options) {\r\n super(\"w:rPr\");\r\n if (!options) {\r\n return;\r\n }\r\n if (options.bold) {\r\n this.push(new formatting_1.Bold());\r\n }\r\n if ((options.boldComplexScript === undefined && options.bold) || options.boldComplexScript) {\r\n this.push(new formatting_1.BoldComplexScript());\r\n }\r\n if (options.italics) {\r\n this.push(new formatting_1.Italics());\r\n }\r\n if ((options.italicsComplexScript === undefined && options.italics) || options.italicsComplexScript) {\r\n this.push(new formatting_1.ItalicsComplexScript());\r\n }\r\n if (options.underline) {\r\n this.push(new underline_1.Underline(options.underline.type, options.underline.color));\r\n }\r\n if (options.emphasisMark) {\r\n this.push(new emphasis_mark_1.EmphasisMark(options.emphasisMark.type));\r\n }\r\n if (options.color) {\r\n this.push(new formatting_1.Color(options.color));\r\n }\r\n if (options.size) {\r\n this.push(new formatting_1.Size(options.size));\r\n }\r\n const szCs = options.sizeComplexScript === undefined || options.sizeComplexScript === true ? options.size : options.sizeComplexScript;\r\n if (szCs) {\r\n this.push(new formatting_1.SizeComplexScript(szCs));\r\n }\r\n if (options.rightToLeft) {\r\n this.push(new formatting_1.RightToLeft());\r\n }\r\n if (options.smallCaps) {\r\n this.push(new formatting_1.SmallCaps());\r\n }\r\n if (options.allCaps) {\r\n this.push(new formatting_1.Caps());\r\n }\r\n if (options.strike) {\r\n this.push(new formatting_1.Strike());\r\n }\r\n if (options.doubleStrike) {\r\n this.push(new formatting_1.DoubleStrike());\r\n }\r\n if (options.subScript) {\r\n this.push(new script_1.SubScript());\r\n }\r\n if (options.superScript) {\r\n this.push(new script_1.SuperScript());\r\n }\r\n if (options.style) {\r\n this.push(new style_1.Style(options.style));\r\n }\r\n if (options.font) {\r\n if (typeof options.font === \"string\") {\r\n this.push(new run_fonts_1.RunFonts(options.font));\r\n }\r\n else if (\"name\" in options.font) {\r\n this.push(new run_fonts_1.RunFonts(options.font.name, options.font.hint));\r\n }\r\n else {\r\n this.push(new run_fonts_1.RunFonts(options.font));\r\n }\r\n }\r\n if (options.highlight) {\r\n this.push(new formatting_1.Highlight(options.highlight));\r\n }\r\n const highlightCs = options.highlightComplexScript === undefined || options.highlightComplexScript === true\r\n ? options.highlight\r\n : options.highlightComplexScript;\r\n if (highlightCs) {\r\n this.push(new formatting_1.HighlightComplexScript(highlightCs));\r\n }\r\n if (options.characterSpacing) {\r\n this.push(new formatting_1.CharacterSpacing(options.characterSpacing));\r\n }\r\n const shading = options.shading || options.shadow;\r\n if (shading) {\r\n this.push(new formatting_1.Shading(shading.type, shading.fill, shading.color));\r\n }\r\n const shdCs = options.shadingComplexScript === undefined || options.shadingComplexScript === true ? shading : options.shadingComplexScript;\r\n if (shdCs) {\r\n this.push(new formatting_1.ShadowComplexScript(shdCs.type, shdCs.fill, shdCs.color));\r\n }\r\n }\r\n push(item) {\r\n this.root.push(item);\r\n }\r\n}\r\nexports.RunProperties = RunProperties;\r\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(265));\r\n__export(__webpack_require__(38));\r\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass DocumentAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n wpc: \"xmlns:wpc\",\r\n mc: \"xmlns:mc\",\r\n o: \"xmlns:o\",\r\n r: \"xmlns:r\",\r\n m: \"xmlns:m\",\r\n v: \"xmlns:v\",\r\n wp14: \"xmlns:wp14\",\r\n wp: \"xmlns:wp\",\r\n w10: \"xmlns:w10\",\r\n w: \"xmlns:w\",\r\n w14: \"xmlns:w14\",\r\n w15: \"xmlns:w15\",\r\n wpg: \"xmlns:wpg\",\r\n wpi: \"xmlns:wpi\",\r\n wne: \"xmlns:wne\",\r\n wps: \"xmlns:wps\",\r\n Ignorable: \"mc:Ignorable\",\r\n cp: \"xmlns:cp\",\r\n dc: \"xmlns:dc\",\r\n dcterms: \"xmlns:dcterms\",\r\n dcmitype: \"xmlns:dcmitype\",\r\n xsi: \"xmlns:xsi\",\r\n type: \"xsi:type\",\r\n };\r\n }\r\n}\r\nexports.DocumentAttributes = DocumentAttributes;\r\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(1));\r\n__export(__webpack_require__(262));\r\n__export(__webpack_require__(280));\r\n__export(__webpack_require__(339));\r\n__export(__webpack_require__(133));\r\n__export(__webpack_require__(50));\r\n__export(__webpack_require__(72));\r\n__export(__webpack_require__(114));\r\n__export(__webpack_require__(23));\r\n__export(__webpack_require__(340));\r\n__export(__webpack_require__(0));\r\n__export(__webpack_require__(49));\r\n__export(__webpack_require__(46));\r\n__export(__webpack_require__(132));\r\n__export(__webpack_require__(131));\r\n__export(__webpack_require__(347));\r\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(Buffer) {// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(6).Buffer))\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {\n\nif (typeof process === 'undefined' ||\n !process.version ||\n process.version.indexOf('v0.') === 0 ||\n process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {\n module.exports = { nextTick: nextTick };\n} else {\n module.exports = process\n}\n\nfunction nextTick(fn, arg1, arg2, arg3) {\n if (typeof fn !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n var len = arguments.length;\n var args, i;\n switch (len) {\n case 0:\n case 1:\n return process.nextTick(fn);\n case 2:\n return process.nextTick(function afterTickOne() {\n fn.call(null, arg1);\n });\n case 3:\n return process.nextTick(function afterTickTwo() {\n fn.call(null, arg1, arg2);\n });\n case 4:\n return process.nextTick(function afterTickThree() {\n fn.call(null, arg1, arg2, arg3);\n });\n default:\n args = new Array(len - 1);\n i = 0;\n while (i < args.length) {\n args[i++] = arguments[i];\n }\n return process.nextTick(function afterTick() {\n fn.apply(null, args);\n });\n }\n}\n\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(13)))\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* eslint-disable node/no-deprecated-api */\nvar buffer = __webpack_require__(6)\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst break_1 = __webpack_require__(67);\r\nconst field_1 = __webpack_require__(18);\r\nconst page_number_1 = __webpack_require__(161);\r\nconst properties_1 = __webpack_require__(9);\r\nconst text_1 = __webpack_require__(71);\r\nvar PageNumber;\r\n(function (PageNumber) {\r\n PageNumber[\"CURRENT\"] = \"CURRENT\";\r\n PageNumber[\"TOTAL_PAGES\"] = \"TOTAL_PAGES\";\r\n PageNumber[\"TOTAL_PAGES_IN_SECTION\"] = \"TOTAL_PAGES_IN_SECTION\";\r\n})(PageNumber = exports.PageNumber || (exports.PageNumber = {}));\r\nclass Run extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:r\");\r\n this.properties = new properties_1.RunProperties(options);\r\n this.root.push(this.properties);\r\n if (options.children) {\r\n for (const child of options.children) {\r\n if (typeof child === \"string\") {\r\n switch (child) {\r\n case PageNumber.CURRENT:\r\n this.root.push(new field_1.Begin());\r\n this.root.push(new page_number_1.Page());\r\n this.root.push(new field_1.Separate());\r\n this.root.push(new field_1.End());\r\n break;\r\n case PageNumber.TOTAL_PAGES:\r\n this.root.push(new field_1.Begin());\r\n this.root.push(new page_number_1.NumberOfPages());\r\n this.root.push(new field_1.Separate());\r\n this.root.push(new field_1.End());\r\n break;\r\n case PageNumber.TOTAL_PAGES_IN_SECTION:\r\n this.root.push(new field_1.Begin());\r\n this.root.push(new page_number_1.NumberOfPagesSection());\r\n this.root.push(new field_1.Separate());\r\n this.root.push(new field_1.End());\r\n break;\r\n default:\r\n this.root.push(new text_1.Text(child));\r\n break;\r\n }\r\n continue;\r\n }\r\n this.root.push(child);\r\n }\r\n }\r\n else if (options.text) {\r\n this.root.push(new text_1.Text(options.text));\r\n }\r\n if (options.break) {\r\n for (let i = 0; i < options.break; i++) {\r\n this.root.splice(1, 0, new break_1.Break());\r\n }\r\n }\r\n }\r\n}\r\nexports.Run = Run;\r\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar FieldCharacterType;\r\n(function (FieldCharacterType) {\r\n FieldCharacterType[\"BEGIN\"] = \"begin\";\r\n FieldCharacterType[\"END\"] = \"end\";\r\n FieldCharacterType[\"SEPARATE\"] = \"separate\";\r\n})(FieldCharacterType || (FieldCharacterType = {}));\r\nclass FidCharAttrs extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { type: \"w:fldCharType\", dirty: \"w:dirty\" };\r\n }\r\n}\r\nclass Begin extends xml_components_1.XmlComponent {\r\n constructor(dirty) {\r\n super(\"w:fldChar\");\r\n this.root.push(new FidCharAttrs({ type: FieldCharacterType.BEGIN, dirty }));\r\n }\r\n}\r\nexports.Begin = Begin;\r\nclass Separate extends xml_components_1.XmlComponent {\r\n constructor(dirty) {\r\n super(\"w:fldChar\");\r\n this.root.push(new FidCharAttrs({ type: FieldCharacterType.SEPARATE, dirty }));\r\n }\r\n}\r\nexports.Separate = Separate;\r\nclass End extends xml_components_1.XmlComponent {\r\n constructor(dirty) {\r\n super(\"w:fldChar\");\r\n this.root.push(new FidCharAttrs({ type: FieldCharacterType.END, dirty }));\r\n }\r\n}\r\nexports.End = End;\r\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar UnderlineType;\r\n(function (UnderlineType) {\r\n UnderlineType[\"SINGLE\"] = \"single\";\r\n UnderlineType[\"WORDS\"] = \"words\";\r\n UnderlineType[\"DOUBLE\"] = \"double\";\r\n UnderlineType[\"THICK\"] = \"thick\";\r\n UnderlineType[\"DOTTED\"] = \"dotted\";\r\n UnderlineType[\"DOTTEDHEAVY\"] = \"dottedHeavy\";\r\n UnderlineType[\"DASH\"] = \"dash\";\r\n UnderlineType[\"DASHEDHEAVY\"] = \"dashedHeavy\";\r\n UnderlineType[\"DASHLONG\"] = \"dashLong\";\r\n UnderlineType[\"DASHLONGHEAVY\"] = \"dashLongHeavy\";\r\n UnderlineType[\"DOTDASH\"] = \"dotDash\";\r\n UnderlineType[\"DASHDOTHEAVY\"] = \"dashDotHeavy\";\r\n UnderlineType[\"DOTDOTDASH\"] = \"dotDotDash\";\r\n UnderlineType[\"DASHDOTDOTHEAVY\"] = \"dashDotDotHeavy\";\r\n UnderlineType[\"WAVE\"] = \"wave\";\r\n UnderlineType[\"WAVYHEAVY\"] = \"wavyHeavy\";\r\n UnderlineType[\"WAVYDOUBLE\"] = \"wavyDouble\";\r\n})(UnderlineType = exports.UnderlineType || (exports.UnderlineType = {}));\r\nclass BaseUnderline extends xml_components_1.XmlComponent {\r\n constructor(underlineType, color) {\r\n super(\"w:u\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: underlineType,\r\n color: color,\r\n }));\r\n }\r\n}\r\nexports.BaseUnderline = BaseUnderline;\r\nclass Underline extends BaseUnderline {\r\n constructor(underlineType = UnderlineType.SINGLE, color) {\r\n super(underlineType, color);\r\n }\r\n}\r\nexports.Underline = Underline;\r\nclass DashUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"dash\");\r\n }\r\n}\r\nexports.DashUnderline = DashUnderline;\r\nclass DashDotDotHeavyUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"dashDotDotHeavy\");\r\n }\r\n}\r\nexports.DashDotDotHeavyUnderline = DashDotDotHeavyUnderline;\r\nclass DashDotHeavyUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"dashDotHeavy\");\r\n }\r\n}\r\nexports.DashDotHeavyUnderline = DashDotHeavyUnderline;\r\nclass DashLongUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"dashLong\");\r\n }\r\n}\r\nexports.DashLongUnderline = DashLongUnderline;\r\nclass DashLongHeavyUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"dashLongHeavy\");\r\n }\r\n}\r\nexports.DashLongHeavyUnderline = DashLongHeavyUnderline;\r\nclass DotDashUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"dotDash\");\r\n }\r\n}\r\nexports.DotDashUnderline = DotDashUnderline;\r\nclass DotDotDashUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"dotDotDash\");\r\n }\r\n}\r\nexports.DotDotDashUnderline = DotDotDashUnderline;\r\nclass DottedUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"dotted\");\r\n }\r\n}\r\nexports.DottedUnderline = DottedUnderline;\r\nclass DottedHeavyUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"dottedHeavy\");\r\n }\r\n}\r\nexports.DottedHeavyUnderline = DottedHeavyUnderline;\r\nclass DoubleUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"double\");\r\n }\r\n}\r\nexports.DoubleUnderline = DoubleUnderline;\r\nclass SingleUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"single\");\r\n }\r\n}\r\nexports.SingleUnderline = SingleUnderline;\r\nclass ThickUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"thick\");\r\n }\r\n}\r\nexports.ThickUnderline = ThickUnderline;\r\nclass WaveUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"wave\");\r\n }\r\n}\r\nexports.WaveUnderline = WaveUnderline;\r\nclass WavyDoubleUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"wavyDouble\");\r\n }\r\n}\r\nexports.WavyDoubleUnderline = WavyDoubleUnderline;\r\nclass WavyHeavyUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"wavyHeavy\");\r\n }\r\n}\r\nexports.WavyHeavyUnderline = WavyHeavyUnderline;\r\nclass WordsUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"words\");\r\n }\r\n}\r\nexports.WordsUnderline = WordsUnderline;\r\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar randomFromSeed = __webpack_require__(221);\n\nvar ORIGINAL = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-';\nvar alphabet;\nvar previousSeed;\n\nvar shuffled;\n\nfunction reset() {\n shuffled = false;\n}\n\nfunction setCharacters(_alphabet_) {\n if (!_alphabet_) {\n if (alphabet !== ORIGINAL) {\n alphabet = ORIGINAL;\n reset();\n }\n return;\n }\n\n if (_alphabet_ === alphabet) {\n return;\n }\n\n if (_alphabet_.length !== ORIGINAL.length) {\n throw new Error('Custom alphabet for shortid must be ' + ORIGINAL.length + ' unique characters. You submitted ' + _alphabet_.length + ' characters: ' + _alphabet_);\n }\n\n var unique = _alphabet_.split('').filter(function(item, ind, arr){\n return ind !== arr.lastIndexOf(item);\n });\n\n if (unique.length) {\n throw new Error('Custom alphabet for shortid must be ' + ORIGINAL.length + ' unique characters. These characters were not unique: ' + unique.join(', '));\n }\n\n alphabet = _alphabet_;\n reset();\n}\n\nfunction characters(_alphabet_) {\n setCharacters(_alphabet_);\n return alphabet;\n}\n\nfunction setSeed(seed) {\n randomFromSeed.seed(seed);\n if (previousSeed !== seed) {\n reset();\n previousSeed = seed;\n }\n}\n\nfunction shuffle() {\n if (!alphabet) {\n setCharacters(ORIGINAL);\n }\n\n var sourceArray = alphabet.split('');\n var targetArray = [];\n var r = randomFromSeed.nextValue();\n var characterIndex;\n\n while (sourceArray.length > 0) {\n r = randomFromSeed.nextValue();\n characterIndex = Math.floor(r * sourceArray.length);\n targetArray.push(sourceArray.splice(characterIndex, 1)[0]);\n }\n return targetArray.join('');\n}\n\nfunction getShuffled() {\n if (shuffled) {\n return shuffled;\n }\n shuffled = shuffle();\n return shuffled;\n}\n\n/**\n * lookup shuffled letter\n * @param index\n * @returns {string}\n */\nfunction lookup(index) {\n var alphabetShuffled = getShuffled();\n return alphabetShuffled[index];\n}\n\nfunction get () {\n return alphabet || ORIGINAL;\n}\n\nmodule.exports = {\n get: get,\n characters: characters,\n seed: setSeed,\n lookup: lookup,\n shuffled: getShuffled\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst alignment_1 = __webpack_require__(52);\r\nconst bidirectional_1 = __webpack_require__(230);\r\nconst border_1 = __webpack_require__(63);\r\nconst indent_1 = __webpack_require__(64);\r\nconst keep_1 = __webpack_require__(65);\r\nconst page_break_1 = __webpack_require__(66);\r\nconst spacing_1 = __webpack_require__(82);\r\nconst style_1 = __webpack_require__(83);\r\nconst tab_stop_1 = __webpack_require__(84);\r\nconst unordered_list_1 = __webpack_require__(85);\r\nconst links_1 = __webpack_require__(37);\r\nconst formatting_1 = __webpack_require__(68);\r\nclass ParagraphProperties extends xml_components_1.IgnoreIfEmptyXmlComponent {\r\n constructor(options) {\r\n super(\"w:pPr\");\r\n if (!options) {\r\n return;\r\n }\r\n if (options.border) {\r\n this.push(new border_1.Border(options.border));\r\n }\r\n if (options.spacing) {\r\n this.push(new spacing_1.Spacing(options.spacing));\r\n }\r\n if (options.outlineLevel !== undefined) {\r\n this.push(new links_1.OutlineLevel(options.outlineLevel));\r\n }\r\n if (options.alignment) {\r\n this.push(new alignment_1.Alignment(options.alignment));\r\n }\r\n if (options.heading) {\r\n this.push(new style_1.Style(options.heading));\r\n }\r\n if (options.bidirectional) {\r\n this.push(new bidirectional_1.Bidirectional());\r\n }\r\n if (options.thematicBreak) {\r\n this.push(new border_1.ThematicBreak());\r\n }\r\n if (options.pageBreakBefore) {\r\n this.push(new page_break_1.PageBreakBefore());\r\n }\r\n if (options.contextualSpacing) {\r\n this.push(new spacing_1.ContextualSpacing(options.contextualSpacing));\r\n }\r\n if (options.indent) {\r\n this.push(new indent_1.Indent(options.indent));\r\n }\r\n if (options.keepLines) {\r\n this.push(new keep_1.KeepLines());\r\n }\r\n if (options.keepNext) {\r\n this.push(new keep_1.KeepNext());\r\n }\r\n if (options.tabStops) {\r\n for (const tabStop of options.tabStops) {\r\n this.push(new tab_stop_1.TabStop(tabStop.type, tabStop.position, tabStop.leader));\r\n }\r\n }\r\n if (options.style) {\r\n this.push(new style_1.Style(options.style));\r\n }\r\n if (options.bullet) {\r\n this.push(new style_1.Style(\"ListParagraph\"));\r\n this.push(new unordered_list_1.NumberProperties(1, options.bullet.level));\r\n }\r\n if (options.numbering) {\r\n if (!options.numbering.custom) {\r\n this.push(new style_1.Style(\"ListParagraph\"));\r\n }\r\n this.push(new unordered_list_1.NumberProperties(options.numbering.reference, options.numbering.level));\r\n }\r\n if (options.rightTabStop) {\r\n this.push(new tab_stop_1.TabStop(tab_stop_1.TabStopType.RIGHT, options.rightTabStop));\r\n }\r\n if (options.leftTabStop) {\r\n this.push(new tab_stop_1.TabStop(tab_stop_1.TabStopType.LEFT, options.leftTabStop));\r\n }\r\n if (options.shading) {\r\n this.push(new formatting_1.Shading(options.shading.type, options.shading.fill, options.shading.color));\r\n }\r\n }\r\n push(item) {\r\n this.root.push(item);\r\n }\r\n}\r\nexports.ParagraphProperties = ParagraphProperties;\r\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst math_beginning_character_1 = __webpack_require__(257);\r\nconst math_ending_char_1 = __webpack_require__(258);\r\nclass MathBracketProperties extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:dPr\");\r\n if (!!options) {\r\n this.root.push(new math_beginning_character_1.MathBeginningCharacter(options.beginningCharacter));\r\n this.root.push(new math_ending_char_1.MathEndingCharacter(options.endingCharacter));\r\n }\r\n }\r\n}\r\nexports.MathBracketProperties = MathBracketProperties;\r\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(271));\r\n__export(__webpack_require__(43));\r\n__export(__webpack_require__(42));\r\n__export(__webpack_require__(106));\r\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst formatting_1 = __webpack_require__(51);\r\nconst properties_1 = __webpack_require__(21);\r\nconst properties_2 = __webpack_require__(9);\r\nvar LevelFormat;\r\n(function (LevelFormat) {\r\n LevelFormat[\"BULLET\"] = \"bullet\";\r\n LevelFormat[\"CARDINAL_TEXT\"] = \"cardinalText\";\r\n LevelFormat[\"CHICAGO\"] = \"chicago\";\r\n LevelFormat[\"DECIMAL\"] = \"decimal\";\r\n LevelFormat[\"DECIMAL_ENCLOSED_CIRCLE\"] = \"decimalEnclosedCircle\";\r\n LevelFormat[\"DECIMAL_ENCLOSED_FULLSTOP\"] = \"decimalEnclosedFullstop\";\r\n LevelFormat[\"DECIMAL_ENCLOSED_PARENTHESES\"] = \"decimalEnclosedParen\";\r\n LevelFormat[\"DECIMAL_ZERO\"] = \"decimalZero\";\r\n LevelFormat[\"LOWER_LETTER\"] = \"lowerLetter\";\r\n LevelFormat[\"LOWER_ROMAN\"] = \"lowerRoman\";\r\n LevelFormat[\"NONE\"] = \"none\";\r\n LevelFormat[\"ORDINAL_TEXT\"] = \"ordinalText\";\r\n LevelFormat[\"UPPER_LETTER\"] = \"upperLetter\";\r\n LevelFormat[\"UPPER_ROMAN\"] = \"upperRoman\";\r\n})(LevelFormat = exports.LevelFormat || (exports.LevelFormat = {}));\r\nclass LevelAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n ilvl: \"w:ilvl\",\r\n tentative: \"w15:tentative\",\r\n };\r\n }\r\n}\r\nclass Start extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:start\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nclass NumberFormat extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:numFmt\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nclass LevelText extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:lvlText\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nclass LevelJc extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:lvlJc\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nvar LevelSuffix;\r\n(function (LevelSuffix) {\r\n LevelSuffix[\"NOTHING\"] = \"nothing\";\r\n LevelSuffix[\"SPACE\"] = \"space\";\r\n LevelSuffix[\"TAB\"] = \"tab\";\r\n})(LevelSuffix = exports.LevelSuffix || (exports.LevelSuffix = {}));\r\nclass Suffix extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:suff\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nclass LevelBase extends xml_components_1.XmlComponent {\r\n constructor({ level, format, text, alignment = formatting_1.AlignmentType.START, start = 1, style, suffix }) {\r\n super(\"w:lvl\");\r\n this.root.push(new LevelAttributes({\r\n ilvl: level,\r\n tentative: 1,\r\n }));\r\n this.root.push(new Start(start));\r\n this.root.push(new LevelJc(alignment));\r\n if (format) {\r\n this.root.push(new NumberFormat(format));\r\n }\r\n if (text) {\r\n this.root.push(new LevelText(text));\r\n }\r\n this.paragraphProperties = new properties_1.ParagraphProperties(style && style.paragraph);\r\n this.runProperties = new properties_2.RunProperties(style && style.run);\r\n this.root.push(this.paragraphProperties);\r\n this.root.push(this.runProperties);\r\n if (suffix) {\r\n this.root.push(new Suffix(suffix));\r\n }\r\n }\r\n}\r\nexports.LevelBase = LevelBase;\r\nclass Level extends LevelBase {\r\n constructor(options) {\r\n super(options);\r\n }\r\n}\r\nexports.Level = Level;\r\nclass LevelForOverride extends LevelBase {\r\n}\r\nexports.LevelForOverride = LevelForOverride;\r\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nclass BaseXmlComponent {\r\n constructor(rootKey) {\r\n this.deleted = false;\r\n this.rootKey = rootKey;\r\n }\r\n get IsDeleted() {\r\n return this.deleted;\r\n }\r\n}\r\nexports.BaseXmlComponent = BaseXmlComponent;\r\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/*jslint node:true */\r\n\r\nvar xml2js = __webpack_require__(54);\r\nvar xml2json = __webpack_require__(156);\r\nvar js2xml = __webpack_require__(62);\r\nvar json2xml = __webpack_require__(157);\r\n\r\nmodule.exports = {\r\n xml2js: xml2js,\r\n xml2json: xml2json,\r\n js2xml: js2xml,\r\n json2xml: json2xml\r\n};\r\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction $getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return $getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = $getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) args.push(arguments[i]);\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n ReflectApply(this.listener, this.target, args);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(57);\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = __webpack_require__(29);\nexports.Duplex = __webpack_require__(5);\nexports.Transform = __webpack_require__(61);\nexports.PassThrough = __webpack_require__(151);\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process, setImmediate, global) {// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n\n\n/*<replacement>*/\n\nvar pna = __webpack_require__(15);\n/*</replacement>*/\n\nmodule.exports = Writable;\n\n/* <replacement> */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* </replacement> */\n\n/*<replacement>*/\nvar asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;\n/*</replacement>*/\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nWritable.WritableState = WritableState;\n\n/*<replacement>*/\nvar util = __webpack_require__(14);\nutil.inherits = __webpack_require__(7);\n/*</replacement>*/\n\n/*<replacement>*/\nvar internalUtil = {\n deprecate: __webpack_require__(150)\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = __webpack_require__(58);\n/*</replacement>*/\n\n/*<replacement>*/\n\nvar Buffer = __webpack_require__(16).Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/*</replacement>*/\n\nvar destroyImpl = __webpack_require__(59);\n\nutil.inherits(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream) {\n Duplex = Duplex || __webpack_require__(5);\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n var hwm = options.highWaterMark;\n var writableHwm = options.writableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function () {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function (object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function (object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || __webpack_require__(5);\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {\n return new Writable(options);\n }\n\n this._writableState = new WritableState(options, this);\n\n // legacy.\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n\n if (typeof options.writev === 'function') this._writev = options.writev;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n this.emit('error', new Error('Cannot pipe, not readable'));\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new Error('write after end');\n // TODO: defer error events consistently everywhere, not just the cb\n stream.emit('error', er);\n pna.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var valid = true;\n var er = false;\n\n if (chunk === null) {\n er = new TypeError('May not write null values to stream');\n } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n if (er) {\n stream.emit('error', er);\n pna.nextTick(cb, er);\n valid = false;\n }\n return valid;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n\n if (typeof cb !== 'function') cb = nop;\n\n if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n\n return ret;\n};\n\nWritable.prototype.cork = function () {\n var state = this._writableState;\n\n state.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n\n if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n\n state.length += len;\n\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n pna.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n pna.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n\n onwriteStateUpdate(state);\n\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state);\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n /*<replacement>*/\n asyncWrite(afterWrite, stream, state, finished, cb);\n /*</replacement>*/\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new Error('_write() is not implemented'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending && !state.finished) endWritable(this, state, cb);\n};\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n stream.emit('error', err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function') {\n state.pendingcb++;\n state.finalCalled = true;\n pna.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n }\n }\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n if (state.corkedRequestsFree) {\n state.corkedRequestsFree.next = corkReq;\n } else {\n state.corkedRequestsFree = corkReq;\n }\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n get: function () {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\n\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n this.end();\n cb(err);\n};\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(13), __webpack_require__(60).setImmediate, __webpack_require__(4)))\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n/*<replacement>*/\n\nvar Buffer = __webpack_require__(16).Buffer;\n/*</replacement>*/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isArray = __webpack_require__(32).isArray;\r\n\r\nmodule.exports = {\r\n\r\n copyOptions: function (options) {\r\n var key, copy = {};\r\n for (key in options) {\r\n if (options.hasOwnProperty(key)) {\r\n copy[key] = options[key];\r\n }\r\n }\r\n return copy;\r\n },\r\n\r\n ensureFlagExists: function (item, options) {\r\n if (!(item in options) || typeof options[item] !== 'boolean') {\r\n options[item] = false;\r\n }\r\n },\r\n\r\n ensureSpacesExists: function (options) {\r\n if (!('spaces' in options) || (typeof options.spaces !== 'number' && typeof options.spaces !== 'string')) {\r\n options.spaces = 0;\r\n }\r\n },\r\n\r\n ensureAlwaysArrayExists: function (options) {\r\n if (!('alwaysArray' in options) || (typeof options.alwaysArray !== 'boolean' && !isArray(options.alwaysArray))) {\r\n options.alwaysArray = false;\r\n }\r\n },\r\n\r\n ensureKeyExists: function (key, options) {\r\n if (!(key + 'Key' in options) || typeof options[key + 'Key'] !== 'string') {\r\n options[key + 'Key'] = options.compact ? '_' + key : key;\r\n }\r\n },\r\n\r\n checkFnExists: function (key, options) {\r\n return key + 'Fn' in options;\r\n }\r\n\r\n};\r\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\r\n\r\n isArray: function(value) {\r\n if (Array.isArray) {\r\n return Array.isArray(value);\r\n }\r\n // fallback for older browsers like IE 8\r\n return Object.prototype.toString.call( value ) === '[object Array]';\r\n }\r\n\r\n};\r\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar EmphasisMarkType;\r\n(function (EmphasisMarkType) {\r\n EmphasisMarkType[\"DOT\"] = \"dot\";\r\n})(EmphasisMarkType = exports.EmphasisMarkType || (exports.EmphasisMarkType = {}));\r\nclass BaseEmphasisMark extends xml_components_1.XmlComponent {\r\n constructor(emphasisMarkType) {\r\n super(\"w:em\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: emphasisMarkType,\r\n }));\r\n }\r\n}\r\nexports.BaseEmphasisMark = BaseEmphasisMark;\r\nclass EmphasisMark extends BaseEmphasisMark {\r\n constructor(emphasisMarkType = EmphasisMarkType.DOT) {\r\n super(emphasisMarkType);\r\n }\r\n}\r\nexports.EmphasisMark = EmphasisMark;\r\nclass DotEmphasisMark extends BaseEmphasisMark {\r\n constructor() {\r\n super(EmphasisMarkType.DOT);\r\n }\r\n}\r\nexports.DotEmphasisMark = DotEmphasisMark;\r\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass RunFontAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n ascii: \"w:ascii\",\r\n cs: \"w:cs\",\r\n eastAsia: \"w:eastAsia\",\r\n hAnsi: \"w:hAnsi\",\r\n hint: \"w:hint\",\r\n };\r\n }\r\n}\r\nclass RunFonts extends xml_components_1.XmlComponent {\r\n constructor(nameOrAttrs, hint) {\r\n super(\"w:rFonts\");\r\n if (typeof nameOrAttrs === \"string\") {\r\n const name = nameOrAttrs;\r\n this.root.push(new RunFontAttributes({\r\n ascii: name,\r\n cs: name,\r\n eastAsia: name,\r\n hAnsi: name,\r\n hint: hint,\r\n }));\r\n }\r\n else {\r\n const attrs = nameOrAttrs;\r\n this.root.push(new RunFontAttributes(attrs));\r\n }\r\n }\r\n}\r\nexports.RunFonts = RunFonts;\r\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar HorizontalPositionRelativeFrom;\r\n(function (HorizontalPositionRelativeFrom) {\r\n HorizontalPositionRelativeFrom[\"CHARACTER\"] = \"character\";\r\n HorizontalPositionRelativeFrom[\"COLUMN\"] = \"column\";\r\n HorizontalPositionRelativeFrom[\"INSIDE_MARGIN\"] = \"insideMargin\";\r\n HorizontalPositionRelativeFrom[\"LEFT_MARGIN\"] = \"leftMargin\";\r\n HorizontalPositionRelativeFrom[\"MARGIN\"] = \"margin\";\r\n HorizontalPositionRelativeFrom[\"OUTSIDE_MARGIN\"] = \"outsideMargin\";\r\n HorizontalPositionRelativeFrom[\"PAGE\"] = \"page\";\r\n HorizontalPositionRelativeFrom[\"RIGHT_MARGIN\"] = \"rightMargin\";\r\n})(HorizontalPositionRelativeFrom = exports.HorizontalPositionRelativeFrom || (exports.HorizontalPositionRelativeFrom = {}));\r\nvar VerticalPositionRelativeFrom;\r\n(function (VerticalPositionRelativeFrom) {\r\n VerticalPositionRelativeFrom[\"BOTTOM_MARGIN\"] = \"bottomMargin\";\r\n VerticalPositionRelativeFrom[\"INSIDE_MARGIN\"] = \"insideMargin\";\r\n VerticalPositionRelativeFrom[\"LINE\"] = \"line\";\r\n VerticalPositionRelativeFrom[\"MARGIN\"] = \"margin\";\r\n VerticalPositionRelativeFrom[\"OUTSIDE_MARGIN\"] = \"outsideMargin\";\r\n VerticalPositionRelativeFrom[\"PAGE\"] = \"page\";\r\n VerticalPositionRelativeFrom[\"PARAGRAPH\"] = \"paragraph\";\r\n VerticalPositionRelativeFrom[\"TOP_MARGIN\"] = \"topMargin\";\r\n})(VerticalPositionRelativeFrom = exports.VerticalPositionRelativeFrom || (exports.VerticalPositionRelativeFrom = {}));\r\nvar HorizontalPositionAlign;\r\n(function (HorizontalPositionAlign) {\r\n HorizontalPositionAlign[\"CENTER\"] = \"center\";\r\n HorizontalPositionAlign[\"INSIDE\"] = \"inside\";\r\n HorizontalPositionAlign[\"LEFT\"] = \"left\";\r\n HorizontalPositionAlign[\"OUTSIDE\"] = \"outside\";\r\n HorizontalPositionAlign[\"RIGHT\"] = \"right\";\r\n})(HorizontalPositionAlign = exports.HorizontalPositionAlign || (exports.HorizontalPositionAlign = {}));\r\nvar VerticalPositionAlign;\r\n(function (VerticalPositionAlign) {\r\n VerticalPositionAlign[\"BOTTOM\"] = \"bottom\";\r\n VerticalPositionAlign[\"CENTER\"] = \"center\";\r\n VerticalPositionAlign[\"INSIDE\"] = \"inside\";\r\n VerticalPositionAlign[\"OUTSIDE\"] = \"outside\";\r\n VerticalPositionAlign[\"TOP\"] = \"top\";\r\n})(VerticalPositionAlign = exports.VerticalPositionAlign || (exports.VerticalPositionAlign = {}));\r\n\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(200));\r\n__export(__webpack_require__(201));\r\n__export(__webpack_require__(202));\r\n__export(__webpack_require__(203));\r\n__export(__webpack_require__(204));\r\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(217));\r\n__export(__webpack_require__(219));\r\n__export(__webpack_require__(229));\r\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass CellBorderAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { style: \"w:val\", size: \"w:sz\", color: \"w:color\" };\r\n }\r\n}\r\nclass BaseTableCellBorder extends xml_components_1.XmlComponent {\r\n setProperties(style, size, color) {\r\n const attrs = new CellBorderAttributes({\r\n style: style,\r\n size: size,\r\n color: color,\r\n });\r\n this.root.push(attrs);\r\n return this;\r\n }\r\n}\r\nclass TableCellBorders extends xml_components_1.IgnoreIfEmptyXmlComponent {\r\n constructor() {\r\n super(\"w:tcBorders\");\r\n }\r\n addTopBorder(style, size, color) {\r\n const top = new BaseTableCellBorder(\"w:top\");\r\n top.setProperties(style, size, color);\r\n this.root.push(top);\r\n return this;\r\n }\r\n addStartBorder(style, size, color) {\r\n const start = new BaseTableCellBorder(\"w:start\");\r\n start.setProperties(style, size, color);\r\n this.root.push(start);\r\n return this;\r\n }\r\n addBottomBorder(style, size, color) {\r\n const bottom = new BaseTableCellBorder(\"w:bottom\");\r\n bottom.setProperties(style, size, color);\r\n this.root.push(bottom);\r\n return this;\r\n }\r\n addEndBorder(style, size, color) {\r\n const end = new BaseTableCellBorder(\"w:end\");\r\n end.setProperties(style, size, color);\r\n this.root.push(end);\r\n return this;\r\n }\r\n addLeftBorder(style, size, color) {\r\n const left = new BaseTableCellBorder(\"w:left\");\r\n left.setProperties(style, size, color);\r\n this.root.push(left);\r\n return this;\r\n }\r\n addRightBorder(style, size, color) {\r\n const right = new BaseTableCellBorder(\"w:right\");\r\n right.setProperties(style, size, color);\r\n this.root.push(right);\r\n return this;\r\n }\r\n}\r\nexports.TableCellBorders = TableCellBorders;\r\nclass GridSpanAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nclass GridSpan extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:gridSpan\");\r\n this.root.push(new GridSpanAttributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nexports.GridSpan = GridSpan;\r\nvar VerticalMergeType;\r\n(function (VerticalMergeType) {\r\n VerticalMergeType[\"CONTINUE\"] = \"continue\";\r\n VerticalMergeType[\"RESTART\"] = \"restart\";\r\n})(VerticalMergeType = exports.VerticalMergeType || (exports.VerticalMergeType = {}));\r\nclass VerticalMergeAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nclass VerticalMerge extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:vMerge\");\r\n this.root.push(new VerticalMergeAttributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nexports.VerticalMerge = VerticalMerge;\r\nvar VerticalAlign;\r\n(function (VerticalAlign) {\r\n VerticalAlign[\"BOTTOM\"] = \"bottom\";\r\n VerticalAlign[\"CENTER\"] = \"center\";\r\n VerticalAlign[\"TOP\"] = \"top\";\r\n})(VerticalAlign = exports.VerticalAlign || (exports.VerticalAlign = {}));\r\nclass VAlignAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nclass VAlign extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:vAlign\");\r\n this.root.push(new VAlignAttributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nexports.VAlign = VAlign;\r\nvar TextDirection;\r\n(function (TextDirection) {\r\n TextDirection[\"BOTTOM_TO_TOP_LEFT_TO_RIGHT\"] = \"btLr\";\r\n TextDirection[\"LEFT_TO_RIGHT_TOP_TO_BOTTOM\"] = \"lrTb\";\r\n TextDirection[\"TOP_TO_BOTTOM_RIGHT_TO_LEFT\"] = \"tbRl\";\r\n})(TextDirection = exports.TextDirection || (exports.TextDirection = {}));\r\nclass TDirectionAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nclass TDirection extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:textDirection\");\r\n this.root.push(new TDirectionAttributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nexports.TDirection = TDirection;\r\nvar WidthType;\r\n(function (WidthType) {\r\n WidthType[\"AUTO\"] = \"auto\";\r\n WidthType[\"DXA\"] = \"dxa\";\r\n WidthType[\"NIL\"] = \"nil\";\r\n WidthType[\"PERCENTAGE\"] = \"pct\";\r\n})(WidthType = exports.WidthType || (exports.WidthType = {}));\r\nclass TableCellWidthAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { width: \"w:w\", type: \"w:type\" };\r\n }\r\n}\r\nclass TableCellWidth extends xml_components_1.XmlComponent {\r\n constructor(value, type) {\r\n super(\"w:tcW\");\r\n this.root.push(new TableCellWidthAttributes({\r\n width: value,\r\n type: type,\r\n }));\r\n }\r\n}\r\nexports.TableCellWidth = TableCellWidth;\r\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(267));\r\n\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst components_1 = __webpack_require__(41);\r\nclass StyleAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n type: \"w:type\",\r\n styleId: \"w:styleId\",\r\n default: \"w:default\",\r\n customStyle: \"w:customStyle\",\r\n };\r\n }\r\n}\r\nclass Style extends xml_components_1.XmlComponent {\r\n constructor(attributes, name) {\r\n super(\"w:style\");\r\n this.root.push(new StyleAttributes(attributes));\r\n if (name) {\r\n this.root.push(new components_1.Name(name));\r\n }\r\n }\r\n}\r\nexports.Style = Style;\r\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass ComponentAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nclass Name extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:name\");\r\n this.root.push(new ComponentAttributes({ val: value }));\r\n }\r\n}\r\nexports.Name = Name;\r\nclass BasedOn extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:basedOn\");\r\n this.root.push(new ComponentAttributes({ val: value }));\r\n }\r\n}\r\nexports.BasedOn = BasedOn;\r\nclass Next extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:next\");\r\n this.root.push(new ComponentAttributes({ val: value }));\r\n }\r\n}\r\nexports.Next = Next;\r\nclass Link extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:link\");\r\n this.root.push(new ComponentAttributes({ val: value }));\r\n }\r\n}\r\nexports.Link = Link;\r\nclass UiPriority extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:uiPriority\");\r\n this.root.push(new ComponentAttributes({ val: value }));\r\n }\r\n}\r\nexports.UiPriority = UiPriority;\r\nclass UnhideWhenUsed extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:unhideWhenUsed\");\r\n }\r\n}\r\nexports.UnhideWhenUsed = UnhideWhenUsed;\r\nclass QuickFormat extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:qFormat\");\r\n }\r\n}\r\nexports.QuickFormat = QuickFormat;\r\nclass TableProperties extends xml_components_1.XmlComponent {\r\n}\r\nexports.TableProperties = TableProperties;\r\nclass RsId extends xml_components_1.XmlComponent {\r\n}\r\nexports.RsId = RsId;\r\nclass SemiHidden extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:semiHidden\");\r\n }\r\n}\r\nexports.SemiHidden = SemiHidden;\r\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst paragraph_1 = __webpack_require__(1);\r\nconst properties_1 = __webpack_require__(9);\r\nconst components_1 = __webpack_require__(41);\r\nconst style_1 = __webpack_require__(40);\r\nclass StyleForParagraph extends style_1.Style {\r\n constructor(options) {\r\n super({ type: \"paragraph\", styleId: options.id }, options.name);\r\n this.paragraphProperties = new paragraph_1.ParagraphProperties(options.paragraph);\r\n this.runProperties = new properties_1.RunProperties(options.run);\r\n this.root.push(this.paragraphProperties);\r\n this.root.push(this.runProperties);\r\n if (options.basedOn) {\r\n this.root.push(new components_1.BasedOn(options.basedOn));\r\n }\r\n if (options.next) {\r\n this.root.push(new components_1.Next(options.next));\r\n }\r\n if (options.quickFormat) {\r\n this.root.push(new components_1.QuickFormat());\r\n }\r\n if (options.link) {\r\n this.root.push(new components_1.Link(options.link));\r\n }\r\n if (options.semiHidden) {\r\n this.root.push(new components_1.SemiHidden());\r\n }\r\n if (options.uiPriority) {\r\n this.root.push(new components_1.UiPriority(options.uiPriority));\r\n }\r\n if (options.unhideWhenUsed) {\r\n this.root.push(new components_1.UnhideWhenUsed());\r\n }\r\n }\r\n}\r\nexports.StyleForParagraph = StyleForParagraph;\r\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst properties_1 = __webpack_require__(9);\r\nconst components_1 = __webpack_require__(41);\r\nconst style_1 = __webpack_require__(40);\r\nclass StyleForCharacter extends style_1.Style {\r\n constructor(options) {\r\n super({ type: \"character\", styleId: options.id }, options.name);\r\n this.runProperties = new properties_1.RunProperties(options.run);\r\n this.root.push(this.runProperties);\r\n this.root.push(new components_1.UiPriority(99));\r\n this.root.push(new components_1.UnhideWhenUsed());\r\n if (options.basedOn) {\r\n this.root.push(new components_1.BasedOn(options.basedOn));\r\n }\r\n if (options.link) {\r\n this.root.push(new components_1.Link(options.link));\r\n }\r\n if (options.semiHidden) {\r\n this.root.push(new components_1.SemiHidden());\r\n }\r\n }\r\n}\r\nexports.StyleForCharacter = StyleForCharacter;\r\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.convertMillimetersToTwip = (millimeters) => {\r\n return Math.floor((millimeters / 25.4) * 72 * 20);\r\n};\r\nexports.convertInchesToTwip = (inches) => {\r\n return Math.floor(inches * 72 * 20);\r\n};\r\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar PageOrientation;\r\n(function (PageOrientation) {\r\n PageOrientation[\"PORTRAIT\"] = \"portrait\";\r\n PageOrientation[\"LANDSCAPE\"] = \"landscape\";\r\n})(PageOrientation = exports.PageOrientation || (exports.PageOrientation = {}));\r\nclass PageSizeAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n width: \"w:w\",\r\n height: \"w:h\",\r\n orientation: \"w:orient\",\r\n };\r\n }\r\n}\r\nexports.PageSizeAttributes = PageSizeAttributes;\r\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst footer_1 = __webpack_require__(308);\r\nconst relationships_1 = __webpack_require__(47);\r\nclass FooterWrapper {\r\n constructor(media, referenceId, initContent) {\r\n this.media = media;\r\n this.footer = new footer_1.Footer(referenceId, initContent);\r\n this.relationships = new relationships_1.Relationships();\r\n }\r\n add(item) {\r\n this.footer.add(item);\r\n }\r\n addChildElement(childElement) {\r\n this.footer.addChildElement(childElement);\r\n }\r\n get Footer() {\r\n return this.footer;\r\n }\r\n get Relationships() {\r\n return this.relationships;\r\n }\r\n get Media() {\r\n return this.media;\r\n }\r\n}\r\nexports.FooterWrapper = FooterWrapper;\r\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(310));\r\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst relationship_attributes_1 = __webpack_require__(312);\r\nvar TargetModeType;\r\n(function (TargetModeType) {\r\n TargetModeType[\"EXTERNAL\"] = \"External\";\r\n})(TargetModeType = exports.TargetModeType || (exports.TargetModeType = {}));\r\nclass Relationship extends xml_components_1.XmlComponent {\r\n constructor(id, type, target, targetMode) {\r\n super(\"Relationship\");\r\n this.root.push(new relationship_attributes_1.RelationshipAttributes({\r\n id,\r\n type,\r\n target,\r\n targetMode,\r\n }));\r\n }\r\n}\r\nexports.Relationship = Relationship;\r\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst header_1 = __webpack_require__(326);\r\nconst relationships_1 = __webpack_require__(47);\r\nclass HeaderWrapper {\r\n constructor(media, referenceId, initContent) {\r\n this.media = media;\r\n this.header = new header_1.Header(referenceId, initContent);\r\n this.relationships = new relationships_1.Relationships();\r\n }\r\n add(item) {\r\n this.header.add(item);\r\n return this;\r\n }\r\n addChildElement(childElement) {\r\n this.header.addChildElement(childElement);\r\n }\r\n get Header() {\r\n return this.header;\r\n }\r\n get Relationships() {\r\n return this.relationships;\r\n }\r\n get Media() {\r\n return this.media;\r\n }\r\n}\r\nexports.HeaderWrapper = HeaderWrapper;\r\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(328));\r\n__export(__webpack_require__(329));\r\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(52));\r\n__export(__webpack_require__(63));\r\n__export(__webpack_require__(64));\r\n__export(__webpack_require__(65));\r\n__export(__webpack_require__(66));\r\n__export(__webpack_require__(82));\r\n__export(__webpack_require__(83));\r\n__export(__webpack_require__(84));\r\n__export(__webpack_require__(85));\r\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar AlignmentType;\r\n(function (AlignmentType) {\r\n AlignmentType[\"START\"] = \"start\";\r\n AlignmentType[\"END\"] = \"end\";\r\n AlignmentType[\"CENTER\"] = \"center\";\r\n AlignmentType[\"BOTH\"] = \"both\";\r\n AlignmentType[\"JUSTIFIED\"] = \"both\";\r\n AlignmentType[\"DISTRIBUTE\"] = \"distribute\";\r\n AlignmentType[\"LEFT\"] = \"left\";\r\n AlignmentType[\"RIGHT\"] = \"right\";\r\n})(AlignmentType = exports.AlignmentType || (exports.AlignmentType = {}));\r\nclass AlignmentAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nexports.AlignmentAttributes = AlignmentAttributes;\r\nclass Alignment extends xml_components_1.XmlComponent {\r\n constructor(type) {\r\n super(\"w:jc\");\r\n this.root.push(new AlignmentAttributes({ val: type }));\r\n }\r\n}\r\nexports.Alignment = Alignment;\r\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst base_1 = __webpack_require__(25);\r\nclass XmlAttributeComponent extends base_1.BaseXmlComponent {\r\n constructor(properties) {\r\n super(\"_attr\");\r\n this.root = properties;\r\n }\r\n prepForXml() {\r\n const attrs = {};\r\n Object.keys(this.root).forEach((key) => {\r\n const value = this.root[key];\r\n if (value !== undefined) {\r\n const newKey = (this.xmlKeys && this.xmlKeys[key]) || key;\r\n attrs[newKey] = value;\r\n }\r\n });\r\n return { _attr: attrs };\r\n }\r\n set(properties) {\r\n this.root = properties;\r\n }\r\n}\r\nexports.XmlAttributeComponent = XmlAttributeComponent;\r\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar sax = __webpack_require__(143);\r\nvar expat /*= require('node-expat');*/ = { on: function () { }, parse: function () { } };\r\nvar helper = __webpack_require__(31);\r\nvar isArray = __webpack_require__(32).isArray;\r\n\r\nvar options;\r\nvar pureJsParser = true;\r\nvar currentElement;\r\n\r\nfunction validateOptions(userOptions) {\r\n options = helper.copyOptions(userOptions);\r\n helper.ensureFlagExists('ignoreDeclaration', options);\r\n helper.ensureFlagExists('ignoreInstruction', options);\r\n helper.ensureFlagExists('ignoreAttributes', options);\r\n helper.ensureFlagExists('ignoreText', options);\r\n helper.ensureFlagExists('ignoreComment', options);\r\n helper.ensureFlagExists('ignoreCdata', options);\r\n helper.ensureFlagExists('ignoreDoctype', options);\r\n helper.ensureFlagExists('compact', options);\r\n helper.ensureFlagExists('alwaysChildren', options);\r\n helper.ensureFlagExists('addParent', options);\r\n helper.ensureFlagExists('trim', options);\r\n helper.ensureFlagExists('nativeType', options);\r\n helper.ensureFlagExists('nativeTypeAttributes', options);\r\n helper.ensureFlagExists('sanitize', options);\r\n helper.ensureFlagExists('instructionHasAttributes', options);\r\n helper.ensureFlagExists('captureSpacesBetweenElements', options);\r\n helper.ensureAlwaysArrayExists(options);\r\n helper.ensureKeyExists('declaration', options);\r\n helper.ensureKeyExists('instruction', options);\r\n helper.ensureKeyExists('attributes', options);\r\n helper.ensureKeyExists('text', options);\r\n helper.ensureKeyExists('comment', options);\r\n helper.ensureKeyExists('cdata', options);\r\n helper.ensureKeyExists('doctype', options);\r\n helper.ensureKeyExists('type', options);\r\n helper.ensureKeyExists('name', options);\r\n helper.ensureKeyExists('elements', options);\r\n helper.ensureKeyExists('parent', options);\r\n helper.checkFnExists('doctype', options);\r\n helper.checkFnExists('instruction', options);\r\n helper.checkFnExists('cdata', options);\r\n helper.checkFnExists('comment', options);\r\n helper.checkFnExists('text', options);\r\n helper.checkFnExists('instructionName', options);\r\n helper.checkFnExists('elementName', options);\r\n helper.checkFnExists('attributeName', options);\r\n helper.checkFnExists('attributeValue', options);\r\n helper.checkFnExists('attributes', options);\r\n return options;\r\n}\r\n\r\nfunction nativeType(value) {\r\n var nValue = Number(value);\r\n if (!isNaN(nValue)) {\r\n return nValue;\r\n }\r\n var bValue = value.toLowerCase();\r\n if (bValue === 'true') {\r\n return true;\r\n } else if (bValue === 'false') {\r\n return false;\r\n }\r\n return value;\r\n}\r\n\r\nfunction addField(type, value) {\r\n var key;\r\n if (options.compact) {\r\n if (\r\n !currentElement[options[type + 'Key']] &&\r\n (isArray(options.alwaysArray) ? options.alwaysArray.indexOf(options[type + 'Key']) !== -1 : options.alwaysArray)\r\n ) {\r\n currentElement[options[type + 'Key']] = [];\r\n }\r\n if (currentElement[options[type + 'Key']] && !isArray(currentElement[options[type + 'Key']])) {\r\n currentElement[options[type + 'Key']] = [currentElement[options[type + 'Key']]];\r\n }\r\n if (type + 'Fn' in options && typeof value === 'string') {\r\n value = options[type + 'Fn'](value, currentElement);\r\n }\r\n if (type === 'instruction' && ('instructionFn' in options || 'instructionNameFn' in options)) {\r\n for (key in value) {\r\n if (value.hasOwnProperty(key)) {\r\n if ('instructionFn' in options) {\r\n value[key] = options.instructionFn(value[key], key, currentElement);\r\n } else {\r\n var temp = value[key];\r\n delete value[key];\r\n value[options.instructionNameFn(key, temp, currentElement)] = temp;\r\n }\r\n }\r\n }\r\n }\r\n if (isArray(currentElement[options[type + 'Key']])) {\r\n currentElement[options[type + 'Key']].push(value);\r\n } else {\r\n currentElement[options[type + 'Key']] = value;\r\n }\r\n } else {\r\n if (!currentElement[options.elementsKey]) {\r\n currentElement[options.elementsKey] = [];\r\n }\r\n var element = {};\r\n element[options.typeKey] = type;\r\n if (type === 'instruction') {\r\n for (key in value) {\r\n if (value.hasOwnProperty(key)) {\r\n break;\r\n }\r\n }\r\n element[options.nameKey] = 'instructionNameFn' in options ? options.instructionNameFn(key, value, currentElement) : key;\r\n if (options.instructionHasAttributes) {\r\n element[options.attributesKey] = value[key][options.attributesKey];\r\n if ('instructionFn' in options) {\r\n element[options.attributesKey] = options.instructionFn(element[options.attributesKey], key, currentElement);\r\n }\r\n } else {\r\n if ('instructionFn' in options) {\r\n value[key] = options.instructionFn(value[key], key, currentElement);\r\n }\r\n element[options.instructionKey] = value[key];\r\n }\r\n } else {\r\n if (type + 'Fn' in options) {\r\n value = options[type + 'Fn'](value, currentElement);\r\n }\r\n element[options[type + 'Key']] = value;\r\n }\r\n if (options.addParent) {\r\n element[options.parentKey] = currentElement;\r\n }\r\n currentElement[options.elementsKey].push(element);\r\n }\r\n}\r\n\r\nfunction manipulateAttributes(attributes) {\r\n if ('attributesFn' in options && attributes) {\r\n attributes = options.attributesFn(attributes, currentElement);\r\n }\r\n if ((options.trim || 'attributeValueFn' in options || 'attributeNameFn' in options || options.nativeTypeAttributes) && attributes) {\r\n var key;\r\n for (key in attributes) {\r\n if (attributes.hasOwnProperty(key)) {\r\n if (options.trim) attributes[key] = attributes[key].trim();\r\n if (options.nativeTypeAttributes) {\r\n attributes[key] = nativeType(attributes[key]);\r\n }\r\n if ('attributeValueFn' in options) attributes[key] = options.attributeValueFn(attributes[key], key, currentElement);\r\n if ('attributeNameFn' in options) {\r\n var temp = attributes[key];\r\n delete attributes[key];\r\n attributes[options.attributeNameFn(key, attributes[key], currentElement)] = temp;\r\n }\r\n }\r\n }\r\n }\r\n return attributes;\r\n}\r\n\r\nfunction onInstruction(instruction) {\r\n var attributes = {};\r\n if (instruction.body && (instruction.name.toLowerCase() === 'xml' || options.instructionHasAttributes)) {\r\n var attrsRegExp = /([\\w:-]+)\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)'|(\\w+))\\s*/g;\r\n var match;\r\n while ((match = attrsRegExp.exec(instruction.body)) !== null) {\r\n attributes[match[1]] = match[2] || match[3] || match[4];\r\n }\r\n attributes = manipulateAttributes(attributes);\r\n }\r\n if (instruction.name.toLowerCase() === 'xml') {\r\n if (options.ignoreDeclaration) {\r\n return;\r\n }\r\n currentElement[options.declarationKey] = {};\r\n if (Object.keys(attributes).length) {\r\n currentElement[options.declarationKey][options.attributesKey] = attributes;\r\n }\r\n if (options.addParent) {\r\n currentElement[options.declarationKey][options.parentKey] = currentElement;\r\n }\r\n } else {\r\n if (options.ignoreInstruction) {\r\n return;\r\n }\r\n if (options.trim) {\r\n instruction.body = instruction.body.trim();\r\n }\r\n var value = {};\r\n if (options.instructionHasAttributes && Object.keys(attributes).length) {\r\n value[instruction.name] = {};\r\n value[instruction.name][options.attributesKey] = attributes;\r\n } else {\r\n value[instruction.name] = instruction.body;\r\n }\r\n addField('instruction', value);\r\n }\r\n}\r\n\r\nfunction onStartElement(name, attributes) {\r\n var element;\r\n if (typeof name === 'object') {\r\n attributes = name.attributes;\r\n name = name.name;\r\n }\r\n attributes = manipulateAttributes(attributes);\r\n if ('elementNameFn' in options) {\r\n name = options.elementNameFn(name, currentElement);\r\n }\r\n if (options.compact) {\r\n element = {};\r\n if (!options.ignoreAttributes && attributes && Object.keys(attributes).length) {\r\n element[options.attributesKey] = {};\r\n var key;\r\n for (key in attributes) {\r\n if (attributes.hasOwnProperty(key)) {\r\n element[options.attributesKey][key] = attributes[key];\r\n }\r\n }\r\n }\r\n if (\r\n !(name in currentElement) &&\r\n (isArray(options.alwaysArray) ? options.alwaysArray.indexOf(name) !== -1 : options.alwaysArray)\r\n ) {\r\n currentElement[name] = [];\r\n }\r\n if (currentElement[name] && !isArray(currentElement[name])) {\r\n currentElement[name] = [currentElement[name]];\r\n }\r\n if (isArray(currentElement[name])) {\r\n currentElement[name].push(element);\r\n } else {\r\n currentElement[name] = element;\r\n }\r\n } else {\r\n if (!currentElement[options.elementsKey]) {\r\n currentElement[options.elementsKey] = [];\r\n }\r\n element = {};\r\n element[options.typeKey] = 'element';\r\n element[options.nameKey] = name;\r\n if (!options.ignoreAttributes && attributes && Object.keys(attributes).length) {\r\n element[options.attributesKey] = attributes;\r\n }\r\n if (options.alwaysChildren) {\r\n element[options.elementsKey] = [];\r\n }\r\n currentElement[options.elementsKey].push(element);\r\n }\r\n element[options.parentKey] = currentElement; // will be deleted in onEndElement() if !options.addParent\r\n currentElement = element;\r\n}\r\n\r\nfunction onText(text) {\r\n if (options.ignoreText) {\r\n return;\r\n }\r\n if (!text.trim() && !options.captureSpacesBetweenElements) {\r\n return;\r\n }\r\n if (options.trim) {\r\n text = text.trim();\r\n }\r\n if (options.nativeType) {\r\n text = nativeType(text);\r\n }\r\n if (options.sanitize) {\r\n text = text.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');\r\n }\r\n addField('text', text);\r\n}\r\n\r\nfunction onComment(comment) {\r\n if (options.ignoreComment) {\r\n return;\r\n }\r\n if (options.trim) {\r\n comment = comment.trim();\r\n }\r\n addField('comment', comment);\r\n}\r\n\r\nfunction onEndElement(name) {\r\n var parentElement = currentElement[options.parentKey];\r\n if (!options.addParent) {\r\n delete currentElement[options.parentKey];\r\n }\r\n currentElement = parentElement;\r\n}\r\n\r\nfunction onCdata(cdata) {\r\n if (options.ignoreCdata) {\r\n return;\r\n }\r\n if (options.trim) {\r\n cdata = cdata.trim();\r\n }\r\n addField('cdata', cdata);\r\n}\r\n\r\nfunction onDoctype(doctype) {\r\n if (options.ignoreDoctype) {\r\n return;\r\n }\r\n doctype = doctype.replace(/^ /, '');\r\n if (options.trim) {\r\n doctype = doctype.trim();\r\n }\r\n addField('doctype', doctype);\r\n}\r\n\r\nfunction onError(error) {\r\n error.note = error; //console.error(error);\r\n}\r\n\r\nmodule.exports = function (xml, userOptions) {\r\n\r\n var parser = pureJsParser ? sax.parser(true, {}) : parser = new expat.Parser('UTF-8');\r\n var result = {};\r\n currentElement = result;\r\n\r\n options = validateOptions(userOptions);\r\n\r\n if (pureJsParser) {\r\n parser.opt = {strictEntities: true};\r\n parser.onopentag = onStartElement;\r\n parser.ontext = onText;\r\n parser.oncomment = onComment;\r\n parser.onclosetag = onEndElement;\r\n parser.onerror = onError;\r\n parser.oncdata = onCdata;\r\n parser.ondoctype = onDoctype;\r\n parser.onprocessinginstruction = onInstruction;\r\n } else {\r\n parser.on('startElement', onStartElement);\r\n parser.on('text', onText);\r\n parser.on('comment', onComment);\r\n parser.on('endElement', onEndElement);\r\n parser.on('error', onError);\r\n //parser.on('startCdata', onStartCdata);\r\n //parser.on('endCdata', onEndCdata);\r\n //parser.on('entityDecl', onEntityDecl);\r\n }\r\n\r\n if (pureJsParser) {\r\n parser.write(xml).close();\r\n } else {\r\n if (!parser.parse(xml)) {\r\n throw new Error('XML parsing error: ' + parser.getError());\r\n }\r\n }\r\n\r\n if (result[options.elementsKey]) {\r\n var temp = result[options.elementsKey];\r\n delete result[options.elementsKey];\r\n result[options.elementsKey] = temp;\r\n delete result.text;\r\n }\r\n\r\n return result;\r\n\r\n};\r\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = __webpack_require__(27).EventEmitter;\nvar inherits = __webpack_require__(7);\n\ninherits(Stream, EE);\nStream.Readable = __webpack_require__(28);\nStream.Writable = __webpack_require__(152);\nStream.Duplex = __webpack_require__(153);\nStream.Transform = __webpack_require__(154);\nStream.PassThrough = __webpack_require__(155);\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global, process) {// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n/*<replacement>*/\n\nvar pna = __webpack_require__(15);\n/*</replacement>*/\n\nmodule.exports = Readable;\n\n/*<replacement>*/\nvar isArray = __webpack_require__(55);\n/*</replacement>*/\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nReadable.ReadableState = ReadableState;\n\n/*<replacement>*/\nvar EE = __webpack_require__(27).EventEmitter;\n\nvar EElistenerCount = function (emitter, type) {\n return emitter.listeners(type).length;\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = __webpack_require__(58);\n/*</replacement>*/\n\n/*<replacement>*/\n\nvar Buffer = __webpack_require__(16).Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/*</replacement>*/\n\n/*<replacement>*/\nvar util = __webpack_require__(14);\nutil.inherits = __webpack_require__(7);\n/*</replacement>*/\n\n/*<replacement>*/\nvar debugUtil = __webpack_require__(146);\nvar debug = void 0;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function () {};\n}\n/*</replacement>*/\n\nvar BufferList = __webpack_require__(147);\nvar destroyImpl = __webpack_require__(59);\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream) {\n Duplex = Duplex || __webpack_require__(5);\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n var hwm = options.highWaterMark;\n var readableHwm = options.readableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = __webpack_require__(30).StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || __webpack_require__(5);\n\n if (!(this instanceof Readable)) return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\n\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n this.push(null);\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n stream.emit('error', new Error('stream.push() after EOF'));\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n }\n\n return needMoreData(state);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n stream.emit('data', chunk);\n stream.read(0);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = __webpack_require__(30).StringDecoder;\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n return this;\n};\n\n// Don't raise the hwm > 8MB\nvar MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n } else {\n state.length -= n;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n\n // emit 'readable' now to make sure it gets picked up.\n emitReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream);\n }\n}\n\nfunction emitReadable_(stream) {\n debug('emit readable');\n stream.emit('readable');\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n pna.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;else len = state.length;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn);\n\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n // If the user pushes more data while we're writing to dest then we'll end up\n // in ondata again. However, we only want to increase awaitDrain once because\n // dest will only emit one 'drain' event for the multiple writes.\n // => Introduce a guard on increasing awaitDrain.\n var increasedAwaitDrain = false;\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n increasedAwaitDrain = false;\n var ret = dest.write(chunk);\n if (false === ret && !increasedAwaitDrain) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', src._readableState.awaitDrain);\n src._readableState.awaitDrain++;\n increasedAwaitDrain = true;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function () {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = { hasUnpiped: false };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, unpipeInfo);\n }return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this, unpipeInfo);\n\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data') {\n // Start flowing on next tick if stream isn't explicitly paused\n if (this._readableState.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n var state = this._readableState;\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.emittedReadable = false;\n if (!state.reading) {\n pna.nextTick(nReadingNextTick, this);\n } else if (state.length) {\n emitReadable(this);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n state.flowing = true;\n resume(this, state);\n }\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n pna.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n if (!state.reading) {\n debug('resume read 0');\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n state.awaitDrain = 0;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (false !== this._readableState.flowing) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null) {}\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function (method) {\n return function () {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._readableState.highWaterMark;\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = fromListPartial(n, state.buffer, state.decoder);\n }\n\n return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n var ret;\n if (n < list.head.data.length) {\n // slice is the same for buffers and strings\n ret = list.head.data.slice(0, n);\n list.head.data = list.head.data.slice(n);\n } else if (n === list.head.data.length) {\n // first chunk is a perfect match\n ret = list.shift();\n } else {\n // result spans more than one buffer\n ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n }\n return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n var p = list.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n var ret = Buffer.allocUnsafe(n);\n var p = list.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\n if (!state.endEmitted) {\n state.ended = true;\n pna.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4), __webpack_require__(13)))\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(27).EventEmitter;\n\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*<replacement>*/\n\nvar pna = __webpack_require__(15);\n/*</replacement>*/\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err && (!this._writableState || !this._writableState.errorEmitted)) {\n pna.nextTick(emitErrorNT, this, err);\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n pna.nextTick(emitErrorNT, _this, err);\n if (_this._writableState) {\n _this._writableState.errorEmitted = true;\n }\n } else if (cb) {\n cb(err);\n }\n });\n\n return this;\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy\n};\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\n__webpack_require__(149);\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4)))\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n\n\nmodule.exports = Transform;\n\nvar Duplex = __webpack_require__(5);\n\n/*<replacement>*/\nvar util = __webpack_require__(14);\nutil.inherits = __webpack_require__(7);\n/*</replacement>*/\n\nutil.inherits(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n\n var cb = ts.writecb;\n\n if (!cb) {\n return this.emit('error', new Error('write callback called multiple times'));\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n\n cb(er);\n\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n\n Duplex.call(this, options);\n\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function') {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n throw new Error('_transform() is not implemented');\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n var _this2 = this;\n\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n _this2.emit('close');\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0');\n\n if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming');\n\n return stream.push(null);\n}\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar helper = __webpack_require__(31);\nvar isArray = __webpack_require__(32).isArray;\n\nvar currentElement, currentElementName;\n\nfunction validateOptions(userOptions) {\n var options = helper.copyOptions(userOptions);\n helper.ensureFlagExists('ignoreDeclaration', options);\n helper.ensureFlagExists('ignoreInstruction', options);\n helper.ensureFlagExists('ignoreAttributes', options);\n helper.ensureFlagExists('ignoreText', options);\n helper.ensureFlagExists('ignoreComment', options);\n helper.ensureFlagExists('ignoreCdata', options);\n helper.ensureFlagExists('ignoreDoctype', options);\n helper.ensureFlagExists('compact', options);\n helper.ensureFlagExists('indentText', options);\n helper.ensureFlagExists('indentCdata', options);\n helper.ensureFlagExists('indentAttributes', options);\n helper.ensureFlagExists('indentInstruction', options);\n helper.ensureFlagExists('fullTagEmptyElement', options);\n helper.ensureFlagExists('noQuotesForNativeAttributes', options);\n helper.ensureSpacesExists(options);\n if (typeof options.spaces === 'number') {\n options.spaces = Array(options.spaces + 1).join(' ');\n }\n helper.ensureKeyExists('declaration', options);\n helper.ensureKeyExists('instruction', options);\n helper.ensureKeyExists('attributes', options);\n helper.ensureKeyExists('text', options);\n helper.ensureKeyExists('comment', options);\n helper.ensureKeyExists('cdata', options);\n helper.ensureKeyExists('doctype', options);\n helper.ensureKeyExists('type', options);\n helper.ensureKeyExists('name', options);\n helper.ensureKeyExists('elements', options);\n helper.checkFnExists('doctype', options);\n helper.checkFnExists('instruction', options);\n helper.checkFnExists('cdata', options);\n helper.checkFnExists('comment', options);\n helper.checkFnExists('text', options);\n helper.checkFnExists('instructionName', options);\n helper.checkFnExists('elementName', options);\n helper.checkFnExists('attributeName', options);\n helper.checkFnExists('attributeValue', options);\n helper.checkFnExists('attributes', options);\n helper.checkFnExists('fullTagEmptyElement', options);\n return options;\n}\n\nfunction writeIndentation(options, depth, firstLine) {\n return (!firstLine && options.spaces ? '\\n' : '') + Array(depth + 1).join(options.spaces);\n}\n\nfunction writeAttributes(attributes, options, depth) {\n if (options.ignoreAttributes) {\n return '';\n }\n if ('attributesFn' in options) {\n attributes = options.attributesFn(attributes, currentElementName, currentElement);\n }\n var key, attr, attrName, quote, result = [];\n for (key in attributes) {\n if (attributes.hasOwnProperty(key) && attributes[key] !== null && attributes[key] !== undefined) {\n quote = options.noQuotesForNativeAttributes && typeof attributes[key] !== 'string' ? '' : '\"';\n attr = '' + attributes[key]; // ensure number and boolean are converted to String\n attr = attr.replace(/\"/g, '"');\n attrName = 'attributeNameFn' in options ? options.attributeNameFn(key, attr, currentElementName, currentElement) : key;\n result.push((options.spaces && options.indentAttributes? writeIndentation(options, depth+1, false) : ' '));\n result.push(attrName + '=' + quote + ('attributeValueFn' in options ? options.attributeValueFn(attr, key, currentElementName, currentElement) : attr) + quote);\n }\n }\n if (attributes && Object.keys(attributes).length && options.spaces && options.indentAttributes) {\n result.push(writeIndentation(options, depth, false));\n }\n return result.join('');\n}\n\nfunction writeDeclaration(declaration, options, depth) {\n currentElement = declaration;\n currentElementName = 'xml';\n return options.ignoreDeclaration ? '' : '<?' + 'xml' + writeAttributes(declaration[options.attributesKey], options, depth) + '?>';\n}\n\nfunction writeInstruction(instruction, options, depth) {\n if (options.ignoreInstruction) {\n return '';\n }\n var key;\n for (key in instruction) {\n if (instruction.hasOwnProperty(key)) {\n break;\n }\n }\n var instructionName = 'instructionNameFn' in options ? options.instructionNameFn(key, instruction[key], currentElementName, currentElement) : key;\n if (typeof instruction[key] === 'object') {\n currentElement = instruction;\n currentElementName = instructionName;\n return '<?' + instructionName + writeAttributes(instruction[key][options.attributesKey], options, depth) + '?>';\n } else {\n var instructionValue = instruction[key] ? instruction[key] : '';\n if ('instructionFn' in options) instructionValue = options.instructionFn(instructionValue, key, currentElementName, currentElement);\n return '<?' + instructionName + (instructionValue ? ' ' + instructionValue : '') + '?>';\n }\n}\n\nfunction writeComment(comment, options) {\n return options.ignoreComment ? '' : '<!--' + ('commentFn' in options ? options.commentFn(comment, currentElementName, currentElement) : comment) + '-->';\n}\n\nfunction writeCdata(cdata, options) {\n return options.ignoreCdata ? '' : '<![CDATA[' + ('cdataFn' in options ? options.cdataFn(cdata, currentElementName, currentElement) : cdata.replace(']]>', ']]]]><![CDATA[>')) + ']]>';\n}\n\nfunction writeDoctype(doctype, options) {\n return options.ignoreDoctype ? '' : '<!DOCTYPE ' + ('doctypeFn' in options ? options.doctypeFn(doctype, currentElementName, currentElement) : doctype) + '>';\n}\n\nfunction writeText(text, options) {\n if (options.ignoreText) return '';\n text = '' + text; // ensure Number and Boolean are converted to String\n text = text.replace(/&/g, '&'); // desanitize to avoid double sanitization\n text = text.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');\n return 'textFn' in options ? options.textFn(text, currentElementName, currentElement) : text;\n}\n\nfunction hasContent(element, options) {\n var i;\n if (element.elements && element.elements.length) {\n for (i = 0; i < element.elements.length; ++i) {\n switch (element.elements[i][options.typeKey]) {\n case 'text':\n if (options.indentText) {\n return true;\n }\n break; // skip to next key\n case 'cdata':\n if (options.indentCdata) {\n return true;\n }\n break; // skip to next key\n case 'instruction':\n if (options.indentInstruction) {\n return true;\n }\n break; // skip to next key\n case 'doctype':\n case 'comment':\n case 'element':\n return true;\n default:\n return true;\n }\n }\n }\n return false;\n}\n\nfunction writeElement(element, options, depth) {\n currentElement = element;\n currentElementName = element.name;\n var xml = [], elementName = 'elementNameFn' in options ? options.elementNameFn(element.name, element) : element.name;\n xml.push('<' + elementName);\n if (element[options.attributesKey]) {\n xml.push(writeAttributes(element[options.attributesKey], options, depth));\n }\n var withClosingTag = element[options.elementsKey] && element[options.elementsKey].length || element[options.attributesKey] && element[options.attributesKey]['xml:space'] === 'preserve';\n if (!withClosingTag) {\n if ('fullTagEmptyElementFn' in options) {\n withClosingTag = options.fullTagEmptyElementFn(element.name, element);\n } else {\n withClosingTag = options.fullTagEmptyElement;\n }\n }\n if (withClosingTag) {\n xml.push('>');\n if (element[options.elementsKey] && element[options.elementsKey].length) {\n xml.push(writeElements(element[options.elementsKey], options, depth + 1));\n currentElement = element;\n currentElementName = element.name;\n }\n xml.push(options.spaces && hasContent(element, options) ? '\\n' + Array(depth + 1).join(options.spaces) : '');\n xml.push('</' + elementName + '>');\n } else {\n xml.push('/>');\n }\n return xml.join('');\n}\n\nfunction writeElements(elements, options, depth, firstLine) {\n return elements.reduce(function (xml, element) {\n var indent = writeIndentation(options, depth, firstLine && !xml);\n switch (element.type) {\n case 'element': return xml + indent + writeElement(element, options, depth);\n case 'comment': return xml + indent + writeComment(element[options.commentKey], options);\n case 'doctype': return xml + indent + writeDoctype(element[options.doctypeKey], options);\n case 'cdata': return xml + (options.indentCdata ? indent : '') + writeCdata(element[options.cdataKey], options);\n case 'text': return xml + (options.indentText ? indent : '') + writeText(element[options.textKey], options);\n case 'instruction':\n var instruction = {};\n instruction[element[options.nameKey]] = element[options.attributesKey] ? element : element[options.instructionKey];\n return xml + (options.indentInstruction ? indent : '') + writeInstruction(instruction, options, depth);\n }\n }, '');\n}\n\nfunction hasContentCompact(element, options, anyContent) {\n var key;\n for (key in element) {\n if (element.hasOwnProperty(key)) {\n switch (key) {\n case options.parentKey:\n case options.attributesKey:\n break; // skip to next key\n case options.textKey:\n if (options.indentText || anyContent) {\n return true;\n }\n break; // skip to next key\n case options.cdataKey:\n if (options.indentCdata || anyContent) {\n return true;\n }\n break; // skip to next key\n case options.instructionKey:\n if (options.indentInstruction || anyContent) {\n return true;\n }\n break; // skip to next key\n case options.doctypeKey:\n case options.commentKey:\n return true;\n default:\n return true;\n }\n }\n }\n return false;\n}\n\nfunction writeElementCompact(element, name, options, depth, indent) {\n currentElement = element;\n currentElementName = name;\n var elementName = 'elementNameFn' in options ? options.elementNameFn(name, element) : name;\n if (typeof element === 'undefined' || element === null || element === '') {\n return 'fullTagEmptyElementFn' in options && options.fullTagEmptyElementFn(name, element) || options.fullTagEmptyElement ? '<' + elementName + '></' + elementName + '>' : '<' + elementName + '/>';\n }\n var xml = [];\n if (name) {\n xml.push('<' + elementName);\n if (typeof element !== 'object') {\n xml.push('>' + writeText(element,options) + '</' + elementName + '>');\n return xml.join('');\n }\n if (element[options.attributesKey]) {\n xml.push(writeAttributes(element[options.attributesKey], options, depth));\n }\n var withClosingTag = hasContentCompact(element, options, true) || element[options.attributesKey] && element[options.attributesKey]['xml:space'] === 'preserve';\n if (!withClosingTag) {\n if ('fullTagEmptyElementFn' in options) {\n withClosingTag = options.fullTagEmptyElementFn(name, element);\n } else {\n withClosingTag = options.fullTagEmptyElement;\n }\n }\n if (withClosingTag) {\n xml.push('>');\n } else {\n xml.push('/>');\n return xml.join('');\n }\n }\n xml.push(writeElementsCompact(element, options, depth + 1, false));\n currentElement = element;\n currentElementName = name;\n if (name) {\n xml.push((indent ? writeIndentation(options, depth, false) : '') + '</' + elementName + '>');\n }\n return xml.join('');\n}\n\nfunction writeElementsCompact(element, options, depth, firstLine) {\n var i, key, nodes, xml = [];\n for (key in element) {\n if (element.hasOwnProperty(key)) {\n nodes = isArray(element[key]) ? element[key] : [element[key]];\n for (i = 0; i < nodes.length; ++i) {\n switch (key) {\n case options.declarationKey: xml.push(writeDeclaration(nodes[i], options, depth)); break;\n case options.instructionKey: xml.push((options.indentInstruction ? writeIndentation(options, depth, firstLine) : '') + writeInstruction(nodes[i], options, depth)); break;\n case options.attributesKey: case options.parentKey: break; // skip\n case options.textKey: xml.push((options.indentText ? writeIndentation(options, depth, firstLine) : '') + writeText(nodes[i], options)); break;\n case options.cdataKey: xml.push((options.indentCdata ? writeIndentation(options, depth, firstLine) : '') + writeCdata(nodes[i], options)); break;\n case options.doctypeKey: xml.push(writeIndentation(options, depth, firstLine) + writeDoctype(nodes[i], options)); break;\n case options.commentKey: xml.push(writeIndentation(options, depth, firstLine) + writeComment(nodes[i], options)); break;\n default: xml.push(writeIndentation(options, depth, firstLine) + writeElementCompact(nodes[i], key, options, depth, hasContentCompact(nodes[i], options)));\n }\n firstLine = firstLine && !xml.length;\n }\n }\n }\n return xml.join('');\n}\n\nmodule.exports = function (js, options) {\n options = validateOptions(options);\n var xml = [];\n currentElement = js;\n currentElementName = '_root_';\n if (options.compact) {\n xml.push(writeElementsCompact(js, options, 0, true));\n } else {\n if (js[options.declarationKey]) {\n xml.push(writeDeclaration(js[options.declarationKey], options, 0));\n }\n if (js[options.elementsKey] && js[options.elementsKey].length) {\n xml.push(writeElements(js[options.elementsKey], options, 0, !xml.length));\n }\n }\n return xml.join('');\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst border_attributes_1 = __webpack_require__(160);\r\nclass BorderProperty extends xml_components_1.XmlComponent {\r\n constructor(rootKey, options = { color: \"auto\", space: 1, value: \"single\", size: 6 }) {\r\n super(rootKey);\r\n const attrs = new border_attributes_1.BorderAttributes({\r\n color: options.color,\r\n space: options.space,\r\n val: options.value,\r\n sz: options.size,\r\n });\r\n this.root.push(attrs);\r\n }\r\n}\r\nclass Border extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:pBdr\");\r\n if (options.top !== undefined) {\r\n const borderProperty = new BorderProperty(\"w:top\", options.top);\r\n this.root.push(borderProperty);\r\n }\r\n if (options.bottom !== undefined) {\r\n const borderProperty = new BorderProperty(\"w:bottom\", options.bottom);\r\n this.root.push(borderProperty);\r\n }\r\n if (options.left !== undefined) {\r\n const borderProperty = new BorderProperty(\"w:left\", options.left);\r\n this.root.push(borderProperty);\r\n }\r\n if (options.right !== undefined) {\r\n const borderProperty = new BorderProperty(\"w:right\", options.right);\r\n this.root.push(borderProperty);\r\n }\r\n }\r\n}\r\nexports.Border = Border;\r\nclass ThematicBreak extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:pBdr\");\r\n const bottom = new BorderProperty(\"w:bottom\", {\r\n color: \"auto\",\r\n space: 1,\r\n value: \"single\",\r\n size: 6,\r\n });\r\n this.root.push(bottom);\r\n }\r\n}\r\nexports.ThematicBreak = ThematicBreak;\r\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass IndentAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n left: \"w:left\",\r\n hanging: \"w:hanging\",\r\n firstLine: \"w:firstLine\",\r\n start: \"w:start\",\r\n end: \"w:end\",\r\n right: \"w:end\",\r\n };\r\n }\r\n}\r\nclass Indent extends xml_components_1.XmlComponent {\r\n constructor(attrs) {\r\n super(\"w:ind\");\r\n this.root.push(new IndentAttributes(attrs));\r\n }\r\n}\r\nexports.Indent = Indent;\r\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass KeepLines extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:keepLines\");\r\n }\r\n}\r\nexports.KeepLines = KeepLines;\r\nclass KeepNext extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:keepNext\");\r\n }\r\n}\r\nexports.KeepNext = KeepNext;\r\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst run_1 = __webpack_require__(3);\r\nclass Break extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:br\");\r\n this.root.push(new xml_components_1.Attributes({\r\n type: \"page\",\r\n }));\r\n }\r\n}\r\nclass PageBreak extends run_1.Run {\r\n constructor() {\r\n super({});\r\n this.root.push(new Break());\r\n }\r\n}\r\nexports.PageBreak = PageBreak;\r\nclass PageBreakBefore extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:pageBreakBefore\");\r\n }\r\n}\r\nexports.PageBreakBefore = PageBreakBefore;\r\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass Break extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:br\");\r\n }\r\n}\r\nexports.Break = Break;\r\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar underline_1 = __webpack_require__(19);\r\nexports.Underline = underline_1.Underline;\r\nvar emphasis_mark_1 = __webpack_require__(33);\r\nexports.EmphasisMark = emphasis_mark_1.EmphasisMark;\r\nvar script_1 = __webpack_require__(69);\r\nexports.SubScript = script_1.SubScript;\r\nexports.SuperScript = script_1.SuperScript;\r\nvar run_fonts_1 = __webpack_require__(34);\r\nexports.RunFonts = run_fonts_1.RunFonts;\r\nclass Bold extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:b\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.Bold = Bold;\r\nclass BoldComplexScript extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:bCs\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.BoldComplexScript = BoldComplexScript;\r\nclass CharacterSpacing extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:spacing\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nexports.CharacterSpacing = CharacterSpacing;\r\nclass Italics extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:i\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.Italics = Italics;\r\nclass ItalicsComplexScript extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:iCs\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.ItalicsComplexScript = ItalicsComplexScript;\r\nclass Caps extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:caps\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.Caps = Caps;\r\nclass Color extends xml_components_1.XmlComponent {\r\n constructor(color) {\r\n super(\"w:color\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: color,\r\n }));\r\n }\r\n}\r\nexports.Color = Color;\r\nclass DoubleStrike extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:dstrike\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.DoubleStrike = DoubleStrike;\r\nclass Emboss extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:emboss\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.Emboss = Emboss;\r\nclass Imprint extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:imprint\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.Imprint = Imprint;\r\nclass SmallCaps extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:smallCaps\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.SmallCaps = SmallCaps;\r\nclass Strike extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:strike\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.Strike = Strike;\r\nclass Size extends xml_components_1.XmlComponent {\r\n constructor(size) {\r\n super(\"w:sz\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: size,\r\n }));\r\n }\r\n}\r\nexports.Size = Size;\r\nclass SizeComplexScript extends xml_components_1.XmlComponent {\r\n constructor(size) {\r\n super(\"w:szCs\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: size,\r\n }));\r\n }\r\n}\r\nexports.SizeComplexScript = SizeComplexScript;\r\nclass RightToLeft extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:rtl\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.RightToLeft = RightToLeft;\r\nclass Highlight extends xml_components_1.XmlComponent {\r\n constructor(color) {\r\n super(\"w:highlight\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: color,\r\n }));\r\n }\r\n}\r\nexports.Highlight = Highlight;\r\nclass HighlightComplexScript extends xml_components_1.XmlComponent {\r\n constructor(color) {\r\n super(\"w:highlightCs\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: color,\r\n }));\r\n }\r\n}\r\nexports.HighlightComplexScript = HighlightComplexScript;\r\nclass Shading extends xml_components_1.XmlComponent {\r\n constructor(value, fill, color) {\r\n super(\"w:shd\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value,\r\n fill: fill,\r\n color: color,\r\n }));\r\n }\r\n}\r\nexports.Shading = Shading;\r\nclass ShadowComplexScript extends xml_components_1.XmlComponent {\r\n constructor(value, fill, color) {\r\n super(\"w:shdCs\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value,\r\n fill: fill,\r\n color: color,\r\n }));\r\n }\r\n}\r\nexports.ShadowComplexScript = ShadowComplexScript;\r\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass VerticalAlign extends xml_components_1.XmlComponent {\r\n constructor(type) {\r\n super(\"w:vertAlign\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: type,\r\n }));\r\n }\r\n}\r\nexports.VerticalAlign = VerticalAlign;\r\nclass SuperScript extends VerticalAlign {\r\n constructor() {\r\n super(\"superscript\");\r\n }\r\n}\r\nexports.SuperScript = SuperScript;\r\nclass SubScript extends VerticalAlign {\r\n constructor() {\r\n super(\"subscript\");\r\n }\r\n}\r\nexports.SubScript = SubScript;\r\n\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass StyleAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nclass Style extends xml_components_1.XmlComponent {\r\n constructor(styleId) {\r\n super(\"w:rStyle\");\r\n this.root.push(new StyleAttributes({ val: styleId }));\r\n }\r\n}\r\nexports.Style = Style;\r\n\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst space_type_1 = __webpack_require__(8);\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TextAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { space: \"xml:space\" };\r\n }\r\n}\r\nclass Text extends xml_components_1.XmlComponent {\r\n constructor(text) {\r\n super(\"w:t\");\r\n this.root.push(new TextAttributes({ space: space_type_1.SpaceType.PRESERVE }));\r\n this.root.push(text);\r\n }\r\n}\r\nexports.Text = Text;\r\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(166));\r\n__export(__webpack_require__(36));\r\n__export(__webpack_require__(73));\r\n\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(35));\r\n__export(__webpack_require__(169));\r\n__export(__webpack_require__(170));\r\n__export(__webpack_require__(171));\r\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass Align extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"wp:align\");\r\n this.root.push(value);\r\n }\r\n}\r\nexports.Align = Align;\r\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass PositionOffset extends xml_components_1.XmlComponent {\r\n constructor(offsetValue) {\r\n super(\"wp:posOffset\");\r\n this.root.push(offsetValue.toString());\r\n }\r\n}\r\nexports.PositionOffset = PositionOffset;\r\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(172));\r\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst doc_properties_attributes_1 = __webpack_require__(205);\r\nclass DocProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"wp:docPr\");\r\n this.root.push(new doc_properties_attributes_1.DocPropertiesAttributes({\r\n id: 0,\r\n name: \"\",\r\n descr: \"\",\r\n }));\r\n }\r\n}\r\nexports.DocProperties = DocProperties;\r\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst effect_extent_attributes_1 = __webpack_require__(206);\r\nclass EffectExtent extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"wp:effectExtent\");\r\n this.root.push(new effect_extent_attributes_1.EffectExtentAttributes({\r\n b: 0,\r\n l: 0,\r\n r: 0,\r\n t: 0,\r\n }));\r\n }\r\n}\r\nexports.EffectExtent = EffectExtent;\r\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst extent_attributes_1 = __webpack_require__(207);\r\nclass Extent extends xml_components_1.XmlComponent {\r\n constructor(x, y) {\r\n super(\"wp:extent\");\r\n this.attributes = new extent_attributes_1.ExtentAttributes({\r\n cx: x,\r\n cy: y,\r\n });\r\n this.root.push(this.attributes);\r\n }\r\n setXY(x, y) {\r\n this.attributes.set({\r\n cx: x,\r\n cy: y,\r\n });\r\n }\r\n}\r\nexports.Extent = Extent;\r\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst graphic_frame_locks_1 = __webpack_require__(208);\r\nclass GraphicFrameProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"wp:cNvGraphicFramePr\");\r\n this.root.push(new graphic_frame_locks_1.GraphicFrameLocks());\r\n }\r\n}\r\nexports.GraphicFrameProperties = GraphicFrameProperties;\r\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass AnchorAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n distT: \"distT\",\r\n distB: \"distB\",\r\n distL: \"distL\",\r\n distR: \"distR\",\r\n allowOverlap: \"allowOverlap\",\r\n behindDoc: \"behindDoc\",\r\n layoutInCell: \"layoutInCell\",\r\n locked: \"locked\",\r\n relativeHeight: \"relativeHeight\",\r\n simplePos: \"simplePos\",\r\n };\r\n }\r\n}\r\nexports.AnchorAttributes = AnchorAttributes;\r\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass SpacingAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n after: \"w:after\",\r\n before: \"w:before\",\r\n line: \"w:line\",\r\n lineRule: \"w:lineRule\",\r\n };\r\n }\r\n}\r\nclass Spacing extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:spacing\");\r\n this.root.push(new SpacingAttributes(options));\r\n }\r\n}\r\nexports.Spacing = Spacing;\r\nclass ContextualSpacing extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:contextualSpacing\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value === false ? 0 : 1,\r\n }));\r\n }\r\n}\r\nexports.ContextualSpacing = ContextualSpacing;\r\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar HeadingLevel;\r\n(function (HeadingLevel) {\r\n HeadingLevel[\"HEADING_1\"] = \"Heading1\";\r\n HeadingLevel[\"HEADING_2\"] = \"Heading2\";\r\n HeadingLevel[\"HEADING_3\"] = \"Heading3\";\r\n HeadingLevel[\"HEADING_4\"] = \"Heading4\";\r\n HeadingLevel[\"HEADING_5\"] = \"Heading5\";\r\n HeadingLevel[\"HEADING_6\"] = \"Heading6\";\r\n HeadingLevel[\"TITLE\"] = \"Title\";\r\n})(HeadingLevel = exports.HeadingLevel || (exports.HeadingLevel = {}));\r\nclass Style extends xml_components_1.XmlComponent {\r\n constructor(styleId) {\r\n super(\"w:pStyle\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: styleId,\r\n }));\r\n }\r\n}\r\nexports.Style = Style;\r\n\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TabStop extends xml_components_1.XmlComponent {\r\n constructor(type, position, leader) {\r\n super(\"w:tabs\");\r\n this.root.push(new TabStopItem(type, position, leader));\r\n }\r\n}\r\nexports.TabStop = TabStop;\r\nvar TabStopType;\r\n(function (TabStopType) {\r\n TabStopType[\"LEFT\"] = \"left\";\r\n TabStopType[\"RIGHT\"] = \"right\";\r\n TabStopType[\"CENTER\"] = \"center\";\r\n TabStopType[\"BAR\"] = \"bar\";\r\n TabStopType[\"CLEAR\"] = \"clear\";\r\n TabStopType[\"DECIMAL\"] = \"decimal\";\r\n TabStopType[\"END\"] = \"end\";\r\n TabStopType[\"NUM\"] = \"num\";\r\n TabStopType[\"START\"] = \"start\";\r\n})(TabStopType = exports.TabStopType || (exports.TabStopType = {}));\r\nvar LeaderType;\r\n(function (LeaderType) {\r\n LeaderType[\"DOT\"] = \"dot\";\r\n LeaderType[\"HYPHEN\"] = \"hyphen\";\r\n LeaderType[\"MIDDLE_DOT\"] = \"middleDot\";\r\n LeaderType[\"NONE\"] = \"none\";\r\n LeaderType[\"UNDERSCORE\"] = \"underscore\";\r\n})(LeaderType = exports.LeaderType || (exports.LeaderType = {}));\r\nvar TabStopPosition;\r\n(function (TabStopPosition) {\r\n TabStopPosition[TabStopPosition[\"MAX\"] = 9026] = \"MAX\";\r\n})(TabStopPosition = exports.TabStopPosition || (exports.TabStopPosition = {}));\r\nclass TabAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\", pos: \"w:pos\", leader: \"w:leader\" };\r\n }\r\n}\r\nexports.TabAttributes = TabAttributes;\r\nclass TabStopItem extends xml_components_1.XmlComponent {\r\n constructor(value, position, leader) {\r\n super(\"w:tab\");\r\n this.root.push(new TabAttributes({\r\n val: value,\r\n pos: position,\r\n leader,\r\n }));\r\n }\r\n}\r\nexports.TabStopItem = TabStopItem;\r\n\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass NumberProperties extends xml_components_1.XmlComponent {\r\n constructor(numberId, indentLevel) {\r\n super(\"w:numPr\");\r\n this.root.push(new IndentLevel(indentLevel));\r\n this.root.push(new NumberId(numberId));\r\n }\r\n}\r\nexports.NumberProperties = NumberProperties;\r\nclass IndentLevel extends xml_components_1.XmlComponent {\r\n constructor(level) {\r\n super(\"w:ilvl\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: level,\r\n }));\r\n }\r\n}\r\nclass NumberId extends xml_components_1.XmlComponent {\r\n constructor(id) {\r\n super(\"w:numId\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: typeof id === \"string\" ? `{${id}}` : id,\r\n }));\r\n }\r\n}\r\n\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nmodule.exports = __webpack_require__(220);\n\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathDenominator extends xml_components_1.XmlComponent {\r\n constructor(children) {\r\n super(\"m:den\");\r\n for (const child of children) {\r\n this.root.push(child);\r\n }\r\n }\r\n}\r\nexports.MathDenominator = MathDenominator;\r\n\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathNumerator extends xml_components_1.XmlComponent {\r\n constructor(children) {\r\n super(\"m:num\");\r\n for (const child of children) {\r\n this.root.push(child);\r\n }\r\n }\r\n}\r\nexports.MathNumerator = MathNumerator;\r\n\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathAccentCharacterAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { accent: \"m:val\" };\r\n }\r\n}\r\nclass MathAccentCharacter extends xml_components_1.XmlComponent {\r\n constructor(accent) {\r\n super(\"m:chr\");\r\n this.root.push(new MathAccentCharacterAttributes({ accent }));\r\n }\r\n}\r\nexports.MathAccentCharacter = MathAccentCharacter;\r\n\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathBase extends xml_components_1.XmlComponent {\r\n constructor(children) {\r\n super(\"m:e\");\r\n for (const child of children) {\r\n this.root.push(child);\r\n }\r\n }\r\n}\r\nexports.MathBase = MathBase;\r\n\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathLimitLocationAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { value: \"m:val\" };\r\n }\r\n}\r\nclass MathLimitLocation extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"m:limLoc\");\r\n this.root.push(new MathLimitLocationAttributes({ value: \"undOvr\" }));\r\n }\r\n}\r\nexports.MathLimitLocation = MathLimitLocation;\r\n\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst math_accent_character_1 = __webpack_require__(89);\r\nconst math_limit_location_1 = __webpack_require__(91);\r\nconst math_sub_script_hide_1 = __webpack_require__(237);\r\nconst math_super_script_hide_1 = __webpack_require__(238);\r\nclass MathNArayProperties extends xml_components_1.XmlComponent {\r\n constructor(accent, hasSuperScript, hasSubScript) {\r\n super(\"m:naryPr\");\r\n this.root.push(new math_accent_character_1.MathAccentCharacter(accent));\r\n this.root.push(new math_limit_location_1.MathLimitLocation());\r\n if (!hasSuperScript) {\r\n this.root.push(new math_super_script_hide_1.MathSuperScriptHide());\r\n }\r\n if (!hasSubScript) {\r\n this.root.push(new math_sub_script_hide_1.MathSubScriptHide());\r\n }\r\n }\r\n}\r\nexports.MathNArayProperties = MathNArayProperties;\r\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathSubScriptElement extends xml_components_1.XmlComponent {\r\n constructor(children) {\r\n super(\"m:sub\");\r\n for (const child of children) {\r\n this.root.push(child);\r\n }\r\n }\r\n}\r\nexports.MathSubScriptElement = MathSubScriptElement;\r\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathSuperScriptElement extends xml_components_1.XmlComponent {\r\n constructor(children) {\r\n super(\"m:sup\");\r\n for (const child of children) {\r\n this.root.push(child);\r\n }\r\n }\r\n}\r\nexports.MathSuperScriptElement = MathSuperScriptElement;\r\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathSuperScriptProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"m:sSupPr\");\r\n }\r\n}\r\nexports.MathSuperScriptProperties = MathSuperScriptProperties;\r\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathSubScriptProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"m:sSubPr\");\r\n }\r\n}\r\nexports.MathSubScriptProperties = MathSubScriptProperties;\r\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathSubSuperScriptProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"m:sSubSupPr\");\r\n }\r\n}\r\nexports.MathSubSuperScriptProperties = MathSubSuperScriptProperties;\r\n\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathPreSubSuperScriptProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"m:sPrePr\");\r\n }\r\n}\r\nexports.MathPreSubSuperScriptProperties = MathPreSubSuperScriptProperties;\r\n\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathDegree extends xml_components_1.XmlComponent {\r\n constructor(children) {\r\n super(\"m:deg\");\r\n if (!!children) {\r\n for (const child of children) {\r\n this.root.push(child);\r\n }\r\n }\r\n }\r\n}\r\nexports.MathDegree = MathDegree;\r\n\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst math_degree_hide_1 = __webpack_require__(252);\r\nclass MathRadicalProperties extends xml_components_1.XmlComponent {\r\n constructor(hasDegree) {\r\n super(\"m:radPr\");\r\n if (!hasDegree) {\r\n this.root.push(new math_degree_hide_1.MathDegreeHide());\r\n }\r\n }\r\n}\r\nexports.MathRadicalProperties = MathRadicalProperties;\r\n\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathFunctionName extends xml_components_1.XmlComponent {\r\n constructor(children) {\r\n super(\"m:fName\");\r\n for (const child of children) {\r\n this.root.push(child);\r\n }\r\n }\r\n}\r\nexports.MathFunctionName = MathFunctionName;\r\n\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathFunctionProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"m:funcPr\");\r\n }\r\n}\r\nexports.MathFunctionProperties = MathFunctionProperties;\r\n\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(270));\r\n__export(__webpack_require__(109));\r\n__export(__webpack_require__(111));\r\n__export(__webpack_require__(104));\r\n__export(__webpack_require__(110));\r\n\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst styles_1 = __webpack_require__(23);\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TableBorders extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:tblBorders\");\r\n if (options.top) {\r\n this.root.push(new TableBordersElement(\"w:top\", options.top.style, options.top.size, 0, options.top.color));\r\n }\r\n else {\r\n this.root.push(new TableBordersElement(\"w:top\", styles_1.BorderStyle.SINGLE, 4, 0, \"auto\"));\r\n }\r\n if (options.left) {\r\n this.root.push(new TableBordersElement(\"w:left\", options.left.style, options.left.size, 0, options.left.color));\r\n }\r\n else {\r\n this.root.push(new TableBordersElement(\"w:left\", styles_1.BorderStyle.SINGLE, 4, 0, \"auto\"));\r\n }\r\n if (options.bottom) {\r\n this.root.push(new TableBordersElement(\"w:bottom\", options.bottom.style, options.bottom.size, 0, options.bottom.color));\r\n }\r\n else {\r\n this.root.push(new TableBordersElement(\"w:bottom\", styles_1.BorderStyle.SINGLE, 4, 0, \"auto\"));\r\n }\r\n if (options.right) {\r\n this.root.push(new TableBordersElement(\"w:right\", options.right.style, options.right.size, 0, options.right.color));\r\n }\r\n else {\r\n this.root.push(new TableBordersElement(\"w:right\", styles_1.BorderStyle.SINGLE, 4, 0, \"auto\"));\r\n }\r\n if (options.insideHorizontal) {\r\n this.root.push(new TableBordersElement(\"w:insideH\", options.insideHorizontal.style, options.insideHorizontal.size, 0, options.insideHorizontal.color));\r\n }\r\n else {\r\n this.root.push(new TableBordersElement(\"w:insideH\", styles_1.BorderStyle.SINGLE, 4, 0, \"auto\"));\r\n }\r\n if (options.insideVertical) {\r\n this.root.push(new TableBordersElement(\"w:insideV\", options.insideVertical.style, options.insideVertical.size, 0, options.insideVertical.color));\r\n }\r\n else {\r\n this.root.push(new TableBordersElement(\"w:insideV\", styles_1.BorderStyle.SINGLE, 4, 0, \"auto\"));\r\n }\r\n }\r\n}\r\nTableBorders.NONE = {\r\n top: {\r\n style: styles_1.BorderStyle.NONE,\r\n size: 0,\r\n color: \"auto\",\r\n },\r\n bottom: {\r\n style: styles_1.BorderStyle.NONE,\r\n size: 0,\r\n color: \"auto\",\r\n },\r\n left: {\r\n style: styles_1.BorderStyle.NONE,\r\n size: 0,\r\n color: \"auto\",\r\n },\r\n right: {\r\n style: styles_1.BorderStyle.NONE,\r\n size: 0,\r\n color: \"auto\",\r\n },\r\n insideHorizontal: {\r\n style: styles_1.BorderStyle.NONE,\r\n size: 0,\r\n color: \"auto\",\r\n },\r\n insideVertical: {\r\n style: styles_1.BorderStyle.NONE,\r\n size: 0,\r\n color: \"auto\",\r\n },\r\n};\r\nexports.TableBorders = TableBorders;\r\nclass TableBordersElement extends xml_components_1.XmlComponent {\r\n constructor(elementName, value, size, space, color) {\r\n super(elementName);\r\n this.root.push(new TableBordersAttributes({\r\n value,\r\n size,\r\n space,\r\n color,\r\n }));\r\n }\r\n}\r\nclass TableBordersAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n value: \"w:val\",\r\n size: \"w:sz\",\r\n space: \"w:space\",\r\n color: \"w:color\",\r\n };\r\n }\r\n}\r\n\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(40));\r\n__export(__webpack_require__(42));\r\n__export(__webpack_require__(43));\r\n__export(__webpack_require__(272));\r\n\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(107));\r\n__export(__webpack_require__(108));\r\n__export(__webpack_require__(275));\r\n\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst properties_1 = __webpack_require__(21);\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass ParagraphPropertiesDefaults extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:pPrDefault\");\r\n this.root.push(new properties_1.ParagraphProperties(options));\r\n }\r\n}\r\nexports.ParagraphPropertiesDefaults = ParagraphPropertiesDefaults;\r\n\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst properties_1 = __webpack_require__(9);\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass RunPropertiesDefaults extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:rPrDefault\");\r\n this.properties = new properties_1.RunProperties(options);\r\n this.root.push(this.properties);\r\n }\r\n}\r\nexports.RunPropertiesDefaults = RunPropertiesDefaults;\r\n\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst table_overlap_1 = __webpack_require__(110);\r\nvar TableAnchorType;\r\n(function (TableAnchorType) {\r\n TableAnchorType[\"MARGIN\"] = \"margin\";\r\n TableAnchorType[\"PAGE\"] = \"page\";\r\n TableAnchorType[\"TEXT\"] = \"text\";\r\n})(TableAnchorType = exports.TableAnchorType || (exports.TableAnchorType = {}));\r\nvar RelativeHorizontalPosition;\r\n(function (RelativeHorizontalPosition) {\r\n RelativeHorizontalPosition[\"CENTER\"] = \"center\";\r\n RelativeHorizontalPosition[\"INSIDE\"] = \"inside\";\r\n RelativeHorizontalPosition[\"LEFT\"] = \"left\";\r\n RelativeHorizontalPosition[\"OUTSIDE\"] = \"outside\";\r\n RelativeHorizontalPosition[\"RIGHT\"] = \"right\";\r\n})(RelativeHorizontalPosition = exports.RelativeHorizontalPosition || (exports.RelativeHorizontalPosition = {}));\r\nvar RelativeVerticalPosition;\r\n(function (RelativeVerticalPosition) {\r\n RelativeVerticalPosition[\"CENTER\"] = \"center\";\r\n RelativeVerticalPosition[\"INSIDE\"] = \"inside\";\r\n RelativeVerticalPosition[\"BOTTOM\"] = \"bottom\";\r\n RelativeVerticalPosition[\"OUTSIDE\"] = \"outside\";\r\n RelativeVerticalPosition[\"INLINE\"] = \"inline\";\r\n RelativeVerticalPosition[\"TOP\"] = \"top\";\r\n})(RelativeVerticalPosition = exports.RelativeVerticalPosition || (exports.RelativeVerticalPosition = {}));\r\nclass TableFloatOptionsAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n horizontalAnchor: \"w:horzAnchor\",\r\n verticalAnchor: \"w:vertAnchor\",\r\n absoluteHorizontalPosition: \"w:tblpX\",\r\n relativeHorizontalPosition: \"w:tblpXSpec\",\r\n absoluteVerticalPosition: \"w:tblpY\",\r\n relativeVerticalPosition: \"w:tblpYSpec\",\r\n bottomFromText: \"w:bottomFromText\",\r\n topFromText: \"w:topFromText\",\r\n leftFromText: \"w:leftFromText\",\r\n rightFromText: \"w:rightFromText\",\r\n };\r\n }\r\n}\r\nexports.TableFloatOptionsAttributes = TableFloatOptionsAttributes;\r\nclass TableFloatProperties extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:tblpPr\");\r\n this.root.push(new TableFloatOptionsAttributes(options));\r\n if (options.overlap) {\r\n this.root.push(new table_overlap_1.TableOverlap(options.overlap));\r\n }\r\n }\r\n}\r\nexports.TableFloatProperties = TableFloatProperties;\r\n\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar OverlapType;\r\n(function (OverlapType) {\r\n OverlapType[\"NEVER\"] = \"never\";\r\n OverlapType[\"OVERLAP\"] = \"overlap\";\r\n})(OverlapType = exports.OverlapType || (exports.OverlapType = {}));\r\nclass TableOverlapAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nclass TableOverlap extends xml_components_1.XmlComponent {\r\n constructor(type) {\r\n super(\"w:tblOverlap\");\r\n this.root.push(new TableOverlapAttributes({ val: type }));\r\n }\r\n}\r\nexports.TableOverlap = TableOverlap;\r\n\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar TableLayoutType;\r\n(function (TableLayoutType) {\r\n TableLayoutType[\"AUTOFIT\"] = \"autofit\";\r\n TableLayoutType[\"FIXED\"] = \"fixed\";\r\n})(TableLayoutType = exports.TableLayoutType || (exports.TableLayoutType = {}));\r\nclass TableLayoutAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { type: \"w:type\" };\r\n }\r\n}\r\nclass TableLayout extends xml_components_1.XmlComponent {\r\n constructor(type) {\r\n super(\"w:tblLayout\");\r\n this.root.push(new TableLayoutAttributes({ type }));\r\n }\r\n}\r\nexports.TableLayout = TableLayout;\r\n\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst table_row_height_1 = __webpack_require__(113);\r\nclass TableRowProperties extends xml_components_1.IgnoreIfEmptyXmlComponent {\r\n constructor() {\r\n super(\"w:trPr\");\r\n }\r\n setCantSplit() {\r\n this.root.push(new CantSplit());\r\n return this;\r\n }\r\n setTableHeader() {\r\n this.root.push(new TableHeader());\r\n return this;\r\n }\r\n setHeight(height, rule) {\r\n this.root.push(new table_row_height_1.TableRowHeight(height, rule));\r\n return this;\r\n }\r\n}\r\nexports.TableRowProperties = TableRowProperties;\r\nclass CantSplitAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nclass CantSplit extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:cantSplit\");\r\n this.root.push(new CantSplitAttributes({ val: true }));\r\n }\r\n}\r\nexports.CantSplit = CantSplit;\r\nclass TableHeaderAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nclass TableHeader extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:tblHeader\");\r\n this.root.push(new TableHeaderAttributes({ val: true }));\r\n }\r\n}\r\nexports.TableHeader = TableHeader;\r\n\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar HeightRule;\r\n(function (HeightRule) {\r\n HeightRule[\"AUTO\"] = \"auto\";\r\n HeightRule[\"ATLEAST\"] = \"atLeast\";\r\n HeightRule[\"EXACT\"] = \"exact\";\r\n})(HeightRule = exports.HeightRule || (exports.HeightRule = {}));\r\nclass TableRowHeightAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { height: \"w:val\", rule: \"w:hRule\" };\r\n }\r\n}\r\nexports.TableRowHeightAttributes = TableRowHeightAttributes;\r\nclass TableRowHeight extends xml_components_1.XmlComponent {\r\n constructor(value, rule) {\r\n super(\"w:trHeight\");\r\n this.root.push(new TableRowHeightAttributes({\r\n height: value,\r\n rule: rule,\r\n }));\r\n }\r\n}\r\nexports.TableRowHeight = TableRowHeight;\r\n\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(292));\r\n__export(__webpack_require__(11));\r\n__export(__webpack_require__(115));\r\n__export(__webpack_require__(130));\r\n\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(293));\r\n__export(__webpack_require__(129));\r\n\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst convenience_functions_1 = __webpack_require__(44);\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst columns_1 = __webpack_require__(294);\r\nconst doc_grid_1 = __webpack_require__(296);\r\nconst footer_reference_1 = __webpack_require__(117);\r\nconst footer_reference_2 = __webpack_require__(118);\r\nconst header_reference_1 = __webpack_require__(120);\r\nconst header_reference_2 = __webpack_require__(121);\r\nconst line_number_1 = __webpack_require__(123);\r\nconst page_border_1 = __webpack_require__(124);\r\nconst page_margin_1 = __webpack_require__(300);\r\nconst page_number_1 = __webpack_require__(125);\r\nconst page_size_1 = __webpack_require__(126);\r\nconst page_size_attributes_1 = __webpack_require__(45);\r\nconst title_page_1 = __webpack_require__(303);\r\nconst vertical_align_1 = __webpack_require__(127);\r\nclass SectionProperties extends xml_components_1.XmlComponent {\r\n constructor(options = { column: {} }) {\r\n super(\"w:sectPr\");\r\n const { width = 11906, height = 16838, top = convenience_functions_1.convertInchesToTwip(1), right = convenience_functions_1.convertInchesToTwip(1), bottom = convenience_functions_1.convertInchesToTwip(1), left = convenience_functions_1.convertInchesToTwip(1), header = 708, footer = 708, gutter = 0, mirror = false, column = {}, linePitch = 360, orientation = page_size_attributes_1.PageOrientation.PORTRAIT, headers, footers, pageNumberFormatType, pageNumberStart, lineNumberCountBy, lineNumberStart, lineNumberRestart, lineNumberDistance, pageBorders, pageBorderTop, pageBorderRight, pageBorderBottom, pageBorderLeft, titlePage = false, verticalAlign, } = options;\r\n this.options = options;\r\n this.root.push(new page_size_1.PageSize(width, height, orientation));\r\n this.root.push(new page_margin_1.PageMargin(top, right, bottom, left, header, footer, gutter, mirror));\r\n this.root.push(new columns_1.Columns(column.space ? column.space : 708, column.count ? column.count : 1));\r\n this.root.push(new doc_grid_1.DocumentGrid(linePitch));\r\n this.addHeaders(headers);\r\n this.addFooters(footers);\r\n if (pageNumberStart || pageNumberFormatType) {\r\n this.root.push(new page_number_1.PageNumberType(pageNumberStart, pageNumberFormatType));\r\n }\r\n if (lineNumberCountBy || lineNumberStart || lineNumberRestart || lineNumberDistance) {\r\n this.root.push(new line_number_1.LineNumberType(lineNumberCountBy, lineNumberStart, lineNumberRestart, lineNumberDistance));\r\n }\r\n if (pageBorders || pageBorderTop || pageBorderRight || pageBorderBottom || pageBorderLeft) {\r\n this.root.push(new page_border_1.PageBorders({\r\n pageBorders: pageBorders,\r\n pageBorderTop: pageBorderTop,\r\n pageBorderRight: pageBorderRight,\r\n pageBorderBottom: pageBorderBottom,\r\n pageBorderLeft: pageBorderLeft,\r\n }));\r\n }\r\n if (titlePage) {\r\n this.root.push(new title_page_1.TitlePage());\r\n }\r\n if (verticalAlign) {\r\n this.root.push(new vertical_align_1.SectionVerticalAlign(verticalAlign));\r\n }\r\n }\r\n addHeaders(headers) {\r\n if (headers) {\r\n if (headers.default) {\r\n this.root.push(new header_reference_2.HeaderReference({\r\n headerType: header_reference_1.HeaderReferenceType.DEFAULT,\r\n headerId: headers.default.Header.ReferenceId,\r\n }));\r\n }\r\n if (headers.first) {\r\n this.root.push(new header_reference_2.HeaderReference({\r\n headerType: header_reference_1.HeaderReferenceType.FIRST,\r\n headerId: headers.first.Header.ReferenceId,\r\n }));\r\n }\r\n if (headers.even) {\r\n this.root.push(new header_reference_2.HeaderReference({\r\n headerType: header_reference_1.HeaderReferenceType.EVEN,\r\n headerId: headers.even.Header.ReferenceId,\r\n }));\r\n }\r\n }\r\n }\r\n addFooters(footers) {\r\n if (footers) {\r\n if (footers.default) {\r\n this.root.push(new footer_reference_2.FooterReference({\r\n footerType: footer_reference_1.FooterReferenceType.DEFAULT,\r\n footerId: footers.default.Footer.ReferenceId,\r\n }));\r\n }\r\n if (footers.first) {\r\n this.root.push(new footer_reference_2.FooterReference({\r\n footerType: footer_reference_1.FooterReferenceType.FIRST,\r\n footerId: footers.first.Footer.ReferenceId,\r\n }));\r\n }\r\n if (footers.even) {\r\n this.root.push(new footer_reference_2.FooterReference({\r\n footerType: footer_reference_1.FooterReferenceType.EVEN,\r\n footerId: footers.even.Footer.ReferenceId,\r\n }));\r\n }\r\n }\r\n }\r\n get Options() {\r\n return this.options;\r\n }\r\n}\r\nexports.SectionProperties = SectionProperties;\r\n\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(118));\r\n__export(__webpack_require__(119));\r\n\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst footer_reference_attributes_1 = __webpack_require__(119);\r\nclass FooterReference extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:footerReference\");\r\n this.root.push(new footer_reference_attributes_1.FooterReferenceAttributes({\r\n type: options.footerType || footer_reference_attributes_1.FooterReferenceType.DEFAULT,\r\n id: `rId${options.footerId}`,\r\n }));\r\n }\r\n}\r\nexports.FooterReference = FooterReference;\r\n\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar FooterReferenceType;\r\n(function (FooterReferenceType) {\r\n FooterReferenceType[\"DEFAULT\"] = \"default\";\r\n FooterReferenceType[\"FIRST\"] = \"first\";\r\n FooterReferenceType[\"EVEN\"] = \"even\";\r\n})(FooterReferenceType = exports.FooterReferenceType || (exports.FooterReferenceType = {}));\r\nclass FooterReferenceAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n type: \"w:type\",\r\n id: \"r:id\",\r\n };\r\n }\r\n}\r\nexports.FooterReferenceAttributes = FooterReferenceAttributes;\r\n\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(121));\r\n__export(__webpack_require__(122));\r\n\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst header_reference_attributes_1 = __webpack_require__(122);\r\nclass HeaderReference extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:headerReference\");\r\n this.root.push(new header_reference_attributes_1.HeaderReferenceAttributes({\r\n type: options.headerType || header_reference_attributes_1.HeaderReferenceType.DEFAULT,\r\n id: `rId${options.headerId}`,\r\n }));\r\n }\r\n}\r\nexports.HeaderReference = HeaderReference;\r\n\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar HeaderReferenceType;\r\n(function (HeaderReferenceType) {\r\n HeaderReferenceType[\"DEFAULT\"] = \"default\";\r\n HeaderReferenceType[\"FIRST\"] = \"first\";\r\n HeaderReferenceType[\"EVEN\"] = \"even\";\r\n})(HeaderReferenceType = exports.HeaderReferenceType || (exports.HeaderReferenceType = {}));\r\nclass HeaderReferenceAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n type: \"w:type\",\r\n id: \"r:id\",\r\n };\r\n }\r\n}\r\nexports.HeaderReferenceAttributes = HeaderReferenceAttributes;\r\n\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(298));\r\n\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(299));\r\n\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(302));\r\n\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst page_size_attributes_1 = __webpack_require__(45);\r\nclass PageSize extends xml_components_1.XmlComponent {\r\n constructor(width, height, orientation) {\r\n super(\"w:pgSz\");\r\n const flip = orientation === page_size_attributes_1.PageOrientation.LANDSCAPE;\r\n this.root.push(new page_size_attributes_1.PageSizeAttributes({\r\n width: flip ? height : width,\r\n height: flip ? width : height,\r\n orientation: orientation,\r\n }));\r\n }\r\n}\r\nexports.PageSize = PageSize;\r\n\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(305));\r\n__export(__webpack_require__(128));\r\n\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass SectionVerticalAlignAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n verticalAlign: \"w:val\",\r\n };\r\n }\r\n}\r\nexports.SectionVerticalAlignAttributes = SectionVerticalAlignAttributes;\r\n\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(116));\r\n__export(__webpack_require__(117));\r\n__export(__webpack_require__(120));\r\n__export(__webpack_require__(306));\r\n__export(__webpack_require__(125));\r\n__export(__webpack_require__(124));\r\n__export(__webpack_require__(123));\r\n__export(__webpack_require__(127));\r\n\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(307));\r\n\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(313));\r\n__export(__webpack_require__(323));\r\n\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nclass Header {\r\n constructor(options = { children: [] }) {\r\n this.options = options;\r\n }\r\n}\r\nexports.Header = Header;\r\nclass Footer {\r\n constructor(options = { children: [] }) {\r\n this.options = options;\r\n }\r\n}\r\nexports.Footer = Footer;\r\n\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(330));\r\n__export(__webpack_require__(134));\r\n__export(__webpack_require__(24));\r\n__export(__webpack_require__(135));\r\n\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst level_1 = __webpack_require__(24);\r\nconst multi_level_type_1 = __webpack_require__(331);\r\nclass AbstractNumberingAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n abstractNumId: \"w:abstractNumId\",\r\n restartNumberingAfterBreak: \"w15:restartNumberingAfterBreak\",\r\n };\r\n }\r\n}\r\nclass AbstractNumbering extends xml_components_1.XmlComponent {\r\n constructor(id, levelOptions) {\r\n super(\"w:abstractNum\");\r\n this.root.push(new AbstractNumberingAttributes({\r\n abstractNumId: id,\r\n restartNumberingAfterBreak: 0,\r\n }));\r\n this.root.push(new multi_level_type_1.MultiLevelType(\"hybridMultilevel\"));\r\n this.id = id;\r\n for (const option of levelOptions) {\r\n this.root.push(new level_1.Level(option));\r\n }\r\n }\r\n}\r\nexports.AbstractNumbering = AbstractNumbering;\r\n\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst level_1 = __webpack_require__(24);\r\nclass AbstractNumId extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:abstractNumId\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nclass NumAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { numId: \"w:numId\" };\r\n }\r\n}\r\nclass ConcreteNumbering extends xml_components_1.XmlComponent {\r\n constructor(numId, abstractNumId, reference) {\r\n super(\"w:num\");\r\n this.reference = reference;\r\n this.root.push(new NumAttributes({\r\n numId: numId,\r\n }));\r\n this.root.push(new AbstractNumId(abstractNumId));\r\n this.id = numId;\r\n }\r\n overrideLevel(num, start) {\r\n const olvl = new LevelOverride(num, start);\r\n this.root.push(olvl);\r\n return olvl;\r\n }\r\n}\r\nexports.ConcreteNumbering = ConcreteNumbering;\r\nclass LevelOverrideAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { ilvl: \"w:ilvl\" };\r\n }\r\n}\r\nclass LevelOverride extends xml_components_1.XmlComponent {\r\n constructor(levelNum, start) {\r\n super(\"w:lvlOverride\");\r\n this.levelNum = levelNum;\r\n this.root.push(new LevelOverrideAttributes({ ilvl: levelNum }));\r\n if (start !== undefined) {\r\n this.root.push(new StartOverride(start));\r\n }\r\n this.lvl = new level_1.LevelForOverride({\r\n level: this.levelNum,\r\n });\r\n this.root.push(this.lvl);\r\n }\r\n get Level() {\r\n return this.lvl;\r\n }\r\n}\r\nexports.LevelOverride = LevelOverride;\r\nclass StartOverrideAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nclass StartOverride extends xml_components_1.XmlComponent {\r\n constructor(start) {\r\n super(\"w:startOverride\");\r\n this.root.push(new StartOverrideAttributes({ val: start }));\r\n }\r\n}\r\n\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass UpdateFieldsAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n enabled: \"w:val\",\r\n };\r\n }\r\n}\r\nexports.UpdateFieldsAttributes = UpdateFieldsAttributes;\r\nclass UpdateFields extends xml_components_1.XmlComponent {\r\n constructor(enabled = true) {\r\n super(\"w:updateFields\");\r\n this.root.push(new UpdateFieldsAttributes({\r\n enabled,\r\n }));\r\n }\r\n}\r\nexports.UpdateFields = UpdateFields;\r\n\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass ChangeAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n id: \"w:id\",\r\n author: \"w:author\",\r\n date: \"w:date\",\r\n };\r\n }\r\n}\r\nexports.ChangeAttributes = ChangeAttributes;\r\n\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(Buffer, global, setImmediate) {var require;var require;/*!\n\nJSZip v3.5.0 - A JavaScript class for generating and reading zip files\n<http://stuartk.com/jszip>\n\n(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>\nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/master/LICENSE\n*/\n\n!function(t){if(true)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).JSZip=t()}}(function(){return function s(a,o,h){function u(r,t){if(!o[r]){if(!a[r]){var e=\"function\"==typeof require&&require;if(!t&&e)return require(r,!0);if(l)return l(r,!0);var i=new Error(\"Cannot find module '\"+r+\"'\");throw i.code=\"MODULE_NOT_FOUND\",i}var n=o[r]={exports:{}};a[r][0].call(n.exports,function(t){var e=a[r][1][t];return u(e||t)},n,n.exports,s,a,o,h)}return o[r].exports}for(var l=\"function\"==typeof require&&require,t=0;t<h.length;t++)u(h[t]);return u}({1:[function(t,e,r){\"use strict\";var c=t(\"./utils\"),d=t(\"./support\"),p=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";r.encode=function(t){for(var e,r,i,n,s,a,o,h=[],u=0,l=t.length,f=l,d=\"string\"!==c.getTypeOf(t);u<t.length;)f=l-u,i=d?(e=t[u++],r=u<l?t[u++]:0,u<l?t[u++]:0):(e=t.charCodeAt(u++),r=u<l?t.charCodeAt(u++):0,u<l?t.charCodeAt(u++):0),n=e>>2,s=(3&e)<<4|r>>4,a=1<f?(15&r)<<2|i>>6:64,o=2<f?63&i:64,h.push(p.charAt(n)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join(\"\")},r.decode=function(t){var e,r,i,n,s,a,o=0,h=0,u=\"data:\";if(t.substr(0,u.length)===u)throw new Error(\"Invalid base64 input, it looks like a data url.\");var l,f=3*(t=t.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\")).length/4;if(t.charAt(t.length-1)===p.charAt(64)&&f--,t.charAt(t.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error(\"Invalid base64 input, bad content length.\");for(l=d.uint8array?new Uint8Array(0|f):new Array(0|f);o<t.length;)e=p.indexOf(t.charAt(o++))<<2|(n=p.indexOf(t.charAt(o++)))>>4,r=(15&n)<<4|(s=p.indexOf(t.charAt(o++)))>>2,i=(3&s)<<6|(a=p.indexOf(t.charAt(o++))),l[h++]=e,64!==s&&(l[h++]=r),64!==a&&(l[h++]=i);return l}},{\"./support\":30,\"./utils\":32}],2:[function(t,e,r){\"use strict\";var i=t(\"./external\"),n=t(\"./stream/DataWorker\"),s=t(\"./stream/DataLengthProbe\"),a=t(\"./stream/Crc32Probe\");s=t(\"./stream/DataLengthProbe\");function o(t,e,r,i,n){this.compressedSize=t,this.uncompressedSize=e,this.crc32=r,this.compression=i,this.compressedContent=n}o.prototype={getContentWorker:function(){var t=new n(i.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new s(\"data_length\")),e=this;return t.on(\"end\",function(){if(this.streamInfo.data_length!==e.uncompressedSize)throw new Error(\"Bug : uncompressed data size mismatch\")}),t},getCompressedWorker:function(){return new n(i.Promise.resolve(this.compressedContent)).withStreamInfo(\"compressedSize\",this.compressedSize).withStreamInfo(\"uncompressedSize\",this.uncompressedSize).withStreamInfo(\"crc32\",this.crc32).withStreamInfo(\"compression\",this.compression)}},o.createWorkerFrom=function(t,e,r){return t.pipe(new a).pipe(new s(\"uncompressedSize\")).pipe(e.compressWorker(r)).pipe(new s(\"compressedSize\")).withStreamInfo(\"compression\",e)},e.exports=o},{\"./external\":6,\"./stream/Crc32Probe\":25,\"./stream/DataLengthProbe\":26,\"./stream/DataWorker\":27}],3:[function(t,e,r){\"use strict\";var i=t(\"./stream/GenericWorker\");r.STORE={magic:\"\\0\\0\",compressWorker:function(t){return new i(\"STORE compression\")},uncompressWorker:function(){return new i(\"STORE decompression\")}},r.DEFLATE=t(\"./flate\")},{\"./flate\":7,\"./stream/GenericWorker\":28}],4:[function(t,e,r){\"use strict\";var i=t(\"./utils\");var o=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e}();e.exports=function(t,e){return void 0!==t&&t.length?\"string\"!==i.getTypeOf(t)?function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a<s;a++)t=t>>>8^n[255&(t^e[a])];return-1^t}(0|e,t,t.length,0):function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a<s;a++)t=t>>>8^n[255&(t^e.charCodeAt(a))];return-1^t}(0|e,t,t.length,0):0}},{\"./utils\":32}],5:[function(t,e,r){\"use strict\";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(t,e,r){\"use strict\";var i=null;i=\"undefined\"!=typeof Promise?Promise:t(\"lie\"),e.exports={Promise:i}},{lie:37}],7:[function(t,e,r){\"use strict\";var i=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,n=t(\"pako\"),s=t(\"./utils\"),a=t(\"./stream/GenericWorker\"),o=i?\"uint8array\":\"array\";function h(t,e){a.call(this,\"FlateWorker/\"+t),this._pako=null,this._pakoAction=t,this._pakoOptions=e,this.meta={}}r.magic=\"\\b\\0\",s.inherits(h,a),h.prototype.processChunk=function(t){this.meta=t.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,t.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new n[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},r.compressWorker=function(t){return new h(\"Deflate\",t)},r.uncompressWorker=function(){return new h(\"Inflate\",{})}},{\"./stream/GenericWorker\":28,\"./utils\":32,pako:38}],8:[function(t,e,r){\"use strict\";function A(t,e){var r,i=\"\";for(r=0;r<e;r++)i+=String.fromCharCode(255&t),t>>>=8;return i}function i(t,e,r,i,n,s){var a,o,h=t.file,u=t.compression,l=s!==O.utf8encode,f=I.transformTo(\"string\",s(h.name)),d=I.transformTo(\"string\",O.utf8encode(h.name)),c=h.comment,p=I.transformTo(\"string\",s(c)),m=I.transformTo(\"string\",O.utf8encode(c)),_=d.length!==h.name.length,g=m.length!==c.length,b=\"\",v=\"\",y=\"\",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};e&&!r||(x.crc32=t.crc32,x.compressedSize=t.compressedSize,x.uncompressedSize=t.uncompressedSize);var S=0;e&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),\"UNIX\"===n?(C=798,z|=function(t,e){var r=t;return t||(r=e?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(t){return 63&(t||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+d,b+=\"up\"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+=\"uc\"+A(y.length,2)+y);var E=\"\";return E+=\"\\n\\0\",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+\"\\0\\0\\0\\0\"+A(z,4)+A(i,4)+f+b+p}}var I=t(\"../utils\"),n=t(\"../stream/GenericWorker\"),O=t(\"../utf8\"),B=t(\"../crc32\"),R=t(\"../signature\");function s(t,e,r,i){n.call(this,\"ZipFileWorker\"),this.bytesWritten=0,this.zipComment=e,this.zipPlatform=r,this.encodeFileName=i,this.streamFiles=t,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,n),s.prototype.push=function(t){var e=t.meta.percent||0,r=this.entriesCount,i=this._sources.length;this.accumulate?this.contentBuffer.push(t):(this.bytesWritten+=t.data.length,n.prototype.push.call(this,{data:t.data,meta:{currentFile:this.currentFile,percent:r?(e+100*(r-i-1))/r:100}}))},s.prototype.openedSource=function(t){this.currentSourceOffset=this.bytesWritten,this.currentFile=t.file.name;var e=this.streamFiles&&!t.file.dir;if(e){var r=i(t,e,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(t){this.accumulate=!1;var e=this.streamFiles&&!t.file.dir,r=i(t,e,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),e)this.push({data:function(t){return R.DATA_DESCRIPTOR+A(t.crc32,4)+A(t.compressedSize,4)+A(t.uncompressedSize,4)}(t),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var t=this.bytesWritten,e=0;e<this.dirRecords.length;e++)this.push({data:this.dirRecords[e],meta:{percent:100}});var r=this.bytesWritten-t,i=function(t,e,r,i,n){var s=I.transformTo(\"string\",n(i));return R.CENTRAL_DIRECTORY_END+\"\\0\\0\\0\\0\"+A(t,2)+A(t,2)+A(e,4)+A(r,4)+A(s.length,2)+s}(this.dirRecords.length,r,t,this.zipComment,this.encodeFileName);this.push({data:i,meta:{percent:100}})},s.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},s.prototype.registerPrevious=function(t){this._sources.push(t);var e=this;return t.on(\"data\",function(t){e.processChunk(t)}),t.on(\"end\",function(){e.closedSource(e.previous.streamInfo),e._sources.length?e.prepareNextSource():e.end()}),t.on(\"error\",function(t){e.error(t)}),this},s.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},s.prototype.error=function(t){var e=this._sources;if(!n.prototype.error.call(this,t))return!1;for(var r=0;r<e.length;r++)try{e[r].error(t)}catch(t){}return!0},s.prototype.lock=function(){n.prototype.lock.call(this);for(var t=this._sources,e=0;e<t.length;e++)t[e].lock()},e.exports=s},{\"../crc32\":4,\"../signature\":23,\"../stream/GenericWorker\":28,\"../utf8\":31,\"../utils\":32}],9:[function(t,e,r){\"use strict\";var u=t(\"../compressions\"),i=t(\"./ZipFileWorker\");r.generateWorker=function(t,a,e){var o=new i(a.streamFiles,e,a.platform,a.encodeFileName),h=0;try{t.forEach(function(t,e){h++;var r=function(t,e){var r=t||e,i=u[r];if(!i)throw new Error(r+\" is not a valid compression method !\");return i}(e.options.compression,a.compression),i=e.options.compressionOptions||a.compressionOptions||{},n=e.dir,s=e.date;e._compressWorker(r,i).withStreamInfo(\"file\",{name:t,dir:n,date:s,comment:e.comment||\"\",unixPermissions:e.unixPermissions,dosPermissions:e.dosPermissions}).pipe(o)}),o.entriesCount=h}catch(t){o.error(t)}return o}},{\"../compressions\":3,\"./ZipFileWorker\":8}],10:[function(t,e,r){\"use strict\";function i(){if(!(this instanceof i))return new i;if(arguments.length)throw new Error(\"The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.\");this.files={},this.comment=null,this.root=\"\",this.clone=function(){var t=new i;for(var e in this)\"function\"!=typeof this[e]&&(t[e]=this[e]);return t}}(i.prototype=t(\"./object\")).loadAsync=t(\"./load\"),i.support=t(\"./support\"),i.defaults=t(\"./defaults\"),i.version=\"3.5.0\",i.loadAsync=function(t,e){return(new i).loadAsync(t,e)},i.external=t(\"./external\"),e.exports=i},{\"./defaults\":5,\"./external\":6,\"./load\":11,\"./object\":15,\"./support\":30}],11:[function(t,e,r){\"use strict\";var i=t(\"./utils\"),n=t(\"./external\"),o=t(\"./utf8\"),h=(i=t(\"./utils\"),t(\"./zipEntries\")),s=t(\"./stream/Crc32Probe\"),u=t(\"./nodejsUtils\");function l(i){return new n.Promise(function(t,e){var r=i.decompressed.getContentWorker().pipe(new s);r.on(\"error\",function(t){e(t)}).on(\"end\",function(){r.streamInfo.crc32!==i.decompressed.crc32?e(new Error(\"Corrupted zip : CRC32 mismatch\")):t()}).resume()})}e.exports=function(t,s){var a=this;return s=i.extend(s||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:o.utf8decode}),u.isNode&&u.isStream(t)?n.Promise.reject(new Error(\"JSZip can't accept a stream when loading a zip file.\")):i.prepareContent(\"the loaded zip file\",t,!0,s.optimizedBinaryString,s.base64).then(function(t){var e=new h(s);return e.load(t),e}).then(function(t){var e=[n.Promise.resolve(t)],r=t.files;if(s.checkCRC32)for(var i=0;i<r.length;i++)e.push(l(r[i]));return n.Promise.all(e)}).then(function(t){for(var e=t.shift(),r=e.files,i=0;i<r.length;i++){var n=r[i];a.file(n.fileNameStr,n.decompressed,{binary:!0,optimizedBinaryString:!0,date:n.date,dir:n.dir,comment:n.fileCommentStr.length?n.fileCommentStr:null,unixPermissions:n.unixPermissions,dosPermissions:n.dosPermissions,createFolders:s.createFolders})}return e.zipComment.length&&(a.comment=e.zipComment),a})}},{\"./external\":6,\"./nodejsUtils\":14,\"./stream/Crc32Probe\":25,\"./utf8\":31,\"./utils\":32,\"./zipEntries\":33}],12:[function(t,e,r){\"use strict\";var i=t(\"../utils\"),n=t(\"../stream/GenericWorker\");function s(t,e){n.call(this,\"Nodejs stream input adapter for \"+t),this._upstreamEnded=!1,this._bindStream(e)}i.inherits(s,n),s.prototype._bindStream=function(t){var e=this;(this._stream=t).pause(),t.on(\"data\",function(t){e.push({data:t,meta:{percent:0}})}).on(\"error\",function(t){e.isPaused?this.generatedError=t:e.error(t)}).on(\"end\",function(){e.isPaused?e._upstreamEnded=!0:e.end()})},s.prototype.pause=function(){return!!n.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},e.exports=s},{\"../stream/GenericWorker\":28,\"../utils\":32}],13:[function(t,e,r){\"use strict\";var n=t(\"readable-stream\").Readable;function i(t,e,r){n.call(this,e),this._helper=t;var i=this;t.on(\"data\",function(t,e){i.push(t)||i._helper.pause(),r&&r(e)}).on(\"error\",function(t){i.emit(\"error\",t)}).on(\"end\",function(){i.push(null)})}t(\"../utils\").inherits(i,n),i.prototype._read=function(){this._helper.resume()},e.exports=i},{\"../utils\":32,\"readable-stream\":16}],14:[function(t,e,r){\"use strict\";e.exports={isNode:\"undefined\"!=typeof Buffer,newBufferFrom:function(t,e){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(t,e);if(\"number\"==typeof t)throw new Error('The \"data\" argument must not be a number');return new Buffer(t,e)},allocBuffer:function(t){if(Buffer.alloc)return Buffer.alloc(t);var e=new Buffer(t);return e.fill(0),e},isBuffer:function(t){return Buffer.isBuffer(t)},isStream:function(t){return t&&\"function\"==typeof t.on&&\"function\"==typeof t.pause&&\"function\"==typeof t.resume}}},{}],15:[function(t,e,r){\"use strict\";function s(t,e,r){var i,n=u.getTypeOf(e),s=u.extend(r||{},f);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),\"string\"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(t=g(t)),s.createFolders&&(i=_(t))&&b.call(this,i,!0);var a=\"string\"===n&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(e instanceof d&&0===e.uncompressedSize||s.dir||!e||0===e.length)&&(s.base64=!1,s.binary=!0,e=\"\",s.compression=\"STORE\",n=\"string\");var o=null;o=e instanceof d||e instanceof l?e:p.isNode&&p.isStream(e)?new m(t,e):u.prepareContent(t,e,s.binary,s.optimizedBinaryString,s.base64);var h=new c(t,o,s);this.files[t]=h}var n=t(\"./utf8\"),u=t(\"./utils\"),l=t(\"./stream/GenericWorker\"),a=t(\"./stream/StreamHelper\"),f=t(\"./defaults\"),d=t(\"./compressedObject\"),c=t(\"./zipObject\"),o=t(\"./generate\"),p=t(\"./nodejsUtils\"),m=t(\"./nodejs/NodejsStreamInputAdapter\"),_=function(t){\"/\"===t.slice(-1)&&(t=t.substring(0,t.length-1));var e=t.lastIndexOf(\"/\");return 0<e?t.substring(0,e):\"\"},g=function(t){return\"/\"!==t.slice(-1)&&(t+=\"/\"),t},b=function(t,e){return e=void 0!==e?e:f.createFolders,t=g(t),this.files[t]||s.call(this,t,null,{dir:!0,createFolders:e}),this.files[t]};function h(t){return\"[object RegExp]\"===Object.prototype.toString.call(t)}var i={load:function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},forEach:function(t){var e,r,i;for(e in this.files)this.files.hasOwnProperty(e)&&(i=this.files[e],(r=e.slice(this.root.length,e.length))&&e.slice(0,this.root.length)===this.root&&t(r,i))},filter:function(r){var i=[];return this.forEach(function(t,e){r(t,e)&&i.push(e)}),i},file:function(t,e,r){if(1!==arguments.length)return t=this.root+t,s.call(this,t,e,r),this;if(h(t)){var i=t;return this.filter(function(t,e){return!e.dir&&i.test(t)})}var n=this.files[this.root+t];return n&&!n.dir?n:null},folder:function(r){if(!r)return this;if(h(r))return this.filter(function(t,e){return e.dir&&r.test(t)});var t=this.root+r,e=b.call(this,t),i=this.clone();return i.root=e.name,i},remove:function(r){r=this.root+r;var t=this.files[r];if(t||(\"/\"!==r.slice(-1)&&(r+=\"/\"),t=this.files[r]),t&&!t.dir)delete this.files[r];else for(var e=this.filter(function(t,e){return e.name.slice(0,r.length)===r}),i=0;i<e.length;i++)delete this.files[e[i].name];return this},generate:function(t){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},generateInternalStream:function(t){var e,r={};try{if((r=u.extend(t||{},{streamFiles:!1,compression:\"STORE\",compressionOptions:null,type:\"\",platform:\"DOS\",comment:null,mimeType:\"application/zip\",encodeFileName:n.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),\"binarystring\"===r.type&&(r.type=\"string\"),!r.type)throw new Error(\"No output type specified.\");u.checkSupport(r.type),\"darwin\"!==r.platform&&\"freebsd\"!==r.platform&&\"linux\"!==r.platform&&\"sunos\"!==r.platform||(r.platform=\"UNIX\"),\"win32\"===r.platform&&(r.platform=\"DOS\");var i=r.comment||this.comment||\"\";e=o.generateWorker(this,r,i)}catch(t){(e=new l(\"error\")).error(t)}return new a(e,r.type||\"string\",r.mimeType)},generateAsync:function(t,e){return this.generateInternalStream(t).accumulate(e)},generateNodeStream:function(t,e){return(t=t||{}).type||(t.type=\"nodebuffer\"),this.generateInternalStream(t).toNodejsStream(e)}};e.exports=i},{\"./compressedObject\":2,\"./defaults\":5,\"./generate\":9,\"./nodejs/NodejsStreamInputAdapter\":12,\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31,\"./utils\":32,\"./zipObject\":35}],16:[function(t,e,r){e.exports=t(\"stream\")},{stream:void 0}],17:[function(t,e,r){\"use strict\";var i=t(\"./DataReader\");function n(t){i.call(this,t);for(var e=0;e<this.data.length;e++)t[e]=255&t[e]}t(\"../utils\").inherits(n,i),n.prototype.byteAt=function(t){return this.data[this.zero+t]},n.prototype.lastIndexOfSignature=function(t){for(var e=t.charCodeAt(0),r=t.charCodeAt(1),i=t.charCodeAt(2),n=t.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===e&&this.data[s+1]===r&&this.data[s+2]===i&&this.data[s+3]===n)return s-this.zero;return-1},n.prototype.readAndCheckSignature=function(t){var e=t.charCodeAt(0),r=t.charCodeAt(1),i=t.charCodeAt(2),n=t.charCodeAt(3),s=this.readData(4);return e===s[0]&&r===s[1]&&i===s[2]&&n===s[3]},n.prototype.readData=function(t){if(this.checkOffset(t),0===t)return[];var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{\"../utils\":32,\"./DataReader\":18}],18:[function(t,e,r){\"use strict\";var i=t(\"../utils\");function n(t){this.data=t,this.length=t.length,this.index=0,this.zero=0}n.prototype={checkOffset:function(t){this.checkIndex(this.index+t)},checkIndex:function(t){if(this.length<this.zero+t||t<0)throw new Error(\"End of data reached (data length = \"+this.length+\", asked index = \"+t+\"). Corrupted zip ?\")},setIndex:function(t){this.checkIndex(t),this.index=t},skip:function(t){this.setIndex(this.index+t)},byteAt:function(t){},readInt:function(t){var e,r=0;for(this.checkOffset(t),e=this.index+t-1;e>=this.index;e--)r=(r<<8)+this.byteAt(e);return this.index+=t,r},readString:function(t){return i.transformTo(\"string\",this.readData(t))},readData:function(t){},lastIndexOfSignature:function(t){},readAndCheckSignature:function(t){},readDate:function(){var t=this.readInt(4);return new Date(Date.UTC(1980+(t>>25&127),(t>>21&15)-1,t>>16&31,t>>11&31,t>>5&63,(31&t)<<1))}},e.exports=n},{\"../utils\":32}],19:[function(t,e,r){\"use strict\";var i=t(\"./Uint8ArrayReader\");function n(t){i.call(this,t)}t(\"../utils\").inherits(n,i),n.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{\"../utils\":32,\"./Uint8ArrayReader\":21}],20:[function(t,e,r){\"use strict\";var i=t(\"./DataReader\");function n(t){i.call(this,t)}t(\"../utils\").inherits(n,i),n.prototype.byteAt=function(t){return this.data.charCodeAt(this.zero+t)},n.prototype.lastIndexOfSignature=function(t){return this.data.lastIndexOf(t)-this.zero},n.prototype.readAndCheckSignature=function(t){return t===this.readData(4)},n.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{\"../utils\":32,\"./DataReader\":18}],21:[function(t,e,r){\"use strict\";var i=t(\"./ArrayReader\");function n(t){i.call(this,t)}t(\"../utils\").inherits(n,i),n.prototype.readData=function(t){if(this.checkOffset(t),0===t)return new Uint8Array(0);var e=this.data.subarray(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{\"../utils\":32,\"./ArrayReader\":17}],22:[function(t,e,r){\"use strict\";var i=t(\"../utils\"),n=t(\"../support\"),s=t(\"./ArrayReader\"),a=t(\"./StringReader\"),o=t(\"./NodeBufferReader\"),h=t(\"./Uint8ArrayReader\");e.exports=function(t){var e=i.getTypeOf(t);return i.checkSupport(e),\"string\"!==e||n.uint8array?\"nodebuffer\"===e?new o(t):n.uint8array?new h(i.transformTo(\"uint8array\",t)):new s(i.transformTo(\"array\",t)):new a(t)}},{\"../support\":30,\"../utils\":32,\"./ArrayReader\":17,\"./NodeBufferReader\":19,\"./StringReader\":20,\"./Uint8ArrayReader\":21}],23:[function(t,e,r){\"use strict\";r.LOCAL_FILE_HEADER=\"PK\u0003\u0004\",r.CENTRAL_FILE_HEADER=\"PK\u0001\u0002\",r.CENTRAL_DIRECTORY_END=\"PK\u0005\u0006\",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR=\"PK\u0006\u0007\",r.ZIP64_CENTRAL_DIRECTORY_END=\"PK\u0006\u0006\",r.DATA_DESCRIPTOR=\"PK\u0007\\b\"},{}],24:[function(t,e,r){\"use strict\";var i=t(\"./GenericWorker\"),n=t(\"../utils\");function s(t){i.call(this,\"ConvertWorker to \"+t),this.destType=t}n.inherits(s,i),s.prototype.processChunk=function(t){this.push({data:n.transformTo(this.destType,t.data),meta:t.meta})},e.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],25:[function(t,e,r){\"use strict\";var i=t(\"./GenericWorker\"),n=t(\"../crc32\");function s(){i.call(this,\"Crc32Probe\"),this.withStreamInfo(\"crc32\",0)}t(\"../utils\").inherits(s,i),s.prototype.processChunk=function(t){this.streamInfo.crc32=n(t.data,this.streamInfo.crc32||0),this.push(t)},e.exports=s},{\"../crc32\":4,\"../utils\":32,\"./GenericWorker\":28}],26:[function(t,e,r){\"use strict\";var i=t(\"../utils\"),n=t(\"./GenericWorker\");function s(t){n.call(this,\"DataLengthProbe for \"+t),this.propName=t,this.withStreamInfo(t,0)}i.inherits(s,n),s.prototype.processChunk=function(t){if(t){var e=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=e+t.data.length}n.prototype.processChunk.call(this,t)},e.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],27:[function(t,e,r){\"use strict\";var i=t(\"../utils\"),n=t(\"./GenericWorker\");function s(t){n.call(this,\"DataWorker\");var e=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type=\"\",this._tickScheduled=!1,t.then(function(t){e.dataIsReady=!0,e.data=t,e.max=t&&t.length||0,e.type=i.getTypeOf(t),e.isPaused||e._tickAndRepeat()},function(t){e.error(t)})}i.inherits(s,n),s.prototype.cleanUp=function(){n.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,i.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(i.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var t=null,e=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case\"string\":t=this.data.substring(this.index,e);break;case\"uint8array\":t=this.data.subarray(this.index,e);break;case\"array\":case\"nodebuffer\":t=this.data.slice(this.index,e)}return this.index=e,this.push({data:t,meta:{percent:this.max?this.index/this.max*100:0}})},e.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],28:[function(t,e,r){\"use strict\";function i(t){this.name=t||\"default\",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}i.prototype={push:function(t){this.emit(\"data\",t)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit(\"end\"),this.cleanUp(),this.isFinished=!0}catch(t){this.emit(\"error\",t)}return!0},error:function(t){return!this.isFinished&&(this.isPaused?this.generatedError=t:(this.isFinished=!0,this.emit(\"error\",t),this.previous&&this.previous.error(t),this.cleanUp()),!0)},on:function(t,e){return this._listeners[t].push(e),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(t,e){if(this._listeners[t])for(var r=0;r<this._listeners[t].length;r++)this._listeners[t][r].call(this,e)},pipe:function(t){return t.registerPrevious(this)},registerPrevious:function(t){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.streamInfo=t.streamInfo,this.mergeStreamInfo(),this.previous=t;var e=this;return t.on(\"data\",function(t){e.processChunk(t)}),t.on(\"end\",function(){e.end()}),t.on(\"error\",function(t){e.error(t)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var t=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),t=!0),this.previous&&this.previous.resume(),!t},flush:function(){},processChunk:function(t){this.push(t)},withStreamInfo:function(t,e){return this.extraStreamInfo[t]=e,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var t in this.extraStreamInfo)this.extraStreamInfo.hasOwnProperty(t)&&(this.streamInfo[t]=this.extraStreamInfo[t])},lock:function(){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var t=\"Worker \"+this.name;return this.previous?this.previous+\" -> \"+t:t}},e.exports=i},{}],29:[function(t,e,r){\"use strict\";var h=t(\"../utils\"),n=t(\"./ConvertWorker\"),s=t(\"./GenericWorker\"),u=t(\"../base64\"),i=t(\"../support\"),a=t(\"../external\"),o=null;if(i.nodestream)try{o=t(\"../nodejs/NodejsStreamOutputAdapter\")}catch(t){}function l(t,o){return new a.Promise(function(e,r){var i=[],n=t._internalType,s=t._outputType,a=t._mimeType;t.on(\"data\",function(t,e){i.push(t),o&&o(e)}).on(\"error\",function(t){i=[],r(t)}).on(\"end\",function(){try{var t=function(t,e,r){switch(t){case\"blob\":return h.newBlob(h.transformTo(\"arraybuffer\",e),r);case\"base64\":return u.encode(e);default:return h.transformTo(t,e)}}(s,function(t,e){var r,i=0,n=null,s=0;for(r=0;r<e.length;r++)s+=e[r].length;switch(t){case\"string\":return e.join(\"\");case\"array\":return Array.prototype.concat.apply([],e);case\"uint8array\":for(n=new Uint8Array(s),r=0;r<e.length;r++)n.set(e[r],i),i+=e[r].length;return n;case\"nodebuffer\":return Buffer.concat(e);default:throw new Error(\"concat : unsupported type '\"+t+\"'\")}}(n,i),a);e(t)}catch(t){r(t)}i=[]}).resume()})}function f(t,e,r){var i=e;switch(e){case\"blob\":case\"arraybuffer\":i=\"uint8array\";break;case\"base64\":i=\"string\"}try{this._internalType=i,this._outputType=e,this._mimeType=r,h.checkSupport(i),this._worker=t.pipe(new n(i)),t.lock()}catch(t){this._worker=new s(\"error\"),this._worker.error(t)}}f.prototype={accumulate:function(t){return l(this,t)},on:function(t,e){var r=this;return\"data\"===t?this._worker.on(t,function(t){e.call(r,t.data,t.meta)}):this._worker.on(t,function(){h.delay(e,arguments,r)}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(t){if(h.checkSupport(\"nodestream\"),\"nodebuffer\"!==this._outputType)throw new Error(this._outputType+\" is not supported by this method\");return new o(this,{objectMode:\"nodebuffer\"!==this._outputType},t)}},e.exports=f},{\"../base64\":1,\"../external\":6,\"../nodejs/NodejsStreamOutputAdapter\":13,\"../support\":30,\"../utils\":32,\"./ConvertWorker\":24,\"./GenericWorker\":28}],30:[function(t,e,r){\"use strict\";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array,r.nodebuffer=\"undefined\"!=typeof Buffer,r.uint8array=\"undefined\"!=typeof Uint8Array,\"undefined\"==typeof ArrayBuffer)r.blob=!1;else{var i=new ArrayBuffer(0);try{r.blob=0===new Blob([i],{type:\"application/zip\"}).size}catch(t){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);n.append(i),r.blob=0===n.getBlob(\"application/zip\").size}catch(t){r.blob=!1}}}try{r.nodestream=!!t(\"readable-stream\").Readable}catch(t){r.nodestream=!1}},{\"readable-stream\":16}],31:[function(t,e,s){\"use strict\";for(var o=t(\"./utils\"),h=t(\"./support\"),r=t(\"./nodejsUtils\"),i=t(\"./stream/GenericWorker\"),u=new Array(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;u[254]=u[254]=1;function a(){i.call(this,\"utf-8 decode\"),this.leftOver=null}function l(){i.call(this,\"utf-8 encode\")}s.utf8encode=function(t){return h.nodebuffer?r.newBufferFrom(t,\"utf-8\"):function(t){var e,r,i,n,s,a=t.length,o=0;for(n=0;n<a;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),o+=r<128?1:r<2048?2:r<65536?3:4;for(e=h.uint8array?new Uint8Array(o):new Array(o),n=s=0;s<o;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),r<128?e[s++]=r:(r<2048?e[s++]=192|r>>>6:(r<65536?e[s++]=224|r>>>12:(e[s++]=240|r>>>18,e[s++]=128|r>>>12&63),e[s++]=128|r>>>6&63),e[s++]=128|63&r);return e}(t)},s.utf8decode=function(t){return h.nodebuffer?o.transformTo(\"nodebuffer\",t).toString(\"utf-8\"):function(t){var e,r,i,n,s=t.length,a=new Array(2*s);for(e=r=0;e<s;)if((i=t[e++])<128)a[r++]=i;else if(4<(n=u[i]))a[r++]=65533,e+=n-1;else{for(i&=2===n?31:3===n?15:7;1<n&&e<s;)i=i<<6|63&t[e++],n--;1<n?a[r++]=65533:i<65536?a[r++]=i:(i-=65536,a[r++]=55296|i>>10&1023,a[r++]=56320|1023&i)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(t=o.transformTo(h.uint8array?\"uint8array\":\"array\",t))},o.inherits(a,i),a.prototype.processChunk=function(t){var e=o.transformTo(h.uint8array?\"uint8array\":\"array\",t.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=e;(e=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),e.set(r,this.leftOver.length)}else e=this.leftOver.concat(e);this.leftOver=null}var i=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0?e:0===r?e:r+u[t[r]]>e?r:e}(e),n=e;i!==e.length&&(h.uint8array?(n=e.subarray(0,i),this.leftOver=e.subarray(i,e.length)):(n=e.slice(0,i),this.leftOver=e.slice(i,e.length))),this.push({data:s.utf8decode(n),meta:t.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,i),l.prototype.processChunk=function(t){this.push({data:s.utf8encode(t.data),meta:t.meta})},s.Utf8EncodeWorker=l},{\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./support\":30,\"./utils\":32}],32:[function(t,e,a){\"use strict\";var o=t(\"./support\"),h=t(\"./base64\"),r=t(\"./nodejsUtils\"),i=t(\"set-immediate-shim\"),u=t(\"./external\");function n(t){return t}function l(t,e){for(var r=0;r<t.length;++r)e[r]=255&t.charCodeAt(r);return e}a.newBlob=function(e,r){a.checkSupport(\"blob\");try{return new Blob([e],{type:r})}catch(t){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return i.append(e),i.getBlob(r)}catch(t){throw new Error(\"Bug : can't construct the Blob.\")}}};var s={stringifyByChunk:function(t,e,r){var i=[],n=0,s=t.length;if(s<=r)return String.fromCharCode.apply(null,t);for(;n<s;)\"array\"===e||\"nodebuffer\"===e?i.push(String.fromCharCode.apply(null,t.slice(n,Math.min(n+r,s)))):i.push(String.fromCharCode.apply(null,t.subarray(n,Math.min(n+r,s)))),n+=r;return i.join(\"\")},stringifyByChar:function(t){for(var e=\"\",r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},applyCanBeUsed:{uint8array:function(){try{return o.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(t){return!1}}(),nodebuffer:function(){try{return o.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(t){return!1}}()}};function f(t){var e=65536,r=a.getTypeOf(t),i=!0;if(\"uint8array\"===r?i=s.applyCanBeUsed.uint8array:\"nodebuffer\"===r&&(i=s.applyCanBeUsed.nodebuffer),i)for(;1<e;)try{return s.stringifyByChunk(t,r,e)}catch(t){e=Math.floor(e/2)}return s.stringifyByChar(t)}function d(t,e){for(var r=0;r<t.length;r++)e[r]=t[r];return e}a.applyFromCharCode=f;var c={};c.string={string:n,array:function(t){return l(t,new Array(t.length))},arraybuffer:function(t){return c.string.uint8array(t).buffer},uint8array:function(t){return l(t,new Uint8Array(t.length))},nodebuffer:function(t){return l(t,r.allocBuffer(t.length))}},c.array={string:f,array:n,arraybuffer:function(t){return new Uint8Array(t).buffer},uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return r.newBufferFrom(t)}},c.arraybuffer={string:function(t){return f(new Uint8Array(t))},array:function(t){return d(new Uint8Array(t),new Array(t.byteLength))},arraybuffer:n,uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return r.newBufferFrom(new Uint8Array(t))}},c.uint8array={string:f,array:function(t){return d(t,new Array(t.length))},arraybuffer:function(t){return t.buffer},uint8array:n,nodebuffer:function(t){return r.newBufferFrom(t)}},c.nodebuffer={string:f,array:function(t){return d(t,new Array(t.length))},arraybuffer:function(t){return c.nodebuffer.uint8array(t).buffer},uint8array:function(t){return d(t,new Uint8Array(t.length))},nodebuffer:n},a.transformTo=function(t,e){if(e=e||\"\",!t)return e;a.checkSupport(t);var r=a.getTypeOf(e);return c[r][t](e)},a.getTypeOf=function(t){return\"string\"==typeof t?\"string\":\"[object Array]\"===Object.prototype.toString.call(t)?\"array\":o.nodebuffer&&r.isBuffer(t)?\"nodebuffer\":o.uint8array&&t instanceof Uint8Array?\"uint8array\":o.arraybuffer&&t instanceof ArrayBuffer?\"arraybuffer\":void 0},a.checkSupport=function(t){if(!o[t.toLowerCase()])throw new Error(t+\" is not supported by this platform\")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(t){var e,r,i=\"\";for(r=0;r<(t||\"\").length;r++)i+=\"\\\\x\"+((e=t.charCodeAt(r))<16?\"0\":\"\")+e.toString(16).toUpperCase();return i},a.delay=function(t,e,r){i(function(){t.apply(r||null,e||[])})},a.inherits=function(t,e){function r(){}r.prototype=e.prototype,t.prototype=new r},a.extend=function(){var t,e,r={};for(t=0;t<arguments.length;t++)for(e in arguments[t])arguments[t].hasOwnProperty(e)&&void 0===r[e]&&(r[e]=arguments[t][e]);return r},a.prepareContent=function(r,t,i,n,s){return u.Promise.resolve(t).then(function(i){return o.blob&&(i instanceof Blob||-1!==[\"[object File]\",\"[object Blob]\"].indexOf(Object.prototype.toString.call(i)))&&\"undefined\"!=typeof FileReader?new u.Promise(function(e,r){var t=new FileReader;t.onload=function(t){e(t.target.result)},t.onerror=function(t){r(t.target.error)},t.readAsArrayBuffer(i)}):i}).then(function(t){var e=a.getTypeOf(t);return e?(\"arraybuffer\"===e?t=a.transformTo(\"uint8array\",t):\"string\"===e&&(s?t=h.decode(t):i&&!0!==n&&(t=function(t){return l(t,o.uint8array?new Uint8Array(t.length):new Array(t.length))}(t))),t):u.Promise.reject(new Error(\"Can't read the data of '\"+r+\"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?\"))})}},{\"./base64\":1,\"./external\":6,\"./nodejsUtils\":14,\"./support\":30,\"set-immediate-shim\":54}],33:[function(t,e,r){\"use strict\";var i=t(\"./reader/readerFor\"),n=t(\"./utils\"),s=t(\"./signature\"),a=t(\"./zipEntry\"),o=(t(\"./utf8\"),t(\"./support\"));function h(t){this.files=[],this.loadOptions=t}h.prototype={checkSignature:function(t){if(!this.reader.readAndCheckSignature(t)){this.reader.index-=4;var e=this.reader.readString(4);throw new Error(\"Corrupted zip or bug: unexpected signature (\"+n.pretty(e)+\", expected \"+n.pretty(t)+\")\")}},isSignature:function(t,e){var r=this.reader.index;this.reader.setIndex(t);var i=this.reader.readString(4)===e;return this.reader.setIndex(r),i},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var t=this.reader.readData(this.zipCommentLength),e=o.uint8array?\"uint8array\":\"array\",r=n.transformTo(e,t);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var t,e,r,i=this.zip64EndOfCentralSize-44;0<i;)t=this.reader.readInt(2),e=this.reader.readInt(4),r=this.reader.readData(e),this.zip64ExtensibleData[t]={id:t,length:e,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error(\"Multi-volumes zip are not supported\")},readLocalFiles:function(){var t,e;for(t=0;t<this.files.length;t++)e=this.files[t],this.reader.setIndex(e.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),e.readLocalPart(this.reader),e.handleUTF8(),e.processAttributes()},readCentralDir:function(){var t;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(t=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(t);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error(\"Corrupted zip or bug: expected \"+this.centralDirRecords+\" records in central dir, got \"+this.files.length)},readEndOfCentral:function(){var t=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(t<0)throw!this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error(\"Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html\"):new Error(\"Corrupted zip: can't find end of central directory\");this.reader.setIndex(t);var e=t;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===n.MAX_VALUE_16BITS||this.diskWithCentralDirStart===n.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===n.MAX_VALUE_16BITS||this.centralDirRecords===n.MAX_VALUE_16BITS||this.centralDirSize===n.MAX_VALUE_32BITS||this.centralDirOffset===n.MAX_VALUE_32BITS){if(this.zip64=!0,(t=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory locator\");if(this.reader.setIndex(t),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory\");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var i=e-r;if(0<i)this.isSignature(e,s.CENTRAL_FILE_HEADER)||(this.reader.zero=i);else if(i<0)throw new Error(\"Corrupted zip: missing \"+Math.abs(i)+\" bytes.\")},prepareReader:function(t){this.reader=i(t)},load:function(t){this.prepareReader(t),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},e.exports=h},{\"./reader/readerFor\":22,\"./signature\":23,\"./support\":30,\"./utf8\":31,\"./utils\":32,\"./zipEntry\":34}],34:[function(t,e,r){\"use strict\";var i=t(\"./reader/readerFor\"),s=t(\"./utils\"),n=t(\"./compressedObject\"),a=t(\"./crc32\"),o=t(\"./utf8\"),h=t(\"./compressions\"),u=t(\"./support\");function l(t,e){this.options=t,this.loadOptions=e}l.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(t){var e,r;if(t.skip(22),this.fileNameLength=t.readInt(2),r=t.readInt(2),this.fileName=t.readData(this.fileNameLength),t.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error(\"Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)\");if(null===(e=function(t){for(var e in h)if(h.hasOwnProperty(e)&&h[e].magic===t)return h[e];return null}(this.compressionMethod)))throw new Error(\"Corrupted zip : compression \"+s.pretty(this.compressionMethod)+\" unknown (inner file : \"+s.transformTo(\"string\",this.fileName)+\")\");this.decompressed=new n(this.compressedSize,this.uncompressedSize,this.crc32,e,t.readData(this.compressedSize))},readCentralPart:function(t){this.versionMadeBy=t.readInt(2),t.skip(2),this.bitFlag=t.readInt(2),this.compressionMethod=t.readString(2),this.date=t.readDate(),this.crc32=t.readInt(4),this.compressedSize=t.readInt(4),this.uncompressedSize=t.readInt(4);var e=t.readInt(2);if(this.extraFieldsLength=t.readInt(2),this.fileCommentLength=t.readInt(2),this.diskNumberStart=t.readInt(2),this.internalFileAttributes=t.readInt(2),this.externalFileAttributes=t.readInt(4),this.localHeaderOffset=t.readInt(4),this.isEncrypted())throw new Error(\"Encrypted zip are not supported\");t.skip(e),this.readExtraFields(t),this.parseZIP64ExtraField(t),this.fileComment=t.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var t=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==t&&(this.dosPermissions=63&this.externalFileAttributes),3==t&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||\"/\"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(t){if(this.extraFields[1]){var e=i(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(t){var e,r,i,n=t.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});t.index+4<n;)e=t.readInt(2),r=t.readInt(2),i=t.readData(r),this.extraFields[e]={id:e,length:r,value:i};t.setIndex(n)},handleUTF8:function(){var t=u.uint8array?\"uint8array\":\"array\";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var e=this.findExtraFieldUnicodePath();if(null!==e)this.fileNameStr=e;else{var r=s.transformTo(t,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var i=this.findExtraFieldUnicodeComment();if(null!==i)this.fileCommentStr=i;else{var n=s.transformTo(t,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(n)}}},findExtraFieldUnicodePath:function(){var t=this.extraFields[28789];if(t){var e=i(t.value);return 1!==e.readInt(1)?null:a(this.fileName)!==e.readInt(4)?null:o.utf8decode(e.readData(t.length-5))}return null},findExtraFieldUnicodeComment:function(){var t=this.extraFields[25461];if(t){var e=i(t.value);return 1!==e.readInt(1)?null:a(this.fileComment)!==e.readInt(4)?null:o.utf8decode(e.readData(t.length-5))}return null}},e.exports=l},{\"./compressedObject\":2,\"./compressions\":3,\"./crc32\":4,\"./reader/readerFor\":22,\"./support\":30,\"./utf8\":31,\"./utils\":32}],35:[function(t,e,r){\"use strict\";function i(t,e,r){this.name=t,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=e,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var s=t(\"./stream/StreamHelper\"),n=t(\"./stream/DataWorker\"),a=t(\"./utf8\"),o=t(\"./compressedObject\"),h=t(\"./stream/GenericWorker\");i.prototype={internalStream:function(t){var e=null,r=\"string\";try{if(!t)throw new Error(\"No output type specified.\");var i=\"string\"===(r=t.toLowerCase())||\"text\"===r;\"binarystring\"!==r&&\"text\"!==r||(r=\"string\"),e=this._decompressWorker();var n=!this._dataBinary;n&&!i&&(e=e.pipe(new a.Utf8EncodeWorker)),!n&&i&&(e=e.pipe(new a.Utf8DecodeWorker))}catch(t){(e=new h(\"error\")).error(t)}return new s(e,r,\"\")},async:function(t,e){return this.internalStream(t).accumulate(e)},nodeStream:function(t,e){return this.internalStream(t||\"nodebuffer\").toNodejsStream(e)},_compressWorker:function(t,e){if(this._data instanceof o&&this._data.compression.magic===t.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,t,e)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new n(this._data)}};for(var u=[\"asText\",\"asBinary\",\"asNodeBuffer\",\"asUint8Array\",\"asArrayBuffer\"],l=function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},f=0;f<u.length;f++)i.prototype[u[f]]=l;e.exports=i},{\"./compressedObject\":2,\"./stream/DataWorker\":27,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31}],36:[function(t,l,e){(function(e){\"use strict\";var r,i,t=e.MutationObserver||e.WebKitMutationObserver;if(t){var n=0,s=new t(u),a=e.document.createTextNode(\"\");s.observe(a,{characterData:!0}),r=function(){a.data=n=++n%2}}else if(e.setImmediate||void 0===e.MessageChannel)r=\"document\"in e&&\"onreadystatechange\"in e.document.createElement(\"script\")?function(){var t=e.document.createElement(\"script\");t.onreadystatechange=function(){u(),t.onreadystatechange=null,t.parentNode.removeChild(t),t=null},e.document.documentElement.appendChild(t)}:function(){setTimeout(u,0)};else{var o=new e.MessageChannel;o.port1.onmessage=u,r=function(){o.port2.postMessage(0)}}var h=[];function u(){var t,e;i=!0;for(var r=h.length;r;){for(e=h,h=[],t=-1;++t<r;)e[t]();r=h.length}i=!1}l.exports=function(t){1!==h.push(t)||i||r()}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],37:[function(t,e,r){\"use strict\";var n=t(\"immediate\");function u(){}var l={},s=[\"REJECTED\"],a=[\"FULFILLED\"],i=[\"PENDING\"];function o(t){if(\"function\"!=typeof t)throw new TypeError(\"resolver must be a function\");this.state=i,this.queue=[],this.outcome=void 0,t!==u&&c(this,t)}function h(t,e,r){this.promise=t,\"function\"==typeof e&&(this.onFulfilled=e,this.callFulfilled=this.otherCallFulfilled),\"function\"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function f(e,r,i){n(function(){var t;try{t=r(i)}catch(t){return l.reject(e,t)}t===e?l.reject(e,new TypeError(\"Cannot resolve promise with itself\")):l.resolve(e,t)})}function d(t){var e=t&&t.then;if(t&&(\"object\"==typeof t||\"function\"==typeof t)&&\"function\"==typeof e)return function(){e.apply(t,arguments)}}function c(e,t){var r=!1;function i(t){r||(r=!0,l.reject(e,t))}function n(t){r||(r=!0,l.resolve(e,t))}var s=p(function(){t(n,i)});\"error\"===s.status&&i(s.value)}function p(t,e){var r={};try{r.value=t(e),r.status=\"success\"}catch(t){r.status=\"error\",r.value=t}return r}(e.exports=o).prototype.finally=function(e){if(\"function\"!=typeof e)return this;var r=this.constructor;return this.then(function(t){return r.resolve(e()).then(function(){return t})},function(t){return r.resolve(e()).then(function(){throw t})})},o.prototype.catch=function(t){return this.then(null,t)},o.prototype.then=function(t,e){if(\"function\"!=typeof t&&this.state===a||\"function\"!=typeof e&&this.state===s)return this;var r=new this.constructor(u);this.state!==i?f(r,this.state===a?t:e,this.outcome):this.queue.push(new h(r,t,e));return r},h.prototype.callFulfilled=function(t){l.resolve(this.promise,t)},h.prototype.otherCallFulfilled=function(t){f(this.promise,this.onFulfilled,t)},h.prototype.callRejected=function(t){l.reject(this.promise,t)},h.prototype.otherCallRejected=function(t){f(this.promise,this.onRejected,t)},l.resolve=function(t,e){var r=p(d,e);if(\"error\"===r.status)return l.reject(t,r.value);var i=r.value;if(i)c(t,i);else{t.state=a,t.outcome=e;for(var n=-1,s=t.queue.length;++n<s;)t.queue[n].callFulfilled(e)}return t},l.reject=function(t,e){t.state=s,t.outcome=e;for(var r=-1,i=t.queue.length;++r<i;)t.queue[r].callRejected(e);return t},o.resolve=function(t){if(t instanceof this)return t;return l.resolve(new this(u),t)},o.reject=function(t){var e=new this(u);return l.reject(e,t)},o.all=function(t){var r=this;if(\"[object Array]\"!==Object.prototype.toString.call(t))return this.reject(new TypeError(\"must be an array\"));var i=t.length,n=!1;if(!i)return this.resolve([]);var s=new Array(i),a=0,e=-1,o=new this(u);for(;++e<i;)h(t[e],e);return o;function h(t,e){r.resolve(t).then(function(t){s[e]=t,++a!==i||n||(n=!0,l.resolve(o,s))},function(t){n||(n=!0,l.reject(o,t))})}},o.race=function(t){var e=this;if(\"[object Array]\"!==Object.prototype.toString.call(t))return this.reject(new TypeError(\"must be an array\"));var r=t.length,i=!1;if(!r)return this.resolve([]);var n=-1,s=new this(u);for(;++n<r;)a=t[n],e.resolve(a).then(function(t){i||(i=!0,l.resolve(s,t))},function(t){i||(i=!0,l.reject(s,t))});var a;return s}},{immediate:36}],38:[function(t,e,r){\"use strict\";var i={};(0,t(\"./lib/utils/common\").assign)(i,t(\"./lib/deflate\"),t(\"./lib/inflate\"),t(\"./lib/zlib/constants\")),e.exports=i},{\"./lib/deflate\":39,\"./lib/inflate\":40,\"./lib/utils/common\":41,\"./lib/zlib/constants\":44}],39:[function(t,e,r){\"use strict\";var a=t(\"./zlib/deflate\"),o=t(\"./utils/common\"),h=t(\"./utils/strings\"),n=t(\"./zlib/messages\"),s=t(\"./zlib/zstream\"),u=Object.prototype.toString,l=0,f=-1,d=0,c=8;function p(t){if(!(this instanceof p))return new p(t);this.options=o.assign({level:f,method:c,chunkSize:16384,windowBits:15,memLevel:8,strategy:d,to:\"\"},t||{});var e=this.options;e.raw&&0<e.windowBits?e.windowBits=-e.windowBits:e.gzip&&0<e.windowBits&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==l)throw new Error(n[r]);if(e.header&&a.deflateSetHeader(this.strm,e.header),e.dictionary){var i;if(i=\"string\"==typeof e.dictionary?h.string2buf(e.dictionary):\"[object ArrayBuffer]\"===u.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,(r=a.deflateSetDictionary(this.strm,i))!==l)throw new Error(n[r]);this._dict_set=!0}}function i(t,e){var r=new p(e);if(r.push(t,!0),r.err)throw r.msg||n[r.err];return r.result}p.prototype.push=function(t,e){var r,i,n=this.strm,s=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:!0===e?4:0,\"string\"==typeof t?n.input=h.string2buf(t):\"[object ArrayBuffer]\"===u.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;do{if(0===n.avail_out&&(n.output=new o.Buf8(s),n.next_out=0,n.avail_out=s),1!==(r=a.deflate(n,i))&&r!==l)return this.onEnd(r),!(this.ended=!0);0!==n.avail_out&&(0!==n.avail_in||4!==i&&2!==i)||(\"string\"===this.options.to?this.onData(h.buf2binstring(o.shrinkBuf(n.output,n.next_out))):this.onData(o.shrinkBuf(n.output,n.next_out)))}while((0<n.avail_in||0===n.avail_out)&&1!==r);return 4===i?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l):2!==i||(this.onEnd(l),!(n.avail_out=0))},p.prototype.onData=function(t){this.chunks.push(t)},p.prototype.onEnd=function(t){t===l&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},r.Deflate=p,r.deflate=i,r.deflateRaw=function(t,e){return(e=e||{}).raw=!0,i(t,e)},r.gzip=function(t,e){return(e=e||{}).gzip=!0,i(t,e)}},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/deflate\":46,\"./zlib/messages\":51,\"./zlib/zstream\":53}],40:[function(t,e,r){\"use strict\";var d=t(\"./zlib/inflate\"),c=t(\"./utils/common\"),p=t(\"./utils/strings\"),m=t(\"./zlib/constants\"),i=t(\"./zlib/messages\"),n=t(\"./zlib/zstream\"),s=t(\"./zlib/gzheader\"),_=Object.prototype.toString;function a(t){if(!(this instanceof a))return new a(t);this.options=c.assign({chunkSize:16384,windowBits:0,to:\"\"},t||{});var e=this.options;e.raw&&0<=e.windowBits&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(0<=e.windowBits&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),15<e.windowBits&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new n,this.strm.avail_out=0;var r=d.inflateInit2(this.strm,e.windowBits);if(r!==m.Z_OK)throw new Error(i[r]);this.header=new s,d.inflateGetHeader(this.strm,this.header)}function o(t,e){var r=new a(e);if(r.push(t,!0),r.err)throw r.msg||i[r.err];return r.result}a.prototype.push=function(t,e){var r,i,n,s,a,o,h=this.strm,u=this.options.chunkSize,l=this.options.dictionary,f=!1;if(this.ended)return!1;i=e===~~e?e:!0===e?m.Z_FINISH:m.Z_NO_FLUSH,\"string\"==typeof t?h.input=p.binstring2buf(t):\"[object ArrayBuffer]\"===_.call(t)?h.input=new Uint8Array(t):h.input=t,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new c.Buf8(u),h.next_out=0,h.avail_out=u),(r=d.inflate(h,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&l&&(o=\"string\"==typeof l?p.string2buf(l):\"[object ArrayBuffer]\"===_.call(l)?new Uint8Array(l):l,r=d.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===f&&(r=m.Z_OK,f=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);h.next_out&&(0!==h.avail_out&&r!==m.Z_STREAM_END&&(0!==h.avail_in||i!==m.Z_FINISH&&i!==m.Z_SYNC_FLUSH)||(\"string\"===this.options.to?(n=p.utf8border(h.output,h.next_out),s=h.next_out-n,a=p.buf2string(h.output,n),h.next_out=s,h.avail_out=u-s,s&&c.arraySet(h.output,h.output,n,s,0),this.onData(a)):this.onData(c.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(f=!0)}while((0<h.avail_in||0===h.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(i=m.Z_FINISH),i===m.Z_FINISH?(r=d.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):i!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(h.avail_out=0))},a.prototype.onData=function(t){this.chunks.push(t)},a.prototype.onEnd=function(t){t===m.Z_OK&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=c.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},r.Inflate=a,r.inflate=o,r.inflateRaw=function(t,e){return(e=e||{}).raw=!0,o(t,e)},r.ungzip=o},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/constants\":44,\"./zlib/gzheader\":47,\"./zlib/inflate\":49,\"./zlib/messages\":51,\"./zlib/zstream\":53}],41:[function(t,e,r){\"use strict\";var i=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Int32Array;r.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var r=e.shift();if(r){if(\"object\"!=typeof r)throw new TypeError(r+\"must be non-object\");for(var i in r)r.hasOwnProperty(i)&&(t[i]=r[i])}}return t},r.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,r,i,n){if(e.subarray&&t.subarray)t.set(e.subarray(r,r+i),n);else for(var s=0;s<i;s++)t[n+s]=e[r+s]},flattenChunks:function(t){var e,r,i,n,s,a;for(e=i=0,r=t.length;e<r;e++)i+=t[e].length;for(a=new Uint8Array(i),e=n=0,r=t.length;e<r;e++)s=t[e],a.set(s,n),n+=s.length;return a}},s={arraySet:function(t,e,r,i,n){for(var s=0;s<i;s++)t[n+s]=e[r+s]},flattenChunks:function(t){return[].concat.apply([],t)}};r.setTyped=function(t){t?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,n)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s))},r.setTyped(i)},{}],42:[function(t,e,r){\"use strict\";var h=t(\"./common\"),n=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(t){n=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){s=!1}for(var u=new h.Buf8(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;function l(t,e){if(e<65537&&(t.subarray&&s||!t.subarray&&n))return String.fromCharCode.apply(null,h.shrinkBuf(t,e));for(var r=\"\",i=0;i<e;i++)r+=String.fromCharCode(t[i]);return r}u[254]=u[254]=1,r.string2buf=function(t){var e,r,i,n,s,a=t.length,o=0;for(n=0;n<a;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),o+=r<128?1:r<2048?2:r<65536?3:4;for(e=new h.Buf8(o),n=s=0;s<o;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),r<128?e[s++]=r:(r<2048?e[s++]=192|r>>>6:(r<65536?e[s++]=224|r>>>12:(e[s++]=240|r>>>18,e[s++]=128|r>>>12&63),e[s++]=128|r>>>6&63),e[s++]=128|63&r);return e},r.buf2binstring=function(t){return l(t,t.length)},r.binstring2buf=function(t){for(var e=new h.Buf8(t.length),r=0,i=e.length;r<i;r++)e[r]=t.charCodeAt(r);return e},r.buf2string=function(t,e){var r,i,n,s,a=e||t.length,o=new Array(2*a);for(r=i=0;r<a;)if((n=t[r++])<128)o[i++]=n;else if(4<(s=u[n]))o[i++]=65533,r+=s-1;else{for(n&=2===s?31:3===s?15:7;1<s&&r<a;)n=n<<6|63&t[r++],s--;1<s?o[i++]=65533:n<65536?o[i++]=n:(n-=65536,o[i++]=55296|n>>10&1023,o[i++]=56320|1023&n)}return l(o,i)},r.utf8border=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0?e:0===r?e:r+u[t[r]]>e?r:e}},{\"./common\":41}],43:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,i){for(var n=65535&t|0,s=t>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(n=n+e[i++]|0)|0,--a;);n%=65521,s%=65521}return n|s<<16|0}},{}],44:[function(t,e,r){\"use strict\";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(t,e,r){\"use strict\";var o=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e}();e.exports=function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a<s;a++)t=t>>>8^n[255&(t^e[a])];return-1^t}},{}],46:[function(t,e,r){\"use strict\";var h,d=t(\"../utils/common\"),u=t(\"./trees\"),c=t(\"./adler32\"),p=t(\"./crc32\"),i=t(\"./messages\"),l=0,f=4,m=0,_=-2,g=-1,b=4,n=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(t,e){return t.msg=i[e],e}function T(t){return(t<<1)-(4<t?9:0)}function D(t){for(var e=t.length;0<=--e;)t[e]=0}function F(t){var e=t.state,r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(d.arraySet(t.output,e.pending_buf,e.pending_out,r,t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))}function N(t,e){u._tr_flush_block(t,0<=t.block_start?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,F(t.strm)}function U(t,e){t.pending_buf[t.pending++]=e}function P(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function L(t,e){var r,i,n=t.max_chain_length,s=t.strstart,a=t.prev_length,o=t.nice_match,h=t.strstart>t.w_size-z?t.strstart-(t.w_size-z):0,u=t.window,l=t.w_mask,f=t.prev,d=t.strstart+S,c=u[s+a-1],p=u[s+a];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(u[(r=e)+a]===p&&u[r+a-1]===c&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<d);if(i=S-(d-s),s=d-S,a<i){if(t.match_start=e,o<=(a=i))break;c=u[s+a-1],p=u[s+a]}}}while((e=f[e&l])>h&&0!=--n);return a<=t.lookahead?a:t.lookahead}function j(t){var e,r,i,n,s,a,o,h,u,l,f=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=f+(f-z)){for(d.arraySet(t.window,t.window,f,f,0),t.match_start-=f,t.strstart-=f,t.block_start-=f,e=r=t.hash_size;i=t.head[--e],t.head[e]=f<=i?i-f:0,--r;);for(e=r=f;i=t.prev[--e],t.prev[e]=f<=i?i-f:0,--r;);n+=f}if(0===t.strm.avail_in)break;if(a=t.strm,o=t.window,h=t.strstart+t.lookahead,u=n,l=void 0,l=a.avail_in,u<l&&(l=u),r=0===l?0:(a.avail_in-=l,d.arraySet(o,a.input,a.next_in,l,h),1===a.state.wrap?a.adler=c(a.adler,o,l,h):2===a.state.wrap&&(a.adler=p(a.adler,o,l,h)),a.next_in+=l,a.total_in+=l,l),t.lookahead+=r,t.lookahead+t.insert>=x)for(s=t.strstart-t.insert,t.ins_h=t.window[s],t.ins_h=(t.ins_h<<t.hash_shift^t.window[s+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[s+x-1])&t.hash_mask,t.prev[s&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=s,s++,t.insert--,!(t.lookahead+t.insert<x)););}while(t.lookahead<z&&0!==t.strm.avail_in)}function Z(t,e){for(var r,i;;){if(t.lookahead<z){if(j(t),t.lookahead<z&&e===l)return A;if(0===t.lookahead)break}if(r=0,t.lookahead>=x&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-z&&(t.match_length=L(t,r)),t.match_length>=x)if(i=u._tr_tally(t,t.strstart-t.match_start,t.match_length-x),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=x){for(t.match_length--;t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart,0!=--t.match_length;);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else i=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=t.strstart<x-1?t.strstart:x-1,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}function W(t,e){for(var r,i,n;;){if(t.lookahead<z){if(j(t),t.lookahead<z&&e===l)return A;if(0===t.lookahead)break}if(r=0,t.lookahead>=x&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=x-1,0!==r&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-z&&(t.match_length=L(t,r),t.match_length<=5&&(1===t.strategy||t.match_length===x&&4096<t.strstart-t.match_start)&&(t.match_length=x-1)),t.prev_length>=x&&t.match_length<=t.prev_length){for(n=t.strstart+t.lookahead-x,i=u._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-x),t.lookahead-=t.prev_length-1,t.prev_length-=2;++t.strstart<=n&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!=--t.prev_length;);if(t.match_available=0,t.match_length=x-1,t.strstart++,i&&(N(t,!1),0===t.strm.avail_out))return A}else if(t.match_available){if((i=u._tr_tally(t,0,t.window[t.strstart-1]))&&N(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return A}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=u._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<x-1?t.strstart:x-1,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}function M(t,e,r,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=i,this.func=n}function H(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new d.Buf16(2*w),this.dyn_dtree=new d.Buf16(2*(2*a+1)),this.bl_tree=new d.Buf16(2*(2*o+1)),D(this.dyn_ltree),D(this.dyn_dtree),D(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new d.Buf16(k+1),this.heap=new d.Buf16(2*s+1),D(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new d.Buf16(2*s+1),D(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function G(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=n,(e=t.state).pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?C:E,t.adler=2===e.wrap?0:1,e.last_flush=l,u._tr_init(e),m):R(t,_)}function K(t){var e=G(t);return e===m&&function(t){t.window_size=2*t.w_size,D(t.head),t.max_lazy_match=h[t.level].max_lazy,t.good_match=h[t.level].good_length,t.nice_match=h[t.level].nice_length,t.max_chain_length=h[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=x-1,t.match_available=0,t.ins_h=0}(t.state),e}function Y(t,e,r,i,n,s){if(!t)return _;var a=1;if(e===g&&(e=6),i<0?(a=0,i=-i):15<i&&(a=2,i-=16),n<1||y<n||r!==v||i<8||15<i||e<0||9<e||s<0||b<s)return R(t,_);8===i&&(i=9);var o=new H;return(t.state=o).strm=t,o.wrap=a,o.gzhead=null,o.w_bits=i,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=n+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+x-1)/x),o.window=new d.Buf8(2*o.w_size),o.head=new d.Buf16(o.hash_size),o.prev=new d.Buf16(o.w_size),o.lit_bufsize=1<<n+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new d.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=e,o.strategy=s,o.method=r,K(t)}h=[new M(0,0,0,0,function(t,e){var r=65535;for(r>t.pending_buf_size-5&&(r=t.pending_buf_size-5);;){if(t.lookahead<=1){if(j(t),0===t.lookahead&&e===l)return A;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+r;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,N(t,!1),0===t.strm.avail_out))return A;if(t.strstart-t.block_start>=t.w_size-z&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):(t.strstart>t.block_start&&(N(t,!1),t.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(t,e){return Y(t,e,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?_:(t.state.gzhead=e,m):_},r.deflate=function(t,e){var r,i,n,s;if(!t||!t.state||5<e||e<0)return t?R(t,_):_;if(i=t.state,!t.output||!t.input&&0!==t.avail_in||666===i.status&&e!==f)return R(t,0===t.avail_out?-5:_);if(i.strm=t,r=i.last_flush,i.last_flush=e,i.status===C)if(2===i.wrap)t.adler=0,U(i,31),U(i,139),U(i,8),i.gzhead?(U(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),U(i,255&i.gzhead.time),U(i,i.gzhead.time>>8&255),U(i,i.gzhead.time>>16&255),U(i,i.gzhead.time>>24&255),U(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),U(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(U(i,255&i.gzhead.extra.length),U(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=p(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(U(i,0),U(i,0),U(i,0),U(i,0),U(i,0),U(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),U(i,3),i.status=E);else{var a=v+(i.w_bits-8<<4)<<8;a|=(2<=i.strategy||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(a|=32),a+=31-a%31,i.status=E,P(i,a),0!==i.strstart&&(P(i,t.adler>>>16),P(i,65535&t.adler)),t.adler=1}if(69===i.status)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending!==i.pending_buf_size));)U(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,U(i,s)}while(0!==s);i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,U(i,s)}while(0!==s);i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.status=103)}else i.status=103;if(103===i.status&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&F(t),i.pending+2<=i.pending_buf_size&&(U(i,255&t.adler),U(i,t.adler>>8&255),t.adler=0,i.status=E)):i.status=E),0!==i.pending){if(F(t),0===t.avail_out)return i.last_flush=-1,m}else if(0===t.avail_in&&T(e)<=T(r)&&e!==f)return R(t,-5);if(666===i.status&&0!==t.avail_in)return R(t,-5);if(0!==t.avail_in||0!==i.lookahead||e!==l&&666!==i.status){var o=2===i.strategy?function(t,e){for(var r;;){if(0===t.lookahead&&(j(t),0===t.lookahead)){if(e===l)return A;break}if(t.match_length=0,r=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}(i,e):3===i.strategy?function(t,e){for(var r,i,n,s,a=t.window;;){if(t.lookahead<=S){if(j(t),t.lookahead<=S&&e===l)return A;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=x&&0<t.strstart&&(i=a[n=t.strstart-1])===a[++n]&&i===a[++n]&&i===a[++n]){s=t.strstart+S;do{}while(i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&n<s);t.match_length=S-(s-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=x?(r=u._tr_tally(t,1,t.match_length-x),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}(i,e):h[i.level].func(i,e);if(o!==O&&o!==B||(i.status=666),o===A||o===O)return 0===t.avail_out&&(i.last_flush=-1),m;if(o===I&&(1===e?u._tr_align(i):5!==e&&(u._tr_stored_block(i,0,0,!1),3===e&&(D(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),F(t),0===t.avail_out))return i.last_flush=-1,m}return e!==f?m:i.wrap<=0?1:(2===i.wrap?(U(i,255&t.adler),U(i,t.adler>>8&255),U(i,t.adler>>16&255),U(i,t.adler>>24&255),U(i,255&t.total_in),U(i,t.total_in>>8&255),U(i,t.total_in>>16&255),U(i,t.total_in>>24&255)):(P(i,t.adler>>>16),P(i,65535&t.adler)),F(t),0<i.wrap&&(i.wrap=-i.wrap),0!==i.pending?m:1)},r.deflateEnd=function(t){var e;return t&&t.state?(e=t.state.status)!==C&&69!==e&&73!==e&&91!==e&&103!==e&&e!==E&&666!==e?R(t,_):(t.state=null,e===E?R(t,-3):m):_},r.deflateSetDictionary=function(t,e){var r,i,n,s,a,o,h,u,l=e.length;if(!t||!t.state)return _;if(2===(s=(r=t.state).wrap)||1===s&&r.status!==C||r.lookahead)return _;for(1===s&&(t.adler=c(t.adler,e,l,0)),r.wrap=0,l>=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new d.Buf8(r.w_size),d.arraySet(u,e,l-r.w_size,r.w_size,0),e=u,l=r.w_size),a=t.avail_in,o=t.next_in,h=t.input,t.avail_in=l,t.next_in=0,t.input=e,j(r);r.lookahead>=x;){for(i=r.strstart,n=r.lookahead-(x-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[i+x-1])&r.hash_mask,r.prev[i&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=i,i++,--n;);r.strstart=i,r.lookahead=x-1,j(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=x-1,r.match_available=0,t.next_in=o,t.input=h,t.avail_in=a,r.wrap=s,m},r.deflateInfo=\"pako deflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./messages\":51,\"./trees\":52}],47:[function(t,e,r){\"use strict\";e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=\"\",this.comment=\"\",this.hcrc=0,this.done=!1}},{}],48:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,i,n,s,a,o,h,u,l,f,d,c,p,m,_,g,b,v,y,w,k,x,S,z,C;r=t.state,i=t.next_in,z=t.input,n=i+(t.avail_in-5),s=t.next_out,C=t.output,a=s-(e-t.avail_out),o=s+(t.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,d=r.window,c=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;t:do{p<15&&(c+=z[i++]<<p,p+=8,c+=z[i++]<<p,p+=8),v=m[c&g];e:for(;;){if(c>>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(c&(1<<y)-1)];continue e}if(32&y){r.mode=12;break t}t.msg=\"invalid literal/length code\",r.mode=30;break t}w=65535&v,(y&=15)&&(p<y&&(c+=z[i++]<<p,p+=8),w+=c&(1<<y)-1,c>>>=y,p-=y),p<15&&(c+=z[i++]<<p,p+=8,c+=z[i++]<<p,p+=8),v=_[c&b];r:for(;;){if(c>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(c&(1<<y)-1)];continue r}t.msg=\"invalid distance code\",r.mode=30;break t}if(k=65535&v,p<(y&=15)&&(c+=z[i++]<<p,(p+=8)<y&&(c+=z[i++]<<p,p+=8)),h<(k+=c&(1<<y)-1)){t.msg=\"invalid distance too far back\",r.mode=30;break t}if(c>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){t.msg=\"invalid distance too far back\",r.mode=30;break t}if(S=d,(x=0)===f){if(x+=u-y,y<w){for(w-=y;C[s++]=d[x++],--y;);x=s-k,S=C}}else if(f<y){if(x+=u+f-y,(y-=f)<w){for(w-=y;C[s++]=d[x++],--y;);if(x=0,f<w){for(w-=y=f;C[s++]=d[x++],--y;);x=s-k,S=C}}}else if(x+=f-y,y<w){for(w-=y;C[s++]=d[x++],--y;);x=s-k,S=C}for(;2<w;)C[s++]=S[x++],C[s++]=S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]))}else{for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]))}break}}break}}while(i<n&&s<o);i-=w=p>>3,c&=(1<<(p-=w<<3))-1,t.next_in=i,t.next_out=s,t.avail_in=i<n?n-i+5:5-(i-n),t.avail_out=s<o?o-s+257:257-(s-o),r.hold=c,r.bits=p}},{}],49:[function(t,e,r){\"use strict\";var I=t(\"../utils/common\"),O=t(\"./adler32\"),B=t(\"./crc32\"),R=t(\"./inffast\"),T=t(\"./inftrees\"),D=1,F=2,N=0,U=-2,P=1,i=852,n=592;function L(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg=\"\",e.wrap&&(t.adler=1&e.wrap),e.mode=P,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new I.Buf32(i),e.distcode=e.distdyn=new I.Buf32(n),e.sane=1,e.back=-1,N):U}function o(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,a(t)):U}function h(t,e){var r,i;return t&&t.state?(i=t.state,e<0?(r=0,e=-e):(r=1+(e>>4),e<48&&(e&=15)),e&&(e<8||15<e)?U:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=r,i.wbits=e,o(t))):U}function u(t,e){var r,i;return t?(i=new s,(t.state=i).window=null,(r=h(t,e))!==N&&(t.state=null),r):U}var l,f,d=!0;function j(t){if(d){var e;for(l=new I.Buf32(512),f=new I.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(T(D,t.lens,0,288,l,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;T(F,t.lens,0,32,f,0,t.work,{bits:5}),d=!1}t.lencode=l,t.lenbits=9,t.distcode=f,t.distbits=5}function Z(t,e,r,i){var n,s=t.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),i>=s.wsize?(I.arraySet(s.window,e,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(i<(n=s.wsize-s.wnext)&&(n=i),I.arraySet(s.window,e,r-i,n,s.wnext),(i-=n)?(I.arraySet(s.window,e,r-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=n))),0}r.inflateReset=o,r.inflateReset2=h,r.inflateResetKeep=a,r.inflateInit=function(t){return u(t,15)},r.inflateInit2=u,r.inflate=function(t,e){var r,i,n,s,a,o,h,u,l,f,d,c,p,m,_,g,b,v,y,w,k,x,S,z,C=0,E=new I.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return U;12===(r=t.state).mode&&(r.mode=13),a=t.next_out,n=t.output,h=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,u=r.hold,l=r.bits,f=o,d=h,x=N;t:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;break}for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(2&r.wrap&&35615===u){E[r.check=0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg=\"incorrect header check\",r.mode=30;break}if(8!=(15&u)){t.msg=\"unknown compression method\",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){t.msg=\"invalid window size\",r.mode=30;break}r.dmax=1<<k,t.adler=r.check=1,r.mode=512&u?10:12,l=u=0;break;case 2:for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(r.flags=u,8!=(255&r.flags)){t.msg=\"unknown compression method\",r.mode=30;break}if(57344&r.flags){t.msg=\"unknown header flags set\",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(c=r.length)&&(c=o),c&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,i,s,c,k)),512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,r.length-=c),r.length))break t;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break t;for(c=0;k=i[s+c++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&c<o;);if(512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,k)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break t;for(c=0;k=i[s+c++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&c<o;);if(512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,k)break t}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(u!==(65535&r.check)){t.msg=\"header crc mismatch\",r.mode=30;break}l=u=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}t.adler=r.check=L(u),l=u=0,r.mode=11;case 11:if(0===r.havedict)return t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,2;t.adler=r.check=1,r.mode=12;case 12:if(5===e||6===e)break t;case 13:if(r.last){u>>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}switch(r.last=1&u,l-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==e)break;u>>>=2,l-=2;break t;case 2:r.mode=17;break;case 3:t.msg=\"invalid block type\",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){t.msg=\"invalid stored block lengths\",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===e)break t;case 15:r.mode=16;case 16:if(c=r.length){if(o<c&&(c=o),h<c&&(c=h),0===c)break t;I.arraySet(n,i,s,c,a),o-=c,s+=c,h-=c,a+=c,r.length-=c;break}r.mode=12;break;case 17:for(;l<14;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286<r.nlen||30<r.ndist){t.msg=\"too many length or distance symbols\",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;l<3;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.lens[A[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){t.msg=\"invalid code lengths set\",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(b<16)u>>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(u>>>=_,l-=_,0===r.have){t.msg=\"invalid bit length repeat\",r.mode=30;break}k=r.lens[r.have-1],c=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}l-=_,k=0,c=3+(7&(u>>>=_)),u>>>=3,l-=3}else{for(z=_+7;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}l-=_,k=0,c=11+(127&(u>>>=_)),u>>>=7,l-=7}if(r.have+c>r.nlen+r.ndist){t.msg=\"invalid bit length repeat\",r.mode=30;break}for(;c--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){t.msg=\"invalid code -- missing end-of-block\",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){t.msg=\"invalid literal/lengths set\",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){t.msg=\"invalid distances set\",r.mode=30;break}if(r.mode=20,6===e)break t;case 20:r.mode=21;case 21:if(6<=o&&258<=h){t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,R(t,d),a=t.next_out,n=t.output,h=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(g&&0==(240&g)){for(v=_,y=g,w=b;g=(C=r.lencode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){t.msg=\"invalid literal/length code\",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<<r.distbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(0==(240&g)){for(v=_,y=g,w=b;g=(C=r.distcode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){t.msg=\"invalid distance code\",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg=\"invalid distance too far back\",r.mode=30;break}r.mode=25;case 25:if(0===h)break t;if(c=d-h,r.offset>c){if((c=r.offset-c)>r.whave&&r.sane){t.msg=\"invalid distance too far back\",r.mode=30;break}p=c>r.wnext?(c-=r.wnext,r.wsize-c):r.wnext-c,c>r.length&&(c=r.length),m=r.window}else m=n,p=a-r.offset,c=r.length;for(h<c&&(c=h),h-=c,r.length-=c;n[a++]=m[p++],--c;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break t;n[a++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;l<32;){if(0===o)break t;o--,u|=i[s++]<<l,l+=8}if(d-=h,t.total_out+=d,r.total+=d,d&&(t.adler=r.check=r.flags?B(r.check,n,d,a-d):O(r.check,n,d,a-d)),d=h,(r.flags?u:L(u))!==r.check){t.msg=\"incorrect data check\",r.mode=30;break}l=u=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(u!==(4294967295&r.total)){t.msg=\"incorrect length check\",r.mode=30;break}l=u=0}r.mode=29;case 29:x=1;break t;case 30:x=-3;break t;case 31:return-4;case 32:default:return U}return t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,(r.wsize||d!==t.avail_out&&r.mode<30&&(r.mode<27||4!==e))&&Z(t,t.output,t.next_out,d-t.avail_out)?(r.mode=31,-4):(f-=t.avail_in,d-=t.avail_out,t.total_in+=f,t.total_out+=d,r.total+=d,r.wrap&&d&&(t.adler=r.check=r.flags?B(r.check,n,d,t.next_out-d):O(r.check,n,d,t.next_out-d)),t.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==f&&0===d||4===e)&&x===N&&(x=-5),x)},r.inflateEnd=function(t){if(!t||!t.state)return U;var e=t.state;return e.window&&(e.window=null),t.state=null,N},r.inflateGetHeader=function(t,e){var r;return t&&t.state?0==(2&(r=t.state).wrap)?U:((r.head=e).done=!1,N):U},r.inflateSetDictionary=function(t,e){var r,i=e.length;return t&&t.state?0!==(r=t.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,e,i,0)!==r.check?-3:Z(t,e,i,i)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo=\"pako inflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./inffast\":48,\"./inftrees\":50}],50:[function(t,e,r){\"use strict\";var D=t(\"../utils/common\"),F=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],N=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],U=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],P=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(t,e,r,i,n,s,a,o){var h,u,l,f,d,c,p,m,_,g=o.bits,b=0,v=0,y=0,w=0,k=0,x=0,S=0,z=0,C=0,E=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),R=null,T=0;for(b=0;b<=15;b++)O[b]=0;for(v=0;v<i;v++)O[e[r+v]]++;for(k=g,w=15;1<=w&&0===O[w];w--);if(w<k&&(k=w),0===w)return n[s++]=20971520,n[s++]=20971520,o.bits=1,0;for(y=1;y<w&&0===O[y];y++);for(k<y&&(k=y),b=z=1;b<=15;b++)if(z<<=1,(z-=O[b])<0)return-1;if(0<z&&(0===t||1!==w))return-1;for(B[1]=0,b=1;b<15;b++)B[b+1]=B[b]+O[b];for(v=0;v<i;v++)0!==e[r+v]&&(a[B[e[r+v]]++]=v);if(c=0===t?(A=R=a,19):1===t?(A=F,I-=257,R=N,T-=257,256):(A=U,R=P,-1),b=y,d=s,S=v=E=0,l=-1,f=(C=1<<(x=k))-1,1===t&&852<C||2===t&&592<C)return 1;for(;;){for(p=b-S,_=a[v]<c?(m=0,a[v]):a[v]>c?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<<b-S,y=u=1<<x;n[d+(E>>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<<b-1;E&h;)h>>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=e[r+a[v]]}if(k<b&&(E&f)!==l){for(0===S&&(S=k),d+=y,z=1<<(x=b-S);x+S<w&&!((z-=O[x+S])<=0);)x++,z<<=1;if(C+=1<<x,1===t&&852<C||2===t&&592<C)return 1;n[l=E&f]=k<<24|x<<16|d-s|0}}return 0!==E&&(n[d+E]=b-S<<24|64<<16|0),o.bits=k,0}},{\"../utils/common\":41}],51:[function(t,e,r){\"use strict\";e.exports={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"}},{}],52:[function(t,e,r){\"use strict\";var n=t(\"../utils/common\"),o=0,h=1;function i(t){for(var e=t.length;0<=--e;)t[e]=0}var s=0,a=29,u=256,l=u+1+a,f=30,d=19,_=2*l+1,g=15,c=16,p=7,m=256,b=16,v=17,y=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],z=new Array(2*(l+2));i(z);var C=new Array(2*f);i(C);var E=new Array(512);i(E);var A=new Array(256);i(A);var I=new Array(a);i(I);var O,B,R,T=new Array(f);function D(t,e,r,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}function F(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function N(t){return t<256?E[t]:E[256+(t>>>7)]}function U(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function P(t,e,r){t.bi_valid>c-r?(t.bi_buf|=e<<t.bi_valid&65535,U(t,t.bi_buf),t.bi_buf=e>>c-t.bi_valid,t.bi_valid+=r-c):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=r)}function L(t,e,r){P(t,r[2*e],r[2*e+1])}function j(t,e){for(var r=0;r|=1&t,t>>>=1,r<<=1,0<--e;);return r>>>1}function Z(t,e,r){var i,n,s=new Array(g+1),a=0;for(i=1;i<=g;i++)s[i]=a=a+r[i-1]<<1;for(n=0;n<=e;n++){var o=t[2*n+1];0!==o&&(t[2*n]=j(s[o]++,o))}}function W(t){var e;for(e=0;e<l;e++)t.dyn_ltree[2*e]=0;for(e=0;e<f;e++)t.dyn_dtree[2*e]=0;for(e=0;e<d;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*m]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function M(t){8<t.bi_valid?U(t,t.bi_buf):0<t.bi_valid&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function H(t,e,r,i){var n=2*e,s=2*r;return t[n]<t[s]||t[n]===t[s]&&i[e]<=i[r]}function G(t,e,r){for(var i=t.heap[r],n=r<<1;n<=t.heap_len&&(n<t.heap_len&&H(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!H(e,i,t.heap[n],t.depth));)t.heap[r]=t.heap[n],r=n,n<<=1;t.heap[r]=i}function K(t,e,r){var i,n,s,a,o=0;if(0!==t.last_lit)for(;i=t.pending_buf[t.d_buf+2*o]<<8|t.pending_buf[t.d_buf+2*o+1],n=t.pending_buf[t.l_buf+o],o++,0===i?L(t,n,e):(L(t,(s=A[n])+u+1,e),0!==(a=w[s])&&P(t,n-=I[s],a),L(t,s=N(--i),r),0!==(a=k[s])&&P(t,i-=T[s],a)),o<t.last_lit;);L(t,m,e)}function Y(t,e){var r,i,n,s=e.dyn_tree,a=e.stat_desc.static_tree,o=e.stat_desc.has_stree,h=e.stat_desc.elems,u=-1;for(t.heap_len=0,t.heap_max=_,r=0;r<h;r++)0!==s[2*r]?(t.heap[++t.heap_len]=u=r,t.depth[r]=0):s[2*r+1]=0;for(;t.heap_len<2;)s[2*(n=t.heap[++t.heap_len]=u<2?++u:0)]=1,t.depth[n]=0,t.opt_len--,o&&(t.static_len-=a[2*n+1]);for(e.max_code=u,r=t.heap_len>>1;1<=r;r--)G(t,s,r);for(n=h;r=t.heap[1],t.heap[1]=t.heap[t.heap_len--],G(t,s,1),i=t.heap[1],t.heap[--t.heap_max]=r,t.heap[--t.heap_max]=i,s[2*n]=s[2*r]+s[2*i],t.depth[n]=(t.depth[r]>=t.depth[i]?t.depth[r]:t.depth[i])+1,s[2*r+1]=s[2*i+1]=n,t.heap[1]=n++,G(t,s,1),2<=t.heap_len;);t.heap[--t.heap_max]=t.heap[1],function(t,e){var r,i,n,s,a,o,h=e.dyn_tree,u=e.max_code,l=e.stat_desc.static_tree,f=e.stat_desc.has_stree,d=e.stat_desc.extra_bits,c=e.stat_desc.extra_base,p=e.stat_desc.max_length,m=0;for(s=0;s<=g;s++)t.bl_count[s]=0;for(h[2*t.heap[t.heap_max]+1]=0,r=t.heap_max+1;r<_;r++)p<(s=h[2*h[2*(i=t.heap[r])+1]+1]+1)&&(s=p,m++),h[2*i+1]=s,u<i||(t.bl_count[s]++,a=0,c<=i&&(a=d[i-c]),o=h[2*i],t.opt_len+=o*(s+a),f&&(t.static_len+=o*(l[2*i+1]+a)));if(0!==m){do{for(s=p-1;0===t.bl_count[s];)s--;t.bl_count[s]--,t.bl_count[s+1]+=2,t.bl_count[p]--,m-=2}while(0<m);for(s=p;0!==s;s--)for(i=t.bl_count[s];0!==i;)u<(n=t.heap[--r])||(h[2*n+1]!==s&&(t.opt_len+=(s-h[2*n+1])*h[2*n],h[2*n+1]=s),i--)}}(t,e),Z(s,u,t.bl_count)}function X(t,e,r){var i,n,s=-1,a=e[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),e[2*(r+1)+1]=65535,i=0;i<=r;i++)n=a,a=e[2*(i+1)+1],++o<h&&n===a||(o<u?t.bl_tree[2*n]+=o:0!==n?(n!==s&&t.bl_tree[2*n]++,t.bl_tree[2*b]++):o<=10?t.bl_tree[2*v]++:t.bl_tree[2*y]++,s=n,u=(o=0)===a?(h=138,3):n===a?(h=6,3):(h=7,4))}function V(t,e,r){var i,n,s=-1,a=e[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),i=0;i<=r;i++)if(n=a,a=e[2*(i+1)+1],!(++o<h&&n===a)){if(o<u)for(;L(t,n,t.bl_tree),0!=--o;);else 0!==n?(n!==s&&(L(t,n,t.bl_tree),o--),L(t,b,t.bl_tree),P(t,o-3,2)):o<=10?(L(t,v,t.bl_tree),P(t,o-3,3)):(L(t,y,t.bl_tree),P(t,o-11,7));s=n,u=(o=0)===a?(h=138,3):n===a?(h=6,3):(h=7,4)}}i(T);var q=!1;function J(t,e,r,i){P(t,(s<<1)+(i?1:0),3),function(t,e,r,i){M(t),i&&(U(t,r),U(t,~r)),n.arraySet(t.pending_buf,t.window,e,r,t.pending),t.pending+=r}(t,e,r,!0)}r._tr_init=function(t){q||(function(){var t,e,r,i,n,s=new Array(g+1);for(i=r=0;i<a-1;i++)for(I[i]=r,t=0;t<1<<w[i];t++)A[r++]=i;for(A[r-1]=i,i=n=0;i<16;i++)for(T[i]=n,t=0;t<1<<k[i];t++)E[n++]=i;for(n>>=7;i<f;i++)for(T[i]=n<<7,t=0;t<1<<k[i]-7;t++)E[256+n++]=i;for(e=0;e<=g;e++)s[e]=0;for(t=0;t<=143;)z[2*t+1]=8,t++,s[8]++;for(;t<=255;)z[2*t+1]=9,t++,s[9]++;for(;t<=279;)z[2*t+1]=7,t++,s[7]++;for(;t<=287;)z[2*t+1]=8,t++,s[8]++;for(Z(z,l+1,s),t=0;t<f;t++)C[2*t+1]=5,C[2*t]=j(t,5);O=new D(z,w,u+1,l,g),B=new D(C,k,0,f,g),R=new D(new Array(0),x,0,d,p)}(),q=!0),t.l_desc=new F(t.dyn_ltree,O),t.d_desc=new F(t.dyn_dtree,B),t.bl_desc=new F(t.bl_tree,R),t.bi_buf=0,t.bi_valid=0,W(t)},r._tr_stored_block=J,r._tr_flush_block=function(t,e,r,i){var n,s,a=0;0<t.level?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return o;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return h;for(e=32;e<u;e++)if(0!==t.dyn_ltree[2*e])return h;return o}(t)),Y(t,t.l_desc),Y(t,t.d_desc),a=function(t){var e;for(X(t,t.dyn_ltree,t.l_desc.max_code),X(t,t.dyn_dtree,t.d_desc.max_code),Y(t,t.bl_desc),e=d-1;3<=e&&0===t.bl_tree[2*S[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),n=t.opt_len+3+7>>>3,(s=t.static_len+3+7>>>3)<=n&&(n=s)):n=s=r+5,r+4<=n&&-1!==e?J(t,e,r,i):4===t.strategy||s===n?(P(t,2+(i?1:0),3),K(t,z,C)):(P(t,4+(i?1:0),3),function(t,e,r,i){var n;for(P(t,e-257,5),P(t,r-1,5),P(t,i-4,4),n=0;n<i;n++)P(t,t.bl_tree[2*S[n]+1],3);V(t,t.dyn_ltree,e-1),V(t,t.dyn_dtree,r-1)}(t,t.l_desc.max_code+1,t.d_desc.max_code+1,a+1),K(t,t.dyn_ltree,t.dyn_dtree)),W(t),i&&M(t)},r._tr_tally=function(t,e,r){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&r,t.last_lit++,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(A[r]+u+1)]++,t.dyn_dtree[2*N(e)]++),t.last_lit===t.lit_bufsize-1},r._tr_align=function(t){P(t,2,3),L(t,m,z),function(t){16===t.bi_valid?(U(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):8<=t.bi_valid&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},{\"../utils/common\":41}],53:[function(t,e,r){\"use strict\";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,e,r){\"use strict\";e.exports=\"function\"==typeof setImmediate?setImmediate:function(){var t=[].slice.apply(arguments);t.splice(1,0,0),setTimeout.apply(null,t)}},{}]},{},[10])(10)});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(6).Buffer, __webpack_require__(4), __webpack_require__(60).setImmediate))\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar file_1 = __webpack_require__(12);\r\nexports.Document = file_1.File;\r\n__export(__webpack_require__(12));\r\n__export(__webpack_require__(352));\r\n__export(__webpack_require__(360));\r\n__export(__webpack_require__(44));\r\n\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst base_1 = __webpack_require__(25);\r\nexports.EMPTY_OBJECT = Object.seal({});\r\nclass XmlComponent extends base_1.BaseXmlComponent {\r\n constructor(rootKey) {\r\n super(rootKey);\r\n this.root = new Array();\r\n }\r\n prepForXml(file) {\r\n const children = this.root\r\n .filter((c) => {\r\n if (c instanceof base_1.BaseXmlComponent) {\r\n return !c.IsDeleted;\r\n }\r\n return c !== undefined;\r\n })\r\n .map((comp) => {\r\n if (comp instanceof base_1.BaseXmlComponent) {\r\n return comp.prepForXml(file);\r\n }\r\n return comp;\r\n })\r\n .filter((comp) => comp !== undefined);\r\n const onlyAttrs = (c) => typeof c === \"object\" && c._attr;\r\n return {\r\n [this.rootKey]: children.length ? (children.length === 1 && onlyAttrs(children[0]) ? children[0] : children) : exports.EMPTY_OBJECT,\r\n };\r\n }\r\n addChildElement(child) {\r\n this.root.push(child);\r\n return this;\r\n }\r\n delete() {\r\n this.deleted = true;\r\n }\r\n}\r\nexports.XmlComponent = XmlComponent;\r\nclass IgnoreIfEmptyXmlComponent extends XmlComponent {\r\n prepForXml() {\r\n const result = super.prepForXml();\r\n if (result && (typeof result[this.rootKey] !== \"object\" || Object.keys(result[this.rootKey]).length)) {\r\n return result;\r\n }\r\n }\r\n}\r\nexports.IgnoreIfEmptyXmlComponent = IgnoreIfEmptyXmlComponent;\r\n\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst default_attributes_1 = __webpack_require__(53);\r\nclass Attributes extends default_attributes_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n val: \"w:val\",\r\n color: \"w:color\",\r\n fill: \"w:fill\",\r\n space: \"w:space\",\r\n sz: \"w:sz\",\r\n type: \"w:type\",\r\n rsidR: \"w:rsidR\",\r\n rsidRPr: \"w:rsidRPr\",\r\n rsidSect: \"w:rsidSect\",\r\n w: \"w:w\",\r\n h: \"w:h\",\r\n top: \"w:top\",\r\n right: \"w:right\",\r\n bottom: \"w:bottom\",\r\n left: \"w:left\",\r\n header: \"w:header\",\r\n footer: \"w:footer\",\r\n gutter: \"w:gutter\",\r\n linePitch: \"w:linePitch\",\r\n pos: \"w:pos\",\r\n };\r\n }\r\n}\r\nexports.Attributes = Attributes;\r\n\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_js_1 = __webpack_require__(26);\r\nconst _1 = __webpack_require__(0);\r\nfunction convertToXmlComponent(element) {\r\n switch (element.type) {\r\n case undefined:\r\n case \"element\":\r\n const xmlComponent = new ImportedXmlComponent(element.name, element.attributes);\r\n const childElments = element.elements || [];\r\n for (const childElm of childElments) {\r\n const child = convertToXmlComponent(childElm);\r\n if (child !== undefined) {\r\n xmlComponent.push(child);\r\n }\r\n }\r\n return xmlComponent;\r\n case \"text\":\r\n return element.text;\r\n default:\r\n return undefined;\r\n }\r\n}\r\nexports.convertToXmlComponent = convertToXmlComponent;\r\nclass ImportedXmlComponentAttributes extends _1.XmlAttributeComponent {\r\n}\r\nclass ImportedXmlComponent extends _1.XmlComponent {\r\n static fromXmlString(importedContent) {\r\n const xmlObj = xml_js_1.xml2js(importedContent, { compact: false });\r\n return convertToXmlComponent(xmlObj);\r\n }\r\n constructor(rootKey, _attr) {\r\n super(rootKey);\r\n if (_attr) {\r\n this.root.push(new ImportedXmlComponentAttributes(_attr));\r\n }\r\n }\r\n push(xmlComponent) {\r\n this.root.push(xmlComponent);\r\n }\r\n}\r\nexports.ImportedXmlComponent = ImportedXmlComponent;\r\nclass ImportedRootElementAttributes extends _1.XmlComponent {\r\n constructor(_attr) {\r\n super(\"\");\r\n this._attr = _attr;\r\n }\r\n prepForXml() {\r\n return {\r\n _attr: this._attr,\r\n };\r\n }\r\n}\r\nexports.ImportedRootElementAttributes = ImportedRootElementAttributes;\r\n\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(Buffer) {;(function (sax) { // wrapper for non-node envs\n sax.parser = function (strict, opt) { return new SAXParser(strict, opt) }\n sax.SAXParser = SAXParser\n sax.SAXStream = SAXStream\n sax.createStream = createStream\n\n // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n // since that's the earliest that a buffer overrun could occur. This way, checks are\n // as rare as required, but as often as necessary to ensure never crossing this bound.\n // Furthermore, buffers are only tested at most once per write(), so passing a very\n // large string into write() might have undesirable effects, but this is manageable by\n // the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme\n // edge case, result in creating at most one complete copy of the string passed in.\n // Set to Infinity to have unlimited buffers.\n sax.MAX_BUFFER_LENGTH = 64 * 1024\n\n var buffers = [\n 'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype',\n 'procInstName', 'procInstBody', 'entity', 'attribName',\n 'attribValue', 'cdata', 'script'\n ]\n\n sax.EVENTS = [\n 'text',\n 'processinginstruction',\n 'sgmldeclaration',\n 'doctype',\n 'comment',\n 'opentagstart',\n 'attribute',\n 'opentag',\n 'closetag',\n 'opencdata',\n 'cdata',\n 'closecdata',\n 'error',\n 'end',\n 'ready',\n 'script',\n 'opennamespace',\n 'closenamespace'\n ]\n\n function SAXParser (strict, opt) {\n if (!(this instanceof SAXParser)) {\n return new SAXParser(strict, opt)\n }\n\n var parser = this\n clearBuffers(parser)\n parser.q = parser.c = ''\n parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH\n parser.opt = opt || {}\n parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags\n parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'\n parser.tags = []\n parser.closed = parser.closedRoot = parser.sawRoot = false\n parser.tag = parser.error = null\n parser.strict = !!strict\n parser.noscript = !!(strict || parser.opt.noscript)\n parser.state = S.BEGIN\n parser.strictEntities = parser.opt.strictEntities\n parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES)\n parser.attribList = []\n\n // namespaces form a prototype chain.\n // it always points at the current tag,\n // which protos to its parent tag.\n if (parser.opt.xmlns) {\n parser.ns = Object.create(rootNS)\n }\n\n // mostly just for error reporting\n parser.trackPosition = parser.opt.position !== false\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0\n }\n emit(parser, 'onready')\n }\n\n if (!Object.create) {\n Object.create = function (o) {\n function F () {}\n F.prototype = o\n var newf = new F()\n return newf\n }\n }\n\n if (!Object.keys) {\n Object.keys = function (o) {\n var a = []\n for (var i in o) if (o.hasOwnProperty(i)) a.push(i)\n return a\n }\n }\n\n function checkBufferLength (parser) {\n var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)\n var maxActual = 0\n for (var i = 0, l = buffers.length; i < l; i++) {\n var len = parser[buffers[i]].length\n if (len > maxAllowed) {\n // Text/cdata nodes can get big, and since they're buffered,\n // we can get here under normal conditions.\n // Avoid issues by emitting the text node now,\n // so at least it won't get any bigger.\n switch (buffers[i]) {\n case 'textNode':\n closeText(parser)\n break\n\n case 'cdata':\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n break\n\n case 'script':\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n break\n\n default:\n error(parser, 'Max buffer length exceeded: ' + buffers[i])\n }\n }\n maxActual = Math.max(maxActual, len)\n }\n // schedule the next check for the earliest possible buffer overrun.\n var m = sax.MAX_BUFFER_LENGTH - maxActual\n parser.bufferCheckPosition = m + parser.position\n }\n\n function clearBuffers (parser) {\n for (var i = 0, l = buffers.length; i < l; i++) {\n parser[buffers[i]] = ''\n }\n }\n\n function flushBuffers (parser) {\n closeText(parser)\n if (parser.cdata !== '') {\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n }\n if (parser.script !== '') {\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n }\n\n SAXParser.prototype = {\n end: function () { end(this) },\n write: write,\n resume: function () { this.error = null; return this },\n close: function () { return this.write(null) },\n flush: function () { flushBuffers(this) }\n }\n\n var Stream\n try {\n Stream = __webpack_require__(56).Stream\n } catch (ex) {\n Stream = function () {}\n }\n\n var streamWraps = sax.EVENTS.filter(function (ev) {\n return ev !== 'error' && ev !== 'end'\n })\n\n function createStream (strict, opt) {\n return new SAXStream(strict, opt)\n }\n\n function SAXStream (strict, opt) {\n if (!(this instanceof SAXStream)) {\n return new SAXStream(strict, opt)\n }\n\n Stream.apply(this)\n\n this._parser = new SAXParser(strict, opt)\n this.writable = true\n this.readable = true\n\n var me = this\n\n this._parser.onend = function () {\n me.emit('end')\n }\n\n this._parser.onerror = function (er) {\n me.emit('error', er)\n\n // if didn't throw, then means error was handled.\n // go ahead and clear error, so we can write again.\n me._parser.error = null\n }\n\n this._decoder = null\n\n streamWraps.forEach(function (ev) {\n Object.defineProperty(me, 'on' + ev, {\n get: function () {\n return me._parser['on' + ev]\n },\n set: function (h) {\n if (!h) {\n me.removeAllListeners(ev)\n me._parser['on' + ev] = h\n return h\n }\n me.on(ev, h)\n },\n enumerable: true,\n configurable: false\n })\n })\n }\n\n SAXStream.prototype = Object.create(Stream.prototype, {\n constructor: {\n value: SAXStream\n }\n })\n\n SAXStream.prototype.write = function (data) {\n if (typeof Buffer === 'function' &&\n typeof Buffer.isBuffer === 'function' &&\n Buffer.isBuffer(data)) {\n if (!this._decoder) {\n var SD = __webpack_require__(30).StringDecoder\n this._decoder = new SD('utf8')\n }\n data = this._decoder.write(data)\n }\n\n this._parser.write(data.toString())\n this.emit('data', data)\n return true\n }\n\n SAXStream.prototype.end = function (chunk) {\n if (chunk && chunk.length) {\n this.write(chunk)\n }\n this._parser.end()\n return true\n }\n\n SAXStream.prototype.on = function (ev, handler) {\n var me = this\n if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) {\n me._parser['on' + ev] = function () {\n var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments)\n args.splice(0, 0, ev)\n me.emit.apply(me, args)\n }\n }\n\n return Stream.prototype.on.call(me, ev, handler)\n }\n\n // this really needs to be replaced with character classes.\n // XML allows all manner of ridiculous numbers and digits.\n var CDATA = '[CDATA['\n var DOCTYPE = 'DOCTYPE'\n var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'\n var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'\n var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }\n\n // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n // This implementation works on strings, a single character at a time\n // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n // without a significant breaking change to either this parser, or the\n // JavaScript language. Implementation of an emoji-capable xml parser\n // is left as an exercise for the reader.\n var nameStart = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n\n var nameBody = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n var entityStart = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n var entityBody = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n function isWhitespace (c) {\n return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t'\n }\n\n function isQuote (c) {\n return c === '\"' || c === '\\''\n }\n\n function isAttribEnd (c) {\n return c === '>' || isWhitespace(c)\n }\n\n function isMatch (regex, c) {\n return regex.test(c)\n }\n\n function notMatch (regex, c) {\n return !isMatch(regex, c)\n }\n\n var S = 0\n sax.STATE = {\n BEGIN: S++, // leading byte order mark or whitespace\n BEGIN_WHITESPACE: S++, // leading whitespace\n TEXT: S++, // general stuff\n TEXT_ENTITY: S++, // & and such.\n OPEN_WAKA: S++, // <\n SGML_DECL: S++, // <!BLARG\n SGML_DECL_QUOTED: S++, // <!BLARG foo \"bar\n DOCTYPE: S++, // <!DOCTYPE\n DOCTYPE_QUOTED: S++, // <!DOCTYPE \"//blah\n DOCTYPE_DTD: S++, // <!DOCTYPE \"//blah\" [ ...\n DOCTYPE_DTD_QUOTED: S++, // <!DOCTYPE \"//blah\" [ \"foo\n COMMENT_STARTING: S++, // <!-\n COMMENT: S++, // <!--\n COMMENT_ENDING: S++, // <!-- blah -\n COMMENT_ENDED: S++, // <!-- blah --\n CDATA: S++, // <![CDATA[ something\n CDATA_ENDING: S++, // ]\n CDATA_ENDING_2: S++, // ]]\n PROC_INST: S++, // <?hi\n PROC_INST_BODY: S++, // <?hi there\n PROC_INST_ENDING: S++, // <?hi \"there\" ?\n OPEN_TAG: S++, // <strong\n OPEN_TAG_SLASH: S++, // <strong /\n ATTRIB: S++, // <a\n ATTRIB_NAME: S++, // <a foo\n ATTRIB_NAME_SAW_WHITE: S++, // <a foo _\n ATTRIB_VALUE: S++, // <a foo=\n ATTRIB_VALUE_QUOTED: S++, // <a foo=\"bar\n ATTRIB_VALUE_CLOSED: S++, // <a foo=\"bar\"\n ATTRIB_VALUE_UNQUOTED: S++, // <a foo=bar\n ATTRIB_VALUE_ENTITY_Q: S++, // <foo bar=\""\"\n ATTRIB_VALUE_ENTITY_U: S++, // <foo bar="\n CLOSE_TAG: S++, // </a\n CLOSE_TAG_SAW_WHITE: S++, // </a >\n SCRIPT: S++, // <script> ...\n SCRIPT_ENDING: S++ // <script> ... <\n }\n\n sax.XML_ENTITIES = {\n 'amp': '&',\n 'gt': '>',\n 'lt': '<',\n 'quot': '\"',\n 'apos': \"'\"\n }\n\n sax.ENTITIES = {\n 'amp': '&',\n 'gt': '>',\n 'lt': '<',\n 'quot': '\"',\n 'apos': \"'\",\n 'AElig': 198,\n 'Aacute': 193,\n 'Acirc': 194,\n 'Agrave': 192,\n 'Aring': 197,\n 'Atilde': 195,\n 'Auml': 196,\n 'Ccedil': 199,\n 'ETH': 208,\n 'Eacute': 201,\n 'Ecirc': 202,\n 'Egrave': 200,\n 'Euml': 203,\n 'Iacute': 205,\n 'Icirc': 206,\n 'Igrave': 204,\n 'Iuml': 207,\n 'Ntilde': 209,\n 'Oacute': 211,\n 'Ocirc': 212,\n 'Ograve': 210,\n 'Oslash': 216,\n 'Otilde': 213,\n 'Ouml': 214,\n 'THORN': 222,\n 'Uacute': 218,\n 'Ucirc': 219,\n 'Ugrave': 217,\n 'Uuml': 220,\n 'Yacute': 221,\n 'aacute': 225,\n 'acirc': 226,\n 'aelig': 230,\n 'agrave': 224,\n 'aring': 229,\n 'atilde': 227,\n 'auml': 228,\n 'ccedil': 231,\n 'eacute': 233,\n 'ecirc': 234,\n 'egrave': 232,\n 'eth': 240,\n 'euml': 235,\n 'iacute': 237,\n 'icirc': 238,\n 'igrave': 236,\n 'iuml': 239,\n 'ntilde': 241,\n 'oacute': 243,\n 'ocirc': 244,\n 'ograve': 242,\n 'oslash': 248,\n 'otilde': 245,\n 'ouml': 246,\n 'szlig': 223,\n 'thorn': 254,\n 'uacute': 250,\n 'ucirc': 251,\n 'ugrave': 249,\n 'uuml': 252,\n 'yacute': 253,\n 'yuml': 255,\n 'copy': 169,\n 'reg': 174,\n 'nbsp': 160,\n 'iexcl': 161,\n 'cent': 162,\n 'pound': 163,\n 'curren': 164,\n 'yen': 165,\n 'brvbar': 166,\n 'sect': 167,\n 'uml': 168,\n 'ordf': 170,\n 'laquo': 171,\n 'not': 172,\n 'shy': 173,\n 'macr': 175,\n 'deg': 176,\n 'plusmn': 177,\n 'sup1': 185,\n 'sup2': 178,\n 'sup3': 179,\n 'acute': 180,\n 'micro': 181,\n 'para': 182,\n 'middot': 183,\n 'cedil': 184,\n 'ordm': 186,\n 'raquo': 187,\n 'frac14': 188,\n 'frac12': 189,\n 'frac34': 190,\n 'iquest': 191,\n 'times': 215,\n 'divide': 247,\n 'OElig': 338,\n 'oelig': 339,\n 'Scaron': 352,\n 'scaron': 353,\n 'Yuml': 376,\n 'fnof': 402,\n 'circ': 710,\n 'tilde': 732,\n 'Alpha': 913,\n 'Beta': 914,\n 'Gamma': 915,\n 'Delta': 916,\n 'Epsilon': 917,\n 'Zeta': 918,\n 'Eta': 919,\n 'Theta': 920,\n 'Iota': 921,\n 'Kappa': 922,\n 'Lambda': 923,\n 'Mu': 924,\n 'Nu': 925,\n 'Xi': 926,\n 'Omicron': 927,\n 'Pi': 928,\n 'Rho': 929,\n 'Sigma': 931,\n 'Tau': 932,\n 'Upsilon': 933,\n 'Phi': 934,\n 'Chi': 935,\n 'Psi': 936,\n 'Omega': 937,\n 'alpha': 945,\n 'beta': 946,\n 'gamma': 947,\n 'delta': 948,\n 'epsilon': 949,\n 'zeta': 950,\n 'eta': 951,\n 'theta': 952,\n 'iota': 953,\n 'kappa': 954,\n 'lambda': 955,\n 'mu': 956,\n 'nu': 957,\n 'xi': 958,\n 'omicron': 959,\n 'pi': 960,\n 'rho': 961,\n 'sigmaf': 962,\n 'sigma': 963,\n 'tau': 964,\n 'upsilon': 965,\n 'phi': 966,\n 'chi': 967,\n 'psi': 968,\n 'omega': 969,\n 'thetasym': 977,\n 'upsih': 978,\n 'piv': 982,\n 'ensp': 8194,\n 'emsp': 8195,\n 'thinsp': 8201,\n 'zwnj': 8204,\n 'zwj': 8205,\n 'lrm': 8206,\n 'rlm': 8207,\n 'ndash': 8211,\n 'mdash': 8212,\n 'lsquo': 8216,\n 'rsquo': 8217,\n 'sbquo': 8218,\n 'ldquo': 8220,\n 'rdquo': 8221,\n 'bdquo': 8222,\n 'dagger': 8224,\n 'Dagger': 8225,\n 'bull': 8226,\n 'hellip': 8230,\n 'permil': 8240,\n 'prime': 8242,\n 'Prime': 8243,\n 'lsaquo': 8249,\n 'rsaquo': 8250,\n 'oline': 8254,\n 'frasl': 8260,\n 'euro': 8364,\n 'image': 8465,\n 'weierp': 8472,\n 'real': 8476,\n 'trade': 8482,\n 'alefsym': 8501,\n 'larr': 8592,\n 'uarr': 8593,\n 'rarr': 8594,\n 'darr': 8595,\n 'harr': 8596,\n 'crarr': 8629,\n 'lArr': 8656,\n 'uArr': 8657,\n 'rArr': 8658,\n 'dArr': 8659,\n 'hArr': 8660,\n 'forall': 8704,\n 'part': 8706,\n 'exist': 8707,\n 'empty': 8709,\n 'nabla': 8711,\n 'isin': 8712,\n 'notin': 8713,\n 'ni': 8715,\n 'prod': 8719,\n 'sum': 8721,\n 'minus': 8722,\n 'lowast': 8727,\n 'radic': 8730,\n 'prop': 8733,\n 'infin': 8734,\n 'ang': 8736,\n 'and': 8743,\n 'or': 8744,\n 'cap': 8745,\n 'cup': 8746,\n 'int': 8747,\n 'there4': 8756,\n 'sim': 8764,\n 'cong': 8773,\n 'asymp': 8776,\n 'ne': 8800,\n 'equiv': 8801,\n 'le': 8804,\n 'ge': 8805,\n 'sub': 8834,\n 'sup': 8835,\n 'nsub': 8836,\n 'sube': 8838,\n 'supe': 8839,\n 'oplus': 8853,\n 'otimes': 8855,\n 'perp': 8869,\n 'sdot': 8901,\n 'lceil': 8968,\n 'rceil': 8969,\n 'lfloor': 8970,\n 'rfloor': 8971,\n 'lang': 9001,\n 'rang': 9002,\n 'loz': 9674,\n 'spades': 9824,\n 'clubs': 9827,\n 'hearts': 9829,\n 'diams': 9830\n }\n\n Object.keys(sax.ENTITIES).forEach(function (key) {\n var e = sax.ENTITIES[key]\n var s = typeof e === 'number' ? String.fromCharCode(e) : e\n sax.ENTITIES[key] = s\n })\n\n for (var s in sax.STATE) {\n sax.STATE[sax.STATE[s]] = s\n }\n\n // shorthand\n S = sax.STATE\n\n function emit (parser, event, data) {\n parser[event] && parser[event](data)\n }\n\n function emitNode (parser, nodeType, data) {\n if (parser.textNode) closeText(parser)\n emit(parser, nodeType, data)\n }\n\n function closeText (parser) {\n parser.textNode = textopts(parser.opt, parser.textNode)\n if (parser.textNode) emit(parser, 'ontext', parser.textNode)\n parser.textNode = ''\n }\n\n function textopts (opt, text) {\n if (opt.trim) text = text.trim()\n if (opt.normalize) text = text.replace(/\\s+/g, ' ')\n return text\n }\n\n function error (parser, er) {\n closeText(parser)\n if (parser.trackPosition) {\n er += '\\nLine: ' + parser.line +\n '\\nColumn: ' + parser.column +\n '\\nChar: ' + parser.c\n }\n er = new Error(er)\n parser.error = er\n emit(parser, 'onerror', er)\n return parser\n }\n\n function end (parser) {\n if (parser.sawRoot && !parser.closedRoot) strictFail(parser, 'Unclosed root tag')\n if ((parser.state !== S.BEGIN) &&\n (parser.state !== S.BEGIN_WHITESPACE) &&\n (parser.state !== S.TEXT)) {\n error(parser, 'Unexpected end')\n }\n closeText(parser)\n parser.c = ''\n parser.closed = true\n emit(parser, 'onend')\n SAXParser.call(parser, parser.strict, parser.opt)\n return parser\n }\n\n function strictFail (parser, message) {\n if (typeof parser !== 'object' || !(parser instanceof SAXParser)) {\n throw new Error('bad call to strictFail')\n }\n if (parser.strict) {\n error(parser, message)\n }\n }\n\n function newTag (parser) {\n if (!parser.strict) parser.tagName = parser.tagName[parser.looseCase]()\n var parent = parser.tags[parser.tags.length - 1] || parser\n var tag = parser.tag = { name: parser.tagName, attributes: {} }\n\n // will be overridden if tag contails an xmlns=\"foo\" or xmlns:foo=\"bar\"\n if (parser.opt.xmlns) {\n tag.ns = parent.ns\n }\n parser.attribList.length = 0\n emitNode(parser, 'onopentagstart', tag)\n }\n\n function qname (name, attribute) {\n var i = name.indexOf(':')\n var qualName = i < 0 ? [ '', name ] : name.split(':')\n var prefix = qualName[0]\n var local = qualName[1]\n\n // <x \"xmlns\"=\"http://foo\">\n if (attribute && name === 'xmlns') {\n prefix = 'xmlns'\n local = ''\n }\n\n return { prefix: prefix, local: local }\n }\n\n function attrib (parser) {\n if (!parser.strict) {\n parser.attribName = parser.attribName[parser.looseCase]()\n }\n\n if (parser.attribList.indexOf(parser.attribName) !== -1 ||\n parser.tag.attributes.hasOwnProperty(parser.attribName)) {\n parser.attribName = parser.attribValue = ''\n return\n }\n\n if (parser.opt.xmlns) {\n var qn = qname(parser.attribName, true)\n var prefix = qn.prefix\n var local = qn.local\n\n if (prefix === 'xmlns') {\n // namespace binding attribute. push the binding into scope\n if (local === 'xml' && parser.attribValue !== XML_NAMESPACE) {\n strictFail(parser,\n 'xml: prefix must be bound to ' + XML_NAMESPACE + '\\n' +\n 'Actual: ' + parser.attribValue)\n } else if (local === 'xmlns' && parser.attribValue !== XMLNS_NAMESPACE) {\n strictFail(parser,\n 'xmlns: prefix must be bound to ' + XMLNS_NAMESPACE + '\\n' +\n 'Actual: ' + parser.attribValue)\n } else {\n var tag = parser.tag\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (tag.ns === parent.ns) {\n tag.ns = Object.create(parent.ns)\n }\n tag.ns[local] = parser.attribValue\n }\n }\n\n // defer onattribute events until all attributes have been seen\n // so any new bindings can take effect. preserve attribute order\n // so deferred events can be emitted in document order\n parser.attribList.push([parser.attribName, parser.attribValue])\n } else {\n // in non-xmlns mode, we can emit the event right away\n parser.tag.attributes[parser.attribName] = parser.attribValue\n emitNode(parser, 'onattribute', {\n name: parser.attribName,\n value: parser.attribValue\n })\n }\n\n parser.attribName = parser.attribValue = ''\n }\n\n function openTag (parser, selfClosing) {\n if (parser.opt.xmlns) {\n // emit namespace binding events\n var tag = parser.tag\n\n // add namespace info to tag\n var qn = qname(parser.tagName)\n tag.prefix = qn.prefix\n tag.local = qn.local\n tag.uri = tag.ns[qn.prefix] || ''\n\n if (tag.prefix && !tag.uri) {\n strictFail(parser, 'Unbound namespace prefix: ' +\n JSON.stringify(parser.tagName))\n tag.uri = qn.prefix\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (tag.ns && parent.ns !== tag.ns) {\n Object.keys(tag.ns).forEach(function (p) {\n emitNode(parser, 'onopennamespace', {\n prefix: p,\n uri: tag.ns[p]\n })\n })\n }\n\n // handle deferred onattribute events\n // Note: do not apply default ns to attributes:\n // http://www.w3.org/TR/REC-xml-names/#defaulting\n for (var i = 0, l = parser.attribList.length; i < l; i++) {\n var nv = parser.attribList[i]\n var name = nv[0]\n var value = nv[1]\n var qualName = qname(name, true)\n var prefix = qualName.prefix\n var local = qualName.local\n var uri = prefix === '' ? '' : (tag.ns[prefix] || '')\n var a = {\n name: name,\n value: value,\n prefix: prefix,\n local: local,\n uri: uri\n }\n\n // if there's any attributes with an undefined namespace,\n // then fail on them now.\n if (prefix && prefix !== 'xmlns' && !uri) {\n strictFail(parser, 'Unbound namespace prefix: ' +\n JSON.stringify(prefix))\n a.uri = prefix\n }\n parser.tag.attributes[name] = a\n emitNode(parser, 'onattribute', a)\n }\n parser.attribList.length = 0\n }\n\n parser.tag.isSelfClosing = !!selfClosing\n\n // process the tag\n parser.sawRoot = true\n parser.tags.push(parser.tag)\n emitNode(parser, 'onopentag', parser.tag)\n if (!selfClosing) {\n // special case for <script> in non-strict mode.\n if (!parser.noscript && parser.tagName.toLowerCase() === 'script') {\n parser.state = S.SCRIPT\n } else {\n parser.state = S.TEXT\n }\n parser.tag = null\n parser.tagName = ''\n }\n parser.attribName = parser.attribValue = ''\n parser.attribList.length = 0\n }\n\n function closeTag (parser) {\n if (!parser.tagName) {\n strictFail(parser, 'Weird empty close tag.')\n parser.textNode += '</>'\n parser.state = S.TEXT\n return\n }\n\n if (parser.script) {\n if (parser.tagName !== 'script') {\n parser.script += '</' + parser.tagName + '>'\n parser.tagName = ''\n parser.state = S.SCRIPT\n return\n }\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n\n // first make sure that the closing tag actually exists.\n // <a><b></c></b></a> will close everything, otherwise.\n var t = parser.tags.length\n var tagName = parser.tagName\n if (!parser.strict) {\n tagName = tagName[parser.looseCase]()\n }\n var closeTo = tagName\n while (t--) {\n var close = parser.tags[t]\n if (close.name !== closeTo) {\n // fail the first time in strict mode\n strictFail(parser, 'Unexpected close tag')\n } else {\n break\n }\n }\n\n // didn't find it. we already failed for strict, so just abort.\n if (t < 0) {\n strictFail(parser, 'Unmatched closing tag: ' + parser.tagName)\n parser.textNode += '</' + parser.tagName + '>'\n parser.state = S.TEXT\n return\n }\n parser.tagName = tagName\n var s = parser.tags.length\n while (s-- > t) {\n var tag = parser.tag = parser.tags.pop()\n parser.tagName = parser.tag.name\n emitNode(parser, 'onclosetag', parser.tagName)\n\n var x = {}\n for (var i in tag.ns) {\n x[i] = tag.ns[i]\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (parser.opt.xmlns && tag.ns !== parent.ns) {\n // remove namespace bindings introduced by tag\n Object.keys(tag.ns).forEach(function (p) {\n var n = tag.ns[p]\n emitNode(parser, 'onclosenamespace', { prefix: p, uri: n })\n })\n }\n }\n if (t === 0) parser.closedRoot = true\n parser.tagName = parser.attribValue = parser.attribName = ''\n parser.attribList.length = 0\n parser.state = S.TEXT\n }\n\n function parseEntity (parser) {\n var entity = parser.entity\n var entityLC = entity.toLowerCase()\n var num\n var numStr = ''\n\n if (parser.ENTITIES[entity]) {\n return parser.ENTITIES[entity]\n }\n if (parser.ENTITIES[entityLC]) {\n return parser.ENTITIES[entityLC]\n }\n entity = entityLC\n if (entity.charAt(0) === '#') {\n if (entity.charAt(1) === 'x') {\n entity = entity.slice(2)\n num = parseInt(entity, 16)\n numStr = num.toString(16)\n } else {\n entity = entity.slice(1)\n num = parseInt(entity, 10)\n numStr = num.toString(10)\n }\n }\n entity = entity.replace(/^0+/, '')\n if (isNaN(num) || numStr.toLowerCase() !== entity) {\n strictFail(parser, 'Invalid character entity')\n return '&' + parser.entity + ';'\n }\n\n return String.fromCodePoint(num)\n }\n\n function beginWhiteSpace (parser, c) {\n if (c === '<') {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else if (!isWhitespace(c)) {\n // have to process this as a text node.\n // weird, but happens.\n strictFail(parser, 'Non-whitespace before first tag.')\n parser.textNode = c\n parser.state = S.TEXT\n }\n }\n\n function charAt (chunk, i) {\n var result = ''\n if (i < chunk.length) {\n result = chunk.charAt(i)\n }\n return result\n }\n\n function write (chunk) {\n var parser = this\n if (this.error) {\n throw this.error\n }\n if (parser.closed) {\n return error(parser,\n 'Cannot write after close. Assign an onready handler.')\n }\n if (chunk === null) {\n return end(parser)\n }\n if (typeof chunk === 'object') {\n chunk = chunk.toString()\n }\n var i = 0\n var c = ''\n while (true) {\n c = charAt(chunk, i++)\n parser.c = c\n\n if (!c) {\n break\n }\n\n if (parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n\n switch (parser.state) {\n case S.BEGIN:\n parser.state = S.BEGIN_WHITESPACE\n if (c === '\\uFEFF') {\n continue\n }\n beginWhiteSpace(parser, c)\n continue\n\n case S.BEGIN_WHITESPACE:\n beginWhiteSpace(parser, c)\n continue\n\n case S.TEXT:\n if (parser.sawRoot && !parser.closedRoot) {\n var starti = i - 1\n while (c && c !== '<' && c !== '&') {\n c = charAt(chunk, i++)\n if (c && parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n }\n parser.textNode += chunk.substring(starti, i - 1)\n }\n if (c === '<' && !(parser.sawRoot && parser.closedRoot && !parser.strict)) {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else {\n if (!isWhitespace(c) && (!parser.sawRoot || parser.closedRoot)) {\n strictFail(parser, 'Text data outside of root node.')\n }\n if (c === '&') {\n parser.state = S.TEXT_ENTITY\n } else {\n parser.textNode += c\n }\n }\n continue\n\n case S.SCRIPT:\n // only non-strict\n if (c === '<') {\n parser.state = S.SCRIPT_ENDING\n } else {\n parser.script += c\n }\n continue\n\n case S.SCRIPT_ENDING:\n if (c === '/') {\n parser.state = S.CLOSE_TAG\n } else {\n parser.script += '<' + c\n parser.state = S.SCRIPT\n }\n continue\n\n case S.OPEN_WAKA:\n // either a /, ?, !, or text is coming next.\n if (c === '!') {\n parser.state = S.SGML_DECL\n parser.sgmlDecl = ''\n } else if (isWhitespace(c)) {\n // wait for it...\n } else if (isMatch(nameStart, c)) {\n parser.state = S.OPEN_TAG\n parser.tagName = c\n } else if (c === '/') {\n parser.state = S.CLOSE_TAG\n parser.tagName = ''\n } else if (c === '?') {\n parser.state = S.PROC_INST\n parser.procInstName = parser.procInstBody = ''\n } else {\n strictFail(parser, 'Unencoded <')\n // if there was some whitespace, then add that in.\n if (parser.startTagPosition + 1 < parser.position) {\n var pad = parser.position - parser.startTagPosition\n c = new Array(pad).join(' ') + c\n }\n parser.textNode += '<' + c\n parser.state = S.TEXT\n }\n continue\n\n case S.SGML_DECL:\n if ((parser.sgmlDecl + c).toUpperCase() === CDATA) {\n emitNode(parser, 'onopencdata')\n parser.state = S.CDATA\n parser.sgmlDecl = ''\n parser.cdata = ''\n } else if (parser.sgmlDecl + c === '--') {\n parser.state = S.COMMENT\n parser.comment = ''\n parser.sgmlDecl = ''\n } else if ((parser.sgmlDecl + c).toUpperCase() === DOCTYPE) {\n parser.state = S.DOCTYPE\n if (parser.doctype || parser.sawRoot) {\n strictFail(parser,\n 'Inappropriately located doctype declaration')\n }\n parser.doctype = ''\n parser.sgmlDecl = ''\n } else if (c === '>') {\n emitNode(parser, 'onsgmldeclaration', parser.sgmlDecl)\n parser.sgmlDecl = ''\n parser.state = S.TEXT\n } else if (isQuote(c)) {\n parser.state = S.SGML_DECL_QUOTED\n parser.sgmlDecl += c\n } else {\n parser.sgmlDecl += c\n }\n continue\n\n case S.SGML_DECL_QUOTED:\n if (c === parser.q) {\n parser.state = S.SGML_DECL\n parser.q = ''\n }\n parser.sgmlDecl += c\n continue\n\n case S.DOCTYPE:\n if (c === '>') {\n parser.state = S.TEXT\n emitNode(parser, 'ondoctype', parser.doctype)\n parser.doctype = true // just remember that we saw it.\n } else {\n parser.doctype += c\n if (c === '[') {\n parser.state = S.DOCTYPE_DTD\n } else if (isQuote(c)) {\n parser.state = S.DOCTYPE_QUOTED\n parser.q = c\n }\n }\n continue\n\n case S.DOCTYPE_QUOTED:\n parser.doctype += c\n if (c === parser.q) {\n parser.q = ''\n parser.state = S.DOCTYPE\n }\n continue\n\n case S.DOCTYPE_DTD:\n parser.doctype += c\n if (c === ']') {\n parser.state = S.DOCTYPE\n } else if (isQuote(c)) {\n parser.state = S.DOCTYPE_DTD_QUOTED\n parser.q = c\n }\n continue\n\n case S.DOCTYPE_DTD_QUOTED:\n parser.doctype += c\n if (c === parser.q) {\n parser.state = S.DOCTYPE_DTD\n parser.q = ''\n }\n continue\n\n case S.COMMENT:\n if (c === '-') {\n parser.state = S.COMMENT_ENDING\n } else {\n parser.comment += c\n }\n continue\n\n case S.COMMENT_ENDING:\n if (c === '-') {\n parser.state = S.COMMENT_ENDED\n parser.comment = textopts(parser.opt, parser.comment)\n if (parser.comment) {\n emitNode(parser, 'oncomment', parser.comment)\n }\n parser.comment = ''\n } else {\n parser.comment += '-' + c\n parser.state = S.COMMENT\n }\n continue\n\n case S.COMMENT_ENDED:\n if (c !== '>') {\n strictFail(parser, 'Malformed comment')\n // allow <!-- blah -- bloo --> in non-strict mode,\n // which is a comment of \" blah -- bloo \"\n parser.comment += '--' + c\n parser.state = S.COMMENT\n } else {\n parser.state = S.TEXT\n }\n continue\n\n case S.CDATA:\n if (c === ']') {\n parser.state = S.CDATA_ENDING\n } else {\n parser.cdata += c\n }\n continue\n\n case S.CDATA_ENDING:\n if (c === ']') {\n parser.state = S.CDATA_ENDING_2\n } else {\n parser.cdata += ']' + c\n parser.state = S.CDATA\n }\n continue\n\n case S.CDATA_ENDING_2:\n if (c === '>') {\n if (parser.cdata) {\n emitNode(parser, 'oncdata', parser.cdata)\n }\n emitNode(parser, 'onclosecdata')\n parser.cdata = ''\n parser.state = S.TEXT\n } else if (c === ']') {\n parser.cdata += ']'\n } else {\n parser.cdata += ']]' + c\n parser.state = S.CDATA\n }\n continue\n\n case S.PROC_INST:\n if (c === '?') {\n parser.state = S.PROC_INST_ENDING\n } else if (isWhitespace(c)) {\n parser.state = S.PROC_INST_BODY\n } else {\n parser.procInstName += c\n }\n continue\n\n case S.PROC_INST_BODY:\n if (!parser.procInstBody && isWhitespace(c)) {\n continue\n } else if (c === '?') {\n parser.state = S.PROC_INST_ENDING\n } else {\n parser.procInstBody += c\n }\n continue\n\n case S.PROC_INST_ENDING:\n if (c === '>') {\n emitNode(parser, 'onprocessinginstruction', {\n name: parser.procInstName,\n body: parser.procInstBody\n })\n parser.procInstName = parser.procInstBody = ''\n parser.state = S.TEXT\n } else {\n parser.procInstBody += '?' + c\n parser.state = S.PROC_INST_BODY\n }\n continue\n\n case S.OPEN_TAG:\n if (isMatch(nameBody, c)) {\n parser.tagName += c\n } else {\n newTag(parser)\n if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, 'Invalid character in tag name')\n }\n parser.state = S.ATTRIB\n }\n }\n continue\n\n case S.OPEN_TAG_SLASH:\n if (c === '>') {\n openTag(parser, true)\n closeTag(parser)\n } else {\n strictFail(parser, 'Forward-slash in opening tag not followed by >')\n parser.state = S.ATTRIB\n }\n continue\n\n case S.ATTRIB:\n // haven't read the attribute name yet.\n if (isWhitespace(c)) {\n continue\n } else if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c\n parser.attribValue = ''\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_NAME:\n if (c === '=') {\n parser.state = S.ATTRIB_VALUE\n } else if (c === '>') {\n strictFail(parser, 'Attribute without value')\n parser.attribValue = parser.attribName\n attrib(parser)\n openTag(parser)\n } else if (isWhitespace(c)) {\n parser.state = S.ATTRIB_NAME_SAW_WHITE\n } else if (isMatch(nameBody, c)) {\n parser.attribName += c\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_NAME_SAW_WHITE:\n if (c === '=') {\n parser.state = S.ATTRIB_VALUE\n } else if (isWhitespace(c)) {\n continue\n } else {\n strictFail(parser, 'Attribute without value')\n parser.tag.attributes[parser.attribName] = ''\n parser.attribValue = ''\n emitNode(parser, 'onattribute', {\n name: parser.attribName,\n value: ''\n })\n parser.attribName = ''\n if (c === '>') {\n openTag(parser)\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n parser.state = S.ATTRIB\n }\n }\n continue\n\n case S.ATTRIB_VALUE:\n if (isWhitespace(c)) {\n continue\n } else if (isQuote(c)) {\n parser.q = c\n parser.state = S.ATTRIB_VALUE_QUOTED\n } else {\n strictFail(parser, 'Unquoted attribute value')\n parser.state = S.ATTRIB_VALUE_UNQUOTED\n parser.attribValue = c\n }\n continue\n\n case S.ATTRIB_VALUE_QUOTED:\n if (c !== parser.q) {\n if (c === '&') {\n parser.state = S.ATTRIB_VALUE_ENTITY_Q\n } else {\n parser.attribValue += c\n }\n continue\n }\n attrib(parser)\n parser.q = ''\n parser.state = S.ATTRIB_VALUE_CLOSED\n continue\n\n case S.ATTRIB_VALUE_CLOSED:\n if (isWhitespace(c)) {\n parser.state = S.ATTRIB\n } else if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else if (isMatch(nameStart, c)) {\n strictFail(parser, 'No whitespace between attributes')\n parser.attribName = c\n parser.attribValue = ''\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_VALUE_UNQUOTED:\n if (!isAttribEnd(c)) {\n if (c === '&') {\n parser.state = S.ATTRIB_VALUE_ENTITY_U\n } else {\n parser.attribValue += c\n }\n continue\n }\n attrib(parser)\n if (c === '>') {\n openTag(parser)\n } else {\n parser.state = S.ATTRIB\n }\n continue\n\n case S.CLOSE_TAG:\n if (!parser.tagName) {\n if (isWhitespace(c)) {\n continue\n } else if (notMatch(nameStart, c)) {\n if (parser.script) {\n parser.script += '</' + c\n parser.state = S.SCRIPT\n } else {\n strictFail(parser, 'Invalid tagname in closing tag.')\n }\n } else {\n parser.tagName = c\n }\n } else if (c === '>') {\n closeTag(parser)\n } else if (isMatch(nameBody, c)) {\n parser.tagName += c\n } else if (parser.script) {\n parser.script += '</' + parser.tagName\n parser.tagName = ''\n parser.state = S.SCRIPT\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, 'Invalid tagname in closing tag')\n }\n parser.state = S.CLOSE_TAG_SAW_WHITE\n }\n continue\n\n case S.CLOSE_TAG_SAW_WHITE:\n if (isWhitespace(c)) {\n continue\n }\n if (c === '>') {\n closeTag(parser)\n } else {\n strictFail(parser, 'Invalid characters in closing tag')\n }\n continue\n\n case S.TEXT_ENTITY:\n case S.ATTRIB_VALUE_ENTITY_Q:\n case S.ATTRIB_VALUE_ENTITY_U:\n var returnState\n var buffer\n switch (parser.state) {\n case S.TEXT_ENTITY:\n returnState = S.TEXT\n buffer = 'textNode'\n break\n\n case S.ATTRIB_VALUE_ENTITY_Q:\n returnState = S.ATTRIB_VALUE_QUOTED\n buffer = 'attribValue'\n break\n\n case S.ATTRIB_VALUE_ENTITY_U:\n returnState = S.ATTRIB_VALUE_UNQUOTED\n buffer = 'attribValue'\n break\n }\n\n if (c === ';') {\n parser[buffer] += parseEntity(parser)\n parser.entity = ''\n parser.state = returnState\n } else if (isMatch(parser.entity.length ? entityBody : entityStart, c)) {\n parser.entity += c\n } else {\n strictFail(parser, 'Invalid character in entity name')\n parser[buffer] += '&' + parser.entity + c\n parser.entity = ''\n parser.state = returnState\n }\n\n continue\n\n default:\n throw new Error(parser, 'Unknown state: ' + parser.state)\n }\n } // while\n\n if (parser.position >= parser.bufferCheckPosition) {\n checkBufferLength(parser)\n }\n return parser\n }\n\n /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */\n /* istanbul ignore next */\n if (!String.fromCodePoint) {\n (function () {\n var stringFromCharCode = String.fromCharCode\n var floor = Math.floor\n var fromCodePoint = function () {\n var MAX_SIZE = 0x4000\n var codeUnits = []\n var highSurrogate\n var lowSurrogate\n var index = -1\n var length = arguments.length\n if (!length) {\n return ''\n }\n var result = ''\n while (++index < length) {\n var codePoint = Number(arguments[index])\n if (\n !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10FFFF || // not a valid Unicode code point\n floor(codePoint) !== codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint)\n }\n if (codePoint <= 0xFFFF) { // BMP code point\n codeUnits.push(codePoint)\n } else { // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000\n highSurrogate = (codePoint >> 10) + 0xD800\n lowSurrogate = (codePoint % 0x400) + 0xDC00\n codeUnits.push(highSurrogate, lowSurrogate)\n }\n if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n result += stringFromCharCode.apply(null, codeUnits)\n codeUnits.length = 0\n }\n }\n return result\n }\n /* istanbul ignore next */\n if (Object.defineProperty) {\n Object.defineProperty(String, 'fromCodePoint', {\n value: fromCodePoint,\n configurable: true,\n writable: true\n })\n } else {\n String.fromCodePoint = fromCodePoint\n }\n }())\n }\n})( false ? this.sax = {} : exports)\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(6).Buffer))\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n for (var i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports) {\n\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Buffer = __webpack_require__(16).Buffer;\nvar util = __webpack_require__(148);\n\nfunction copyBuffer(src, target, offset) {\n src.copy(target, offset);\n}\n\nmodule.exports = function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n BufferList.prototype.push = function push(v) {\n var entry = { data: v, next: null };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n };\n\n BufferList.prototype.unshift = function unshift(v) {\n var entry = { data: v, next: this.head };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n };\n\n BufferList.prototype.shift = function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n };\n\n BufferList.prototype.clear = function clear() {\n this.head = this.tail = null;\n this.length = 0;\n };\n\n BufferList.prototype.join = function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }return ret;\n };\n\n BufferList.prototype.concat = function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n if (this.length === 1) return this.head.data;\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n };\n\n return BufferList;\n}();\n\nif (util && util.inspect && util.inspect.custom) {\n module.exports.prototype[util.inspect.custom] = function () {\n var obj = util.inspect({ length: this.length });\n return this.constructor.name + ' ' + obj;\n };\n}\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4), __webpack_require__(13)))\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4)))\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n\n\nmodule.exports = PassThrough;\n\nvar Transform = __webpack_require__(61);\n\n/*<replacement>*/\nvar util = __webpack_require__(14);\nutil.inherits = __webpack_require__(7);\n/*</replacement>*/\n\nutil.inherits(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(29);\n\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(5);\n\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(28).Transform\n\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(28).PassThrough\n\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar helper = __webpack_require__(31);\r\nvar xml2js = __webpack_require__(54);\r\n\r\nfunction validateOptions (userOptions) {\r\n var options = helper.copyOptions(userOptions);\r\n helper.ensureSpacesExists(options);\r\n return options;\r\n}\r\n\r\nmodule.exports = function(xml, userOptions) {\r\n var options, js, json, parentKey;\r\n options = validateOptions(userOptions);\r\n js = xml2js(xml, options);\r\n parentKey = 'compact' in options && options.compact ? '_parent' : 'parent';\r\n // parentKey = ptions.compact ? '_parent' : 'parent'; // consider this\r\n if ('addParent' in options && options.addParent) {\r\n json = JSON.stringify(js, function (k, v) { return k === parentKey? '_' : v; }, options.spaces);\r\n } else {\r\n json = JSON.stringify(js, null, options.spaces);\r\n }\r\n return json.replace(/\\u2028/g, '\\\\u2028').replace(/\\u2029/g, '\\\\u2029');\r\n};\r\n\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(Buffer) {var js2xml = __webpack_require__(62);\r\n\r\nmodule.exports = function (json, options) {\r\n if (json instanceof Buffer) {\r\n json = json.toString();\r\n }\r\n var js = null;\r\n if (typeof (json) === 'string') {\r\n try {\r\n js = JSON.parse(json);\r\n } catch (e) {\r\n throw new Error('The JSON structure is invalid');\r\n }\r\n } else {\r\n js = json;\r\n }\r\n return js2xml(js, options);\r\n};\r\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(6).Buffer))\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.WORKAROUND3 = \"\";\r\n\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass InitializableXmlComponent extends xml_components_1.XmlComponent {\r\n constructor(rootKey, initComponent) {\r\n super(rootKey);\r\n if (initComponent) {\r\n this.root = initComponent.root;\r\n }\r\n }\r\n}\r\nexports.InitializableXmlComponent = InitializableXmlComponent;\r\n\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass BorderAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n val: \"w:val\",\r\n color: \"w:color\",\r\n space: \"w:space\",\r\n sz: \"w:sz\",\r\n };\r\n }\r\n}\r\nexports.BorderAttributes = BorderAttributes;\r\n\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst space_type_1 = __webpack_require__(8);\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TextAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { space: \"xml:space\" };\r\n }\r\n}\r\nclass Page extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:instrText\");\r\n this.root.push(new TextAttributes({ space: space_type_1.SpaceType.PRESERVE }));\r\n this.root.push(\"PAGE\");\r\n }\r\n}\r\nexports.Page = Page;\r\nclass NumberOfPages extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:instrText\");\r\n this.root.push(new TextAttributes({ space: space_type_1.SpaceType.PRESERVE }));\r\n this.root.push(\"NUMPAGES\");\r\n }\r\n}\r\nexports.NumberOfPages = NumberOfPages;\r\nclass NumberOfPagesSection extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:instrText\");\r\n this.root.push(new TextAttributes({ space: space_type_1.SpaceType.PRESERVE }));\r\n this.root.push(\"SECTIONPAGES\");\r\n }\r\n}\r\nexports.NumberOfPagesSection = NumberOfPagesSection;\r\n\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst run_1 = __webpack_require__(17);\r\nconst text_1 = __webpack_require__(71);\r\nclass TextRun extends run_1.Run {\r\n constructor(options) {\r\n if (typeof options === \"string\") {\r\n super({});\r\n this.root.push(new text_1.Text(options));\r\n return;\r\n }\r\n super(options);\r\n }\r\n}\r\nexports.TextRun = TextRun;\r\n\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst run_1 = __webpack_require__(17);\r\nconst symbol_1 = __webpack_require__(164);\r\nclass SymbolRun extends run_1.Run {\r\n constructor(options) {\r\n if (typeof options === \"string\") {\r\n super({});\r\n this.root.push(new symbol_1.Symbol(options));\r\n return;\r\n }\r\n super(options);\r\n this.root.push(new symbol_1.Symbol(options.char, options.symbolfont));\r\n }\r\n}\r\nexports.SymbolRun = SymbolRun;\r\n\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass SymbolAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n char: \"w:char\",\r\n symbolfont: \"w:font\",\r\n };\r\n }\r\n}\r\nclass Symbol extends xml_components_1.XmlComponent {\r\n constructor(char = \"\", symbolfont = \"Wingdings\") {\r\n super(\"w:sym\");\r\n this.root.push(new SymbolAttributes({ char: char, symbolfont: symbolfont }));\r\n }\r\n}\r\nexports.Symbol = Symbol;\r\n\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst drawing_1 = __webpack_require__(72);\r\nconst run_1 = __webpack_require__(3);\r\nclass PictureRun extends run_1.Run {\r\n constructor(imageData, drawingOptions) {\r\n super({});\r\n const drawing = new drawing_1.Drawing(imageData, drawingOptions);\r\n this.root.push(drawing);\r\n }\r\n}\r\nexports.PictureRun = PictureRun;\r\n\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst anchor_1 = __webpack_require__(167);\r\nconst inline_1 = __webpack_require__(210);\r\nclass Drawing extends xml_components_1.XmlComponent {\r\n constructor(imageData, drawingOptions = {}) {\r\n super(\"w:drawing\");\r\n if (!drawingOptions.floating) {\r\n this.inline = new inline_1.Inline(imageData, imageData.dimensions);\r\n this.root.push(this.inline);\r\n }\r\n else {\r\n this.root.push(new anchor_1.Anchor(imageData, imageData.dimensions, drawingOptions));\r\n }\r\n }\r\n scale(factorX, factorY) {\r\n this.inline.scale(factorX, factorY);\r\n }\r\n}\r\nexports.Drawing = Drawing;\r\n\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(168));\r\n__export(__webpack_require__(81));\r\n\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst floating_1 = __webpack_require__(73);\r\nconst graphic_1 = __webpack_require__(76);\r\nconst text_wrap_1 = __webpack_require__(36);\r\nconst doc_properties_1 = __webpack_require__(77);\r\nconst effect_extent_1 = __webpack_require__(78);\r\nconst extent_1 = __webpack_require__(79);\r\nconst graphic_frame_properties_1 = __webpack_require__(80);\r\nconst anchor_attributes_1 = __webpack_require__(81);\r\nclass Anchor extends xml_components_1.XmlComponent {\r\n constructor(mediaData, dimensions, drawingOptions) {\r\n super(\"wp:anchor\");\r\n const floating = Object.assign({ allowOverlap: true, behindDocument: false, lockAnchor: false, layoutInCell: true, verticalPosition: {}, horizontalPosition: {} }, drawingOptions.floating);\r\n this.root.push(new anchor_attributes_1.AnchorAttributes({\r\n distT: floating.margins ? floating.margins.top || 0 : 0,\r\n distB: floating.margins ? floating.margins.bottom || 0 : 0,\r\n distL: floating.margins ? floating.margins.left || 0 : 0,\r\n distR: floating.margins ? floating.margins.right || 0 : 0,\r\n simplePos: \"0\",\r\n allowOverlap: floating.allowOverlap === true ? \"1\" : \"0\",\r\n behindDoc: floating.behindDocument === true ? \"1\" : \"0\",\r\n locked: floating.lockAnchor === true ? \"1\" : \"0\",\r\n layoutInCell: floating.layoutInCell === true ? \"1\" : \"0\",\r\n relativeHeight: floating.zIndex ? floating.zIndex : dimensions.emus.y,\r\n }));\r\n this.root.push(new floating_1.SimplePos());\r\n this.root.push(new floating_1.HorizontalPosition(floating.horizontalPosition));\r\n this.root.push(new floating_1.VerticalPosition(floating.verticalPosition));\r\n this.root.push(new extent_1.Extent(dimensions.emus.x, dimensions.emus.y));\r\n this.root.push(new effect_extent_1.EffectExtent());\r\n if (drawingOptions.floating !== undefined && drawingOptions.floating.wrap !== undefined) {\r\n switch (drawingOptions.floating.wrap.type) {\r\n case text_wrap_1.TextWrappingType.SQUARE:\r\n this.root.push(new text_wrap_1.WrapSquare(drawingOptions.floating.wrap, drawingOptions.floating.margins));\r\n break;\r\n case text_wrap_1.TextWrappingType.TIGHT:\r\n this.root.push(new text_wrap_1.WrapTight(drawingOptions.floating.margins));\r\n break;\r\n case text_wrap_1.TextWrappingType.TOP_AND_BOTTOM:\r\n this.root.push(new text_wrap_1.WrapTopAndBottom(drawingOptions.floating.margins));\r\n break;\r\n case text_wrap_1.TextWrappingType.NONE:\r\n default:\r\n this.root.push(new text_wrap_1.WrapNone());\r\n }\r\n }\r\n else {\r\n this.root.push(new text_wrap_1.WrapNone());\r\n }\r\n this.root.push(new doc_properties_1.DocProperties());\r\n this.root.push(new graphic_frame_properties_1.GraphicFrameProperties());\r\n this.root.push(new graphic_1.Graphic(mediaData, dimensions.emus.x, dimensions.emus.y));\r\n }\r\n}\r\nexports.Anchor = Anchor;\r\n\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass SimplePosAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n x: \"x\",\r\n y: \"y\",\r\n };\r\n }\r\n}\r\nclass SimplePos extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"wp:simplePos\");\r\n this.root.push(new SimplePosAttributes({\r\n x: 0,\r\n y: 0,\r\n }));\r\n }\r\n}\r\nexports.SimplePos = SimplePos;\r\n\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst align_1 = __webpack_require__(74);\r\nconst floating_position_1 = __webpack_require__(35);\r\nconst position_offset_1 = __webpack_require__(75);\r\nclass HorizontalPositionAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n relativeFrom: \"relativeFrom\",\r\n };\r\n }\r\n}\r\nclass HorizontalPosition extends xml_components_1.XmlComponent {\r\n constructor(horizontalPosition) {\r\n super(\"wp:positionH\");\r\n this.root.push(new HorizontalPositionAttributes({\r\n relativeFrom: horizontalPosition.relative || floating_position_1.HorizontalPositionRelativeFrom.PAGE,\r\n }));\r\n if (horizontalPosition.align) {\r\n this.root.push(new align_1.Align(horizontalPosition.align));\r\n }\r\n else if (horizontalPosition.offset !== undefined) {\r\n this.root.push(new position_offset_1.PositionOffset(horizontalPosition.offset));\r\n }\r\n else {\r\n throw new Error(\"There is no configuration provided for floating position (Align or offset)\");\r\n }\r\n }\r\n}\r\nexports.HorizontalPosition = HorizontalPosition;\r\n\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst align_1 = __webpack_require__(74);\r\nconst floating_position_1 = __webpack_require__(35);\r\nconst position_offset_1 = __webpack_require__(75);\r\nclass VerticalPositionAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n relativeFrom: \"relativeFrom\",\r\n };\r\n }\r\n}\r\nclass VerticalPosition extends xml_components_1.XmlComponent {\r\n constructor(verticalPosition) {\r\n super(\"wp:positionV\");\r\n this.root.push(new VerticalPositionAttributes({\r\n relativeFrom: verticalPosition.relative || floating_position_1.VerticalPositionRelativeFrom.PAGE,\r\n }));\r\n if (verticalPosition.align) {\r\n this.root.push(new align_1.Align(verticalPosition.align));\r\n }\r\n else if (verticalPosition.offset !== undefined) {\r\n this.root.push(new position_offset_1.PositionOffset(verticalPosition.offset));\r\n }\r\n else {\r\n throw new Error(\"There is no configuration provided for floating position (Align or offset)\");\r\n }\r\n }\r\n}\r\nexports.VerticalPosition = VerticalPosition;\r\n\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst graphic_data_1 = __webpack_require__(173);\r\nclass GraphicAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n a: \"xmlns:a\",\r\n };\r\n }\r\n}\r\nclass Graphic extends xml_components_1.XmlComponent {\r\n constructor(mediaData, x, y) {\r\n super(\"a:graphic\");\r\n this.root.push(new GraphicAttributes({\r\n a: \"http://schemas.openxmlformats.org/drawingml/2006/main\",\r\n }));\r\n this.data = new graphic_data_1.GraphicData(mediaData, x, y);\r\n this.root.push(this.data);\r\n }\r\n setXY(x, y) {\r\n this.data.setXY(x, y);\r\n }\r\n}\r\nexports.Graphic = Graphic;\r\n\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(174));\r\n\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst graphic_data_attribute_1 = __webpack_require__(175);\r\nconst pic_1 = __webpack_require__(176);\r\nclass GraphicData extends xml_components_1.XmlComponent {\r\n constructor(mediaData, x, y) {\r\n super(\"a:graphicData\");\r\n this.root.push(new graphic_data_attribute_1.GraphicDataAttributes({\r\n uri: \"http://schemas.openxmlformats.org/drawingml/2006/picture\",\r\n }));\r\n this.pic = new pic_1.Pic(mediaData, x, y);\r\n this.root.push(this.pic);\r\n }\r\n setXY(x, y) {\r\n this.pic.setXY(x, y);\r\n }\r\n}\r\nexports.GraphicData = GraphicData;\r\n\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass GraphicDataAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n uri: \"uri\",\r\n };\r\n }\r\n}\r\nexports.GraphicDataAttributes = GraphicDataAttributes;\r\n\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(177));\r\n\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst blip_fill_1 = __webpack_require__(178);\r\nconst non_visual_pic_properties_1 = __webpack_require__(182);\r\nconst pic_attributes_1 = __webpack_require__(188);\r\nconst shape_properties_1 = __webpack_require__(189);\r\nclass Pic extends xml_components_1.XmlComponent {\r\n constructor(mediaData, x, y) {\r\n super(\"pic:pic\");\r\n this.root.push(new pic_attributes_1.PicAttributes({\r\n xmlns: \"http://schemas.openxmlformats.org/drawingml/2006/picture\",\r\n }));\r\n this.shapeProperties = new shape_properties_1.ShapeProperties(x, y);\r\n this.root.push(new non_visual_pic_properties_1.NonVisualPicProperties());\r\n this.root.push(new blip_fill_1.BlipFill(mediaData));\r\n this.root.push(new shape_properties_1.ShapeProperties(x, y));\r\n }\r\n setXY(x, y) {\r\n this.shapeProperties.setXY(x, y);\r\n }\r\n}\r\nexports.Pic = Pic;\r\n\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst blip_1 = __webpack_require__(179);\r\nconst source_rectangle_1 = __webpack_require__(180);\r\nconst stretch_1 = __webpack_require__(181);\r\nclass BlipFill extends xml_components_1.XmlComponent {\r\n constructor(mediaData) {\r\n super(\"pic:blipFill\");\r\n this.root.push(new blip_1.Blip(mediaData));\r\n this.root.push(new source_rectangle_1.SourceRectangle());\r\n this.root.push(new stretch_1.Stretch());\r\n }\r\n}\r\nexports.BlipFill = BlipFill;\r\n\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass BlipAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n embed: \"r:embed\",\r\n cstate: \"cstate\",\r\n };\r\n }\r\n}\r\nclass Blip extends xml_components_1.XmlComponent {\r\n constructor(mediaData) {\r\n super(\"a:blip\");\r\n this.root.push(new BlipAttributes({\r\n embed: `rId{${mediaData.fileName}}`,\r\n cstate: \"none\",\r\n }));\r\n }\r\n}\r\nexports.Blip = Blip;\r\n\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass SourceRectangle extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"a:srcRect\");\r\n }\r\n}\r\nexports.SourceRectangle = SourceRectangle;\r\n\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass FillRectangle extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"a:fillRect\");\r\n }\r\n}\r\nclass Stretch extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"a:stretch\");\r\n this.root.push(new FillRectangle());\r\n }\r\n}\r\nexports.Stretch = Stretch;\r\n\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst child_non_visual_pic_properties_1 = __webpack_require__(183);\r\nconst non_visual_properties_1 = __webpack_require__(186);\r\nclass NonVisualPicProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"pic:nvPicPr\");\r\n this.root.push(new non_visual_properties_1.NonVisualProperties());\r\n this.root.push(new child_non_visual_pic_properties_1.ChildNonVisualProperties());\r\n }\r\n}\r\nexports.NonVisualPicProperties = NonVisualPicProperties;\r\n\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst pic_locks_1 = __webpack_require__(184);\r\nclass ChildNonVisualProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"pic:cNvPicPr\");\r\n this.root.push(new pic_locks_1.PicLocks());\r\n }\r\n}\r\nexports.ChildNonVisualProperties = ChildNonVisualProperties;\r\n\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst pic_locks_attributes_1 = __webpack_require__(185);\r\nclass PicLocks extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"a:picLocks\");\r\n this.root.push(new pic_locks_attributes_1.PicLocksAttributes({\r\n noChangeAspect: 1,\r\n noChangeArrowheads: 1,\r\n }));\r\n }\r\n}\r\nexports.PicLocks = PicLocks;\r\n\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass PicLocksAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n noChangeAspect: \"noChangeAspect\",\r\n noChangeArrowheads: \"noChangeArrowheads\",\r\n };\r\n }\r\n}\r\nexports.PicLocksAttributes = PicLocksAttributes;\r\n\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst non_visual_properties_attributes_1 = __webpack_require__(187);\r\nclass NonVisualProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"pic:cNvPr\");\r\n this.root.push(new non_visual_properties_attributes_1.NonVisualPropertiesAttributes({\r\n id: 0,\r\n name: \"\",\r\n descr: \"\",\r\n }));\r\n }\r\n}\r\nexports.NonVisualProperties = NonVisualProperties;\r\n\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass NonVisualPropertiesAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n id: \"id\",\r\n name: \"name\",\r\n descr: \"desc\",\r\n };\r\n }\r\n}\r\nexports.NonVisualPropertiesAttributes = NonVisualPropertiesAttributes;\r\n\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass PicAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n xmlns: \"xmlns:pic\",\r\n };\r\n }\r\n}\r\nexports.PicAttributes = PicAttributes;\r\n\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst form_1 = __webpack_require__(190);\r\nconst preset_geometry_1 = __webpack_require__(196);\r\nconst shape_properties_attributes_1 = __webpack_require__(199);\r\nclass ShapeProperties extends xml_components_1.XmlComponent {\r\n constructor(x, y) {\r\n super(\"pic:spPr\");\r\n this.root.push(new shape_properties_attributes_1.ShapePropertiesAttributes({\r\n bwMode: \"auto\",\r\n }));\r\n this.form = new form_1.Form(x, y);\r\n this.root.push(this.form);\r\n this.root.push(new preset_geometry_1.PresetGeometry());\r\n }\r\n setXY(x, y) {\r\n this.form.setXY(x, y);\r\n }\r\n}\r\nexports.ShapeProperties = ShapeProperties;\r\n\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(191));\r\n\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst extents_1 = __webpack_require__(192);\r\nconst off_1 = __webpack_require__(194);\r\nclass Form extends xml_components_1.XmlComponent {\r\n constructor(x, y) {\r\n super(\"a:xfrm\");\r\n this.extents = new extents_1.Extents(x, y);\r\n this.root.push(this.extents);\r\n this.root.push(new off_1.Offset());\r\n }\r\n setXY(x, y) {\r\n this.extents.setXY(x, y);\r\n }\r\n}\r\nexports.Form = Form;\r\n\n\n/***/ }),\n/* 192 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst extents_attributes_1 = __webpack_require__(193);\r\nclass Extents extends xml_components_1.XmlComponent {\r\n constructor(x, y) {\r\n super(\"a:ext\");\r\n this.attributes = new extents_attributes_1.ExtentsAttributes({\r\n cx: x,\r\n cy: y,\r\n });\r\n this.root.push(this.attributes);\r\n }\r\n setXY(x, y) {\r\n this.attributes.set({\r\n cx: x,\r\n cy: y,\r\n });\r\n }\r\n}\r\nexports.Extents = Extents;\r\n\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass ExtentsAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n cx: \"cx\",\r\n cy: \"cy\",\r\n };\r\n }\r\n}\r\nexports.ExtentsAttributes = ExtentsAttributes;\r\n\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst off_attributes_1 = __webpack_require__(195);\r\nclass Offset extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"a:off\");\r\n this.root.push(new off_attributes_1.OffsetAttributes({\r\n x: 0,\r\n y: 0,\r\n }));\r\n }\r\n}\r\nexports.Offset = Offset;\r\n\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass OffsetAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n x: \"x\",\r\n y: \"y\",\r\n };\r\n }\r\n}\r\nexports.OffsetAttributes = OffsetAttributes;\r\n\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst adjustment_values_1 = __webpack_require__(197);\r\nconst preset_geometry_attributes_1 = __webpack_require__(198);\r\nclass PresetGeometry extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"a:prstGeom\");\r\n this.root.push(new preset_geometry_attributes_1.PresetGeometryAttributes({\r\n prst: \"rect\",\r\n }));\r\n this.root.push(new adjustment_values_1.AdjustmentValues());\r\n }\r\n}\r\nexports.PresetGeometry = PresetGeometry;\r\n\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass AdjustmentValues extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"a:avLst\");\r\n }\r\n}\r\nexports.AdjustmentValues = AdjustmentValues;\r\n\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass PresetGeometryAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n prst: \"prst\",\r\n };\r\n }\r\n}\r\nexports.PresetGeometryAttributes = PresetGeometryAttributes;\r\n\n\n/***/ }),\n/* 199 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass ShapePropertiesAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n bwMode: \"bwMode\",\r\n };\r\n }\r\n}\r\nexports.ShapePropertiesAttributes = ShapePropertiesAttributes;\r\n\n\n/***/ }),\n/* 200 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar TextWrappingType;\r\n(function (TextWrappingType) {\r\n TextWrappingType[TextWrappingType[\"NONE\"] = 0] = \"NONE\";\r\n TextWrappingType[TextWrappingType[\"SQUARE\"] = 1] = \"SQUARE\";\r\n TextWrappingType[TextWrappingType[\"TIGHT\"] = 2] = \"TIGHT\";\r\n TextWrappingType[TextWrappingType[\"TOP_AND_BOTTOM\"] = 3] = \"TOP_AND_BOTTOM\";\r\n})(TextWrappingType = exports.TextWrappingType || (exports.TextWrappingType = {}));\r\nvar TextWrappingSide;\r\n(function (TextWrappingSide) {\r\n TextWrappingSide[\"BOTH_SIDES\"] = \"bothSides\";\r\n TextWrappingSide[\"LEFT\"] = \"left\";\r\n TextWrappingSide[\"RIGHT\"] = \"right\";\r\n TextWrappingSide[\"LARGEST\"] = \"largest\";\r\n})(TextWrappingSide = exports.TextWrappingSide || (exports.TextWrappingSide = {}));\r\n\n\n/***/ }),\n/* 201 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass WrapNone extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"wp:wrapNone\");\r\n }\r\n}\r\nexports.WrapNone = WrapNone;\r\n\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst _1 = __webpack_require__(36);\r\nclass WrapSquareAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n distT: \"distT\",\r\n distB: \"distB\",\r\n distL: \"distL\",\r\n distR: \"distR\",\r\n wrapText: \"wrapText\",\r\n };\r\n }\r\n}\r\nclass WrapSquare extends xml_components_1.XmlComponent {\r\n constructor(textWrapping, margins = {\r\n top: 0,\r\n bottom: 0,\r\n left: 0,\r\n right: 0,\r\n }) {\r\n super(\"wp:wrapSquare\");\r\n this.root.push(new WrapSquareAttributes({\r\n wrapText: textWrapping.side || _1.TextWrappingSide.BOTH_SIDES,\r\n distT: margins.top,\r\n distB: margins.bottom,\r\n distL: margins.left,\r\n distR: margins.right,\r\n }));\r\n }\r\n}\r\nexports.WrapSquare = WrapSquare;\r\n\n\n/***/ }),\n/* 203 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass WrapTightAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n distT: \"distT\",\r\n distB: \"distB\",\r\n };\r\n }\r\n}\r\nclass WrapTight extends xml_components_1.XmlComponent {\r\n constructor(margins = {\r\n top: 0,\r\n bottom: 0,\r\n }) {\r\n super(\"wp:wrapTight\");\r\n this.root.push(new WrapTightAttributes({\r\n distT: margins.top,\r\n distB: margins.bottom,\r\n }));\r\n }\r\n}\r\nexports.WrapTight = WrapTight;\r\n\n\n/***/ }),\n/* 204 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass WrapTopAndBottomAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n distT: \"distT\",\r\n distB: \"distB\",\r\n };\r\n }\r\n}\r\nclass WrapTopAndBottom extends xml_components_1.XmlComponent {\r\n constructor(margins = {\r\n top: 0,\r\n bottom: 0,\r\n }) {\r\n super(\"wp:wrapTopAndBottom\");\r\n this.root.push(new WrapTopAndBottomAttributes({\r\n distT: margins.top,\r\n distB: margins.bottom,\r\n }));\r\n }\r\n}\r\nexports.WrapTopAndBottom = WrapTopAndBottom;\r\n\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass DocPropertiesAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n id: \"id\",\r\n name: \"name\",\r\n descr: \"descr\",\r\n };\r\n }\r\n}\r\nexports.DocPropertiesAttributes = DocPropertiesAttributes;\r\n\n\n/***/ }),\n/* 206 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass EffectExtentAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n b: \"b\",\r\n l: \"l\",\r\n r: \"r\",\r\n t: \"t\",\r\n };\r\n }\r\n}\r\nexports.EffectExtentAttributes = EffectExtentAttributes;\r\n\n\n/***/ }),\n/* 207 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass ExtentAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n cx: \"cx\",\r\n cy: \"cy\",\r\n };\r\n }\r\n}\r\nexports.ExtentAttributes = ExtentAttributes;\r\n\n\n/***/ }),\n/* 208 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst graphic_frame_lock_attributes_1 = __webpack_require__(209);\r\nclass GraphicFrameLocks extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"a:graphicFrameLocks\");\r\n this.root.push(new graphic_frame_lock_attributes_1.GraphicFrameLockAttributes({\r\n xmlns: \"http://schemas.openxmlformats.org/drawingml/2006/main\",\r\n noChangeAspect: 1,\r\n }));\r\n }\r\n}\r\nexports.GraphicFrameLocks = GraphicFrameLocks;\r\n\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass GraphicFrameLockAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n xmlns: \"xmlns:a\",\r\n noChangeAspect: \"noChangeAspect\",\r\n };\r\n }\r\n}\r\nexports.GraphicFrameLockAttributes = GraphicFrameLockAttributes;\r\n\n\n/***/ }),\n/* 210 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(211));\r\n\n\n/***/ }),\n/* 211 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst doc_properties_1 = __webpack_require__(77);\r\nconst effect_extent_1 = __webpack_require__(78);\r\nconst extent_1 = __webpack_require__(79);\r\nconst graphic_frame_properties_1 = __webpack_require__(80);\r\nconst graphic_1 = __webpack_require__(76);\r\nconst inline_attributes_1 = __webpack_require__(212);\r\nclass Inline extends xml_components_1.XmlComponent {\r\n constructor(mediaData, dimensions) {\r\n super(\"wp:inline\");\r\n this.dimensions = dimensions;\r\n this.root.push(new inline_attributes_1.InlineAttributes({\r\n distT: 0,\r\n distB: 0,\r\n distL: 0,\r\n distR: 0,\r\n }));\r\n this.extent = new extent_1.Extent(dimensions.emus.x, dimensions.emus.y);\r\n this.graphic = new graphic_1.Graphic(mediaData, dimensions.emus.x, dimensions.emus.y);\r\n this.root.push(this.extent);\r\n this.root.push(new effect_extent_1.EffectExtent());\r\n this.root.push(new doc_properties_1.DocProperties());\r\n this.root.push(new graphic_frame_properties_1.GraphicFrameProperties());\r\n this.root.push(this.graphic);\r\n }\r\n scale(factorX, factorY) {\r\n const newX = Math.round(this.dimensions.emus.x * factorX);\r\n const newY = Math.round(this.dimensions.emus.y * factorY);\r\n this.extent.setXY(newX, newY);\r\n this.graphic.setXY(newX, newY);\r\n }\r\n}\r\nexports.Inline = Inline;\r\n\n\n/***/ }),\n/* 212 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass InlineAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n distT: \"distT\",\r\n distB: \"distB\",\r\n distL: \"distL\",\r\n distR: \"distR\",\r\n };\r\n }\r\n}\r\nexports.InlineAttributes = InlineAttributes;\r\n\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst run_1 = __webpack_require__(3);\r\nconst field_1 = __webpack_require__(18);\r\nconst sequential_identifier_instruction_1 = __webpack_require__(214);\r\nclass SequentialIdentifier extends run_1.Run {\r\n constructor(identifier) {\r\n super({});\r\n this.root.push(new field_1.Begin(true));\r\n this.root.push(new sequential_identifier_instruction_1.SequentialIdentifierInstruction(identifier));\r\n this.root.push(new field_1.Separate());\r\n this.root.push(new field_1.End());\r\n }\r\n}\r\nexports.SequentialIdentifier = SequentialIdentifier;\r\n\n\n/***/ }),\n/* 214 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst space_type_1 = __webpack_require__(8);\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TextAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { space: \"xml:space\" };\r\n }\r\n}\r\nclass SequentialIdentifierInstruction extends xml_components_1.XmlComponent {\r\n constructor(identifier) {\r\n super(\"w:instrText\");\r\n this.root.push(new TextAttributes({ space: space_type_1.SpaceType.PRESERVE }));\r\n this.root.push(`SEQ ${identifier}`);\r\n }\r\n}\r\nexports.SequentialIdentifierInstruction = SequentialIdentifierInstruction;\r\n\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass Tab extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:tab\");\r\n }\r\n}\r\nexports.Tab = Tab;\r\n\n\n/***/ }),\n/* 216 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst links_1 = __webpack_require__(37);\r\nconst properties_1 = __webpack_require__(21);\r\nconst run_1 = __webpack_require__(3);\r\nclass Paragraph extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:p\");\r\n if (typeof options === \"string\") {\r\n this.properties = new properties_1.ParagraphProperties({});\r\n this.root.push(this.properties);\r\n this.root.push(new run_1.TextRun(options));\r\n return;\r\n }\r\n if (options instanceof run_1.PictureRun) {\r\n this.properties = new properties_1.ParagraphProperties({});\r\n this.root.push(this.properties);\r\n this.root.push(options);\r\n return;\r\n }\r\n this.properties = new properties_1.ParagraphProperties(options);\r\n this.root.push(this.properties);\r\n if (options.text) {\r\n this.root.push(new run_1.TextRun(options.text));\r\n }\r\n if (options.children) {\r\n for (const child of options.children) {\r\n if (child instanceof links_1.Bookmark) {\r\n this.root.push(child.start);\r\n this.root.push(child.text);\r\n this.root.push(child.end);\r\n continue;\r\n }\r\n this.root.push(child);\r\n }\r\n }\r\n }\r\n prepForXml(file) {\r\n for (const element of this.root) {\r\n if (element instanceof links_1.HyperlinkRef) {\r\n const index = this.root.indexOf(element);\r\n this.root[index] = file.HyperlinkCache[element.id];\r\n }\r\n }\r\n return super.prepForXml();\r\n }\r\n addRunToFront(run) {\r\n this.root.splice(1, 0, run);\r\n return this;\r\n }\r\n}\r\nexports.Paragraph = Paragraph;\r\n\n\n/***/ }),\n/* 217 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst run_1 = __webpack_require__(3);\r\nconst hyperlink_attributes_1 = __webpack_require__(218);\r\nvar HyperlinkType;\r\n(function (HyperlinkType) {\r\n HyperlinkType[\"INTERNAL\"] = \"INTERNAL\";\r\n HyperlinkType[\"EXTERNAL\"] = \"EXTERNAL\";\r\n})(HyperlinkType = exports.HyperlinkType || (exports.HyperlinkType = {}));\r\nclass HyperlinkRef {\r\n constructor(id) {\r\n this.id = id;\r\n }\r\n}\r\nexports.HyperlinkRef = HyperlinkRef;\r\nclass Hyperlink extends xml_components_1.XmlComponent {\r\n constructor(text, relationshipId, anchor) {\r\n super(\"w:hyperlink\");\r\n this.linkId = relationshipId;\r\n const props = {\r\n history: 1,\r\n anchor: anchor ? anchor : undefined,\r\n id: !anchor ? `rId${this.linkId}` : undefined,\r\n };\r\n const attributes = new hyperlink_attributes_1.HyperlinkAttributes(props);\r\n this.root.push(attributes);\r\n this.textRun = new run_1.TextRun({\r\n text: text,\r\n style: \"Hyperlink\",\r\n });\r\n this.root.push(this.textRun);\r\n }\r\n get TextRun() {\r\n return this.textRun;\r\n }\r\n}\r\nexports.Hyperlink = Hyperlink;\r\n\n\n/***/ }),\n/* 218 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass HyperlinkAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n id: \"r:id\",\r\n history: \"w:history\",\r\n anchor: \"w:anchor\",\r\n };\r\n }\r\n}\r\nexports.HyperlinkAttributes = HyperlinkAttributes;\r\n\n\n/***/ }),\n/* 219 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst shortid = __webpack_require__(86);\r\nconst run_1 = __webpack_require__(3);\r\nconst bookmark_attributes_1 = __webpack_require__(228);\r\nclass Bookmark {\r\n constructor(name, text) {\r\n const linkId = shortid.generate().toLowerCase();\r\n this.start = new BookmarkStart(name, linkId);\r\n this.text = new run_1.TextRun(text);\r\n this.end = new BookmarkEnd(linkId);\r\n }\r\n}\r\nexports.Bookmark = Bookmark;\r\nclass BookmarkStart extends xml_components_1.XmlComponent {\r\n constructor(name, linkId) {\r\n super(\"w:bookmarkStart\");\r\n const attributes = new bookmark_attributes_1.BookmarkStartAttributes({\r\n name,\r\n id: linkId,\r\n });\r\n this.root.push(attributes);\r\n }\r\n}\r\nexports.BookmarkStart = BookmarkStart;\r\nclass BookmarkEnd extends xml_components_1.XmlComponent {\r\n constructor(linkId) {\r\n super(\"w:bookmarkEnd\");\r\n const attributes = new bookmark_attributes_1.BookmarkEndAttributes({\r\n id: linkId,\r\n });\r\n this.root.push(attributes);\r\n }\r\n}\r\nexports.BookmarkEnd = BookmarkEnd;\r\n\n\n/***/ }),\n/* 220 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar alphabet = __webpack_require__(20);\nvar build = __webpack_require__(222);\nvar isValid = __webpack_require__(226);\n\n// if you are using cluster or multiple servers use this to make each instance\n// has a unique value for worker\n// Note: I don't know if this is automatically set when using third\n// party cluster solutions such as pm2.\nvar clusterWorkerId = __webpack_require__(227) || 0;\n\n/**\n * Set the seed.\n * Highly recommended if you don't want people to try to figure out your id schema.\n * exposed as shortid.seed(int)\n * @param seed Integer value to seed the random alphabet. ALWAYS USE THE SAME SEED or you might get overlaps.\n */\nfunction seed(seedValue) {\n alphabet.seed(seedValue);\n return module.exports;\n}\n\n/**\n * Set the cluster worker or machine id\n * exposed as shortid.worker(int)\n * @param workerId worker must be positive integer. Number less than 16 is recommended.\n * returns shortid module so it can be chained.\n */\nfunction worker(workerId) {\n clusterWorkerId = workerId;\n return module.exports;\n}\n\n/**\n *\n * sets new characters to use in the alphabet\n * returns the shuffled alphabet\n */\nfunction characters(newCharacters) {\n if (newCharacters !== undefined) {\n alphabet.characters(newCharacters);\n }\n\n return alphabet.shuffled();\n}\n\n/**\n * Generate unique id\n * Returns string id\n */\nfunction generate() {\n return build(clusterWorkerId);\n}\n\n// Export all other functions as properties of the generate function\nmodule.exports = generate;\nmodule.exports.generate = generate;\nmodule.exports.seed = seed;\nmodule.exports.worker = worker;\nmodule.exports.characters = characters;\nmodule.exports.isValid = isValid;\n\n\n/***/ }),\n/* 221 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// Found this seed-based random generator somewhere\n// Based on The Central Randomizer 1.3 (C) 1997 by Paul Houle (houle@msc.cornell.edu)\n\nvar seed = 1;\n\n/**\n * return a random number based on a seed\n * @param seed\n * @returns {number}\n */\nfunction getNextValue() {\n seed = (seed * 9301 + 49297) % 233280;\n return seed/(233280.0);\n}\n\nfunction setSeed(_seed_) {\n seed = _seed_;\n}\n\nmodule.exports = {\n nextValue: getNextValue,\n seed: setSeed\n};\n\n\n/***/ }),\n/* 222 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar generate = __webpack_require__(223);\nvar alphabet = __webpack_require__(20);\n\n// Ignore all milliseconds before a certain time to reduce the size of the date entropy without sacrificing uniqueness.\n// This number should be updated every year or so to keep the generated id short.\n// To regenerate `new Date() - 0` and bump the version. Always bump the version!\nvar REDUCE_TIME = 1567752802062;\n\n// don't change unless we change the algos or REDUCE_TIME\n// must be an integer and less than 16\nvar version = 7;\n\n// Counter is used when shortid is called multiple times in one second.\nvar counter;\n\n// Remember the last time shortid was called in case counter is needed.\nvar previousSeconds;\n\n/**\n * Generate unique id\n * Returns string id\n */\nfunction build(clusterWorkerId) {\n var str = '';\n\n var seconds = Math.floor((Date.now() - REDUCE_TIME) * 0.001);\n\n if (seconds === previousSeconds) {\n counter++;\n } else {\n counter = 0;\n previousSeconds = seconds;\n }\n\n str = str + generate(version);\n str = str + generate(clusterWorkerId);\n if (counter > 0) {\n str = str + generate(counter);\n }\n str = str + generate(seconds);\n return str;\n}\n\nmodule.exports = build;\n\n\n/***/ }),\n/* 223 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar alphabet = __webpack_require__(20);\nvar random = __webpack_require__(224);\nvar format = __webpack_require__(225);\n\nfunction generate(number) {\n var loopCounter = 0;\n var done;\n\n var str = '';\n\n while (!done) {\n str = str + format(random, alphabet.get(), 1);\n done = number < (Math.pow(16, loopCounter + 1 ) );\n loopCounter++;\n }\n return str;\n}\n\nmodule.exports = generate;\n\n\n/***/ }),\n/* 224 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar crypto = typeof window === 'object' && (window.crypto || window.msCrypto); // IE 11 uses window.msCrypto\n\nvar randomByte;\n\nif (!crypto || !crypto.getRandomValues) {\n randomByte = function(size) {\n var bytes = [];\n for (var i = 0; i < size; i++) {\n bytes.push(Math.floor(Math.random() * 256));\n }\n return bytes;\n };\n} else {\n randomByte = function(size) {\n return crypto.getRandomValues(new Uint8Array(size));\n };\n}\n\nmodule.exports = randomByte;\n\n\n/***/ }),\n/* 225 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (random, alphabet, size) {\n var mask = (2 << Math.log(alphabet.length - 1) / Math.LN2) - 1\n var step = Math.ceil(1.6 * mask * size / alphabet.length)\n var id = ''\n\n while (true) {\n var i = step\n var bytes = random(i)\n while (i--) {\n id += alphabet[bytes[i] & mask] || ''\n if (id.length === +size) return id\n }\n }\n}\n\n\n/***/ }),\n/* 226 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar alphabet = __webpack_require__(20);\n\nfunction isShortId(id) {\n if (!id || typeof id !== 'string' || id.length < 6 ) {\n return false;\n }\n\n var nonAlphabetic = new RegExp('[^' +\n alphabet.get().replace(/[|\\\\{}()[\\]^$+*?.-]/g, '\\\\$&') +\n ']');\n return !nonAlphabetic.test(id);\n}\n\nmodule.exports = isShortId;\n\n\n/***/ }),\n/* 227 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = 0;\n\n\n/***/ }),\n/* 228 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass BookmarkStartAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n id: \"w:id\",\r\n name: \"w:name\",\r\n };\r\n }\r\n}\r\nexports.BookmarkStartAttributes = BookmarkStartAttributes;\r\nclass BookmarkEndAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n id: \"w:id\",\r\n };\r\n }\r\n}\r\nexports.BookmarkEndAttributes = BookmarkEndAttributes;\r\n\n\n/***/ }),\n/* 229 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass OutlineLevel extends xml_components_1.XmlComponent {\r\n constructor(level) {\r\n super(\"w:outlineLvl\");\r\n this.level = level;\r\n this.root.push(new xml_components_1.Attributes({\r\n val: level,\r\n }));\r\n }\r\n}\r\nexports.OutlineLevel = OutlineLevel;\r\n\n\n/***/ }),\n/* 230 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass Bidirectional extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:bidi\");\r\n }\r\n}\r\nexports.Bidirectional = Bidirectional;\r\n\n\n/***/ }),\n/* 231 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(232));\r\n__export(__webpack_require__(233));\r\n__export(__webpack_require__(235));\r\n__export(__webpack_require__(2));\r\n__export(__webpack_require__(240));\r\n__export(__webpack_require__(249));\r\n__export(__webpack_require__(250));\r\n__export(__webpack_require__(253));\r\n__export(__webpack_require__(255));\r\n\n\n/***/ }),\n/* 232 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass Math extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:oMath\");\r\n for (const child of options.children) {\r\n this.root.push(child);\r\n }\r\n }\r\n}\r\nexports.Math = Math;\r\n\n\n/***/ }),\n/* 233 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst math_text_1 = __webpack_require__(234);\r\nclass MathRun extends xml_components_1.XmlComponent {\r\n constructor(text) {\r\n super(\"m:r\");\r\n this.root.push(new math_text_1.MathText(text));\r\n }\r\n}\r\nexports.MathRun = MathRun;\r\n\n\n/***/ }),\n/* 234 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathText extends xml_components_1.XmlComponent {\r\n constructor(text) {\r\n super(\"m:t\");\r\n this.root.push(text);\r\n }\r\n}\r\nexports.MathText = MathText;\r\n\n\n/***/ }),\n/* 235 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(236));\r\n__export(__webpack_require__(87));\r\n__export(__webpack_require__(88));\r\n\n\n/***/ }),\n/* 236 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst math_denominator_1 = __webpack_require__(87);\r\nconst math_numerator_1 = __webpack_require__(88);\r\nclass MathFraction extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:f\");\r\n this.root.push(new math_numerator_1.MathNumerator(options.numerator));\r\n this.root.push(new math_denominator_1.MathDenominator(options.denominator));\r\n }\r\n}\r\nexports.MathFraction = MathFraction;\r\n\n\n/***/ }),\n/* 237 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathSubScriptHideAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { hide: \"m:val\" };\r\n }\r\n}\r\nclass MathSubScriptHide extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"m:subHide\");\r\n this.root.push(new MathSubScriptHideAttributes({ hide: 1 }));\r\n }\r\n}\r\nexports.MathSubScriptHide = MathSubScriptHide;\r\n\n\n/***/ }),\n/* 238 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathSuperScriptHideAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { hide: \"m:val\" };\r\n }\r\n}\r\nclass MathSuperScriptHide extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"m:supHide\");\r\n this.root.push(new MathSuperScriptHideAttributes({ hide: 1 }));\r\n }\r\n}\r\nexports.MathSuperScriptHide = MathSuperScriptHide;\r\n\n\n/***/ }),\n/* 239 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst math_base_1 = __webpack_require__(90);\r\nconst math_naray_properties_1 = __webpack_require__(92);\r\nconst math_sub_script_1 = __webpack_require__(93);\r\nconst math_super_script_1 = __webpack_require__(94);\r\nclass MathSum extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:nary\");\r\n this.root.push(new math_naray_properties_1.MathNArayProperties(\"∑\", !!options.superScript, !!options.subScript));\r\n if (!!options.subScript) {\r\n this.root.push(new math_sub_script_1.MathSubScriptElement(options.subScript));\r\n }\r\n if (!!options.superScript) {\r\n this.root.push(new math_super_script_1.MathSuperScriptElement(options.superScript));\r\n }\r\n this.root.push(new math_base_1.MathBase(options.children));\r\n }\r\n}\r\nexports.MathSum = MathSum;\r\n\n\n/***/ }),\n/* 240 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(241));\r\n__export(__webpack_require__(243));\r\n__export(__webpack_require__(245));\r\n__export(__webpack_require__(247));\r\n\n\n/***/ }),\n/* 241 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(242));\r\n__export(__webpack_require__(95));\r\n\n\n/***/ }),\n/* 242 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst n_ary_1 = __webpack_require__(2);\r\nconst math_super_script_function_properties_1 = __webpack_require__(95);\r\nclass MathSuperScript extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:sSup\");\r\n this.root.push(new math_super_script_function_properties_1.MathSuperScriptProperties());\r\n this.root.push(new n_ary_1.MathBase(options.children));\r\n this.root.push(new n_ary_1.MathSuperScriptElement(options.superScript));\r\n }\r\n}\r\nexports.MathSuperScript = MathSuperScript;\r\n\n\n/***/ }),\n/* 243 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(244));\r\n__export(__webpack_require__(96));\r\n\n\n/***/ }),\n/* 244 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst n_ary_1 = __webpack_require__(2);\r\nconst math_sub_script_function_properties_1 = __webpack_require__(96);\r\nclass MathSubScript extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:sSub\");\r\n this.root.push(new math_sub_script_function_properties_1.MathSubScriptProperties());\r\n this.root.push(new n_ary_1.MathBase(options.children));\r\n this.root.push(new n_ary_1.MathSubScriptElement(options.subScript));\r\n }\r\n}\r\nexports.MathSubScript = MathSubScript;\r\n\n\n/***/ }),\n/* 245 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(246));\r\n__export(__webpack_require__(97));\r\n\n\n/***/ }),\n/* 246 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst n_ary_1 = __webpack_require__(2);\r\nconst math_sub_super_script_function_properties_1 = __webpack_require__(97);\r\nclass MathSubSuperScript extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:sSubSup\");\r\n this.root.push(new math_sub_super_script_function_properties_1.MathSubSuperScriptProperties());\r\n this.root.push(new n_ary_1.MathBase(options.children));\r\n this.root.push(new n_ary_1.MathSubScriptElement(options.subScript));\r\n this.root.push(new n_ary_1.MathSuperScriptElement(options.superScript));\r\n }\r\n}\r\nexports.MathSubSuperScript = MathSubSuperScript;\r\n\n\n/***/ }),\n/* 247 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(248));\r\n__export(__webpack_require__(98));\r\n\n\n/***/ }),\n/* 248 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst n_ary_1 = __webpack_require__(2);\r\nconst math_pre_sub_super_script_function_properties_1 = __webpack_require__(98);\r\nclass MathPreSubSuperScript extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:sPre\");\r\n this.root.push(new math_pre_sub_super_script_function_properties_1.MathPreSubSuperScriptProperties());\r\n this.root.push(new n_ary_1.MathBase(options.children));\r\n this.root.push(new n_ary_1.MathSubScriptElement(options.subScript));\r\n this.root.push(new n_ary_1.MathSuperScriptElement(options.superScript));\r\n }\r\n}\r\nexports.MathPreSubSuperScript = MathPreSubSuperScript;\r\n\n\n/***/ }),\n/* 249 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.WORKAROUND4 = \"\";\r\n\n\n/***/ }),\n/* 250 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(99));\r\n__export(__webpack_require__(251));\r\n__export(__webpack_require__(100));\r\n\n\n/***/ }),\n/* 251 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst n_ary_1 = __webpack_require__(2);\r\nconst math_degree_1 = __webpack_require__(99);\r\nconst math_radical_properties_1 = __webpack_require__(100);\r\nclass MathRadical extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:rad\");\r\n this.root.push(new math_radical_properties_1.MathRadicalProperties(!!options.degree));\r\n this.root.push(new math_degree_1.MathDegree(options.degree));\r\n this.root.push(new n_ary_1.MathBase(options.children));\r\n }\r\n}\r\nexports.MathRadical = MathRadical;\r\n\n\n/***/ }),\n/* 252 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathDegreeHideAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { hide: \"m:val\" };\r\n }\r\n}\r\nclass MathDegreeHide extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"m:degHide\");\r\n this.root.push(new MathDegreeHideAttributes({ hide: 1 }));\r\n }\r\n}\r\nexports.MathDegreeHide = MathDegreeHide;\r\n\n\n/***/ }),\n/* 253 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(254));\r\n__export(__webpack_require__(101));\r\n__export(__webpack_require__(102));\r\n\n\n/***/ }),\n/* 254 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst n_ary_1 = __webpack_require__(2);\r\nconst math_function_name_1 = __webpack_require__(101);\r\nconst math_function_properties_1 = __webpack_require__(102);\r\nclass MathFunction extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:func\");\r\n this.root.push(new math_function_properties_1.MathFunctionProperties());\r\n this.root.push(new math_function_name_1.MathFunctionName(options.name));\r\n this.root.push(new n_ary_1.MathBase(options.children));\r\n }\r\n}\r\nexports.MathFunction = MathFunction;\r\n\n\n/***/ }),\n/* 255 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(256));\r\n__export(__webpack_require__(259));\r\n__export(__webpack_require__(260));\r\n__export(__webpack_require__(261));\r\n\n\n/***/ }),\n/* 256 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst n_ary_1 = __webpack_require__(2);\r\nconst math_bracket_properties_1 = __webpack_require__(22);\r\nclass MathRoundBrackets extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:d\");\r\n this.root.push(new math_bracket_properties_1.MathBracketProperties());\r\n this.root.push(new n_ary_1.MathBase(options.children));\r\n }\r\n}\r\nexports.MathRoundBrackets = MathRoundBrackets;\r\n\n\n/***/ }),\n/* 257 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathBeginningCharacterAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { character: \"m:val\" };\r\n }\r\n}\r\nclass MathBeginningCharacter extends xml_components_1.XmlComponent {\r\n constructor(character) {\r\n super(\"m:begChr\");\r\n this.root.push(new MathBeginningCharacterAttributes({ character }));\r\n }\r\n}\r\nexports.MathBeginningCharacter = MathBeginningCharacter;\r\n\n\n/***/ }),\n/* 258 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathEndingCharacterAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { character: \"m:val\" };\r\n }\r\n}\r\nclass MathEndingCharacter extends xml_components_1.XmlComponent {\r\n constructor(character) {\r\n super(\"m:endChr\");\r\n this.root.push(new MathEndingCharacterAttributes({ character }));\r\n }\r\n}\r\nexports.MathEndingCharacter = MathEndingCharacter;\r\n\n\n/***/ }),\n/* 259 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst n_ary_1 = __webpack_require__(2);\r\nconst math_bracket_properties_1 = __webpack_require__(22);\r\nclass MathSquareBrackets extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:d\");\r\n this.root.push(new math_bracket_properties_1.MathBracketProperties({\r\n beginningCharacter: \"[\",\r\n endingCharacter: \"]\",\r\n }));\r\n this.root.push(new n_ary_1.MathBase(options.children));\r\n }\r\n}\r\nexports.MathSquareBrackets = MathSquareBrackets;\r\n\n\n/***/ }),\n/* 260 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst n_ary_1 = __webpack_require__(2);\r\nconst math_bracket_properties_1 = __webpack_require__(22);\r\nclass MathCurlyBrackets extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:d\");\r\n this.root.push(new math_bracket_properties_1.MathBracketProperties({\r\n beginningCharacter: \"{\",\r\n endingCharacter: \"}\",\r\n }));\r\n this.root.push(new n_ary_1.MathBase(options.children));\r\n }\r\n}\r\nexports.MathCurlyBrackets = MathCurlyBrackets;\r\n\n\n/***/ }),\n/* 261 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst n_ary_1 = __webpack_require__(2);\r\nconst math_bracket_properties_1 = __webpack_require__(22);\r\nclass MathAngledBrackets extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:d\");\r\n this.root.push(new math_bracket_properties_1.MathBracketProperties({\r\n beginningCharacter: \"〈\",\r\n endingCharacter: \"〉\",\r\n }));\r\n this.root.push(new n_ary_1.MathBase(options.children));\r\n }\r\n}\r\nexports.MathAngledBrackets = MathAngledBrackets;\r\n\n\n/***/ }),\n/* 262 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(263));\r\n__export(__webpack_require__(10));\r\n__export(__webpack_require__(103));\r\n__export(__webpack_require__(39));\r\n__export(__webpack_require__(278));\r\n\n\n/***/ }),\n/* 263 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst grid_1 = __webpack_require__(264);\r\nconst table_cell_1 = __webpack_require__(10);\r\nconst table_properties_1 = __webpack_require__(103);\r\nclass Table extends xml_components_1.XmlComponent {\r\n constructor({ rows, width, columnWidths = Array(Math.max(...rows.map((row) => row.CellCount))).fill(100), margins: { marginUnitType, top, bottom, right, left } = { marginUnitType: table_cell_1.WidthType.AUTO, top: 0, bottom: 0, right: 0, left: 0 }, float, layout, borders, alignment, }) {\r\n super(\"w:tbl\");\r\n this.properties = new table_properties_1.TableProperties();\r\n this.root.push(this.properties);\r\n if (borders) {\r\n this.properties.setBorder(borders);\r\n }\r\n else {\r\n this.properties.setBorder({});\r\n }\r\n if (width) {\r\n this.properties.setWidth(width.size, width.type);\r\n }\r\n else {\r\n this.properties.setWidth(100);\r\n }\r\n this.properties.CellMargin.addBottomMargin(bottom || 0, marginUnitType);\r\n this.properties.CellMargin.addTopMargin(top || 0, marginUnitType);\r\n this.properties.CellMargin.addLeftMargin(left || 0, marginUnitType);\r\n this.properties.CellMargin.addRightMargin(right || 0, marginUnitType);\r\n this.root.push(new grid_1.TableGrid(columnWidths));\r\n for (const row of rows) {\r\n this.root.push(row);\r\n }\r\n rows.forEach((row, rowIndex) => {\r\n if (rowIndex === rows.length - 1) {\r\n return;\r\n }\r\n let columnIndex = 0;\r\n row.cells.forEach((cell) => {\r\n if (cell.options.rowSpan && cell.options.rowSpan > 1) {\r\n const continueCell = new table_cell_1.TableCell({\r\n rowSpan: cell.options.rowSpan - 1,\r\n columnSpan: cell.options.columnSpan,\r\n borders: cell.options.borders,\r\n children: [],\r\n verticalMerge: table_cell_1.VerticalMergeType.CONTINUE,\r\n });\r\n rows[rowIndex + 1].addCellToColumnIndex(continueCell, columnIndex);\r\n }\r\n columnIndex += cell.options.columnSpan || 1;\r\n });\r\n });\r\n if (float) {\r\n this.properties.setTableFloatProperties(float);\r\n }\r\n if (layout) {\r\n this.properties.setLayout(layout);\r\n }\r\n if (alignment) {\r\n this.properties.setAlignment(alignment);\r\n }\r\n }\r\n}\r\nexports.Table = Table;\r\n\n\n/***/ }),\n/* 264 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TableGrid extends xml_components_1.XmlComponent {\r\n constructor(widths) {\r\n super(\"w:tblGrid\");\r\n for (const width of widths) {\r\n this.root.push(new GridCol(width));\r\n }\r\n }\r\n}\r\nexports.TableGrid = TableGrid;\r\nclass GridColAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { w: \"w:w\" };\r\n }\r\n}\r\nclass GridCol extends xml_components_1.XmlComponent {\r\n constructor(width) {\r\n super(\"w:gridCol\");\r\n if (width !== undefined) {\r\n this.root.push(new GridColAttributes({ w: width }));\r\n }\r\n }\r\n}\r\nexports.GridCol = GridCol;\r\n\n\n/***/ }),\n/* 265 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst paragraph_1 = __webpack_require__(1);\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst table_cell_components_1 = __webpack_require__(38);\r\nconst table_cell_properties_1 = __webpack_require__(266);\r\nclass TableCell extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:tc\");\r\n this.options = options;\r\n this.properties = new table_cell_properties_1.TableCellProperties();\r\n this.root.push(this.properties);\r\n for (const child of options.children) {\r\n this.root.push(child);\r\n }\r\n if (options.verticalAlign) {\r\n this.properties.setVerticalAlign(options.verticalAlign);\r\n }\r\n if (options.textDirection) {\r\n this.properties.setTextDirection(options.textDirection);\r\n }\r\n if (options.verticalMerge) {\r\n this.properties.addVerticalMerge(options.verticalMerge);\r\n }\r\n else if (options.rowSpan && options.rowSpan > 1) {\r\n this.properties.addVerticalMerge(table_cell_components_1.VerticalMergeType.RESTART);\r\n }\r\n if (options.margins) {\r\n this.properties.addMargins(options.margins);\r\n }\r\n if (options.shading) {\r\n this.properties.setShading(options.shading);\r\n }\r\n if (options.columnSpan) {\r\n this.properties.addGridSpan(options.columnSpan);\r\n }\r\n if (options.width) {\r\n this.properties.setWidth(options.width.size, options.width.type);\r\n }\r\n if (options.borders) {\r\n if (options.borders.top) {\r\n this.properties.Borders.addTopBorder(options.borders.top.style, options.borders.top.size, options.borders.top.color);\r\n }\r\n if (options.borders.bottom) {\r\n this.properties.Borders.addBottomBorder(options.borders.bottom.style, options.borders.bottom.size, options.borders.bottom.color);\r\n }\r\n if (options.borders.left) {\r\n this.properties.Borders.addLeftBorder(options.borders.left.style, options.borders.left.size, options.borders.left.color);\r\n }\r\n if (options.borders.right) {\r\n this.properties.Borders.addRightBorder(options.borders.right.style, options.borders.right.size, options.borders.right.color);\r\n }\r\n }\r\n }\r\n prepForXml(file) {\r\n if (!(this.root[this.root.length - 1] instanceof paragraph_1.Paragraph)) {\r\n this.root.push(new paragraph_1.Paragraph({}));\r\n }\r\n return super.prepForXml(file);\r\n }\r\n}\r\nexports.TableCell = TableCell;\r\n\n\n/***/ }),\n/* 266 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst shading_1 = __webpack_require__(39);\r\nconst table_cell_margins_1 = __webpack_require__(268);\r\nconst table_cell_components_1 = __webpack_require__(38);\r\nclass TableCellProperties extends xml_components_1.IgnoreIfEmptyXmlComponent {\r\n constructor() {\r\n super(\"w:tcPr\");\r\n this.cellBorder = new table_cell_components_1.TableCellBorders();\r\n this.root.push(this.cellBorder);\r\n }\r\n get Borders() {\r\n return this.cellBorder;\r\n }\r\n addGridSpan(cellSpan) {\r\n this.root.push(new table_cell_components_1.GridSpan(cellSpan));\r\n return this;\r\n }\r\n addVerticalMerge(type) {\r\n this.root.push(new table_cell_components_1.VerticalMerge(type));\r\n return this;\r\n }\r\n setVerticalAlign(type) {\r\n this.root.push(new table_cell_components_1.VAlign(type));\r\n return this;\r\n }\r\n setWidth(width, type = table_cell_components_1.WidthType.AUTO) {\r\n this.root.push(new table_cell_components_1.TableCellWidth(width, type));\r\n return this;\r\n }\r\n setShading(attrs) {\r\n this.root.push(new shading_1.TableShading(attrs));\r\n return this;\r\n }\r\n addMargins(options) {\r\n this.root.push(new table_cell_margins_1.TableCellMargin(options));\r\n return this;\r\n }\r\n setTextDirection(type) {\r\n this.root.push(new table_cell_components_1.TDirection(type));\r\n return this;\r\n }\r\n}\r\nexports.TableCellProperties = TableCellProperties;\r\n\n\n/***/ }),\n/* 267 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TableShadingAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n fill: \"w:fill\",\r\n color: \"w:color\",\r\n val: \"w:val\",\r\n };\r\n }\r\n}\r\nclass TableShading extends xml_components_1.XmlComponent {\r\n constructor(attrs) {\r\n super(\"w:shd\");\r\n this.root.push(new TableShadingAttributes(attrs));\r\n }\r\n}\r\nexports.TableShading = TableShading;\r\nvar ShadingType;\r\n(function (ShadingType) {\r\n ShadingType[\"CLEAR\"] = \"clear\";\r\n ShadingType[\"DIAGONAL_CROSS\"] = \"diagCross\";\r\n ShadingType[\"DIAGONAL_STRIPE\"] = \"diagStripe\";\r\n ShadingType[\"HORIZONTAL_CROSS\"] = \"horzCross\";\r\n ShadingType[\"HORIZONTAL_STRIPE\"] = \"horzStripe\";\r\n ShadingType[\"NIL\"] = \"nil\";\r\n ShadingType[\"PERCENT_5\"] = \"pct5\";\r\n ShadingType[\"PERCENT_10\"] = \"pct10\";\r\n ShadingType[\"PERCENT_12\"] = \"pct12\";\r\n ShadingType[\"PERCENT_15\"] = \"pct15\";\r\n ShadingType[\"PERCENT_20\"] = \"pct20\";\r\n ShadingType[\"PERCENT_25\"] = \"pct25\";\r\n ShadingType[\"PERCENT_30\"] = \"pct30\";\r\n ShadingType[\"PERCENT_35\"] = \"pct35\";\r\n ShadingType[\"PERCENT_37\"] = \"pct37\";\r\n ShadingType[\"PERCENT_40\"] = \"pct40\";\r\n ShadingType[\"PERCENT_45\"] = \"pct45\";\r\n ShadingType[\"PERCENT_50\"] = \"pct50\";\r\n ShadingType[\"PERCENT_55\"] = \"pct55\";\r\n ShadingType[\"PERCENT_60\"] = \"pct60\";\r\n ShadingType[\"PERCENT_62\"] = \"pct62\";\r\n ShadingType[\"PERCENT_65\"] = \"pct65\";\r\n ShadingType[\"PERCENT_70\"] = \"pct70\";\r\n ShadingType[\"PERCENT_75\"] = \"pct75\";\r\n ShadingType[\"PERCENT_80\"] = \"pct80\";\r\n ShadingType[\"PERCENT_85\"] = \"pct85\";\r\n ShadingType[\"PERCENT_87\"] = \"pct87\";\r\n ShadingType[\"PERCENT_90\"] = \"pct90\";\r\n ShadingType[\"PERCENT_95\"] = \"pct95\";\r\n ShadingType[\"REVERSE_DIAGONAL_STRIPE\"] = \"reverseDiagStripe\";\r\n ShadingType[\"SOLID\"] = \"solid\";\r\n ShadingType[\"THIN_DIAGONAL_CROSS\"] = \"thinDiagCross\";\r\n ShadingType[\"THIN_DIAGONAL_STRIPE\"] = \"thinDiagStripe\";\r\n ShadingType[\"THIN_HORIZONTAL_CROSS\"] = \"thinHorzCross\";\r\n ShadingType[\"THIN_REVERSE_DIAGONAL_STRIPE\"] = \"thinReverseDiagStripe\";\r\n ShadingType[\"THIN_VERTICAL_STRIPE\"] = \"thinVertStripe\";\r\n ShadingType[\"VERTICAL_STRIPE\"] = \"vertStripe\";\r\n})(ShadingType = exports.ShadingType || (exports.ShadingType = {}));\r\n\n\n/***/ }),\n/* 268 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst cell_margin_1 = __webpack_require__(269);\r\nclass TableCellMargin extends xml_components_1.XmlComponent {\r\n constructor({ top = 0, left = 0, right = 0, bottom = 0 }) {\r\n super(\"w:tcMar\");\r\n this.root.push(new cell_margin_1.TopCellMargin(top));\r\n this.root.push(new cell_margin_1.BottomCellMargin(bottom));\r\n this.root.push(new cell_margin_1.RightCellMargin(right));\r\n this.root.push(new cell_margin_1.LeftCellMargin(left));\r\n }\r\n}\r\nexports.TableCellMargin = TableCellMargin;\r\n\n\n/***/ }),\n/* 269 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass CellMarginAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { width: \"w:w\", type: \"w:type\" };\r\n }\r\n}\r\nclass TopCellMargin extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:top\");\r\n this.root.push(new CellMarginAttributes({\r\n width: value,\r\n type: \"dxa\",\r\n }));\r\n }\r\n}\r\nexports.TopCellMargin = TopCellMargin;\r\nclass BottomCellMargin extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:bottom\");\r\n this.root.push(new CellMarginAttributes({\r\n width: value,\r\n type: \"dxa\",\r\n }));\r\n }\r\n}\r\nexports.BottomCellMargin = BottomCellMargin;\r\nclass LeftCellMargin extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:start\");\r\n this.root.push(new CellMarginAttributes({\r\n width: value,\r\n type: \"dxa\",\r\n }));\r\n }\r\n}\r\nexports.LeftCellMargin = LeftCellMargin;\r\nclass RightCellMargin extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:end\");\r\n this.root.push(new CellMarginAttributes({\r\n width: value,\r\n type: \"dxa\",\r\n }));\r\n }\r\n}\r\nexports.RightCellMargin = RightCellMargin;\r\n\n\n/***/ }),\n/* 270 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst paragraph_1 = __webpack_require__(1);\r\nconst shading_1 = __webpack_require__(39);\r\nconst table_cell_1 = __webpack_require__(10);\r\nconst table_borders_1 = __webpack_require__(104);\r\nconst table_cell_margin_1 = __webpack_require__(276);\r\nconst table_float_properties_1 = __webpack_require__(109);\r\nconst table_layout_1 = __webpack_require__(111);\r\nconst table_width_1 = __webpack_require__(277);\r\nclass TableProperties extends xml_components_1.IgnoreIfEmptyXmlComponent {\r\n constructor() {\r\n super(\"w:tblPr\");\r\n this.cellMargin = new table_cell_margin_1.TableCellMargin();\r\n this.root.push(this.cellMargin);\r\n }\r\n setWidth(width, type = table_cell_1.WidthType.AUTO) {\r\n this.root.push(new table_width_1.PreferredTableWidth(type, width));\r\n return this;\r\n }\r\n setLayout(type) {\r\n this.root.push(new table_layout_1.TableLayout(type));\r\n }\r\n setBorder(borderOptions) {\r\n this.root.push(new table_borders_1.TableBorders(borderOptions));\r\n return this;\r\n }\r\n get CellMargin() {\r\n return this.cellMargin;\r\n }\r\n setTableFloatProperties(tableFloatOptions) {\r\n this.root.push(new table_float_properties_1.TableFloatProperties(tableFloatOptions));\r\n return this;\r\n }\r\n setShading(attrs) {\r\n this.root.push(new shading_1.TableShading(attrs));\r\n return this;\r\n }\r\n setAlignment(type) {\r\n this.root.push(new paragraph_1.Alignment(type));\r\n }\r\n}\r\nexports.TableProperties = TableProperties;\r\n\n\n/***/ }),\n/* 271 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst style_1 = __webpack_require__(105);\r\n__export(__webpack_require__(273));\r\nclass Styles extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:styles\");\r\n if (options.initialStyles) {\r\n this.root.push(options.initialStyles);\r\n }\r\n if (options.importedStyles) {\r\n for (const style of options.importedStyles) {\r\n this.root.push(style);\r\n }\r\n }\r\n if (options.paragraphStyles) {\r\n for (const style of options.paragraphStyles) {\r\n this.root.push(new style_1.StyleForParagraph(style));\r\n }\r\n }\r\n if (options.characterStyles) {\r\n for (const style of options.characterStyles) {\r\n this.root.push(new style_1.StyleForCharacter(style));\r\n }\r\n }\r\n }\r\n}\r\nexports.Styles = Styles;\r\n\n\n/***/ }),\n/* 272 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst underline_1 = __webpack_require__(19);\r\nconst character_style_1 = __webpack_require__(43);\r\nconst paragraph_style_1 = __webpack_require__(42);\r\nclass HeadingStyle extends paragraph_style_1.StyleForParagraph {\r\n constructor(options) {\r\n super(Object.assign({}, options, { basedOn: \"Normal\", next: \"Normal\", quickFormat: true }));\r\n }\r\n}\r\nexports.HeadingStyle = HeadingStyle;\r\nclass TitleStyle extends HeadingStyle {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"Title\", name: \"Title\" }));\r\n }\r\n}\r\nexports.TitleStyle = TitleStyle;\r\nclass Heading1Style extends HeadingStyle {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"Heading1\", name: \"Heading 1\" }));\r\n }\r\n}\r\nexports.Heading1Style = Heading1Style;\r\nclass Heading2Style extends HeadingStyle {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"Heading2\", name: \"Heading 2\" }));\r\n }\r\n}\r\nexports.Heading2Style = Heading2Style;\r\nclass Heading3Style extends HeadingStyle {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"Heading3\", name: \"Heading 3\" }));\r\n }\r\n}\r\nexports.Heading3Style = Heading3Style;\r\nclass Heading4Style extends HeadingStyle {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"Heading4\", name: \"Heading 4\" }));\r\n }\r\n}\r\nexports.Heading4Style = Heading4Style;\r\nclass Heading5Style extends HeadingStyle {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"Heading5\", name: \"Heading 5\" }));\r\n }\r\n}\r\nexports.Heading5Style = Heading5Style;\r\nclass Heading6Style extends HeadingStyle {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"Heading6\", name: \"Heading 6\" }));\r\n }\r\n}\r\nexports.Heading6Style = Heading6Style;\r\nclass StrongStyle extends HeadingStyle {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"Strong\", name: \"Strong\" }));\r\n }\r\n}\r\nexports.StrongStyle = StrongStyle;\r\nclass ListParagraph extends paragraph_style_1.StyleForParagraph {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"ListParagraph\", name: \"List Paragraph\", basedOn: \"Normal\", quickFormat: true }));\r\n }\r\n}\r\nexports.ListParagraph = ListParagraph;\r\nclass FootnoteText extends paragraph_style_1.StyleForParagraph {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"FootnoteText\", name: \"footnote text\", link: \"FootnoteTextChar\", basedOn: \"Normal\", uiPriority: 99, semiHidden: true, unhideWhenUsed: true, paragraph: {\r\n spacing: {\r\n after: 0,\r\n line: 240,\r\n lineRule: \"auto\",\r\n },\r\n }, run: {\r\n size: 20,\r\n } }));\r\n }\r\n}\r\nexports.FootnoteText = FootnoteText;\r\nclass FootnoteReferenceStyle extends character_style_1.StyleForCharacter {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"FootnoteReference\", name: \"footnote reference\", basedOn: \"DefaultParagraphFont\", semiHidden: true, run: {\r\n superScript: true,\r\n } }));\r\n }\r\n}\r\nexports.FootnoteReferenceStyle = FootnoteReferenceStyle;\r\nclass FootnoteTextChar extends character_style_1.StyleForCharacter {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"FootnoteTextChar\", name: \"Footnote Text Char\", basedOn: \"DefaultParagraphFont\", link: \"FootnoteText\", semiHidden: true, run: {\r\n size: 20,\r\n } }));\r\n }\r\n}\r\nexports.FootnoteTextChar = FootnoteTextChar;\r\nclass HyperlinkStyle extends character_style_1.StyleForCharacter {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"Hyperlink\", name: \"Hyperlink\", basedOn: \"DefaultParagraphFont\", run: {\r\n color: \"0563C1\",\r\n underline: {\r\n type: underline_1.UnderlineType.SINGLE,\r\n },\r\n } }));\r\n }\r\n}\r\nexports.HyperlinkStyle = HyperlinkStyle;\r\n\n\n/***/ }),\n/* 273 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(274));\r\n\n\n/***/ }),\n/* 274 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar BorderStyle;\r\n(function (BorderStyle) {\r\n BorderStyle[\"SINGLE\"] = \"single\";\r\n BorderStyle[\"DASH_DOT_STROKED\"] = \"dashDotStroked\";\r\n BorderStyle[\"DASHED\"] = \"dashed\";\r\n BorderStyle[\"DASH_SMALL_GAP\"] = \"dashSmallGap\";\r\n BorderStyle[\"DOT_DASH\"] = \"dotDash\";\r\n BorderStyle[\"DOT_DOT_DASH\"] = \"dotDotDash\";\r\n BorderStyle[\"DOTTED\"] = \"dotted\";\r\n BorderStyle[\"DOUBLE\"] = \"double\";\r\n BorderStyle[\"DOUBLE_WAVE\"] = \"doubleWave\";\r\n BorderStyle[\"INSET\"] = \"inset\";\r\n BorderStyle[\"NIL\"] = \"nil\";\r\n BorderStyle[\"NONE\"] = \"none\";\r\n BorderStyle[\"OUTSET\"] = \"outset\";\r\n BorderStyle[\"THICK\"] = \"thick\";\r\n BorderStyle[\"THICK_THIN_LARGE_GAP\"] = \"thickThinLargeGap\";\r\n BorderStyle[\"THICK_THIN_MEDIUM_GAP\"] = \"thickThinMediumGap\";\r\n BorderStyle[\"THICK_THIN_SMALL_GAP\"] = \"thickThinSmallGap\";\r\n BorderStyle[\"THIN_THICK_LARGE_GAP\"] = \"thinThickLargeGap\";\r\n BorderStyle[\"THIN_THICK_MEDIUM_GAP\"] = \"thinThickMediumGap\";\r\n BorderStyle[\"THIN_THICK_SMALL_GAP\"] = \"thinThickSmallGap\";\r\n BorderStyle[\"THIN_THICK_THIN_LARGE_GAP\"] = \"thinThickThinLargeGap\";\r\n BorderStyle[\"THIN_THICK_THIN_MEDIUM_GAP\"] = \"thinThickThinMediumGap\";\r\n BorderStyle[\"THIN_THICK_THIN_SMALL_GAP\"] = \"thinThickThinSmallGap\";\r\n BorderStyle[\"THREE_D_EMBOSS\"] = \"threeDEmboss\";\r\n BorderStyle[\"THREE_D_ENGRAVE\"] = \"threeDEngrave\";\r\n BorderStyle[\"TRIPLE\"] = \"triple\";\r\n BorderStyle[\"WAVE\"] = \"wave\";\r\n})(BorderStyle = exports.BorderStyle || (exports.BorderStyle = {}));\r\n\n\n/***/ }),\n/* 275 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst paragraph_properties_1 = __webpack_require__(107);\r\nconst run_properties_1 = __webpack_require__(108);\r\nclass DocumentDefaults extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:docDefaults\");\r\n this.runPropertiesDefaults = new run_properties_1.RunPropertiesDefaults(options && options.run);\r\n this.paragraphPropertiesDefaults = new paragraph_properties_1.ParagraphPropertiesDefaults(options && options.paragraph);\r\n this.root.push(this.runPropertiesDefaults);\r\n this.root.push(this.paragraphPropertiesDefaults);\r\n }\r\n}\r\nexports.DocumentDefaults = DocumentDefaults;\r\n\n\n/***/ }),\n/* 276 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst table_cell_1 = __webpack_require__(10);\r\nclass TableCellMarginAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { value: \"w:w\", type: \"w:type\" };\r\n }\r\n}\r\nclass BaseTableCellMargin extends xml_components_1.XmlComponent {\r\n setProperties(value, type = table_cell_1.WidthType.DXA) {\r\n this.root.push(new TableCellMarginAttributes({\r\n type: type,\r\n value: value,\r\n }));\r\n }\r\n}\r\nclass TableCellMargin extends xml_components_1.IgnoreIfEmptyXmlComponent {\r\n constructor() {\r\n super(\"w:tblCellMar\");\r\n }\r\n addTopMargin(value, type = table_cell_1.WidthType.DXA) {\r\n const top = new BaseTableCellMargin(\"w:top\");\r\n top.setProperties(value, type);\r\n this.root.push(top);\r\n }\r\n addLeftMargin(value, type = table_cell_1.WidthType.DXA) {\r\n const left = new BaseTableCellMargin(\"w:left\");\r\n left.setProperties(value, type);\r\n this.root.push(left);\r\n }\r\n addBottomMargin(value, type = table_cell_1.WidthType.DXA) {\r\n const bottom = new BaseTableCellMargin(\"w:bottom\");\r\n bottom.setProperties(value, type);\r\n this.root.push(bottom);\r\n }\r\n addRightMargin(value, type = table_cell_1.WidthType.DXA) {\r\n const right = new BaseTableCellMargin(\"w:right\");\r\n right.setProperties(value, type);\r\n this.root.push(right);\r\n }\r\n}\r\nexports.TableCellMargin = TableCellMargin;\r\n\n\n/***/ }),\n/* 277 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst table_cell_1 = __webpack_require__(10);\r\nclass TableWidthAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { type: \"w:type\", w: \"w:w\" };\r\n }\r\n}\r\nclass PreferredTableWidth extends xml_components_1.XmlComponent {\r\n constructor(type, w) {\r\n super(\"w:tblW\");\r\n const width = type === table_cell_1.WidthType.PERCENTAGE ? `${w}%` : w;\r\n this.root.push(new TableWidthAttributes({ type: type, w: width }));\r\n }\r\n}\r\nexports.PreferredTableWidth = PreferredTableWidth;\r\n\n\n/***/ }),\n/* 278 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(279));\r\n__export(__webpack_require__(112));\r\n__export(__webpack_require__(113));\r\n\n\n/***/ }),\n/* 279 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst table_cell_1 = __webpack_require__(10);\r\nconst table_row_properties_1 = __webpack_require__(112);\r\nclass TableRow extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:tr\");\r\n this.options = options;\r\n this.properties = new table_row_properties_1.TableRowProperties();\r\n this.root.push(this.properties);\r\n for (const child of options.children) {\r\n this.root.push(child);\r\n }\r\n if (options.cantSplit) {\r\n this.properties.setCantSplit();\r\n }\r\n if (options.tableHeader) {\r\n this.properties.setTableHeader();\r\n }\r\n if (options.height) {\r\n this.properties.setHeight(options.height.height, options.height.rule);\r\n }\r\n }\r\n get CellCount() {\r\n return this.options.children.length;\r\n }\r\n get Children() {\r\n return this.options.children;\r\n }\r\n get cells() {\r\n return this.root.filter((xmlComponent) => xmlComponent instanceof table_cell_1.TableCell);\r\n }\r\n addCellToIndex(cell, index) {\r\n this.root.splice(index + 1, 0, cell);\r\n }\r\n addCellToColumnIndex(cell, columnIndex) {\r\n const rootIndex = this.columnIndexToRootIndex(columnIndex, true);\r\n this.addCellToIndex(cell, rootIndex - 1);\r\n }\r\n rootIndexToColumnIndex(rootIndex) {\r\n if (rootIndex < 1 || rootIndex >= this.root.length) {\r\n throw new Error(`cell 'rootIndex' should between 1 to ${this.root.length - 1}`);\r\n }\r\n let colIdx = 0;\r\n for (let rootIdx = 1; rootIdx < rootIndex; rootIdx++) {\r\n const cell = this.root[rootIdx];\r\n colIdx += cell.options.columnSpan || 1;\r\n }\r\n return colIdx;\r\n }\r\n columnIndexToRootIndex(columnIndex, allowEndNewCell = false) {\r\n if (columnIndex < 0) {\r\n throw new Error(`cell 'columnIndex' should not less than zero`);\r\n }\r\n let colIdx = 0;\r\n let rootIdx = 1;\r\n while (colIdx <= columnIndex) {\r\n if (rootIdx >= this.root.length) {\r\n if (allowEndNewCell) {\r\n return this.root.length;\r\n }\r\n else {\r\n throw new Error(`cell 'columnIndex' should not great than ${colIdx - 1}`);\r\n }\r\n }\r\n const cell = this.root[rootIdx];\r\n rootIdx += 1;\r\n colIdx += (cell && cell.options.columnSpan) || 1;\r\n }\r\n return rootIdx - 1;\r\n }\r\n}\r\nexports.TableRow = TableRow;\r\n\n\n/***/ }),\n/* 280 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst shortid = __webpack_require__(86);\r\nconst app_properties_1 = __webpack_require__(281);\r\nconst content_types_1 = __webpack_require__(283);\r\nconst core_properties_1 = __webpack_require__(289);\r\nconst document_1 = __webpack_require__(114);\r\nconst section_properties_1 = __webpack_require__(129);\r\nconst footer_wrapper_1 = __webpack_require__(46);\r\nconst footnotes_1 = __webpack_require__(131);\r\nconst header_1 = __webpack_require__(132);\r\nconst header_wrapper_1 = __webpack_require__(49);\r\nconst media_1 = __webpack_require__(50);\r\nconst numbering_1 = __webpack_require__(133);\r\nconst paragraph_1 = __webpack_require__(1);\r\nconst relationships_1 = __webpack_require__(47);\r\nconst relationship_1 = __webpack_require__(48);\r\nconst settings_1 = __webpack_require__(332);\r\nconst styles_1 = __webpack_require__(23);\r\nconst external_styles_factory_1 = __webpack_require__(337);\r\nconst factory_1 = __webpack_require__(338);\r\nclass File {\r\n constructor(options = {\r\n creator: \"Un-named\",\r\n revision: \"1\",\r\n lastModifiedBy: \"Un-named\",\r\n }, fileProperties = {}, sections = []) {\r\n this.currentRelationshipId = 1;\r\n this.headers = [];\r\n this.footers = [];\r\n this.hyperlinkCache = {};\r\n this.coreProperties = new core_properties_1.CoreProperties(options);\r\n this.numbering = new numbering_1.Numbering(options.numbering\r\n ? options.numbering\r\n : {\r\n config: [],\r\n });\r\n this.docRelationships = new relationships_1.Relationships();\r\n this.fileRelationships = new relationships_1.Relationships();\r\n this.appProperties = new app_properties_1.AppProperties();\r\n this.footNotes = new footnotes_1.FootNotes();\r\n this.contentTypes = new content_types_1.ContentTypes();\r\n this.document = new document_1.Document({ background: options.background || {} });\r\n this.settings = new settings_1.Settings();\r\n this.media = fileProperties.template && fileProperties.template.media ? fileProperties.template.media : new media_1.Media();\r\n if (fileProperties.template) {\r\n this.currentRelationshipId = fileProperties.template.currentRelationshipId + 1;\r\n }\r\n if (fileProperties.template && options.externalStyles) {\r\n throw Error(\"can not use both template and external styles\");\r\n }\r\n if (fileProperties.template) {\r\n const stylesFactory = new external_styles_factory_1.ExternalStylesFactory();\r\n this.styles = stylesFactory.newInstance(fileProperties.template.styles);\r\n }\r\n else if (options.externalStyles) {\r\n const stylesFactory = new external_styles_factory_1.ExternalStylesFactory();\r\n this.styles = stylesFactory.newInstance(options.externalStyles);\r\n }\r\n else if (options.styles) {\r\n const stylesFactory = new factory_1.DefaultStylesFactory();\r\n const defaultStyles = stylesFactory.newInstance(options.styles.default);\r\n this.styles = new styles_1.Styles(Object.assign({}, defaultStyles, options.styles));\r\n }\r\n else {\r\n const stylesFactory = new factory_1.DefaultStylesFactory();\r\n this.styles = new styles_1.Styles(stylesFactory.newInstance());\r\n }\r\n this.addDefaultRelationships();\r\n if (fileProperties.template && fileProperties.template.headers) {\r\n for (const templateHeader of fileProperties.template.headers) {\r\n this.addHeaderToDocument(templateHeader.header, templateHeader.type);\r\n }\r\n }\r\n if (fileProperties.template && fileProperties.template.footers) {\r\n for (const templateFooter of fileProperties.template.footers) {\r\n this.addFooterToDocument(templateFooter.footer, templateFooter.type);\r\n }\r\n }\r\n for (const section of sections) {\r\n this.document.Body.addSection(section.properties ? section.properties : {});\r\n for (const child of section.children) {\r\n if (child instanceof paragraph_1.HyperlinkRef) {\r\n const hyperlink = this.hyperlinkCache[child.id];\r\n this.document.add(hyperlink);\r\n continue;\r\n }\r\n this.document.add(child);\r\n }\r\n }\r\n if (options.footnotes) {\r\n for (const paragraph of options.footnotes) {\r\n this.footNotes.createFootNote(paragraph);\r\n }\r\n }\r\n if (options.hyperlinks) {\r\n const cache = {};\r\n for (const key in options.hyperlinks) {\r\n if (!options.hyperlinks[key]) {\r\n continue;\r\n }\r\n const hyperlinkRef = options.hyperlinks[key];\r\n const hyperlink = hyperlinkRef.type === paragraph_1.HyperlinkType.EXTERNAL\r\n ? this.createHyperlink(hyperlinkRef.link, hyperlinkRef.text)\r\n : this.createInternalHyperLink(key, hyperlinkRef.text);\r\n cache[key] = hyperlink;\r\n }\r\n this.hyperlinkCache = cache;\r\n }\r\n if (options.features) {\r\n if (options.features.trackRevisions) {\r\n this.settings.addTrackRevisions();\r\n }\r\n }\r\n }\r\n addSection({ headers = { default: new header_1.Header() }, footers = { default: new header_1.Header() }, margins = {}, size = {}, properties, children, }) {\r\n this.document.Body.addSection(Object.assign({}, properties, { headers: {\r\n default: headers.default ? this.createHeader(headers.default) : this.createHeader(new header_1.Header()),\r\n first: headers.first ? this.createHeader(headers.first) : undefined,\r\n even: headers.even ? this.createHeader(headers.even) : undefined,\r\n }, footers: {\r\n default: footers.default ? this.createFooter(footers.default) : this.createFooter(new header_1.Footer()),\r\n first: footers.first ? this.createFooter(footers.first) : undefined,\r\n even: footers.even ? this.createFooter(footers.even) : undefined,\r\n } }, margins, size));\r\n for (const child of children) {\r\n if (child instanceof paragraph_1.HyperlinkRef) {\r\n const hyperlink = this.hyperlinkCache[child.id];\r\n this.document.add(hyperlink);\r\n continue;\r\n }\r\n this.document.add(child);\r\n }\r\n }\r\n verifyUpdateFields() {\r\n if (this.document.getTablesOfContents().length) {\r\n this.settings.addUpdateFields();\r\n }\r\n }\r\n createHyperlink(link, text = link) {\r\n const hyperlink = new paragraph_1.Hyperlink(text, shortid.generate().toLowerCase());\r\n this.docRelationships.createRelationship(hyperlink.linkId, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\", link, relationship_1.TargetModeType.EXTERNAL);\r\n return hyperlink;\r\n }\r\n createInternalHyperLink(anchor, text = anchor) {\r\n const hyperlink = new paragraph_1.Hyperlink(text, shortid.generate().toLowerCase(), anchor);\r\n return hyperlink;\r\n }\r\n createHeader(header) {\r\n const wrapper = new header_wrapper_1.HeaderWrapper(this.media, this.currentRelationshipId++);\r\n for (const child of header.options.children) {\r\n wrapper.add(child);\r\n }\r\n this.addHeaderToDocument(wrapper);\r\n return wrapper;\r\n }\r\n createFooter(footer) {\r\n const wrapper = new footer_wrapper_1.FooterWrapper(this.media, this.currentRelationshipId++);\r\n for (const child of footer.options.children) {\r\n wrapper.add(child);\r\n }\r\n this.addFooterToDocument(wrapper);\r\n return wrapper;\r\n }\r\n addHeaderToDocument(header, type = section_properties_1.HeaderReferenceType.DEFAULT) {\r\n this.headers.push({ header, type });\r\n this.docRelationships.createRelationship(header.Header.ReferenceId, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header\", `header${this.headers.length}.xml`);\r\n this.contentTypes.addHeader(this.headers.length);\r\n }\r\n addFooterToDocument(footer, type = section_properties_1.FooterReferenceType.DEFAULT) {\r\n this.footers.push({ footer, type });\r\n this.docRelationships.createRelationship(footer.Footer.ReferenceId, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer\", `footer${this.footers.length}.xml`);\r\n this.contentTypes.addFooter(this.footers.length);\r\n }\r\n addDefaultRelationships() {\r\n this.fileRelationships.createRelationship(1, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\", \"word/document.xml\");\r\n this.fileRelationships.createRelationship(2, \"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\", \"docProps/core.xml\");\r\n this.fileRelationships.createRelationship(3, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties\", \"docProps/app.xml\");\r\n this.docRelationships.createRelationship(this.currentRelationshipId++, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\", \"styles.xml\");\r\n this.docRelationships.createRelationship(this.currentRelationshipId++, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering\", \"numbering.xml\");\r\n this.docRelationships.createRelationship(this.currentRelationshipId++, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes\", \"footnotes.xml\");\r\n this.docRelationships.createRelationship(this.currentRelationshipId++, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings\", \"settings.xml\");\r\n }\r\n get Document() {\r\n return this.document;\r\n }\r\n get Styles() {\r\n return this.styles;\r\n }\r\n get CoreProperties() {\r\n return this.coreProperties;\r\n }\r\n get Numbering() {\r\n return this.numbering;\r\n }\r\n get Media() {\r\n return this.media;\r\n }\r\n get DocumentRelationships() {\r\n return this.docRelationships;\r\n }\r\n get FileRelationships() {\r\n return this.fileRelationships;\r\n }\r\n get Headers() {\r\n return this.headers.map((item) => item.header);\r\n }\r\n get Footers() {\r\n return this.footers.map((item) => item.footer);\r\n }\r\n get ContentTypes() {\r\n return this.contentTypes;\r\n }\r\n get AppProperties() {\r\n return this.appProperties;\r\n }\r\n get FootNotes() {\r\n return this.footNotes;\r\n }\r\n get Settings() {\r\n return this.settings;\r\n }\r\n get HyperlinkCache() {\r\n return this.hyperlinkCache;\r\n }\r\n}\r\nexports.File = File;\r\n\n\n/***/ }),\n/* 281 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst app_properties_attributes_1 = __webpack_require__(282);\r\nclass AppProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"Properties\");\r\n this.root.push(new app_properties_attributes_1.AppPropertiesAttributes({\r\n xmlns: \"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\",\r\n vt: \"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\",\r\n }));\r\n }\r\n}\r\nexports.AppProperties = AppProperties;\r\n\n\n/***/ }),\n/* 282 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass AppPropertiesAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n xmlns: \"xmlns\",\r\n vt: \"xmlns:vt\",\r\n };\r\n }\r\n}\r\nexports.AppPropertiesAttributes = AppPropertiesAttributes;\r\n\n\n/***/ }),\n/* 283 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst content_types_attributes_1 = __webpack_require__(284);\r\nconst default_1 = __webpack_require__(285);\r\nconst override_1 = __webpack_require__(287);\r\nclass ContentTypes extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"Types\");\r\n this.root.push(new content_types_attributes_1.ContentTypeAttributes({\r\n xmlns: \"http://schemas.openxmlformats.org/package/2006/content-types\",\r\n }));\r\n this.root.push(new default_1.Default(\"image/png\", \"png\"));\r\n this.root.push(new default_1.Default(\"image/jpeg\", \"jpeg\"));\r\n this.root.push(new default_1.Default(\"image/jpeg\", \"jpg\"));\r\n this.root.push(new default_1.Default(\"image/bmp\", \"bmp\"));\r\n this.root.push(new default_1.Default(\"image/gif\", \"gif\"));\r\n this.root.push(new default_1.Default(\"application/vnd.openxmlformats-package.relationships+xml\", \"rels\"));\r\n this.root.push(new default_1.Default(\"application/xml\", \"xml\"));\r\n this.root.push(new override_1.Override(\"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\", \"/word/document.xml\"));\r\n this.root.push(new override_1.Override(\"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml\", \"/word/styles.xml\"));\r\n this.root.push(new override_1.Override(\"application/vnd.openxmlformats-package.core-properties+xml\", \"/docProps/core.xml\"));\r\n this.root.push(new override_1.Override(\"application/vnd.openxmlformats-officedocument.extended-properties+xml\", \"/docProps/app.xml\"));\r\n this.root.push(new override_1.Override(\"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml\", \"/word/numbering.xml\"));\r\n this.root.push(new override_1.Override(\"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml\", \"/word/footnotes.xml\"));\r\n this.root.push(new override_1.Override(\"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml\", \"/word/settings.xml\"));\r\n }\r\n addFooter(index) {\r\n this.root.push(new override_1.Override(\"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml\", `/word/footer${index}.xml`));\r\n }\r\n addHeader(index) {\r\n this.root.push(new override_1.Override(\"application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml\", `/word/header${index}.xml`));\r\n }\r\n}\r\nexports.ContentTypes = ContentTypes;\r\n\n\n/***/ }),\n/* 284 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass ContentTypeAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n xmlns: \"xmlns\",\r\n };\r\n }\r\n}\r\nexports.ContentTypeAttributes = ContentTypeAttributes;\r\n\n\n/***/ }),\n/* 285 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst default_attributes_1 = __webpack_require__(286);\r\nclass Default extends xml_components_1.XmlComponent {\r\n constructor(contentType, extension) {\r\n super(\"Default\");\r\n this.root.push(new default_attributes_1.DefaultAttributes({\r\n contentType: contentType,\r\n extension: extension,\r\n }));\r\n }\r\n}\r\nexports.Default = Default;\r\n\n\n/***/ }),\n/* 286 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass DefaultAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n contentType: \"ContentType\",\r\n extension: \"Extension\",\r\n };\r\n }\r\n}\r\nexports.DefaultAttributes = DefaultAttributes;\r\n\n\n/***/ }),\n/* 287 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst override_attributes_1 = __webpack_require__(288);\r\nclass Override extends xml_components_1.XmlComponent {\r\n constructor(contentType, partName) {\r\n super(\"Override\");\r\n this.root.push(new override_attributes_1.OverrideAttributes({\r\n contentType: contentType,\r\n partName: partName,\r\n }));\r\n }\r\n}\r\nexports.Override = Override;\r\n\n\n/***/ }),\n/* 288 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass OverrideAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n contentType: \"ContentType\",\r\n partName: \"PartName\",\r\n };\r\n }\r\n}\r\nexports.OverrideAttributes = OverrideAttributes;\r\n\n\n/***/ }),\n/* 289 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(290));\r\n\n\n/***/ }),\n/* 290 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst document_attributes_1 = __webpack_require__(11);\r\nconst components_1 = __webpack_require__(291);\r\nclass CoreProperties extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"cp:coreProperties\");\r\n this.root.push(new document_attributes_1.DocumentAttributes({\r\n cp: \"http://schemas.openxmlformats.org/package/2006/metadata/core-properties\",\r\n dc: \"http://purl.org/dc/elements/1.1/\",\r\n dcterms: \"http://purl.org/dc/terms/\",\r\n dcmitype: \"http://purl.org/dc/dcmitype/\",\r\n xsi: \"http://www.w3.org/2001/XMLSchema-instance\",\r\n }));\r\n if (options.title) {\r\n this.root.push(new components_1.Title(options.title));\r\n }\r\n if (options.subject) {\r\n this.root.push(new components_1.Subject(options.subject));\r\n }\r\n if (options.creator) {\r\n this.root.push(new components_1.Creator(options.creator));\r\n }\r\n if (options.keywords) {\r\n this.root.push(new components_1.Keywords(options.keywords));\r\n }\r\n if (options.description) {\r\n this.root.push(new components_1.Description(options.description));\r\n }\r\n if (options.lastModifiedBy) {\r\n this.root.push(new components_1.LastModifiedBy(options.lastModifiedBy));\r\n }\r\n if (options.revision) {\r\n this.root.push(new components_1.Revision(options.revision));\r\n }\r\n this.root.push(new components_1.Created());\r\n this.root.push(new components_1.Modified());\r\n }\r\n}\r\nexports.CoreProperties = CoreProperties;\r\n\n\n/***/ }),\n/* 291 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst document_attributes_1 = __webpack_require__(11);\r\nclass Title extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"dc:title\");\r\n this.root.push(value);\r\n }\r\n}\r\nexports.Title = Title;\r\nclass Subject extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"dc:subject\");\r\n this.root.push(value);\r\n }\r\n}\r\nexports.Subject = Subject;\r\nclass Creator extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"dc:creator\");\r\n this.root.push(value);\r\n }\r\n}\r\nexports.Creator = Creator;\r\nclass Keywords extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"cp:keywords\");\r\n this.root.push(value);\r\n }\r\n}\r\nexports.Keywords = Keywords;\r\nclass Description extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"dc:description\");\r\n this.root.push(value);\r\n }\r\n}\r\nexports.Description = Description;\r\nclass LastModifiedBy extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"cp:lastModifiedBy\");\r\n this.root.push(value);\r\n }\r\n}\r\nexports.LastModifiedBy = LastModifiedBy;\r\nclass Revision extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"cp:revision\");\r\n this.root.push(value);\r\n }\r\n}\r\nexports.Revision = Revision;\r\nclass DateComponent extends xml_components_1.XmlComponent {\r\n getCurrentDate() {\r\n const date = new Date();\r\n const year = date.getFullYear();\r\n const month = (\"0\" + (date.getMonth() + 1)).slice(-2);\r\n const day = (\"0\" + date.getDate()).slice(-2);\r\n const hours = (\"0\" + date.getHours()).slice(-2);\r\n const minutes = (\"0\" + date.getMinutes()).slice(-2);\r\n const seconds = (\"0\" + date.getSeconds()).slice(-2);\r\n return year + \"-\" + month + \"-\" + day + \"T\" + hours + \":\" + minutes + \":\" + seconds + \"Z\";\r\n }\r\n}\r\nexports.DateComponent = DateComponent;\r\nclass Created extends DateComponent {\r\n constructor() {\r\n super(\"dcterms:created\");\r\n this.root.push(new document_attributes_1.DocumentAttributes({\r\n type: \"dcterms:W3CDTF\",\r\n }));\r\n this.root.push(this.getCurrentDate());\r\n }\r\n}\r\nexports.Created = Created;\r\nclass Modified extends DateComponent {\r\n constructor() {\r\n super(\"dcterms:modified\");\r\n this.root.push(new document_attributes_1.DocumentAttributes({\r\n type: \"dcterms:W3CDTF\",\r\n }));\r\n this.root.push(this.getCurrentDate());\r\n }\r\n}\r\nexports.Modified = Modified;\r\n\n\n/***/ }),\n/* 292 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst body_1 = __webpack_require__(115);\r\nconst document_attributes_1 = __webpack_require__(11);\r\nconst document_background_1 = __webpack_require__(130);\r\nclass Document extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:document\");\r\n this.root.push(new document_attributes_1.DocumentAttributes({\r\n wpc: \"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\",\r\n mc: \"http://schemas.openxmlformats.org/markup-compatibility/2006\",\r\n o: \"urn:schemas-microsoft-com:office:office\",\r\n r: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\r\n m: \"http://schemas.openxmlformats.org/officeDocument/2006/math\",\r\n v: \"urn:schemas-microsoft-com:vml\",\r\n wp14: \"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\",\r\n wp: \"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\",\r\n w10: \"urn:schemas-microsoft-com:office:word\",\r\n w: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\",\r\n w14: \"http://schemas.microsoft.com/office/word/2010/wordml\",\r\n w15: \"http://schemas.microsoft.com/office/word/2012/wordml\",\r\n wpg: \"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\",\r\n wpi: \"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\",\r\n wne: \"http://schemas.microsoft.com/office/word/2006/wordml\",\r\n wps: \"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\",\r\n Ignorable: \"w14 w15 wp14\",\r\n }));\r\n this.body = new body_1.Body();\r\n this.root.push(new document_background_1.DocumentBackground(options.background));\r\n this.root.push(this.body);\r\n }\r\n add(item) {\r\n this.body.push(item);\r\n return this;\r\n }\r\n get Body() {\r\n return this.body;\r\n }\r\n getTablesOfContents() {\r\n return this.body.getTablesOfContents();\r\n }\r\n}\r\nexports.Document = Document;\r\n\n\n/***/ }),\n/* 293 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst __1 = __webpack_require__(12);\r\nconst section_properties_1 = __webpack_require__(116);\r\nclass Body extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:body\");\r\n this.sections = [];\r\n }\r\n addSection(options) {\r\n const currentSection = this.sections.pop();\r\n this.root.push(this.createSectionParagraph(currentSection));\r\n this.sections.push(new section_properties_1.SectionProperties(options));\r\n }\r\n prepForXml(file) {\r\n if (this.sections.length === 1) {\r\n this.root.splice(0, 1);\r\n this.root.push(this.sections.pop());\r\n }\r\n return super.prepForXml(file);\r\n }\r\n push(component) {\r\n this.root.push(component);\r\n }\r\n getTablesOfContents() {\r\n return this.root.filter((child) => child instanceof __1.TableOfContents);\r\n }\r\n createSectionParagraph(section) {\r\n const paragraph = new __1.Paragraph({});\r\n const properties = new __1.ParagraphProperties({});\r\n properties.push(section);\r\n paragraph.addChildElement(properties);\r\n return paragraph;\r\n }\r\n}\r\nexports.Body = Body;\r\n\n\n/***/ }),\n/* 294 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst columns_attributes_1 = __webpack_require__(295);\r\nclass Columns extends xml_components_1.XmlComponent {\r\n constructor(space, num) {\r\n super(\"w:cols\");\r\n this.root.push(new columns_attributes_1.ColumnsAttributes({\r\n space: space,\r\n num: num,\r\n }));\r\n }\r\n}\r\nexports.Columns = Columns;\r\n\n\n/***/ }),\n/* 295 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass ColumnsAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n space: \"w:space\",\r\n num: \"w:num\",\r\n };\r\n }\r\n}\r\nexports.ColumnsAttributes = ColumnsAttributes;\r\n\n\n/***/ }),\n/* 296 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst doc_grid_attributes_1 = __webpack_require__(297);\r\nclass DocumentGrid extends xml_components_1.XmlComponent {\r\n constructor(linePitch) {\r\n super(\"w:docGrid\");\r\n this.root.push(new doc_grid_attributes_1.DocGridAttributes({\r\n linePitch: linePitch,\r\n }));\r\n }\r\n}\r\nexports.DocumentGrid = DocumentGrid;\r\n\n\n/***/ }),\n/* 297 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass DocGridAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n linePitch: \"w:linePitch\",\r\n };\r\n }\r\n}\r\nexports.DocGridAttributes = DocGridAttributes;\r\n\n\n/***/ }),\n/* 298 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar LineNumberRestartFormat;\r\n(function (LineNumberRestartFormat) {\r\n LineNumberRestartFormat[\"CONTINUOUS\"] = \"continuous\";\r\n LineNumberRestartFormat[\"NEW_SECTION\"] = \"newSection\";\r\n LineNumberRestartFormat[\"NEW_PAGE\"] = \"newPage\";\r\n})(LineNumberRestartFormat = exports.LineNumberRestartFormat || (exports.LineNumberRestartFormat = {}));\r\nclass LineNumberAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n lineNumberCountBy: \"w:countBy\",\r\n lineNumberStart: \"w:start\",\r\n lineNumberRestart: \"w:restart\",\r\n lineNumberDistance: \"w:distance\",\r\n };\r\n }\r\n}\r\nexports.LineNumberAttributes = LineNumberAttributes;\r\nclass LineNumberType extends xml_components_1.XmlComponent {\r\n constructor(countBy, start, restart, dist) {\r\n super(\"w:lnNumType\");\r\n this.root.push(new LineNumberAttributes({\r\n lineNumberCountBy: countBy,\r\n lineNumberStart: start,\r\n lineNumberRestart: restart,\r\n lineNumberDistance: dist,\r\n }));\r\n }\r\n}\r\nexports.LineNumberType = LineNumberType;\r\n\n\n/***/ }),\n/* 299 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar PageBorderDisplay;\r\n(function (PageBorderDisplay) {\r\n PageBorderDisplay[\"ALL_PAGES\"] = \"allPages\";\r\n PageBorderDisplay[\"FIRST_PAGE\"] = \"firstPage\";\r\n PageBorderDisplay[\"NOT_FIRST_PAGE\"] = \"notFirstPage\";\r\n})(PageBorderDisplay = exports.PageBorderDisplay || (exports.PageBorderDisplay = {}));\r\nvar PageBorderOffsetFrom;\r\n(function (PageBorderOffsetFrom) {\r\n PageBorderOffsetFrom[\"PAGE\"] = \"page\";\r\n PageBorderOffsetFrom[\"TEXT\"] = \"text\";\r\n})(PageBorderOffsetFrom = exports.PageBorderOffsetFrom || (exports.PageBorderOffsetFrom = {}));\r\nvar PageBorderZOrder;\r\n(function (PageBorderZOrder) {\r\n PageBorderZOrder[\"BACK\"] = \"back\";\r\n PageBorderZOrder[\"FRONT\"] = \"front\";\r\n})(PageBorderZOrder = exports.PageBorderZOrder || (exports.PageBorderZOrder = {}));\r\nclass PageBordeAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n style: \"w:val\",\r\n size: \"w:size\",\r\n color: \"w:color\",\r\n space: \"w:space\",\r\n };\r\n }\r\n}\r\nclass PageBorder extends xml_components_1.XmlComponent {\r\n constructor(key, options) {\r\n super(key);\r\n this.root.push(new PageBordeAttributes(options));\r\n }\r\n}\r\nclass PageBordersAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n display: \"w:display\",\r\n offsetFrom: \"w:offsetFrom\",\r\n zOrder: \"w:zOrder\",\r\n };\r\n }\r\n}\r\nclass PageBorders extends xml_components_1.IgnoreIfEmptyXmlComponent {\r\n constructor(options) {\r\n super(\"w:pgBorders\");\r\n if (!options) {\r\n return;\r\n }\r\n let pageBordersAttributes = {};\r\n if (options.pageBorders) {\r\n pageBordersAttributes = {\r\n display: options.pageBorders.display,\r\n offsetFrom: options.pageBorders.offsetFrom,\r\n zOrder: options.pageBorders.zOrder,\r\n };\r\n }\r\n this.root.push(new PageBordersAttributes(pageBordersAttributes));\r\n if (options.pageBorderTop) {\r\n this.root.push(new PageBorder(\"w:top\", options.pageBorderTop));\r\n }\r\n if (options.pageBorderRight) {\r\n this.root.push(new PageBorder(\"w:right\", options.pageBorderRight));\r\n }\r\n if (options.pageBorderBottom) {\r\n this.root.push(new PageBorder(\"w:bottom\", options.pageBorderBottom));\r\n }\r\n if (options.pageBorderLeft) {\r\n this.root.push(new PageBorder(\"w:left\", options.pageBorderLeft));\r\n }\r\n }\r\n}\r\nexports.PageBorders = PageBorders;\r\n\n\n/***/ }),\n/* 300 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst page_margin_attributes_1 = __webpack_require__(301);\r\nclass PageMargin extends xml_components_1.XmlComponent {\r\n constructor(top, right, bottom, left, header, footer, gutter, mirror) {\r\n super(\"w:pgMar\");\r\n this.root.push(new page_margin_attributes_1.PageMarginAttributes({\r\n top: top,\r\n right: right,\r\n bottom: bottom,\r\n left: left,\r\n header: header,\r\n footer: footer,\r\n gutter: gutter,\r\n mirror: mirror,\r\n }));\r\n }\r\n}\r\nexports.PageMargin = PageMargin;\r\n\n\n/***/ }),\n/* 301 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass PageMarginAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n top: \"w:top\",\r\n right: \"w:right\",\r\n bottom: \"w:bottom\",\r\n left: \"w:left\",\r\n header: \"w:header\",\r\n footer: \"w:footer\",\r\n gutter: \"w:gutter\",\r\n mirror: \"w:mirrorMargins\",\r\n };\r\n }\r\n}\r\nexports.PageMarginAttributes = PageMarginAttributes;\r\n\n\n/***/ }),\n/* 302 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar PageNumberFormat;\r\n(function (PageNumberFormat) {\r\n PageNumberFormat[\"CARDINAL_TEXT\"] = \"cardinalText\";\r\n PageNumberFormat[\"DECIMAL\"] = \"decimal\";\r\n PageNumberFormat[\"DECIMAL_ENCLOSED_CIRCLE\"] = \"decimalEnclosedCircle\";\r\n PageNumberFormat[\"DECIMAL_ENCLOSED_FULL_STOP\"] = \"decimalEnclosedFullstop\";\r\n PageNumberFormat[\"DECIMAL_ENCLOSED_PAREN\"] = \"decimalEnclosedParen\";\r\n PageNumberFormat[\"DECIMAL_ZERO\"] = \"decimalZero\";\r\n PageNumberFormat[\"LOWER_LETTER\"] = \"lowerLetter\";\r\n PageNumberFormat[\"LOWER_ROMAN\"] = \"lowerRoman\";\r\n PageNumberFormat[\"NONE\"] = \"none\";\r\n PageNumberFormat[\"ORDINAL_TEXT\"] = \"ordinalText\";\r\n PageNumberFormat[\"UPPER_LETTER\"] = \"upperLetter\";\r\n PageNumberFormat[\"UPPER_ROMAN\"] = \"upperRoman\";\r\n PageNumberFormat[\"DECIMAL_FULL_WIDTH\"] = \"decimalFullWidth\";\r\n})(PageNumberFormat = exports.PageNumberFormat || (exports.PageNumberFormat = {}));\r\nclass PageNumberTypeAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n pageNumberStart: \"w:start\",\r\n pageNumberFormatType: \"w:fmt\",\r\n };\r\n }\r\n}\r\nexports.PageNumberTypeAttributes = PageNumberTypeAttributes;\r\nclass PageNumberType extends xml_components_1.XmlComponent {\r\n constructor(start, numberFormat) {\r\n super(\"w:pgNumType\");\r\n this.root.push(new PageNumberTypeAttributes({\r\n pageNumberStart: start,\r\n pageNumberFormatType: numberFormat,\r\n }));\r\n }\r\n}\r\nexports.PageNumberType = PageNumberType;\r\n\n\n/***/ }),\n/* 303 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst title_page_attributes_1 = __webpack_require__(304);\r\nclass TitlePage extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:titlePg\");\r\n this.root.push(new title_page_attributes_1.TitlePageAttributes({\r\n value: \"1\",\r\n }));\r\n }\r\n}\r\nexports.TitlePage = TitlePage;\r\n\n\n/***/ }),\n/* 304 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TitlePageAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n value: \"w:val\",\r\n };\r\n }\r\n}\r\nexports.TitlePageAttributes = TitlePageAttributes;\r\n\n\n/***/ }),\n/* 305 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst vertical_align_attributes_1 = __webpack_require__(128);\r\nvar SectionVerticalAlignValue;\r\n(function (SectionVerticalAlignValue) {\r\n SectionVerticalAlignValue[\"BOTH\"] = \"both\";\r\n SectionVerticalAlignValue[\"BOTTOM\"] = \"bottom\";\r\n SectionVerticalAlignValue[\"CENTER\"] = \"center\";\r\n SectionVerticalAlignValue[\"TOP\"] = \"top\";\r\n})(SectionVerticalAlignValue = exports.SectionVerticalAlignValue || (exports.SectionVerticalAlignValue = {}));\r\nclass SectionVerticalAlign extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:vAlign\");\r\n this.root.push(new vertical_align_attributes_1.SectionVerticalAlignAttributes({ verticalAlign: value }));\r\n }\r\n}\r\nexports.SectionVerticalAlign = SectionVerticalAlign;\r\n\n\n/***/ }),\n/* 306 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(126));\r\n__export(__webpack_require__(45));\r\n\n\n/***/ }),\n/* 307 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass DocumentBackgroundAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n color: \"w:color\",\r\n themeColor: \"w:themeColor\",\r\n themeShade: \"w:themeShade\",\r\n themeTint: \"w:themeTint\",\r\n };\r\n }\r\n}\r\nexports.DocumentBackgroundAttributes = DocumentBackgroundAttributes;\r\nclass DocumentBackground extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:background\");\r\n this.root.push(new DocumentBackgroundAttributes({\r\n color: options.color ? options.color : \"FFFFFF\",\r\n themeColor: options.themeColor,\r\n themeShade: options.themeShade,\r\n themeTint: options.themeTint,\r\n }));\r\n }\r\n}\r\nexports.DocumentBackground = DocumentBackground;\r\n\n\n/***/ }),\n/* 308 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst footer_attributes_1 = __webpack_require__(309);\r\nclass Footer extends xml_components_1.InitializableXmlComponent {\r\n constructor(referenceNumber, initContent) {\r\n super(\"w:ftr\", initContent);\r\n this.refId = referenceNumber;\r\n if (!initContent) {\r\n this.root.push(new footer_attributes_1.FooterAttributes({\r\n wpc: \"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\",\r\n mc: \"http://schemas.openxmlformats.org/markup-compatibility/2006\",\r\n o: \"urn:schemas-microsoft-com:office:office\",\r\n r: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\r\n m: \"http://schemas.openxmlformats.org/officeDocument/2006/math\",\r\n v: \"urn:schemas-microsoft-com:vml\",\r\n wp14: \"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\",\r\n wp: \"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\",\r\n w10: \"urn:schemas-microsoft-com:office:word\",\r\n w: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\",\r\n w14: \"http://schemas.microsoft.com/office/word/2010/wordml\",\r\n w15: \"http://schemas.microsoft.com/office/word/2012/wordml\",\r\n wpg: \"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\",\r\n wpi: \"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\",\r\n wne: \"http://schemas.microsoft.com/office/word/2006/wordml\",\r\n wps: \"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\",\r\n }));\r\n }\r\n }\r\n get ReferenceId() {\r\n return this.refId;\r\n }\r\n add(item) {\r\n this.root.push(item);\r\n }\r\n}\r\nexports.Footer = Footer;\r\n\n\n/***/ }),\n/* 309 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass FooterAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n wpc: \"xmlns:wpc\",\r\n mc: \"xmlns:mc\",\r\n o: \"xmlns:o\",\r\n r: \"xmlns:r\",\r\n m: \"xmlns:m\",\r\n v: \"xmlns:v\",\r\n wp14: \"xmlns:wp14\",\r\n wp: \"xmlns:wp\",\r\n w10: \"xmlns:w10\",\r\n w: \"xmlns:w\",\r\n w14: \"xmlns:w14\",\r\n w15: \"xmlns:w15\",\r\n wpg: \"xmlns:wpg\",\r\n wpi: \"xmlns:wpi\",\r\n wne: \"xmlns:wne\",\r\n wps: \"xmlns:wps\",\r\n cp: \"xmlns:cp\",\r\n dc: \"xmlns:dc\",\r\n dcterms: \"xmlns:dcterms\",\r\n dcmitype: \"xmlns:dcmitype\",\r\n xsi: \"xmlns:xsi\",\r\n type: \"xsi:type\",\r\n };\r\n }\r\n}\r\nexports.FooterAttributes = FooterAttributes;\r\n\n\n/***/ }),\n/* 310 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst attributes_1 = __webpack_require__(311);\r\nconst relationship_1 = __webpack_require__(48);\r\nclass Relationships extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"Relationships\");\r\n this.root.push(new attributes_1.RelationshipsAttributes({\r\n xmlns: \"http://schemas.openxmlformats.org/package/2006/relationships\",\r\n }));\r\n }\r\n addRelationship(relationship) {\r\n this.root.push(relationship);\r\n }\r\n createRelationship(id, type, target, targetMode) {\r\n const relationship = new relationship_1.Relationship(`rId${id}`, type, target, targetMode);\r\n this.addRelationship(relationship);\r\n return relationship;\r\n }\r\n get RelationshipCount() {\r\n return this.root.length - 1;\r\n }\r\n}\r\nexports.Relationships = Relationships;\r\n\n\n/***/ }),\n/* 311 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass RelationshipsAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n xmlns: \"xmlns\",\r\n };\r\n }\r\n}\r\nexports.RelationshipsAttributes = RelationshipsAttributes;\r\n\n\n/***/ }),\n/* 312 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass RelationshipAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n id: \"Id\",\r\n type: \"Type\",\r\n target: \"Target\",\r\n targetMode: \"TargetMode\",\r\n };\r\n }\r\n}\r\nexports.RelationshipAttributes = RelationshipAttributes;\r\n\n\n/***/ }),\n/* 313 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst paragraph_1 = __webpack_require__(1);\r\nconst footnote_1 = __webpack_require__(314);\r\nconst continuation_seperator_run_1 = __webpack_require__(318);\r\nconst seperator_run_1 = __webpack_require__(320);\r\nconst footnotes_attributes_1 = __webpack_require__(322);\r\nclass FootNotes extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:footnotes\");\r\n this.currentId = 1;\r\n this.root.push(new footnotes_attributes_1.FootnotesAttributes({\r\n wpc: \"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\",\r\n mc: \"http://schemas.openxmlformats.org/markup-compatibility/2006\",\r\n o: \"urn:schemas-microsoft-com:office:office\",\r\n r: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\r\n m: \"http://schemas.openxmlformats.org/officeDocument/2006/math\",\r\n v: \"urn:schemas-microsoft-com:vml\",\r\n wp14: \"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\",\r\n wp: \"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\",\r\n w10: \"urn:schemas-microsoft-com:office:word\",\r\n w: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\",\r\n w14: \"http://schemas.microsoft.com/office/word/2010/wordml\",\r\n w15: \"http://schemas.microsoft.com/office/word/2012/wordml\",\r\n wpg: \"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\",\r\n wpi: \"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\",\r\n wne: \"http://schemas.microsoft.com/office/word/2006/wordml\",\r\n wps: \"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\",\r\n Ignorable: \"w14 w15 wp14\",\r\n }));\r\n const begin = new footnote_1.Footnote(-1, footnote_1.FootnoteType.SEPERATOR);\r\n begin.add(new paragraph_1.Paragraph({\r\n spacing: {\r\n after: 0,\r\n line: 240,\r\n lineRule: \"auto\",\r\n },\r\n children: [new seperator_run_1.SeperatorRun()],\r\n }));\r\n this.root.push(begin);\r\n const spacing = new footnote_1.Footnote(0, footnote_1.FootnoteType.CONTINUATION_SEPERATOR);\r\n spacing.add(new paragraph_1.Paragraph({\r\n spacing: {\r\n after: 0,\r\n line: 240,\r\n lineRule: \"auto\",\r\n },\r\n children: [new continuation_seperator_run_1.ContinuationSeperatorRun()],\r\n }));\r\n this.root.push(spacing);\r\n }\r\n createFootNote(paragraph) {\r\n const footnote = new footnote_1.Footnote(this.currentId);\r\n footnote.add(paragraph);\r\n this.root.push(footnote);\r\n this.currentId++;\r\n }\r\n}\r\nexports.FootNotes = FootNotes;\r\n\n\n/***/ }),\n/* 314 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst footnote_attributes_1 = __webpack_require__(315);\r\nconst footnote_ref_run_1 = __webpack_require__(316);\r\nvar FootnoteType;\r\n(function (FootnoteType) {\r\n FootnoteType[\"SEPERATOR\"] = \"separator\";\r\n FootnoteType[\"CONTINUATION_SEPERATOR\"] = \"continuationSeparator\";\r\n})(FootnoteType = exports.FootnoteType || (exports.FootnoteType = {}));\r\nclass Footnote extends xml_components_1.XmlComponent {\r\n constructor(id, type) {\r\n super(\"w:footnote\");\r\n this.root.push(new footnote_attributes_1.FootnoteAttributes({\r\n type: type,\r\n id: id,\r\n }));\r\n }\r\n add(paragraph) {\r\n paragraph.addRunToFront(new footnote_ref_run_1.FootnoteRefRun());\r\n this.root.push(paragraph);\r\n }\r\n}\r\nexports.Footnote = Footnote;\r\n\n\n/***/ }),\n/* 315 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass FootnoteAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n type: \"w:type\",\r\n id: \"w:id\",\r\n };\r\n }\r\n}\r\nexports.FootnoteAttributes = FootnoteAttributes;\r\n\n\n/***/ }),\n/* 316 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst paragraph_1 = __webpack_require__(1);\r\nconst footnote_ref_1 = __webpack_require__(317);\r\nclass FootnoteRefRun extends paragraph_1.Run {\r\n constructor() {\r\n super({\r\n style: \"FootnoteReference\",\r\n });\r\n this.root.push(new footnote_ref_1.FootnoteRef());\r\n }\r\n}\r\nexports.FootnoteRefRun = FootnoteRefRun;\r\n\n\n/***/ }),\n/* 317 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass FootnoteRef extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:footnoteRef\");\r\n }\r\n}\r\nexports.FootnoteRef = FootnoteRef;\r\n\n\n/***/ }),\n/* 318 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst paragraph_1 = __webpack_require__(1);\r\nconst continuation_seperator_1 = __webpack_require__(319);\r\nclass ContinuationSeperatorRun extends paragraph_1.Run {\r\n constructor() {\r\n super({});\r\n this.root.push(new continuation_seperator_1.ContinuationSeperator());\r\n }\r\n}\r\nexports.ContinuationSeperatorRun = ContinuationSeperatorRun;\r\n\n\n/***/ }),\n/* 319 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass ContinuationSeperator extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:continuationSeparator\");\r\n }\r\n}\r\nexports.ContinuationSeperator = ContinuationSeperator;\r\n\n\n/***/ }),\n/* 320 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst paragraph_1 = __webpack_require__(1);\r\nconst seperator_1 = __webpack_require__(321);\r\nclass SeperatorRun extends paragraph_1.Run {\r\n constructor() {\r\n super({});\r\n this.root.push(new seperator_1.Seperator());\r\n }\r\n}\r\nexports.SeperatorRun = SeperatorRun;\r\n\n\n/***/ }),\n/* 321 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass Seperator extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:separator\");\r\n }\r\n}\r\nexports.Seperator = Seperator;\r\n\n\n/***/ }),\n/* 322 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass FootnotesAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n wpc: \"xmlns:wpc\",\r\n mc: \"xmlns:mc\",\r\n o: \"xmlns:o\",\r\n r: \"xmlns:r\",\r\n m: \"xmlns:m\",\r\n v: \"xmlns:v\",\r\n wp14: \"xmlns:wp14\",\r\n wp: \"xmlns:wp\",\r\n w10: \"xmlns:w10\",\r\n w: \"xmlns:w\",\r\n w14: \"xmlns:w14\",\r\n w15: \"xmlns:w15\",\r\n wpg: \"xmlns:wpg\",\r\n wpi: \"xmlns:wpi\",\r\n wne: \"xmlns:wne\",\r\n wps: \"xmlns:wps\",\r\n Ignorable: \"mc:Ignorable\",\r\n };\r\n }\r\n}\r\nexports.FootnotesAttributes = FootnotesAttributes;\r\n\n\n/***/ }),\n/* 323 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(324));\r\n\n\n/***/ }),\n/* 324 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(325));\r\n\n\n/***/ }),\n/* 325 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst run_1 = __webpack_require__(3);\r\nconst style_1 = __webpack_require__(70);\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass FootNoteReferenceRunAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n id: \"w:id\",\r\n };\r\n }\r\n}\r\nexports.FootNoteReferenceRunAttributes = FootNoteReferenceRunAttributes;\r\nclass FootnoteReference extends xml_components_1.XmlComponent {\r\n constructor(id) {\r\n super(\"w:footnoteReference\");\r\n this.root.push(new FootNoteReferenceRunAttributes({\r\n id: id,\r\n }));\r\n }\r\n}\r\nexports.FootnoteReference = FootnoteReference;\r\nclass FootnoteReferenceRun extends run_1.Run {\r\n constructor(id) {\r\n super({});\r\n this.properties.push(new style_1.Style(\"FootnoteReference\"));\r\n this.root.push(new FootnoteReference(id));\r\n }\r\n}\r\nexports.FootnoteReferenceRun = FootnoteReferenceRun;\r\n\n\n/***/ }),\n/* 326 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst header_attributes_1 = __webpack_require__(327);\r\nclass Header extends xml_components_1.InitializableXmlComponent {\r\n constructor(referenceNumber, initContent) {\r\n super(\"w:hdr\", initContent);\r\n this.refId = referenceNumber;\r\n if (!initContent) {\r\n this.root.push(new header_attributes_1.HeaderAttributes({\r\n wpc: \"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\",\r\n mc: \"http://schemas.openxmlformats.org/markup-compatibility/2006\",\r\n o: \"urn:schemas-microsoft-com:office:office\",\r\n r: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\r\n m: \"http://schemas.openxmlformats.org/officeDocument/2006/math\",\r\n v: \"urn:schemas-microsoft-com:vml\",\r\n wp14: \"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\",\r\n wp: \"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\",\r\n w10: \"urn:schemas-microsoft-com:office:word\",\r\n w: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\",\r\n w14: \"http://schemas.microsoft.com/office/word/2010/wordml\",\r\n w15: \"http://schemas.microsoft.com/office/word/2012/wordml\",\r\n wpg: \"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\",\r\n wpi: \"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\",\r\n wne: \"http://schemas.microsoft.com/office/word/2006/wordml\",\r\n wps: \"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\",\r\n cx: \"http://schemas.microsoft.com/office/drawing/2014/chartex\",\r\n cx1: \"http://schemas.microsoft.com/office/drawing/2015/9/8/chartex\",\r\n cx2: \"http://schemas.microsoft.com/office/drawing/2015/10/21/chartex\",\r\n cx3: \"http://schemas.microsoft.com/office/drawing/2016/5/9/chartex\",\r\n cx4: \"http://schemas.microsoft.com/office/drawing/2016/5/10/chartex\",\r\n cx5: \"http://schemas.microsoft.com/office/drawing/2016/5/11/chartex\",\r\n cx6: \"http://schemas.microsoft.com/office/drawing/2016/5/12/chartex\",\r\n cx7: \"http://schemas.microsoft.com/office/drawing/2016/5/13/chartex\",\r\n cx8: \"http://schemas.microsoft.com/office/drawing/2016/5/14/chartex\",\r\n w16cid: \"http://schemas.microsoft.com/office/word/2016/wordml/cid\",\r\n w16se: \"http://schemas.microsoft.com/office/word/2015/wordml/symex\",\r\n }));\r\n }\r\n }\r\n get ReferenceId() {\r\n return this.refId;\r\n }\r\n add(item) {\r\n this.root.push(item);\r\n }\r\n}\r\nexports.Header = Header;\r\n\n\n/***/ }),\n/* 327 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass HeaderAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n wpc: \"xmlns:wpc\",\r\n mc: \"xmlns:mc\",\r\n o: \"xmlns:o\",\r\n r: \"xmlns:r\",\r\n m: \"xmlns:m\",\r\n v: \"xmlns:v\",\r\n wp14: \"xmlns:wp14\",\r\n wp: \"xmlns:wp\",\r\n w10: \"xmlns:w10\",\r\n w: \"xmlns:w\",\r\n w14: \"xmlns:w14\",\r\n w15: \"xmlns:w15\",\r\n wpg: \"xmlns:wpg\",\r\n wpi: \"xmlns:wpi\",\r\n wne: \"xmlns:wne\",\r\n wps: \"xmlns:wps\",\r\n cp: \"xmlns:cp\",\r\n dc: \"xmlns:dc\",\r\n dcterms: \"xmlns:dcterms\",\r\n dcmitype: \"xmlns:dcmitype\",\r\n xsi: \"xmlns:xsi\",\r\n type: \"xsi:type\",\r\n cx: \"xmlns:cx\",\r\n cx1: \"xmlns:cx1\",\r\n cx2: \"xmlns:cx2\",\r\n cx3: \"xmlns:cx3\",\r\n cx4: \"xmlns:cx4\",\r\n cx5: \"xmlns:cx5\",\r\n cx6: \"xmlns:cx6\",\r\n cx7: \"xmlns:cx7\",\r\n cx8: \"xmlns:cx8\",\r\n w16cid: \"xmlns:w16cid\",\r\n w16se: \"xmlns:w16se\",\r\n };\r\n }\r\n}\r\nexports.HeaderAttributes = HeaderAttributes;\r\n\n\n/***/ }),\n/* 328 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst paragraph_1 = __webpack_require__(1);\r\nclass Media {\r\n static addImage(file, buffer, width, height, drawingOptions) {\r\n const mediaData = file.Media.addMedia(buffer, width, height);\r\n return new paragraph_1.PictureRun(mediaData, drawingOptions);\r\n }\r\n static generateId() {\r\n return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);\r\n }\r\n constructor() {\r\n this.map = new Map();\r\n }\r\n getMedia(key) {\r\n const data = this.map.get(key);\r\n if (data === undefined) {\r\n throw new Error(`Cannot find image with the key ${key}`);\r\n }\r\n return data;\r\n }\r\n addMedia(buffer, width = 100, height = 100) {\r\n const key = `${Media.generateId()}.png`;\r\n return this.createMedia(key, {\r\n width: width,\r\n height: height,\r\n }, buffer);\r\n }\r\n createMedia(key, dimensions, data, filePath) {\r\n const newData = typeof data === \"string\" ? this.convertDataURIToBinary(data) : data;\r\n const imageData = {\r\n stream: newData,\r\n path: filePath,\r\n fileName: key,\r\n dimensions: {\r\n pixels: {\r\n x: Math.round(dimensions.width),\r\n y: Math.round(dimensions.height),\r\n },\r\n emus: {\r\n x: Math.round(dimensions.width * 9525),\r\n y: Math.round(dimensions.height * 9525),\r\n },\r\n },\r\n };\r\n this.map.set(key, imageData);\r\n return imageData;\r\n }\r\n get Array() {\r\n const array = new Array();\r\n this.map.forEach((data) => {\r\n array.push(data);\r\n });\r\n return array;\r\n }\r\n convertDataURIToBinary(dataURI) {\r\n const BASE64_MARKER = \";base64,\";\r\n const base64Index = dataURI.indexOf(BASE64_MARKER) + BASE64_MARKER.length;\r\n if (typeof atob === \"function\") {\r\n return new Uint8Array(atob(dataURI.substring(base64Index))\r\n .split(\"\")\r\n .map((c) => c.charCodeAt(0)));\r\n }\r\n else {\r\n const b = __webpack_require__(6);\r\n return new b.Buffer(dataURI, \"base64\");\r\n }\r\n }\r\n}\r\nexports.Media = Media;\r\n\n\n/***/ }),\n/* 329 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.WORKAROUND2 = \"\";\r\n\n\n/***/ }),\n/* 330 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst convenience_functions_1 = __webpack_require__(44);\r\nconst paragraph_1 = __webpack_require__(1);\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst document_attributes_1 = __webpack_require__(11);\r\nconst abstract_numbering_1 = __webpack_require__(134);\r\nconst level_1 = __webpack_require__(24);\r\nconst num_1 = __webpack_require__(135);\r\nclass Numbering extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:numbering\");\r\n this.abstractNumbering = [];\r\n this.concreteNumbering = [];\r\n this.root.push(new document_attributes_1.DocumentAttributes({\r\n wpc: \"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\",\r\n mc: \"http://schemas.openxmlformats.org/markup-compatibility/2006\",\r\n o: \"urn:schemas-microsoft-com:office:office\",\r\n r: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\r\n m: \"http://schemas.openxmlformats.org/officeDocument/2006/math\",\r\n v: \"urn:schemas-microsoft-com:vml\",\r\n wp14: \"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\",\r\n wp: \"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\",\r\n w10: \"urn:schemas-microsoft-com:office:word\",\r\n w: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\",\r\n w14: \"http://schemas.microsoft.com/office/word/2010/wordml\",\r\n w15: \"http://schemas.microsoft.com/office/word/2012/wordml\",\r\n wpg: \"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\",\r\n wpi: \"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\",\r\n wne: \"http://schemas.microsoft.com/office/word/2006/wordml\",\r\n wps: \"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\",\r\n Ignorable: \"w14 w15 wp14\",\r\n }));\r\n this.nextId = 0;\r\n const abstractNumbering = this.createAbstractNumbering([\r\n {\r\n level: 0,\r\n format: level_1.LevelFormat.BULLET,\r\n text: \"\\u25CF\",\r\n alignment: paragraph_1.AlignmentType.LEFT,\r\n style: {\r\n paragraph: {\r\n indent: { left: convenience_functions_1.convertInchesToTwip(0.5), hanging: convenience_functions_1.convertInchesToTwip(0.25) },\r\n },\r\n },\r\n },\r\n {\r\n level: 1,\r\n format: level_1.LevelFormat.BULLET,\r\n text: \"\\u25CB\",\r\n alignment: paragraph_1.AlignmentType.LEFT,\r\n style: {\r\n paragraph: {\r\n indent: { left: convenience_functions_1.convertInchesToTwip(1), hanging: convenience_functions_1.convertInchesToTwip(0.25) },\r\n },\r\n },\r\n },\r\n {\r\n level: 2,\r\n format: level_1.LevelFormat.BULLET,\r\n text: \"\\u25A0\",\r\n alignment: paragraph_1.AlignmentType.LEFT,\r\n style: {\r\n paragraph: {\r\n indent: { left: 2160, hanging: convenience_functions_1.convertInchesToTwip(0.25) },\r\n },\r\n },\r\n },\r\n {\r\n level: 3,\r\n format: level_1.LevelFormat.BULLET,\r\n text: \"\\u25CF\",\r\n alignment: paragraph_1.AlignmentType.LEFT,\r\n style: {\r\n paragraph: {\r\n indent: { left: 2880, hanging: convenience_functions_1.convertInchesToTwip(0.25) },\r\n },\r\n },\r\n },\r\n {\r\n level: 4,\r\n format: level_1.LevelFormat.BULLET,\r\n text: \"\\u25CB\",\r\n alignment: paragraph_1.AlignmentType.LEFT,\r\n style: {\r\n paragraph: {\r\n indent: { left: 3600, hanging: convenience_functions_1.convertInchesToTwip(0.25) },\r\n },\r\n },\r\n },\r\n {\r\n level: 5,\r\n format: level_1.LevelFormat.BULLET,\r\n text: \"\\u25A0\",\r\n alignment: paragraph_1.AlignmentType.LEFT,\r\n style: {\r\n paragraph: {\r\n indent: { left: 4320, hanging: convenience_functions_1.convertInchesToTwip(0.25) },\r\n },\r\n },\r\n },\r\n {\r\n level: 6,\r\n format: level_1.LevelFormat.BULLET,\r\n text: \"\\u25CF\",\r\n alignment: paragraph_1.AlignmentType.LEFT,\r\n style: {\r\n paragraph: {\r\n indent: { left: 5040, hanging: convenience_functions_1.convertInchesToTwip(0.25) },\r\n },\r\n },\r\n },\r\n {\r\n level: 7,\r\n format: level_1.LevelFormat.BULLET,\r\n text: \"\\u25CF\",\r\n alignment: paragraph_1.AlignmentType.LEFT,\r\n style: {\r\n paragraph: {\r\n indent: { left: 5760, hanging: convenience_functions_1.convertInchesToTwip(0.25) },\r\n },\r\n },\r\n },\r\n {\r\n level: 8,\r\n format: level_1.LevelFormat.BULLET,\r\n text: \"\\u25CF\",\r\n alignment: paragraph_1.AlignmentType.LEFT,\r\n style: {\r\n paragraph: {\r\n indent: { left: 6480, hanging: convenience_functions_1.convertInchesToTwip(0.25) },\r\n },\r\n },\r\n },\r\n ]);\r\n this.createConcreteNumbering(abstractNumbering);\r\n for (const con of options.config) {\r\n const currentAbstractNumbering = this.createAbstractNumbering(con.levels);\r\n this.createConcreteNumbering(currentAbstractNumbering, con.reference);\r\n }\r\n }\r\n prepForXml() {\r\n this.abstractNumbering.forEach((x) => this.root.push(x));\r\n this.concreteNumbering.forEach((x) => this.root.push(x));\r\n return super.prepForXml();\r\n }\r\n createConcreteNumbering(abstractNumbering, reference) {\r\n const num = new num_1.ConcreteNumbering(this.nextId++, abstractNumbering.id, reference);\r\n this.concreteNumbering.push(num);\r\n return num;\r\n }\r\n createAbstractNumbering(options) {\r\n const num = new abstract_numbering_1.AbstractNumbering(this.nextId++, options);\r\n this.abstractNumbering.push(num);\r\n return num;\r\n }\r\n get ConcreteNumbering() {\r\n return this.concreteNumbering;\r\n }\r\n}\r\nexports.Numbering = Numbering;\r\n\n\n/***/ }),\n/* 331 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MultiLevelType extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:multiLevelType\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nexports.MultiLevelType = MultiLevelType;\r\n\n\n/***/ }),\n/* 332 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(333));\r\n__export(__webpack_require__(136));\r\n\n\n/***/ }),\n/* 333 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst compatibility_1 = __webpack_require__(334);\r\nconst display_background_shape_1 = __webpack_require__(335);\r\nconst track_revisions_1 = __webpack_require__(336);\r\nconst update_fields_1 = __webpack_require__(136);\r\nclass SettingsAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n wpc: \"xmlns:wpc\",\r\n mc: \"xmlns:mc\",\r\n o: \"xmlns:o\",\r\n r: \"xmlns:r\",\r\n m: \"xmlns:m\",\r\n v: \"xmlns:v\",\r\n wp14: \"xmlns:wp14\",\r\n wp: \"xmlns:wp\",\r\n w10: \"xmlns:w10\",\r\n w: \"xmlns:w\",\r\n w14: \"xmlns:w14\",\r\n w15: \"xmlns:w15\",\r\n wpg: \"xmlns:wpg\",\r\n wpi: \"xmlns:wpi\",\r\n wne: \"xmlns:wne\",\r\n wps: \"xmlns:wps\",\r\n Ignorable: \"mc:Ignorable\",\r\n };\r\n }\r\n}\r\nexports.SettingsAttributes = SettingsAttributes;\r\nclass Settings extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:settings\");\r\n this.root.push(new SettingsAttributes({\r\n wpc: \"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\",\r\n mc: \"http://schemas.openxmlformats.org/markup-compatibility/2006\",\r\n o: \"urn:schemas-microsoft-com:office:office\",\r\n r: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\r\n m: \"http://schemas.openxmlformats.org/officeDocument/2006/math\",\r\n v: \"urn:schemas-microsoft-com:vml\",\r\n wp14: \"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\",\r\n wp: \"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\",\r\n w10: \"urn:schemas-microsoft-com:office:word\",\r\n w: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\",\r\n w14: \"http://schemas.microsoft.com/office/word/2010/wordml\",\r\n w15: \"http://schemas.microsoft.com/office/word/2012/wordml\",\r\n wpg: \"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\",\r\n wpi: \"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\",\r\n wne: \"http://schemas.microsoft.com/office/word/2006/wordml\",\r\n wps: \"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\",\r\n Ignorable: \"w14 w15 wp14\",\r\n }));\r\n this.compatibility = new compatibility_1.Compatibility();\r\n this.trackRevisions = new track_revisions_1.TrackRevisions();\r\n this.root.push(new display_background_shape_1.DisplayBackgroundShape());\r\n }\r\n addUpdateFields() {\r\n if (!this.root.find((child) => child instanceof update_fields_1.UpdateFields)) {\r\n this.addChildElement(new update_fields_1.UpdateFields());\r\n }\r\n }\r\n addCompatibility() {\r\n if (!this.root.find((child) => child instanceof compatibility_1.Compatibility)) {\r\n this.addChildElement(this.compatibility);\r\n }\r\n return this.compatibility;\r\n }\r\n addTrackRevisions() {\r\n if (!this.root.find((child) => child instanceof track_revisions_1.TrackRevisions)) {\r\n this.addChildElement(this.trackRevisions);\r\n }\r\n return this.trackRevisions;\r\n }\r\n}\r\nexports.Settings = Settings;\r\n\n\n/***/ }),\n/* 334 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass DoNotExpandShiftReturn extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:doNotExpandShiftReturn\");\r\n }\r\n}\r\nclass Compatibility extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:compat\");\r\n }\r\n doNotExpandShiftReturn() {\r\n this.root.push(new DoNotExpandShiftReturn());\r\n return this;\r\n }\r\n}\r\nexports.Compatibility = Compatibility;\r\n\n\n/***/ }),\n/* 335 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass DisplayBackgroundShape extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:displayBackgroundShape\");\r\n }\r\n}\r\nexports.DisplayBackgroundShape = DisplayBackgroundShape;\r\n\n\n/***/ }),\n/* 336 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TrackRevisions extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:trackRevisions\");\r\n }\r\n}\r\nexports.TrackRevisions = TrackRevisions;\r\n\n\n/***/ }),\n/* 337 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst xml_js_1 = __webpack_require__(26);\r\nconst _1 = __webpack_require__(23);\r\nclass ExternalStylesFactory {\r\n newInstance(xmlData) {\r\n const xmlObj = xml_js_1.xml2js(xmlData, { compact: false });\r\n let stylesXmlElement;\r\n for (const xmlElm of xmlObj.elements || []) {\r\n if (xmlElm.name === \"w:styles\") {\r\n stylesXmlElement = xmlElm;\r\n }\r\n }\r\n if (stylesXmlElement === undefined) {\r\n throw new Error(\"can not find styles element\");\r\n }\r\n const stylesElements = stylesXmlElement.elements || [];\r\n const importedStyle = new _1.Styles({\r\n initialStyles: new xml_components_1.ImportedRootElementAttributes(stylesXmlElement.attributes),\r\n importedStyles: stylesElements.map((childElm) => xml_components_1.convertToXmlComponent(childElm)),\r\n });\r\n return importedStyle;\r\n }\r\n}\r\nexports.ExternalStylesFactory = ExternalStylesFactory;\r\n\n\n/***/ }),\n/* 338 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst document_attributes_1 = __webpack_require__(11);\r\nconst defaults_1 = __webpack_require__(106);\r\nconst style_1 = __webpack_require__(105);\r\nclass DefaultStylesFactory {\r\n newInstance(options = {}) {\r\n const documentAttributes = new document_attributes_1.DocumentAttributes({\r\n mc: \"http://schemas.openxmlformats.org/markup-compatibility/2006\",\r\n r: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\r\n w: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\",\r\n w14: \"http://schemas.microsoft.com/office/word/2010/wordml\",\r\n w15: \"http://schemas.microsoft.com/office/word/2012/wordml\",\r\n Ignorable: \"w14 w15\",\r\n });\r\n return {\r\n initialStyles: documentAttributes,\r\n importedStyles: [\r\n new defaults_1.DocumentDefaults(options.document),\r\n new style_1.TitleStyle(Object.assign({ run: {\r\n size: 56,\r\n } }, options.title)),\r\n new style_1.Heading1Style(Object.assign({ run: {\r\n color: \"2E74B5\",\r\n size: 32,\r\n } }, options.heading1)),\r\n new style_1.Heading2Style(Object.assign({ run: {\r\n color: \"2E74B5\",\r\n size: 26,\r\n } }, options.heading2)),\r\n new style_1.Heading3Style(Object.assign({ run: {\r\n color: \"1F4D78\",\r\n size: 24,\r\n } }, options.heading3)),\r\n new style_1.Heading4Style(Object.assign({ run: {\r\n color: \"2E74B5\",\r\n italics: true,\r\n } }, options.heading4)),\r\n new style_1.Heading5Style(Object.assign({ run: {\r\n color: \"2E74B5\",\r\n } }, options.heading5)),\r\n new style_1.Heading6Style(Object.assign({ run: {\r\n color: \"1F4D78\",\r\n } }, options.heading6)),\r\n new style_1.StrongStyle(Object.assign({ run: {\r\n bold: true,\r\n } }, options.strong)),\r\n new style_1.ListParagraph(options.listParagraph || {}),\r\n new style_1.HyperlinkStyle(options.hyperlink || {}),\r\n new style_1.FootnoteReferenceStyle(options.footnoteReference || {}),\r\n new style_1.FootnoteText(options.footnoteText || {}),\r\n new style_1.FootnoteTextChar(options.footnoteTextChar || {}),\r\n ],\r\n };\r\n }\r\n}\r\nexports.DefaultStylesFactory = DefaultStylesFactory;\r\n\n\n/***/ }),\n/* 339 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.WORKAROUND = \"\";\r\n\n\n/***/ }),\n/* 340 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(341));\r\n__export(__webpack_require__(346));\r\n\n\n/***/ }),\n/* 341 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst paragraph_1 = __webpack_require__(1);\r\nconst run_1 = __webpack_require__(3);\r\nconst field_1 = __webpack_require__(18);\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst field_instruction_1 = __webpack_require__(342);\r\nconst sdt_content_1 = __webpack_require__(343);\r\nconst sdt_properties_1 = __webpack_require__(344);\r\nclass TableOfContents extends xml_components_1.XmlComponent {\r\n constructor(alias = \"Table of Contents\", properties) {\r\n super(\"w:sdt\");\r\n this.root.push(new sdt_properties_1.StructuredDocumentTagProperties(alias));\r\n const content = new sdt_content_1.StructuredDocumentTagContent();\r\n const beginParagraph = new paragraph_1.Paragraph({\r\n children: [\r\n new run_1.Run({\r\n children: [new field_1.Begin(true), new field_instruction_1.FieldInstruction(properties), new field_1.Separate()],\r\n }),\r\n ],\r\n });\r\n content.addChildElement(beginParagraph);\r\n const endParagraph = new paragraph_1.Paragraph({\r\n children: [\r\n new run_1.Run({\r\n children: [new field_1.End()],\r\n }),\r\n ],\r\n });\r\n content.addChildElement(endParagraph);\r\n this.root.push(content);\r\n }\r\n}\r\nexports.TableOfContents = TableOfContents;\r\n\n\n/***/ }),\n/* 342 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst space_type_1 = __webpack_require__(8);\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TextAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { space: \"xml:space\" };\r\n }\r\n}\r\nclass FieldInstruction extends xml_components_1.XmlComponent {\r\n constructor(properties = {}) {\r\n super(\"w:instrText\");\r\n this.properties = properties;\r\n this.root.push(new TextAttributes({ space: space_type_1.SpaceType.PRESERVE }));\r\n let instruction = \"TOC\";\r\n if (this.properties.captionLabel) {\r\n instruction = `${instruction} \\\\a \"${this.properties.captionLabel}\"`;\r\n }\r\n if (this.properties.entriesFromBookmark) {\r\n instruction = `${instruction} \\\\b \"${this.properties.entriesFromBookmark}\"`;\r\n }\r\n if (this.properties.captionLabelIncludingNumbers) {\r\n instruction = `${instruction} \\\\c \"${this.properties.captionLabelIncludingNumbers}\"`;\r\n }\r\n if (this.properties.sequenceAndPageNumbersSeparator) {\r\n instruction = `${instruction} \\\\d \"${this.properties.sequenceAndPageNumbersSeparator}\"`;\r\n }\r\n if (this.properties.tcFieldIdentifier) {\r\n instruction = `${instruction} \\\\f \"${this.properties.tcFieldIdentifier}\"`;\r\n }\r\n if (this.properties.hyperlink) {\r\n instruction = `${instruction} \\\\h`;\r\n }\r\n if (this.properties.tcFieldLevelRange) {\r\n instruction = `${instruction} \\\\l \"${this.properties.tcFieldLevelRange}\"`;\r\n }\r\n if (this.properties.pageNumbersEntryLevelsRange) {\r\n instruction = `${instruction} \\\\n \"${this.properties.pageNumbersEntryLevelsRange}\"`;\r\n }\r\n if (this.properties.headingStyleRange) {\r\n instruction = `${instruction} \\\\o \"${this.properties.headingStyleRange}\"`;\r\n }\r\n if (this.properties.entryAndPageNumberSeparator) {\r\n instruction = `${instruction} \\\\p \"${this.properties.entryAndPageNumberSeparator}\"`;\r\n }\r\n if (this.properties.seqFieldIdentifierForPrefix) {\r\n instruction = `${instruction} \\\\s \"${this.properties.seqFieldIdentifierForPrefix}\"`;\r\n }\r\n if (this.properties.stylesWithLevels && this.properties.stylesWithLevels.length) {\r\n const styles = this.properties.stylesWithLevels.map((sl) => `${sl.styleName},${sl.level}`).join(\",\");\r\n instruction = `${instruction} \\\\t \"${styles}\"`;\r\n }\r\n if (this.properties.useAppliedParagraphOutlineLevel) {\r\n instruction = `${instruction} \\\\u`;\r\n }\r\n if (this.properties.preserveTabInEntries) {\r\n instruction = `${instruction} \\\\w`;\r\n }\r\n if (this.properties.preserveNewLineInEntries) {\r\n instruction = `${instruction} \\\\x`;\r\n }\r\n if (this.properties.hideTabAndPageNumbersInWebView) {\r\n instruction = `${instruction} \\\\z`;\r\n }\r\n this.root.push(instruction);\r\n }\r\n}\r\nexports.FieldInstruction = FieldInstruction;\r\n\n\n/***/ }),\n/* 343 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass StructuredDocumentTagContent extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:sdtContent\");\r\n }\r\n}\r\nexports.StructuredDocumentTagContent = StructuredDocumentTagContent;\r\n\n\n/***/ }),\n/* 344 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst alias_1 = __webpack_require__(345);\r\nclass StructuredDocumentTagProperties extends xml_components_1.XmlComponent {\r\n constructor(alias) {\r\n super(\"w:sdtPr\");\r\n this.root.push(new alias_1.Alias(alias));\r\n }\r\n}\r\nexports.StructuredDocumentTagProperties = StructuredDocumentTagProperties;\r\n\n\n/***/ }),\n/* 345 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass AliasAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { alias: \"w:val\" };\r\n }\r\n}\r\nclass Alias extends xml_components_1.XmlComponent {\r\n constructor(alias) {\r\n super(\"w:alias\");\r\n this.root.push(new AliasAttributes({ alias }));\r\n }\r\n}\r\nexports.Alias = Alias;\r\n\n\n/***/ }),\n/* 346 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nclass StyleLevel {\r\n constructor(styleName, level) {\r\n this.styleName = styleName;\r\n this.level = level;\r\n }\r\n}\r\nexports.StyleLevel = StyleLevel;\r\n\n\n/***/ }),\n/* 347 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(348));\r\n__export(__webpack_require__(349));\r\n\n\n/***/ }),\n/* 348 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst index_1 = __webpack_require__(12);\r\nconst track_revision_1 = __webpack_require__(137);\r\nclass InsertedTextRun extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:ins\");\r\n this.root.push(new track_revision_1.ChangeAttributes({\r\n id: options.id,\r\n author: options.author,\r\n date: options.date,\r\n }));\r\n this.addChildElement(new index_1.TextRun(options));\r\n }\r\n}\r\nexports.InsertedTextRun = InsertedTextRun;\r\n\n\n/***/ }),\n/* 349 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst index_1 = __webpack_require__(12);\r\nconst break_1 = __webpack_require__(67);\r\nconst field_1 = __webpack_require__(18);\r\nconst run_1 = __webpack_require__(17);\r\nconst track_revision_1 = __webpack_require__(137);\r\nconst deleted_page_number_1 = __webpack_require__(350);\r\nconst deleted_text_1 = __webpack_require__(351);\r\nclass DeletedTextRun extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:del\");\r\n this.root.push(new track_revision_1.ChangeAttributes({\r\n id: options.id,\r\n author: options.author,\r\n date: options.date,\r\n }));\r\n this.deletedTextRunWrapper = new DeletedTextRunWrapper(options);\r\n this.addChildElement(this.deletedTextRunWrapper);\r\n }\r\n}\r\nexports.DeletedTextRun = DeletedTextRun;\r\nclass DeletedTextRunWrapper extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:r\");\r\n this.root.push(new index_1.RunProperties(options));\r\n if (options.children) {\r\n for (const child of options.children) {\r\n if (typeof child === \"string\") {\r\n switch (child) {\r\n case run_1.PageNumber.CURRENT:\r\n this.root.push(new field_1.Begin());\r\n this.root.push(new deleted_page_number_1.DeletedPage());\r\n this.root.push(new field_1.Separate());\r\n this.root.push(new field_1.End());\r\n break;\r\n case run_1.PageNumber.TOTAL_PAGES:\r\n this.root.push(new field_1.Begin());\r\n this.root.push(new deleted_page_number_1.DeletedNumberOfPages());\r\n this.root.push(new field_1.Separate());\r\n this.root.push(new field_1.End());\r\n break;\r\n case run_1.PageNumber.TOTAL_PAGES_IN_SECTION:\r\n this.root.push(new field_1.Begin());\r\n this.root.push(new deleted_page_number_1.DeletedNumberOfPagesSection());\r\n this.root.push(new field_1.Separate());\r\n this.root.push(new field_1.End());\r\n break;\r\n default:\r\n this.root.push(new deleted_text_1.DeletedText(child));\r\n break;\r\n }\r\n continue;\r\n }\r\n this.root.push(child);\r\n }\r\n }\r\n else if (options.text) {\r\n this.root.push(new deleted_text_1.DeletedText(options.text));\r\n }\r\n if (options.break) {\r\n for (let i = 0; i < options.break; i++) {\r\n this.root.splice(1, 0, new break_1.Break());\r\n }\r\n }\r\n }\r\n}\r\n\n\n/***/ }),\n/* 350 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst space_type_1 = __webpack_require__(8);\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TextAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { space: \"xml:space\" };\r\n }\r\n}\r\nclass DeletedPage extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:delInstrText\");\r\n this.root.push(new TextAttributes({ space: space_type_1.SpaceType.PRESERVE }));\r\n this.root.push(\"PAGE\");\r\n }\r\n}\r\nexports.DeletedPage = DeletedPage;\r\nclass DeletedNumberOfPages extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:delInstrText\");\r\n this.root.push(new TextAttributes({ space: space_type_1.SpaceType.PRESERVE }));\r\n this.root.push(\"NUMPAGES\");\r\n }\r\n}\r\nexports.DeletedNumberOfPages = DeletedNumberOfPages;\r\nclass DeletedNumberOfPagesSection extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:delInstrText\");\r\n this.root.push(new TextAttributes({ space: space_type_1.SpaceType.PRESERVE }));\r\n this.root.push(\"SECTIONPAGES\");\r\n }\r\n}\r\nexports.DeletedNumberOfPagesSection = DeletedNumberOfPagesSection;\r\n\n\n/***/ }),\n/* 351 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst space_type_1 = __webpack_require__(8);\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TextAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { space: \"xml:space\" };\r\n }\r\n}\r\nclass DeletedText extends xml_components_1.XmlComponent {\r\n constructor(text) {\r\n super(\"w:delText\");\r\n this.root.push(new TextAttributes({ space: space_type_1.SpaceType.PRESERVE }));\r\n this.root.push(text);\r\n }\r\n}\r\nexports.DeletedText = DeletedText;\r\n\n\n/***/ }),\n/* 352 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(353));\r\n\n\n/***/ }),\n/* 353 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst next_compiler_1 = __webpack_require__(354);\r\nclass Packer {\r\n static toBuffer(file, prettify) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const zip = this.compiler.compile(file, prettify);\r\n const zipData = yield zip.generateAsync({\r\n type: \"nodebuffer\",\r\n mimeType: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\r\n compression: \"DEFLATE\",\r\n });\r\n return zipData;\r\n });\r\n }\r\n static toBase64String(file, prettify) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const zip = this.compiler.compile(file, prettify);\r\n const zipData = yield zip.generateAsync({\r\n type: \"base64\",\r\n mimeType: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\r\n compression: \"DEFLATE\",\r\n });\r\n return zipData;\r\n });\r\n }\r\n static toBlob(file, prettify) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const zip = this.compiler.compile(file, prettify);\r\n const zipData = yield zip.generateAsync({\r\n type: \"blob\",\r\n mimeType: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\r\n compression: \"DEFLATE\",\r\n });\r\n return zipData;\r\n });\r\n }\r\n}\r\nPacker.compiler = new next_compiler_1.Compiler();\r\nexports.Packer = Packer;\r\n\n\n/***/ }),\n/* 354 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst JSZip = __webpack_require__(138);\r\nconst xml = __webpack_require__(355);\r\nconst formatter_1 = __webpack_require__(357);\r\nconst image_replacer_1 = __webpack_require__(358);\r\nconst numbering_replacer_1 = __webpack_require__(359);\r\nclass Compiler {\r\n constructor() {\r\n this.formatter = new formatter_1.Formatter();\r\n this.imageReplacer = new image_replacer_1.ImageReplacer();\r\n this.numberingReplacer = new numbering_replacer_1.NumberingReplacer();\r\n }\r\n compile(file, prettifyXml) {\r\n const zip = new JSZip();\r\n const xmlifiedFileMapping = this.xmlifyFile(file, prettifyXml);\r\n for (const key in xmlifiedFileMapping) {\r\n if (!xmlifiedFileMapping[key]) {\r\n continue;\r\n }\r\n const obj = xmlifiedFileMapping[key];\r\n if (Array.isArray(obj)) {\r\n for (const subFile of obj) {\r\n zip.file(subFile.path, subFile.data);\r\n }\r\n }\r\n else {\r\n zip.file(obj.path, obj.data);\r\n }\r\n }\r\n for (const data of file.Media.Array) {\r\n const mediaData = data.stream;\r\n zip.file(`word/media/${data.fileName}`, mediaData);\r\n }\r\n return zip;\r\n }\r\n xmlifyFile(file, prettify) {\r\n file.verifyUpdateFields();\r\n const documentRelationshipCount = file.DocumentRelationships.RelationshipCount + 1;\r\n const documentXmlData = xml(this.formatter.format(file.Document, file), prettify);\r\n const documentMediaDatas = this.imageReplacer.getMediaData(documentXmlData, file.Media);\r\n return {\r\n Relationships: {\r\n data: (() => {\r\n documentMediaDatas.forEach((mediaData, i) => {\r\n file.DocumentRelationships.createRelationship(documentRelationshipCount + i, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\", `media/${mediaData.fileName}`);\r\n });\r\n return xml(this.formatter.format(file.DocumentRelationships, file), prettify);\r\n })(),\r\n path: \"word/_rels/document.xml.rels\",\r\n },\r\n Document: {\r\n data: (() => {\r\n const xmlData = this.imageReplacer.replace(documentXmlData, documentMediaDatas, documentRelationshipCount);\r\n const referenedXmlData = this.numberingReplacer.replace(xmlData, file.Numbering.ConcreteNumbering);\r\n return referenedXmlData;\r\n })(),\r\n path: \"word/document.xml\",\r\n },\r\n Styles: {\r\n data: xml(this.formatter.format(file.Styles, file), prettify),\r\n path: \"word/styles.xml\",\r\n },\r\n Properties: {\r\n data: xml(this.formatter.format(file.CoreProperties, file), {\r\n declaration: {\r\n standalone: \"yes\",\r\n encoding: \"UTF-8\",\r\n },\r\n }),\r\n path: \"docProps/core.xml\",\r\n },\r\n Numbering: {\r\n data: xml(this.formatter.format(file.Numbering, file), prettify),\r\n path: \"word/numbering.xml\",\r\n },\r\n FileRelationships: {\r\n data: xml(this.formatter.format(file.FileRelationships, file), prettify),\r\n path: \"_rels/.rels\",\r\n },\r\n HeaderRelationships: file.Headers.map((headerWrapper, index) => {\r\n const xmlData = xml(this.formatter.format(headerWrapper.Header, file), prettify);\r\n const mediaDatas = this.imageReplacer.getMediaData(xmlData, file.Media);\r\n mediaDatas.forEach((mediaData, i) => {\r\n headerWrapper.Relationships.createRelationship(i, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\", `media/${mediaData.fileName}`);\r\n });\r\n return {\r\n data: xml(this.formatter.format(headerWrapper.Relationships, file), prettify),\r\n path: `word/_rels/header${index + 1}.xml.rels`,\r\n };\r\n }),\r\n FooterRelationships: file.Footers.map((footerWrapper, index) => {\r\n const xmlData = xml(this.formatter.format(footerWrapper.Footer, file), prettify);\r\n const mediaDatas = this.imageReplacer.getMediaData(xmlData, file.Media);\r\n mediaDatas.forEach((mediaData, i) => {\r\n footerWrapper.Relationships.createRelationship(i, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\", `media/${mediaData.fileName}`);\r\n });\r\n return {\r\n data: xml(this.formatter.format(footerWrapper.Relationships, file), prettify),\r\n path: `word/_rels/footer${index + 1}.xml.rels`,\r\n };\r\n }),\r\n Headers: file.Headers.map((headerWrapper, index) => {\r\n const tempXmlData = xml(this.formatter.format(headerWrapper.Header, file), prettify);\r\n const mediaDatas = this.imageReplacer.getMediaData(tempXmlData, file.Media);\r\n const xmlData = this.imageReplacer.replace(tempXmlData, mediaDatas, 0);\r\n return {\r\n data: xmlData,\r\n path: `word/header${index + 1}.xml`,\r\n };\r\n }),\r\n Footers: file.Footers.map((footerWrapper, index) => {\r\n const tempXmlData = xml(this.formatter.format(footerWrapper.Footer, file), prettify);\r\n const mediaDatas = this.imageReplacer.getMediaData(tempXmlData, file.Media);\r\n const xmlData = this.imageReplacer.replace(tempXmlData, mediaDatas, 0);\r\n return {\r\n data: xmlData,\r\n path: `word/footer${index + 1}.xml`,\r\n };\r\n }),\r\n ContentTypes: {\r\n data: xml(this.formatter.format(file.ContentTypes, file), prettify),\r\n path: \"[Content_Types].xml\",\r\n },\r\n AppProperties: {\r\n data: xml(this.formatter.format(file.AppProperties, file), prettify),\r\n path: \"docProps/app.xml\",\r\n },\r\n FootNotes: {\r\n data: xml(this.formatter.format(file.FootNotes, file), prettify),\r\n path: \"word/footnotes.xml\",\r\n },\r\n Settings: {\r\n data: xml(this.formatter.format(file.Settings, file), prettify),\r\n path: \"word/settings.xml\",\r\n },\r\n };\r\n }\r\n}\r\nexports.Compiler = Compiler;\r\n\n\n/***/ }),\n/* 355 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var escapeForXML = __webpack_require__(356);\nvar Stream = __webpack_require__(56).Stream;\n\nvar DEFAULT_INDENT = ' ';\n\nfunction xml(input, options) {\n\n if (typeof options !== 'object') {\n options = {\n indent: options\n };\n }\n\n var stream = options.stream ? new Stream() : null,\n output = \"\",\n interrupted = false,\n indent = !options.indent ? ''\n : options.indent === true ? DEFAULT_INDENT\n : options.indent,\n instant = true;\n\n\n function delay (func) {\n if (!instant) {\n func();\n } else {\n process.nextTick(func);\n }\n }\n\n function append (interrupt, out) {\n if (out !== undefined) {\n output += out;\n }\n if (interrupt && !interrupted) {\n stream = stream || new Stream();\n interrupted = true;\n }\n if (interrupt && interrupted) {\n var data = output;\n delay(function () { stream.emit('data', data) });\n output = \"\";\n }\n }\n\n function add (value, last) {\n format(append, resolve(value, indent, indent ? 1 : 0), last);\n }\n\n function end() {\n if (stream) {\n var data = output;\n delay(function () {\n stream.emit('data', data);\n stream.emit('end');\n stream.readable = false;\n stream.emit('close');\n });\n }\n }\n\n function addXmlDeclaration(declaration) {\n var encoding = declaration.encoding || 'UTF-8',\n attr = { version: '1.0', encoding: encoding };\n\n if (declaration.standalone) {\n attr.standalone = declaration.standalone\n }\n\n add({'?xml': { _attr: attr } });\n output = output.replace('/>', '?>');\n }\n\n // disable delay delayed\n delay(function () { instant = false });\n\n if (options.declaration) {\n addXmlDeclaration(options.declaration);\n }\n\n if (input && input.forEach) {\n input.forEach(function (value, i) {\n var last;\n if (i + 1 === input.length)\n last = end;\n add(value, last);\n });\n } else {\n add(input, end);\n }\n\n if (stream) {\n stream.readable = true;\n return stream;\n }\n return output;\n}\n\nfunction element (/*input, …*/) {\n var input = Array.prototype.slice.call(arguments),\n self = {\n _elem: resolve(input)\n };\n\n self.push = function (input) {\n if (!this.append) {\n throw new Error(\"not assigned to a parent!\");\n }\n var that = this;\n var indent = this._elem.indent;\n format(this.append, resolve(\n input, indent, this._elem.icount + (indent ? 1 : 0)),\n function () { that.append(true) });\n };\n\n self.close = function (input) {\n if (input !== undefined) {\n this.push(input);\n }\n if (this.end) {\n this.end();\n }\n };\n\n return self;\n}\n\nfunction create_indent(character, count) {\n return (new Array(count || 0).join(character || ''))\n}\n\nfunction resolve(data, indent, indent_count) {\n indent_count = indent_count || 0;\n var indent_spaces = create_indent(indent, indent_count);\n var name;\n var values = data;\n var interrupt = false;\n\n if (typeof data === 'object') {\n var keys = Object.keys(data);\n name = keys[0];\n values = data[name];\n\n if (values && values._elem) {\n values._elem.name = name;\n values._elem.icount = indent_count;\n values._elem.indent = indent;\n values._elem.indents = indent_spaces;\n values._elem.interrupt = values;\n return values._elem;\n }\n }\n\n var attributes = [],\n content = [];\n\n var isStringContent;\n\n function get_attributes(obj){\n var keys = Object.keys(obj);\n keys.forEach(function(key){\n attributes.push(attribute(key, obj[key]));\n });\n }\n\n switch(typeof values) {\n case 'object':\n if (values === null) break;\n\n if (values._attr) {\n get_attributes(values._attr);\n }\n\n if (values._cdata) {\n content.push(\n ('<![CDATA[' + values._cdata).replace(/\\]\\]>/g, ']]]]><![CDATA[>') + ']]>'\n );\n }\n\n if (values.forEach) {\n isStringContent = false;\n content.push('');\n values.forEach(function(value) {\n if (typeof value == 'object') {\n var _name = Object.keys(value)[0];\n\n if (_name == '_attr') {\n get_attributes(value._attr);\n } else {\n content.push(resolve(\n value, indent, indent_count + 1));\n }\n } else {\n //string\n content.pop();\n isStringContent=true;\n content.push(escapeForXML(value));\n }\n\n });\n if (!isStringContent) {\n content.push('');\n }\n }\n break;\n\n default:\n //string\n content.push(escapeForXML(values));\n\n }\n\n return {\n name: name,\n interrupt: interrupt,\n attributes: attributes,\n content: content,\n icount: indent_count,\n indents: indent_spaces,\n indent: indent\n };\n}\n\nfunction format(append, elem, end) {\n\n if (typeof elem != 'object') {\n return append(false, elem);\n }\n\n var len = elem.interrupt ? 1 : elem.content.length;\n\n function proceed () {\n while (elem.content.length) {\n var value = elem.content.shift();\n\n if (value === undefined) continue;\n if (interrupt(value)) return;\n\n format(append, value);\n }\n\n append(false, (len > 1 ? elem.indents : '')\n + (elem.name ? '</' + elem.name + '>' : '')\n + (elem.indent && !end ? '\\n' : ''));\n\n if (end) {\n end();\n }\n }\n\n function interrupt(value) {\n if (value.interrupt) {\n value.interrupt.append = append;\n value.interrupt.end = proceed;\n value.interrupt = false;\n append(true);\n return true;\n }\n return false;\n }\n\n append(false, elem.indents\n + (elem.name ? '<' + elem.name : '')\n + (elem.attributes.length ? ' ' + elem.attributes.join(' ') : '')\n + (len ? (elem.name ? '>' : '') : (elem.name ? '/>' : ''))\n + (elem.indent && len > 1 ? '\\n' : ''));\n\n if (!len) {\n return append(false, elem.indent ? '\\n' : '');\n }\n\n if (!interrupt(elem)) {\n proceed();\n }\n}\n\nfunction attribute(key, value) {\n return key + '=' + '\"' + escapeForXML(value) + '\"';\n}\n\nmodule.exports = xml;\nmodule.exports.element = module.exports.Element = element;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(13)))\n\n/***/ }),\n/* 356 */\n/***/ (function(module, exports) {\n\n\nvar XML_CHARACTER_MAP = {\n '&': '&',\n '\"': '"',\n \"'\": ''',\n '<': '<',\n '>': '>'\n};\n\nfunction escapeForXML(string) {\n return string && string.replace\n ? string.replace(/([&\"<>'])/g, function(str, item) {\n return XML_CHARACTER_MAP[item];\n })\n : string;\n}\n\nmodule.exports = escapeForXML;\n\n\n/***/ }),\n/* 357 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nclass Formatter {\r\n format(input, file) {\r\n const output = input.prepForXml(file);\r\n if (output) {\r\n return output;\r\n }\r\n else {\r\n throw Error(\"XMLComponent did not format correctly\");\r\n }\r\n }\r\n}\r\nexports.Formatter = Formatter;\r\n\n\n/***/ }),\n/* 358 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nclass ImageReplacer {\r\n replace(xmlData, mediaData, offset) {\r\n let currentXmlData = xmlData;\r\n mediaData.forEach((image, i) => {\r\n currentXmlData = currentXmlData.replace(new RegExp(`{${image.fileName}}`, \"g\"), (offset + i).toString());\r\n });\r\n return currentXmlData;\r\n }\r\n getMediaData(xmlData, media) {\r\n return media.Array.filter((image) => xmlData.search(`{${image.fileName}}`) > 0);\r\n }\r\n}\r\nexports.ImageReplacer = ImageReplacer;\r\n\n\n/***/ }),\n/* 359 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nclass NumberingReplacer {\r\n replace(xmlData, concreteNumberings) {\r\n let currentXmlData = xmlData;\r\n for (const concreteNumbering of concreteNumberings) {\r\n if (!concreteNumbering.reference) {\r\n continue;\r\n }\r\n currentXmlData = currentXmlData.replace(new RegExp(`{${concreteNumbering.reference}}`, \"g\"), concreteNumbering.id.toString());\r\n }\r\n return currentXmlData;\r\n }\r\n}\r\nexports.NumberingReplacer = NumberingReplacer;\r\n\n\n/***/ }),\n/* 360 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(361));\r\n\n\n/***/ }),\n/* 361 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst JSZip = __webpack_require__(138);\r\nconst xml_js_1 = __webpack_require__(26);\r\nconst footer_wrapper_1 = __webpack_require__(46);\r\nconst header_wrapper_1 = __webpack_require__(49);\r\nconst media_1 = __webpack_require__(50);\r\nconst relationship_1 = __webpack_require__(48);\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst schemeToType = {\r\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header\": \"header\",\r\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer\": \"footer\",\r\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\": \"image\",\r\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\": \"hyperlink\",\r\n};\r\nvar RelationshipType;\r\n(function (RelationshipType) {\r\n RelationshipType[\"HEADER\"] = \"header\";\r\n RelationshipType[\"FOOTER\"] = \"footer\";\r\n RelationshipType[\"IMAGE\"] = \"image\";\r\n RelationshipType[\"HYPERLINK\"] = \"hyperlink\";\r\n})(RelationshipType || (RelationshipType = {}));\r\nclass ImportDotx {\r\n extract(data) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const zipContent = yield JSZip.loadAsync(data);\r\n const documentContent = yield zipContent.files[\"word/document.xml\"].async(\"text\");\r\n const relationshipContent = yield zipContent.files[\"word/_rels/document.xml.rels\"].async(\"text\");\r\n const documentRefs = this.extractDocumentRefs(documentContent);\r\n const documentRelationships = this.findReferenceFiles(relationshipContent);\r\n const media = new media_1.Media();\r\n const templateDocument = {\r\n headers: yield this.createHeaders(zipContent, documentRefs, documentRelationships, media, 0),\r\n footers: yield this.createFooters(zipContent, documentRefs, documentRelationships, media, documentRefs.headers.length),\r\n currentRelationshipId: documentRefs.footers.length + documentRefs.headers.length,\r\n styles: yield zipContent.files[\"word/styles.xml\"].async(\"text\"),\r\n titlePageIsDefined: this.checkIfTitlePageIsDefined(documentContent),\r\n media: media,\r\n };\r\n return templateDocument;\r\n });\r\n }\r\n createFooters(zipContent, documentRefs, documentRelationships, media, startingRelationshipId) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const result = documentRefs.footers\r\n .map((reference, i) => __awaiter(this, void 0, void 0, function* () {\r\n const relationshipFileInfo = documentRelationships.find((rel) => rel.id === reference.id);\r\n if (relationshipFileInfo === null || !relationshipFileInfo) {\r\n throw new Error(`Can not find target file for id ${reference.id}`);\r\n }\r\n const xmlData = yield zipContent.files[`word/${relationshipFileInfo.target}`].async(\"text\");\r\n const xmlObj = xml_js_1.xml2js(xmlData, { compact: false, captureSpacesBetweenElements: true });\r\n if (!xmlObj.elements) {\r\n return undefined;\r\n }\r\n const xmlElement = xmlObj.elements.reduce((acc, current) => (current.name === \"w:ftr\" ? current : acc));\r\n const importedComp = xml_components_1.convertToXmlComponent(xmlElement);\r\n const wrapper = new footer_wrapper_1.FooterWrapper(media, startingRelationshipId + i, importedComp);\r\n yield this.addRelationshipToWrapper(relationshipFileInfo, zipContent, wrapper, media);\r\n return { type: reference.type, footer: wrapper };\r\n }))\r\n .filter((x) => !!x);\r\n return Promise.all(result);\r\n });\r\n }\r\n createHeaders(zipContent, documentRefs, documentRelationships, media, startingRelationshipId) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const result = documentRefs.headers\r\n .map((reference, i) => __awaiter(this, void 0, void 0, function* () {\r\n const relationshipFileInfo = documentRelationships.find((rel) => rel.id === reference.id);\r\n if (relationshipFileInfo === null || !relationshipFileInfo) {\r\n throw new Error(`Can not find target file for id ${reference.id}`);\r\n }\r\n const xmlData = yield zipContent.files[`word/${relationshipFileInfo.target}`].async(\"text\");\r\n const xmlObj = xml_js_1.xml2js(xmlData, { compact: false, captureSpacesBetweenElements: true });\r\n if (!xmlObj.elements) {\r\n return undefined;\r\n }\r\n const xmlElement = xmlObj.elements.reduce((acc, current) => (current.name === \"w:hdr\" ? current : acc));\r\n const importedComp = xml_components_1.convertToXmlComponent(xmlElement);\r\n const wrapper = new header_wrapper_1.HeaderWrapper(media, startingRelationshipId + i, importedComp);\r\n yield this.addRelationshipToWrapper(relationshipFileInfo, zipContent, wrapper, media);\r\n return { type: reference.type, header: wrapper };\r\n }))\r\n .filter((x) => !!x);\r\n return Promise.all(result);\r\n });\r\n }\r\n addRelationshipToWrapper(relationhipFile, zipContent, wrapper, media) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const refFile = zipContent.files[`word/_rels/${relationhipFile.target}.rels`];\r\n if (!refFile) {\r\n return;\r\n }\r\n const xmlRef = yield refFile.async(\"text\");\r\n const wrapperImagesReferences = this.findReferenceFiles(xmlRef).filter((r) => r.type === RelationshipType.IMAGE);\r\n const hyperLinkReferences = this.findReferenceFiles(xmlRef).filter((r) => r.type === RelationshipType.HYPERLINK);\r\n for (const r of wrapperImagesReferences) {\r\n const buffer = yield zipContent.files[`word/${r.target}`].async(\"nodebuffer\");\r\n const mediaData = media.addMedia(buffer);\r\n wrapper.Relationships.createRelationship(r.id, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\", `media/${mediaData.fileName}`);\r\n }\r\n for (const r of hyperLinkReferences) {\r\n wrapper.Relationships.createRelationship(r.id, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\", r.target, relationship_1.TargetModeType.EXTERNAL);\r\n }\r\n });\r\n }\r\n findReferenceFiles(xmlData) {\r\n const xmlObj = xml_js_1.xml2js(xmlData, { compact: true });\r\n const relationXmlArray = Array.isArray(xmlObj.Relationships.Relationship)\r\n ? xmlObj.Relationships.Relationship\r\n : [xmlObj.Relationships.Relationship];\r\n const relationships = relationXmlArray\r\n .map((item) => {\r\n if (item._attributes === undefined) {\r\n throw Error(\"relationship element has no attributes\");\r\n }\r\n return {\r\n id: this.parseRefId(item._attributes.Id),\r\n type: schemeToType[item._attributes.Type],\r\n target: item._attributes.Target,\r\n };\r\n })\r\n .filter((item) => item.type !== null);\r\n return relationships;\r\n }\r\n extractDocumentRefs(xmlData) {\r\n const xmlObj = xml_js_1.xml2js(xmlData, { compact: true });\r\n const sectionProp = xmlObj[\"w:document\"][\"w:body\"][\"w:sectPr\"];\r\n const headerProps = sectionProp[\"w:headerReference\"];\r\n let headersXmlArray;\r\n if (headerProps === undefined) {\r\n headersXmlArray = [];\r\n }\r\n else if (Array.isArray(headerProps)) {\r\n headersXmlArray = headerProps;\r\n }\r\n else {\r\n headersXmlArray = [headerProps];\r\n }\r\n const headers = headersXmlArray.map((item) => {\r\n if (item._attributes === undefined) {\r\n throw Error(\"header referecne element has no attributes\");\r\n }\r\n return {\r\n type: item._attributes[\"w:type\"],\r\n id: this.parseRefId(item._attributes[\"r:id\"]),\r\n };\r\n });\r\n const footerProps = sectionProp[\"w:footerReference\"];\r\n let footersXmlArray;\r\n if (footerProps === undefined) {\r\n footersXmlArray = [];\r\n }\r\n else if (Array.isArray(footerProps)) {\r\n footersXmlArray = footerProps;\r\n }\r\n else {\r\n footersXmlArray = [footerProps];\r\n }\r\n const footers = footersXmlArray.map((item) => {\r\n if (item._attributes === undefined) {\r\n throw Error(\"footer referecne element has no attributes\");\r\n }\r\n return {\r\n type: item._attributes[\"w:type\"],\r\n id: this.parseRefId(item._attributes[\"r:id\"]),\r\n };\r\n });\r\n return { headers, footers };\r\n }\r\n checkIfTitlePageIsDefined(xmlData) {\r\n const xmlObj = xml_js_1.xml2js(xmlData, { compact: true });\r\n const sectionProp = xmlObj[\"w:document\"][\"w:body\"][\"w:sectPr\"];\r\n return sectionProp[\"w:titlePg\"] !== undefined;\r\n }\r\n parseRefId(str) {\r\n const match = /^rId(\\d+)$/.exec(str);\r\n if (match === null) {\r\n throw new Error(\"Invalid ref id\");\r\n }\r\n return parseInt(match[1], 10);\r\n }\r\n}\r\nexports.ImportDotx = ImportDotx;\r\n\n\n/***/ })\n/******/ ]);\n});","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","/**\n * This library modifies the diff-patch-match library by Neil Fraser\n * by removing the patch and match functionality and certain advanced\n * options in the diff function. The original license is as follows:\n *\n * ===\n *\n * Diff Match and Patch\n *\n * Copyright 2006 Google Inc.\n * http://code.google.com/p/google-diff-match-patch/\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\n/**\n * Find the differences between two texts. Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {Int|Object} [cursor_pos] Edit position in text1 or object with more info\n * @param {boolean} [cleanup] Apply semantic cleanup before returning.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_main(text1, text2, cursor_pos, cleanup, _fix_unicode) {\n // Check for equality\n if (text1 === text2) {\n if (text1) {\n return [[DIFF_EQUAL, text1]];\n }\n return [];\n }\n\n if (cursor_pos != null) {\n var editdiff = find_cursor_edit_diff(text1, text2, cursor_pos);\n if (editdiff) {\n return editdiff;\n }\n }\n\n // Trim off common prefix (speedup).\n var commonlength = diff_commonPrefix(text1, text2);\n var commonprefix = text1.substring(0, commonlength);\n text1 = text1.substring(commonlength);\n text2 = text2.substring(commonlength);\n\n // Trim off common suffix (speedup).\n commonlength = diff_commonSuffix(text1, text2);\n var commonsuffix = text1.substring(text1.length - commonlength);\n text1 = text1.substring(0, text1.length - commonlength);\n text2 = text2.substring(0, text2.length - commonlength);\n\n // Compute the diff on the middle block.\n var diffs = diff_compute_(text1, text2);\n\n // Restore the prefix and suffix.\n if (commonprefix) {\n diffs.unshift([DIFF_EQUAL, commonprefix]);\n }\n if (commonsuffix) {\n diffs.push([DIFF_EQUAL, commonsuffix]);\n }\n diff_cleanupMerge(diffs, _fix_unicode);\n if (cleanup) {\n diff_cleanupSemantic(diffs);\n }\n return diffs;\n}\n\n/**\n * Find the differences between two texts. Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_compute_(text1, text2) {\n var diffs;\n\n if (!text1) {\n // Just add some text (speedup).\n return [[DIFF_INSERT, text2]];\n }\n\n if (!text2) {\n // Just delete some text (speedup).\n return [[DIFF_DELETE, text1]];\n }\n\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n var i = longtext.indexOf(shorttext);\n if (i !== -1) {\n // Shorter text is inside the longer text (speedup).\n diffs = [\n [DIFF_INSERT, longtext.substring(0, i)],\n [DIFF_EQUAL, shorttext],\n [DIFF_INSERT, longtext.substring(i + shorttext.length)],\n ];\n // Swap insertions for deletions if diff is reversed.\n if (text1.length > text2.length) {\n diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n }\n return diffs;\n }\n\n if (shorttext.length === 1) {\n // Single character string.\n // After the previous speedup, the character can't be an equality.\n return [\n [DIFF_DELETE, text1],\n [DIFF_INSERT, text2],\n ];\n }\n\n // Check to see if the problem can be split in two.\n var hm = diff_halfMatch_(text1, text2);\n if (hm) {\n // A half-match was found, sort out the return data.\n var text1_a = hm[0];\n var text1_b = hm[1];\n var text2_a = hm[2];\n var text2_b = hm[3];\n var mid_common = hm[4];\n // Send both pairs off for separate processing.\n var diffs_a = diff_main(text1_a, text2_a);\n var diffs_b = diff_main(text1_b, text2_b);\n // Merge the results.\n return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\n }\n\n return diff_bisect_(text1, text2);\n}\n\n/**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n * @private\n */\nfunction diff_bisect_(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n var max_d = Math.ceil((text1_length + text2_length) / 2);\n var v_offset = max_d;\n var v_length = 2 * max_d;\n var v1 = new Array(v_length);\n var v2 = new Array(v_length);\n // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n // integers and undefined.\n for (var x = 0; x < v_length; x++) {\n v1[x] = -1;\n v2[x] = -1;\n }\n v1[v_offset + 1] = 0;\n v2[v_offset + 1] = 0;\n var delta = text1_length - text2_length;\n // If the total number of characters is odd, then the front path will collide\n // with the reverse path.\n var front = delta % 2 !== 0;\n // Offsets for start and end of k loop.\n // Prevents mapping of space beyond the grid.\n var k1start = 0;\n var k1end = 0;\n var k2start = 0;\n var k2end = 0;\n for (var d = 0; d < max_d; d++) {\n // Walk the front path one step.\n for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n var k1_offset = v_offset + k1;\n var x1;\n if (k1 === -d || (k1 !== d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\n x1 = v1[k1_offset + 1];\n } else {\n x1 = v1[k1_offset - 1] + 1;\n }\n var y1 = x1 - k1;\n while (\n x1 < text1_length &&\n y1 < text2_length &&\n text1.charAt(x1) === text2.charAt(y1)\n ) {\n x1++;\n y1++;\n }\n v1[k1_offset] = x1;\n if (x1 > text1_length) {\n // Ran off the right of the graph.\n k1end += 2;\n } else if (y1 > text2_length) {\n // Ran off the bottom of the graph.\n k1start += 2;\n } else if (front) {\n var k2_offset = v_offset + delta - k1;\n if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] !== -1) {\n // Mirror x2 onto top-left coordinate system.\n var x2 = text1_length - v2[k2_offset];\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n\n // Walk the reverse path one step.\n for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n var k2_offset = v_offset + k2;\n var x2;\n if (k2 === -d || (k2 !== d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\n x2 = v2[k2_offset + 1];\n } else {\n x2 = v2[k2_offset - 1] + 1;\n }\n var y2 = x2 - k2;\n while (\n x2 < text1_length &&\n y2 < text2_length &&\n text1.charAt(text1_length - x2 - 1) ===\n text2.charAt(text2_length - y2 - 1)\n ) {\n x2++;\n y2++;\n }\n v2[k2_offset] = x2;\n if (x2 > text1_length) {\n // Ran off the left of the graph.\n k2end += 2;\n } else if (y2 > text2_length) {\n // Ran off the top of the graph.\n k2start += 2;\n } else if (!front) {\n var k1_offset = v_offset + delta - k2;\n if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] !== -1) {\n var x1 = v1[k1_offset];\n var y1 = v_offset + x1 - k1_offset;\n // Mirror x2 onto top-left coordinate system.\n x2 = text1_length - x2;\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n }\n // Diff took too long and hit the deadline or\n // number of diffs equals number of characters, no commonality at all.\n return [\n [DIFF_DELETE, text1],\n [DIFF_INSERT, text2],\n ];\n}\n\n/**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_bisectSplit_(text1, text2, x, y) {\n var text1a = text1.substring(0, x);\n var text2a = text2.substring(0, y);\n var text1b = text1.substring(x);\n var text2b = text2.substring(y);\n\n // Compute both diffs serially.\n var diffs = diff_main(text1a, text2a);\n var diffsb = diff_main(text1b, text2b);\n\n return diffs.concat(diffsb);\n}\n\n/**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n * string.\n */\nfunction diff_commonPrefix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.charAt(0) !== text2.charAt(0)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerstart = 0;\n while (pointermin < pointermid) {\n if (\n text1.substring(pointerstart, pointermid) ==\n text2.substring(pointerstart, pointermid)\n ) {\n pointermin = pointermid;\n pointerstart = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n\n if (is_surrogate_pair_start(text1.charCodeAt(pointermid - 1))) {\n pointermid--;\n }\n\n return pointermid;\n}\n\n/**\n * Determine if the suffix of one string is the prefix of another.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of the first\n * string and the start of the second string.\n * @private\n */\nfunction diff_commonOverlap_(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n // Eliminate the null case.\n if (text1_length == 0 || text2_length == 0) {\n return 0;\n }\n // Truncate the longer string.\n if (text1_length > text2_length) {\n text1 = text1.substring(text1_length - text2_length);\n } else if (text1_length < text2_length) {\n text2 = text2.substring(0, text1_length);\n }\n var text_length = Math.min(text1_length, text2_length);\n // Quick check for the worst case.\n if (text1 == text2) {\n return text_length;\n }\n\n // Start by looking for a single character match\n // and increase length until no match is found.\n // Performance analysis: http://neil.fraser.name/news/2010/11/04/\n var best = 0;\n var length = 1;\n while (true) {\n var pattern = text1.substring(text_length - length);\n var found = text2.indexOf(pattern);\n if (found == -1) {\n return best;\n }\n length += found;\n if (\n found == 0 ||\n text1.substring(text_length - length) == text2.substring(0, length)\n ) {\n best = length;\n length++;\n }\n }\n}\n\n/**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\nfunction diff_commonSuffix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.slice(-1) !== text2.slice(-1)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerend = 0;\n while (pointermin < pointermid) {\n if (\n text1.substring(text1.length - pointermid, text1.length - pointerend) ==\n text2.substring(text2.length - pointermid, text2.length - pointerend)\n ) {\n pointermin = pointermid;\n pointerend = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n\n if (is_surrogate_pair_end(text1.charCodeAt(text1.length - pointermid))) {\n pointermid--;\n }\n\n return pointermid;\n}\n\n/**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.<string>} Five element Array, containing the prefix of\n * text1, the suffix of text1, the prefix of text2, the suffix of\n * text2 and the common middle. Or null if there was no match.\n */\nfunction diff_halfMatch_(text1, text2) {\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n return null; // Pointless.\n }\n\n /**\n * Does a substring of shorttext exist within longtext such that the substring\n * is at least half the length of longtext?\n * Closure, but does not reference any external variables.\n * @param {string} longtext Longer string.\n * @param {string} shorttext Shorter string.\n * @param {number} i Start index of quarter length substring within longtext.\n * @return {Array.<string>} Five element Array, containing the prefix of\n * longtext, the suffix of longtext, the prefix of shorttext, the suffix\n * of shorttext and the common middle. Or null if there was no match.\n * @private\n */\n function diff_halfMatchI_(longtext, shorttext, i) {\n // Start with a 1/4 length substring at position i as a seed.\n var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n var j = -1;\n var best_common = \"\";\n var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n while ((j = shorttext.indexOf(seed, j + 1)) !== -1) {\n var prefixLength = diff_commonPrefix(\n longtext.substring(i),\n shorttext.substring(j)\n );\n var suffixLength = diff_commonSuffix(\n longtext.substring(0, i),\n shorttext.substring(0, j)\n );\n if (best_common.length < suffixLength + prefixLength) {\n best_common =\n shorttext.substring(j - suffixLength, j) +\n shorttext.substring(j, j + prefixLength);\n best_longtext_a = longtext.substring(0, i - suffixLength);\n best_longtext_b = longtext.substring(i + prefixLength);\n best_shorttext_a = shorttext.substring(0, j - suffixLength);\n best_shorttext_b = shorttext.substring(j + prefixLength);\n }\n }\n if (best_common.length * 2 >= longtext.length) {\n return [\n best_longtext_a,\n best_longtext_b,\n best_shorttext_a,\n best_shorttext_b,\n best_common,\n ];\n } else {\n return null;\n }\n }\n\n // First check if the second quarter is the seed for a half-match.\n var hm1 = diff_halfMatchI_(\n longtext,\n shorttext,\n Math.ceil(longtext.length / 4)\n );\n // Check again based on the third quarter.\n var hm2 = diff_halfMatchI_(\n longtext,\n shorttext,\n Math.ceil(longtext.length / 2)\n );\n var hm;\n if (!hm1 && !hm2) {\n return null;\n } else if (!hm2) {\n hm = hm1;\n } else if (!hm1) {\n hm = hm2;\n } else {\n // Both matched. Select the longest.\n hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n }\n\n // A half-match was found, sort out the return data.\n var text1_a, text1_b, text2_a, text2_b;\n if (text1.length > text2.length) {\n text1_a = hm[0];\n text1_b = hm[1];\n text2_a = hm[2];\n text2_b = hm[3];\n } else {\n text2_a = hm[0];\n text2_b = hm[1];\n text1_a = hm[2];\n text1_b = hm[3];\n }\n var mid_common = hm[4];\n return [text1_a, text1_b, text2_a, text2_b, mid_common];\n}\n\n/**\n * Reduce the number of edits by eliminating semantically trivial equalities.\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n */\nfunction diff_cleanupSemantic(diffs) {\n var changes = false;\n var equalities = []; // Stack of indices where equalities are found.\n var equalitiesLength = 0; // Keeping our own length var is faster in JS.\n /** @type {?string} */\n var lastequality = null;\n // Always equal to diffs[equalities[equalitiesLength - 1]][1]\n var pointer = 0; // Index of current position.\n // Number of characters that changed prior to the equality.\n var length_insertions1 = 0;\n var length_deletions1 = 0;\n // Number of characters that changed after the equality.\n var length_insertions2 = 0;\n var length_deletions2 = 0;\n while (pointer < diffs.length) {\n if (diffs[pointer][0] == DIFF_EQUAL) {\n // Equality found.\n equalities[equalitiesLength++] = pointer;\n length_insertions1 = length_insertions2;\n length_deletions1 = length_deletions2;\n length_insertions2 = 0;\n length_deletions2 = 0;\n lastequality = diffs[pointer][1];\n } else {\n // An insertion or deletion.\n if (diffs[pointer][0] == DIFF_INSERT) {\n length_insertions2 += diffs[pointer][1].length;\n } else {\n length_deletions2 += diffs[pointer][1].length;\n }\n // Eliminate an equality that is smaller or equal to the edits on both\n // sides of it.\n if (\n lastequality &&\n lastequality.length <=\n Math.max(length_insertions1, length_deletions1) &&\n lastequality.length <= Math.max(length_insertions2, length_deletions2)\n ) {\n // Duplicate record.\n diffs.splice(equalities[equalitiesLength - 1], 0, [\n DIFF_DELETE,\n lastequality,\n ]);\n // Change second copy to insert.\n diffs[equalities[equalitiesLength - 1] + 1][0] = DIFF_INSERT;\n // Throw away the equality we just deleted.\n equalitiesLength--;\n // Throw away the previous equality (it needs to be reevaluated).\n equalitiesLength--;\n pointer = equalitiesLength > 0 ? equalities[equalitiesLength - 1] : -1;\n length_insertions1 = 0; // Reset the counters.\n length_deletions1 = 0;\n length_insertions2 = 0;\n length_deletions2 = 0;\n lastequality = null;\n changes = true;\n }\n }\n pointer++;\n }\n\n // Normalize the diff.\n if (changes) {\n diff_cleanupMerge(diffs);\n }\n diff_cleanupSemanticLossless(diffs);\n\n // Find any overlaps between deletions and insertions.\n // e.g: <del>abcxxx</del><ins>xxxdef</ins>\n // -> <del>abc</del>xxx<ins>def</ins>\n // e.g: <del>xxxabc</del><ins>defxxx</ins>\n // -> <ins>def</ins>xxx<del>abc</del>\n // Only extract an overlap if it is as big as the edit ahead or behind it.\n pointer = 1;\n while (pointer < diffs.length) {\n if (\n diffs[pointer - 1][0] == DIFF_DELETE &&\n diffs[pointer][0] == DIFF_INSERT\n ) {\n var deletion = diffs[pointer - 1][1];\n var insertion = diffs[pointer][1];\n var overlap_length1 = diff_commonOverlap_(deletion, insertion);\n var overlap_length2 = diff_commonOverlap_(insertion, deletion);\n if (overlap_length1 >= overlap_length2) {\n if (\n overlap_length1 >= deletion.length / 2 ||\n overlap_length1 >= insertion.length / 2\n ) {\n // Overlap found. Insert an equality and trim the surrounding edits.\n diffs.splice(pointer, 0, [\n DIFF_EQUAL,\n insertion.substring(0, overlap_length1),\n ]);\n diffs[pointer - 1][1] = deletion.substring(\n 0,\n deletion.length - overlap_length1\n );\n diffs[pointer + 1][1] = insertion.substring(overlap_length1);\n pointer++;\n }\n } else {\n if (\n overlap_length2 >= deletion.length / 2 ||\n overlap_length2 >= insertion.length / 2\n ) {\n // Reverse overlap found.\n // Insert an equality and swap and trim the surrounding edits.\n diffs.splice(pointer, 0, [\n DIFF_EQUAL,\n deletion.substring(0, overlap_length2),\n ]);\n diffs[pointer - 1][0] = DIFF_INSERT;\n diffs[pointer - 1][1] = insertion.substring(\n 0,\n insertion.length - overlap_length2\n );\n diffs[pointer + 1][0] = DIFF_DELETE;\n diffs[pointer + 1][1] = deletion.substring(overlap_length2);\n pointer++;\n }\n }\n pointer++;\n }\n pointer++;\n }\n}\n\nvar nonAlphaNumericRegex_ = /[^a-zA-Z0-9]/;\nvar whitespaceRegex_ = /\\s/;\nvar linebreakRegex_ = /[\\r\\n]/;\nvar blanklineEndRegex_ = /\\n\\r?\\n$/;\nvar blanklineStartRegex_ = /^\\r?\\n\\r?\\n/;\n\n/**\n * Look for single edits surrounded on both sides by equalities\n * which can be shifted sideways to align the edit to a word boundary.\n * e.g: The c<ins>at c</ins>ame. -> The <ins>cat </ins>came.\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n */\nfunction diff_cleanupSemanticLossless(diffs) {\n /**\n * Given two strings, compute a score representing whether the internal\n * boundary falls on logical boundaries.\n * Scores range from 6 (best) to 0 (worst).\n * Closure, but does not reference any external variables.\n * @param {string} one First string.\n * @param {string} two Second string.\n * @return {number} The score.\n * @private\n */\n function diff_cleanupSemanticScore_(one, two) {\n if (!one || !two) {\n // Edges are the best.\n return 6;\n }\n\n // Each port of this function behaves slightly differently due to\n // subtle differences in each language's definition of things like\n // 'whitespace'. Since this function's purpose is largely cosmetic,\n // the choice has been made to use each language's native features\n // rather than force total conformity.\n var char1 = one.charAt(one.length - 1);\n var char2 = two.charAt(0);\n var nonAlphaNumeric1 = char1.match(nonAlphaNumericRegex_);\n var nonAlphaNumeric2 = char2.match(nonAlphaNumericRegex_);\n var whitespace1 = nonAlphaNumeric1 && char1.match(whitespaceRegex_);\n var whitespace2 = nonAlphaNumeric2 && char2.match(whitespaceRegex_);\n var lineBreak1 = whitespace1 && char1.match(linebreakRegex_);\n var lineBreak2 = whitespace2 && char2.match(linebreakRegex_);\n var blankLine1 = lineBreak1 && one.match(blanklineEndRegex_);\n var blankLine2 = lineBreak2 && two.match(blanklineStartRegex_);\n\n if (blankLine1 || blankLine2) {\n // Five points for blank lines.\n return 5;\n } else if (lineBreak1 || lineBreak2) {\n // Four points for line breaks.\n return 4;\n } else if (nonAlphaNumeric1 && !whitespace1 && whitespace2) {\n // Three points for end of sentences.\n return 3;\n } else if (whitespace1 || whitespace2) {\n // Two points for whitespace.\n return 2;\n } else if (nonAlphaNumeric1 || nonAlphaNumeric2) {\n // One point for non-alphanumeric.\n return 1;\n }\n return 0;\n }\n\n var pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (\n diffs[pointer - 1][0] == DIFF_EQUAL &&\n diffs[pointer + 1][0] == DIFF_EQUAL\n ) {\n // This is a single edit surrounded by equalities.\n var equality1 = diffs[pointer - 1][1];\n var edit = diffs[pointer][1];\n var equality2 = diffs[pointer + 1][1];\n\n // First, shift the edit as far left as possible.\n var commonOffset = diff_commonSuffix(equality1, edit);\n if (commonOffset) {\n var commonString = edit.substring(edit.length - commonOffset);\n equality1 = equality1.substring(0, equality1.length - commonOffset);\n edit = commonString + edit.substring(0, edit.length - commonOffset);\n equality2 = commonString + equality2;\n }\n\n // Second, step character by character right, looking for the best fit.\n var bestEquality1 = equality1;\n var bestEdit = edit;\n var bestEquality2 = equality2;\n var bestScore =\n diff_cleanupSemanticScore_(equality1, edit) +\n diff_cleanupSemanticScore_(edit, equality2);\n while (edit.charAt(0) === equality2.charAt(0)) {\n equality1 += edit.charAt(0);\n edit = edit.substring(1) + equality2.charAt(0);\n equality2 = equality2.substring(1);\n var score =\n diff_cleanupSemanticScore_(equality1, edit) +\n diff_cleanupSemanticScore_(edit, equality2);\n // The >= encourages trailing rather than leading whitespace on edits.\n if (score >= bestScore) {\n bestScore = score;\n bestEquality1 = equality1;\n bestEdit = edit;\n bestEquality2 = equality2;\n }\n }\n\n if (diffs[pointer - 1][1] != bestEquality1) {\n // We have an improvement, save it back to the diff.\n if (bestEquality1) {\n diffs[pointer - 1][1] = bestEquality1;\n } else {\n diffs.splice(pointer - 1, 1);\n pointer--;\n }\n diffs[pointer][1] = bestEdit;\n if (bestEquality2) {\n diffs[pointer + 1][1] = bestEquality2;\n } else {\n diffs.splice(pointer + 1, 1);\n pointer--;\n }\n }\n }\n pointer++;\n }\n}\n\n/**\n * Reorder and merge like edit sections. Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {Array} diffs Array of diff tuples.\n * @param {boolean} fix_unicode Whether to normalize to a unicode-correct diff\n */\nfunction diff_cleanupMerge(diffs, fix_unicode) {\n diffs.push([DIFF_EQUAL, \"\"]); // Add a dummy entry at the end.\n var pointer = 0;\n var count_delete = 0;\n var count_insert = 0;\n var text_delete = \"\";\n var text_insert = \"\";\n var commonlength;\n while (pointer < diffs.length) {\n if (pointer < diffs.length - 1 && !diffs[pointer][1]) {\n diffs.splice(pointer, 1);\n continue;\n }\n switch (diffs[pointer][0]) {\n case DIFF_INSERT:\n count_insert++;\n text_insert += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_DELETE:\n count_delete++;\n text_delete += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_EQUAL:\n var previous_equality = pointer - count_insert - count_delete - 1;\n if (fix_unicode) {\n // prevent splitting of unicode surrogate pairs. when fix_unicode is true,\n // we assume that the old and new text in the diff are complete and correct\n // unicode-encoded JS strings, but the tuple boundaries may fall between\n // surrogate pairs. we fix this by shaving off stray surrogates from the end\n // of the previous equality and the beginning of this equality. this may create\n // empty equalities or a common prefix or suffix. for example, if AB and AC are\n // emojis, `[[0, 'A'], [-1, 'BA'], [0, 'C']]` would turn into deleting 'ABAC' and\n // inserting 'AC', and then the common suffix 'AC' will be eliminated. in this\n // particular case, both equalities go away, we absorb any previous inequalities,\n // and we keep scanning for the next equality before rewriting the tuples.\n if (\n previous_equality >= 0 &&\n ends_with_pair_start(diffs[previous_equality][1])\n ) {\n var stray = diffs[previous_equality][1].slice(-1);\n diffs[previous_equality][1] = diffs[previous_equality][1].slice(\n 0,\n -1\n );\n text_delete = stray + text_delete;\n text_insert = stray + text_insert;\n if (!diffs[previous_equality][1]) {\n // emptied out previous equality, so delete it and include previous delete/insert\n diffs.splice(previous_equality, 1);\n pointer--;\n var k = previous_equality - 1;\n if (diffs[k] && diffs[k][0] === DIFF_INSERT) {\n count_insert++;\n text_insert = diffs[k][1] + text_insert;\n k--;\n }\n if (diffs[k] && diffs[k][0] === DIFF_DELETE) {\n count_delete++;\n text_delete = diffs[k][1] + text_delete;\n k--;\n }\n previous_equality = k;\n }\n }\n if (starts_with_pair_end(diffs[pointer][1])) {\n var stray = diffs[pointer][1].charAt(0);\n diffs[pointer][1] = diffs[pointer][1].slice(1);\n text_delete += stray;\n text_insert += stray;\n }\n }\n if (pointer < diffs.length - 1 && !diffs[pointer][1]) {\n // for empty equality not at end, wait for next equality\n diffs.splice(pointer, 1);\n break;\n }\n if (text_delete.length > 0 || text_insert.length > 0) {\n // note that diff_commonPrefix and diff_commonSuffix are unicode-aware\n if (text_delete.length > 0 && text_insert.length > 0) {\n // Factor out any common prefixes.\n commonlength = diff_commonPrefix(text_insert, text_delete);\n if (commonlength !== 0) {\n if (previous_equality >= 0) {\n diffs[previous_equality][1] += text_insert.substring(\n 0,\n commonlength\n );\n } else {\n diffs.splice(0, 0, [\n DIFF_EQUAL,\n text_insert.substring(0, commonlength),\n ]);\n pointer++;\n }\n text_insert = text_insert.substring(commonlength);\n text_delete = text_delete.substring(commonlength);\n }\n // Factor out any common suffixes.\n commonlength = diff_commonSuffix(text_insert, text_delete);\n if (commonlength !== 0) {\n diffs[pointer][1] =\n text_insert.substring(text_insert.length - commonlength) +\n diffs[pointer][1];\n text_insert = text_insert.substring(\n 0,\n text_insert.length - commonlength\n );\n text_delete = text_delete.substring(\n 0,\n text_delete.length - commonlength\n );\n }\n }\n // Delete the offending records and add the merged ones.\n var n = count_insert + count_delete;\n if (text_delete.length === 0 && text_insert.length === 0) {\n diffs.splice(pointer - n, n);\n pointer = pointer - n;\n } else if (text_delete.length === 0) {\n diffs.splice(pointer - n, n, [DIFF_INSERT, text_insert]);\n pointer = pointer - n + 1;\n } else if (text_insert.length === 0) {\n diffs.splice(pointer - n, n, [DIFF_DELETE, text_delete]);\n pointer = pointer - n + 1;\n } else {\n diffs.splice(\n pointer - n,\n n,\n [DIFF_DELETE, text_delete],\n [DIFF_INSERT, text_insert]\n );\n pointer = pointer - n + 2;\n }\n }\n if (pointer !== 0 && diffs[pointer - 1][0] === DIFF_EQUAL) {\n // Merge this equality with the previous one.\n diffs[pointer - 1][1] += diffs[pointer][1];\n diffs.splice(pointer, 1);\n } else {\n pointer++;\n }\n count_insert = 0;\n count_delete = 0;\n text_delete = \"\";\n text_insert = \"\";\n break;\n }\n }\n if (diffs[diffs.length - 1][1] === \"\") {\n diffs.pop(); // Remove the dummy entry at the end.\n }\n\n // Second pass: look for single edits surrounded on both sides by equalities\n // which can be shifted sideways to eliminate an equality.\n // e.g: A<ins>BA</ins>C -> <ins>AB</ins>AC\n var changes = false;\n pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (\n diffs[pointer - 1][0] === DIFF_EQUAL &&\n diffs[pointer + 1][0] === DIFF_EQUAL\n ) {\n // This is a single edit surrounded by equalities.\n if (\n diffs[pointer][1].substring(\n diffs[pointer][1].length - diffs[pointer - 1][1].length\n ) === diffs[pointer - 1][1]\n ) {\n // Shift the edit over the previous equality.\n diffs[pointer][1] =\n diffs[pointer - 1][1] +\n diffs[pointer][1].substring(\n 0,\n diffs[pointer][1].length - diffs[pointer - 1][1].length\n );\n diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n diffs.splice(pointer - 1, 1);\n changes = true;\n } else if (\n diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\n diffs[pointer + 1][1]\n ) {\n // Shift the edit over the next equality.\n diffs[pointer - 1][1] += diffs[pointer + 1][1];\n diffs[pointer][1] =\n diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n diffs[pointer + 1][1];\n diffs.splice(pointer + 1, 1);\n changes = true;\n }\n }\n pointer++;\n }\n // If shifts were made, the diff needs reordering and another shift sweep.\n if (changes) {\n diff_cleanupMerge(diffs, fix_unicode);\n }\n}\n\nfunction is_surrogate_pair_start(charCode) {\n return charCode >= 0xd800 && charCode <= 0xdbff;\n}\n\nfunction is_surrogate_pair_end(charCode) {\n return charCode >= 0xdc00 && charCode <= 0xdfff;\n}\n\nfunction starts_with_pair_end(str) {\n return is_surrogate_pair_end(str.charCodeAt(0));\n}\n\nfunction ends_with_pair_start(str) {\n return is_surrogate_pair_start(str.charCodeAt(str.length - 1));\n}\n\nfunction remove_empty_tuples(tuples) {\n var ret = [];\n for (var i = 0; i < tuples.length; i++) {\n if (tuples[i][1].length > 0) {\n ret.push(tuples[i]);\n }\n }\n return ret;\n}\n\nfunction make_edit_splice(before, oldMiddle, newMiddle, after) {\n if (ends_with_pair_start(before) || starts_with_pair_end(after)) {\n return null;\n }\n return remove_empty_tuples([\n [DIFF_EQUAL, before],\n [DIFF_DELETE, oldMiddle],\n [DIFF_INSERT, newMiddle],\n [DIFF_EQUAL, after],\n ]);\n}\n\nfunction find_cursor_edit_diff(oldText, newText, cursor_pos) {\n // note: this runs after equality check has ruled out exact equality\n var oldRange =\n typeof cursor_pos === \"number\"\n ? { index: cursor_pos, length: 0 }\n : cursor_pos.oldRange;\n var newRange = typeof cursor_pos === \"number\" ? null : cursor_pos.newRange;\n // take into account the old and new selection to generate the best diff\n // possible for a text edit. for example, a text change from \"xxx\" to \"xx\"\n // could be a delete or forwards-delete of any one of the x's, or the\n // result of selecting two of the x's and typing \"x\".\n var oldLength = oldText.length;\n var newLength = newText.length;\n if (oldRange.length === 0 && (newRange === null || newRange.length === 0)) {\n // see if we have an insert or delete before or after cursor\n var oldCursor = oldRange.index;\n var oldBefore = oldText.slice(0, oldCursor);\n var oldAfter = oldText.slice(oldCursor);\n var maybeNewCursor = newRange ? newRange.index : null;\n editBefore: {\n // is this an insert or delete right before oldCursor?\n var newCursor = oldCursor + newLength - oldLength;\n if (maybeNewCursor !== null && maybeNewCursor !== newCursor) {\n break editBefore;\n }\n if (newCursor < 0 || newCursor > newLength) {\n break editBefore;\n }\n var newBefore = newText.slice(0, newCursor);\n var newAfter = newText.slice(newCursor);\n if (newAfter !== oldAfter) {\n break editBefore;\n }\n var prefixLength = Math.min(oldCursor, newCursor);\n var oldPrefix = oldBefore.slice(0, prefixLength);\n var newPrefix = newBefore.slice(0, prefixLength);\n if (oldPrefix !== newPrefix) {\n break editBefore;\n }\n var oldMiddle = oldBefore.slice(prefixLength);\n var newMiddle = newBefore.slice(prefixLength);\n return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldAfter);\n }\n editAfter: {\n // is this an insert or delete right after oldCursor?\n if (maybeNewCursor !== null && maybeNewCursor !== oldCursor) {\n break editAfter;\n }\n var cursor = oldCursor;\n var newBefore = newText.slice(0, cursor);\n var newAfter = newText.slice(cursor);\n if (newBefore !== oldBefore) {\n break editAfter;\n }\n var suffixLength = Math.min(oldLength - cursor, newLength - cursor);\n var oldSuffix = oldAfter.slice(oldAfter.length - suffixLength);\n var newSuffix = newAfter.slice(newAfter.length - suffixLength);\n if (oldSuffix !== newSuffix) {\n break editAfter;\n }\n var oldMiddle = oldAfter.slice(0, oldAfter.length - suffixLength);\n var newMiddle = newAfter.slice(0, newAfter.length - suffixLength);\n return make_edit_splice(oldBefore, oldMiddle, newMiddle, oldSuffix);\n }\n }\n if (oldRange.length > 0 && newRange && newRange.length === 0) {\n replaceRange: {\n // see if diff could be a splice of the old selection range\n var oldPrefix = oldText.slice(0, oldRange.index);\n var oldSuffix = oldText.slice(oldRange.index + oldRange.length);\n var prefixLength = oldPrefix.length;\n var suffixLength = oldSuffix.length;\n if (newLength < prefixLength + suffixLength) {\n break replaceRange;\n }\n var newPrefix = newText.slice(0, prefixLength);\n var newSuffix = newText.slice(newLength - suffixLength);\n if (oldPrefix !== newPrefix || oldSuffix !== newSuffix) {\n break replaceRange;\n }\n var oldMiddle = oldText.slice(prefixLength, oldLength - suffixLength);\n var newMiddle = newText.slice(prefixLength, newLength - suffixLength);\n return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldSuffix);\n }\n }\n\n return null;\n}\n\nfunction diff(text1, text2, cursor_pos, cleanup) {\n // only pass fix_unicode=true at the top level, not when diff_main is\n // recursively invoked\n return diff_main(text1, text2, cursor_pos, cleanup, true);\n}\n\ndiff.INSERT = DIFF_INSERT;\ndiff.DELETE = DIFF_DELETE;\ndiff.EQUAL = DIFF_EQUAL;\n\nmodule.exports = diff;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n // Don't return `map.set` because it's not chainable in IE 11.\n map.set(pair[0], pair[1]);\n return map;\n}\n\n/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n // Don't return `set.add` because it's not chainable in IE 11.\n set.add(value);\n return set;\n}\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {boolean} [isFull] Specify a clone including symbols.\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n if (isHostObject(value)) {\n return object ? value : {};\n }\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, baseClone, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (!isArr) {\n var props = isFull ? getAllKeys(value) : keys(value);\n }\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n });\n return result;\n}\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(proto) {\n return isObject(proto) ? objectCreate(proto) : {};\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var result = new buffer.constructor(buffer.length);\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n return arrayReduce(array, addMapEntry, new map.constructor);\n}\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n return arrayReduce(array, addSetEntry, new set.constructor);\n}\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Copies own symbol properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return cloneMap(object, isDeep, cloneFunc);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return cloneSet(object, isDeep, cloneFunc);\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, true, true);\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = cloneDeep;\n","/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n","/*!\n * Materialize v1.0.0 (http://materializecss.com)\n * Copyright 2014-2017 Materialize\n * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)\n */\nvar _get=function t(e,i,n){null===e&&(e=Function.prototype);var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,i,n)}if(\"value\"in s)return s.value;var a=s.get;return void 0!==a?a.call(n):void 0},_createClass=function(){function n(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(t,e,i){return e&&n(t.prototype,e),i&&n(t,i),t}}();function _possibleConstructorReturn(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function _inherits(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}window.cash=function(){var i,o=document,a=window,t=Array.prototype,r=t.slice,n=t.filter,s=t.push,e=function(){},h=function(t){return typeof t==typeof e&&t.call},d=function(t){return\"string\"==typeof t},l=/^#[\\w-]*$/,u=/^\\.[\\w-]*$/,c=/<.+>/,p=/^\\w+$/;function v(t,e){e=e||o;var i=u.test(t)?e.getElementsByClassName(t.slice(1)):p.test(t)?e.getElementsByTagName(t):e.querySelectorAll(t);return i}function f(t){if(!i){var e=(i=o.implementation.createHTMLDocument(null)).createElement(\"base\");e.href=o.location.href,i.head.appendChild(e)}return i.body.innerHTML=t,i.body.childNodes}function m(t){\"loading\"!==o.readyState?t():o.addEventListener(\"DOMContentLoaded\",t)}function g(t,e){if(!t)return this;if(t.cash&&t!==a)return t;var i,n=t,s=0;if(d(t))n=l.test(t)?o.getElementById(t.slice(1)):c.test(t)?f(t):v(t,e);else if(h(t))return m(t),this;if(!n)return this;if(n.nodeType||n===a)this[0]=n,this.length=1;else for(i=this.length=n.length;s<i;s++)this[s]=n[s];return this}function _(t,e){return new g(t,e)}var y=_.fn=_.prototype=g.prototype={cash:!0,length:0,push:s,splice:t.splice,map:t.map,init:g};function k(t,e){for(var i=t.length,n=0;n<i&&!1!==e.call(t[n],t[n],n,t);n++);}function b(t,e){var i=t&&(t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector);return!!i&&i.call(t,e)}function w(e){return d(e)?b:e.cash?function(t){return e.is(t)}:function(t,e){return t===e}}function C(t){return _(r.call(t).filter(function(t,e,i){return i.indexOf(t)===e}))}Object.defineProperty(y,\"constructor\",{value:_}),_.parseHTML=f,_.noop=e,_.isFunction=h,_.isString=d,_.extend=y.extend=function(t){t=t||{};var e=r.call(arguments),i=e.length,n=1;for(1===e.length&&(t=this,n=0);n<i;n++)if(e[n])for(var s in e[n])e[n].hasOwnProperty(s)&&(t[s]=e[n][s]);return t},_.extend({merge:function(t,e){for(var i=+e.length,n=t.length,s=0;s<i;n++,s++)t[n]=e[s];return t.length=n,t},each:k,matches:b,unique:C,isArray:Array.isArray,isNumeric:function(t){return!isNaN(parseFloat(t))&&isFinite(t)}});var E=_.uid=\"_cash\"+Date.now();function M(t){return t[E]=t[E]||{}}function O(t,e,i){return M(t)[e]=i}function x(t,e){var i=M(t);return void 0===i[e]&&(i[e]=t.dataset?t.dataset[e]:_(t).attr(\"data-\"+e)),i[e]}y.extend({data:function(e,i){if(d(e))return void 0===i?x(this[0],e):this.each(function(t){return O(t,e,i)});for(var t in e)this.data(t,e[t]);return this},removeData:function(s){return this.each(function(t){return i=s,void((n=M(e=t))?delete n[i]:e.dataset?delete e.dataset[i]:_(e).removeAttr(\"data-\"+name));var e,i,n})}});var L=/\\S+/g;function T(t){return d(t)&&t.match(L)}function $(t,e){return t.classList?t.classList.contains(e):new RegExp(\"(^| )\"+e+\"( |$)\",\"gi\").test(t.className)}function B(t,e,i){t.classList?t.classList.add(e):i.indexOf(\" \"+e+\" \")&&(t.className+=\" \"+e)}function D(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(e,\"\")}y.extend({addClass:function(t){var n=T(t);return n?this.each(function(e){var i=\" \"+e.className+\" \";k(n,function(t){B(e,t,i)})}):this},attr:function(e,i){if(e){if(d(e))return void 0===i?this[0]?this[0].getAttribute?this[0].getAttribute(e):this[0][e]:void 0:this.each(function(t){t.setAttribute?t.setAttribute(e,i):t[e]=i});for(var t in e)this.attr(t,e[t]);return this}},hasClass:function(t){var e=!1,i=T(t);return i&&i.length&&this.each(function(t){return!(e=$(t,i[0]))}),e},prop:function(e,i){if(d(e))return void 0===i?this[0][e]:this.each(function(t){t[e]=i});for(var t in e)this.prop(t,e[t]);return this},removeAttr:function(e){return this.each(function(t){t.removeAttribute?t.removeAttribute(e):delete t[e]})},removeClass:function(t){if(!arguments.length)return this.attr(\"class\",\"\");var i=T(t);return i?this.each(function(e){k(i,function(t){D(e,t)})}):this},removeProp:function(e){return this.each(function(t){delete t[e]})},toggleClass:function(t,e){if(void 0!==e)return this[e?\"addClass\":\"removeClass\"](t);var n=T(t);return n?this.each(function(e){var i=\" \"+e.className+\" \";k(n,function(t){$(e,t)?D(e,t):B(e,t,i)})}):this}}),y.extend({add:function(t,e){return C(_.merge(this,_(t,e)))},each:function(t){return k(this,t),this},eq:function(t){return _(this.get(t))},filter:function(e){if(!e)return this;var i=h(e)?e:w(e);return _(n.call(this,function(t){return i(t,e)}))},first:function(){return this.eq(0)},get:function(t){return void 0===t?r.call(this):t<0?this[t+this.length]:this[t]},index:function(t){var e=t?_(t)[0]:this[0],i=t?this:_(e).parent().children();return r.call(i).indexOf(e)},last:function(){return this.eq(-1)}});var S,I,A,R,H,P,W=(H=/(?:^\\w|[A-Z]|\\b\\w)/g,P=/[\\s-_]+/g,function(t){return t.replace(H,function(t,e){return t[0===e?\"toLowerCase\":\"toUpperCase\"]()}).replace(P,\"\")}),j=(S={},I=document,A=I.createElement(\"div\"),R=A.style,function(e){if(e=W(e),S[e])return S[e];var t=e.charAt(0).toUpperCase()+e.slice(1),i=(e+\" \"+[\"webkit\",\"moz\",\"ms\",\"o\"].join(t+\" \")+t).split(\" \");return k(i,function(t){if(t in R)return S[t]=e=S[e]=t,!1}),S[e]});function F(t,e){return parseInt(a.getComputedStyle(t[0],null)[e],10)||0}function q(e,i,t){var n,s=x(e,\"_cashEvents\"),o=s&&s[i];o&&(t?(e.removeEventListener(i,t),0<=(n=o.indexOf(t))&&o.splice(n,1)):(k(o,function(t){e.removeEventListener(i,t)}),o=[]))}function N(t,e){return\"&\"+encodeURIComponent(t)+\"=\"+encodeURIComponent(e).replace(/%20/g,\"+\")}function z(t){var e,i,n,s=t.type;if(!s)return null;switch(s.toLowerCase()){case\"select-one\":return 0<=(n=(i=t).selectedIndex)?i.options[n].value:null;case\"select-multiple\":return e=[],k(t.options,function(t){t.selected&&e.push(t.value)}),e.length?e:null;case\"radio\":case\"checkbox\":return t.checked?t.value:null;default:return t.value?t.value:null}}function V(e,i,n){var t=d(i);t||!i.length?k(e,t?function(t){return t.insertAdjacentHTML(n?\"afterbegin\":\"beforeend\",i)}:function(t,e){return function(t,e,i){if(i){var n=t.childNodes[0];t.insertBefore(e,n)}else t.appendChild(e)}(t,0===e?i:i.cloneNode(!0),n)}):k(i,function(t){return V(e,t,n)})}_.prefixedProp=j,_.camelCase=W,y.extend({css:function(e,i){if(d(e))return e=j(e),1<arguments.length?this.each(function(t){return t.style[e]=i}):a.getComputedStyle(this[0])[e];for(var t in e)this.css(t,e[t]);return this}}),k([\"Width\",\"Height\"],function(e){var t=e.toLowerCase();y[t]=function(){return this[0].getBoundingClientRect()[t]},y[\"inner\"+e]=function(){return this[0][\"client\"+e]},y[\"outer\"+e]=function(t){return this[0][\"offset\"+e]+(t?F(this,\"margin\"+(\"Width\"===e?\"Left\":\"Top\"))+F(this,\"margin\"+(\"Width\"===e?\"Right\":\"Bottom\")):0)}}),y.extend({off:function(e,i){return this.each(function(t){return q(t,e,i)})},on:function(a,i,r,l){var n;if(!d(a)){for(var t in a)this.on(t,i,a[t]);return this}return h(i)&&(r=i,i=null),\"ready\"===a?(m(r),this):(i&&(n=r,r=function(t){for(var e=t.target;!b(e,i);){if(e===this||null===e)return e=!1;e=e.parentNode}e&&n.call(e,t)}),this.each(function(t){var e,i,n,s,o=r;l&&(o=function(){r.apply(this,arguments),q(t,a,o)}),i=a,n=o,(s=x(e=t,\"_cashEvents\")||O(e,\"_cashEvents\",{}))[i]=s[i]||[],s[i].push(n),e.addEventListener(i,n)}))},one:function(t,e,i){return this.on(t,e,i,!0)},ready:m,trigger:function(t,e){if(document.createEvent){var i=document.createEvent(\"HTMLEvents\");return i.initEvent(t,!0,!1),i=this.extend(i,e),this.each(function(t){return t.dispatchEvent(i)})}}}),y.extend({serialize:function(){var s=\"\";return k(this[0].elements||this,function(t){if(!t.disabled&&\"FIELDSET\"!==t.tagName){var e=t.name;switch(t.type.toLowerCase()){case\"file\":case\"reset\":case\"submit\":case\"button\":break;case\"select-multiple\":var i=z(t);null!==i&&k(i,function(t){s+=N(e,t)});break;default:var n=z(t);null!==n&&(s+=N(e,n))}}}),s.substr(1)},val:function(e){return void 0===e?z(this[0]):this.each(function(t){return t.value=e})}}),y.extend({after:function(t){return _(t).insertAfter(this),this},append:function(t){return V(this,t),this},appendTo:function(t){return V(_(t),this),this},before:function(t){return _(t).insertBefore(this),this},clone:function(){return _(this.map(function(t){return t.cloneNode(!0)}))},empty:function(){return this.html(\"\"),this},html:function(t){if(void 0===t)return this[0].innerHTML;var e=t.nodeType?t[0].outerHTML:t;return this.each(function(t){return t.innerHTML=e})},insertAfter:function(t){var s=this;return _(t).each(function(t,e){var i=t.parentNode,n=t.nextSibling;s.each(function(t){i.insertBefore(0===e?t:t.cloneNode(!0),n)})}),this},insertBefore:function(t){var s=this;return _(t).each(function(e,i){var n=e.parentNode;s.each(function(t){n.insertBefore(0===i?t:t.cloneNode(!0),e)})}),this},prepend:function(t){return V(this,t,!0),this},prependTo:function(t){return V(_(t),this,!0),this},remove:function(){return this.each(function(t){if(t.parentNode)return t.parentNode.removeChild(t)})},text:function(e){return void 0===e?this[0].textContent:this.each(function(t){return t.textContent=e})}});var X=o.documentElement;return y.extend({position:function(){var t=this[0];return{left:t.offsetLeft,top:t.offsetTop}},offset:function(){var t=this[0].getBoundingClientRect();return{top:t.top+a.pageYOffset-X.clientTop,left:t.left+a.pageXOffset-X.clientLeft}},offsetParent:function(){return _(this[0].offsetParent)}}),y.extend({children:function(e){var i=[];return this.each(function(t){s.apply(i,t.children)}),i=C(i),e?i.filter(function(t){return b(t,e)}):i},closest:function(t){return!t||this.length<1?_():this.is(t)?this.filter(t):this.parent().closest(t)},is:function(e){if(!e)return!1;var i=!1,n=w(e);return this.each(function(t){return!(i=n(t,e))}),i},find:function(e){if(!e||e.nodeType)return _(e&&this.has(e).length?e:null);var i=[];return this.each(function(t){s.apply(i,v(e,t))}),C(i)},has:function(e){var t=d(e)?function(t){return 0!==v(e,t).length}:function(t){return t.contains(e)};return this.filter(t)},next:function(){return _(this[0].nextElementSibling)},not:function(e){if(!e)return this;var i=w(e);return this.filter(function(t){return!i(t,e)})},parent:function(){var e=[];return this.each(function(t){t&&t.parentNode&&e.push(t.parentNode)}),C(e)},parents:function(e){var i,n=[];return this.each(function(t){for(i=t;i&&i.parentNode&&i!==o.body.parentNode;)i=i.parentNode,(!e||e&&b(i,e))&&n.push(i)}),C(n)},prev:function(){return _(this[0].previousElementSibling)},siblings:function(t){var e=this.parent().children(t),i=this[0];return e.filter(function(t){return t!==i})}}),_}();var Component=function(){function s(t,e,i){_classCallCheck(this,s),e instanceof Element||console.error(Error(e+\" is not an HTML Element\"));var n=t.getInstance(e);n&&n.destroy(),this.el=e,this.$el=cash(e)}return _createClass(s,null,[{key:\"init\",value:function(t,e,i){var n=null;if(e instanceof Element)n=new t(e,i);else if(e&&(e.jquery||e.cash||e instanceof NodeList)){for(var s=[],o=0;o<e.length;o++)s.push(new t(e[o],i));n=s}return n}}]),s}();!function(t){t.Package?M={}:t.M={},M.jQueryLoaded=!!t.jQuery}(window),\"function\"==typeof define&&define.amd?define(\"M\",[],function(){return M}):\"undefined\"==typeof exports||exports.nodeType||(\"undefined\"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=M),exports.default=M),M.version=\"1.0.0\",M.keys={TAB:9,ENTER:13,ESC:27,ARROW_UP:38,ARROW_DOWN:40},M.tabPressed=!1,M.keyDown=!1;var docHandleKeydown=function(t){M.keyDown=!0,t.which!==M.keys.TAB&&t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||(M.tabPressed=!0)},docHandleKeyup=function(t){M.keyDown=!1,t.which!==M.keys.TAB&&t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||(M.tabPressed=!1)},docHandleFocus=function(t){M.keyDown&&document.body.classList.add(\"keyboard-focused\")},docHandleBlur=function(t){document.body.classList.remove(\"keyboard-focused\")};document.addEventListener(\"keydown\",docHandleKeydown,!0),document.addEventListener(\"keyup\",docHandleKeyup,!0),document.addEventListener(\"focus\",docHandleFocus,!0),document.addEventListener(\"blur\",docHandleBlur,!0),M.initializeJqueryWrapper=function(n,s,o){jQuery.fn[s]=function(e){if(n.prototype[e]){var i=Array.prototype.slice.call(arguments,1);if(\"get\"===e.slice(0,3)){var t=this.first()[0][o];return t[e].apply(t,i)}return this.each(function(){var t=this[o];t[e].apply(t,i)})}if(\"object\"==typeof e||!e)return n.init(this,e),this;jQuery.error(\"Method \"+e+\" does not exist on jQuery.\"+s)}},M.AutoInit=function(t){var e=t||document.body,i={Autocomplete:e.querySelectorAll(\".autocomplete:not(.no-autoinit)\"),Carousel:e.querySelectorAll(\".carousel:not(.no-autoinit)\"),Chips:e.querySelectorAll(\".chips:not(.no-autoinit)\"),Collapsible:e.querySelectorAll(\".collapsible:not(.no-autoinit)\"),Datepicker:e.querySelectorAll(\".datepicker:not(.no-autoinit)\"),Dropdown:e.querySelectorAll(\".dropdown-trigger:not(.no-autoinit)\"),Materialbox:e.querySelectorAll(\".materialboxed:not(.no-autoinit)\"),Modal:e.querySelectorAll(\".modal:not(.no-autoinit)\"),Parallax:e.querySelectorAll(\".parallax:not(.no-autoinit)\"),Pushpin:e.querySelectorAll(\".pushpin:not(.no-autoinit)\"),ScrollSpy:e.querySelectorAll(\".scrollspy:not(.no-autoinit)\"),FormSelect:e.querySelectorAll(\"select:not(.no-autoinit)\"),Sidenav:e.querySelectorAll(\".sidenav:not(.no-autoinit)\"),Tabs:e.querySelectorAll(\".tabs:not(.no-autoinit)\"),TapTarget:e.querySelectorAll(\".tap-target:not(.no-autoinit)\"),Timepicker:e.querySelectorAll(\".timepicker:not(.no-autoinit)\"),Tooltip:e.querySelectorAll(\".tooltipped:not(.no-autoinit)\"),FloatingActionButton:e.querySelectorAll(\".fixed-action-btn:not(.no-autoinit)\")};for(var n in i){M[n].init(i[n])}},M.objectSelectorString=function(t){return((t.prop(\"tagName\")||\"\")+(t.attr(\"id\")||\"\")+(t.attr(\"class\")||\"\")).replace(/\\s/g,\"\")},M.guid=function(){function t(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return function(){return t()+t()+\"-\"+t()+\"-\"+t()+\"-\"+t()+\"-\"+t()+t()+t()}}(),M.escapeHash=function(t){return t.replace(/(:|\\.|\\[|\\]|,|=|\\/)/g,\"\\\\$1\")},M.elementOrParentIsFixed=function(t){var e=$(t),i=e.add(e.parents()),n=!1;return i.each(function(){if(\"fixed\"===$(this).css(\"position\"))return!(n=!0)}),n},M.checkWithinContainer=function(t,e,i){var n={top:!1,right:!1,bottom:!1,left:!1},s=t.getBoundingClientRect(),o=t===document.body?Math.max(s.bottom,window.innerHeight):s.bottom,a=t.scrollLeft,r=t.scrollTop,l=e.left-a,h=e.top-r;return(l<s.left+i||l<i)&&(n.left=!0),(l+e.width>s.right-i||l+e.width>window.innerWidth-i)&&(n.right=!0),(h<s.top+i||h<i)&&(n.top=!0),(h+e.height>o-i||h+e.height>window.innerHeight-i)&&(n.bottom=!0),n},M.checkPossibleAlignments=function(t,e,i,n){var s={top:!0,right:!0,bottom:!0,left:!0,spaceOnTop:null,spaceOnRight:null,spaceOnBottom:null,spaceOnLeft:null},o=\"visible\"===getComputedStyle(e).overflow,a=e.getBoundingClientRect(),r=Math.min(a.height,window.innerHeight),l=Math.min(a.width,window.innerWidth),h=t.getBoundingClientRect(),d=e.scrollLeft,u=e.scrollTop,c=i.left-d,p=i.top-u,v=i.top+h.height-u;return s.spaceOnRight=o?window.innerWidth-(h.left+i.width):l-(c+i.width),s.spaceOnRight<0&&(s.left=!1),s.spaceOnLeft=o?h.right-i.width:c-i.width+h.width,s.spaceOnLeft<0&&(s.right=!1),s.spaceOnBottom=o?window.innerHeight-(h.top+i.height+n):r-(p+i.height+n),s.spaceOnBottom<0&&(s.top=!1),s.spaceOnTop=o?h.bottom-(i.height+n):v-(i.height-n),s.spaceOnTop<0&&(s.bottom=!1),s},M.getOverflowParent=function(t){return null==t?null:t===document.body||\"visible\"!==getComputedStyle(t).overflow?t:M.getOverflowParent(t.parentElement)},M.getIdFromTrigger=function(t){var e=t.getAttribute(\"data-target\");return e||(e=(e=t.getAttribute(\"href\"))?e.slice(1):\"\"),e},M.getDocumentScrollTop=function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},M.getDocumentScrollLeft=function(){return window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0};var getTime=Date.now||function(){return(new Date).getTime()};M.throttle=function(i,n,s){var o=void 0,a=void 0,r=void 0,l=null,h=0;s||(s={});var d=function(){h=!1===s.leading?0:getTime(),l=null,r=i.apply(o,a),o=a=null};return function(){var t=getTime();h||!1!==s.leading||(h=t);var e=n-(t-h);return o=this,a=arguments,e<=0?(clearTimeout(l),l=null,h=t,r=i.apply(o,a),o=a=null):l||!1===s.trailing||(l=setTimeout(d,e)),r}};var $jscomp={scope:{}};$jscomp.defineProperty=\"function\"==typeof Object.defineProperties?Object.defineProperty:function(t,e,i){if(i.get||i.set)throw new TypeError(\"ES3 does not support getters and setters.\");t!=Array.prototype&&t!=Object.prototype&&(t[e]=i.value)},$jscomp.getGlobal=function(t){return\"undefined\"!=typeof window&&window===t?t:\"undefined\"!=typeof global&&null!=global?global:t},$jscomp.global=$jscomp.getGlobal(this),$jscomp.SYMBOL_PREFIX=\"jscomp_symbol_\",$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){},$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)},$jscomp.symbolCounter_=0,$jscomp.Symbol=function(t){return $jscomp.SYMBOL_PREFIX+(t||\"\")+$jscomp.symbolCounter_++},$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var t=$jscomp.global.Symbol.iterator;t||(t=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol(\"iterator\")),\"function\"!=typeof Array.prototype[t]&&$jscomp.defineProperty(Array.prototype,t,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}}),$jscomp.initSymbolIterator=function(){}},$jscomp.arrayIterator=function(t){var e=0;return $jscomp.iteratorPrototype(function(){return e<t.length?{done:!1,value:t[e++]}:{done:!0}})},$jscomp.iteratorPrototype=function(t){return $jscomp.initSymbolIterator(),(t={next:t})[$jscomp.global.Symbol.iterator]=function(){return this},t},$jscomp.array=$jscomp.array||{},$jscomp.iteratorFromArray=function(e,i){$jscomp.initSymbolIterator(),e instanceof String&&(e+=\"\");var n=0,s={next:function(){if(n<e.length){var t=n++;return{value:i(t,e[t]),done:!1}}return s.next=function(){return{done:!0,value:void 0}},s.next()}};return s[Symbol.iterator]=function(){return s},s},$jscomp.polyfill=function(t,e,i,n){if(e){for(i=$jscomp.global,t=t.split(\".\"),n=0;n<t.length-1;n++){var s=t[n];s in i||(i[s]={}),i=i[s]}(e=e(n=i[t=t[t.length-1]]))!=n&&null!=e&&$jscomp.defineProperty(i,t,{configurable:!0,writable:!0,value:e})}},$jscomp.polyfill(\"Array.prototype.keys\",function(t){return t||function(){return $jscomp.iteratorFromArray(this,function(t){return t})}},\"es6-impl\",\"es3\");var $jscomp$this=this;M.anime=function(){function s(t){if(!B.col(t))try{return document.querySelectorAll(t)}catch(t){}}function b(t,e){for(var i=t.length,n=2<=arguments.length?e:void 0,s=[],o=0;o<i;o++)if(o in t){var a=t[o];e.call(n,a,o,t)&&s.push(a)}return s}function d(t){return t.reduce(function(t,e){return t.concat(B.arr(e)?d(e):e)},[])}function o(t){return B.arr(t)?t:(B.str(t)&&(t=s(t)||t),t instanceof NodeList||t instanceof HTMLCollection?[].slice.call(t):[t])}function a(t,e){return t.some(function(t){return t===e})}function r(t){var e,i={};for(e in t)i[e]=t[e];return i}function u(t,e){var i,n=r(t);for(i in t)n[i]=e.hasOwnProperty(i)?e[i]:t[i];return n}function c(t,e){var i,n=r(t);for(i in e)n[i]=B.und(t[i])?e[i]:t[i];return n}function l(t){if(t=/([\\+\\-]?[0-9#\\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(t))return t[2]}function h(t,e){return B.fnc(t)?t(e.target,e.id,e.total):t}function w(t,e){if(e in t.style)return getComputedStyle(t).getPropertyValue(e.replace(/([a-z])([A-Z])/g,\"$1-$2\").toLowerCase())||\"0\"}function p(t,e){return B.dom(t)&&a($,e)?\"transform\":B.dom(t)&&(t.getAttribute(e)||B.svg(t)&&t[e])?\"attribute\":B.dom(t)&&\"transform\"!==e&&w(t,e)?\"css\":null!=t[e]?\"object\":void 0}function v(t,e){switch(p(t,e)){case\"transform\":return function(t,i){var e,n=-1<(e=i).indexOf(\"translate\")||\"perspective\"===e?\"px\":-1<e.indexOf(\"rotate\")||-1<e.indexOf(\"skew\")?\"deg\":void 0,n=-1<i.indexOf(\"scale\")?1:0+n;if(!(t=t.style.transform))return n;for(var s=[],o=[],a=[],r=/(\\w+)\\((.+?)\\)/g;s=r.exec(t);)o.push(s[1]),a.push(s[2]);return(t=b(a,function(t,e){return o[e]===i})).length?t[0]:n}(t,e);case\"css\":return w(t,e);case\"attribute\":return t.getAttribute(e)}return t[e]||0}function f(t,e){var i=/^(\\*=|\\+=|-=)/.exec(t);if(!i)return t;var n=l(t)||0;switch(e=parseFloat(e),t=parseFloat(t.replace(i[0],\"\")),i[0][0]){case\"+\":return e+t+n;case\"-\":return e-t+n;case\"*\":return e*t+n}}function m(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function i(t){t=t.points;for(var e,i=0,n=0;n<t.numberOfItems;n++){var s=t.getItem(n);0<n&&(i+=m(e,s)),e=s}return i}function g(t){if(t.getTotalLength)return t.getTotalLength();switch(t.tagName.toLowerCase()){case\"circle\":return 2*Math.PI*t.getAttribute(\"r\");case\"rect\":return 2*t.getAttribute(\"width\")+2*t.getAttribute(\"height\");case\"line\":return m({x:t.getAttribute(\"x1\"),y:t.getAttribute(\"y1\")},{x:t.getAttribute(\"x2\"),y:t.getAttribute(\"y2\")});case\"polyline\":return i(t);case\"polygon\":var e=t.points;return i(t)+m(e.getItem(e.numberOfItems-1),e.getItem(0))}}function C(e,i){function t(t){return t=void 0===t?0:t,e.el.getPointAtLength(1<=i+t?i+t:0)}var n=t(),s=t(-1),o=t(1);switch(e.property){case\"x\":return n.x;case\"y\":return n.y;case\"angle\":return 180*Math.atan2(o.y-s.y,o.x-s.x)/Math.PI}}function _(t,e){var i,n=/-?\\d*\\.?\\d+/g;if(i=B.pth(t)?t.totalLength:t,B.col(i))if(B.rgb(i)){var s=/rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(i);i=s?\"rgba(\"+s[1]+\",1)\":i}else i=B.hex(i)?function(t){t=t.replace(/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i,function(t,e,i,n){return e+e+i+i+n+n});var e=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(t);t=parseInt(e[1],16);var i=parseInt(e[2],16),e=parseInt(e[3],16);return\"rgba(\"+t+\",\"+i+\",\"+e+\",1)\"}(i):B.hsl(i)?function(t){function e(t,e,i){return i<0&&(i+=1),1<i&&--i,i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}var i=/hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(t)||/hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(t);t=parseInt(i[1])/360;var n=parseInt(i[2])/100,s=parseInt(i[3])/100,i=i[4]||1;if(0==n)s=n=t=s;else{var o=s<.5?s*(1+n):s+n-s*n,a=2*s-o,s=e(a,o,t+1/3),n=e(a,o,t);t=e(a,o,t-1/3)}return\"rgba(\"+255*s+\",\"+255*n+\",\"+255*t+\",\"+i+\")\"}(i):void 0;else s=(s=l(i))?i.substr(0,i.length-s.length):i,i=e&&!/\\s/g.test(i)?s+e:s;return{original:i+=\"\",numbers:i.match(n)?i.match(n).map(Number):[0],strings:B.str(t)||e?i.split(n):[]}}function y(t){return b(t=t?d(B.arr(t)?t.map(o):o(t)):[],function(t,e,i){return i.indexOf(t)===e})}function k(t,i){var e=r(i);if(B.arr(t)){var n=t.length;2!==n||B.obj(t[0])?B.fnc(i.duration)||(e.duration=i.duration/n):t={value:t}}return o(t).map(function(t,e){return e=e?0:i.delay,t=B.obj(t)&&!B.pth(t)?t:{value:t},B.und(t.delay)&&(t.delay=e),t}).map(function(t){return c(t,e)})}function E(o,a){var r;return o.tweens.map(function(t){var e=(t=function(t,e){var i,n={};for(i in t){var s=h(t[i],e);B.arr(s)&&1===(s=s.map(function(t){return h(t,e)})).length&&(s=s[0]),n[i]=s}return n.duration=parseFloat(n.duration),n.delay=parseFloat(n.delay),n}(t,a)).value,i=v(a.target,o.name),n=r?r.to.original:i,n=B.arr(e)?e[0]:n,s=f(B.arr(e)?e[1]:e,n),i=l(s)||l(n)||l(i);return t.from=_(n,i),t.to=_(s,i),t.start=r?r.end:o.offset,t.end=t.start+t.delay+t.duration,t.easing=function(t){return B.arr(t)?D.apply(this,t):S[t]}(t.easing),t.elasticity=(1e3-Math.min(Math.max(t.elasticity,1),999))/1e3,t.isPath=B.pth(e),t.isColor=B.col(t.from.original),t.isColor&&(t.round=1),r=t})}function M(e,t,i,n){var s=\"delay\"===e;return t.length?(s?Math.min:Math.max).apply(Math,t.map(function(t){return t[e]})):s?n.delay:i.offset+n.delay+n.duration}function n(t){var e,i,n,s,o=u(L,t),a=u(T,t),r=(i=t.targets,(n=y(i)).map(function(t,e){return{target:t,id:e,total:n.length}})),l=[],h=c(o,a);for(e in t)h.hasOwnProperty(e)||\"targets\"===e||l.push({name:e,offset:h.offset,tweens:k(t[e],a)});return s=l,t=b(d(r.map(function(n){return s.map(function(t){var e=p(n.target,t.name);if(e){var i=E(t,n);t={type:e,property:t.name,animatable:n,tweens:i,duration:i[i.length-1].end,delay:i[0].delay}}else t=void 0;return t})})),function(t){return!B.und(t)}),c(o,{children:[],animatables:r,animations:t,duration:M(\"duration\",t,o,a),delay:M(\"delay\",t,o,a)})}function O(t){function d(){return window.Promise&&new Promise(function(t){return _=t})}function u(t){return k.reversed?k.duration-t:t}function c(e){for(var t=0,i={},n=k.animations,s=n.length;t<s;){var o=n[t],a=o.animatable,r=o.tweens,l=r.length-1,h=r[l];l&&(h=b(r,function(t){return e<t.end})[0]||h);for(var r=Math.min(Math.max(e-h.start-h.delay,0),h.duration)/h.duration,d=isNaN(r)?1:h.easing(r,h.elasticity),r=h.to.strings,u=h.round,l=[],c=void 0,c=h.to.numbers.length,p=0;p<c;p++){var v=void 0,v=h.to.numbers[p],f=h.from.numbers[p],v=h.isPath?C(h.value,d*v):f+d*(v-f);u&&(h.isColor&&2<p||(v=Math.round(v*u)/u)),l.push(v)}if(h=r.length)for(c=r[0],d=0;d<h;d++)u=r[d+1],p=l[d],isNaN(p)||(c=u?c+(p+u):c+(p+\" \"));else c=l[0];I[o.type](a.target,o.property,c,i,a.id),o.currentValue=c,t++}if(t=Object.keys(i).length)for(n=0;n<t;n++)x||(x=w(document.body,\"transform\")?\"transform\":\"-webkit-transform\"),k.animatables[n].target.style[x]=i[n].join(\" \");k.currentTime=e,k.progress=e/k.duration*100}function p(t){k[t]&&k[t](k)}function v(){k.remaining&&!0!==k.remaining&&k.remaining--}function e(t){var e=k.duration,i=k.offset,n=i+k.delay,s=k.currentTime,o=k.reversed,a=u(t);if(k.children.length){var r=k.children,l=r.length;if(a>=k.currentTime)for(var h=0;h<l;h++)r[h].seek(a);else for(;l--;)r[l].seek(a)}(n<=a||!e)&&(k.began||(k.began=!0,p(\"begin\")),p(\"run\")),i<a&&a<e?c(a):(a<=i&&0!==s&&(c(0),o&&v()),(e<=a&&s!==e||!e)&&(c(e),o||v())),p(\"update\"),e<=t&&(k.remaining?(m=f,\"alternate\"===k.direction&&(k.reversed=!k.reversed)):(k.pause(),k.completed||(k.completed=!0,p(\"complete\"),\"Promise\"in window&&(_(),y=d()))),g=0)}t=void 0===t?{}:t;var f,m,g=0,_=null,y=d(),k=n(t);return k.reset=function(){var t=k.direction,e=k.loop;for(k.currentTime=0,k.progress=0,k.paused=!0,k.began=!1,k.completed=!1,k.reversed=\"reverse\"===t,k.remaining=\"alternate\"===t&&1===e?2:e,c(0),t=k.children.length;t--;)k.children[t].reset()},k.tick=function(t){f=t,m||(m=f),e((g+f-m)*O.speed)},k.seek=function(t){e(u(t))},k.pause=function(){var t=A.indexOf(k);-1<t&&A.splice(t,1),k.paused=!0},k.play=function(){k.paused&&(k.paused=!1,m=0,g=u(k.currentTime),A.push(k),R||H())},k.reverse=function(){k.reversed=!k.reversed,m=0,g=u(k.currentTime)},k.restart=function(){k.pause(),k.reset(),k.play()},k.finished=y,k.reset(),k.autoplay&&k.play(),k}var x,L={update:void 0,begin:void 0,run:void 0,complete:void 0,loop:1,direction:\"normal\",autoplay:!0,offset:0},T={duration:1e3,delay:0,easing:\"easeOutElastic\",elasticity:500,round:0},$=\"translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective\".split(\" \"),B={arr:function(t){return Array.isArray(t)},obj:function(t){return-1<Object.prototype.toString.call(t).indexOf(\"Object\")},pth:function(t){return B.obj(t)&&t.hasOwnProperty(\"totalLength\")},svg:function(t){return t instanceof SVGElement},dom:function(t){return t.nodeType||B.svg(t)},str:function(t){return\"string\"==typeof t},fnc:function(t){return\"function\"==typeof t},und:function(t){return void 0===t},hex:function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)},rgb:function(t){return/^rgb/.test(t)},hsl:function(t){return/^hsl/.test(t)},col:function(t){return B.hex(t)||B.rgb(t)||B.hsl(t)}},D=function(){function u(t,e,i){return(((1-3*i+3*e)*t+(3*i-6*e))*t+3*e)*t}return function(a,r,l,h){if(0<=a&&a<=1&&0<=l&&l<=1){var d=new Float32Array(11);if(a!==r||l!==h)for(var t=0;t<11;++t)d[t]=u(.1*t,a,l);return function(t){if(a===r&&l===h)return t;if(0===t)return 0;if(1===t)return 1;for(var e=0,i=1;10!==i&&d[i]<=t;++i)e+=.1;var i=e+(t-d[--i])/(d[i+1]-d[i])*.1,n=3*(1-3*l+3*a)*i*i+2*(3*l-6*a)*i+3*a;if(.001<=n){for(e=0;e<4&&0!=(n=3*(1-3*l+3*a)*i*i+2*(3*l-6*a)*i+3*a);++e)var s=u(i,a,l)-t,i=i-s/n;t=i}else if(0===n)t=i;else{for(var i=e,e=e+.1,o=0;0<(n=u(s=i+(e-i)/2,a,l)-t)?e=s:i=s,1e-7<Math.abs(n)&&++o<10;);t=s}return u(t,r,h)}}}}(),S=function(){function i(t,e){return 0===t||1===t?t:-Math.pow(2,10*(t-1))*Math.sin(2*(t-1-e/(2*Math.PI)*Math.asin(1))*Math.PI/e)}var t,n=\"Quad Cubic Quart Quint Sine Expo Circ Back Elastic\".split(\" \"),e={In:[[.55,.085,.68,.53],[.55,.055,.675,.19],[.895,.03,.685,.22],[.755,.05,.855,.06],[.47,0,.745,.715],[.95,.05,.795,.035],[.6,.04,.98,.335],[.6,-.28,.735,.045],i],Out:[[.25,.46,.45,.94],[.215,.61,.355,1],[.165,.84,.44,1],[.23,1,.32,1],[.39,.575,.565,1],[.19,1,.22,1],[.075,.82,.165,1],[.175,.885,.32,1.275],function(t,e){return 1-i(1-t,e)}],InOut:[[.455,.03,.515,.955],[.645,.045,.355,1],[.77,0,.175,1],[.86,0,.07,1],[.445,.05,.55,.95],[1,0,0,1],[.785,.135,.15,.86],[.68,-.55,.265,1.55],function(t,e){return t<.5?i(2*t,e)/2:1-i(-2*t+2,e)/2}]},s={linear:D(.25,.25,.75,.75)},o={};for(t in e)o.type=t,e[o.type].forEach(function(i){return function(t,e){s[\"ease\"+i.type+n[e]]=B.fnc(t)?t:D.apply($jscomp$this,t)}}(o)),o={type:o.type};return s}(),I={css:function(t,e,i){return t.style[e]=i},attribute:function(t,e,i){return t.setAttribute(e,i)},object:function(t,e,i){return t[e]=i},transform:function(t,e,i,n,s){n[s]||(n[s]=[]),n[s].push(e+\"(\"+i+\")\")}},A=[],R=0,H=function(){function n(){R=requestAnimationFrame(t)}function t(t){var e=A.length;if(e){for(var i=0;i<e;)A[i]&&A[i].tick(t),i++;n()}else cancelAnimationFrame(R),R=0}return n}();return O.version=\"2.2.0\",O.speed=1,O.running=A,O.remove=function(t){t=y(t);for(var e=A.length;e--;)for(var i=A[e],n=i.animations,s=n.length;s--;)a(t,n[s].animatable.target)&&(n.splice(s,1),n.length||i.pause())},O.getValue=v,O.path=function(t,e){var i=B.str(t)?s(t)[0]:t,n=e||100;return function(t){return{el:i,property:t,totalLength:g(i)*(n/100)}}},O.setDashoffset=function(t){var e=g(t);return t.setAttribute(\"stroke-dasharray\",e),e},O.bezier=D,O.easings=S,O.timeline=function(n){var s=O(n);return s.pause(),s.duration=0,s.add=function(t){return s.children.forEach(function(t){t.began=!0,t.completed=!0}),o(t).forEach(function(t){var e=c(t,u(T,n||{}));e.targets=e.targets||n.targets,t=s.duration;var i=e.offset;e.autoplay=!1,e.direction=s.direction,e.offset=B.und(i)?t:f(i,t),s.began=!0,s.completed=!0,s.seek(e.offset),(e=O(e)).began=!0,e.completed=!0,e.duration>t&&(s.duration=e.duration),s.children.push(e)}),s.seek(0),s.reset(),s.autoplay&&s.restart(),s},s},O.random=function(t,e){return Math.floor(Math.random()*(e-t+1))+t},O}(),function(r,l){\"use strict\";var e={accordion:!0,onOpenStart:void 0,onOpenEnd:void 0,onCloseStart:void 0,onCloseEnd:void 0,inDuration:300,outDuration:300},t=function(t){function s(t,e){_classCallCheck(this,s);var i=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,t,e));(i.el.M_Collapsible=i).options=r.extend({},s.defaults,e),i.$headers=i.$el.children(\"li\").children(\".collapsible-header\"),i.$headers.attr(\"tabindex\",0),i._setupEventHandlers();var n=i.$el.children(\"li.active\").children(\".collapsible-body\");return i.options.accordion?n.first().css(\"display\",\"block\"):n.css(\"display\",\"block\"),i}return _inherits(s,Component),_createClass(s,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this.el.M_Collapsible=void 0}},{key:\"_setupEventHandlers\",value:function(){var e=this;this._handleCollapsibleClickBound=this._handleCollapsibleClick.bind(this),this._handleCollapsibleKeydownBound=this._handleCollapsibleKeydown.bind(this),this.el.addEventListener(\"click\",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.addEventListener(\"keydown\",e._handleCollapsibleKeydownBound)})}},{key:\"_removeEventHandlers\",value:function(){var e=this;this.el.removeEventListener(\"click\",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.removeEventListener(\"keydown\",e._handleCollapsibleKeydownBound)})}},{key:\"_handleCollapsibleClick\",value:function(t){var e=r(t.target).closest(\".collapsible-header\");if(t.target&&e.length){var i=e.closest(\".collapsible\");if(i[0]===this.el){var n=e.closest(\"li\"),s=i.children(\"li\"),o=n[0].classList.contains(\"active\"),a=s.index(n);o?this.close(a):this.open(a)}}}},{key:\"_handleCollapsibleKeydown\",value:function(t){13===t.keyCode&&this._handleCollapsibleClickBound(t)}},{key:\"_animateIn\",value:function(t){var e=this,i=this.$el.children(\"li\").eq(t);if(i.length){var n=i.children(\".collapsible-body\");l.remove(n[0]),n.css({display:\"block\",overflow:\"hidden\",height:0,paddingTop:\"\",paddingBottom:\"\"});var s=n.css(\"padding-top\"),o=n.css(\"padding-bottom\"),a=n[0].scrollHeight;n.css({paddingTop:0,paddingBottom:0}),l({targets:n[0],height:a,paddingTop:s,paddingBottom:o,duration:this.options.inDuration,easing:\"easeInOutCubic\",complete:function(t){n.css({overflow:\"\",paddingTop:\"\",paddingBottom:\"\",height:\"\"}),\"function\"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,i[0])}})}}},{key:\"_animateOut\",value:function(t){var e=this,i=this.$el.children(\"li\").eq(t);if(i.length){var n=i.children(\".collapsible-body\");l.remove(n[0]),n.css(\"overflow\",\"hidden\"),l({targets:n[0],height:0,paddingTop:0,paddingBottom:0,duration:this.options.outDuration,easing:\"easeInOutCubic\",complete:function(){n.css({height:\"\",overflow:\"\",padding:\"\",display:\"\"}),\"function\"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,i[0])}})}}},{key:\"open\",value:function(t){var i=this,e=this.$el.children(\"li\").eq(t);if(e.length&&!e[0].classList.contains(\"active\")){if(\"function\"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,e[0]),this.options.accordion){var n=this.$el.children(\"li\");this.$el.children(\"li.active\").each(function(t){var e=n.index(r(t));i.close(e)})}e[0].classList.add(\"active\"),this._animateIn(t)}}},{key:\"close\",value:function(t){var e=this.$el.children(\"li\").eq(t);e.length&&e[0].classList.contains(\"active\")&&(\"function\"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,e[0]),e[0].classList.remove(\"active\"),this._animateOut(t))}}],[{key:\"init\",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Collapsible}},{key:\"defaults\",get:function(){return e}}]),s}();M.Collapsible=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"collapsible\",\"M_Collapsible\")}(cash,M.anime),function(h,i){\"use strict\";var e={alignment:\"left\",autoFocus:!0,constrainWidth:!0,container:null,coverTrigger:!0,closeOnClick:!0,hover:!1,inDuration:150,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onItemClick:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return i.el.M_Dropdown=i,n._dropdowns.push(i),i.id=M.getIdFromTrigger(t),i.dropdownEl=document.getElementById(i.id),i.$dropdownEl=h(i.dropdownEl),i.options=h.extend({},n.defaults,e),i.isOpen=!1,i.isScrollable=!1,i.isTouchMoving=!1,i.focusedIndex=-1,i.filterQuery=[],i.options.container?h(i.options.container).append(i.dropdownEl):i.$el.after(i.dropdownEl),i._makeDropdownFocusable(),i._resetFilterQueryBound=i._resetFilterQuery.bind(i),i._handleDocumentClickBound=i._handleDocumentClick.bind(i),i._handleDocumentTouchmoveBound=i._handleDocumentTouchmove.bind(i),i._handleDropdownClickBound=i._handleDropdownClick.bind(i),i._handleDropdownKeydownBound=i._handleDropdownKeydown.bind(i),i._handleTriggerKeydownBound=i._handleTriggerKeydown.bind(i),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this._resetDropdownStyles(),this._removeEventHandlers(),n._dropdowns.splice(n._dropdowns.indexOf(this),1),this.el.M_Dropdown=void 0}},{key:\"_setupEventHandlers\",value:function(){this.el.addEventListener(\"keydown\",this._handleTriggerKeydownBound),this.dropdownEl.addEventListener(\"click\",this._handleDropdownClickBound),this.options.hover?(this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this.el.addEventListener(\"mouseenter\",this._handleMouseEnterBound),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this.el.addEventListener(\"mouseleave\",this._handleMouseLeaveBound),this.dropdownEl.addEventListener(\"mouseleave\",this._handleMouseLeaveBound)):(this._handleClickBound=this._handleClick.bind(this),this.el.addEventListener(\"click\",this._handleClickBound))}},{key:\"_removeEventHandlers\",value:function(){this.el.removeEventListener(\"keydown\",this._handleTriggerKeydownBound),this.dropdownEl.removeEventListener(\"click\",this._handleDropdownClickBound),this.options.hover?(this.el.removeEventListener(\"mouseenter\",this._handleMouseEnterBound),this.el.removeEventListener(\"mouseleave\",this._handleMouseLeaveBound),this.dropdownEl.removeEventListener(\"mouseleave\",this._handleMouseLeaveBound)):this.el.removeEventListener(\"click\",this._handleClickBound)}},{key:\"_setupTemporaryEventHandlers\",value:function(){document.body.addEventListener(\"click\",this._handleDocumentClickBound,!0),document.body.addEventListener(\"touchend\",this._handleDocumentClickBound),document.body.addEventListener(\"touchmove\",this._handleDocumentTouchmoveBound),this.dropdownEl.addEventListener(\"keydown\",this._handleDropdownKeydownBound)}},{key:\"_removeTemporaryEventHandlers\",value:function(){document.body.removeEventListener(\"click\",this._handleDocumentClickBound,!0),document.body.removeEventListener(\"touchend\",this._handleDocumentClickBound),document.body.removeEventListener(\"touchmove\",this._handleDocumentTouchmoveBound),this.dropdownEl.removeEventListener(\"keydown\",this._handleDropdownKeydownBound)}},{key:\"_handleClick\",value:function(t){t.preventDefault(),this.open()}},{key:\"_handleMouseEnter\",value:function(){this.open()}},{key:\"_handleMouseLeave\",value:function(t){var e=t.toElement||t.relatedTarget,i=!!h(e).closest(\".dropdown-content\").length,n=!1,s=h(e).closest(\".dropdown-trigger\");s.length&&s[0].M_Dropdown&&s[0].M_Dropdown.isOpen&&(n=!0),n||i||this.close()}},{key:\"_handleDocumentClick\",value:function(t){var e=this,i=h(t.target);this.options.closeOnClick&&i.closest(\".dropdown-content\").length&&!this.isTouchMoving?setTimeout(function(){e.close()},0):!i.closest(\".dropdown-trigger\").length&&i.closest(\".dropdown-content\").length||setTimeout(function(){e.close()},0),this.isTouchMoving=!1}},{key:\"_handleTriggerKeydown\",value:function(t){t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ENTER||this.isOpen||(t.preventDefault(),this.open())}},{key:\"_handleDocumentTouchmove\",value:function(t){h(t.target).closest(\".dropdown-content\").length&&(this.isTouchMoving=!0)}},{key:\"_handleDropdownClick\",value:function(t){if(\"function\"==typeof this.options.onItemClick){var e=h(t.target).closest(\"li\")[0];this.options.onItemClick.call(this,e)}}},{key:\"_handleDropdownKeydown\",value:function(t){if(t.which===M.keys.TAB)t.preventDefault(),this.close();else if(t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||!this.isOpen)if(t.which===M.keys.ENTER&&this.isOpen){var e=this.dropdownEl.children[this.focusedIndex],i=h(e).find(\"a, button\").first();i.length?i[0].click():e&&e.click()}else t.which===M.keys.ESC&&this.isOpen&&(t.preventDefault(),this.close());else{t.preventDefault();var n=t.which===M.keys.ARROW_DOWN?1:-1,s=this.focusedIndex,o=!1;do{if(s+=n,this.dropdownEl.children[s]&&-1!==this.dropdownEl.children[s].tabIndex){o=!0;break}}while(s<this.dropdownEl.children.length&&0<=s);o&&(this.focusedIndex=s,this._focusFocusedItem())}var a=String.fromCharCode(t.which).toLowerCase();if(a&&-1===[9,13,27,38,40].indexOf(t.which)){this.filterQuery.push(a);var r=this.filterQuery.join(\"\"),l=h(this.dropdownEl).find(\"li\").filter(function(t){return 0===h(t).text().toLowerCase().indexOf(r)})[0];l&&(this.focusedIndex=h(l).index(),this._focusFocusedItem())}this.filterTimeout=setTimeout(this._resetFilterQueryBound,1e3)}},{key:\"_resetFilterQuery\",value:function(){this.filterQuery=[]}},{key:\"_resetDropdownStyles\",value:function(){this.$dropdownEl.css({display:\"\",width:\"\",height:\"\",left:\"\",top:\"\",\"transform-origin\":\"\",transform:\"\",opacity:\"\"})}},{key:\"_makeDropdownFocusable\",value:function(){this.dropdownEl.tabIndex=0,h(this.dropdownEl).children().each(function(t){t.getAttribute(\"tabindex\")||t.setAttribute(\"tabindex\",0)})}},{key:\"_focusFocusedItem\",value:function(){0<=this.focusedIndex&&this.focusedIndex<this.dropdownEl.children.length&&this.options.autoFocus&&this.dropdownEl.children[this.focusedIndex].focus()}},{key:\"_getDropdownPosition\",value:function(){this.el.offsetParent.getBoundingClientRect();var t=this.el.getBoundingClientRect(),e=this.dropdownEl.getBoundingClientRect(),i=e.height,n=e.width,s=t.left-e.left,o=t.top-e.top,a={left:s,top:o,height:i,width:n},r=this.dropdownEl.offsetParent?this.dropdownEl.offsetParent:this.dropdownEl.parentNode,l=M.checkPossibleAlignments(this.el,r,a,this.options.coverTrigger?0:t.height),h=\"top\",d=this.options.alignment;if(o+=this.options.coverTrigger?0:t.height,this.isScrollable=!1,l.top||(l.bottom?h=\"bottom\":(this.isScrollable=!0,l.spaceOnTop>l.spaceOnBottom?(h=\"bottom\",i+=l.spaceOnTop,o-=l.spaceOnTop):i+=l.spaceOnBottom)),!l[d]){var u=\"left\"===d?\"right\":\"left\";l[u]?d=u:l.spaceOnLeft>l.spaceOnRight?(d=\"right\",n+=l.spaceOnLeft,s-=l.spaceOnLeft):(d=\"left\",n+=l.spaceOnRight)}return\"bottom\"===h&&(o=o-e.height+(this.options.coverTrigger?t.height:0)),\"right\"===d&&(s=s-e.width+t.width),{x:s,y:o,verticalAlignment:h,horizontalAlignment:d,height:i,width:n}}},{key:\"_animateIn\",value:function(){var e=this;i.remove(this.dropdownEl),i({targets:this.dropdownEl,opacity:{value:[0,1],easing:\"easeOutQuad\"},scaleX:[.3,1],scaleY:[.3,1],duration:this.options.inDuration,easing:\"easeOutQuint\",complete:function(t){e.options.autoFocus&&e.dropdownEl.focus(),\"function\"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,e.el)}})}},{key:\"_animateOut\",value:function(){var e=this;i.remove(this.dropdownEl),i({targets:this.dropdownEl,opacity:{value:0,easing:\"easeOutQuint\"},scaleX:.3,scaleY:.3,duration:this.options.outDuration,easing:\"easeOutQuint\",complete:function(t){e._resetDropdownStyles(),\"function\"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,e.el)}})}},{key:\"_placeDropdown\",value:function(){var t=this.options.constrainWidth?this.el.getBoundingClientRect().width:this.dropdownEl.getBoundingClientRect().width;this.dropdownEl.style.width=t+\"px\";var e=this._getDropdownPosition();this.dropdownEl.style.left=e.x+\"px\",this.dropdownEl.style.top=e.y+\"px\",this.dropdownEl.style.height=e.height+\"px\",this.dropdownEl.style.width=e.width+\"px\",this.dropdownEl.style.transformOrigin=(\"left\"===e.horizontalAlignment?\"0\":\"100%\")+\" \"+(\"top\"===e.verticalAlignment?\"0\":\"100%\")}},{key:\"open\",value:function(){this.isOpen||(this.isOpen=!0,\"function\"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._resetDropdownStyles(),this.dropdownEl.style.display=\"block\",this._placeDropdown(),this._animateIn(),this._setupTemporaryEventHandlers())}},{key:\"close\",value:function(){this.isOpen&&(this.isOpen=!1,this.focusedIndex=-1,\"function\"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._animateOut(),this._removeTemporaryEventHandlers(),this.options.autoFocus&&this.el.focus())}},{key:\"recalculateDimensions\",value:function(){this.isOpen&&(this.$dropdownEl.css({width:\"\",height:\"\",left:\"\",top:\"\",\"transform-origin\":\"\"}),this._placeDropdown())}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Dropdown}},{key:\"defaults\",get:function(){return e}}]),n}();t._dropdowns=[],M.Dropdown=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"dropdown\",\"M_Dropdown\")}(cash,M.anime),function(s,i){\"use strict\";var e={opacity:.5,inDuration:250,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0,dismissible:!0,startingTop:\"4%\",endingTop:\"10%\"},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Modal=i).options=s.extend({},n.defaults,e),i.isOpen=!1,i.id=i.$el.attr(\"id\"),i._openingTrigger=void 0,i.$overlay=s('<div class=\"modal-overlay\"></div>'),i.el.tabIndex=0,i._nthModalOpened=0,n._count++,i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){n._count--,this._removeEventHandlers(),this.el.removeAttribute(\"style\"),this.$overlay.remove(),this.el.M_Modal=void 0}},{key:\"_setupEventHandlers\",value:function(){this._handleOverlayClickBound=this._handleOverlayClick.bind(this),this._handleModalCloseClickBound=this._handleModalCloseClick.bind(this),1===n._count&&document.body.addEventListener(\"click\",this._handleTriggerClick),this.$overlay[0].addEventListener(\"click\",this._handleOverlayClickBound),this.el.addEventListener(\"click\",this._handleModalCloseClickBound)}},{key:\"_removeEventHandlers\",value:function(){0===n._count&&document.body.removeEventListener(\"click\",this._handleTriggerClick),this.$overlay[0].removeEventListener(\"click\",this._handleOverlayClickBound),this.el.removeEventListener(\"click\",this._handleModalCloseClickBound)}},{key:\"_handleTriggerClick\",value:function(t){var e=s(t.target).closest(\".modal-trigger\");if(e.length){var i=M.getIdFromTrigger(e[0]),n=document.getElementById(i).M_Modal;n&&n.open(e),t.preventDefault()}}},{key:\"_handleOverlayClick\",value:function(){this.options.dismissible&&this.close()}},{key:\"_handleModalCloseClick\",value:function(t){s(t.target).closest(\".modal-close\").length&&this.close()}},{key:\"_handleKeydown\",value:function(t){27===t.keyCode&&this.options.dismissible&&this.close()}},{key:\"_handleFocus\",value:function(t){this.el.contains(t.target)||this._nthModalOpened!==n._modalsOpen||this.el.focus()}},{key:\"_animateIn\",value:function(){var t=this;s.extend(this.el.style,{display:\"block\",opacity:0}),s.extend(this.$overlay[0].style,{display:\"block\",opacity:0}),i({targets:this.$overlay[0],opacity:this.options.opacity,duration:this.options.inDuration,easing:\"easeOutQuad\"});var e={targets:this.el,duration:this.options.inDuration,easing:\"easeOutCubic\",complete:function(){\"function\"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el,t._openingTrigger)}};this.el.classList.contains(\"bottom-sheet\")?s.extend(e,{bottom:0,opacity:1}):s.extend(e,{top:[this.options.startingTop,this.options.endingTop],opacity:1,scaleX:[.8,1],scaleY:[.8,1]}),i(e)}},{key:\"_animateOut\",value:function(){var t=this;i({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:\"easeOutQuart\"});var e={targets:this.el,duration:this.options.outDuration,easing:\"easeOutCubic\",complete:function(){t.el.style.display=\"none\",t.$overlay.remove(),\"function\"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}};this.el.classList.contains(\"bottom-sheet\")?s.extend(e,{bottom:\"-100%\",opacity:0}):s.extend(e,{top:[this.options.endingTop,this.options.startingTop],opacity:0,scaleX:.8,scaleY:.8}),i(e)}},{key:\"open\",value:function(t){if(!this.isOpen)return this.isOpen=!0,n._modalsOpen++,this._nthModalOpened=n._modalsOpen,this.$overlay[0].style.zIndex=1e3+2*n._modalsOpen,this.el.style.zIndex=1e3+2*n._modalsOpen+1,this._openingTrigger=t?t[0]:void 0,\"function\"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el,this._openingTrigger),this.options.preventScrolling&&(document.body.style.overflow=\"hidden\"),this.el.classList.add(\"open\"),this.el.insertAdjacentElement(\"afterend\",this.$overlay[0]),this.options.dismissible&&(this._handleKeydownBound=this._handleKeydown.bind(this),this._handleFocusBound=this._handleFocus.bind(this),document.addEventListener(\"keydown\",this._handleKeydownBound),document.addEventListener(\"focus\",this._handleFocusBound,!0)),i.remove(this.el),i.remove(this.$overlay[0]),this._animateIn(),this.el.focus(),this}},{key:\"close\",value:function(){if(this.isOpen)return this.isOpen=!1,n._modalsOpen--,this._nthModalOpened=0,\"function\"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this.el.classList.remove(\"open\"),0===n._modalsOpen&&(document.body.style.overflow=\"\"),this.options.dismissible&&(document.removeEventListener(\"keydown\",this._handleKeydownBound),document.removeEventListener(\"focus\",this._handleFocusBound,!0)),i.remove(this.el),i.remove(this.$overlay[0]),this._animateOut(),this}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Modal}},{key:\"defaults\",get:function(){return e}}]),n}();t._modalsOpen=0,t._count=0,M.Modal=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"modal\",\"M_Modal\")}(cash,M.anime),function(o,a){\"use strict\";var e={inDuration:275,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Materialbox=i).options=o.extend({},n.defaults,e),i.overlayActive=!1,i.doneAnimating=!0,i.placeholder=o(\"<div></div>\").addClass(\"material-placeholder\"),i.originalWidth=0,i.originalHeight=0,i.originInlineStyles=i.$el.attr(\"style\"),i.caption=i.el.getAttribute(\"data-caption\")||\"\",i.$el.before(i.placeholder),i.placeholder.append(i.$el),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this.el.M_Materialbox=void 0,o(this.placeholder).after(this.el).remove(),this.$el.removeAttr(\"style\")}},{key:\"_setupEventHandlers\",value:function(){this._handleMaterialboxClickBound=this._handleMaterialboxClick.bind(this),this.el.addEventListener(\"click\",this._handleMaterialboxClickBound)}},{key:\"_removeEventHandlers\",value:function(){this.el.removeEventListener(\"click\",this._handleMaterialboxClickBound)}},{key:\"_handleMaterialboxClick\",value:function(t){!1===this.doneAnimating||this.overlayActive&&this.doneAnimating?this.close():this.open()}},{key:\"_handleWindowScroll\",value:function(){this.overlayActive&&this.close()}},{key:\"_handleWindowResize\",value:function(){this.overlayActive&&this.close()}},{key:\"_handleWindowEscape\",value:function(t){27===t.keyCode&&this.doneAnimating&&this.overlayActive&&this.close()}},{key:\"_makeAncestorsOverflowVisible\",value:function(){this.ancestorsChanged=o();for(var t=this.placeholder[0].parentNode;null!==t&&!o(t).is(document);){var e=o(t);\"visible\"!==e.css(\"overflow\")&&(e.css(\"overflow\",\"visible\"),void 0===this.ancestorsChanged?this.ancestorsChanged=e:this.ancestorsChanged=this.ancestorsChanged.add(e)),t=t.parentNode}}},{key:\"_animateImageIn\",value:function(){var t=this,e={targets:this.el,height:[this.originalHeight,this.newHeight],width:[this.originalWidth,this.newWidth],left:M.getDocumentScrollLeft()+this.windowWidth/2-this.placeholder.offset().left-this.newWidth/2,top:M.getDocumentScrollTop()+this.windowHeight/2-this.placeholder.offset().top-this.newHeight/2,duration:this.options.inDuration,easing:\"easeOutQuad\",complete:function(){t.doneAnimating=!0,\"function\"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el)}};this.maxWidth=this.$el.css(\"max-width\"),this.maxHeight=this.$el.css(\"max-height\"),\"none\"!==this.maxWidth&&(e.maxWidth=this.newWidth),\"none\"!==this.maxHeight&&(e.maxHeight=this.newHeight),a(e)}},{key:\"_animateImageOut\",value:function(){var t=this,e={targets:this.el,width:this.originalWidth,height:this.originalHeight,left:0,top:0,duration:this.options.outDuration,easing:\"easeOutQuad\",complete:function(){t.placeholder.css({height:\"\",width:\"\",position:\"\",top:\"\",left:\"\"}),t.attrWidth&&t.$el.attr(\"width\",t.attrWidth),t.attrHeight&&t.$el.attr(\"height\",t.attrHeight),t.$el.removeAttr(\"style\"),t.originInlineStyles&&t.$el.attr(\"style\",t.originInlineStyles),t.$el.removeClass(\"active\"),t.doneAnimating=!0,t.ancestorsChanged.length&&t.ancestorsChanged.css(\"overflow\",\"\"),\"function\"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}};a(e)}},{key:\"_updateVars\",value:function(){this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight,this.caption=this.el.getAttribute(\"data-caption\")||\"\"}},{key:\"open\",value:function(){var t=this;this._updateVars(),this.originalWidth=this.el.getBoundingClientRect().width,this.originalHeight=this.el.getBoundingClientRect().height,this.doneAnimating=!1,this.$el.addClass(\"active\"),this.overlayActive=!0,\"function\"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this.placeholder.css({width:this.placeholder[0].getBoundingClientRect().width+\"px\",height:this.placeholder[0].getBoundingClientRect().height+\"px\",position:\"relative\",top:0,left:0}),this._makeAncestorsOverflowVisible(),this.$el.css({position:\"absolute\",\"z-index\":1e3,\"will-change\":\"left, top, width, height\"}),this.attrWidth=this.$el.attr(\"width\"),this.attrHeight=this.$el.attr(\"height\"),this.attrWidth&&(this.$el.css(\"width\",this.attrWidth+\"px\"),this.$el.removeAttr(\"width\")),this.attrHeight&&(this.$el.css(\"width\",this.attrHeight+\"px\"),this.$el.removeAttr(\"height\")),this.$overlay=o('<div id=\"materialbox-overlay\"></div>').css({opacity:0}).one(\"click\",function(){t.doneAnimating&&t.close()}),this.$el.before(this.$overlay);var e=this.$overlay[0].getBoundingClientRect();this.$overlay.css({width:this.windowWidth+\"px\",height:this.windowHeight+\"px\",left:-1*e.left+\"px\",top:-1*e.top+\"px\"}),a.remove(this.el),a.remove(this.$overlay[0]),a({targets:this.$overlay[0],opacity:1,duration:this.options.inDuration,easing:\"easeOutQuad\"}),\"\"!==this.caption&&(this.$photocaption&&a.remove(this.$photoCaption[0]),this.$photoCaption=o('<div class=\"materialbox-caption\"></div>'),this.$photoCaption.text(this.caption),o(\"body\").append(this.$photoCaption),this.$photoCaption.css({display:\"inline\"}),a({targets:this.$photoCaption[0],opacity:1,duration:this.options.inDuration,easing:\"easeOutQuad\"}));var i=0,n=this.originalWidth/this.windowWidth,s=this.originalHeight/this.windowHeight;this.newWidth=0,this.newHeight=0,s<n?(i=this.originalHeight/this.originalWidth,this.newWidth=.9*this.windowWidth,this.newHeight=.9*this.windowWidth*i):(i=this.originalWidth/this.originalHeight,this.newWidth=.9*this.windowHeight*i,this.newHeight=.9*this.windowHeight),this._animateImageIn(),this._handleWindowScrollBound=this._handleWindowScroll.bind(this),this._handleWindowResizeBound=this._handleWindowResize.bind(this),this._handleWindowEscapeBound=this._handleWindowEscape.bind(this),window.addEventListener(\"scroll\",this._handleWindowScrollBound),window.addEventListener(\"resize\",this._handleWindowResizeBound),window.addEventListener(\"keyup\",this._handleWindowEscapeBound)}},{key:\"close\",value:function(){var t=this;this._updateVars(),this.doneAnimating=!1,\"function\"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),a.remove(this.el),a.remove(this.$overlay[0]),\"\"!==this.caption&&a.remove(this.$photoCaption[0]),window.removeEventListener(\"scroll\",this._handleWindowScrollBound),window.removeEventListener(\"resize\",this._handleWindowResizeBound),window.removeEventListener(\"keyup\",this._handleWindowEscapeBound),a({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:\"easeOutQuad\",complete:function(){t.overlayActive=!1,t.$overlay.remove()}}),this._animateImageOut(),\"\"!==this.caption&&a({targets:this.$photoCaption[0],opacity:0,duration:this.options.outDuration,easing:\"easeOutQuad\",complete:function(){t.$photoCaption.remove()}})}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Materialbox}},{key:\"defaults\",get:function(){return e}}]),n}();M.Materialbox=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"materialbox\",\"M_Materialbox\")}(cash,M.anime),function(s){\"use strict\";var e={responsiveThreshold:0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Parallax=i).options=s.extend({},n.defaults,e),i._enabled=window.innerWidth>i.options.responsiveThreshold,i.$img=i.$el.find(\"img\").first(),i.$img.each(function(){this.complete&&s(this).trigger(\"load\")}),i._updateParallax(),i._setupEventHandlers(),i._setupStyles(),n._parallaxes.push(i),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){n._parallaxes.splice(n._parallaxes.indexOf(this),1),this.$img[0].style.transform=\"\",this._removeEventHandlers(),this.$el[0].M_Parallax=void 0}},{key:\"_setupEventHandlers\",value:function(){this._handleImageLoadBound=this._handleImageLoad.bind(this),this.$img[0].addEventListener(\"load\",this._handleImageLoadBound),0===n._parallaxes.length&&(n._handleScrollThrottled=M.throttle(n._handleScroll,5),window.addEventListener(\"scroll\",n._handleScrollThrottled),n._handleWindowResizeThrottled=M.throttle(n._handleWindowResize,5),window.addEventListener(\"resize\",n._handleWindowResizeThrottled))}},{key:\"_removeEventHandlers\",value:function(){this.$img[0].removeEventListener(\"load\",this._handleImageLoadBound),0===n._parallaxes.length&&(window.removeEventListener(\"scroll\",n._handleScrollThrottled),window.removeEventListener(\"resize\",n._handleWindowResizeThrottled))}},{key:\"_setupStyles\",value:function(){this.$img[0].style.opacity=1}},{key:\"_handleImageLoad\",value:function(){this._updateParallax()}},{key:\"_updateParallax\",value:function(){var t=0<this.$el.height()?this.el.parentNode.offsetHeight:500,e=this.$img[0].offsetHeight-t,i=this.$el.offset().top+t,n=this.$el.offset().top,s=M.getDocumentScrollTop(),o=window.innerHeight,a=e*((s+o-n)/(t+o));this._enabled?s<i&&n<s+o&&(this.$img[0].style.transform=\"translate3D(-50%, \"+a+\"px, 0)\"):this.$img[0].style.transform=\"\"}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Parallax}},{key:\"_handleScroll\",value:function(){for(var t=0;t<n._parallaxes.length;t++){var e=n._parallaxes[t];e._updateParallax.call(e)}}},{key:\"_handleWindowResize\",value:function(){for(var t=0;t<n._parallaxes.length;t++){var e=n._parallaxes[t];e._enabled=window.innerWidth>e.options.responsiveThreshold}}},{key:\"defaults\",get:function(){return e}}]),n}();t._parallaxes=[],M.Parallax=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"parallax\",\"M_Parallax\")}(cash),function(a,s){\"use strict\";var e={duration:300,onShow:null,swipeable:!1,responsiveThreshold:1/0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Tabs=i).options=a.extend({},n.defaults,e),i.$tabLinks=i.$el.children(\"li.tab\").children(\"a\"),i.index=0,i._setupActiveTabLink(),i.options.swipeable?i._setupSwipeableTabs():i._setupNormalTabs(),i._setTabsAndTabWidth(),i._createIndicator(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this._indicator.parentNode.removeChild(this._indicator),this.options.swipeable?this._teardownSwipeableTabs():this._teardownNormalTabs(),this.$el[0].M_Tabs=void 0}},{key:\"_setupEventHandlers\",value:function(){this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener(\"resize\",this._handleWindowResizeBound),this._handleTabClickBound=this._handleTabClick.bind(this),this.el.addEventListener(\"click\",this._handleTabClickBound)}},{key:\"_removeEventHandlers\",value:function(){window.removeEventListener(\"resize\",this._handleWindowResizeBound),this.el.removeEventListener(\"click\",this._handleTabClickBound)}},{key:\"_handleWindowResize\",value:function(){this._setTabsAndTabWidth(),0!==this.tabWidth&&0!==this.tabsWidth&&(this._indicator.style.left=this._calcLeftPos(this.$activeTabLink)+\"px\",this._indicator.style.right=this._calcRightPos(this.$activeTabLink)+\"px\")}},{key:\"_handleTabClick\",value:function(t){var e=this,i=a(t.target).closest(\"li.tab\"),n=a(t.target).closest(\"a\");if(n.length&&n.parent().hasClass(\"tab\"))if(i.hasClass(\"disabled\"))t.preventDefault();else if(!n.attr(\"target\")){this.$activeTabLink.removeClass(\"active\");var s=this.$content;this.$activeTabLink=n,this.$content=a(M.escapeHash(n[0].hash)),this.$tabLinks=this.$el.children(\"li.tab\").children(\"a\"),this.$activeTabLink.addClass(\"active\");var o=this.index;this.index=Math.max(this.$tabLinks.index(n),0),this.options.swipeable?this._tabsCarousel&&this._tabsCarousel.set(this.index,function(){\"function\"==typeof e.options.onShow&&e.options.onShow.call(e,e.$content[0])}):this.$content.length&&(this.$content[0].style.display=\"block\",this.$content.addClass(\"active\"),\"function\"==typeof this.options.onShow&&this.options.onShow.call(this,this.$content[0]),s.length&&!s.is(this.$content)&&(s[0].style.display=\"none\",s.removeClass(\"active\"))),this._setTabsAndTabWidth(),this._animateIndicator(o),t.preventDefault()}}},{key:\"_createIndicator\",value:function(){var t=this,e=document.createElement(\"li\");e.classList.add(\"indicator\"),this.el.appendChild(e),this._indicator=e,setTimeout(function(){t._indicator.style.left=t._calcLeftPos(t.$activeTabLink)+\"px\",t._indicator.style.right=t._calcRightPos(t.$activeTabLink)+\"px\"},0)}},{key:\"_setupActiveTabLink\",value:function(){this.$activeTabLink=a(this.$tabLinks.filter('[href=\"'+location.hash+'\"]')),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children(\"li.tab\").children(\"a.active\").first()),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children(\"li.tab\").children(\"a\").first()),this.$tabLinks.removeClass(\"active\"),this.$activeTabLink[0].classList.add(\"active\"),this.index=Math.max(this.$tabLinks.index(this.$activeTabLink),0),this.$activeTabLink.length&&(this.$content=a(M.escapeHash(this.$activeTabLink[0].hash)),this.$content.addClass(\"active\"))}},{key:\"_setupSwipeableTabs\",value:function(){var i=this;window.innerWidth>this.options.responsiveThreshold&&(this.options.swipeable=!1);var n=a();this.$tabLinks.each(function(t){var e=a(M.escapeHash(t.hash));e.addClass(\"carousel-item\"),n=n.add(e)});var t=a('<div class=\"tabs-content carousel carousel-slider\"></div>');n.first().before(t),t.append(n),n[0].style.display=\"\";var e=this.$activeTabLink.closest(\".tab\").index();this._tabsCarousel=M.Carousel.init(t[0],{fullWidth:!0,noWrap:!0,onCycleTo:function(t){var e=i.index;i.index=a(t).index(),i.$activeTabLink.removeClass(\"active\"),i.$activeTabLink=i.$tabLinks.eq(i.index),i.$activeTabLink.addClass(\"active\"),i._animateIndicator(e),\"function\"==typeof i.options.onShow&&i.options.onShow.call(i,i.$content[0])}}),this._tabsCarousel.set(e)}},{key:\"_teardownSwipeableTabs\",value:function(){var t=this._tabsCarousel.$el;this._tabsCarousel.destroy(),t.after(t.children()),t.remove()}},{key:\"_setupNormalTabs\",value:function(){this.$tabLinks.not(this.$activeTabLink).each(function(t){if(t.hash){var e=a(M.escapeHash(t.hash));e.length&&(e[0].style.display=\"none\")}})}},{key:\"_teardownNormalTabs\",value:function(){this.$tabLinks.each(function(t){if(t.hash){var e=a(M.escapeHash(t.hash));e.length&&(e[0].style.display=\"\")}})}},{key:\"_setTabsAndTabWidth\",value:function(){this.tabsWidth=this.$el.width(),this.tabWidth=Math.max(this.tabsWidth,this.el.scrollWidth)/this.$tabLinks.length}},{key:\"_calcRightPos\",value:function(t){return Math.ceil(this.tabsWidth-t.position().left-t[0].getBoundingClientRect().width)}},{key:\"_calcLeftPos\",value:function(t){return Math.floor(t.position().left)}},{key:\"updateTabIndicator\",value:function(){this._setTabsAndTabWidth(),this._animateIndicator(this.index)}},{key:\"_animateIndicator\",value:function(t){var e=0,i=0;0<=this.index-t?e=90:i=90;var n={targets:this._indicator,left:{value:this._calcLeftPos(this.$activeTabLink),delay:e},right:{value:this._calcRightPos(this.$activeTabLink),delay:i},duration:this.options.duration,easing:\"easeOutQuad\"};s.remove(this._indicator),s(n)}},{key:\"select\",value:function(t){var e=this.$tabLinks.filter('[href=\"#'+t+'\"]');e.length&&e.trigger(\"click\")}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Tabs}},{key:\"defaults\",get:function(){return e}}]),n}();M.Tabs=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"tabs\",\"M_Tabs\")}(cash,M.anime),function(d,e){\"use strict\";var i={exitDelay:200,enterDelay:0,html:null,margin:5,inDuration:250,outDuration:200,position:\"bottom\",transitionMovement:10},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Tooltip=i).options=d.extend({},n.defaults,e),i.isOpen=!1,i.isHovered=!1,i.isFocused=!1,i._appendTooltipEl(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){d(this.tooltipEl).remove(),this._removeEventHandlers(),this.el.M_Tooltip=void 0}},{key:\"_appendTooltipEl\",value:function(){var t=document.createElement(\"div\");t.classList.add(\"material-tooltip\"),this.tooltipEl=t;var e=document.createElement(\"div\");e.classList.add(\"tooltip-content\"),e.innerHTML=this.options.html,t.appendChild(e),document.body.appendChild(t)}},{key:\"_updateTooltipContent\",value:function(){this.tooltipEl.querySelector(\".tooltip-content\").innerHTML=this.options.html}},{key:\"_setupEventHandlers\",value:function(){this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this._handleFocusBound=this._handleFocus.bind(this),this._handleBlurBound=this._handleBlur.bind(this),this.el.addEventListener(\"mouseenter\",this._handleMouseEnterBound),this.el.addEventListener(\"mouseleave\",this._handleMouseLeaveBound),this.el.addEventListener(\"focus\",this._handleFocusBound,!0),this.el.addEventListener(\"blur\",this._handleBlurBound,!0)}},{key:\"_removeEventHandlers\",value:function(){this.el.removeEventListener(\"mouseenter\",this._handleMouseEnterBound),this.el.removeEventListener(\"mouseleave\",this._handleMouseLeaveBound),this.el.removeEventListener(\"focus\",this._handleFocusBound,!0),this.el.removeEventListener(\"blur\",this._handleBlurBound,!0)}},{key:\"open\",value:function(t){this.isOpen||(t=void 0===t||void 0,this.isOpen=!0,this.options=d.extend({},this.options,this._getAttributeOptions()),this._updateTooltipContent(),this._setEnterDelayTimeout(t))}},{key:\"close\",value:function(){this.isOpen&&(this.isHovered=!1,this.isFocused=!1,this.isOpen=!1,this._setExitDelayTimeout())}},{key:\"_setExitDelayTimeout\",value:function(){var t=this;clearTimeout(this._exitDelayTimeout),this._exitDelayTimeout=setTimeout(function(){t.isHovered||t.isFocused||t._animateOut()},this.options.exitDelay)}},{key:\"_setEnterDelayTimeout\",value:function(t){var e=this;clearTimeout(this._enterDelayTimeout),this._enterDelayTimeout=setTimeout(function(){(e.isHovered||e.isFocused||t)&&e._animateIn()},this.options.enterDelay)}},{key:\"_positionTooltip\",value:function(){var t,e=this.el,i=this.tooltipEl,n=e.offsetHeight,s=e.offsetWidth,o=i.offsetHeight,a=i.offsetWidth,r=this.options.margin,l=void 0,h=void 0;this.xMovement=0,this.yMovement=0,l=e.getBoundingClientRect().top+M.getDocumentScrollTop(),h=e.getBoundingClientRect().left+M.getDocumentScrollLeft(),\"top\"===this.options.position?(l+=-o-r,h+=s/2-a/2,this.yMovement=-this.options.transitionMovement):\"right\"===this.options.position?(l+=n/2-o/2,h+=s+r,this.xMovement=this.options.transitionMovement):\"left\"===this.options.position?(l+=n/2-o/2,h+=-a-r,this.xMovement=-this.options.transitionMovement):(l+=n+r,h+=s/2-a/2,this.yMovement=this.options.transitionMovement),t=this._repositionWithinScreen(h,l,a,o),d(i).css({top:t.y+\"px\",left:t.x+\"px\"})}},{key:\"_repositionWithinScreen\",value:function(t,e,i,n){var s=M.getDocumentScrollLeft(),o=M.getDocumentScrollTop(),a=t-s,r=e-o,l={left:a,top:r,width:i,height:n},h=this.options.margin+this.options.transitionMovement,d=M.checkWithinContainer(document.body,l,h);return d.left?a=h:d.right&&(a-=a+i-window.innerWidth),d.top?r=h:d.bottom&&(r-=r+n-window.innerHeight),{x:a+s,y:r+o}}},{key:\"_animateIn\",value:function(){this._positionTooltip(),this.tooltipEl.style.visibility=\"visible\",e.remove(this.tooltipEl),e({targets:this.tooltipEl,opacity:1,translateX:this.xMovement,translateY:this.yMovement,duration:this.options.inDuration,easing:\"easeOutCubic\"})}},{key:\"_animateOut\",value:function(){e.remove(this.tooltipEl),e({targets:this.tooltipEl,opacity:0,translateX:0,translateY:0,duration:this.options.outDuration,easing:\"easeOutCubic\"})}},{key:\"_handleMouseEnter\",value:function(){this.isHovered=!0,this.isFocused=!1,this.open(!1)}},{key:\"_handleMouseLeave\",value:function(){this.isHovered=!1,this.isFocused=!1,this.close()}},{key:\"_handleFocus\",value:function(){M.tabPressed&&(this.isFocused=!0,this.open(!1))}},{key:\"_handleBlur\",value:function(){this.isFocused=!1,this.close()}},{key:\"_getAttributeOptions\",value:function(){var t={},e=this.el.getAttribute(\"data-tooltip\"),i=this.el.getAttribute(\"data-position\");return e&&(t.html=e),i&&(t.position=i),t}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Tooltip}},{key:\"defaults\",get:function(){return i}}]),n}();M.Tooltip=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"tooltip\",\"M_Tooltip\")}(cash,M.anime),function(i){\"use strict\";var t=t||{},e=document.querySelectorAll.bind(document);function m(t){var e=\"\";for(var i in t)t.hasOwnProperty(i)&&(e+=i+\":\"+t[i]+\";\");return e}var g={duration:750,show:function(t,e){if(2===t.button)return!1;var i=e||this,n=document.createElement(\"div\");n.className=\"waves-ripple\",i.appendChild(n);var s,o,a,r,l,h,d,u=(h={top:0,left:0},d=(s=i)&&s.ownerDocument,o=d.documentElement,void 0!==s.getBoundingClientRect&&(h=s.getBoundingClientRect()),a=null!==(l=r=d)&&l===l.window?r:9===r.nodeType&&r.defaultView,{top:h.top+a.pageYOffset-o.clientTop,left:h.left+a.pageXOffset-o.clientLeft}),c=t.pageY-u.top,p=t.pageX-u.left,v=\"scale(\"+i.clientWidth/100*10+\")\";\"touches\"in t&&(c=t.touches[0].pageY-u.top,p=t.touches[0].pageX-u.left),n.setAttribute(\"data-hold\",Date.now()),n.setAttribute(\"data-scale\",v),n.setAttribute(\"data-x\",p),n.setAttribute(\"data-y\",c);var f={top:c+\"px\",left:p+\"px\"};n.className=n.className+\" waves-notransition\",n.setAttribute(\"style\",m(f)),n.className=n.className.replace(\"waves-notransition\",\"\"),f[\"-webkit-transform\"]=v,f[\"-moz-transform\"]=v,f[\"-ms-transform\"]=v,f[\"-o-transform\"]=v,f.transform=v,f.opacity=\"1\",f[\"-webkit-transition-duration\"]=g.duration+\"ms\",f[\"-moz-transition-duration\"]=g.duration+\"ms\",f[\"-o-transition-duration\"]=g.duration+\"ms\",f[\"transition-duration\"]=g.duration+\"ms\",f[\"-webkit-transition-timing-function\"]=\"cubic-bezier(0.250, 0.460, 0.450, 0.940)\",f[\"-moz-transition-timing-function\"]=\"cubic-bezier(0.250, 0.460, 0.450, 0.940)\",f[\"-o-transition-timing-function\"]=\"cubic-bezier(0.250, 0.460, 0.450, 0.940)\",f[\"transition-timing-function\"]=\"cubic-bezier(0.250, 0.460, 0.450, 0.940)\",n.setAttribute(\"style\",m(f))},hide:function(t){l.touchup(t);var e=this,i=(e.clientWidth,null),n=e.getElementsByClassName(\"waves-ripple\");if(!(0<n.length))return!1;var s=(i=n[n.length-1]).getAttribute(\"data-x\"),o=i.getAttribute(\"data-y\"),a=i.getAttribute(\"data-scale\"),r=350-(Date.now()-Number(i.getAttribute(\"data-hold\")));r<0&&(r=0),setTimeout(function(){var t={top:o+\"px\",left:s+\"px\",opacity:\"0\",\"-webkit-transition-duration\":g.duration+\"ms\",\"-moz-transition-duration\":g.duration+\"ms\",\"-o-transition-duration\":g.duration+\"ms\",\"transition-duration\":g.duration+\"ms\",\"-webkit-transform\":a,\"-moz-transform\":a,\"-ms-transform\":a,\"-o-transform\":a,transform:a};i.setAttribute(\"style\",m(t)),setTimeout(function(){try{e.removeChild(i)}catch(t){return!1}},g.duration)},r)},wrapInput:function(t){for(var e=0;e<t.length;e++){var i=t[e];if(\"input\"===i.tagName.toLowerCase()){var n=i.parentNode;if(\"i\"===n.tagName.toLowerCase()&&-1!==n.className.indexOf(\"waves-effect\"))continue;var s=document.createElement(\"i\");s.className=i.className+\" waves-input-wrapper\";var o=i.getAttribute(\"style\");o||(o=\"\"),s.setAttribute(\"style\",o),i.className=\"waves-button-input\",i.removeAttribute(\"style\"),n.replaceChild(s,i),s.appendChild(i)}}}},l={touches:0,allowEvent:function(t){var e=!0;return\"touchstart\"===t.type?l.touches+=1:\"touchend\"===t.type||\"touchcancel\"===t.type?setTimeout(function(){0<l.touches&&(l.touches-=1)},500):\"mousedown\"===t.type&&0<l.touches&&(e=!1),e},touchup:function(t){l.allowEvent(t)}};function n(t){var e=function(t){if(!1===l.allowEvent(t))return null;for(var e=null,i=t.target||t.srcElement;null!==i.parentNode;){if(!(i instanceof SVGElement)&&-1!==i.className.indexOf(\"waves-effect\")){e=i;break}i=i.parentNode}return e}(t);null!==e&&(g.show(t,e),\"ontouchstart\"in i&&(e.addEventListener(\"touchend\",g.hide,!1),e.addEventListener(\"touchcancel\",g.hide,!1)),e.addEventListener(\"mouseup\",g.hide,!1),e.addEventListener(\"mouseleave\",g.hide,!1),e.addEventListener(\"dragend\",g.hide,!1))}t.displayEffect=function(t){\"duration\"in(t=t||{})&&(g.duration=t.duration),g.wrapInput(e(\".waves-effect\")),\"ontouchstart\"in i&&document.body.addEventListener(\"touchstart\",n,!1),document.body.addEventListener(\"mousedown\",n,!1)},t.attach=function(t){\"input\"===t.tagName.toLowerCase()&&(g.wrapInput([t]),t=t.parentNode),\"ontouchstart\"in i&&t.addEventListener(\"touchstart\",n,!1),t.addEventListener(\"mousedown\",n,!1)},i.Waves=t,document.addEventListener(\"DOMContentLoaded\",function(){t.displayEffect()},!1)}(window),function(i,n){\"use strict\";var t={html:\"\",displayLength:4e3,inDuration:300,outDuration:375,classes:\"\",completeCallback:null,activationPercent:.8},e=function(){function s(t){_classCallCheck(this,s),this.options=i.extend({},s.defaults,t),this.message=this.options.html,this.panning=!1,this.timeRemaining=this.options.displayLength,0===s._toasts.length&&s._createContainer(),s._toasts.push(this);var e=this._createToast();(e.M_Toast=this).el=e,this.$el=i(e),this._animateIn(),this._setTimer()}return _createClass(s,[{key:\"_createToast\",value:function(){var t=document.createElement(\"div\");return t.classList.add(\"toast\"),this.options.classes.length&&i(t).addClass(this.options.classes),(\"object\"==typeof HTMLElement?this.message instanceof HTMLElement:this.message&&\"object\"==typeof this.message&&null!==this.message&&1===this.message.nodeType&&\"string\"==typeof this.message.nodeName)?t.appendChild(this.message):this.message.jquery?i(t).append(this.message[0]):t.innerHTML=this.message,s._container.appendChild(t),t}},{key:\"_animateIn\",value:function(){n({targets:this.el,top:0,opacity:1,duration:this.options.inDuration,easing:\"easeOutCubic\"})}},{key:\"_setTimer\",value:function(){var t=this;this.timeRemaining!==1/0&&(this.counterInterval=setInterval(function(){t.panning||(t.timeRemaining-=20),t.timeRemaining<=0&&t.dismiss()},20))}},{key:\"dismiss\",value:function(){var t=this;window.clearInterval(this.counterInterval);var e=this.el.offsetWidth*this.options.activationPercent;this.wasSwiped&&(this.el.style.transition=\"transform .05s, opacity .05s\",this.el.style.transform=\"translateX(\"+e+\"px)\",this.el.style.opacity=0),n({targets:this.el,opacity:0,marginTop:-40,duration:this.options.outDuration,easing:\"easeOutExpo\",complete:function(){\"function\"==typeof t.options.completeCallback&&t.options.completeCallback(),t.$el.remove(),s._toasts.splice(s._toasts.indexOf(t),1),0===s._toasts.length&&s._removeContainer()}})}}],[{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Toast}},{key:\"_createContainer\",value:function(){var t=document.createElement(\"div\");t.setAttribute(\"id\",\"toast-container\"),t.addEventListener(\"touchstart\",s._onDragStart),t.addEventListener(\"touchmove\",s._onDragMove),t.addEventListener(\"touchend\",s._onDragEnd),t.addEventListener(\"mousedown\",s._onDragStart),document.addEventListener(\"mousemove\",s._onDragMove),document.addEventListener(\"mouseup\",s._onDragEnd),document.body.appendChild(t),s._container=t}},{key:\"_removeContainer\",value:function(){document.removeEventListener(\"mousemove\",s._onDragMove),document.removeEventListener(\"mouseup\",s._onDragEnd),i(s._container).remove(),s._container=null}},{key:\"_onDragStart\",value:function(t){if(t.target&&i(t.target).closest(\".toast\").length){var e=i(t.target).closest(\".toast\")[0].M_Toast;e.panning=!0,(s._draggedToast=e).el.classList.add(\"panning\"),e.el.style.transition=\"\",e.startingXPos=s._xPos(t),e.time=Date.now(),e.xPos=s._xPos(t)}}},{key:\"_onDragMove\",value:function(t){if(s._draggedToast){t.preventDefault();var e=s._draggedToast;e.deltaX=Math.abs(e.xPos-s._xPos(t)),e.xPos=s._xPos(t),e.velocityX=e.deltaX/(Date.now()-e.time),e.time=Date.now();var i=e.xPos-e.startingXPos,n=e.el.offsetWidth*e.options.activationPercent;e.el.style.transform=\"translateX(\"+i+\"px)\",e.el.style.opacity=1-Math.abs(i/n)}}},{key:\"_onDragEnd\",value:function(){if(s._draggedToast){var t=s._draggedToast;t.panning=!1,t.el.classList.remove(\"panning\");var e=t.xPos-t.startingXPos,i=t.el.offsetWidth*t.options.activationPercent;Math.abs(e)>i||1<t.velocityX?(t.wasSwiped=!0,t.dismiss()):(t.el.style.transition=\"transform .2s, opacity .2s\",t.el.style.transform=\"\",t.el.style.opacity=\"\"),s._draggedToast=null}}},{key:\"_xPos\",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?t.targetTouches[0].clientX:t.clientX}},{key:\"dismissAll\",value:function(){for(var t in s._toasts)s._toasts[t].dismiss()}},{key:\"defaults\",get:function(){return t}}]),s}();e._toasts=[],e._container=null,e._draggedToast=null,M.Toast=e,M.toast=function(t){return new e(t)}}(cash,M.anime),function(s,o){\"use strict\";var e={edge:\"left\",draggable:!0,inDuration:250,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Sidenav=i).id=i.$el.attr(\"id\"),i.options=s.extend({},n.defaults,e),i.isOpen=!1,i.isFixed=i.el.classList.contains(\"sidenav-fixed\"),i.isDragged=!1,i.lastWindowWidth=window.innerWidth,i.lastWindowHeight=window.innerHeight,i._createOverlay(),i._createDragTarget(),i._setupEventHandlers(),i._setupClasses(),i._setupFixed(),n._sidenavs.push(i),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this._enableBodyScrolling(),this._overlay.parentNode.removeChild(this._overlay),this.dragTarget.parentNode.removeChild(this.dragTarget),this.el.M_Sidenav=void 0,this.el.style.transform=\"\";var t=n._sidenavs.indexOf(this);0<=t&&n._sidenavs.splice(t,1)}},{key:\"_createOverlay\",value:function(){var t=document.createElement(\"div\");this._closeBound=this.close.bind(this),t.classList.add(\"sidenav-overlay\"),t.addEventListener(\"click\",this._closeBound),document.body.appendChild(t),this._overlay=t}},{key:\"_setupEventHandlers\",value:function(){0===n._sidenavs.length&&document.body.addEventListener(\"click\",this._handleTriggerClick),this._handleDragTargetDragBound=this._handleDragTargetDrag.bind(this),this._handleDragTargetReleaseBound=this._handleDragTargetRelease.bind(this),this._handleCloseDragBound=this._handleCloseDrag.bind(this),this._handleCloseReleaseBound=this._handleCloseRelease.bind(this),this._handleCloseTriggerClickBound=this._handleCloseTriggerClick.bind(this),this.dragTarget.addEventListener(\"touchmove\",this._handleDragTargetDragBound),this.dragTarget.addEventListener(\"touchend\",this._handleDragTargetReleaseBound),this._overlay.addEventListener(\"touchmove\",this._handleCloseDragBound),this._overlay.addEventListener(\"touchend\",this._handleCloseReleaseBound),this.el.addEventListener(\"touchmove\",this._handleCloseDragBound),this.el.addEventListener(\"touchend\",this._handleCloseReleaseBound),this.el.addEventListener(\"click\",this._handleCloseTriggerClickBound),this.isFixed&&(this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener(\"resize\",this._handleWindowResizeBound))}},{key:\"_removeEventHandlers\",value:function(){1===n._sidenavs.length&&document.body.removeEventListener(\"click\",this._handleTriggerClick),this.dragTarget.removeEventListener(\"touchmove\",this._handleDragTargetDragBound),this.dragTarget.removeEventListener(\"touchend\",this._handleDragTargetReleaseBound),this._overlay.removeEventListener(\"touchmove\",this._handleCloseDragBound),this._overlay.removeEventListener(\"touchend\",this._handleCloseReleaseBound),this.el.removeEventListener(\"touchmove\",this._handleCloseDragBound),this.el.removeEventListener(\"touchend\",this._handleCloseReleaseBound),this.el.removeEventListener(\"click\",this._handleCloseTriggerClickBound),this.isFixed&&window.removeEventListener(\"resize\",this._handleWindowResizeBound)}},{key:\"_handleTriggerClick\",value:function(t){var e=s(t.target).closest(\".sidenav-trigger\");if(t.target&&e.length){var i=M.getIdFromTrigger(e[0]),n=document.getElementById(i).M_Sidenav;n&&n.open(e),t.preventDefault()}}},{key:\"_startDrag\",value:function(t){var e=t.targetTouches[0].clientX;this.isDragged=!0,this._startingXpos=e,this._xPos=this._startingXpos,this._time=Date.now(),this._width=this.el.getBoundingClientRect().width,this._overlay.style.display=\"block\",this._initialScrollTop=this.isOpen?this.el.scrollTop:M.getDocumentScrollTop(),this._verticallyScrolling=!1,o.remove(this.el),o.remove(this._overlay)}},{key:\"_dragMoveUpdate\",value:function(t){var e=t.targetTouches[0].clientX,i=this.isOpen?this.el.scrollTop:M.getDocumentScrollTop();this.deltaX=Math.abs(this._xPos-e),this._xPos=e,this.velocityX=this.deltaX/(Date.now()-this._time),this._time=Date.now(),this._initialScrollTop!==i&&(this._verticallyScrolling=!0)}},{key:\"_handleDragTargetDrag\",value:function(t){if(this.options.draggable&&!this._isCurrentlyFixed()&&!this._verticallyScrolling){this.isDragged||this._startDrag(t),this._dragMoveUpdate(t);var e=this._xPos-this._startingXpos,i=0<e?\"right\":\"left\";e=Math.min(this._width,Math.abs(e)),this.options.edge===i&&(e=0);var n=e,s=\"translateX(-100%)\";\"right\"===this.options.edge&&(s=\"translateX(100%)\",n=-n),this.percentOpen=Math.min(1,e/this._width),this.el.style.transform=s+\" translateX(\"+n+\"px)\",this._overlay.style.opacity=this.percentOpen}}},{key:\"_handleDragTargetRelease\",value:function(){this.isDragged&&(.2<this.percentOpen?this.open():this._animateOut(),this.isDragged=!1,this._verticallyScrolling=!1)}},{key:\"_handleCloseDrag\",value:function(t){if(this.isOpen){if(!this.options.draggable||this._isCurrentlyFixed()||this._verticallyScrolling)return;this.isDragged||this._startDrag(t),this._dragMoveUpdate(t);var e=this._xPos-this._startingXpos,i=0<e?\"right\":\"left\";e=Math.min(this._width,Math.abs(e)),this.options.edge!==i&&(e=0);var n=-e;\"right\"===this.options.edge&&(n=-n),this.percentOpen=Math.min(1,1-e/this._width),this.el.style.transform=\"translateX(\"+n+\"px)\",this._overlay.style.opacity=this.percentOpen}}},{key:\"_handleCloseRelease\",value:function(){this.isOpen&&this.isDragged&&(.8<this.percentOpen?this._animateIn():this.close(),this.isDragged=!1,this._verticallyScrolling=!1)}},{key:\"_handleCloseTriggerClick\",value:function(t){s(t.target).closest(\".sidenav-close\").length&&!this._isCurrentlyFixed()&&this.close()}},{key:\"_handleWindowResize\",value:function(){this.lastWindowWidth!==window.innerWidth&&(992<window.innerWidth?this.open():this.close()),this.lastWindowWidth=window.innerWidth,this.lastWindowHeight=window.innerHeight}},{key:\"_setupClasses\",value:function(){\"right\"===this.options.edge&&(this.el.classList.add(\"right-aligned\"),this.dragTarget.classList.add(\"right-aligned\"))}},{key:\"_removeClasses\",value:function(){this.el.classList.remove(\"right-aligned\"),this.dragTarget.classList.remove(\"right-aligned\")}},{key:\"_setupFixed\",value:function(){this._isCurrentlyFixed()&&this.open()}},{key:\"_isCurrentlyFixed\",value:function(){return this.isFixed&&992<window.innerWidth}},{key:\"_createDragTarget\",value:function(){var t=document.createElement(\"div\");t.classList.add(\"drag-target\"),document.body.appendChild(t),this.dragTarget=t}},{key:\"_preventBodyScrolling\",value:function(){document.body.style.overflow=\"hidden\"}},{key:\"_enableBodyScrolling\",value:function(){document.body.style.overflow=\"\"}},{key:\"open\",value:function(){!0!==this.isOpen&&(this.isOpen=!0,\"function\"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._isCurrentlyFixed()?(o.remove(this.el),o({targets:this.el,translateX:0,duration:0,easing:\"easeOutQuad\"}),this._enableBodyScrolling(),this._overlay.style.display=\"none\"):(this.options.preventScrolling&&this._preventBodyScrolling(),this.isDragged&&1==this.percentOpen||this._animateIn()))}},{key:\"close\",value:function(){if(!1!==this.isOpen)if(this.isOpen=!1,\"function\"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._isCurrentlyFixed()){var t=\"left\"===this.options.edge?\"-105%\":\"105%\";this.el.style.transform=\"translateX(\"+t+\")\"}else this._enableBodyScrolling(),this.isDragged&&0==this.percentOpen?this._overlay.style.display=\"none\":this._animateOut()}},{key:\"_animateIn\",value:function(){this._animateSidenavIn(),this._animateOverlayIn()}},{key:\"_animateSidenavIn\",value:function(){var t=this,e=\"left\"===this.options.edge?-1:1;this.isDragged&&(e=\"left\"===this.options.edge?e+this.percentOpen:e-this.percentOpen),o.remove(this.el),o({targets:this.el,translateX:[100*e+\"%\",0],duration:this.options.inDuration,easing:\"easeOutQuad\",complete:function(){\"function\"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el)}})}},{key:\"_animateOverlayIn\",value:function(){var t=0;this.isDragged?t=this.percentOpen:s(this._overlay).css({display:\"block\"}),o.remove(this._overlay),o({targets:this._overlay,opacity:[t,1],duration:this.options.inDuration,easing:\"easeOutQuad\"})}},{key:\"_animateOut\",value:function(){this._animateSidenavOut(),this._animateOverlayOut()}},{key:\"_animateSidenavOut\",value:function(){var t=this,e=\"left\"===this.options.edge?-1:1,i=0;this.isDragged&&(i=\"left\"===this.options.edge?e+this.percentOpen:e-this.percentOpen),o.remove(this.el),o({targets:this.el,translateX:[100*i+\"%\",105*e+\"%\"],duration:this.options.outDuration,easing:\"easeOutQuad\",complete:function(){\"function\"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}})}},{key:\"_animateOverlayOut\",value:function(){var t=this;o.remove(this._overlay),o({targets:this._overlay,opacity:0,duration:this.options.outDuration,easing:\"easeOutQuad\",complete:function(){s(t._overlay).css(\"display\",\"none\")}})}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Sidenav}},{key:\"defaults\",get:function(){return e}}]),n}();t._sidenavs=[],M.Sidenav=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"sidenav\",\"M_Sidenav\")}(cash,M.anime),function(o,a){\"use strict\";var e={throttle:100,scrollOffset:200,activeClass:\"active\",getActiveElement:function(t){return'a[href=\"#'+t+'\"]'}},t=function(t){function c(t,e){_classCallCheck(this,c);var i=_possibleConstructorReturn(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,c,t,e));return(i.el.M_ScrollSpy=i).options=o.extend({},c.defaults,e),c._elements.push(i),c._count++,c._increment++,i.tickId=-1,i.id=c._increment,i._setupEventHandlers(),i._handleWindowScroll(),i}return _inherits(c,Component),_createClass(c,[{key:\"destroy\",value:function(){c._elements.splice(c._elements.indexOf(this),1),c._elementsInView.splice(c._elementsInView.indexOf(this),1),c._visibleElements.splice(c._visibleElements.indexOf(this.$el),1),c._count--,this._removeEventHandlers(),o(this.options.getActiveElement(this.$el.attr(\"id\"))).removeClass(this.options.activeClass),this.el.M_ScrollSpy=void 0}},{key:\"_setupEventHandlers\",value:function(){var t=M.throttle(this._handleWindowScroll,200);this._handleThrottledResizeBound=t.bind(this),this._handleWindowScrollBound=this._handleWindowScroll.bind(this),1===c._count&&(window.addEventListener(\"scroll\",this._handleWindowScrollBound),window.addEventListener(\"resize\",this._handleThrottledResizeBound),document.body.addEventListener(\"click\",this._handleTriggerClick))}},{key:\"_removeEventHandlers\",value:function(){0===c._count&&(window.removeEventListener(\"scroll\",this._handleWindowScrollBound),window.removeEventListener(\"resize\",this._handleThrottledResizeBound),document.body.removeEventListener(\"click\",this._handleTriggerClick))}},{key:\"_handleTriggerClick\",value:function(t){for(var e=o(t.target),i=c._elements.length-1;0<=i;i--){var n=c._elements[i];if(e.is('a[href=\"#'+n.$el.attr(\"id\")+'\"]')){t.preventDefault();var s=n.$el.offset().top+1;a({targets:[document.documentElement,document.body],scrollTop:s-n.options.scrollOffset,duration:400,easing:\"easeOutCubic\"});break}}}},{key:\"_handleWindowScroll\",value:function(){c._ticks++;for(var t=M.getDocumentScrollTop(),e=M.getDocumentScrollLeft(),i=e+window.innerWidth,n=t+window.innerHeight,s=c._findElements(t,i,n,e),o=0;o<s.length;o++){var a=s[o];a.tickId<0&&a._enter(),a.tickId=c._ticks}for(var r=0;r<c._elementsInView.length;r++){var l=c._elementsInView[r],h=l.tickId;0<=h&&h!==c._ticks&&(l._exit(),l.tickId=-1)}c._elementsInView=s}},{key:\"_enter\",value:function(){(c._visibleElements=c._visibleElements.filter(function(t){return 0!=t.height()}))[0]?(o(this.options.getActiveElement(c._visibleElements[0].attr(\"id\"))).removeClass(this.options.activeClass),c._visibleElements[0][0].M_ScrollSpy&&this.id<c._visibleElements[0][0].M_ScrollSpy.id?c._visibleElements.unshift(this.$el):c._visibleElements.push(this.$el)):c._visibleElements.push(this.$el),o(this.options.getActiveElement(c._visibleElements[0].attr(\"id\"))).addClass(this.options.activeClass)}},{key:\"_exit\",value:function(){var e=this;(c._visibleElements=c._visibleElements.filter(function(t){return 0!=t.height()}))[0]&&(o(this.options.getActiveElement(c._visibleElements[0].attr(\"id\"))).removeClass(this.options.activeClass),(c._visibleElements=c._visibleElements.filter(function(t){return t.attr(\"id\")!=e.$el.attr(\"id\")}))[0]&&o(this.options.getActiveElement(c._visibleElements[0].attr(\"id\"))).addClass(this.options.activeClass))}}],[{key:\"init\",value:function(t,e){return _get(c.__proto__||Object.getPrototypeOf(c),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_ScrollSpy}},{key:\"_findElements\",value:function(t,e,i,n){for(var s=[],o=0;o<c._elements.length;o++){var a=c._elements[o],r=t+a.options.scrollOffset||200;if(0<a.$el.height()){var l=a.$el.offset().top,h=a.$el.offset().left,d=h+a.$el.width(),u=l+a.$el.height();!(e<h||d<n||i<l||u<r)&&s.push(a)}}return s}},{key:\"defaults\",get:function(){return e}}]),c}();t._elements=[],t._elementsInView=[],t._visibleElements=[],t._count=0,t._increment=0,t._ticks=0,M.ScrollSpy=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"scrollSpy\",\"M_ScrollSpy\")}(cash,M.anime),function(h){\"use strict\";var e={data:{},limit:1/0,onAutocomplete:null,minLength:1,sortFunction:function(t,e,i){return t.indexOf(i)-e.indexOf(i)}},t=function(t){function s(t,e){_classCallCheck(this,s);var i=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,t,e));return(i.el.M_Autocomplete=i).options=h.extend({},s.defaults,e),i.isOpen=!1,i.count=0,i.activeIndex=-1,i.oldVal,i.$inputField=i.$el.closest(\".input-field\"),i.$active=h(),i._mousedown=!1,i._setupDropdown(),i._setupEventHandlers(),i}return _inherits(s,Component),_createClass(s,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this._removeDropdown(),this.el.M_Autocomplete=void 0}},{key:\"_setupEventHandlers\",value:function(){this._handleInputBlurBound=this._handleInputBlur.bind(this),this._handleInputKeyupAndFocusBound=this._handleInputKeyupAndFocus.bind(this),this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleContainerMousedownAndTouchstartBound=this._handleContainerMousedownAndTouchstart.bind(this),this._handleContainerMouseupAndTouchendBound=this._handleContainerMouseupAndTouchend.bind(this),this.el.addEventListener(\"blur\",this._handleInputBlurBound),this.el.addEventListener(\"keyup\",this._handleInputKeyupAndFocusBound),this.el.addEventListener(\"focus\",this._handleInputKeyupAndFocusBound),this.el.addEventListener(\"keydown\",this._handleInputKeydownBound),this.el.addEventListener(\"click\",this._handleInputClickBound),this.container.addEventListener(\"mousedown\",this._handleContainerMousedownAndTouchstartBound),this.container.addEventListener(\"mouseup\",this._handleContainerMouseupAndTouchendBound),void 0!==window.ontouchstart&&(this.container.addEventListener(\"touchstart\",this._handleContainerMousedownAndTouchstartBound),this.container.addEventListener(\"touchend\",this._handleContainerMouseupAndTouchendBound))}},{key:\"_removeEventHandlers\",value:function(){this.el.removeEventListener(\"blur\",this._handleInputBlurBound),this.el.removeEventListener(\"keyup\",this._handleInputKeyupAndFocusBound),this.el.removeEventListener(\"focus\",this._handleInputKeyupAndFocusBound),this.el.removeEventListener(\"keydown\",this._handleInputKeydownBound),this.el.removeEventListener(\"click\",this._handleInputClickBound),this.container.removeEventListener(\"mousedown\",this._handleContainerMousedownAndTouchstartBound),this.container.removeEventListener(\"mouseup\",this._handleContainerMouseupAndTouchendBound),void 0!==window.ontouchstart&&(this.container.removeEventListener(\"touchstart\",this._handleContainerMousedownAndTouchstartBound),this.container.removeEventListener(\"touchend\",this._handleContainerMouseupAndTouchendBound))}},{key:\"_setupDropdown\",value:function(){var e=this;this.container=document.createElement(\"ul\"),this.container.id=\"autocomplete-options-\"+M.guid(),h(this.container).addClass(\"autocomplete-content dropdown-content\"),this.$inputField.append(this.container),this.el.setAttribute(\"data-target\",this.container.id),this.dropdown=M.Dropdown.init(this.el,{autoFocus:!1,closeOnClick:!1,coverTrigger:!1,onItemClick:function(t){e.selectOption(h(t))}}),this.el.removeEventListener(\"click\",this.dropdown._handleClickBound)}},{key:\"_removeDropdown\",value:function(){this.container.parentNode.removeChild(this.container)}},{key:\"_handleInputBlur\",value:function(){this._mousedown||(this.close(),this._resetAutocomplete())}},{key:\"_handleInputKeyupAndFocus\",value:function(t){\"keyup\"===t.type&&(s._keydown=!1),this.count=0;var e=this.el.value.toLowerCase();13!==t.keyCode&&38!==t.keyCode&&40!==t.keyCode&&(this.oldVal===e||!M.tabPressed&&\"focus\"===t.type||this.open(),this.oldVal=e)}},{key:\"_handleInputKeydown\",value:function(t){s._keydown=!0;var e=t.keyCode,i=void 0,n=h(this.container).children(\"li\").length;e===M.keys.ENTER&&0<=this.activeIndex?(i=h(this.container).children(\"li\").eq(this.activeIndex)).length&&(this.selectOption(i),t.preventDefault()):e!==M.keys.ARROW_UP&&e!==M.keys.ARROW_DOWN||(t.preventDefault(),e===M.keys.ARROW_UP&&0<this.activeIndex&&this.activeIndex--,e===M.keys.ARROW_DOWN&&this.activeIndex<n-1&&this.activeIndex++,this.$active.removeClass(\"active\"),0<=this.activeIndex&&(this.$active=h(this.container).children(\"li\").eq(this.activeIndex),this.$active.addClass(\"active\")))}},{key:\"_handleInputClick\",value:function(t){this.open()}},{key:\"_handleContainerMousedownAndTouchstart\",value:function(t){this._mousedown=!0}},{key:\"_handleContainerMouseupAndTouchend\",value:function(t){this._mousedown=!1}},{key:\"_highlight\",value:function(t,e){var i=e.find(\"img\"),n=e.text().toLowerCase().indexOf(\"\"+t.toLowerCase()),s=n+t.length-1,o=e.text().slice(0,n),a=e.text().slice(n,s+1),r=e.text().slice(s+1);e.html(\"<span>\"+o+\"<span class='highlight'>\"+a+\"</span>\"+r+\"</span>\"),i.length&&e.prepend(i)}},{key:\"_resetCurrentElement\",value:function(){this.activeIndex=-1,this.$active.removeClass(\"active\")}},{key:\"_resetAutocomplete\",value:function(){h(this.container).empty(),this._resetCurrentElement(),this.oldVal=null,this.isOpen=!1,this._mousedown=!1}},{key:\"selectOption\",value:function(t){var e=t.text().trim();this.el.value=e,this.$el.trigger(\"change\"),this._resetAutocomplete(),this.close(),\"function\"==typeof this.options.onAutocomplete&&this.options.onAutocomplete.call(this,e)}},{key:\"_renderDropdown\",value:function(t,i){var n=this;this._resetAutocomplete();var e=[];for(var s in t)if(t.hasOwnProperty(s)&&-1!==s.toLowerCase().indexOf(i)){if(this.count>=this.options.limit)break;var o={data:t[s],key:s};e.push(o),this.count++}if(this.options.sortFunction){e.sort(function(t,e){return n.options.sortFunction(t.key.toLowerCase(),e.key.toLowerCase(),i.toLowerCase())})}for(var a=0;a<e.length;a++){var r=e[a],l=h(\"<li></li>\");r.data?l.append('<img src=\"'+r.data+'\" class=\"right circle\"><span>'+r.key+\"</span>\"):l.append(\"<span>\"+r.key+\"</span>\"),h(this.container).append(l),this._highlight(i,l)}}},{key:\"open\",value:function(){var t=this.el.value.toLowerCase();this._resetAutocomplete(),t.length>=this.options.minLength&&(this.isOpen=!0,this._renderDropdown(this.options.data,t)),this.dropdown.isOpen?this.dropdown.recalculateDimensions():this.dropdown.open()}},{key:\"close\",value:function(){this.dropdown.close()}},{key:\"updateData\",value:function(t){var e=this.el.value.toLowerCase();this.options.data=t,this.isOpen&&this._renderDropdown(t,e)}}],[{key:\"init\",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Autocomplete}},{key:\"defaults\",get:function(){return e}}]),s}();t._keydown=!1,M.Autocomplete=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"autocomplete\",\"M_Autocomplete\")}(cash),function(d){M.updateTextFields=function(){d(\"input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea\").each(function(t,e){var i=d(this);0<t.value.length||d(t).is(\":focus\")||t.autofocus||null!==i.attr(\"placeholder\")?i.siblings(\"label\").addClass(\"active\"):t.validity?i.siblings(\"label\").toggleClass(\"active\",!0===t.validity.badInput):i.siblings(\"label\").removeClass(\"active\")})},M.validate_field=function(t){var e=null!==t.attr(\"data-length\"),i=parseInt(t.attr(\"data-length\")),n=t[0].value.length;0!==n||!1!==t[0].validity.badInput||t.is(\":required\")?t.hasClass(\"validate\")&&(t.is(\":valid\")&&e&&n<=i||t.is(\":valid\")&&!e?(t.removeClass(\"invalid\"),t.addClass(\"valid\")):(t.removeClass(\"valid\"),t.addClass(\"invalid\"))):t.hasClass(\"validate\")&&(t.removeClass(\"valid\"),t.removeClass(\"invalid\"))},M.textareaAutoResize=function(t){if(t instanceof Element&&(t=d(t)),t.length){var e=d(\".hiddendiv\").first();e.length||(e=d('<div class=\"hiddendiv common\"></div>'),d(\"body\").append(e));var i=t.css(\"font-family\"),n=t.css(\"font-size\"),s=t.css(\"line-height\"),o=t.css(\"padding-top\"),a=t.css(\"padding-right\"),r=t.css(\"padding-bottom\"),l=t.css(\"padding-left\");n&&e.css(\"font-size\",n),i&&e.css(\"font-family\",i),s&&e.css(\"line-height\",s),o&&e.css(\"padding-top\",o),a&&e.css(\"padding-right\",a),r&&e.css(\"padding-bottom\",r),l&&e.css(\"padding-left\",l),t.data(\"original-height\")||t.data(\"original-height\",t.height()),\"off\"===t.attr(\"wrap\")&&e.css(\"overflow-wrap\",\"normal\").css(\"white-space\",\"pre\"),e.text(t[0].value+\"\\n\");var h=e.html().replace(/\\n/g,\"<br>\");e.html(h),0<t[0].offsetWidth&&0<t[0].offsetHeight?e.css(\"width\",t.width()+\"px\"):e.css(\"width\",window.innerWidth/2+\"px\"),t.data(\"original-height\")<=e.innerHeight()?t.css(\"height\",e.innerHeight()+\"px\"):t[0].value.length<t.data(\"previous-length\")&&t.css(\"height\",t.data(\"original-height\")+\"px\"),t.data(\"previous-length\",t[0].value.length)}else console.error(\"No textarea element found\")},d(document).ready(function(){var n=\"input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea\";d(document).on(\"change\",n,function(){0===this.value.length&&null===d(this).attr(\"placeholder\")||d(this).siblings(\"label\").addClass(\"active\"),M.validate_field(d(this))}),d(document).ready(function(){M.updateTextFields()}),d(document).on(\"reset\",function(t){var e=d(t.target);e.is(\"form\")&&(e.find(n).removeClass(\"valid\").removeClass(\"invalid\"),e.find(n).each(function(t){this.value.length&&d(this).siblings(\"label\").removeClass(\"active\")}),setTimeout(function(){e.find(\"select\").each(function(){this.M_FormSelect&&d(this).trigger(\"change\")})},0))}),document.addEventListener(\"focus\",function(t){d(t.target).is(n)&&d(t.target).siblings(\"label, .prefix\").addClass(\"active\")},!0),document.addEventListener(\"blur\",function(t){var e=d(t.target);if(e.is(n)){var i=\".prefix\";0===e[0].value.length&&!0!==e[0].validity.badInput&&null===e.attr(\"placeholder\")&&(i+=\", label\"),e.siblings(i).removeClass(\"active\"),M.validate_field(e)}},!0);d(document).on(\"keyup\",\"input[type=radio], input[type=checkbox]\",function(t){if(t.which===M.keys.TAB)return d(this).addClass(\"tabbed\"),void d(this).one(\"blur\",function(t){d(this).removeClass(\"tabbed\")})});var t=\".materialize-textarea\";d(t).each(function(){var t=d(this);t.data(\"original-height\",t.height()),t.data(\"previous-length\",this.value.length),M.textareaAutoResize(t)}),d(document).on(\"keyup\",t,function(){M.textareaAutoResize(d(this))}),d(document).on(\"keydown\",t,function(){M.textareaAutoResize(d(this))}),d(document).on(\"change\",'.file-field input[type=\"file\"]',function(){for(var t=d(this).closest(\".file-field\").find(\"input.file-path\"),e=d(this)[0].files,i=[],n=0;n<e.length;n++)i.push(e[n].name);t[0].value=i.join(\", \"),t.trigger(\"change\")})})}(cash),function(s,o){\"use strict\";var e={indicators:!0,height:400,duration:500,interval:6e3},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Slider=i).options=s.extend({},n.defaults,e),i.$slider=i.$el.find(\".slides\"),i.$slides=i.$slider.children(\"li\"),i.activeIndex=i.$slides.filter(function(t){return s(t).hasClass(\"active\")}).first().index(),-1!=i.activeIndex&&(i.$active=i.$slides.eq(i.activeIndex)),i._setSliderHeight(),i.$slides.find(\".caption\").each(function(t){i._animateCaptionIn(t,0)}),i.$slides.find(\"img\").each(function(t){var e=\"data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\";s(t).attr(\"src\")!==e&&(s(t).css(\"background-image\",'url(\"'+s(t).attr(\"src\")+'\")'),s(t).attr(\"src\",e))}),i._setupIndicators(),i.$active?i.$active.css(\"display\",\"block\"):(i.$slides.first().addClass(\"active\"),o({targets:i.$slides.first()[0],opacity:1,duration:i.options.duration,easing:\"easeOutQuad\"}),i.activeIndex=0,i.$active=i.$slides.eq(i.activeIndex),i.options.indicators&&i.$indicators.eq(i.activeIndex).addClass(\"active\")),i.$active.find(\"img\").each(function(t){o({targets:i.$active.find(\".caption\")[0],opacity:1,translateX:0,translateY:0,duration:i.options.duration,easing:\"easeOutQuad\"})}),i._setupEventHandlers(),i.start(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this.pause(),this._removeIndicators(),this._removeEventHandlers(),this.el.M_Slider=void 0}},{key:\"_setupEventHandlers\",value:function(){var e=this;this._handleIntervalBound=this._handleInterval.bind(this),this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.options.indicators&&this.$indicators.each(function(t){t.addEventListener(\"click\",e._handleIndicatorClickBound)})}},{key:\"_removeEventHandlers\",value:function(){var e=this;this.options.indicators&&this.$indicators.each(function(t){t.removeEventListener(\"click\",e._handleIndicatorClickBound)})}},{key:\"_handleIndicatorClick\",value:function(t){var e=s(t.target).index();this.set(e)}},{key:\"_handleInterval\",value:function(){var t=this.$slider.find(\".active\").index();this.$slides.length===t+1?t=0:t+=1,this.set(t)}},{key:\"_animateCaptionIn\",value:function(t,e){var i={targets:t,opacity:0,duration:e,easing:\"easeOutQuad\"};s(t).hasClass(\"center-align\")?i.translateY=-100:s(t).hasClass(\"right-align\")?i.translateX=100:s(t).hasClass(\"left-align\")&&(i.translateX=-100),o(i)}},{key:\"_setSliderHeight\",value:function(){this.$el.hasClass(\"fullscreen\")||(this.options.indicators?this.$el.css(\"height\",this.options.height+40+\"px\"):this.$el.css(\"height\",this.options.height+\"px\"),this.$slider.css(\"height\",this.options.height+\"px\"))}},{key:\"_setupIndicators\",value:function(){var n=this;this.options.indicators&&(this.$indicators=s('<ul class=\"indicators\"></ul>'),this.$slides.each(function(t,e){var i=s('<li class=\"indicator-item\"></li>');n.$indicators.append(i[0])}),this.$el.append(this.$indicators[0]),this.$indicators=this.$indicators.children(\"li.indicator-item\"))}},{key:\"_removeIndicators\",value:function(){this.$el.find(\"ul.indicators\").remove()}},{key:\"set\",value:function(t){var e=this;if(t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.activeIndex!=t){this.$active=this.$slides.eq(this.activeIndex);var i=this.$active.find(\".caption\");this.$active.removeClass(\"active\"),o({targets:this.$active[0],opacity:0,duration:this.options.duration,easing:\"easeOutQuad\",complete:function(){e.$slides.not(\".active\").each(function(t){o({targets:t,opacity:0,translateX:0,translateY:0,duration:0,easing:\"easeOutQuad\"})})}}),this._animateCaptionIn(i[0],this.options.duration),this.options.indicators&&(this.$indicators.eq(this.activeIndex).removeClass(\"active\"),this.$indicators.eq(t).addClass(\"active\")),o({targets:this.$slides.eq(t)[0],opacity:1,duration:this.options.duration,easing:\"easeOutQuad\"}),o({targets:this.$slides.eq(t).find(\".caption\")[0],opacity:1,translateX:0,translateY:0,duration:this.options.duration,delay:this.options.duration,easing:\"easeOutQuad\"}),this.$slides.eq(t).addClass(\"active\"),this.activeIndex=t,this.start()}}},{key:\"pause\",value:function(){clearInterval(this.interval)}},{key:\"start\",value:function(){clearInterval(this.interval),this.interval=setInterval(this._handleIntervalBound,this.options.duration+this.options.interval)}},{key:\"next\",value:function(){var t=this.activeIndex+1;t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.set(t)}},{key:\"prev\",value:function(){var t=this.activeIndex-1;t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.set(t)}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Slider}},{key:\"defaults\",get:function(){return e}}]),n}();M.Slider=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"slider\",\"M_Slider\")}(cash,M.anime),function(n,s){n(document).on(\"click\",\".card\",function(t){if(n(this).children(\".card-reveal\").length){var i=n(t.target).closest(\".card\");void 0===i.data(\"initialOverflow\")&&i.data(\"initialOverflow\",void 0===i.css(\"overflow\")?\"\":i.css(\"overflow\"));var e=n(this).find(\".card-reveal\");n(t.target).is(n(\".card-reveal .card-title\"))||n(t.target).is(n(\".card-reveal .card-title i\"))?s({targets:e[0],translateY:0,duration:225,easing:\"easeInOutQuad\",complete:function(t){var e=t.animatables[0].target;n(e).css({display:\"none\"}),i.css(\"overflow\",i.data(\"initialOverflow\"))}}):(n(t.target).is(n(\".card .activator\"))||n(t.target).is(n(\".card .activator i\")))&&(i.css(\"overflow\",\"hidden\"),e.css({display:\"block\"}),s({targets:e[0],translateY:\"-100%\",duration:300,easing:\"easeInOutQuad\"}))}})}(cash,M.anime),function(h){\"use strict\";var e={data:[],placeholder:\"\",secondaryPlaceholder:\"\",autocompleteOptions:{},limit:1/0,onChipAdd:null,onChipSelect:null,onChipDelete:null},t=function(t){function l(t,e){_classCallCheck(this,l);var i=_possibleConstructorReturn(this,(l.__proto__||Object.getPrototypeOf(l)).call(this,l,t,e));return(i.el.M_Chips=i).options=h.extend({},l.defaults,e),i.$el.addClass(\"chips input-field\"),i.chipsData=[],i.$chips=h(),i._setupInput(),i.hasAutocomplete=0<Object.keys(i.options.autocompleteOptions).length,i.$input.attr(\"id\")||i.$input.attr(\"id\",M.guid()),i.options.data.length&&(i.chipsData=i.options.data,i._renderChips(i.chipsData)),i.hasAutocomplete&&i._setupAutocomplete(),i._setPlaceholder(),i._setupLabel(),i._setupEventHandlers(),i}return _inherits(l,Component),_createClass(l,[{key:\"getData\",value:function(){return this.chipsData}},{key:\"destroy\",value:function(){this._removeEventHandlers(),this.$chips.remove(),this.el.M_Chips=void 0}},{key:\"_setupEventHandlers\",value:function(){this._handleChipClickBound=this._handleChipClick.bind(this),this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputFocusBound=this._handleInputFocus.bind(this),this._handleInputBlurBound=this._handleInputBlur.bind(this),this.el.addEventListener(\"click\",this._handleChipClickBound),document.addEventListener(\"keydown\",l._handleChipsKeydown),document.addEventListener(\"keyup\",l._handleChipsKeyup),this.el.addEventListener(\"blur\",l._handleChipsBlur,!0),this.$input[0].addEventListener(\"focus\",this._handleInputFocusBound),this.$input[0].addEventListener(\"blur\",this._handleInputBlurBound),this.$input[0].addEventListener(\"keydown\",this._handleInputKeydownBound)}},{key:\"_removeEventHandlers\",value:function(){this.el.removeEventListener(\"click\",this._handleChipClickBound),document.removeEventListener(\"keydown\",l._handleChipsKeydown),document.removeEventListener(\"keyup\",l._handleChipsKeyup),this.el.removeEventListener(\"blur\",l._handleChipsBlur,!0),this.$input[0].removeEventListener(\"focus\",this._handleInputFocusBound),this.$input[0].removeEventListener(\"blur\",this._handleInputBlurBound),this.$input[0].removeEventListener(\"keydown\",this._handleInputKeydownBound)}},{key:\"_handleChipClick\",value:function(t){var e=h(t.target).closest(\".chip\"),i=h(t.target).is(\".close\");if(e.length){var n=e.index();i?(this.deleteChip(n),this.$input[0].focus()):this.selectChip(n)}else this.$input[0].focus()}},{key:\"_handleInputFocus\",value:function(){this.$el.addClass(\"focus\")}},{key:\"_handleInputBlur\",value:function(){this.$el.removeClass(\"focus\")}},{key:\"_handleInputKeydown\",value:function(t){if(l._keydown=!0,13===t.keyCode){if(this.hasAutocomplete&&this.autocomplete&&this.autocomplete.isOpen)return;t.preventDefault(),this.addChip({tag:this.$input[0].value}),this.$input[0].value=\"\"}else 8!==t.keyCode&&37!==t.keyCode||\"\"!==this.$input[0].value||!this.chipsData.length||(t.preventDefault(),this.selectChip(this.chipsData.length-1))}},{key:\"_renderChip\",value:function(t){if(t.tag){var e=document.createElement(\"div\"),i=document.createElement(\"i\");if(e.classList.add(\"chip\"),e.textContent=t.tag,e.setAttribute(\"tabindex\",0),h(i).addClass(\"material-icons close\"),i.textContent=\"close\",t.image){var n=document.createElement(\"img\");n.setAttribute(\"src\",t.image),e.insertBefore(n,e.firstChild)}return e.appendChild(i),e}}},{key:\"_renderChips\",value:function(){this.$chips.remove();for(var t=0;t<this.chipsData.length;t++){var e=this._renderChip(this.chipsData[t]);this.$el.append(e),this.$chips.add(e)}this.$el.append(this.$input[0])}},{key:\"_setupAutocomplete\",value:function(){var e=this;this.options.autocompleteOptions.onAutocomplete=function(t){e.addChip({tag:t}),e.$input[0].value=\"\",e.$input[0].focus()},this.autocomplete=M.Autocomplete.init(this.$input[0],this.options.autocompleteOptions)}},{key:\"_setupInput\",value:function(){this.$input=this.$el.find(\"input\"),this.$input.length||(this.$input=h(\"<input></input>\"),this.$el.append(this.$input)),this.$input.addClass(\"input\")}},{key:\"_setupLabel\",value:function(){this.$label=this.$el.find(\"label\"),this.$label.length&&this.$label.setAttribute(\"for\",this.$input.attr(\"id\"))}},{key:\"_setPlaceholder\",value:function(){void 0!==this.chipsData&&!this.chipsData.length&&this.options.placeholder?h(this.$input).prop(\"placeholder\",this.options.placeholder):(void 0===this.chipsData||this.chipsData.length)&&this.options.secondaryPlaceholder&&h(this.$input).prop(\"placeholder\",this.options.secondaryPlaceholder)}},{key:\"_isValid\",value:function(t){if(t.hasOwnProperty(\"tag\")&&\"\"!==t.tag){for(var e=!1,i=0;i<this.chipsData.length;i++)if(this.chipsData[i].tag===t.tag){e=!0;break}return!e}return!1}},{key:\"addChip\",value:function(t){if(this._isValid(t)&&!(this.chipsData.length>=this.options.limit)){var e=this._renderChip(t);this.$chips.add(e),this.chipsData.push(t),h(this.$input).before(e),this._setPlaceholder(),\"function\"==typeof this.options.onChipAdd&&this.options.onChipAdd.call(this,this.$el,e)}}},{key:\"deleteChip\",value:function(t){var e=this.$chips.eq(t);this.$chips.eq(t).remove(),this.$chips=this.$chips.filter(function(t){return 0<=h(t).index()}),this.chipsData.splice(t,1),this._setPlaceholder(),\"function\"==typeof this.options.onChipDelete&&this.options.onChipDelete.call(this,this.$el,e[0])}},{key:\"selectChip\",value:function(t){var e=this.$chips.eq(t);(this._selectedChip=e)[0].focus(),\"function\"==typeof this.options.onChipSelect&&this.options.onChipSelect.call(this,this.$el,e[0])}}],[{key:\"init\",value:function(t,e){return _get(l.__proto__||Object.getPrototypeOf(l),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Chips}},{key:\"_handleChipsKeydown\",value:function(t){l._keydown=!0;var e=h(t.target).closest(\".chips\"),i=t.target&&e.length;if(!h(t.target).is(\"input, textarea\")&&i){var n=e[0].M_Chips;if(8===t.keyCode||46===t.keyCode){t.preventDefault();var s=n.chipsData.length;if(n._selectedChip){var o=n._selectedChip.index();n.deleteChip(o),n._selectedChip=null,s=Math.max(o-1,0)}n.chipsData.length&&n.selectChip(s)}else if(37===t.keyCode){if(n._selectedChip){var a=n._selectedChip.index()-1;if(a<0)return;n.selectChip(a)}}else if(39===t.keyCode&&n._selectedChip){var r=n._selectedChip.index()+1;r>=n.chipsData.length?n.$input[0].focus():n.selectChip(r)}}}},{key:\"_handleChipsKeyup\",value:function(t){l._keydown=!1}},{key:\"_handleChipsBlur\",value:function(t){l._keydown||(h(t.target).closest(\".chips\")[0].M_Chips._selectedChip=null)}},{key:\"defaults\",get:function(){return e}}]),l}();t._keydown=!1,M.Chips=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"chips\",\"M_Chips\"),h(document).ready(function(){h(document.body).on(\"click\",\".chip .close\",function(){var t=h(this).closest(\".chips\");t.length&&t[0].M_Chips||h(this).closest(\".chip\").remove()})})}(cash),function(s){\"use strict\";var e={top:0,bottom:1/0,offset:0,onPositionChange:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Pushpin=i).options=s.extend({},n.defaults,e),i.originalOffset=i.el.offsetTop,n._pushpins.push(i),i._setupEventHandlers(),i._updatePosition(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this.el.style.top=null,this._removePinClasses(),this._removeEventHandlers();var t=n._pushpins.indexOf(this);n._pushpins.splice(t,1)}},{key:\"_setupEventHandlers\",value:function(){document.addEventListener(\"scroll\",n._updateElements)}},{key:\"_removeEventHandlers\",value:function(){document.removeEventListener(\"scroll\",n._updateElements)}},{key:\"_updatePosition\",value:function(){var t=M.getDocumentScrollTop()+this.options.offset;this.options.top<=t&&this.options.bottom>=t&&!this.el.classList.contains(\"pinned\")&&(this._removePinClasses(),this.el.style.top=this.options.offset+\"px\",this.el.classList.add(\"pinned\"),\"function\"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,\"pinned\")),t<this.options.top&&!this.el.classList.contains(\"pin-top\")&&(this._removePinClasses(),this.el.style.top=0,this.el.classList.add(\"pin-top\"),\"function\"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,\"pin-top\")),t>this.options.bottom&&!this.el.classList.contains(\"pin-bottom\")&&(this._removePinClasses(),this.el.classList.add(\"pin-bottom\"),this.el.style.top=this.options.bottom-this.originalOffset+\"px\",\"function\"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,\"pin-bottom\"))}},{key:\"_removePinClasses\",value:function(){this.el.classList.remove(\"pin-top\"),this.el.classList.remove(\"pinned\"),this.el.classList.remove(\"pin-bottom\")}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Pushpin}},{key:\"_updateElements\",value:function(){for(var t in n._pushpins){n._pushpins[t]._updatePosition()}}},{key:\"defaults\",get:function(){return e}}]),n}();t._pushpins=[],M.Pushpin=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"pushpin\",\"M_Pushpin\")}(cash),function(r,s){\"use strict\";var e={direction:\"top\",hoverEnabled:!0,toolbarEnabled:!1};r.fn.reverse=[].reverse;var t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_FloatingActionButton=i).options=r.extend({},n.defaults,e),i.isOpen=!1,i.$anchor=i.$el.children(\"a\").first(),i.$menu=i.$el.children(\"ul\").first(),i.$floatingBtns=i.$el.find(\"ul .btn-floating\"),i.$floatingBtnsReverse=i.$el.find(\"ul .btn-floating\").reverse(),i.offsetY=0,i.offsetX=0,i.$el.addClass(\"direction-\"+i.options.direction),\"top\"===i.options.direction?i.offsetY=40:\"right\"===i.options.direction?i.offsetX=-40:\"bottom\"===i.options.direction?i.offsetY=-40:i.offsetX=40,i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this.el.M_FloatingActionButton=void 0}},{key:\"_setupEventHandlers\",value:function(){this._handleFABClickBound=this._handleFABClick.bind(this),this._handleOpenBound=this.open.bind(this),this._handleCloseBound=this.close.bind(this),this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.addEventListener(\"mouseenter\",this._handleOpenBound),this.el.addEventListener(\"mouseleave\",this._handleCloseBound)):this.el.addEventListener(\"click\",this._handleFABClickBound)}},{key:\"_removeEventHandlers\",value:function(){this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.removeEventListener(\"mouseenter\",this._handleOpenBound),this.el.removeEventListener(\"mouseleave\",this._handleCloseBound)):this.el.removeEventListener(\"click\",this._handleFABClickBound)}},{key:\"_handleFABClick\",value:function(){this.isOpen?this.close():this.open()}},{key:\"_handleDocumentClick\",value:function(t){r(t.target).closest(this.$menu).length||this.close()}},{key:\"open\",value:function(){this.isOpen||(this.options.toolbarEnabled?this._animateInToolbar():this._animateInFAB(),this.isOpen=!0)}},{key:\"close\",value:function(){this.isOpen&&(this.options.toolbarEnabled?(window.removeEventListener(\"scroll\",this._handleCloseBound,!0),document.body.removeEventListener(\"click\",this._handleDocumentClickBound,!0),this._animateOutToolbar()):this._animateOutFAB(),this.isOpen=!1)}},{key:\"_animateInFAB\",value:function(){var e=this;this.$el.addClass(\"active\");var i=0;this.$floatingBtnsReverse.each(function(t){s({targets:t,opacity:1,scale:[.4,1],translateY:[e.offsetY,0],translateX:[e.offsetX,0],duration:275,delay:i,easing:\"easeInOutQuad\"}),i+=40})}},{key:\"_animateOutFAB\",value:function(){var e=this;this.$floatingBtnsReverse.each(function(t){s.remove(t),s({targets:t,opacity:0,scale:.4,translateY:e.offsetY,translateX:e.offsetX,duration:175,easing:\"easeOutQuad\",complete:function(){e.$el.removeClass(\"active\")}})})}},{key:\"_animateInToolbar\",value:function(){var t,e=this,i=window.innerWidth,n=window.innerHeight,s=this.el.getBoundingClientRect(),o=r('<div class=\"fab-backdrop\"></div>'),a=this.$anchor.css(\"background-color\");this.$anchor.append(o),this.offsetX=s.left-i/2+s.width/2,this.offsetY=n-s.bottom,t=i/o[0].clientWidth,this.btnBottom=s.bottom,this.btnLeft=s.left,this.btnWidth=s.width,this.$el.addClass(\"active\"),this.$el.css({\"text-align\":\"center\",width:\"100%\",bottom:0,left:0,transform:\"translateX(\"+this.offsetX+\"px)\",transition:\"none\"}),this.$anchor.css({transform:\"translateY(\"+-this.offsetY+\"px)\",transition:\"none\"}),o.css({\"background-color\":a}),setTimeout(function(){e.$el.css({transform:\"\",transition:\"transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s\"}),e.$anchor.css({overflow:\"visible\",transform:\"\",transition:\"transform .2s\"}),setTimeout(function(){e.$el.css({overflow:\"hidden\",\"background-color\":a}),o.css({transform:\"scale(\"+t+\")\",transition:\"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)\"}),e.$menu.children(\"li\").children(\"a\").css({opacity:1}),e._handleDocumentClickBound=e._handleDocumentClick.bind(e),window.addEventListener(\"scroll\",e._handleCloseBound,!0),document.body.addEventListener(\"click\",e._handleDocumentClickBound,!0)},100)},0)}},{key:\"_animateOutToolbar\",value:function(){var t=this,e=window.innerWidth,i=window.innerHeight,n=this.$el.find(\".fab-backdrop\"),s=this.$anchor.css(\"background-color\");this.offsetX=this.btnLeft-e/2+this.btnWidth/2,this.offsetY=i-this.btnBottom,this.$el.removeClass(\"active\"),this.$el.css({\"background-color\":\"transparent\",transition:\"none\"}),this.$anchor.css({transition:\"none\"}),n.css({transform:\"scale(0)\",\"background-color\":s}),this.$menu.children(\"li\").children(\"a\").css({opacity:\"\"}),setTimeout(function(){n.remove(),t.$el.css({\"text-align\":\"\",width:\"\",bottom:\"\",left:\"\",overflow:\"\",\"background-color\":\"\",transform:\"translate3d(\"+-t.offsetX+\"px,0,0)\"}),t.$anchor.css({overflow:\"\",transform:\"translate3d(0,\"+t.offsetY+\"px,0)\"}),setTimeout(function(){t.$el.css({transform:\"translate3d(0,0,0)\",transition:\"transform .2s\"}),t.$anchor.css({transform:\"translate3d(0,0,0)\",transition:\"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)\"})},20)},200)}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_FloatingActionButton}},{key:\"defaults\",get:function(){return e}}]),n}();M.FloatingActionButton=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"floatingActionButton\",\"M_FloatingActionButton\")}(cash,M.anime),function(g){\"use strict\";var e={autoClose:!1,format:\"mmm dd, yyyy\",parse:null,defaultDate:null,setDefaultDate:!1,disableWeekends:!1,disableDayFn:null,firstDay:0,minDate:null,maxDate:null,yearRange:10,minYear:0,maxYear:9999,minMonth:void 0,maxMonth:void 0,startRange:null,endRange:null,isRTL:!1,showMonthAfterYear:!1,showDaysInNextAndPreviousMonths:!1,container:null,showClearBtn:!1,i18n:{cancel:\"Cancel\",clear:\"Clear\",done:\"Ok\",previousMonth:\"‹\",nextMonth:\"›\",months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthsShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],weekdays:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],weekdaysShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],weekdaysAbbrev:[\"S\",\"M\",\"T\",\"W\",\"T\",\"F\",\"S\"]},events:[],onSelect:null,onOpen:null,onClose:null,onDraw:null},t=function(t){function B(t,e){_classCallCheck(this,B);var i=_possibleConstructorReturn(this,(B.__proto__||Object.getPrototypeOf(B)).call(this,B,t,e));(i.el.M_Datepicker=i).options=g.extend({},B.defaults,e),e&&e.hasOwnProperty(\"i18n\")&&\"object\"==typeof e.i18n&&(i.options.i18n=g.extend({},B.defaults.i18n,e.i18n)),i.options.minDate&&i.options.minDate.setHours(0,0,0,0),i.options.maxDate&&i.options.maxDate.setHours(0,0,0,0),i.id=M.guid(),i._setupVariables(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupEventHandlers(),i.options.defaultDate||(i.options.defaultDate=new Date(Date.parse(i.el.value)));var n=i.options.defaultDate;return B._isDate(n)?i.options.setDefaultDate?(i.setDate(n,!0),i.setInputValue()):i.gotoDate(n):i.gotoDate(new Date),i.isOpen=!1,i}return _inherits(B,Component),_createClass(B,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this.modal.destroy(),g(this.modalEl).remove(),this.destroySelects(),this.el.M_Datepicker=void 0}},{key:\"destroySelects\",value:function(){var t=this.calendarEl.querySelector(\".orig-select-year\");t&&M.FormSelect.getInstance(t).destroy();var e=this.calendarEl.querySelector(\".orig-select-month\");e&&M.FormSelect.getInstance(e).destroy()}},{key:\"_insertHTMLIntoDOM\",value:function(){this.options.showClearBtn&&(g(this.clearBtn).css({visibility:\"\"}),this.clearBtn.innerHTML=this.options.i18n.clear),this.doneBtn.innerHTML=this.options.i18n.done,this.cancelBtn.innerHTML=this.options.i18n.cancel,this.options.container?this.$modalEl.appendTo(this.options.container):this.$modalEl.insertBefore(this.el)}},{key:\"_setupModal\",value:function(){var t=this;this.modalEl.id=\"modal-\"+this.id,this.modal=M.Modal.init(this.modalEl,{onCloseEnd:function(){t.isOpen=!1}})}},{key:\"toString\",value:function(t){var e=this;return t=t||this.options.format,B._isDate(this.date)?t.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g).map(function(t){return e.formats[t]?e.formats[t]():t}).join(\"\"):\"\"}},{key:\"setDate\",value:function(t,e){if(!t)return this.date=null,this._renderDateDisplay(),this.draw();if(\"string\"==typeof t&&(t=new Date(Date.parse(t))),B._isDate(t)){var i=this.options.minDate,n=this.options.maxDate;B._isDate(i)&&t<i?t=i:B._isDate(n)&&n<t&&(t=n),this.date=new Date(t.getTime()),this._renderDateDisplay(),B._setToStartOfDay(this.date),this.gotoDate(this.date),e||\"function\"!=typeof this.options.onSelect||this.options.onSelect.call(this,this.date)}}},{key:\"setInputValue\",value:function(){this.el.value=this.toString(),this.$el.trigger(\"change\",{firedBy:this})}},{key:\"_renderDateDisplay\",value:function(){var t=B._isDate(this.date)?this.date:new Date,e=this.options.i18n,i=e.weekdaysShort[t.getDay()],n=e.monthsShort[t.getMonth()],s=t.getDate();this.yearTextEl.innerHTML=t.getFullYear(),this.dateTextEl.innerHTML=i+\", \"+n+\" \"+s}},{key:\"gotoDate\",value:function(t){var e=!0;if(B._isDate(t)){if(this.calendars){var i=new Date(this.calendars[0].year,this.calendars[0].month,1),n=new Date(this.calendars[this.calendars.length-1].year,this.calendars[this.calendars.length-1].month,1),s=t.getTime();n.setMonth(n.getMonth()+1),n.setDate(n.getDate()-1),e=s<i.getTime()||n.getTime()<s}e&&(this.calendars=[{month:t.getMonth(),year:t.getFullYear()}]),this.adjustCalendars()}}},{key:\"adjustCalendars\",value:function(){this.calendars[0]=this.adjustCalendar(this.calendars[0]),this.draw()}},{key:\"adjustCalendar\",value:function(t){return t.month<0&&(t.year-=Math.ceil(Math.abs(t.month)/12),t.month+=12),11<t.month&&(t.year+=Math.floor(Math.abs(t.month)/12),t.month-=12),t}},{key:\"nextMonth\",value:function(){this.calendars[0].month++,this.adjustCalendars()}},{key:\"prevMonth\",value:function(){this.calendars[0].month--,this.adjustCalendars()}},{key:\"render\",value:function(t,e,i){var n=this.options,s=new Date,o=B._getDaysInMonth(t,e),a=new Date(t,e,1).getDay(),r=[],l=[];B._setToStartOfDay(s),0<n.firstDay&&(a-=n.firstDay)<0&&(a+=7);for(var h=0===e?11:e-1,d=11===e?0:e+1,u=0===e?t-1:t,c=11===e?t+1:t,p=B._getDaysInMonth(u,h),v=o+a,f=v;7<f;)f-=7;v+=7-f;for(var m=!1,g=0,_=0;g<v;g++){var y=new Date(t,e,g-a+1),k=!!B._isDate(this.date)&&B._compareDates(y,this.date),b=B._compareDates(y,s),w=-1!==n.events.indexOf(y.toDateString()),C=g<a||o+a<=g,E=g-a+1,M=e,O=t,x=n.startRange&&B._compareDates(n.startRange,y),L=n.endRange&&B._compareDates(n.endRange,y),T=n.startRange&&n.endRange&&n.startRange<y&&y<n.endRange;C&&(g<a?(E=p+E,M=h,O=u):(E-=o,M=d,O=c));var $={day:E,month:M,year:O,hasEvent:w,isSelected:k,isToday:b,isDisabled:n.minDate&&y<n.minDate||n.maxDate&&y>n.maxDate||n.disableWeekends&&B._isWeekend(y)||n.disableDayFn&&n.disableDayFn(y),isEmpty:C,isStartRange:x,isEndRange:L,isInRange:T,showDaysInNextAndPreviousMonths:n.showDaysInNextAndPreviousMonths};l.push(this.renderDay($)),7==++_&&(r.push(this.renderRow(l,n.isRTL,m)),_=0,m=!(l=[]))}return this.renderTable(n,r,i)}},{key:\"renderDay\",value:function(t){var e=[],i=\"false\";if(t.isEmpty){if(!t.showDaysInNextAndPreviousMonths)return'<td class=\"is-empty\"></td>';e.push(\"is-outside-current-month\"),e.push(\"is-selection-disabled\")}return t.isDisabled&&e.push(\"is-disabled\"),t.isToday&&e.push(\"is-today\"),t.isSelected&&(e.push(\"is-selected\"),i=\"true\"),t.hasEvent&&e.push(\"has-event\"),t.isInRange&&e.push(\"is-inrange\"),t.isStartRange&&e.push(\"is-startrange\"),t.isEndRange&&e.push(\"is-endrange\"),'<td data-day=\"'+t.day+'\" class=\"'+e.join(\" \")+'\" aria-selected=\"'+i+'\"><button class=\"datepicker-day-button\" type=\"button\" data-year=\"'+t.year+'\" data-month=\"'+t.month+'\" data-day=\"'+t.day+'\">'+t.day+\"</button></td>\"}},{key:\"renderRow\",value:function(t,e,i){return'<tr class=\"datepicker-row'+(i?\" is-selected\":\"\")+'\">'+(e?t.reverse():t).join(\"\")+\"</tr>\"}},{key:\"renderTable\",value:function(t,e,i){return'<div class=\"datepicker-table-wrapper\"><table cellpadding=\"0\" cellspacing=\"0\" class=\"datepicker-table\" role=\"grid\" aria-labelledby=\"'+i+'\">'+this.renderHead(t)+this.renderBody(e)+\"</table></div>\"}},{key:\"renderHead\",value:function(t){var e=void 0,i=[];for(e=0;e<7;e++)i.push('<th scope=\"col\"><abbr title=\"'+this.renderDayName(t,e)+'\">'+this.renderDayName(t,e,!0)+\"</abbr></th>\");return\"<thead><tr>\"+(t.isRTL?i.reverse():i).join(\"\")+\"</tr></thead>\"}},{key:\"renderBody\",value:function(t){return\"<tbody>\"+t.join(\"\")+\"</tbody>\"}},{key:\"renderTitle\",value:function(t,e,i,n,s,o){var a,r,l=void 0,h=void 0,d=void 0,u=this.options,c=i===u.minYear,p=i===u.maxYear,v='<div id=\"'+o+'\" class=\"datepicker-controls\" role=\"heading\" aria-live=\"assertive\">',f=!0,m=!0;for(d=[],l=0;l<12;l++)d.push('<option value=\"'+(i===s?l-e:12+l-e)+'\"'+(l===n?' selected=\"selected\"':\"\")+(c&&l<u.minMonth||p&&l>u.maxMonth?'disabled=\"disabled\"':\"\")+\">\"+u.i18n.months[l]+\"</option>\");for(a='<select class=\"datepicker-select orig-select-month\" tabindex=\"-1\">'+d.join(\"\")+\"</select>\",g.isArray(u.yearRange)?(l=u.yearRange[0],h=u.yearRange[1]+1):(l=i-u.yearRange,h=1+i+u.yearRange),d=[];l<h&&l<=u.maxYear;l++)l>=u.minYear&&d.push('<option value=\"'+l+'\" '+(l===i?'selected=\"selected\"':\"\")+\">\"+l+\"</option>\");r='<select class=\"datepicker-select orig-select-year\" tabindex=\"-1\">'+d.join(\"\")+\"</select>\";v+='<button class=\"month-prev'+(f?\"\":\" is-disabled\")+'\" type=\"button\"><svg fill=\"#000000\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z\"/><path d=\"M0-.5h24v24H0z\" fill=\"none\"/></svg></button>',v+='<div class=\"selects-container\">',u.showMonthAfterYear?v+=r+a:v+=a+r,v+=\"</div>\",c&&(0===n||u.minMonth>=n)&&(f=!1),p&&(11===n||u.maxMonth<=n)&&(m=!1);return(v+='<button class=\"month-next'+(m?\"\":\" is-disabled\")+'\" type=\"button\"><svg fill=\"#000000\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z\"/><path d=\"M0-.25h24v24H0z\" fill=\"none\"/></svg></button>')+\"</div>\"}},{key:\"draw\",value:function(t){if(this.isOpen||t){var e,i=this.options,n=i.minYear,s=i.maxYear,o=i.minMonth,a=i.maxMonth,r=\"\";this._y<=n&&(this._y=n,!isNaN(o)&&this._m<o&&(this._m=o)),this._y>=s&&(this._y=s,!isNaN(a)&&this._m>a&&(this._m=a)),e=\"datepicker-title-\"+Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,2);for(var l=0;l<1;l++)this._renderDateDisplay(),r+=this.renderTitle(this,l,this.calendars[l].year,this.calendars[l].month,this.calendars[0].year,e)+this.render(this.calendars[l].year,this.calendars[l].month,e);this.destroySelects(),this.calendarEl.innerHTML=r;var h=this.calendarEl.querySelector(\".orig-select-year\"),d=this.calendarEl.querySelector(\".orig-select-month\");M.FormSelect.init(h,{classes:\"select-year\",dropdownOptions:{container:document.body,constrainWidth:!1}}),M.FormSelect.init(d,{classes:\"select-month\",dropdownOptions:{container:document.body,constrainWidth:!1}}),h.addEventListener(\"change\",this._handleYearChange.bind(this)),d.addEventListener(\"change\",this._handleMonthChange.bind(this)),\"function\"==typeof this.options.onDraw&&this.options.onDraw(this)}}},{key:\"_setupEventHandlers\",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleInputChangeBound=this._handleInputChange.bind(this),this._handleCalendarClickBound=this._handleCalendarClick.bind(this),this._finishSelectionBound=this._finishSelection.bind(this),this._handleMonthChange=this._handleMonthChange.bind(this),this._closeBound=this.close.bind(this),this.el.addEventListener(\"click\",this._handleInputClickBound),this.el.addEventListener(\"keydown\",this._handleInputKeydownBound),this.el.addEventListener(\"change\",this._handleInputChangeBound),this.calendarEl.addEventListener(\"click\",this._handleCalendarClickBound),this.doneBtn.addEventListener(\"click\",this._finishSelectionBound),this.cancelBtn.addEventListener(\"click\",this._closeBound),this.options.showClearBtn&&(this._handleClearClickBound=this._handleClearClick.bind(this),this.clearBtn.addEventListener(\"click\",this._handleClearClickBound))}},{key:\"_setupVariables\",value:function(){var e=this;this.$modalEl=g(B._template),this.modalEl=this.$modalEl[0],this.calendarEl=this.modalEl.querySelector(\".datepicker-calendar\"),this.yearTextEl=this.modalEl.querySelector(\".year-text\"),this.dateTextEl=this.modalEl.querySelector(\".date-text\"),this.options.showClearBtn&&(this.clearBtn=this.modalEl.querySelector(\".datepicker-clear\")),this.doneBtn=this.modalEl.querySelector(\".datepicker-done\"),this.cancelBtn=this.modalEl.querySelector(\".datepicker-cancel\"),this.formats={d:function(){return e.date.getDate()},dd:function(){var t=e.date.getDate();return(t<10?\"0\":\"\")+t},ddd:function(){return e.options.i18n.weekdaysShort[e.date.getDay()]},dddd:function(){return e.options.i18n.weekdays[e.date.getDay()]},m:function(){return e.date.getMonth()+1},mm:function(){var t=e.date.getMonth()+1;return(t<10?\"0\":\"\")+t},mmm:function(){return e.options.i18n.monthsShort[e.date.getMonth()]},mmmm:function(){return e.options.i18n.months[e.date.getMonth()]},yy:function(){return(\"\"+e.date.getFullYear()).slice(2)},yyyy:function(){return e.date.getFullYear()}}}},{key:\"_removeEventHandlers\",value:function(){this.el.removeEventListener(\"click\",this._handleInputClickBound),this.el.removeEventListener(\"keydown\",this._handleInputKeydownBound),this.el.removeEventListener(\"change\",this._handleInputChangeBound),this.calendarEl.removeEventListener(\"click\",this._handleCalendarClickBound)}},{key:\"_handleInputClick\",value:function(){this.open()}},{key:\"_handleInputKeydown\",value:function(t){t.which===M.keys.ENTER&&(t.preventDefault(),this.open())}},{key:\"_handleCalendarClick\",value:function(t){if(this.isOpen){var e=g(t.target);e.hasClass(\"is-disabled\")||(!e.hasClass(\"datepicker-day-button\")||e.hasClass(\"is-empty\")||e.parent().hasClass(\"is-disabled\")?e.closest(\".month-prev\").length?this.prevMonth():e.closest(\".month-next\").length&&this.nextMonth():(this.setDate(new Date(t.target.getAttribute(\"data-year\"),t.target.getAttribute(\"data-month\"),t.target.getAttribute(\"data-day\"))),this.options.autoClose&&this._finishSelection()))}}},{key:\"_handleClearClick\",value:function(){this.date=null,this.setInputValue(),this.close()}},{key:\"_handleMonthChange\",value:function(t){this.gotoMonth(t.target.value)}},{key:\"_handleYearChange\",value:function(t){this.gotoYear(t.target.value)}},{key:\"gotoMonth\",value:function(t){isNaN(t)||(this.calendars[0].month=parseInt(t,10),this.adjustCalendars())}},{key:\"gotoYear\",value:function(t){isNaN(t)||(this.calendars[0].year=parseInt(t,10),this.adjustCalendars())}},{key:\"_handleInputChange\",value:function(t){var e=void 0;t.firedBy!==this&&(e=this.options.parse?this.options.parse(this.el.value,this.options.format):new Date(Date.parse(this.el.value)),B._isDate(e)&&this.setDate(e))}},{key:\"renderDayName\",value:function(t,e,i){for(e+=t.firstDay;7<=e;)e-=7;return i?t.i18n.weekdaysAbbrev[e]:t.i18n.weekdays[e]}},{key:\"_finishSelection\",value:function(){this.setInputValue(),this.close()}},{key:\"open\",value:function(){if(!this.isOpen)return this.isOpen=!0,\"function\"==typeof this.options.onOpen&&this.options.onOpen.call(this),this.draw(),this.modal.open(),this}},{key:\"close\",value:function(){if(this.isOpen)return this.isOpen=!1,\"function\"==typeof this.options.onClose&&this.options.onClose.call(this),this.modal.close(),this}}],[{key:\"init\",value:function(t,e){return _get(B.__proto__||Object.getPrototypeOf(B),\"init\",this).call(this,this,t,e)}},{key:\"_isDate\",value:function(t){return/Date/.test(Object.prototype.toString.call(t))&&!isNaN(t.getTime())}},{key:\"_isWeekend\",value:function(t){var e=t.getDay();return 0===e||6===e}},{key:\"_setToStartOfDay\",value:function(t){B._isDate(t)&&t.setHours(0,0,0,0)}},{key:\"_getDaysInMonth\",value:function(t,e){return[31,B._isLeapYear(t)?29:28,31,30,31,30,31,31,30,31,30,31][e]}},{key:\"_isLeapYear\",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:\"_compareDates\",value:function(t,e){return t.getTime()===e.getTime()}},{key:\"_setToStartOfDay\",value:function(t){B._isDate(t)&&t.setHours(0,0,0,0)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Datepicker}},{key:\"defaults\",get:function(){return e}}]),B}();t._template=['<div class= \"modal datepicker-modal\">','<div class=\"modal-content datepicker-container\">','<div class=\"datepicker-date-display\">','<span class=\"year-text\"></span>','<span class=\"date-text\"></span>',\"</div>\",'<div class=\"datepicker-calendar-container\">','<div class=\"datepicker-calendar\"></div>','<div class=\"datepicker-footer\">','<button class=\"btn-flat datepicker-clear waves-effect\" style=\"visibility: hidden;\" type=\"button\"></button>','<div class=\"confirmation-btns\">','<button class=\"btn-flat datepicker-cancel waves-effect\" type=\"button\"></button>','<button class=\"btn-flat datepicker-done waves-effect\" type=\"button\"></button>',\"</div>\",\"</div>\",\"</div>\",\"</div>\",\"</div>\"].join(\"\"),M.Datepicker=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"datepicker\",\"M_Datepicker\")}(cash),function(h){\"use strict\";var e={dialRadius:135,outerRadius:105,innerRadius:70,tickRadius:20,duration:350,container:null,defaultTime:\"now\",fromNow:0,showClearBtn:!1,i18n:{cancel:\"Cancel\",clear:\"Clear\",done:\"Ok\"},autoClose:!1,twelveHour:!0,vibrate:!0,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onSelect:null},t=function(t){function f(t,e){_classCallCheck(this,f);var i=_possibleConstructorReturn(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,f,t,e));return(i.el.M_Timepicker=i).options=h.extend({},f.defaults,e),i.id=M.guid(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupVariables(),i._setupEventHandlers(),i._clockSetup(),i._pickerSetup(),i}return _inherits(f,Component),_createClass(f,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this.modal.destroy(),h(this.modalEl).remove(),this.el.M_Timepicker=void 0}},{key:\"_setupEventHandlers\",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleClockClickStartBound=this._handleClockClickStart.bind(this),this._handleDocumentClickMoveBound=this._handleDocumentClickMove.bind(this),this._handleDocumentClickEndBound=this._handleDocumentClickEnd.bind(this),this.el.addEventListener(\"click\",this._handleInputClickBound),this.el.addEventListener(\"keydown\",this._handleInputKeydownBound),this.plate.addEventListener(\"mousedown\",this._handleClockClickStartBound),this.plate.addEventListener(\"touchstart\",this._handleClockClickStartBound),h(this.spanHours).on(\"click\",this.showView.bind(this,\"hours\")),h(this.spanMinutes).on(\"click\",this.showView.bind(this,\"minutes\"))}},{key:\"_removeEventHandlers\",value:function(){this.el.removeEventListener(\"click\",this._handleInputClickBound),this.el.removeEventListener(\"keydown\",this._handleInputKeydownBound)}},{key:\"_handleInputClick\",value:function(){this.open()}},{key:\"_handleInputKeydown\",value:function(t){t.which===M.keys.ENTER&&(t.preventDefault(),this.open())}},{key:\"_handleClockClickStart\",value:function(t){t.preventDefault();var e=this.plate.getBoundingClientRect(),i=e.left,n=e.top;this.x0=i+this.options.dialRadius,this.y0=n+this.options.dialRadius,this.moved=!1;var s=f._Pos(t);this.dx=s.x-this.x0,this.dy=s.y-this.y0,this.setHand(this.dx,this.dy,!1),document.addEventListener(\"mousemove\",this._handleDocumentClickMoveBound),document.addEventListener(\"touchmove\",this._handleDocumentClickMoveBound),document.addEventListener(\"mouseup\",this._handleDocumentClickEndBound),document.addEventListener(\"touchend\",this._handleDocumentClickEndBound)}},{key:\"_handleDocumentClickMove\",value:function(t){t.preventDefault();var e=f._Pos(t),i=e.x-this.x0,n=e.y-this.y0;this.moved=!0,this.setHand(i,n,!1,!0)}},{key:\"_handleDocumentClickEnd\",value:function(t){var e=this;t.preventDefault(),document.removeEventListener(\"mouseup\",this._handleDocumentClickEndBound),document.removeEventListener(\"touchend\",this._handleDocumentClickEndBound);var i=f._Pos(t),n=i.x-this.x0,s=i.y-this.y0;this.moved&&n===this.dx&&s===this.dy&&this.setHand(n,s),\"hours\"===this.currentView?this.showView(\"minutes\",this.options.duration/2):this.options.autoClose&&(h(this.minutesView).addClass(\"timepicker-dial-out\"),setTimeout(function(){e.done()},this.options.duration/2)),\"function\"==typeof this.options.onSelect&&this.options.onSelect.call(this,this.hours,this.minutes),document.removeEventListener(\"mousemove\",this._handleDocumentClickMoveBound),document.removeEventListener(\"touchmove\",this._handleDocumentClickMoveBound)}},{key:\"_insertHTMLIntoDOM\",value:function(){this.$modalEl=h(f._template),this.modalEl=this.$modalEl[0],this.modalEl.id=\"modal-\"+this.id;var t=document.querySelector(this.options.container);this.options.container&&t?this.$modalEl.appendTo(t):this.$modalEl.insertBefore(this.el)}},{key:\"_setupModal\",value:function(){var t=this;this.modal=M.Modal.init(this.modalEl,{onOpenStart:this.options.onOpenStart,onOpenEnd:this.options.onOpenEnd,onCloseStart:this.options.onCloseStart,onCloseEnd:function(){\"function\"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t),t.isOpen=!1}})}},{key:\"_setupVariables\",value:function(){this.currentView=\"hours\",this.vibrate=navigator.vibrate?\"vibrate\":navigator.webkitVibrate?\"webkitVibrate\":null,this._canvas=this.modalEl.querySelector(\".timepicker-canvas\"),this.plate=this.modalEl.querySelector(\".timepicker-plate\"),this.hoursView=this.modalEl.querySelector(\".timepicker-hours\"),this.minutesView=this.modalEl.querySelector(\".timepicker-minutes\"),this.spanHours=this.modalEl.querySelector(\".timepicker-span-hours\"),this.spanMinutes=this.modalEl.querySelector(\".timepicker-span-minutes\"),this.spanAmPm=this.modalEl.querySelector(\".timepicker-span-am-pm\"),this.footer=this.modalEl.querySelector(\".timepicker-footer\"),this.amOrPm=\"PM\"}},{key:\"_pickerSetup\",value:function(){var t=h('<button class=\"btn-flat timepicker-clear waves-effect\" style=\"visibility: hidden;\" type=\"button\" tabindex=\"'+(this.options.twelveHour?\"3\":\"1\")+'\">'+this.options.i18n.clear+\"</button>\").appendTo(this.footer).on(\"click\",this.clear.bind(this));this.options.showClearBtn&&t.css({visibility:\"\"});var e=h('<div class=\"confirmation-btns\"></div>');h('<button class=\"btn-flat timepicker-close waves-effect\" type=\"button\" tabindex=\"'+(this.options.twelveHour?\"3\":\"1\")+'\">'+this.options.i18n.cancel+\"</button>\").appendTo(e).on(\"click\",this.close.bind(this)),h('<button class=\"btn-flat timepicker-close waves-effect\" type=\"button\" tabindex=\"'+(this.options.twelveHour?\"3\":\"1\")+'\">'+this.options.i18n.done+\"</button>\").appendTo(e).on(\"click\",this.done.bind(this)),e.appendTo(this.footer)}},{key:\"_clockSetup\",value:function(){this.options.twelveHour&&(this.$amBtn=h('<div class=\"am-btn\">AM</div>'),this.$pmBtn=h('<div class=\"pm-btn\">PM</div>'),this.$amBtn.on(\"click\",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm),this.$pmBtn.on(\"click\",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm)),this._buildHoursView(),this._buildMinutesView(),this._buildSVGClock()}},{key:\"_buildSVGClock\",value:function(){var t=this.options.dialRadius,e=this.options.tickRadius,i=2*t,n=f._createSVGEl(\"svg\");n.setAttribute(\"class\",\"timepicker-svg\"),n.setAttribute(\"width\",i),n.setAttribute(\"height\",i);var s=f._createSVGEl(\"g\");s.setAttribute(\"transform\",\"translate(\"+t+\",\"+t+\")\");var o=f._createSVGEl(\"circle\");o.setAttribute(\"class\",\"timepicker-canvas-bearing\"),o.setAttribute(\"cx\",0),o.setAttribute(\"cy\",0),o.setAttribute(\"r\",4);var a=f._createSVGEl(\"line\");a.setAttribute(\"x1\",0),a.setAttribute(\"y1\",0);var r=f._createSVGEl(\"circle\");r.setAttribute(\"class\",\"timepicker-canvas-bg\"),r.setAttribute(\"r\",e),s.appendChild(a),s.appendChild(r),s.appendChild(o),n.appendChild(s),this._canvas.appendChild(n),this.hand=a,this.bg=r,this.bearing=o,this.g=s}},{key:\"_buildHoursView\",value:function(){var t=h('<div class=\"timepicker-tick\"></div>');if(this.options.twelveHour)for(var e=1;e<13;e+=1){var i=t.clone(),n=e/6*Math.PI,s=this.options.outerRadius;i.css({left:this.options.dialRadius+Math.sin(n)*s-this.options.tickRadius+\"px\",top:this.options.dialRadius-Math.cos(n)*s-this.options.tickRadius+\"px\"}),i.html(0===e?\"00\":e),this.hoursView.appendChild(i[0])}else for(var o=0;o<24;o+=1){var a=t.clone(),r=o/6*Math.PI,l=0<o&&o<13?this.options.innerRadius:this.options.outerRadius;a.css({left:this.options.dialRadius+Math.sin(r)*l-this.options.tickRadius+\"px\",top:this.options.dialRadius-Math.cos(r)*l-this.options.tickRadius+\"px\"}),a.html(0===o?\"00\":o),this.hoursView.appendChild(a[0])}}},{key:\"_buildMinutesView\",value:function(){for(var t=h('<div class=\"timepicker-tick\"></div>'),e=0;e<60;e+=5){var i=t.clone(),n=e/30*Math.PI;i.css({left:this.options.dialRadius+Math.sin(n)*this.options.outerRadius-this.options.tickRadius+\"px\",top:this.options.dialRadius-Math.cos(n)*this.options.outerRadius-this.options.tickRadius+\"px\"}),i.html(f._addLeadingZero(e)),this.minutesView.appendChild(i[0])}}},{key:\"_handleAmPmClick\",value:function(t){var e=h(t.target);this.amOrPm=e.hasClass(\"am-btn\")?\"AM\":\"PM\",this._updateAmPmView()}},{key:\"_updateAmPmView\",value:function(){this.options.twelveHour&&(this.$amBtn.toggleClass(\"text-primary\",\"AM\"===this.amOrPm),this.$pmBtn.toggleClass(\"text-primary\",\"PM\"===this.amOrPm))}},{key:\"_updateTimeFromInput\",value:function(){var t=((this.el.value||this.options.defaultTime||\"\")+\"\").split(\":\");if(this.options.twelveHour&&void 0!==t[1]&&(0<t[1].toUpperCase().indexOf(\"AM\")?this.amOrPm=\"AM\":this.amOrPm=\"PM\",t[1]=t[1].replace(\"AM\",\"\").replace(\"PM\",\"\")),\"now\"===t[0]){var e=new Date(+new Date+this.options.fromNow);t=[e.getHours(),e.getMinutes()],this.options.twelveHour&&(this.amOrPm=12<=t[0]&&t[0]<24?\"PM\":\"AM\")}this.hours=+t[0]||0,this.minutes=+t[1]||0,this.spanHours.innerHTML=this.hours,this.spanMinutes.innerHTML=f._addLeadingZero(this.minutes),this._updateAmPmView()}},{key:\"showView\",value:function(t,e){\"minutes\"===t&&h(this.hoursView).css(\"visibility\");var i=\"hours\"===t,n=i?this.hoursView:this.minutesView,s=i?this.minutesView:this.hoursView;this.currentView=t,h(this.spanHours).toggleClass(\"text-primary\",i),h(this.spanMinutes).toggleClass(\"text-primary\",!i),s.classList.add(\"timepicker-dial-out\"),h(n).css(\"visibility\",\"visible\").removeClass(\"timepicker-dial-out\"),this.resetClock(e),clearTimeout(this.toggleViewTimer),this.toggleViewTimer=setTimeout(function(){h(s).css(\"visibility\",\"hidden\")},this.options.duration)}},{key:\"resetClock\",value:function(t){var e=this.currentView,i=this[e],n=\"hours\"===e,s=i*(Math.PI/(n?6:30)),o=n&&0<i&&i<13?this.options.innerRadius:this.options.outerRadius,a=Math.sin(s)*o,r=-Math.cos(s)*o,l=this;t?(h(this.canvas).addClass(\"timepicker-canvas-out\"),setTimeout(function(){h(l.canvas).removeClass(\"timepicker-canvas-out\"),l.setHand(a,r)},t)):this.setHand(a,r)}},{key:\"setHand\",value:function(t,e,i){var n=this,s=Math.atan2(t,-e),o=\"hours\"===this.currentView,a=Math.PI/(o||i?6:30),r=Math.sqrt(t*t+e*e),l=o&&r<(this.options.outerRadius+this.options.innerRadius)/2,h=l?this.options.innerRadius:this.options.outerRadius;this.options.twelveHour&&(h=this.options.outerRadius),s<0&&(s=2*Math.PI+s);var d=Math.round(s/a);s=d*a,this.options.twelveHour?o?0===d&&(d=12):(i&&(d*=5),60===d&&(d=0)):o?(12===d&&(d=0),d=l?0===d?12:d:0===d?0:d+12):(i&&(d*=5),60===d&&(d=0)),this[this.currentView]!==d&&this.vibrate&&this.options.vibrate&&(this.vibrateTimer||(navigator[this.vibrate](10),this.vibrateTimer=setTimeout(function(){n.vibrateTimer=null},100))),this[this.currentView]=d,o?this.spanHours.innerHTML=d:this.spanMinutes.innerHTML=f._addLeadingZero(d);var u=Math.sin(s)*(h-this.options.tickRadius),c=-Math.cos(s)*(h-this.options.tickRadius),p=Math.sin(s)*h,v=-Math.cos(s)*h;this.hand.setAttribute(\"x2\",u),this.hand.setAttribute(\"y2\",c),this.bg.setAttribute(\"cx\",p),this.bg.setAttribute(\"cy\",v)}},{key:\"open\",value:function(){this.isOpen||(this.isOpen=!0,this._updateTimeFromInput(),this.showView(\"hours\"),this.modal.open())}},{key:\"close\",value:function(){this.isOpen&&(this.isOpen=!1,this.modal.close())}},{key:\"done\",value:function(t,e){var i=this.el.value,n=e?\"\":f._addLeadingZero(this.hours)+\":\"+f._addLeadingZero(this.minutes);this.time=n,!e&&this.options.twelveHour&&(n=n+\" \"+this.amOrPm),(this.el.value=n)!==i&&this.$el.trigger(\"change\"),this.close(),this.el.focus()}},{key:\"clear\",value:function(){this.done(null,!0)}}],[{key:\"init\",value:function(t,e){return _get(f.__proto__||Object.getPrototypeOf(f),\"init\",this).call(this,this,t,e)}},{key:\"_addLeadingZero\",value:function(t){return(t<10?\"0\":\"\")+t}},{key:\"_createSVGEl\",value:function(t){return document.createElementNS(\"http://www.w3.org/2000/svg\",t)}},{key:\"_Pos\",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?{x:t.targetTouches[0].clientX,y:t.targetTouches[0].clientY}:{x:t.clientX,y:t.clientY}}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Timepicker}},{key:\"defaults\",get:function(){return e}}]),f}();t._template=['<div class= \"modal timepicker-modal\">','<div class=\"modal-content timepicker-container\">','<div class=\"timepicker-digital-display\">','<div class=\"timepicker-text-container\">','<div class=\"timepicker-display-column\">','<span class=\"timepicker-span-hours text-primary\"></span>',\":\",'<span class=\"timepicker-span-minutes\"></span>',\"</div>\",'<div class=\"timepicker-display-column timepicker-display-am-pm\">','<div class=\"timepicker-span-am-pm\"></div>',\"</div>\",\"</div>\",\"</div>\",'<div class=\"timepicker-analog-display\">','<div class=\"timepicker-plate\">','<div class=\"timepicker-canvas\"></div>','<div class=\"timepicker-dial timepicker-hours\"></div>','<div class=\"timepicker-dial timepicker-minutes timepicker-dial-out\"></div>',\"</div>\",'<div class=\"timepicker-footer\"></div>',\"</div>\",\"</div>\",\"</div>\"].join(\"\"),M.Timepicker=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"timepicker\",\"M_Timepicker\")}(cash),function(s){\"use strict\";var e={},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_CharacterCounter=i).options=s.extend({},n.defaults,e),i.isInvalid=!1,i.isValidLength=!1,i._setupCounter(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this.el.CharacterCounter=void 0,this._removeCounter()}},{key:\"_setupEventHandlers\",value:function(){this._handleUpdateCounterBound=this.updateCounter.bind(this),this.el.addEventListener(\"focus\",this._handleUpdateCounterBound,!0),this.el.addEventListener(\"input\",this._handleUpdateCounterBound,!0)}},{key:\"_removeEventHandlers\",value:function(){this.el.removeEventListener(\"focus\",this._handleUpdateCounterBound,!0),this.el.removeEventListener(\"input\",this._handleUpdateCounterBound,!0)}},{key:\"_setupCounter\",value:function(){this.counterEl=document.createElement(\"span\"),s(this.counterEl).addClass(\"character-counter\").css({float:\"right\",\"font-size\":\"12px\",height:1}),this.$el.parent().append(this.counterEl)}},{key:\"_removeCounter\",value:function(){s(this.counterEl).remove()}},{key:\"updateCounter\",value:function(){var t=+this.$el.attr(\"data-length\"),e=this.el.value.length;this.isValidLength=e<=t;var i=e;t&&(i+=\"/\"+t,this._validateInput()),s(this.counterEl).html(i)}},{key:\"_validateInput\",value:function(){this.isValidLength&&this.isInvalid?(this.isInvalid=!1,this.$el.removeClass(\"invalid\")):this.isValidLength||this.isInvalid||(this.isInvalid=!0,this.$el.removeClass(\"valid\"),this.$el.addClass(\"invalid\"))}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_CharacterCounter}},{key:\"defaults\",get:function(){return e}}]),n}();M.CharacterCounter=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"characterCounter\",\"M_CharacterCounter\")}(cash),function(b){\"use strict\";var e={duration:200,dist:-100,shift:0,padding:0,numVisible:5,fullWidth:!1,indicators:!1,noWrap:!1,onCycleTo:null},t=function(t){function i(t,e){_classCallCheck(this,i);var n=_possibleConstructorReturn(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,i,t,e));return(n.el.M_Carousel=n).options=b.extend({},i.defaults,e),n.hasMultipleSlides=1<n.$el.find(\".carousel-item\").length,n.showIndicators=n.options.indicators&&n.hasMultipleSlides,n.noWrap=n.options.noWrap||!n.hasMultipleSlides,n.pressed=!1,n.dragged=!1,n.offset=n.target=0,n.images=[],n.itemWidth=n.$el.find(\".carousel-item\").first().innerWidth(),n.itemHeight=n.$el.find(\".carousel-item\").first().innerHeight(),n.dim=2*n.itemWidth+n.options.padding||1,n._autoScrollBound=n._autoScroll.bind(n),n._trackBound=n._track.bind(n),n.options.fullWidth&&(n.options.dist=0,n._setCarouselHeight(),n.showIndicators&&n.$el.find(\".carousel-fixed-item\").addClass(\"with-indicators\")),n.$indicators=b('<ul class=\"indicators\"></ul>'),n.$el.find(\".carousel-item\").each(function(t,e){if(n.images.push(t),n.showIndicators){var i=b('<li class=\"indicator-item\"></li>');0===e&&i[0].classList.add(\"active\"),n.$indicators.append(i)}}),n.showIndicators&&n.$el.append(n.$indicators),n.count=n.images.length,n.options.numVisible=Math.min(n.count,n.options.numVisible),n.xform=\"transform\",[\"webkit\",\"Moz\",\"O\",\"ms\"].every(function(t){var e=t+\"Transform\";return void 0===document.body.style[e]||(n.xform=e,!1)}),n._setupEventHandlers(),n._scroll(n.offset),n}return _inherits(i,Component),_createClass(i,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this.el.M_Carousel=void 0}},{key:\"_setupEventHandlers\",value:function(){var i=this;this._handleCarouselTapBound=this._handleCarouselTap.bind(this),this._handleCarouselDragBound=this._handleCarouselDrag.bind(this),this._handleCarouselReleaseBound=this._handleCarouselRelease.bind(this),this._handleCarouselClickBound=this._handleCarouselClick.bind(this),void 0!==window.ontouchstart&&(this.el.addEventListener(\"touchstart\",this._handleCarouselTapBound),this.el.addEventListener(\"touchmove\",this._handleCarouselDragBound),this.el.addEventListener(\"touchend\",this._handleCarouselReleaseBound)),this.el.addEventListener(\"mousedown\",this._handleCarouselTapBound),this.el.addEventListener(\"mousemove\",this._handleCarouselDragBound),this.el.addEventListener(\"mouseup\",this._handleCarouselReleaseBound),this.el.addEventListener(\"mouseleave\",this._handleCarouselReleaseBound),this.el.addEventListener(\"click\",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&(this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.$indicators.find(\".indicator-item\").each(function(t,e){t.addEventListener(\"click\",i._handleIndicatorClickBound)}));var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener(\"resize\",this._handleThrottledResizeBound)}},{key:\"_removeEventHandlers\",value:function(){var i=this;void 0!==window.ontouchstart&&(this.el.removeEventListener(\"touchstart\",this._handleCarouselTapBound),this.el.removeEventListener(\"touchmove\",this._handleCarouselDragBound),this.el.removeEventListener(\"touchend\",this._handleCarouselReleaseBound)),this.el.removeEventListener(\"mousedown\",this._handleCarouselTapBound),this.el.removeEventListener(\"mousemove\",this._handleCarouselDragBound),this.el.removeEventListener(\"mouseup\",this._handleCarouselReleaseBound),this.el.removeEventListener(\"mouseleave\",this._handleCarouselReleaseBound),this.el.removeEventListener(\"click\",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&this.$indicators.find(\".indicator-item\").each(function(t,e){t.removeEventListener(\"click\",i._handleIndicatorClickBound)}),window.removeEventListener(\"resize\",this._handleThrottledResizeBound)}},{key:\"_handleCarouselTap\",value:function(t){\"mousedown\"===t.type&&b(t.target).is(\"img\")&&t.preventDefault(),this.pressed=!0,this.dragged=!1,this.verticalDragged=!1,this.reference=this._xpos(t),this.referenceY=this._ypos(t),this.velocity=this.amplitude=0,this.frame=this.offset,this.timestamp=Date.now(),clearInterval(this.ticker),this.ticker=setInterval(this._trackBound,100)}},{key:\"_handleCarouselDrag\",value:function(t){var e=void 0,i=void 0,n=void 0;if(this.pressed)if(e=this._xpos(t),i=this._ypos(t),n=this.reference-e,Math.abs(this.referenceY-i)<30&&!this.verticalDragged)(2<n||n<-2)&&(this.dragged=!0,this.reference=e,this._scroll(this.offset+n));else{if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1;this.verticalDragged=!0}if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1}},{key:\"_handleCarouselRelease\",value:function(t){if(this.pressed)return this.pressed=!1,clearInterval(this.ticker),this.target=this.offset,(10<this.velocity||this.velocity<-10)&&(this.amplitude=.9*this.velocity,this.target=this.offset+this.amplitude),this.target=Math.round(this.target/this.dim)*this.dim,this.noWrap&&(this.target>=this.dim*(this.count-1)?this.target=this.dim*(this.count-1):this.target<0&&(this.target=0)),this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound),this.dragged&&(t.preventDefault(),t.stopPropagation()),!1}},{key:\"_handleCarouselClick\",value:function(t){if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1;if(!this.options.fullWidth){var e=b(t.target).closest(\".carousel-item\").index();0!==this._wrap(this.center)-e&&(t.preventDefault(),t.stopPropagation()),this._cycleTo(e)}}},{key:\"_handleIndicatorClick\",value:function(t){t.stopPropagation();var e=b(t.target).closest(\".indicator-item\");e.length&&this._cycleTo(e.index())}},{key:\"_handleResize\",value:function(t){this.options.fullWidth?(this.itemWidth=this.$el.find(\".carousel-item\").first().innerWidth(),this.imageHeight=this.$el.find(\".carousel-item.active\").height(),this.dim=2*this.itemWidth+this.options.padding,this.offset=2*this.center*this.itemWidth,this.target=this.offset,this._setCarouselHeight(!0)):this._scroll()}},{key:\"_setCarouselHeight\",value:function(t){var i=this,e=this.$el.find(\".carousel-item.active\").length?this.$el.find(\".carousel-item.active\").first():this.$el.find(\".carousel-item\").first(),n=e.find(\"img\").first();if(n.length)if(n[0].complete){var s=n.height();if(0<s)this.$el.css(\"height\",s+\"px\");else{var o=n[0].naturalWidth,a=n[0].naturalHeight,r=this.$el.width()/o*a;this.$el.css(\"height\",r+\"px\")}}else n.one(\"load\",function(t,e){i.$el.css(\"height\",t.offsetHeight+\"px\")});else if(!t){var l=e.height();this.$el.css(\"height\",l+\"px\")}}},{key:\"_xpos\",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?t.targetTouches[0].clientX:t.clientX}},{key:\"_ypos\",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?t.targetTouches[0].clientY:t.clientY}},{key:\"_wrap\",value:function(t){return t>=this.count?t%this.count:t<0?this._wrap(this.count+t%this.count):t}},{key:\"_track\",value:function(){var t,e,i,n;e=(t=Date.now())-this.timestamp,this.timestamp=t,i=this.offset-this.frame,this.frame=this.offset,n=1e3*i/(1+e),this.velocity=.8*n+.2*this.velocity}},{key:\"_autoScroll\",value:function(){var t=void 0,e=void 0;this.amplitude&&(t=Date.now()-this.timestamp,2<(e=this.amplitude*Math.exp(-t/this.options.duration))||e<-2?(this._scroll(this.target-e),requestAnimationFrame(this._autoScrollBound)):this._scroll(this.target))}},{key:\"_scroll\",value:function(t){var e=this;this.$el.hasClass(\"scrolling\")||this.el.classList.add(\"scrolling\"),null!=this.scrollingTimeout&&window.clearTimeout(this.scrollingTimeout),this.scrollingTimeout=window.setTimeout(function(){e.$el.removeClass(\"scrolling\")},this.options.duration);var i,n,s,o,a=void 0,r=void 0,l=void 0,h=void 0,d=void 0,u=void 0,c=this.center,p=1/this.options.numVisible;if(this.offset=\"number\"==typeof t?t:this.offset,this.center=Math.floor((this.offset+this.dim/2)/this.dim),o=-(s=(n=this.offset-this.center*this.dim)<0?1:-1)*n*2/this.dim,i=this.count>>1,this.options.fullWidth?(l=\"translateX(0)\",u=1):(l=\"translateX(\"+(this.el.clientWidth-this.itemWidth)/2+\"px) \",l+=\"translateY(\"+(this.el.clientHeight-this.itemHeight)/2+\"px)\",u=1-p*o),this.showIndicators){var v=this.center%this.count,f=this.$indicators.find(\".indicator-item.active\");f.index()!==v&&(f.removeClass(\"active\"),this.$indicators.find(\".indicator-item\").eq(v)[0].classList.add(\"active\"))}if(!this.noWrap||0<=this.center&&this.center<this.count){r=this.images[this._wrap(this.center)],b(r).hasClass(\"active\")||(this.$el.find(\".carousel-item\").removeClass(\"active\"),r.classList.add(\"active\"));var m=l+\" translateX(\"+-n/2+\"px) translateX(\"+s*this.options.shift*o*a+\"px) translateZ(\"+this.options.dist*o+\"px)\";this._updateItemStyle(r,u,0,m)}for(a=1;a<=i;++a){if(this.options.fullWidth?(h=this.options.dist,d=a===i&&n<0?1-o:1):(h=this.options.dist*(2*a+o*s),d=1-p*(2*a+o*s)),!this.noWrap||this.center+a<this.count){r=this.images[this._wrap(this.center+a)];var g=l+\" translateX(\"+(this.options.shift+(this.dim*a-n)/2)+\"px) translateZ(\"+h+\"px)\";this._updateItemStyle(r,d,-a,g)}if(this.options.fullWidth?(h=this.options.dist,d=a===i&&0<n?1-o:1):(h=this.options.dist*(2*a-o*s),d=1-p*(2*a-o*s)),!this.noWrap||0<=this.center-a){r=this.images[this._wrap(this.center-a)];var _=l+\" translateX(\"+(-this.options.shift+(-this.dim*a-n)/2)+\"px) translateZ(\"+h+\"px)\";this._updateItemStyle(r,d,-a,_)}}if(!this.noWrap||0<=this.center&&this.center<this.count){r=this.images[this._wrap(this.center)];var y=l+\" translateX(\"+-n/2+\"px) translateX(\"+s*this.options.shift*o+\"px) translateZ(\"+this.options.dist*o+\"px)\";this._updateItemStyle(r,u,0,y)}var k=this.$el.find(\".carousel-item\").eq(this._wrap(this.center));c!==this.center&&\"function\"==typeof this.options.onCycleTo&&this.options.onCycleTo.call(this,k[0],this.dragged),\"function\"==typeof this.oneTimeCallback&&(this.oneTimeCallback.call(this,k[0],this.dragged),this.oneTimeCallback=null)}},{key:\"_updateItemStyle\",value:function(t,e,i,n){t.style[this.xform]=n,t.style.zIndex=i,t.style.opacity=e,t.style.visibility=\"visible\"}},{key:\"_cycleTo\",value:function(t,e){var i=this.center%this.count-t;this.noWrap||(i<0?Math.abs(i+this.count)<Math.abs(i)&&(i+=this.count):0<i&&Math.abs(i-this.count)<i&&(i-=this.count)),this.target=this.dim*Math.round(this.offset/this.dim),i<0?this.target+=this.dim*Math.abs(i):0<i&&(this.target-=this.dim*i),\"function\"==typeof e&&(this.oneTimeCallback=e),this.offset!==this.target&&(this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound))}},{key:\"next\",value:function(t){(void 0===t||isNaN(t))&&(t=1);var e=this.center+t;if(e>=this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e)}},{key:\"prev\",value:function(t){(void 0===t||isNaN(t))&&(t=1);var e=this.center-t;if(e>=this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e)}},{key:\"set\",value:function(t,e){if((void 0===t||isNaN(t))&&(t=0),t>this.count||t<0){if(this.noWrap)return;t=this._wrap(t)}this._cycleTo(t,e)}}],[{key:\"init\",value:function(t,e){return _get(i.__proto__||Object.getPrototypeOf(i),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Carousel}},{key:\"defaults\",get:function(){return e}}]),i}();M.Carousel=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"carousel\",\"M_Carousel\")}(cash),function(S){\"use strict\";var e={onOpen:void 0,onClose:void 0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_TapTarget=i).options=S.extend({},n.defaults,e),i.isOpen=!1,i.$origin=S(\"#\"+i.$el.attr(\"data-target\")),i._setup(),i._calculatePositioning(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this.el.TapTarget=void 0}},{key:\"_setupEventHandlers\",value:function(){this._handleDocumentClickBound=this._handleDocumentClick.bind(this),this._handleTargetClickBound=this._handleTargetClick.bind(this),this._handleOriginClickBound=this._handleOriginClick.bind(this),this.el.addEventListener(\"click\",this._handleTargetClickBound),this.originEl.addEventListener(\"click\",this._handleOriginClickBound);var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener(\"resize\",this._handleThrottledResizeBound)}},{key:\"_removeEventHandlers\",value:function(){this.el.removeEventListener(\"click\",this._handleTargetClickBound),this.originEl.removeEventListener(\"click\",this._handleOriginClickBound),window.removeEventListener(\"resize\",this._handleThrottledResizeBound)}},{key:\"_handleTargetClick\",value:function(t){this.open()}},{key:\"_handleOriginClick\",value:function(t){this.close()}},{key:\"_handleResize\",value:function(t){this._calculatePositioning()}},{key:\"_handleDocumentClick\",value:function(t){S(t.target).closest(\".tap-target-wrapper\").length||(this.close(),t.preventDefault(),t.stopPropagation())}},{key:\"_setup\",value:function(){this.wrapper=this.$el.parent()[0],this.waveEl=S(this.wrapper).find(\".tap-target-wave\")[0],this.originEl=S(this.wrapper).find(\".tap-target-origin\")[0],this.contentEl=this.$el.find(\".tap-target-content\")[0],S(this.wrapper).hasClass(\".tap-target-wrapper\")||(this.wrapper=document.createElement(\"div\"),this.wrapper.classList.add(\"tap-target-wrapper\"),this.$el.before(S(this.wrapper)),this.wrapper.append(this.el)),this.contentEl||(this.contentEl=document.createElement(\"div\"),this.contentEl.classList.add(\"tap-target-content\"),this.$el.append(this.contentEl)),this.waveEl||(this.waveEl=document.createElement(\"div\"),this.waveEl.classList.add(\"tap-target-wave\"),this.originEl||(this.originEl=this.$origin.clone(!0,!0),this.originEl.addClass(\"tap-target-origin\"),this.originEl.removeAttr(\"id\"),this.originEl.removeAttr(\"style\"),this.originEl=this.originEl[0],this.waveEl.append(this.originEl)),this.wrapper.append(this.waveEl))}},{key:\"_calculatePositioning\",value:function(){var t=\"fixed\"===this.$origin.css(\"position\");if(!t)for(var e=this.$origin.parents(),i=0;i<e.length&&!(t=\"fixed\"==S(e[i]).css(\"position\"));i++);var n=this.$origin.outerWidth(),s=this.$origin.outerHeight(),o=t?this.$origin.offset().top-M.getDocumentScrollTop():this.$origin.offset().top,a=t?this.$origin.offset().left-M.getDocumentScrollLeft():this.$origin.offset().left,r=window.innerWidth,l=window.innerHeight,h=r/2,d=l/2,u=a<=h,c=h<a,p=o<=d,v=d<o,f=.25*r<=a&&a<=.75*r,m=this.$el.outerWidth(),g=this.$el.outerHeight(),_=o+s/2-g/2,y=a+n/2-m/2,k=t?\"fixed\":\"absolute\",b=f?m:m/2+n,w=g/2,C=p?g/2:0,E=u&&!f?m/2-n:0,O=n,x=v?\"bottom\":\"top\",L=2*n,T=L,$=g/2-T/2,B=m/2-L/2,D={};D.top=p?_+\"px\":\"\",D.right=c?r-y-m+\"px\":\"\",D.bottom=v?l-_-g+\"px\":\"\",D.left=u?y+\"px\":\"\",D.position=k,S(this.wrapper).css(D),S(this.contentEl).css({width:b+\"px\",height:w+\"px\",top:C+\"px\",right:\"0px\",bottom:\"0px\",left:E+\"px\",padding:O+\"px\",verticalAlign:x}),S(this.waveEl).css({top:$+\"px\",left:B+\"px\",width:L+\"px\",height:T+\"px\"})}},{key:\"open\",value:function(){this.isOpen||(\"function\"==typeof this.options.onOpen&&this.options.onOpen.call(this,this.$origin[0]),this.isOpen=!0,this.wrapper.classList.add(\"open\"),document.body.addEventListener(\"click\",this._handleDocumentClickBound,!0),document.body.addEventListener(\"touchend\",this._handleDocumentClickBound))}},{key:\"close\",value:function(){this.isOpen&&(\"function\"==typeof this.options.onClose&&this.options.onClose.call(this,this.$origin[0]),this.isOpen=!1,this.wrapper.classList.remove(\"open\"),document.body.removeEventListener(\"click\",this._handleDocumentClickBound,!0),document.body.removeEventListener(\"touchend\",this._handleDocumentClickBound))}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_TapTarget}},{key:\"defaults\",get:function(){return e}}]),n}();M.TapTarget=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"tapTarget\",\"M_TapTarget\")}(cash),function(d){\"use strict\";var e={classes:\"\",dropdownOptions:{}},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return i.$el.hasClass(\"browser-default\")?_possibleConstructorReturn(i):((i.el.M_FormSelect=i).options=d.extend({},n.defaults,e),i.isMultiple=i.$el.prop(\"multiple\"),i.el.tabIndex=-1,i._keysSelected={},i._valueDict={},i._setupDropdown(),i._setupEventHandlers(),i)}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this._removeDropdown(),this.el.M_FormSelect=void 0}},{key:\"_setupEventHandlers\",value:function(){var e=this;this._handleSelectChangeBound=this._handleSelectChange.bind(this),this._handleOptionClickBound=this._handleOptionClick.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),d(this.dropdownOptions).find(\"li:not(.optgroup)\").each(function(t){t.addEventListener(\"click\",e._handleOptionClickBound)}),this.el.addEventListener(\"change\",this._handleSelectChangeBound),this.input.addEventListener(\"click\",this._handleInputClickBound)}},{key:\"_removeEventHandlers\",value:function(){var e=this;d(this.dropdownOptions).find(\"li:not(.optgroup)\").each(function(t){t.removeEventListener(\"click\",e._handleOptionClickBound)}),this.el.removeEventListener(\"change\",this._handleSelectChangeBound),this.input.removeEventListener(\"click\",this._handleInputClickBound)}},{key:\"_handleSelectChange\",value:function(t){this._setValueToInput()}},{key:\"_handleOptionClick\",value:function(t){t.preventDefault();var e=d(t.target).closest(\"li\")[0],i=e.id;if(!d(e).hasClass(\"disabled\")&&!d(e).hasClass(\"optgroup\")&&i.length){var n=!0;if(this.isMultiple){var s=d(this.dropdownOptions).find(\"li.disabled.selected\");s.length&&(s.removeClass(\"selected\"),s.find('input[type=\"checkbox\"]').prop(\"checked\",!1),this._toggleEntryFromArray(s[0].id)),n=this._toggleEntryFromArray(i)}else d(this.dropdownOptions).find(\"li\").removeClass(\"selected\"),d(e).toggleClass(\"selected\",n);d(this._valueDict[i].el).prop(\"selected\")!==n&&(d(this._valueDict[i].el).prop(\"selected\",n),this.$el.trigger(\"change\"))}t.stopPropagation()}},{key:\"_handleInputClick\",value:function(){this.dropdown&&this.dropdown.isOpen&&(this._setValueToInput(),this._setSelectedStates())}},{key:\"_setupDropdown\",value:function(){var n=this;this.wrapper=document.createElement(\"div\"),d(this.wrapper).addClass(\"select-wrapper \"+this.options.classes),this.$el.before(d(this.wrapper)),this.wrapper.appendChild(this.el),this.el.disabled&&this.wrapper.classList.add(\"disabled\"),this.$selectOptions=this.$el.children(\"option, optgroup\"),this.dropdownOptions=document.createElement(\"ul\"),this.dropdownOptions.id=\"select-options-\"+M.guid(),d(this.dropdownOptions).addClass(\"dropdown-content select-dropdown \"+(this.isMultiple?\"multiple-select-dropdown\":\"\")),this.$selectOptions.length&&this.$selectOptions.each(function(t){if(d(t).is(\"option\")){var e=void 0;e=n.isMultiple?n._appendOptionWithIcon(n.$el,t,\"multiple\"):n._appendOptionWithIcon(n.$el,t),n._addOptionToValueDict(t,e)}else if(d(t).is(\"optgroup\")){var i=d(t).children(\"option\");d(n.dropdownOptions).append(d('<li class=\"optgroup\"><span>'+t.getAttribute(\"label\")+\"</span></li>\")[0]),i.each(function(t){var e=n._appendOptionWithIcon(n.$el,t,\"optgroup-option\");n._addOptionToValueDict(t,e)})}}),this.$el.after(this.dropdownOptions),this.input=document.createElement(\"input\"),d(this.input).addClass(\"select-dropdown dropdown-trigger\"),this.input.setAttribute(\"type\",\"text\"),this.input.setAttribute(\"readonly\",\"true\"),this.input.setAttribute(\"data-target\",this.dropdownOptions.id),this.el.disabled&&d(this.input).prop(\"disabled\",\"true\"),this.$el.before(this.input),this._setValueToInput();var t=d('<svg class=\"caret\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 10l5 5 5-5z\"/><path d=\"M0 0h24v24H0z\" fill=\"none\"/></svg>');if(this.$el.before(t[0]),!this.el.disabled){var e=d.extend({},this.options.dropdownOptions);e.onOpenEnd=function(t){var e=d(n.dropdownOptions).find(\".selected\").first();if(e.length&&(M.keyDown=!0,n.dropdown.focusedIndex=e.index(),n.dropdown._focusFocusedItem(),M.keyDown=!1,n.dropdown.isScrollable)){var i=e[0].getBoundingClientRect().top-n.dropdownOptions.getBoundingClientRect().top;i-=n.dropdownOptions.clientHeight/2,n.dropdownOptions.scrollTop=i}},this.isMultiple&&(e.closeOnClick=!1),this.dropdown=M.Dropdown.init(this.input,e)}this._setSelectedStates()}},{key:\"_addOptionToValueDict\",value:function(t,e){var i=Object.keys(this._valueDict).length,n=this.dropdownOptions.id+i,s={};e.id=n,s.el=t,s.optionEl=e,this._valueDict[n]=s}},{key:\"_removeDropdown\",value:function(){d(this.wrapper).find(\".caret\").remove(),d(this.input).remove(),d(this.dropdownOptions).remove(),d(this.wrapper).before(this.$el),d(this.wrapper).remove()}},{key:\"_appendOptionWithIcon\",value:function(t,e,i){var n=e.disabled?\"disabled \":\"\",s=\"optgroup-option\"===i?\"optgroup-option \":\"\",o=this.isMultiple?'<label><input type=\"checkbox\"'+n+'\"/><span>'+e.innerHTML+\"</span></label>\":e.innerHTML,a=d(\"<li></li>\"),r=d(\"<span></span>\");r.html(o),a.addClass(n+\" \"+s),a.append(r);var l=e.getAttribute(\"data-icon\");if(l){var h=d('<img alt=\"\" src=\"'+l+'\">');a.prepend(h)}return d(this.dropdownOptions).append(a[0]),a[0]}},{key:\"_toggleEntryFromArray\",value:function(t){var e=!this._keysSelected.hasOwnProperty(t),i=d(this._valueDict[t].optionEl);return e?this._keysSelected[t]=!0:delete this._keysSelected[t],i.toggleClass(\"selected\",e),i.find('input[type=\"checkbox\"]').prop(\"checked\",e),i.prop(\"selected\",e),e}},{key:\"_setValueToInput\",value:function(){var i=[];if(this.$el.find(\"option\").each(function(t){if(d(t).prop(\"selected\")){var e=d(t).text();i.push(e)}}),!i.length){var t=this.$el.find(\"option:disabled\").eq(0);t.length&&\"\"===t[0].value&&i.push(t.text())}this.input.value=i.join(\", \")}},{key:\"_setSelectedStates\",value:function(){for(var t in this._keysSelected={},this._valueDict){var e=this._valueDict[t],i=d(e.el).prop(\"selected\");d(e.optionEl).find('input[type=\"checkbox\"]').prop(\"checked\",i),i?(this._activateOption(d(this.dropdownOptions),d(e.optionEl)),this._keysSelected[t]=!0):d(e.optionEl).removeClass(\"selected\")}}},{key:\"_activateOption\",value:function(t,e){e&&(this.isMultiple||t.find(\"li.selected\").removeClass(\"selected\"),d(e).addClass(\"selected\"))}},{key:\"getSelectedValues\",value:function(){var t=[];for(var e in this._keysSelected)t.push(this._valueDict[e].el.value);return t}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_FormSelect}},{key:\"defaults\",get:function(){return e}}]),n}();M.FormSelect=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"formSelect\",\"M_FormSelect\")}(cash),function(s,e){\"use strict\";var i={},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Range=i).options=s.extend({},n.defaults,e),i._mousedown=!1,i._setupThumb(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this._removeThumb(),this.el.M_Range=void 0}},{key:\"_setupEventHandlers\",value:function(){this._handleRangeChangeBound=this._handleRangeChange.bind(this),this._handleRangeMousedownTouchstartBound=this._handleRangeMousedownTouchstart.bind(this),this._handleRangeInputMousemoveTouchmoveBound=this._handleRangeInputMousemoveTouchmove.bind(this),this._handleRangeMouseupTouchendBound=this._handleRangeMouseupTouchend.bind(this),this._handleRangeBlurMouseoutTouchleaveBound=this._handleRangeBlurMouseoutTouchleave.bind(this),this.el.addEventListener(\"change\",this._handleRangeChangeBound),this.el.addEventListener(\"mousedown\",this._handleRangeMousedownTouchstartBound),this.el.addEventListener(\"touchstart\",this._handleRangeMousedownTouchstartBound),this.el.addEventListener(\"input\",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener(\"mousemove\",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener(\"touchmove\",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener(\"mouseup\",this._handleRangeMouseupTouchendBound),this.el.addEventListener(\"touchend\",this._handleRangeMouseupTouchendBound),this.el.addEventListener(\"blur\",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener(\"mouseout\",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener(\"touchleave\",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:\"_removeEventHandlers\",value:function(){this.el.removeEventListener(\"change\",this._handleRangeChangeBound),this.el.removeEventListener(\"mousedown\",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener(\"touchstart\",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener(\"input\",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener(\"mousemove\",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener(\"touchmove\",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener(\"mouseup\",this._handleRangeMouseupTouchendBound),this.el.removeEventListener(\"touchend\",this._handleRangeMouseupTouchendBound),this.el.removeEventListener(\"blur\",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener(\"mouseout\",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener(\"touchleave\",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:\"_handleRangeChange\",value:function(){s(this.value).html(this.$el.val()),s(this.thumb).hasClass(\"active\")||this._showRangeBubble();var t=this._calcRangeOffset();s(this.thumb).addClass(\"active\").css(\"left\",t+\"px\")}},{key:\"_handleRangeMousedownTouchstart\",value:function(t){if(s(this.value).html(this.$el.val()),this._mousedown=!0,this.$el.addClass(\"active\"),s(this.thumb).hasClass(\"active\")||this._showRangeBubble(),\"input\"!==t.type){var e=this._calcRangeOffset();s(this.thumb).addClass(\"active\").css(\"left\",e+\"px\")}}},{key:\"_handleRangeInputMousemoveTouchmove\",value:function(){if(this._mousedown){s(this.thumb).hasClass(\"active\")||this._showRangeBubble();var t=this._calcRangeOffset();s(this.thumb).addClass(\"active\").css(\"left\",t+\"px\"),s(this.value).html(this.$el.val())}}},{key:\"_handleRangeMouseupTouchend\",value:function(){this._mousedown=!1,this.$el.removeClass(\"active\")}},{key:\"_handleRangeBlurMouseoutTouchleave\",value:function(){if(!this._mousedown){var t=7+parseInt(this.$el.css(\"padding-left\"))+\"px\";s(this.thumb).hasClass(\"active\")&&(e.remove(this.thumb),e({targets:this.thumb,height:0,width:0,top:10,easing:\"easeOutQuad\",marginLeft:t,duration:100})),s(this.thumb).removeClass(\"active\")}}},{key:\"_setupThumb\",value:function(){this.thumb=document.createElement(\"span\"),this.value=document.createElement(\"span\"),s(this.thumb).addClass(\"thumb\"),s(this.value).addClass(\"value\"),s(this.thumb).append(this.value),this.$el.after(this.thumb)}},{key:\"_removeThumb\",value:function(){s(this.thumb).remove()}},{key:\"_showRangeBubble\",value:function(){var t=-7+parseInt(s(this.thumb).parent().css(\"padding-left\"))+\"px\";e.remove(this.thumb),e({targets:this.thumb,height:30,width:30,top:-30,marginLeft:t,duration:300,easing:\"easeOutQuint\"})}},{key:\"_calcRangeOffset\",value:function(){var t=this.$el.width()-15,e=parseFloat(this.$el.attr(\"max\"))||100,i=parseFloat(this.$el.attr(\"min\"))||0;return(parseFloat(this.$el.val())-i)/(e-i)*t}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Range}},{key:\"defaults\",get:function(){return i}}]),n}();M.Range=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"range\",\"M_Range\"),t.init(s(\"input[type=range]\"))}(cash,M.anime);","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.meiosisSetup = void 0;\nvar setup_1 = require(\"./setup\");\nObject.defineProperty(exports, \"meiosisSetup\", { enumerable: true, get: function () { return setup_1.meiosisSetup; } });\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.meiosisSetup = void 0;\nconst simple_stream_1 = require(\"./simple-stream\");\nconst util_1 = require(\"./util\");\nconst mergerino_1 = __importDefault(require(\"mergerino\"));\nconst assoc = (prop, value, target) => {\n target[prop] = value;\n return target;\n};\nconst concatIfPresent = (target, source) => source ? target.concat(source) : target;\nconst assembleInitialState = (nestedComponents) => nestedComponents\n ? Object.keys(nestedComponents).reduce((result, key) => assoc(key, Object.assign({}, nestedComponents[key].initial, assembleInitialState(nestedComponents[key].nested)), result), {})\n : {};\nconst getInitialState = (app) => Object.assign({}, app.initial, assembleInitialState(app.nested));\nconst assembleView = (nestedComponents) => nestedComponents\n ? Object.keys(nestedComponents).reduce((result, key) => {\n const nestedApp = nestedComponents[key];\n if (nestedApp.view !== undefined) {\n const view = nestedApp.view;\n return assoc(key, {\n view: (cell, ...args) => view(cell.nest(key), ...args),\n nested: assembleView(nestedApp.nested)\n }, result);\n }\n return result;\n }, {})\n : {};\nconst getView = (app) => assembleView(app.nested);\nconst assembleServices = (nestedComponents, getCell = (cell) => cell, getState = (state) => state) => nestedComponents\n ? Object.keys(nestedComponents).reduce((result, key) => {\n var _a;\n const nextGetCell = (cell) => getCell(cell).nest(key);\n const nextGetState = (state) => getState(state)[key];\n const nestedApp = nestedComponents[key];\n return concatIfPresent(result, (_a = nestedApp.services) === null || _a === void 0 ? void 0 : _a.map((service) => ({\n onchange: (state) => (service.onchange ? service.onchange(nextGetState(state)) : state),\n run: (cell) => service.run(nextGetCell(cell))\n }))).concat(assembleServices(nestedApp.nested, nextGetCell, nextGetState));\n }, [])\n : [];\nconst getServices = (app) => concatIfPresent([], app.services).concat(assembleServices(app.nested));\nconst baseSetup = ({ stream, app }) => {\n if (!stream) {\n stream = simple_stream_1.simpleStream;\n }\n const safeApp = app || {};\n const initial = getInitialState(safeApp);\n const view = getView(safeApp);\n const createStream = typeof stream === 'function' ? stream : stream.stream;\n const scan = stream.scan;\n const update = createStream();\n const states = scan((state, patch) => (0, mergerino_1.default)(state, patch), initial, update);\n return {\n states,\n update,\n view\n };\n};\nconst nestPatch = (patch, prop) => ({ [prop]: patch });\nconst nestUpdate = (parentUpdate, prop) => (patch) => parentUpdate(nestPatch(patch, prop));\nconst nestCell = (states, parentUpdate, components) => (prop) => {\n const nestedStates = states.map((state) => state[prop]);\n const getNestedState = () => states()[prop];\n const nestedUpdate = nestUpdate(parentUpdate, prop);\n const nestedComponents = (0, util_1.get)(components, [prop, 'nested']);\n return {\n states: nestedStates,\n state: getNestedState(),\n getState: getNestedState,\n update: nestedUpdate,\n nest: nestCell(nestedStates, nestedUpdate, nestedComponents),\n nested: nestedComponents\n };\n};\n/**\n * Helper to setup the Meiosis pattern with [Mergerino](https://github.com/fuzetsu/mergerino).\n *\n * @template S the State type.\n *\n * @param config the Meiosis config for use with Mergerino\n *\n * @returns a stream of Meiosis cells.\n */\nconst meiosisSetup = (config) => {\n const stream = config === null || config === void 0 ? void 0 : config.stream;\n const app = config === null || config === void 0 ? void 0 : config.app;\n const { states, update, view } = baseSetup({\n stream,\n app\n });\n const nest = nestCell(states, update, view);\n const getState = () => states();\n const getCell = (state) => ({ states, state, getState, update, nest, nested: view });\n const dropRepeats = (0, simple_stream_1.createDropRepeats)(stream);\n if (app) {\n getServices(app).forEach((service) => {\n dropRepeats(states, service.onchange).map((state) => service.run(getCell(state)));\n });\n }\n const cells = dropRepeats(states).map(getCell);\n return cells;\n};\nexports.meiosisSetup = meiosisSetup;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.dropRepeats = exports.createDropRepeats = exports.simpleStream = exports.scan = exports.stream = void 0;\n/**\n * Creates a stream.\n *\n * @template T the type of the stream's values.\n *\n * @param initial the stream's initial value.\n *\n * @returns the created stream.\n */\nconst stream = (initial) => {\n const mapFunctions = [];\n let latestValue = initial;\n const createdStream = function (value) {\n if (arguments.length > 0 && !createdStream.ended) {\n latestValue = value;\n for (const i in mapFunctions) {\n // credit @cmnstmntmn for discovering this bug.\n // Make sure to send the latest value.\n // Otherwise, if f1 triggers another update, f2 will be called with value2 and\n // then value1 (old value).\n mapFunctions[i](latestValue);\n }\n }\n return latestValue;\n };\n createdStream.map = (mapFunction) => {\n const newStream = (0, exports.stream)();\n const mappedFunction = (value) => {\n newStream(mapFunction(value));\n };\n mapFunctions.push(mappedFunction);\n newStream.end = (_value) => {\n const idx = mapFunctions.indexOf(mappedFunction);\n newStream.ended = true;\n mapFunctions.splice(idx, 1);\n };\n if (latestValue !== undefined) {\n newStream(mapFunction(latestValue));\n }\n return newStream;\n };\n createdStream.end = (_value) => {\n createdStream.ended = true;\n };\n return createdStream;\n};\nexports.stream = stream;\n/**\n * Creates a new stream that starts with the initial value and, for each value arriving onto the\n * source stream, emits the result of calling the accumulator function with the latest result and\n * the source stream value.\n */\nconst scan = (accumulator, initial, sourceStream) => {\n const newStream = (0, exports.stream)(initial);\n let accumulated = initial;\n sourceStream.map((value) => {\n accumulated = accumulator(accumulated, value);\n newStream(accumulated);\n });\n return newStream;\n};\nexports.scan = scan;\nexports.simpleStream = {\n stream: exports.stream,\n scan: exports.scan\n};\n/**\n * Credit: James Forbes (https://james-forbes.com/)\n *\n * Creates a `dropRepeats` function, which returns new stream that drops repeated values from the\n * source stream.\n *\n * @param stream the stream library, defaults to simpleStream.\n */\nconst createDropRepeats = (stream = exports.simpleStream) => \n/**\n * @param source the source stream.\n * @param onchange function that receives the current state of the source stream and returns the\n * value for which changes will emit onto the returned stream.\n * @returns a stream that does not emit repeated values.\n */\n(source, onchange = (state) => state) => {\n const createStream = typeof stream === 'function' ? stream : stream.stream;\n let prev = undefined;\n const result = createStream();\n source.map((state) => {\n const next = onchange(state);\n if (next !== prev) {\n prev = next;\n result(state);\n }\n });\n return result;\n};\nexports.createDropRepeats = createDropRepeats;\n/**\n * `dropRepeats` function that uses `simpleStream`.\n */\nexports.dropRepeats = (0, exports.createDropRepeats)();\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.updateFormFloatValue = exports.updateFormIntValue = exports.updateFormValue = exports.get = void 0;\n/**\n * Safely gets a property path from an object. The path is an array. If any property along the path\n * is `undefined`, the function returns `undefined`.\n *\n * @param object the object on which to get the property.\n * @param path the property path.\n *\n * @returns the property value, or `undefined` if any property along the path is `undefined`.\n */\nconst get = (object, path) => path.reduce((obj, key) => (obj == undefined ? undefined : obj[key]), object);\nexports.get = get;\nconst intoPath = (path, value) => ({\n [path[0]]: path.length === 1 ? value : intoPath(path.slice(1), value)\n});\nconst toPath = (pathOrProp) => Array.isArray(pathOrProp) ? pathOrProp : [pathOrProp];\nconst updateParseValue = (parseFn, cell, path) => (evt) => {\n const value = parseFn(evt.currentTarget.value);\n if (!isNaN(value)) {\n cell.update(intoPath(toPath(path), value));\n }\n};\n/**\n * Convenience function to update a form value. Pass the Meiosis cell and the state property (such\n * as `'firstName'`) or path (such as `['person', 'firstName']`) into which to update the value.\n * Returns a function that you can pass to a DOM handler, such as `oninput` (Mithril) or `onInput`\n * (Preact, React). For example:\n *\n * ```js\n * // Using Mithil\n * m('input[type=text]', { oninput: updateFormValue(cell, 'firstName') })\n *\n * // Using Preact/React\n * <input type=\"text\" onInput={updateFormValue(cell, ['person', 'firstName'])}/>\n * ```\n *\n * @param cell the Meiosis cell.\n * @param path the property or path into which to update the value.\n * @param fn (optional) a function to modify the value before updating it.\n *\n * @returns a function that accepts a DOM event and updates the value on the Meiosis state.\n */\nconst updateFormValue = (cell, path, fn = (value) => value) => (evt) => cell.update(intoPath(toPath(path), fn(evt.currentTarget.value)));\nexports.updateFormValue = updateFormValue;\n/**\n * Convenience function to update a form value with an Integer value. If the user input does not\n * return a number with `parseInt`, no state change occurs. Pass the Meiosis cell and the state\n * property (such as `'counter'`) or path (such as `['book', 'counter']`) into which to update the\n * value. Returns a function that you can pass to a DOM handler, such as `oninput` (Mithril) or\n * `onInput` (Preact, React). For example:\n *\n * ```js\n * // Using Mithil\n * m('input[type=text]', { oninput: updateFormIntValue(cell, 'counter') })\n *\n * // Using Preact/React\n * <input type=\"text\" onInput={updateFormIntValue(cell, ['book', 'counter'])}/>\n * ```\n *\n * @param cell the Meiosis cell.\n * @param path the property or path into which to update the value.\n *\n * @returns a function that accepts a DOM event and updates the value on the Meiosis state.\n */\nconst updateFormIntValue = (cell, path) => (evt) => updateParseValue(parseInt, cell, path)(evt);\nexports.updateFormIntValue = updateFormIntValue;\n/**\n * Convenience function to update a form value with a Float value. If the user input does not return\n * a number with `parseFloat`, no state change occurs. Pass the Meiosis cell and the state property\n * (such as `'pH'`) or path (such as `['water', 'pH']`) into which to update the value. Returns a\n * function that you can pass to a DOM handler, such as `oninput` (Mithril) or `onInput` (Preact,\n * React). For example:\n *\n * ```js\n * // Using Mithil\n * m('input[type=text]', { oninput: updateFormFloatValue(cell, 'pH') })\n *\n * // Using Preact/React\n * <input type=\"text\" onInput={updateFormFloatValue(cell, ['water', 'pH'])}/>\n * ```\n *\n * @param cell the Meiosis cell.\n * @param path the property or path into which to update the value.\n *\n * @returns a function that accepts a DOM event and updates the value on the Meiosis state.\n */\nconst updateFormFloatValue = (cell, path) => (evt) => updateParseValue(parseFloat, cell, path)(evt);\nexports.updateFormFloatValue = updateFormFloatValue;\n","const e=Object.assign||((e,t)=>(t&&Object.keys(t).forEach(o=>e[o]=t[o]),e)),t=(e,r,s)=>{const c=typeof s;if(s&&\"object\"===c)if(Array.isArray(s))for(const o of s)r=t(e,r,o);else for(const c of Object.keys(s)){const f=s[c];\"function\"==typeof f?r[c]=f(r[c],o):void 0===f?e&&!isNaN(c)?r.splice(c,1):delete r[c]:null===f||\"object\"!=typeof f||Array.isArray(f)?r[c]=f:\"object\"==typeof r[c]?r[c]=f===r[c]?f:o(r[c],f):r[c]=t(!1,{},f)}else\"function\"===c&&(r=s(r,o));return r},o=(o,...r)=>{const s=Array.isArray(o);return t(s,s?o.slice():e({},o),r)};export default o;\n//# sourceMappingURL=mergerino.min.js.map","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\n\nmodule.exports = function(render, schedule, console) {\n\tvar subscriptions = []\n\tvar pending = false\n\tvar offset = -1\n\n\tfunction sync() {\n\t\tfor (offset = 0; offset < subscriptions.length; offset += 2) {\n\t\t\ttry { render(subscriptions[offset], Vnode(subscriptions[offset + 1]), redraw) }\n\t\t\tcatch (e) { console.error(e) }\n\t\t}\n\t\toffset = -1\n\t}\n\n\tfunction redraw() {\n\t\tif (!pending) {\n\t\t\tpending = true\n\t\t\tschedule(function() {\n\t\t\t\tpending = false\n\t\t\t\tsync()\n\t\t\t})\n\t\t}\n\t}\n\n\tredraw.sync = sync\n\n\tfunction mount(root, component) {\n\t\tif (component != null && component.view == null && typeof component !== \"function\") {\n\t\t\tthrow new TypeError(\"m.mount expects a component, not a vnode.\")\n\t\t}\n\n\t\tvar index = subscriptions.indexOf(root)\n\t\tif (index >= 0) {\n\t\t\tsubscriptions.splice(index, 2)\n\t\t\tif (index <= offset) offset -= 2\n\t\t\trender(root, [])\n\t\t}\n\n\t\tif (component != null) {\n\t\t\tsubscriptions.push(root, component)\n\t\t\trender(root, Vnode(component), redraw)\n\t\t}\n\t}\n\n\treturn {mount: mount, redraw: redraw}\n}\n","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\nvar m = require(\"../render/hyperscript\")\n\nvar buildPathname = require(\"../pathname/build\")\nvar parsePathname = require(\"../pathname/parse\")\nvar compileTemplate = require(\"../pathname/compileTemplate\")\nvar censor = require(\"../util/censor\")\n\nvar sentinel = {}\n\nfunction decodeURIComponentSave(component) {\n\ttry {\n\t\treturn decodeURIComponent(component)\n\t} catch(e) {\n\t\treturn component\n\t}\n}\n\nmodule.exports = function($window, mountRedraw) {\n\tvar callAsync = $window == null\n\t\t// In case Mithril.js' loaded globally without the DOM, let's not break\n\t\t? null\n\t\t: typeof $window.setImmediate === \"function\" ? $window.setImmediate : $window.setTimeout\n\tvar p = Promise.resolve()\n\n\tvar scheduled = false\n\n\t// state === 0: init\n\t// state === 1: scheduled\n\t// state === 2: done\n\tvar ready = false\n\tvar state = 0\n\n\tvar compiled, fallbackRoute\n\n\tvar currentResolver = sentinel, component, attrs, currentPath, lastUpdate\n\n\tvar RouterRoot = {\n\t\tonbeforeupdate: function() {\n\t\t\tstate = state ? 2 : 1\n\t\t\treturn !(!state || sentinel === currentResolver)\n\t\t},\n\t\tonremove: function() {\n\t\t\t$window.removeEventListener(\"popstate\", fireAsync, false)\n\t\t\t$window.removeEventListener(\"hashchange\", resolveRoute, false)\n\t\t},\n\t\tview: function() {\n\t\t\tif (!state || sentinel === currentResolver) return\n\t\t\t// Wrap in a fragment to preserve existing key semantics\n\t\t\tvar vnode = [Vnode(component, attrs.key, attrs)]\n\t\t\tif (currentResolver) vnode = currentResolver.render(vnode[0])\n\t\t\treturn vnode\n\t\t},\n\t}\n\n\tvar SKIP = route.SKIP = {}\n\n\tfunction resolveRoute() {\n\t\tscheduled = false\n\t\t// Consider the pathname holistically. The prefix might even be invalid,\n\t\t// but that's not our problem.\n\t\tvar prefix = $window.location.hash\n\t\tif (route.prefix[0] !== \"#\") {\n\t\t\tprefix = $window.location.search + prefix\n\t\t\tif (route.prefix[0] !== \"?\") {\n\t\t\t\tprefix = $window.location.pathname + prefix\n\t\t\t\tif (prefix[0] !== \"/\") prefix = \"/\" + prefix\n\t\t\t}\n\t\t}\n\t\t// This seemingly useless `.concat()` speeds up the tests quite a bit,\n\t\t// since the representation is consistently a relatively poorly\n\t\t// optimized cons string.\n\t\tvar path = prefix.concat()\n\t\t\t.replace(/(?:%[a-f89][a-f0-9])+/gim, decodeURIComponentSave)\n\t\t\t.slice(route.prefix.length)\n\t\tvar data = parsePathname(path)\n\n\t\tObject.assign(data.params, $window.history.state)\n\n\t\tfunction reject(e) {\n\t\t\tconsole.error(e)\n\t\t\tsetPath(fallbackRoute, null, {replace: true})\n\t\t}\n\n\t\tloop(0)\n\t\tfunction loop(i) {\n\t\t\t// state === 0: init\n\t\t\t// state === 1: scheduled\n\t\t\t// state === 2: done\n\t\t\tfor (; i < compiled.length; i++) {\n\t\t\t\tif (compiled[i].check(data)) {\n\t\t\t\t\tvar payload = compiled[i].component\n\t\t\t\t\tvar matchedRoute = compiled[i].route\n\t\t\t\t\tvar localComp = payload\n\t\t\t\t\tvar update = lastUpdate = function(comp) {\n\t\t\t\t\t\tif (update !== lastUpdate) return\n\t\t\t\t\t\tif (comp === SKIP) return loop(i + 1)\n\t\t\t\t\t\tcomponent = comp != null && (typeof comp.view === \"function\" || typeof comp === \"function\")? comp : \"div\"\n\t\t\t\t\t\tattrs = data.params, currentPath = path, lastUpdate = null\n\t\t\t\t\t\tcurrentResolver = payload.render ? payload : null\n\t\t\t\t\t\tif (state === 2) mountRedraw.redraw()\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tstate = 2\n\t\t\t\t\t\t\tmountRedraw.redraw.sync()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// There's no understating how much I *wish* I could\n\t\t\t\t\t// use `async`/`await` here...\n\t\t\t\t\tif (payload.view || typeof payload === \"function\") {\n\t\t\t\t\t\tpayload = {}\n\t\t\t\t\t\tupdate(localComp)\n\t\t\t\t\t}\n\t\t\t\t\telse if (payload.onmatch) {\n\t\t\t\t\t\tp.then(function () {\n\t\t\t\t\t\t\treturn payload.onmatch(data.params, path, matchedRoute)\n\t\t\t\t\t\t}).then(update, path === fallbackRoute ? null : reject)\n\t\t\t\t\t}\n\t\t\t\t\telse update(\"div\")\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (path === fallbackRoute) {\n\t\t\t\tthrow new Error(\"Could not resolve default route \" + fallbackRoute + \".\")\n\t\t\t}\n\t\t\tsetPath(fallbackRoute, null, {replace: true})\n\t\t}\n\t}\n\n\t// Set it unconditionally so `m.route.set` and `m.route.Link` both work,\n\t// even if neither `pushState` nor `hashchange` are supported. It's\n\t// cleared if `hashchange` is used, since that makes it automatically\n\t// async.\n\tfunction fireAsync() {\n\t\tif (!scheduled) {\n\t\t\tscheduled = true\n\t\t\t// TODO: just do `mountRedraw.redraw()` here and elide the timer\n\t\t\t// dependency. Note that this will muck with tests a *lot*, so it's\n\t\t\t// not as easy of a change as it sounds.\n\t\t\tcallAsync(resolveRoute)\n\t\t}\n\t}\n\n\tfunction setPath(path, data, options) {\n\t\tpath = buildPathname(path, data)\n\t\tif (ready) {\n\t\t\tfireAsync()\n\t\t\tvar state = options ? options.state : null\n\t\t\tvar title = options ? options.title : null\n\t\t\tif (options && options.replace) $window.history.replaceState(state, title, route.prefix + path)\n\t\t\telse $window.history.pushState(state, title, route.prefix + path)\n\t\t}\n\t\telse {\n\t\t\t$window.location.href = route.prefix + path\n\t\t}\n\t}\n\n\tfunction route(root, defaultRoute, routes) {\n\t\tif (!root) throw new TypeError(\"DOM element being rendered to does not exist.\")\n\n\t\tcompiled = Object.keys(routes).map(function(route) {\n\t\t\tif (route[0] !== \"/\") throw new SyntaxError(\"Routes must start with a '/'.\")\n\t\t\tif ((/:([^\\/\\.-]+)(\\.{3})?:/).test(route)) {\n\t\t\t\tthrow new SyntaxError(\"Route parameter names must be separated with either '/', '.', or '-'.\")\n\t\t\t}\n\t\t\treturn {\n\t\t\t\troute: route,\n\t\t\t\tcomponent: routes[route],\n\t\t\t\tcheck: compileTemplate(route),\n\t\t\t}\n\t\t})\n\t\tfallbackRoute = defaultRoute\n\t\tif (defaultRoute != null) {\n\t\t\tvar defaultData = parsePathname(defaultRoute)\n\n\t\t\tif (!compiled.some(function (i) { return i.check(defaultData) })) {\n\t\t\t\tthrow new ReferenceError(\"Default route doesn't match any known routes.\")\n\t\t\t}\n\t\t}\n\n\t\tif (typeof $window.history.pushState === \"function\") {\n\t\t\t$window.addEventListener(\"popstate\", fireAsync, false)\n\t\t} else if (route.prefix[0] === \"#\") {\n\t\t\t$window.addEventListener(\"hashchange\", resolveRoute, false)\n\t\t}\n\n\t\tready = true\n\t\tmountRedraw.mount(root, RouterRoot)\n\t\tresolveRoute()\n\t}\n\troute.set = function(path, data, options) {\n\t\tif (lastUpdate != null) {\n\t\t\toptions = options || {}\n\t\t\toptions.replace = true\n\t\t}\n\t\tlastUpdate = null\n\t\tsetPath(path, data, options)\n\t}\n\troute.get = function() {return currentPath}\n\troute.prefix = \"#!\"\n\troute.Link = {\n\t\tview: function(vnode) {\n\t\t\t// Omit the used parameters from the rendered element - they are\n\t\t\t// internal. Also, censor the various lifecycle methods.\n\t\t\t//\n\t\t\t// We don't strip the other parameters because for convenience we\n\t\t\t// let them be specified in the selector as well.\n\t\t\tvar child = m(\n\t\t\t\tvnode.attrs.selector || \"a\",\n\t\t\t\tcensor(vnode.attrs, [\"options\", \"params\", \"selector\", \"onclick\"]),\n\t\t\t\tvnode.children\n\t\t\t)\n\t\t\tvar options, onclick, href\n\n\t\t\t// Let's provide a *right* way to disable a route link, rather than\n\t\t\t// letting people screw up accessibility on accident.\n\t\t\t//\n\t\t\t// The attribute is coerced so users don't get surprised over\n\t\t\t// `disabled: 0` resulting in a button that's somehow routable\n\t\t\t// despite being visibly disabled.\n\t\t\tif (child.attrs.disabled = Boolean(child.attrs.disabled)) {\n\t\t\t\tchild.attrs.href = null\n\t\t\t\tchild.attrs[\"aria-disabled\"] = \"true\"\n\t\t\t\t// If you *really* do want add `onclick` on a disabled link, use\n\t\t\t\t// an `oncreate` hook to add it.\n\t\t\t} else {\n\t\t\t\toptions = vnode.attrs.options\n\t\t\t\tonclick = vnode.attrs.onclick\n\t\t\t\t// Easier to build it now to keep it isomorphic.\n\t\t\t\thref = buildPathname(child.attrs.href, vnode.attrs.params)\n\t\t\t\tchild.attrs.href = route.prefix + href\n\t\t\t\tchild.attrs.onclick = function(e) {\n\t\t\t\t\tvar result\n\t\t\t\t\tif (typeof onclick === \"function\") {\n\t\t\t\t\t\tresult = onclick.call(e.currentTarget, e)\n\t\t\t\t\t} else if (onclick == null || typeof onclick !== \"object\") {\n\t\t\t\t\t\t// do nothing\n\t\t\t\t\t} else if (typeof onclick.handleEvent === \"function\") {\n\t\t\t\t\t\tonclick.handleEvent(e)\n\t\t\t\t\t}\n\n\t\t\t\t\t// Adapted from React Router's implementation:\n\t\t\t\t\t// https://github.com/ReactTraining/react-router/blob/520a0acd48ae1b066eb0b07d6d4d1790a1d02482/packages/react-router-dom/modules/Link.js\n\t\t\t\t\t//\n\t\t\t\t\t// Try to be flexible and intuitive in how we handle links.\n\t\t\t\t\t// Fun fact: links aren't as obvious to get right as you\n\t\t\t\t\t// would expect. There's a lot more valid ways to click a\n\t\t\t\t\t// link than this, and one might want to not simply click a\n\t\t\t\t\t// link, but right click or command-click it to copy the\n\t\t\t\t\t// link target, etc. Nope, this isn't just for blind people.\n\t\t\t\t\tif (\n\t\t\t\t\t\t// Skip if `onclick` prevented default\n\t\t\t\t\t\tresult !== false && !e.defaultPrevented &&\n\t\t\t\t\t\t// Ignore everything but left clicks\n\t\t\t\t\t\t(e.button === 0 || e.which === 0 || e.which === 1) &&\n\t\t\t\t\t\t// Let the browser handle `target=_blank`, etc.\n\t\t\t\t\t\t(!e.currentTarget.target || e.currentTarget.target === \"_self\") &&\n\t\t\t\t\t\t// No modifier keys\n\t\t\t\t\t\t!e.ctrlKey && !e.metaKey && !e.shiftKey && !e.altKey\n\t\t\t\t\t) {\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\te.redraw = false\n\t\t\t\t\t\troute.set(href, null, options)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn child\n\t\t},\n\t}\n\troute.param = function(key) {\n\t\treturn attrs && key != null ? attrs[key] : attrs\n\t}\n\n\treturn route\n}\n","\"use strict\"\n\nvar hyperscript = require(\"./render/hyperscript\")\n\nhyperscript.trust = require(\"./render/trust\")\nhyperscript.fragment = require(\"./render/fragment\")\n\nmodule.exports = hyperscript\n","\"use strict\"\n\nvar hyperscript = require(\"./hyperscript\")\nvar request = require(\"./request\")\nvar mountRedraw = require(\"./mount-redraw\")\nvar domFor = require(\"./render/domFor\")\n\nvar m = function m() { return hyperscript.apply(this, arguments) }\nm.m = hyperscript\nm.trust = hyperscript.trust\nm.fragment = hyperscript.fragment\nm.Fragment = \"[\"\nm.mount = mountRedraw.mount\nm.route = require(\"./route\")\nm.render = require(\"./render\")\nm.redraw = mountRedraw.redraw\nm.request = request.request\nm.parseQueryString = require(\"./querystring/parse\")\nm.buildQueryString = require(\"./querystring/build\")\nm.parsePathname = require(\"./pathname/parse\")\nm.buildPathname = require(\"./pathname/build\")\nm.vnode = require(\"./render/vnode\")\nm.censor = require(\"./util/censor\")\nm.domFor = domFor.domFor\n\nmodule.exports = m\n","\"use strict\"\n\nvar render = require(\"./render\")\n\nmodule.exports = require(\"./api/mount-redraw\")(render, typeof requestAnimationFrame !== \"undefined\" ? requestAnimationFrame : null, typeof console !== \"undefined\" ? console : null)\n","\"use strict\"\n\nvar buildQueryString = require(\"../querystring/build\")\n\n// Returns `path` from `template` + `params`\nmodule.exports = function(template, params) {\n\tif ((/:([^\\/\\.-]+)(\\.{3})?:/).test(template)) {\n\t\tthrow new SyntaxError(\"Template parameter names must be separated by either a '/', '-', or '.'.\")\n\t}\n\tif (params == null) return template\n\tvar queryIndex = template.indexOf(\"?\")\n\tvar hashIndex = template.indexOf(\"#\")\n\tvar queryEnd = hashIndex < 0 ? template.length : hashIndex\n\tvar pathEnd = queryIndex < 0 ? queryEnd : queryIndex\n\tvar path = template.slice(0, pathEnd)\n\tvar query = {}\n\n\tObject.assign(query, params)\n\n\tvar resolved = path.replace(/:([^\\/\\.-]+)(\\.{3})?/g, function(m, key, variadic) {\n\t\tdelete query[key]\n\t\t// If no such parameter exists, don't interpolate it.\n\t\tif (params[key] == null) return m\n\t\t// Escape normal parameters, but not variadic ones.\n\t\treturn variadic ? params[key] : encodeURIComponent(String(params[key]))\n\t})\n\n\t// In case the template substitution adds new query/hash parameters.\n\tvar newQueryIndex = resolved.indexOf(\"?\")\n\tvar newHashIndex = resolved.indexOf(\"#\")\n\tvar newQueryEnd = newHashIndex < 0 ? resolved.length : newHashIndex\n\tvar newPathEnd = newQueryIndex < 0 ? newQueryEnd : newQueryIndex\n\tvar result = resolved.slice(0, newPathEnd)\n\n\tif (queryIndex >= 0) result += template.slice(queryIndex, queryEnd)\n\tif (newQueryIndex >= 0) result += (queryIndex < 0 ? \"?\" : \"&\") + resolved.slice(newQueryIndex, newQueryEnd)\n\tvar querystring = buildQueryString(query)\n\tif (querystring) result += (queryIndex < 0 && newQueryIndex < 0 ? \"?\" : \"&\") + querystring\n\tif (hashIndex >= 0) result += template.slice(hashIndex)\n\tif (newHashIndex >= 0) result += (hashIndex < 0 ? \"\" : \"&\") + resolved.slice(newHashIndex)\n\treturn result\n}\n","\"use strict\"\n\nvar parsePathname = require(\"./parse\")\n\n// Compiles a template into a function that takes a resolved path (without query\n// strings) and returns an object containing the template parameters with their\n// parsed values. This expects the input of the compiled template to be the\n// output of `parsePathname`. Note that it does *not* remove query parameters\n// specified in the template.\nmodule.exports = function(template) {\n\tvar templateData = parsePathname(template)\n\tvar templateKeys = Object.keys(templateData.params)\n\tvar keys = []\n\tvar regexp = new RegExp(\"^\" + templateData.path.replace(\n\t\t// I escape literal text so people can use things like `:file.:ext` or\n\t\t// `:lang-:locale` in routes. This is all merged into one pass so I\n\t\t// don't also accidentally escape `-` and make it harder to detect it to\n\t\t// ban it from template parameters.\n\t\t/:([^\\/.-]+)(\\.{3}|\\.(?!\\.)|-)?|[\\\\^$*+.()|\\[\\]{}]/g,\n\t\tfunction(m, key, extra) {\n\t\t\tif (key == null) return \"\\\\\" + m\n\t\t\tkeys.push({k: key, r: extra === \"...\"})\n\t\t\tif (extra === \"...\") return \"(.*)\"\n\t\t\tif (extra === \".\") return \"([^/]+)\\\\.\"\n\t\t\treturn \"([^/]+)\" + (extra || \"\")\n\t\t}\n\t) + \"$\")\n\treturn function(data) {\n\t\t// First, check the params. Usually, there isn't any, and it's just\n\t\t// checking a static set.\n\t\tfor (var i = 0; i < templateKeys.length; i++) {\n\t\t\tif (templateData.params[templateKeys[i]] !== data.params[templateKeys[i]]) return false\n\t\t}\n\t\t// If no interpolations exist, let's skip all the ceremony\n\t\tif (!keys.length) return regexp.test(data.path)\n\t\tvar values = regexp.exec(data.path)\n\t\tif (values == null) return false\n\t\tfor (var i = 0; i < keys.length; i++) {\n\t\t\tdata.params[keys[i].k] = keys[i].r ? values[i + 1] : decodeURIComponent(values[i + 1])\n\t\t}\n\t\treturn true\n\t}\n}\n","\"use strict\"\n\nvar parseQueryString = require(\"../querystring/parse\")\n\n// Returns `{path, params}` from `url`\nmodule.exports = function(url) {\n\tvar queryIndex = url.indexOf(\"?\")\n\tvar hashIndex = url.indexOf(\"#\")\n\tvar queryEnd = hashIndex < 0 ? url.length : hashIndex\n\tvar pathEnd = queryIndex < 0 ? queryEnd : queryIndex\n\tvar path = url.slice(0, pathEnd).replace(/\\/{2,}/g, \"/\")\n\n\tif (!path) path = \"/\"\n\telse {\n\t\tif (path[0] !== \"/\") path = \"/\" + path\n\t}\n\treturn {\n\t\tpath: path,\n\t\tparams: queryIndex < 0\n\t\t\t? {}\n\t\t\t: parseQueryString(url.slice(queryIndex + 1, queryEnd)),\n\t}\n}\n","\"use strict\"\n\nmodule.exports = function(object) {\n\tif (Object.prototype.toString.call(object) !== \"[object Object]\") return \"\"\n\n\tvar args = []\n\tfor (var key in object) {\n\t\tdestructure(key, object[key])\n\t}\n\n\treturn args.join(\"&\")\n\n\tfunction destructure(key, value) {\n\t\tif (Array.isArray(value)) {\n\t\t\tfor (var i = 0; i < value.length; i++) {\n\t\t\t\tdestructure(key + \"[\" + i + \"]\", value[i])\n\t\t\t}\n\t\t}\n\t\telse if (Object.prototype.toString.call(value) === \"[object Object]\") {\n\t\t\tfor (var i in value) {\n\t\t\t\tdestructure(key + \"[\" + i + \"]\", value[i])\n\t\t\t}\n\t\t}\n\t\telse args.push(encodeURIComponent(key) + (value != null && value !== \"\" ? \"=\" + encodeURIComponent(value) : \"\"))\n\t}\n}\n","\"use strict\"\n\nfunction decodeURIComponentSave(str) {\n\ttry {\n\t\treturn decodeURIComponent(str)\n\t} catch(err) {\n\t\treturn str\n\t}\n}\n\nmodule.exports = function(string) {\n\tif (string === \"\" || string == null) return {}\n\tif (string.charAt(0) === \"?\") string = string.slice(1)\n\n\tvar entries = string.split(\"&\"), counters = {}, data = {}\n\tfor (var i = 0; i < entries.length; i++) {\n\t\tvar entry = entries[i].split(\"=\")\n\t\tvar key = decodeURIComponentSave(entry[0])\n\t\tvar value = entry.length === 2 ? decodeURIComponentSave(entry[1]) : \"\"\n\n\t\tif (value === \"true\") value = true\n\t\telse if (value === \"false\") value = false\n\n\t\tvar levels = key.split(/\\]\\[?|\\[/)\n\t\tvar cursor = data\n\t\tif (key.indexOf(\"[\") > -1) levels.pop()\n\t\tfor (var j = 0; j < levels.length; j++) {\n\t\t\tvar level = levels[j], nextLevel = levels[j + 1]\n\t\t\tvar isNumber = nextLevel == \"\" || !isNaN(parseInt(nextLevel, 10))\n\t\t\tif (level === \"\") {\n\t\t\t\tvar key = levels.slice(0, j).join()\n\t\t\t\tif (counters[key] == null) {\n\t\t\t\t\tcounters[key] = Array.isArray(cursor) ? cursor.length : 0\n\t\t\t\t}\n\t\t\t\tlevel = counters[key]++\n\t\t\t}\n\t\t\t// Disallow direct prototype pollution\n\t\t\telse if (level === \"__proto__\") break\n\t\t\tif (j === levels.length - 1) cursor[level] = value\n\t\t\telse {\n\t\t\t\t// Read own properties exclusively to disallow indirect\n\t\t\t\t// prototype pollution\n\t\t\t\tvar desc = Object.getOwnPropertyDescriptor(cursor, level)\n\t\t\t\tif (desc != null) desc = desc.value\n\t\t\t\tif (desc == null) cursor[level] = desc = isNumber ? [] : {}\n\t\t\t\tcursor = desc\n\t\t\t}\n\t\t}\n\t}\n\treturn data\n}\n","\"use strict\"\n\nmodule.exports = require(\"./render/render\")(typeof window !== \"undefined\" ? window : null)\n","\"use strict\"\n\nvar delayedRemoval = new WeakMap\n\nfunction *domFor(vnode, object = {}) {\n\t// To avoid unintended mangling of the internal bundler,\n\t// parameter destructuring is not used here.\n\tvar dom = vnode.dom\n\tvar domSize = vnode.domSize\n\tvar generation = object.generation\n\tif (dom != null) do {\n\t\tvar nextSibling = dom.nextSibling\n\n\t\tif (delayedRemoval.get(dom) === generation) {\n\t\t\tyield dom\n\t\t\tdomSize--\n\t\t}\n\n\t\tdom = nextSibling\n\t}\n\twhile (domSize)\n}\n\nmodule.exports = {\n\tdelayedRemoval: delayedRemoval,\n\tdomFor: domFor,\n}\n","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\nvar hyperscriptVnode = require(\"./hyperscriptVnode\")\n\nmodule.exports = function() {\n\tvar vnode = hyperscriptVnode.apply(0, arguments)\n\n\tvnode.tag = \"[\"\n\tvnode.children = Vnode.normalizeChildren(vnode.children)\n\treturn vnode\n}\n","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\nvar hyperscriptVnode = require(\"./hyperscriptVnode\")\nvar hasOwn = require(\"../util/hasOwn\")\n\nvar selectorParser = /(?:(^|#|\\.)([^#\\.\\[\\]]+))|(\\[(.+?)(?:\\s*=\\s*(\"|'|)((?:\\\\[\"'\\]]|.)*?)\\5)?\\])/g\nvar selectorCache = Object.create(null)\n\nfunction isEmpty(object) {\n\tfor (var key in object) if (hasOwn.call(object, key)) return false\n\treturn true\n}\n\nfunction compileSelector(selector) {\n\tvar match, tag = \"div\", classes = [], attrs = {}\n\twhile (match = selectorParser.exec(selector)) {\n\t\tvar type = match[1], value = match[2]\n\t\tif (type === \"\" && value !== \"\") tag = value\n\t\telse if (type === \"#\") attrs.id = value\n\t\telse if (type === \".\") classes.push(value)\n\t\telse if (match[3][0] === \"[\") {\n\t\t\tvar attrValue = match[6]\n\t\t\tif (attrValue) attrValue = attrValue.replace(/\\\\([\"'])/g, \"$1\").replace(/\\\\\\\\/g, \"\\\\\")\n\t\t\tif (match[4] === \"class\") classes.push(attrValue)\n\t\t\telse attrs[match[4]] = attrValue === \"\" ? attrValue : attrValue || true\n\t\t}\n\t}\n\tif (classes.length > 0) attrs.className = classes.join(\" \")\n\tif (isEmpty(attrs)) attrs = null\n\treturn selectorCache[selector] = {tag: tag, attrs: attrs}\n}\n\nfunction execSelector(state, vnode) {\n\tvar attrs = vnode.attrs\n\tvar hasClass = hasOwn.call(attrs, \"class\")\n\tvar className = hasClass ? attrs.class : attrs.className\n\n\tvnode.tag = state.tag\n\n\tif (state.attrs != null) {\n\t\tattrs = Object.assign({}, state.attrs, attrs)\n\n\t\tif (className != null || state.attrs.className != null) attrs.className =\n\t\t\tclassName != null\n\t\t\t\t? state.attrs.className != null\n\t\t\t\t\t? String(state.attrs.className) + \" \" + String(className)\n\t\t\t\t\t: className\n\t\t\t\t: state.attrs.className != null\n\t\t\t\t\t? state.attrs.className\n\t\t\t\t\t: null\n\t} else {\n\t\tif (className != null) attrs.className = className\n\t}\n\n\tif (hasClass) attrs.class = null\n\n\t// workaround for #2622 (reorder keys in attrs to set \"type\" first)\n\t// The DOM does things to inputs based on the \"type\", so it needs set first.\n\t// See: https://github.com/MithrilJS/mithril.js/issues/2622\n\tif (state.tag === \"input\" && hasOwn.call(attrs, \"type\")) {\n\t\tattrs = Object.assign({type: attrs.type}, attrs)\n\t}\n\n\tvnode.attrs = attrs\n\n\treturn vnode\n}\n\nfunction hyperscript(selector) {\n\tif (selector == null || typeof selector !== \"string\" && typeof selector !== \"function\" && typeof selector.view !== \"function\") {\n\t\tthrow Error(\"The selector must be either a string or a component.\");\n\t}\n\n\tvar vnode = hyperscriptVnode.apply(1, arguments)\n\n\tif (typeof selector === \"string\") {\n\t\tvnode.children = Vnode.normalizeChildren(vnode.children)\n\t\tif (selector !== \"[\") return execSelector(selectorCache[selector] || compileSelector(selector), vnode)\n\t}\n\n\tvnode.tag = selector\n\treturn vnode\n}\n\nmodule.exports = hyperscript\n","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\n\n// Call via `hyperscriptVnode.apply(startOffset, arguments)`\n//\n// The reason I do it this way, forwarding the arguments and passing the start\n// offset in `this`, is so I don't have to create a temporary array in a\n// performance-critical path.\n//\n// In native ES6, I'd instead add a final `...args` parameter to the\n// `hyperscript` and `fragment` factories and define this as\n// `hyperscriptVnode(...args)`, since modern engines do optimize that away. But\n// ES5 (what Mithril.js requires thanks to IE support) doesn't give me that luxury,\n// and engines aren't nearly intelligent enough to do either of these:\n//\n// 1. Elide the allocation for `[].slice.call(arguments, 1)` when it's passed to\n// another function only to be indexed.\n// 2. Elide an `arguments` allocation when it's passed to any function other\n// than `Function.prototype.apply` or `Reflect.apply`.\n//\n// In ES6, it'd probably look closer to this (I'd need to profile it, though):\n// module.exports = function(attrs, ...children) {\n// if (attrs == null || typeof attrs === \"object\" && attrs.tag == null && !Array.isArray(attrs)) {\n// if (children.length === 1 && Array.isArray(children[0])) children = children[0]\n// } else {\n// children = children.length === 0 && Array.isArray(attrs) ? attrs : [attrs, ...children]\n// attrs = undefined\n// }\n//\n// if (attrs == null) attrs = {}\n// return Vnode(\"\", attrs.key, attrs, children)\n// }\nmodule.exports = function() {\n\tvar attrs = arguments[this], start = this + 1, children\n\n\tif (attrs == null) {\n\t\tattrs = {}\n\t} else if (typeof attrs !== \"object\" || attrs.tag != null || Array.isArray(attrs)) {\n\t\tattrs = {}\n\t\tstart = this\n\t}\n\n\tif (arguments.length === start + 1) {\n\t\tchildren = arguments[start]\n\t\tif (!Array.isArray(children)) children = [children]\n\t} else {\n\t\tchildren = []\n\t\twhile (start < arguments.length) children.push(arguments[start++])\n\t}\n\n\treturn Vnode(\"\", attrs.key, attrs, children)\n}\n","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\nvar df = require(\"../render/domFor\")\nvar delayedRemoval = df.delayedRemoval\nvar domFor = df.domFor\n\nmodule.exports = function() {\n\tvar nameSpace = {\n\t\tsvg: \"http://www.w3.org/2000/svg\",\n\t\tmath: \"http://www.w3.org/1998/Math/MathML\"\n\t}\n\n\tvar currentRedraw\n\tvar currentRender\n\n\tfunction getDocument(dom) {\n\t\treturn dom.ownerDocument;\n\t}\n\n\tfunction getNameSpace(vnode) {\n\t\treturn vnode.attrs && vnode.attrs.xmlns || nameSpace[vnode.tag]\n\t}\n\n\t//sanity check to discourage people from doing `vnode.state = ...`\n\tfunction checkState(vnode, original) {\n\t\tif (vnode.state !== original) throw new Error(\"'vnode.state' must not be modified.\")\n\t}\n\n\t//Note: the hook is passed as the `this` argument to allow proxying the\n\t//arguments without requiring a full array allocation to do so. It also\n\t//takes advantage of the fact the current `vnode` is the first argument in\n\t//all lifecycle methods.\n\tfunction callHook(vnode) {\n\t\tvar original = vnode.state\n\t\ttry {\n\t\t\treturn this.apply(original, arguments)\n\t\t} finally {\n\t\t\tcheckState(vnode, original)\n\t\t}\n\t}\n\n\t// IE11 (at least) throws an UnspecifiedError when accessing document.activeElement when\n\t// inside an iframe. Catch and swallow this error, and heavy-handidly return null.\n\tfunction activeElement(dom) {\n\t\ttry {\n\t\t\treturn getDocument(dom).activeElement\n\t\t} catch (e) {\n\t\t\treturn null\n\t\t}\n\t}\n\t//create\n\tfunction createNodes(parent, vnodes, start, end, hooks, nextSibling, ns) {\n\t\tfor (var i = start; i < end; i++) {\n\t\t\tvar vnode = vnodes[i]\n\t\t\tif (vnode != null) {\n\t\t\t\tcreateNode(parent, vnode, hooks, ns, nextSibling)\n\t\t\t}\n\t\t}\n\t}\n\tfunction createNode(parent, vnode, hooks, ns, nextSibling) {\n\t\tvar tag = vnode.tag\n\t\tif (typeof tag === \"string\") {\n\t\t\tvnode.state = {}\n\t\t\tif (vnode.attrs != null) initLifecycle(vnode.attrs, vnode, hooks)\n\t\t\tswitch (tag) {\n\t\t\t\tcase \"#\": createText(parent, vnode, nextSibling); break\n\t\t\t\tcase \"<\": createHTML(parent, vnode, ns, nextSibling); break\n\t\t\t\tcase \"[\": createFragment(parent, vnode, hooks, ns, nextSibling); break\n\t\t\t\tdefault: createElement(parent, vnode, hooks, ns, nextSibling)\n\t\t\t}\n\t\t}\n\t\telse createComponent(parent, vnode, hooks, ns, nextSibling)\n\t}\n\tfunction createText(parent, vnode, nextSibling) {\n\t\tvnode.dom = getDocument(parent).createTextNode(vnode.children)\n\t\tinsertDOM(parent, vnode.dom, nextSibling)\n\t}\n\tvar possibleParents = {caption: \"table\", thead: \"table\", tbody: \"table\", tfoot: \"table\", tr: \"tbody\", th: \"tr\", td: \"tr\", colgroup: \"table\", col: \"colgroup\"}\n\tfunction createHTML(parent, vnode, ns, nextSibling) {\n\t\tvar match = vnode.children.match(/^\\s*?<(\\w+)/im) || []\n\t\t// not using the proper parent makes the child element(s) vanish.\n\t\t// var div = document.createElement(\"div\")\n\t\t// div.innerHTML = \"<td>i</td><td>j</td>\"\n\t\t// console.log(div.innerHTML)\n\t\t// --> \"ij\", no <td> in sight.\n\t\tvar temp = getDocument(parent).createElement(possibleParents[match[1]] || \"div\")\n\t\tif (ns === \"http://www.w3.org/2000/svg\") {\n\t\t\ttemp.innerHTML = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\">\" + vnode.children + \"</svg>\"\n\t\t\ttemp = temp.firstChild\n\t\t} else {\n\t\t\ttemp.innerHTML = vnode.children\n\t\t}\n\t\tvnode.dom = temp.firstChild\n\t\tvnode.domSize = temp.childNodes.length\n\t\t// Capture nodes to remove, so we don't confuse them.\n\t\tvar fragment = getDocument(parent).createDocumentFragment()\n\t\tvar child\n\t\twhile (child = temp.firstChild) {\n\t\t\tfragment.appendChild(child)\n\t\t}\n\t\tinsertDOM(parent, fragment, nextSibling)\n\t}\n\tfunction createFragment(parent, vnode, hooks, ns, nextSibling) {\n\t\tvar fragment = getDocument(parent).createDocumentFragment()\n\t\tif (vnode.children != null) {\n\t\t\tvar children = vnode.children\n\t\t\tcreateNodes(fragment, children, 0, children.length, hooks, null, ns)\n\t\t}\n\t\tvnode.dom = fragment.firstChild\n\t\tvnode.domSize = fragment.childNodes.length\n\t\tinsertDOM(parent, fragment, nextSibling)\n\t}\n\tfunction createElement(parent, vnode, hooks, ns, nextSibling) {\n\t\tvar tag = vnode.tag\n\t\tvar attrs = vnode.attrs\n\t\tvar is = attrs && attrs.is\n\n\t\tns = getNameSpace(vnode) || ns\n\n\t\tvar element = ns ?\n\t\t\tis ? getDocument(parent).createElementNS(ns, tag, {is: is}) : getDocument(parent).createElementNS(ns, tag) :\n\t\t\tis ? getDocument(parent).createElement(tag, {is: is}) : getDocument(parent).createElement(tag)\n\t\tvnode.dom = element\n\n\t\tif (attrs != null) {\n\t\t\tsetAttrs(vnode, attrs, ns)\n\t\t}\n\n\t\tinsertDOM(parent, element, nextSibling)\n\n\t\tif (!maybeSetContentEditable(vnode)) {\n\t\t\tif (vnode.children != null) {\n\t\t\t\tvar children = vnode.children\n\t\t\t\tcreateNodes(element, children, 0, children.length, hooks, null, ns)\n\t\t\t\tif (vnode.tag === \"select\" && attrs != null) setLateSelectAttrs(vnode, attrs)\n\t\t\t}\n\t\t}\n\t}\n\tfunction initComponent(vnode, hooks) {\n\t\tvar sentinel\n\t\tif (typeof vnode.tag.view === \"function\") {\n\t\t\tvnode.state = Object.create(vnode.tag)\n\t\t\tsentinel = vnode.state.view\n\t\t\tif (sentinel.$$reentrantLock$$ != null) return\n\t\t\tsentinel.$$reentrantLock$$ = true\n\t\t} else {\n\t\t\tvnode.state = void 0\n\t\t\tsentinel = vnode.tag\n\t\t\tif (sentinel.$$reentrantLock$$ != null) return\n\t\t\tsentinel.$$reentrantLock$$ = true\n\t\t\tvnode.state = (vnode.tag.prototype != null && typeof vnode.tag.prototype.view === \"function\") ? new vnode.tag(vnode) : vnode.tag(vnode)\n\t\t}\n\t\tinitLifecycle(vnode.state, vnode, hooks)\n\t\tif (vnode.attrs != null) initLifecycle(vnode.attrs, vnode, hooks)\n\t\tvnode.instance = Vnode.normalize(callHook.call(vnode.state.view, vnode))\n\t\tif (vnode.instance === vnode) throw Error(\"A view cannot return the vnode it received as argument\")\n\t\tsentinel.$$reentrantLock$$ = null\n\t}\n\tfunction createComponent(parent, vnode, hooks, ns, nextSibling) {\n\t\tinitComponent(vnode, hooks)\n\t\tif (vnode.instance != null) {\n\t\t\tcreateNode(parent, vnode.instance, hooks, ns, nextSibling)\n\t\t\tvnode.dom = vnode.instance.dom\n\t\t\tvnode.domSize = vnode.dom != null ? vnode.instance.domSize : 0\n\t\t}\n\t\telse {\n\t\t\tvnode.domSize = 0\n\t\t}\n\t}\n\n\t//update\n\t/**\n\t * @param {Element|Fragment} parent - the parent element\n\t * @param {Vnode[] | null} old - the list of vnodes of the last `render()` call for\n\t * this part of the tree\n\t * @param {Vnode[] | null} vnodes - as above, but for the current `render()` call.\n\t * @param {Function[]} hooks - an accumulator of post-render hooks (oncreate/onupdate)\n\t * @param {Element | null} nextSibling - the next DOM node if we're dealing with a\n\t * fragment that is not the last item in its\n\t * parent\n\t * @param {'svg' | 'math' | String | null} ns) - the current XML namespace, if any\n\t * @returns void\n\t */\n\t// This function diffs and patches lists of vnodes, both keyed and unkeyed.\n\t//\n\t// We will:\n\t//\n\t// 1. describe its general structure\n\t// 2. focus on the diff algorithm optimizations\n\t// 3. discuss DOM node operations.\n\n\t// ## Overview:\n\t//\n\t// The updateNodes() function:\n\t// - deals with trivial cases\n\t// - determines whether the lists are keyed or unkeyed based on the first non-null node\n\t// of each list.\n\t// - diffs them and patches the DOM if needed (that's the brunt of the code)\n\t// - manages the leftovers: after diffing, are there:\n\t// - old nodes left to remove?\n\t// \t - new nodes to insert?\n\t// \t deal with them!\n\t//\n\t// The lists are only iterated over once, with an exception for the nodes in `old` that\n\t// are visited in the fourth part of the diff and in the `removeNodes` loop.\n\n\t// ## Diffing\n\t//\n\t// Reading https://github.com/localvoid/ivi/blob/ddc09d06abaef45248e6133f7040d00d3c6be853/packages/ivi/src/vdom/implementation.ts#L617-L837\n\t// may be good for context on longest increasing subsequence-based logic for moving nodes.\n\t//\n\t// In order to diff keyed lists, one has to\n\t//\n\t// 1) match nodes in both lists, per key, and update them accordingly\n\t// 2) create the nodes present in the new list, but absent in the old one\n\t// 3) remove the nodes present in the old list, but absent in the new one\n\t// 4) figure out what nodes in 1) to move in order to minimize the DOM operations.\n\t//\n\t// To achieve 1) one can create a dictionary of keys => index (for the old list), then iterate\n\t// over the new list and for each new vnode, find the corresponding vnode in the old list using\n\t// the map.\n\t// 2) is achieved in the same step: if a new node has no corresponding entry in the map, it is new\n\t// and must be created.\n\t// For the removals, we actually remove the nodes that have been updated from the old list.\n\t// The nodes that remain in that list after 1) and 2) have been performed can be safely removed.\n\t// The fourth step is a bit more complex and relies on the longest increasing subsequence (LIS)\n\t// algorithm.\n\t//\n\t// the longest increasing subsequence is the list of nodes that can remain in place. Imagine going\n\t// from `1,2,3,4,5` to `4,5,1,2,3` where the numbers are not necessarily the keys, but the indices\n\t// corresponding to the keyed nodes in the old list (keyed nodes `e,d,c,b,a` => `b,a,e,d,c` would\n\t// match the above lists, for example).\n\t//\n\t// In there are two increasing subsequences: `4,5` and `1,2,3`, the latter being the longest. We\n\t// can update those nodes without moving them, and only call `insertNode` on `4` and `5`.\n\t//\n\t// @localvoid adapted the algo to also support node deletions and insertions (the `lis` is actually\n\t// the longest increasing subsequence *of old nodes still present in the new list*).\n\t//\n\t// It is a general algorithm that is fireproof in all circumstances, but it requires the allocation\n\t// and the construction of a `key => oldIndex` map, and three arrays (one with `newIndex => oldIndex`,\n\t// the `LIS` and a temporary one to create the LIS).\n\t//\n\t// So we cheat where we can: if the tails of the lists are identical, they are guaranteed to be part of\n\t// the LIS and can be updated without moving them.\n\t//\n\t// If two nodes are swapped, they are guaranteed not to be part of the LIS, and must be moved (with\n\t// the exception of the last node if the list is fully reversed).\n\t//\n\t// ## Finding the next sibling.\n\t//\n\t// `updateNode()` and `createNode()` expect a nextSibling parameter to perform DOM operations.\n\t// When the list is being traversed top-down, at any index, the DOM nodes up to the previous\n\t// vnode reflect the content of the new list, whereas the rest of the DOM nodes reflect the old\n\t// list. The next sibling must be looked for in the old list using `getNextSibling(... oldStart + 1 ...)`.\n\t//\n\t// In the other scenarios (swaps, upwards traversal, map-based diff),\n\t// the new vnodes list is traversed upwards. The DOM nodes at the bottom of the list reflect the\n\t// bottom part of the new vnodes list, and we can use the `v.dom` value of the previous node\n\t// as the next sibling (cached in the `nextSibling` variable).\n\n\n\t// ## DOM node moves\n\t//\n\t// In most scenarios `updateNode()` and `createNode()` perform the DOM operations. However,\n\t// this is not the case if the node moved (second and fourth part of the diff algo). We move\n\t// the old DOM nodes before updateNode runs because it enables us to use the cached `nextSibling`\n\t// variable rather than fetching it using `getNextSibling()`.\n\n\tfunction updateNodes(parent, old, vnodes, hooks, nextSibling, ns) {\n\t\tif (old === vnodes || old == null && vnodes == null) return\n\t\telse if (old == null || old.length === 0) createNodes(parent, vnodes, 0, vnodes.length, hooks, nextSibling, ns)\n\t\telse if (vnodes == null || vnodes.length === 0) removeNodes(parent, old, 0, old.length)\n\t\telse {\n\t\t\tvar isOldKeyed = old[0] != null && old[0].key != null\n\t\t\tvar isKeyed = vnodes[0] != null && vnodes[0].key != null\n\t\t\tvar start = 0, oldStart = 0\n\t\t\tif (!isOldKeyed) while (oldStart < old.length && old[oldStart] == null) oldStart++\n\t\t\tif (!isKeyed) while (start < vnodes.length && vnodes[start] == null) start++\n\t\t\tif (isOldKeyed !== isKeyed) {\n\t\t\t\tremoveNodes(parent, old, oldStart, old.length)\n\t\t\t\tcreateNodes(parent, vnodes, start, vnodes.length, hooks, nextSibling, ns)\n\t\t\t} else if (!isKeyed) {\n\t\t\t\t// Don't index past the end of either list (causes deopts).\n\t\t\t\tvar commonLength = old.length < vnodes.length ? old.length : vnodes.length\n\t\t\t\t// Rewind if necessary to the first non-null index on either side.\n\t\t\t\t// We could alternatively either explicitly create or remove nodes when `start !== oldStart`\n\t\t\t\t// but that would be optimizing for sparse lists which are more rare than dense ones.\n\t\t\t\tstart = start < oldStart ? start : oldStart\n\t\t\t\tfor (; start < commonLength; start++) {\n\t\t\t\t\to = old[start]\n\t\t\t\t\tv = vnodes[start]\n\t\t\t\t\tif (o === v || o == null && v == null) continue\n\t\t\t\t\telse if (o == null) createNode(parent, v, hooks, ns, getNextSibling(old, start + 1, nextSibling))\n\t\t\t\t\telse if (v == null) removeNode(parent, o)\n\t\t\t\t\telse updateNode(parent, o, v, hooks, getNextSibling(old, start + 1, nextSibling), ns)\n\t\t\t\t}\n\t\t\t\tif (old.length > commonLength) removeNodes(parent, old, start, old.length)\n\t\t\t\tif (vnodes.length > commonLength) createNodes(parent, vnodes, start, vnodes.length, hooks, nextSibling, ns)\n\t\t\t} else {\n\t\t\t\t// keyed diff\n\t\t\t\tvar oldEnd = old.length - 1, end = vnodes.length - 1, map, o, v, oe, ve, topSibling\n\n\t\t\t\t// bottom-up\n\t\t\t\twhile (oldEnd >= oldStart && end >= start) {\n\t\t\t\t\toe = old[oldEnd]\n\t\t\t\t\tve = vnodes[end]\n\t\t\t\t\tif (oe.key !== ve.key) break\n\t\t\t\t\tif (oe !== ve) updateNode(parent, oe, ve, hooks, nextSibling, ns)\n\t\t\t\t\tif (ve.dom != null) nextSibling = ve.dom\n\t\t\t\t\toldEnd--, end--\n\t\t\t\t}\n\t\t\t\t// top-down\n\t\t\t\twhile (oldEnd >= oldStart && end >= start) {\n\t\t\t\t\to = old[oldStart]\n\t\t\t\t\tv = vnodes[start]\n\t\t\t\t\tif (o.key !== v.key) break\n\t\t\t\t\toldStart++, start++\n\t\t\t\t\tif (o !== v) updateNode(parent, o, v, hooks, getNextSibling(old, oldStart, nextSibling), ns)\n\t\t\t\t}\n\t\t\t\t// swaps and list reversals\n\t\t\t\twhile (oldEnd >= oldStart && end >= start) {\n\t\t\t\t\tif (start === end) break\n\t\t\t\t\tif (o.key !== ve.key || oe.key !== v.key) break\n\t\t\t\t\ttopSibling = getNextSibling(old, oldStart, nextSibling)\n\t\t\t\t\tmoveDOM(parent, oe, topSibling)\n\t\t\t\t\tif (oe !== v) updateNode(parent, oe, v, hooks, topSibling, ns)\n\t\t\t\t\tif (++start <= --end) moveDOM(parent, o, nextSibling)\n\t\t\t\t\tif (o !== ve) updateNode(parent, o, ve, hooks, nextSibling, ns)\n\t\t\t\t\tif (ve.dom != null) nextSibling = ve.dom\n\t\t\t\t\toldStart++; oldEnd--\n\t\t\t\t\toe = old[oldEnd]\n\t\t\t\t\tve = vnodes[end]\n\t\t\t\t\to = old[oldStart]\n\t\t\t\t\tv = vnodes[start]\n\t\t\t\t}\n\t\t\t\t// bottom up once again\n\t\t\t\twhile (oldEnd >= oldStart && end >= start) {\n\t\t\t\t\tif (oe.key !== ve.key) break\n\t\t\t\t\tif (oe !== ve) updateNode(parent, oe, ve, hooks, nextSibling, ns)\n\t\t\t\t\tif (ve.dom != null) nextSibling = ve.dom\n\t\t\t\t\toldEnd--, end--\n\t\t\t\t\toe = old[oldEnd]\n\t\t\t\t\tve = vnodes[end]\n\t\t\t\t}\n\t\t\t\tif (start > end) removeNodes(parent, old, oldStart, oldEnd + 1)\n\t\t\t\telse if (oldStart > oldEnd) createNodes(parent, vnodes, start, end + 1, hooks, nextSibling, ns)\n\t\t\t\telse {\n\t\t\t\t\t// inspired by ivi https://github.com/ivijs/ivi/ by Boris Kaul\n\t\t\t\t\tvar originalNextSibling = nextSibling, vnodesLength = end - start + 1, oldIndices = new Array(vnodesLength), li=0, i=0, pos = 2147483647, matched = 0, map, lisIndices\n\t\t\t\t\tfor (i = 0; i < vnodesLength; i++) oldIndices[i] = -1\n\t\t\t\t\tfor (i = end; i >= start; i--) {\n\t\t\t\t\t\tif (map == null) map = getKeyMap(old, oldStart, oldEnd + 1)\n\t\t\t\t\t\tve = vnodes[i]\n\t\t\t\t\t\tvar oldIndex = map[ve.key]\n\t\t\t\t\t\tif (oldIndex != null) {\n\t\t\t\t\t\t\tpos = (oldIndex < pos) ? oldIndex : -1 // becomes -1 if nodes were re-ordered\n\t\t\t\t\t\t\toldIndices[i-start] = oldIndex\n\t\t\t\t\t\t\toe = old[oldIndex]\n\t\t\t\t\t\t\told[oldIndex] = null\n\t\t\t\t\t\t\tif (oe !== ve) updateNode(parent, oe, ve, hooks, nextSibling, ns)\n\t\t\t\t\t\t\tif (ve.dom != null) nextSibling = ve.dom\n\t\t\t\t\t\t\tmatched++\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tnextSibling = originalNextSibling\n\t\t\t\t\tif (matched !== oldEnd - oldStart + 1) removeNodes(parent, old, oldStart, oldEnd + 1)\n\t\t\t\t\tif (matched === 0) createNodes(parent, vnodes, start, end + 1, hooks, nextSibling, ns)\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (pos === -1) {\n\t\t\t\t\t\t\t// the indices of the indices of the items that are part of the\n\t\t\t\t\t\t\t// longest increasing subsequence in the oldIndices list\n\t\t\t\t\t\t\tlisIndices = makeLisIndices(oldIndices)\n\t\t\t\t\t\t\tli = lisIndices.length - 1\n\t\t\t\t\t\t\tfor (i = end; i >= start; i--) {\n\t\t\t\t\t\t\t\tv = vnodes[i]\n\t\t\t\t\t\t\t\tif (oldIndices[i-start] === -1) createNode(parent, v, hooks, ns, nextSibling)\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tif (lisIndices[li] === i - start) li--\n\t\t\t\t\t\t\t\t\telse moveDOM(parent, v, nextSibling)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (v.dom != null) nextSibling = vnodes[i].dom\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfor (i = end; i >= start; i--) {\n\t\t\t\t\t\t\t\tv = vnodes[i]\n\t\t\t\t\t\t\t\tif (oldIndices[i-start] === -1) createNode(parent, v, hooks, ns, nextSibling)\n\t\t\t\t\t\t\t\tif (v.dom != null) nextSibling = vnodes[i].dom\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tfunction updateNode(parent, old, vnode, hooks, nextSibling, ns) {\n\t\tvar oldTag = old.tag, tag = vnode.tag\n\t\tif (oldTag === tag) {\n\t\t\tvnode.state = old.state\n\t\t\tvnode.events = old.events\n\t\t\tif (shouldNotUpdate(vnode, old)) return\n\t\t\tif (typeof oldTag === \"string\") {\n\t\t\t\tif (vnode.attrs != null) {\n\t\t\t\t\tupdateLifecycle(vnode.attrs, vnode, hooks)\n\t\t\t\t}\n\t\t\t\tswitch (oldTag) {\n\t\t\t\t\tcase \"#\": updateText(old, vnode); break\n\t\t\t\t\tcase \"<\": updateHTML(parent, old, vnode, ns, nextSibling); break\n\t\t\t\t\tcase \"[\": updateFragment(parent, old, vnode, hooks, nextSibling, ns); break\n\t\t\t\t\tdefault: updateElement(old, vnode, hooks, ns)\n\t\t\t\t}\n\t\t\t}\n\t\t\telse updateComponent(parent, old, vnode, hooks, nextSibling, ns)\n\t\t}\n\t\telse {\n\t\t\tremoveNode(parent, old)\n\t\t\tcreateNode(parent, vnode, hooks, ns, nextSibling)\n\t\t}\n\t}\n\tfunction updateText(old, vnode) {\n\t\tif (old.children.toString() !== vnode.children.toString()) {\n\t\t\told.dom.nodeValue = vnode.children\n\t\t}\n\t\tvnode.dom = old.dom\n\t}\n\tfunction updateHTML(parent, old, vnode, ns, nextSibling) {\n\t\tif (old.children !== vnode.children) {\n\t\t\tremoveDOM(parent, old, undefined)\n\t\t\tcreateHTML(parent, vnode, ns, nextSibling)\n\t\t}\n\t\telse {\n\t\t\tvnode.dom = old.dom\n\t\t\tvnode.domSize = old.domSize\n\t\t}\n\t}\n\tfunction updateFragment(parent, old, vnode, hooks, nextSibling, ns) {\n\t\tupdateNodes(parent, old.children, vnode.children, hooks, nextSibling, ns)\n\t\tvar domSize = 0, children = vnode.children\n\t\tvnode.dom = null\n\t\tif (children != null) {\n\t\t\tfor (var i = 0; i < children.length; i++) {\n\t\t\t\tvar child = children[i]\n\t\t\t\tif (child != null && child.dom != null) {\n\t\t\t\t\tif (vnode.dom == null) vnode.dom = child.dom\n\t\t\t\t\tdomSize += child.domSize || 1\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (domSize !== 1) vnode.domSize = domSize\n\t\t}\n\t}\n\tfunction updateElement(old, vnode, hooks, ns) {\n\t\tvar element = vnode.dom = old.dom\n\t\tns = getNameSpace(vnode) || ns\n\n\t\tupdateAttrs(vnode, old.attrs, vnode.attrs, ns)\n\t\tif (!maybeSetContentEditable(vnode)) {\n\t\t\tupdateNodes(element, old.children, vnode.children, hooks, null, ns)\n\t\t}\n\t}\n\tfunction updateComponent(parent, old, vnode, hooks, nextSibling, ns) {\n\t\tvnode.instance = Vnode.normalize(callHook.call(vnode.state.view, vnode))\n\t\tif (vnode.instance === vnode) throw Error(\"A view cannot return the vnode it received as argument\")\n\t\tupdateLifecycle(vnode.state, vnode, hooks)\n\t\tif (vnode.attrs != null) updateLifecycle(vnode.attrs, vnode, hooks)\n\t\tif (vnode.instance != null) {\n\t\t\tif (old.instance == null) createNode(parent, vnode.instance, hooks, ns, nextSibling)\n\t\t\telse updateNode(parent, old.instance, vnode.instance, hooks, nextSibling, ns)\n\t\t\tvnode.dom = vnode.instance.dom\n\t\t\tvnode.domSize = vnode.instance.domSize\n\t\t}\n\t\telse if (old.instance != null) {\n\t\t\tremoveNode(parent, old.instance)\n\t\t\tvnode.dom = undefined\n\t\t\tvnode.domSize = 0\n\t\t}\n\t\telse {\n\t\t\tvnode.dom = old.dom\n\t\t\tvnode.domSize = old.domSize\n\t\t}\n\t}\n\tfunction getKeyMap(vnodes, start, end) {\n\t\tvar map = Object.create(null)\n\t\tfor (; start < end; start++) {\n\t\t\tvar vnode = vnodes[start]\n\t\t\tif (vnode != null) {\n\t\t\t\tvar key = vnode.key\n\t\t\t\tif (key != null) map[key] = start\n\t\t\t}\n\t\t}\n\t\treturn map\n\t}\n\t// Lifted from ivi https://github.com/ivijs/ivi/\n\t// takes a list of unique numbers (-1 is special and can\n\t// occur multiple times) and returns an array with the indices\n\t// of the items that are part of the longest increasing\n\t// subsequence\n\tvar lisTemp = []\n\tfunction makeLisIndices(a) {\n\t\tvar result = [0]\n\t\tvar u = 0, v = 0, i = 0\n\t\tvar il = lisTemp.length = a.length\n\t\tfor (var i = 0; i < il; i++) lisTemp[i] = a[i]\n\t\tfor (var i = 0; i < il; ++i) {\n\t\t\tif (a[i] === -1) continue\n\t\t\tvar j = result[result.length - 1]\n\t\t\tif (a[j] < a[i]) {\n\t\t\t\tlisTemp[i] = j\n\t\t\t\tresult.push(i)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tu = 0\n\t\t\tv = result.length - 1\n\t\t\twhile (u < v) {\n\t\t\t\t// Fast integer average without overflow.\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tvar c = (u >>> 1) + (v >>> 1) + (u & v & 1)\n\t\t\t\tif (a[result[c]] < a[i]) {\n\t\t\t\t\tu = c + 1\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tv = c\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (a[i] < a[result[u]]) {\n\t\t\t\tif (u > 0) lisTemp[i] = result[u - 1]\n\t\t\t\tresult[u] = i\n\t\t\t}\n\t\t}\n\t\tu = result.length\n\t\tv = result[u - 1]\n\t\twhile (u-- > 0) {\n\t\t\tresult[u] = v\n\t\t\tv = lisTemp[v]\n\t\t}\n\t\tlisTemp.length = 0\n\t\treturn result\n\t}\n\n\tfunction getNextSibling(vnodes, i, nextSibling) {\n\t\tfor (; i < vnodes.length; i++) {\n\t\t\tif (vnodes[i] != null && vnodes[i].dom != null) return vnodes[i].dom\n\t\t}\n\t\treturn nextSibling\n\t}\n\n\t// This handles fragments with zombie children (removed from vdom, but persisted in DOM through onbeforeremove)\n\tfunction moveDOM(parent, vnode, nextSibling) {\n\t\tif (vnode.dom != null) {\n\t\t\tvar target\n\t\t\tif (vnode.domSize == null) {\n\t\t\t\t// don't allocate for the common case\n\t\t\t\ttarget = vnode.dom\n\t\t\t} else {\n\t\t\t\ttarget = getDocument(parent).createDocumentFragment()\n\t\t\t\tfor (var dom of domFor(vnode)) target.appendChild(dom)\n\t\t\t}\n\t\t\tinsertDOM(parent, target, nextSibling)\n\t\t}\n\t}\n\n\tfunction insertDOM(parent, dom, nextSibling) {\n\t\tif (nextSibling != null) parent.insertBefore(dom, nextSibling)\n\t\telse parent.appendChild(dom)\n\t}\n\n\tfunction maybeSetContentEditable(vnode) {\n\t\tif (vnode.attrs == null || (\n\t\t\tvnode.attrs.contenteditable == null && // attribute\n\t\t\tvnode.attrs.contentEditable == null // property\n\t\t)) return false\n\t\tvar children = vnode.children\n\t\tif (children != null && children.length === 1 && children[0].tag === \"<\") {\n\t\t\tvar content = children[0].children\n\t\t\tif (vnode.dom.innerHTML !== content) vnode.dom.innerHTML = content\n\t\t}\n\t\telse if (children != null && children.length !== 0) throw new Error(\"Child node of a contenteditable must be trusted.\")\n\t\treturn true\n\t}\n\n\t//remove\n\tfunction removeNodes(parent, vnodes, start, end) {\n\t\tfor (var i = start; i < end; i++) {\n\t\t\tvar vnode = vnodes[i]\n\t\t\tif (vnode != null) removeNode(parent, vnode)\n\t\t}\n\t}\n\tfunction removeNode(parent, vnode) {\n\t\tvar mask = 0\n\t\tvar original = vnode.state\n\t\tvar stateResult, attrsResult\n\t\tif (typeof vnode.tag !== \"string\" && typeof vnode.state.onbeforeremove === \"function\") {\n\t\t\tvar result = callHook.call(vnode.state.onbeforeremove, vnode)\n\t\t\tif (result != null && typeof result.then === \"function\") {\n\t\t\t\tmask = 1\n\t\t\t\tstateResult = result\n\t\t\t}\n\t\t}\n\t\tif (vnode.attrs && typeof vnode.attrs.onbeforeremove === \"function\") {\n\t\t\tvar result = callHook.call(vnode.attrs.onbeforeremove, vnode)\n\t\t\tif (result != null && typeof result.then === \"function\") {\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tmask |= 2\n\t\t\t\tattrsResult = result\n\t\t\t}\n\t\t}\n\t\tcheckState(vnode, original)\n\t\tvar generation\n\t\t// If we can, try to fast-path it and avoid all the overhead of awaiting\n\t\tif (!mask) {\n\t\t\tonremove(vnode)\n\t\t\tremoveDOM(parent, vnode, generation)\n\t\t} else {\n\t\t\tgeneration = currentRender\n\t\t\tfor (var dom of domFor(vnode)) delayedRemoval.set(dom, generation)\n\t\t\tif (stateResult != null) {\n\t\t\t\tstateResult.finally(function () {\n\t\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\t\tif (mask & 1) {\n\t\t\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\t\t\tmask &= 2\n\t\t\t\t\t\tif (!mask) {\n\t\t\t\t\t\t\tcheckState(vnode, original)\n\t\t\t\t\t\t\tonremove(vnode)\n\t\t\t\t\t\t\tremoveDOM(parent, vnode, generation)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t\tif (attrsResult != null) {\n\t\t\t\tattrsResult.finally(function () {\n\t\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\t\tif (mask & 2) {\n\t\t\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\t\t\tmask &= 1\n\t\t\t\t\t\tif (!mask) {\n\t\t\t\t\t\t\tcheckState(vnode, original)\n\t\t\t\t\t\t\tonremove(vnode)\n\t\t\t\t\t\t\tremoveDOM(parent, vnode, generation)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\tfunction removeDOM(parent, vnode, generation) {\n\t\tif (vnode.dom == null) return\n\t\tif (vnode.domSize == null) {\n\t\t\t// don't allocate for the common case\n\t\t\tif (delayedRemoval.get(vnode.dom) === generation) parent.removeChild(vnode.dom)\n\t\t} else {\n\t\t\tfor (var dom of domFor(vnode, {generation})) parent.removeChild(dom)\n\t\t}\n\t}\n\n\tfunction onremove(vnode) {\n\t\tif (typeof vnode.tag !== \"string\" && typeof vnode.state.onremove === \"function\") callHook.call(vnode.state.onremove, vnode)\n\t\tif (vnode.attrs && typeof vnode.attrs.onremove === \"function\") callHook.call(vnode.attrs.onremove, vnode)\n\t\tif (typeof vnode.tag !== \"string\") {\n\t\t\tif (vnode.instance != null) onremove(vnode.instance)\n\t\t} else {\n\t\t\tvar children = vnode.children\n\t\t\tif (Array.isArray(children)) {\n\t\t\t\tfor (var i = 0; i < children.length; i++) {\n\t\t\t\t\tvar child = children[i]\n\t\t\t\t\tif (child != null) onremove(child)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t//attrs\n\tfunction setAttrs(vnode, attrs, ns) {\n\t\tfor (var key in attrs) {\n\t\t\tsetAttr(vnode, key, null, attrs[key], ns)\n\t\t}\n\t}\n\tfunction setAttr(vnode, key, old, value, ns) {\n\t\tif (key === \"key\" || key === \"is\" || value == null || isLifecycleMethod(key) || (old === value && !isFormAttribute(vnode, key)) && typeof value !== \"object\") return\n\t\tif (key[0] === \"o\" && key[1] === \"n\") return updateEvent(vnode, key, value)\n\t\tif (key.slice(0, 6) === \"xlink:\") vnode.dom.setAttributeNS(\"http://www.w3.org/1999/xlink\", key.slice(6), value)\n\t\telse if (key === \"style\") updateStyle(vnode.dom, old, value)\n\t\telse if (hasPropertyKey(vnode, key, ns)) {\n\t\t\tif (key === \"value\") {\n\t\t\t\t// Only do the coercion if we're actually going to check the value.\n\t\t\t\t/* eslint-disable no-implicit-coercion */\n\t\t\t\tvar isFileInput = vnode.tag === \"input\" && vnode.attrs.type === \"file\"\n\t\t\t\t//setting input[value] to same value by typing on focused element moves cursor to end in Chrome\n\t\t\t\t//setting input[type=file][value] to same value causes an error to be generated if it's non-empty\n\t\t\t\tif ((vnode.tag === \"input\" || vnode.tag === \"textarea\") && vnode.dom.value === \"\" + value && (isFileInput || vnode.dom === activeElement(vnode.dom))) return\n\t\t\t\t//setting select[value] to same value while having select open blinks select dropdown in Chrome\n\t\t\t\tif (vnode.tag === \"select\" && old !== null && vnode.dom.value === \"\" + value) return\n\t\t\t\t//setting option[value] to same value while having select open blinks select dropdown in Chrome\n\t\t\t\tif (vnode.tag === \"option\" && old !== null && vnode.dom.value === \"\" + value) return\n\t\t\t\t//setting input[type=file][value] to different value is an error if it's non-empty\n\t\t\t\t// Not ideal, but it at least works around the most common source of uncaught exceptions for now.\n\t\t\t\tif (isFileInput && \"\" + value !== \"\") { console.error(\"`value` is read-only on file inputs!\"); return }\n\t\t\t\t/* eslint-enable no-implicit-coercion */\n\t\t\t}\n\t\t\t// If you assign an input type that is not supported by IE 11 with an assignment expression, an error will occur.\n\t\t\tif (vnode.tag === \"input\" && key === \"type\") vnode.dom.setAttribute(key, value)\n\t\t\telse vnode.dom[key] = value\n\t\t} else {\n\t\t\tif (typeof value === \"boolean\") {\n\t\t\t\tif (value) vnode.dom.setAttribute(key, \"\")\n\t\t\t\telse vnode.dom.removeAttribute(key)\n\t\t\t}\n\t\t\telse vnode.dom.setAttribute(key === \"className\" ? \"class\" : key, value)\n\t\t}\n\t}\n\tfunction removeAttr(vnode, key, old, ns) {\n\t\tif (key === \"key\" || key === \"is\" || old == null || isLifecycleMethod(key)) return\n\t\tif (key[0] === \"o\" && key[1] === \"n\") updateEvent(vnode, key, undefined)\n\t\telse if (key === \"style\") updateStyle(vnode.dom, old, null)\n\t\telse if (\n\t\t\thasPropertyKey(vnode, key, ns)\n\t\t\t&& key !== \"className\"\n\t\t\t&& key !== \"title\" // creates \"null\" as title\n\t\t\t&& !(key === \"value\" && (\n\t\t\t\tvnode.tag === \"option\"\n\t\t\t\t|| vnode.tag === \"select\" && vnode.dom.selectedIndex === -1 && vnode.dom === activeElement(vnode.dom)\n\t\t\t))\n\t\t\t&& !(vnode.tag === \"input\" && key === \"type\")\n\t\t) {\n\t\t\tvnode.dom[key] = null\n\t\t} else {\n\t\t\tvar nsLastIndex = key.indexOf(\":\")\n\t\t\tif (nsLastIndex !== -1) key = key.slice(nsLastIndex + 1)\n\t\t\tif (old !== false) vnode.dom.removeAttribute(key === \"className\" ? \"class\" : key)\n\t\t}\n\t}\n\tfunction setLateSelectAttrs(vnode, attrs) {\n\t\tif (\"value\" in attrs) {\n\t\t\tif(attrs.value === null) {\n\t\t\t\tif (vnode.dom.selectedIndex !== -1) vnode.dom.value = null\n\t\t\t} else {\n\t\t\t\tvar normalized = \"\" + attrs.value // eslint-disable-line no-implicit-coercion\n\t\t\t\tif (vnode.dom.value !== normalized || vnode.dom.selectedIndex === -1) {\n\t\t\t\t\tvnode.dom.value = normalized\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (\"selectedIndex\" in attrs) setAttr(vnode, \"selectedIndex\", null, attrs.selectedIndex, undefined)\n\t}\n\tfunction updateAttrs(vnode, old, attrs, ns) {\n\t\tif (old && old === attrs) {\n\t\t\tconsole.warn(\"Don't reuse attrs object, use new object for every redraw, this will throw in next major\")\n\t\t}\n\t\tif (attrs != null) {\n\t\t\tfor (var key in attrs) {\n\t\t\t\tsetAttr(vnode, key, old && old[key], attrs[key], ns)\n\t\t\t}\n\t\t}\n\t\tvar val\n\t\tif (old != null) {\n\t\t\tfor (var key in old) {\n\t\t\t\tif (((val = old[key]) != null) && (attrs == null || attrs[key] == null)) {\n\t\t\t\t\tremoveAttr(vnode, key, val, ns)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tfunction isFormAttribute(vnode, attr) {\n\t\treturn attr === \"value\" || attr === \"checked\" || attr === \"selectedIndex\" || attr === \"selected\" && vnode.dom === activeElement(vnode.dom) || vnode.tag === \"option\" && vnode.dom.parentNode === activeElement(vnode.dom)\n\t}\n\tfunction isLifecycleMethod(attr) {\n\t\treturn attr === \"oninit\" || attr === \"oncreate\" || attr === \"onupdate\" || attr === \"onremove\" || attr === \"onbeforeremove\" || attr === \"onbeforeupdate\"\n\t}\n\tfunction hasPropertyKey(vnode, key, ns) {\n\t\t// Filter out namespaced keys\n\t\treturn ns === undefined && (\n\t\t\t// If it's a custom element, just keep it.\n\t\t\tvnode.tag.indexOf(\"-\") > -1 || vnode.attrs != null && vnode.attrs.is ||\n\t\t\t// If it's a normal element, let's try to avoid a few browser bugs.\n\t\t\tkey !== \"href\" && key !== \"list\" && key !== \"form\" && key !== \"width\" && key !== \"height\"// && key !== \"type\"\n\t\t\t// Defer the property check until *after* we check everything.\n\t\t) && key in vnode.dom\n\t}\n\n\t//style\n\tfunction updateStyle(element, old, style) {\n\t\tif (old === style) {\n\t\t\t// Styles are equivalent, do nothing.\n\t\t} else if (style == null) {\n\t\t\t// New style is missing, just clear it.\n\t\t\telement.style = \"\"\n\t\t} else if (typeof style !== \"object\") {\n\t\t\t// New style is a string, let engine deal with patching.\n\t\t\telement.style = style\n\t\t} else if (old == null || typeof old !== \"object\") {\n\t\t\t// `old` is missing or a string, `style` is an object.\n\t\t\telement.style.cssText = \"\"\n\t\t\t// Add new style properties\n\t\t\tfor (var key in style) {\n\t\t\t\tvar value = style[key]\n\t\t\t\tif (value != null) {\n\t\t\t\t\tif (key.includes(\"-\")) element.style.setProperty(key, String(value))\n\t\t\t\t\telse element.style[key] = String(value)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Both old & new are (different) objects.\n\t\t\t// Update style properties that have changed\n\t\t\tfor (var key in style) {\n\t\t\t\tvar value = style[key]\n\t\t\t\tif (value != null && (value = String(value)) !== String(old[key])) {\n\t\t\t\t\tif (key.includes(\"-\")) element.style.setProperty(key, value)\n\t\t\t\t\telse element.style[key] = value\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Remove style properties that no longer exist\n\t\t\tfor (var key in old) {\n\t\t\t\tif (old[key] != null && style[key] == null) {\n\t\t\t\t\tif (key.includes(\"-\")) element.style.removeProperty(key)\n\t\t\t\t\telse element.style[key] = \"\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Here's an explanation of how this works:\n\t// 1. The event names are always (by design) prefixed by `on`.\n\t// 2. The EventListener interface accepts either a function or an object\n\t// with a `handleEvent` method.\n\t// 3. The object does not inherit from `Object.prototype`, to avoid\n\t// any potential interference with that (e.g. setters).\n\t// 4. The event name is remapped to the handler before calling it.\n\t// 5. In function-based event handlers, `ev.target === this`. We replicate\n\t// that below.\n\t// 6. In function-based event handlers, `return false` prevents the default\n\t// action and stops event propagation. We replicate that below.\n\tfunction EventDict() {\n\t\t// Save this, so the current redraw is correctly tracked.\n\t\tthis._ = currentRedraw\n\t}\n\tEventDict.prototype = Object.create(null)\n\tEventDict.prototype.handleEvent = function (ev) {\n\t\tvar handler = this[\"on\" + ev.type]\n\t\tvar result\n\t\tif (typeof handler === \"function\") result = handler.call(ev.currentTarget, ev)\n\t\telse if (typeof handler.handleEvent === \"function\") handler.handleEvent(ev)\n\t\tif (this._ && ev.redraw !== false) (0, this._)()\n\t\tif (result === false) {\n\t\t\tev.preventDefault()\n\t\t\tev.stopPropagation()\n\t\t}\n\t}\n\n\t//event\n\tfunction updateEvent(vnode, key, value) {\n\t\tif (vnode.events != null) {\n\t\t\tvnode.events._ = currentRedraw\n\t\t\tif (vnode.events[key] === value) return\n\t\t\tif (value != null && (typeof value === \"function\" || typeof value === \"object\")) {\n\t\t\t\tif (vnode.events[key] == null) vnode.dom.addEventListener(key.slice(2), vnode.events, false)\n\t\t\t\tvnode.events[key] = value\n\t\t\t} else {\n\t\t\t\tif (vnode.events[key] != null) vnode.dom.removeEventListener(key.slice(2), vnode.events, false)\n\t\t\t\tvnode.events[key] = undefined\n\t\t\t}\n\t\t} else if (value != null && (typeof value === \"function\" || typeof value === \"object\")) {\n\t\t\tvnode.events = new EventDict()\n\t\t\tvnode.dom.addEventListener(key.slice(2), vnode.events, false)\n\t\t\tvnode.events[key] = value\n\t\t}\n\t}\n\n\t//lifecycle\n\tfunction initLifecycle(source, vnode, hooks) {\n\t\tif (typeof source.oninit === \"function\") callHook.call(source.oninit, vnode)\n\t\tif (typeof source.oncreate === \"function\") hooks.push(callHook.bind(source.oncreate, vnode))\n\t}\n\tfunction updateLifecycle(source, vnode, hooks) {\n\t\tif (typeof source.onupdate === \"function\") hooks.push(callHook.bind(source.onupdate, vnode))\n\t}\n\tfunction shouldNotUpdate(vnode, old) {\n\t\tdo {\n\t\t\tif (vnode.attrs != null && typeof vnode.attrs.onbeforeupdate === \"function\") {\n\t\t\t\tvar force = callHook.call(vnode.attrs.onbeforeupdate, vnode, old)\n\t\t\t\tif (force !== undefined && !force) break\n\t\t\t}\n\t\t\tif (typeof vnode.tag !== \"string\" && typeof vnode.state.onbeforeupdate === \"function\") {\n\t\t\t\tvar force = callHook.call(vnode.state.onbeforeupdate, vnode, old)\n\t\t\t\tif (force !== undefined && !force) break\n\t\t\t}\n\t\t\treturn false\n\t\t} while (false); // eslint-disable-line no-constant-condition\n\t\tvnode.dom = old.dom\n\t\tvnode.domSize = old.domSize\n\t\tvnode.instance = old.instance\n\t\t// One would think having the actual latest attributes would be ideal,\n\t\t// but it doesn't let us properly diff based on our current internal\n\t\t// representation. We have to save not only the old DOM info, but also\n\t\t// the attributes used to create it, as we diff *that*, not against the\n\t\t// DOM directly (with a few exceptions in `setAttr`). And, of course, we\n\t\t// need to save the children and text as they are conceptually not\n\t\t// unlike special \"attributes\" internally.\n\t\tvnode.attrs = old.attrs\n\t\tvnode.children = old.children\n\t\tvnode.text = old.text\n\t\treturn true\n\t}\n\n\tvar currentDOM\n\n\treturn function(dom, vnodes, redraw) {\n\t\tif (!dom) throw new TypeError(\"DOM element being rendered to does not exist.\")\n\t\tif (currentDOM != null && dom.contains(currentDOM)) {\n\t\t\tthrow new TypeError(\"Node is currently being rendered to and thus is locked.\")\n\t\t}\n\t\tvar prevRedraw = currentRedraw\n\t\tvar prevDOM = currentDOM\n\t\tvar hooks = []\n\t\tvar active = activeElement(dom)\n\t\tvar namespace = dom.namespaceURI\n\n\t\tcurrentDOM = dom\n\t\tcurrentRedraw = typeof redraw === \"function\" ? redraw : undefined\n\t\tcurrentRender = {}\n\t\ttry {\n\t\t\t// First time rendering into a node clears it out\n\t\t\tif (dom.vnodes == null) dom.textContent = \"\"\n\t\t\tvnodes = Vnode.normalizeChildren(Array.isArray(vnodes) ? vnodes : [vnodes])\n\t\t\tupdateNodes(dom, dom.vnodes, vnodes, hooks, null, namespace === \"http://www.w3.org/1999/xhtml\" ? undefined : namespace)\n\t\t\tdom.vnodes = vnodes\n\t\t\t// `document.activeElement` can return null: https://html.spec.whatwg.org/multipage/interaction.html#dom-document-activeelement\n\t\t\tif (active != null && activeElement(dom) !== active && typeof active.focus === \"function\") active.focus()\n\t\t\tfor (var i = 0; i < hooks.length; i++) hooks[i]()\n\t\t} finally {\n\t\t\tcurrentRedraw = prevRedraw\n\t\t\tcurrentDOM = prevDOM\n\t\t}\n\t}\n}\n","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\n\nmodule.exports = function(html) {\n\tif (html == null) html = \"\"\n\treturn Vnode(\"<\", undefined, undefined, html, undefined, undefined)\n}\n","\"use strict\"\n\nfunction Vnode(tag, key, attrs, children, text, dom) {\n\treturn {tag: tag, key: key, attrs: attrs, children: children, text: text, dom: dom, domSize: undefined, state: undefined, events: undefined, instance: undefined}\n}\nVnode.normalize = function(node) {\n\tif (Array.isArray(node)) return Vnode(\"[\", undefined, undefined, Vnode.normalizeChildren(node), undefined, undefined)\n\tif (node == null || typeof node === \"boolean\") return null\n\tif (typeof node === \"object\") return node\n\treturn Vnode(\"#\", undefined, undefined, String(node), undefined, undefined)\n}\nVnode.normalizeChildren = function(input) {\n\tvar children = []\n\tif (input.length) {\n\t\tvar isKeyed = input[0] != null && input[0].key != null\n\t\t// Note: this is a *very* perf-sensitive check.\n\t\t// Fun fact: merging the loop like this is somehow faster than splitting\n\t\t// it, noticeably so.\n\t\tfor (var i = 1; i < input.length; i++) {\n\t\t\tif ((input[i] != null && input[i].key != null) !== isKeyed) {\n\t\t\t\tthrow new TypeError(\n\t\t\t\t\tisKeyed && (input[i] != null || typeof input[i] === \"boolean\")\n\t\t\t\t\t\t? \"In fragments, vnodes must either all have keys or none have keys. You may wish to consider using an explicit keyed empty fragment, m.fragment({key: ...}), instead of a hole.\"\n\t\t\t\t\t\t: \"In fragments, vnodes must either all have keys or none have keys.\"\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t\tfor (var i = 0; i < input.length; i++) {\n\t\t\tchildren[i] = Vnode.normalize(input[i])\n\t\t}\n\t}\n\treturn children\n}\n\nmodule.exports = Vnode\n","\"use strict\"\n\nvar mountRedraw = require(\"./mount-redraw\")\n\nmodule.exports = require(\"./request/request\")(typeof window !== \"undefined\" ? window : null, mountRedraw.redraw)\n","\"use strict\"\n\nvar buildPathname = require(\"../pathname/build\")\nvar hasOwn = require(\"../util/hasOwn\")\n\nmodule.exports = function($window, oncompletion) {\n\tfunction PromiseProxy(executor) {\n\t\treturn new Promise(executor)\n\t}\n\n\tfunction makeRequest(url, args) {\n\t\treturn new Promise(function(resolve, reject) {\n\t\t\turl = buildPathname(url, args.params)\n\t\t\tvar method = args.method != null ? args.method.toUpperCase() : \"GET\"\n\t\t\tvar body = args.body\n\t\t\tvar assumeJSON = (args.serialize == null || args.serialize === JSON.serialize) && !(body instanceof $window.FormData || body instanceof $window.URLSearchParams)\n\t\t\tvar responseType = args.responseType || (typeof args.extract === \"function\" ? \"\" : \"json\")\n\n\t\t\tvar xhr = new $window.XMLHttpRequest(), aborted = false, isTimeout = false\n\t\t\tvar original = xhr, replacedAbort\n\t\t\tvar abort = xhr.abort\n\n\t\t\txhr.abort = function() {\n\t\t\t\taborted = true\n\t\t\t\tabort.call(this)\n\t\t\t}\n\n\t\t\txhr.open(method, url, args.async !== false, typeof args.user === \"string\" ? args.user : undefined, typeof args.password === \"string\" ? args.password : undefined)\n\n\t\t\tif (assumeJSON && body != null && !hasHeader(args, \"content-type\")) {\n\t\t\t\txhr.setRequestHeader(\"Content-Type\", \"application/json; charset=utf-8\")\n\t\t\t}\n\t\t\tif (typeof args.deserialize !== \"function\" && !hasHeader(args, \"accept\")) {\n\t\t\t\txhr.setRequestHeader(\"Accept\", \"application/json, text/*\")\n\t\t\t}\n\t\t\tif (args.withCredentials) xhr.withCredentials = args.withCredentials\n\t\t\tif (args.timeout) xhr.timeout = args.timeout\n\t\t\txhr.responseType = responseType\n\n\t\t\tfor (var key in args.headers) {\n\t\t\t\tif (hasOwn.call(args.headers, key)) {\n\t\t\t\t\txhr.setRequestHeader(key, args.headers[key])\n\t\t\t\t}\n\t\t\t}\n\n\t\t\txhr.onreadystatechange = function(ev) {\n\t\t\t\t// Don't throw errors on xhr.abort().\n\t\t\t\tif (aborted) return\n\n\t\t\t\tif (ev.target.readyState === 4) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tvar success = (ev.target.status >= 200 && ev.target.status < 300) || ev.target.status === 304 || (/^file:\\/\\//i).test(url)\n\t\t\t\t\t\t// When the response type isn't \"\" or \"text\",\n\t\t\t\t\t\t// `xhr.responseText` is the wrong thing to use.\n\t\t\t\t\t\t// Browsers do the right thing and throw here, and we\n\t\t\t\t\t\t// should honor that and do the right thing by\n\t\t\t\t\t\t// preferring `xhr.response` where possible/practical.\n\t\t\t\t\t\tvar response = ev.target.response, message\n\n\t\t\t\t\t\tif (responseType === \"json\") {\n\t\t\t\t\t\t\t// For IE and Edge, which don't implement\n\t\t\t\t\t\t\t// `responseType: \"json\"`.\n\t\t\t\t\t\t\tif (!ev.target.responseType && typeof args.extract !== \"function\") {\n\t\t\t\t\t\t\t\t// Handle no-content which will not parse.\n\t\t\t\t\t\t\t\ttry { response = JSON.parse(ev.target.responseText) }\n\t\t\t\t\t\t\t\tcatch (e) { response = null }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (!responseType || responseType === \"text\") {\n\t\t\t\t\t\t\t// Only use this default if it's text. If a parsed\n\t\t\t\t\t\t\t// document is needed on old IE and friends (all\n\t\t\t\t\t\t\t// unsupported), the user should use a custom\n\t\t\t\t\t\t\t// `config` instead. They're already using this at\n\t\t\t\t\t\t\t// their own risk.\n\t\t\t\t\t\t\tif (response == null) response = ev.target.responseText\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (typeof args.extract === \"function\") {\n\t\t\t\t\t\t\tresponse = args.extract(ev.target, args)\n\t\t\t\t\t\t\tsuccess = true\n\t\t\t\t\t\t} else if (typeof args.deserialize === \"function\") {\n\t\t\t\t\t\t\tresponse = args.deserialize(response)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (success) {\n\t\t\t\t\t\t\tif (typeof args.type === \"function\") {\n\t\t\t\t\t\t\t\tif (Array.isArray(response)) {\n\t\t\t\t\t\t\t\t\tfor (var i = 0; i < response.length; i++) {\n\t\t\t\t\t\t\t\t\t\tresponse[i] = new args.type(response[i])\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse response = new args.type(response)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tresolve(response)\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar completeErrorResponse = function() {\n\t\t\t\t\t\t\t\ttry { message = ev.target.responseText }\n\t\t\t\t\t\t\t\tcatch (e) { message = response }\n\t\t\t\t\t\t\t\tvar error = new Error(message)\n\t\t\t\t\t\t\t\terror.code = ev.target.status\n\t\t\t\t\t\t\t\terror.response = response\n\t\t\t\t\t\t\t\treject(error)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (xhr.status === 0) {\n\t\t\t\t\t\t\t\t// Use setTimeout to push this code block onto the event queue\n\t\t\t\t\t\t\t\t// This allows `xhr.ontimeout` to run in the case that there is a timeout\n\t\t\t\t\t\t\t\t// Without this setTimeout, `xhr.ontimeout` doesn't have a chance to reject\n\t\t\t\t\t\t\t\t// as `xhr.onreadystatechange` will run before it\n\t\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\t\tif (isTimeout) return\n\t\t\t\t\t\t\t\t\tcompleteErrorResponse()\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t} else completeErrorResponse()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch (e) {\n\t\t\t\t\t\treject(e)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\txhr.ontimeout = function (ev) {\n\t\t\t\tisTimeout = true\n\t\t\t\tvar error = new Error(\"Request timed out\")\n\t\t\t\terror.code = ev.target.status\n\t\t\t\treject(error)\n\t\t\t}\n\n\t\t\tif (typeof args.config === \"function\") {\n\t\t\t\txhr = args.config(xhr, args, url) || xhr\n\n\t\t\t\t// Propagate the `abort` to any replacement XHR as well.\n\t\t\t\tif (xhr !== original) {\n\t\t\t\t\treplacedAbort = xhr.abort\n\t\t\t\t\txhr.abort = function() {\n\t\t\t\t\t\taborted = true\n\t\t\t\t\t\treplacedAbort.call(this)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (body == null) xhr.send()\n\t\t\telse if (typeof args.serialize === \"function\") xhr.send(args.serialize(body))\n\t\t\telse if (body instanceof $window.FormData || body instanceof $window.URLSearchParams) xhr.send(body)\n\t\t\telse xhr.send(JSON.stringify(body))\n\t\t})\n\t}\n\n\t// In case the global Promise is some userland library's where they rely on\n\t// `foo instanceof this.constructor`, `this.constructor.resolve(value)`, or\n\t// similar. Let's *not* break them.\n\tPromiseProxy.prototype = Promise.prototype\n\tPromiseProxy.__proto__ = Promise // eslint-disable-line no-proto\n\n\tfunction hasHeader(args, name) {\n\t\tfor (var key in args.headers) {\n\t\t\tif (hasOwn.call(args.headers, key) && key.toLowerCase() === name) return true\n\t\t}\n\t\treturn false\n\t}\n\n\treturn {\n\t\trequest: function(url, args) {\n\t\t\tif (typeof url !== \"string\") { args = url; url = url.url }\n\t\t\telse if (args == null) args = {}\n\t\t\tvar promise = makeRequest(url, args)\n\t\t\tif (args.background === true) return promise\n\t\t\tvar count = 0\n\t\t\tfunction complete() {\n\t\t\t\tif (--count === 0 && typeof oncompletion === \"function\") oncompletion()\n\t\t\t}\n\n\t\t\treturn wrap(promise)\n\n\t\t\tfunction wrap(promise) {\n\t\t\t\tvar then = promise.then\n\t\t\t\t// Set the constructor, so engines know to not await or resolve\n\t\t\t\t// this as a native promise. At the time of writing, this is\n\t\t\t\t// only necessary for V8, but their behavior is the correct\n\t\t\t\t// behavior per spec. See this spec issue for more details:\n\t\t\t\t// https://github.com/tc39/ecma262/issues/1577. Also, see the\n\t\t\t\t// corresponding comment in `request/tests/test-request.js` for\n\t\t\t\t// a bit more background on the issue at hand.\n\t\t\t\tpromise.constructor = PromiseProxy\n\t\t\t\tpromise.then = function() {\n\t\t\t\t\tcount++\n\t\t\t\t\tvar next = then.apply(promise, arguments)\n\t\t\t\t\tnext.then(complete, function(e) {\n\t\t\t\t\t\tcomplete()\n\t\t\t\t\t\tif (count === 0) throw e\n\t\t\t\t\t})\n\t\t\t\t\treturn wrap(next)\n\t\t\t\t}\n\t\t\t\treturn promise\n\t\t\t}\n\t\t}\n\t}\n}\n","\"use strict\"\n\nvar mountRedraw = require(\"./mount-redraw\")\n\nmodule.exports = require(\"./api/router\")(typeof window !== \"undefined\" ? window : null, mountRedraw)\n","\"use strict\"\n\n// Note: this is mildly perf-sensitive.\n//\n// It does *not* use `delete` - dynamic `delete`s usually cause objects to bail\n// out into dictionary mode and just generally cause a bunch of optimization\n// issues within engines.\n//\n// Ideally, I would've preferred to do this, if it weren't for the optimization\n// issues:\n//\n// ```js\n// const hasOwn = require(\"./hasOwn\")\n// const magic = [\n// \"key\", \"oninit\", \"oncreate\", \"onbeforeupdate\", \"onupdate\",\n// \"onbeforeremove\", \"onremove\",\n// ]\n// module.exports = (attrs, extras) => {\n// const result = Object.assign(Object.create(null), attrs)\n// for (const key of magic) delete result[key]\n// if (extras != null) for (const key of extras) delete result[key]\n// return result\n// }\n// ```\n\nvar hasOwn = require(\"./hasOwn\")\n// Words in RegExp literals are sometimes mangled incorrectly by the internal bundler, so use RegExp().\nvar magic = new RegExp(\"^(?:key|oninit|oncreate|onbeforeupdate|onupdate|onbeforeremove|onremove)$\")\n\nmodule.exports = function(attrs, extras) {\n\tvar result = {}\n\n\tif (extras != null) {\n\t\tfor (var key in attrs) {\n\t\t\tif (hasOwn.call(attrs, key) && !magic.test(key) && extras.indexOf(key) < 0) {\n\t\t\t\tresult[key] = attrs[key]\n\t\t\t}\n\t\t}\n\t} else {\n\t\tfor (var key in attrs) {\n\t\t\tif (hasOwn.call(attrs, key) && !magic.test(key)) {\n\t\t\t\tresult[key] = attrs[key]\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result\n}\n","// This exists so I'm only saving it once.\n\"use strict\"\n\nmodule.exports = {}.hasOwnProperty\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst cloneDeep = require(\"lodash.clonedeep\");\nconst isEqual = require(\"lodash.isequal\");\nvar AttributeMap;\n(function (AttributeMap) {\n function compose(a = {}, b = {}, keepNull = false) {\n if (typeof a !== 'object') {\n a = {};\n }\n if (typeof b !== 'object') {\n b = {};\n }\n let attributes = cloneDeep(b);\n if (!keepNull) {\n attributes = Object.keys(attributes).reduce((copy, key) => {\n if (attributes[key] != null) {\n copy[key] = attributes[key];\n }\n return copy;\n }, {});\n }\n for (const key in a) {\n if (a[key] !== undefined && b[key] === undefined) {\n attributes[key] = a[key];\n }\n }\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n AttributeMap.compose = compose;\n function diff(a = {}, b = {}) {\n if (typeof a !== 'object') {\n a = {};\n }\n if (typeof b !== 'object') {\n b = {};\n }\n const attributes = Object.keys(a)\n .concat(Object.keys(b))\n .reduce((attrs, key) => {\n if (!isEqual(a[key], b[key])) {\n attrs[key] = b[key] === undefined ? null : b[key];\n }\n return attrs;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n AttributeMap.diff = diff;\n function invert(attr = {}, base = {}) {\n attr = attr || {};\n const baseInverted = Object.keys(base).reduce((memo, key) => {\n if (base[key] !== attr[key] && attr[key] !== undefined) {\n memo[key] = base[key];\n }\n return memo;\n }, {});\n return Object.keys(attr).reduce((memo, key) => {\n if (attr[key] !== base[key] && base[key] === undefined) {\n memo[key] = null;\n }\n return memo;\n }, baseInverted);\n }\n AttributeMap.invert = invert;\n function transform(a, b, priority = false) {\n if (typeof a !== 'object') {\n return b;\n }\n if (typeof b !== 'object') {\n return undefined;\n }\n if (!priority) {\n return b; // b simply overwrites us without priority\n }\n const attributes = Object.keys(b).reduce((attrs, key) => {\n if (a[key] === undefined) {\n attrs[key] = b[key]; // null is a valid value\n }\n return attrs;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n AttributeMap.transform = transform;\n})(AttributeMap || (AttributeMap = {}));\nexports.default = AttributeMap;\n//# sourceMappingURL=AttributeMap.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AttributeMap = exports.OpIterator = exports.Op = void 0;\nconst diff = require(\"fast-diff\");\nconst cloneDeep = require(\"lodash.clonedeep\");\nconst isEqual = require(\"lodash.isequal\");\nconst AttributeMap_1 = require(\"./AttributeMap\");\nexports.AttributeMap = AttributeMap_1.default;\nconst Op_1 = require(\"./Op\");\nexports.Op = Op_1.default;\nconst OpIterator_1 = require(\"./OpIterator\");\nexports.OpIterator = OpIterator_1.default;\nconst NULL_CHARACTER = String.fromCharCode(0); // Placeholder char for embed in diff()\nconst getEmbedTypeAndData = (a, b) => {\n if (typeof a !== 'object' || a === null) {\n throw new Error(`cannot retain a ${typeof a}`);\n }\n if (typeof b !== 'object' || b === null) {\n throw new Error(`cannot retain a ${typeof b}`);\n }\n const embedType = Object.keys(a)[0];\n if (!embedType || embedType !== Object.keys(b)[0]) {\n throw new Error(`embed types not matched: ${embedType} != ${Object.keys(b)[0]}`);\n }\n return [embedType, a[embedType], b[embedType]];\n};\nclass Delta {\n constructor(ops) {\n // Assume we are given a well formed ops\n if (Array.isArray(ops)) {\n this.ops = ops;\n }\n else if (ops != null && Array.isArray(ops.ops)) {\n this.ops = ops.ops;\n }\n else {\n this.ops = [];\n }\n }\n static registerEmbed(embedType, handler) {\n this.handlers[embedType] = handler;\n }\n static unregisterEmbed(embedType) {\n delete this.handlers[embedType];\n }\n static getHandler(embedType) {\n const handler = this.handlers[embedType];\n if (!handler) {\n throw new Error(`no handlers for embed type \"${embedType}\"`);\n }\n return handler;\n }\n insert(arg, attributes) {\n const newOp = {};\n if (typeof arg === 'string' && arg.length === 0) {\n return this;\n }\n newOp.insert = arg;\n if (attributes != null &&\n typeof attributes === 'object' &&\n Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n }\n delete(length) {\n if (length <= 0) {\n return this;\n }\n return this.push({ delete: length });\n }\n retain(length, attributes) {\n if (typeof length === 'number' && length <= 0) {\n return this;\n }\n const newOp = { retain: length };\n if (attributes != null &&\n typeof attributes === 'object' &&\n Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n }\n push(newOp) {\n let index = this.ops.length;\n let lastOp = this.ops[index - 1];\n newOp = cloneDeep(newOp);\n if (typeof lastOp === 'object') {\n if (typeof newOp.delete === 'number' &&\n typeof lastOp.delete === 'number') {\n this.ops[index - 1] = { delete: lastOp.delete + newOp.delete };\n return this;\n }\n // Since it does not matter if we insert before or after deleting at the same index,\n // always prefer to insert first\n if (typeof lastOp.delete === 'number' && newOp.insert != null) {\n index -= 1;\n lastOp = this.ops[index - 1];\n if (typeof lastOp !== 'object') {\n this.ops.unshift(newOp);\n return this;\n }\n }\n if (isEqual(newOp.attributes, lastOp.attributes)) {\n if (typeof newOp.insert === 'string' &&\n typeof lastOp.insert === 'string') {\n this.ops[index - 1] = { insert: lastOp.insert + newOp.insert };\n if (typeof newOp.attributes === 'object') {\n this.ops[index - 1].attributes = newOp.attributes;\n }\n return this;\n }\n else if (typeof newOp.retain === 'number' &&\n typeof lastOp.retain === 'number') {\n this.ops[index - 1] = { retain: lastOp.retain + newOp.retain };\n if (typeof newOp.attributes === 'object') {\n this.ops[index - 1].attributes = newOp.attributes;\n }\n return this;\n }\n }\n }\n if (index === this.ops.length) {\n this.ops.push(newOp);\n }\n else {\n this.ops.splice(index, 0, newOp);\n }\n return this;\n }\n chop() {\n const lastOp = this.ops[this.ops.length - 1];\n if (lastOp && typeof lastOp.retain === 'number' && !lastOp.attributes) {\n this.ops.pop();\n }\n return this;\n }\n filter(predicate) {\n return this.ops.filter(predicate);\n }\n forEach(predicate) {\n this.ops.forEach(predicate);\n }\n map(predicate) {\n return this.ops.map(predicate);\n }\n partition(predicate) {\n const passed = [];\n const failed = [];\n this.forEach((op) => {\n const target = predicate(op) ? passed : failed;\n target.push(op);\n });\n return [passed, failed];\n }\n reduce(predicate, initialValue) {\n return this.ops.reduce(predicate, initialValue);\n }\n changeLength() {\n return this.reduce((length, elem) => {\n if (elem.insert) {\n return length + Op_1.default.length(elem);\n }\n else if (elem.delete) {\n return length - elem.delete;\n }\n return length;\n }, 0);\n }\n length() {\n return this.reduce((length, elem) => {\n return length + Op_1.default.length(elem);\n }, 0);\n }\n slice(start = 0, end = Infinity) {\n const ops = [];\n const iter = new OpIterator_1.default(this.ops);\n let index = 0;\n while (index < end && iter.hasNext()) {\n let nextOp;\n if (index < start) {\n nextOp = iter.next(start - index);\n }\n else {\n nextOp = iter.next(end - index);\n ops.push(nextOp);\n }\n index += Op_1.default.length(nextOp);\n }\n return new Delta(ops);\n }\n compose(other) {\n const thisIter = new OpIterator_1.default(this.ops);\n const otherIter = new OpIterator_1.default(other.ops);\n const ops = [];\n const firstOther = otherIter.peek();\n if (firstOther != null &&\n typeof firstOther.retain === 'number' &&\n firstOther.attributes == null) {\n let firstLeft = firstOther.retain;\n while (thisIter.peekType() === 'insert' &&\n thisIter.peekLength() <= firstLeft) {\n firstLeft -= thisIter.peekLength();\n ops.push(thisIter.next());\n }\n if (firstOther.retain - firstLeft > 0) {\n otherIter.next(firstOther.retain - firstLeft);\n }\n }\n const delta = new Delta(ops);\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n }\n else if (thisIter.peekType() === 'delete') {\n delta.push(thisIter.next());\n }\n else {\n const length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n const thisOp = thisIter.next(length);\n const otherOp = otherIter.next(length);\n if (otherOp.retain) {\n const newOp = {};\n if (typeof thisOp.retain === 'number') {\n newOp.retain =\n typeof otherOp.retain === 'number' ? length : otherOp.retain;\n }\n else {\n if (typeof otherOp.retain === 'number') {\n if (thisOp.retain == null) {\n newOp.insert = thisOp.insert;\n }\n else {\n newOp.retain = thisOp.retain;\n }\n }\n else {\n const action = thisOp.retain == null ? 'insert' : 'retain';\n const [embedType, thisData, otherData] = getEmbedTypeAndData(thisOp[action], otherOp.retain);\n const handler = Delta.getHandler(embedType);\n newOp[action] = {\n [embedType]: handler.compose(thisData, otherData, action === 'retain'),\n };\n }\n }\n // Preserve null when composing with a retain, otherwise remove it for inserts\n const attributes = AttributeMap_1.default.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number');\n if (attributes) {\n newOp.attributes = attributes;\n }\n delta.push(newOp);\n // Optimization if rest of other is just retain\n if (!otherIter.hasNext() &&\n isEqual(delta.ops[delta.ops.length - 1], newOp)) {\n const rest = new Delta(thisIter.rest());\n return delta.concat(rest).chop();\n }\n // Other op should be delete, we could be an insert or retain\n // Insert + delete cancels out\n }\n else if (typeof otherOp.delete === 'number' &&\n (typeof thisOp.retain === 'number' ||\n (typeof thisOp.retain === 'object' && thisOp.retain !== null))) {\n delta.push(otherOp);\n }\n }\n }\n return delta.chop();\n }\n concat(other) {\n const delta = new Delta(this.ops.slice());\n if (other.ops.length > 0) {\n delta.push(other.ops[0]);\n delta.ops = delta.ops.concat(other.ops.slice(1));\n }\n return delta;\n }\n diff(other, cursor) {\n if (this.ops === other.ops) {\n return new Delta();\n }\n const strings = [this, other].map((delta) => {\n return delta\n .map((op) => {\n if (op.insert != null) {\n return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER;\n }\n const prep = delta === other ? 'on' : 'with';\n throw new Error('diff() called ' + prep + ' non-document');\n })\n .join('');\n });\n const retDelta = new Delta();\n const diffResult = diff(strings[0], strings[1], cursor, true);\n const thisIter = new OpIterator_1.default(this.ops);\n const otherIter = new OpIterator_1.default(other.ops);\n diffResult.forEach((component) => {\n let length = component[1].length;\n while (length > 0) {\n let opLength = 0;\n switch (component[0]) {\n case diff.INSERT:\n opLength = Math.min(otherIter.peekLength(), length);\n retDelta.push(otherIter.next(opLength));\n break;\n case diff.DELETE:\n opLength = Math.min(length, thisIter.peekLength());\n thisIter.next(opLength);\n retDelta.delete(opLength);\n break;\n case diff.EQUAL:\n opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length);\n const thisOp = thisIter.next(opLength);\n const otherOp = otherIter.next(opLength);\n if (isEqual(thisOp.insert, otherOp.insert)) {\n retDelta.retain(opLength, AttributeMap_1.default.diff(thisOp.attributes, otherOp.attributes));\n }\n else {\n retDelta.push(otherOp).delete(opLength);\n }\n break;\n }\n length -= opLength;\n }\n });\n return retDelta.chop();\n }\n eachLine(predicate, newline = '\\n') {\n const iter = new OpIterator_1.default(this.ops);\n let line = new Delta();\n let i = 0;\n while (iter.hasNext()) {\n if (iter.peekType() !== 'insert') {\n return;\n }\n const thisOp = iter.peek();\n const start = Op_1.default.length(thisOp) - iter.peekLength();\n const index = typeof thisOp.insert === 'string'\n ? thisOp.insert.indexOf(newline, start) - start\n : -1;\n if (index < 0) {\n line.push(iter.next());\n }\n else if (index > 0) {\n line.push(iter.next(index));\n }\n else {\n if (predicate(line, iter.next(1).attributes || {}, i) === false) {\n return;\n }\n i += 1;\n line = new Delta();\n }\n }\n if (line.length() > 0) {\n predicate(line, {}, i);\n }\n }\n invert(base) {\n const inverted = new Delta();\n this.reduce((baseIndex, op) => {\n if (op.insert) {\n inverted.delete(Op_1.default.length(op));\n }\n else if (typeof op.retain === 'number' && op.attributes == null) {\n inverted.retain(op.retain);\n return baseIndex + op.retain;\n }\n else if (op.delete || typeof op.retain === 'number') {\n const length = (op.delete || op.retain);\n const slice = base.slice(baseIndex, baseIndex + length);\n slice.forEach((baseOp) => {\n if (op.delete) {\n inverted.push(baseOp);\n }\n else if (op.retain && op.attributes) {\n inverted.retain(Op_1.default.length(baseOp), AttributeMap_1.default.invert(op.attributes, baseOp.attributes));\n }\n });\n return baseIndex + length;\n }\n else if (typeof op.retain === 'object' && op.retain !== null) {\n const slice = base.slice(baseIndex, baseIndex + 1);\n const baseOp = new OpIterator_1.default(slice.ops).next();\n const [embedType, opData, baseOpData] = getEmbedTypeAndData(op.retain, baseOp.insert);\n const handler = Delta.getHandler(embedType);\n inverted.retain({ [embedType]: handler.invert(opData, baseOpData) }, AttributeMap_1.default.invert(op.attributes, baseOp.attributes));\n return baseIndex + 1;\n }\n return baseIndex;\n }, 0);\n return inverted.chop();\n }\n transform(arg, priority = false) {\n priority = !!priority;\n if (typeof arg === 'number') {\n return this.transformPosition(arg, priority);\n }\n const other = arg;\n const thisIter = new OpIterator_1.default(this.ops);\n const otherIter = new OpIterator_1.default(other.ops);\n const delta = new Delta();\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (thisIter.peekType() === 'insert' &&\n (priority || otherIter.peekType() !== 'insert')) {\n delta.retain(Op_1.default.length(thisIter.next()));\n }\n else if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n }\n else {\n const length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n const thisOp = thisIter.next(length);\n const otherOp = otherIter.next(length);\n if (thisOp.delete) {\n // Our delete either makes their delete redundant or removes their retain\n continue;\n }\n else if (otherOp.delete) {\n delta.push(otherOp);\n }\n else {\n const thisData = thisOp.retain;\n const otherData = otherOp.retain;\n let transformedData = typeof otherData === 'object' && otherData !== null\n ? otherData\n : length;\n if (typeof thisData === 'object' &&\n thisData !== null &&\n typeof otherData === 'object' &&\n otherData !== null) {\n const embedType = Object.keys(thisData)[0];\n if (embedType === Object.keys(otherData)[0]) {\n const handler = Delta.getHandler(embedType);\n if (handler) {\n transformedData = {\n [embedType]: handler.transform(thisData[embedType], otherData[embedType], priority),\n };\n }\n }\n }\n // We retain either their retain or insert\n delta.retain(transformedData, AttributeMap_1.default.transform(thisOp.attributes, otherOp.attributes, priority));\n }\n }\n }\n return delta.chop();\n }\n transformPosition(index, priority = false) {\n priority = !!priority;\n const thisIter = new OpIterator_1.default(this.ops);\n let offset = 0;\n while (thisIter.hasNext() && offset <= index) {\n const length = thisIter.peekLength();\n const nextType = thisIter.peekType();\n thisIter.next();\n if (nextType === 'delete') {\n index -= Math.min(length, index - offset);\n continue;\n }\n else if (nextType === 'insert' && (offset < index || !priority)) {\n index += length;\n }\n offset += length;\n }\n return index;\n }\n}\nDelta.Op = Op_1.default;\nDelta.OpIterator = OpIterator_1.default;\nDelta.AttributeMap = AttributeMap_1.default;\nDelta.handlers = {};\nexports.default = Delta;\nif (typeof module === 'object') {\n module.exports = Delta;\n module.exports.default = Delta;\n}\n//# sourceMappingURL=Delta.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Op;\n(function (Op) {\n function length(op) {\n if (typeof op.delete === 'number') {\n return op.delete;\n }\n else if (typeof op.retain === 'number') {\n return op.retain;\n }\n else if (typeof op.retain === 'object' && op.retain !== null) {\n return 1;\n }\n else {\n return typeof op.insert === 'string' ? op.insert.length : 1;\n }\n }\n Op.length = length;\n})(Op || (Op = {}));\nexports.default = Op;\n//# sourceMappingURL=Op.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Op_1 = require(\"./Op\");\nclass Iterator {\n constructor(ops) {\n this.ops = ops;\n this.index = 0;\n this.offset = 0;\n }\n hasNext() {\n return this.peekLength() < Infinity;\n }\n next(length) {\n if (!length) {\n length = Infinity;\n }\n const nextOp = this.ops[this.index];\n if (nextOp) {\n const offset = this.offset;\n const opLength = Op_1.default.length(nextOp);\n if (length >= opLength - offset) {\n length = opLength - offset;\n this.index += 1;\n this.offset = 0;\n }\n else {\n this.offset += length;\n }\n if (typeof nextOp.delete === 'number') {\n return { delete: length };\n }\n else {\n const retOp = {};\n if (nextOp.attributes) {\n retOp.attributes = nextOp.attributes;\n }\n if (typeof nextOp.retain === 'number') {\n retOp.retain = length;\n }\n else if (typeof nextOp.retain === 'object' &&\n nextOp.retain !== null) {\n // offset should === 0, length should === 1\n retOp.retain = nextOp.retain;\n }\n else if (typeof nextOp.insert === 'string') {\n retOp.insert = nextOp.insert.substr(offset, length);\n }\n else {\n // offset should === 0, length should === 1\n retOp.insert = nextOp.insert;\n }\n return retOp;\n }\n }\n else {\n return { retain: Infinity };\n }\n }\n peek() {\n return this.ops[this.index];\n }\n peekLength() {\n if (this.ops[this.index]) {\n // Should never return 0 if our index is being managed correctly\n return Op_1.default.length(this.ops[this.index]) - this.offset;\n }\n else {\n return Infinity;\n }\n }\n peekType() {\n const op = this.ops[this.index];\n if (op) {\n if (typeof op.delete === 'number') {\n return 'delete';\n }\n else if (typeof op.retain === 'number' ||\n (typeof op.retain === 'object' && op.retain !== null)) {\n return 'retain';\n }\n else {\n return 'insert';\n }\n }\n return 'retain';\n }\n rest() {\n if (!this.hasNext()) {\n return [];\n }\n else if (this.offset === 0) {\n return this.ops.slice(this.index);\n }\n else {\n const offset = this.offset;\n const index = this.index;\n const next = this.next();\n const rest = this.ops.slice(this.index);\n this.offset = offset;\n this.index = index;\n return [next].concat(rest);\n }\n }\n}\nexports.default = Iterator;\n//# sourceMappingURL=OpIterator.js.map","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"docx\")):\"function\"==typeof define&&define.amd?define([\"docx\"],t):\"object\"==typeof exports?exports.QuillToWord=t(require(\"docx\")):e.QuillToWord=t(e.docx)}(self,(function(e){return t={190:e=>{self,e.exports=(()=>{\"use strict\";var e={607:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.parseQuillDelta=void 0;let n=!1;function r(e,t){e.insert.video||e.insert.image?function(e,t){t.paragraphs.push({embed:e.insert}),n=!1,i(t)}(e,t):e.insert.formula?function(e,t){var n;0===t.paragraphs.length&&i(t),null===(n=t.paragraphs[t.paragraphs.length-1].textRuns)||void 0===n||n.push({formula:e.insert.formula,attributes:e.attributes})}(e,t):\"\\n\"===e.insert?function(e,t){e.attributes&&(t.paragraphs[t.paragraphs.length-1].attributes=e.attributes,\"ordered\"===e.attributes.list?n||(t.setup.numberedLists++,n=!0):n=!1),i(t)}(e,t):function(e,t){if(0===t.paragraphs.length&&i(t),e.insert.match(/\\n/)){const r=e.insert.split(/(\\n)/);for(const e of r)\"\\n\"===e?(i(t),n=!1):a(e,t)}else a(e.insert,t,e.attributes)}(e,t)}function i(e){e.paragraphs.push({textRuns:[]})}function a(e,t,n){var r,i;n?(null===(r=t.paragraphs[t.paragraphs.length-1].textRuns)||void 0===r||r.push({text:e,attributes:n}),n.link&&t.setup.hyperlinks.push({text:e,link:n.link})):null===(i=t.paragraphs[t.paragraphs.length-1].textRuns)||void 0===i||i.push({text:e})}t.parseQuillDelta=function(e){n=!1;const t={paragraphs:[],setup:{numberedLists:0,hyperlinks:[]}};for(const n of e.ops)r(n,t);return t}}},t={};return function n(r){if(t[r])return t[r].exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}(607)})()},829:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.defaultNumbering=t.customBulletLevels=t.customNumberedLevels=t.defaultStyles=void 0;const r=n(687);t.defaultStyles=[{id:\"normal\",name:\"Normal\",next:\"normal\",basedOn:\"normal\",quickFormat:!0,run:{size:24},paragraph:{spacing:{line:480,before:0,after:0}}},{id:\"header_1\",name:\"Heading 1\",next:\"normal\",quickFormat:!0,run:{font:\"Calibri\",size:30,bold:!0},paragraph:{spacing:{before:300,after:200}}},{id:\"header_2\",name:\"Heading 2\",basedOn:\"normal\",next:\"normal\",quickFormat:!0,run:{font:\"Calibri\",size:26,bold:!0},paragraph:{spacing:{before:200,after:100}}},{id:\"list_paragraph\",name:\"List Paragraph\",basedOn:\"normal\",quickFormat:!0,run:{size:24}},{id:\"code_block\",name:\"Code Block\",basedOn:\"normal\",quickFormat:!0,run:{size:24,font:\"Courier New\"},paragraph:{indent:{left:720,right:720}}},{id:\"block_quote\",name:\"Block Quote\",basedOn:\"normal\",quickFormat:!0,run:{italics:!0},paragraph:{indent:{left:540},border:{left:{size:12,space:28,color:\"333333\",value:\"single\"}}}},{id:\"citation\",name:\"Citation\",basedOn:\"normal\",quickFormat:!0,run:{size:24},paragraph:{indent:{left:0,hanging:320},spacing:{line:480}}}],t.customNumberedLevels=[{level:0,format:\"decimal\",text:\"%1.\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:720,hanging:360}}}},{level:1,format:\"lowerLetter\",text:\"%2.\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:1440,hanging:360}}}},{level:2,format:\"lowerRoman\",text:\"%3.\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:2160,hanging:360}}}},{level:3,format:\"decimal\",text:\"%4.\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:2880,hanging:360}}}},{level:4,format:\"lowerLetter\",text:\"%5.\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:3600,hanging:360}}}},{level:3,format:\"lowerRoman\",text:\"%5.\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:4320,hanging:360}}}}],t.customBulletLevels=[{level:0,format:\"bullet\",text:\"•\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:720,hanging:360}}}},{level:1,format:\"bullet\",text:\"•\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:1440,hanging:360}}}},{level:2,format:\"bullet\",text:\"•\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:2160,hanging:360}}}},{level:3,format:\"bullet\",text:\"•\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:2880,hanging:360}}}},{level:4,format:\"bullet\",text:\"•\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:3600,hanging:360}}}},{level:3,format:\"bullet\",text:\"•\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:4320,hanging:360}}}}],t.defaultNumbering={config:[{reference:\"default-numbering\",levels:t.customNumberedLevels}]}},35:function(e,t,n){\"use strict\";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)\"default\"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t},l=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,a){function l(e){try{s(r.next(e))}catch(e){a(e)}}function o(e){try{s(r.throw(e))}catch(e){a(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(l,o)}s((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,\"__esModule\",{value:!0}),t.generateWord=void 0;const o=n(190),s=a(n(687)),u=n(687),d=n(829);let c=0,p=-1,f=d.defaultStyles,g=d.customNumberedLevels,v=!1;function b(e,t,n){e.paragraph&&(f[n].paragraph=e.paragraph),e.run&&(f[n].run=e.run)}function h(e,t){var n,r,i,a;let l=0;const o=[];for(const d of e){if(null===(n=d.embed)||void 0===n?void 0:n.image){const e=u.Media.addImage(t,d.embed.image);o.push(new u.Paragraph(e))}else if(null===(r=d.embed)||void 0===r?void 0:r.video){const e=(s=d.embed.video,new u.TextRun({text:s}));o.push(new u.Paragraph({children:[e]}))}else d.textRuns&&(l>0&&\"ordered\"===(null===(i=d.attributes)||void 0===i?void 0:i.list)&&(\"ordered\"===(null===(a=e[l-1].attributes)||void 0===a?void 0:a.list)?p=p:p++),o.push(m(d)));l++}var s;return o}function m(e){var t,n,r,i,a,l,o,d,c,f,g,b;const h=[];for(const t of e.textRuns)t.formula?h.push((m=t.formula,new u.TextRun({text:m}))):t.text&&h.push(y(t));var m;return new u.Paragraph({children:h,heading:1===(null===(t=e.attributes)||void 0===t?void 0:t.header)?s.HeadingLevel.HEADING_1:2===(null===(n=e.attributes)||void 0===n?void 0:n.header)?s.HeadingLevel.HEADING_2:void 0,bullet:\"bullet\"!==(null===(r=e.attributes)||void 0===r?void 0:r.list)||v?void 0:{level:e.attributes.indent?e.attributes.indent:0},numbering:\"ordered\"===(null===(i=e.attributes)||void 0===i?void 0:i.list)?{reference:`numbered_${p}`,level:e.attributes.indent?e.attributes.indent:0}:\"bullet\"===(null===(a=e.attributes)||void 0===a?void 0:a.list)&&v?{reference:\"customBullets\",level:e.attributes.indent?e.attributes.indent:0}:void 0,alignment:\"left\"===(null===(l=e.attributes)||void 0===l?void 0:l.align)?u.AlignmentType.LEFT:\"center\"===(null===(o=e.attributes)||void 0===o?void 0:o.align)?u.AlignmentType.CENTER:\"right\"===(null===(d=e.attributes)||void 0===d?void 0:d.align)?u.AlignmentType.RIGHT:\"justify\"===(null===(c=e.attributes)||void 0===c?void 0:c.align)?u.AlignmentType.JUSTIFIED:void 0,style:(null===(f=e.attributes)||void 0===f?void 0:f[\"code-block\"])?\"code_block\":(null===(g=e.attributes)||void 0===g?void 0:g.blockquote)?\"block_quote\":(null===(b=e.attributes)||void 0===b?void 0:b.citation)?\"citation\":void 0})}function y(e,t){var n,r,i,a,l,o,s,d,p,f,g,v,b;let h;return(null===(n=e.attributes)||void 0===n?void 0:n.link)?(h=new u.HyperlinkRef(`link${c}`),c++):h=new u.TextRun({text:e.text,bold:!!(null===(r=e.attributes)||void 0===r?void 0:r.bold),italics:!!(null===(i=e.attributes)||void 0===i?void 0:i.italic),subScript:\"sub\"===(null===(a=e.attributes)||void 0===a?void 0:a.script),superScript:\"super\"===(null===(l=e.attributes)||void 0===l?void 0:l.script),strike:!!(null===(o=e.attributes)||void 0===o?void 0:o.strike),underline:(null===(s=e.attributes)||void 0===s?void 0:s.underline)?{type:u.UnderlineType.SINGLE,color:\"auto\"}:void 0,color:(null===(d=e.attributes)||void 0===d?void 0:d.color)?null===(p=e.attributes)||void 0===p?void 0:p.color.slice(1):void 0,size:\"huge\"===(null===(f=e.attributes)||void 0===f?void 0:f.size)?36:\"large\"===(null===(g=e.attributes)||void 0===g?void 0:g.size)?32:\"small\"===(null===(v=e.attributes)||void 0===v?void 0:v.size)?20:void 0,highlight:(null===(b=e.attributes)||void 0===b?void 0:b.background)?\"yellow\":void 0}),h}t.generateWord=function(e,t){return l(this,void 0,void 0,(function*(){let n;c=0,p=-1,v=!1;const r=[],i=[];if(e.ops){const t=o.parseQuillDelta(e);i.push(t)}else if(Array.isArray(e))for(const t of e)i.push(t);else{if(!e.paragraphs)throw new Error(\"Please provide a raw Quill Delta, a parsed Quill delta, or an Array of parsed Quill deltas. See QuillTodocx readme.\");i.push(e)}n=function(e,t){let n,r;return f=d.defaultStyles,g=d.customNumberedLevels,t&&function(e){e.paragraphStyles&&function(e){if(e.normal){const t=f.findIndex((e=>\"normal\"===e.id));b(e.normal,0,t)}if(e.header_1){const t=f.findIndex((e=>\"header_1\"===e.id));b(e.header_1,0,t)}if(e.header_2){const t=f.findIndex((e=>\"header_2\"===e.id));b(e.header_2,0,t)}if(e.list_paragraph){const t=f.findIndex((e=>\"list_paragraph\"===e.id));b(e.list_paragraph,0,t)}if(e.code_block){const t=f.findIndex((e=>\"code_block\"===e.id));b(e.code_block,0,t)}if(e.block_quote){const t=f.findIndex((e=>\"block_quote\"===e.id));b(e.block_quote,0,t)}if(e.citation){const t=f.findIndex((e=>\"citation\"===e.id));b(e.citation,0,t)}}(e.paragraphStyles),e.customLevels&&(g=e.customLevels)}(t),e.setup.hyperlinks.length>0&&(n=function(e){let t={},n=0;for(const r of e){const e={link:r.link,text:r.text,type:u.HyperlinkType.EXTERNAL};t=Object.assign(Object.assign({},t),{[`link${n}`]:e}),n++}return t}(e.setup.hyperlinks)),e.setup.numberedLists>0&&(r=function(e){let t=[],n=0;for(;n<e;){const e={reference:`numbered_${n}`,levels:g};t.push(e),n++}return{config:t}}(e.setup.numberedLists)),(null==t?void 0:t.customBulletLevels)&&(r=function(e,t){const n={reference:\"customBullets\",levels:t};return e?(e.config.push(n),e):{config:[n]}}(r,t.customBulletLevels),v=!0),new s.Document({styles:{paragraphStyles:f},numbering:r,hyperlinks:n})}(i[0],t);for(const e of i)r.push(h(e.paragraphs,n));for(const e of r)n.addSection({children:e});return function(e,t){return l(this,void 0,void 0,(function*(){if(!t||!t.exportAs||\"doc\"===t.exportAs)return e;if(\"blob\"===t.exportAs)return u.Packer.toBlob(e);if(\"buffer\"===t.exportAs)return console.log(\"returning buffer\"),u.Packer.toBuffer(e);if(\"base64\"===t.exportAs)return u.Packer.toBase64String(e);throw new Error(\"Please set exportAs configuration to blob, buffer, doc, or base64.\")}))}(n,t)}))}},607:function(e,t,n){\"use strict\";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),i(n(35),t),i(n(679),t)},679:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0})},687:t=>{\"use strict\";t.exports=e}},n={},function e(r){if(n[r])return n[r].exports;var i=n[r]={exports:{}};return t[r].call(i.exports,i,i.exports,e),i.exports}(607);var t,n}));\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RdWlsbFRvV29yZC93ZWJwYWNrL3VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24iLCJ3ZWJwYWNrOi8vUXVpbGxUb1dvcmQvLi9ub2RlX21vZHVsZXMvcXVpbGxqcy1wYXJzZXIvZGlzdC9tYWluLmpzIiwid2VicGFjazovL1F1aWxsVG9Xb3JkLy4vc3JjL2RlZmF1bHQtc3R5bGVzLnRzIiwid2VicGFjazovL1F1aWxsVG9Xb3JkLy4vc3JjL2V4cG9ydGVyLnRzIiwid2VicGFjazovL1F1aWxsVG9Xb3JkLy4vc3JjL2luZGV4LnRzIiwid2VicGFjazovL1F1aWxsVG9Xb3JkL2V4dGVybmFsIFwiZG9jeFwiIiwid2VicGFjazovL1F1aWxsVG9Xb3JkL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL1F1aWxsVG9Xb3JkL3dlYnBhY2svc3RhcnR1cCJdLCJuYW1lcyI6WyJyb290IiwiZmFjdG9yeSIsImV4cG9ydHMiLCJtb2R1bGUiLCJyZXF1aXJlIiwiZGVmaW5lIiwiYW1kIiwic2VsZiIsIl9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfXzY4N19fIiwidCIsIjYwNyIsImUiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwicGFyc2VRdWlsbERlbHRhIiwiciIsInMiLCJpbnNlcnQiLCJ2aWRlbyIsImltYWdlIiwicGFyYWdyYXBocyIsInB1c2giLCJlbWJlZCIsIm4iLCJmb3JtdWxhIiwibGVuZ3RoIiwidGV4dFJ1bnMiLCJhdHRyaWJ1dGVzIiwibGlzdCIsInNldHVwIiwibnVtYmVyZWRMaXN0cyIsIm1hdGNoIiwic3BsaXQiLCJhIiwidGV4dCIsImxpbmsiLCJoeXBlcmxpbmtzIiwib3BzIiwiZGVmYXVsdFN0eWxlcyIsImlkIiwibmFtZSIsIm5leHQiLCJiYXNlZE9uIiwicXVpY2tGb3JtYXQiLCJydW4iLCJzaXplIiwicGFyYWdyYXBoIiwic3BhY2luZyIsImxpbmUiLCJiZWZvcmUiLCJhZnRlciIsImZvbnQiLCJib2xkIiwiaW5kZW50IiwibGVmdCIsInJpZ2h0IiwiaXRhbGljcyIsImJvcmRlciIsInNwYWNlIiwiY29sb3IiLCJoYW5naW5nIiwiY3VzdG9tTnVtYmVyZWRMZXZlbHMiLCJsZXZlbCIsImZvcm1hdCIsImFsaWdubWVudCIsIkFsaWdubWVudFR5cGUiLCJMRUZUIiwic3R5bGUiLCJjdXN0b21CdWxsZXRMZXZlbHMiLCJkZWZhdWx0TnVtYmVyaW5nIiwiY29uZmlnIiwicmVmZXJlbmNlIiwibGV2ZWxzIiwibGlua1RyYWNrZXIiLCJudW1iZXJlZFRyYWNrZXIiLCJzdHlsZXMiLCJjdXN0b21CdWxsZXRzIiwic2V0U3R5bGUiLCJzdHlsZUlkIiwiaW5kZXgiLCJidWlsZFNlY3Rpb24iLCJxdWlsbFBhcmFncmFwaHMiLCJkb2MiLCJxdWlsbFBhcmFncmFwaFRyYWNrZXIiLCJNZWRpYSIsImFkZEltYWdlIiwiUGFyYWdyYXBoIiwiVGV4dFJ1biIsImNoaWxkcmVuIiwiYnVpbGRQYXJhZ3JhcGgiLCJidWlsZFRleHRSdW4iLCJoZWFkaW5nIiwiaGVhZGVyIiwiZG9jeCIsIkhlYWRpbmdMZXZlbCIsIkhFQURJTkdfMSIsIkhFQURJTkdfMiIsInVuZGVmaW5lZCIsImJ1bGxldCIsIm51bWJlcmluZyIsImFsaWduIiwiQ0VOVEVSIiwiUklHSFQiLCJKVVNUSUZJRUQiLCJibG9ja3F1b3RlIiwiY2l0YXRpb24iLCJ0ZXh0UnVuIiwiSHlwZXJsaW5rUmVmIiwiaXRhbGljIiwic3ViU2NyaXB0Iiwic2NyaXB0Iiwic3VwZXJTY3JpcHQiLCJzdHJpa2UiLCJ1bmRlcmxpbmUiLCJ0eXBlIiwiVW5kZXJsaW5lVHlwZSIsIlNJTkdMRSIsInNsaWNlIiwiaGlnaGxpZ2h0IiwiYmFja2dyb3VuZCIsImRlbHRhIiwic2VjdGlvbnMiLCJwYXJzZWREZWx0YXMiLCJwYXJzZWREZWx0YSIsIkFycmF5IiwiaXNBcnJheSIsImVhY2hEZWx0YSIsIkVycm9yIiwicGFyYWdyYXBoU3R5bGVzIiwibm9ybWFsIiwiZmluZEluZGV4IiwiaGVhZGVyXzEiLCJoZWFkZXJfMiIsImxpc3RfcGFyYWdyYXBoIiwiY29kZV9ibG9jayIsImJsb2NrX3F1b3RlIiwic2V0UGFyYWdyYXBoc1N0eWxlcyIsImN1c3RvbUxldmVscyIsInNldHVwQ29uZmlnIiwicXVpbGxMaW5rcyIsImRvY0xpbmsiLCJIeXBlcmxpbmtUeXBlIiwiRVhURVJOQUwiLCJidWlsZEh5cGVybGlua3MiLCJudW1iZXJPZkxpc3RzIiwibnVtYmVyVHJhY2tlciIsIm5ld0xpc3QiLCJidWlsZE51bWJlcmluZyIsIm51bWJlckNvbmZpZyIsImJ1bGxldExldmVscyIsImFkZEN1c3RvbUJ1bGxldHMiLCJEb2N1bWVudCIsInNldHVwRG9jIiwic2VjdGlvbiIsImFkZFNlY3Rpb24iLCJleHBvcnRBcyIsIlBhY2tlciIsInRvQmxvYiIsImNvbnNvbGUiLCJsb2ciLCJ0b0J1ZmZlciIsInRvQmFzZTY0U3RyaW5nIiwiZXhwb3J0RG9jIiwiX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiX193ZWJwYWNrX21vZHVsZXNfXyIsImNhbGwiXSwibWFwcGluZ3MiOiJDQUFBLFNBQTJDQSxFQUFNQyxHQUMxQixpQkFBWkMsU0FBMEMsaUJBQVhDLE9BQ3hDQSxPQUFPRCxRQUFVRCxFQUFRRyxRQUFRLFNBQ1IsbUJBQVhDLFFBQXlCQSxPQUFPQyxJQUM5Q0QsT0FBTyxDQUFDLFFBQVNKLEdBQ1MsaUJBQVpDLFFBQ2RBLFFBQXFCLFlBQUlELEVBQVFHLFFBQVEsU0FFekNKLEVBQWtCLFlBQUlDLEVBQVFELEVBQVcsTUFSM0MsQ0FTR08sTUFBTSxTQUFTQyxHQUNsQixPLFdDVnVORCxLQUF0SkosRUFBT0QsUUFBc0ssTUFBTSxhQUFhLElBQUlPLEVBQUUsQ0FBQ0MsSUFBSSxDQUFDRCxFQUFFRSxLQUFLQyxPQUFPQyxlQUFlRixFQUFFLGFBQWEsQ0FBQ0csT0FBTSxJQUFLSCxFQUFFSSxxQkFBZ0IsRUFBTyxJQUFJQyxHQUFFLEVBQUcsU0FBU0MsRUFBRVIsRUFBRUUsR0FBR0YsRUFBRVMsT0FBT0MsT0FBT1YsRUFBRVMsT0FBT0UsTUFBTSxTQUFTWCxFQUFFRSxHQUFHQSxFQUFFVSxXQUFXQyxLQUFLLENBQUNDLE1BQU1kLEVBQUVTLFNBQVNGLEdBQUUsRUFBR1EsRUFBRWIsR0FBekQsQ0FBNkRGLEVBQUVFLEdBQUdGLEVBQUVTLE9BQU9PLFFBQVEsU0FBU2hCLEVBQUVFLEdBQUcsSUFBSUssRUFBRSxJQUFJTCxFQUFFVSxXQUFXSyxRQUFRRixFQUFFYixHQUFHLFFBQVFLLEVBQUVMLEVBQUVVLFdBQVdWLEVBQUVVLFdBQVdLLE9BQU8sR0FBR0MsZ0JBQVcsSUFBU1gsR0FBR0EsRUFBRU0sS0FBSyxDQUFDRyxRQUFRaEIsRUFBRVMsT0FBT08sUUFBUUcsV0FBV25CLEVBQUVtQixhQUFySyxDQUFtTG5CLEVBQUVFLEdBQUcsT0FBT0YsRUFBRVMsT0FBTyxTQUFTVCxFQUFFRSxHQUFHRixFQUFFbUIsYUFBYWpCLEVBQUVVLFdBQVdWLEVBQUVVLFdBQVdLLE9BQU8sR0FBR0UsV0FBV25CLEVBQUVtQixXQUFXLFlBQVluQixFQUFFbUIsV0FBV0MsS0FBS2IsSUFBSUwsRUFBRW1CLE1BQU1DLGdCQUFnQmYsR0FBRSxHQUFJQSxHQUFFLEdBQUlRLEVBQUViLEdBQWpLLENBQXFLRixFQUFFRSxHQUFHLFNBQVNGLEVBQUVFLEdBQUcsR0FBRyxJQUFJQSxFQUFFVSxXQUFXSyxRQUFRRixFQUFFYixHQUFHRixFQUFFUyxPQUFPYyxNQUFNLE1BQU0sQ0FBQyxNQUFNZixFQUFFUixFQUFFUyxPQUFPZSxNQUFNLFFBQVEsSUFBSSxNQUFNeEIsS0FBS1EsRUFBRSxPQUFPUixHQUFHZSxFQUFFYixHQUFHSyxHQUFFLEdBQUlrQixFQUFFekIsRUFBRUUsUUFBUXVCLEVBQUV6QixFQUFFUyxPQUFPUCxFQUFFRixFQUFFbUIsWUFBckssQ0FBa0xuQixFQUFFRSxHQUFHLFNBQVNhLEVBQUVmLEdBQUdBLEVBQUVZLFdBQVdDLEtBQUssQ0FBQ0ssU0FBUyxLQUFLLFNBQVNPLEVBQUV6QixFQUFFRSxFQUFFSyxHQUFHLElBQUlDLEVBQUVPLEVBQUVSLEdBQUcsUUFBUUMsRUFBRU4sRUFBRVUsV0FBV1YsRUFBRVUsV0FBV0ssT0FBTyxHQUFHQyxnQkFBVyxJQUFTVixHQUFHQSxFQUFFSyxLQUFLLENBQUNhLEtBQUsxQixFQUFFbUIsV0FBV1osSUFBSUEsRUFBRW9CLE1BQU16QixFQUFFbUIsTUFBTU8sV0FBV2YsS0FBSyxDQUFDYSxLQUFLMUIsRUFBRTJCLEtBQUtwQixFQUFFb0IsUUFBUSxRQUFRWixFQUFFYixFQUFFVSxXQUFXVixFQUFFVSxXQUFXSyxPQUFPLEdBQUdDLGdCQUFXLElBQVNILEdBQUdBLEVBQUVGLEtBQUssQ0FBQ2EsS0FBSzFCLElBQUlFLEVBQUVJLGdCQUFnQixTQUFTTixHQUFHTyxHQUFFLEVBQUcsTUFBTUwsRUFBRSxDQUFDVSxXQUFXLEdBQUdTLE1BQU0sQ0FBQ0MsY0FBYyxFQUFFTSxXQUFXLEtBQUssSUFBSSxNQUFNckIsS0FBS1AsRUFBRTZCLElBQUlyQixFQUFFRCxFQUFFTCxHQUFHLE9BQU9BLEtBQUtBLEVBQUUsR0FBRyxPQUFPLFNBQVNLLEVBQUVDLEdBQUcsR0FBR04sRUFBRU0sR0FBRyxPQUFPTixFQUFFTSxHQUFHZixRQUFRLElBQUlzQixFQUFFYixFQUFFTSxHQUFHLENBQUNmLFFBQVEsSUFBSSxPQUFPTyxFQUFFUSxHQUFHTyxFQUFFQSxFQUFFdEIsUUFBUWMsR0FBR1EsRUFBRXRCLFFBQS9GLENBQXdHLE1BQTcxQyxJLGtLQ0E5TyxlQUdhLEVBQUFxQyxjQUFnQixDQUFDLENBQzFCQyxHQUFJLFNBQ0pDLEtBQU0sU0FDTkMsS0FBTSxTQUNOQyxRQUFTLFNBQ1RDLGFBQWEsRUFDYkMsSUFBSyxDQUNIQyxLQUFNLElBRVJDLFVBQVcsQ0FDVEMsUUFBUyxDQUNQQyxLQUFNLElBQ05DLE9BQVEsRUFDUkMsTUFBTyxLQUdYLENBQ0FYLEdBQUksV0FDSkMsS0FBTSxZQUNOQyxLQUFNLFNBQ05FLGFBQWEsRUFDYkMsSUFBSyxDQUNITyxLQUFNLFVBQ05OLEtBQU0sR0FDTk8sTUFBTSxHQUVSTixVQUFXLENBQ1RDLFFBQVMsQ0FDUEUsT0FBUSxJQUNSQyxNQUFPLE9BR1gsQ0FDQVgsR0FBSSxXQUNKQyxLQUFNLFlBQ05FLFFBQVMsU0FDVEQsS0FBTSxTQUNORSxhQUFhLEVBQ2JDLElBQUssQ0FDSE8sS0FBTSxVQUNOTixLQUFNLEdBQ05PLE1BQU0sR0FFUk4sVUFBVyxDQUNUQyxRQUFTLENBQ1BFLE9BQVEsSUFDUkMsTUFBTyxPQUdYLENBQ0FYLEdBQUksaUJBQ0pDLEtBQU0saUJBQ05FLFFBQVMsU0FDVEMsYUFBYSxFQUNiQyxJQUFLLENBQ0hDLEtBQU0sS0FFUixDQUNBTixHQUFJLGFBQ0pDLEtBQU0sYUFDTkUsUUFBUyxTQUNUQyxhQUFhLEVBQ2JDLElBQUssQ0FDSEMsS0FBTSxHQUNOTSxLQUFNLGVBRVJMLFVBQVcsQ0FDVE8sT0FBUSxDQUFFQyxLQUFNLElBQUtDLE1BQU8sT0FFOUIsQ0FDQWhCLEdBQUksY0FDSkMsS0FBTSxjQUNORSxRQUFTLFNBQ1RDLGFBQWEsRUFDYkMsSUFBSyxDQUNIWSxTQUFTLEdBRVhWLFVBQVcsQ0FDVE8sT0FBUSxDQUFFQyxLQUFNLEtBQ2hCRyxPQUFRLENBQ05ILEtBQU0sQ0FDSlQsS0FBTSxHQUNOYSxNQUFPLEdBQ1BDLE1BQU8sU0FDUDlDLE1BQU8sYUFJYixDQUNBMEIsR0FBSSxXQUNKQyxLQUFNLFdBQ05FLFFBQVMsU0FDVEMsYUFBYSxFQUNiQyxJQUFLLENBQ0hDLEtBQU0sSUFFUkMsVUFBVyxDQUNUTyxPQUFRLENBQ05DLEtBQU0sRUFDTk0sUUFBUyxLQUVYYixRQUFTLENBQ1BDLEtBQU0sUUFLRCxFQUFBYSxxQkFBdUMsQ0FBQyxDQUNqREMsTUFBTyxFQUNQQyxPQUFRLFVBQ1I3QixLQUFNLE1BQ044QixVQUFXLEVBQUFDLGNBQWNDLEtBQ3pCQyxNQUFPLENBQ1ByQixVQUFXLENBQ1BPLE9BQVEsQ0FBRUMsS0FBTSxJQUFLTSxRQUFTLFFBR3BDLENBQ0VFLE1BQU8sRUFDUEMsT0FBUSxjQUNSN0IsS0FBTSxNQUNOOEIsVUFBVyxFQUFBQyxjQUFjQyxLQUN6QkMsTUFBTyxDQUNQckIsVUFBVyxDQUNQTyxPQUFRLENBQUVDLEtBQU0sS0FBTU0sUUFBUyxRQUdyQyxDQUNFRSxNQUFPLEVBQ1BDLE9BQVEsYUFDUjdCLEtBQU0sTUFDTjhCLFVBQVcsRUFBQUMsY0FBY0MsS0FDekJDLE1BQU8sQ0FDUHJCLFVBQVcsQ0FDUE8sT0FBUSxDQUFFQyxLQUFNLEtBQU1NLFFBQVMsUUFHckMsQ0FDRUUsTUFBTyxFQUNQQyxPQUFRLFVBQ1I3QixLQUFNLE1BQ044QixVQUFXLEVBQUFDLGNBQWNDLEtBQ3pCQyxNQUFPLENBQ1ByQixVQUFXLENBQ1BPLE9BQVEsQ0FBRUMsS0FBTSxLQUFNTSxRQUFTLFFBR3JDLENBQ0VFLE1BQU8sRUFDUEMsT0FBUSxjQUNSN0IsS0FBTSxNQUNOOEIsVUFBVyxFQUFBQyxjQUFjQyxLQUN6QkMsTUFBTyxDQUNQckIsVUFBVyxDQUNQTyxPQUFRLENBQUVDLEtBQU0sS0FBTU0sUUFBUyxRQUdyQyxDQUNFRSxNQUFPLEVBQ1BDLE9BQVEsYUFDUjdCLEtBQU0sTUFDTjhCLFVBQVcsRUFBQUMsY0FBY0MsS0FDekJDLE1BQU8sQ0FDUHJCLFVBQVcsQ0FDUE8sT0FBUSxDQUFFQyxLQUFNLEtBQU1NLFFBQVMsU0FLMUIsRUFBQVEsbUJBQXFDLENBQUMsQ0FDakROLE1BQU8sRUFDUEMsT0FBUSxTQUNSN0IsS0FBTSxJQUNOOEIsVUFBVyxFQUFBQyxjQUFjQyxLQUN6QkMsTUFBTyxDQUNQckIsVUFBVyxDQUNQTyxPQUFRLENBQUVDLEtBQU0sSUFBS00sUUFBUyxRQUdsQyxDQUNBRSxNQUFPLEVBQ1BDLE9BQVEsU0FDUjdCLEtBQU0sSUFDTjhCLFVBQVcsRUFBQUMsY0FBY0MsS0FDekJDLE1BQU8sQ0FDUHJCLFVBQVcsQ0FDUE8sT0FBUSxDQUFFQyxLQUFNLEtBQU1NLFFBQVMsUUFHbkMsQ0FDQUUsTUFBTyxFQUNQQyxPQUFRLFNBQ1I3QixLQUFNLElBQ044QixVQUFXLEVBQUFDLGNBQWNDLEtBQ3pCQyxNQUFPLENBQ1ByQixVQUFXLENBQ1BPLE9BQVEsQ0FBRUMsS0FBTSxLQUFNTSxRQUFTLFFBR25DLENBQ0FFLE1BQU8sRUFDUEMsT0FBUSxTQUNSN0IsS0FBTSxJQUNOOEIsVUFBVyxFQUFBQyxjQUFjQyxLQUN6QkMsTUFBTyxDQUNQckIsVUFBVyxDQUNQTyxPQUFRLENBQUVDLEtBQU0sS0FBTU0sUUFBUyxRQUduQyxDQUNBRSxNQUFPLEVBQ1BDLE9BQVEsU0FDUjdCLEtBQU0sSUFDTjhCLFVBQVcsRUFBQUMsY0FBY0MsS0FDekJDLE1BQU8sQ0FDUHJCLFVBQVcsQ0FDUE8sT0FBUSxDQUFFQyxLQUFNLEtBQU1NLFFBQVMsUUFHbkMsQ0FDQUUsTUFBTyxFQUNQQyxPQUFRLFNBQ1I3QixLQUFNLElBQ044QixVQUFXLEVBQUFDLGNBQWNDLEtBQ3pCQyxNQUFPLENBQ1ByQixVQUFXLENBQ1BPLE9BQVEsQ0FBRUMsS0FBTSxLQUFNTSxRQUFTLFNBS3hCLEVBQUFTLGlCQUFtQixDQUM1QkMsT0FBUSxDQUFDLENBQ1RDLFVBQVcsb0JBQ1hDLE9BQVEsRUFBQVgseUIsZzhCQzdPWixlQUNBLFlBQ0EsU0FDQSxTQVdBLElBQUlZLEVBQWMsRUFDZEMsR0FBbUIsRUFDbkJDLEVBQVMsRUFBQXJDLGNBQ1RrQyxFQUF5QixFQUFBWCxxQkFDekJlLEdBQWdCLEVBNkNwQixTQUFTQyxFQUFTVixFQUF3QlcsRUFBaUJDLEdBQ3JEWixFQUFNckIsWUFDUjZCLEVBQU9JLEdBQU9qQyxVQUFZcUIsRUFBTXJCLFdBRTlCcUIsRUFBTXZCLE1BQ1IrQixFQUFPSSxHQUFPbkMsSUFBTXVCLEVBQU12QixLQXVKOUIsU0FBU29DLEVBQWFDLEVBQStCQyxHLFlBQ25ELElBQUlDLEVBQXdCLEVBRTVCLE1BQU0vRCxFQUEwQixHQUVoQyxJQUFLLE1BQU0wQixLQUFhbUMsRUFBaUIsQ0FFckMsR0FBbUIsUUFBbkIsRUFBSW5DLEVBQVV4QixhQUFLLGVBQUVILE1BQU8sQ0FDMUIsTUFBTUEsRUFBUSxFQUFBaUUsTUFBTUMsU0FBU0gsRUFBS3BDLEVBQVV4QixNQUFNSCxPQUNsREMsRUFBV0MsS0FBSyxJQUFJLEVBQUFpRSxVQUFVbkUsU0FDekIsR0FBbUIsUUFBbkIsRUFBSTJCLEVBQVV4QixhQUFLLGVBQUVKLE1BQU8sQ0FDakMsTUFBTTBCLEdBb0ZNMUIsRUFwRlc0QixFQUFVeEIsTUFBTUosTUFxRnRDLElBQUksRUFBQXFFLFFBQVEsQ0FDakJyRCxLQUFNaEIsS0FyRkZFLEVBQVdDLEtBQUssSUFBSSxFQUFBaUUsVUFBVSxDQUFFRSxTQUFVLENBQUM1QyxXQUVsQ0UsRUFBVXBCLFdBRWZ5RCxFQUF3QixHQUFvQyxhQUFYLFFBQXBCLEVBQUFyQyxFQUFVbkIsa0JBQVUsZUFBRUMsUUFDYSxhQUFYLFFBQW5ELEVBQUFxRCxFQUFnQkUsRUFBc0IsR0FBR3hELGtCQUFVLGVBQUVDLE1BQ3ZEOEMsRUFBa0JBLEVBRWxCQSxLQUdKdEQsRUFBV0MsS0FBS29FLEVBQWUzQyxLQUVqQ3FDLElBc0VOLElBQW9CakUsRUFwRWxCLE9BQU9FLEVBSVQsU0FBU3FFLEVBQWUzQyxHLDRCQUV0QixNQUFNcEIsRUFBdUMsR0FFN0MsSUFBSyxNQUFNa0IsS0FBT0UsRUFBVXBCLFNBRW5Ca0IsRUFBMEJwQixRQUM3QkUsRUFBU0wsTUFrREtHLEVBbERjb0IsRUFBNEJwQixRQW1EdkQsSUFBSSxFQUFBK0QsUUFBUSxDQUNqQnJELEtBQU1WLE1BbERRb0IsRUFBaUJWLE1BQ3pCUixFQUFTTCxLQUFLcUUsRUFBYTlDLElBK0NyQyxJQUFzQnBCLEVBN0JwQixPQWZzQixJQUFJLEVBQUE4RCxVQUFVLENBQ2xDRSxTQUFVOUQsRUFFVmlFLFFBQTBDLEtBQWIsUUFBcEIsRUFBQTdDLEVBQVVuQixrQkFBVSxlQUFFaUUsUUFBZUMsRUFBS0MsYUFBYUMsVUFBNkMsS0FBYixRQUFwQixFQUFBakQsRUFBVW5CLGtCQUFVLGVBQUVpRSxRQUFlQyxFQUFLQyxhQUFhRSxlQUFZQyxFQUUvSUMsT0FBdUMsWUFBWCxRQUFwQixFQUFBcEQsRUFBVW5CLGtCQUFVLGVBQUVDLE9BQXNCZ0QsT0FBMkZxQixFQUEzRSxDQUFFbkMsTUFBT2hCLEVBQVVuQixXQUFXMEIsT0FBU1AsRUFBVW5CLFdBQVcwQixPQUFTLEdBRXpJOEMsVUFBMkMsYUFBWCxRQUFwQixFQUFBckQsRUFBVW5CLGtCQUFVLGVBQUVDLE1BQXNCLENBQUUyQyxVQUFXLFlBQVlHLElBQW1CWixNQUFRaEIsRUFBVW5CLFdBQVcwQixPQUFTUCxFQUFVbkIsV0FBVzBCLE9BQVMsR0FBdUMsWUFBWCxRQUFwQixFQUFBUCxFQUFVbkIsa0JBQVUsZUFBRUMsT0FBcUJnRCxFQUFpQixDQUFFTCxVQUFXLGdCQUFpQlQsTUFBUWhCLEVBQVVuQixXQUFXMEIsT0FBU1AsRUFBVW5CLFdBQVcwQixPQUFTLFFBQU80QyxFQUVyVmpDLFVBQTJDLFVBQVosUUFBcEIsRUFBQWxCLEVBQVVuQixrQkFBVSxlQUFFeUUsT0FBbUIsRUFBQW5DLGNBQWNDLEtBQXVDLFlBQVosUUFBcEIsRUFBQXBCLEVBQVVuQixrQkFBVSxlQUFFeUUsT0FBcUIsRUFBQW5DLGNBQWNvQyxPQUF5QyxXQUFaLFFBQXBCLEVBQUF2RCxFQUFVbkIsa0JBQVUsZUFBRXlFLE9BQW9CLEVBQUFuQyxjQUFjcUMsTUFBd0MsYUFBWixRQUFwQixFQUFBeEQsRUFBVW5CLGtCQUFVLGVBQUV5RSxPQUFzQixFQUFBbkMsY0FBY3NDLGVBQVlOLEVBRWpSOUIsT0FBMkIsUUFBcEIsRUFBQXJCLEVBQVVuQixrQkFBVSxlQUFHLGVBQWdCLGNBQW1DLFFBQXBCLEVBQUFtQixFQUFVbkIsa0JBQVUsZUFBRTZFLFlBQWEsZUFBc0QsUUFBdEMsRUFBQzFELEVBQTJCbkIsa0JBQVUsZUFBRThFLFVBQVcsZ0JBQWFSLElBUXBMLFNBQVNQLEVBQWE5QyxFQUFlRSxHLDhCQUNuQyxJQUFJNEQsRUFvQkosT0FuQmtCLFFBQWxCLEVBQUk5RCxFQUFJakIsa0JBQVUsZUFBRVEsT0FDbEJ1RSxFQUFVLElBQUksRUFBQUMsYUFBYSxPQUFPbEMsS0FDbENBLEtBRUFpQyxFQUFVLElBQUksRUFBQW5CLFFBQVEsQ0FDcEJyRCxLQUFNVSxFQUFJVixLQUNWa0IsUUFBb0IsUUFBZCxFQUFBUixFQUFJakIsa0JBQVUsZUFBRXlCLE1BQ3RCSSxXQUF1QixRQUFkLEVBQUFaLEVBQUlqQixrQkFBVSxlQUFFaUYsUUFDekJDLFVBQXNDLFNBQWIsUUFBZCxFQUFBakUsRUFBSWpCLGtCQUFVLGVBQUVtRixRQUMzQkMsWUFBd0MsV0FBYixRQUFkLEVBQUFuRSxFQUFJakIsa0JBQVUsZUFBRW1GLFFBQzdCRSxVQUFzQixRQUFkLEVBQUFwRSxFQUFJakIsa0JBQVUsZUFBRXFGLFFBQ3hCQyxXQUF5QixRQUFkLEVBQUFyRSxFQUFJakIsa0JBQVUsZUFBRXNGLFdBQVksQ0FBRUMsS0FBTSxFQUFBQyxjQUFjQyxPQUFRekQsTUFBTyxhQUFXc0MsRUFDdkZ0QyxPQUFxQixRQUFkLEVBQUFmLEVBQUlqQixrQkFBVSxlQUFFZ0MsT0FBc0IsUUFBZixFQUFDZixFQUFJakIsa0JBQVUsZUFBRWdDLE1BQU0wRCxNQUFNLFFBQUtwQixFQUNoRXBELEtBQStCLFVBQVgsUUFBZCxFQUFBRCxFQUFJakIsa0JBQVUsZUFBRWtCLE1BQWtCLEdBQThCLFdBQVgsUUFBZCxFQUFBRCxFQUFJakIsa0JBQVUsZUFBRWtCLE1BQW1CLEdBQThCLFdBQVgsUUFBZCxFQUFBRCxFQUFJakIsa0JBQVUsZUFBRWtCLE1BQW1CLFFBQUtvRCxFQUc3SHFCLFdBQXlCLFFBQWQsRUFBQTFFLEVBQUlqQixrQkFBVSxlQUFFNEYsWUFBYSxjQUFXdEIsSUFHaERTLEVBMVJULHdCQUFtQ2MsRUFBOERsRCxHLHlDQUkvRixJQUFJWSxFQUhKVCxFQUFjLEVBQ2RDLEdBQW1CLEVBQ25CRSxHQUFnQixFQUdoQixNQUFNNkMsRUFBMEIsR0FFMUJDLEVBQW1DLEdBRXpDLEdBQUtGLEVBQXdCbkYsSUFBSyxDQUNoQyxNQUFNc0YsRUFBYyxFQUFBN0csZ0JBQWdCMEcsR0FDcENFLEVBQWFyRyxLQUFLc0csUUFFYixHQUFJQyxNQUFNQyxRQUFRTCxHQUN2QixJQUFLLE1BQU1NLEtBQWFOLEVBQ3RCRSxFQUFhckcsS0FBS3lHLE9BR2YsS0FBS04sRUFBMkJwRyxXQUlyQyxNQUFNLElBQUkyRyxNQUFNLHVIQUhoQkwsRUFBYXJHLEtBQUttRyxHQU1wQnRDLEVBb0VGLFNBQWtCeUMsRUFBK0JyRCxHQU0vQyxJQUFJbEMsRUFDQStELEVBb0JKLE9BMUJBeEIsRUFBUyxFQUFBckMsY0FDVGtDLEVBQVMsRUFBQVgscUJBQ0xTLEdBYk4sU0FBcUJBLEdBQ2ZBLEVBQU8wRCxpQkFqQ2IsU0FBNkJBLEdBQzNCLEdBQUlBLEVBQWdCQyxPQUFRLENBQzFCLE1BQU1sRCxFQUFRSixFQUFPdUQsV0FBVS9ELEdBQXNCLFdBQWJBLEVBQU01QixLQUM5Q3NDLEVBQVNtRCxFQUFnQkMsT0FBUSxFQUFVbEQsR0FFN0MsR0FBSWlELEVBQWdCRyxTQUFVLENBQzVCLE1BQU1wRCxFQUFRSixFQUFPdUQsV0FBVS9ELEdBQXNCLGFBQWJBLEVBQU01QixLQUM5Q3NDLEVBQVNtRCxFQUFnQkcsU0FBVSxFQUFZcEQsR0FFakQsR0FBSWlELEVBQWdCSSxTQUFVLENBQzVCLE1BQU1yRCxFQUFRSixFQUFPdUQsV0FBVS9ELEdBQXNCLGFBQWJBLEVBQU01QixLQUM5Q3NDLEVBQVNtRCxFQUFnQkksU0FBVSxFQUFZckQsR0FFakQsR0FBSWlELEVBQWdCSyxlQUFnQixDQUNsQyxNQUFNdEQsRUFBUUosRUFBT3VELFdBQVUvRCxHQUFzQixtQkFBYkEsRUFBTTVCLEtBQzlDc0MsRUFBU21ELEVBQWdCSyxlQUFnQixFQUFrQnRELEdBRTdELEdBQUlpRCxFQUFnQk0sV0FBWSxDQUM5QixNQUFNdkQsRUFBUUosRUFBT3VELFdBQVUvRCxHQUFzQixlQUFiQSxFQUFNNUIsS0FDOUNzQyxFQUFTbUQsRUFBZ0JNLFdBQVksRUFBY3ZELEdBRXJELEdBQUlpRCxFQUFnQk8sWUFBYSxDQUMvQixNQUFNeEQsRUFBUUosRUFBT3VELFdBQVUvRCxHQUFzQixnQkFBYkEsRUFBTTVCLEtBQzlDc0MsRUFBU21ELEVBQWdCTyxZQUFhLEVBQWV4RCxHQUV2RCxHQUFJaUQsRUFBZ0J2QixTQUFVLENBQzVCLE1BQU0xQixFQUFRSixFQUFPdUQsV0FBVS9ELEdBQXNCLGFBQWJBLEVBQU01QixLQUM5Q3NDLEVBQVNtRCxFQUFnQnZCLFNBQVUsRUFBWTFCLElBTy9DeUQsQ0FBb0JsRSxFQUFPMEQsaUJBRXpCMUQsRUFBT21FLGVBQ1RqRSxFQUFTRixFQUFPbUUsY0FTaEJDLENBQVlwRSxHQUtWcUQsRUFBWTlGLE1BQU1PLFdBQVdYLE9BQVMsSUFDeENXLEVBMEVKLFNBQXlCdUcsR0FDdkIsSUFBSXZHLEVBQWtCLEdBQ2xCcUMsRUFBYyxFQUVsQixJQUFLLE1BQU10QyxLQUFRd0csRUFBWSxDQUM3QixNQUFNQyxFQUFVLENBQ2R6RyxLQUFNQSxFQUFLQSxLQUNYRCxLQUFNQyxFQUFLRCxLQUNYZ0YsS0FBTSxFQUFBMkIsY0FBY0MsVUFFdEIxRyxFQUFhLE9BQUgsd0JBQ0xBLEdBQVUsQ0FDYixDQUFDLE9BQU9xQyxLQUFnQm1FLElBRTFCbkUsSUFFRixPQUFPckMsRUExRlEyRyxDQUFnQnBCLEVBQVk5RixNQUFNTyxhQUc3Q3VGLEVBQVk5RixNQUFNQyxjQUFnQixJQUNwQ3FFLEVBbUNKLFNBQXdCNkMsR0FDdEIsSUFBSTFFLEVBQWdCLEdBQ2hCMkUsRUFBZ0IsRUFFcEIsS0FBT0EsRUFBZ0JELEdBQWUsQ0FDcEMsTUFBTUUsRUFBVSxDQUNkM0UsVUFBVyxZQUFZMEUsSUFDdkJ6RSxPQUFRQSxHQUVWRixFQUFPakQsS0FBSzZILEdBQ1pELElBS0YsTUFIcUIsQ0FDbkIzRSxPQUFRQSxHQWhESTZFLENBQWV4QixFQUFZOUYsTUFBTUMsaUJBRTNDd0MsYUFBTSxFQUFOQSxFQUFRRixzQkFDVitCLEVBbURKLFNBQTBCaUQsRUFBMkNDLEdBQ25FLE1BQU16RSxFQUE4QixDQUNsQ0wsVUFBVyxnQkFDWEMsT0FBUTZFLEdBRVYsT0FBSUQsR0FDRkEsRUFBYTlFLE9BQU9qRCxLQUFLdUQsR0FDbEJ3RSxHQUVBLENBQ0w5RSxPQUFRLENBQUNNLElBN0RDMEUsQ0FBaUJuRCxFQUFXN0IsRUFBT0Ysb0JBQy9DUSxHQUFnQixHQUVOLElBQUlpQixFQUFLMEQsU0FBUyxDQUM1QjVFLE9BQVEsQ0FDTnFELGdCQUFpQnJELEdBRW5Cd0IsVUFBV0EsRUFDWC9ELFdBQVlBLElBN0ZSb0gsQ0FBUzlCLEVBQWEsR0FBSXBELEdBRWhDLElBQUssTUFBTWtELEtBQVNFLEVBQ2xCRCxFQUFTcEcsS0FBSzJELEVBQWF3QyxFQUFNcEcsV0FBWThELElBRy9DLElBQUssTUFBTXVFLEtBQVdoQyxFQUNwQnZDLEVBQUl3RSxXQUFXLENBQ1hsRSxTQUFVaUUsSUFJaEIsT0F1RkYsU0FBeUJ2RSxFQUFvQlosRyx5Q0FDM0MsSUFBS0EsSUFBV0EsRUFBT3FGLFVBQWdDLFFBQXBCckYsRUFBT3FGLFNBQ3hDLE9BQU96RSxFQUVULEdBQXdCLFNBQXBCWixFQUFPcUYsU0FDVCxPQUFPLEVBQUFDLE9BQU9DLE9BQU8zRSxHQUV2QixHQUF3QixXQUFwQlosRUFBT3FGLFNBRVQsT0FEQUcsUUFBUUMsSUFBSSxvQkFDTCxFQUFBSCxPQUFPSSxTQUFTOUUsR0FFekIsR0FBd0IsV0FBcEJaLEVBQU9xRixTQUNULE9BQU8sRUFBQUMsT0FBT0ssZUFBZS9FLEdBRS9CLE1BQU0sSUFBSTZDLE1BQU0seUVBckdUbUMsQ0FBVWhGLEVBQUtaLFEsMlpDM0R4QixXQUNBLGEsZ0dDREFwRSxFQUFPRCxRQUFVTSxJQ0NiNEosRUFBMkIsR0FHL0IsU0FBU0MsRUFBb0JDLEdBRTVCLEdBQUdGLEVBQXlCRSxHQUMzQixPQUFPRixFQUF5QkUsR0FBVXBLLFFBRzNDLElBQUlDLEVBQVNpSyxFQUF5QkUsR0FBWSxDQUdqRHBLLFFBQVMsSUFPVixPQUhBcUssRUFBb0JELEdBQVVFLEtBQUtySyxFQUFPRCxRQUFTQyxFQUFRQSxFQUFPRCxRQUFTbUssR0FHcEVsSyxFQUFPRCxRQ2pCUm1LLENBQW9CLEssTURGdkJEIiwiZmlsZSI6Im1haW4uanMiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KHJlcXVpcmUoXCJkb2N4XCIpKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtcImRvY3hcIl0sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wiUXVpbGxUb1dvcmRcIl0gPSBmYWN0b3J5KHJlcXVpcmUoXCJkb2N4XCIpKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJRdWlsbFRvV29yZFwiXSA9IGZhY3Rvcnkocm9vdFtcImRvY3hcIl0pO1xufSkoc2VsZiwgZnVuY3Rpb24oX19XRUJQQUNLX0VYVEVSTkFMX01PRFVMRV9fNjg3X18pIHtcbnJldHVybiAiLCIhZnVuY3Rpb24odCxlKXtcIm9iamVjdFwiPT10eXBlb2YgZXhwb3J0cyYmXCJvYmplY3RcIj09dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz1lKCk6XCJmdW5jdGlvblwiPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbXSxlKTpcIm9iamVjdFwiPT10eXBlb2YgZXhwb3J0cz9leHBvcnRzW1wicXVpbGxqcy1wYXJzZXJcIl09ZSgpOnRbXCJxdWlsbGpzLXBhcnNlclwiXT1lKCl9KHNlbGYsKGZ1bmN0aW9uKCl7cmV0dXJuKCgpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIHQ9ezYwNzoodCxlKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLGUucGFyc2VRdWlsbERlbHRhPXZvaWQgMDtsZXQgcj0hMTtmdW5jdGlvbiBzKHQsZSl7dC5pbnNlcnQudmlkZW98fHQuaW5zZXJ0LmltYWdlP2Z1bmN0aW9uKHQsZSl7ZS5wYXJhZ3JhcGhzLnB1c2goe2VtYmVkOnQuaW5zZXJ0fSkscj0hMSxuKGUpfSh0LGUpOnQuaW5zZXJ0LmZvcm11bGE/ZnVuY3Rpb24odCxlKXt2YXIgcjswPT09ZS5wYXJhZ3JhcGhzLmxlbmd0aCYmbihlKSxudWxsPT09KHI9ZS5wYXJhZ3JhcGhzW2UucGFyYWdyYXBocy5sZW5ndGgtMV0udGV4dFJ1bnMpfHx2b2lkIDA9PT1yfHxyLnB1c2goe2Zvcm11bGE6dC5pbnNlcnQuZm9ybXVsYSxhdHRyaWJ1dGVzOnQuYXR0cmlidXRlc30pfSh0LGUpOlwiXFxuXCI9PT10Lmluc2VydD9mdW5jdGlvbih0LGUpe3QuYXR0cmlidXRlcyYmKGUucGFyYWdyYXBoc1tlLnBhcmFncmFwaHMubGVuZ3RoLTFdLmF0dHJpYnV0ZXM9dC5hdHRyaWJ1dGVzLFwib3JkZXJlZFwiPT09dC5hdHRyaWJ1dGVzLmxpc3Q/cnx8KGUuc2V0dXAubnVtYmVyZWRMaXN0cysrLHI9ITApOnI9ITEpLG4oZSl9KHQsZSk6ZnVuY3Rpb24odCxlKXtpZigwPT09ZS5wYXJhZ3JhcGhzLmxlbmd0aCYmbihlKSx0Lmluc2VydC5tYXRjaCgvXFxuLykpe2NvbnN0IHM9dC5pbnNlcnQuc3BsaXQoLyhcXG4pLyk7Zm9yKGNvbnN0IHQgb2YgcylcIlxcblwiPT09dD8obihlKSxyPSExKTphKHQsZSl9ZWxzZSBhKHQuaW5zZXJ0LGUsdC5hdHRyaWJ1dGVzKX0odCxlKX1mdW5jdGlvbiBuKHQpe3QucGFyYWdyYXBocy5wdXNoKHt0ZXh0UnVuczpbXX0pfWZ1bmN0aW9uIGEodCxlLHIpe3ZhciBzLG47cj8obnVsbD09PShzPWUucGFyYWdyYXBoc1tlLnBhcmFncmFwaHMubGVuZ3RoLTFdLnRleHRSdW5zKXx8dm9pZCAwPT09c3x8cy5wdXNoKHt0ZXh0OnQsYXR0cmlidXRlczpyfSksci5saW5rJiZlLnNldHVwLmh5cGVybGlua3MucHVzaCh7dGV4dDp0LGxpbms6ci5saW5rfSkpOm51bGw9PT0obj1lLnBhcmFncmFwaHNbZS5wYXJhZ3JhcGhzLmxlbmd0aC0xXS50ZXh0UnVucyl8fHZvaWQgMD09PW58fG4ucHVzaCh7dGV4dDp0fSl9ZS5wYXJzZVF1aWxsRGVsdGE9ZnVuY3Rpb24odCl7cj0hMTtjb25zdCBlPXtwYXJhZ3JhcGhzOltdLHNldHVwOntudW1iZXJlZExpc3RzOjAsaHlwZXJsaW5rczpbXX19O2Zvcihjb25zdCByIG9mIHQub3BzKXMocixlKTtyZXR1cm4gZX19fSxlPXt9O3JldHVybiBmdW5jdGlvbiByKHMpe2lmKGVbc10pcmV0dXJuIGVbc10uZXhwb3J0czt2YXIgbj1lW3NdPXtleHBvcnRzOnt9fTtyZXR1cm4gdFtzXShuLG4uZXhwb3J0cyxyKSxuLmV4cG9ydHN9KDYwNyl9KSgpfSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5eGRXbHNiR3B6TFhCaGNuTmxjaTkzWldKd1lXTnJMM1Z1YVhabGNuTmhiRTF2WkhWc1pVUmxabWx1YVhScGIyNGlMQ0ozWldKd1lXTnJPaTh2Y1hWcGJHeHFjeTF3WVhKelpYSXZMaTl6Y21NdmFXNWtaWGd1ZEhNaUxDSjNaV0p3WVdOck9pOHZjWFZwYkd4cWN5MXdZWEp6WlhJdmQyVmljR0ZqYXk5aWIyOTBjM1J5WVhBaUxDSjNaV0p3WVdOck9pOHZjWFZwYkd4cWN5MXdZWEp6WlhJdmQyVmljR0ZqYXk5emRHRnlkSFZ3SWwwc0ltNWhiV1Z6SWpwYkluSnZiM1FpTENKbVlXTjBiM0o1SWl3aVpYaHdiM0owY3lJc0ltMXZaSFZzWlNJc0ltUmxabWx1WlNJc0ltRnRaQ0lzSW5ObGJHWWlMQ0poWTNScGRtVk9kVzFpWlhKbFpFeHBjM1FpTENKd1lYSnpaVTl3SWl3aWIzQWlMQ0p3WVhKelpXUWlMQ0pwYm5ObGNuUWlMQ0oyYVdSbGJ5SXNJbWx0WVdkbElpd2ljR0Z5WVdkeVlYQm9jeUlzSW5CMWMyZ2lMQ0psYldKbFpDSXNJbk4wWVhKMFRtVjNVR0Z5WVdkeVlYQm9JaXdpYVc1elpYSjBSVzFpWldSUVlYSmhaM0poY0dnaUxDSm1iM0p0ZFd4aElpd2liR1Z1WjNSb0lpd2lkR1Y0ZEZKMWJuTWlMQ0poZEhSeWFXSjFkR1Z6SWl3aWFXNXpaWEowUm05eWJYVnNZU0lzSW14cGMzUWlMQ0p6WlhSMWNDSXNJbTUxYldKbGNtVmtUR2x6ZEhNaUxDSnBibk5sY25ST1pYZHNhVzVsSWl3aWJXRjBZMmdpTENKemRISnBibWR6SWl3aWMzQnNhWFFpTENKMFpYaDBJaXdpYVc1elpYSjBVMmx0Y0d4bFUzUnlhVzVuSWl3aWFXNXpaWEowVkdWNGRDSXNJbXhwYm1zaUxDSm9lWEJsY214cGJtdHpJaXdpY1hWcGJHd2lMQ0p2Y0hNaUxDSmZYM2RsWW5CaFkydGZiVzlrZFd4bFgyTmhZMmhsWDE4aUxDSmZYM2RsWW5CaFkydGZjbVZ4ZFdseVpWOWZJaXdpYlc5a2RXeGxTV1FpTENKZlgzZGxZbkJoWTJ0ZmJXOWtkV3hsYzE5ZklsMHNJbTFoY0hCcGJtZHpJam9pUTBGQlFTeFRRVUV5UTBFc1JVRkJUVU1zUjBGRE1VSXNhVUpCUVZwRExGTkJRVEJETEdsQ1FVRllReXhQUVVONFEwRXNUMEZCVDBRc1VVRkJWVVFzU1VGRFVTeHRRa0ZCV0Vjc1VVRkJlVUpCTEU5QlFVOURMRWxCUXpsRFJDeFBRVUZQTEVkQlFVbElMRWRCUTJVc2FVSkJRVnBETEZGQlEyUkJMRkZCUVZFc2EwSkJRVzlDUkN4SlFVVTFRa1FzUlVGQlN5eHJRa0ZCYjBKRExFbEJVak5DTEVOQlUwZExMRTFCUVUwc1YwRkRWQ3hOTEdkSVF6WkVRU3hKUVVGSlF5eEhRVUZ4UWl4RlFXdENla0lzVTBGQlUwTXNSVUZCVVVNc1JVRkJZVU1zUjBGRmNrSkVMRVZCUVVkRkxFOUJRWFZDUXl4UFFVRlZTQ3hGUVVGSFJTeFBRVUYxUWtVc1RVRnpRblpGTEZOQlFUaENTaXhGUVVGaFF5eEhRVU4yUTBFc1JVRkJUMGtzVjBGQlYwTXNTMEZCU3l4RFFVTnVRa01zVFVGQlQxQXNSVUZCUjBVc1UwRkZaRW9zUjBGQmNVSXNSVUZEY2tKVkxFVkJRV3RDVUN4SFFURkNaRkVzUTBGQmNVSlVMRVZCUVVsRExFZEJSV3BDUkN4RlFVRkhSU3hQUVVGMVFsRXNVVUUwUWpGRExGTkJRWFZDVml4RlFVRmhReXhITEUxQlEwTXNTVUZCTjBKQkxFVkJRVTlKTEZkQlFWZE5MRkZCUTJ4Q1NDeEZRVUZyUWxBc1IwRkZaME1zVVVGQmRFUXNSVUZCUVVFc1JVRkJUMGtzVjBGQlYwb3NSVUZCVDBrc1YwRkJWMDBzVDBGQlR5eEhRVUZIUXl4blFrRkJVU3hUUVVGRlRpeExRVUZMTEVOQlEzcEVTU3hSUVVGVlZpeEZRVUZIUlN4UFFVRjFRbEVzVVVGRGNFTkhMRmRCUVZsaUxFVkJRVWRoTEdGQmFrTm1ReXhEUVVGalpDeEZRVUZKUXl4SFFVVkhMRTlCUVdSRUxFVkJRVWRGTEU5QmIwTnNRaXhUUVVGMVFrWXNSVUZCWVVNc1IwRkZOVUpFTEVWQlFVZGhMR0ZCUTBoYUxFVkJRVTlKTEZkQlFWZEtMRVZCUVU5SkxGZEJRVmROTEU5QlFVOHNSMEZCUjBVc1YwRkJZV0lzUlVGQlIyRXNWMEZEYmtNc1dVRkJka0ppTEVWQlFVZGhMRmRCUVZkRkxFdEJSVlpxUWl4SlFVMUJSeXhGUVVGUFpTeE5RVUZOUXl4blFrRkRZbTVDTEVkQlFYRkNMRWRCUjNwQ1FTeEhRVUZ4UWl4SFFVYzNRbFVzUlVGQmEwSlFMRWRCZEVSa2FVSXNRMEZCWTJ4Q0xFVkJRVWxETEVkQk1FUXhRaXhUUVVGdlFrUXNSVUZCWVVNc1IwRkxOMElzUjBGS2FVTXNTVUZCTjBKQkxFVkJRVTlKTEZkQlFWZE5MRkZCUTJ4Q1NDeEZRVUZyUWxBc1IwRkhha0pFTEVWQlFVZEZMRTlCUVd0Q2FVSXNUVUZCVFN4TlFVRlBMRU5CUTI1RExFMUJRVTFETEVWQlFYZENjRUlzUlVGQlIwVXNUMEZwUTNaQ2JVSXNUVUZCVFN4UlFXaERhRUlzU1VGQlN5eE5RVUZOUXl4TFFVRlJSaXhGUVVOR0xFOUJRVlJGTEVkQlEwRmtMRVZCUVd0Q1VDeEhRVU5zUWtnc1IwRkJjVUlzUjBGRmNrSjVRaXhGUVVGdFFrUXNSVUZCVFhKQ0xGRkJTV3BEYzBJc1JVRkJiVUoyUWl4RlFVRkhSU3hQUVVGclFrUXNSVUZCVVVRc1JVRkJSMkVzV1VGMlJXNUVWeXhEUVVGWGVFSXNSVUZCU1VNc1IwRkxka0lzVTBGQlUwOHNSVUZCYTBKUUxFZEJRM1pDUVN4RlFVRlBTU3hYUVVGWFF5eExRVUZMTEVOQlEyNUNUU3hUUVVGVkxFdEJjVVZzUWl4VFFVRlRWeXhGUVVGdFFrUXNSVUZCWTNKQ0xFVkJRVEJDV1N4SExGRkJRelZFUVN4SFFVTnpSQ3hSUVVGMFJDeEZRVUZCV2l4RlFVRlBTU3hYUVVGWFNpeEZRVUZQU1N4WFFVRlhUU3hQUVVGUExFZEJRVWRETEdkQ1FVRlJMRk5CUVVWT0xFdEJRVXNzUTBGRGVrUm5RaXhMUVVGTlFTeEZRVU5PVkN4WFFVRlpRU3hKUVVWYVFTeEZRVUZYV1N4TlFVTlllRUlzUlVGQlQyVXNUVUZCVFZVc1YwRkJWM0JDTEV0QlFVc3NRMEZCUldkQ0xFdEJRVTFCTEVWQlFVMUhMRXRCUVUxYUxFVkJRVmRaTEZGQlIxWXNVVUZCZEVRc1JVRkJRWGhDTEVWQlFVOUpMRmRCUVZkS0xFVkJRVTlKTEZkQlFWZE5MRTlCUVU4c1IwRkJSME1zWjBKQlFWRXNVMEZCUlU0c1MwRkJTeXhEUVVONlJHZENMRXRCUVUxQkxFbEJia2hzUWl3eVFrRkJaME5MTEVkQlF6VkNOMElzUjBGQmNVSXNSVUZEY2tJc1RVRkJUVWNzUlVGQk1rSXNRMEZETjBKSkxGZEJRVmtzUjBGRFdsY3NUVUZCVHl4RFFVTklReXhqUVVGbExFVkJRMlpUTEZkQlFWa3NTMEZIY0VJc1NVRkJTeXhOUVVGTk1VSXNTMEZCVFRKQ0xFVkJRVTFETEVsQlEyNUNOMElzUlVGQlVVTXNSVUZCU1VNc1IwRkZhRUlzVDBGQlQwRXNTME53UmxBMFFpeEZRVUV5UWl4SFEwVXZRaXhQUkVOQkxGTkJRVk5ETEVWQlFXOUNReXhIUVVVMVFpeEhRVUZIUml4RlFVRjVRa1VzUjBGRE0wSXNUMEZCVDBZc1JVRkJlVUpGTEVkQlFWVjBReXhSUVVjelF5eEpRVUZKUXl4RlFVRlRiVU1zUlVGQmVVSkZMRWRCUVZrc1EwRkhha1IwUXl4UlFVRlRMRWxCVDFZc1QwRklRWFZETEVWQlFXOUNSQ3hIUVVGVmNrTXNSVUZCVVVFc1JVRkJUMFFzVVVGQlUzRkRMRWRCUnk5RGNFTXNSVUZCVDBRc1VVTnFRbEp4UXl4RFFVRnZRaXhOSWl3aVptbHNaU0k2SW0xaGFXNHVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJb1puVnVZM1JwYjI0Z2QyVmljR0ZqYTFWdWFYWmxjbk5oYkUxdlpIVnNaVVJsWm1sdWFYUnBiMjRvY205dmRDd2dabUZqZEc5eWVTa2dlMXh1WEhScFppaDBlWEJsYjJZZ1pYaHdiM0owY3lBOVBUMGdKMjlpYW1WamRDY2dKaVlnZEhsd1pXOW1JRzF2WkhWc1pTQTlQVDBnSjI5aWFtVmpkQ2NwWEc1Y2RGeDBiVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1ZV04wYjNKNUtDazdYRzVjZEdWc2MyVWdhV1lvZEhsd1pXOW1JR1JsWm1sdVpTQTlQVDBnSjJaMWJtTjBhVzl1SnlBbUppQmtaV1pwYm1VdVlXMWtLVnh1WEhSY2RHUmxabWx1WlNoYlhTd2dabUZqZEc5eWVTazdYRzVjZEdWc2MyVWdhV1lvZEhsd1pXOW1JR1Y0Y0c5eWRITWdQVDA5SUNkdlltcGxZM1FuS1Z4dVhIUmNkR1Y0Y0c5eWRITmJYQ0p4ZFdsc2JHcHpMWEJoY25ObGNsd2lYU0E5SUdaaFkzUnZjbmtvS1R0Y2JseDBaV3h6WlZ4dVhIUmNkSEp2YjNSYlhDSnhkV2xzYkdwekxYQmhjbk5sY2x3aVhTQTlJR1poWTNSdmNua29LVHRjYm4wcEtITmxiR1lzSUdaMWJtTjBhVzl1S0NrZ2UxeHVjbVYwZFhKdUlDSXNJbVY0Y0c5eWRDQnBiblJsY21aaFkyVWdTVzV6WlhKMFJXMWlaV1FnZTF4dUlDQWdJR2x0WVdkbFB6b2djM1J5YVc1bk8xeHVJQ0FnSUdadmNtMTFiR0UvT2lCemRISnBibWM3WEc0Z0lDQWdkbWxrWlc4L09pQnpkSEpwYm1jN1hHNTlYRzVjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVW5WdVFYUjBjbWxpZFhSbGN5QjdYRzRnSUNBZ2MyTnlhWEIwUHpvZ0ozTjFjR1Z5SnlCOElDZHpkV0luTzF4dUlDQWdJR052Ykc5eVB6b2djM1J5YVc1bk8xeHVJQ0FnSUdKaFkydG5jbTkxYm1RL09pQnpkSEpwYm1jN1hHNGdJQ0FnWW05c1pEODZJR0p2YjJ4bFlXNDdYRzRnSUNBZ2FYUmhiR2xqUHpvZ1ltOXZiR1ZoYmp0Y2JpQWdJQ0IxYm1SbGNteHBibVUvT2lCaWIyOXNaV0Z1TzF4dUlDQWdJSE4wY21sclpUODZJR0p2YjJ4bFlXNDdYRzRnSUNBZ1ptOXVkRDg2SUhOMGNtbHVaenRjYmlBZ0lDQnNhVzVyUHpvZ2MzUnlhVzVuTzF4dUlDQWdJSE5wZW1VL09pQW5jMjFoYkd3bklId2dKMnhoY21kbEp5QjhJQ2RvZFdkbEp6dGNibjFjYmx4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCTWFXNWxRWFIwY21saWRYUmxjeUI3WEc0Z0lDQWdhR1ZoWkdWeVB6b2dNU0I4SURJN1hHNGdJQ0FnWkdseVpXTjBhVzl1UHpvZ0ozSjBiQ2M3WEc0Z0lDQWdZV3hwWjI0L09pQW5jbWxuYUhRbklId2dKMnhsWm5RbklId2dKMk5sYm5SbGNpY2dmQ0FuYW5WemRHbG1lU2M3WEc0Z0lDQWdhVzVrWlc1MFB6b2diblZ0WW1WeU8xeHVJQ0FnSUdKc2IyTnJjWFZ2ZEdVL09pQmliMjlzWldGdU8xeHVJQ0FnSUd4cGMzUS9PaUFuYjNKa1pYSmxaQ2NnZkNBblluVnNiR1YwSnp0Y2JpQWdJQ0JjSW1OdlpHVXRZbXh2WTJ0Y0lqODZJR0p2YjJ4bFlXNDdYRzU5WEc1Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1FYUjBjbWxpZFhSbGN5QmxlSFJsYm1SeklGSjFia0YwZEhKcFluVjBaWE1zSUV4cGJtVkJkSFJ5YVdKMWRHVnpJSHQ5WEc1Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1VYVnBiR3hQY0NCN1hHNGdJQ0FnYVc1elpYSjBQem9nYzNSeWFXNW5JSHdnU1c1elpYSjBSVzFpWldRN1hHNGdJQ0FnWVhSMGNtbGlkWFJsY3o4NklFRjBkSEpwWW5WMFpYTTdYRzRnSUNBZ2JHbHVaVUYwZEhKcFluVjBaWE0vT2lCTWFXNWxRWFIwY21saWRYUmxjenRjYmlBZ0lDQnlkVzVCZEhSeWFXSjFkR1Z6UHpvZ1VuVnVRWFIwY21saWRYUmxjenRjYm4xY2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQlNZWGRSZFdsc2JFUmxiSFJoSUh0Y2JpQWdJQ0J2Y0hNNklGRjFhV3hzVDNCYlhUdGNibjFjYmx4dUx5OGdUMVZVVUZWVVhHNWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdWR1Y0ZEZKMWJpQjdYRzRnSUNBZ2RHVjRkRG9nYzNSeWFXNW5PMXh1SUNBZ0lHRjBkSEpwWW5WMFpYTS9PaUJTZFc1QmRIUnlhV0oxZEdWek8xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZCaGNtRm5jbUZ3YUNCN1hHNGdJQ0FnZEdWNGRGSjFibk0vT2lBb1ZHVjRkRkoxYmlCOElIc2dabTl5YlhWc1lUb2djM1J5YVc1bklIMHBXMTA3WEc0Z0lDQWdaVzFpWldRL09pQkpibk5sY25SRmJXSmxaRHRjYmlBZ0lDQmhkSFJ5YVdKMWRHVnpQem9nVEdsdVpVRjBkSEpwWW5WMFpYTTdYRzU5WEc1Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1VVaDVjR1Z5VEdsdWF5QjdYRzRnSUNBZ2RHVjRkRG9nYzNSeWFXNW5PMXh1SUNBZ0lHeHBibXM2SUhOMGNtbHVaenRjYm4xY2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQlRaWFIxY0VsdVptOGdlMXh1SUNBZ0lHNTFiV0psY21Wa1RHbHpkSE02SUc1MWJXSmxjanRjYmlBZ0lDQm9lWEJsY214cGJtdHpPaUJSU0hsd1pYSk1hVzVyVzEwN1hHNTlYRzVjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVUdGeWMyVmtVWFZwYkd4RVpXeDBZU0I3WEc0Z0lDQWdjR0Z5WVdkeVlYQm9jem9nVUdGeVlXZHlZWEJvVzEwN1hHNGdJQ0FnYzJWMGRYQTZJRk5sZEhWd1NXNW1ienRjYm4xY2JseHVMeThnUm5WdVkzUnBiMjV6WEc1c1pYUWdZV04wYVhabFRuVnRZbVZ5WldSTWFYTjBJRDBnWm1Gc2MyVTdYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ3WVhKelpWRjFhV3hzUkdWc2RHRW9jWFZwYkd3NklGSmhkMUYxYVd4c1JHVnNkR0VwT2lCUVlYSnpaV1JSZFdsc2JFUmxiSFJoSUh0Y2JpQWdJQ0JoWTNScGRtVk9kVzFpWlhKbFpFeHBjM1FnUFNCbVlXeHpaVHRjYmlBZ0lDQmpiMjV6ZENCd1lYSnpaV1E2SUZCaGNuTmxaRkYxYVd4c1JHVnNkR0VnUFNCN1hHNGdJQ0FnSUNBZ0lIQmhjbUZuY21Gd2FITTZJRnRkTEZ4dUlDQWdJQ0FnSUNCelpYUjFjRG9nZTF4dUlDQWdJQ0FnSUNBZ0lDQWdiblZ0WW1WeVpXUk1hWE4wY3pvZ01DeGNiaUFnSUNBZ0lDQWdJQ0FnSUdoNWNHVnliR2x1YTNNNklGdGRYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlPMXh1SUNBZ0lHWnZjaUFvWTI5dWMzUWdiM0FnYjJZZ2NYVnBiR3d1YjNCektTQjdYRzRnSUNBZ0lDQWdJSEJoY25ObFQzQW9iM0FzSUhCaGNuTmxaQ2s3WEc0Z0lDQWdmVHRjYmlBZ0lDQnlaWFIxY200Z2NHRnljMlZrTzF4dWZWeHVYRzVjYm1aMWJtTjBhVzl1SUhCaGNuTmxUM0FvYjNBNklGRjFhV3hzVDNBc0lIQmhjbk5sWkRvZ1VHRnljMlZrVVhWcGJHeEVaV3gwWVNrZ2UxeHVJQ0FnSUM4dklHaGhibVJzWlNCMmFXUmxiM01nWVc1a0lHbHRZV2RsYzF4dUlDQWdJR2xtSUNnb2IzQXVhVzV6WlhKMElHRnpJRWx1YzJWeWRFVnRZbVZrS1M1MmFXUmxieUI4ZkNBb2IzQXVhVzV6WlhKMElHRnpJRWx1YzJWeWRFVnRZbVZrS1M1cGJXRm5aU2tnZTF4dUlDQWdJQ0FnSUNCcGJuTmxjblJGYldKbFpGQmhjbUZuY21Gd2FDaHZjQ3dnY0dGeWMyVmtLVHRjYmlBZ0lDQXZMeUJvWVc1a2JHVWdabTl5YlhWc1lYTmNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tDaHZjQzVwYm5ObGNuUWdZWE1nU1c1elpYSjBSVzFpWldRcExtWnZjbTExYkdFcElIdGNiaUFnSUNBZ0lDQWdhVzV6WlhKMFJtOXliWFZzWVNodmNDd2djR0Z5YzJWa0tUdGNiaUFnSUNBdkx5Qm9ZVzVrYkdVZ1pYaGpiSFZ6YVhabElHNWxkMnhwYm1WelhHNGdJQ0FnZlNCbGJITmxJR2xtSUNodmNDNXBibk5sY25RZ1BUMDlJQ2RjWEc0bktTQjdYRzRnSUNBZ0lDQWdJR2x1YzJWeWRFNWxkMnhwYm1Vb2IzQXNJSEJoY25ObFpDazdYRzRnSUNBZ0x5OGdhR0Z1Wkd4bElIUmxlSFFnWVc1a0lIUmxlSFFnZDJsMGFDQnVaWGRzYVc1bGN5QnBiblJsY20xcGVHVmtYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2FXNXpaWEowVkdWNGRDaHZjQ3dnY0dGeWMyVmtLVHRjYmlBZ0lDQjlYRzU5WEc1Y2JpOHZJR2x1YzJWeWRDQmhJR0pzWVc1cklIQmhjbUZuY21Gd2FGeHVablZ1WTNScGIyNGdjM1JoY25ST1pYZFFZWEpoWjNKaGNHZ29jR0Z5YzJWa09pQlFZWEp6WldSUmRXbHNiRVJsYkhSaEtTQjdYRzRnSUNBZ2NHRnljMlZrTG5CaGNtRm5jbUZ3YUhNdWNIVnphQ2g3WEc0Z0lDQWdJQ0FnSUhSbGVIUlNkVzV6T2lCYlhWeHVJQ0FnSUgwcE8xeHVmVnh1WEc0dkx5QnBibk5sY25SeklHRWdkbWxrWlc4Z2IzSWdhVzFoWjJVZ1pXMWlaV1JjYm1aMWJtTjBhVzl1SUdsdWMyVnlkRVZ0WW1Wa1VHRnlZV2R5WVhCb0tHOXdPaUJSZFdsc2JFOXdMQ0J3WVhKelpXUTZJRkJoY25ObFpGRjFhV3hzUkdWc2RHRXBJSHRjYmlBZ0lDQndZWEp6WldRdWNHRnlZV2R5WVhCb2N5NXdkWE5vS0h0Y2JpQWdJQ0FnSUNBZ1pXMWlaV1E2SUc5d0xtbHVjMlZ5ZENCaGN5Qkpibk5sY25SRmJXSmxaRnh1SUNBZ0lIMHBPMXh1SUNBZ0lHRmpkR2wyWlU1MWJXSmxjbVZrVEdsemRDQTlJR1poYkhObE8xeHVJQ0FnSUhOMFlYSjBUbVYzVUdGeVlXZHlZWEJvS0hCaGNuTmxaQ2s3WEc1OVhHNWNiaTh2SUdsdWMyVnlkSE1nWVNCbWIzSnRkV3hoSUdWdFltVmtYRzVtZFc1amRHbHZiaUJwYm5ObGNuUkdiM0p0ZFd4aEtHOXdPaUJSZFdsc2JFOXdMQ0J3WVhKelpXUTZJRkJoY25ObFpGRjFhV3hzUkdWc2RHRXBJSHRjYmlBZ0lDQnBaaUFvY0dGeWMyVmtMbkJoY21GbmNtRndhSE11YkdWdVozUm9JRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJSE4wWVhKMFRtVjNVR0Z5WVdkeVlYQm9LSEJoY25ObFpDazdYRzRnSUNBZ2ZWeHVJQ0FnSUhCaGNuTmxaQzV3WVhKaFozSmhjR2h6VzNCaGNuTmxaQzV3WVhKaFozSmhjR2h6TG14bGJtZDBhQzB4WFM1MFpYaDBVblZ1Y3o4dWNIVnphQ2g3WEc0Z0lDQWdJQ0FnSUdadmNtMTFiR0U2SUNodmNDNXBibk5sY25RZ1lYTWdTVzV6WlhKMFJXMWlaV1FwTG1admNtMTFiR0VoTEZ4dUlDQWdJQ0FnSUNCaGRIUnlhV0oxZEdWek9pQnZjQzVoZEhSeWFXSjFkR1Z6WEc0Z0lDQWdmU2s3WEc1OVhHNWNiaTh2SUdsdWMyVnlkSE1nWVNCdVpYY2djR0Z5WVdkeVlYQm9JR0Z1WkNCaGNIQnNhV1Z6SUd4cGJtVWdabTl5YldGMGRHbHVaMXh1Wm5WdVkzUnBiMjRnYVc1elpYSjBUbVYzYkdsdVpTaHZjRG9nVVhWcGJHeFBjQ3dnY0dGeWMyVmtPaUJRWVhKelpXUlJkV2xzYkVSbGJIUmhLU0I3WEc0Z0lDQWdMeThnYVdZZ2JHbHVaU0JoZEhSeWFXSjFkR1Z6TENCaGNIQnNlU0IwYUc5elpTQjBieUIwYUdVZ2NISmxkbWx2ZFhNZ2NHRnlZV2R5WVhCb1hHNGdJQ0FnYVdZZ0tHOXdMbUYwZEhKcFluVjBaWE1wSUh0Y2JpQWdJQ0FnSUNBZ2NHRnljMlZrTG5CaGNtRm5jbUZ3YUhOYmNHRnljMlZrTG5CaGNtRm5jbUZ3YUhNdWJHVnVaM1JvTFRGZExtRjBkSEpwWW5WMFpYTWdQU0J2Y0M1aGRIUnlhV0oxZEdWek8xeHVJQ0FnSUNBZ0lDQnBaaUFvYjNBdVlYUjBjbWxpZFhSbGN5NXNhWE4wSUQwOVBTQW5iM0prWlhKbFpDY3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJR2xtSUdGc2NtVmhaSGtnWVc0Z1lXTjBhWFpsSUc1MWJXSmxjbVZrSUd4cGMzUmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGhZM1JwZG1WT2RXMWlaWEpsWkV4cGMzUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCa2J5QnViM1FnYVc1amNtVnRaVzUwSUZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklHeGxZWFpsSUdGamRHbDJaU0JzYVhOMElIUnlkV1ZjYmlBZ0lDQWdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdhVzVqY21WdFpXMXVkRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUhObGRDQmhZM1JwZG1VZ2RHOGdkSEoxWlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhCaGNuTmxaQzV6WlhSMWNDNXVkVzFpWlhKbFpFeHBjM1J6S3lzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lXTjBhWFpsVG5WdFltVnlaV1JNYVhOMElEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHRmpkR2wyWlU1MWJXSmxjbVZrVEdsemRDQTlJR1poYkhObE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhOMFlYSjBUbVYzVUdGeVlXZHlZWEJvS0hCaGNuTmxaQ2s3WEc1OVhHNWNiaTh2SUdsdWMyVnlkSE1nZEdWNGRDQjNhWFJvSUdsdWRHVnliV2w0WldRZ2JtVjNiR2x1WlhNZ1lXNWtJSEoxYmlCaGRIUnlhV0oxZEdWelhHNW1kVzVqZEdsdmJpQnBibk5sY25SVVpYaDBLRzl3T2lCUmRXbHNiRTl3TENCd1lYSnpaV1E2SUZCaGNuTmxaRkYxYVd4c1JHVnNkR0VwSUh0Y2JpQWdJQ0JwWmlBb2NHRnljMlZrTG5CaGNtRm5jbUZ3YUhNdWJHVnVaM1JvSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUhOMFlYSjBUbVYzVUdGeVlXZHlZWEJvS0hCaGNuTmxaQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lDOHZJR2xtSUdsMElHTnZiblJoYVc1eklHNWxkMnhwYm1VZ1kyaGhjbUZqZEdWeWMxeHVJQ0FnSUdsbUlDZ29iM0F1YVc1elpYSjBJR0Z6SUhOMGNtbHVaeWt1YldGMFkyZ29MMXhjYmk4cEtTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElITjBjbWx1WjNNZ1BTQnpjR3hwZEZOMGNtbHVaM01vS0c5d0xtbHVjMlZ5ZENCaGN5QnpkSEpwYm1jcEtUdGNiaUFnSUNBZ0lDQWdabTl5SUNoamIyNXpkQ0IwWlhoMElHOW1JSE4wY21sdVozTXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwWlhoMElEMDlQU0FuWEZ4dUp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE4wWVhKMFRtVjNVR0Z5WVdkeVlYQm9LSEJoY25ObFpDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZV04wYVhabFRuVnRZbVZ5WldSTWFYTjBJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsdWMyVnlkRk5wYlhCc1pWTjBjbWx1WnloMFpYaDBMQ0J3WVhKelpXUXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHbHVjMlZ5ZEZOcGJYQnNaVk4wY21sdVp5aHZjQzVwYm5ObGNuUWdZWE1nYzNSeWFXNW5MQ0J3WVhKelpXUXNJRzl3TG1GMGRISnBZblYwWlhNcE8xeHVJQ0FnSUgxY2JuMWNibHh1THk4Z2FXNXpaWEowY3lCemFXMXdiR1VnYzNSeWFXNW5JSGRwZEdnZ1lYUjBjbWxpZFhSbGMxeHVablZ1WTNScGIyNGdhVzV6WlhKMFUybHRjR3hsVTNSeWFXNW5LSFJsZUhRNklITjBjbWx1Wnl3Z2NHRnljMlZrT2lCUVlYSnpaV1JSZFdsc2JFUmxiSFJoTENCaGRIUnlhV0oxZEdWelB6b2dVblZ1UVhSMGNtbGlkWFJsY3lrZ2UxeHVJQ0FnSUdsbUlDaGhkSFJ5YVdKMWRHVnpLU0I3WEc0Z0lDQWdJQ0FnSUhCaGNuTmxaQzV3WVhKaFozSmhjR2h6VzNCaGNuTmxaQzV3WVhKaFozSmhjR2h6TG14bGJtZDBhQzB4WFM1MFpYaDBVblZ1Y3o4dWNIVnphQ2g3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBaWGgwT2lCMFpYaDBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1lYUjBjbWxpZFhSbGN6b2dZWFIwY21saWRYUmxjMXh1SUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLR0YwZEhKcFluVjBaWE11YkdsdWF5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NHRnljMlZrTG5ObGRIVndMbWg1Y0dWeWJHbHVhM011Y0hWemFDaDdJSFJsZUhRNklIUmxlSFFzSUd4cGJtczZJR0YwZEhKcFluVjBaWE11YkdsdWF5QjlLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSEJoY25ObFpDNXdZWEpoWjNKaGNHaHpXM0JoY25ObFpDNXdZWEpoWjNKaGNHaHpMbXhsYm1kMGFDMHhYUzUwWlhoMFVuVnVjejh1Y0hWemFDaDdYRzRnSUNBZ0lDQWdJQ0FnSUNCMFpYaDBPaUIwWlhoMFhHNGdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lIMWNibjFjYmx4dUx5OGdjM0JzYVhSeklITjBjbWx1WjNNZ2IyNGdaWFpsY25rZ2JtVjNiR2x1WlNCamFHRnlZV04wWlhJc0lHdGxaWEJwYm1jZ2RHaGxJRzVsZDJ4cGJtVWdZMmhoY21GamRHVnljenNnY21WMGRYSnVjeUJoY25KaGVWeHVablZ1WTNScGIyNGdjM0JzYVhSVGRISnBibWR6S0hOMGNtbHVaem9nYzNSeWFXNW5LVG9nYzNSeWFXNW5XMTBnZTF4dUlDQWdJSEpsZEhWeWJpQnpkSEpwYm1jdWMzQnNhWFFvTHloY1hHNHBMeWs3WEc1OVhHNGlMQ0l2THlCVWFHVWdiVzlrZFd4bElHTmhZMmhsWEc1MllYSWdYMTkzWldKd1lXTnJYMjF2WkhWc1pWOWpZV05vWlY5ZklEMGdlMzA3WEc1Y2JpOHZJRlJvWlNCeVpYRjFhWEpsSUdaMWJtTjBhVzl1WEc1bWRXNWpkR2x2YmlCZlgzZGxZbkJoWTJ0ZmNtVnhkV2x5WlY5ZktHMXZaSFZzWlVsa0tTQjdYRzVjZEM4dklFTm9aV05ySUdsbUlHMXZaSFZzWlNCcGN5QnBiaUJqWVdOb1pWeHVYSFJwWmloZlgzZGxZbkJoWTJ0ZmJXOWtkV3hsWDJOaFkyaGxYMTliYlc5a2RXeGxTV1JkS1NCN1hHNWNkRngwY21WMGRYSnVJRjlmZDJWaWNHRmphMTl0YjJSMWJHVmZZMkZqYUdWZlgxdHRiMlIxYkdWSlpGMHVaWGh3YjNKMGN6dGNibHgwZlZ4dVhIUXZMeUJEY21WaGRHVWdZU0J1WlhjZ2JXOWtkV3hsSUNoaGJtUWdjSFYwSUdsMElHbHVkRzhnZEdobElHTmhZMmhsS1Z4dVhIUjJZWElnYlc5a2RXeGxJRDBnWDE5M1pXSndZV05yWDIxdlpIVnNaVjlqWVdOb1pWOWZXMjF2WkhWc1pVbGtYU0E5SUh0Y2JseDBYSFF2THlCdWJ5QnRiMlIxYkdVdWFXUWdibVZsWkdWa1hHNWNkRngwTHk4Z2JtOGdiVzlrZFd4bExteHZZV1JsWkNCdVpXVmtaV1JjYmx4MFhIUmxlSEJ2Y25Sek9pQjdmVnh1WEhSOU8xeHVYRzVjZEM4dklFVjRaV04xZEdVZ2RHaGxJRzF2WkhWc1pTQm1kVzVqZEdsdmJseHVYSFJmWDNkbFluQmhZMnRmYlc5a2RXeGxjMTlmVzIxdlpIVnNaVWxrWFNodGIyUjFiR1VzSUcxdlpIVnNaUzVsZUhCdmNuUnpMQ0JmWDNkbFluQmhZMnRmY21WeGRXbHlaVjlmS1R0Y2JseHVYSFF2THlCU1pYUjFjbTRnZEdobElHVjRjRzl5ZEhNZ2IyWWdkR2hsSUcxdlpIVnNaVnh1WEhSeVpYUjFjbTRnYlc5a2RXeGxMbVY0Y0c5eWRITTdYRzU5WEc1Y2JpSXNJaTh2SUcxdlpIVnNaU0JsZUhCdmNuUnpJRzExYzNRZ1ltVWdjbVYwZFhKdVpXUWdabkp2YlNCeWRXNTBhVzFsSUhOdklHVnVkSEo1SUdsdWJHbHVhVzVuSUdseklHUnBjMkZpYkdWa1hHNHZMeUJ6ZEdGeWRIVndYRzR2THlCTWIyRmtJR1Z1ZEhKNUlHMXZaSFZzWlNCaGJtUWdjbVYwZFhKdUlHVjRjRzl5ZEhOY2JuSmxkSFZ5YmlCZlgzZGxZbkJoWTJ0ZmNtVnhkV2x5WlY5ZktEWXdOeWs3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOSIsImltcG9ydCB7IEFsaWdubWVudFR5cGUgfSBmcm9tICdkb2N4JztcbmltcG9ydCB7IEN1c3RvbUxldmVscyB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0U3R5bGVzID0gW3tcbiAgICBpZDogJ25vcm1hbCcsXG4gICAgbmFtZTogJ05vcm1hbCcsXG4gICAgbmV4dDogJ25vcm1hbCcsXG4gICAgYmFzZWRPbjogJ25vcm1hbCcsXG4gICAgcXVpY2tGb3JtYXQ6IHRydWUsXG4gICAgcnVuOiB7XG4gICAgICBzaXplOiAyNFxuICAgIH0sXG4gICAgcGFyYWdyYXBoOiB7XG4gICAgICBzcGFjaW5nOiB7XG4gICAgICAgIGxpbmU6IDQ4MCxcbiAgICAgICAgYmVmb3JlOiAwLFxuICAgICAgICBhZnRlcjogMFxuICAgICAgfVxuICAgIH1cbiAgfSx7XG4gICAgaWQ6ICdoZWFkZXJfMScsXG4gICAgbmFtZTogJ0hlYWRpbmcgMScsXG4gICAgbmV4dDogJ25vcm1hbCcsXG4gICAgcXVpY2tGb3JtYXQ6IHRydWUsXG4gICAgcnVuOiB7XG4gICAgICBmb250OiAnQ2FsaWJyaScsXG4gICAgICBzaXplOiAzMCxcbiAgICAgIGJvbGQ6IHRydWVcbiAgICB9LFxuICAgIHBhcmFncmFwaDoge1xuICAgICAgc3BhY2luZzoge1xuICAgICAgICBiZWZvcmU6IDMwMCxcbiAgICAgICAgYWZ0ZXI6IDIwMFxuICAgICAgfVxuICAgIH1cbiAgfSx7XG4gICAgaWQ6ICdoZWFkZXJfMicsXG4gICAgbmFtZTogJ0hlYWRpbmcgMicsXG4gICAgYmFzZWRPbjogJ25vcm1hbCcsXG4gICAgbmV4dDogJ25vcm1hbCcsXG4gICAgcXVpY2tGb3JtYXQ6IHRydWUsXG4gICAgcnVuOiB7XG4gICAgICBmb250OiAnQ2FsaWJyaScsXG4gICAgICBzaXplOiAyNixcbiAgICAgIGJvbGQ6IHRydWVcbiAgICB9LFxuICAgIHBhcmFncmFwaDoge1xuICAgICAgc3BhY2luZzoge1xuICAgICAgICBiZWZvcmU6IDIwMCxcbiAgICAgICAgYWZ0ZXI6IDEwMFxuICAgICAgfVxuICAgIH1cbiAgfSx7XG4gICAgaWQ6ICdsaXN0X3BhcmFncmFwaCcsXG4gICAgbmFtZTogJ0xpc3QgUGFyYWdyYXBoJyxcbiAgICBiYXNlZE9uOiAnbm9ybWFsJyxcbiAgICBxdWlja0Zvcm1hdDogdHJ1ZSxcbiAgICBydW46IHtcbiAgICAgIHNpemU6IDI0XG4gICAgfVxuICB9LHtcbiAgICBpZDogJ2NvZGVfYmxvY2snLFxuICAgIG5hbWU6ICdDb2RlIEJsb2NrJyxcbiAgICBiYXNlZE9uOiAnbm9ybWFsJyxcbiAgICBxdWlja0Zvcm1hdDogdHJ1ZSxcbiAgICBydW46IHtcbiAgICAgIHNpemU6IDI0LFxuICAgICAgZm9udDogJ0NvdXJpZXIgTmV3J1xuICAgIH0sXG4gICAgcGFyYWdyYXBoOiB7XG4gICAgICBpbmRlbnQ6IHsgbGVmdDogNzIwLCByaWdodDogNzIwIH1cbiAgICB9XG4gIH0se1xuICAgIGlkOiAnYmxvY2tfcXVvdGUnLFxuICAgIG5hbWU6ICdCbG9jayBRdW90ZScsXG4gICAgYmFzZWRPbjogJ25vcm1hbCcsXG4gICAgcXVpY2tGb3JtYXQ6IHRydWUsXG4gICAgcnVuOiB7XG4gICAgICBpdGFsaWNzOiB0cnVlXG4gICAgfSxcbiAgICBwYXJhZ3JhcGg6IHtcbiAgICAgIGluZGVudDogeyBsZWZ0OiA1NDAgfSxcbiAgICAgIGJvcmRlcjoge1xuICAgICAgICBsZWZ0OiB7XG4gICAgICAgICAgc2l6ZTogMTIsXG4gICAgICAgICAgc3BhY2U6IDI4LFxuICAgICAgICAgIGNvbG9yOiAnMzMzMzMzJyxcbiAgICAgICAgICB2YWx1ZTogJ3NpbmdsZSdcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSx7XG4gICAgaWQ6ICdjaXRhdGlvbicsXG4gICAgbmFtZTogJ0NpdGF0aW9uJyxcbiAgICBiYXNlZE9uOiAnbm9ybWFsJyxcbiAgICBxdWlja0Zvcm1hdDogdHJ1ZSxcbiAgICBydW46IHtcbiAgICAgIHNpemU6IDI0XG4gICAgfSxcbiAgICBwYXJhZ3JhcGg6IHtcbiAgICAgIGluZGVudDoge1xuICAgICAgICBsZWZ0OiAwLFxuICAgICAgICBoYW5naW5nOiAzMjBcbiAgICAgIH0sXG4gICAgICBzcGFjaW5nOiB7XG4gICAgICAgIGxpbmU6IDQ4MFxuICAgICAgfVxuICAgIH1cbiAgfV07XG4gIFxuZXhwb3J0IGNvbnN0IGN1c3RvbU51bWJlcmVkTGV2ZWxzOiBDdXN0b21MZXZlbHNbXSA9IFt7XG4gICAgbGV2ZWw6IDAsXG4gICAgZm9ybWF0OiAnZGVjaW1hbCcsXG4gICAgdGV4dDogJyUxLicsXG4gICAgYWxpZ25tZW50OiBBbGlnbm1lbnRUeXBlLkxFRlQsXG4gICAgc3R5bGU6IHtcbiAgICBwYXJhZ3JhcGg6IHtcbiAgICAgICAgaW5kZW50OiB7IGxlZnQ6IDcyMCwgaGFuZ2luZzogMzYwIH1cbiAgICB9XG4gICAgfVxufSx7XG4gICAgbGV2ZWw6IDEsXG4gICAgZm9ybWF0OiAnbG93ZXJMZXR0ZXInLFxuICAgIHRleHQ6ICclMi4nLFxuICAgIGFsaWdubWVudDogQWxpZ25tZW50VHlwZS5MRUZULFxuICAgIHN0eWxlOiB7XG4gICAgcGFyYWdyYXBoOiB7XG4gICAgICAgIGluZGVudDogeyBsZWZ0OiAxNDQwLCBoYW5naW5nOiAzNjAgfVxuICAgIH1cbiAgICB9XG59LHtcbiAgICBsZXZlbDogMixcbiAgICBmb3JtYXQ6ICdsb3dlclJvbWFuJyxcbiAgICB0ZXh0OiAnJTMuJyxcbiAgICBhbGlnbm1lbnQ6IEFsaWdubWVudFR5cGUuTEVGVCxcbiAgICBzdHlsZToge1xuICAgIHBhcmFncmFwaDoge1xuICAgICAgICBpbmRlbnQ6IHsgbGVmdDogMjE2MCwgaGFuZ2luZzogMzYwIH1cbiAgICB9XG4gICAgfVxufSx7XG4gICAgbGV2ZWw6IDMsXG4gICAgZm9ybWF0OiAnZGVjaW1hbCcsXG4gICAgdGV4dDogJyU0LicsXG4gICAgYWxpZ25tZW50OiBBbGlnbm1lbnRUeXBlLkxFRlQsXG4gICAgc3R5bGU6IHtcbiAgICBwYXJhZ3JhcGg6IHtcbiAgICAgICAgaW5kZW50OiB7IGxlZnQ6IDI4ODAsIGhhbmdpbmc6IDM2MCB9XG4gICAgfVxuICAgIH1cbn0se1xuICAgIGxldmVsOiA0LFxuICAgIGZvcm1hdDogJ2xvd2VyTGV0dGVyJyxcbiAgICB0ZXh0OiAnJTUuJyxcbiAgICBhbGlnbm1lbnQ6IEFsaWdubWVudFR5cGUuTEVGVCxcbiAgICBzdHlsZToge1xuICAgIHBhcmFncmFwaDoge1xuICAgICAgICBpbmRlbnQ6IHsgbGVmdDogMzYwMCwgaGFuZ2luZzogMzYwIH1cbiAgICB9XG4gICAgfVxufSx7XG4gICAgbGV2ZWw6IDMsXG4gICAgZm9ybWF0OiAnbG93ZXJSb21hbicsXG4gICAgdGV4dDogJyU1LicsXG4gICAgYWxpZ25tZW50OiBBbGlnbm1lbnRUeXBlLkxFRlQsXG4gICAgc3R5bGU6IHtcbiAgICBwYXJhZ3JhcGg6IHtcbiAgICAgICAgaW5kZW50OiB7IGxlZnQ6IDQzMjAsIGhhbmdpbmc6IDM2MCB9XG4gICAgfVxuICAgIH1cbn1dO1xuXG5leHBvcnQgY29uc3QgY3VzdG9tQnVsbGV0TGV2ZWxzOiBDdXN0b21MZXZlbHNbXSA9IFt7XG4gIGxldmVsOiAwLFxuICBmb3JtYXQ6ICdidWxsZXQnLFxuICB0ZXh0OiAnXFx1MjAyMicsXG4gIGFsaWdubWVudDogQWxpZ25tZW50VHlwZS5MRUZULFxuICBzdHlsZToge1xuICBwYXJhZ3JhcGg6IHtcbiAgICAgIGluZGVudDogeyBsZWZ0OiA3MjAsIGhhbmdpbmc6IDM2MCB9XG4gIH1cbiAgfVxufSx7XG4gIGxldmVsOiAxLFxuICBmb3JtYXQ6ICdidWxsZXQnLFxuICB0ZXh0OiAnXFx1MjAyMicsXG4gIGFsaWdubWVudDogQWxpZ25tZW50VHlwZS5MRUZULFxuICBzdHlsZToge1xuICBwYXJhZ3JhcGg6IHtcbiAgICAgIGluZGVudDogeyBsZWZ0OiAxNDQwLCBoYW5naW5nOiAzNjAgfVxuICB9XG4gIH1cbn0se1xuICBsZXZlbDogMixcbiAgZm9ybWF0OiAnYnVsbGV0JyxcbiAgdGV4dDogJ1xcdTIwMjInLFxuICBhbGlnbm1lbnQ6IEFsaWdubWVudFR5cGUuTEVGVCxcbiAgc3R5bGU6IHtcbiAgcGFyYWdyYXBoOiB7XG4gICAgICBpbmRlbnQ6IHsgbGVmdDogMjE2MCwgaGFuZ2luZzogMzYwIH1cbiAgfVxuICB9XG59LHtcbiAgbGV2ZWw6IDMsXG4gIGZvcm1hdDogJ2J1bGxldCcsXG4gIHRleHQ6ICdcXHUyMDIyJyxcbiAgYWxpZ25tZW50OiBBbGlnbm1lbnRUeXBlLkxFRlQsXG4gIHN0eWxlOiB7XG4gIHBhcmFncmFwaDoge1xuICAgICAgaW5kZW50OiB7IGxlZnQ6IDI4ODAsIGhhbmdpbmc6IDM2MCB9XG4gIH1cbiAgfVxufSx7XG4gIGxldmVsOiA0LFxuICBmb3JtYXQ6ICdidWxsZXQnLFxuICB0ZXh0OiAnXFx1MjAyMicsXG4gIGFsaWdubWVudDogQWxpZ25tZW50VHlwZS5MRUZULFxuICBzdHlsZToge1xuICBwYXJhZ3JhcGg6IHtcbiAgICAgIGluZGVudDogeyBsZWZ0OiAzNjAwLCBoYW5naW5nOiAzNjAgfVxuICB9XG4gIH1cbn0se1xuICBsZXZlbDogMyxcbiAgZm9ybWF0OiAnYnVsbGV0JyxcbiAgdGV4dDogJ1xcdTIwMjInLFxuICBhbGlnbm1lbnQ6IEFsaWdubWVudFR5cGUuTEVGVCxcbiAgc3R5bGU6IHtcbiAgcGFyYWdyYXBoOiB7XG4gICAgICBpbmRlbnQ6IHsgbGVmdDogNDMyMCwgaGFuZ2luZzogMzYwIH1cbiAgfVxuICB9XG59XTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHROdW1iZXJpbmcgPSB7XG4gICAgY29uZmlnOiBbe1xuICAgIHJlZmVyZW5jZTogJ2RlZmF1bHQtbnVtYmVyaW5nJyxcbiAgICBsZXZlbHM6IGN1c3RvbU51bWJlcmVkTGV2ZWxzXG4gICAgfV1cbn0iLCJpbXBvcnQgeyBQYXJzZWRRdWlsbERlbHRhLCBQYXJhZ3JhcGggYXMgUVBhcmFncmFwaCwgVGV4dFJ1biBhcyBRVGV4dFJ1biwgcGFyc2VRdWlsbERlbHRhLCBSYXdRdWlsbERlbHRhLCBRSHlwZXJMaW5rLCBMaW5lQXR0cmlidXRlcyB9IGZyb20gJ3F1aWxsanMtcGFyc2VyJztcbmltcG9ydCAqIGFzIGRvY3ggZnJvbSAnZG9jeCc7XG5pbXBvcnQgeyBBbGlnbm1lbnRUeXBlLCBIeXBlcmxpbmtSZWYsIEh5cGVybGlua1R5cGUsIE1lZGlhLCBOdW1iZXJpbmcsIFBhY2tlciwgUGFyYWdyYXBoLCBUZXh0UnVuLCBVbmRlcmxpbmVUeXBlIH0gZnJvbSAnZG9jeCc7XG5pbXBvcnQgeyBjdXN0b21CdWxsZXRMZXZlbHMsIGN1c3RvbU51bWJlcmVkTGV2ZWxzLCBkZWZhdWx0U3R5bGVzIH0gZnJvbSAnLi9kZWZhdWx0LXN0eWxlcyc7XG5pbXBvcnQgeyBDb25maWcsIEN1c3RvbUxldmVscywgRXhwb3J0T2JqZWN0LCBOdW1iZXJlZExpc3QsIE51bWJlcmluZ0NvbmZpZywgU3R5bGVDb25maWcsIFN0eWxlUHJvcGVydGllcyB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5cbmludGVyZmFjZSBMaW5lQXR0ciBleHRlbmRzIExpbmVBdHRyaWJ1dGVzIHtcbiAgY2l0YXRpb246IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBQYXJhZ3JhcGhBbHQgZXh0ZW5kcyBRUGFyYWdyYXBoIHtcbiAgYXR0cmlidXRlczogTGluZUF0dHI7XG59XG5cbmxldCBsaW5rVHJhY2tlciA9IDA7XG5sZXQgbnVtYmVyZWRUcmFja2VyID0gLTE7XG5sZXQgc3R5bGVzID0gZGVmYXVsdFN0eWxlcztcbmxldCBsZXZlbHM6IEN1c3RvbUxldmVsc1tdID0gY3VzdG9tTnVtYmVyZWRMZXZlbHM7XG5sZXQgY3VzdG9tQnVsbGV0cyA9IGZhbHNlO1xuXG4vLyBtYWluIHB1YmxpYyBmdW5jdGlvbiB0byBnZW5lcmF0ZSBkb2N4IGRvY3VtZW50XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2VuZXJhdGVXb3JkKGRlbHRhOiBSYXdRdWlsbERlbHRhIHwgUGFyc2VkUXVpbGxEZWx0YSB8IFBhcnNlZFF1aWxsRGVsdGFbXSwgY29uZmlnPzogQ29uZmlnKTogUHJvbWlzZTxFeHBvcnRPYmplY3Q+IHtcbiAgbGlua1RyYWNrZXIgPSAwOyAvLyByZXNldCBsaW5rIHRyYWNrZXJcbiAgbnVtYmVyZWRUcmFja2VyID0gLTE7IC8vIHJlc2V0IG51bWVyZWQgbGlzdCB0cmFja2VyXG4gIGN1c3RvbUJ1bGxldHMgPSBmYWxzZTsgLy8gcmVzZXQgY3VzdG9tIGJ1bGxldHNcbiAgbGV0IGRvYzogZG9jeC5Eb2N1bWVudDtcbiAgLy8gY3JlYXRlIGEgY29udGFpbmVyIGZvciB0aGUgZG9jeCBkb2Mgc2VjdGlvbnNcbiAgY29uc3Qgc2VjdGlvbnM6IFBhcmFncmFwaFtdW10gPSBbXTtcbiAgLy8gY3JlYXRlIGEgY29udGFpbmVyIGZvciB0aGUgcGFyc2VkIFF1aWxsIGRlbHRhc1xuICBjb25zdCBwYXJzZWREZWx0YXM6IFBhcnNlZFF1aWxsRGVsdGFbXSA9IFtdO1xuICAvLyBpZiBpbnB1dCBpcyBhIHJhdyBxdWlsbCBkZWx0YVxuICBpZiAoKGRlbHRhIGFzIFJhd1F1aWxsRGVsdGEpLm9wcykge1xuICAgIGNvbnN0IHBhcnNlZERlbHRhID0gcGFyc2VRdWlsbERlbHRhKGRlbHRhIGFzIFJhd1F1aWxsRGVsdGEpO1xuICAgIHBhcnNlZERlbHRhcy5wdXNoKHBhcnNlZERlbHRhKTtcbiAgLy8gaWYgaW5wdXQgaXMgYW4gYXJyYXkgb2YgcGFyc2VkIHF1aWxsIGRlbHRhc1xuICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZGVsdGEpKSB7XG4gICAgZm9yIChjb25zdCBlYWNoRGVsdGEgb2YgZGVsdGEpIHtcbiAgICAgIHBhcnNlZERlbHRhcy5wdXNoKGVhY2hEZWx0YSk7XG4gICAgfTtcbiAgLy8gaWYgaW5wdXQgaXMgYSBzaW5nbGUgcGFyc2VkIHF1aWxsIGRlbHRhXG4gIH0gZWxzZSBpZiAoKGRlbHRhIGFzIFBhcnNlZFF1aWxsRGVsdGEpLnBhcmFncmFwaHMpIHtcbiAgICBwYXJzZWREZWx0YXMucHVzaChkZWx0YSBhcyBQYXJzZWRRdWlsbERlbHRhKTtcbiAgLy8gaWYgaW5wdXQgaXMgbm90IHJlY29nbml6ZWRcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1BsZWFzZSBwcm92aWRlIGEgcmF3IFF1aWxsIERlbHRhLCBhIHBhcnNlZCBRdWlsbCBkZWx0YSwgb3IgYW4gQXJyYXkgb2YgcGFyc2VkIFF1aWxsIGRlbHRhcy4gU2VlIFF1aWxsVG9kb2N4IHJlYWRtZS4nKTtcbiAgfVxuICAvLyBzZXQgdXAgdGhlIGRvY3ggZG9jdW1lbnQgYmFzZWQgb24gY29uZmlndXJhdGlvblxuICBkb2MgPSBzZXR1cERvYyhwYXJzZWREZWx0YXNbMF0sIGNvbmZpZyk7XG4gIC8vIGJ1aWxkIGRvY3ggc2VjdGlvbnNcbiAgZm9yIChjb25zdCBkZWx0YSBvZiBwYXJzZWREZWx0YXMpIHtcbiAgICBzZWN0aW9ucy5wdXNoKGJ1aWxkU2VjdGlvbihkZWx0YS5wYXJhZ3JhcGhzLCBkb2MpKTtcbiAgfTtcbiAgLy8gYWRkIGRvY3ggc2VjdGlvbnMgdG8gZG9jXG4gIGZvciAoY29uc3Qgc2VjdGlvbiBvZiBzZWN0aW9ucykge1xuICAgIGRvYy5hZGRTZWN0aW9uKHtcbiAgICAgICAgY2hpbGRyZW46IHNlY3Rpb25cbiAgICB9KTtcbiAgfTtcbiAgLy8gcmV0dXJuIHRoZSBhcHByb3ByaWF0ZSBleHBvcnQgb2JqZWN0IGJhc2VkIG9uIGNvbmZpZ3VyYXRpb25cbiAgcmV0dXJuIGV4cG9ydERvYyhkb2MsIGNvbmZpZyk7XG59XG5cbi8vIHNldCBhIHN0eWxlJ3MgcGFyYWdyYXBoIGFuZCBydW4gcHJvcGVydGllc1xuZnVuY3Rpb24gc2V0U3R5bGUoc3R5bGU6IFN0eWxlUHJvcGVydGllcywgc3R5bGVJZDogc3RyaW5nLCBpbmRleDogbnVtYmVyKSB7XG4gIGlmIChzdHlsZS5wYXJhZ3JhcGgpIHtcbiAgICBzdHlsZXNbaW5kZXhdLnBhcmFncmFwaCA9IHN0eWxlLnBhcmFncmFwaCBhcyBhbnk7XG4gIH1cbiAgaWYgKHN0eWxlLnJ1bikge1xuICAgIHN0eWxlc1tpbmRleF0ucnVuID0gc3R5bGUucnVuIGFzIGFueTtcbiAgfVxufVxuXG4vLyBhcHBseSBjdXN0b20gcGFyYWdyYXBoIHN0eWxlcyBmcm9tIHRoZSB1c2VyXG5mdW5jdGlvbiBzZXRQYXJhZ3JhcGhzU3R5bGVzKHBhcmFncmFwaFN0eWxlczogU3R5bGVDb25maWcpIHtcbiAgaWYgKHBhcmFncmFwaFN0eWxlcy5ub3JtYWwpIHtcbiAgICBjb25zdCBpbmRleCA9IHN0eWxlcy5maW5kSW5kZXgoc3R5bGUgPT4gc3R5bGUuaWQgPT09ICdub3JtYWwnKTtcbiAgICBzZXRTdHlsZShwYXJhZ3JhcGhTdHlsZXMubm9ybWFsLCAnbm9ybWFsJywgaW5kZXgpO1xuICB9XG4gIGlmIChwYXJhZ3JhcGhTdHlsZXMuaGVhZGVyXzEpIHtcbiAgICBjb25zdCBpbmRleCA9IHN0eWxlcy5maW5kSW5kZXgoc3R5bGUgPT4gc3R5bGUuaWQgPT09ICdoZWFkZXJfMScpO1xuICAgIHNldFN0eWxlKHBhcmFncmFwaFN0eWxlcy5oZWFkZXJfMSwgJ2hlYWRlcl8xJywgaW5kZXgpO1xuICB9XG4gIGlmIChwYXJhZ3JhcGhTdHlsZXMuaGVhZGVyXzIpIHtcbiAgICBjb25zdCBpbmRleCA9IHN0eWxlcy5maW5kSW5kZXgoc3R5bGUgPT4gc3R5bGUuaWQgPT09ICdoZWFkZXJfMicpO1xuICAgIHNldFN0eWxlKHBhcmFncmFwaFN0eWxlcy5oZWFkZXJfMiwgJ2hlYWRlcl8yJywgaW5kZXgpO1xuICB9XG4gIGlmIChwYXJhZ3JhcGhTdHlsZXMubGlzdF9wYXJhZ3JhcGgpIHtcbiAgICBjb25zdCBpbmRleCA9IHN0eWxlcy5maW5kSW5kZXgoc3R5bGUgPT4gc3R5bGUuaWQgPT09ICdsaXN0X3BhcmFncmFwaCcpO1xuICAgIHNldFN0eWxlKHBhcmFncmFwaFN0eWxlcy5saXN0X3BhcmFncmFwaCwgJ2xpc3RfcGFyYWdyYXBoJywgaW5kZXgpO1xuICB9XG4gIGlmIChwYXJhZ3JhcGhTdHlsZXMuY29kZV9ibG9jaykge1xuICAgIGNvbnN0IGluZGV4ID0gc3R5bGVzLmZpbmRJbmRleChzdHlsZSA9PiBzdHlsZS5pZCA9PT0gJ2NvZGVfYmxvY2snKTtcbiAgICBzZXRTdHlsZShwYXJhZ3JhcGhTdHlsZXMuY29kZV9ibG9jaywgJ2NvZGVfYmxvY2snLCBpbmRleCk7XG4gIH1cbiAgaWYgKHBhcmFncmFwaFN0eWxlcy5ibG9ja19xdW90ZSkge1xuICAgIGNvbnN0IGluZGV4ID0gc3R5bGVzLmZpbmRJbmRleChzdHlsZSA9PiBzdHlsZS5pZCA9PT0gJ2Jsb2NrX3F1b3RlJyk7XG4gICAgc2V0U3R5bGUocGFyYWdyYXBoU3R5bGVzLmJsb2NrX3F1b3RlLCAnYmxvY2tfcXVvdGUnLCBpbmRleCk7XG4gIH1cbiAgaWYgKHBhcmFncmFwaFN0eWxlcy5jaXRhdGlvbikge1xuICAgIGNvbnN0IGluZGV4ID0gc3R5bGVzLmZpbmRJbmRleChzdHlsZSA9PiBzdHlsZS5pZCA9PT0gJ2NpdGF0aW9uJyk7XG4gICAgc2V0U3R5bGUocGFyYWdyYXBoU3R5bGVzLmNpdGF0aW9uLCAnY2l0YXRpb24nLCBpbmRleCk7XG4gIH1cbn1cblxuLy8gYXBwbHkgY3VzdG9tIGNvbmZpZ3VyYXRpb24gZnJvbSB0aGUgdXNlclxuZnVuY3Rpb24gc2V0dXBDb25maWcoY29uZmlnOiBDb25maWcpIHtcbiAgaWYgKGNvbmZpZy5wYXJhZ3JhcGhTdHlsZXMpIHtcbiAgICBzZXRQYXJhZ3JhcGhzU3R5bGVzKGNvbmZpZy5wYXJhZ3JhcGhTdHlsZXMpO1xuICB9XG4gIGlmIChjb25maWcuY3VzdG9tTGV2ZWxzKSB7XG4gICAgbGV2ZWxzID0gY29uZmlnLmN1c3RvbUxldmVscztcbiAgfVxufVxuXG4vLyBzZXRzIHVwIHRoZSBkb2N4IGRvY3VtZW50XG5mdW5jdGlvbiBzZXR1cERvYyhwYXJzZWREZWx0YTogUGFyc2VkUXVpbGxEZWx0YSwgY29uZmlnPzogQ29uZmlnKTogZG9jeC5Eb2N1bWVudCAge1xuICBzdHlsZXMgPSBkZWZhdWx0U3R5bGVzOyAvLyByZXNldCBiYWNrIHRvIG9yaWdpbmFsXG4gIGxldmVscyA9IGN1c3RvbU51bWJlcmVkTGV2ZWxzOyAvLyByZXNldCBiYWNrIHRvIG9yaWdpbmFsXG4gIGlmIChjb25maWcpIHtcbiAgICBzZXR1cENvbmZpZyhjb25maWcpO1xuICB9XG4gIGxldCBoeXBlcmxpbmtzOiBhbnkgPSB1bmRlZmluZWQ7XG4gIGxldCBudW1iZXJpbmc6IE51bWJlcmluZ0NvbmZpZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgLy8gYnVpbGQgdGhlIGh5cGVybGlua3MgcHJvcGVydHlcbiAgaWYgKHBhcnNlZERlbHRhLnNldHVwLmh5cGVybGlua3MubGVuZ3RoID4gMCkge1xuICAgIGh5cGVybGlua3MgPSBidWlsZEh5cGVybGlua3MocGFyc2VkRGVsdGEuc2V0dXAuaHlwZXJsaW5rcyk7XG4gIH1cbiAgLy8gYnVpbGQgdGhlIG51bWJlcmluZyBwcm9wZXJ0eVxuICBpZiAocGFyc2VkRGVsdGEuc2V0dXAubnVtYmVyZWRMaXN0cyA+IDApIHtcbiAgICBudW1iZXJpbmcgPSBidWlsZE51bWJlcmluZyhwYXJzZWREZWx0YS5zZXR1cC5udW1iZXJlZExpc3RzKTtcbiAgfVxuICBpZiAoY29uZmlnPy5jdXN0b21CdWxsZXRMZXZlbHMpIHtcbiAgICBudW1iZXJpbmcgPSBhZGRDdXN0b21CdWxsZXRzKG51bWJlcmluZywgY29uZmlnLmN1c3RvbUJ1bGxldExldmVscyk7XG4gICAgY3VzdG9tQnVsbGV0cyA9IHRydWU7XG4gIH1cbiAgY29uc3QgZG9jID0gbmV3IGRvY3guRG9jdW1lbnQoe1xuICAgIHN0eWxlczoge1xuICAgICAgcGFyYWdyYXBoU3R5bGVzOiBzdHlsZXNcbiAgICB9LFxuICAgIG51bWJlcmluZzogbnVtYmVyaW5nLFxuICAgIGh5cGVybGlua3M6IGh5cGVybGlua3NcbiAgfSk7XG4gIHJldHVybiBkb2M7XG59XG5cbi8vIGV4cG9ydCB0aGUgYXBwcm9wcmlhdGUgb2JqZWN0IGJhc2VkIG9uIGNvbmZpZ3VyYXRpb25cbmFzeW5jIGZ1bmN0aW9uIGV4cG9ydERvYyhkb2M6IGRvY3guRG9jdW1lbnQsIGNvbmZpZz86IENvbmZpZyk6IFByb21pc2U8RXhwb3J0T2JqZWN0PiB7XG4gIGlmICghY29uZmlnIHx8ICFjb25maWcuZXhwb3J0QXMgfHwgY29uZmlnLmV4cG9ydEFzID09PSAnZG9jJykge1xuICAgIHJldHVybiBkb2M7XG4gIH1cbiAgaWYgKGNvbmZpZy5leHBvcnRBcyA9PT0gJ2Jsb2InKSB7XG4gICAgcmV0dXJuIFBhY2tlci50b0Jsb2IoZG9jKTtcbiAgfVxuICBpZiAoY29uZmlnLmV4cG9ydEFzID09PSAnYnVmZmVyJykge1xuICAgIGNvbnNvbGUubG9nKCdyZXR1cm5pbmcgYnVmZmVyJyk7XG4gICAgcmV0dXJuIFBhY2tlci50b0J1ZmZlcihkb2MpO1xuICB9XG4gIGlmIChjb25maWcuZXhwb3J0QXMgPT09ICdiYXNlNjQnKSB7XG4gICAgcmV0dXJuIFBhY2tlci50b0Jhc2U2NFN0cmluZyhkb2MpO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcignUGxlYXNlIHNldCBleHBvcnRBcyBjb25maWd1cmF0aW9uIHRvIGJsb2IsIGJ1ZmZlciwgZG9jLCBvciBiYXNlNjQuJyk7XG59XG5cbi8vIGJ1aWxkIGRvY3ggbnVtYmVyaW5nIG9iamVjdCBmcm9tIHF1aWxsIG51bWJlcmVkIGxpc3RzXG5mdW5jdGlvbiBidWlsZE51bWJlcmluZyhudW1iZXJPZkxpc3RzOiBudW1iZXIpOiBOdW1iZXJpbmdDb25maWcge1xuICBsZXQgY29uZmlnOiBhbnlbXSA9IFtdO1xuICBsZXQgbnVtYmVyVHJhY2tlciA9IDA7XG4gIC8vIGNyZWF0ZSBhIG5ldyBkb2N4IG51bWJlcmluZyBvYmplY3QgZm9yIGVhY2ggcXVpbGwgbnVtYmVyZWQgbGlzdFxuICB3aGlsZSAobnVtYmVyVHJhY2tlciA8IG51bWJlck9mTGlzdHMpIHtcbiAgICBjb25zdCBuZXdMaXN0ID0ge1xuICAgICAgcmVmZXJlbmNlOiBgbnVtYmVyZWRfJHtudW1iZXJUcmFja2VyfWAsXG4gICAgICBsZXZlbHM6IGxldmVsc1xuICAgIH07XG4gICAgY29uZmlnLnB1c2gobmV3TGlzdCk7XG4gICAgbnVtYmVyVHJhY2tlcisrO1xuICB9O1xuICBjb25zdCBudW1iZXJDb25maWcgPSB7XG4gICAgY29uZmlnOiBjb25maWdcbiAgfTtcbiAgcmV0dXJuIG51bWJlckNvbmZpZztcbn1cblxuLy8gYWRkcyBhIGN1c3RvbSBidWxsZXQgc3R5bGVkIGxpc3QgdG8gdGhlIG51bWJlcmluZyBjb25maWd1cmF0aW9uXG5mdW5jdGlvbiBhZGRDdXN0b21CdWxsZXRzKG51bWJlckNvbmZpZzogTnVtYmVyaW5nQ29uZmlnIHwgdW5kZWZpbmVkLCBidWxsZXRMZXZlbHM6IEN1c3RvbUxldmVsc1tdKTogTnVtYmVyaW5nQ29uZmlnIHtcbiAgY29uc3QgY3VzdG9tQnVsbGV0czogTnVtYmVyZWRMaXN0ID0ge1xuICAgIHJlZmVyZW5jZTogJ2N1c3RvbUJ1bGxldHMnLFxuICAgIGxldmVsczogYnVsbGV0TGV2ZWxzXG4gIH07XG4gIGlmIChudW1iZXJDb25maWcpIHtcbiAgICBudW1iZXJDb25maWcuY29uZmlnLnB1c2goY3VzdG9tQnVsbGV0cyk7XG4gICAgcmV0dXJuIG51bWJlckNvbmZpZztcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29uZmlnOiBbY3VzdG9tQnVsbGV0c11cbiAgICB9XG4gIH1cbn1cblxuLy8gYnVpbGQgYSBkb2N4IGh5cGVybGlua3Mgb2JqZWN0IGZyb20gdGhlIHF1aWxsIGh5cGVybGlua3NcbmZ1bmN0aW9uIGJ1aWxkSHlwZXJsaW5rcyhxdWlsbExpbmtzOiBRSHlwZXJMaW5rW10pOiBvYmplY3Qge1xuICBsZXQgaHlwZXJsaW5rczogYW55ID0ge307XG4gIGxldCBsaW5rVHJhY2tlciA9IDA7XG4gIC8vIGdlbmVyYXRlIGEgbmV3IGRvY3ggbGluayBvYmplY3QgZnJvbSBlYWNoIHF1aWxsIGxpbms7IG1lcmdlIGludG8gaHlwZXJsaW5rcyBvYmplY3RcbiAgZm9yIChjb25zdCBsaW5rIG9mIHF1aWxsTGlua3MpIHtcbiAgICBjb25zdCBkb2NMaW5rID0ge1xuICAgICAgbGluazogbGluay5saW5rLFxuICAgICAgdGV4dDogbGluay50ZXh0LFxuICAgICAgdHlwZTogSHlwZXJsaW5rVHlwZS5FWFRFUk5BTFxuICAgIH07XG4gICAgaHlwZXJsaW5rcyA9IHtcbiAgICAgIC4uLmh5cGVybGlua3MsXG4gICAgICBbYGxpbmske2xpbmtUcmFja2VyfWBdOiBkb2NMaW5rXG4gICAgfVxuICAgIGxpbmtUcmFja2VyKys7XG4gIH07XG4gIHJldHVybiBoeXBlcmxpbmtzO1xufVxuXG4vLyBnZW5lcmF0ZSBhIHNlY3Rpb24gYXMgYW4gYXJyYXkgb2YgcGFyYWdyYXBoc1xuZnVuY3Rpb24gYnVpbGRTZWN0aW9uKHF1aWxsUGFyYWdyYXBoczogUVBhcmFncmFwaFtdLCBkb2M6IGRvY3guRG9jdW1lbnQpOiBQYXJhZ3JhcGhbXSB7XG4gIGxldCBxdWlsbFBhcmFncmFwaFRyYWNrZXIgPSAwO1xuICAvLyBjcmVhdGUgYSBjb250YWluZXIgdG8gaG9sZCB0aGUgZG9jeCBwYXJhZ3JhcGhzXG4gIGNvbnN0IHBhcmFncmFwaHM6IFBhcmFncmFwaFtdID0gW107XG4gIC8vIGJ1aWxkIGEgZG9jeCBwYXJhZ3JhcGggZnJvbSBlYWNoIGRlbHRhIHBhcmFncmFwaFxuICBmb3IgKGNvbnN0IHBhcmFncmFwaCBvZiBxdWlsbFBhcmFncmFwaHMpIHtcbiAgICAgIC8vIGlmIGVtYmVkIHZpZGVvIG9yIGltYWdlXG4gICAgICBpZiAocGFyYWdyYXBoLmVtYmVkPy5pbWFnZSkge1xuICAgICAgICBjb25zdCBpbWFnZSA9IE1lZGlhLmFkZEltYWdlKGRvYywgcGFyYWdyYXBoLmVtYmVkLmltYWdlKTtcbiAgICAgICAgcGFyYWdyYXBocy5wdXNoKG5ldyBQYXJhZ3JhcGgoaW1hZ2UpKTtcbiAgICAgIH0gZWxzZSBpZiAocGFyYWdyYXBoLmVtYmVkPy52aWRlbykge1xuICAgICAgICBjb25zdCBydW4gPSBidWlsZFZpZGVvKHBhcmFncmFwaC5lbWJlZC52aWRlbyk7XG4gICAgICAgIHBhcmFncmFwaHMucHVzaChuZXcgUGFyYWdyYXBoKHsgY2hpbGRyZW46IFtydW5dIH0pKTtcbiAgICAgIC8vIGlmIHRleHQgcnVuc1xuICAgICAgfSBlbHNlIGlmIChwYXJhZ3JhcGgudGV4dFJ1bnMpIHtcbiAgICAgICAgLy8gaGFuZGxlIG9yZGVyZWQgbGlzdCB0cmFja2luZ1xuICAgICAgICBpZiAocXVpbGxQYXJhZ3JhcGhUcmFja2VyID4gMCAmJiBwYXJhZ3JhcGguYXR0cmlidXRlcz8ubGlzdCA9PT0gJ29yZGVyZWQnKSB7XG4gICAgICAgICAgaWYgKHF1aWxsUGFyYWdyYXBoc1txdWlsbFBhcmFncmFwaFRyYWNrZXItMV0uYXR0cmlidXRlcz8ubGlzdCA9PT0gJ29yZGVyZWQnKSB7XG4gICAgICAgICAgICBudW1iZXJlZFRyYWNrZXIgPSBudW1iZXJlZFRyYWNrZXI7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG51bWJlcmVkVHJhY2tlcisrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwYXJhZ3JhcGhzLnB1c2goYnVpbGRQYXJhZ3JhcGgocGFyYWdyYXBoKSk7XG4gICAgICB9XG4gICAgICBxdWlsbFBhcmFncmFwaFRyYWNrZXIrKztcbiAgfTtcbiAgcmV0dXJuIHBhcmFncmFwaHM7XG59XG5cbi8vIGdlbmVyYXRlIGEgcGFyYWdyYXBoIGFzIGFuIGFycmF5IG9mIHRleHQgcnVuc1xuZnVuY3Rpb24gYnVpbGRQYXJhZ3JhcGgocGFyYWdyYXBoOiBRUGFyYWdyYXBoKTogUGFyYWdyYXBoIHtcbiAgLy8gY29udGFpbmVyIHRvIGhvbGQgZG9jeCB0ZXh0IHJ1bnNcbiAgY29uc3QgdGV4dFJ1bnM6IChUZXh0UnVuIHwgSHlwZXJsaW5rUmVmKVtdID0gW107XG4gIC8vIGJ1aWxkIGEgZG9jeCBydW4gZnJvbSBlYWNoIGRlbHRhIHJ1blxuICBmb3IgKGNvbnN0IHJ1biBvZiBwYXJhZ3JhcGgudGV4dFJ1bnMhKSB7XG4gICAgICAvLyBpZiBmb3JtdWxhXG4gICAgICBpZiAoKHJ1biBhcyB7Zm9ybXVsYTogc3RyaW5nfSkuZm9ybXVsYSkge1xuICAgICAgICB0ZXh0UnVucy5wdXNoKGJ1aWxkRm9ybXVsYSgocnVuIGFzIHsgZm9ybXVsYTogc3RyaW5nIH0pLmZvcm11bGEpKTtcbiAgICAgIC8vIGlmIHRleHRcbiAgICAgIH0gZWxzZSBpZiAoKHJ1biBhcyBRVGV4dFJ1bikudGV4dCkge1xuICAgICAgICAgIHRleHRSdW5zLnB1c2goYnVpbGRUZXh0UnVuKHJ1biBhcyBRVGV4dFJ1biwgcGFyYWdyYXBoKSk7XG4gICAgICB9XG4gIH07XG4gIGNvbnN0IGRvY3hQYXJhZ3JhcGggPSBuZXcgUGFyYWdyYXBoKHtcbiAgICBjaGlsZHJlbjogdGV4dFJ1bnMsXG4gICAgXG4gICAgaGVhZGluZzogcGFyYWdyYXBoLmF0dHJpYnV0ZXM/LmhlYWRlciA9PT0gMSA/IGRvY3guSGVhZGluZ0xldmVsLkhFQURJTkdfMSA6IHBhcmFncmFwaC5hdHRyaWJ1dGVzPy5oZWFkZXIgPT09IDIgPyBkb2N4LkhlYWRpbmdMZXZlbC5IRUFESU5HXzIgOiB1bmRlZmluZWQsXG5cbiAgICBidWxsZXQ6IHBhcmFncmFwaC5hdHRyaWJ1dGVzPy5saXN0ID09PSAnYnVsbGV0JyAmJiAhY3VzdG9tQnVsbGV0cyA/IHsgbGV2ZWw6IHBhcmFncmFwaC5hdHRyaWJ1dGVzLmluZGVudCA/IHBhcmFncmFwaC5hdHRyaWJ1dGVzLmluZGVudCA6IDAgfSA6IHVuZGVmaW5lZCxcblxuICAgIG51bWJlcmluZzogKHBhcmFncmFwaC5hdHRyaWJ1dGVzPy5saXN0ID09PSAnb3JkZXJlZCcpID8geyByZWZlcmVuY2U6IGBudW1iZXJlZF8ke251bWJlcmVkVHJhY2tlcn1gLCBsZXZlbDogKHBhcmFncmFwaC5hdHRyaWJ1dGVzLmluZGVudCA/IHBhcmFncmFwaC5hdHRyaWJ1dGVzLmluZGVudCA6IDApIH0gOiAocGFyYWdyYXBoLmF0dHJpYnV0ZXM/Lmxpc3QgPT09ICdidWxsZXQnICYmIGN1c3RvbUJ1bGxldHMpID8geyByZWZlcmVuY2U6ICdjdXN0b21CdWxsZXRzJywgbGV2ZWw6IChwYXJhZ3JhcGguYXR0cmlidXRlcy5pbmRlbnQgPyBwYXJhZ3JhcGguYXR0cmlidXRlcy5pbmRlbnQgOiAwKSB9IDogdW5kZWZpbmVkICxcblxuICAgIGFsaWdubWVudDogcGFyYWdyYXBoLmF0dHJpYnV0ZXM/LmFsaWduID09PSAnbGVmdCcgPyBBbGlnbm1lbnRUeXBlLkxFRlQgOiBwYXJhZ3JhcGguYXR0cmlidXRlcz8uYWxpZ24gPT09ICdjZW50ZXInID8gQWxpZ25tZW50VHlwZS5DRU5URVIgOiBwYXJhZ3JhcGguYXR0cmlidXRlcz8uYWxpZ24gPT09ICdyaWdodCcgPyBBbGlnbm1lbnRUeXBlLlJJR0hUIDogcGFyYWdyYXBoLmF0dHJpYnV0ZXM/LmFsaWduID09PSAnanVzdGlmeScgPyBBbGlnbm1lbnRUeXBlLkpVU1RJRklFRCA6IHVuZGVmaW5lZCxcblxuICAgIHN0eWxlOiBwYXJhZ3JhcGguYXR0cmlidXRlcz8uWydjb2RlLWJsb2NrJ10gPyAnY29kZV9ibG9jaycgOiBwYXJhZ3JhcGguYXR0cmlidXRlcz8uYmxvY2txdW90ZSA/ICdibG9ja19xdW90ZScgOiAocGFyYWdyYXBoIGFzIFBhcmFncmFwaEFsdCkuYXR0cmlidXRlcz8uY2l0YXRpb24gPyAnY2l0YXRpb24nIDogdW5kZWZpbmVkLFxuICAgIC8vIGJpZGlyZWN0aW9uYWw6IHBhcmFncmFwaC5hdHRyaWJ1dGVzPy5kaXJlY3Rpb24gPT09ICdydGwnID8gdHJ1ZSA6IHVuZGVmaW5lZCxcbiAgICAvLyBpbmRlbnRcbiAgfSk7XG4gIHJldHVybiBkb2N4UGFyYWdyYXBoO1xufVxuXG4vLyBnZW5lcmF0ZSBhIGRvY3ggdGV4dCBydW4gZnJvbSBxdWlsbCB0ZXh0IHJ1blxuZnVuY3Rpb24gYnVpbGRUZXh0UnVuKHJ1bjogUVRleHRSdW4sIHBhcmFncmFwaDogUVBhcmFncmFwaCk6IFRleHRSdW4gfCBIeXBlcmxpbmtSZWYge1xuICBsZXQgdGV4dFJ1bjogVGV4dFJ1biB8IEh5cGVybGlua1JlZjtcbiAgaWYgKHJ1bi5hdHRyaWJ1dGVzPy5saW5rKSB7XG4gICAgdGV4dFJ1biA9IG5ldyBIeXBlcmxpbmtSZWYoYGxpbmske2xpbmtUcmFja2VyfWApO1xuICAgIGxpbmtUcmFja2VyKys7XG4gIH0gZWxzZSB7XG4gICAgdGV4dFJ1biA9IG5ldyBUZXh0UnVuKHtcbiAgICAgIHRleHQ6IHJ1bi50ZXh0LFxuICAgICAgYm9sZDogcnVuLmF0dHJpYnV0ZXM/LmJvbGQgPyB0cnVlIDogZmFsc2UsXG4gICAgICBpdGFsaWNzOiBydW4uYXR0cmlidXRlcz8uaXRhbGljID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgc3ViU2NyaXB0OiBydW4uYXR0cmlidXRlcz8uc2NyaXB0ID09PSAnc3ViJyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIHN1cGVyU2NyaXB0OiBydW4uYXR0cmlidXRlcz8uc2NyaXB0ID09PSAnc3VwZXInID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgc3RyaWtlOiBydW4uYXR0cmlidXRlcz8uc3RyaWtlID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgdW5kZXJsaW5lOiBydW4uYXR0cmlidXRlcz8udW5kZXJsaW5lID8geyB0eXBlOiBVbmRlcmxpbmVUeXBlLlNJTkdMRSwgY29sb3I6ICdhdXRvJyB9IDogdW5kZWZpbmVkLFxuICAgICAgY29sb3I6IHJ1bi5hdHRyaWJ1dGVzPy5jb2xvciA/IHJ1bi5hdHRyaWJ1dGVzPy5jb2xvci5zbGljZSgxKSA6IHVuZGVmaW5lZCxcbiAgICAgIHNpemU6IHJ1bi5hdHRyaWJ1dGVzPy5zaXplID09PSAnaHVnZScgPyAzNiA6IHJ1bi5hdHRyaWJ1dGVzPy5zaXplID09PSAnbGFyZ2UnID8gMzIgOiBydW4uYXR0cmlidXRlcz8uc2l6ZSA9PT0gJ3NtYWxsJyA/IDIwIDogdW5kZWZpbmVkLFxuICAgICAgLy8gcmlnaHRUb0xlZnQ6IHBhcmFncmFwaC5hdHRyaWJ1dGVzPy5kaXJlY3Rpb24gPT09ICdydGwnID8gdHJ1ZSA6IHVuZGVmaW5lZFxuICAgICAgLy8gZm9udFxuICAgICAgaGlnaGxpZ2h0OiBydW4uYXR0cmlidXRlcz8uYmFja2dyb3VuZCA/ICd5ZWxsb3cnIDogdW5kZWZpbmVkXG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHRleHRSdW47XG59XG5cbi8vIGJ1aWxkIGEgZm9ybXVsYVxuZnVuY3Rpb24gYnVpbGRGb3JtdWxhKGZvcm11bGE6IHN0cmluZykge1xuICByZXR1cm4gbmV3IFRleHRSdW4oe1xuICAgIHRleHQ6IGZvcm11bGFcbiAgfSk7XG59XG5cbi8vIGJ1aWxkIGEgdmlkZW9cbmZ1bmN0aW9uIGJ1aWxkVmlkZW8odmlkZW86IHN0cmluZykge1xuICByZXR1cm4gbmV3IFRleHRSdW4oe1xuICAgIHRleHQ6IHZpZGVvXG4gIH0pO1xufVxuIiwiZXhwb3J0ICogZnJvbSAnLi9leHBvcnRlcic7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMnOyIsIm1vZHVsZS5leHBvcnRzID0gX19XRUJQQUNLX0VYVEVSTkFMX01PRFVMRV9fNjg3X187IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0aWYoX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSkge1xuXHRcdHJldHVybiBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdLmV4cG9ydHM7XG5cdH1cblx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcblx0dmFyIG1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0gPSB7XG5cdFx0Ly8gbm8gbW9kdWxlLmlkIG5lZWRlZFxuXHRcdC8vIG5vIG1vZHVsZS5sb2FkZWQgbmVlZGVkXG5cdFx0ZXhwb3J0czoge31cblx0fTtcblxuXHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cblx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cblx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcblx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xufVxuXG4iLCIvLyBtb2R1bGUgZXhwb3J0cyBtdXN0IGJlIHJldHVybmVkIGZyb20gcnVudGltZSBzbyBlbnRyeSBpbmxpbmluZyBpcyBkaXNhYmxlZFxuLy8gc3RhcnR1cFxuLy8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG5yZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyg2MDcpO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==","function none(n) {\n return 'n'\n}\nfunction p_ne_1(n) {\n return n !== 1 ? 'p' : 's'\n}\nfunction p_gt_1(n) {\n return n > 1 ? 'p' : 's'\n}\n\n// ---------------------------------------------------------------------------\n\nexports.plural_CS = function(n) {\n return n == 1 ? 's' : n >= 2 && n <= 4 ? 'p' : 'n'\n}\nexports.plural_DA = p_ne_1\nexports.plural_DE = p_ne_1\nexports.plural_EN = p_ne_1\nexports.plural_ES = p_ne_1\nexports.plural_FR = p_gt_1\nexports.plural_IS = function(n) {\n return n % 10 !== 1 || n % 100 === 11 ? 'p' : 's'\n}\nexports.plural_IT = p_ne_1\nexports.plural_JA = none\nexports.plural_PT = p_ne_1\nexports.plural_SE = p_ne_1\n","var Scope = /* @__PURE__ */ ((Scope2) => (Scope2[Scope2.TYPE = 3] = \"TYPE\", Scope2[Scope2.LEVEL = 12] = \"LEVEL\", Scope2[Scope2.ATTRIBUTE = 13] = \"ATTRIBUTE\", Scope2[Scope2.BLOT = 14] = \"BLOT\", Scope2[Scope2.INLINE = 7] = \"INLINE\", Scope2[Scope2.BLOCK = 11] = \"BLOCK\", Scope2[Scope2.BLOCK_BLOT = 10] = \"BLOCK_BLOT\", Scope2[Scope2.INLINE_BLOT = 6] = \"INLINE_BLOT\", Scope2[Scope2.BLOCK_ATTRIBUTE = 9] = \"BLOCK_ATTRIBUTE\", Scope2[Scope2.INLINE_ATTRIBUTE = 5] = \"INLINE_ATTRIBUTE\", Scope2[Scope2.ANY = 15] = \"ANY\", Scope2))(Scope || {});\nclass Attributor {\n constructor(attrName, keyName, options = {}) {\n this.attrName = attrName, this.keyName = keyName;\n const attributeBit = Scope.TYPE & Scope.ATTRIBUTE;\n this.scope = options.scope != null ? (\n // Ignore type bits, force attribute bit\n options.scope & Scope.LEVEL | attributeBit\n ) : Scope.ATTRIBUTE, options.whitelist != null && (this.whitelist = options.whitelist);\n }\n static keys(node) {\n return Array.from(node.attributes).map((item) => item.name);\n }\n add(node, value) {\n return this.canAdd(node, value) ? (node.setAttribute(this.keyName, value), !0) : !1;\n }\n canAdd(_node, value) {\n return this.whitelist == null ? !0 : typeof value == \"string\" ? this.whitelist.indexOf(value.replace(/[\"']/g, \"\")) > -1 : this.whitelist.indexOf(value) > -1;\n }\n remove(node) {\n node.removeAttribute(this.keyName);\n }\n value(node) {\n const value = node.getAttribute(this.keyName);\n return this.canAdd(node, value) && value ? value : \"\";\n }\n}\nclass ParchmentError extends Error {\n constructor(message) {\n message = \"[Parchment] \" + message, super(message), this.message = message, this.name = this.constructor.name;\n }\n}\nconst _Registry = class _Registry {\n constructor() {\n this.attributes = {}, this.classes = {}, this.tags = {}, this.types = {};\n }\n static find(node, bubble = !1) {\n if (node == null)\n return null;\n if (this.blots.has(node))\n return this.blots.get(node) || null;\n if (bubble) {\n let parentNode = null;\n try {\n parentNode = node.parentNode;\n } catch {\n return null;\n }\n return this.find(parentNode, bubble);\n }\n return null;\n }\n create(scroll, input, value) {\n const match2 = this.query(input);\n if (match2 == null)\n throw new ParchmentError(`Unable to create ${input} blot`);\n const blotClass = match2, node = (\n // @ts-expect-error Fix me later\n input instanceof Node || input.nodeType === Node.TEXT_NODE ? input : blotClass.create(value)\n ), blot = new blotClass(scroll, node, value);\n return _Registry.blots.set(blot.domNode, blot), blot;\n }\n find(node, bubble = !1) {\n return _Registry.find(node, bubble);\n }\n query(query, scope = Scope.ANY) {\n let match2;\n return typeof query == \"string\" ? match2 = this.types[query] || this.attributes[query] : query instanceof Text || query.nodeType === Node.TEXT_NODE ? match2 = this.types.text : typeof query == \"number\" ? query & Scope.LEVEL & Scope.BLOCK ? match2 = this.types.block : query & Scope.LEVEL & Scope.INLINE && (match2 = this.types.inline) : query instanceof Element && ((query.getAttribute(\"class\") || \"\").split(/\\s+/).some((name) => (match2 = this.classes[name], !!match2)), match2 = match2 || this.tags[query.tagName]), match2 == null ? null : \"scope\" in match2 && scope & Scope.LEVEL & match2.scope && scope & Scope.TYPE & match2.scope ? match2 : null;\n }\n register(...definitions) {\n return definitions.map((definition) => {\n const isBlot = \"blotName\" in definition, isAttr = \"attrName\" in definition;\n if (!isBlot && !isAttr)\n throw new ParchmentError(\"Invalid definition\");\n if (isBlot && definition.blotName === \"abstract\")\n throw new ParchmentError(\"Cannot register abstract class\");\n const key = isBlot ? definition.blotName : isAttr ? definition.attrName : void 0;\n return this.types[key] = definition, isAttr ? typeof definition.keyName == \"string\" && (this.attributes[definition.keyName] = definition) : isBlot && (definition.className && (this.classes[definition.className] = definition), definition.tagName && (Array.isArray(definition.tagName) ? definition.tagName = definition.tagName.map((tagName) => tagName.toUpperCase()) : definition.tagName = definition.tagName.toUpperCase(), (Array.isArray(definition.tagName) ? definition.tagName : [definition.tagName]).forEach((tag) => {\n (this.tags[tag] == null || definition.className == null) && (this.tags[tag] = definition);\n }))), definition;\n });\n }\n};\n_Registry.blots = /* @__PURE__ */ new WeakMap();\nlet Registry = _Registry;\nfunction match(node, prefix) {\n return (node.getAttribute(\"class\") || \"\").split(/\\s+/).filter((name) => name.indexOf(`${prefix}-`) === 0);\n}\nclass ClassAttributor extends Attributor {\n static keys(node) {\n return (node.getAttribute(\"class\") || \"\").split(/\\s+/).map((name) => name.split(\"-\").slice(0, -1).join(\"-\"));\n }\n add(node, value) {\n return this.canAdd(node, value) ? (this.remove(node), node.classList.add(`${this.keyName}-${value}`), !0) : !1;\n }\n remove(node) {\n match(node, this.keyName).forEach((name) => {\n node.classList.remove(name);\n }), node.classList.length === 0 && node.removeAttribute(\"class\");\n }\n value(node) {\n const value = (match(node, this.keyName)[0] || \"\").slice(this.keyName.length + 1);\n return this.canAdd(node, value) ? value : \"\";\n }\n}\nconst ClassAttributor$1 = ClassAttributor;\nfunction camelize(name) {\n const parts = name.split(\"-\"), rest = parts.slice(1).map((part) => part[0].toUpperCase() + part.slice(1)).join(\"\");\n return parts[0] + rest;\n}\nclass StyleAttributor extends Attributor {\n static keys(node) {\n return (node.getAttribute(\"style\") || \"\").split(\";\").map((value) => value.split(\":\")[0].trim());\n }\n add(node, value) {\n return this.canAdd(node, value) ? (node.style[camelize(this.keyName)] = value, !0) : !1;\n }\n remove(node) {\n node.style[camelize(this.keyName)] = \"\", node.getAttribute(\"style\") || node.removeAttribute(\"style\");\n }\n value(node) {\n const value = node.style[camelize(this.keyName)];\n return this.canAdd(node, value) ? value : \"\";\n }\n}\nconst StyleAttributor$1 = StyleAttributor;\nclass AttributorStore {\n constructor(domNode) {\n this.attributes = {}, this.domNode = domNode, this.build();\n }\n attribute(attribute, value) {\n value ? attribute.add(this.domNode, value) && (attribute.value(this.domNode) != null ? this.attributes[attribute.attrName] = attribute : delete this.attributes[attribute.attrName]) : (attribute.remove(this.domNode), delete this.attributes[attribute.attrName]);\n }\n build() {\n this.attributes = {};\n const blot = Registry.find(this.domNode);\n if (blot == null)\n return;\n const attributes = Attributor.keys(this.domNode), classes = ClassAttributor$1.keys(this.domNode), styles = StyleAttributor$1.keys(this.domNode);\n attributes.concat(classes).concat(styles).forEach((name) => {\n const attr = blot.scroll.query(name, Scope.ATTRIBUTE);\n attr instanceof Attributor && (this.attributes[attr.attrName] = attr);\n });\n }\n copy(target) {\n Object.keys(this.attributes).forEach((key) => {\n const value = this.attributes[key].value(this.domNode);\n target.format(key, value);\n });\n }\n move(target) {\n this.copy(target), Object.keys(this.attributes).forEach((key) => {\n this.attributes[key].remove(this.domNode);\n }), this.attributes = {};\n }\n values() {\n return Object.keys(this.attributes).reduce(\n (attributes, name) => (attributes[name] = this.attributes[name].value(this.domNode), attributes),\n {}\n );\n }\n}\nconst AttributorStore$1 = AttributorStore, _ShadowBlot = class _ShadowBlot {\n constructor(scroll, domNode) {\n this.scroll = scroll, this.domNode = domNode, Registry.blots.set(domNode, this), this.prev = null, this.next = null;\n }\n static create(rawValue) {\n if (this.tagName == null)\n throw new ParchmentError(\"Blot definition missing tagName\");\n let node, value;\n return Array.isArray(this.tagName) ? (typeof rawValue == \"string\" ? (value = rawValue.toUpperCase(), parseInt(value, 10).toString() === value && (value = parseInt(value, 10))) : typeof rawValue == \"number\" && (value = rawValue), typeof value == \"number\" ? node = document.createElement(this.tagName[value - 1]) : value && this.tagName.indexOf(value) > -1 ? node = document.createElement(value) : node = document.createElement(this.tagName[0])) : node = document.createElement(this.tagName), this.className && node.classList.add(this.className), node;\n }\n // Hack for accessing inherited static methods\n get statics() {\n return this.constructor;\n }\n attach() {\n }\n clone() {\n const domNode = this.domNode.cloneNode(!1);\n return this.scroll.create(domNode);\n }\n detach() {\n this.parent != null && this.parent.removeChild(this), Registry.blots.delete(this.domNode);\n }\n deleteAt(index, length) {\n this.isolate(index, length).remove();\n }\n formatAt(index, length, name, value) {\n const blot = this.isolate(index, length);\n if (this.scroll.query(name, Scope.BLOT) != null && value)\n blot.wrap(name, value);\n else if (this.scroll.query(name, Scope.ATTRIBUTE) != null) {\n const parent = this.scroll.create(this.statics.scope);\n blot.wrap(parent), parent.format(name, value);\n }\n }\n insertAt(index, value, def) {\n const blot = def == null ? this.scroll.create(\"text\", value) : this.scroll.create(value, def), ref = this.split(index);\n this.parent.insertBefore(blot, ref || void 0);\n }\n isolate(index, length) {\n const target = this.split(index);\n if (target == null)\n throw new Error(\"Attempt to isolate at end\");\n return target.split(length), target;\n }\n length() {\n return 1;\n }\n offset(root = this.parent) {\n return this.parent == null || this === root ? 0 : this.parent.children.offset(this) + this.parent.offset(root);\n }\n optimize(_context) {\n this.statics.requiredContainer && !(this.parent instanceof this.statics.requiredContainer) && this.wrap(this.statics.requiredContainer.blotName);\n }\n remove() {\n this.domNode.parentNode != null && this.domNode.parentNode.removeChild(this.domNode), this.detach();\n }\n replaceWith(name, value) {\n const replacement = typeof name == \"string\" ? this.scroll.create(name, value) : name;\n return this.parent != null && (this.parent.insertBefore(replacement, this.next || void 0), this.remove()), replacement;\n }\n split(index, _force) {\n return index === 0 ? this : this.next;\n }\n update(_mutations, _context) {\n }\n wrap(name, value) {\n const wrapper = typeof name == \"string\" ? this.scroll.create(name, value) : name;\n if (this.parent != null && this.parent.insertBefore(wrapper, this.next || void 0), typeof wrapper.appendChild != \"function\")\n throw new ParchmentError(`Cannot wrap ${name}`);\n return wrapper.appendChild(this), wrapper;\n }\n};\n_ShadowBlot.blotName = \"abstract\";\nlet ShadowBlot = _ShadowBlot;\nconst _LeafBlot = class _LeafBlot extends ShadowBlot {\n /**\n * Returns the value represented by domNode if it is this Blot's type\n * No checking that domNode can represent this Blot type is required so\n * applications needing it should check externally before calling.\n */\n static value(_domNode) {\n return !0;\n }\n /**\n * Given location represented by node and offset from DOM Selection Range,\n * return index to that location.\n */\n index(node, offset) {\n return this.domNode === node || this.domNode.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY ? Math.min(offset, 1) : -1;\n }\n /**\n * Given index to location within blot, return node and offset representing\n * that location, consumable by DOM Selection Range\n */\n position(index, _inclusive) {\n let offset = Array.from(this.parent.domNode.childNodes).indexOf(this.domNode);\n return index > 0 && (offset += 1), [this.parent.domNode, offset];\n }\n /**\n * Return value represented by this blot\n * Should not change without interaction from API or\n * user change detectable by update()\n */\n value() {\n return {\n [this.statics.blotName]: this.statics.value(this.domNode) || !0\n };\n }\n};\n_LeafBlot.scope = Scope.INLINE_BLOT;\nlet LeafBlot = _LeafBlot;\nconst LeafBlot$1 = LeafBlot;\nclass LinkedList {\n constructor() {\n this.head = null, this.tail = null, this.length = 0;\n }\n append(...nodes) {\n if (this.insertBefore(nodes[0], null), nodes.length > 1) {\n const rest = nodes.slice(1);\n this.append(...rest);\n }\n }\n at(index) {\n const next = this.iterator();\n let cur = next();\n for (; cur && index > 0; )\n index -= 1, cur = next();\n return cur;\n }\n contains(node) {\n const next = this.iterator();\n let cur = next();\n for (; cur; ) {\n if (cur === node)\n return !0;\n cur = next();\n }\n return !1;\n }\n indexOf(node) {\n const next = this.iterator();\n let cur = next(), index = 0;\n for (; cur; ) {\n if (cur === node)\n return index;\n index += 1, cur = next();\n }\n return -1;\n }\n insertBefore(node, refNode) {\n node != null && (this.remove(node), node.next = refNode, refNode != null ? (node.prev = refNode.prev, refNode.prev != null && (refNode.prev.next = node), refNode.prev = node, refNode === this.head && (this.head = node)) : this.tail != null ? (this.tail.next = node, node.prev = this.tail, this.tail = node) : (node.prev = null, this.head = this.tail = node), this.length += 1);\n }\n offset(target) {\n let index = 0, cur = this.head;\n for (; cur != null; ) {\n if (cur === target)\n return index;\n index += cur.length(), cur = cur.next;\n }\n return -1;\n }\n remove(node) {\n this.contains(node) && (node.prev != null && (node.prev.next = node.next), node.next != null && (node.next.prev = node.prev), node === this.head && (this.head = node.next), node === this.tail && (this.tail = node.prev), this.length -= 1);\n }\n iterator(curNode = this.head) {\n return () => {\n const ret = curNode;\n return curNode != null && (curNode = curNode.next), ret;\n };\n }\n find(index, inclusive = !1) {\n const next = this.iterator();\n let cur = next();\n for (; cur; ) {\n const length = cur.length();\n if (index < length || inclusive && index === length && (cur.next == null || cur.next.length() !== 0))\n return [cur, index];\n index -= length, cur = next();\n }\n return [null, 0];\n }\n forEach(callback) {\n const next = this.iterator();\n let cur = next();\n for (; cur; )\n callback(cur), cur = next();\n }\n forEachAt(index, length, callback) {\n if (length <= 0)\n return;\n const [startNode, offset] = this.find(index);\n let curIndex = index - offset;\n const next = this.iterator(startNode);\n let cur = next();\n for (; cur && curIndex < index + length; ) {\n const curLength = cur.length();\n index > curIndex ? callback(\n cur,\n index - curIndex,\n Math.min(length, curIndex + curLength - index)\n ) : callback(cur, 0, Math.min(curLength, index + length - curIndex)), curIndex += curLength, cur = next();\n }\n }\n map(callback) {\n return this.reduce((memo, cur) => (memo.push(callback(cur)), memo), []);\n }\n reduce(callback, memo) {\n const next = this.iterator();\n let cur = next();\n for (; cur; )\n memo = callback(memo, cur), cur = next();\n return memo;\n }\n}\nfunction makeAttachedBlot(node, scroll) {\n const found = scroll.find(node);\n if (found)\n return found;\n try {\n return scroll.create(node);\n } catch {\n const blot = scroll.create(Scope.INLINE);\n return Array.from(node.childNodes).forEach((child) => {\n blot.domNode.appendChild(child);\n }), node.parentNode && node.parentNode.replaceChild(blot.domNode, node), blot.attach(), blot;\n }\n}\nconst _ParentBlot = class _ParentBlot extends ShadowBlot {\n constructor(scroll, domNode) {\n super(scroll, domNode), this.uiNode = null, this.build();\n }\n appendChild(other) {\n this.insertBefore(other);\n }\n attach() {\n super.attach(), this.children.forEach((child) => {\n child.attach();\n });\n }\n attachUI(node) {\n this.uiNode != null && this.uiNode.remove(), this.uiNode = node, _ParentBlot.uiClass && this.uiNode.classList.add(_ParentBlot.uiClass), this.uiNode.setAttribute(\"contenteditable\", \"false\"), this.domNode.insertBefore(this.uiNode, this.domNode.firstChild);\n }\n /**\n * Called during construction, should fill its own children LinkedList.\n */\n build() {\n this.children = new LinkedList(), Array.from(this.domNode.childNodes).filter((node) => node !== this.uiNode).reverse().forEach((node) => {\n try {\n const child = makeAttachedBlot(node, this.scroll);\n this.insertBefore(child, this.children.head || void 0);\n } catch (err) {\n if (err instanceof ParchmentError)\n return;\n throw err;\n }\n });\n }\n deleteAt(index, length) {\n if (index === 0 && length === this.length())\n return this.remove();\n this.children.forEachAt(index, length, (child, offset, childLength) => {\n child.deleteAt(offset, childLength);\n });\n }\n descendant(criteria, index = 0) {\n const [child, offset] = this.children.find(index);\n return criteria.blotName == null && criteria(child) || criteria.blotName != null && child instanceof criteria ? [child, offset] : child instanceof _ParentBlot ? child.descendant(criteria, offset) : [null, -1];\n }\n descendants(criteria, index = 0, length = Number.MAX_VALUE) {\n let descendants = [], lengthLeft = length;\n return this.children.forEachAt(\n index,\n length,\n (child, childIndex, childLength) => {\n (criteria.blotName == null && criteria(child) || criteria.blotName != null && child instanceof criteria) && descendants.push(child), child instanceof _ParentBlot && (descendants = descendants.concat(\n child.descendants(criteria, childIndex, lengthLeft)\n )), lengthLeft -= childLength;\n }\n ), descendants;\n }\n detach() {\n this.children.forEach((child) => {\n child.detach();\n }), super.detach();\n }\n enforceAllowedChildren() {\n let done = !1;\n this.children.forEach((child) => {\n done || this.statics.allowedChildren.some(\n (def) => child instanceof def\n ) || (child.statics.scope === Scope.BLOCK_BLOT ? (child.next != null && this.splitAfter(child), child.prev != null && this.splitAfter(child.prev), child.parent.unwrap(), done = !0) : child instanceof _ParentBlot ? child.unwrap() : child.remove());\n });\n }\n formatAt(index, length, name, value) {\n this.children.forEachAt(index, length, (child, offset, childLength) => {\n child.formatAt(offset, childLength, name, value);\n });\n }\n insertAt(index, value, def) {\n const [child, offset] = this.children.find(index);\n if (child)\n child.insertAt(offset, value, def);\n else {\n const blot = def == null ? this.scroll.create(\"text\", value) : this.scroll.create(value, def);\n this.appendChild(blot);\n }\n }\n insertBefore(childBlot, refBlot) {\n childBlot.parent != null && childBlot.parent.children.remove(childBlot);\n let refDomNode = null;\n this.children.insertBefore(childBlot, refBlot || null), childBlot.parent = this, refBlot != null && (refDomNode = refBlot.domNode), (this.domNode.parentNode !== childBlot.domNode || this.domNode.nextSibling !== refDomNode) && this.domNode.insertBefore(childBlot.domNode, refDomNode), childBlot.attach();\n }\n length() {\n return this.children.reduce((memo, child) => memo + child.length(), 0);\n }\n moveChildren(targetParent, refNode) {\n this.children.forEach((child) => {\n targetParent.insertBefore(child, refNode);\n });\n }\n optimize(context) {\n if (super.optimize(context), this.enforceAllowedChildren(), this.uiNode != null && this.uiNode !== this.domNode.firstChild && this.domNode.insertBefore(this.uiNode, this.domNode.firstChild), this.children.length === 0)\n if (this.statics.defaultChild != null) {\n const child = this.scroll.create(this.statics.defaultChild.blotName);\n this.appendChild(child);\n } else\n this.remove();\n }\n path(index, inclusive = !1) {\n const [child, offset] = this.children.find(index, inclusive), position = [[this, index]];\n return child instanceof _ParentBlot ? position.concat(child.path(offset, inclusive)) : (child != null && position.push([child, offset]), position);\n }\n removeChild(child) {\n this.children.remove(child);\n }\n replaceWith(name, value) {\n const replacement = typeof name == \"string\" ? this.scroll.create(name, value) : name;\n return replacement instanceof _ParentBlot && this.moveChildren(replacement), super.replaceWith(replacement);\n }\n split(index, force = !1) {\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n const after = this.clone();\n return this.parent && this.parent.insertBefore(after, this.next || void 0), this.children.forEachAt(index, this.length(), (child, offset, _length) => {\n const split = child.split(offset, force);\n split != null && after.appendChild(split);\n }), after;\n }\n splitAfter(child) {\n const after = this.clone();\n for (; child.next != null; )\n after.appendChild(child.next);\n return this.parent && this.parent.insertBefore(after, this.next || void 0), after;\n }\n unwrap() {\n this.parent && this.moveChildren(this.parent, this.next || void 0), this.remove();\n }\n update(mutations, _context) {\n const addedNodes = [], removedNodes = [];\n mutations.forEach((mutation) => {\n mutation.target === this.domNode && mutation.type === \"childList\" && (addedNodes.push(...mutation.addedNodes), removedNodes.push(...mutation.removedNodes));\n }), removedNodes.forEach((node) => {\n if (node.parentNode != null && // @ts-expect-error Fix me later\n node.tagName !== \"IFRAME\" && document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY)\n return;\n const blot = this.scroll.find(node);\n blot != null && (blot.domNode.parentNode == null || blot.domNode.parentNode === this.domNode) && blot.detach();\n }), addedNodes.filter((node) => node.parentNode === this.domNode && node !== this.uiNode).sort((a, b) => a === b ? 0 : a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING ? 1 : -1).forEach((node) => {\n let refBlot = null;\n node.nextSibling != null && (refBlot = this.scroll.find(node.nextSibling));\n const blot = makeAttachedBlot(node, this.scroll);\n (blot.next !== refBlot || blot.next == null) && (blot.parent != null && blot.parent.removeChild(this), this.insertBefore(blot, refBlot || void 0));\n }), this.enforceAllowedChildren();\n }\n};\n_ParentBlot.uiClass = \"\";\nlet ParentBlot = _ParentBlot;\nconst ParentBlot$1 = ParentBlot;\nfunction isEqual(obj1, obj2) {\n if (Object.keys(obj1).length !== Object.keys(obj2).length)\n return !1;\n for (const prop in obj1)\n if (obj1[prop] !== obj2[prop])\n return !1;\n return !0;\n}\nconst _InlineBlot = class _InlineBlot extends ParentBlot$1 {\n static create(value) {\n return super.create(value);\n }\n static formats(domNode, scroll) {\n const match2 = scroll.query(_InlineBlot.blotName);\n if (!(match2 != null && domNode.tagName === match2.tagName)) {\n if (typeof this.tagName == \"string\")\n return !0;\n if (Array.isArray(this.tagName))\n return domNode.tagName.toLowerCase();\n }\n }\n constructor(scroll, domNode) {\n super(scroll, domNode), this.attributes = new AttributorStore$1(this.domNode);\n }\n format(name, value) {\n if (name === this.statics.blotName && !value)\n this.children.forEach((child) => {\n child instanceof _InlineBlot || (child = child.wrap(_InlineBlot.blotName, !0)), this.attributes.copy(child);\n }), this.unwrap();\n else {\n const format = this.scroll.query(name, Scope.INLINE);\n if (format == null)\n return;\n format instanceof Attributor ? this.attributes.attribute(format, value) : value && (name !== this.statics.blotName || this.formats()[name] !== value) && this.replaceWith(name, value);\n }\n }\n formats() {\n const formats = this.attributes.values(), format = this.statics.formats(this.domNode, this.scroll);\n return format != null && (formats[this.statics.blotName] = format), formats;\n }\n formatAt(index, length, name, value) {\n this.formats()[name] != null || this.scroll.query(name, Scope.ATTRIBUTE) ? this.isolate(index, length).format(name, value) : super.formatAt(index, length, name, value);\n }\n optimize(context) {\n super.optimize(context);\n const formats = this.formats();\n if (Object.keys(formats).length === 0)\n return this.unwrap();\n const next = this.next;\n next instanceof _InlineBlot && next.prev === this && isEqual(formats, next.formats()) && (next.moveChildren(this), next.remove());\n }\n replaceWith(name, value) {\n const replacement = super.replaceWith(name, value);\n return this.attributes.copy(replacement), replacement;\n }\n update(mutations, context) {\n super.update(mutations, context), mutations.some(\n (mutation) => mutation.target === this.domNode && mutation.type === \"attributes\"\n ) && this.attributes.build();\n }\n wrap(name, value) {\n const wrapper = super.wrap(name, value);\n return wrapper instanceof _InlineBlot && this.attributes.move(wrapper), wrapper;\n }\n};\n_InlineBlot.allowedChildren = [_InlineBlot, LeafBlot$1], _InlineBlot.blotName = \"inline\", _InlineBlot.scope = Scope.INLINE_BLOT, _InlineBlot.tagName = \"SPAN\";\nlet InlineBlot = _InlineBlot;\nconst InlineBlot$1 = InlineBlot, _BlockBlot = class _BlockBlot extends ParentBlot$1 {\n static create(value) {\n return super.create(value);\n }\n static formats(domNode, scroll) {\n const match2 = scroll.query(_BlockBlot.blotName);\n if (!(match2 != null && domNode.tagName === match2.tagName)) {\n if (typeof this.tagName == \"string\")\n return !0;\n if (Array.isArray(this.tagName))\n return domNode.tagName.toLowerCase();\n }\n }\n constructor(scroll, domNode) {\n super(scroll, domNode), this.attributes = new AttributorStore$1(this.domNode);\n }\n format(name, value) {\n const format = this.scroll.query(name, Scope.BLOCK);\n format != null && (format instanceof Attributor ? this.attributes.attribute(format, value) : name === this.statics.blotName && !value ? this.replaceWith(_BlockBlot.blotName) : value && (name !== this.statics.blotName || this.formats()[name] !== value) && this.replaceWith(name, value));\n }\n formats() {\n const formats = this.attributes.values(), format = this.statics.formats(this.domNode, this.scroll);\n return format != null && (formats[this.statics.blotName] = format), formats;\n }\n formatAt(index, length, name, value) {\n this.scroll.query(name, Scope.BLOCK) != null ? this.format(name, value) : super.formatAt(index, length, name, value);\n }\n insertAt(index, value, def) {\n if (def == null || this.scroll.query(value, Scope.INLINE) != null)\n super.insertAt(index, value, def);\n else {\n const after = this.split(index);\n if (after != null) {\n const blot = this.scroll.create(value, def);\n after.parent.insertBefore(blot, after);\n } else\n throw new Error(\"Attempt to insertAt after block boundaries\");\n }\n }\n replaceWith(name, value) {\n const replacement = super.replaceWith(name, value);\n return this.attributes.copy(replacement), replacement;\n }\n update(mutations, context) {\n super.update(mutations, context), mutations.some(\n (mutation) => mutation.target === this.domNode && mutation.type === \"attributes\"\n ) && this.attributes.build();\n }\n};\n_BlockBlot.blotName = \"block\", _BlockBlot.scope = Scope.BLOCK_BLOT, _BlockBlot.tagName = \"P\", _BlockBlot.allowedChildren = [\n InlineBlot$1,\n _BlockBlot,\n LeafBlot$1\n];\nlet BlockBlot = _BlockBlot;\nconst BlockBlot$1 = BlockBlot, _ContainerBlot = class _ContainerBlot extends ParentBlot$1 {\n checkMerge() {\n return this.next !== null && this.next.statics.blotName === this.statics.blotName;\n }\n deleteAt(index, length) {\n super.deleteAt(index, length), this.enforceAllowedChildren();\n }\n formatAt(index, length, name, value) {\n super.formatAt(index, length, name, value), this.enforceAllowedChildren();\n }\n insertAt(index, value, def) {\n super.insertAt(index, value, def), this.enforceAllowedChildren();\n }\n optimize(context) {\n super.optimize(context), this.children.length > 0 && this.next != null && this.checkMerge() && (this.next.moveChildren(this), this.next.remove());\n }\n};\n_ContainerBlot.blotName = \"container\", _ContainerBlot.scope = Scope.BLOCK_BLOT;\nlet ContainerBlot = _ContainerBlot;\nconst ContainerBlot$1 = ContainerBlot;\nclass EmbedBlot extends LeafBlot$1 {\n static formats(_domNode, _scroll) {\n }\n format(name, value) {\n super.formatAt(0, this.length(), name, value);\n }\n formatAt(index, length, name, value) {\n index === 0 && length === this.length() ? this.format(name, value) : super.formatAt(index, length, name, value);\n }\n formats() {\n return this.statics.formats(this.domNode, this.scroll);\n }\n}\nconst EmbedBlot$1 = EmbedBlot, OBSERVER_CONFIG = {\n attributes: !0,\n characterData: !0,\n characterDataOldValue: !0,\n childList: !0,\n subtree: !0\n}, MAX_OPTIMIZE_ITERATIONS = 100, _ScrollBlot = class _ScrollBlot extends ParentBlot$1 {\n constructor(registry, node) {\n super(null, node), this.registry = registry, this.scroll = this, this.build(), this.observer = new MutationObserver((mutations) => {\n this.update(mutations);\n }), this.observer.observe(this.domNode, OBSERVER_CONFIG), this.attach();\n }\n create(input, value) {\n return this.registry.create(this, input, value);\n }\n find(node, bubble = !1) {\n const blot = this.registry.find(node, bubble);\n return blot ? blot.scroll === this ? blot : bubble ? this.find(blot.scroll.domNode.parentNode, !0) : null : null;\n }\n query(query, scope = Scope.ANY) {\n return this.registry.query(query, scope);\n }\n register(...definitions) {\n return this.registry.register(...definitions);\n }\n build() {\n this.scroll != null && super.build();\n }\n detach() {\n super.detach(), this.observer.disconnect();\n }\n deleteAt(index, length) {\n this.update(), index === 0 && length === this.length() ? this.children.forEach((child) => {\n child.remove();\n }) : super.deleteAt(index, length);\n }\n formatAt(index, length, name, value) {\n this.update(), super.formatAt(index, length, name, value);\n }\n insertAt(index, value, def) {\n this.update(), super.insertAt(index, value, def);\n }\n optimize(mutations = [], context = {}) {\n super.optimize(context);\n const mutationsMap = context.mutationsMap || /* @__PURE__ */ new WeakMap();\n let records = Array.from(this.observer.takeRecords());\n for (; records.length > 0; )\n mutations.push(records.pop());\n const mark = (blot, markParent = !0) => {\n blot == null || blot === this || blot.domNode.parentNode != null && (mutationsMap.has(blot.domNode) || mutationsMap.set(blot.domNode, []), markParent && mark(blot.parent));\n }, optimize = (blot) => {\n mutationsMap.has(blot.domNode) && (blot instanceof ParentBlot$1 && blot.children.forEach(optimize), mutationsMap.delete(blot.domNode), blot.optimize(context));\n };\n let remaining = mutations;\n for (let i = 0; remaining.length > 0; i += 1) {\n if (i >= MAX_OPTIMIZE_ITERATIONS)\n throw new Error(\"[Parchment] Maximum optimize iterations reached\");\n for (remaining.forEach((mutation) => {\n const blot = this.find(mutation.target, !0);\n blot != null && (blot.domNode === mutation.target && (mutation.type === \"childList\" ? (mark(this.find(mutation.previousSibling, !1)), Array.from(mutation.addedNodes).forEach((node) => {\n const child = this.find(node, !1);\n mark(child, !1), child instanceof ParentBlot$1 && child.children.forEach((grandChild) => {\n mark(grandChild, !1);\n });\n })) : mutation.type === \"attributes\" && mark(blot.prev)), mark(blot));\n }), this.children.forEach(optimize), remaining = Array.from(this.observer.takeRecords()), records = remaining.slice(); records.length > 0; )\n mutations.push(records.pop());\n }\n }\n update(mutations, context = {}) {\n mutations = mutations || this.observer.takeRecords();\n const mutationsMap = /* @__PURE__ */ new WeakMap();\n mutations.map((mutation) => {\n const blot = this.find(mutation.target, !0);\n return blot == null ? null : mutationsMap.has(blot.domNode) ? (mutationsMap.get(blot.domNode).push(mutation), null) : (mutationsMap.set(blot.domNode, [mutation]), blot);\n }).forEach((blot) => {\n blot != null && blot !== this && mutationsMap.has(blot.domNode) && blot.update(mutationsMap.get(blot.domNode) || [], context);\n }), context.mutationsMap = mutationsMap, mutationsMap.has(this.domNode) && super.update(mutationsMap.get(this.domNode), context), this.optimize(mutations, context);\n }\n};\n_ScrollBlot.blotName = \"scroll\", _ScrollBlot.defaultChild = BlockBlot$1, _ScrollBlot.allowedChildren = [BlockBlot$1, ContainerBlot$1], _ScrollBlot.scope = Scope.BLOCK_BLOT, _ScrollBlot.tagName = \"DIV\";\nlet ScrollBlot = _ScrollBlot;\nconst ScrollBlot$1 = ScrollBlot, _TextBlot = class _TextBlot extends LeafBlot$1 {\n static create(value) {\n return document.createTextNode(value);\n }\n static value(domNode) {\n return domNode.data;\n }\n constructor(scroll, node) {\n super(scroll, node), this.text = this.statics.value(this.domNode);\n }\n deleteAt(index, length) {\n this.domNode.data = this.text = this.text.slice(0, index) + this.text.slice(index + length);\n }\n index(node, offset) {\n return this.domNode === node ? offset : -1;\n }\n insertAt(index, value, def) {\n def == null ? (this.text = this.text.slice(0, index) + value + this.text.slice(index), this.domNode.data = this.text) : super.insertAt(index, value, def);\n }\n length() {\n return this.text.length;\n }\n optimize(context) {\n super.optimize(context), this.text = this.statics.value(this.domNode), this.text.length === 0 ? this.remove() : this.next instanceof _TextBlot && this.next.prev === this && (this.insertAt(this.length(), this.next.value()), this.next.remove());\n }\n position(index, _inclusive = !1) {\n return [this.domNode, index];\n }\n split(index, force = !1) {\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n const after = this.scroll.create(this.domNode.splitText(index));\n return this.parent.insertBefore(after, this.next || void 0), this.text = this.statics.value(this.domNode), after;\n }\n update(mutations, _context) {\n mutations.some((mutation) => mutation.type === \"characterData\" && mutation.target === this.domNode) && (this.text = this.statics.value(this.domNode));\n }\n value() {\n return this.text;\n }\n};\n_TextBlot.blotName = \"text\", _TextBlot.scope = Scope.INLINE_BLOT;\nlet TextBlot = _TextBlot;\nconst TextBlot$1 = TextBlot;\nexport {\n Attributor,\n AttributorStore$1 as AttributorStore,\n BlockBlot$1 as BlockBlot,\n ClassAttributor$1 as ClassAttributor,\n ContainerBlot$1 as ContainerBlot,\n EmbedBlot$1 as EmbedBlot,\n InlineBlot$1 as InlineBlot,\n LeafBlot$1 as LeafBlot,\n ParentBlot$1 as ParentBlot,\n Registry,\n Scope,\n ScrollBlot$1 as ScrollBlot,\n StyleAttributor$1 as StyleAttributor,\n TextBlot$1 as TextBlot\n};\n//# sourceMappingURL=parchment.js.map\n","import { ComponentTypes } from 'mithril';\nimport { Scenario } from './data-model';\n\nexport type IconType = () => string | string;\n\nexport type IconResolver = () => string;\n\nexport interface IDashboard {\n id: Dashboards;\n default?: boolean;\n hasNavBar?: boolean;\n title: string | (() => string);\n icon: string | IconResolver;\n iconClass?: string;\n route: string;\n visible: boolean | ((scenario?: Scenario) => boolean);\n component: ComponentTypes<any, any>;\n}\n\nexport enum Dashboards {\n HOME = 'HOME',\n ABOUT = 'ABOUT',\n DEFINE_BOX = 'DEFINE_BOX',\n CREATE_SCENARIO = 'CREATE_SCENARIO',\n SHOW_SCENARIO = 'SHOW_SCENARIO',\n DECISION_SUPPORT = 'DECISION_SUPPORT',\n SETTINGS = 'SETTINGS',\n HELP = 'HELP',\n}\n","import e from\"mithril\";const t=()=>\"idxxxxxxxx\".replace(/[x]/g,()=>(16*Math.random()|0).toString(16)),a=()=>\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,e=>{const t=16*Math.random()|0;return(\"x\"===e?t:3&t|8).toString(16)}),i=(...e)=>t=>e.reduceRight((e,t)=>t(e),t),l=e=>t=>Array.prototype.map.call(t,e),o=e=>t=>Array.prototype.join.call(t,e),n=e=>e.replace(/([A-Z])/g,e=>\"-\"+e.toLowerCase()),s=e=>e?i(o(\"\"),l(t=>`[${n(t)}=\"${((e=\"\")=>e.toString().replace(/\"/g,\""\"))(e[t])}\"]`),Object.keys)(e):\"\",r=[\"min\",\"max\",\"minLength\",\"maxLength\",\"rows\",\"cols\",\"placeholder\",\"autocomplete\",\"pattern\",\"readOnly\",\"step\"],c=e=>r.indexOf(e)>=0,d=({disabled:e})=>e?\"[disabled]\":\"\",p=({required:e,isMandatory:t})=>e||t?\"[required][aria-required=true]\":\"\",m=e=>(e=>{const t=(a=e,e=>void 0!==a[e]);var a;return Object.keys(e).filter(c).filter(t).reduce((t,a)=>{const i=e[a];return t.push(`[${a.toLowerCase()}=${i}]`),t},[]).join(\"\")})(e)+(e=>e.maxLength?`[data-length=${e.maxLength}]`:\"\")(e)+d(e)+p(e)+(({autofocus:e})=>\"boolean\"==typeof e&&e||e&&e()?\"[autofocus]\":\"\")(e),u=e=>!isNaN(parseFloat(e))&&isFinite(e),h=(...e)=>t=>e.reduce((e,t)=>t(e),t),v=(e,t=2,a=\"0\")=>(e+=\"\").length>=t?e:new Array(t-e.length+1).join(a)+e,b=(e,t,a)=>{const i=e[t];e[t]=e[a],e[a]=i},g=(e,t,a)=>{const i=e[t];e.splice(t,1),e.splice(a,0,i)};function y(){return y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},y.apply(this,arguments)}function f(e,t){if(null==e)return{};var a,i,l={},o=Object.keys(e);for(i=0;i<o.length;i++)t.indexOf(a=o[i])>=0||(l[a]=e[a]);return l}const w=[\"label\",\"id\",\"isMandatory\",\"isActive\"],x={view:({attrs:t})=>e(\"span.mandatory\",t,\"*\")},k=()=>({view:t=>{let{attrs:{label:a,id:i,isMandatory:l,isActive:o}}=t,n=f(t.attrs,w);return a?e(`label${o?\".active\":\"\"}${i?`[for=${i}]`:\"\"}`,n,[e.trust(a),l?e(x):void 0]):void 0}}),N=()=>({view:({attrs:{helperText:t,dataError:a,dataSuccess:i,className:l}})=>t||a||i?e(\"span.helper-text\",{className:l,dataError:a,dataSuccess:i},t?e.trust(t):\"\"):void 0}),$=()=>{const a={id:t()};return{view:({attrs:t})=>{const i=t.id||a.id,l=m(t),{label:o,helperText:n,initialValue:s,onchange:r,newRow:c,className:d=\"col s12\",style:p,iconName:u,isMandatory:h}=t;return e(\".input-field\"+(c?\".clear\":\"\"),{className:c?d+\" clear\":d,style:p},[u?e(\"i.material-icons.prefix\",u):\"\",e(`input.autocomplete[type=text][tabindex=0]${l}`,{id:i,oncreate:({dom:e})=>{M.Autocomplete.init(e,t)},onchange:r?e=>{e.target&&e.target.value&&r(e.target.value)}:void 0,value:s}),e(k,{label:o,id:i,isMandatory:h,isActive:s}),e(N,{helperText:n})])}}},C=[\"iconName\"],I=()=>({view:t=>{let{attrs:{iconName:a}}=t,i=f(t.attrs,C);return e(\"i.material-icons\",i,a)}}),T=[\"modalId\",\"tooltip\",\"tooltipPostion\",\"iconName\",\"iconClass\",\"label\",\"attr\"],A=(t,a=\"\")=>()=>{const i=`${t}${a}`;return{view:({attrs:t})=>{const{modalId:a,tooltip:l,tooltipPostion:o,iconName:n,iconClass:r,label:c,attr:d}=t,p=f(t,T);return e(`${i}${a?`.modal-trigger[href=#${a}]`:\"\"}${l?`.tooltipped[data-position=${o||\"top\"}][data-tooltip=${l}]`:\"\"}${s(d)}`,p,n?e(I,{iconName:n,className:r||\"left\"}):void 0,c||void 0)}}},O=A(\"a.waves-effect.waves-light.btn\",\"[type=button]\"),V=A(\"a.waves-effect.waves-light.btn-large\",\"[type=button]\"),S=A(\"a.waves-effect.waves-light.btn-small\",\"[type=button]\"),R=A(\"a.waves-effect.waves-teal.btn-flat\",\"[type=button]\"),L=A(\"button.btn-floating.btn-large.waves-effect.waves-light\",\"[type=button]\"),j=A(\"button.btn.waves-effect.waves-light\",\"[type=submit]\"),E=()=>({view:({attrs:{href:t,src:a}})=>e(\"a.carousel-item\",{href:t},e(`img[src=${a}]`))}),F=()=>({view:({attrs:t})=>{const{items:a}=t;return a&&a.length>0?e(\".carousel\",{oncreate:({dom:e})=>{M.Carousel.init(e,t)}},a.map(t=>e(E,t))):void 0}}),D=()=>({oncreate:({attrs:e,dom:t})=>{const{onchange:a,onChipAdd:i,onChipDelete:l}=e,o=M.Chips.getInstance(t.children[0]),n=i?i.bind(o):void 0;e.onChipAdd=function(e,t){a&&a(this.chipsData),n&&n(e,t)};const s=l?l.bind(o):void 0;e.onChipDelete=function(e,t){a&&a(this.chipsData),s&&s(e,t)},M.Chips.init(t.children[0],e)},onupdate:({dom:e,attrs:{data:t}})=>{if(!t||0===t.length)return;const a=M.Chips.getInstance(e.children[0]);t.forEach(e=>a.addChip(e))},view:({attrs:{placeholder:t,required:a,isMandatory:i=a,data:l,className:o=\"col s12\",label:n,helperText:s}})=>e(\".input-field\",{className:o},[e(`.chips.chips-autocomplete${t?\".chips-placeholder\":\"\"}${l?\".chips-initial\":\"\"}`),n?e(k,{label:n,isMandatory:i,className:\"active\"}):void 0,s?e(N,{helperText:s}):void 0])}),K=()=>({view:({attrs:t})=>{const{newRow:a,code:i,language:l}=t,o=l||\"lang-TypeScript\",n=o.replace(\"lang-\",\"\"),s=i instanceof Array?i.join(\"\\n\"):i;return e(\"pre.codeblock\"+(a?\".clear\":\"\"),t,[e(\"div\",e(\"label\",n)),e(`code.${o}`,s)])}}),B=()=>({view:({attrs:{header:t,body:a,active:i,iconName:l}})=>e(i?\"li.active\":\"li\",[t||l?e(\".collapsible-header\",[l?e(\"i.material-icons\",l):void 0,t?\"string\"==typeof t?e(\"span\",t):t:void 0]):void 0,a?e(\".collapsible-body\",a):void 0])}),_=()=>({oncreate:({dom:e,attrs:t})=>{M.Collapsible.init(e,t)},view:({attrs:t})=>{const{items:a,class:i,className:l,style:o,id:n}=t;return a&&a.length>0?e(\"ul.collapsible\",{class:i||l,style:o,id:n},a.map(t=>e(B,t))):void 0}}),H=[\"header\",\"items\",\"mode\"],z=[\"title\",\"active\",\"href\"],P=[\"items\",\"header\"],q=[\"items\",\"header\",\"mode\"];var U;!function(e){e[e.BASIC=0]=\"BASIC\",e[e.LINKS=1]=\"LINKS\",e[e.AVATAR=2]=\"AVATAR\"}(U||(U={}));const W=e=>e&&/https?:\\/\\//.test(e),Y=()=>({view:({attrs:t})=>{const{href:a,iconName:i=\"send\",onclick:l,style:o={cursor:\"pointer\"}}=t,n={href:a,style:o,className:\"secondary-content\",onclick:l?()=>l(t):void 0};return W(a)||!a?e(\"a[target=_]\",n,e(I,{iconName:i})):e(e.route.Link,n,e(I,{iconName:i}))}}),Z=(e=\"\")=>/\\./.test(e),G=()=>({view:({attrs:{item:t,mode:a}})=>{const{title:i,content:l=\"\",active:o,iconName:n,avatar:s,className:r,onclick:c}=t;return a===U.AVATAR?e(\"li.collection-item.avatar\"+(o?\".active\":\"\"),{onclick:c?()=>c(t):void 0},[Z(s)?e(\"img.circle\",{src:s}):e(\"i.material-icons.circle\",{className:r},s),e(\"span.title\",i),e(\"p\",e.trust(l)),e(Y,t)]):e(\"li.collection-item\"+(o?\".active\":\"\"),n?e(\"div\",[i,e(Y,t)]):i)}}),J=()=>({view:t=>{let{attrs:{header:a,items:i,mode:l=U.BASIC}}=t,o=f(t.attrs,H);const n=i.map(t=>e(G,{key:t.id,item:t,mode:l}));return a?e(\"ul.collection.with-header\",o,[e(\"li.collection-header\",e(\"h4\",a)),n]):e(\"ul.collection\",o,n)}}),Q=()=>({view:({attrs:{item:t}})=>{const{title:a,active:i,href:l}=t,o=y({},f(t,z),{className:\"collection-item \"+(i?\"active\":\"\"),href:l});return W(l)||!l?e(\"a[target=_]\",o,a):e(e.route.Link,o,a)}}),X=()=>({view:t=>{let{attrs:{items:a,header:i}}=t,l=f(t.attrs,P);return i?e(\".collection.with-header\",l,[e(\".collection-header\",e(\"h4\",i)),a.map(t=>e(Q,{key:t.id,item:t}))]):e(\".collection\",l,a.map(t=>e(Q,{key:t.id,item:t})))}}),ee=()=>({view:t=>{let{attrs:{items:a,header:i,mode:l=U.BASIC}}=t,o=f(t.attrs,q);return i||a&&a.length>0?l===U.LINKS?e(X,y({header:i,items:a},o)):e(J,y({header:i,items:a,mode:l},o)):void 0}}),te=[\"key\",\"label\",\"onchange\",\"disabled\",\"items\",\"iconName\",\"helperText\",\"style\",\"className\"],ae=()=>{const a={};return{oninit:({attrs:{id:e=t(),initialValue:i,checkedId:l}})=>{a.id=e,a.initialValue=i||l},view:t=>{let{attrs:{key:i,label:l,onchange:o,disabled:n=!1,items:s,iconName:r,helperText:c,style:d,className:p=\"col s12\"}}=t,m=f(t.attrs,te);const{id:u,initialValue:h}=a,v=h?s.filter(e=>e.id?e.id===h:e.label===h).shift():void 0,b=v?v.label:l||\"Select\";return e(\".input-field\",{className:p,key:i,style:d},[r?e(\"i.material-icons.prefix\",r):void 0,e(N,{helperText:c}),e(`a.dropdown-trigger.btn.truncate[href=#][data-target=${u}]${n?\"[disabled]\":\"\"}`,{className:\"col s12\",style:d||(r?\"margin: 0.2em 0 0 3em;\":void 0),oncreate:({dom:e})=>{M.Dropdown.init(e,m)}},b),e(`ul.dropdown-content[id=${u}]`,s.map(t=>e(\"li\"+(t.divider?\".divider[tabindex=-1]\":\"\"),t.divider?void 0:e(\"a\",{onclick:o?()=>{a.initialValue=t.id||t.label,o(a.initialValue)}:void 0},[t.iconName?e(\"i.material-icons\",t.iconName):void 0,t.label]))))])}}},ie=[\"className\",\"iconName\",\"iconClass\",\"position\",\"style\",\"buttons\"],le=()=>({view:t=>{let{attrs:{className:a,iconName:i,iconClass:l=\"large\",position:o,style:n=(\"left\"===o||\"inline-left\"===o?\"position: absolute; display: inline-block; left: 24px;\":\"right\"===o||\"inline-right\"===o?\"position: absolute; display: inline-block; right: 24px;\":void 0),buttons:s}}=t,r=f(t.attrs,ie);const c=e(\".fixed-action-btn\",{style:n,oncreate:({dom:e})=>M.FloatingActionButton.init(e,r)},[e(\"a.btn-floating.btn-large\",{className:a},e(\"i.material-icons\",{classNames:l},i)),s?e(\"ul\",s.map(t=>e(\"li\",e(\"a.btn-floating\",{className:t.className,onclick:e=>t.onClick&&t.onClick(e)},e(\"i.material-icons\",{className:t.iconClass},t.iconName))))):void 0]);return\"inline-right\"===o||\"inline-left\"===o?e(\"div\",{style:\"position: relative; height: 70px;\"},c):c}}),oe=[\"className\",\"helperText\",\"iconName\",\"id\",\"initialValue\",\"isMandatory\",\"label\",\"onchange\",\"onkeydown\",\"onkeypress\",\"onkeyup\",\"onblur\",\"style\"],ne=[\"className\",\"dataError\",\"dataSuccess\",\"helperText\",\"iconName\",\"id\",\"initialValue\",\"isMandatory\",\"label\",\"maxLength\",\"newRow\",\"onchange\",\"onkeydown\",\"onkeypress\",\"onkeyup\",\"onblur\",\"style\",\"validate\"],se=()=>{const a={id:t()};return{view:({attrs:t})=>{const{className:i=\"col s12\",helperText:l,iconName:o,id:n=a.id,initialValue:s,isMandatory:r,label:c,onchange:d,onkeydown:p,onkeypress:u,onkeyup:h,onblur:v,style:b}=t,g=f(t,oe),y=m(g);return e(\".input-field\",{className:i,style:b},[o?e(\"i.material-icons.prefix\",o):\"\",e(`textarea.materialize-textarea[tabindex=0][id=${n}]${y}`,{oncreate:({dom:e})=>{M.textareaAutoResize(e),t.maxLength&&M.CharacterCounter.init(e)},onchange:d?e=>{const t=e.target;d(t&&\"string\"==typeof t.value?t.value:\"\")}:void 0,value:s,onkeyup:h?e=>{h(e,e.target.value)}:void 0,onkeydown:p?e=>{p(e,e.target.value)}:void 0,onkeypress:u?e=>{u(e,e.target.value)}:void 0,onblur:v}),e(k,{label:c,id:n,isMandatory:r,isActive:s||t.placeholder}),e(N,{helperText:l})])}}},re=(a,i=\"\")=>()=>{const l={id:t()},o=e=>{const t=e.value;return!t||\"number\"!==a&&\"range\"!==a?t:+t},n=(e,t)=>{e.setCustomValidity(\"boolean\"==typeof t?t?\"\":\"Custom validation failed\":t)};return{view:({attrs:t})=>{const{className:s=\"col s12\",dataError:r,dataSuccess:c,helperText:d,iconName:p,id:u=l.id,initialValue:h,isMandatory:v,label:b,maxLength:g,newRow:y,onchange:w,onkeydown:x,onkeypress:$,onkeyup:C,onblur:I,style:T,validate:A}=t,O=f(t,ne),V=m(O);return e(`.input-field${y?\".clear\":\"\"}${i}`,{className:s,style:T},[p?e(\"i.material-icons.prefix\",p):void 0,e(`input.validate[type=${a}][tabindex=0][id=${u}]${V}`,{oncreate:({dom:e})=>{(({autofocus:e})=>!!e&&(\"boolean\"==typeof e?e:e()))(t)&&e.focus(),g&&M.CharacterCounter.init(e),\"range\"===a&&M.Range.init(e)},onkeyup:C?e=>{C(e,o(e.target))}:void 0,onkeydown:x?e=>{x(e,o(e.target))}:void 0,onkeypress:$?e=>{$(e,o(e.target))}:void 0,onblur:I,onupdate:A?({dom:e})=>{const t=e;n(t,A(o(t),t))}:void 0,onchange:e=>{const t=e.target;if(t){const e=o(t);w&&w(e),A&&n(t,A(e,t))}},value:h}),e(k,{label:b,id:u,isMandatory:v,isActive:!(void 0===h&&!t.placeholder&&\"number\"!==a&&\"color\"!==a&&\"range\"!==a)}),e(N,{helperText:d,dataError:r,dataSuccess:c})])}}},ce=re(\"text\"),de=re(\"password\"),pe=re(\"number\"),me=re(\"url\"),ue=re(\"color\"),he=re(\"range\",\".range-field\"),ve=re(\"email\"),be=()=>{let t,a=!1;return{view:({attrs:i})=>{const{multiple:l,disabled:o,initialValue:n,placeholder:s,onchange:r,className:c=\"col s12\",accept:d,label:p=\"File\"}=i,m=d?d instanceof Array?d.join(\", \"):d:void 0,u=m?`[accept=${m}]`:\"\",h=l?\"[multiple]\":\"\",v=o?\"[disabled]\":\"\",b=s?`[placeholder=${s}]`:\"\";return e(\".file-field.input-field\",{className:i.class||c},[e(\".btn\",[e(\"span\",p),e(`input[type=file]${h}${v}${u}`,{onchange:r?e=>{const t=e.target;t&&t.files&&r&&(a=!0,r(t.files))}:void 0})]),e(\".file-path-wrapper\",e(`input.file-path.validate${b}[type=text]`,{oncreate:({dom:e})=>{t=e,n&&(t.value=n)}})),(a||n)&&e(\"a.waves-effect.waves-teal.btn-flat\",{style:\"float: right;position: relative;top: -3rem; padding: 0\",onclick:()=>{a=!1,t.value=\"\",r&&r({})}},e(\"i.material-icons\",\"clear\"))])}}},ge=()=>({view:({attrs:{className:t=\"col s12\",onchange:a,label:i,checked:l,disabled:o,description:n,style:s}})=>e(\"div\",{className:t,style:s},e(\"label\",[e(\"input[type=checkbox][tabindex=0]\",{checked:l,disabled:o,onclick:a?e=>{e.target&&void 0!==e.target.checked&&a(e.target.checked)}:void 0}),i?\"string\"==typeof i?e(\"span\",i):i:void 0]),n&&e(N,{className:\"input-checkbox-desc\",helperText:n}))}),ye=()=>{const t={},a=e=>t.checkedIds.indexOf(e)>=0;return{oninit:({attrs:{initialValue:e,checkedId:a}})=>{const i=a||e;t.checkedId=a,t.checkedIds=i?i instanceof Array?[...i]:[i]:[]},view:({attrs:{label:i,id:l,options:o,checkedId:n,description:s,className:r=\"col s12\",style:c,disabled:d,checkboxClass:p,newRow:m,isMandatory:u,onchange:h}})=>{n&&t.checkedId!==n&&(t.checkedId=n,t.checkedIds=n instanceof Array?n:[n]);const v=h?(e,a)=>{const i=t.checkedIds.filter(t=>t!==e);a&&i.push(e),t.checkedIds=i,h(i)}:void 0;return e(\"div\"+(m?\".clear\":\"\"),{className:r,style:c},[e(\"div\",{className:\"input-field options\"},e(k,{id:l,label:i,isMandatory:u})),e(N,{helperText:s}),...o.map(t=>e(ge,{disabled:d||t.disabled,label:t.label,onchange:v?e=>v(t.id,e):void 0,className:t.className||p,checked:a(t.id),description:t.description}))])}}},fe=()=>{const a=e=>i.curKey=i.id=e,i={elementId:t(),id:\"\",curKey:\"\",kvc:(t,a,i)=>{const{keyClass:l=\".col.s4\",valueClass:o=\".col.s8\"}=i,n=a instanceof Array?a.join(\", \"):\"boolean\"==typeof a?e(ge,{label:\" \",checked:a,disabled:!0,className:\"checkbox-in-collection\"}):a.toString();return{title:e(\".row\",{style:\"margin-bottom: 0\"},[e(l,e(\"b\",t)),e(o,n)])}}},l=()=>{i.id=\"\",i.curKey=\"\"};return{oninit:({attrs:{keyValueConverter:e,id:t}})=>{e&&(i.kvc=e),t&&(i.elementId=t)},view:({attrs:{className:t=\"col s12\",disabled:o,disallowArrays:n,header:s,iconName:r,iconNameKey:c=(r?\"label\":void 0),isMandatory:d,label:p,labelKey:m=\"Key\",labelValue:u=\"Value\",properties:h,keyClass:v,valueClass:b,onchange:g,falsy:y=[\"false\"],truthy:f=[\"true\"]}})=>{const w=()=>g?g(h):void 0,x=((e,t)=>Object.keys(e).map(t=>({key:t,value:e[t]})).map(e=>((e,t)=>{const l=t.onclick;return t.id=t.id||e,t.active=e===i.curKey,t.onclick=l?()=>a(e)&&l(t):()=>a(e),t})(e.key,i.kvc(e.key,e.value,{keyClass:t.keyClass,valueClass:t.valueClass}))))(h,{keyClass:v,valueClass:b}),N=i.curKey,$=h[N],C=\"boolean\"==typeof $||\"number\"==typeof $?$:$?$ instanceof Array?`[${$.join(\", \")}]`:$:\"\",M=i.elementId;return[e(\".map-editor\",e(\".input-field\",{className:t,style:\"min-height: 1.5em;\"},[r?e(\"i.material-icons.prefix\",r):\"\",e(k,{label:p,isMandatory:d,isActive:x.length>0}),e(ee,{id:M,items:x,mode:U.LINKS,header:s})])),o?void 0:[e(ce,{label:m,iconName:c,className:\"col s5\",initialValue:N,onchange:e=>{i.curKey=e,i.id&&(delete h[i.id],h[e]=$,i.id=e),w()}}),\"string\"==typeof C?e(se,{label:u,initialValue:C,className:\"col s7\",onchange:e=>{const t=(i=y,f.indexOf(a=e)>=0||!(i.indexOf(a)>=0)&&void 0);var a,i;const l=void 0===t&&/^\\s*\\d+\\s*$/i.test(e)?+e:void 0;h[N]=\"boolean\"==typeof t?t:\"number\"==typeof l?l:((e,t=!1)=>{if(t)return e;if(!e)return;const a=/\\s*\\[(.*)\\]\\s*/gi.exec(e);return a&&2===a.length?a[1].split(\",\").map(e=>e.trim()).map(e=>/^\\d+$/g.test(e)?+e:e):void 0})(e,n)||e,w()}}):\"number\"==typeof C?e(pe,{label:u,initialValue:C,className:\"col s7\",onchange:e=>{h[N]=e,w()}}):e(ge,{label:u,checked:C,className:\"input-field col s7\",onchange:e=>{h[N]=e,w()}}),e(\".col.s12.right-align\",[e(R,{iconName:\"add\",onclick:l}),e(R,{iconName:\"delete\",disabled:!N,onclick:()=>{delete h[N],l(),w()}})])]]}}},we=()=>({oncreate:({dom:e,attrs:t})=>{M.Materialbox.init(e,t)},view:({attrs:t})=>{const{src:a,width:i,height:l}=t;return e(`img.materialboxed[src=${a}]${i?`[width=${i}]`:\"\"}${l?`[height=${l}]`:\"\"}`,t)}}),xe=()=>({oncreate:({dom:e,attrs:{options:t,onCreate:a}})=>{const i=M.Modal.init(e,t);a&&a(i)},view:({attrs:{id:t,title:a,description:i,fixedFooter:l,bottomSheet:o,buttons:n,richContent:s}})=>e(`.modal${l?\".modal-fixed-footer\":\"\"}${o?\".bottom-sheet\":\"\"}[id=${t}]`,[e(\".modal-content\",[e(\"h4\",a),s&&\"string\"==typeof i?e.trust(i||\"\"):\"string\"==typeof i?e(\"p\",i):i]),n?e(\".modal-footer\",n.map(t=>e(R,y({},t,{className:\"modal-close\"})))):void 0])}),ke=()=>({view:({attrs:{title:t,href:a,active:i,disabled:l}})=>e(\"li\",{className:i?\"active\":l?\"disabled\":\"waves-effect\"},\"number\"==typeof t?e(e.route.Link,{href:a},t):t)}),Ne=()=>{const t={pagIndex:0};return{view:({attrs:{items:a,curPage:i=1,size:l=Math.min(9,a.length)}})=>{const{pagIndex:o}=t,n=o*l,s=n+l,r=o>0,c=s<a.length,d=[{title:e(\"a\",{onclick:()=>r&&t.pagIndex--},e(\"i.material-icons\",\"chevron_left\")),disabled:!r},...a.filter((e,t)=>n<=t&&t<s),{title:e(\"a\",{onclick:()=>c&&t.pagIndex++},e(\"i.material-icons\",\"chevron_right\")),disabled:!c}];return e(\"ul.pagination\",d.map((t,a)=>e(ke,y({title:n+a},t,{active:n+a===i}))))}}},$e=()=>({oncreate:({dom:e,attrs:t})=>{M.Parallax.init(e,t)},view:({attrs:{src:t}})=>t?e(\".parallax-container\",e(\".parallax\",e(`img[src=${t}]`))):void 0}),Ce=[\"label\",\"helperText\",\"initialValue\",\"newRow\",\"className\",\"iconName\",\"isMandatory\",\"onchange\",\"disabled\"],Me=[\"label\",\"helperText\",\"initialValue\",\"newRow\",\"className\",\"iconName\",\"isMandatory\",\"onchange\",\"disabled\"],Ie=()=>{const a={id:t()};return{view:t=>{let{attrs:{label:i,helperText:l,initialValue:o,newRow:n,className:s=\"col s12\",iconName:r,isMandatory:c,onchange:d,disabled:p}}=t,u=f(t.attrs,Ce);const h=a.id,v=m(u),b=d?()=>a.dp&&d(a.dp.date):void 0;return e(\".input-field\"+(n?\".clear\":\"\"),{className:s,onremove:()=>a.dp&&a.dp.destroy()},[r?e(\"i.material-icons.prefix\",r):\"\",e(`input.datepicker[type=text][tabindex=0][id=${h}]${v}${p?\"[disabled]\":\"\"}`,{oncreate:({dom:e})=>{a.dp=M.Datepicker.init(e,y({format:\"yyyy/mm/dd\",showClearBtn:!0,setDefaultDate:!0,defaultDate:o?new Date(o):new Date},u,{onClose:b}))}}),e(k,{label:i,id:h,isMandatory:c,isActive:!!o}),e(N,{helperText:l})])}}},Te=()=>{const a={id:t()};return{view:t=>{let{attrs:{label:i,helperText:l,initialValue:o,newRow:n,className:s=\"col s12\",iconName:r,isMandatory:c,onchange:d,disabled:p}}=t,u=f(t.attrs,Me);const h=a.id,v=m(u),b=n?\".clear\":\"\",g=new Date,w=d?()=>a.tp&&d(a.tp.time||o||`${g.getHours()}:${g.getMinutes()}`):void 0;return e(`.input-field.timepicker${b}`,{className:s,onremove:()=>a.tp&&a.tp.destroy()},[r?e(\"i.material-icons.prefix\",r):\"\",e(`input[type=text][tabindex=0][id=${h}]${v}${p?\"[disabled]\":\"\"}`,{value:o,oncreate:({dom:e})=>{a.tp=M.Timepicker.init(e,y({twelveHour:!1,showClearBtn:!0,defaultTime:o},u,{onCloseEnd:w}))}}),e(k,{label:i,id:h,isMandatory:c,isActive:o}),e(N,{helperText:l})])}}},Ae=()=>({view:({attrs:{id:t,groupId:a,label:i,onchange:l,className:o=\"col s12\",checked:n,disabled:s}})=>e(\"div\",{className:o},e(\"label\",[e(`input[type=radio][tabindex=0][name=${a}]${n?\"[checked=checked]\":\"\"}${s?\"[disabled]\":\"\"}`,{onclick:l?()=>l(t):void 0}),e(\"span\",e.trust(i))]))}),Oe=()=>{const a={groupId:t()};return{oninit:({attrs:{checkedId:e,initialValue:t}})=>{a.oldCheckedId=e,a.checkedId=e||t},view:({attrs:{id:t,checkedId:i,newRow:l,className:o=\"col s12\",label:n=\"\",disabled:s,description:r,options:c,isMandatory:d,checkboxClass:p,onchange:m}})=>{a.oldCheckedId!==i&&(a.oldCheckedId=a.checkedId=i);const{groupId:u,checkedId:h}=a,v=e=>{a.checkedId=e,m&&m(e)};return l&&(o+=\" clear\"),e(\"div\",{id:t,className:o},[e(\"div\",{className:\"input-field options\"},e(k,{id:t,label:n,isMandatory:d})),r?e(\"p.helper-text\",e.trust(r)):\"\",...c.map(t=>e(Ae,y({},t,{onchange:v,groupId:u,disabled:s,className:p,checked:t.id===h})))])}}},Ve=()=>{const t={},a=e=>e.map(e=>e.id).join(\"\"),i=(e,t,a=!1)=>a||(t instanceof Array&&(e||\"number\"==typeof e)?t.indexOf(e)>=0:t===e);return{oninit:({attrs:{checkedId:e,initialValue:i,options:l}})=>{t.ids=a(l);const o=e||i;t.checkedId=e instanceof Array?[...e]:e,t.initialValue=null!=o?o instanceof Array?o.filter(e=>null!=e):[o]:[]},view:({attrs:{id:l,newRow:o,className:n=\"col s12\",checkedId:s,key:r,options:c,multiple:d,label:p,helperText:m,placeholder:h=\"\",isMandatory:v,iconName:b,disabled:g,classes:y=\"\",dropdownOptions:f,onchange:w}})=>{t.checkedId!==s&&(t.initialValue=s?s instanceof Array?s:[s]:void 0);const{initialValue:x}=t,$=w?d?()=>{const e=t.instance&&t.instance.getSelectedValues(),a=e?e.length>0&&u(e[0])?e.map(e=>+e):e.filter(e=>null!==e||void 0!==e):void 0;t.initialValue=a||[],w(t.initialValue)}:e=>{if(e&&e.currentTarget){const a=e.currentTarget,i=u(a.value)?+a.value:a.value;t.initialValue=void 0!==typeof i?[i]:[]}t.initialValue&&w(t.initialValue)}:void 0;o&&(n+=\" clear\");const C=!c.some(e=>i(e.id,x)),I=c.reduce((e,t)=>(t.group&&e.indexOf(t.group)<0&&e.push(t.group),e),[]);return e(\".input-field.select-space\",{className:n,key:r,oncreate:d?({dom:e})=>t.wrapper=e:void 0},[b&&e(\"i.material-icons.prefix\",b),e(\"select\",{id:l,title:p,disabled:g,multiple:d,oncreate:({dom:e})=>{t.instance=M.FormSelect.init(e,{classes:y,dropdownOptions:f})},onupdate:({dom:e})=>{if(d){const e=b?1:0;!t.inputEl&&t.wrapper&&t.wrapper.childNodes&&t.wrapper.childNodes.length>0&&t.wrapper.childNodes[e].childNodes&&t.wrapper.childNodes[e].childNodes[0]&&(t.inputEl=t.wrapper.childNodes[e].childNodes[0]),t.inputEl&&t.inputEl.value&&t.inputEl.value.startsWith(`${h}, `)&&(t.inputEl.value=t.inputEl.value.replace(`${h}, `,\"\"))}const i=a(c);let l=s&&t.checkedId!==s.toString();t.ids!==i&&(t.ids=i,l=!0),(t.checkedId instanceof Array&&s instanceof Array?t.checkedId.join()!==s.join():t.checkedId!==s)&&(t.checkedId=s,l=!0),l&&(t.instance=M.FormSelect.init(e,{classes:y,dropdownOptions:f}))},onchange:$},e(\"option\",{value:\"\",disabled:!0,selected:!!C||void 0},h),0===I.length?c.map((t,a)=>{var l;return e(\"option\",{value:t.id,title:t.title||void 0,disabled:t.disabled?\"true\":void 0,\"data-icon\":t.img||void 0,selected:i(t.id,x,0===a&&C&&!h)},null==(l=t.label)?void 0:l.replace(\"&\",\"&\"))}):I.map(t=>e(\"optgroup\",{label:t},c.filter(e=>e.group===t).map((t,a)=>{var l;return e(\"option\",{value:t.id,title:t.title||void 0,disabled:t.disabled?\"true\":void 0,\"data-icon\":t.img||void 0,selected:i(t.id,x,0===a&&C&&!h)},null==(l=t.label)?void 0:l.replace(\"&\",\"&\"))})))),e(k,{label:p,isMandatory:v}),m&&e(N,{helperText:m})])}}},Se=[\"label\",\"left\",\"right\",\"disabled\",\"newRow\",\"onchange\",\"checked\",\"isMandatory\",\"className\"],Re=()=>{const a={id:t()};return{view:({attrs:t})=>{const i=t.id||a.id,{label:l,left:o,right:n,disabled:s,newRow:r,onchange:c,checked:p,isMandatory:m,className:u=\"col s12\"}=t,h=f(t,Se);return e(\"div\"+(r?\".clear\":\"\"),{className:u},[l?e(k,{label:l||\"\",id:i,isMandatory:m}):void 0,e(\".switch\",h,e(\"label\",[o||\"Off\",e(`input[id=${i}][type=checkbox]${d({disabled:s})}${p?\"[checked]\":\"\"}`,{onclick:c?e=>{e.target&&void 0!==e.target.checked&&c(e.target.checked)}:void 0}),e(\"span.lever\"),n||\"On\"]))])}}},Le=()=>{const t={},a=(e,t)=>t||e.replace(/ /g,\"\").toLowerCase();return{view:({attrs:{tabWidth:i,selectedTabId:l,tabs:o,className:n,style:s,duration:r,onShow:c,swipeable:d,responsiveThreshold:p}})=>{const m=o.filter(e=>e.active).shift(),u=l||(m?a(m.title,m.id):\"\");return e(\".row\",[e(\".col.s12\",e(\"ul.tabs\"+(\"fill\"===i?\".tabs-fixed-width\":\"\"),{className:n,style:s,oncreate:({dom:e})=>{t.instance=M.Tabs.init(e,{duration:r,onShow:c,responsiveThreshold:p,swipeable:d})},onupdate:()=>{if(u){const e=document.getElementById(`tab_${u}`);e&&e.click()}},onremove:()=>t.instance.destroy()},o.map(({className:t,title:l,id:n,active:s,disabled:r,target:c,href:d})=>e(`li.tab${r?\".disabled\":\"\"}${\"fixed\"===i?`.col.s${Math.floor(12/o.length)}`:\"\"}`,{className:t},e(`a[id=tab_${a(l,n)}]${s?\".active\":\"\"}`,{target:c,href:d||`#${a(l,n)}`},l))))),o.filter(({href:e})=>void 0===e).map(({id:t,title:i,vnode:l,contentClass:o})=>e(`.col.s12[id=${a(i,t)}]`,{className:o},l))])}}},je=()=>({view:({attrs:{id:t,title:a,datetime:i,active:l,content:o,iconName:n,dateFormatter:s,timeFormatter:r,onSelect:c}})=>e(`li${l?\".active\":\"\"}${t?`[id=${t}]`:\"\"}`,{onclick:c?()=>c({id:t,title:a,datetime:i,active:l,content:o}):void 0,style:c?\"cursor: pointer;\":void 0},[e(\".mm_time\",{datetime:i},[e(\"span\",s(i)),e(\"span\",r(i))]),n?e(\".mm_icon\",e(\"i.material-icons\",n)):void 0,e(\".mm_label\",[a?\"string\"==typeof a?e(\"h5\",a):a:void 0,o?\"string\"==typeof o?e(\"p\",o):o:void 0])])}),Ee=()=>{const t=e=>`${e.getUTCDate()}/${e.getUTCMonth()+1}/${e.getUTCFullYear()}`,a=e=>`${v(e.getUTCHours())}:${v(e.getUTCMinutes())}`;return{view:({attrs:{items:i,onSelect:l,timeFormatter:o=a,dateFormatter:n=t}})=>e(\"ul.mm_timeline\",i.map(t=>e(je,y({onSelect:l,dateFormatter:n,timeFormatter:o},t))))}},Fe=()=>{const t={isOpen:!1,selectedOptions:[],searchTerm:\"\",options:[],inputRef:null,dropdownRef:null},a=a=>{const i=a.target;t.inputRef&&t.inputRef.contains(i)?(t.isOpen=!t.isOpen,e.redraw()):t.dropdownRef&&!t.dropdownRef.contains(i)&&(t.isOpen=!1,e.redraw())};return{oninit:({attrs:{options:e=[],initialValue:a=[]}})=>{t.options=e,t.selectedOptions=e.filter(e=>a.includes(e.id))},oncreate(){document.addEventListener(\"click\",a)},onremove(){document.removeEventListener(\"click\",a)},view({attrs:{onchange:a,className:i,placeholder:l,label:o,maxHeight:n=\"25rem\"}}){const s=t.options.filter(e=>(e.label||e.id.toString()).toLowerCase().includes((t.searchTerm||\"\").toLowerCase())&&!t.selectedOptions.some(t=>t.id===e.id));return e(\".multi-select-dropdown.input-field\",{className:i},[e(\"label\",{class:l||t.selectedOptions.length>0?\"active\":\"\"},o),e(\".dropdown-trigger\",{oncreate:({dom:e})=>{t.inputRef=e},style:{borderBottom:\"2px solid #d1d5db\",display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",cursor:\"pointer\"}},[e(\".selected-options\",{style:{display:\"flex\",flexWrap:\"wrap\",minHeight:\"50px\",paddingTop:\"12px\"}},0===t.selectedOptions.length?[e(\"span\",l)]:t.selectedOptions.map(i=>e(\".chip\",[i.label,e(\"button\",{onclick:l=>{l.stopPropagation(),(i=>{t.selectedOptions=t.selectedOptions.filter(e=>e.id!==i.id),a&&a(t.selectedOptions.map(e=>e.id)),e.redraw()})(i)},style:{marginLeft:\"0.25rem\",background:\"none\",border:\"none\",cursor:\"pointer\"}},\"×\")]))),e(\"svg.caret\",{class:\"caret\",height:\"24\",viewBox:\"0 0 24 24\",width:\"24\",xmlns:\"http://www.w3.org/2000/svg\"},[e(\"path\",{d:\"M7 10l5 5 5-5z\"}),e(\"path\",{d:\"M0 0h24v24H0z\",fill:\"none\"})])]),t.isOpen&&e(\".dropdown-menu\",{oncreate:({dom:e})=>{t.dropdownRef=e},onremove:()=>{t.dropdownRef=null},style:{position:\"absolute\",width:\"98%\",marginTop:\"0.4rem\"}},[e(\"ul.dropdown-content.select-dropdown\",{style:{maxHeight:n,opacity:1,display:\"block\",width:\"100%\"}},e(\"li\",e(\".search-input\",{style:{padding:\"0 16px\"}},[e(\"input\",{type:\"text\",placeholder:\"Search options...\",value:t.searchTerm||\"\",oninput:a=>{t.searchTerm=a.target.value,e.redraw()},style:{width:\"100%\",outline:\"none\",fontSize:\"0.875rem\"}})])),0===s.length?[e(\"li\",{style:{padding:\"0.5rem\",textAlign:\"center\",color:\"#9ca3af\"}},\"No options found\")]:s.map(i=>e(\"li\",{onclick:()=>i.disabled?void 0:(i=>{t.selectedOptions=t.selectedOptions.some(e=>e.id===i.id)?t.selectedOptions.filter(e=>e.id!==i.id):[...t.selectedOptions,i],t.searchTerm=\"\",a&&a(t.selectedOptions.map(e=>e.id)),e.redraw()})(i),class:i.disabled?\"disabled\":void 0,style:{display:\"flex\",alignItems:\"center\",cursor:\"pointer\",lineHeight:\"22px\",padding:\"14px 16px\"}},[e(\"input\",{type:\"checkbox\",checked:t.selectedOptions.some(e=>e.id===i.id),style:{marginRight:\"0.5rem\"}}),i.label])))])])}}};export{Q as AnchorItem,$ as Autocomplete,O as Button,A as ButtonFactory,F as Carousel,E as CarouselItem,D as Chips,K as CodeBlock,_ as Collapsible,B as CollapsibleItem,ee as Collection,U as CollectionMode,ue as ColorInput,Ie as DatePicker,ae as Dropdown,ve as EmailInput,be as FileInput,R as FlatButton,le as FloatingActionButton,N as HelperText,I as Icon,ge as InputCheckbox,k as Label,V as LargeButton,G as ListItem,x as Mandatory,fe as MapEditor,we as MaterialBox,xe as ModalPanel,pe as NumberInput,ye as Options,Ne as Pagination,$e as Parallax,de as PasswordInput,Ae as RadioButton,Oe as RadioButtons,he as RangeInput,L as RoundIconButton,Fe as SearchSelect,Y as SecondaryContent,Ve as Select,S as SmallButton,j as SubmitButton,Re as Switch,Le as Tabs,se as TextArea,ce as TextInput,Te as TimePicker,Ee as Timeline,me as UrlInput,n as camelToSnake,i as compose,d as disable,u as isNumeric,o as join,l as map,g as move,v as padLeft,h as pipe,p as req,b as swap,s as toAttributeString,m as toAttrs,t as uniqueId,a as uuid4};\n//# sourceMappingURL=index.modern.js.map\n","import e from\"mithril\";import{render as t}from\"slimdown-js\";export{addRule,render}from\"slimdown-js\";const a=()=>\"idxxxxxxxx\".replace(/[x]/g,()=>(16*Math.random()|0).toString(16)),i=[\"min\",\"max\",\"minLength\",\"maxLength\",\"rows\",\"cols\",\"placeholder\",\"autocomplete\",\"pattern\",\"readOnly\",\"step\"],n=e=>i.indexOf(e)>=0,o=({disabled:e})=>e?\"[disabled]\":\"\",r=e=>(e=>{const t=(a=e,e=>void 0!==a[e]);var a;return Object.keys(e).filter(n).filter(t).reduce((t,a)=>{const i=e[a];return t.push(`[${a.toLowerCase()}=${i}]`),t},[]).join(\"\")})(e)+(e=>e.maxLength?`[data-length=${e.maxLength}]`:\"\")(e)+o(e)+(({required:e,isMandatory:t})=>e||t?\"[required][aria-required=true]\":\"\")(e)+(({autofocus:e})=>\"boolean\"==typeof e&&e||e&&e()?\"[autofocus]\":\"\")(e),l=e=>!isNaN(parseFloat(e))&&isFinite(e);function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},s.apply(this,arguments)}function c(e,t){if(null==e)return{};var a,i,n={},o=Object.keys(e);for(i=0;i<o.length;i++)t.indexOf(a=o[i])>=0||(n[a]=e[a]);return n}const d=[\"label\",\"id\",\"isMandatory\",\"isActive\"],p={view:({attrs:t})=>e(\"span.mandatory\",t,\"*\")},u=()=>({view:t=>{let{attrs:{label:a,id:i,isMandatory:n,isActive:o}}=t,r=c(t.attrs,d);return a?e(`label${o?\".active\":\"\"}${i?`[for=${i}]`:\"\"}`,r,[e.trust(a),n?e(p):void 0]):void 0}}),m=()=>({view:({attrs:{helperText:t,dataError:a,dataSuccess:i,className:n}})=>t||a||i?e(\"span.helper-text\",{className:n,dataError:a,dataSuccess:i},t?e.trust(t):\"\"):void 0}),h=()=>{const t={id:a()};return{view:({attrs:a})=>{const i=a.id||t.id,n=r(a),{label:o,helperText:l,initialValue:s,onchange:c,newRow:d,className:p=\"col s12\",style:h,iconName:f,isMandatory:g}=a;return e(\".input-field\"+(d?\".clear\":\"\"),{className:d?p+\" clear\":p,style:h},[f?e(\"i.material-icons.prefix\",f):\"\",e(`input.autocomplete[type=text][tabindex=0]${n}`,{id:i,oncreate:({dom:e})=>{M.Autocomplete.init(e,a)},onchange:c?e=>{e.target&&e.target.value&&c(e.target.value)}:void 0,value:s}),e(u,{label:o,id:i,isMandatory:g,isActive:s}),e(m,{helperText:l})])}}},f=[\"iconName\"],g=()=>({view:t=>{let{attrs:{iconName:a}}=t,i=c(t.attrs,f);return e(\"i.material-icons\",i,a)}}),b=[\"modalId\",\"tooltip\",\"tooltipPostion\",\"iconName\",\"iconClass\",\"label\",\"attr\"],y=(t,a=\"\")=>()=>{const i=`${t}${a}`;return{view:({attrs:t})=>{const{modalId:a,tooltip:n,tooltipPostion:o,iconName:r,iconClass:l,label:s,attr:d}=t,p=c(t,b);return e(`${i}${a?`.modal-trigger[href=#${a}]`:\"\"}${n?`.tooltipped[data-position=${o||\"top\"}][data-tooltip=${n}]`:\"\"}${(e=>e?((...e)=>t=>e.reduceRight((e,t)=>t(e),t))(e=>Array.prototype.join.call(e,\"\"),(e=>t=>Array.prototype.map.call(t,e))(t=>`[${(e=>e.replace(/([A-Z])/g,e=>\"-\"+e.toLowerCase()))(t)}=\"${((e=\"\")=>e.toString().replace(/\"/g,\""\"))(e[t])}\"]`),Object.keys)(e):\"\")(d)}`,p,r?e(g,{iconName:r,className:l||\"left\"}):void 0,s||void 0)}}},v=y(\"a.waves-effect.waves-teal.btn-flat\",\"[type=button]\"),w=y(\"button.btn-floating.btn-large.waves-effect.waves-light\",\"[type=button]\"),x=()=>({oncreate:({attrs:e,dom:t})=>{const{onchange:a,onChipAdd:i,onChipDelete:n}=e,o=M.Chips.getInstance(t.children[0]),r=i?i.bind(o):void 0;e.onChipAdd=function(e,t){a&&a(this.chipsData),r&&r(e,t)};const l=n?n.bind(o):void 0;e.onChipDelete=function(e,t){a&&a(this.chipsData),l&&l(e,t)},M.Chips.init(t.children[0],e)},onupdate:({dom:e,attrs:{data:t}})=>{if(!t||0===t.length)return;const a=M.Chips.getInstance(e.children[0]);t.forEach(e=>a.addChip(e))},view:({attrs:{placeholder:t,required:a,isMandatory:i=a,data:n,className:o=\"col s12\",label:r,helperText:l}})=>e(\".input-field\",{className:o},[e(`.chips.chips-autocomplete${t?\".chips-placeholder\":\"\"}${n?\".chips-initial\":\"\"}`),r?e(u,{label:r,isMandatory:i,className:\"active\"}):void 0,l?e(m,{helperText:l}):void 0])}),k=()=>({view:({attrs:{header:t,body:a,active:i,iconName:n}})=>e(i?\"li.active\":\"li\",[t||n?e(\".collapsible-header\",[n?e(\"i.material-icons\",n):void 0,t?\"string\"==typeof t?e(\"span\",t):t:void 0]):void 0,a?e(\".collapsible-body\",a):void 0])}),N=()=>({oncreate:({dom:e,attrs:t})=>{M.Collapsible.init(e,t)},view:({attrs:t})=>{const{items:a,class:i,className:n,style:o,id:r}=t;return a&&a.length>0?e(\"ul.collapsible\",{class:i||n,style:o,id:r},a.map(t=>e(k,t))):void 0}});var $;!function(e){e[e.BASIC=0]=\"BASIC\",e[e.LINKS=1]=\"LINKS\",e[e.AVATAR=2]=\"AVATAR\"}($||($={}));const I=[\"className\",\"helperText\",\"iconName\",\"id\",\"initialValue\",\"isMandatory\",\"label\",\"onchange\",\"onkeydown\",\"onkeypress\",\"onkeyup\",\"onblur\",\"style\"],O=[\"className\",\"dataError\",\"dataSuccess\",\"helperText\",\"iconName\",\"id\",\"initialValue\",\"isMandatory\",\"label\",\"maxLength\",\"newRow\",\"onchange\",\"onkeydown\",\"onkeypress\",\"onkeyup\",\"onblur\",\"style\",\"validate\"],A=()=>{const t={id:a()};return{view:({attrs:a})=>{const{className:i=\"col s12\",helperText:n,iconName:o,id:l=t.id,initialValue:s,isMandatory:d,label:p,onchange:h,onkeydown:f,onkeypress:g,onkeyup:b,onblur:y,style:v}=a,w=c(a,I),x=r(w);return e(\".input-field\",{className:i,style:v},[o?e(\"i.material-icons.prefix\",o):\"\",e(`textarea.materialize-textarea[tabindex=0][id=${l}]${x}`,{oncreate:({dom:e})=>{M.textareaAutoResize(e),a.maxLength&&M.CharacterCounter.init(e)},onchange:h?e=>{const t=e.target;h(t&&\"string\"==typeof t.value?t.value:\"\")}:void 0,value:s,onkeyup:b?e=>{b(e,e.target.value)}:void 0,onkeydown:f?e=>{f(e,e.target.value)}:void 0,onkeypress:g?e=>{g(e,e.target.value)}:void 0,onblur:y}),e(u,{label:p,id:l,isMandatory:d,isActive:s||a.placeholder}),e(m,{helperText:n})])}}},D=(t,i=\"\")=>()=>{const n={id:a()},o=e=>{const a=e.value;return!a||\"number\"!==t&&\"range\"!==t?a:+a},l=(e,t)=>{e.setCustomValidity(\"boolean\"==typeof t?t?\"\":\"Custom validation failed\":t)};return{view:({attrs:a})=>{const{className:s=\"col s12\",dataError:d,dataSuccess:p,helperText:h,iconName:f,id:g=n.id,initialValue:b,isMandatory:y,label:v,maxLength:w,newRow:x,onchange:k,onkeydown:N,onkeypress:$,onkeyup:I,onblur:A,style:D,validate:S}=a,T=c(a,O),C=r(T);return e(`.input-field${x?\".clear\":\"\"}${i}`,{className:s,style:D},[f?e(\"i.material-icons.prefix\",f):void 0,e(`input.validate[type=${t}][tabindex=0][id=${g}]${C}`,{oncreate:({dom:e})=>{(({autofocus:e})=>!!e&&(\"boolean\"==typeof e?e:e()))(a)&&e.focus(),w&&M.CharacterCounter.init(e),\"range\"===t&&M.Range.init(e)},onkeyup:I?e=>{I(e,o(e.target))}:void 0,onkeydown:N?e=>{N(e,o(e.target))}:void 0,onkeypress:$?e=>{$(e,o(e.target))}:void 0,onblur:A,onupdate:S?({dom:e})=>{const t=e;l(t,S(o(t),t))}:void 0,onchange:e=>{const t=e.target;if(t){const e=o(t);k&&k(e),S&&l(t,S(e,t))}},value:b}),e(u,{label:v,id:g,isMandatory:y,isActive:!(void 0===b&&!a.placeholder&&\"number\"!==t&&\"color\"!==t&&\"range\"!==t)}),e(m,{helperText:h,dataError:d,dataSuccess:p})])}}},S=D(\"text\"),T=D(\"number\"),C=D(\"url\"),V=D(\"color\"),j=D(\"email\"),L=()=>{let t,a=!1;return{view:({attrs:i})=>{const{multiple:n,disabled:o,initialValue:r,placeholder:l,onchange:s,className:c=\"col s12\",accept:d,label:p=\"File\"}=i,u=d?d instanceof Array?d.join(\", \"):d:void 0,m=u?`[accept=${u}]`:\"\",h=n?\"[multiple]\":\"\",f=o?\"[disabled]\":\"\",g=l?`[placeholder=${l}]`:\"\";return e(\".file-field.input-field\",{className:i.class||c},[e(\".btn\",[e(\"span\",p),e(`input[type=file]${h}${f}${m}`,{onchange:s?e=>{const t=e.target;t&&t.files&&s&&(a=!0,s(t.files))}:void 0})]),e(\".file-path-wrapper\",e(`input.file-path.validate${g}[type=text]`,{oncreate:({dom:e})=>{t=e,r&&(t.value=r)}})),(a||r)&&e(\"a.waves-effect.waves-teal.btn-flat\",{style:\"float: right;position: relative;top: -3rem; padding: 0\",onclick:()=>{a=!1,t.value=\"\",s&&s({})}},e(\"i.material-icons\",\"clear\"))])}}},R=()=>({view:({attrs:{className:t=\"col s12\",onchange:a,label:i,checked:n,disabled:o,description:r}})=>e(\"div\",{className:t},e(\"label\",[e(\"input[type=checkbox][tabindex=0]\",{checked:n,disabled:o,onclick:a?e=>{e.target&&void 0!==e.target.checked&&a(e.target.checked)}:void 0}),i?\"string\"==typeof i?e(\"span\",i):i:void 0]),r&&e(m,{className:\"input-checkbox-desc\",helperText:r}))}),P=()=>{const t={},a=e=>t.checkedIds.indexOf(e)>=0;return{oninit:({attrs:{initialValue:e,checkedId:a}})=>{const i=a||e;t.checkedId=a,t.checkedIds=i?i instanceof Array?[...i]:[i]:[]},view:({attrs:{label:i,id:n,options:o,checkedId:r,description:l,className:s=\"col s12\",disabled:c,checkboxClass:d,newRow:p,isMandatory:h,onchange:f}})=>{r&&t.checkedId!==r&&(t.checkedId=r,t.checkedIds=r instanceof Array?r:[r]);const g=f?(e,a)=>{const i=t.checkedIds.filter(t=>t!==e);a&&i.push(e),t.checkedIds=i,f(i)}:void 0;return e(\"div\"+(p?\".clear\":\"\"),{className:s},[e(\"div\",{className:\"input-field options\"},e(u,{id:n,label:i,isMandatory:h})),e(m,{helperText:l}),...o.map(t=>e(R,{disabled:c||t.disabled,label:t.label,onchange:g?e=>g(t.id,e):void 0,className:t.className||d,checked:a(t.id),description:t.description}))])}}},E=()=>({oncreate:({dom:e,attrs:{options:t,onCreate:a}})=>{const i=M.Modal.init(e,t);a&&a(i)},view:({attrs:{id:t,title:a,description:i,fixedFooter:n,bottomSheet:o,buttons:r,richContent:l}})=>e(`.modal${n?\".modal-fixed-footer\":\"\"}${o?\".bottom-sheet\":\"\"}[id=${t}]`,[e(\".modal-content\",[e(\"h4\",a),l&&\"string\"==typeof i?e.trust(i||\"\"):\"string\"==typeof i?e(\"p\",i):i]),r?e(\".modal-footer\",r.map(t=>e(v,s({},t,{className:\"modal-close\"})))):void 0])}),F=()=>({view:({attrs:{title:t,href:a,active:i,disabled:n}})=>e(\"li\",{className:i?\"active\":n?\"disabled\":\"waves-effect\"},\"number\"==typeof t?e(e.route.Link,{href:a},t):t)}),_=()=>{const t={pagIndex:0};return{view:({attrs:{items:a,curPage:i=1,size:n=Math.min(9,a.length)}})=>{const{pagIndex:o}=t,r=o*n,l=r+n,c=o>0,d=l<a.length,p=[{title:e(\"a\",{onclick:()=>c&&t.pagIndex--},e(\"i.material-icons\",\"chevron_left\")),disabled:!c},...a.filter((e,t)=>r<=t&&t<l),{title:e(\"a\",{onclick:()=>d&&t.pagIndex++},e(\"i.material-icons\",\"chevron_right\")),disabled:!d}];return e(\"ul.pagination\",p.map((t,a)=>e(F,s({title:r+a},t,{active:r+a===i}))))}}},H=[\"label\",\"helperText\",\"initialValue\",\"newRow\",\"className\",\"iconName\",\"isMandatory\",\"onchange\",\"disabled\"],U=[\"label\",\"helperText\",\"initialValue\",\"newRow\",\"className\",\"iconName\",\"isMandatory\",\"onchange\",\"disabled\"],q=()=>{const t={id:a()};return{view:a=>{let{attrs:{label:i,helperText:n,initialValue:o,newRow:l,className:d=\"col s12\",iconName:p,isMandatory:h,onchange:f,disabled:g}}=a,b=c(a.attrs,H);const y=t.id,v=r(b),w=f?()=>t.dp&&f(t.dp.date):void 0;return e(\".input-field\"+(l?\".clear\":\"\"),{className:d,onremove:()=>t.dp&&t.dp.destroy()},[p?e(\"i.material-icons.prefix\",p):\"\",e(`input.datepicker[type=text][tabindex=0][id=${y}]${v}${g?\"[disabled]\":\"\"}`,{oncreate:({dom:e})=>{t.dp=M.Datepicker.init(e,s({format:\"yyyy/mm/dd\",showClearBtn:!0,setDefaultDate:!0,defaultDate:o?new Date(o):new Date},b,{onClose:w}))}}),e(u,{label:i,id:y,isMandatory:h,isActive:!!o}),e(m,{helperText:n})])}}},B=()=>{const t={id:a()};return{view:a=>{let{attrs:{label:i,helperText:n,initialValue:o,newRow:l,className:d=\"col s12\",iconName:p,isMandatory:h,onchange:f,disabled:g}}=a,b=c(a.attrs,U);const y=t.id,v=r(b),w=l?\".clear\":\"\",x=new Date,k=f?()=>t.tp&&f(t.tp.time||o||`${x.getHours()}:${x.getMinutes()}`):void 0;return e(`.input-field.timepicker${w}`,{className:d,onremove:()=>t.tp&&t.tp.destroy()},[p?e(\"i.material-icons.prefix\",p):\"\",e(`input[type=text][tabindex=0][id=${y}]${v}${g?\"[disabled]\":\"\"}`,{value:o,oncreate:({dom:e})=>{t.tp=M.Timepicker.init(e,s({twelveHour:!1,showClearBtn:!0,defaultTime:o},b,{onCloseEnd:k}))}}),e(u,{label:i,id:y,isMandatory:h,isActive:o}),e(m,{helperText:n})])}}},J=()=>({view:({attrs:{id:t,groupId:a,label:i,onchange:n,className:o=\"col s12\",checked:r,disabled:l}})=>e(\"div\",{className:o},e(\"label\",[e(`input[type=radio][tabindex=0][name=${a}]${r?\"[checked=checked]\":\"\"}${l?\"[disabled]\":\"\"}`,{onclick:n?()=>n(t):void 0}),e(\"span\",e.trust(i))]))}),z=()=>{const t={groupId:a()};return{oninit:({attrs:{checkedId:e,initialValue:a}})=>{t.oldCheckedId=e,t.checkedId=e||a},view:({attrs:{id:a,checkedId:i,newRow:n,className:o=\"col s12\",label:r=\"\",disabled:l,description:c,options:d,isMandatory:p,checkboxClass:m,onchange:h}})=>{t.oldCheckedId!==i&&(t.oldCheckedId=t.checkedId=i);const{groupId:f,checkedId:g}=t,b=e=>{t.checkedId=e,h&&h(e)};return n&&(o+=\" clear\"),e(\"div\",{id:a,className:o},[e(\"div\",{className:\"input-field options\"},e(u,{id:a,label:r,isMandatory:p})),c?e(\"p.helper-text\",e.trust(c)):\"\",...d.map(t=>e(J,s({},t,{onchange:b,groupId:f,disabled:l,className:m,checked:t.id===g})))])}}},W=()=>{const t={},a=e=>e.map(e=>e.id).join(\"\"),i=(e,t,a=!1)=>a||(t instanceof Array&&(e||\"number\"==typeof e)?t.indexOf(e)>=0:t===e);return{oninit:({attrs:{checkedId:e,initialValue:i,options:n}})=>{t.ids=a(n);const o=e||i;t.checkedId=e instanceof Array?[...e]:e,t.initialValue=null!=o?o instanceof Array?o.filter(e=>null!=e):[o]:[]},view:({attrs:{id:n,newRow:o,className:r=\"col s12\",checkedId:s,key:c,options:d,multiple:p,label:h,helperText:f,placeholder:g=\"\",isMandatory:b,iconName:y,disabled:v,classes:w=\"\",dropdownOptions:x,onchange:k}})=>{t.checkedId!==s&&(t.initialValue=s?s instanceof Array?s:[s]:void 0);const{initialValue:N}=t,$=k?p?()=>{const e=t.instance&&t.instance.getSelectedValues(),a=e?e.length>0&&l(e[0])?e.map(e=>+e):e.filter(e=>null!==e||void 0!==e):void 0;t.initialValue=a||[],k(t.initialValue)}:e=>{if(e&&e.currentTarget){const a=e.currentTarget,i=l(a.value)?+a.value:a.value;t.initialValue=void 0!==typeof i?[i]:[]}t.initialValue&&k(t.initialValue)}:void 0;o&&(r+=\" clear\");const I=!d.some(e=>i(e.id,N)),O=d.reduce((e,t)=>(t.group&&e.indexOf(t.group)<0&&e.push(t.group),e),[]);return e(\".input-field.select-space\",{className:r,key:c,oncreate:p?({dom:e})=>t.wrapper=e:void 0},[y&&e(\"i.material-icons.prefix\",y),e(\"select\",{id:n,title:h,disabled:v,multiple:p,oncreate:({dom:e})=>{t.instance=M.FormSelect.init(e,{classes:w,dropdownOptions:x})},onupdate:({dom:e})=>{if(p){const e=y?1:0;!t.inputEl&&t.wrapper&&t.wrapper.childNodes&&t.wrapper.childNodes.length>0&&t.wrapper.childNodes[e].childNodes&&t.wrapper.childNodes[e].childNodes[0]&&(t.inputEl=t.wrapper.childNodes[e].childNodes[0]),t.inputEl&&t.inputEl.value&&t.inputEl.value.startsWith(`${g}, `)&&(t.inputEl.value=t.inputEl.value.replace(`${g}, `,\"\"))}const i=a(d);let n=s&&t.checkedId!==s.toString();t.ids!==i&&(t.ids=i,n=!0),(t.checkedId instanceof Array&&s instanceof Array?t.checkedId.join()!==s.join():t.checkedId!==s)&&(t.checkedId=s,n=!0),n&&(t.instance=M.FormSelect.init(e,{classes:w,dropdownOptions:x}))},onchange:$},e(\"option\",{value:\"\",disabled:!0,selected:!!I||void 0},g),0===O.length?d.map((t,a)=>{var n;return e(\"option\",{value:t.id,title:t.title||void 0,disabled:t.disabled?\"true\":void 0,\"data-icon\":t.img||void 0,selected:i(t.id,N,0===a&&I&&!g)},null==(n=t.label)?void 0:n.replace(\"&\",\"&\"))}):O.map(t=>e(\"optgroup\",{label:t},d.filter(e=>e.group===t).map((t,a)=>{var n;return e(\"option\",{value:t.id,title:t.title||void 0,disabled:t.disabled?\"true\":void 0,\"data-icon\":t.img||void 0,selected:i(t.id,N,0===a&&I&&!g)},null==(n=t.label)?void 0:n.replace(\"&\",\"&\"))})))),e(u,{label:h,isMandatory:b}),f&&e(m,{helperText:f})])}}},K=[\"label\",\"left\",\"right\",\"disabled\",\"newRow\",\"onchange\",\"checked\",\"isMandatory\",\"className\"],Y=()=>{const t={id:a()};return{view:({attrs:a})=>{const i=a.id||t.id,{label:n,left:r,right:l,disabled:s,newRow:d,onchange:p,checked:m,isMandatory:h,className:f=\"col s12\"}=a,g=c(a,K);return e(\"div\"+(d?\".clear\":\"\"),{className:f},[n?e(u,{label:n||\"\",id:i,isMandatory:h}):void 0,e(\".switch\",g,e(\"label\",[r||\"Off\",e(`input[id=${i}][type=checkbox]${o({disabled:s})}${m?\"[checked]\":\"\"}`,{onclick:p?e=>{e.target&&void 0!==e.target.checked&&p(e.target.checked)}:void 0}),e(\"span.lever\"),l||\"On\"]))])}}},Z=()=>{const t={},a=(e,t)=>t||e.replace(/ /g,\"\").toLowerCase();return{view:({attrs:{tabWidth:i,selectedTabId:n,tabs:o,className:r,style:l,duration:s,onShow:c,swipeable:d,responsiveThreshold:p}})=>{const u=o.filter(e=>e.active).shift(),m=n||(u?a(u.title,u.id):\"\");return e(\".row\",[e(\".col.s12\",e(\"ul.tabs\"+(\"fill\"===i?\".tabs-fixed-width\":\"\"),{className:r,style:l,oncreate:({dom:e})=>{t.instance=M.Tabs.init(e,{duration:s,onShow:c,responsiveThreshold:p,swipeable:d})},onupdate:()=>{if(m){const e=document.getElementById(`tab_${m}`);e&&e.click()}},onremove:()=>t.instance.destroy()},o.map(({className:t,title:n,id:r,active:l,disabled:s,target:c,href:d})=>e(`li.tab${s?\".disabled\":\"\"}${\"fixed\"===i?`.col.s${Math.floor(12/o.length)}`:\"\"}`,{className:t},e(`a[id=tab_${a(n,r)}]${l?\".active\":\"\"}`,{target:c,href:d||`#${a(n,r)}`},n))))),o.filter(({href:e})=>void 0===e).map(({id:t,title:i,vnode:n,contentClass:o})=>e(`.col.s12[id=${a(i,t)}]`,{className:o},n))])}}},G=e=>e.charAt(0).toUpperCase()+e.slice(1),Q=e=>\"string\"==typeof e,X=(e,t=2,a=\"0\")=>e.toString().length>=t?e.toString():X(a+e,t,a),ee=e=>e?`${X(e.getHours())}:${X(e.getMinutes())}`:\"00:00\",te=(e,t)=>{const a=(t=(t=t.replace(/\\[(\\w+)\\]/g,\".$1\")).replace(/^\\./,\"\")).split(\".\");let i={...e};for(let t=0,n=a.length;t<n;++t){const n=a[t];if(\"object\"==typeof i&&n in i)i=i[n];else{if(!(i instanceof Array))return;{const t=e[n]||n,a=/([A-Z]\\w+)/.exec(n),o=a&&a[0][0].toLowerCase()+a[0].substr(1)||n,r=i.filter(e=>e[o]===t).shift();if(!r)return;i=r}}}return i},ae=e=>e.reduce((e,t)=>t instanceof Array?[...e,...t]:[...e,t],[]),ie=/([^ =><]*)\\s*([=><]*)\\s*(\\S*)/i,ne=/^\\s*!\\s*/,oe=/===?|[^<>=]/i,re=function(e){var t=[].slice.call(arguments,1);return 0===e.length||(e instanceof Array?e:[e]).some(e=>((e,t)=>e.split(\"&\").reduce((e,a)=>{const i=ne.test(a),n=i?a.replace(ne,\"\"):a;return e=e&&t.filter(Boolean).reduce((e,t)=>e||((e,t)=>{if(!t||0===Object.keys(t).length)return!1;const a=ie.exec(e);if(a){const[e,i,n,o]=a,r=te(t,i.trim());if(void 0===r||\"string\"==typeof r&&0===r.length)return!1;if(!n||!o)return!0;{const t=isNaN(+o)?\"true\"===o||\"false\"!==o&&o:+o;switch(n){case\"=\":case\"==\":case\"===\":return r instanceof Array?r.indexOf(t)>=0:r===t;case\"<=\":return r<=t;case\">=\":return r>=t;case\"<\":return r<t;case\">\":return r>t;default:return console.error(`Unrecognized operand (${n}) in expression: ${e}`),!1}}}return!0})(n.trim(),t),!1),i?!e:e},!0))(e,oe.test(e)?[t[0]]:ae(t)))},le=(e,t)=>te(t.filter(Boolean).reduceRight((e,t)=>({...t,...e})),e.trim()),se=(e,t)=>void 0!==le(e,t),ce=/{{\\s*([^\\s\"'`:]*):?([^\\s]*)\\s*}}/g,de=function(e){if(!ce.test(e))return!0;let t;ce.lastIndex=0;let a=!0;do{t=ce.exec(e),t&&(t.index===ce.lastIndex&&ce.lastIndex++,t.forEach((e,t,[,i])=>{a=a&&se(i,[].slice.call(arguments,1))}))}while(a&&null!==t);return a},pe=(e,t)=>{if(void 0===e)return\"\";if(e instanceof Array)return e.map(e=>pe(e,t)).join(\", \");if(!t)return e.toString();if(\"boolean\"==typeof e){const a=t.indexOf(\":\");return e?t.substring(0,a):t.substring(a+1)}switch(t){default:return e.toString();case\"date\":return new Date(e).toLocaleDateString();case\"time\":return new Date(e).toLocaleTimeString();case\"iso\":return new Date(e).toISOString();case\"utc\":return new Date(e).toUTCString()}},ue=function(e){if(!ce.test(e))return e;let t;ce.lastIndex=0;do{t=ce.exec(e),t&&(t.index===ce.lastIndex&&ce.lastIndex++,t.forEach((t,a,[i,n,o])=>{const r=le(n,[].slice.call(arguments,1));!r||r instanceof Array||(e=e.replace(i,pe(r,o)))}))}while(null!==t);return e},me=e=>{if(null===e)return e;if(e instanceof Date)return new Date(e.getTime());if(e instanceof Array){const t=[];return e.forEach(e=>{t.push(e)}),t.map(e=>me(e))}if(\"object\"==typeof e){const t={...e};return Object.keys(t).forEach(e=>{t[e]=me(t[e])}),t}return e},he=e=>{const t=(e,a=\"\")=>{const i=e.filter(e=>\"section\"!==e.type&&\"md\"!==e.type).reduce((e,i)=>{const n=(a?`${a}.`:\"\")+String(i.id),o=i.type||(i.options&&i.options.length>0?\"select\":\"text\");return\"string\"==typeof o?e[n]=i:e={...e,...t(o,n)},e},{});return i},a=t(e),i=(e,t)=>{if(!a.hasOwnProperty(e)||void 0===t)return t;const i=a[e],n=t instanceof Array?t.filter(e=>null!=e):[t];switch(i.type||(i.options?\"options\":\"none\")){default:return t;case\"radio\":case\"select\":case\"options\":const e=\"string\"==typeof i.options?le(i.options,[a]):i.options;return n.map(t=>e.filter(e=>e.id===t).map(e=>e.label||G(e.id)).shift()).filter(e=>void 0!==e)}},n=(e,t=\"\")=>{if(e&&(\"object\"!=typeof e||0!==Object.keys(e).length)){if(e instanceof Array)return e.map(e=>n(e,t));{const a={};return Object.keys(e).forEach(o=>{const r=t?`${t}.${o}`:o,l=e[o];if(\"boolean\"==typeof l)a[o]=l;else if(\"number\"==typeof l||\"string\"==typeof l){const e=i(r,l);e&&(a[o]=e instanceof Array&&1===e.length?e[0]:e)}else if(l instanceof Array)if(\"string\"==typeof l[0]||null===l[0]){const e=i(r,l);e&&(a[o]=e)}else a[o]=n(l,o);else\"object\"==typeof l&&(a[o]=l)}),a}}};return n},fe=(e=\"\")=>e.replace(/\\s|,|\\./g,\"\").toLowerCase(),ge=(e,t,a=1)=>{const i=[];for(let n=e;n<=t;n+=a)i.push(n);return i},be=e=>{\"string\"!=typeof e&&(e=JSON.stringify(e));let t=0;if(0===e.length)return t;for(var a=0;a<e.length;a++)t=(t<<5)-t+e.charCodeAt(a),t&=t;return t},ye=(e,t,a)=>{const i=Object.assign({},t,a);return`${e}?${Object.keys(i).map(e=>`${e}=${i[e]}`).join(\"&\")}`},ve=()=>({view:({attrs:{md:a=\"\",removeParagraphs:i=!1,externalLinks:n=!1,...o}})=>e(\".slimdown-view.markdown\",o,e.trust(t(a,i,n)))}),we=()=>({view:({attrs:{type:t,props:a,label:i=\"\",initialValue:n,inline:o=!1}})=>{const r={className:a.className||\"col s12\"};if(n instanceof Array&&n.length>3)return e(\".readonly\",r,[e(\"label\",i),e(ve,{md:\"\\n- \"+n.join(\"\\n- \")})]);if(\"string\"==typeof n)return e(\".readonly\",r,\"url\"===t?[e(\"label\",`${i.trim()}: `),e(\"a[target=_blank]\",{href:n},n)]:\"color\"===t?[e(\"label\",`${i.trim()}: `),e(\".color\",{style:`height: 1rem; width: 40px; border-radius: 4px; background-color: ${n}`})]:[e(\"label\",i),e(ve,{md:n})]);const l=n instanceof Array?n.join(\", \"):n;return e(\".readonly\",r,[i&&e(\"label\",i),o?e(\"span\",l?`: ${l}`:e.trust(\" \")):e(\"p\",l||e.trust(\" \"))])}}),xe=(i={},n={})=>()=>{const o={key:Date.now()};return{view:({attrs:{i18n:r,field:l,obj:s,autofocus:c,onchange:d,context:p=[],containerId:u,disabled:m,readonly:f}})=>{const{id:g=\"\",type:b,disabled:y=m,readonly:w=f,value:k,required:N,autogenerate:$,show:I,label:O,description:D,i18n:M=r||{},checkAllOptions:E,transform:F,effect:_,onkeyup:H,onkeydown:U,onblur:J}=l;if(I&&!re(I,s,p)||O&&!de(O,s,p)||D&&!de(D,s,p))return;const K=\"string\"==typeof l.options?le(l.options,[s,...p]):l.options,Z=K&&K instanceof Array?K.filter(e=>void 0!==e.id&&(e.label||isNaN(Number(e.id)))&&(!e.show||re(e.show,s,p))).map(e=>e.label?e:{...e,label:G(e.id)}):[],Q=\"boolean\"==typeof m&&m,X=((e,i=!1,n=!1)=>{const{id:o=\"\",label:r,description:l,required:s,multiple:c,className:d,checkboxClass:p,icon:u,iconClass:m,placeholder:h,maxLength:f,minLength:g,max:b,min:y,step:v,dateTimeOutput:w,dateTimeSeconds:x,dateFormat:k,twelveHour:N}=e,$={id:`mui_${String(o)}-${a()}`,label:r};return void 0===r&&o&&($.label=G(String(o))),l&&($.helperText=t(l,!0)),d&&($.className=d),u&&($.iconName=u),m&&($.iconClass=m),p&&($.checkboxClass=p),h&&($.placeholder=h),s&&($.isMandatory=!0),c&&($.multiple=c),n&&($.disabled=!0),i&&($.autofocus=!0),void 0!==f&&($.maxLength=f),void 0!==g&&($.minLength=g),void 0!==b&&($.max=b),void 0!==y&&($.min=y),void 0!==v&&($.step=v),w&&($.dateTimeOutput=w),x&&($.dateTimeSeconds=x),k&&($.dateFormat=k),N&&($.twelveHour=N),$})(l,c,\"boolean\"==typeof y||void 0===y?Q||y:Q||re(y,s,p));O&&(X.label=t(ue(X.label||O,s,p),!0)),D&&(X.description=t(ue(X.description||D,s,p),!0));const te=N?e=>e instanceof Array?e&&e.length>0:void 0!==typeof e:void 0;if(s instanceof Array)return void console.warn(\"Only a repeat list can deal with arrays!\");const ae=function(e){try{return void 0===e||\"undefined\"===e?(delete s[g],d(s),Promise.resolve()):(s[g]=F?F(\"to\",e):e,_?Promise.resolve(_(s,s[g],p)).then(function(e){d(void 0!==e?e:s)}):Promise.resolve(d(s)))}catch(e){return Promise.reject(e)}};if(b instanceof Array)return g?(s.hasOwnProperty(g)||(s[g]={}),e(\".muf-form\",{className:l.className},[e(\".muf-form-header\",e.trust(t(X.label||G(String(g)),!0))),X.description&&e(\"div\",e.trust(t(X.description))),e(\".row\",e(De,{...X,i18n:M,readonly:w,form:b,obj:s[g],context:p instanceof Array?[s,...p]:[s,p],onchange:()=>d&&d(s),containerId:u}))])):void console.warn(\"Missing ID for type \"+JSON.stringify(b));$&&!s[g]&&(s[g]=\"guid\"===$?\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,e=>{const t=16*Math.random()|0;return(\"x\"===e?t:3&t|8).toString(16)}):\"id\"===$?a():Date.now());const ie=s.hasOwnProperty(g)&&void 0!==s[g]?F?F(\"from\",s[g]):s[g]:k;g&&void 0!==k&&void 0!==ie&&(s[g]=F?F(\"to\",ie):ie);const[ne,oe]=E?E.split(\"|\"):[\"\",\"\"];if(w&&b&&[\"md\",\"none\"].indexOf(b)<0){if(n.hasOwnProperty(b))return e(n[b],{iv:ie,field:l,props:X,label:X.label,obj:s,context:p});if(b&&i.hasOwnProperty(b))return e(i[b],{iv:ie,field:l,props:X,label:X.label,onchange:ae,obj:s,context:p});switch(b){case\"time\":{const t=M.dateTimeOptions?{hour:\"2-digit\",minute:\"2-digit\",second:void 0,...M.dateTimeOptions,weekday:void 0,month:void 0,day:void 0,year:void 0}:void 0,a=\"number\"==typeof ie||\"string\"==typeof ie||ie instanceof Date?new Date(ie):void 0,i=a?a.toLocaleTimeString(M.locales,t):\"\";return e(we,{props:X,label:X.label,initialValue:i})}case\"date\":{const t=M.dateTimeOptions?{...M.dateTimeOptions,hour:void 0,hour12:void 0,minute:void 0,second:void 0}:void 0,a=\"number\"==typeof ie||\"string\"==typeof ie||ie instanceof Date?new Date(ie):void 0,i=a?a.toLocaleDateString(M.locales,t):\"\";return e(we,{props:X,label:X.label,initialValue:i})}case\"datetime\":{const t=M.dateTimeOptions?{hour:\"2-digit\",minute:\"2-digit\",month:\"numeric\",day:\"numeric\",...M.dateTimeOptions}:void 0,a=\"number\"==typeof ie||\"string\"==typeof ie||ie instanceof Date?new Date(ie):void 0,i=a?a.toLocaleTimeString(M.locales,t):\"\";return e(we,{props:X,label:X.label,initialValue:i})}case\"switch\":case\"checkbox\":return e(we,{props:X,label:X.label,initialValue:ie?\"✔\":\"✘\",inline:!0});case\"tags\":return e(we,{props:X,label:X.label,initialValue:ie||[]});case\"options\":case\"select\":{const t=void 0!==ie?ie instanceof Array?ie:[ie]:[],a=Z.filter(e=>t.indexOf(e.id)>=0),i=a&&0===a.length?\"?\":1===a.length?a[0].label:a.map(e=>e.label);return e(we,{props:X,label:X.label,initialValue:i})}case\"radio\":{const t=ie,a=Z.filter(e=>e.id===t);return e(we,{props:X,label:X.label,initialValue:a&&a.length?a[0].label:\"?\"})}case\"base64\":{const t=ie;return!(!t||!/data:image/i.test(t))&&e(\"div\",e(\"img.responsive-img\",{src:t,alt:s.title||s.alt||s.name||\"\",style:`max-height: ${l.max||50}px`}))}case\"file\":return e(\"div\",X,(ie instanceof Array?ie:[ie]).map((t=\"\")=>{const a=/data:image|.jpg$|.jpeg$|.png$|.gif$|.svg$|.bmp$|.tif$|.tiff$/i.test(t),i=`${new URL(l.url).origin}${t}`;return e(\"a[target=_blank]\",{href:i},a?e(\"img\",{src:i,alt:i,style:`max-height: ${l.max||50}`}):e(we,{props:X,label:l.placeholder||\"File\",initialValue:t}))}));case\"md\":case\"markdown\":{const a=\"string\"==typeof ie&&ie?t(ie):\"\";return e(we,{props:X,label:X.label,initialValue:a})}default:return e(we,{props:X,type:b,label:X.label,initialValue:ie})}}else{if(b&&i.hasOwnProperty(b))return e(i[b],{iv:ie,field:l,props:X,label:X.label,onchange:ae,obj:s,context:p});switch(b){case\"colour\":case\"color\":{const t=ie;return e(V,{...X,initialValue:t,onchange:ae,onblur:J})}case\"time\":{const{twelveHour:t=!1}=X,a=ie?\"number\"==typeof ie||\"string\"==typeof ie?new Date(ie):ie:new Date,i=ee(a);return s[g]=F?F(\"to\",a):a,e(B,{...X,twelveHour:t,initialValue:i,onchange:e=>{const t=e.split(\":\").map(e=>+e);a.setHours(t[0],t[1]),ae(a)},container:u})}case\"date\":{const{format:t=\"mmmm d, yyyy\"}=X,a=\"number\"==typeof ie||\"string\"==typeof ie?new Date(ie):ie;s[g]=a?F?F(\"to\",a.valueOf()):a.valueOf():a;const{min:i,max:n}=X,o=i?!a||i<a.valueOf()?new Date(i):a:void 0,r=n?!a||n>a.valueOf()?new Date(n):a:void 0;return e(q,{...X,minDate:o,maxDate:r,setDefaultDate:!!a,format:t,initialValue:a,onchange:e=>{ae(new Date(e))},container:u})}case\"datetime\":{const{label:t,className:a=\"col s12\",dateTimeSeconds:i=!1,twelveHour:n=!1,format:o=\"mmmm d, yyyy\",...r}=X,l=\"number\"==typeof ie||\"string\"==typeof ie?new Date(ie):ie,s={initialDateTime:l},c=l||void 0,d=l?ee(l):\"\",{min:p,max:m}=X,h=p?!l||p<l.valueOf()?new Date(p):l:void 0,f=m?!l||m>l.valueOf()?new Date(m):l:void 0,g=X.dateTimeOutput||\"UTC\",b=e=>{s.initialDateTime=e,ae(\"UTC\"===g?e.toUTCString():\"ISO\"===g?e.toISOString():e.valueOf())};return e(\"div\",{className:a},e(\".row\",[e(i?\".col.s6\":\".col.s8\",{style:\"padding: 0\"},e(q,{...r,label:t,minDate:h,maxDate:f,setDefaultDate:!!l,format:o,initialValue:c,container:u,onchange:e=>{const t=new Date(s.initialDateTime);t.setFullYear(e.getFullYear()),t.setMonth(e.getMonth()),t.setDate(e.getDate()),b(t)}})),e(\".col.s4\",{style:\"min-width: 6rem; padding-right: 0; padding-left: 0\"},e(B,{...r,label:\"\",helperText:\"\",twelveHour:n,initialValue:d,container:u,onchange:e=>{const t=e.split(\":\").map(e=>+e),a=s.initialDateTime||new Date((new Date).setSeconds(0,0));a.setHours(t[0],t[1]),b(a)}})),i&&e(T,{style:\"min-width: 4rem; padding-right: 0; padding-left: 0\",className:\"col s2\",min:0,max:59,onchange:e=>{const t=s.initialDateTime||new Date((new Date).setSeconds(0,0));t.setSeconds(e,0),b(t)}})]))}case\"email\":{const t=ie;return e(j,{...X,validate:te,autofocus:c,onchange:ae,initialValue:t,onkeydown:U,onkeyup:H,onblur:J})}case\"number\":{const t=ie;return e(T,{...X,validate:te,autofocus:c,onchange:ae,initialValue:t,onkeydown:U,onkeyup:H,onblur:J})}case\"radio\":{const t=ie;return e(z,{label:\"\",...X,options:Z,checkedId:t,onchange:ae})}case\"checkbox\":{const t=ie;return e(R,{...X,checked:t,onchange:ae})}case\"options\":{const t=ie;return[[e(P,{key:o.key,checkboxClass:\"col s6 m4 l3\",className:\"input-field col s12\",...X,disabled:X.disabled||!Z||0===Z.length,options:Z,checkedId:t,onchange:e=>ae(1===e.length?e[0]:e.filter(e=>null!==e))})],void 0!==E&&e(\".col.s12.option-buttons\",[e(v,{disabled:X.disabled,label:ne,iconName:\"check\",onclick:()=>{o.key=Date.now(),ae(Z.map(e=>e.id))}}),oe&&e(v,{disabled:X.disabled,label:oe,iconName:\"check_box_outline_blank\",onclick:()=>{const e=s[g]||[];e.length=0,o.key=Date.now(),ae(e)}})])]}case\"select\":{const t=ie;return e(W,{placeholder:X.multiple?M.pickOneOrMore||\"Pick one or more\":M.pickOne||\"Pick one\",...X,disabled:X.disabled||!Z||0===Z.length,options:Z,initialValue:t,onchange:e=>ae(1!==e.length||X.multiple?e.filter(e=>null!==e||void 0!==e):e[0])})}case\"markdown\":case\"md\":{const{label:t,className:a=\"col s12\"}=X,i=ue((g?ie:k||t)||\"\",s,p);return e(ve,{md:i,className:a})}case\"section\":return e(\".divider\");case\"switch\":{const t=ie,a=Z&&Z.length>0?Z[0].label:\"\",i=Z&&Z.length>1?Z[1].label:\"\";return e(Y,{...X,left:a,right:i,checked:t,onchange:ae})}case\"tags\":{const t=(ie?ie instanceof Array?ie:[ie]:[]).map(e=>({tag:e})),a=Z&&Z.length>0?{data:Z.reduce((e,t)=>(e[t.id]=null,e),{}),limit:l.maxLength||Infinity,minLength:l.minLength||1}:{},{label:i,isMandatory:n,className:o,helperText:r}=X;return e(x,{className:o,label:i,isMandatory:n,helperText:r,onchange:e=>ae(e.map(e=>e.tag)),placeholder:l.placeholder||\"Add a tag\",secondaryPlaceholder:l.secondaryPlaceholder||\"+tag\",data:t,autocompleteOptions:a,onblur:J})}case\"autocomplete\":{const t=ie,a=Z&&Z.length>0?{data:Z.reduce((e,t)=>(e[t.id]=null,e),{}),limit:l.maxLength||Infinity,minLength:l.minLength||1}:{data:{}},{label:i,isMandatory:n,className:o,helperText:r}=X;return e(h,{initialValue:t,className:o,label:i,isMandatory:n,helperText:r,onchange:ae,onblur:J,placeholder:l.placeholder||\"...\",...a})}case\"textarea\":{const t=ie;return e(A,{...X,validate:te,autofocus:c,onchange:ae,initialValue:t,onkeyup:H,onkeydown:U,onblur:J})}case\"file\":{const t=ie,{url:a,placeholder:i}=l;if(!a)throw Error('Input field \"url\" not defined, which indicates the URL to the upload folder.');const n=Z?Z.map(e=>e.id):void 0,o=t=>{if(!t||t.length<1)return void ae(\"\");const i=new FormData;i.append(\"file\",t[0]),e.request({method:\"POST\",url:a,body:i}).then(e=>ae(e)).catch(console.error)};return e(L,{...X,accept:n,placeholder:i,onchange:o,initialValue:t})}case\"base64\":{const t=ie,a=!(!t||!/data:image/i.test(t)),{placeholder:i}=l,n=Z?Z.map(e=>e.id).join(\",\"):void 0,o=t=>{if(!t||t.length<1)return void ae(\"\");const a=new FileReader;a.onloadend=()=>{\"string\"==typeof a.result&&ae(a.result),e.redraw()},a.readAsDataURL(t[0])};return a?e(\"div\",[e(\"img.responsive-img\",{src:t,alt:s.title||s.alt||s.name||\"\",style:`max-height: ${l.max||50}px`}),e(v,{iconName:\"clear\",onclick:()=>ae(\"\")})]):e(L,{...X,accept:n,placeholder:i,onchange:o,initialValue:t})}case\"url\":{const t=ie;return e(C,{placeholder:\"http(s)://www.example.com\",...X,validate:te,autofocus:c,onchange:ae,initialValue:t,onkeydown:U,onkeyup:H,onblur:J})}case\"text\":{const t=ie;return e(S,{...X,validate:te,autofocus:c,onchange:ae,initialValue:t,onkeydown:U,onkeyup:H,onblur:J})}default:return}}}}},ke=()=>{const t={},a=(e,a)=>{const i=e instanceof Array?e.length:e.hasOwnProperty(a)?e[a].length:0,n=t.onNewItem?t.onNewItem(e,a,i):{};e instanceof Array?e.push(n):e.hasOwnProperty(a)?e[a].push(n):e[a]=[n]};let i;const n=e=>{e.preventDefault()};return{oninit:({attrs:{i18n:e={},field:{id:a=\"\",sortProperty:n,onNewItem:o}}})=>{t.editLabel=e.editRepeat||`Edit ${String(a)}`,t.createLabel=e.createRepeat||`Create new ${String(a)}`,t.onNewItem=o,i=(e=>{if(!e)return(e,t)=>0;const t=\"!\"===e[0],a=t?e.substring(1):e;return t?(e,t)=>e[a]>t[a]?-1:e[a]<t[a]?1:0:(e,t)=>e[a]>t[a]?1:e[a]<t[a]?-1:0})(n)},view:({attrs:{field:o,obj:r,context:l,className:s=(o.className?\".\"+o.className.split(\" \").join(\".\"):\".col.s12\"),section:c,containerId:d,disabled:p=(\"boolean\"==typeof o.disabled?o.disabled:void 0),readonly:u,i18n:m={},onchange:h}})=>{const{filterValue:f}=t,{id:g,label:b,type:y,min:x,max:k,pageSize:N,propertyFilter:$,filterLabel:I,readonly:O=u,repeatItemClass:A=\"\"}=o,D=((e,t)=>e instanceof Array?e:(e.hasOwnProperty(t)||(e[t]=[]),e[t]))(r,g),T=f?fe(f):void 0,M=$&&T&&T.length>2?D.filter(e=>fe(`${e[$]}`).indexOf(T)>=0):D,C=(e=>{const t=window.location.hash.split(\"?\")[1];return t?new URLSearchParams(t).get(e):null})(String(g)),V=C?Math.min(M.length,+C):1,j=N&&M&&(V-1)*N<M.length?V:1,L=N?(e,t)=>(j-1)*N<=t&&t<j*N:()=>!0,R=e.route.get()||location.href.replace(location.origin,\"\").replace(\"/#!\",\"\"),P=N?Math.ceil(M.length/N):0,F=!!(k&&M.length>=k),H=!p&&!O&&(!x||M.length>x),U=R?R.split(\"?\")[0]:\"\",q=(e=>{const t=e?e.split(\"?\")[1]:window.location.search.slice(1),a={};if(t){const e=t.split(\"&\");for(var i=0;i<e.length;i++){const t=e[i].split(\"=\"),n=t[0],o=void 0===t[1]||t[1];if(n.match(/\\[(\\d+)?\\]$/)){const e=a[n.replace(/\\[(\\d+)?\\]/,\"\")]||[];n.match(/\\[\\d+\\]$/)?e[+/\\[(\\d+)\\]/.exec(n)[1]]=o:e.push(o)}else a[n]?\"string\"==typeof a[n]?(a[n]=[a[n]],a[n].push(o)):a[n].push(o):a[n]=o}}return a})(R),B=30+10*Math.floor(Math.log10(M.length)),J=0===P;return[[e(`#${String(g)}.mui-repeat-list${s}`,[e(\".row.mui-repeat-list-controls\",e(\".col.s12\",[e(v,{iconName:p||O||F?\"\":\"add\",iconClass:\"right\",label:b,onclick:()=>{a(r,String(g)),g&&e.route.set(U,Object.assign(q,{[g]:M.length})),h&&h(r)},style:{padding:0},className:\"left\",disabled:p||F,readonly:O}),P>1&&e(\".right\",e(_,{curPage:j,items:ge(1,P).map(e=>({href:ye(U,q,{[g]:e})}))})),(M.length>1||f)&&$&&!p&&e(S,{style:\"margin-top: -6px; margin-bottom: -1rem;\",iconName:\"filter_list\",iconClass:\"small\",placeholder:I,onkeyup:(e,a)=>t.filterValue=a,className:\"right\",disabled:p,readonly:O})])),M&&M.length>0&&\"string\"!=typeof y&&M.sort(i).filter(L).map((a,i)=>e(\".mui-repeat-item\",{key:i,draggable:J,ondragstart:J?e=>((e,t)=>{e.dataTransfer?.setData(\"text/plain\",t.toString())})(e,i):void 0,ondragover:J?n:void 0,ondrop:J?e=>((e,t,a,i,n)=>{const o=parseInt(e.dataTransfer?.getData(\"text\")||\"0\",10),r=[...a[i]],[l]=r.splice(o,1);r.splice(t,0,l),a[i]=r,n&&n(a),e.preventDefault()})(e,i,r,g,h):void 0,style:{display:\"flex\",cursor:J?\"move\":void 0}},[H&&[(!N||N>1)&&e(\"span.mui-show-item-number left\",{style:`flex: 0 0 ${B}px;`},`[${(N?(j-1)*N+i:i)+1}]`)],[e(\".row.repeat-item\",{className:A,key:V+be(a),style:\"flex: 1;\"},[y&&e(De,{form:y,obj:a,i18n:m,context:l instanceof Array?[r,...l]:[r,l],section:c,containerId:d,disabled:p,readonly:O,onchange:()=>h&&h(r)})])],H&&[e(v,{iconName:\"delete\",className:\"mui-delete-item\",iconClass:\"mui-delete-icon\",style:{flex:\"0 0 20px\",padding:0},disabled:p,readonly:O,onclick:()=>{t.curItemIdx=N?(j-1)*N+i:i}})]])),!(p||F||O||!M||0===M.length||1===N)&&e(w,{iconName:\"add\",className:\"row mui-add-new-item btn-small right\",title:b,style:\"padding: 0; margin-top: -10px; margin-right: -25px\",onclick:()=>{a(r,String(g)),e.route.set(U,Object.assign(q,{[g]:M.length})),h&&h(r)}})])],void 0!==t.curItemIdx&&e(E,{id:\"deleteItem\",onCreate:e=>e.open(),options:{onCloseStart:()=>{t.curItemIdx=void 0,e.redraw()}},fixedFooter:!0,title:m.deleteItem||\"Delete item\",description:e(De,{form:y,obj:M[t.curItemIdx],context:l instanceof Array?[r,...l]:[r,l],section:c,containerId:d,readonly:!0,i18n:m}),buttons:[{label:m.disagree||\"Disagree\"},{label:m.agree||\"Agree\",onclick:()=>{void 0!==t.curItemIdx&&(M.splice(t.curItemIdx,1),r instanceof Array?r=[...M]:r[g]=[...M],h&&h(r))}}]})]}}},Ne=()=>{const t={};return{oninit:({attrs:{i18n:e={}}})=>{const{raw:a=\"RAW\",view:i=\"VIEW\"}=e;t.raw=a,t.view=i},view:({attrs:{field:{id:a=\"\",type:i,onSelect:n},obj:o,context:r,containerId:l,disabled:s,readonly:c,i18n:d,onchange:p}})=>{if(o instanceof Array)return;const u=o[a],m=u?JSON.parse(u):void 0,h=m&&m.features||[],f=[],g={title:t.raw,vnode:e(A,{class:\"col s12\",initialValue:m?JSON.stringify(m,null,2):void 0,placeholder:\"Enter GeoJSON\",onchange:e=>o[a]=e})};if(!i||\"string\"==typeof i)return;const b=i,y=b.length>0?b[0].id:void 0,v={title:t.view,vnode:h.length?e(N,{oncreate:({dom:e})=>t.dom=e,onOpenStart:n?e=>{const a=t.dom.children||[];for(let t=0;t<a.length;t++)if(a[t]===e)return void n(t,h[t])}:void 0,className:\"geojson-feature-list\",items:h.map((t,i)=>(t.properties||(t.properties={}),{id:\"erik_\"+i,key:i,header:y&&t.properties[y]||t.geometry.type,body:e(\".row\",e(De,{class:\"col s12\",form:b,obj:t.properties,i18n:d,context:r instanceof Array?[o,...r]:[o,r],containerId:l,disabled:s,readonly:c,onchange:(e,t)=>{t&&(h[i].properties=t),o[a]=JSON.stringify(m,null,2),p&&p(o)}}))}))}):e(\"span\",\"...\")};return f.push(v),f.push(g),e(Z,{tabs:f,tabWidth:\"fill\"})}}},$e={},Ie={},Oe=(e,t,a)=>{$e[e]=t,a&&(Ie[e]=a)},Ae=xe($e,Ie),De=()=>({view:({attrs:{i18n:t,form:a,obj:i,onchange:n,disabled:o,readonly:r,context:l,section:s}})=>{const c=e=>n&&n(((e,t)=>t.filter(e=>e.required&&void 0!==typeof e.id).reduce((t,a)=>t&&!(a.id&&(void 0===e[a.id]||e[a.id]instanceof Array&&0===e[a.id].length||\"string\"==typeof e[a.id]&&0===e[a.id].length)),!0))(e,a),e);return a.filter((e=>{if(!e)return e=>!0;let t=!1;return({type:a,id:i})=>\"section\"===a?(t=i===e,!1):t})(s)).filter(e=>!e.show||re(e.show,i,...l||[])).reduce((a,n)=>(n.type||(n.type=(e=>{const{autogenerate:t,value:a,options:i}=e;return t?\"none\":a?\"string\"==typeof a?\"md\":\"number\"==typeof a?\"number\":\"boolean\"==typeof a?\"checkbox\":\"none\":i&&i.length>0?\"select\":\"none\"})(n)),[...a,void 0===n.repeat||!1===n.repeat?e(Ae,{i18n:t,field:n,obj:i,onchange:c,disabled:o,readonly:r,context:l,section:s,containerId:\"body\"}):e(\"geojson\"===n.repeat?Ne:ke,{obj:i,field:n,onchange:c,context:l,i18n:t,containerId:\"body\",disabled:o,readonly:r})]),[])}});export{xe as FormFieldFactory,De as LayoutForm,we as ReadonlyComponent,ke as RepeatList,ve as SlimdownView,G as capitalizeFirstLetter,me as deepCopy,ae as flatten,pe as formatExpression,te as getPath,Q as isComponentType,he as labelResolver,X as padLeft,ge as range,Oe as registerPlugin,le as resolveExpression,fe as stripSpaces,ee as toHourMin};\n//# sourceMappingURL=index.esm.js.map\n","import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nexport default createBaseFor;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nexport default shortOut;\n","import baseRest from './_baseRest.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nexport default createAssigner;\n","import { I18n } from 'mithril-ui-form';\nimport translate, { Options, Translate } from 'translate.js';\nimport { plural_EN } from 'translate.js/pluralize';\n\nexport type Languages = 'nl' | 'en';\n\nexport const messages = {\n HOME: { TITLE: 'home', ROUTE: '/home' },\n ABOUT: { TITLE: 'About the app', ROUTE: '/about' },\n DEFINE_BOX: { TITLE: 'Morphological box', ROUTE: '/define' },\n SETTINGS: { TITLE: 'Settings', ROUTE: '/settings' },\n CREATE_SCENARIO: { TITLE: 'Create scenario', ROUTE: '/create' },\n SHOW_SCENARIO: { TITLE: 'Show scenarios', ROUTE: '/show' },\n DECISION_SUPPORT: { TITLE: 'Decision support', ROUTE: '/decide' },\n DOWNLOAD: 'Save scenario file',\n UPLOAD: 'Load scenario file',\n CANCEL: 'Cancel',\n DELETE: 'Delete',\n AND: 'and',\n YES: 'Yes',\n NO: 'No',\n OK: 'Ok',\n NAME: 'Name',\n DESCRIPTION: 'Description',\n CATEGORIES: 'Categories',\n DIMENSION: 'Key driver',\n DIMENSION_SELECTED: 'Selected drivers',\n DIMENSIONS: 'Drivers',\n KEY_VALUE: 'Key value',\n CONTEXT: 'Context',\n NONE: 'None',\n LOCATION: 'Location',\n LOCATION_TYPE: 'Location type',\n COORDINATES: 'Coordinates',\n LOCATION_NAME: 'Location name',\n LATITUDE: 'Latitude',\n LONGITUDE: 'Longitude',\n MANUAL: 'Manual mode',\n Type: 'Type',\n PICK_FROM_LIST: 'Pick from list',\n ENTER_KEY_VALUE: 'Enter key value',\n EDIT_COMPONENT: 'Edit component',\n ADD_COMPONENT: 'Add component',\n GENERATE_NARRATIVE: 'Generate',\n CLEAR_NARRATIVE: 'Clear',\n NAME_NARRATIVE: 'Title of current narrative',\n SAVE_NARRATIVE: 'Save',\n SAVED_NARRATIVES: 'Saved scenarios',\n NARRATIVE: 'narrative',\n INCLUDE_NARRATIVE: 'Include scenario',\n NARRATIVE_INCLUDED: 'Scenario is included',\n SELECT_NARRATIVE: 'Select narrative',\n KEY: 'Key',\n VALUE: 'Value',\n MODEL: 'Model',\n SELECTION: 'Selected value',\n EDITOR_PLACEHOLDER: 'Edit narrative',\n THRESHOLDS: 'Thresholds colors reflecting component options',\n THRESHOLD: 'Threshold value',\n COLOR: 'Color',\n ORDER: 'Order',\n COMBINATIONS: {\n POSSIBLE: 'Combinations are possible',\n IMPOSSIBLE: 'Combinations are impossible',\n IMPROBABLE: 'Combinations are improbable',\n },\n DELETE_ITEM: {\n title: 'Delete {item}',\n description:\n 'Are you certain you want to delete this {item}. There is no turning back?',\n },\n NEW_MODEL: {\n btn: 'New model',\n title: 'Choose a new model and erase everything',\n description:\n 'Are you sure that you want to delete your existing model and start one of the available new ones? There is no way back.',\n choose: 'Choose your new model',\n remove: 'Remove all key values',\n },\n INCONSISTENCIES: {\n title: 'Edit inconsistencies',\n SELECT_ROW: 'Select row',\n SELECT_COL: 'Select column',\n },\n saveButton: {\n label: 'Save',\n tooltip: 'Save unsaved changes',\n },\n i18n: {\n /** Label for the edit button of the RepeatList */\n editRepeat: 'Edit',\n /** Label for the create button of the RepeatList */\n createRepeat: 'Add',\n /** Label for the delete button of the RepeatList */\n deleteItem: 'Delete',\n /** Label for the agree button of the RepeatList */\n agree: 'Yes',\n /** Label for the disagree button of the RepeatList */\n disagree: 'No',\n /** Pick */\n pick: 'Pick',\n /** Pick one */\n pickOne: 'Pick one',\n /** Pick one or more */\n pickOneOrMore: 'Pick one or more',\n /** Cancel button text */\n cancel: 'Cancel',\n /** Save button text */\n save: 'Save',\n },\n COMP: {\n AVAILABLEBUDGET: 'Budget',\n BEHAVIOURDURINGPREPARATION: 'Behaviour during preparation',\n CAPABILITIES: 'Capability',\n COMPARTMENTSPRESENT: 'Compartments present',\n CRIMINALPHASE: 'Criminal phase',\n DURATION: 'Duration',\n EQUIPMENT: 'Equipment',\n EXISTINGINFRA: 'Existing infra',\n IMPACT: 'Impact',\n INTENT: 'Bystander intent',\n LOCATION: 'Location',\n LOCATION2: 'Location',\n MODUSOPERANDIDURINGEXECUTION: 'Mode of operation',\n MOTIVATION: 'Motivation',\n NARRATIVE: 'Narrative',\n NARRATIVE_PLACEHOLDER:\n 'Describe the context in which the incident took place, such as a description of the (geographic) location, the person or building that must be protected, the way an actor obtains information, at what time did the action take place, under what weather circumstances, how many persons were involved in the action, from which organisation, how did they obtain access, or which means/weapons were employed.',\n OBJECT: 'Object',\n OPENCOMPARTMENTS: 'Open compartment',\n PEOPLEDENSITY: 'Person density',\n PERSONS: 'Person',\n PHYSICALANGLEOFATTACKDURINGEXECUTION: 'Physical angle of attack',\n PHYSICAL_ANGLE: 'Physical angle',\n PRIVACYAWARENESS: 'Privacy awareness',\n RELATIONOWNEROBJECTANDOWNERSECURITYSYSTEM:\n 'Relation owner object and owner security system',\n RESPONSIBILITY: 'Responsibility',\n SCENARIOS: 'Scenario',\n SECURITYAWARENESS: 'Security awareness',\n TARGETTYPE: 'Target type',\n THREATDIRECTION: 'Threat direction',\n ACTOR: 'Actor',\n ACTION: 'Action',\n ACCESS: 'Access',\n MEANS: 'Means',\n TYPEOFENVIRONMENT: 'Environment type',\n TYPEOFOBJECT: 'Type of object',\n WEAPON: 'Weapon',\n WEATHERBEHAVIOUR: 'Weather behaviour',\n WEATHERTYPE: 'Weather condition',\n PI: 'Protected interest (target)',\n MEANSWEAPON: 'Means/weapon',\n MISSIONCONTEXT: 'Mission context',\n ADVERSARY: 'Adversary',\n C2HEADQUARTERS: 'C2-HQ location',\n TARGET: 'Target',\n DELIBERATEACTION: 'Deliberate action',\n MEANS2: 'Means of attack',\n MEANS3: 'Means for action',\n MEANS4: 'Means for access',\n ACCESS2: 'Means of access',\n MEANS2ACCESS: 'Means to access',\n },\n MODEL_NAMES: {\n 0: 'Empty model',\n 1: 'Simple model (in English)',\n },\n MODEL_DESC: {\n 0: 'An empty scenario model.',\n 1: 'A scenario model with a threat and a context category.',\n },\n JSON_NOT_VALID: 'JSON model file not valid! Aborting.',\n NO_NARRATIVE: 'Narrative not generated in 100 tries!',\n SPEC_CATS:\n 'First specify some categories, where each category contains some key drivers.',\n EXPORT2WORD: 'Export to Word',\n HIDE_INCONSISTENT: 'Hide inconsistent combinations',\n GOAL: {\n TITLE: 'Goal',\n DESC: 'ScenarioSpark is a web application that can be used to systematically create and manage a set of scenarios for risk management activities.',\n },\n USAGE: {\n TITLE: 'Usage',\n DESC: 'ScenarioSpark supports the user in creating and compiling a representative set of scenarios that can be used in the various steps of the risk management process.',\n },\n SECURITY: {\n TITLE: 'Security',\n DESC: 'All information used and entered is processed and stored exclusively locally.',\n },\n SUMMARY:\n 'A free tool to support you in creating new scenarios using a morphological box. First, you define the aspects that are of interest in your domain. Next, you specify variations for each aspect. And finally, you either manually create new scenarios, or become inspired by generating possible scenarios automatically.',\n SET_LANGUAGE: 'Set language',\n SCENARIO_LOADED_MSG: 'Scenario successfully loaded',\n COPY_TO_CLIPBOARD: 'Copy table to clipboard',\n GROUP: { SELECTED: 'Selected scenarios', UNSELECTED: 'Unselected scenarios' },\n CLONE_NARRATIVE: 'Clone',\n INCLUDE_DECISION_SUPPORT: 'Activate decision support',\n IS_DECISION_CATEGORY: 'For decision support',\n PROBABILITY: 'Probability of occurence',\n IMPACT: 'Impact',\n RISK: 'Risk',\n RISK_PLACEHOLDER: 'Select probability and impact',\n PROB5: { 0: 'Very low', 1: 'Low', 2: 'Medium', 3: 'High', 4: 'Very high' },\n IMP5: { 0: 'Very low', 1: 'Low', 2: 'Medium', 3: 'High', 4: 'Very high' },\n RISK5: { 0: 'Very low', 1: 'Low', 2: 'Medium', 3: 'High', 4: 'Very high' },\n SUGGESTED_APPROACH: {\n TITLE: 'Suggested approach',\n DESC: 'The suggested approach is a (risk-)weighted combination of the selected counter-measures.',\n },\n TEMPLATE: {\n TITLE: 'Template string for fluid text',\n DESC: 'Write a paragraph where {1} is replaced by the value for key factor 1, etc. Empty lines are converted to paragraphs.',\n },\n};\n\nexport const messagesNL: typeof messages = {\n HOME: { TITLE: 'home', ROUTE: '/home' },\n ABOUT: { TITLE: 'over de app', ROUTE: '/over' },\n DEFINE_BOX: { TITLE: 'Morfologische box', ROUTE: '/definieer' },\n SETTINGS: { TITLE: 'Instellingen', ROUTE: '/instellingen' },\n CREATE_SCENARIO: { TITLE: 'Maak scenario', ROUTE: '/maak' },\n SHOW_SCENARIO: { TITLE: \"Toon scenario's\", ROUTE: '/toon' },\n DECISION_SUPPORT: { TITLE: 'Beslisondersteuning', ROUTE: '/beslis' },\n DOWNLOAD: 'Bewaar scenario bestand',\n UPLOAD: 'Inlezen scenario bestand',\n CANCEL: 'Afbreken',\n DELETE: 'Verwijderen',\n AND: 'en',\n YES: 'Ja',\n NO: 'Nee',\n OK: 'Ok',\n NAME: 'Naam',\n DESCRIPTION: 'Omschrijving',\n CATEGORIES: 'Categorieën',\n DIMENSION: 'Hoofdfactor',\n DIMENSION_SELECTED: 'Geselecteerde factoren',\n DIMENSIONS: 'Factoren',\n KEY_VALUE: 'Waarde',\n CONTEXT: 'Context',\n NONE: 'Geen',\n LOCATION: 'Locatie',\n LOCATION_TYPE: 'Locatietype',\n COORDINATES: 'Coordinaten',\n LOCATION_NAME: 'Locatienaam',\n LATITUDE: 'Latitude',\n LONGITUDE: 'Longitude',\n MANUAL: 'Manuele mode',\n Type: 'Type',\n PICK_FROM_LIST: 'Kies uit de lijst',\n ENTER_KEY_VALUE: 'Vul een sleutel en waarde in',\n EDIT_COMPONENT: 'Bewerk optie',\n ADD_COMPONENT: 'Nieuwe optie',\n GENERATE_NARRATIVE: 'Genereer',\n CLEAR_NARRATIVE: 'Wis',\n NARRATIVE: 'verhaallijn',\n NAME_NARRATIVE: 'Titel van huidige verhaallijn',\n SAVE_NARRATIVE: 'Bewaar',\n SAVED_NARRATIVES: \"Bewaarde scenario's\",\n INCLUDE_NARRATIVE: 'Selecteer scenario',\n NARRATIVE_INCLUDED: 'Scenario is geselecteerd',\n SELECT_NARRATIVE: 'Selecteer verhaallijn',\n KEY: 'Sleutel',\n VALUE: 'Waarde',\n MODEL: 'Model',\n SELECTION: 'Geselecteerde waarde',\n EDITOR_PLACEHOLDER: 'Bewerk verhaallijn',\n THRESHOLDS: 'Kleuren voor weergave gebruik van opties',\n THRESHOLD: 'Drempelwaarde',\n COLOR: 'Kleur',\n ORDER: 'Volgorde',\n COMBINATIONS: {\n POSSIBLE: 'Combinaties zijn mogelijk',\n IMPOSSIBLE: 'Combinaties zijn onmogelijk',\n IMPROBABLE: 'Combinaties zijn onwaarschijnlijk',\n },\n DELETE_ITEM: {\n title: 'Verwijder {item}',\n description:\n 'Weet u zeker dat u de {item} wilt verwijderen? Dit kan niet ongedaan gemaakt worden.',\n },\n NEW_MODEL: {\n btn: 'Nieuw model',\n title: 'Kies een nieuw model en wis alles',\n description:\n 'Weet u zeker dat u het huidige model wilt wissen, en met één van onderstaande modellen wilt verdergaan? Er is geen weg terug.',\n choose: 'Kies uw nieuwe model',\n remove: 'Verwijder alle reeds ingevulde waarden',\n },\n INCONSISTENCIES: {\n title: 'Bewerk inconsistencies',\n SELECT_ROW: 'Selecteer rij',\n SELECT_COL: 'Selecteer kolom',\n },\n saveButton: {\n label: 'Opslaan',\n tooltip: 'Sla aanpassingen op',\n },\n i18n: {\n /** Label for the edit button of the RepeatList */\n editRepeat: 'Bewerk',\n /** Label for the create button of the RepeatList */\n createRepeat: 'Nieuw',\n /** Label for the delete button of the RepeatList */\n deleteItem: 'Verwijder',\n /** Label for the agree button of the RepeatList */\n agree: 'Ja',\n /** Label for the disagree button of the RepeatList */\n disagree: 'Nee',\n /** Pick */\n pick: 'Kies',\n /** Pick one */\n pickOne: 'Kies één',\n /** Pick one or more */\n pickOneOrMore: 'Kies één of meer',\n /** Cancel button text */\n cancel: 'Afbreken',\n /** Save button text */\n save: 'Opslaan',\n },\n COMP: {\n AVAILABLEBUDGET: 'Budget',\n BEHAVIOURDURINGPREPARATION: 'Gedrag tijdens voorbereiding',\n CAPABILITIES: 'Capability',\n COMPARTMENTSPRESENT: 'Aanwezige compartimenten',\n CRIMINALPHASE: 'Criminele fase',\n DURATION: 'Duur',\n EQUIPMENT: 'Materieel',\n EXISTINGINFRA: 'Bestaande infra',\n IMPACT: 'Impact',\n INTENT: 'Intentie publiek',\n LOCATION: 'TBB: locatie',\n LOCATION2: 'Locatie',\n MODUSOPERANDIDURINGEXECUTION: 'Modus operandus',\n MOTIVATION: 'Motivatie',\n NARRATIVE: 'Verhaallijn',\n NARRATIVE_PLACEHOLDER:\n 'Beschrijf de context waarin het incident plaatsvindt, zoals een nadere beschrijving van de (geografische) locatie, de te beschermen persoon of gebouw, de wijze waarop een actor informatie verzamelt, op welk tijdstip vindt de actie plaats, onder welke weersomstandigheden, hoeveel personen zijn er betrokken bij de actie, van welke organisatie, hoe kregen ze toegang, of welke middelen/wapens werden ingezet.',\n OBJECT: 'Object',\n OPENCOMPARTMENTS: 'Open compartiment',\n PEOPLEDENSITY: 'Personendichtheid',\n PERSONS: 'Persoon',\n PHYSICALANGLEOFATTACKDURINGEXECUTION: 'Fysieke aanvalshoek',\n PHYSICAL_ANGLE: 'Fysieke hoek',\n PRIVACYAWARENESS: 'Privacy-bewustzijn',\n RELATIONOWNEROBJECTANDOWNERSECURITYSYSTEM:\n 'Relatie eigenaar object en eigenaar beveiligingssysteem',\n RESPONSIBILITY: 'Verantwoordelijkheid',\n SCENARIOS: 'Scenario',\n SECURITYAWARENESS: 'Beveiligingsbewustzijn',\n TARGETTYPE: 'Doeltype',\n THREATDIRECTION: 'Dreigingsrichting',\n ACTOR: 'Actor',\n ACTION: 'Moedwillige actie',\n ACCESS: 'Wijze van toegang',\n MEANS: 'Middel / wapen',\n TYPEOFENVIRONMENT: 'Omgevingstype',\n TYPEOFOBJECT: 'Objecttype',\n WEAPON: 'Wapen',\n WEATHERBEHAVIOUR: 'Weersgedrag',\n WEATHERTYPE: 'Weersconditie',\n PI: 'TBB: Soort doelwit',\n MEANSWEAPON: 'Middel/wapen',\n MISSIONCONTEXT: 'Missiecontext',\n ADVERSARY: 'Tegenstander',\n C2HEADQUARTERS: 'C2-HQ locatie',\n TARGET: 'Doelwit',\n DELIBERATEACTION: 'Moedwillige actie',\n MEANS2: 'Aanslagmiddel',\n MEANS3: 'Middel tbv actie',\n MEANS4: 'Middel tbv toegang',\n ACCESS2: 'Wijze van binnendringen',\n MEANS2ACCESS: 'Middel om binnen te dringen',\n },\n MODEL_NAMES: {\n 0: 'Leeg model',\n 1: 'Simpel model (in Engels)',\n },\n MODEL_DESC: {\n 0: 'Een leeg scenario model.',\n 1: 'Een scenario model met een dreigings- en contextcategorie.',\n },\n JSON_NOT_VALID: 'JSON bestand niet valide! Het inladen wordt afgebroken.',\n NO_NARRATIVE: 'Er kon geen verhaallijn gegenereerd worden na 100 pogingen!',\n SPEC_CATS:\n 'Definieer eerst 1 of 2 categorieën, met in iedere categorie enkele hoofdfactoren.',\n EXPORT2WORD: 'Exporteer naar Word',\n HIDE_INCONSISTENT: 'Verberg inconsistente combinaties',\n GOAL: {\n TITLE: 'Doel',\n DESC: 'ScenarioSpark is een webapplicatie waarmee systematisch een set scenario’s ten behoeve van risicomanagement- activiteiten kan worden gemaakt en beheerd.',\n },\n USAGE: {\n TITLE: 'Gebruik',\n DESC: 'ScenarioSpark ondersteunt de gebruiker bij het op- en samenstellen van een representatieve set scenario’s die gebruikt kan worden in de diverse stappen van het risicomanagement proces. ',\n },\n SECURITY: {\n TITLE: 'Security',\n DESC: 'Alle gebruikte en ingevoerde informatie wordt uitsluitend lokaal verwerkt en opgeslagen.',\n },\n SUMMARY:\n \"Een gratis hulpmiddel om u te ondersteunen bij het creëren van nieuwe scenario's met behulp van een morfologische doos. Eerst definieert u de aspecten die van belang zijn voor uw domein. Vervolgens specificeert u variaties voor elk aspect. En ten slotte creëer je handmatig nieuwe scenario's, of laat u zich inspireren door mogelijke scenario's te genereren.\",\n SET_LANGUAGE: 'Kies de taal',\n SCENARIO_LOADED_MSG: \"De scenario's zijn ingeladen\",\n COPY_TO_CLIPBOARD: 'Kopieer tabel naar het plakbord',\n GROUP: { SELECTED: 'Geselecteerd', UNSELECTED: 'Niet geselecteerd' },\n CLONE_NARRATIVE: 'Kopieer',\n INCLUDE_DECISION_SUPPORT: 'Activeer beslisondersteuning',\n IS_DECISION_CATEGORY: 'Voor beslisondersteuning',\n PROBABILITY: 'Kans van optreden',\n IMPACT: 'Impact',\n RISK: 'Risico',\n RISK_PLACEHOLDER: 'Specificeer kans en impact',\n PROB5: {\n 0: 'Zeer laag',\n 1: 'Laag',\n 2: 'Gemiddeld',\n 3: 'Hoog',\n 4: 'Zeer hoog',\n },\n IMP5: {\n 0: 'Zeer laag',\n 1: 'Laag',\n 2: 'Gemiddeld',\n 3: 'Hoog',\n 4: 'Zeer hoog',\n },\n RISK5: {\n 0: 'Zeer laag',\n 1: 'Laag',\n 2: 'Gemiddeld',\n 3: 'Hoog',\n 4: 'Zeer hoog',\n },\n SUGGESTED_APPROACH: {\n TITLE: 'Aanbevolen aanpak',\n DESC: 'De aanbevolen aanpak is gebaseerd op een risicogewogen combinatie van de gekozen maatregelen.',\n },\n TEMPLATE: {\n TITLE: 'Template om de factoren te vertalen naar een lopende tekst.',\n DESC: 'Schrijf een paragraaf waarbij {1} zal vervangen worden door de waarde van factor 1, etc. Lege regels worden omgezet naar paragrafen.',\n },\n};\n\nconst setGuiLanguage = (language: Languages) => {\n const options = {\n // These are the defaults:\n debug: true, //[Boolean]: Logs missing translations to console and add \"@@\" around output, if `true`.\n array: true, //[Boolean]: Returns translations with placeholder-replacements as Arrays, if `true`.\n resolveAliases: true, //[Boolean]: Parses all translations for aliases and replaces them, if `true`.\n pluralize: plural_EN, //[Function(count)]: Provides a custom pluralization mapping function, should return a string (or number)\n useKeyForMissingTranslation: true, //[Boolean]: If there is no translation found for given key, the key is used as translation, when set to false, it returns undefiend in this case\n };\n return translate(\n language === 'nl' ? messagesNL : messages,\n options\n ) as Translate<typeof messages, Options>;\n};\n\nexport type TextDirection = 'rtl' | 'ltr';\n\nexport type Locale = {\n /** Friendly name */\n name: string;\n /** Fully qualified name, e.g. 'en-UK' */\n fqn: string;\n /** Text direction: Left to right or right to left */\n dir?: TextDirection;\n /** Is the default language */\n default?: boolean;\n};\n\nexport type Locales = Record<Languages, Locale>;\n// export type Locales = {\n// [key: Languages]: Localeg;\n// } & {\n// /** Default URL to load the language files, e.g. '/lang/{locale}.json' */\n// url?: string;\n// };\n\nexport type Listener = (locale: string, dir: TextDirection) => void;\n\nconst onChangeLocale: Listener[] = [];\n\nexport const i18n = {\n defaultLocale: 'en' as Languages,\n currentLocale: 'en' as Languages,\n locales: {} as Locales,\n init,\n addOnChangeListener,\n loadAndSetLocale,\n i18n: {} as I18n,\n // } as {\n // defaultLocale: Languages;\n // currentLocale: Languages;\n // locales: Locales;\n // t: Translate<typeof messages, Options>;\n};\n\nexport let t: Translate<typeof messages, Options>;\n\nasync function init(locales: Locales, selectedLocale: Languages) {\n i18n.locales = locales;\n const defaultLocale = (Object.keys(locales) as Languages[])\n .filter((l) => (locales[l] as Locale).default)\n .shift();\n if (defaultLocale) {\n i18n.defaultLocale = defaultLocale || selectedLocale;\n }\n document.documentElement.setAttribute('lang', selectedLocale);\n await loadAndSetLocale(selectedLocale);\n}\n\nfunction addOnChangeListener(listener: Listener) {\n onChangeLocale.push(listener);\n}\n\nasync function loadAndSetLocale(newLocale: Languages) {\n if (i18n.currentLocale === newLocale) {\n return;\n }\n\n const resolvedLocale = supported(newLocale) ? newLocale : i18n.defaultLocale;\n i18n.currentLocale = resolvedLocale;\n t = setGuiLanguage(newLocale);\n i18n.i18n = {\n editRepeat: t('i18n', 'editRepeat'),\n createRepeat: t('i18n', 'createRepeat'),\n deleteItem: t('i18n', 'deleteItem'),\n agree: t('i18n', 'agree'),\n disagree: t('i18n', 'disagree'),\n pickOne: t('i18n', 'pickOne'),\n pickOneOrMore: t('i18n', 'pickOneOrMore'),\n cancel: t('i18n', 'cancel'),\n save: t('i18n', 'save'),\n } as I18n;\n onChangeLocale.forEach((listener) => listener(i18n.currentLocale, dir()));\n}\n\nfunction supported(locale: Languages) {\n return Object.keys(i18n.locales).indexOf(locale) >= 0;\n}\n\nfunction dir(locale = i18n.currentLocale) {\n return (i18n.locales[locale] as Locale).dir || 'ltr';\n}\n","import { Translate, Options } from 'translate.js';\nimport { messages } from '../services';\nimport { uniqueId } from 'mithril-materialized';\n\nexport type DataModel = {\n version?: number;\n lastUpdate?: number;\n scenario: Scenario;\n};\n\nexport type OldDataModel = {\n scenarios: {\n current: {\n id: string;\n type: string;\n category: string;\n name: string;\n desc: string;\n categories: {\n [key: string]: string[];\n };\n inconsistencies: Inconsistency[];\n narratives: Array<{\n id: string;\n name: string;\n components: { [key: ID]: ID };\n narrative: string;\n included: boolean;\n }>;\n };\n };\n} & {\n [key: string]: {\n list: Array<{\n id: string;\n name: string;\n type: string;\n desc?: string;\n context?: {\n type: 'LOCATION' | 'LOCATIONTYPE';\n data: {\n COORDINATES?: string;\n NAME?: string;\n [key: string]: string | undefined;\n };\n };\n }>;\n };\n};\n\nexport type InconsistencyType = 'partly' | 'totally';\n\n/** Old inconsistency type */\nexport type Inconsistency = {\n ids: [from: string, to: string];\n type: InconsistencyType;\n};\n\n/**\n * New inconsistency type, where a missing value indicates a combination that\n * is possible, a value of true indicates the combination is not possible, and\n * false indicates it is improbable.\n */\nexport type Inconsistencies = {\n [rowOrColId: string]: { [rowOrColId: string]: boolean };\n};\n\nexport type Item = {\n id: ID;\n label: string;\n /** Description of the item, may use markdown */\n desc?: string;\n};\n\nexport const contextTypeOptions = (\n t: Translate<typeof messages, Options>\n): Array<{ id: ContextType; label: string }> => [\n { id: 'none', label: t('NONE') },\n { id: 'location', label: t('LOCATION') },\n { id: 'locationType', label: t('LOCATION_TYPE') },\n];\n\nexport type ContextType = 'none' | 'location' | 'locationType';\nexport type LocationType = 'name' | 'coords';\nexport type LocationTypeType = 'list' | 'keyValue';\n\nexport type ContextualItem = Item & {\n context?: ContextType;\n /** Location name, e.g. the name of a city or landmark */\n location?: string;\n /** Type of location when the context is location, e.g. name or coordinates */\n locationType?: LocationType;\n /** Type of location when the context is locationType, e.g. pick from a default list or OSM key value */\n locationTypeType?: LocationTypeType;\n /** Location's latitude, WGS84 */\n lat?: number;\n /** Location's longitude, WGS84 */\n lon?: number;\n /** OSM type */\n osmTypeId?: string;\n /** OSM attribute key */\n key?: string;\n /** OSM attribute value */\n value?: string;\n};\n\nexport type Narrative = Item & {\n /** componentID => a component's valueId */\n components: { [key: ID]: ID[] };\n /** Is the narrative included in the final set of narratives or a temporary scenario, just in case */\n included: boolean;\n /** Is the narrative saved in the set of narratives (so we should be able to delete or replace it) */\n saved: boolean;\n /** Risk that the narrative occurs = chance x impact */\n risk?: ID;\n /** Probability that the narrative occurs */\n probability?: ID;\n /** Impact of the narrative */\n impact?: ID;\n};\n\n/** HEX color code */\nexport type Color = string;\n\n/** Threshold value and the corresponding color */\nexport type ThresholdColor = { threshold: number; color: Color };\n\nexport type Scenario = Item & {\n /** Template string to convert the scenario items to a fluid text. */\n template?: string;\n /** If true, do not show inconsistent combinations between components */\n hideInconsistentValues: boolean;\n /** If true, activate the decision support module */\n includeDecisionSupport: boolean;\n /** Combinations of scenario components that should not be used together */\n inconsistencies: Inconsistencies;\n /** Categories of components */\n categories: Category[];\n /** Scenario components, also known as key factors and key values */\n components: ScenarioComponent[];\n /** Stories consisting of scenario components and a narrative */\n narratives: Narrative[];\n /** Color thresholds to indicate how often a scenario component is used */\n thresholdColors: ThresholdColor[];\n // components: ScenarioComponent[];\n};\n\n/** Category of components, e.g. to separate context from narrative */\nexport type Category = Item & {\n /** If true, the category is used for decision support */\n decisionSupport?: boolean;\n componentIds?: ID[];\n};\n\n/** Key factors and their values that make up a narrative */\nexport type ScenarioComponent = Item & {\n /** Optional sort order */\n order?: number;\n /** Manual mode - if so, do not automatically generate a value for it */\n manual?: boolean;\n /** Key factor values */\n values?: ContextualItem[];\n /** Are there any contexts that are relevant, such as a location or mitigation measures */\n contexts?: ContextType[];\n};\n\n/** Default threshold colors */\nexport const thresholdColors = [\n { threshold: 0, color: '#ddeced' },\n { threshold: 1, color: '#FF7800' },\n { threshold: 2, color: '#ffff00' },\n { threshold: 3, color: '#ff0000' },\n];\n\n/**\n * One example model\n * TODO Create several models, e.g. one for security narratives,\n * one for safety regions/L3, one for TBB, etc.\n */\nexport const defaultModel = {\n version: 1,\n lastUpdate: new Date().valueOf(),\n scenario: {\n id: 'demo1',\n label: 'Demo',\n desc: 'Demo scenario',\n includeDecisionSupport: false,\n hideInconsistentValues: true,\n inconsistencies: {} as Inconsistencies,\n categories: [\n {\n id: 'threat',\n label: 'Threat',\n componentIds: [\n 'ThreatDirection',\n 'Impact',\n 'Motivation',\n 'ModusOperandiDuringExecution',\n 'Equipment',\n 'Responsibility',\n ],\n },\n {\n id: 'context',\n label: 'Context',\n componentIds: [\n 'WeatherType',\n 'WeatherBehaviour',\n 'TypeOfObject',\n 'AvailableBudget',\n 'OpenCompartments',\n 'Location',\n ],\n },\n ],\n components: [\n {\n id: 'ThreatDirection',\n label: 'Threat direction',\n values: [\n { id: 'df62efe6', label: 'Hannibal' },\n { id: '70630364', label: 'The Romans' },\n { id: '82d5d4f5', label: 'Herbert Hoover' },\n ],\n },\n {\n id: 'Impact',\n label: 'Impact',\n values: [\n { id: '5c532a23', label: 'Low' },\n { id: '16ad9a77', label: 'Medium' },\n { id: 'b894abb6', label: 'High' },\n ],\n },\n {\n id: 'Motivation',\n label: 'Motivation',\n values: [\n { id: 'f4ab7a7a', label: 'Money' },\n { id: 'ff550f8f', label: 'Justice' },\n { id: '22b4867e', label: 'Revenge' },\n ],\n },\n {\n id: 'ModusOperandiDuringExecution',\n label: 'Modus operandi during execution',\n values: [\n {\n id: '7ed25fa5',\n label: 'Sniper attack',\n type: 'ModusOperandiDuringExecution',\n },\n {\n id: '1f9b68c9',\n label: 'Kidnapping',\n type: 'ModusOperandiDuringExecution',\n },\n {\n id: '5cc5e352',\n label: 'Singing',\n type: 'ModusOperandiDuringExecution',\n },\n ],\n },\n {\n id: 'Equipment',\n label: 'Equipment',\n values: [\n { id: 'b4218a1f', label: 'None' },\n { id: '8f6185f7', label: 'Drone' },\n { id: 'cb02878d', label: 'Bomb' },\n { id: '9d645efb', label: 'Helicopter' },\n { id: '3a4398c7', label: 'Hammer' },\n ],\n },\n {\n id: 'Responsibility',\n label: 'Responsibility',\n values: [\n { id: 'f44d22be', label: 'Private' },\n { id: '20f9a6ed', label: 'Public' },\n ],\n },\n {\n id: 'WeatherType',\n label: 'Weather type',\n values: [\n { id: 'b9fe2b73', label: 'Rainy' },\n { id: '478581c1', label: 'Sunny' },\n { id: 'b855ac10', label: 'Windy' },\n { id: '24c73f36', label: 'Cloudy' },\n ],\n },\n {\n id: 'WeatherBehaviour',\n label: 'Weather behaviour',\n values: [\n { id: '0ff8041e', label: 'Stable' },\n { id: '894a9bcb', label: 'Changing' },\n ],\n },\n {\n id: 'TypeOfObject',\n label: 'Type of object',\n values: [\n { id: '29a303b3', label: 'Church' },\n { id: '2e7df143', label: 'Park' },\n { id: 'e11282fb', label: 'Palace' },\n { id: '9a1b3256', label: 'Airport' },\n ],\n },\n {\n id: 'AvailableBudget',\n label: 'Available budget',\n values: [\n { id: '90e1ba48', label: 'Knowledge' },\n { id: 'f961174c', label: 'Water' },\n ],\n },\n {\n id: 'OpenCompartments',\n label: 'Open compartments',\n values: [\n { id: '01c3940a', label: 'Open' },\n { id: '56b7fa45', label: 'Closed' },\n ],\n },\n {\n id: 'Location',\n label: 'Location',\n values: [\n { id: 'ea57f820', label: 'Vietnam' },\n { id: 'b8bd8bc3', label: 'Washington' },\n { id: '8fb1e1ab', label: 'Buitenpost' },\n ],\n },\n ],\n narratives: [],\n thresholdColors,\n },\n} as DataModel;\n\nexport const emptyModel = {\n version: 1,\n lastUpdate: new Date().valueOf(),\n scenario: {\n id: uniqueId(),\n label: 'NEW SCENARIO',\n desc: '',\n includeDecisionSupport: false,\n hideInconsistentValues: false,\n inconsistencies: {} as Inconsistencies,\n categories: [],\n components: [],\n narratives: [],\n thresholdColors,\n },\n} as DataModel;\n\n/**\n * Set of default models that can be used to create a new scenario\n *\n * When adding a new model, also provide a translation for them:\n * MODEL_NAME, MODEL_DESC\n * where the index of the model should match.\n */\nexport const defaultModels: DataModel[] = [emptyModel, defaultModel];\n\nexport type ID = string;\n\nexport type User = {\n id: ID;\n name: string;\n phone?: string;\n email?: string;\n url?: string;\n isAuthor?: boolean;\n};\n\nexport type PageInfo = {\n offsetX: number;\n offsetY: number;\n fontHeight: number;\n line: string;\n};\n\nexport type EnrichedPageInfo = PageInfo & {\n style: string;\n indented: boolean;\n join: boolean;\n startParagraph: boolean;\n /** Timestamp of the subsequent content blocks */\n timestamp?: number;\n};\n\nexport type Page = {\n pageNumber: number;\n pageInfo: PageInfo[];\n};\n\nexport type Log = {\n timestamp?: number;\n author?: string;\n grip?: number;\n blocks: EnrichedPageInfo[];\n};\n\nexport type TimelineEventType = {\n /** Number representing a JS date */\n timestamp: number;\n /** Index in the logbook that use this timestamp */\n logIndex: number;\n // kind: 'melding' | 'bob' | 'gms' | 'edit';\n // summary?: string;\n author?: string;\n};\n","export type OsmType = { id?: string; name: string; key: string; value: string };\n\nexport const OsmTypes: OsmType[] = [\n { id: 'airport', name: 'Airport', key: 'aeroway', value: 'aerodrome' },\n { id: 'cafe', name: 'Cafe', key: 'amenity', value: 'bar' },\n { id: 'church', name: 'Church', key: 'building', value: 'church' },\n { id: 'city_square', name: 'City square', key: 'place', value: 'square' },\n {\n id: 'flats',\n name: 'Flats',\n key: '\"building:levels\"',\n value: '\"([6-9]|d{2,})\"',\n },\n { id: 'gas_station', name: 'Gas station', key: 'amenity', value: 'fuel' },\n { id: 'hospital', name: 'Hospital', key: 'amenity', value: 'hospital' },\n { id: 'hotel', name: 'Hotel', key: 'tourism', value: 'hotel' },\n { id: 'palace', name: 'Palace', key: 'castle_type', value: 'palace' },\n { id: 'parking', name: 'Parking', key: 'amenity', value: 'parking' },\n { id: 'restaurant', name: 'Restaurant', key: 'amenity', value: 'restaurant' },\n {\n id: 'shopping_street',\n name: 'Shopping street',\n key: 'highway',\n value: 'pedestrian',\n },\n { id: 'stadspoort', name: 'Stadspoort', key: 'historic', value: 'city_gate' },\n { id: 'statue', name: 'Statue', key: 'memorial', value: 'statue' },\n];\n\n/** List of all the OSM types */\nexport const OsmTypeList = OsmTypes.map(({ id }) => id);\n","// /**\n// * Use IndexedDB for local storage.\n// * Based on https://github.com/DVLP/localStorageDB, but converted to TypeScript and using async instead of callbacks.\n// * @source: https://github.com/DVLP/localStorageDB/blob/master/localdata.js\n// *\n// * Usage example\n// *\n// *\n// ```ts\n// const test = async () => {\n// ldb.set('nameGoesHere', 'value goes here');\n// ldb.set('nameGoesHere2', 'value 2 goes here');\n\n// const asyncValue = await ldb.get('nameGoesHere');\n// console.log('And the async value is', asyncValue);\n// console.log('List of keys', await ldb.list());\n// console.log('All values', await ldb.getAll());\n\n// // Deleting one value\n// await ldb.delete('nameGoesHere');\n// const asyncValue2 = await ldb.get('nameGoesHere');\n// console.log('And the async value after delete is', asyncValue2);\n// console.log('All values', await ldb.getAll());\n\n// // Clear everything\n// console.log('Storage cleared', await ldb.clear());\n// console.log('All values', await ldb.getAll());\n// };\n// test();\n// ```\n// */\n\nconst dbFact = () => {\n {\n const win = typeof window !== 'undefined' ? window : undefined;\n if (!win) {\n throw new Error('indexedDB cannot get window');\n }\n const indexedDB =\n win.indexedDB ||\n (win as any).mozIndexedDB ||\n (win as any).webkitIndexedDB ||\n (win as any).msIndexedDB;\n if (typeof window !== 'undefined' && !indexedDB) {\n throw new Error('indexDB not supported');\n }\n let db: IDBDatabase | null;\n const request = indexedDB.open('ldb', 1);\n request.onsuccess = function () {\n db = this.result;\n };\n request.onerror = (event: Event) => {\n console.error('indexedDB request error');\n console.log(event);\n };\n\n request.onupgradeneeded = function (event: IDBVersionChangeEvent) {\n db = null;\n const store =\n event &&\n event.target &&\n (event.target as any).result.createObjectStore('s', {\n keyPath: 'k',\n });\n\n store.transaction.oncomplete = function (e: Event) {\n db = (e.target as any).db as IDBDatabase;\n };\n };\n\n const localDb = {\n get: (key: string) =>\n new Promise<string>((resolve) => {\n if (!db) {\n setTimeout(async () => resolve(await localDb.get(key)), 50);\n return;\n }\n db.transaction('s').objectStore('s').get(key).onsuccess = function (event) {\n const result =\n ((event.target as any).result && (event.target as any).result['v']) || null;\n resolve(result);\n };\n }),\n set: (key: string, value: string) =>\n new Promise<void>((resolve) => {\n if (!db) {\n setTimeout(async () => resolve(await localDb.set(key, value)), 50);\n return;\n }\n let txn = db.transaction('s', 'readwrite');\n txn.oncomplete = () => resolve();\n txn.objectStore('s').put({\n k: key,\n v: value,\n });\n txn.commit();\n }),\n delete: (key: string) =>\n new Promise<void>((resolve) => {\n if (!db) {\n setTimeout(async () => resolve(await localDb.delete(key)), 50);\n return;\n }\n db.transaction('s', 'readwrite').objectStore('s').delete(key).onsuccess = function () {\n resolve();\n };\n }),\n list: () =>\n new Promise<string[]>((resolve) => {\n if (!db) {\n setTimeout(async () => resolve(await localDb.list()), 50);\n return;\n }\n db.transaction('s').objectStore('s').getAllKeys().onsuccess = (event) => {\n const result = (event.target as any).result || null;\n resolve(result);\n };\n }),\n getAll: () =>\n new Promise<Array<{ k: string; v: string }>>((resolve) => {\n if (!db) {\n setTimeout(async () => resolve(await localDb.getAll()), 50);\n return;\n }\n db.transaction('s').objectStore('s').getAll().onsuccess = (event) => {\n const result = ((event.target as any).result as any) || null;\n resolve(result);\n };\n }),\n clear: () =>\n new Promise<void>((resolve) => {\n if (!db) {\n setTimeout(async () => resolve(await localDb.clear()), 50);\n return;\n }\n db.transaction('s', 'readwrite').objectStore('s').clear().onsuccess = () => {\n resolve();\n };\n }),\n };\n return localDb;\n // ldb = localDb;\n }\n};\n\nexport const ldb = dbFact();\n\n// (function () {\n// const win = typeof window !== 'undefined' ? window : undefined;\n// if (!win) {\n// console.error('indexedDB cannot get window');\n// return;\n// }\n// const indexedDB =\n// win.indexedDB ||\n// (win as any).mozIndexedDB ||\n// (win as any).webkitIndexedDB ||\n// (win as any).msIndexedDB;\n// if (typeof window !== 'undefined' && !indexedDB) {\n// console.error('indexDB not supported');\n// return;\n// }\n// let db: IDBDatabase | null;\n// const request = indexedDB.open('ldb', 1);\n// request.onsuccess = function () {\n// db = this.result;\n// };\n// request.onerror = (event: Event) => {\n// console.error('indexedDB request error');\n// console.log(event);\n// };\n\n// request.onupgradeneeded = function (event: IDBVersionChangeEvent) {\n// db = null;\n// const store =\n// event &&\n// event.target &&\n// (event.target as any).result.createObjectStore('s', {\n// keyPath: 'k',\n// });\n\n// store.transaction.oncomplete = function (e: Event) {\n// db = (e.target as any).db as IDBDatabase;\n// };\n// };\n\n// const localDb = {\n// get: (key: string) =>\n// new Promise<string>((resolve) => {\n// if (!db) {\n// setTimeout(async () => resolve(await localDb.get(key)), 50);\n// return;\n// }\n// db.transaction('s').objectStore('s').get(key).onsuccess = function (event) {\n// const result =\n// ((event.target as any).result && (event.target as any).result['v']) || null;\n// resolve(result);\n// };\n// }),\n// set: (key: string, value: string) =>\n// new Promise<void>((resolve) => {\n// if (!db) {\n// setTimeout(async () => resolve(await localDb.set(key, value)), 50);\n// return;\n// }\n// let txn = db.transaction('s', 'readwrite');\n// txn.oncomplete = () => resolve();\n// txn.objectStore('s').put({\n// k: key,\n// v: value,\n// });\n// txn.commit();\n// }),\n// delete: (key: string) =>\n// new Promise<void>((resolve) => {\n// if (!db) {\n// setTimeout(async () => resolve(await localDb.delete(key)), 50);\n// return;\n// }\n// db.transaction('s', 'readwrite').objectStore('s').delete(key).onsuccess = function () {\n// resolve();\n// };\n// }),\n// list: () =>\n// new Promise<string[]>((resolve) => {\n// if (!db) {\n// setTimeout(async () => resolve(await localDb.list()), 50);\n// return;\n// }\n// db.transaction('s').objectStore('s').getAllKeys().onsuccess = (event) => {\n// const result = (event.target as any).result || null;\n// resolve(result);\n// };\n// }),\n// getAll: () =>\n// new Promise<Array<{ k: string; v: string }>>((resolve) => {\n// if (!db) {\n// setTimeout(async () => resolve(await localDb.getAll()), 50);\n// return;\n// }\n// db.transaction('s').objectStore('s').getAll().onsuccess = (event) => {\n// const result = ((event.target as any).result as any) || null;\n// resolve(result);\n// };\n// }),\n// clear: () =>\n// new Promise<void>((resolve) => {\n// if (!db) {\n// setTimeout(async () => resolve(await localDb.clear()), 50);\n// return;\n// }\n// db.transaction('s', 'readwrite').objectStore('s').clear().onsuccess = () => {\n// resolve();\n// };\n// }),\n// };\n// ldb = localDb;\n// })();\n\n// export let ldb: {\n// get: (key: string) => Promise<string>;\n// // get: (key: string, callback: (result: string) => void) => void;\n// set: (key: string, value: string) => Promise<void>;\n// // set: (key: string, value: string, callback?: () => void) => void;\n// delete: (key: string) => Promise<void>;\n// // delete: (key: string, callback: () => void) => void;\n// list: () => Promise<string[]>;\n// // list: (callback: (listOfKeys: string[]) => void) => void;\n// getAll: () => Promise<Array<{ k: string; v: string }>>;\n// // getAll: (callback: (allEntries: Array<{ k: string; v: string }>) => void) => void;\n// clear: () => Promise<void>;\n// // clear: (callback: () => void) => void;\n// };\n","const t={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"},n=new RegExp(`[${Object.keys(t).join(\"\")}]`,\"g\"),e=[[/\\r\\n/g,\"\\n\"],[/\\n(#+)(.*)/g,(t,n,e=\"\")=>{const r=n.length;return`<h${r}>${e.trim()}</h${r}>`}],[/!\\[([^\\[]+)\\]\\((?:javascript:)?([^\\)]+)\\)/g,'<img src=\"$2\" alt=\"$1\">'],[/\\[([^\\[]+)\\]\\((?:javascript:)?([^\\)]+)\\)/g,'<a href=\"$2\">$1</a>'],[/([^\\\\])(\\*\\*|__)(.*?(_|\\*)?)\\2/g,\"$1<strong>$3</strong>\"],[/([^\\\\])(\\*|_)(.*?)\\2/g,\"$1<em>$3</em>\"],[/\\\\_/g,\"_\"],[/\\~\\~(.*?)\\~\\~/g,\"<del>$1</del>\"],[/\\:\\\"(.*?)\\\"\\:/g,\"<q>$1</q>\"],[/\\n\\s*```\\n([^]*?)\\n\\s*```\\s*\\n/g,\"\\n<pre>$1</pre>\"],[/`(.*?)`/g,(e,r)=>{return`<code>${l=r,l.replace(n,n=>t[n])}</code>`;var l}],[/\\n(\\*|\\-|\\+)(.*)/g,(t,n,e=\"\")=>`<ul>\\n\\t<li>${e.trim()}</li>\\n</ul>`],[/\\n[0-9]+\\.(.*)/g,(t,n=\"\")=>`<ol>\\n\\t<li>${n.trim()}</li>\\n</ol>`],[/\\n(>|\\>)(.*)/g,(t,n,e=\"\")=>`\\n<blockquote>${e.trim()}</blockquote>`],[/(\\^)(.*?)\\1/g,\"<sup>$2</sup>\"],[/(\\~)(.*?)\\1/g,\"<sub>$2</sub>\"],[/\\n-{5,}/g,\"\\n<hr />\"],[/( *\\|[^\\n]+\\|\\r?\\n)((?: *\\|:?[ -]+:?)+ *\\|)(\\n(?: *\\|[^\\n]+\\|\\r?\\n?)*)?/g,(t,n,e,r)=>{const l=e.split(\"|\").filter((t,n,e)=>n>0&&n<e.length-1).map(t=>/:-+:/g.test(t)?\"center\":/-+:/g.test(t)?\"right\":/:-+/.test(t)?\"left\":\"\"),g=t=>{const n=l[t];return n?` align=\"${n}\"`:\"\"};return`\\n<table><tbody><tr>${n.split(\"|\").map(t=>t.trim()).filter(t=>t&&t.length).map((t,n)=>`<th${g(n)}>${t}</th>`).join(\"\")}</tr>${r.split(\"\\n\").map(t=>t.trim()).filter(t=>t&&t.length).map(t=>`<tr>${t.split(\"|\").filter((t,n,e)=>n>0&&n<e.length-1).map((t,n)=>`<td${g(n)}>${t.trim()}</td>`).join(\"\")}</tr>`).join(\"\")}</tbody></table>\\n`}],[/\\n([^\\n]+)\\n/g,(t,n)=>{const e=n.trim();return/^<\\/?(ul|ol|li|h|p|bl|table|tr|td)/i.test(e)?`\\n${n}\\n`:`\\n<p>\\n${e}\\n</p>\\n`}],[/\\s?<\\/ul>\\s?<ul>/g,\"\"],[/\\s?<\\/ol>\\s?<ol>/g,\"\"],[/<\\/blockquote>\\n<blockquote>/g,\"<br>\\n\"],[/https?:\\/\\/[^\"']*/g,t=>t.replace(/<\\/?em>/g,\"_\")],[/_/g,\"_\"]],r=(t,n=!1,r=!1)=>(t=`\\n${t}\\n`,e.forEach(([n,e])=>{t=t.replace(n,e)}),t=t.trim(),n&&(t=t.replace(/^<p>([\\s\\S]*)<\\/p>$/,\"$1\")),r&&(t=t.replace(/<a href=\"/g,'<a target=\"_blank\" href=\"')),t),l=(t,n)=>{e.push([t,n])};export{l as addRule,r as render};\n//# sourceMappingURL=slimdown.modern.mjs.map\n","import m from 'mithril';\nimport { padLeft, uniqueId } from 'mithril-materialized';\nimport { render } from 'mithril-ui-form';\nimport {\n ContextType,\n DataModel,\n ID,\n Inconsistencies,\n Narrative,\n OldDataModel,\n OsmTypeList,\n Scenario,\n ScenarioComponent,\n thresholdColors,\n} from '../models';\nimport { t } from '../services';\n\nexport const LANGUAGE = 'SG_LANGUAGE';\nexport const SAVED = 'SG_MODEL_SAVED';\n\nconst supRegex = /\\^([^_ ]+)(_|$|\\s)/g;\nconst subRegex = /\\_([^\\^ ]+)(\\^|$|\\s)/g;\n\n/** Expand markdown notation by converting A_1 to subscript and x^2 to superscript. */\nexport const subSup = (s: string) =>\n s\n ? s.replace(supRegex, `<sup>$1</sup>`).replace(subRegex, `<sub>$1</sub>`)\n : s;\n\nexport const capitalize = (s?: string) =>\n s && s.charAt(0).toUpperCase() + s.slice(1);\n\n/**\n * Debounce function wrapper, i.e. between consecutive calls of the wrapped function,\n * there will be at least TIMEOUT milliseconds.\n * @param func Function to execute\n * @param timeout Timeout in milliseconds\n * @returns\n */\nexport const debounce = (func: (...args: any) => void, timeout: number) => {\n let timer: number;\n return (...args: any) => {\n clearTimeout(timer);\n timer = window.setTimeout(() => {\n func(...args);\n }, timeout);\n };\n};\n\nexport const formatDate = (date: number | Date = new Date()) => {\n const d = new Date(date);\n return `${d.getFullYear()}-${padLeft(d.getMonth() + 1)}-${padLeft(\n d.getDate()\n )}`;\n};\n\n/**\n * Get a color that is clearly visible against a background color\n * @param backgroundColor Background color, e.g. #99AABB\n * @returns\n */\nexport const getTextColorFromBackground = (backgroundColor?: string) => {\n if (!backgroundColor) {\n return 'black-text';\n }\n const c = backgroundColor.substring(1); // strip #\n const rgb = parseInt(c, 16); // convert rrggbb to decimal\n const r = (rgb >> 16) & 0xff; // extract red\n const g = (rgb >> 8) & 0xff; // extract green\n const b = (rgb >> 0) & 0xff; // extract blue\n\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b; // per ITU-R BT.709\n\n return luma < 105 ? 'white-text' : 'black-text';\n};\n\ntype Option<T> = {\n id: T;\n label: string;\n title?: string;\n};\n\nexport const getOptionsLabel = <T>(\n options: Array<Option<T>>,\n id?: T | T[],\n showTitle = true\n) => {\n if (!id) {\n return '';\n }\n const print = (o: Option<T>) =>\n showTitle\n ? `${o.label}${o.title ? ` (${o.title.replace(/\\.\\s*$/, '')})` : ''}`\n : o.label;\n if (id instanceof Array) {\n return options\n .filter((o) => id.indexOf(o.id) >= 0)\n .map((o) => print(o))\n .join(', ');\n }\n const found = options.filter((o) => o.id === id).shift();\n return found ? print(found) : '';\n};\n\n/** Join a list of items with a comma, and use AND for the last item in the list. */\nexport const joinListWithAnd = (\n arr: string[] = [],\n and = 'and',\n prefix = '',\n lowercase = true\n) => {\n const terms = arr.filter((term) => term);\n return terms.length === 0\n ? ''\n : prefix +\n (terms.length === 1\n ? terms[0]\n : `${terms\n .slice(0, terms.length - 1)\n .map((t, i) =>\n i === 0 || typeof t === 'undefined' || !lowercase\n ? t\n : t.toLowerCase()\n )\n .join(', ')} ${and} ${\n lowercase\n ? terms[terms.length - 1].toLowerCase()\n : terms[terms.length - 1]\n }`);\n};\n\n/** Convert markdown text to HTML */\nexport const markdown2html = (markdown = '') =>\n m.trust(render(markdown, true, true));\n\nexport const isUnique = <T>(item: T, pos: number, arr: T[]) =>\n arr.indexOf(item) == pos;\n\n/** Generate an array of numbers, from start till end, with optional step size. */\nexport const generateNumbers = (\n start: number,\n end: number,\n step: number = 1\n): number[] => {\n if (start > end) {\n throw new Error(\n 'Start number must be less than or equal to the end number.'\n );\n }\n\n if (step <= 0) {\n throw new Error('Step size must be a positive number.');\n }\n\n const length = Math.floor((end - start) / step) + 1;\n return Array.from({ length }, (_, index) => start + index * step);\n};\n\nexport const getRandomValue = <T>(array: T[]): T | undefined => {\n if (array.length === 0) {\n return undefined;\n }\n\n const randomIndex = Math.floor(Math.random() * array.length);\n return array[randomIndex];\n};\n\n/**\n * Deep copy function for TypeScript.\n * @param T Generic type of target/copied value.\n * @param target Target value to be copied.\n * @see Source project, ts-deepcopy https://github.com/ykdr2017/ts-deepcopy\n * @see Code pen https://codepen.io/erikvullings/pen/ejyBYg\n */\nexport const deepCopy = <T>(target: T): T => {\n if (target === null) {\n return target;\n }\n if (target instanceof Date) {\n return new Date(target.getTime()) as any;\n }\n if (target instanceof Array) {\n const cp = [] as any[];\n (target as any[]).forEach((v) => {\n cp.push(v);\n });\n return cp.map((n: any) => deepCopy<any>(n)) as any;\n }\n if (typeof target === 'object') {\n const cp = { ...(target as { [key: string]: any }) } as {\n [key: string]: any;\n };\n Object.keys(cp).forEach((k) => {\n cp[k] = deepCopy<any>(cp[k]);\n });\n return cp as T;\n }\n return target;\n};\n\n/** Compute a contrasting background color */\nexport const contrastingColor = (backgroundColor: string) => {\n const backgroundRgb = [\n parseInt(backgroundColor[1] + backgroundColor[2], 16),\n parseInt(backgroundColor[3] + backgroundColor[4], 16),\n parseInt(backgroundColor[5] + backgroundColor[6], 16),\n ];\n const luminance =\n 0.2126 * backgroundRgb[0] +\n 0.7152 * backgroundRgb[1] +\n 0.0722 * backgroundRgb[2];\n\n // If the background is dark, use white text.\n if (luminance < 20) {\n return '#ffffff';\n }\n\n // If the background is light, use black text.\n return '#000000';\n};\n\nexport const convertFromOld = (old: OldDataModel): DataModel => {\n return Object.keys(old).reduce(\n (acc, cur) => {\n if (cur === 'scenarios') {\n // Parse scenarios\n const scenario = old[cur].current;\n acc.scenario.id = scenario.id;\n acc.scenario.label = scenario.name;\n acc.scenario.desc = scenario.desc;\n acc.scenario.hideInconsistentValues = true;\n acc.scenario.inconsistencies = scenario.inconsistencies.reduce(\n (acc, cur) => {\n const {\n ids: [from, to],\n type,\n } = cur;\n if (!acc[from]) acc[from] = {};\n if (!acc[to]) acc[to] = {};\n const value = type === 'totally' ? true : false;\n acc[from][to] = value;\n acc[to][from] = value;\n return acc;\n },\n {} as Inconsistencies\n );\n acc.scenario.narratives = scenario.narratives.map(\n ({ id, name, components, narrative, included }) => ({\n id,\n label: name,\n components: Object.keys(components).reduce((acc, key) => {\n acc[key] = [components[key]];\n return acc;\n }, {} as { [key: ID]: ID[] }),\n desc: narrative,\n included,\n saved: true,\n })\n );\n acc.scenario.categories = Object.keys(scenario.categories).map(\n (key) => ({\n id: key,\n label: key,\n componentIds: scenario.categories[key],\n })\n );\n } else {\n // Parse components\n if (!acc.scenario.components) acc.scenario.components = [];\n const componentValues = old[cur].list;\n const contexts = componentValues.reduce((acc, cur) => {\n if (cur.context && cur.context.type) {\n if (cur.context.type === 'LOCATION' && acc.indexOf('location') <= 0)\n acc.push('location');\n else if (\n cur.context.type === 'LOCATIONTYPE' &&\n acc.indexOf('locationType') <= 0\n )\n acc.push('locationType');\n }\n return acc;\n }, [] as ContextType[]);\n acc.scenario.components.push({\n id: cur,\n label: t('COMP', cur.toUpperCase() as any),\n contexts,\n values: componentValues.map(({ name, id, desc, context }) => {\n const newContext = context\n ? context.type === 'LOCATION'\n ? 'location'\n : context.type === 'LOCATIONTYPE'\n ? 'locationType'\n : 'none'\n : undefined;\n const locationType =\n context && context.type === 'LOCATION'\n ? context.data.NAME\n ? 'name'\n : context.data.COORDINATES\n ? 'coords'\n : undefined\n : undefined;\n const [lat, lon] =\n locationType === 'coords' && context!.data.COORDINATES\n ? context!.data.COORDINATES.split(/,/).map((n) => +n)\n : [undefined, undefined];\n const locationTypeType =\n context && context.type === 'LOCATIONTYPE'\n ? OsmTypeList.indexOf(Object.keys(context.data).shift()) >= 0\n ? 'list'\n : 'keyValue'\n : undefined;\n const osmTypeId =\n locationTypeType === 'list'\n ? Object.keys(context!.data).shift()\n : undefined;\n const keyValue =\n locationTypeType === 'keyValue'\n ? Object.entries(context!.data).shift()\n : undefined;\n const [key, value] = keyValue || [undefined, undefined];\n return {\n id,\n label: name,\n desc,\n context: newContext,\n location:\n context && context.type === 'LOCATION'\n ? context.data.NAME\n : undefined,\n locationType,\n locationTypeType,\n lat,\n lon,\n osmTypeId,\n key,\n value,\n };\n }),\n });\n acc.scenario.thresholdColors = thresholdColors;\n if (acc.scenario.categories) {\n let order = 1;\n const compIds = acc.scenario.categories\n .filter((c) => c.componentIds)\n .reduce((acc, cur) => {\n cur.componentIds?.forEach((c) => (acc[c] = order++));\n return acc;\n }, {} as { [key: ID]: number });\n acc.scenario.components = acc.scenario.components.map((c) => ({\n ...c,\n order: compIds[c.id],\n }));\n acc.scenario.components.sort((a, b) =>\n a.order! > b.order! ? 1 : -1\n );\n }\n }\n return acc;\n },\n {\n scenario: {} as Scenario,\n version: 1,\n lastUpdata: Date.now(),\n } as DataModel\n );\n};\n\nexport const modelToSaveName = (model: DataModel, narrativeName?: string) => {\n let name = model.scenario?.label || 'scenario_spark';\n if (narrativeName) {\n name += `_${narrativeName}`;\n }\n return `${name.replace(/\\s/g, '_')}_v${padLeft(\n model.version || 1,\n 3\n )}_${formatDate()}`;\n};\n\nexport const generateNarrative = (\n scenario: Scenario,\n locked: Record<ID, ID[]> = {}\n) => {\n const { categories, components, inconsistencies } = scenario;\n\n let tries = 0;\n const generate = () => {\n const chosen = { ...locked } as Record<ID, ID[]>;\n for (const category of categories) {\n const catComps = components\n .filter(\n (c) => category.componentIds && category.componentIds.includes(c.id)\n )\n .map((c) => {\n const inc = c.values\n ? c.values.reduce((acc, cur) => {\n return (\n acc +\n (inconsistencies[cur.id]\n ? Object.keys(inconsistencies[cur.id]).length\n : 0)\n );\n }, 0)\n : 0;\n return { ...c, inc };\n })\n .sort((a, b) => (a.inc > b.inc ? -1 : 1));\n const excluded: ID[] = [];\n for (const catComp of catComps) {\n if (chosen.hasOwnProperty(catComp.id)) {\n const chosenValue = chosen[catComp.id];\n if (chosenValue && chosenValue.length) {\n if (chosenValue.some((v) => excluded.includes(v))) return false;\n chosenValue.forEach((v) => {\n inconsistencies[v] &&\n Object.keys(inconsistencies[v]).forEach(\n (id) => inconsistencies[v][id] && excluded.push(id)\n );\n });\n }\n continue;\n }\n const valuesToChooseFrom =\n catComp.values &&\n catComp.values\n .map(({ id }) => id)\n .filter((id) => !excluded.includes(id));\n if (!valuesToChooseFrom || valuesToChooseFrom.length === 0)\n return false;\n const v = getRandomValue(valuesToChooseFrom);\n if (v) {\n inconsistencies[v] &&\n Object.keys(inconsistencies[v]).forEach(\n (id) => inconsistencies[v][id] && excluded.push(id)\n );\n chosen[catComp.id] = [v];\n } else {\n return false;\n }\n }\n }\n return chosen;\n };\n\n do {\n const components = generate();\n if (components) {\n const narrative = {\n id: uniqueId(),\n components,\n included: false,\n } as Narrative;\n return narrative;\n }\n tries++;\n } while (tries < 100);\n return false;\n};\n\nexport const scrollToSection = (id: string, e?: MouseEvent): void => {\n e && e.preventDefault();\n const element = document.getElementById(id);\n\n if (element) {\n element.scrollIntoView({ behavior: 'smooth' });\n } else {\n console.log(`Element with id ${id} not found.`);\n }\n};\n\nexport const scrollToTop = (): void => {\n window.scrollTo({\n top: 0,\n behavior: 'smooth',\n });\n};\n\nexport const validateNarrative = (\n n: Narrative,\n components: ScenarioComponent[]\n) => {\n const { components: narrativeComps, ...attrs } = n;\n const newNarrative = { components: {}, ...attrs } as Narrative;\n components\n .filter((c) => narrativeComps.hasOwnProperty(c.id))\n .forEach((c) => {\n newNarrative.components[c.id] = narrativeComps[c.id].filter((id) =>\n c.values?.find((v) => v.id === id)\n );\n });\n return newNarrative;\n};\n\nexport const narrativesToOptions = (narratives: Narrative[]) =>\n narratives\n .map((n) => ({\n ...n,\n group: n.included ? t('GROUP', 'SELECTED') : t('GROUP', 'UNSELECTED'),\n }))\n .sort((a, b) =>\n a.included && b.included\n ? (a.label || '').localeCompare(b.label)\n : a.included\n ? -1\n : 1\n );\n\nexport const trafficLight = [\n '#2c7bb6',\n '#abd9e9',\n '#ffffbf',\n '#fdae61',\n '#d7191c',\n];\n\nexport const svgToDataURI = (svg: string): string => {\n const svgBase64 = btoa(svg); // Convert SVG string to base64\n\n return `data:image/svg+xml;base64,${svgBase64}`; // Construct data URI\n};\n\nexport const createCircleSVG = (color: string, diameter: number): string => {\n const strokeWidth = diameter * 0.1; // Width of the border as 5% of the diameter\n\n const svg = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"${diameter}\" height=\"${diameter}\">\n <circle cx=\"${diameter / 2}\" cy=\"${diameter / 2}\" r=\"${\n (diameter - strokeWidth) / 2\n }\" fill=\"${color}\" stroke=\"black\" stroke-width=\"${strokeWidth}\" /></svg>`;\n\n return svg;\n};\n\nexport const generateUniqueTitle = (\n title: string,\n otherTitles: string[] = []\n): string => {\n let count = 1;\n\n // Check if the original title ends with a number\n const match = title.match(/^(.*?)(\\d+)$/);\n if (match) {\n // Extract the base title and the number\n title = match[1].trim();\n // Increment the number\n count = parseInt(match[2]) + 1;\n }\n // Construct the new title\n let newTitle = `${title} ${count}`;\n\n // Ensure the new title is unique\n while (otherTitles.includes(newTitle)) {\n count++;\n newTitle = `${title} ${count}`;\n }\n\n return newTitle;\n};\n","import m, { FactoryComponent } from 'mithril';\nimport { meiosisSetup } from 'meiosis-setup';\nimport { i18n, routingSvc, t } from '.';\nimport {\n ContextualItem,\n Dashboards,\n DataModel,\n ID,\n Narrative,\n Scenario,\n defaultModel,\n thresholdColors,\n} from '../models';\nimport { ldb } from '../utils/local-ldb';\nimport {\n MeiosisCell,\n Service,\n Update,\n MeiosisComponent as MComp,\n} from 'meiosis-setup/types';\nimport { LANGUAGE, SAVED, scrollToTop, validateNarrative } from '../utils';\nimport { uniqueId } from 'mithril-materialized';\n\nconst MODEL_KEY = 'SG_MODEL';\n\nexport type State = {\n page: Dashboards;\n model: DataModel;\n title: string;\n language: string;\n activeTooltip?: string;\n /** Current narrative that we are working on */\n curNarrative?: Narrative;\n /** Components that have been excluded from the narrative */\n excludedComps?: Record<ID, boolean>;\n /** Components that have been given a fixed value in the narrative */\n lockedComps?: Record<ID, boolean>;\n};\n\nexport type MeiosisComponent<T = {}> = FactoryComponent<MeiosisCell<State> & T>;\n\nconst setTitle = (title: string) => {\n document.title = `ScenarioSpark: ${title}`;\n};\n\n/* Actions */\n\nexport const setPage = (cell: MeiosisCell<State>, page: Dashboards): void => {\n scrollToTop();\n cell.update({ page });\n};\n\nexport const changePage = (\n cell: MeiosisCell<State>,\n page: Dashboards,\n params?: Record<string, string | number | undefined>,\n query?: Record<string, string | number | undefined>\n) => {\n routingSvc && routingSvc.switchTo(page, params, query);\n cell.update({ page });\n};\n\nconst validateScenario = (scenario?: Scenario) => {\n console.log('Validating scenario');\n if (!scenario) return false;\n if (!scenario.inconsistencies) scenario.inconsistencies = {};\n if (!scenario.categories) scenario.categories = [];\n if (!scenario.components) scenario.components = [];\n if (!scenario.narratives) scenario.narratives = [];\n scenario.narratives = scenario.narratives.map((n) =>\n validateNarrative(n, scenario.components)\n );\n if (typeof scenario.hideInconsistentValues === 'undefined') {\n scenario.hideInconsistentValues = true;\n }\n if (!scenario.thresholdColors) scenario.thresholdColors = thresholdColors;\n scenario.narratives.forEach((c) => {\n if (!c.components) c.components = {};\n if (!c.id) c.id = uniqueId();\n if (!c.label) c.label = 'UNKNOWN';\n });\n scenario.categories.forEach((c) => {\n if (!c.componentIds) c.componentIds = [];\n if (!c.id) c.id = uniqueId();\n if (!c.label) c.label = 'UNKNOWN';\n });\n scenario.components.forEach((c) => {\n if (!c.values) c.values = [];\n if (!c.id) c.id = uniqueId();\n if (!c.label) c.label = 'UNKNOWN';\n });\n return true;\n};\n\nexport const saveModel = async (\n cell: MeiosisCell<State>,\n model: DataModel,\n reset = false\n) => {\n localStorage.setItem(SAVED, 'false');\n model.lastUpdate = Date.now();\n // console.log(JSON.stringify(model, null, 2));\n if (reset) {\n if (!validateScenario(model.scenario)) {\n alert(t('JSON_NOT_VALID'));\n return;\n }\n await ldb.set(MODEL_KEY, JSON.stringify(model));\n cell.update({\n model: () => model,\n activeTooltip: '',\n title: model.scenario.label,\n curNarrative: () => undefined,\n excludedComps: () => ({}),\n lockedComps: () => ({}),\n });\n } else {\n await ldb.set(MODEL_KEY, JSON.stringify(model));\n cell.update({ model: () => model });\n }\n localStorage.setItem(SAVED, 'false');\n};\n\nexport const saveNarrative = async (\n cell: MeiosisCell<State>,\n curNarrative: Narrative\n) => {\n const { model } = cell.getState();\n if (!curNarrative.id) curNarrative.id = uniqueId();\n if (!model.scenario.narratives) {\n curNarrative.saved = true;\n model.scenario.narratives = [curNarrative];\n } else {\n if (curNarrative.saved) {\n model.scenario.narratives = model.scenario.narratives.map((n) =>\n n.id !== curNarrative.id ? n : curNarrative\n );\n } else {\n curNarrative.saved = true;\n model.scenario.narratives.push(curNarrative);\n }\n }\n cell.update({ curNarrative: () => curNarrative });\n saveModel(cell, model);\n};\n\nexport const updateNarrative = async (\n cell: MeiosisCell<State>,\n curNarrative: Narrative\n) => {\n if (curNarrative.saved) {\n await saveNarrative(cell, curNarrative);\n }\n cell.update({ curNarrative });\n};\n\nexport const mutateScenarioComponent = (\n cell: MeiosisCell<State>,\n scenarioComponentId: ID,\n item: ContextualItem,\n mutation: 'update' | 'create' | 'delete'\n) => {\n const { model } = cell.state;\n const {\n scenario: { components },\n } = model;\n const comp = components.filter((c) => c.id === scenarioComponentId).shift();\n if (!comp) {\n console.error('Scenario component not found!');\n return;\n }\n const { values = [] } = comp;\n comp.values =\n mutation === 'update'\n ? values.map((c) => (c.id === item.id ? item : c))\n : mutation === 'delete'\n ? values.filter((c) => c.id !== item.id)\n : [...values, item];\n if (mutation === 'delete') {\n model.scenario.narratives = model.scenario.narratives.map((n) =>\n validateNarrative(n, model.scenario.components)\n );\n }\n saveModel(cell, model);\n};\n\n/** Move the position of a scenario component before or after another scenario component */\nexport const moveScenarioComponent = (\n cell: MeiosisCell<State>,\n componentId: ID,\n moveId: ID,\n dropId: ID,\n moveBefore: boolean\n) => {\n const { model } = cell.state;\n const {\n scenario: { components },\n } = model;\n const comp = components.filter((c) => c.id === componentId).shift();\n if (!comp) {\n console.error('Scenario component not found!');\n return;\n }\n const { values = [] } = comp;\n const itemToMove = values.find((item) => item.id === moveId);\n if (!itemToMove) return;\n const itemDropped = values.find((item) => item.id === dropId);\n if (!itemDropped) return;\n\n comp.values = values\n .filter((i) => i.id !== moveId)\n .reduce((acc, cur) => {\n if (cur.id === dropId) {\n if (moveBefore) {\n acc.push(itemToMove);\n acc.push(cur);\n } else {\n acc.push(cur);\n acc.push(itemToMove);\n }\n } else {\n acc.push(cur);\n }\n return acc;\n }, [] as ContextualItem[]);\n saveModel(cell, model);\n};\n\nexport const setLanguage = async (locale = i18n.currentLocale) => {\n localStorage.setItem(LANGUAGE, locale);\n await i18n.loadAndSetLocale(locale);\n};\n/* END OF Actions */\n\nconst initialize = async (update: Update<State>) => {\n const ds = await ldb.get(MODEL_KEY);\n const model = ds ? JSON.parse(ds) : defaultModel;\n const title = model.scenario?.label || '';\n setTitle(title);\n\n update({\n model: () => ({ ...model }),\n title,\n });\n};\n\nconst service: Service<State> = {\n onchange: (state) => state.model?.scenario?.label,\n run: (cell) => {\n const title = cell.state.model?.scenario?.label;\n setTitle(title);\n cell.update({ title });\n },\n};\n\nconst app: MComp<State> = {\n services: [service],\n initial: {\n title: '',\n page: Dashboards.HOME,\n model: defaultModel,\n },\n};\nexport const cells = meiosisSetup<State>({ app });\ninitialize(cells().update);\n\ncells.map(() => m.redraw());\n","var isObject = function (obj) { return obj && typeof obj === 'object'; };\n\nfunction assemble(parts, replacements, count, opts) {\n var result = opts.array ? parts.slice() : parts[0];\n var len = parts.length;\n for (var i = 1; i < len; i += 2) {\n var part = parts[i];\n var val = replacements[part];\n if (val == null) {\n if (part === 'n' && count != null) {\n val = count;\n } else {\n opts.debug &&\n console.warn('No \"' + part + '\" in placeholder object:', replacements);\n val = '{' + part + '}';\n }\n }\n if (opts.array) {\n result[i] = val;\n } else {\n result += val + parts[i + 1];\n }\n }\n return result\n}\n\nfunction getPluralValue(translation, count, plFunc) {\n // Opinionated assumption: Pluralization rules are the same for negative and positive values.\n // By normalizing all values to positive, pluralization functions become simpler, and less error-prone by accident.\n var mappedCount = Math.abs(count);\n\n mappedCount = plFunc ? plFunc(mappedCount) : mappedCount;\n if (translation[mappedCount] != null) {\n return translation[mappedCount]\n }\n if (translation.n != null) {\n return translation.n\n }\n}\n\nfunction replacePlaceholders(\n translation,\n replacements,\n count,\n replCache,\n opts\n) {\n var result = replCache[translation];\n if (result == null) {\n var parts = translation\n // turn both curly braces around tokens into the a unified\n // (and now unique/safe) token `{x}` signifying boundry between\n // replacement variables and static text.\n .replace(/\\{(\\w+)\\}/g, '{x}$1{x}')\n // Adjacent placeholders will always have an empty string between them.\n // The array will also always start with a static string (at least a '').\n .split('{x}'); // stupid but works™\n\n // NOTE: parts no consists of alternating [text,replacement,text,replacement,text]\n // Cache a function that loops over the parts array - unless there's only text\n // (i.e. parts.length === 1) - then we simply cache the string.\n result = parts.length > 1 ? parts : parts[0];\n replCache[translation] = result;\n }\n result = result.pop ? assemble(result, replacements, count, opts) : result;\n return result\n}\n\nfunction translate(\n translationKey,\n subKey,\n replacements,\n keys,\n opts,\n replCache\n) {\n opts = opts || {};\n var translation = keys[translationKey];\n var translationIsObject = isObject(translation);\n var complex = translationIsObject || subKey != null || replacements != null;\n\n if (complex) {\n if (isObject(subKey)) {\n var tmp = replacements;\n replacements = subKey;\n subKey = tmp;\n }\n replacements = replacements || {};\n\n if (translationIsObject) {\n var propValue =\n (subKey != null && translation[subKey]) || translation['*'];\n if (propValue != null) {\n translation = propValue;\n } else if (typeof subKey === 'number') {\n // get appropriate plural translation string\n var plFunc = opts.pluralize;\n translation = getPluralValue(translation, subKey, plFunc);\n }\n }\n }\n\n if (typeof translation !== 'string') {\n if (opts.useKeyForMissingTranslation === false) {\n return\n }\n translation = translationKey;\n if (opts.debug) {\n if (subKey != null) {\n translation = '@@' + translationKey + '.' + subKey + '@@';\n console.warn(\n 'No translation or pluralization form found for \"' +\n subKey +\n '\" in' +\n translationKey\n );\n } else {\n translation = '@@' + translation + '@@';\n console.warn('Translation for \"' + translationKey + '\" not found.');\n }\n }\n }\n\n if (complex) {\n return replacePlaceholders(\n translation,\n replacements,\n subKey,\n replCache,\n opts\n )\n }\n return translation\n}\n\nfunction translateToArray() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var opts = this.opts;\n var normalArrayOption = opts.array;\n opts.array = true;\n var result = this.apply(null, args);\n opts.array = normalArrayOption;\n return result\n}\n\nfunction translatejs(messageObject, options) {\n messageObject = messageObject || {};\n options = options || {};\n\n if (options.resolveAliases) {\n messageObject = translatejs.resolveAliases(messageObject);\n }\n\n var replCache = {};\n\n function tFunc(translationKey, subKey, replacements) {\n return translate(\n translationKey,\n subKey,\n replacements,\n tFunc.keys,\n tFunc.opts,\n replCache\n )\n }\n\n tFunc.arr = translateToArray; // Convenience function.\n\n tFunc.keys = messageObject || {};\n tFunc.opts = options;\n\n return tFunc\n}\n\nfunction mapValues(obj, fn) {\n return Object.keys(obj).reduce(function (res, key) {\n res[key] = fn(obj[key], key);\n return res\n }, {})\n}\n\ntranslatejs.resolveAliases = function resolveAliases(translations) {\n var keysInProcess = {};\n function resolveAliases(translation) {\n if (isObject(translation)) {\n return mapValues(translation, resolveAliases)\n }\n return translation.replace(/{{(.*?)}}/g, function (_, token) {\n if (keysInProcess[token]) {\n throw new Error('Circular reference for \"' + token + '\" detected')\n }\n keysInProcess[token] = true;\n var key = token;\n var subKey = '';\n var keyParts = token.match(/^(.+)\\[(.+)\\]$/);\n if (keyParts) {\n key = keyParts[1];\n subKey = keyParts[2];\n }\n var target = translations[key];\n if (isObject(target)) {\n if (subKey) {\n target = target[subKey];\n } else {\n throw new Error(\"You can't alias objects\")\n }\n }\n if (target == null) {\n throw new Error('No translation for alias \"' + token + '\"')\n }\n var translation = resolveAliases(target);\n keysInProcess[token] = false;\n return translation\n })\n }\n return resolveAliases(translations)\n};\n\nexport default translatejs;\n","import m from 'mithril';\nimport { Icon } from 'mithril-materialized';\nimport logo from '../assets/tno.svg';\nimport { IDashboard } from '../models';\nimport { routingSvc } from '../services/routing-service';\nimport { MeiosisComponent, changePage, i18n, t } from '../services';\nimport { LANGUAGE } from '../utils';\nimport DutchFlag from '../assets/flag-nl.png';\nimport EnglishFlag from '../assets/flag-en.png';\n\nexport const setLanguage = async (locale = i18n.currentLocale) => {\n localStorage.setItem(LANGUAGE, locale);\n await i18n.loadAndSetLocale(locale);\n};\n\nexport const Layout: MeiosisComponent = () => ({\n view: ({ children, attrs }) => {\n const isActive = (d: IDashboard) =>\n attrs.state.page === d.id ? '.active' : '';\n\n const routes = routingSvc\n .getList()\n // .filter((d) => curUser === 'admin' || d.id !== Dashboards.SETTINGS)\n .filter(\n (d) =>\n (typeof d.visible === 'boolean'\n ? d.visible\n : d.visible(attrs.state?.model?.scenario)) || isActive(d)\n );\n\n const language = i18n.currentLocale;\n\n return m('.main', { style: 'overflow-x: hidden' }, [\n m(\n '.navbar-fixed',\n { style: 'z-index: 1001' },\n m(\n 'nav',\n m('.nav-wrapper', [\n m(\n 'a.brand-logo[href=#].show-on-large',\n { style: 'margin-left: 20px' },\n [\n m(`img[width=140][height=60][src=${logo}][alt=TNO]`, {\n style: 'margin-top: 5px; margin-left: -5px;',\n }),\n m(\n '.title.show-on-med-and-up.black-text.truncate',\n attrs.state.model?.scenario?.label\n ),\n ]\n ),\n m(\n // 'a.sidenav-trigger[href=#!/home][data-target=slide-out]',\n // { onclick: (e: UIEvent) => e.preventDefault() },\n m.route.Link,\n {\n className: 'sidenav-trigger',\n 'data-target': 'slide-out',\n href: m.route.get(),\n },\n m(Icon, {\n iconName: 'menu',\n className: 'hide-on-large-and-up black-text',\n style: 'margin-left: 5px;',\n })\n ),\n m('ul#dropdown_languages.dropdown-content', [\n m(\n 'li',\n m('a', { href: '#!', onclick: () => setLanguage('nl') }, [\n m('img', {\n src: DutchFlag,\n alt: 'Nederlands',\n title: 'Nederlands',\n disabled: language === 'nl',\n class: language === 'nl' ? 'disabled-image' : 'clickable',\n }),\n 'Nederlands',\n ])\n ),\n m(\n 'li',\n m('a', { href: '#!', onclick: () => setLanguage('en') }, [\n m('img', {\n src: EnglishFlag,\n alt: 'English',\n title: 'English',\n disabled: language === 'en',\n class: language === 'en' ? 'disabled-image' : 'clickable',\n }),\n 'English',\n ])\n ),\n ]),\n m(\n 'ul#slide-out.sidenav.hide-on-large-and-up',\n {\n oncreate: () => {\n const elems = document.querySelectorAll('.sidenav');\n M.Sidenav.init(elems);\n },\n },\n routes.map((d) =>\n m(`li.tooltip${isActive(d)}.unselectable`, [\n m(\n 'a',\n { href: routingSvc.href(d.id) },\n m(Icon, {\n className: d.iconClass ? ` ${d.iconClass}` : '',\n iconName: typeof d.icon === 'string' ? d.icon : d.icon(),\n }),\n (typeof d.title === 'string'\n ? d.title\n : d.title()\n ).toUpperCase()\n ),\n ])\n ),\n m('li.tooltip.language-settings.unselectable', [\n m(\n 'a.dropdown-trigger',\n {\n href: '#!',\n 'data-target': 'dropdown_languages',\n oncreate: ({ dom }) => {\n M.Dropdown.init(dom);\n },\n },\n m(Icon, {\n iconName: 'language',\n className: 'hoverable',\n style: 'font-size: 2.2rem; width: 4rem;',\n }),\n m('span.tooltiptext', t('SET_LANGUAGE').toUpperCase())\n ),\n ])\n ),\n m(\n 'ul.right.hide-on-med-and-down',\n routes.map((d) =>\n m(`li.tooltip${isActive(d)}.unselectable`, [\n m(Icon, {\n className:\n 'hoverable' + (d.iconClass ? ` ${d.iconClass}` : ''),\n style: 'font-size: 2.2rem; width: 4rem;',\n iconName: typeof d.icon === 'string' ? d.icon : d.icon(),\n onclick: () => changePage(attrs, d.id),\n }),\n m(\n 'span.tooltiptext',\n (typeof d.title === 'string'\n ? d.title\n : d.title()\n ).toUpperCase()\n ),\n ])\n ),\n m('li.tooltip.language-settings.unselectable', [\n m(\n 'a.dropdown-trigger',\n {\n href: '#!',\n 'data-target': 'dropdown_languages',\n oncreate: ({ dom }) => {\n M.Dropdown.init(dom);\n },\n },\n m(Icon, {\n iconName: 'language',\n className: 'hoverable',\n style: 'font-size: 2.2rem; width: 4rem;',\n }),\n m('span.tooltiptext', t('SET_LANGUAGE').toUpperCase())\n ),\n ])\n ),\n ])\n )\n ),\n m('.container', children),\n ]);\n },\n});\n","import m from 'mithril';\nimport { Dashboards } from '../models';\nimport { MeiosisComponent, setPage } from '../services';\nimport { render } from 'mithril-ui-form';\nimport process_flow from '../assets/process_flow.png';\nimport menu from '../assets/menu.png';\nimport menu_settings from '../assets/menu_settings.png';\nimport menu_generate from '../assets/menu_generate.png';\nimport menu_tabs from '../assets/menu_tabs.png';\nimport menu_tabs2 from '../assets/menu_tabs2.png';\nimport { scrollToSection } from '../utils';\n\nconst background = `_ScenarioSpark is ontwikkeld als ondersteunend instrument voor de methode “Risicomanagement Integrale Beveiliging”. Specifiek biedt ScenarioSpark vooral ondersteuning bij de uitvoering van stap 2 van deze methode. Het betreft de stap waarin onder meer de te behandelen dreigingsscenario’s voor de TBB’s worden bepaald._\n\n![De zes stappen van de methode “Risicomanagement Integrale Beveiliging”](${process_flow})`;\n\nconst goal = `ScenarioSpark is ontwikkeld om de risicomanager te ondersteunen in twee uitdagingen:\n\n- Het op een creatieve manier ontwikkelen van plausibele scenario’s;\n- Het samenstellen van een beperkte, maar toch representatieve set van scenario’s.\n\n### Het ontwikkelen van creatieve scenario’s\n\nZoals we in het recente verleden hebben gezien, blijven terroristen en andere criminelen voortdurend nieuwe manieren bedenken om onze samenleving aan te vallen. Voor een goede beveiliging is het belangrijk dat we niet alleen bekende dreigingen beoordelen, maar ook creatieve dreigingsscenario's bedenken om buiten de gebaande paden te denken. Dit is makkelijker gezegd dan gedaan, omdat recente ervaringen vaak onze gedachten sturen. ScenarioSpark is ontwikkeld om hierin te ondersteunen door willekeurig (dus niet beïnvloed door vooroordelen of ervaringen uit het verleden) potentieel valide scenariostammen te genereren. Op basis van de gegenereerde suggesties kan de gebruiker vervolgens bepalen welke interessant zijn om uit te werken en in de risicoanalyse mee te nemen.\n\n### Het samenstellen van een beperkte, maar toch representatieve set van scenario’s\n\nHet maken van een compleet overzicht van alle risico’s in alle situaties op alle te beschermen belangen is in het algemeen niet realistisch. Er zijn immers zoveel variaties mogelijk dat volledige analyse hiervan niet haalbaar is. In de praktijk wordt daarom getracht een beperkte set scenario’s te kiezen waarmee toch een goed, representatief beeld ontstaat van alle mogelijke risico’s.\n\nScenarioSpark ondersteunt hierin door inzicht te geven in welke mate een set geselecteerde scenario’s de totale risico-ruimte afdekt en welke overlappen er in die set zitten. Hiertoe wordt gebruik gemaakt van een zogenaamde ‘morfologische box’. Dat is een matrix waarin de kolommen worden gevormd door alle relevante factoren die een scenario karakteriseren, en waarin de rijen worden gevormd door de opties voor ieder van die factoren (de mogelijke waarden die de factoren kunnen aannemen). In ScenarioSpark wordt een scenario gekarakteriseerd door de keuze van één of meer opties voor iedere factor.\n\nUit alle gegenereerde of gedefinieerde scenario’s kan de gebruiker de scenario’s selecteren die worden toegevoegd aan de set met te evalueren dreigingsscenario’s. In de morfologische box wordt aan de hand van een kleurcodering aangegeven hoe vaak bepaalde opties voorkomen in deze set.\n\nOp deze wijze kan met ScenarioSpark een set scenario’s worden samengesteld waarin de te analyseren factoren van risico’s zo efficiënt mogelijk worden behandeld in de (beperkte) set met scenario’s. Bovendien wordt voorkomen dat belangrijke factoren over het hoofd worden gezien.`;\n\nconst howToUse = `### Het ontwikkelen van creatieve scenario’s\n\nNavigeer in het hoofdmenu naar ‘maak scenario’.\n\n![Menubalk met instellingen](${menu})\n![Model en inconsistenties](${menu_tabs})\n\nDe pagina bestaat uit een aantal componenten:\n\n1. Drie knoppen: ‘genereer’, ‘wis’ en 'bewaar’;\n2. Een drop down menu waarin eerder gegenereerde scenario’s weer opgeroepen kunnen worden;\n3. De factoren waaruit de morfologische box is opgebouwd;\n4. Een ‘slotje’ achter ieder van de factoren;\n5. Een beschrijvende titel die kan worden toegekend aan het scenario;\n6. Een vinkje dat aangeeft of het scenario is geselecteerd voor evaluatie;\n7. Een tekst vak waarin de scenariostam verder kan worden uitgewerkt, eventueel met opmaak en/of afbeeldingen.\n\nDoor op ‘genereer’ te klikken wordt er aan de hand van de morfologische box een scenario gegeneerd waarbij random een optie wordt toegekend aan elk van de factoren. De gebruiker heeft een aantal mogelijkheden:\n\n1. Het scenario houden zoals is gegenereerd door de morfologische box;\n2. Enkele factoren vastzetten door middel van het slotje en nieuwe opties genereren voor de andere factoren door opnieuw op ‘genereer’ te klikken;\n3. Een scenario wijzigen of aanvullen door zelf een optie te kiezen voor een factor of meerdere opties te selecteren voor een factor;\n4. Een compleet nieuw scenario door de tool laten genereren;\n5. Een eigen scenario te creëren door handmatig optie(s) voor elke factor te selecteren.\n\nIndien de gebruiker tevreden is met het gegenereerde scenario kan ervoor worden gekozen het scenario toe te voegen aan de lijst met de te evalueren dreigingsscenario’s. Het scenario kan worden uitgeschreven tot een verhaal en er kan een titel worden gegeven om het scenario herkenbaar en ondubbelzinnig te maken.\n\n### Het samenstellen van een beperkte, maar toch representatieve set van scenario’s.\n\n#### Modus uitsluiten inconsistenties\n\nSommige combinaties van opties van factoren zijn onmogelijk of onwaarschijnlijk. Denk bijvoorbeeld aan een cybercrimineel (actor) die fysieke informatie steelt (doelwit) door middel van een ramvoertuig (middel/ wapen). Om deze reden is er in ScenarioSpark een kruistabel toegevoegd die weergeeft wanneer combinaties van opties van factoren mogelijk, onmogelijk of onwaarschijnlijk zijn. Wanneer de modus ‘uitsluiten inconsistenties’ is aangevinkt in instellingen, is het niet mogelijk om handmatig een optie voor een factor te kiezen die onmogelijk of onwaarschijnlijk is in combinatie met de reeds geselecteerde opties voor de andere factoren.`;\n\nconst settings = `### Aanpassen morfologische box\n\nHet aanpassen van de morfologische box kan worden gedaan in ‘instellingen’ onder het kopje ‘model’.\n\n![Menubalk met instellingen](${menu_settings})\n\n### Aanpassen categorieën\nDoor het instellen van categorieën kan de morfologische box in meerdere delen worden gesplitst (zoals dreigingen, objecten, omstandigheden). Deze mogelijkheid wordt niet gebruikt binnen de context van de Tweede Kamer.\n\n### Selectie getoonde factoren\n\nIn dit drop down menu kan een selectie worden gemaakt van de factoren die meegenomen worden in de morfologische box.\n\n### Aanpassen factoren\n\nNieuwe factoren kunnen worden toegevoegd door op het plusje naast ‘factoren’ te klikken. Er dienen een aantal gegevens te worden ingevuld:\n\n1. Volgorde (de plek in de morfologische box waar de factor komt te staan);\n2. Manuele mode (bij het automatisch genereren van een scenario wordt deze factor overgeslagen, en dient dus manueel gekozen te worden);\n3. Naam;\n4. Omschrijving.\n\nFactoren kunnen worden gewijzigd door naar de desbetreffende factor te navigeren. Factoren kunnen worden verwijderd door aan de rechterkant op het kruisje te klikken.\n\n### Aanpassen opties binnen factoren\n\nHet aanpassen van opties binnen factoren gebeurt op de pagina van de morfologische box zelf.\n\n![Genereren van varianten](${menu_generate})\n\nEr kunnen nieuwe opties worden toegevoegd en bestaande opties worden gewijzigd of verwijderd. Om een nieuwe optie toe te voegen dient geklikt te worden op het plusje naast de factor, die tevoorschijn komt door met de muis over de factor te hoveren. Een optie kan worden bewerkt of verwijderd door op het pennetje te klikken dat tevoorschijn komt door met de muis over de optie te hoveren.\n\n### Aanpassen consistenties\n\nHet aanpassen van consistenties kan door op de pagina ‘instellingen’ te navigeren naar ‘bewerk inconsitenties’.\n\n![Model en inconsistenties](${menu_tabs2})\n\nScenarioSpark beschikt over een kruistabel waarin voor alle combinaties van opties van factoren is aangegeven of het mogelijk, onwaarschijnlijk of onmogelijk is. Dit kruistabel dient handmatig te worden aangepast. Er kan een rij en een kolom worden gekozen, die beiden een factor representeren. Vervolgens kan worden aangegeven per combinatie van de opties van de factoren of de combinatie als mogelijk, onmogelijk of onwaarschijnlijk wordt geacht. Hoe meer factoren er zijn, hoe meer combinaties moeten worden gecheckt. Houd er dus rekening mee dat dit de nodige tijd in beslag neemt. Indien een nieuwe optie wordt toegevoegd aan een factor in de morfologische box, dient voor de nieuwe optie alle combinaties met bestaande opties van andere factoren beoordeeld te worden.\n\nLet op: na het toevoegen van nieuwe opties in de morfologische box wordt geen enkele combinatie met deze nieuwe optie uitgesloten. Indien u wilt voorkomen dat niet-realistische scenario’s worden gegeneerd in de scenariogenerator, dient u handmatig de niet- realistische combinaties hier af te vinken.\n\n### Aanpassen kleurweergave\n\nMet behulp van kleuren kan voor de opties in de morfologische box worden aangegeven hoe vaak deze is gebruikt in een scenario. De keuze van de gebruikte kleuren, het aantal verschillende kleuren en de bandbreedtes waarin dezelfde kleur gegeven wordt, kan naar vrijheid worden ingevuld. Een optie krijgt de kleur van de bandbreedte als het aantal keer dat deze voorkomt groter of gelijk is aan het getal dat wordt ingevoerd als drempelwaarde bij de bandbreedte, zolang er geen hogere drempelwaarde bestaat waar dit ook voor geldt.\n\n### Aanpassen taal\n\nDe taalinstelling van de tool kan worden aangepast door de gewenste vlag op de homepagina te selecteren, of het menu rechtsboven te gebruiken.`;\n\nconst security = `Omdat de informatie die in ScenarioSpark wordt gezet vertrouwelijk kan zijn, is bij het ontwerp van deze applicatie hiermee rekening gehouden door de volgende uitgangspunten te hanteren:\n\n-\tScenarioSpark wordt geladen vanaf een website. De enige informatie die hierbij over het net gaat, is de werking van het programma. Eenmaal ingeladen in de computer, is een verbinding met internet dus ook niet meer noodzakelijk;\n-\tAlle informatie die door ScenarioSpark wordt gebruikt, blijft op de computer van de gebruiker (hetzij in de Browsercache, hetzij in een bewaard bestand). De mate van beveiliging van deze gegevens is hiermee gelijk aan de mate van beveiliging van de betreffende computer en volledig controleerbaar door de beheerder van de betreffende computer. Dit betreft zowel de gebruikersinstellingen, de opzet van de morfologische box, als de scenario’s.\n-\tHet programma biedt de mogelijkheid deze informatie op te slaan en in te lezen. De informatie wordt altijd opgeslagen in de download map van de browser (dit is de enige map waarvoor de browser schrijfrechten heeft). Het inlezen van een bestand kan vanaf elke locatie.\n`;\n\nexport const AboutPage: MeiosisComponent = () => {\n return {\n oninit: ({ attrs }) => setPage(attrs, Dashboards.ABOUT),\n // oncreate: () => {\n // const match = /#([a-zA-Z]*)/.exec(m.route.get());\n // if (match && match.length > 0) {\n // setTimeout(() => scrollToSection(match[1]), 100);\n // }\n // },\n view: () => {\n const match = /#([a-zA-Z]*)/.exec(m.route.get());\n if (match && match.length > 0) {\n setTimeout(() => scrollToSection(match[1]), 0);\n }\n return m('.markdown', [\n m('aside#toc', [\n m('.center-align', [\n m('ul.list-inline', [\n m(\n 'li',\n m(\n 'a',\n {\n href: '#goal',\n onclick: (e: MouseEvent) => scrollToSection('goal', e),\n },\n 'Doel van ScenarioSpark'\n )\n ),\n m('li', ' | '),\n m(\n 'li',\n m(\n 'a',\n {\n href: '#usage',\n onclick: (e: MouseEvent) => scrollToSection('usage', e),\n },\n 'Hoe te gebruiken'\n )\n ),\n m('li', ' | '),\n m(\n 'li',\n m(\n 'a',\n {\n href: '#settings',\n onclick: (e: MouseEvent) => scrollToSection('settings', e),\n },\n 'Beheer'\n )\n ),\n m('li', ' | '),\n m(\n 'li',\n m(\n 'a',\n {\n href: '#security',\n onclick: (e: MouseEvent) => scrollToSection('security', e),\n },\n 'Security'\n )\n ),\n ]),\n ]),\n ]),\n m('main', [\n m('header', [m('h1', 'Achtergrond'), m.trust(render(background))]),\n m('section#goal', [\n m('h2', 'Doel van ScenarioSpark'),\n m.trust(render(goal)),\n ]),\n m('section#usage', [\n m('h2', 'Hoe te gebruiken'),\n m.trust(render(howToUse)),\n ]),\n m('section#settings', [m('h2', 'Beheer'), m.trust(render(settings))]),\n m('section#security', [\n m('h2', 'Security'),\n m.trust(render(security)),\n ]),\n ]),\n ]);\n // return [m('.row', []), m('.row.markdown', m.trust(render(md)))];\n },\n };\n};\n","import m from 'mithril';\nimport {\n Button,\n Icon,\n InputCheckbox,\n ModalPanel,\n RadioButtons,\n Tabs,\n} from 'mithril-materialized';\nimport background from '../assets/background.webp';\nimport DutchFlag from '../assets/flag-nl.png';\nimport EnglishFlag from '../assets/flag-en.png';\nimport {\n MeiosisComponent,\n routingSvc,\n saveModel,\n setLanguage,\n setPage,\n t,\n} from '../services';\nimport {\n Dashboards,\n DataModel,\n Narrative,\n OldDataModel,\n ScenarioComponent,\n defaultModels,\n} from '../models';\nimport { SAVED, capitalize, convertFromOld, modelToSaveName } from '../utils';\n\nexport const TableView: MeiosisComponent<{\n narratives: Narrative[];\n components: ScenarioComponent[];\n}> = () => {\n return {\n view: ({ attrs: { components, narratives = [], ...attrs } }) => {\n const lookup = components.reduce((acc, cur) => {\n cur.values &&\n cur.values.forEach((v) => {\n acc[v.id] = v.label;\n });\n return acc;\n }, {} as Record<string, string>);\n\n return m(\n '.table-container',\n m(\n '.table',\n m('table.responsive-table.highlight', [\n m(\n 'thead',\n m(\n 'tr',\n m('th', { style: 'text-align: right' }, t('NAME')),\n components.map((c) => m('th', c.label))\n )\n ),\n m(\n 'tbody',\n narratives.map((n) =>\n m(\n 'tr',\n m(\n 'th.bold',\n { style: 'text-align: left' },\n m(\n 'a',\n {\n href: routingSvc.href(Dashboards.SHOW_SCENARIO),\n onclick: () => {\n attrs.update({\n curNarrative: () => n,\n });\n },\n },\n capitalize(n.label)\n )\n ),\n components.map((c) =>\n n.components[c.id] && n.components[c.id].length > 0\n ? m(\n 'td',\n m.trust(\n n.components[c.id]\n .map(\n (id) =>\n lookup[id] ||\n `<span class=\"red-text\">Missing component ID: ${id}</span>`\n )\n .join(', ')\n )\n )\n : n[c.id as 'risk' | 'probability' | 'impact']\n ? m(\n 'td',\n lookup[n[c.id as 'risk' | 'probability' | 'impact']!]\n )\n : m(\n 'td.center-align.missing',\n m(Icon, { iconName: 'clear', className: 'red-text' })\n )\n )\n )\n )\n ),\n ])\n )\n );\n },\n };\n};\n\nexport const HomePage: MeiosisComponent = () => {\n const readerAvailable =\n window.File && window.FileReader && window.FileList && window.Blob;\n let selectedId = 0;\n let removeAllKeyValues = false;\n\n return {\n oninit: ({ attrs }) => {\n setPage(attrs, Dashboards.HOME);\n // const uriModel = m.route.param('model');\n // if (!uriModel) {\n // return;\n // }\n // try {\n // const decompressed = lz.decompressFromEncodedURIComponent(uriModel);\n // if (!decompressed) {\n // return;\n // }\n // const model = JSON.parse(decompressed);\n // saveModel(model);\n // changePage(Dashboards.OVERVIEW);\n // } catch (err) {\n // console.error(err);\n // }\n },\n view: ({ attrs }) => {\n const isCleared = false;\n const { model, language } = attrs.state;\n const {\n scenario: { narratives = [], components, categories },\n } = model;\n\n const selectedNarratives = narratives\n .filter((n) => n.included)\n .sort((a, b) => (a.label || '').localeCompare(b.label));\n\n return [\n m('div', { style: 'padding-top: 1rem;position: relative;' }, [\n selectedNarratives.length > 0 &&\n categories.length > 0 && [\n m('.row', m('.col.s12', [m('h4', t('SAVED_NARRATIVES'))])),\n categories.length > 1\n ? m(Tabs, {\n tabs: categories.map((c) => ({\n title: c.label,\n vnode: m(TableView, {\n ...attrs,\n narratives: selectedNarratives,\n components: components.filter(\n (comp) =>\n c.componentIds && c.componentIds.includes(comp.id)\n ),\n }),\n })),\n })\n : m(\n '.narratives',\n m(TableView, {\n ...attrs,\n narratives: selectedNarratives,\n components: components.filter(\n (comp) =>\n categories[0].componentIds &&\n categories[0].componentIds.includes(comp.id)\n ),\n })\n ),\n ],\n selectedNarratives.length === 0 &&\n m(\n '.row',\n m(\n '.col.s12.center-align',\n m('img.responsive-img.center[alt=fountain pen]', {\n src: background,\n })\n )\n ),\n m('.buttons.center', { style: 'margin: 10px auto;' }, [\n [\n m(\n '.language-option',\n {\n onclick: () => setLanguage('nl'),\n },\n [\n m('img', {\n src: DutchFlag,\n alt: 'Nederlands',\n title: 'Nederlands',\n disabled: language === 'nl',\n class: language === 'nl' ? 'disabled-image' : 'clickable',\n }),\n m('span', 'Nederlands'),\n ]\n ),\n m(\n '.language-option',\n {\n onclick: () => setLanguage('en'),\n },\n [\n m('img', {\n src: EnglishFlag,\n alt: 'English',\n title: 'English',\n disabled: language === 'en',\n class: language === 'en' ? 'disabled-image' : 'clickable',\n }),\n m('span', 'English'),\n ]\n ),\n ],\n m(Button, {\n iconName: 'clear',\n disabled: isCleared,\n className: 'btn-large',\n label: t('NEW_MODEL', 'btn'),\n modalId: 'clearAll',\n }),\n m('a#downloadAnchorElem', { style: 'display:none' }),\n m(Button, {\n iconName: 'download',\n disabled: isCleared,\n className: 'btn-large',\n label: t('DOWNLOAD'),\n onclick: () => {\n const dlAnchorElem =\n document.getElementById('downloadAnchorElem');\n if (!dlAnchorElem) {\n return;\n }\n const version =\n typeof model.version === 'undefined' ? 1 : ++model.version;\n const dataStr =\n 'data:text/json;charset=utf-8,' +\n encodeURIComponent(JSON.stringify({ ...model, version }));\n dlAnchorElem.setAttribute('href', dataStr);\n dlAnchorElem.setAttribute(\n 'download',\n `${modelToSaveName(model)}.json`\n );\n dlAnchorElem.click();\n localStorage.setItem(SAVED, 'true');\n },\n }),\n m('input#selectFiles[type=file][accept=.json]', {\n style: 'display:none',\n }),\n // m('input#selectFiles[type=file][accept=.json,.pdf]', { style: 'display:none' }),\n readerAvailable &&\n m(Button, {\n iconName: 'upload',\n className: 'btn-large',\n label: t('UPLOAD'),\n onclick: () => {\n const fileInput = document.getElementById(\n 'selectFiles'\n ) as HTMLInputElement;\n fileInput.onchange = () => {\n if (!fileInput) {\n return;\n }\n const files = fileInput.files;\n if (!files || (files && files.length <= 0)) {\n return;\n }\n const data = files && files.item(0);\n const isJson = data && /json$/i.test(data.name);\n const reader = new FileReader();\n reader.onload = async (e: ProgressEvent<FileReader>) => {\n if (isJson) {\n const result = (e &&\n e.target &&\n e.target.result) as string;\n const json = JSON.parse(result.toString()) as\n | DataModel\n | OldDataModel;\n if (json) {\n const dataModel = json.version\n ? (json as DataModel)\n : convertFromOld(json as OldDataModel);\n saveModel(attrs, dataModel, true);\n M.toast({ html: t('SCENARIO_LOADED_MSG') });\n // changePage(attrs, Dashboards.DEFINE_BOX);\n }\n // json &&\n // json.version &&\n // saveModel(attrs, json as DataModel);\n // changePage(attrs, Dashboards.HOME);\n }\n };\n if (data) {\n isJson\n ? reader.readAsText(data)\n : reader.readAsArrayBuffer(data);\n }\n };\n fileInput.click();\n },\n }),\n ]),\n m(\n '.section.white',\n m('.row.container.center', [\n m('.row', m('.col.s12.align-center', [m('h5', 'ScenarioSpark')])),\n m('.row', [\n m(\n '.col.s12.m4',\n m('.icon-block', [\n m('.center', m(Icon, { iconName: 'ads_click' })),\n m(\n 'h5.center',\n m(\n m.route.Link,\n {\n href: t('ABOUT', 'ROUTE') + `#goal`,\n },\n t('GOAL', 'TITLE')\n )\n ),\n m('p', t('GOAL', 'DESC')),\n ])\n ),\n m(\n '.col.s12.m4',\n m('.icon-block', [\n m('.center', m(Icon, { iconName: 'settings' })),\n m(\n 'h5.center',\n m(\n m.route.Link,\n {\n href: t('ABOUT', 'ROUTE') + `#usage`,\n },\n t('USAGE', 'TITLE')\n )\n ),\n m('p', t('USAGE', 'DESC')),\n ])\n ),\n m(\n '.col.s12.m4',\n m('.icon-block', [\n m('.center', m(Icon, { iconName: 'lock' })),\n m(\n 'h5.center',\n m(\n m.route.Link,\n {\n href: t('ABOUT', 'ROUTE') + `#security`,\n },\n t('SECURITY', 'TITLE')\n )\n ),\n m('p', t('SECURITY', 'DESC')),\n ])\n ),\n ]),\n ])\n ),\n m(ModalPanel, {\n id: 'clearAll',\n title: t('NEW_MODEL', 'title'),\n description: m('.row', [\n m('.col.s12', [t('NEW_MODEL', 'description')]),\n m('.col.s12', [\n m(\n '.row',\n m(RadioButtons, {\n label: t('NEW_MODEL', 'choose'),\n checkedId: 1,\n options: defaultModels.map((_, i) => ({\n id: i + 1,\n label: `<strong>${t('MODEL_NAMES', i)}: </strong>${t(\n 'MODEL_DESC',\n i\n )}`,\n })),\n onchange: (i) => (selectedId = (i as number) - 1),\n })\n ),\n m(\n '.row',\n m(InputCheckbox, {\n label: t('NEW_MODEL', 'remove'),\n checked: removeAllKeyValues,\n onchange: (v) => (removeAllKeyValues = v),\n })\n ),\n ]),\n ]),\n buttons: [\n { label: t('CANCEL'), iconName: 'cancel' },\n {\n label: t('OK'),\n iconName: 'delete',\n onclick: async () => {\n await saveModel(attrs, defaultModels[selectedId], true);\n routingSvc.switchTo(\n selectedId === 0\n ? Dashboards.SETTINGS\n : Dashboards.DEFINE_BOX\n );\n },\n },\n ],\n }),\n ]),\n ];\n },\n };\n};\n","import m, { FactoryComponent } from 'mithril';\nimport {\n Dashboards,\n ID,\n Inconsistencies,\n Scenario,\n emptyModel,\n} from '../models';\nimport { MeiosisComponent, i18n, saveModel, setPage, t } from '../services';\nimport {\n FlatButton,\n Icon,\n ModalPanel,\n Select,\n Tabs,\n} from 'mithril-materialized';\nimport { FormAttributes, LayoutForm, UIForm } from 'mithril-ui-form';\n\nexport const InconsistencyCheckbox: FactoryComponent<{\n inconsistencies: Inconsistencies;\n rowId: ID;\n colId: ID;\n callback: () => Promise<void>;\n}> = () => {\n return {\n view: ({ attrs: { rowId, colId, inconsistencies, callback } }) => {\n const row = inconsistencies[rowId];\n const v = typeof row !== 'undefined' ? row[colId] : undefined;\n const iconName =\n typeof v === 'undefined'\n ? 'check_circle_outline'\n : v\n ? 'radio_button_unchecked'\n : 'blur_circular';\n return m(Icon, {\n className: 'clickable',\n iconName,\n onclick: async () => {\n switch (v) {\n case true:\n inconsistencies[rowId][colId] = inconsistencies[colId][rowId] =\n false;\n break;\n case false:\n delete inconsistencies[rowId][colId];\n delete inconsistencies[colId][rowId];\n break;\n default:\n if (!inconsistencies[rowId]) {\n inconsistencies[rowId] = {};\n }\n if (!inconsistencies[colId]) {\n inconsistencies[colId] = {};\n }\n inconsistencies[rowId][colId] = inconsistencies[colId][rowId] =\n true;\n break;\n }\n await callback();\n },\n });\n },\n };\n};\n\nexport const SettingsPage: MeiosisComponent = () => {\n const form = [\n { id: 'id', autogenerate: 'id' },\n { id: 'label', type: 'text', className: 'col s12 m6', label: t('NAME') },\n {\n id: 'hideInconsistentValues',\n type: 'checkbox',\n className: 'col s6 m3 mt25',\n label: t('HIDE_INCONSISTENT'),\n },\n {\n id: 'includeDecisionSupport',\n type: 'checkbox',\n className: 'col s6 m3 mt25',\n label: t('INCLUDE_DECISION_SUPPORT'),\n },\n { id: 'desc', type: 'textarea', label: t('DESCRIPTION') },\n {\n id: 'template',\n type: 'textarea',\n label: t('TEMPLATE', 'TITLE'),\n placeholder: t('TEMPLATE', 'DESC'),\n },\n {\n id: 'categories',\n label: t('CATEGORIES'),\n type: [\n { id: 'id', autogenerate: 'id' },\n {\n id: 'label',\n className: 'col s4 m3 l2',\n type: 'text',\n label: t('NAME'),\n },\n {\n id: 'desc',\n className: 'col s4 m6 l7',\n type: 'text',\n label: t('DESCRIPTION'),\n },\n {\n id: 'decisionSupport',\n type: 'checkbox',\n className: 'col s6 m3 l3 mt25',\n label: t('IS_DECISION_CATEGORY'),\n },\n {\n id: 'componentIds',\n type: 'select',\n multiple: true,\n label: t('DIMENSION_SELECTED'),\n options: 'components',\n },\n ],\n repeat: true,\n pageSize: 1,\n max: 2,\n },\n {\n id: 'components',\n type: [\n { id: 'id', autogenerate: 'id' },\n {\n id: 'order',\n type: 'number',\n className: 'col s3 m2',\n label: t('ORDER'),\n },\n {\n id: 'manual',\n type: 'switch',\n className: 'switch col s3 m2',\n label: t('MANUAL'),\n },\n {\n id: 'label',\n type: 'text',\n className: 'col s6 m8',\n label: t('NAME'),\n },\n // {\n // id: 'context',\n // type: 'select',\n // multiple: true,\n // className: 'col s12 m5',\n // label: t('CONTEXT'),\n // options: contextTypeOptions(t),\n // },\n {\n id: 'desc',\n type: 'text',\n className: 'col s12',\n label: t('DESCRIPTION'),\n },\n ],\n repeat: true,\n pageSize: 1,\n sortProperty: 'order',\n label: t('DIMENSIONS'),\n },\n {\n id: 'thresholdColors',\n label: t('THRESHOLDS'),\n repeat: true,\n sortProperty: 'threshold',\n pageSize: 1,\n type: [\n {\n id: 'threshold',\n label: t('THRESHOLD'),\n type: 'number',\n min: 0,\n className: 'col s6',\n },\n {\n id: 'color',\n label: t('COLOR'),\n type: 'color',\n className: 'col s6',\n },\n ],\n },\n ] as UIForm<Scenario>;\n let rowId: ID;\n let colId: ID;\n return {\n oninit: ({ attrs }) => setPage(attrs, Dashboards.SETTINGS),\n view: ({ attrs }) => {\n const { model } = attrs.state;\n const { inconsistencies } = model.scenario;\n const comps = model.scenario.components.filter((c) => c.id && c.label);\n const rowComp = rowId && comps.filter((c) => c.id === rowId).shift();\n const colComp = colId && comps.filter((c) => c.id === colId).shift();\n const rValues = rowComp && rowComp.values;\n const cValues = colComp && colComp.values;\n return [\n m('.settings-page.row', [\n m(Tabs, {\n tabs: [\n {\n title: t('MODEL'),\n vnode: m('.model-settings', [\n m(\n '.row',\n m(FlatButton, {\n className: 'right',\n iconName: 'delete',\n label: t('DELETE'),\n modalId: 'deleteModel',\n })\n ),\n m(\n '.row',\n m(LayoutForm, {\n obj: model.scenario,\n form,\n i18n: i18n.i18n,\n onchange: async () => {\n await saveModel(attrs, model);\n },\n } as FormAttributes<Scenario>)\n ),\n ]),\n },\n {\n title: t('INCONSISTENCIES', 'title'),\n vnode: m(\n '.inconsistencies-settings.row',\n comps.length > 0 && [\n m(Select, {\n checkedId: rowId,\n iconName: 'view_stream',\n className: 'col s6 m4',\n placeholder: t('i18n', 'pickOne'),\n label: t('INCONSISTENCIES', 'SELECT_ROW'),\n options: comps,\n onchange: (ids) => (rowId = ids[0] as string),\n }),\n m(Select, {\n checkedId: colId,\n iconName: 'view_week',\n className: 'col s6 m4',\n placeholder: t('i18n', 'pickOne'),\n label: t('INCONSISTENCIES', 'SELECT_COL'),\n options: comps,\n onchange: (ids) => (colId = ids[0] as string),\n }),\n m(\n '#legend.col.s12.m4',\n m('.card', [\n m('ul', [\n m(\n 'li',\n m(Icon, {\n style: 'vertical-align: bottom',\n iconName: 'check_circle_outline',\n }),\n t('COMBINATIONS', 'POSSIBLE')\n ),\n m(\n 'li',\n m(Icon, {\n style: 'vertical-align: bottom',\n iconName: 'radio_button_unchecked',\n }),\n t('COMBINATIONS', 'IMPOSSIBLE')\n ),\n m(\n 'li',\n m(Icon, {\n style: 'vertical-align: bottom',\n iconName: 'blur_circular',\n }),\n t('COMBINATIONS', 'IMPROBABLE')\n ),\n ]),\n ])\n ),\n rowComp &&\n colComp &&\n rValues &&\n cValues &&\n m(\n '.col.s12',\n m('.row', [\n m(\n '.col.s12',\n m(\n 'table.responsive-table.highlight',\n {\n style: 'display: block;overflow-x: auto',\n },\n [\n m(\n 'thead',\n m('tr', [\n m(\n 'th',\n `${rowComp.label} \\\\ ${colComp.label}`\n ),\n ...cValues.map((v) => m('th', v.label)),\n ])\n ),\n m(\n 'tbody',\n rValues.map((r) =>\n m('tr', [\n m('th', r.label),\n ...cValues.map((c) =>\n m(\n 'td',\n m(InconsistencyCheckbox, {\n rowId: r.id,\n colId: c.id,\n inconsistencies,\n callback: async () =>\n await saveModel(attrs, model),\n })\n // inconsistencies[key(r.id, c.id)] || 'NONE'\n )\n ),\n ])\n )\n ),\n ]\n )\n ),\n ])\n ),\n ]\n ),\n },\n ],\n }),\n m(ModalPanel, {\n id: 'deleteModel',\n title: t('DELETE_ITEM', 'title', { item: t('MODEL') }),\n description: t('DELETE_ITEM', 'description', { item: t('MODEL') }),\n // options: { opacity: 0.7 },\n buttons: [\n {\n label: t('CANCEL'),\n },\n {\n label: t('OK'),\n onclick: () => {\n saveModel(attrs, emptyModel);\n },\n },\n ],\n }),\n ]),\n ];\n },\n };\n};\n","import m from 'mithril';\nimport {\n Dashboards,\n ContextualItem,\n ScenarioComponent,\n ID,\n ContextType,\n Color,\n} from '../models';\nimport {\n MeiosisComponent,\n mutateScenarioComponent,\n setPage,\n i18n,\n t,\n moveScenarioComponent,\n} from '../services';\nimport { FlatButton, ModalPanel, Tabs } from 'mithril-materialized';\nimport {\n FormAttributes,\n LayoutForm,\n SlimdownView,\n UIForm,\n} from 'mithril-ui-form';\nimport { contrastingColor, generateNumbers } from '../utils';\n\nconst BoxItem: MeiosisComponent<{\n id: ID;\n item: ContextualItem;\n contexts?: ContextType[];\n form: UIForm<ContextualItem>;\n color: [Color, Color];\n}> = () => {\n let obj: ContextualItem;\n let contextAwareForm: UIForm<ContextualItem>;\n\n return {\n oninit: ({ attrs: { item, form, contexts } }) => {\n const hasContext =\n contexts && contexts.length > 0 && contexts[0] !== 'none';\n contextAwareForm = form\n .filter((i) => (i.id === 'context' ? hasContext : true))\n .map((i) =>\n i.id === 'context' &&\n hasContext &&\n i.options &&\n i.options instanceof Array\n ? {\n ...i,\n options: i.options.filter(\n (o) =>\n o.id === 'none' ||\n contexts.indexOf(o.id as ContextType) >= 0\n ),\n }\n : i\n );\n obj = { ...item };\n },\n view: ({ attrs }) => {\n const { item, id, color } = attrs;\n return m(\n 'li.kanban-item.card.widget[draggable=true]',\n {\n key: id,\n id: `ki_${item.id}`,\n style: `background-color: ${color[0]}; color: ${color[1]}`,\n ondragstart: (ev: DragEvent) => {\n ev.dataTransfer?.setData(id, JSON.stringify([id, item.id]));\n },\n ondragover: (ev: DragEvent) => {\n const allowed = ev.dataTransfer?.types.includes(id.toLowerCase());\n if (allowed) ev.preventDefault();\n },\n ondrop: (ev: DragEvent) => {\n ev.preventDefault();\n const data = ev.dataTransfer?.getData(id);\n if (!data) return;\n const [_, itemId] = JSON.parse(data) as [string, string];\n const dropTarget = ev.currentTarget as HTMLDataListElement;\n if (!itemId || !dropTarget || itemId === item.id) return;\n if (!dropTarget) return;\n const dropY = ev.clientY - dropTarget.getBoundingClientRect().top;\n const dropHeight = dropTarget.clientHeight;\n const moveBefore = dropY <= dropHeight / 2;\n moveScenarioComponent(attrs, id, itemId, item.id, moveBefore);\n },\n },\n [\n m('.card-content', [\n m(\n 'span.card-title',\n {\n onmouseenter: item.desc\n ? () => {\n attrs.update({\n activeTooltip: item.desc,\n });\n }\n : undefined,\n onmouseleave: item.desc\n ? () => {\n attrs.update({\n activeTooltip: undefined,\n });\n }\n : undefined,\n },\n item.label\n ),\n // item.desc && m('span.card-desc', item.desc),\n m(FlatButton, {\n className: 'top-right widget-link',\n iconName: 'edit',\n iconClass: 'no-gutter',\n modalId: `modal_${item.id}`,\n }),\n ]),\n m(ModalPanel, {\n id: `modal_${item.id}`,\n title: t('EDIT_COMPONENT'),\n fixedFooter: true,\n description: m(\n '.row',\n m(LayoutForm, {\n form: contextAwareForm,\n obj,\n i18n: i18n.i18n,\n } as FormAttributes<ContextualItem>)\n ),\n // options: { opacity: 0.7 },\n buttons: [\n {\n label: t('CANCEL'),\n },\n {\n label: t('DELETE'),\n onclick: () => {\n mutateScenarioComponent(attrs, id, obj, 'delete');\n },\n },\n {\n label: t('OK'),\n onclick: () => {\n mutateScenarioComponent(attrs, id, obj, 'update');\n },\n },\n ],\n }),\n ]\n );\n },\n };\n};\n\nconst BoxHeader: MeiosisComponent<{\n sc: ScenarioComponent;\n form: UIForm<ContextualItem>;\n}> = () => {\n let obj = {} as ContextualItem;\n return {\n view: ({ attrs }) => {\n const { sc, form } = attrs;\n const { id } = sc;\n\n return m('li.kanban-header.widget', { key: 'header' }, [\n m(\n '.span.title.truncate.left.ml10',\n {\n onmouseenter: sc.desc\n ? () => {\n attrs.update({\n activeTooltip: sc.desc,\n });\n }\n : undefined,\n onmouseleave: sc.desc\n ? () => {\n attrs.update({\n activeTooltip: undefined,\n });\n }\n : undefined,\n },\n sc.label\n ),\n m(FlatButton, {\n className: 'widget-link',\n iconName: 'add',\n iconClass: 'no-gutter',\n modalId: sc.id,\n i18n: i18n.i18n,\n }),\n m(ModalPanel, {\n id: sc.id,\n title: t('ADD_COMPONENT'),\n fixedFooter: true,\n description: m(\n '.row',\n m(LayoutForm, {\n form,\n obj,\n i18n: i18n.i18n,\n } as FormAttributes<ContextualItem>)\n ),\n // options: { opacity: 0.7 },\n buttons: [\n {\n label: t('CANCEL'),\n },\n {\n label: t('OK'),\n onclick: () => {\n const item = { ...obj };\n obj = {} as ContextualItem;\n mutateScenarioComponent(attrs, id, item, 'create');\n },\n },\n ],\n }),\n ]);\n },\n };\n};\n\nconst BoxRow: MeiosisComponent<{\n sc: ScenarioComponent;\n form: UIForm<ContextualItem>;\n compColor: { [key: ID]: [Color, Color] };\n}> = () => {\n return {\n view: ({ attrs }) => {\n const { sc, form, compColor } = attrs;\n return m('li', { key: sc.id }, [\n m(\n 'ul.kanban-row',\n m(BoxHeader, { ...attrs, sc, form }),\n sc.values?.map((c) =>\n m(BoxItem, {\n key: c.id,\n ...attrs,\n id: sc.id,\n contexts: sc.contexts,\n item: c,\n form,\n color: compColor[c.id] || compColor['OTHER'],\n })\n )\n ),\n ]);\n },\n };\n};\n\nconst BoxView: MeiosisComponent<{\n categoryId: number;\n form: UIForm<ContextualItem>;\n compColor: { [key: ID]: [Color, Color] };\n}> = () => {\n return {\n view: ({ attrs }) => {\n const {\n form,\n categoryId,\n compColor,\n state: { model },\n } = attrs;\n const { scenario } = model;\n const { categories, components: components } = scenario;\n const category = categories[categoryId];\n const scs = components.filter(\n (c) => category.componentIds && category.componentIds.indexOf(c.id) >= 0\n );\n\n return m('ul.kanban', [\n // m(\n // '.kanban-row',\n scs.map((sc) => m(BoxRow, { ...attrs, sc, form, compColor })),\n // ),\n ]);\n },\n };\n};\n\nexport const CreateBoxPage: MeiosisComponent = () => {\n const form = [\n { id: 'id', autogenerate: 'id' },\n { id: 'label', type: 'text', label: t('NAME') },\n { id: 'desc', type: 'textarea', label: t('DESCRIPTION') },\n // {\n // id: 'context',\n // type: 'select',\n // label: t('CONTEXT'),\n // value: 'none',\n // options: contextTypeOptions(t),\n // },\n // {\n // id: 'locationType',\n // show: ['context=location'],\n // type: 'select',\n // label: t('LOCATION_TYPE'),\n // className: 'col s6',\n // options: [\n // { id: 'name', label: t('NAME') },\n // { id: 'coords', label: t('COORDINATES') },\n // ],\n // },\n // {\n // id: 'location',\n // show: ['context=location & locationType=name'],\n // type: 'text',\n // className: 'col s6',\n // label: t('LOCATION_NAME'),\n // },\n // {\n // id: 'lat',\n // show: ['context=location & locationType=coords'],\n // type: 'number',\n // className: 'col s3',\n // label: t('LATITUDE'),\n // },\n // {\n // id: 'lon',\n // show: ['context=location & locationType=coords'],\n // type: 'number',\n // className: 'col s3',\n // label: t('LONGITUDE'),\n // },\n // {\n // id: 'locationTypeType',\n // show: ['context=locationType'],\n // type: 'select',\n // label: t('LOCATION_TYPE'),\n // className: 'col s6',\n // options: [\n // { id: 'list', label: t('PICK_FROM_LIST') },\n // { id: 'keyValue', label: t('ENTER_KEY_VALUE') },\n // ],\n // },\n // {\n // id: 'osmTypeId',\n // show: ['context=locationType & locationTypeType=list'],\n // type: 'select',\n // label: t('NAME'),\n // className: 'col s6',\n // options: OsmTypes.map(({ id, name }) => ({ id, label: name })),\n // },\n // {\n // id: 'value',\n // show: ['context=locationType & locationTypeType=keyValue'],\n // type: 'text',\n // className: 'col s3',\n // label: t('KEY'),\n // },\n // {\n // id: 'key',\n // show: ['context=locationType & locationTypeType=keyValue'],\n // type: 'text',\n // className: 'col s3',\n // label: t('VALUE'),\n // },\n ] as UIForm<ContextualItem>;\n let compColor: { [key: ID]: [Color, Color] } = {};\n\n return {\n oninit: ({ attrs }) => {\n setPage(attrs, Dashboards.DEFINE_BOX);\n },\n view: ({ attrs }) => {\n const {\n activeTooltip,\n model: { scenario },\n } = attrs.state;\n const { categories, thresholdColors = [] } = scenario;\n\n if (compColor || Object.keys(compColor).length < thresholdColors.length) {\n const { narratives = [] } = scenario;\n const componentUsage = narratives\n .filter((n) => n.included)\n .reduce((acc, cur) => {\n const { components: components } = cur;\n Object.keys(components).forEach((c) => {\n for (const compValue of components[c]) {\n if (acc[compValue]) {\n acc[compValue]++;\n } else {\n acc[compValue] = 1;\n }\n }\n });\n return acc;\n }, {} as { [key: ID]: number });\n const count2color: Color[] = generateNumbers(\n 0,\n Math.max(...thresholdColors.map((c) => c.threshold))\n ).map((_) => '');\n let i = 0;\n thresholdColors\n .sort((a, b) => (a.threshold > b.threshold ? 1 : -1))\n .forEach((tc) => {\n do {\n count2color[i] = tc.color;\n i++;\n } while (i < tc.threshold);\n });\n compColor = Object.entries(componentUsage).reduce(\n (acc, [id, count]) => {\n const color =\n count < count2color.length\n ? count2color[count]\n : count2color[count2color.length - 1];\n acc[id] = [color, contrastingColor(color)];\n return acc;\n },\n { OTHER: [count2color[0], contrastingColor(count2color[0])] } as {\n [key: ID]: [Color, Color];\n }\n );\n }\n\n return [\n m('.create-box-page', [\n categories.length > 1 &&\n categories[0].componentIds &&\n categories[1].componentIds\n ? m(Tabs, {\n tabs: categories.map((c, categoryId) => ({\n id: c.id,\n title: c.label,\n vnode: m(BoxView, {\n ...attrs,\n compColor,\n categoryId,\n form,\n }),\n })),\n })\n : categories.length === 1 && categories[0].componentIds\n ? m(BoxView, { ...attrs, compColor, categoryId: 0, form })\n : m('.row.mt10', m('.col.s12', t('SPEC_CATS'))),\n activeTooltip &&\n m(\n '.popupContainer',\n m(\n '.popupContent.center',\n m(SlimdownView, { md: activeTooltip, removeParagraphs: true })\n )\n ),\n ]),\n ];\n },\n };\n};\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n","import eq from './eq.js';\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nexport default assocIndexOf;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nexport default listCacheDelete;\n","import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nexport default listCacheClear;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nexport default listCacheGet;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nexport default listCacheHas;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nexport default listCacheSet;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nexport default toSource;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nexport default hashHas;\n","import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n","import nativeCreate from './_nativeCreate.js';\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nexport default hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default hashDelete;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nexport default hashSet;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nexport default isKeyable;\n","import isKeyable from './_isKeyable.js';\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nexport default getMapData;\n","import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n","import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nexport default mapCacheClear;\n","import getMapData from './_getMapData.js';\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default mapCacheDelete;\n","import getMapData from './_getMapData.js';\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nexport default mapCacheGet;\n","import getMapData from './_getMapData.js';\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nexport default mapCacheHas;\n","import getMapData from './_getMapData.js';\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nexport default mapCacheSet;\n","import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nexport default Stack;\n","import ListCache from './_ListCache.js';\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nexport default stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nexport default stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nexport default stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nexport default stackHas;\n","import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nexport default stackSet;\n","import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n","import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nexport default baseAssignValue;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignMergeValue;\n","import createBaseFor from './_createBaseFor.js';\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nexport default baseFor;\n","import root from './_root.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nexport default cloneBuffer;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n","import Uint8Array from './_Uint8Array.js';\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nexport default cloneArrayBuffer;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nexport default cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nexport default copyArray;\n","import isObject from './isObject.js';\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nexport default baseCreate;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nexport default isPrototype;\n","import baseCreate from './_baseCreate.js';\nimport getPrototype from './_getPrototype.js';\nimport isPrototype from './_isPrototype.js';\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nexport default initCloneObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n","import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nexport default stubFalse;\n","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nexport default baseUnary;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nexport default nodeUtil;\n","import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nexport default safeGet;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignValue;\n","import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nexport default copyObject;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nexport default baseTimes;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default arrayLikeKeys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default nativeKeysIn;\n","import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeysIn;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n","import assignMergeValue from './_assignMergeValue.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\nimport copyArray from './_copyArray.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\nimport isBuffer from './isBuffer.js';\nimport isFunction from './isFunction.js';\nimport isObject from './isObject.js';\nimport isPlainObject from './isPlainObject.js';\nimport isTypedArray from './isTypedArray.js';\nimport safeGet from './_safeGet.js';\nimport toPlainObject from './toPlainObject.js';\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nexport default baseMergeDeep;\n","import isArrayLike from './isArrayLike.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nexport default isArrayLikeObject;\n","import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nexport default toPlainObject;\n","import Stack from './_Stack.js';\nimport assignMergeValue from './_assignMergeValue.js';\nimport baseFor from './_baseFor.js';\nimport baseMergeDeep from './_baseMergeDeep.js';\nimport isObject from './isObject.js';\nimport keysIn from './keysIn.js';\nimport safeGet from './_safeGet.js';\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nexport default baseMerge;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nexport default apply;\n","import apply from './_apply.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nexport default overRest;\n","import baseSetToString from './_baseSetToString.js';\nimport shortOut from './_shortOut.js';\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nexport default setToString;\n","import constant from './constant.js';\nimport defineProperty from './_defineProperty.js';\nimport identity from './identity.js';\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nexport default baseSetToString;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nexport default constant;\n","import identity from './identity.js';\nimport overRest from './_overRest.js';\nimport setToString from './_setToString.js';\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nexport default baseRest;\n","import eq from './eq.js';\nimport isArrayLike from './isArrayLike.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nexport default isIterateeCall;\n","import baseMerge from './_baseMerge.js';\nimport createAssigner from './_createAssigner.js';\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nexport default merge;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nexport default arrayEach;\n","import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n","import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeys;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nexport default keys;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nexport default arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nexport default stubArray;\n","import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nexport default getSymbols;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nexport default arrayPush;\n","import arrayPush from './_arrayPush.js';\nimport getPrototype from './_getPrototype.js';\nimport getSymbols from './_getSymbols.js';\nimport stubArray from './stubArray.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nexport default getSymbolsIn;\n","import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nexport default baseGetAllKeys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nexport default getAllKeys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nexport default getAllKeysIn;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n","import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nexport default getTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nexport default initCloneArray;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nexport default cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nexport default cloneRegExp;\n","import Symbol from './_Symbol.js';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nexport default cloneSymbol;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\nimport cloneDataView from './_cloneDataView.js';\nimport cloneRegExp from './_cloneRegExp.js';\nimport cloneSymbol from './_cloneSymbol.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nexport default initCloneByTag;\n","import baseIsMap from './_baseIsMap.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nexport default isMap;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nexport default baseIsMap;\n","import baseIsSet from './_baseIsSet.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nexport default isSet;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nexport default baseIsSet;\n","import Stack from './_Stack.js';\nimport arrayEach from './_arrayEach.js';\nimport assignValue from './_assignValue.js';\nimport baseAssign from './_baseAssign.js';\nimport baseAssignIn from './_baseAssignIn.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport copyArray from './_copyArray.js';\nimport copySymbols from './_copySymbols.js';\nimport copySymbolsIn from './_copySymbolsIn.js';\nimport getAllKeys from './_getAllKeys.js';\nimport getAllKeysIn from './_getAllKeysIn.js';\nimport getTag from './_getTag.js';\nimport initCloneArray from './_initCloneArray.js';\nimport initCloneByTag from './_initCloneByTag.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isMap from './isMap.js';\nimport isObject from './isObject.js';\nimport isSet from './isSet.js';\nimport keys from './keys.js';\nimport keysIn from './keysIn.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nexport default baseClone;\n","import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nexport default baseAssignIn;\n","import copyObject from './_copyObject.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nexport default copySymbolsIn;\n","import copyObject from './_copyObject.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nexport default baseAssign;\n","import copyObject from './_copyObject.js';\nimport getSymbols from './_getSymbols.js';\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nexport default copySymbols;\n","import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nexport default cloneDeep;\n","import MapCache from './_MapCache.js';\nimport setCacheAdd from './_setCacheAdd.js';\nimport setCacheHas from './_setCacheHas.js';\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nexport default SetCache;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nexport default setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nexport default setCacheHas;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nexport default arraySome;\n","import SetCache from './_SetCache.js';\nimport arraySome from './_arraySome.js';\nimport cacheHas from './_cacheHas.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nexport default equalArrays;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nexport default cacheHas;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nexport default mapToArray;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nexport default setToArray;\n","import Symbol from './_Symbol.js';\nimport Uint8Array from './_Uint8Array.js';\nimport eq from './eq.js';\nimport equalArrays from './_equalArrays.js';\nimport mapToArray from './_mapToArray.js';\nimport setToArray from './_setToArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nexport default equalByTag;\n","import getAllKeys from './_getAllKeys.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nexport default equalObjects;\n","import Stack from './_Stack.js';\nimport equalArrays from './_equalArrays.js';\nimport equalByTag from './_equalByTag.js';\nimport equalObjects from './_equalObjects.js';\nimport getTag from './_getTag.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nexport default baseIsEqualDeep;\n","import baseIsEqual from './_baseIsEqual.js';\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nexport default isEqual;\n","import baseIsEqualDeep from './_baseIsEqualDeep.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nexport default baseIsEqual;\n","import { EmbedBlot } from 'parchment';\nclass Break extends EmbedBlot {\n static value() {\n return undefined;\n }\n optimize() {\n if (this.prev || this.next) {\n this.remove();\n }\n }\n length() {\n return 0;\n }\n value() {\n return '';\n }\n}\nBreak.blotName = 'break';\nBreak.tagName = 'BR';\nexport default Break;\n//# sourceMappingURL=break.js.map","import { TextBlot } from 'parchment';\nclass Text extends TextBlot {}\nfunction escapeText(text) {\n return text.replace(/[&<>\"']/g, s => {\n // https://lodash.com/docs#escape\n const entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n return entityMap[s];\n });\n}\nexport { Text as default, escapeText };\n//# sourceMappingURL=text.js.map","import { EmbedBlot, InlineBlot, Scope } from 'parchment';\nimport Break from './break.js';\nimport Text from './text.js';\nclass Inline extends InlineBlot {\n static allowedChildren = [Inline, Break, EmbedBlot, Text];\n // Lower index means deeper in the DOM tree, since not found (-1) is for embeds\n static order = ['cursor', 'inline',\n // Must be lower\n 'link',\n // Chrome wants <a> to be lower\n 'underline', 'strike', 'italic', 'bold', 'script', 'code' // Must be higher\n ];\n static compare(self, other) {\n const selfIndex = Inline.order.indexOf(self);\n const otherIndex = Inline.order.indexOf(other);\n if (selfIndex >= 0 || otherIndex >= 0) {\n return selfIndex - otherIndex;\n }\n if (self === other) {\n return 0;\n }\n if (self < other) {\n return -1;\n }\n return 1;\n }\n formatAt(index, length, name, value) {\n if (Inline.compare(this.statics.blotName, name) < 0 && this.scroll.query(name, Scope.BLOT)) {\n const blot = this.isolate(index, length);\n if (value) {\n blot.wrap(name, value);\n }\n } else {\n super.formatAt(index, length, name, value);\n }\n }\n optimize(context) {\n super.optimize(context);\n if (this.parent instanceof Inline && Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {\n const parent = this.parent.isolate(this.offset(), this.length());\n // @ts-expect-error TODO: make isolate generic\n this.moveChildren(parent);\n parent.wrap(this);\n }\n }\n}\nexport default Inline;\n//# sourceMappingURL=inline.js.map","import { AttributorStore, BlockBlot, EmbedBlot, LeafBlot, Scope } from 'parchment';\nimport Delta from 'quill-delta';\nimport Break from './break.js';\nimport Inline from './inline.js';\nimport TextBlot from './text.js';\nconst NEWLINE_LENGTH = 1;\nclass Block extends BlockBlot {\n cache = {};\n delta() {\n if (this.cache.delta == null) {\n this.cache.delta = blockDelta(this);\n }\n return this.cache.delta;\n }\n deleteAt(index, length) {\n super.deleteAt(index, length);\n this.cache = {};\n }\n formatAt(index, length, name, value) {\n if (length <= 0) return;\n if (this.scroll.query(name, Scope.BLOCK)) {\n if (index + length === this.length()) {\n this.format(name, value);\n }\n } else {\n super.formatAt(index, Math.min(length, this.length() - index - 1), name, value);\n }\n this.cache = {};\n }\n insertAt(index, value, def) {\n if (def != null) {\n super.insertAt(index, value, def);\n this.cache = {};\n return;\n }\n if (value.length === 0) return;\n const lines = value.split('\\n');\n const text = lines.shift();\n if (text.length > 0) {\n if (index < this.length() - 1 || this.children.tail == null) {\n super.insertAt(Math.min(index, this.length() - 1), text);\n } else {\n this.children.tail.insertAt(this.children.tail.length(), text);\n }\n this.cache = {};\n }\n // TODO: Fix this next time the file is edited.\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let block = this;\n lines.reduce((lineIndex, line) => {\n // @ts-expect-error Fix me later\n block = block.split(lineIndex, true);\n block.insertAt(0, line);\n return line.length;\n }, index + text.length);\n }\n insertBefore(blot, ref) {\n const {\n head\n } = this.children;\n super.insertBefore(blot, ref);\n if (head instanceof Break) {\n head.remove();\n }\n this.cache = {};\n }\n length() {\n if (this.cache.length == null) {\n this.cache.length = super.length() + NEWLINE_LENGTH;\n }\n return this.cache.length;\n }\n moveChildren(target, ref) {\n super.moveChildren(target, ref);\n this.cache = {};\n }\n optimize(context) {\n super.optimize(context);\n this.cache = {};\n }\n path(index) {\n return super.path(index, true);\n }\n removeChild(child) {\n super.removeChild(child);\n this.cache = {};\n }\n split(index) {\n let force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (force && (index === 0 || index >= this.length() - NEWLINE_LENGTH)) {\n const clone = this.clone();\n if (index === 0) {\n this.parent.insertBefore(clone, this);\n return this;\n }\n this.parent.insertBefore(clone, this.next);\n return clone;\n }\n const next = super.split(index, force);\n this.cache = {};\n return next;\n }\n}\nBlock.blotName = 'block';\nBlock.tagName = 'P';\nBlock.defaultChild = Break;\nBlock.allowedChildren = [Break, Inline, EmbedBlot, TextBlot];\nclass BlockEmbed extends EmbedBlot {\n attach() {\n super.attach();\n this.attributes = new AttributorStore(this.domNode);\n }\n delta() {\n return new Delta().insert(this.value(), {\n ...this.formats(),\n ...this.attributes.values()\n });\n }\n format(name, value) {\n const attribute = this.scroll.query(name, Scope.BLOCK_ATTRIBUTE);\n if (attribute != null) {\n // @ts-expect-error TODO: Scroll#query() should return Attributor when scope is attribute\n this.attributes.attribute(attribute, value);\n }\n }\n formatAt(index, length, name, value) {\n this.format(name, value);\n }\n insertAt(index, value, def) {\n if (def != null) {\n super.insertAt(index, value, def);\n return;\n }\n const lines = value.split('\\n');\n const text = lines.pop();\n const blocks = lines.map(line => {\n const block = this.scroll.create(Block.blotName);\n block.insertAt(0, line);\n return block;\n });\n const ref = this.split(index);\n blocks.forEach(block => {\n this.parent.insertBefore(block, ref);\n });\n if (text) {\n this.parent.insertBefore(this.scroll.create('text', text), ref);\n }\n }\n}\nBlockEmbed.scope = Scope.BLOCK_BLOT;\n// It is important for cursor behavior BlockEmbeds use tags that are block level elements\n\nfunction blockDelta(blot) {\n let filter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n return blot.descendants(LeafBlot).reduce((delta, leaf) => {\n if (leaf.length() === 0) {\n return delta;\n }\n return delta.insert(leaf.value(), bubbleFormats(leaf, {}, filter));\n }, new Delta()).insert('\\n', bubbleFormats(blot));\n}\nfunction bubbleFormats(blot) {\n let formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let filter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n if (blot == null) return formats;\n if ('formats' in blot && typeof blot.formats === 'function') {\n formats = {\n ...formats,\n ...blot.formats()\n };\n if (filter) {\n // exclude syntax highlighting from deltas and getFormat()\n delete formats['code-token'];\n }\n }\n if (blot.parent == null || blot.parent.statics.blotName === 'scroll' || blot.parent.statics.scope !== blot.statics.scope) {\n return formats;\n }\n return bubbleFormats(blot.parent, formats, filter);\n}\nexport { blockDelta, bubbleFormats, BlockEmbed, Block as default };\n//# sourceMappingURL=block.js.map","import { EmbedBlot, Scope } from 'parchment';\nimport TextBlot from './text.js';\nclass Cursor extends EmbedBlot {\n static blotName = 'cursor';\n static className = 'ql-cursor';\n static tagName = 'span';\n static CONTENTS = '\\uFEFF'; // Zero width no break space\n\n static value() {\n return undefined;\n }\n constructor(scroll, domNode, selection) {\n super(scroll, domNode);\n this.selection = selection;\n this.textNode = document.createTextNode(Cursor.CONTENTS);\n this.domNode.appendChild(this.textNode);\n this.savedLength = 0;\n }\n detach() {\n // super.detach() will also clear domNode.__blot\n if (this.parent != null) this.parent.removeChild(this);\n }\n format(name, value) {\n if (this.savedLength !== 0) {\n super.format(name, value);\n return;\n }\n // TODO: Fix this next time the file is edited.\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let target = this;\n let index = 0;\n while (target != null && target.statics.scope !== Scope.BLOCK_BLOT) {\n index += target.offset(target.parent);\n target = target.parent;\n }\n if (target != null) {\n this.savedLength = Cursor.CONTENTS.length;\n // @ts-expect-error TODO: allow empty context in Parchment\n target.optimize();\n target.formatAt(index, Cursor.CONTENTS.length, name, value);\n this.savedLength = 0;\n }\n }\n index(node, offset) {\n if (node === this.textNode) return 0;\n return super.index(node, offset);\n }\n length() {\n return this.savedLength;\n }\n position() {\n return [this.textNode, this.textNode.data.length];\n }\n remove() {\n super.remove();\n // @ts-expect-error Fix me later\n this.parent = null;\n }\n restore() {\n if (this.selection.composing || this.parent == null) return null;\n const range = this.selection.getNativeRange();\n // Browser may push down styles/nodes inside the cursor blot.\n // https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#push-down-values\n while (this.domNode.lastChild != null && this.domNode.lastChild !== this.textNode) {\n // @ts-expect-error Fix me later\n this.domNode.parentNode.insertBefore(this.domNode.lastChild, this.domNode);\n }\n const prevTextBlot = this.prev instanceof TextBlot ? this.prev : null;\n const prevTextLength = prevTextBlot ? prevTextBlot.length() : 0;\n const nextTextBlot = this.next instanceof TextBlot ? this.next : null;\n // @ts-expect-error TODO: make TextBlot.text public\n const nextText = nextTextBlot ? nextTextBlot.text : '';\n const {\n textNode\n } = this;\n // take text from inside this blot and reset it\n const newText = textNode.data.split(Cursor.CONTENTS).join('');\n textNode.data = Cursor.CONTENTS;\n\n // proactively merge TextBlots around cursor so that optimization\n // doesn't lose the cursor. the reason we are here in cursor.restore\n // could be that the user clicked in prevTextBlot or nextTextBlot, or\n // the user typed something.\n let mergedTextBlot;\n if (prevTextBlot) {\n mergedTextBlot = prevTextBlot;\n if (newText || nextTextBlot) {\n prevTextBlot.insertAt(prevTextBlot.length(), newText + nextText);\n if (nextTextBlot) {\n nextTextBlot.remove();\n }\n }\n } else if (nextTextBlot) {\n mergedTextBlot = nextTextBlot;\n nextTextBlot.insertAt(0, newText);\n } else {\n const newTextNode = document.createTextNode(newText);\n mergedTextBlot = this.scroll.create(newTextNode);\n this.parent.insertBefore(mergedTextBlot, this);\n }\n this.remove();\n if (range) {\n // calculate selection to restore\n const remapOffset = (node, offset) => {\n if (prevTextBlot && node === prevTextBlot.domNode) {\n return offset;\n }\n if (node === textNode) {\n return prevTextLength + offset - 1;\n }\n if (nextTextBlot && node === nextTextBlot.domNode) {\n return prevTextLength + newText.length + offset;\n }\n return null;\n };\n const start = remapOffset(range.start.node, range.start.offset);\n const end = remapOffset(range.end.node, range.end.offset);\n if (start !== null && end !== null) {\n return {\n startNode: mergedTextBlot.domNode,\n startOffset: start,\n endNode: mergedTextBlot.domNode,\n endOffset: end\n };\n }\n }\n return null;\n }\n update(mutations, context) {\n if (mutations.some(mutation => {\n return mutation.type === 'characterData' && mutation.target === this.textNode;\n })) {\n const range = this.restore();\n if (range) context.range = range;\n }\n }\n\n // Avoid .ql-cursor being a descendant of `<a/>`.\n // The reason is Safari pushes down `<a/>` on text insertion.\n // That will cause DOM nodes not sync with the model.\n //\n // For example ({I} is the caret), given the markup:\n // <a><span class=\"ql-cursor\">\\uFEFF{I}</span></a>\n // When typing a char \"x\", `<a/>` will be pushed down inside the `<span>` first:\n // <span class=\"ql-cursor\"><a>\\uFEFF{I}</a></span>\n // And then \"x\" will be inserted after `<a/>`:\n // <span class=\"ql-cursor\"><a>\\uFEFF</a>d{I}</span>\n optimize(context) {\n // @ts-expect-error Fix me later\n super.optimize(context);\n let {\n parent\n } = this;\n while (parent) {\n if (parent.domNode.tagName === 'A') {\n this.savedLength = Cursor.CONTENTS.length;\n // @ts-expect-error TODO: make isolate generic\n parent.isolate(this.offset(parent), this.length()).unwrap();\n this.savedLength = 0;\n break;\n }\n parent = parent.parent;\n }\n }\n value() {\n return '';\n }\n}\nexport default Cursor;\n//# sourceMappingURL=cursor.js.map","export default new WeakMap();\n//# sourceMappingURL=instances.js.map","const levels = ['error', 'warn', 'log', 'info'];\nlet level = 'warn';\nfunction debug(method) {\n if (level) {\n if (levels.indexOf(method) <= levels.indexOf(level)) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n console[method](...args); // eslint-disable-line no-console\n }\n }\n}\nfunction namespace(ns) {\n return levels.reduce((logger, method) => {\n logger[method] = debug.bind(console, method, ns);\n return logger;\n }, {});\n}\nnamespace.level = newLevel => {\n level = newLevel;\n};\ndebug.level = namespace.level;\nexport default namespace;\n//# sourceMappingURL=logger.js.map","import { EventEmitter } from 'eventemitter3';\nimport instances from './instances.js';\nimport logger from './logger.js';\nconst debug = logger('quill:events');\nconst EVENTS = ['selectionchange', 'mousedown', 'mouseup', 'click'];\nEVENTS.forEach(eventName => {\n document.addEventListener(eventName, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n Array.from(document.querySelectorAll('.ql-container')).forEach(node => {\n const quill = instances.get(node);\n if (quill && quill.emitter) {\n quill.emitter.handleDOM(...args);\n }\n });\n });\n});\nclass Emitter extends EventEmitter {\n static events = {\n EDITOR_CHANGE: 'editor-change',\n SCROLL_BEFORE_UPDATE: 'scroll-before-update',\n SCROLL_BLOT_MOUNT: 'scroll-blot-mount',\n SCROLL_BLOT_UNMOUNT: 'scroll-blot-unmount',\n SCROLL_OPTIMIZE: 'scroll-optimize',\n SCROLL_UPDATE: 'scroll-update',\n SCROLL_EMBED_UPDATE: 'scroll-embed-update',\n SELECTION_CHANGE: 'selection-change',\n TEXT_CHANGE: 'text-change',\n COMPOSITION_BEFORE_START: 'composition-before-start',\n COMPOSITION_START: 'composition-start',\n COMPOSITION_BEFORE_END: 'composition-before-end',\n COMPOSITION_END: 'composition-end'\n };\n static sources = {\n API: 'api',\n SILENT: 'silent',\n USER: 'user'\n };\n constructor() {\n super();\n this.domListeners = {};\n this.on('error', debug.error);\n }\n emit() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n debug.log.call(debug, ...args);\n // @ts-expect-error\n return super.emit(...args);\n }\n handleDOM(event) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n (this.domListeners[event.type] || []).forEach(_ref => {\n let {\n node,\n handler\n } = _ref;\n if (event.target === node || node.contains(event.target)) {\n handler(event, ...args);\n }\n });\n }\n listenDOM(eventName, node, handler) {\n if (!this.domListeners[eventName]) {\n this.domListeners[eventName] = [];\n }\n this.domListeners[eventName].push({\n node,\n handler\n });\n }\n}\nexport default Emitter;\n//# sourceMappingURL=emitter.js.map","import { LeafBlot, Scope } from 'parchment';\nimport { cloneDeep, isEqual } from 'lodash-es';\nimport Emitter from './emitter.js';\nimport logger from './logger.js';\nconst debug = logger('quill:selection');\nexport class Range {\n constructor(index) {\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n this.index = index;\n this.length = length;\n }\n}\nclass Selection {\n constructor(scroll, emitter) {\n this.emitter = emitter;\n this.scroll = scroll;\n this.composing = false;\n this.mouseDown = false;\n this.root = this.scroll.domNode;\n // @ts-expect-error\n this.cursor = this.scroll.create('cursor', this);\n // savedRange is last non-null range\n this.savedRange = new Range(0, 0);\n this.lastRange = this.savedRange;\n this.lastNative = null;\n this.handleComposition();\n this.handleDragging();\n this.emitter.listenDOM('selectionchange', document, () => {\n if (!this.mouseDown && !this.composing) {\n setTimeout(this.update.bind(this, Emitter.sources.USER), 1);\n }\n });\n this.emitter.on(Emitter.events.SCROLL_BEFORE_UPDATE, () => {\n if (!this.hasFocus()) return;\n const native = this.getNativeRange();\n if (native == null) return;\n if (native.start.node === this.cursor.textNode) return; // cursor.restore() will handle\n this.emitter.once(Emitter.events.SCROLL_UPDATE, (source, mutations) => {\n try {\n if (this.root.contains(native.start.node) && this.root.contains(native.end.node)) {\n this.setNativeRange(native.start.node, native.start.offset, native.end.node, native.end.offset);\n }\n const triggeredByTyping = mutations.some(mutation => mutation.type === 'characterData' || mutation.type === 'childList' || mutation.type === 'attributes' && mutation.target === this.root);\n this.update(triggeredByTyping ? Emitter.sources.SILENT : source);\n } catch (ignored) {\n // ignore\n }\n });\n });\n this.emitter.on(Emitter.events.SCROLL_OPTIMIZE, (mutations, context) => {\n if (context.range) {\n const {\n startNode,\n startOffset,\n endNode,\n endOffset\n } = context.range;\n this.setNativeRange(startNode, startOffset, endNode, endOffset);\n this.update(Emitter.sources.SILENT);\n }\n });\n this.update(Emitter.sources.SILENT);\n }\n handleComposition() {\n this.emitter.on(Emitter.events.COMPOSITION_BEFORE_START, () => {\n this.composing = true;\n });\n this.emitter.on(Emitter.events.COMPOSITION_END, () => {\n this.composing = false;\n if (this.cursor.parent) {\n const range = this.cursor.restore();\n if (!range) return;\n setTimeout(() => {\n this.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n }, 1);\n }\n });\n }\n handleDragging() {\n this.emitter.listenDOM('mousedown', document.body, () => {\n this.mouseDown = true;\n });\n this.emitter.listenDOM('mouseup', document.body, () => {\n this.mouseDown = false;\n this.update(Emitter.sources.USER);\n });\n }\n focus() {\n if (this.hasFocus()) return;\n this.root.focus({\n preventScroll: true\n });\n this.setRange(this.savedRange);\n }\n format(format, value) {\n this.scroll.update();\n const nativeRange = this.getNativeRange();\n if (nativeRange == null || !nativeRange.native.collapsed || this.scroll.query(format, Scope.BLOCK)) return;\n if (nativeRange.start.node !== this.cursor.textNode) {\n const blot = this.scroll.find(nativeRange.start.node, false);\n if (blot == null) return;\n // TODO Give blot ability to not split\n if (blot instanceof LeafBlot) {\n const after = blot.split(nativeRange.start.offset);\n blot.parent.insertBefore(this.cursor, after);\n } else {\n // @ts-expect-error TODO: nativeRange.start.node doesn't seem to match function signature\n blot.insertBefore(this.cursor, nativeRange.start.node); // Should never happen\n }\n this.cursor.attach();\n }\n this.cursor.format(format, value);\n this.scroll.optimize();\n this.setNativeRange(this.cursor.textNode, this.cursor.textNode.data.length);\n this.update();\n }\n getBounds(index) {\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n const scrollLength = this.scroll.length();\n index = Math.min(index, scrollLength - 1);\n length = Math.min(index + length, scrollLength - 1) - index;\n let node;\n let [leaf, offset] = this.scroll.leaf(index);\n if (leaf == null) return null;\n if (length > 0 && offset === leaf.length()) {\n const [next] = this.scroll.leaf(index + 1);\n if (next) {\n const [line] = this.scroll.line(index);\n const [nextLine] = this.scroll.line(index + 1);\n if (line === nextLine) {\n leaf = next;\n offset = 0;\n }\n }\n }\n [node, offset] = leaf.position(offset, true);\n const range = document.createRange();\n if (length > 0) {\n range.setStart(node, offset);\n [leaf, offset] = this.scroll.leaf(index + length);\n if (leaf == null) return null;\n [node, offset] = leaf.position(offset, true);\n range.setEnd(node, offset);\n return range.getBoundingClientRect();\n }\n let side = 'left';\n let rect;\n if (node instanceof Text) {\n // Return null if the text node is empty because it is\n // not able to get a useful client rect:\n // https://github.com/w3c/csswg-drafts/issues/2514.\n // Empty text nodes are most likely caused by TextBlot#optimize()\n // not getting called when editor content changes.\n if (!node.data.length) {\n return null;\n }\n if (offset < node.data.length) {\n range.setStart(node, offset);\n range.setEnd(node, offset + 1);\n } else {\n range.setStart(node, offset - 1);\n range.setEnd(node, offset);\n side = 'right';\n }\n rect = range.getBoundingClientRect();\n } else {\n if (!(leaf.domNode instanceof Element)) return null;\n rect = leaf.domNode.getBoundingClientRect();\n if (offset > 0) side = 'right';\n }\n return {\n bottom: rect.top + rect.height,\n height: rect.height,\n left: rect[side],\n right: rect[side],\n top: rect.top,\n width: 0\n };\n }\n getNativeRange() {\n const selection = document.getSelection();\n if (selection == null || selection.rangeCount <= 0) return null;\n const nativeRange = selection.getRangeAt(0);\n if (nativeRange == null) return null;\n const range = this.normalizeNative(nativeRange);\n debug.info('getNativeRange', range);\n return range;\n }\n getRange() {\n const root = this.scroll.domNode;\n if ('isConnected' in root && !root.isConnected) {\n // document.getSelection() forces layout on Blink, so we trend to\n // not calling it.\n return [null, null];\n }\n const normalized = this.getNativeRange();\n if (normalized == null) return [null, null];\n const range = this.normalizedToRange(normalized);\n return [range, normalized];\n }\n hasFocus() {\n return document.activeElement === this.root || document.activeElement != null && contains(this.root, document.activeElement);\n }\n normalizedToRange(range) {\n const positions = [[range.start.node, range.start.offset]];\n if (!range.native.collapsed) {\n positions.push([range.end.node, range.end.offset]);\n }\n const indexes = positions.map(position => {\n const [node, offset] = position;\n const blot = this.scroll.find(node, true);\n // @ts-expect-error Fix me later\n const index = blot.offset(this.scroll);\n if (offset === 0) {\n return index;\n }\n if (blot instanceof LeafBlot) {\n return index + blot.index(node, offset);\n }\n // @ts-expect-error Fix me later\n return index + blot.length();\n });\n const end = Math.min(Math.max(...indexes), this.scroll.length() - 1);\n const start = Math.min(end, ...indexes);\n return new Range(start, end - start);\n }\n normalizeNative(nativeRange) {\n if (!contains(this.root, nativeRange.startContainer) || !nativeRange.collapsed && !contains(this.root, nativeRange.endContainer)) {\n return null;\n }\n const range = {\n start: {\n node: nativeRange.startContainer,\n offset: nativeRange.startOffset\n },\n end: {\n node: nativeRange.endContainer,\n offset: nativeRange.endOffset\n },\n native: nativeRange\n };\n [range.start, range.end].forEach(position => {\n let {\n node,\n offset\n } = position;\n while (!(node instanceof Text) && node.childNodes.length > 0) {\n if (node.childNodes.length > offset) {\n node = node.childNodes[offset];\n offset = 0;\n } else if (node.childNodes.length === offset) {\n // @ts-expect-error Fix me later\n node = node.lastChild;\n if (node instanceof Text) {\n offset = node.data.length;\n } else if (node.childNodes.length > 0) {\n // Container case\n offset = node.childNodes.length;\n } else {\n // Embed case\n offset = node.childNodes.length + 1;\n }\n } else {\n break;\n }\n }\n position.node = node;\n position.offset = offset;\n });\n return range;\n }\n rangeToNative(range) {\n const scrollLength = this.scroll.length();\n const getPosition = (index, inclusive) => {\n index = Math.min(scrollLength - 1, index);\n const [leaf, leafOffset] = this.scroll.leaf(index);\n return leaf ? leaf.position(leafOffset, inclusive) : [null, -1];\n };\n return [...getPosition(range.index, false), ...getPosition(range.index + range.length, true)];\n }\n setNativeRange(startNode, startOffset) {\n let endNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : startNode;\n let endOffset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : startOffset;\n let force = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n debug.info('setNativeRange', startNode, startOffset, endNode, endOffset);\n if (startNode != null && (this.root.parentNode == null || startNode.parentNode == null ||\n // @ts-expect-error Fix me later\n endNode.parentNode == null)) {\n return;\n }\n const selection = document.getSelection();\n if (selection == null) return;\n if (startNode != null) {\n if (!this.hasFocus()) this.root.focus({\n preventScroll: true\n });\n const {\n native\n } = this.getNativeRange() || {};\n if (native == null || force || startNode !== native.startContainer || startOffset !== native.startOffset || endNode !== native.endContainer || endOffset !== native.endOffset) {\n if (startNode instanceof Element && startNode.tagName === 'BR') {\n // @ts-expect-error Fix me later\n startOffset = Array.from(startNode.parentNode.childNodes).indexOf(startNode);\n startNode = startNode.parentNode;\n }\n if (endNode instanceof Element && endNode.tagName === 'BR') {\n // @ts-expect-error Fix me later\n endOffset = Array.from(endNode.parentNode.childNodes).indexOf(endNode);\n endNode = endNode.parentNode;\n }\n const range = document.createRange();\n // @ts-expect-error Fix me later\n range.setStart(startNode, startOffset);\n // @ts-expect-error Fix me later\n range.setEnd(endNode, endOffset);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n } else {\n selection.removeAllRanges();\n this.root.blur();\n }\n }\n setRange(range) {\n let force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n let source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Emitter.sources.API;\n if (typeof force === 'string') {\n source = force;\n force = false;\n }\n debug.info('setRange', range);\n if (range != null) {\n const args = this.rangeToNative(range);\n this.setNativeRange(...args, force);\n } else {\n this.setNativeRange(null);\n }\n this.update(source);\n }\n update() {\n let source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Emitter.sources.USER;\n const oldRange = this.lastRange;\n const [lastRange, nativeRange] = this.getRange();\n this.lastRange = lastRange;\n this.lastNative = nativeRange;\n if (this.lastRange != null) {\n this.savedRange = this.lastRange;\n }\n if (!isEqual(oldRange, this.lastRange)) {\n if (!this.composing && nativeRange != null && nativeRange.native.collapsed && nativeRange.start.node !== this.cursor.textNode) {\n const range = this.cursor.restore();\n if (range) {\n this.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n }\n }\n const args = [Emitter.events.SELECTION_CHANGE, cloneDeep(this.lastRange), cloneDeep(oldRange), source];\n this.emitter.emit(Emitter.events.EDITOR_CHANGE, ...args);\n if (source !== Emitter.sources.SILENT) {\n this.emitter.emit(...args);\n }\n }\n }\n}\nfunction contains(parent, descendant) {\n try {\n // Firefox inserts inaccessible nodes around video elements\n descendant.parentNode; // eslint-disable-line @typescript-eslint/no-unused-expressions\n } catch (e) {\n return false;\n }\n return parent.contains(descendant);\n}\nexport default Selection;\n//# sourceMappingURL=selection.js.map","import { cloneDeep, isEqual, merge } from 'lodash-es';\nimport { LeafBlot, EmbedBlot, Scope, ParentBlot } from 'parchment';\nimport Delta, { AttributeMap, Op } from 'quill-delta';\nimport Block, { BlockEmbed, bubbleFormats } from '../blots/block.js';\nimport Break from '../blots/break.js';\nimport CursorBlot from '../blots/cursor.js';\nimport TextBlot, { escapeText } from '../blots/text.js';\nimport { Range } from './selection.js';\nconst ASCII = /^[ -~]*$/;\nclass Editor {\n constructor(scroll) {\n this.scroll = scroll;\n this.delta = this.getDelta();\n }\n applyDelta(delta) {\n this.scroll.update();\n let scrollLength = this.scroll.length();\n this.scroll.batchStart();\n const normalizedDelta = normalizeDelta(delta);\n const deleteDelta = new Delta();\n const normalizedOps = splitOpLines(normalizedDelta.ops.slice());\n normalizedOps.reduce((index, op) => {\n const length = Op.length(op);\n let attributes = op.attributes || {};\n let isImplicitNewlinePrepended = false;\n let isImplicitNewlineAppended = false;\n if (op.insert != null) {\n deleteDelta.retain(length);\n if (typeof op.insert === 'string') {\n const text = op.insert;\n isImplicitNewlineAppended = !text.endsWith('\\n') && (scrollLength <= index || !!this.scroll.descendant(BlockEmbed, index)[0]);\n this.scroll.insertAt(index, text);\n const [line, offset] = this.scroll.line(index);\n let formats = merge({}, bubbleFormats(line));\n if (line instanceof Block) {\n const [leaf] = line.descendant(LeafBlot, offset);\n if (leaf) {\n formats = merge(formats, bubbleFormats(leaf));\n }\n }\n attributes = AttributeMap.diff(formats, attributes) || {};\n } else if (typeof op.insert === 'object') {\n const key = Object.keys(op.insert)[0]; // There should only be one key\n if (key == null) return index;\n const isInlineEmbed = this.scroll.query(key, Scope.INLINE) != null;\n if (isInlineEmbed) {\n if (scrollLength <= index || !!this.scroll.descendant(BlockEmbed, index)[0]) {\n isImplicitNewlineAppended = true;\n }\n } else if (index > 0) {\n const [leaf, offset] = this.scroll.descendant(LeafBlot, index - 1);\n if (leaf instanceof TextBlot) {\n const text = leaf.value();\n if (text[offset] !== '\\n') {\n isImplicitNewlinePrepended = true;\n }\n } else if (leaf instanceof EmbedBlot && leaf.statics.scope === Scope.INLINE_BLOT) {\n isImplicitNewlinePrepended = true;\n }\n }\n this.scroll.insertAt(index, key, op.insert[key]);\n if (isInlineEmbed) {\n const [leaf] = this.scroll.descendant(LeafBlot, index);\n if (leaf) {\n const formats = merge({}, bubbleFormats(leaf));\n attributes = AttributeMap.diff(formats, attributes) || {};\n }\n }\n }\n scrollLength += length;\n } else {\n deleteDelta.push(op);\n if (op.retain !== null && typeof op.retain === 'object') {\n const key = Object.keys(op.retain)[0];\n if (key == null) return index;\n this.scroll.updateEmbedAt(index, key, op.retain[key]);\n }\n }\n Object.keys(attributes).forEach(name => {\n this.scroll.formatAt(index, length, name, attributes[name]);\n });\n const prependedLength = isImplicitNewlinePrepended ? 1 : 0;\n const addedLength = isImplicitNewlineAppended ? 1 : 0;\n scrollLength += prependedLength + addedLength;\n deleteDelta.retain(prependedLength);\n deleteDelta.delete(addedLength);\n return index + length + prependedLength + addedLength;\n }, 0);\n deleteDelta.reduce((index, op) => {\n if (typeof op.delete === 'number') {\n this.scroll.deleteAt(index, op.delete);\n return index;\n }\n return index + Op.length(op);\n }, 0);\n this.scroll.batchEnd();\n this.scroll.optimize();\n return this.update(normalizedDelta);\n }\n deleteText(index, length) {\n this.scroll.deleteAt(index, length);\n return this.update(new Delta().retain(index).delete(length));\n }\n formatLine(index, length) {\n let formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.scroll.update();\n Object.keys(formats).forEach(format => {\n this.scroll.lines(index, Math.max(length, 1)).forEach(line => {\n line.format(format, formats[format]);\n });\n });\n this.scroll.optimize();\n const delta = new Delta().retain(index).retain(length, cloneDeep(formats));\n return this.update(delta);\n }\n formatText(index, length) {\n let formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n Object.keys(formats).forEach(format => {\n this.scroll.formatAt(index, length, format, formats[format]);\n });\n const delta = new Delta().retain(index).retain(length, cloneDeep(formats));\n return this.update(delta);\n }\n getContents(index, length) {\n return this.delta.slice(index, index + length);\n }\n getDelta() {\n return this.scroll.lines().reduce((delta, line) => {\n return delta.concat(line.delta());\n }, new Delta());\n }\n getFormat(index) {\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n let lines = [];\n let leaves = [];\n if (length === 0) {\n this.scroll.path(index).forEach(path => {\n const [blot] = path;\n if (blot instanceof Block) {\n lines.push(blot);\n } else if (blot instanceof LeafBlot) {\n leaves.push(blot);\n }\n });\n } else {\n lines = this.scroll.lines(index, length);\n leaves = this.scroll.descendants(LeafBlot, index, length);\n }\n const [lineFormats, leafFormats] = [lines, leaves].map(blots => {\n const blot = blots.shift();\n if (blot == null) return {};\n let formats = bubbleFormats(blot);\n while (Object.keys(formats).length > 0) {\n const blot = blots.shift();\n if (blot == null) return formats;\n formats = combineFormats(bubbleFormats(blot), formats);\n }\n return formats;\n });\n return {\n ...lineFormats,\n ...leafFormats\n };\n }\n getHTML(index, length) {\n const [line, lineOffset] = this.scroll.line(index);\n if (line) {\n const lineLength = line.length();\n const isWithinLine = line.length() >= lineOffset + length;\n if (isWithinLine && !(lineOffset === 0 && length === lineLength)) {\n return convertHTML(line, lineOffset, length, true);\n }\n return convertHTML(this.scroll, index, length, true);\n }\n return '';\n }\n getText(index, length) {\n return this.getContents(index, length).filter(op => typeof op.insert === 'string').map(op => op.insert).join('');\n }\n insertContents(index, contents) {\n const normalizedDelta = normalizeDelta(contents);\n const change = new Delta().retain(index).concat(normalizedDelta);\n this.scroll.insertContents(index, normalizedDelta);\n return this.update(change);\n }\n insertEmbed(index, embed, value) {\n this.scroll.insertAt(index, embed, value);\n return this.update(new Delta().retain(index).insert({\n [embed]: value\n }));\n }\n insertText(index, text) {\n let formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n text = text.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n this.scroll.insertAt(index, text);\n Object.keys(formats).forEach(format => {\n this.scroll.formatAt(index, text.length, format, formats[format]);\n });\n return this.update(new Delta().retain(index).insert(text, cloneDeep(formats)));\n }\n isBlank() {\n if (this.scroll.children.length === 0) return true;\n if (this.scroll.children.length > 1) return false;\n const blot = this.scroll.children.head;\n if (blot?.statics.blotName !== Block.blotName) return false;\n const block = blot;\n if (block.children.length > 1) return false;\n return block.children.head instanceof Break;\n }\n removeFormat(index, length) {\n const text = this.getText(index, length);\n const [line, offset] = this.scroll.line(index + length);\n let suffixLength = 0;\n let suffix = new Delta();\n if (line != null) {\n suffixLength = line.length() - offset;\n suffix = line.delta().slice(offset, offset + suffixLength - 1).insert('\\n');\n }\n const contents = this.getContents(index, length + suffixLength);\n const diff = contents.diff(new Delta().insert(text).concat(suffix));\n const delta = new Delta().retain(index).concat(diff);\n return this.applyDelta(delta);\n }\n update(change) {\n let mutations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n let selectionInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n const oldDelta = this.delta;\n if (mutations.length === 1 && mutations[0].type === 'characterData' &&\n // @ts-expect-error Fix me later\n mutations[0].target.data.match(ASCII) && this.scroll.find(mutations[0].target)) {\n // Optimization for character changes\n const textBlot = this.scroll.find(mutations[0].target);\n const formats = bubbleFormats(textBlot);\n const index = textBlot.offset(this.scroll);\n // @ts-expect-error Fix me later\n const oldValue = mutations[0].oldValue.replace(CursorBlot.CONTENTS, '');\n const oldText = new Delta().insert(oldValue);\n // @ts-expect-error\n const newText = new Delta().insert(textBlot.value());\n const relativeSelectionInfo = selectionInfo && {\n oldRange: shiftRange(selectionInfo.oldRange, -index),\n newRange: shiftRange(selectionInfo.newRange, -index)\n };\n const diffDelta = new Delta().retain(index).concat(oldText.diff(newText, relativeSelectionInfo));\n change = diffDelta.reduce((delta, op) => {\n if (op.insert) {\n return delta.insert(op.insert, formats);\n }\n return delta.push(op);\n }, new Delta());\n this.delta = oldDelta.compose(change);\n } else {\n this.delta = this.getDelta();\n if (!change || !isEqual(oldDelta.compose(change), this.delta)) {\n change = oldDelta.diff(this.delta, selectionInfo);\n }\n }\n return change;\n }\n}\nfunction convertListHTML(items, lastIndent, types) {\n if (items.length === 0) {\n const [endTag] = getListType(types.pop());\n if (lastIndent <= 0) {\n return `</li></${endTag}>`;\n }\n return `</li></${endTag}>${convertListHTML([], lastIndent - 1, types)}`;\n }\n const [{\n child,\n offset,\n length,\n indent,\n type\n }, ...rest] = items;\n const [tag, attribute] = getListType(type);\n if (indent > lastIndent) {\n types.push(type);\n if (indent === lastIndent + 1) {\n return `<${tag}><li${attribute}>${convertHTML(child, offset, length)}${convertListHTML(rest, indent, types)}`;\n }\n return `<${tag}><li>${convertListHTML(items, lastIndent + 1, types)}`;\n }\n const previousType = types[types.length - 1];\n if (indent === lastIndent && type === previousType) {\n return `</li><li${attribute}>${convertHTML(child, offset, length)}${convertListHTML(rest, indent, types)}`;\n }\n const [endTag] = getListType(types.pop());\n return `</li></${endTag}>${convertListHTML(items, lastIndent - 1, types)}`;\n}\nfunction convertHTML(blot, index, length) {\n let isRoot = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n if ('html' in blot && typeof blot.html === 'function') {\n return blot.html(index, length);\n }\n if (blot instanceof TextBlot) {\n return escapeText(blot.value().slice(index, index + length));\n }\n if (blot instanceof ParentBlot) {\n // TODO fix API\n if (blot.statics.blotName === 'list-container') {\n const items = [];\n blot.children.forEachAt(index, length, (child, offset, childLength) => {\n const formats = 'formats' in child && typeof child.formats === 'function' ? child.formats() : {};\n items.push({\n child,\n offset,\n length: childLength,\n indent: formats.indent || 0,\n type: formats.list\n });\n });\n return convertListHTML(items, -1, []);\n }\n const parts = [];\n blot.children.forEachAt(index, length, (child, offset, childLength) => {\n parts.push(convertHTML(child, offset, childLength));\n });\n if (isRoot || blot.statics.blotName === 'list') {\n return parts.join('');\n }\n const {\n outerHTML,\n innerHTML\n } = blot.domNode;\n const [start, end] = outerHTML.split(`>${innerHTML}<`);\n // TODO cleanup\n if (start === '<table') {\n return `<table style=\"border: 1px solid #000;\">${parts.join('')}<${end}`;\n }\n return `${start}>${parts.join('')}<${end}`;\n }\n return blot.domNode instanceof Element ? blot.domNode.outerHTML : '';\n}\nfunction combineFormats(formats, combined) {\n return Object.keys(combined).reduce((merged, name) => {\n if (formats[name] == null) return merged;\n const combinedValue = combined[name];\n if (combinedValue === formats[name]) {\n merged[name] = combinedValue;\n } else if (Array.isArray(combinedValue)) {\n if (combinedValue.indexOf(formats[name]) < 0) {\n merged[name] = combinedValue.concat([formats[name]]);\n } else {\n // If style already exists, don't add to an array, but don't lose other styles\n merged[name] = combinedValue;\n }\n } else {\n merged[name] = [combinedValue, formats[name]];\n }\n return merged;\n }, {});\n}\nfunction getListType(type) {\n const tag = type === 'ordered' ? 'ol' : 'ul';\n switch (type) {\n case 'checked':\n return [tag, ' data-list=\"checked\"'];\n case 'unchecked':\n return [tag, ' data-list=\"unchecked\"'];\n default:\n return [tag, ''];\n }\n}\nfunction normalizeDelta(delta) {\n return delta.reduce((normalizedDelta, op) => {\n if (typeof op.insert === 'string') {\n const text = op.insert.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n return normalizedDelta.insert(text, op.attributes);\n }\n return normalizedDelta.push(op);\n }, new Delta());\n}\nfunction shiftRange(_ref, amount) {\n let {\n index,\n length\n } = _ref;\n return new Range(index + amount, length);\n}\nfunction splitOpLines(ops) {\n const split = [];\n ops.forEach(op => {\n if (typeof op.insert === 'string') {\n const lines = op.insert.split('\\n');\n lines.forEach((line, index) => {\n if (index) split.push({\n insert: '\\n',\n attributes: op.attributes\n });\n if (line) split.push({\n insert: line,\n attributes: op.attributes\n });\n });\n } else {\n split.push(op);\n }\n });\n return split;\n}\nexport default Editor;\n//# sourceMappingURL=editor.js.map","class Module {\n static DEFAULTS = {};\n constructor(quill) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.quill = quill;\n this.options = options;\n }\n}\nexport default Module;\n//# sourceMappingURL=module.js.map","import { EmbedBlot } from 'parchment';\nimport TextBlot from './text.js';\nconst GUARD_TEXT = '\\uFEFF';\nclass Embed extends EmbedBlot {\n constructor(scroll, node) {\n super(scroll, node);\n this.contentNode = document.createElement('span');\n this.contentNode.setAttribute('contenteditable', 'false');\n Array.from(this.domNode.childNodes).forEach(childNode => {\n this.contentNode.appendChild(childNode);\n });\n this.leftGuard = document.createTextNode(GUARD_TEXT);\n this.rightGuard = document.createTextNode(GUARD_TEXT);\n this.domNode.appendChild(this.leftGuard);\n this.domNode.appendChild(this.contentNode);\n this.domNode.appendChild(this.rightGuard);\n }\n index(node, offset) {\n if (node === this.leftGuard) return 0;\n if (node === this.rightGuard) return 1;\n return super.index(node, offset);\n }\n restore(node) {\n let range = null;\n let textNode;\n const text = node.data.split(GUARD_TEXT).join('');\n if (node === this.leftGuard) {\n if (this.prev instanceof TextBlot) {\n const prevLength = this.prev.length();\n this.prev.insertAt(prevLength, text);\n range = {\n startNode: this.prev.domNode,\n startOffset: prevLength + text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(this.scroll.create(textNode), this);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n } else if (node === this.rightGuard) {\n if (this.next instanceof TextBlot) {\n this.next.insertAt(0, text);\n range = {\n startNode: this.next.domNode,\n startOffset: text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(this.scroll.create(textNode), this.next);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n }\n node.data = GUARD_TEXT;\n return range;\n }\n update(mutations, context) {\n mutations.forEach(mutation => {\n if (mutation.type === 'characterData' && (mutation.target === this.leftGuard || mutation.target === this.rightGuard)) {\n const range = this.restore(mutation.target);\n if (range) context.range = range;\n }\n });\n }\n}\nexport default Embed;\n//# sourceMappingURL=embed.js.map","import Embed from '../blots/embed.js';\nimport Emitter from './emitter.js';\nclass Composition {\n isComposing = false;\n constructor(scroll, emitter) {\n this.scroll = scroll;\n this.emitter = emitter;\n this.setupListeners();\n }\n setupListeners() {\n this.scroll.domNode.addEventListener('compositionstart', event => {\n if (!this.isComposing) {\n this.handleCompositionStart(event);\n }\n });\n this.scroll.domNode.addEventListener('compositionend', event => {\n if (this.isComposing) {\n // Webkit makes DOM changes after compositionend, so we use microtask to\n // ensure the order.\n // https://bugs.webkit.org/show_bug.cgi?id=31902\n queueMicrotask(() => {\n this.handleCompositionEnd(event);\n });\n }\n });\n }\n handleCompositionStart(event) {\n const blot = event.target instanceof Node ? this.scroll.find(event.target, true) : null;\n if (blot && !(blot instanceof Embed)) {\n this.emitter.emit(Emitter.events.COMPOSITION_BEFORE_START, event);\n this.scroll.batchStart();\n this.emitter.emit(Emitter.events.COMPOSITION_START, event);\n this.isComposing = true;\n }\n }\n handleCompositionEnd(event) {\n this.emitter.emit(Emitter.events.COMPOSITION_BEFORE_END, event);\n this.scroll.batchEnd();\n this.emitter.emit(Emitter.events.COMPOSITION_END, event);\n this.isComposing = false;\n }\n}\nexport default Composition;\n//# sourceMappingURL=composition.js.map","class Theme {\n static DEFAULTS = {\n modules: {}\n };\n static themes = {\n default: Theme\n };\n modules = {};\n constructor(quill, options) {\n this.quill = quill;\n this.options = options;\n }\n init() {\n Object.keys(this.options.modules).forEach(name => {\n if (this.modules[name] == null) {\n this.addModule(name);\n }\n });\n }\n addModule(name) {\n // @ts-expect-error\n const ModuleClass = this.quill.constructor.import(`modules/${name}`);\n this.modules[name] = new ModuleClass(this.quill, this.options.modules[name] || {});\n return this.modules[name];\n }\n}\nexport default Theme;\n//# sourceMappingURL=theme.js.map","const getParentElement = element => element.parentElement || element.getRootNode().host || null;\nconst getElementRect = element => {\n const rect = element.getBoundingClientRect();\n const scaleX = 'offsetWidth' in element && Math.abs(rect.width) / element.offsetWidth || 1;\n const scaleY = 'offsetHeight' in element && Math.abs(rect.height) / element.offsetHeight || 1;\n return {\n top: rect.top,\n right: rect.left + element.clientWidth * scaleX,\n bottom: rect.top + element.clientHeight * scaleY,\n left: rect.left\n };\n};\nconst paddingValueToInt = value => {\n const number = parseInt(value, 10);\n return Number.isNaN(number) ? 0 : number;\n};\n\n// Follow the steps described in https://www.w3.org/TR/cssom-view-1/#element-scrolling-members,\n// assuming that the scroll option is set to 'nearest'.\nconst getScrollDistance = (targetStart, targetEnd, scrollStart, scrollEnd, scrollPaddingStart, scrollPaddingEnd) => {\n if (targetStart < scrollStart && targetEnd > scrollEnd) {\n return 0;\n }\n if (targetStart < scrollStart) {\n return -(scrollStart - targetStart + scrollPaddingStart);\n }\n if (targetEnd > scrollEnd) {\n return targetEnd - targetStart > scrollEnd - scrollStart ? targetStart + scrollPaddingStart - scrollStart : targetEnd - scrollEnd + scrollPaddingEnd;\n }\n return 0;\n};\nconst scrollRectIntoView = (root, targetRect) => {\n const document = root.ownerDocument;\n let rect = targetRect;\n let current = root;\n while (current) {\n const isDocumentBody = current === document.body;\n const bounding = isDocumentBody ? {\n top: 0,\n right: window.visualViewport?.width ?? document.documentElement.clientWidth,\n bottom: window.visualViewport?.height ?? document.documentElement.clientHeight,\n left: 0\n } : getElementRect(current);\n const style = getComputedStyle(current);\n const scrollDistanceX = getScrollDistance(rect.left, rect.right, bounding.left, bounding.right, paddingValueToInt(style.scrollPaddingLeft), paddingValueToInt(style.scrollPaddingRight));\n const scrollDistanceY = getScrollDistance(rect.top, rect.bottom, bounding.top, bounding.bottom, paddingValueToInt(style.scrollPaddingTop), paddingValueToInt(style.scrollPaddingBottom));\n if (scrollDistanceX || scrollDistanceY) {\n if (isDocumentBody) {\n document.defaultView?.scrollBy(scrollDistanceX, scrollDistanceY);\n } else {\n const {\n scrollLeft,\n scrollTop\n } = current;\n if (scrollDistanceY) {\n current.scrollTop += scrollDistanceY;\n }\n if (scrollDistanceX) {\n current.scrollLeft += scrollDistanceX;\n }\n const scrolledLeft = current.scrollLeft - scrollLeft;\n const scrolledTop = current.scrollTop - scrollTop;\n rect = {\n left: rect.left - scrolledLeft,\n top: rect.top - scrolledTop,\n right: rect.right - scrolledLeft,\n bottom: rect.bottom - scrolledTop\n };\n }\n }\n current = isDocumentBody || style.position === 'fixed' ? null : getParentElement(current);\n }\n};\nexport default scrollRectIntoView;\n//# sourceMappingURL=scrollRectIntoView.js.map","import { Registry } from 'parchment';\nconst MAX_REGISTER_ITERATIONS = 100;\nconst CORE_FORMATS = ['block', 'break', 'cursor', 'inline', 'scroll', 'text'];\nconst createRegistryWithFormats = (formats, sourceRegistry, debug) => {\n const registry = new Registry();\n CORE_FORMATS.forEach(name => {\n const coreBlot = sourceRegistry.query(name);\n if (coreBlot) registry.register(coreBlot);\n });\n formats.forEach(name => {\n let format = sourceRegistry.query(name);\n if (!format) {\n debug.error(`Cannot register \"${name}\" specified in \"formats\" config. Are you sure it was registered?`);\n }\n let iterations = 0;\n while (format) {\n registry.register(format);\n format = 'blotName' in format ? format.requiredContainer ?? null : null;\n iterations += 1;\n if (iterations > MAX_REGISTER_ITERATIONS) {\n debug.error(`Cycle detected in registering blot requiredContainer: \"${name}\"`);\n break;\n }\n }\n });\n return registry;\n};\nexport default createRegistryWithFormats;\n//# sourceMappingURL=createRegistryWithFormats.js.map","import { merge } from 'lodash-es';\nimport * as Parchment from 'parchment';\nimport Delta from 'quill-delta';\nimport Editor from './editor.js';\nimport Emitter from './emitter.js';\nimport instances from './instances.js';\nimport logger from './logger.js';\nimport Module from './module.js';\nimport Selection, { Range } from './selection.js';\nimport Composition from './composition.js';\nimport Theme from './theme.js';\nimport scrollRectIntoView from './utils/scrollRectIntoView.js';\nimport createRegistryWithFormats from './utils/createRegistryWithFormats.js';\nconst debug = logger('quill');\nconst globalRegistry = new Parchment.Registry();\nParchment.ParentBlot.uiClass = 'ql-ui';\n\n/**\n * Options for initializing a Quill instance\n */\n\n/**\n * Similar to QuillOptions, but with all properties expanded to their default values,\n * and all selectors resolved to HTMLElements.\n */\n\nclass Quill {\n static DEFAULTS = {\n bounds: null,\n modules: {\n clipboard: true,\n keyboard: true,\n history: true,\n uploader: true\n },\n placeholder: '',\n readOnly: false,\n registry: globalRegistry,\n theme: 'default'\n };\n static events = Emitter.events;\n static sources = Emitter.sources;\n static version = typeof \"2.0.2\" === 'undefined' ? 'dev' : \"2.0.2\";\n static imports = {\n delta: Delta,\n parchment: Parchment,\n 'core/module': Module,\n 'core/theme': Theme\n };\n static debug(limit) {\n if (limit === true) {\n limit = 'log';\n }\n logger.level(limit);\n }\n static find(node) {\n let bubble = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return instances.get(node) || globalRegistry.find(node, bubble);\n }\n static import(name) {\n if (this.imports[name] == null) {\n debug.error(`Cannot import ${name}. Are you sure it was registered?`);\n }\n return this.imports[name];\n }\n static register() {\n if (typeof (arguments.length <= 0 ? undefined : arguments[0]) !== 'string') {\n const target = arguments.length <= 0 ? undefined : arguments[0];\n const overwrite = !!(arguments.length <= 1 ? undefined : arguments[1]);\n const name = 'attrName' in target ? target.attrName : target.blotName;\n if (typeof name === 'string') {\n // Shortcut for formats:\n // register(Blot | Attributor, overwrite)\n this.register(`formats/${name}`, target, overwrite);\n } else {\n Object.keys(target).forEach(key => {\n this.register(key, target[key], overwrite);\n });\n }\n } else {\n const path = arguments.length <= 0 ? undefined : arguments[0];\n const target = arguments.length <= 1 ? undefined : arguments[1];\n const overwrite = !!(arguments.length <= 2 ? undefined : arguments[2]);\n if (this.imports[path] != null && !overwrite) {\n debug.warn(`Overwriting ${path} with`, target);\n }\n this.imports[path] = target;\n if ((path.startsWith('blots/') || path.startsWith('formats/')) && target && typeof target !== 'boolean' && target.blotName !== 'abstract') {\n globalRegistry.register(target);\n }\n if (typeof target.register === 'function') {\n target.register(globalRegistry);\n }\n }\n }\n constructor(container) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.options = expandConfig(container, options);\n this.container = this.options.container;\n if (this.container == null) {\n debug.error('Invalid Quill container', container);\n return;\n }\n if (this.options.debug) {\n Quill.debug(this.options.debug);\n }\n const html = this.container.innerHTML.trim();\n this.container.classList.add('ql-container');\n this.container.innerHTML = '';\n instances.set(this.container, this);\n this.root = this.addContainer('ql-editor');\n this.root.classList.add('ql-blank');\n this.emitter = new Emitter();\n const scrollBlotName = Parchment.ScrollBlot.blotName;\n const ScrollBlot = this.options.registry.query(scrollBlotName);\n if (!ScrollBlot || !('blotName' in ScrollBlot)) {\n throw new Error(`Cannot initialize Quill without \"${scrollBlotName}\" blot`);\n }\n this.scroll = new ScrollBlot(this.options.registry, this.root, {\n emitter: this.emitter\n });\n this.editor = new Editor(this.scroll);\n this.selection = new Selection(this.scroll, this.emitter);\n this.composition = new Composition(this.scroll, this.emitter);\n this.theme = new this.options.theme(this, this.options); // eslint-disable-line new-cap\n this.keyboard = this.theme.addModule('keyboard');\n this.clipboard = this.theme.addModule('clipboard');\n this.history = this.theme.addModule('history');\n this.uploader = this.theme.addModule('uploader');\n this.theme.addModule('input');\n this.theme.addModule('uiNode');\n this.theme.init();\n this.emitter.on(Emitter.events.EDITOR_CHANGE, type => {\n if (type === Emitter.events.TEXT_CHANGE) {\n this.root.classList.toggle('ql-blank', this.editor.isBlank());\n }\n });\n this.emitter.on(Emitter.events.SCROLL_UPDATE, (source, mutations) => {\n const oldRange = this.selection.lastRange;\n const [newRange] = this.selection.getRange();\n const selectionInfo = oldRange && newRange ? {\n oldRange,\n newRange\n } : undefined;\n modify.call(this, () => this.editor.update(null, mutations, selectionInfo), source);\n });\n this.emitter.on(Emitter.events.SCROLL_EMBED_UPDATE, (blot, delta) => {\n const oldRange = this.selection.lastRange;\n const [newRange] = this.selection.getRange();\n const selectionInfo = oldRange && newRange ? {\n oldRange,\n newRange\n } : undefined;\n modify.call(this, () => {\n const change = new Delta().retain(blot.offset(this)).retain({\n [blot.statics.blotName]: delta\n });\n return this.editor.update(change, [], selectionInfo);\n }, Quill.sources.USER);\n });\n if (html) {\n const contents = this.clipboard.convert({\n html: `${html}<p><br></p>`,\n text: '\\n'\n });\n this.setContents(contents);\n }\n this.history.clear();\n if (this.options.placeholder) {\n this.root.setAttribute('data-placeholder', this.options.placeholder);\n }\n if (this.options.readOnly) {\n this.disable();\n }\n this.allowReadOnlyEdits = false;\n }\n addContainer(container) {\n let refNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (typeof container === 'string') {\n const className = container;\n container = document.createElement('div');\n container.classList.add(className);\n }\n this.container.insertBefore(container, refNode);\n return container;\n }\n blur() {\n this.selection.setRange(null);\n }\n deleteText(index, length, source) {\n // @ts-expect-error\n [index, length,, source] = overload(index, length, source);\n return modify.call(this, () => {\n return this.editor.deleteText(index, length);\n }, source, index, -1 * length);\n }\n disable() {\n this.enable(false);\n }\n editReadOnly(modifier) {\n this.allowReadOnlyEdits = true;\n const value = modifier();\n this.allowReadOnlyEdits = false;\n return value;\n }\n enable() {\n let enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.scroll.enable(enabled);\n this.container.classList.toggle('ql-disabled', !enabled);\n }\n focus() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.selection.focus();\n if (!options.preventScroll) {\n this.scrollSelectionIntoView();\n }\n }\n format(name, value) {\n let source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Emitter.sources.API;\n return modify.call(this, () => {\n const range = this.getSelection(true);\n let change = new Delta();\n if (range == null) return change;\n if (this.scroll.query(name, Parchment.Scope.BLOCK)) {\n change = this.editor.formatLine(range.index, range.length, {\n [name]: value\n });\n } else if (range.length === 0) {\n this.selection.format(name, value);\n return change;\n } else {\n change = this.editor.formatText(range.index, range.length, {\n [name]: value\n });\n }\n this.setSelection(range, Emitter.sources.SILENT);\n return change;\n }, source);\n }\n formatLine(index, length, name, value, source) {\n let formats;\n // eslint-disable-next-line prefer-const\n [index, length, formats, source] = overload(index, length,\n // @ts-expect-error\n name, value, source);\n return modify.call(this, () => {\n return this.editor.formatLine(index, length, formats);\n }, source, index, 0);\n }\n formatText(index, length, name, value, source) {\n let formats;\n // eslint-disable-next-line prefer-const\n [index, length, formats, source] = overload(\n // @ts-expect-error\n index, length, name, value, source);\n return modify.call(this, () => {\n return this.editor.formatText(index, length, formats);\n }, source, index, 0);\n }\n getBounds(index) {\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n let bounds = null;\n if (typeof index === 'number') {\n bounds = this.selection.getBounds(index, length);\n } else {\n bounds = this.selection.getBounds(index.index, index.length);\n }\n if (!bounds) return null;\n const containerBounds = this.container.getBoundingClientRect();\n return {\n bottom: bounds.bottom - containerBounds.top,\n height: bounds.height,\n left: bounds.left - containerBounds.left,\n right: bounds.right - containerBounds.left,\n top: bounds.top - containerBounds.top,\n width: bounds.width\n };\n }\n getContents() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n [index, length] = overload(index, length);\n return this.editor.getContents(index, length);\n }\n getFormat() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSelection(true);\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n if (typeof index === 'number') {\n return this.editor.getFormat(index, length);\n }\n return this.editor.getFormat(index.index, index.length);\n }\n getIndex(blot) {\n return blot.offset(this.scroll);\n }\n getLength() {\n return this.scroll.length();\n }\n getLeaf(index) {\n return this.scroll.leaf(index);\n }\n getLine(index) {\n return this.scroll.line(index);\n }\n getLines() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n if (typeof index !== 'number') {\n return this.scroll.lines(index.index, index.length);\n }\n return this.scroll.lines(index, length);\n }\n getModule(name) {\n return this.theme.modules[name];\n }\n getSelection() {\n let focus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (focus) this.focus();\n this.update(); // Make sure we access getRange with editor in consistent state\n return this.selection.getRange()[0];\n }\n getSemanticHTML() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n let length = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof index === 'number') {\n length = length ?? this.getLength() - index;\n }\n // @ts-expect-error\n [index, length] = overload(index, length);\n return this.editor.getHTML(index, length);\n }\n getText() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n let length = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof index === 'number') {\n length = length ?? this.getLength() - index;\n }\n // @ts-expect-error\n [index, length] = overload(index, length);\n return this.editor.getText(index, length);\n }\n hasFocus() {\n return this.selection.hasFocus();\n }\n insertEmbed(index, embed, value) {\n let source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Quill.sources.API;\n return modify.call(this, () => {\n return this.editor.insertEmbed(index, embed, value);\n }, source, index);\n }\n insertText(index, text, name, value, source) {\n let formats;\n // eslint-disable-next-line prefer-const\n // @ts-expect-error\n [index,, formats, source] = overload(index, 0, name, value, source);\n return modify.call(this, () => {\n return this.editor.insertText(index, text, formats);\n }, source, index, text.length);\n }\n isEnabled() {\n return this.scroll.isEnabled();\n }\n off() {\n return this.emitter.off(...arguments);\n }\n on() {\n return this.emitter.on(...arguments);\n }\n once() {\n return this.emitter.once(...arguments);\n }\n removeFormat(index, length, source) {\n [index, length,, source] = overload(index, length, source);\n return modify.call(this, () => {\n return this.editor.removeFormat(index, length);\n }, source, index);\n }\n scrollRectIntoView(rect) {\n scrollRectIntoView(this.root, rect);\n }\n\n /**\n * @deprecated Use Quill#scrollSelectionIntoView() instead.\n */\n scrollIntoView() {\n console.warn('Quill#scrollIntoView() has been deprecated and will be removed in the near future. Please use Quill#scrollSelectionIntoView() instead.');\n this.scrollSelectionIntoView();\n }\n\n /**\n * Scroll the current selection into the visible area.\n * If the selection is already visible, no scrolling will occur.\n */\n scrollSelectionIntoView() {\n const range = this.selection.lastRange;\n const bounds = range && this.selection.getBounds(range.index, range.length);\n if (bounds) {\n this.scrollRectIntoView(bounds);\n }\n }\n setContents(delta) {\n let source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Emitter.sources.API;\n return modify.call(this, () => {\n delta = new Delta(delta);\n const length = this.getLength();\n // Quill will set empty editor to \\n\n const delete1 = this.editor.deleteText(0, length);\n const applied = this.editor.insertContents(0, delta);\n // Remove extra \\n from empty editor initialization\n const delete2 = this.editor.deleteText(this.getLength() - 1, 1);\n return delete1.compose(applied).compose(delete2);\n }, source);\n }\n setSelection(index, length, source) {\n if (index == null) {\n // @ts-expect-error https://github.com/microsoft/TypeScript/issues/22609\n this.selection.setRange(null, length || Quill.sources.API);\n } else {\n // @ts-expect-error\n [index, length,, source] = overload(index, length, source);\n this.selection.setRange(new Range(Math.max(0, index), length), source);\n if (source !== Emitter.sources.SILENT) {\n this.scrollSelectionIntoView();\n }\n }\n }\n setText(text) {\n let source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Emitter.sources.API;\n const delta = new Delta().insert(text);\n return this.setContents(delta, source);\n }\n update() {\n let source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Emitter.sources.USER;\n const change = this.scroll.update(source); // Will update selection before selection.update() does if text changes\n this.selection.update(source);\n // TODO this is usually undefined\n return change;\n }\n updateContents(delta) {\n let source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Emitter.sources.API;\n return modify.call(this, () => {\n delta = new Delta(delta);\n return this.editor.applyDelta(delta);\n }, source, true);\n }\n}\nfunction resolveSelector(selector) {\n return typeof selector === 'string' ? document.querySelector(selector) : selector;\n}\nfunction expandModuleConfig(config) {\n return Object.entries(config ?? {}).reduce((expanded, _ref) => {\n let [key, value] = _ref;\n return {\n ...expanded,\n [key]: value === true ? {} : value\n };\n }, {});\n}\nfunction omitUndefinedValuesFromOptions(obj) {\n return Object.fromEntries(Object.entries(obj).filter(entry => entry[1] !== undefined));\n}\nfunction expandConfig(containerOrSelector, options) {\n const container = resolveSelector(containerOrSelector);\n if (!container) {\n throw new Error('Invalid Quill container');\n }\n const shouldUseDefaultTheme = !options.theme || options.theme === Quill.DEFAULTS.theme;\n const theme = shouldUseDefaultTheme ? Theme : Quill.import(`themes/${options.theme}`);\n if (!theme) {\n throw new Error(`Invalid theme ${options.theme}. Did you register it?`);\n }\n const {\n modules: quillModuleDefaults,\n ...quillDefaults\n } = Quill.DEFAULTS;\n const {\n modules: themeModuleDefaults,\n ...themeDefaults\n } = theme.DEFAULTS;\n let userModuleOptions = expandModuleConfig(options.modules);\n // Special case toolbar shorthand\n if (userModuleOptions != null && userModuleOptions.toolbar && userModuleOptions.toolbar.constructor !== Object) {\n userModuleOptions = {\n ...userModuleOptions,\n toolbar: {\n container: userModuleOptions.toolbar\n }\n };\n }\n const modules = merge({}, expandModuleConfig(quillModuleDefaults), expandModuleConfig(themeModuleDefaults), userModuleOptions);\n const config = {\n ...quillDefaults,\n ...omitUndefinedValuesFromOptions(themeDefaults),\n ...omitUndefinedValuesFromOptions(options)\n };\n let registry = options.registry;\n if (registry) {\n if (options.formats) {\n debug.warn('Ignoring \"formats\" option because \"registry\" is specified');\n }\n } else {\n registry = options.formats ? createRegistryWithFormats(options.formats, config.registry, debug) : config.registry;\n }\n return {\n ...config,\n registry,\n container,\n theme,\n modules: Object.entries(modules).reduce((modulesWithDefaults, _ref2) => {\n let [name, value] = _ref2;\n if (!value) return modulesWithDefaults;\n const moduleClass = Quill.import(`modules/${name}`);\n if (moduleClass == null) {\n debug.error(`Cannot load ${name} module. Are you sure you registered it?`);\n return modulesWithDefaults;\n }\n return {\n ...modulesWithDefaults,\n // @ts-expect-error\n [name]: merge({}, moduleClass.DEFAULTS || {}, value)\n };\n }, {}),\n bounds: resolveSelector(config.bounds)\n };\n}\n\n// Handle selection preservation and TEXT_CHANGE emission\n// common to modification APIs\nfunction modify(modifier, source, index, shift) {\n if (!this.isEnabled() && source === Emitter.sources.USER && !this.allowReadOnlyEdits) {\n return new Delta();\n }\n let range = index == null ? null : this.getSelection();\n const oldDelta = this.editor.delta;\n const change = modifier();\n if (range != null) {\n if (index === true) {\n index = range.index; // eslint-disable-line prefer-destructuring\n }\n if (shift == null) {\n range = shiftRange(range, change, source);\n } else if (shift !== 0) {\n // @ts-expect-error index should always be number\n range = shiftRange(range, index, shift, source);\n }\n this.setSelection(range, Emitter.sources.SILENT);\n }\n if (change.length() > 0) {\n const args = [Emitter.events.TEXT_CHANGE, change, oldDelta, source];\n this.emitter.emit(Emitter.events.EDITOR_CHANGE, ...args);\n if (source !== Emitter.sources.SILENT) {\n this.emitter.emit(...args);\n }\n }\n return change;\n}\nfunction overload(index, length, name, value, source) {\n let formats = {};\n // @ts-expect-error\n if (typeof index.index === 'number' && typeof index.length === 'number') {\n // Allow for throwaway end (used by insertText/insertEmbed)\n if (typeof length !== 'number') {\n // @ts-expect-error\n source = value;\n value = name;\n name = length;\n // @ts-expect-error\n length = index.length; // eslint-disable-line prefer-destructuring\n // @ts-expect-error\n index = index.index; // eslint-disable-line prefer-destructuring\n } else {\n // @ts-expect-error\n length = index.length; // eslint-disable-line prefer-destructuring\n // @ts-expect-error\n index = index.index; // eslint-disable-line prefer-destructuring\n }\n } else if (typeof length !== 'number') {\n // @ts-expect-error\n source = value;\n value = name;\n name = length;\n length = 0;\n }\n // Handle format being object, two format name/value strings or excluded\n if (typeof name === 'object') {\n // @ts-expect-error Fix me later\n formats = name;\n // @ts-expect-error\n source = value;\n } else if (typeof name === 'string') {\n if (value != null) {\n formats[name] = value;\n } else {\n // @ts-expect-error\n source = name;\n }\n }\n // Handle optional source\n source = source || Emitter.sources.API;\n // @ts-expect-error\n return [index, length, formats, source];\n}\nfunction shiftRange(range, index, lengthOrSource, source) {\n const length = typeof lengthOrSource === 'number' ? lengthOrSource : 0;\n if (range == null) return null;\n let start;\n let end;\n // @ts-expect-error -- TODO: add a better type guard around `index`\n if (index && typeof index.transformPosition === 'function') {\n [start, end] = [range.index, range.index + range.length].map(pos =>\n // @ts-expect-error -- TODO: add a better type guard around `index`\n index.transformPosition(pos, source !== Emitter.sources.USER));\n } else {\n [start, end] = [range.index, range.index + range.length].map(pos => {\n // @ts-expect-error -- TODO: add a better type guard around `index`\n if (pos < index || pos === index && source === Emitter.sources.USER) return pos;\n if (length >= 0) {\n return pos + length;\n }\n // @ts-expect-error -- TODO: add a better type guard around `index`\n return Math.max(index, pos + length);\n });\n }\n return new Range(start, end - start);\n}\nexport { Parchment, Range };\nexport { globalRegistry, expandConfig, overload, Quill as default };\n//# sourceMappingURL=quill.js.map","import { ContainerBlot } from 'parchment';\nclass Container extends ContainerBlot {}\nexport default Container;\n//# sourceMappingURL=container.js.map","import { ContainerBlot, LeafBlot, Scope, ScrollBlot } from 'parchment';\nimport Delta, { AttributeMap, Op } from 'quill-delta';\nimport Emitter from '../core/emitter.js';\nimport Block, { BlockEmbed, bubbleFormats } from './block.js';\nimport Break from './break.js';\nimport Container from './container.js';\nfunction isLine(blot) {\n return blot instanceof Block || blot instanceof BlockEmbed;\n}\nfunction isUpdatable(blot) {\n return typeof blot.updateContent === 'function';\n}\nclass Scroll extends ScrollBlot {\n static blotName = 'scroll';\n static className = 'ql-editor';\n static tagName = 'DIV';\n static defaultChild = Block;\n static allowedChildren = [Block, BlockEmbed, Container];\n constructor(registry, domNode, _ref) {\n let {\n emitter\n } = _ref;\n super(registry, domNode);\n this.emitter = emitter;\n this.batch = false;\n this.optimize();\n this.enable();\n this.domNode.addEventListener('dragstart', e => this.handleDragStart(e));\n }\n batchStart() {\n if (!Array.isArray(this.batch)) {\n this.batch = [];\n }\n }\n batchEnd() {\n if (!this.batch) return;\n const mutations = this.batch;\n this.batch = false;\n this.update(mutations);\n }\n emitMount(blot) {\n this.emitter.emit(Emitter.events.SCROLL_BLOT_MOUNT, blot);\n }\n emitUnmount(blot) {\n this.emitter.emit(Emitter.events.SCROLL_BLOT_UNMOUNT, blot);\n }\n emitEmbedUpdate(blot, change) {\n this.emitter.emit(Emitter.events.SCROLL_EMBED_UPDATE, blot, change);\n }\n deleteAt(index, length) {\n const [first, offset] = this.line(index);\n const [last] = this.line(index + length);\n super.deleteAt(index, length);\n if (last != null && first !== last && offset > 0) {\n if (first instanceof BlockEmbed || last instanceof BlockEmbed) {\n this.optimize();\n return;\n }\n const ref = last.children.head instanceof Break ? null : last.children.head;\n // @ts-expect-error\n first.moveChildren(last, ref);\n // @ts-expect-error\n first.remove();\n }\n this.optimize();\n }\n enable() {\n let enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.domNode.setAttribute('contenteditable', enabled ? 'true' : 'false');\n }\n formatAt(index, length, format, value) {\n super.formatAt(index, length, format, value);\n this.optimize();\n }\n insertAt(index, value, def) {\n if (index >= this.length()) {\n if (def == null || this.scroll.query(value, Scope.BLOCK) == null) {\n const blot = this.scroll.create(this.statics.defaultChild.blotName);\n this.appendChild(blot);\n if (def == null && value.endsWith('\\n')) {\n blot.insertAt(0, value.slice(0, -1), def);\n } else {\n blot.insertAt(0, value, def);\n }\n } else {\n const embed = this.scroll.create(value, def);\n this.appendChild(embed);\n }\n } else {\n super.insertAt(index, value, def);\n }\n this.optimize();\n }\n insertBefore(blot, ref) {\n if (blot.statics.scope === Scope.INLINE_BLOT) {\n const wrapper = this.scroll.create(this.statics.defaultChild.blotName);\n wrapper.appendChild(blot);\n super.insertBefore(wrapper, ref);\n } else {\n super.insertBefore(blot, ref);\n }\n }\n insertContents(index, delta) {\n const renderBlocks = this.deltaToRenderBlocks(delta.concat(new Delta().insert('\\n')));\n const last = renderBlocks.pop();\n if (last == null) return;\n this.batchStart();\n const first = renderBlocks.shift();\n if (first) {\n const shouldInsertNewlineChar = first.type === 'block' && (first.delta.length() === 0 || !this.descendant(BlockEmbed, index)[0] && index < this.length());\n const delta = first.type === 'block' ? first.delta : new Delta().insert({\n [first.key]: first.value\n });\n insertInlineContents(this, index, delta);\n const newlineCharLength = first.type === 'block' ? 1 : 0;\n const lineEndIndex = index + delta.length() + newlineCharLength;\n if (shouldInsertNewlineChar) {\n this.insertAt(lineEndIndex - 1, '\\n');\n }\n const formats = bubbleFormats(this.line(index)[0]);\n const attributes = AttributeMap.diff(formats, first.attributes) || {};\n Object.keys(attributes).forEach(name => {\n this.formatAt(lineEndIndex - 1, 1, name, attributes[name]);\n });\n index = lineEndIndex;\n }\n let [refBlot, refBlotOffset] = this.children.find(index);\n if (renderBlocks.length) {\n if (refBlot) {\n refBlot = refBlot.split(refBlotOffset);\n refBlotOffset = 0;\n }\n renderBlocks.forEach(renderBlock => {\n if (renderBlock.type === 'block') {\n const block = this.createBlock(renderBlock.attributes, refBlot || undefined);\n insertInlineContents(block, 0, renderBlock.delta);\n } else {\n const blockEmbed = this.create(renderBlock.key, renderBlock.value);\n this.insertBefore(blockEmbed, refBlot || undefined);\n Object.keys(renderBlock.attributes).forEach(name => {\n blockEmbed.format(name, renderBlock.attributes[name]);\n });\n }\n });\n }\n if (last.type === 'block' && last.delta.length()) {\n const offset = refBlot ? refBlot.offset(refBlot.scroll) + refBlotOffset : this.length();\n insertInlineContents(this, offset, last.delta);\n }\n this.batchEnd();\n this.optimize();\n }\n isEnabled() {\n return this.domNode.getAttribute('contenteditable') === 'true';\n }\n leaf(index) {\n const last = this.path(index).pop();\n if (!last) {\n return [null, -1];\n }\n const [blot, offset] = last;\n return blot instanceof LeafBlot ? [blot, offset] : [null, -1];\n }\n line(index) {\n if (index === this.length()) {\n return this.line(index - 1);\n }\n // @ts-expect-error TODO: make descendant() generic\n return this.descendant(isLine, index);\n }\n lines() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n const getLines = (blot, blotIndex, blotLength) => {\n let lines = [];\n let lengthLeft = blotLength;\n blot.children.forEachAt(blotIndex, blotLength, (child, childIndex, childLength) => {\n if (isLine(child)) {\n lines.push(child);\n } else if (child instanceof ContainerBlot) {\n lines = lines.concat(getLines(child, childIndex, lengthLeft));\n }\n lengthLeft -= childLength;\n });\n return lines;\n };\n return getLines(this, index, length);\n }\n optimize() {\n let mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.batch) return;\n super.optimize(mutations, context);\n if (mutations.length > 0) {\n this.emitter.emit(Emitter.events.SCROLL_OPTIMIZE, mutations, context);\n }\n }\n path(index) {\n return super.path(index).slice(1); // Exclude self\n }\n remove() {\n // Never remove self\n }\n update(mutations) {\n if (this.batch) {\n if (Array.isArray(mutations)) {\n this.batch = this.batch.concat(mutations);\n }\n return;\n }\n let source = Emitter.sources.USER;\n if (typeof mutations === 'string') {\n source = mutations;\n }\n if (!Array.isArray(mutations)) {\n mutations = this.observer.takeRecords();\n }\n mutations = mutations.filter(_ref2 => {\n let {\n target\n } = _ref2;\n const blot = this.find(target, true);\n return blot && !isUpdatable(blot);\n });\n if (mutations.length > 0) {\n this.emitter.emit(Emitter.events.SCROLL_BEFORE_UPDATE, source, mutations);\n }\n super.update(mutations.concat([])); // pass copy\n if (mutations.length > 0) {\n this.emitter.emit(Emitter.events.SCROLL_UPDATE, source, mutations);\n }\n }\n updateEmbedAt(index, key, change) {\n // Currently it only supports top-level embeds (BlockEmbed).\n // We can update `ParentBlot` in parchment to support inline embeds.\n const [blot] = this.descendant(b => b instanceof BlockEmbed, index);\n if (blot && blot.statics.blotName === key && isUpdatable(blot)) {\n blot.updateContent(change);\n }\n }\n handleDragStart(event) {\n event.preventDefault();\n }\n deltaToRenderBlocks(delta) {\n const renderBlocks = [];\n let currentBlockDelta = new Delta();\n delta.forEach(op => {\n const insert = op?.insert;\n if (!insert) return;\n if (typeof insert === 'string') {\n const splitted = insert.split('\\n');\n splitted.slice(0, -1).forEach(text => {\n currentBlockDelta.insert(text, op.attributes);\n renderBlocks.push({\n type: 'block',\n delta: currentBlockDelta,\n attributes: op.attributes ?? {}\n });\n currentBlockDelta = new Delta();\n });\n const last = splitted[splitted.length - 1];\n if (last) {\n currentBlockDelta.insert(last, op.attributes);\n }\n } else {\n const key = Object.keys(insert)[0];\n if (!key) return;\n if (this.query(key, Scope.INLINE)) {\n currentBlockDelta.push(op);\n } else {\n if (currentBlockDelta.length()) {\n renderBlocks.push({\n type: 'block',\n delta: currentBlockDelta,\n attributes: {}\n });\n }\n currentBlockDelta = new Delta();\n renderBlocks.push({\n type: 'blockEmbed',\n key,\n value: insert[key],\n attributes: op.attributes ?? {}\n });\n }\n }\n });\n if (currentBlockDelta.length()) {\n renderBlocks.push({\n type: 'block',\n delta: currentBlockDelta,\n attributes: {}\n });\n }\n return renderBlocks;\n }\n createBlock(attributes, refBlot) {\n let blotName;\n const formats = {};\n Object.entries(attributes).forEach(_ref3 => {\n let [key, value] = _ref3;\n const isBlockBlot = this.query(key, Scope.BLOCK & Scope.BLOT) != null;\n if (isBlockBlot) {\n blotName = key;\n } else {\n formats[key] = value;\n }\n });\n const block = this.create(blotName || this.statics.defaultChild.blotName, blotName ? attributes[blotName] : undefined);\n this.insertBefore(block, refBlot || undefined);\n const length = block.length();\n Object.entries(formats).forEach(_ref4 => {\n let [key, value] = _ref4;\n block.formatAt(0, length, key, value);\n });\n return block;\n }\n}\nfunction insertInlineContents(parent, index, inlineContents) {\n inlineContents.reduce((index, op) => {\n const length = Op.length(op);\n let attributes = op.attributes || {};\n if (op.insert != null) {\n if (typeof op.insert === 'string') {\n const text = op.insert;\n parent.insertAt(index, text);\n const [leaf] = parent.descendant(LeafBlot, index);\n const formats = bubbleFormats(leaf);\n attributes = AttributeMap.diff(formats, attributes) || {};\n } else if (typeof op.insert === 'object') {\n const key = Object.keys(op.insert)[0]; // There should only be one key\n if (key == null) return index;\n parent.insertAt(index, key, op.insert[key]);\n const isInlineEmbed = parent.scroll.query(key, Scope.INLINE) != null;\n if (isInlineEmbed) {\n const [leaf] = parent.descendant(LeafBlot, index);\n const formats = bubbleFormats(leaf);\n attributes = AttributeMap.diff(formats, attributes) || {};\n }\n }\n }\n Object.keys(attributes).forEach(key => {\n parent.formatAt(index, length, key, attributes[key]);\n });\n return index + length;\n }, index);\n}\nexport default Scroll;\n//# sourceMappingURL=scroll.js.map","import { Attributor, ClassAttributor, Scope, StyleAttributor } from 'parchment';\nconst config = {\n scope: Scope.BLOCK,\n whitelist: ['right', 'center', 'justify']\n};\nconst AlignAttribute = new Attributor('align', 'align', config);\nconst AlignClass = new ClassAttributor('align', 'ql-align', config);\nconst AlignStyle = new StyleAttributor('align', 'text-align', config);\nexport { AlignAttribute, AlignClass, AlignStyle };\n//# sourceMappingURL=align.js.map","import { ClassAttributor, Scope, StyleAttributor } from 'parchment';\nclass ColorAttributor extends StyleAttributor {\n value(domNode) {\n let value = super.value(domNode);\n if (!value.startsWith('rgb(')) return value;\n value = value.replace(/^[^\\d]+/, '').replace(/[^\\d]+$/, '');\n const hex = value.split(',').map(component => `00${parseInt(component, 10).toString(16)}`.slice(-2)).join('');\n return `#${hex}`;\n }\n}\nconst ColorClass = new ClassAttributor('color', 'ql-color', {\n scope: Scope.INLINE\n});\nconst ColorStyle = new ColorAttributor('color', 'color', {\n scope: Scope.INLINE\n});\nexport { ColorAttributor, ColorClass, ColorStyle };\n//# sourceMappingURL=color.js.map","import { ClassAttributor, Scope } from 'parchment';\nimport { ColorAttributor } from './color.js';\nconst BackgroundClass = new ClassAttributor('background', 'ql-bg', {\n scope: Scope.INLINE\n});\nconst BackgroundStyle = new ColorAttributor('background', 'background-color', {\n scope: Scope.INLINE\n});\nexport { BackgroundClass, BackgroundStyle };\n//# sourceMappingURL=background.js.map","import Block from '../blots/block.js';\nimport Break from '../blots/break.js';\nimport Cursor from '../blots/cursor.js';\nimport Inline from '../blots/inline.js';\nimport TextBlot, { escapeText } from '../blots/text.js';\nimport Container from '../blots/container.js';\nimport Quill from '../core/quill.js';\nclass CodeBlockContainer extends Container {\n static create(value) {\n const domNode = super.create(value);\n domNode.setAttribute('spellcheck', 'false');\n return domNode;\n }\n code(index, length) {\n return this.children\n // @ts-expect-error\n .map(child => child.length() <= 1 ? '' : child.domNode.innerText).join('\\n').slice(index, index + length);\n }\n html(index, length) {\n // `\\n`s are needed in order to support empty lines at the beginning and the end.\n // https://html.spec.whatwg.org/multipage/syntax.html#element-restrictions\n return `<pre>\\n${escapeText(this.code(index, length))}\\n</pre>`;\n }\n}\nclass CodeBlock extends Block {\n static TAB = ' ';\n static register() {\n Quill.register(CodeBlockContainer);\n }\n}\nclass Code extends Inline {}\nCode.blotName = 'code';\nCode.tagName = 'CODE';\nCodeBlock.blotName = 'code-block';\nCodeBlock.className = 'ql-code-block';\nCodeBlock.tagName = 'DIV';\nCodeBlockContainer.blotName = 'code-block-container';\nCodeBlockContainer.className = 'ql-code-block-container';\nCodeBlockContainer.tagName = 'DIV';\nCodeBlockContainer.allowedChildren = [CodeBlock];\nCodeBlock.allowedChildren = [TextBlot, Break, Cursor];\nCodeBlock.requiredContainer = CodeBlockContainer;\nexport { Code, CodeBlockContainer, CodeBlock as default };\n//# sourceMappingURL=code.js.map","import { Attributor, ClassAttributor, Scope, StyleAttributor } from 'parchment';\nconst config = {\n scope: Scope.BLOCK,\n whitelist: ['rtl']\n};\nconst DirectionAttribute = new Attributor('direction', 'dir', config);\nconst DirectionClass = new ClassAttributor('direction', 'ql-direction', config);\nconst DirectionStyle = new StyleAttributor('direction', 'direction', config);\nexport { DirectionAttribute, DirectionClass, DirectionStyle };\n//# sourceMappingURL=direction.js.map","import { ClassAttributor, Scope, StyleAttributor } from 'parchment';\nconst config = {\n scope: Scope.INLINE,\n whitelist: ['serif', 'monospace']\n};\nconst FontClass = new ClassAttributor('font', 'ql-font', config);\nclass FontStyleAttributor extends StyleAttributor {\n value(node) {\n return super.value(node).replace(/[\"']/g, '');\n }\n}\nconst FontStyle = new FontStyleAttributor('font', 'font-family', config);\nexport { FontStyle, FontClass };\n//# sourceMappingURL=font.js.map","import { ClassAttributor, Scope, StyleAttributor } from 'parchment';\nconst SizeClass = new ClassAttributor('size', 'ql-size', {\n scope: Scope.INLINE,\n whitelist: ['small', 'large', 'huge']\n});\nconst SizeStyle = new StyleAttributor('size', 'font-size', {\n scope: Scope.INLINE,\n whitelist: ['10px', '18px', '32px']\n});\nexport { SizeClass, SizeStyle };\n//# sourceMappingURL=size.js.map","import { cloneDeep, isEqual } from 'lodash-es';\nimport Delta, { AttributeMap } from 'quill-delta';\nimport { EmbedBlot, Scope, TextBlot } from 'parchment';\nimport Quill from '../core/quill.js';\nimport logger from '../core/logger.js';\nimport Module from '../core/module.js';\nconst debug = logger('quill:keyboard');\nconst SHORTKEY = /Mac/i.test(navigator.platform) ? 'metaKey' : 'ctrlKey';\nclass Keyboard extends Module {\n static match(evt, binding) {\n if (['altKey', 'ctrlKey', 'metaKey', 'shiftKey'].some(key => {\n return !!binding[key] !== evt[key] && binding[key] !== null;\n })) {\n return false;\n }\n return binding.key === evt.key || binding.key === evt.which;\n }\n constructor(quill, options) {\n super(quill, options);\n this.bindings = {};\n // @ts-expect-error Fix me later\n Object.keys(this.options.bindings).forEach(name => {\n // @ts-expect-error Fix me later\n if (this.options.bindings[name]) {\n // @ts-expect-error Fix me later\n this.addBinding(this.options.bindings[name]);\n }\n });\n this.addBinding({\n key: 'Enter',\n shiftKey: null\n }, this.handleEnter);\n this.addBinding({\n key: 'Enter',\n metaKey: null,\n ctrlKey: null,\n altKey: null\n }, () => {});\n if (/Firefox/i.test(navigator.userAgent)) {\n // Need to handle delete and backspace for Firefox in the general case #1171\n this.addBinding({\n key: 'Backspace'\n }, {\n collapsed: true\n }, this.handleBackspace);\n this.addBinding({\n key: 'Delete'\n }, {\n collapsed: true\n }, this.handleDelete);\n } else {\n this.addBinding({\n key: 'Backspace'\n }, {\n collapsed: true,\n prefix: /^.?$/\n }, this.handleBackspace);\n this.addBinding({\n key: 'Delete'\n }, {\n collapsed: true,\n suffix: /^.?$/\n }, this.handleDelete);\n }\n this.addBinding({\n key: 'Backspace'\n }, {\n collapsed: false\n }, this.handleDeleteRange);\n this.addBinding({\n key: 'Delete'\n }, {\n collapsed: false\n }, this.handleDeleteRange);\n this.addBinding({\n key: 'Backspace',\n altKey: null,\n ctrlKey: null,\n metaKey: null,\n shiftKey: null\n }, {\n collapsed: true,\n offset: 0\n }, this.handleBackspace);\n this.listen();\n }\n addBinding(keyBinding) {\n let context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let handler = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const binding = normalize(keyBinding);\n if (binding == null) {\n debug.warn('Attempted to add invalid keyboard binding', binding);\n return;\n }\n if (typeof context === 'function') {\n context = {\n handler: context\n };\n }\n if (typeof handler === 'function') {\n handler = {\n handler\n };\n }\n const keys = Array.isArray(binding.key) ? binding.key : [binding.key];\n keys.forEach(key => {\n const singleBinding = {\n ...binding,\n key,\n ...context,\n ...handler\n };\n this.bindings[singleBinding.key] = this.bindings[singleBinding.key] || [];\n this.bindings[singleBinding.key].push(singleBinding);\n });\n }\n listen() {\n this.quill.root.addEventListener('keydown', evt => {\n if (evt.defaultPrevented || evt.isComposing) return;\n\n // evt.isComposing is false when pressing Enter/Backspace when composing in Safari\n // https://bugs.webkit.org/show_bug.cgi?id=165004\n const isComposing = evt.keyCode === 229 && (evt.key === 'Enter' || evt.key === 'Backspace');\n if (isComposing) return;\n const bindings = (this.bindings[evt.key] || []).concat(this.bindings[evt.which] || []);\n const matches = bindings.filter(binding => Keyboard.match(evt, binding));\n if (matches.length === 0) return;\n // @ts-expect-error\n const blot = Quill.find(evt.target, true);\n if (blot && blot.scroll !== this.quill.scroll) return;\n const range = this.quill.getSelection();\n if (range == null || !this.quill.hasFocus()) return;\n const [line, offset] = this.quill.getLine(range.index);\n const [leafStart, offsetStart] = this.quill.getLeaf(range.index);\n const [leafEnd, offsetEnd] = range.length === 0 ? [leafStart, offsetStart] : this.quill.getLeaf(range.index + range.length);\n const prefixText = leafStart instanceof TextBlot ? leafStart.value().slice(0, offsetStart) : '';\n const suffixText = leafEnd instanceof TextBlot ? leafEnd.value().slice(offsetEnd) : '';\n const curContext = {\n collapsed: range.length === 0,\n // @ts-expect-error Fix me later\n empty: range.length === 0 && line.length() <= 1,\n format: this.quill.getFormat(range),\n line,\n offset,\n prefix: prefixText,\n suffix: suffixText,\n event: evt\n };\n const prevented = matches.some(binding => {\n if (binding.collapsed != null && binding.collapsed !== curContext.collapsed) {\n return false;\n }\n if (binding.empty != null && binding.empty !== curContext.empty) {\n return false;\n }\n if (binding.offset != null && binding.offset !== curContext.offset) {\n return false;\n }\n if (Array.isArray(binding.format)) {\n // any format is present\n if (binding.format.every(name => curContext.format[name] == null)) {\n return false;\n }\n } else if (typeof binding.format === 'object') {\n // all formats must match\n if (!Object.keys(binding.format).every(name => {\n // @ts-expect-error Fix me later\n if (binding.format[name] === true) return curContext.format[name] != null;\n // @ts-expect-error Fix me later\n if (binding.format[name] === false) return curContext.format[name] == null;\n // @ts-expect-error Fix me later\n return isEqual(binding.format[name], curContext.format[name]);\n })) {\n return false;\n }\n }\n if (binding.prefix != null && !binding.prefix.test(curContext.prefix)) {\n return false;\n }\n if (binding.suffix != null && !binding.suffix.test(curContext.suffix)) {\n return false;\n }\n // @ts-expect-error Fix me later\n return binding.handler.call(this, range, curContext, binding) !== true;\n });\n if (prevented) {\n evt.preventDefault();\n }\n });\n }\n handleBackspace(range, context) {\n // Check for astral symbols\n const length = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]$/.test(context.prefix) ? 2 : 1;\n if (range.index === 0 || this.quill.getLength() <= 1) return;\n let formats = {};\n const [line] = this.quill.getLine(range.index);\n let delta = new Delta().retain(range.index - length).delete(length);\n if (context.offset === 0) {\n // Always deleting newline here, length always 1\n const [prev] = this.quill.getLine(range.index - 1);\n if (prev) {\n const isPrevLineEmpty = prev.statics.blotName === 'block' && prev.length() <= 1;\n if (!isPrevLineEmpty) {\n // @ts-expect-error Fix me later\n const curFormats = line.formats();\n const prevFormats = this.quill.getFormat(range.index - 1, 1);\n formats = AttributeMap.diff(curFormats, prevFormats) || {};\n if (Object.keys(formats).length > 0) {\n // line.length() - 1 targets \\n in line, another -1 for newline being deleted\n const formatDelta = new Delta()\n // @ts-expect-error Fix me later\n .retain(range.index + line.length() - 2).retain(1, formats);\n delta = delta.compose(formatDelta);\n }\n }\n }\n }\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.focus();\n }\n handleDelete(range, context) {\n // Check for astral symbols\n const length = /^[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/.test(context.suffix) ? 2 : 1;\n if (range.index >= this.quill.getLength() - length) return;\n let formats = {};\n const [line] = this.quill.getLine(range.index);\n let delta = new Delta().retain(range.index).delete(length);\n // @ts-expect-error Fix me later\n if (context.offset >= line.length() - 1) {\n const [next] = this.quill.getLine(range.index + 1);\n if (next) {\n // @ts-expect-error Fix me later\n const curFormats = line.formats();\n const nextFormats = this.quill.getFormat(range.index, 1);\n formats = AttributeMap.diff(curFormats, nextFormats) || {};\n if (Object.keys(formats).length > 0) {\n delta = delta.retain(next.length() - 1).retain(1, formats);\n }\n }\n }\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.focus();\n }\n handleDeleteRange(range) {\n deleteRange({\n range,\n quill: this.quill\n });\n this.quill.focus();\n }\n handleEnter(range, context) {\n const lineFormats = Object.keys(context.format).reduce((formats, format) => {\n if (this.quill.scroll.query(format, Scope.BLOCK) && !Array.isArray(context.format[format])) {\n formats[format] = context.format[format];\n }\n return formats;\n }, {});\n const delta = new Delta().retain(range.index).delete(range.length).insert('\\n', lineFormats);\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.setSelection(range.index + 1, Quill.sources.SILENT);\n this.quill.focus();\n }\n}\nconst defaultOptions = {\n bindings: {\n bold: makeFormatHandler('bold'),\n italic: makeFormatHandler('italic'),\n underline: makeFormatHandler('underline'),\n indent: {\n // highlight tab or tab at beginning of list, indent or blockquote\n key: 'Tab',\n format: ['blockquote', 'indent', 'list'],\n handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '+1', Quill.sources.USER);\n return false;\n }\n },\n outdent: {\n key: 'Tab',\n shiftKey: true,\n format: ['blockquote', 'indent', 'list'],\n // highlight tab or tab at beginning of list, indent or blockquote\n handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '-1', Quill.sources.USER);\n return false;\n }\n },\n 'outdent backspace': {\n key: 'Backspace',\n collapsed: true,\n shiftKey: null,\n metaKey: null,\n ctrlKey: null,\n altKey: null,\n format: ['indent', 'list'],\n offset: 0,\n handler(range, context) {\n if (context.format.indent != null) {\n this.quill.format('indent', '-1', Quill.sources.USER);\n } else if (context.format.list != null) {\n this.quill.format('list', false, Quill.sources.USER);\n }\n }\n },\n 'indent code-block': makeCodeBlockHandler(true),\n 'outdent code-block': makeCodeBlockHandler(false),\n 'remove tab': {\n key: 'Tab',\n shiftKey: true,\n collapsed: true,\n prefix: /\\t$/,\n handler(range) {\n this.quill.deleteText(range.index - 1, 1, Quill.sources.USER);\n }\n },\n tab: {\n key: 'Tab',\n handler(range, context) {\n if (context.format.table) return true;\n this.quill.history.cutoff();\n const delta = new Delta().retain(range.index).delete(range.length).insert('\\t');\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index + 1, Quill.sources.SILENT);\n return false;\n }\n },\n 'blockquote empty enter': {\n key: 'Enter',\n collapsed: true,\n format: ['blockquote'],\n empty: true,\n handler() {\n this.quill.format('blockquote', false, Quill.sources.USER);\n }\n },\n 'list empty enter': {\n key: 'Enter',\n collapsed: true,\n format: ['list'],\n empty: true,\n handler(range, context) {\n const formats = {\n list: false\n };\n if (context.format.indent) {\n formats.indent = false;\n }\n this.quill.formatLine(range.index, range.length, formats, Quill.sources.USER);\n }\n },\n 'checklist enter': {\n key: 'Enter',\n collapsed: true,\n format: {\n list: 'checked'\n },\n handler(range) {\n const [line, offset] = this.quill.getLine(range.index);\n const formats = {\n // @ts-expect-error Fix me later\n ...line.formats(),\n list: 'checked'\n };\n const delta = new Delta().retain(range.index).insert('\\n', formats)\n // @ts-expect-error Fix me later\n .retain(line.length() - offset - 1).retain(1, {\n list: 'unchecked'\n });\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.setSelection(range.index + 1, Quill.sources.SILENT);\n this.quill.scrollSelectionIntoView();\n }\n },\n 'header enter': {\n key: 'Enter',\n collapsed: true,\n format: ['header'],\n suffix: /^$/,\n handler(range, context) {\n const [line, offset] = this.quill.getLine(range.index);\n const delta = new Delta().retain(range.index).insert('\\n', context.format)\n // @ts-expect-error Fix me later\n .retain(line.length() - offset - 1).retain(1, {\n header: null\n });\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.setSelection(range.index + 1, Quill.sources.SILENT);\n this.quill.scrollSelectionIntoView();\n }\n },\n 'table backspace': {\n key: 'Backspace',\n format: ['table'],\n collapsed: true,\n offset: 0,\n handler() {}\n },\n 'table delete': {\n key: 'Delete',\n format: ['table'],\n collapsed: true,\n suffix: /^$/,\n handler() {}\n },\n 'table enter': {\n key: 'Enter',\n shiftKey: null,\n format: ['table'],\n handler(range) {\n const module = this.quill.getModule('table');\n if (module) {\n // @ts-expect-error\n const [table, row, cell, offset] = module.getTable(range);\n const shift = tableSide(table, row, cell, offset);\n if (shift == null) return;\n let index = table.offset();\n if (shift < 0) {\n const delta = new Delta().retain(index).insert('\\n');\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.setSelection(range.index + 1, range.length, Quill.sources.SILENT);\n } else if (shift > 0) {\n index += table.length();\n const delta = new Delta().retain(index).insert('\\n');\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.setSelection(index, Quill.sources.USER);\n }\n }\n }\n },\n 'table tab': {\n key: 'Tab',\n shiftKey: null,\n format: ['table'],\n handler(range, context) {\n const {\n event,\n line: cell\n } = context;\n const offset = cell.offset(this.quill.scroll);\n if (event.shiftKey) {\n this.quill.setSelection(offset - 1, Quill.sources.USER);\n } else {\n this.quill.setSelection(offset + cell.length(), Quill.sources.USER);\n }\n }\n },\n 'list autofill': {\n key: ' ',\n shiftKey: null,\n collapsed: true,\n format: {\n 'code-block': false,\n blockquote: false,\n table: false\n },\n prefix: /^\\s*?(\\d+\\.|-|\\*|\\[ ?\\]|\\[x\\])$/,\n handler(range, context) {\n if (this.quill.scroll.query('list') == null) return true;\n const {\n length\n } = context.prefix;\n const [line, offset] = this.quill.getLine(range.index);\n if (offset > length) return true;\n let value;\n switch (context.prefix.trim()) {\n case '[]':\n case '[ ]':\n value = 'unchecked';\n break;\n case '[x]':\n value = 'checked';\n break;\n case '-':\n case '*':\n value = 'bullet';\n break;\n default:\n value = 'ordered';\n }\n this.quill.insertText(range.index, ' ', Quill.sources.USER);\n this.quill.history.cutoff();\n const delta = new Delta().retain(range.index - offset).delete(length + 1)\n // @ts-expect-error Fix me later\n .retain(line.length() - 2 - offset).retain(1, {\n list: value\n });\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index - length, Quill.sources.SILENT);\n return false;\n }\n },\n 'code exit': {\n key: 'Enter',\n collapsed: true,\n format: ['code-block'],\n prefix: /^$/,\n suffix: /^\\s*$/,\n handler(range) {\n const [line, offset] = this.quill.getLine(range.index);\n let numLines = 2;\n let cur = line;\n while (cur != null && cur.length() <= 1 && cur.formats()['code-block']) {\n // @ts-expect-error\n cur = cur.prev;\n numLines -= 1;\n // Requisite prev lines are empty\n if (numLines <= 0) {\n const delta = new Delta()\n // @ts-expect-error Fix me later\n .retain(range.index + line.length() - offset - 2).retain(1, {\n 'code-block': null\n }).delete(1);\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.setSelection(range.index - 1, Quill.sources.SILENT);\n return false;\n }\n }\n return true;\n }\n },\n 'embed left': makeEmbedArrowHandler('ArrowLeft', false),\n 'embed left shift': makeEmbedArrowHandler('ArrowLeft', true),\n 'embed right': makeEmbedArrowHandler('ArrowRight', false),\n 'embed right shift': makeEmbedArrowHandler('ArrowRight', true),\n 'table down': makeTableArrowHandler(false),\n 'table up': makeTableArrowHandler(true)\n }\n};\nKeyboard.DEFAULTS = defaultOptions;\nfunction makeCodeBlockHandler(indent) {\n return {\n key: 'Tab',\n shiftKey: !indent,\n format: {\n 'code-block': true\n },\n handler(range, _ref) {\n let {\n event\n } = _ref;\n const CodeBlock = this.quill.scroll.query('code-block');\n // @ts-expect-error\n const {\n TAB\n } = CodeBlock;\n if (range.length === 0 && !event.shiftKey) {\n this.quill.insertText(range.index, TAB, Quill.sources.USER);\n this.quill.setSelection(range.index + TAB.length, Quill.sources.SILENT);\n return;\n }\n const lines = range.length === 0 ? this.quill.getLines(range.index, 1) : this.quill.getLines(range);\n let {\n index,\n length\n } = range;\n lines.forEach((line, i) => {\n if (indent) {\n line.insertAt(0, TAB);\n if (i === 0) {\n index += TAB.length;\n } else {\n length += TAB.length;\n }\n // @ts-expect-error Fix me later\n } else if (line.domNode.textContent.startsWith(TAB)) {\n line.deleteAt(0, TAB.length);\n if (i === 0) {\n index -= TAB.length;\n } else {\n length -= TAB.length;\n }\n }\n });\n this.quill.update(Quill.sources.USER);\n this.quill.setSelection(index, length, Quill.sources.SILENT);\n }\n };\n}\nfunction makeEmbedArrowHandler(key, shiftKey) {\n const where = key === 'ArrowLeft' ? 'prefix' : 'suffix';\n return {\n key,\n shiftKey,\n altKey: null,\n [where]: /^$/,\n handler(range) {\n let {\n index\n } = range;\n if (key === 'ArrowRight') {\n index += range.length + 1;\n }\n const [leaf] = this.quill.getLeaf(index);\n if (!(leaf instanceof EmbedBlot)) return true;\n if (key === 'ArrowLeft') {\n if (shiftKey) {\n this.quill.setSelection(range.index - 1, range.length + 1, Quill.sources.USER);\n } else {\n this.quill.setSelection(range.index - 1, Quill.sources.USER);\n }\n } else if (shiftKey) {\n this.quill.setSelection(range.index, range.length + 1, Quill.sources.USER);\n } else {\n this.quill.setSelection(range.index + range.length + 1, Quill.sources.USER);\n }\n return false;\n }\n };\n}\nfunction makeFormatHandler(format) {\n return {\n key: format[0],\n shortKey: true,\n handler(range, context) {\n this.quill.format(format, !context.format[format], Quill.sources.USER);\n }\n };\n}\nfunction makeTableArrowHandler(up) {\n return {\n key: up ? 'ArrowUp' : 'ArrowDown',\n collapsed: true,\n format: ['table'],\n handler(range, context) {\n // TODO move to table module\n const key = up ? 'prev' : 'next';\n const cell = context.line;\n const targetRow = cell.parent[key];\n if (targetRow != null) {\n if (targetRow.statics.blotName === 'table-row') {\n // @ts-expect-error\n let targetCell = targetRow.children.head;\n let cur = cell;\n while (cur.prev != null) {\n // @ts-expect-error\n cur = cur.prev;\n targetCell = targetCell.next;\n }\n const index = targetCell.offset(this.quill.scroll) + Math.min(context.offset, targetCell.length() - 1);\n this.quill.setSelection(index, 0, Quill.sources.USER);\n }\n } else {\n // @ts-expect-error\n const targetLine = cell.table()[key];\n if (targetLine != null) {\n if (up) {\n this.quill.setSelection(targetLine.offset(this.quill.scroll) + targetLine.length() - 1, 0, Quill.sources.USER);\n } else {\n this.quill.setSelection(targetLine.offset(this.quill.scroll), 0, Quill.sources.USER);\n }\n }\n }\n return false;\n }\n };\n}\nfunction normalize(binding) {\n if (typeof binding === 'string' || typeof binding === 'number') {\n binding = {\n key: binding\n };\n } else if (typeof binding === 'object') {\n binding = cloneDeep(binding);\n } else {\n return null;\n }\n if (binding.shortKey) {\n binding[SHORTKEY] = binding.shortKey;\n delete binding.shortKey;\n }\n return binding;\n}\n\n// TODO: Move into quill.ts or editor.ts\nfunction deleteRange(_ref2) {\n let {\n quill,\n range\n } = _ref2;\n const lines = quill.getLines(range);\n let formats = {};\n if (lines.length > 1) {\n const firstFormats = lines[0].formats();\n const lastFormats = lines[lines.length - 1].formats();\n formats = AttributeMap.diff(lastFormats, firstFormats) || {};\n }\n quill.deleteText(range, Quill.sources.USER);\n if (Object.keys(formats).length > 0) {\n quill.formatLine(range.index, 1, formats, Quill.sources.USER);\n }\n quill.setSelection(range.index, Quill.sources.SILENT);\n}\nfunction tableSide(_table, row, cell, offset) {\n if (row.prev == null && row.next == null) {\n if (cell.prev == null && cell.next == null) {\n return offset === 0 ? -1 : 1;\n }\n return cell.prev == null ? -1 : 1;\n }\n if (row.prev == null) {\n return -1;\n }\n if (row.next == null) {\n return 1;\n }\n return null;\n}\nexport { Keyboard as default, SHORTKEY, normalize, deleteRange };\n//# sourceMappingURL=keyboard.js.map","const normalWeightRegexp = /font-weight:\\s*normal/;\nconst blockTagNames = ['P', 'OL', 'UL'];\nconst isBlockElement = element => {\n return element && blockTagNames.includes(element.tagName);\n};\nconst normalizeEmptyLines = doc => {\n Array.from(doc.querySelectorAll('br')).filter(br => isBlockElement(br.previousElementSibling) && isBlockElement(br.nextElementSibling)).forEach(br => {\n br.parentNode?.removeChild(br);\n });\n};\nconst normalizeFontWeight = doc => {\n Array.from(doc.querySelectorAll('b[style*=\"font-weight\"]')).filter(node => node.getAttribute('style')?.match(normalWeightRegexp)).forEach(node => {\n const fragment = doc.createDocumentFragment();\n fragment.append(...node.childNodes);\n node.parentNode?.replaceChild(fragment, node);\n });\n};\nexport default function normalize(doc) {\n if (doc.querySelector('[id^=\"docs-internal-guid-\"]')) {\n normalizeFontWeight(doc);\n normalizeEmptyLines(doc);\n }\n}\n//# sourceMappingURL=googleDocs.js.map","const ignoreRegexp = /\\bmso-list:[^;]*ignore/i;\nconst idRegexp = /\\bmso-list:[^;]*\\bl(\\d+)/i;\nconst indentRegexp = /\\bmso-list:[^;]*\\blevel(\\d+)/i;\nconst parseListItem = (element, html) => {\n const style = element.getAttribute('style');\n const idMatch = style?.match(idRegexp);\n if (!idMatch) {\n return null;\n }\n const id = Number(idMatch[1]);\n const indentMatch = style?.match(indentRegexp);\n const indent = indentMatch ? Number(indentMatch[1]) : 1;\n const typeRegexp = new RegExp(`@list l${id}:level${indent}\\\\s*\\\\{[^\\\\}]*mso-level-number-format:\\\\s*([\\\\w-]+)`, 'i');\n const typeMatch = html.match(typeRegexp);\n const type = typeMatch && typeMatch[1] === 'bullet' ? 'bullet' : 'ordered';\n return {\n id,\n indent,\n type,\n element\n };\n};\n\n// list items are represented as `p` tags with styles like `mso-list: l0 level1` where:\n// 1. \"0\" in \"l0\" means the list item id;\n// 2. \"1\" in \"level1\" means the indent level, starting from 1.\nconst normalizeListItem = doc => {\n const msoList = Array.from(doc.querySelectorAll('[style*=mso-list]'));\n const ignored = [];\n const others = [];\n msoList.forEach(node => {\n const shouldIgnore = (node.getAttribute('style') || '').match(ignoreRegexp);\n if (shouldIgnore) {\n ignored.push(node);\n } else {\n others.push(node);\n }\n });\n\n // Each list item contains a marker wrapped with \"mso-list: Ignore\".\n ignored.forEach(node => node.parentNode?.removeChild(node));\n\n // The list stype is not defined inline with the tag, instead, it's in the\n // style tag so we need to pass the html as a string.\n const html = doc.documentElement.innerHTML;\n const listItems = others.map(element => parseListItem(element, html)).filter(parsed => parsed);\n while (listItems.length) {\n const childListItems = [];\n let current = listItems.shift();\n // Group continuous items into the same group (aka \"ul\")\n while (current) {\n childListItems.push(current);\n current = listItems.length && listItems[0]?.element === current.element.nextElementSibling &&\n // Different id means the next item doesn't belong to this group.\n listItems[0].id === current.id ? listItems.shift() : null;\n }\n const ul = document.createElement('ul');\n childListItems.forEach(listItem => {\n const li = document.createElement('li');\n li.setAttribute('data-list', listItem.type);\n if (listItem.indent > 1) {\n li.setAttribute('class', `ql-indent-${listItem.indent - 1}`);\n }\n li.innerHTML = listItem.element.innerHTML;\n ul.appendChild(li);\n });\n const element = childListItems[0]?.element;\n const {\n parentNode\n } = element ?? {};\n if (element) {\n parentNode?.replaceChild(ul, element);\n }\n childListItems.slice(1).forEach(_ref => {\n let {\n element: e\n } = _ref;\n parentNode?.removeChild(e);\n });\n }\n};\nexport default function normalize(doc) {\n if (doc.documentElement.getAttribute('xmlns:w') === 'urn:schemas-microsoft-com:office:word') {\n normalizeListItem(doc);\n }\n}\n//# sourceMappingURL=msWord.js.map","import googleDocs from './normalizers/googleDocs.js';\nimport msWord from './normalizers/msWord.js';\nconst NORMALIZERS = [msWord, googleDocs];\nconst normalizeExternalHTML = doc => {\n if (doc.documentElement) {\n NORMALIZERS.forEach(normalize => {\n normalize(doc);\n });\n }\n};\nexport default normalizeExternalHTML;\n//# sourceMappingURL=index.js.map","import { Attributor, BlockBlot, ClassAttributor, EmbedBlot, Scope, StyleAttributor } from 'parchment';\nimport Delta from 'quill-delta';\nimport { BlockEmbed } from '../blots/block.js';\nimport logger from '../core/logger.js';\nimport Module from '../core/module.js';\nimport Quill from '../core/quill.js';\nimport { AlignAttribute, AlignStyle } from '../formats/align.js';\nimport { BackgroundStyle } from '../formats/background.js';\nimport CodeBlock from '../formats/code.js';\nimport { ColorStyle } from '../formats/color.js';\nimport { DirectionAttribute, DirectionStyle } from '../formats/direction.js';\nimport { FontStyle } from '../formats/font.js';\nimport { SizeStyle } from '../formats/size.js';\nimport { deleteRange } from './keyboard.js';\nimport normalizeExternalHTML from './normalizeExternalHTML/index.js';\nconst debug = logger('quill:clipboard');\nconst CLIPBOARD_CONFIG = [[Node.TEXT_NODE, matchText], [Node.TEXT_NODE, matchNewline], ['br', matchBreak], [Node.ELEMENT_NODE, matchNewline], [Node.ELEMENT_NODE, matchBlot], [Node.ELEMENT_NODE, matchAttributor], [Node.ELEMENT_NODE, matchStyles], ['li', matchIndent], ['ol, ul', matchList], ['pre', matchCodeBlock], ['tr', matchTable], ['b', createMatchAlias('bold')], ['i', createMatchAlias('italic')], ['strike', createMatchAlias('strike')], ['style', matchIgnore]];\nconst ATTRIBUTE_ATTRIBUTORS = [AlignAttribute, DirectionAttribute].reduce((memo, attr) => {\n memo[attr.keyName] = attr;\n return memo;\n}, {});\nconst STYLE_ATTRIBUTORS = [AlignStyle, BackgroundStyle, ColorStyle, DirectionStyle, FontStyle, SizeStyle].reduce((memo, attr) => {\n memo[attr.keyName] = attr;\n return memo;\n}, {});\nclass Clipboard extends Module {\n static DEFAULTS = {\n matchers: []\n };\n constructor(quill, options) {\n super(quill, options);\n this.quill.root.addEventListener('copy', e => this.onCaptureCopy(e, false));\n this.quill.root.addEventListener('cut', e => this.onCaptureCopy(e, true));\n this.quill.root.addEventListener('paste', this.onCapturePaste.bind(this));\n this.matchers = [];\n CLIPBOARD_CONFIG.concat(this.options.matchers ?? []).forEach(_ref => {\n let [selector, matcher] = _ref;\n this.addMatcher(selector, matcher);\n });\n }\n addMatcher(selector, matcher) {\n this.matchers.push([selector, matcher]);\n }\n convert(_ref2) {\n let {\n html,\n text\n } = _ref2;\n let formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (formats[CodeBlock.blotName]) {\n return new Delta().insert(text || '', {\n [CodeBlock.blotName]: formats[CodeBlock.blotName]\n });\n }\n if (!html) {\n return new Delta().insert(text || '', formats);\n }\n const delta = this.convertHTML(html);\n // Remove trailing newline\n if (deltaEndsWith(delta, '\\n') && (delta.ops[delta.ops.length - 1].attributes == null || formats.table)) {\n return delta.compose(new Delta().retain(delta.length() - 1).delete(1));\n }\n return delta;\n }\n normalizeHTML(doc) {\n normalizeExternalHTML(doc);\n }\n convertHTML(html) {\n const doc = new DOMParser().parseFromString(html, 'text/html');\n this.normalizeHTML(doc);\n const container = doc.body;\n const nodeMatches = new WeakMap();\n const [elementMatchers, textMatchers] = this.prepareMatching(container, nodeMatches);\n return traverse(this.quill.scroll, container, elementMatchers, textMatchers, nodeMatches);\n }\n dangerouslyPasteHTML(index, html) {\n let source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Quill.sources.API;\n if (typeof index === 'string') {\n const delta = this.convert({\n html: index,\n text: ''\n });\n // @ts-expect-error\n this.quill.setContents(delta, html);\n this.quill.setSelection(0, Quill.sources.SILENT);\n } else {\n const paste = this.convert({\n html,\n text: ''\n });\n this.quill.updateContents(new Delta().retain(index).concat(paste), source);\n this.quill.setSelection(index + paste.length(), Quill.sources.SILENT);\n }\n }\n onCaptureCopy(e) {\n let isCut = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (e.defaultPrevented) return;\n e.preventDefault();\n const [range] = this.quill.selection.getRange();\n if (range == null) return;\n const {\n html,\n text\n } = this.onCopy(range, isCut);\n e.clipboardData?.setData('text/plain', text);\n e.clipboardData?.setData('text/html', html);\n if (isCut) {\n deleteRange({\n range,\n quill: this.quill\n });\n }\n }\n\n /*\n * https://www.iana.org/assignments/media-types/text/uri-list\n */\n normalizeURIList(urlList) {\n return urlList.split(/\\r?\\n/)\n // Ignore all comments\n .filter(url => url[0] !== '#').join('\\n');\n }\n onCapturePaste(e) {\n if (e.defaultPrevented || !this.quill.isEnabled()) return;\n e.preventDefault();\n const range = this.quill.getSelection(true);\n if (range == null) return;\n const html = e.clipboardData?.getData('text/html');\n let text = e.clipboardData?.getData('text/plain');\n if (!html && !text) {\n const urlList = e.clipboardData?.getData('text/uri-list');\n if (urlList) {\n text = this.normalizeURIList(urlList);\n }\n }\n const files = Array.from(e.clipboardData?.files || []);\n if (!html && files.length > 0) {\n this.quill.uploader.upload(range, files);\n return;\n }\n if (html && files.length > 0) {\n const doc = new DOMParser().parseFromString(html, 'text/html');\n if (doc.body.childElementCount === 1 && doc.body.firstElementChild?.tagName === 'IMG') {\n this.quill.uploader.upload(range, files);\n return;\n }\n }\n this.onPaste(range, {\n html,\n text\n });\n }\n onCopy(range) {\n const text = this.quill.getText(range);\n const html = this.quill.getSemanticHTML(range);\n return {\n html,\n text\n };\n }\n onPaste(range, _ref3) {\n let {\n text,\n html\n } = _ref3;\n const formats = this.quill.getFormat(range.index);\n const pastedDelta = this.convert({\n text,\n html\n }, formats);\n debug.log('onPaste', pastedDelta, {\n text,\n html\n });\n const delta = new Delta().retain(range.index).delete(range.length).concat(pastedDelta);\n this.quill.updateContents(delta, Quill.sources.USER);\n // range.length contributes to delta.length()\n this.quill.setSelection(delta.length() - range.length, Quill.sources.SILENT);\n this.quill.scrollSelectionIntoView();\n }\n prepareMatching(container, nodeMatches) {\n const elementMatchers = [];\n const textMatchers = [];\n this.matchers.forEach(pair => {\n const [selector, matcher] = pair;\n switch (selector) {\n case Node.TEXT_NODE:\n textMatchers.push(matcher);\n break;\n case Node.ELEMENT_NODE:\n elementMatchers.push(matcher);\n break;\n default:\n Array.from(container.querySelectorAll(selector)).forEach(node => {\n if (nodeMatches.has(node)) {\n const matches = nodeMatches.get(node);\n matches?.push(matcher);\n } else {\n nodeMatches.set(node, [matcher]);\n }\n });\n break;\n }\n });\n return [elementMatchers, textMatchers];\n }\n}\nfunction applyFormat(delta, format, value, scroll) {\n if (!scroll.query(format)) {\n return delta;\n }\n return delta.reduce((newDelta, op) => {\n if (!op.insert) return newDelta;\n if (op.attributes && op.attributes[format]) {\n return newDelta.push(op);\n }\n const formats = value ? {\n [format]: value\n } : {};\n return newDelta.insert(op.insert, {\n ...formats,\n ...op.attributes\n });\n }, new Delta());\n}\nfunction deltaEndsWith(delta, text) {\n let endText = '';\n for (let i = delta.ops.length - 1; i >= 0 && endText.length < text.length; --i // eslint-disable-line no-plusplus\n ) {\n const op = delta.ops[i];\n if (typeof op.insert !== 'string') break;\n endText = op.insert + endText;\n }\n return endText.slice(-1 * text.length) === text;\n}\nfunction isLine(node, scroll) {\n if (!(node instanceof Element)) return false;\n const match = scroll.query(node);\n // @ts-expect-error\n if (match && match.prototype instanceof EmbedBlot) return false;\n return ['address', 'article', 'blockquote', 'canvas', 'dd', 'div', 'dl', 'dt', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'iframe', 'li', 'main', 'nav', 'ol', 'output', 'p', 'pre', 'section', 'table', 'td', 'tr', 'ul', 'video'].includes(node.tagName.toLowerCase());\n}\nfunction isBetweenInlineElements(node, scroll) {\n return node.previousElementSibling && node.nextElementSibling && !isLine(node.previousElementSibling, scroll) && !isLine(node.nextElementSibling, scroll);\n}\nconst preNodes = new WeakMap();\nfunction isPre(node) {\n if (node == null) return false;\n if (!preNodes.has(node)) {\n // @ts-expect-error\n if (node.tagName === 'PRE') {\n preNodes.set(node, true);\n } else {\n preNodes.set(node, isPre(node.parentNode));\n }\n }\n return preNodes.get(node);\n}\nfunction traverse(scroll, node, elementMatchers, textMatchers, nodeMatches) {\n // Post-order\n if (node.nodeType === node.TEXT_NODE) {\n return textMatchers.reduce((delta, matcher) => {\n return matcher(node, delta, scroll);\n }, new Delta());\n }\n if (node.nodeType === node.ELEMENT_NODE) {\n return Array.from(node.childNodes || []).reduce((delta, childNode) => {\n let childrenDelta = traverse(scroll, childNode, elementMatchers, textMatchers, nodeMatches);\n if (childNode.nodeType === node.ELEMENT_NODE) {\n childrenDelta = elementMatchers.reduce((reducedDelta, matcher) => {\n return matcher(childNode, reducedDelta, scroll);\n }, childrenDelta);\n childrenDelta = (nodeMatches.get(childNode) || []).reduce((reducedDelta, matcher) => {\n return matcher(childNode, reducedDelta, scroll);\n }, childrenDelta);\n }\n return delta.concat(childrenDelta);\n }, new Delta());\n }\n return new Delta();\n}\nfunction createMatchAlias(format) {\n return (_node, delta, scroll) => {\n return applyFormat(delta, format, true, scroll);\n };\n}\nfunction matchAttributor(node, delta, scroll) {\n const attributes = Attributor.keys(node);\n const classes = ClassAttributor.keys(node);\n const styles = StyleAttributor.keys(node);\n const formats = {};\n attributes.concat(classes).concat(styles).forEach(name => {\n let attr = scroll.query(name, Scope.ATTRIBUTE);\n if (attr != null) {\n formats[attr.attrName] = attr.value(node);\n if (formats[attr.attrName]) return;\n }\n attr = ATTRIBUTE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n attr = STYLE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n attr = STYLE_ATTRIBUTORS[name];\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n });\n return Object.entries(formats).reduce((newDelta, _ref4) => {\n let [name, value] = _ref4;\n return applyFormat(newDelta, name, value, scroll);\n }, delta);\n}\nfunction matchBlot(node, delta, scroll) {\n const match = scroll.query(node);\n if (match == null) return delta;\n // @ts-expect-error\n if (match.prototype instanceof EmbedBlot) {\n const embed = {};\n // @ts-expect-error\n const value = match.value(node);\n if (value != null) {\n // @ts-expect-error\n embed[match.blotName] = value;\n // @ts-expect-error\n return new Delta().insert(embed, match.formats(node, scroll));\n }\n } else {\n // @ts-expect-error\n if (match.prototype instanceof BlockBlot && !deltaEndsWith(delta, '\\n')) {\n delta.insert('\\n');\n }\n if ('blotName' in match && 'formats' in match && typeof match.formats === 'function') {\n return applyFormat(delta, match.blotName, match.formats(node, scroll), scroll);\n }\n }\n return delta;\n}\nfunction matchBreak(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n delta.insert('\\n');\n }\n return delta;\n}\nfunction matchCodeBlock(node, delta, scroll) {\n const match = scroll.query('code-block');\n const language = match && 'formats' in match && typeof match.formats === 'function' ? match.formats(node, scroll) : true;\n return applyFormat(delta, 'code-block', language, scroll);\n}\nfunction matchIgnore() {\n return new Delta();\n}\nfunction matchIndent(node, delta, scroll) {\n const match = scroll.query(node);\n if (match == null ||\n // @ts-expect-error\n match.blotName !== 'list' || !deltaEndsWith(delta, '\\n')) {\n return delta;\n }\n let indent = -1;\n let parent = node.parentNode;\n while (parent != null) {\n // @ts-expect-error\n if (['OL', 'UL'].includes(parent.tagName)) {\n indent += 1;\n }\n parent = parent.parentNode;\n }\n if (indent <= 0) return delta;\n return delta.reduce((composed, op) => {\n if (!op.insert) return composed;\n if (op.attributes && typeof op.attributes.indent === 'number') {\n return composed.push(op);\n }\n return composed.insert(op.insert, {\n indent,\n ...(op.attributes || {})\n });\n }, new Delta());\n}\nfunction matchList(node, delta, scroll) {\n const element = node;\n let list = element.tagName === 'OL' ? 'ordered' : 'bullet';\n const checkedAttr = element.getAttribute('data-checked');\n if (checkedAttr) {\n list = checkedAttr === 'true' ? 'checked' : 'unchecked';\n }\n return applyFormat(delta, 'list', list, scroll);\n}\nfunction matchNewline(node, delta, scroll) {\n if (!deltaEndsWith(delta, '\\n')) {\n if (isLine(node, scroll) && (node.childNodes.length > 0 || node instanceof HTMLParagraphElement)) {\n return delta.insert('\\n');\n }\n if (delta.length() > 0 && node.nextSibling) {\n let nextSibling = node.nextSibling;\n while (nextSibling != null) {\n if (isLine(nextSibling, scroll)) {\n return delta.insert('\\n');\n }\n const match = scroll.query(nextSibling);\n // @ts-expect-error\n if (match && match.prototype instanceof BlockEmbed) {\n return delta.insert('\\n');\n }\n nextSibling = nextSibling.firstChild;\n }\n }\n }\n return delta;\n}\nfunction matchStyles(node, delta, scroll) {\n const formats = {};\n const style = node.style || {};\n if (style.fontStyle === 'italic') {\n formats.italic = true;\n }\n if (style.textDecoration === 'underline') {\n formats.underline = true;\n }\n if (style.textDecoration === 'line-through') {\n formats.strike = true;\n }\n if (style.fontWeight?.startsWith('bold') ||\n // @ts-expect-error Fix me later\n parseInt(style.fontWeight, 10) >= 700) {\n formats.bold = true;\n }\n delta = Object.entries(formats).reduce((newDelta, _ref5) => {\n let [name, value] = _ref5;\n return applyFormat(newDelta, name, value, scroll);\n }, delta);\n // @ts-expect-error\n if (parseFloat(style.textIndent || 0) > 0) {\n // Could be 0.5in\n return new Delta().insert('\\t').concat(delta);\n }\n return delta;\n}\nfunction matchTable(node, delta, scroll) {\n const table = node.parentElement?.tagName === 'TABLE' ? node.parentElement : node.parentElement?.parentElement;\n if (table != null) {\n const rows = Array.from(table.querySelectorAll('tr'));\n const row = rows.indexOf(node) + 1;\n return applyFormat(delta, 'table', row, scroll);\n }\n return delta;\n}\nfunction matchText(node, delta, scroll) {\n // @ts-expect-error\n let text = node.data;\n // Word represents empty line with <o:p> </o:p>\n if (node.parentElement?.tagName === 'O:P') {\n return delta.insert(text.trim());\n }\n if (!isPre(node)) {\n if (text.trim().length === 0 && text.includes('\\n') && !isBetweenInlineElements(node, scroll)) {\n return delta;\n }\n const replacer = (collapse, match) => {\n const replaced = match.replace(/[^\\u00a0]/g, ''); // \\u00a0 is nbsp;\n return replaced.length < 1 && collapse ? ' ' : replaced;\n };\n text = text.replace(/\\r\\n/g, ' ').replace(/\\n/g, ' ');\n text = text.replace(/\\s\\s+/g, replacer.bind(replacer, true)); // collapse whitespace\n if (node.previousSibling == null && node.parentElement != null && isLine(node.parentElement, scroll) || node.previousSibling instanceof Element && isLine(node.previousSibling, scroll)) {\n text = text.replace(/^\\s+/, replacer.bind(replacer, false));\n }\n if (node.nextSibling == null && node.parentElement != null && isLine(node.parentElement, scroll) || node.nextSibling instanceof Element && isLine(node.nextSibling, scroll)) {\n text = text.replace(/\\s+$/, replacer.bind(replacer, false));\n }\n }\n return delta.insert(text);\n}\nexport { Clipboard as default, matchAttributor, matchBlot, matchNewline, matchText, traverse };\n//# sourceMappingURL=clipboard.js.map","import { Scope } from 'parchment';\nimport Module from '../core/module.js';\nimport Quill from '../core/quill.js';\nclass History extends Module {\n static DEFAULTS = {\n delay: 1000,\n maxStack: 100,\n userOnly: false\n };\n lastRecorded = 0;\n ignoreChange = false;\n stack = {\n undo: [],\n redo: []\n };\n currentRange = null;\n constructor(quill, options) {\n super(quill, options);\n this.quill.on(Quill.events.EDITOR_CHANGE, (eventName, value, oldValue, source) => {\n if (eventName === Quill.events.SELECTION_CHANGE) {\n if (value && source !== Quill.sources.SILENT) {\n this.currentRange = value;\n }\n } else if (eventName === Quill.events.TEXT_CHANGE) {\n if (!this.ignoreChange) {\n if (!this.options.userOnly || source === Quill.sources.USER) {\n this.record(value, oldValue);\n } else {\n this.transform(value);\n }\n }\n this.currentRange = transformRange(this.currentRange, value);\n }\n });\n this.quill.keyboard.addBinding({\n key: 'z',\n shortKey: true\n }, this.undo.bind(this));\n this.quill.keyboard.addBinding({\n key: ['z', 'Z'],\n shortKey: true,\n shiftKey: true\n }, this.redo.bind(this));\n if (/Win/i.test(navigator.platform)) {\n this.quill.keyboard.addBinding({\n key: 'y',\n shortKey: true\n }, this.redo.bind(this));\n }\n this.quill.root.addEventListener('beforeinput', event => {\n if (event.inputType === 'historyUndo') {\n this.undo();\n event.preventDefault();\n } else if (event.inputType === 'historyRedo') {\n this.redo();\n event.preventDefault();\n }\n });\n }\n change(source, dest) {\n if (this.stack[source].length === 0) return;\n const item = this.stack[source].pop();\n if (!item) return;\n const base = this.quill.getContents();\n const inverseDelta = item.delta.invert(base);\n this.stack[dest].push({\n delta: inverseDelta,\n range: transformRange(item.range, inverseDelta)\n });\n this.lastRecorded = 0;\n this.ignoreChange = true;\n this.quill.updateContents(item.delta, Quill.sources.USER);\n this.ignoreChange = false;\n this.restoreSelection(item);\n }\n clear() {\n this.stack = {\n undo: [],\n redo: []\n };\n }\n cutoff() {\n this.lastRecorded = 0;\n }\n record(changeDelta, oldDelta) {\n if (changeDelta.ops.length === 0) return;\n this.stack.redo = [];\n let undoDelta = changeDelta.invert(oldDelta);\n let undoRange = this.currentRange;\n const timestamp = Date.now();\n if (\n // @ts-expect-error Fix me later\n this.lastRecorded + this.options.delay > timestamp && this.stack.undo.length > 0) {\n const item = this.stack.undo.pop();\n if (item) {\n undoDelta = undoDelta.compose(item.delta);\n undoRange = item.range;\n }\n } else {\n this.lastRecorded = timestamp;\n }\n if (undoDelta.length() === 0) return;\n this.stack.undo.push({\n delta: undoDelta,\n range: undoRange\n });\n // @ts-expect-error Fix me later\n if (this.stack.undo.length > this.options.maxStack) {\n this.stack.undo.shift();\n }\n }\n redo() {\n this.change('redo', 'undo');\n }\n transform(delta) {\n transformStack(this.stack.undo, delta);\n transformStack(this.stack.redo, delta);\n }\n undo() {\n this.change('undo', 'redo');\n }\n restoreSelection(stackItem) {\n if (stackItem.range) {\n this.quill.setSelection(stackItem.range, Quill.sources.USER);\n } else {\n const index = getLastChangeIndex(this.quill.scroll, stackItem.delta);\n this.quill.setSelection(index, Quill.sources.USER);\n }\n }\n}\nfunction transformStack(stack, delta) {\n let remoteDelta = delta;\n for (let i = stack.length - 1; i >= 0; i -= 1) {\n const oldItem = stack[i];\n stack[i] = {\n delta: remoteDelta.transform(oldItem.delta, true),\n range: oldItem.range && transformRange(oldItem.range, remoteDelta)\n };\n remoteDelta = oldItem.delta.transform(remoteDelta);\n if (stack[i].delta.length() === 0) {\n stack.splice(i, 1);\n }\n }\n}\nfunction endsWithNewlineChange(scroll, delta) {\n const lastOp = delta.ops[delta.ops.length - 1];\n if (lastOp == null) return false;\n if (lastOp.insert != null) {\n return typeof lastOp.insert === 'string' && lastOp.insert.endsWith('\\n');\n }\n if (lastOp.attributes != null) {\n return Object.keys(lastOp.attributes).some(attr => {\n return scroll.query(attr, Scope.BLOCK) != null;\n });\n }\n return false;\n}\nfunction getLastChangeIndex(scroll, delta) {\n const deleteLength = delta.reduce((length, op) => {\n return length + (op.delete || 0);\n }, 0);\n let changeIndex = delta.length() - deleteLength;\n if (endsWithNewlineChange(scroll, delta)) {\n changeIndex -= 1;\n }\n return changeIndex;\n}\nfunction transformRange(range, delta) {\n if (!range) return range;\n const start = delta.transformPosition(range.index);\n const end = delta.transformPosition(range.index + range.length);\n return {\n index: start,\n length: end - start\n };\n}\nexport { History as default, getLastChangeIndex };\n//# sourceMappingURL=history.js.map","import Delta from 'quill-delta';\nimport Emitter from '../core/emitter.js';\nimport Module from '../core/module.js';\nclass Uploader extends Module {\n constructor(quill, options) {\n super(quill, options);\n quill.root.addEventListener('drop', e => {\n e.preventDefault();\n let native = null;\n if (document.caretRangeFromPoint) {\n native = document.caretRangeFromPoint(e.clientX, e.clientY);\n // @ts-expect-error\n } else if (document.caretPositionFromPoint) {\n // @ts-expect-error\n const position = document.caretPositionFromPoint(e.clientX, e.clientY);\n native = document.createRange();\n native.setStart(position.offsetNode, position.offset);\n native.setEnd(position.offsetNode, position.offset);\n }\n const normalized = native && quill.selection.normalizeNative(native);\n if (normalized) {\n const range = quill.selection.normalizedToRange(normalized);\n if (e.dataTransfer?.files) {\n this.upload(range, e.dataTransfer.files);\n }\n }\n });\n }\n upload(range, files) {\n const uploads = [];\n Array.from(files).forEach(file => {\n if (file && this.options.mimetypes?.includes(file.type)) {\n uploads.push(file);\n }\n });\n if (uploads.length > 0) {\n // @ts-expect-error Fix me later\n this.options.handler.call(this, range, uploads);\n }\n }\n}\nUploader.DEFAULTS = {\n mimetypes: ['image/png', 'image/jpeg'],\n handler(range, files) {\n if (!this.quill.scroll.query('image')) {\n return;\n }\n const promises = files.map(file => {\n return new Promise(resolve => {\n const reader = new FileReader();\n reader.onload = () => {\n resolve(reader.result);\n };\n reader.readAsDataURL(file);\n });\n });\n Promise.all(promises).then(images => {\n const update = images.reduce((delta, image) => {\n return delta.insert({\n image\n });\n }, new Delta().retain(range.index).delete(range.length));\n this.quill.updateContents(update, Emitter.sources.USER);\n this.quill.setSelection(range.index + images.length, Emitter.sources.SILENT);\n });\n }\n};\nexport default Uploader;\n//# sourceMappingURL=uploader.js.map","import Delta from 'quill-delta';\nimport Module from '../core/module.js';\nimport Quill from '../core/quill.js';\nimport { deleteRange } from './keyboard.js';\nconst INSERT_TYPES = ['insertText', 'insertReplacementText'];\nclass Input extends Module {\n constructor(quill, options) {\n super(quill, options);\n quill.root.addEventListener('beforeinput', event => {\n this.handleBeforeInput(event);\n });\n\n // Gboard with English input on Android triggers `compositionstart` sometimes even\n // users are not going to type anything.\n if (!/Android/i.test(navigator.userAgent)) {\n quill.on(Quill.events.COMPOSITION_BEFORE_START, () => {\n this.handleCompositionStart();\n });\n }\n }\n deleteRange(range) {\n deleteRange({\n range,\n quill: this.quill\n });\n }\n replaceText(range) {\n let text = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n if (range.length === 0) return false;\n if (text) {\n // Follow the native behavior that inherits the formats of the first character\n const formats = this.quill.getFormat(range.index, 1);\n this.deleteRange(range);\n this.quill.updateContents(new Delta().retain(range.index).insert(text, formats), Quill.sources.USER);\n } else {\n this.deleteRange(range);\n }\n this.quill.setSelection(range.index + text.length, 0, Quill.sources.SILENT);\n return true;\n }\n handleBeforeInput(event) {\n if (this.quill.composition.isComposing || event.defaultPrevented || !INSERT_TYPES.includes(event.inputType)) {\n return;\n }\n const staticRange = event.getTargetRanges ? event.getTargetRanges()[0] : null;\n if (!staticRange || staticRange.collapsed === true) {\n return;\n }\n const text = getPlainTextFromInputEvent(event);\n if (text == null) {\n return;\n }\n const normalized = this.quill.selection.normalizeNative(staticRange);\n const range = normalized ? this.quill.selection.normalizedToRange(normalized) : null;\n if (range && this.replaceText(range, text)) {\n event.preventDefault();\n }\n }\n handleCompositionStart() {\n const range = this.quill.getSelection();\n if (range) {\n this.replaceText(range);\n }\n }\n}\nfunction getPlainTextFromInputEvent(event) {\n // When `inputType` is \"insertText\":\n // - `event.data` should be string (Safari uses `event.dataTransfer`).\n // - `event.dataTransfer` should be null.\n // When `inputType` is \"insertReplacementText\":\n // - `event.data` should be null.\n // - `event.dataTransfer` should contain \"text/plain\" data.\n\n if (typeof event.data === 'string') {\n return event.data;\n }\n if (event.dataTransfer?.types.includes('text/plain')) {\n return event.dataTransfer.getData('text/plain');\n }\n return null;\n}\nexport default Input;\n//# sourceMappingURL=input.js.map","import { ParentBlot } from 'parchment';\nimport Module from '../core/module.js';\nimport Quill from '../core/quill.js';\nconst isMac = /Mac/i.test(navigator.platform);\n\n// Export for testing\nexport const TTL_FOR_VALID_SELECTION_CHANGE = 100;\n\n// A loose check to determine if the shortcut can move the caret before a UI node:\n// <ANY_PARENT>[CARET]<div class=\"ql-ui\"></div>[CONTENT]</ANY_PARENT>\nconst canMoveCaretBeforeUINode = event => {\n if (event.key === 'ArrowLeft' || event.key === 'ArrowRight' ||\n // RTL scripts or moving from the end of the previous line\n event.key === 'ArrowUp' || event.key === 'ArrowDown' || event.key === 'Home') {\n return true;\n }\n if (isMac && event.key === 'a' && event.ctrlKey === true) {\n return true;\n }\n return false;\n};\nclass UINode extends Module {\n isListening = false;\n selectionChangeDeadline = 0;\n constructor(quill, options) {\n super(quill, options);\n this.handleArrowKeys();\n this.handleNavigationShortcuts();\n }\n handleArrowKeys() {\n this.quill.keyboard.addBinding({\n key: ['ArrowLeft', 'ArrowRight'],\n offset: 0,\n shiftKey: null,\n handler(range, _ref) {\n let {\n line,\n event\n } = _ref;\n if (!(line instanceof ParentBlot) || !line.uiNode) {\n return true;\n }\n const isRTL = getComputedStyle(line.domNode)['direction'] === 'rtl';\n if (isRTL && event.key !== 'ArrowRight' || !isRTL && event.key !== 'ArrowLeft') {\n return true;\n }\n this.quill.setSelection(range.index - 1, range.length + (event.shiftKey ? 1 : 0), Quill.sources.USER);\n return false;\n }\n });\n }\n handleNavigationShortcuts() {\n this.quill.root.addEventListener('keydown', event => {\n if (!event.defaultPrevented && canMoveCaretBeforeUINode(event)) {\n this.ensureListeningToSelectionChange();\n }\n });\n }\n\n /**\n * We only listen to the `selectionchange` event when\n * there is an intention of moving the caret to the beginning using shortcuts.\n * This is primarily implemented to prevent infinite loops, as we are changing\n * the selection within the handler of a `selectionchange` event.\n */\n ensureListeningToSelectionChange() {\n this.selectionChangeDeadline = Date.now() + TTL_FOR_VALID_SELECTION_CHANGE;\n if (this.isListening) return;\n this.isListening = true;\n const listener = () => {\n this.isListening = false;\n if (Date.now() <= this.selectionChangeDeadline) {\n this.handleSelectionChange();\n }\n };\n document.addEventListener('selectionchange', listener, {\n once: true\n });\n }\n handleSelectionChange() {\n const selection = document.getSelection();\n if (!selection) return;\n const range = selection.getRangeAt(0);\n if (range.collapsed !== true || range.startOffset !== 0) return;\n const line = this.quill.scroll.find(range.startContainer);\n if (!(line instanceof ParentBlot) || !line.uiNode) return;\n const newRange = document.createRange();\n newRange.setStartAfter(line.uiNode);\n newRange.setEndAfter(line.uiNode);\n selection.removeAllRanges();\n selection.addRange(newRange);\n }\n}\nexport default UINode;\n//# sourceMappingURL=uiNode.js.map","import Quill, { Parchment, Range } from './core/quill.js';\nimport Block, { BlockEmbed } from './blots/block.js';\nimport Break from './blots/break.js';\nimport Container from './blots/container.js';\nimport Cursor from './blots/cursor.js';\nimport Embed from './blots/embed.js';\nimport Inline from './blots/inline.js';\nimport Scroll from './blots/scroll.js';\nimport TextBlot from './blots/text.js';\nimport Clipboard from './modules/clipboard.js';\nimport History from './modules/history.js';\nimport Keyboard from './modules/keyboard.js';\nimport Uploader from './modules/uploader.js';\nimport Delta, { Op, OpIterator, AttributeMap } from 'quill-delta';\nimport Input from './modules/input.js';\nimport UINode from './modules/uiNode.js';\nexport { default as Module } from './core/module.js';\nexport { Delta, Op, OpIterator, AttributeMap, Parchment, Range };\nQuill.register({\n 'blots/block': Block,\n 'blots/block/embed': BlockEmbed,\n 'blots/break': Break,\n 'blots/container': Container,\n 'blots/cursor': Cursor,\n 'blots/embed': Embed,\n 'blots/inline': Inline,\n 'blots/scroll': Scroll,\n 'blots/text': TextBlot,\n 'modules/clipboard': Clipboard,\n 'modules/history': History,\n 'modules/keyboard': Keyboard,\n 'modules/uploader': Uploader,\n 'modules/input': Input,\n 'modules/uiNode': UINode\n});\nexport default Quill;\n//# sourceMappingURL=core.js.map","import { ClassAttributor, Scope } from 'parchment';\nclass IndentAttributor extends ClassAttributor {\n add(node, value) {\n let normalizedValue = 0;\n if (value === '+1' || value === '-1') {\n const indent = this.value(node) || 0;\n normalizedValue = value === '+1' ? indent + 1 : indent - 1;\n } else if (typeof value === 'number') {\n normalizedValue = value;\n }\n if (normalizedValue === 0) {\n this.remove(node);\n return true;\n }\n return super.add(node, normalizedValue.toString());\n }\n canAdd(node, value) {\n return super.canAdd(node, value) || super.canAdd(node, parseInt(value, 10));\n }\n value(node) {\n return parseInt(super.value(node), 10) || undefined; // Don't return NaN\n }\n}\nconst IndentClass = new IndentAttributor('indent', 'ql-indent', {\n scope: Scope.BLOCK,\n // @ts-expect-error\n whitelist: [1, 2, 3, 4, 5, 6, 7, 8]\n});\nexport default IndentClass;\n//# sourceMappingURL=indent.js.map","import Block from '../blots/block.js';\nclass Blockquote extends Block {\n static blotName = 'blockquote';\n static tagName = 'blockquote';\n}\nexport default Blockquote;\n//# sourceMappingURL=blockquote.js.map","import Block from '../blots/block.js';\nclass Header extends Block {\n static blotName = 'header';\n static tagName = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];\n static formats(domNode) {\n return this.tagName.indexOf(domNode.tagName) + 1;\n }\n}\nexport default Header;\n//# sourceMappingURL=header.js.map","import Block from '../blots/block.js';\nimport Container from '../blots/container.js';\nimport Quill from '../core/quill.js';\nclass ListContainer extends Container {}\nListContainer.blotName = 'list-container';\nListContainer.tagName = 'OL';\nclass ListItem extends Block {\n static create(value) {\n const node = super.create();\n node.setAttribute('data-list', value);\n return node;\n }\n static formats(domNode) {\n return domNode.getAttribute('data-list') || undefined;\n }\n static register() {\n Quill.register(ListContainer);\n }\n constructor(scroll, domNode) {\n super(scroll, domNode);\n const ui = domNode.ownerDocument.createElement('span');\n const listEventHandler = e => {\n if (!scroll.isEnabled()) return;\n const format = this.statics.formats(domNode, scroll);\n if (format === 'checked') {\n this.format('list', 'unchecked');\n e.preventDefault();\n } else if (format === 'unchecked') {\n this.format('list', 'checked');\n e.preventDefault();\n }\n };\n ui.addEventListener('mousedown', listEventHandler);\n ui.addEventListener('touchstart', listEventHandler);\n this.attachUI(ui);\n }\n format(name, value) {\n if (name === this.statics.blotName && value) {\n this.domNode.setAttribute('data-list', value);\n } else {\n super.format(name, value);\n }\n }\n}\nListItem.blotName = 'list';\nListItem.tagName = 'LI';\nListContainer.allowedChildren = [ListItem];\nListItem.requiredContainer = ListContainer;\nexport { ListContainer, ListItem as default };\n//# sourceMappingURL=list.js.map","import Inline from '../blots/inline.js';\nclass Bold extends Inline {\n static blotName = 'bold';\n static tagName = ['STRONG', 'B'];\n static create() {\n return super.create();\n }\n static formats() {\n return true;\n }\n optimize(context) {\n super.optimize(context);\n if (this.domNode.tagName !== this.statics.tagName[0]) {\n this.replaceWith(this.statics.blotName);\n }\n }\n}\nexport default Bold;\n//# sourceMappingURL=bold.js.map","import Inline from '../blots/inline.js';\nclass Link extends Inline {\n static blotName = 'link';\n static tagName = 'A';\n static SANITIZED_URL = 'about:blank';\n static PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel', 'sms'];\n static create(value) {\n const node = super.create(value);\n node.setAttribute('href', this.sanitize(value));\n node.setAttribute('rel', 'noopener noreferrer');\n node.setAttribute('target', '_blank');\n return node;\n }\n static formats(domNode) {\n return domNode.getAttribute('href');\n }\n static sanitize(url) {\n return sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;\n }\n format(name, value) {\n if (name !== this.statics.blotName || !value) {\n super.format(name, value);\n } else {\n // @ts-expect-error\n this.domNode.setAttribute('href', this.constructor.sanitize(value));\n }\n }\n}\nfunction sanitize(url, protocols) {\n const anchor = document.createElement('a');\n anchor.href = url;\n const protocol = anchor.href.slice(0, anchor.href.indexOf(':'));\n return protocols.indexOf(protocol) > -1;\n}\nexport { Link as default, sanitize };\n//# sourceMappingURL=link.js.map","import Inline from '../blots/inline.js';\nclass Script extends Inline {\n static blotName = 'script';\n static tagName = ['SUB', 'SUP'];\n static create(value) {\n if (value === 'super') {\n return document.createElement('sup');\n }\n if (value === 'sub') {\n return document.createElement('sub');\n }\n return super.create(value);\n }\n static formats(domNode) {\n if (domNode.tagName === 'SUB') return 'sub';\n if (domNode.tagName === 'SUP') return 'super';\n return undefined;\n }\n}\nexport default Script;\n//# sourceMappingURL=script.js.map","import Inline from '../blots/inline.js';\nclass Underline extends Inline {\n static blotName = 'underline';\n static tagName = 'U';\n}\nexport default Underline;\n//# sourceMappingURL=underline.js.map","import Embed from '../blots/embed.js';\nclass Formula extends Embed {\n static blotName = 'formula';\n static className = 'ql-formula';\n static tagName = 'SPAN';\n static create(value) {\n // @ts-expect-error\n if (window.katex == null) {\n throw new Error('Formula module requires KaTeX.');\n }\n const node = super.create(value);\n if (typeof value === 'string') {\n // @ts-expect-error\n window.katex.render(value, node, {\n throwOnError: false,\n errorColor: '#f00'\n });\n node.setAttribute('data-value', value);\n }\n return node;\n }\n static value(domNode) {\n return domNode.getAttribute('data-value');\n }\n html() {\n const {\n formula\n } = this.value();\n return `<span>${formula}</span>`;\n }\n}\nexport default Formula;\n//# sourceMappingURL=formula.js.map","import { EmbedBlot } from 'parchment';\nimport { sanitize } from './link.js';\nconst ATTRIBUTES = ['alt', 'height', 'width'];\nclass Image extends EmbedBlot {\n static blotName = 'image';\n static tagName = 'IMG';\n static create(value) {\n const node = super.create(value);\n if (typeof value === 'string') {\n node.setAttribute('src', this.sanitize(value));\n }\n return node;\n }\n static formats(domNode) {\n return ATTRIBUTES.reduce((formats, attribute) => {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n static match(url) {\n return /\\.(jpe?g|gif|png)$/.test(url) || /^data:image\\/.+;base64/.test(url);\n }\n static sanitize(url) {\n return sanitize(url, ['http', 'https', 'data']) ? url : '//:0';\n }\n static value(domNode) {\n return domNode.getAttribute('src');\n }\n format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n super.format(name, value);\n }\n }\n}\nexport default Image;\n//# sourceMappingURL=image.js.map","import { BlockEmbed } from '../blots/block.js';\nimport Link from './link.js';\nconst ATTRIBUTES = ['height', 'width'];\nclass Video extends BlockEmbed {\n static blotName = 'video';\n static className = 'ql-video';\n static tagName = 'IFRAME';\n static create(value) {\n const node = super.create(value);\n node.setAttribute('frameborder', '0');\n node.setAttribute('allowfullscreen', 'true');\n node.setAttribute('src', this.sanitize(value));\n return node;\n }\n static formats(domNode) {\n return ATTRIBUTES.reduce((formats, attribute) => {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n static sanitize(url) {\n return Link.sanitize(url);\n }\n static value(domNode) {\n return domNode.getAttribute('src');\n }\n format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n super.format(name, value);\n }\n }\n html() {\n const {\n video\n } = this.value();\n return `<a href=\"${video}\">${video}</a>`;\n }\n}\nexport default Video;\n//# sourceMappingURL=video.js.map","import Delta from 'quill-delta';\nimport { ClassAttributor, Scope } from 'parchment';\nimport Inline from '../blots/inline.js';\nimport Quill from '../core/quill.js';\nimport Module from '../core/module.js';\nimport { blockDelta } from '../blots/block.js';\nimport BreakBlot from '../blots/break.js';\nimport CursorBlot from '../blots/cursor.js';\nimport TextBlot, { escapeText } from '../blots/text.js';\nimport CodeBlock, { CodeBlockContainer } from '../formats/code.js';\nimport { traverse } from './clipboard.js';\nconst TokenAttributor = new ClassAttributor('code-token', 'hljs', {\n scope: Scope.INLINE\n});\nclass CodeToken extends Inline {\n static formats(node, scroll) {\n while (node != null && node !== scroll.domNode) {\n if (node.classList && node.classList.contains(CodeBlock.className)) {\n // @ts-expect-error\n return super.formats(node, scroll);\n }\n // @ts-expect-error\n node = node.parentNode;\n }\n return undefined;\n }\n constructor(scroll, domNode, value) {\n // @ts-expect-error\n super(scroll, domNode, value);\n TokenAttributor.add(this.domNode, value);\n }\n format(format, value) {\n if (format !== CodeToken.blotName) {\n super.format(format, value);\n } else if (value) {\n TokenAttributor.add(this.domNode, value);\n } else {\n TokenAttributor.remove(this.domNode);\n this.domNode.classList.remove(this.statics.className);\n }\n }\n optimize() {\n // @ts-expect-error\n super.optimize(...arguments);\n if (!TokenAttributor.value(this.domNode)) {\n this.unwrap();\n }\n }\n}\nCodeToken.blotName = 'code-token';\nCodeToken.className = 'ql-token';\nclass SyntaxCodeBlock extends CodeBlock {\n static create(value) {\n const domNode = super.create(value);\n if (typeof value === 'string') {\n domNode.setAttribute('data-language', value);\n }\n return domNode;\n }\n static formats(domNode) {\n // @ts-expect-error\n return domNode.getAttribute('data-language') || 'plain';\n }\n static register() {} // Syntax module will register\n\n format(name, value) {\n if (name === this.statics.blotName && value) {\n // @ts-expect-error\n this.domNode.setAttribute('data-language', value);\n } else {\n super.format(name, value);\n }\n }\n replaceWith(name, value) {\n this.formatAt(0, this.length(), CodeToken.blotName, false);\n return super.replaceWith(name, value);\n }\n}\nclass SyntaxCodeBlockContainer extends CodeBlockContainer {\n attach() {\n super.attach();\n this.forceNext = false;\n // @ts-expect-error\n this.scroll.emitMount(this);\n }\n format(name, value) {\n if (name === SyntaxCodeBlock.blotName) {\n this.forceNext = true;\n this.children.forEach(child => {\n // @ts-expect-error\n child.format(name, value);\n });\n }\n }\n formatAt(index, length, name, value) {\n if (name === SyntaxCodeBlock.blotName) {\n this.forceNext = true;\n }\n super.formatAt(index, length, name, value);\n }\n highlight(highlight) {\n let forced = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (this.children.head == null) return;\n const nodes = Array.from(this.domNode.childNodes).filter(node => node !== this.uiNode);\n const text = `${nodes.map(node => node.textContent).join('\\n')}\\n`;\n const language = SyntaxCodeBlock.formats(this.children.head.domNode);\n if (forced || this.forceNext || this.cachedText !== text) {\n if (text.trim().length > 0 || this.cachedText == null) {\n const oldDelta = this.children.reduce((delta, child) => {\n // @ts-expect-error\n return delta.concat(blockDelta(child, false));\n }, new Delta());\n const delta = highlight(text, language);\n oldDelta.diff(delta).reduce((index, _ref) => {\n let {\n retain,\n attributes\n } = _ref;\n // Should be all retains\n if (!retain) return index;\n if (attributes) {\n Object.keys(attributes).forEach(format => {\n if ([SyntaxCodeBlock.blotName, CodeToken.blotName].includes(format)) {\n // @ts-expect-error\n this.formatAt(index, retain, format, attributes[format]);\n }\n });\n }\n // @ts-expect-error\n return index + retain;\n }, 0);\n }\n this.cachedText = text;\n this.forceNext = false;\n }\n }\n html(index, length) {\n const [codeBlock] = this.children.find(index);\n const language = codeBlock ? SyntaxCodeBlock.formats(codeBlock.domNode) : 'plain';\n return `<pre data-language=\"${language}\">\\n${escapeText(this.code(index, length))}\\n</pre>`;\n }\n optimize(context) {\n super.optimize(context);\n if (this.parent != null && this.children.head != null && this.uiNode != null) {\n const language = SyntaxCodeBlock.formats(this.children.head.domNode);\n // @ts-expect-error\n if (language !== this.uiNode.value) {\n // @ts-expect-error\n this.uiNode.value = language;\n }\n }\n }\n}\nSyntaxCodeBlockContainer.allowedChildren = [SyntaxCodeBlock];\nSyntaxCodeBlock.requiredContainer = SyntaxCodeBlockContainer;\nSyntaxCodeBlock.allowedChildren = [CodeToken, CursorBlot, TextBlot, BreakBlot];\nconst highlight = (lib, language, text) => {\n if (typeof lib.versionString === 'string') {\n const majorVersion = lib.versionString.split('.')[0];\n if (parseInt(majorVersion, 10) >= 11) {\n return lib.highlight(text, {\n language\n }).value;\n }\n }\n return lib.highlight(language, text).value;\n};\nclass Syntax extends Module {\n static register() {\n Quill.register(CodeToken, true);\n Quill.register(SyntaxCodeBlock, true);\n Quill.register(SyntaxCodeBlockContainer, true);\n }\n constructor(quill, options) {\n super(quill, options);\n if (this.options.hljs == null) {\n throw new Error('Syntax module requires highlight.js. Please include the library on the page before Quill.');\n }\n // @ts-expect-error Fix me later\n this.languages = this.options.languages.reduce((memo, _ref2) => {\n let {\n key\n } = _ref2;\n memo[key] = true;\n return memo;\n }, {});\n this.highlightBlot = this.highlightBlot.bind(this);\n this.initListener();\n this.initTimer();\n }\n initListener() {\n this.quill.on(Quill.events.SCROLL_BLOT_MOUNT, blot => {\n if (!(blot instanceof SyntaxCodeBlockContainer)) return;\n const select = this.quill.root.ownerDocument.createElement('select');\n // @ts-expect-error Fix me later\n this.options.languages.forEach(_ref3 => {\n let {\n key,\n label\n } = _ref3;\n const option = select.ownerDocument.createElement('option');\n option.textContent = label;\n option.setAttribute('value', key);\n select.appendChild(option);\n });\n select.addEventListener('change', () => {\n blot.format(SyntaxCodeBlock.blotName, select.value);\n this.quill.root.focus(); // Prevent scrolling\n this.highlight(blot, true);\n });\n if (blot.uiNode == null) {\n blot.attachUI(select);\n if (blot.children.head) {\n select.value = SyntaxCodeBlock.formats(blot.children.head.domNode);\n }\n }\n });\n }\n initTimer() {\n let timer = null;\n this.quill.on(Quill.events.SCROLL_OPTIMIZE, () => {\n if (timer) {\n clearTimeout(timer);\n }\n timer = setTimeout(() => {\n this.highlight();\n timer = null;\n }, this.options.interval);\n });\n }\n highlight() {\n let blot = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n let force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (this.quill.selection.composing) return;\n this.quill.update(Quill.sources.USER);\n const range = this.quill.getSelection();\n const blots = blot == null ? this.quill.scroll.descendants(SyntaxCodeBlockContainer) : [blot];\n blots.forEach(container => {\n container.highlight(this.highlightBlot, force);\n });\n this.quill.update(Quill.sources.SILENT);\n if (range != null) {\n this.quill.setSelection(range, Quill.sources.SILENT);\n }\n }\n highlightBlot(text) {\n let language = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'plain';\n language = this.languages[language] ? language : 'plain';\n if (language === 'plain') {\n return escapeText(text).split('\\n').reduce((delta, line, i) => {\n if (i !== 0) {\n delta.insert('\\n', {\n [CodeBlock.blotName]: language\n });\n }\n return delta.insert(line);\n }, new Delta());\n }\n const container = this.quill.root.ownerDocument.createElement('div');\n container.classList.add(CodeBlock.className);\n container.innerHTML = highlight(this.options.hljs, language, text);\n return traverse(this.quill.scroll, container, [(node, delta) => {\n // @ts-expect-error\n const value = TokenAttributor.value(node);\n if (value) {\n return delta.compose(new Delta().retain(delta.length(), {\n [CodeToken.blotName]: value\n }));\n }\n return delta;\n }], [(node, delta) => {\n // @ts-expect-error\n return node.data.split('\\n').reduce((memo, nodeText, i) => {\n if (i !== 0) memo.insert('\\n', {\n [CodeBlock.blotName]: language\n });\n return memo.insert(nodeText);\n }, delta);\n }], new WeakMap());\n }\n}\nSyntax.DEFAULTS = {\n hljs: (() => {\n return window.hljs;\n })(),\n interval: 1000,\n languages: [{\n key: 'plain',\n label: 'Plain'\n }, {\n key: 'bash',\n label: 'Bash'\n }, {\n key: 'cpp',\n label: 'C++'\n }, {\n key: 'cs',\n label: 'C#'\n }, {\n key: 'css',\n label: 'CSS'\n }, {\n key: 'diff',\n label: 'Diff'\n }, {\n key: 'xml',\n label: 'HTML/XML'\n }, {\n key: 'java',\n label: 'Java'\n }, {\n key: 'javascript',\n label: 'JavaScript'\n }, {\n key: 'markdown',\n label: 'Markdown'\n }, {\n key: 'php',\n label: 'PHP'\n }, {\n key: 'python',\n label: 'Python'\n }, {\n key: 'ruby',\n label: 'Ruby'\n }, {\n key: 'sql',\n label: 'SQL'\n }]\n};\nexport { SyntaxCodeBlock as CodeBlock, CodeToken, Syntax as default };\n//# sourceMappingURL=syntax.js.map","import Block from '../blots/block.js';\nimport Container from '../blots/container.js';\nclass TableCell extends Block {\n static blotName = 'table';\n static tagName = 'TD';\n static create(value) {\n const node = super.create();\n if (value) {\n node.setAttribute('data-row', value);\n } else {\n node.setAttribute('data-row', tableId());\n }\n return node;\n }\n static formats(domNode) {\n if (domNode.hasAttribute('data-row')) {\n return domNode.getAttribute('data-row');\n }\n return undefined;\n }\n cellOffset() {\n if (this.parent) {\n return this.parent.children.indexOf(this);\n }\n return -1;\n }\n format(name, value) {\n if (name === TableCell.blotName && value) {\n this.domNode.setAttribute('data-row', value);\n } else {\n super.format(name, value);\n }\n }\n row() {\n return this.parent;\n }\n rowOffset() {\n if (this.row()) {\n return this.row().rowOffset();\n }\n return -1;\n }\n table() {\n return this.row() && this.row().table();\n }\n}\nclass TableRow extends Container {\n static blotName = 'table-row';\n static tagName = 'TR';\n checkMerge() {\n // @ts-expect-error\n if (super.checkMerge() && this.next.children.head != null) {\n // @ts-expect-error\n const thisHead = this.children.head.formats();\n // @ts-expect-error\n const thisTail = this.children.tail.formats();\n // @ts-expect-error\n const nextHead = this.next.children.head.formats();\n // @ts-expect-error\n const nextTail = this.next.children.tail.formats();\n return thisHead.table === thisTail.table && thisHead.table === nextHead.table && thisHead.table === nextTail.table;\n }\n return false;\n }\n optimize(context) {\n super.optimize(context);\n this.children.forEach(child => {\n if (child.next == null) return;\n const childFormats = child.formats();\n const nextFormats = child.next.formats();\n if (childFormats.table !== nextFormats.table) {\n const next = this.splitAfter(child);\n if (next) {\n // @ts-expect-error TODO: parameters of optimize() should be a optional\n next.optimize();\n }\n // We might be able to merge with prev now\n if (this.prev) {\n // @ts-expect-error TODO: parameters of optimize() should be a optional\n this.prev.optimize();\n }\n }\n });\n }\n rowOffset() {\n if (this.parent) {\n return this.parent.children.indexOf(this);\n }\n return -1;\n }\n table() {\n return this.parent && this.parent.parent;\n }\n}\nclass TableBody extends Container {\n static blotName = 'table-body';\n static tagName = 'TBODY';\n}\nclass TableContainer extends Container {\n static blotName = 'table-container';\n static tagName = 'TABLE';\n balanceCells() {\n const rows = this.descendants(TableRow);\n const maxColumns = rows.reduce((max, row) => {\n return Math.max(row.children.length, max);\n }, 0);\n rows.forEach(row => {\n new Array(maxColumns - row.children.length).fill(0).forEach(() => {\n let value;\n if (row.children.head != null) {\n value = TableCell.formats(row.children.head.domNode);\n }\n const blot = this.scroll.create(TableCell.blotName, value);\n row.appendChild(blot);\n // @ts-expect-error TODO: parameters of optimize() should be a optional\n blot.optimize(); // Add break blot\n });\n });\n }\n cells(column) {\n return this.rows().map(row => row.children.at(column));\n }\n deleteColumn(index) {\n // @ts-expect-error\n const [body] = this.descendant(TableBody);\n if (body == null || body.children.head == null) return;\n body.children.forEach(row => {\n const cell = row.children.at(index);\n if (cell != null) {\n cell.remove();\n }\n });\n }\n insertColumn(index) {\n // @ts-expect-error\n const [body] = this.descendant(TableBody);\n if (body == null || body.children.head == null) return;\n body.children.forEach(row => {\n const ref = row.children.at(index);\n // @ts-expect-error\n const value = TableCell.formats(row.children.head.domNode);\n const cell = this.scroll.create(TableCell.blotName, value);\n row.insertBefore(cell, ref);\n });\n }\n insertRow(index) {\n // @ts-expect-error\n const [body] = this.descendant(TableBody);\n if (body == null || body.children.head == null) return;\n const id = tableId();\n const row = this.scroll.create(TableRow.blotName);\n body.children.head.children.forEach(() => {\n const cell = this.scroll.create(TableCell.blotName, id);\n row.appendChild(cell);\n });\n const ref = body.children.at(index);\n body.insertBefore(row, ref);\n }\n rows() {\n const body = this.children.head;\n if (body == null) return [];\n return body.children.map(row => row);\n }\n}\nTableContainer.allowedChildren = [TableBody];\nTableBody.requiredContainer = TableContainer;\nTableBody.allowedChildren = [TableRow];\nTableRow.requiredContainer = TableBody;\nTableRow.allowedChildren = [TableCell];\nTableCell.requiredContainer = TableRow;\nfunction tableId() {\n const id = Math.random().toString(36).slice(2, 6);\n return `row-${id}`;\n}\nexport { TableCell, TableRow, TableBody, TableContainer, tableId };\n//# sourceMappingURL=table.js.map","import Delta from 'quill-delta';\nimport Quill from '../core/quill.js';\nimport Module from '../core/module.js';\nimport { TableCell, TableRow, TableBody, TableContainer, tableId } from '../formats/table.js';\nclass Table extends Module {\n static register() {\n Quill.register(TableCell);\n Quill.register(TableRow);\n Quill.register(TableBody);\n Quill.register(TableContainer);\n }\n constructor() {\n super(...arguments);\n this.listenBalanceCells();\n }\n balanceTables() {\n this.quill.scroll.descendants(TableContainer).forEach(table => {\n table.balanceCells();\n });\n }\n deleteColumn() {\n const [table,, cell] = this.getTable();\n if (cell == null) return;\n // @ts-expect-error\n table.deleteColumn(cell.cellOffset());\n this.quill.update(Quill.sources.USER);\n }\n deleteRow() {\n const [, row] = this.getTable();\n if (row == null) return;\n row.remove();\n this.quill.update(Quill.sources.USER);\n }\n deleteTable() {\n const [table] = this.getTable();\n if (table == null) return;\n // @ts-expect-error\n const offset = table.offset();\n // @ts-expect-error\n table.remove();\n this.quill.update(Quill.sources.USER);\n this.quill.setSelection(offset, Quill.sources.SILENT);\n }\n getTable() {\n let range = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.quill.getSelection();\n if (range == null) return [null, null, null, -1];\n const [cell, offset] = this.quill.getLine(range.index);\n if (cell == null || cell.statics.blotName !== TableCell.blotName) {\n return [null, null, null, -1];\n }\n const row = cell.parent;\n const table = row.parent.parent;\n // @ts-expect-error\n return [table, row, cell, offset];\n }\n insertColumn(offset) {\n const range = this.quill.getSelection();\n if (!range) return;\n const [table, row, cell] = this.getTable(range);\n if (cell == null) return;\n const column = cell.cellOffset();\n table.insertColumn(column + offset);\n this.quill.update(Quill.sources.USER);\n let shift = row.rowOffset();\n if (offset === 0) {\n shift += 1;\n }\n this.quill.setSelection(range.index + shift, range.length, Quill.sources.SILENT);\n }\n insertColumnLeft() {\n this.insertColumn(0);\n }\n insertColumnRight() {\n this.insertColumn(1);\n }\n insertRow(offset) {\n const range = this.quill.getSelection();\n if (!range) return;\n const [table, row, cell] = this.getTable(range);\n if (cell == null) return;\n const index = row.rowOffset();\n table.insertRow(index + offset);\n this.quill.update(Quill.sources.USER);\n if (offset > 0) {\n this.quill.setSelection(range, Quill.sources.SILENT);\n } else {\n this.quill.setSelection(range.index + row.children.length, range.length, Quill.sources.SILENT);\n }\n }\n insertRowAbove() {\n this.insertRow(0);\n }\n insertRowBelow() {\n this.insertRow(1);\n }\n insertTable(rows, columns) {\n const range = this.quill.getSelection();\n if (range == null) return;\n const delta = new Array(rows).fill(0).reduce(memo => {\n const text = new Array(columns).fill('\\n').join('');\n return memo.insert(text, {\n table: tableId()\n });\n }, new Delta().retain(range.index));\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.setSelection(range.index, Quill.sources.SILENT);\n this.balanceTables();\n }\n listenBalanceCells() {\n this.quill.on(Quill.events.SCROLL_OPTIMIZE, mutations => {\n mutations.some(mutation => {\n if (['TD', 'TR', 'TBODY', 'TABLE'].includes(mutation.target.tagName)) {\n this.quill.once(Quill.events.TEXT_CHANGE, (delta, old, source) => {\n if (source !== Quill.sources.USER) return;\n this.balanceTables();\n });\n return true;\n }\n return false;\n });\n });\n }\n}\nexport default Table;\n//# sourceMappingURL=table.js.map","import Delta from 'quill-delta';\nimport { EmbedBlot, Scope } from 'parchment';\nimport Quill from '../core/quill.js';\nimport logger from '../core/logger.js';\nimport Module from '../core/module.js';\nconst debug = logger('quill:toolbar');\nclass Toolbar extends Module {\n constructor(quill, options) {\n super(quill, options);\n if (Array.isArray(this.options.container)) {\n const container = document.createElement('div');\n container.setAttribute('role', 'toolbar');\n addControls(container, this.options.container);\n quill.container?.parentNode?.insertBefore(container, quill.container);\n this.container = container;\n } else if (typeof this.options.container === 'string') {\n this.container = document.querySelector(this.options.container);\n } else {\n this.container = this.options.container;\n }\n if (!(this.container instanceof HTMLElement)) {\n debug.error('Container required for toolbar', this.options);\n return;\n }\n this.container.classList.add('ql-toolbar');\n this.controls = [];\n this.handlers = {};\n if (this.options.handlers) {\n Object.keys(this.options.handlers).forEach(format => {\n const handler = this.options.handlers?.[format];\n if (handler) {\n this.addHandler(format, handler);\n }\n });\n }\n Array.from(this.container.querySelectorAll('button, select')).forEach(input => {\n // @ts-expect-error\n this.attach(input);\n });\n this.quill.on(Quill.events.EDITOR_CHANGE, () => {\n const [range] = this.quill.selection.getRange(); // quill.getSelection triggers update\n this.update(range);\n });\n }\n addHandler(format, handler) {\n this.handlers[format] = handler;\n }\n attach(input) {\n let format = Array.from(input.classList).find(className => {\n return className.indexOf('ql-') === 0;\n });\n if (!format) return;\n format = format.slice('ql-'.length);\n if (input.tagName === 'BUTTON') {\n input.setAttribute('type', 'button');\n }\n if (this.handlers[format] == null && this.quill.scroll.query(format) == null) {\n debug.warn('ignoring attaching to nonexistent format', format, input);\n return;\n }\n const eventName = input.tagName === 'SELECT' ? 'change' : 'click';\n input.addEventListener(eventName, e => {\n let value;\n if (input.tagName === 'SELECT') {\n // @ts-expect-error\n if (input.selectedIndex < 0) return;\n // @ts-expect-error\n const selected = input.options[input.selectedIndex];\n if (selected.hasAttribute('selected')) {\n value = false;\n } else {\n value = selected.value || false;\n }\n } else {\n if (input.classList.contains('ql-active')) {\n value = false;\n } else {\n // @ts-expect-error\n value = input.value || !input.hasAttribute('value');\n }\n e.preventDefault();\n }\n this.quill.focus();\n const [range] = this.quill.selection.getRange();\n if (this.handlers[format] != null) {\n this.handlers[format].call(this, value);\n } else if (\n // @ts-expect-error\n this.quill.scroll.query(format).prototype instanceof EmbedBlot) {\n value = prompt(`Enter ${format}`); // eslint-disable-line no-alert\n if (!value) return;\n this.quill.updateContents(new Delta()\n // @ts-expect-error Fix me later\n .retain(range.index)\n // @ts-expect-error Fix me later\n .delete(range.length).insert({\n [format]: value\n }), Quill.sources.USER);\n } else {\n this.quill.format(format, value, Quill.sources.USER);\n }\n this.update(range);\n });\n this.controls.push([format, input]);\n }\n update(range) {\n const formats = range == null ? {} : this.quill.getFormat(range);\n this.controls.forEach(pair => {\n const [format, input] = pair;\n if (input.tagName === 'SELECT') {\n let option = null;\n if (range == null) {\n option = null;\n } else if (formats[format] == null) {\n option = input.querySelector('option[selected]');\n } else if (!Array.isArray(formats[format])) {\n let value = formats[format];\n if (typeof value === 'string') {\n value = value.replace(/\"/g, '\\\\\"');\n }\n option = input.querySelector(`option[value=\"${value}\"]`);\n }\n if (option == null) {\n // @ts-expect-error TODO fix me later\n input.value = ''; // TODO make configurable?\n // @ts-expect-error TODO fix me later\n input.selectedIndex = -1;\n } else {\n option.selected = true;\n }\n } else if (range == null) {\n input.classList.remove('ql-active');\n input.setAttribute('aria-pressed', 'false');\n } else if (input.hasAttribute('value')) {\n // both being null should match (default values)\n // '1' should match with 1 (headers)\n const value = formats[format];\n const isActive = value === input.getAttribute('value') || value != null && value.toString() === input.getAttribute('value') || value == null && !input.getAttribute('value');\n input.classList.toggle('ql-active', isActive);\n input.setAttribute('aria-pressed', isActive.toString());\n } else {\n const isActive = formats[format] != null;\n input.classList.toggle('ql-active', isActive);\n input.setAttribute('aria-pressed', isActive.toString());\n }\n });\n }\n}\nToolbar.DEFAULTS = {};\nfunction addButton(container, format, value) {\n const input = document.createElement('button');\n input.setAttribute('type', 'button');\n input.classList.add(`ql-${format}`);\n input.setAttribute('aria-pressed', 'false');\n if (value != null) {\n input.value = value;\n input.setAttribute('aria-label', `${format}: ${value}`);\n } else {\n input.setAttribute('aria-label', format);\n }\n container.appendChild(input);\n}\nfunction addControls(container, groups) {\n if (!Array.isArray(groups[0])) {\n // @ts-expect-error\n groups = [groups];\n }\n groups.forEach(controls => {\n const group = document.createElement('span');\n group.classList.add('ql-formats');\n controls.forEach(control => {\n if (typeof control === 'string') {\n addButton(group, control);\n } else {\n const format = Object.keys(control)[0];\n const value = control[format];\n if (Array.isArray(value)) {\n addSelect(group, format, value);\n } else {\n addButton(group, format, value);\n }\n }\n });\n container.appendChild(group);\n });\n}\nfunction addSelect(container, format, values) {\n const input = document.createElement('select');\n input.classList.add(`ql-${format}`);\n values.forEach(value => {\n const option = document.createElement('option');\n if (value !== false) {\n option.setAttribute('value', String(value));\n } else {\n option.setAttribute('selected', 'selected');\n }\n input.appendChild(option);\n });\n container.appendChild(input);\n}\nToolbar.DEFAULTS = {\n container: null,\n handlers: {\n clean() {\n const range = this.quill.getSelection();\n if (range == null) return;\n if (range.length === 0) {\n const formats = this.quill.getFormat();\n Object.keys(formats).forEach(name => {\n // Clean functionality in existing apps only clean inline formats\n if (this.quill.scroll.query(name, Scope.INLINE) != null) {\n this.quill.format(name, false, Quill.sources.USER);\n }\n });\n } else {\n this.quill.removeFormat(range.index, range.length, Quill.sources.USER);\n }\n },\n direction(value) {\n const {\n align\n } = this.quill.getFormat();\n if (value === 'rtl' && align == null) {\n this.quill.format('align', 'right', Quill.sources.USER);\n } else if (!value && align === 'right') {\n this.quill.format('align', false, Quill.sources.USER);\n }\n this.quill.format('direction', value, Quill.sources.USER);\n },\n indent(value) {\n const range = this.quill.getSelection();\n // @ts-expect-error\n const formats = this.quill.getFormat(range);\n // @ts-expect-error\n const indent = parseInt(formats.indent || 0, 10);\n if (value === '+1' || value === '-1') {\n let modifier = value === '+1' ? 1 : -1;\n if (formats.direction === 'rtl') modifier *= -1;\n this.quill.format('indent', indent + modifier, Quill.sources.USER);\n }\n },\n link(value) {\n if (value === true) {\n value = prompt('Enter link URL:'); // eslint-disable-line no-alert\n }\n this.quill.format('link', value, Quill.sources.USER);\n },\n list(value) {\n const range = this.quill.getSelection();\n // @ts-expect-error\n const formats = this.quill.getFormat(range);\n if (value === 'check') {\n if (formats.list === 'checked' || formats.list === 'unchecked') {\n this.quill.format('list', false, Quill.sources.USER);\n } else {\n this.quill.format('list', 'unchecked', Quill.sources.USER);\n }\n } else {\n this.quill.format('list', value, Quill.sources.USER);\n }\n }\n }\n};\nexport { Toolbar as default, addControls };\n//# sourceMappingURL=toolbar.js.map","const alignLeftIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"3\\\" x2=\\\"15\\\" y1=\\\"9\\\" y2=\\\"9\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"3\\\" x2=\\\"13\\\" y1=\\\"14\\\" y2=\\\"14\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"3\\\" x2=\\\"9\\\" y1=\\\"4\\\" y2=\\\"4\\\"/></svg>\";\nconst alignCenterIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"15\\\" x2=\\\"3\\\" y1=\\\"9\\\" y2=\\\"9\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"14\\\" x2=\\\"4\\\" y1=\\\"14\\\" y2=\\\"14\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"12\\\" x2=\\\"6\\\" y1=\\\"4\\\" y2=\\\"4\\\"/></svg>\";\nconst alignRightIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"15\\\" x2=\\\"3\\\" y1=\\\"9\\\" y2=\\\"9\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"15\\\" x2=\\\"5\\\" y1=\\\"14\\\" y2=\\\"14\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"15\\\" x2=\\\"9\\\" y1=\\\"4\\\" y2=\\\"4\\\"/></svg>\";\nconst alignJustifyIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"15\\\" x2=\\\"3\\\" y1=\\\"9\\\" y2=\\\"9\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"15\\\" x2=\\\"3\\\" y1=\\\"14\\\" y2=\\\"14\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"15\\\" x2=\\\"3\\\" y1=\\\"4\\\" y2=\\\"4\\\"/></svg>\";\nconst backgroundIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><g class=\\\"ql-fill ql-color-label\\\"><polygon points=\\\"6 6.868 6 6 5 6 5 7 5.942 7 6 6.868\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"4\\\" y=\\\"4\\\"/><polygon points=\\\"6.817 5 6 5 6 6 6.38 6 6.817 5\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"2\\\" y=\\\"6\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"3\\\" y=\\\"5\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"4\\\" y=\\\"7\\\"/><polygon points=\\\"4 11.439 4 11 3 11 3 12 3.755 12 4 11.439\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"2\\\" y=\\\"12\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"2\\\" y=\\\"9\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"2\\\" y=\\\"15\\\"/><polygon points=\\\"4.63 10 4 10 4 11 4.192 11 4.63 10\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"3\\\" y=\\\"8\\\"/><path d=\\\"M10.832,4.2L11,4.582V4H10.708A1.948,1.948,0,0,1,10.832,4.2Z\\\"/><path d=\\\"M7,4.582L7.168,4.2A1.929,1.929,0,0,1,7.292,4H7V4.582Z\\\"/><path d=\\\"M8,13H7.683l-0.351.8a1.933,1.933,0,0,1-.124.2H8V13Z\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"12\\\" y=\\\"2\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"11\\\" y=\\\"3\\\"/><path d=\\\"M9,3H8V3.282A1.985,1.985,0,0,1,9,3Z\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"2\\\" y=\\\"3\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"6\\\" y=\\\"2\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"3\\\" y=\\\"2\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"5\\\" y=\\\"3\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"9\\\" y=\\\"2\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"15\\\" y=\\\"14\\\"/><polygon points=\\\"13.447 10.174 13.469 10.225 13.472 10.232 13.808 11 14 11 14 10 13.37 10 13.447 10.174\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"13\\\" y=\\\"7\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"15\\\" y=\\\"5\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"14\\\" y=\\\"6\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"15\\\" y=\\\"8\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"14\\\" y=\\\"9\\\"/><path d=\\\"M3.775,14H3v1H4V14.314A1.97,1.97,0,0,1,3.775,14Z\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"14\\\" y=\\\"3\\\"/><polygon points=\\\"12 6.868 12 6 11.62 6 12 6.868\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"15\\\" y=\\\"2\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"12\\\" y=\\\"5\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"13\\\" y=\\\"4\\\"/><polygon points=\\\"12.933 9 13 9 13 8 12.495 8 12.933 9\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"9\\\" y=\\\"14\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"8\\\" y=\\\"15\\\"/><path d=\\\"M6,14.926V15H7V14.316A1.993,1.993,0,0,1,6,14.926Z\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"5\\\" y=\\\"15\\\"/><path d=\\\"M10.668,13.8L10.317,13H10v1h0.792A1.947,1.947,0,0,1,10.668,13.8Z\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"11\\\" y=\\\"15\\\"/><path d=\\\"M14.332,12.2a1.99,1.99,0,0,1,.166.8H15V12H14.245Z\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"14\\\" y=\\\"15\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"15\\\" y=\\\"11\\\"/></g><polyline class=\\\"ql-stroke\\\" points=\\\"5.5 13 9 5 12.5 13\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"11.63\\\" x2=\\\"6.38\\\" y1=\\\"11\\\" y2=\\\"11\\\"/></svg>\";\nconst blockquoteIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><rect class=\\\"ql-fill ql-stroke\\\" height=\\\"3\\\" width=\\\"3\\\" x=\\\"4\\\" y=\\\"5\\\"/><rect class=\\\"ql-fill ql-stroke\\\" height=\\\"3\\\" width=\\\"3\\\" x=\\\"11\\\" y=\\\"5\\\"/><path class=\\\"ql-even ql-fill ql-stroke\\\" d=\\\"M7,8c0,4.031-3,5-3,5\\\"/><path class=\\\"ql-even ql-fill ql-stroke\\\" d=\\\"M14,8c0,4.031-3,5-3,5\\\"/></svg>\";\nconst boldIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><path class=\\\"ql-stroke\\\" d=\\\"M5,4H9.5A2.5,2.5,0,0,1,12,6.5v0A2.5,2.5,0,0,1,9.5,9H5A0,0,0,0,1,5,9V4A0,0,0,0,1,5,4Z\\\"/><path class=\\\"ql-stroke\\\" d=\\\"M5,9h5.5A2.5,2.5,0,0,1,13,11.5v0A2.5,2.5,0,0,1,10.5,14H5a0,0,0,0,1,0,0V9A0,0,0,0,1,5,9Z\\\"/></svg>\";\nconst cleanIcon = \"<svg class=\\\"\\\" viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"5\\\" x2=\\\"13\\\" y1=\\\"3\\\" y2=\\\"3\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"6\\\" x2=\\\"9.35\\\" y1=\\\"12\\\" y2=\\\"3\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"11\\\" x2=\\\"15\\\" y1=\\\"11\\\" y2=\\\"15\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"15\\\" x2=\\\"11\\\" y1=\\\"11\\\" y2=\\\"15\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1\\\" rx=\\\"0.5\\\" ry=\\\"0.5\\\" width=\\\"7\\\" x=\\\"2\\\" y=\\\"14\\\"/></svg>\";\nconst codeIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><polyline class=\\\"ql-even ql-stroke\\\" points=\\\"5 7 3 9 5 11\\\"/><polyline class=\\\"ql-even ql-stroke\\\" points=\\\"13 7 15 9 13 11\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"10\\\" x2=\\\"8\\\" y1=\\\"5\\\" y2=\\\"13\\\"/></svg>\";\nconst colorIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-color-label ql-stroke ql-transparent\\\" x1=\\\"3\\\" x2=\\\"15\\\" y1=\\\"15\\\" y2=\\\"15\\\"/><polyline class=\\\"ql-stroke\\\" points=\\\"5.5 11 9 3 12.5 11\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"11.63\\\" x2=\\\"6.38\\\" y1=\\\"9\\\" y2=\\\"9\\\"/></svg>\";\nconst directionLeftToRightIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><polygon class=\\\"ql-stroke ql-fill\\\" points=\\\"3 11 5 9 3 7 3 11\\\"/><line class=\\\"ql-stroke ql-fill\\\" x1=\\\"15\\\" x2=\\\"11\\\" y1=\\\"4\\\" y2=\\\"4\\\"/><path class=\\\"ql-fill\\\" d=\\\"M11,3a3,3,0,0,0,0,6h1V3H11Z\\\"/><rect class=\\\"ql-fill\\\" height=\\\"11\\\" width=\\\"1\\\" x=\\\"11\\\" y=\\\"4\\\"/><rect class=\\\"ql-fill\\\" height=\\\"11\\\" width=\\\"1\\\" x=\\\"13\\\" y=\\\"4\\\"/></svg>\";\nconst directionRightToLeftIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><polygon class=\\\"ql-stroke ql-fill\\\" points=\\\"15 12 13 10 15 8 15 12\\\"/><line class=\\\"ql-stroke ql-fill\\\" x1=\\\"9\\\" x2=\\\"5\\\" y1=\\\"4\\\" y2=\\\"4\\\"/><path class=\\\"ql-fill\\\" d=\\\"M5,3A3,3,0,0,0,5,9H6V3H5Z\\\"/><rect class=\\\"ql-fill\\\" height=\\\"11\\\" width=\\\"1\\\" x=\\\"5\\\" y=\\\"4\\\"/><rect class=\\\"ql-fill\\\" height=\\\"11\\\" width=\\\"1\\\" x=\\\"7\\\" y=\\\"4\\\"/></svg>\";\nconst formulaIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><path class=\\\"ql-fill\\\" d=\\\"M11.759,2.482a2.561,2.561,0,0,0-3.53.607A7.656,7.656,0,0,0,6.8,6.2C6.109,9.188,5.275,14.677,4.15,14.927a1.545,1.545,0,0,0-1.3-.933A0.922,0.922,0,0,0,2,15.036S1.954,16,4.119,16s3.091-2.691,3.7-5.553c0.177-.826.36-1.726,0.554-2.6L8.775,6.2c0.381-1.421.807-2.521,1.306-2.676a1.014,1.014,0,0,0,1.02.56A0.966,0.966,0,0,0,11.759,2.482Z\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1.6\\\" rx=\\\"0.8\\\" ry=\\\"0.8\\\" width=\\\"5\\\" x=\\\"5.15\\\" y=\\\"6.2\\\"/><path class=\\\"ql-fill\\\" d=\\\"M13.663,12.027a1.662,1.662,0,0,1,.266-0.276q0.193,0.069.456,0.138a2.1,2.1,0,0,0,.535.069,1.075,1.075,0,0,0,.767-0.3,1.044,1.044,0,0,0,.314-0.8,0.84,0.84,0,0,0-.238-0.619,0.8,0.8,0,0,0-.594-0.239,1.154,1.154,0,0,0-.781.3,4.607,4.607,0,0,0-.781,1q-0.091.15-.218,0.346l-0.246.38c-0.068-.288-0.137-0.582-0.212-0.885-0.459-1.847-2.494-.984-2.941-0.8-0.482.2-.353,0.647-0.094,0.529a0.869,0.869,0,0,1,1.281.585c0.217,0.751.377,1.436,0.527,2.038a5.688,5.688,0,0,1-.362.467,2.69,2.69,0,0,1-.264.271q-0.221-.08-0.471-0.147a2.029,2.029,0,0,0-.522-0.066,1.079,1.079,0,0,0-.768.3A1.058,1.058,0,0,0,9,15.131a0.82,0.82,0,0,0,.832.852,1.134,1.134,0,0,0,.787-0.3,5.11,5.11,0,0,0,.776-0.993q0.141-.219.215-0.34c0.046-.076.122-0.194,0.223-0.346a2.786,2.786,0,0,0,.918,1.726,2.582,2.582,0,0,0,2.376-.185c0.317-.181.212-0.565,0-0.494A0.807,0.807,0,0,1,14.176,15a5.159,5.159,0,0,1-.913-2.446l0,0Q13.487,12.24,13.663,12.027Z\\\"/></svg>\";\nconst headerIcon = \"<svg viewBox=\\\"0 0 18 18\\\"><path class=\\\"ql-fill\\\" d=\\\"M10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Zm6.06787,9.209H14.98975V7.59863a.54085.54085,0,0,0-.605-.60547h-.62744a1.01119,1.01119,0,0,0-.748.29688L11.645,8.56641a.5435.5435,0,0,0-.022.8584l.28613.30762a.53861.53861,0,0,0,.84717.0332l.09912-.08789a1.2137,1.2137,0,0,0,.2417-.35254h.02246s-.01123.30859-.01123.60547V13.209H12.041a.54085.54085,0,0,0-.605.60547v.43945a.54085.54085,0,0,0,.605.60547h4.02686a.54085.54085,0,0,0,.605-.60547v-.43945A.54085.54085,0,0,0,16.06787,13.209Z\\\"/></svg>\";\nconst header2Icon = \"<svg viewBox=\\\"0 0 18 18\\\"><path class=\\\"ql-fill\\\" d=\\\"M16.73975,13.81445v.43945a.54085.54085,0,0,1-.605.60547H11.855a.58392.58392,0,0,1-.64893-.60547V14.0127c0-2.90527,3.39941-3.42187,3.39941-4.55469a.77675.77675,0,0,0-.84717-.78125,1.17684,1.17684,0,0,0-.83594.38477c-.2749.26367-.561.374-.85791.13184l-.4292-.34082c-.30811-.24219-.38525-.51758-.1543-.81445a2.97155,2.97155,0,0,1,2.45361-1.17676,2.45393,2.45393,0,0,1,2.68408,2.40918c0,2.45312-3.1792,2.92676-3.27832,3.93848h2.79443A.54085.54085,0,0,1,16.73975,13.81445ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z\\\"/></svg>\";\nconst header3Icon = \"<svg viewBox=\\\"0 0 18 18\\\"><path class=\\\"ql-fill\\\" d=\\\"M16.65186,12.30664a2.6742,2.6742,0,0,1-2.915,2.68457,3.96592,3.96592,0,0,1-2.25537-.6709.56007.56007,0,0,1-.13232-.83594L11.64648,13c.209-.34082.48389-.36328.82471-.1543a2.32654,2.32654,0,0,0,1.12256.33008c.71484,0,1.12207-.35156,1.12207-.78125,0-.61523-.61621-.86816-1.46338-.86816H13.2085a.65159.65159,0,0,1-.68213-.41895l-.05518-.10937a.67114.67114,0,0,1,.14307-.78125l.71533-.86914a8.55289,8.55289,0,0,1,.68213-.7373V8.58887a3.93913,3.93913,0,0,1-.748.05469H11.9873a.54085.54085,0,0,1-.605-.60547V7.59863a.54085.54085,0,0,1,.605-.60547h3.75146a.53773.53773,0,0,1,.60547.59375v.17676a1.03723,1.03723,0,0,1-.27539.748L14.74854,10.0293A2.31132,2.31132,0,0,1,16.65186,12.30664ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z\\\"/></svg>\";\nconst header4Icon = \"<svg viewBox=\\\"0 0 18 18\\\"><path class=\\\"ql-fill\\\" d=\\\"M10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Zm7.05371,7.96582v.38477c0,.39648-.165.60547-.46191.60547h-.47314v1.29785a.54085.54085,0,0,1-.605.60547h-.69336a.54085.54085,0,0,1-.605-.60547V12.95605H11.333a.5412.5412,0,0,1-.60547-.60547v-.15332a1.199,1.199,0,0,1,.22021-.748l2.56348-4.05957a.7819.7819,0,0,1,.72607-.39648h1.27637a.54085.54085,0,0,1,.605.60547v3.7627h.33008A.54055.54055,0,0,1,17.05371,11.96582ZM14.28125,8.7207h-.022a4.18969,4.18969,0,0,1-.38525.81348l-1.188,1.80469v.02246h1.5293V9.60059A7.04058,7.04058,0,0,1,14.28125,8.7207Z\\\"/></svg>\";\nconst header5Icon = \"<svg viewBox=\\\"0 0 18 18\\\"><path class=\\\"ql-fill\\\" d=\\\"M16.74023,12.18555a2.75131,2.75131,0,0,1-2.91553,2.80566,3.908,3.908,0,0,1-2.25537-.68164.54809.54809,0,0,1-.13184-.8252L11.73438,13c.209-.34082.48389-.36328.8252-.1543a2.23757,2.23757,0,0,0,1.1001.33008,1.01827,1.01827,0,0,0,1.1001-.96777c0-.61621-.53906-.97949-1.25439-.97949a2.15554,2.15554,0,0,0-.64893.09961,1.15209,1.15209,0,0,1-.814.01074l-.12109-.04395a.64116.64116,0,0,1-.45117-.71484l.231-3.00391a.56666.56666,0,0,1,.62744-.583H15.541a.54085.54085,0,0,1,.605.60547v.43945a.54085.54085,0,0,1-.605.60547H13.41748l-.04395.72559a1.29306,1.29306,0,0,1-.04395.30859h.022a2.39776,2.39776,0,0,1,.57227-.07715A2.53266,2.53266,0,0,1,16.74023,12.18555ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z\\\"/></svg>\";\nconst header6Icon = \"<svg viewBox=\\\"0 0 18 18\\\"><path class=\\\"ql-fill\\\" d=\\\"M14.51758,9.64453a1.85627,1.85627,0,0,0-1.24316.38477H13.252a1.73532,1.73532,0,0,1,1.72754-1.4082,2.66491,2.66491,0,0,1,.5498.06641c.35254.05469.57227.01074.70508-.40723l.16406-.5166a.53393.53393,0,0,0-.373-.75977,4.83723,4.83723,0,0,0-1.17773-.14258c-2.43164,0-3.7627,2.17773-3.7627,4.43359,0,2.47559,1.60645,3.69629,3.19043,3.69629A2.70585,2.70585,0,0,0,16.96,12.19727,2.43861,2.43861,0,0,0,14.51758,9.64453Zm-.23047,3.58691c-.67187,0-1.22168-.81445-1.22168-1.45215,0-.47363.30762-.583.72559-.583.96875,0,1.27734.59375,1.27734,1.12207A.82182.82182,0,0,1,14.28711,13.23145ZM10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Z\\\"/></svg>\";\nconst italicIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"7\\\" x2=\\\"13\\\" y1=\\\"4\\\" y2=\\\"4\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"5\\\" x2=\\\"11\\\" y1=\\\"14\\\" y2=\\\"14\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"8\\\" x2=\\\"10\\\" y1=\\\"14\\\" y2=\\\"4\\\"/></svg>\";\nconst imageIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><rect class=\\\"ql-stroke\\\" height=\\\"10\\\" width=\\\"12\\\" x=\\\"3\\\" y=\\\"4\\\"/><circle class=\\\"ql-fill\\\" cx=\\\"6\\\" cy=\\\"7\\\" r=\\\"1\\\"/><polyline class=\\\"ql-even ql-fill\\\" points=\\\"5 12 5 11 7 9 8 10 11 7 13 9 13 12 5 12\\\"/></svg>\";\nconst indentIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"3\\\" x2=\\\"15\\\" y1=\\\"14\\\" y2=\\\"14\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"3\\\" x2=\\\"15\\\" y1=\\\"4\\\" y2=\\\"4\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"9\\\" x2=\\\"15\\\" y1=\\\"9\\\" y2=\\\"9\\\"/><polyline class=\\\"ql-fill ql-stroke\\\" points=\\\"3 7 3 11 5 9 3 7\\\"/></svg>\";\nconst outdentIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"3\\\" x2=\\\"15\\\" y1=\\\"14\\\" y2=\\\"14\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"3\\\" x2=\\\"15\\\" y1=\\\"4\\\" y2=\\\"4\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"9\\\" x2=\\\"15\\\" y1=\\\"9\\\" y2=\\\"9\\\"/><polyline class=\\\"ql-stroke\\\" points=\\\"5 7 5 11 3 9 5 7\\\"/></svg>\";\nconst linkIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"7\\\" x2=\\\"11\\\" y1=\\\"7\\\" y2=\\\"11\\\"/><path class=\\\"ql-even ql-stroke\\\" d=\\\"M8.9,4.577a3.476,3.476,0,0,1,.36,4.679A3.476,3.476,0,0,1,4.577,8.9C3.185,7.5,2.035,6.4,4.217,4.217S7.5,3.185,8.9,4.577Z\\\"/><path class=\\\"ql-even ql-stroke\\\" d=\\\"M13.423,9.1a3.476,3.476,0,0,0-4.679-.36,3.476,3.476,0,0,0,.36,4.679c1.392,1.392,2.5,2.542,4.679.36S14.815,10.5,13.423,9.1Z\\\"/></svg>\";\nconst listBulletIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"6\\\" x2=\\\"15\\\" y1=\\\"4\\\" y2=\\\"4\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"6\\\" x2=\\\"15\\\" y1=\\\"9\\\" y2=\\\"9\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"6\\\" x2=\\\"15\\\" y1=\\\"14\\\" y2=\\\"14\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"3\\\" x2=\\\"3\\\" y1=\\\"4\\\" y2=\\\"4\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"3\\\" x2=\\\"3\\\" y1=\\\"9\\\" y2=\\\"9\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"3\\\" x2=\\\"3\\\" y1=\\\"14\\\" y2=\\\"14\\\"/></svg>\";\nconst listCheckIcon = \"<svg class=\\\"\\\" viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"9\\\" x2=\\\"15\\\" y1=\\\"4\\\" y2=\\\"4\\\"/><polyline class=\\\"ql-stroke\\\" points=\\\"3 4 4 5 6 3\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"9\\\" x2=\\\"15\\\" y1=\\\"14\\\" y2=\\\"14\\\"/><polyline class=\\\"ql-stroke\\\" points=\\\"3 14 4 15 6 13\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"9\\\" x2=\\\"15\\\" y1=\\\"9\\\" y2=\\\"9\\\"/><polyline class=\\\"ql-stroke\\\" points=\\\"3 9 4 10 6 8\\\"/></svg>\";\nconst listOrderedIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"7\\\" x2=\\\"15\\\" y1=\\\"4\\\" y2=\\\"4\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"7\\\" x2=\\\"15\\\" y1=\\\"9\\\" y2=\\\"9\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"7\\\" x2=\\\"15\\\" y1=\\\"14\\\" y2=\\\"14\\\"/><line class=\\\"ql-stroke ql-thin\\\" x1=\\\"2.5\\\" x2=\\\"4.5\\\" y1=\\\"5.5\\\" y2=\\\"5.5\\\"/><path class=\\\"ql-fill\\\" d=\\\"M3.5,6A0.5,0.5,0,0,1,3,5.5V3.085l-0.276.138A0.5,0.5,0,0,1,2.053,3c-0.124-.247-0.023-0.324.224-0.447l1-.5A0.5,0.5,0,0,1,4,2.5v3A0.5,0.5,0,0,1,3.5,6Z\\\"/><path class=\\\"ql-stroke ql-thin\\\" d=\\\"M4.5,10.5h-2c0-.234,1.85-1.076,1.85-2.234A0.959,0.959,0,0,0,2.5,8.156\\\"/><path class=\\\"ql-stroke ql-thin\\\" d=\\\"M2.5,14.846a0.959,0.959,0,0,0,1.85-.109A0.7,0.7,0,0,0,3.75,14a0.688,0.688,0,0,0,.6-0.736,0.959,0.959,0,0,0-1.85-.109\\\"/></svg>\";\nconst subscriptIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><path class=\\\"ql-fill\\\" d=\\\"M15.5,15H13.861a3.858,3.858,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.921,1.921,0,0,0,12.021,11.7a0.50013,0.50013,0,1,0,.957.291h0a0.914,0.914,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.076-1.16971,1.86982-1.93971,2.43082A1.45639,1.45639,0,0,0,12,15.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,15Z\\\"/><path class=\\\"ql-fill\\\" d=\\\"M9.65,5.241a1,1,0,0,0-1.409.108L6,7.964,3.759,5.349A1,1,0,0,0,2.192,6.59178Q2.21541,6.6213,2.241,6.649L4.684,9.5,2.241,12.35A1,1,0,0,0,3.71,13.70722q0.02557-.02768.049-0.05722L6,11.036,8.241,13.65a1,1,0,1,0,1.567-1.24277Q9.78459,12.3777,9.759,12.35L7.316,9.5,9.759,6.651A1,1,0,0,0,9.65,5.241Z\\\"/></svg>\";\nconst superscriptIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><path class=\\\"ql-fill\\\" d=\\\"M15.5,7H13.861a4.015,4.015,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.922,1.922,0,0,0,12.021,3.7a0.5,0.5,0,1,0,.957.291,0.917,0.917,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.077-1.164,1.925-1.934,2.486A1.423,1.423,0,0,0,12,7.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,7Z\\\"/><path class=\\\"ql-fill\\\" d=\\\"M9.651,5.241a1,1,0,0,0-1.41.108L6,7.964,3.759,5.349a1,1,0,1,0-1.519,1.3L4.683,9.5,2.241,12.35a1,1,0,1,0,1.519,1.3L6,11.036,8.241,13.65a1,1,0,0,0,1.519-1.3L7.317,9.5,9.759,6.651A1,1,0,0,0,9.651,5.241Z\\\"/></svg>\";\nconst strikeIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke ql-thin\\\" x1=\\\"15.5\\\" x2=\\\"2.5\\\" y1=\\\"8.5\\\" y2=\\\"9.5\\\"/><path class=\\\"ql-fill\\\" d=\\\"M9.007,8C6.542,7.791,6,7.519,6,6.5,6,5.792,7.283,5,9,5c1.571,0,2.765.679,2.969,1.309a1,1,0,0,0,1.9-.617C13.356,4.106,11.354,3,9,3,6.2,3,4,4.538,4,6.5a3.2,3.2,0,0,0,.5,1.843Z\\\"/><path class=\\\"ql-fill\\\" d=\\\"M8.984,10C11.457,10.208,12,10.479,12,11.5c0,0.708-1.283,1.5-3,1.5-1.571,0-2.765-.679-2.969-1.309a1,1,0,1,0-1.9.617C4.644,13.894,6.646,15,9,15c2.8,0,5-1.538,5-3.5a3.2,3.2,0,0,0-.5-1.843Z\\\"/></svg>\";\nconst tableIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><rect class=\\\"ql-stroke\\\" height=\\\"12\\\" width=\\\"12\\\" x=\\\"3\\\" y=\\\"3\\\"/><rect class=\\\"ql-fill\\\" height=\\\"2\\\" width=\\\"3\\\" x=\\\"5\\\" y=\\\"5\\\"/><rect class=\\\"ql-fill\\\" height=\\\"2\\\" width=\\\"4\\\" x=\\\"9\\\" y=\\\"5\\\"/><g class=\\\"ql-fill ql-transparent\\\"><rect height=\\\"2\\\" width=\\\"3\\\" x=\\\"5\\\" y=\\\"8\\\"/><rect height=\\\"2\\\" width=\\\"4\\\" x=\\\"9\\\" y=\\\"8\\\"/><rect height=\\\"2\\\" width=\\\"3\\\" x=\\\"5\\\" y=\\\"11\\\"/><rect height=\\\"2\\\" width=\\\"4\\\" x=\\\"9\\\" y=\\\"11\\\"/></g></svg>\";\nconst underlineIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><path class=\\\"ql-stroke\\\" d=\\\"M5,3V9a4.012,4.012,0,0,0,4,4H9a4.012,4.012,0,0,0,4-4V3\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1\\\" rx=\\\"0.5\\\" ry=\\\"0.5\\\" width=\\\"12\\\" x=\\\"3\\\" y=\\\"15\\\"/></svg>\";\nconst videoIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><rect class=\\\"ql-stroke\\\" height=\\\"12\\\" width=\\\"12\\\" x=\\\"3\\\" y=\\\"3\\\"/><rect class=\\\"ql-fill\\\" height=\\\"12\\\" width=\\\"1\\\" x=\\\"5\\\" y=\\\"3\\\"/><rect class=\\\"ql-fill\\\" height=\\\"12\\\" width=\\\"1\\\" x=\\\"12\\\" y=\\\"3\\\"/><rect class=\\\"ql-fill\\\" height=\\\"2\\\" width=\\\"8\\\" x=\\\"5\\\" y=\\\"8\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1\\\" width=\\\"3\\\" x=\\\"3\\\" y=\\\"5\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1\\\" width=\\\"3\\\" x=\\\"3\\\" y=\\\"7\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1\\\" width=\\\"3\\\" x=\\\"3\\\" y=\\\"10\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1\\\" width=\\\"3\\\" x=\\\"3\\\" y=\\\"12\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1\\\" width=\\\"3\\\" x=\\\"12\\\" y=\\\"5\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1\\\" width=\\\"3\\\" x=\\\"12\\\" y=\\\"7\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1\\\" width=\\\"3\\\" x=\\\"12\\\" y=\\\"10\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1\\\" width=\\\"3\\\" x=\\\"12\\\" y=\\\"12\\\"/></svg>\";\nexport default {\n align: {\n '': alignLeftIcon,\n center: alignCenterIcon,\n right: alignRightIcon,\n justify: alignJustifyIcon\n },\n background: backgroundIcon,\n blockquote: blockquoteIcon,\n bold: boldIcon,\n clean: cleanIcon,\n code: codeIcon,\n 'code-block': codeIcon,\n color: colorIcon,\n direction: {\n '': directionLeftToRightIcon,\n rtl: directionRightToLeftIcon\n },\n formula: formulaIcon,\n header: {\n '1': headerIcon,\n '2': header2Icon,\n '3': header3Icon,\n '4': header4Icon,\n '5': header5Icon,\n '6': header6Icon\n },\n italic: italicIcon,\n image: imageIcon,\n indent: {\n '+1': indentIcon,\n '-1': outdentIcon\n },\n link: linkIcon,\n list: {\n bullet: listBulletIcon,\n check: listCheckIcon,\n ordered: listOrderedIcon\n },\n script: {\n sub: subscriptIcon,\n super: superscriptIcon\n },\n strike: strikeIcon,\n table: tableIcon,\n underline: underlineIcon,\n video: videoIcon\n};\n//# sourceMappingURL=icons.js.map","const DropdownIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><polygon class=\\\"ql-stroke\\\" points=\\\"7 11 9 13 11 11 7 11\\\"/><polygon class=\\\"ql-stroke\\\" points=\\\"7 7 9 5 11 7 7 7\\\"/></svg>\";\nlet optionsCounter = 0;\nfunction toggleAriaAttribute(element, attribute) {\n element.setAttribute(attribute, `${!(element.getAttribute(attribute) === 'true')}`);\n}\nclass Picker {\n constructor(select) {\n this.select = select;\n this.container = document.createElement('span');\n this.buildPicker();\n this.select.style.display = 'none';\n // @ts-expect-error Fix me later\n this.select.parentNode.insertBefore(this.container, this.select);\n this.label.addEventListener('mousedown', () => {\n this.togglePicker();\n });\n this.label.addEventListener('keydown', event => {\n switch (event.key) {\n case 'Enter':\n this.togglePicker();\n break;\n case 'Escape':\n this.escape();\n event.preventDefault();\n break;\n default:\n }\n });\n this.select.addEventListener('change', this.update.bind(this));\n }\n togglePicker() {\n this.container.classList.toggle('ql-expanded');\n // Toggle aria-expanded and aria-hidden to make the picker accessible\n toggleAriaAttribute(this.label, 'aria-expanded');\n // @ts-expect-error\n toggleAriaAttribute(this.options, 'aria-hidden');\n }\n buildItem(option) {\n const item = document.createElement('span');\n // @ts-expect-error\n item.tabIndex = '0';\n item.setAttribute('role', 'button');\n item.classList.add('ql-picker-item');\n const value = option.getAttribute('value');\n if (value) {\n item.setAttribute('data-value', value);\n }\n if (option.textContent) {\n item.setAttribute('data-label', option.textContent);\n }\n item.addEventListener('click', () => {\n this.selectItem(item, true);\n });\n item.addEventListener('keydown', event => {\n switch (event.key) {\n case 'Enter':\n this.selectItem(item, true);\n event.preventDefault();\n break;\n case 'Escape':\n this.escape();\n event.preventDefault();\n break;\n default:\n }\n });\n return item;\n }\n buildLabel() {\n const label = document.createElement('span');\n label.classList.add('ql-picker-label');\n label.innerHTML = DropdownIcon;\n // @ts-expect-error\n label.tabIndex = '0';\n label.setAttribute('role', 'button');\n label.setAttribute('aria-expanded', 'false');\n this.container.appendChild(label);\n return label;\n }\n buildOptions() {\n const options = document.createElement('span');\n options.classList.add('ql-picker-options');\n\n // Don't want screen readers to read this until options are visible\n options.setAttribute('aria-hidden', 'true');\n // @ts-expect-error\n options.tabIndex = '-1';\n\n // Need a unique id for aria-controls\n options.id = `ql-picker-options-${optionsCounter}`;\n optionsCounter += 1;\n this.label.setAttribute('aria-controls', options.id);\n\n // @ts-expect-error\n this.options = options;\n Array.from(this.select.options).forEach(option => {\n const item = this.buildItem(option);\n options.appendChild(item);\n if (option.selected === true) {\n this.selectItem(item);\n }\n });\n this.container.appendChild(options);\n }\n buildPicker() {\n Array.from(this.select.attributes).forEach(item => {\n this.container.setAttribute(item.name, item.value);\n });\n this.container.classList.add('ql-picker');\n this.label = this.buildLabel();\n this.buildOptions();\n }\n escape() {\n // Close menu and return focus to trigger label\n this.close();\n // Need setTimeout for accessibility to ensure that the browser executes\n // focus on the next process thread and after any DOM content changes\n setTimeout(() => this.label.focus(), 1);\n }\n close() {\n this.container.classList.remove('ql-expanded');\n this.label.setAttribute('aria-expanded', 'false');\n // @ts-expect-error\n this.options.setAttribute('aria-hidden', 'true');\n }\n selectItem(item) {\n let trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n const selected = this.container.querySelector('.ql-selected');\n if (item === selected) return;\n if (selected != null) {\n selected.classList.remove('ql-selected');\n }\n if (item == null) return;\n item.classList.add('ql-selected');\n // @ts-expect-error Fix me later\n this.select.selectedIndex = Array.from(item.parentNode.children).indexOf(item);\n if (item.hasAttribute('data-value')) {\n // @ts-expect-error Fix me later\n this.label.setAttribute('data-value', item.getAttribute('data-value'));\n } else {\n this.label.removeAttribute('data-value');\n }\n if (item.hasAttribute('data-label')) {\n // @ts-expect-error Fix me later\n this.label.setAttribute('data-label', item.getAttribute('data-label'));\n } else {\n this.label.removeAttribute('data-label');\n }\n if (trigger) {\n this.select.dispatchEvent(new Event('change'));\n this.close();\n }\n }\n update() {\n let option;\n if (this.select.selectedIndex > -1) {\n const item =\n // @ts-expect-error Fix me later\n this.container.querySelector('.ql-picker-options').children[this.select.selectedIndex];\n option = this.select.options[this.select.selectedIndex];\n // @ts-expect-error\n this.selectItem(item);\n } else {\n this.selectItem(null);\n }\n const isActive = option != null && option !== this.select.querySelector('option[selected]');\n this.label.classList.toggle('ql-active', isActive);\n }\n}\nexport default Picker;\n//# sourceMappingURL=picker.js.map","import Picker from './picker.js';\nclass ColorPicker extends Picker {\n constructor(select, label) {\n super(select);\n this.label.innerHTML = label;\n this.container.classList.add('ql-color-picker');\n Array.from(this.container.querySelectorAll('.ql-picker-item')).slice(0, 7).forEach(item => {\n item.classList.add('ql-primary');\n });\n }\n buildItem(option) {\n const item = super.buildItem(option);\n item.style.backgroundColor = option.getAttribute('value') || '';\n return item;\n }\n selectItem(item, trigger) {\n super.selectItem(item, trigger);\n const colorLabel = this.label.querySelector('.ql-color-label');\n const value = item ? item.getAttribute('data-value') || '' : '';\n if (colorLabel) {\n if (colorLabel.tagName === 'line') {\n colorLabel.style.stroke = value;\n } else {\n colorLabel.style.fill = value;\n }\n }\n }\n}\nexport default ColorPicker;\n//# sourceMappingURL=color-picker.js.map","import Picker from './picker.js';\nclass IconPicker extends Picker {\n constructor(select, icons) {\n super(select);\n this.container.classList.add('ql-icon-picker');\n Array.from(this.container.querySelectorAll('.ql-picker-item')).forEach(item => {\n item.innerHTML = icons[item.getAttribute('data-value') || ''];\n });\n this.defaultItem = this.container.querySelector('.ql-selected');\n this.selectItem(this.defaultItem);\n }\n selectItem(target, trigger) {\n super.selectItem(target, trigger);\n const item = target || this.defaultItem;\n if (item != null) {\n if (this.label.innerHTML === item.innerHTML) return;\n this.label.innerHTML = item.innerHTML;\n }\n }\n}\nexport default IconPicker;\n//# sourceMappingURL=icon-picker.js.map","const isScrollable = el => {\n const {\n overflowY\n } = getComputedStyle(el, null);\n return overflowY !== 'visible' && overflowY !== 'clip';\n};\nclass Tooltip {\n constructor(quill, boundsContainer) {\n this.quill = quill;\n this.boundsContainer = boundsContainer || document.body;\n this.root = quill.addContainer('ql-tooltip');\n // @ts-expect-error\n this.root.innerHTML = this.constructor.TEMPLATE;\n if (isScrollable(this.quill.root)) {\n this.quill.root.addEventListener('scroll', () => {\n this.root.style.marginTop = `${-1 * this.quill.root.scrollTop}px`;\n });\n }\n this.hide();\n }\n hide() {\n this.root.classList.add('ql-hidden');\n }\n position(reference) {\n const left = reference.left + reference.width / 2 - this.root.offsetWidth / 2;\n // root.scrollTop should be 0 if scrollContainer !== root\n const top = reference.bottom + this.quill.root.scrollTop;\n this.root.style.left = `${left}px`;\n this.root.style.top = `${top}px`;\n this.root.classList.remove('ql-flip');\n const containerBounds = this.boundsContainer.getBoundingClientRect();\n const rootBounds = this.root.getBoundingClientRect();\n let shift = 0;\n if (rootBounds.right > containerBounds.right) {\n shift = containerBounds.right - rootBounds.right;\n this.root.style.left = `${left + shift}px`;\n }\n if (rootBounds.left < containerBounds.left) {\n shift = containerBounds.left - rootBounds.left;\n this.root.style.left = `${left + shift}px`;\n }\n if (rootBounds.bottom > containerBounds.bottom) {\n const height = rootBounds.bottom - rootBounds.top;\n const verticalShift = reference.bottom - reference.top + height;\n this.root.style.top = `${top - verticalShift}px`;\n this.root.classList.add('ql-flip');\n }\n return shift;\n }\n show() {\n this.root.classList.remove('ql-editing');\n this.root.classList.remove('ql-hidden');\n }\n}\nexport default Tooltip;\n//# sourceMappingURL=tooltip.js.map","import { merge } from 'lodash-es';\nimport Emitter from '../core/emitter.js';\nimport Theme from '../core/theme.js';\nimport ColorPicker from '../ui/color-picker.js';\nimport IconPicker from '../ui/icon-picker.js';\nimport Picker from '../ui/picker.js';\nimport Tooltip from '../ui/tooltip.js';\nconst ALIGNS = [false, 'center', 'right', 'justify'];\nconst COLORS = ['#000000', '#e60000', '#ff9900', '#ffff00', '#008a00', '#0066cc', '#9933ff', '#ffffff', '#facccc', '#ffebcc', '#ffffcc', '#cce8cc', '#cce0f5', '#ebd6ff', '#bbbbbb', '#f06666', '#ffc266', '#ffff66', '#66b966', '#66a3e0', '#c285ff', '#888888', '#a10000', '#b26b00', '#b2b200', '#006100', '#0047b2', '#6b24b2', '#444444', '#5c0000', '#663d00', '#666600', '#003700', '#002966', '#3d1466'];\nconst FONTS = [false, 'serif', 'monospace'];\nconst HEADERS = ['1', '2', '3', false];\nconst SIZES = ['small', false, 'large', 'huge'];\nclass BaseTheme extends Theme {\n constructor(quill, options) {\n super(quill, options);\n const listener = e => {\n if (!document.body.contains(quill.root)) {\n document.body.removeEventListener('click', listener);\n return;\n }\n if (this.tooltip != null &&\n // @ts-expect-error\n !this.tooltip.root.contains(e.target) &&\n // @ts-expect-error\n document.activeElement !== this.tooltip.textbox && !this.quill.hasFocus()) {\n this.tooltip.hide();\n }\n if (this.pickers != null) {\n this.pickers.forEach(picker => {\n // @ts-expect-error\n if (!picker.container.contains(e.target)) {\n picker.close();\n }\n });\n }\n };\n quill.emitter.listenDOM('click', document.body, listener);\n }\n addModule(name) {\n const module = super.addModule(name);\n if (name === 'toolbar') {\n // @ts-expect-error\n this.extendToolbar(module);\n }\n return module;\n }\n buildButtons(buttons, icons) {\n Array.from(buttons).forEach(button => {\n const className = button.getAttribute('class') || '';\n className.split(/\\s+/).forEach(name => {\n if (!name.startsWith('ql-')) return;\n name = name.slice('ql-'.length);\n if (icons[name] == null) return;\n if (name === 'direction') {\n // @ts-expect-error\n button.innerHTML = icons[name][''] + icons[name].rtl;\n } else if (typeof icons[name] === 'string') {\n // @ts-expect-error\n button.innerHTML = icons[name];\n } else {\n // @ts-expect-error\n const value = button.value || '';\n // @ts-expect-error\n if (value != null && icons[name][value]) {\n // @ts-expect-error\n button.innerHTML = icons[name][value];\n }\n }\n });\n });\n }\n buildPickers(selects, icons) {\n this.pickers = Array.from(selects).map(select => {\n if (select.classList.contains('ql-align')) {\n if (select.querySelector('option') == null) {\n fillSelect(select, ALIGNS);\n }\n if (typeof icons.align === 'object') {\n return new IconPicker(select, icons.align);\n }\n }\n if (select.classList.contains('ql-background') || select.classList.contains('ql-color')) {\n const format = select.classList.contains('ql-background') ? 'background' : 'color';\n if (select.querySelector('option') == null) {\n fillSelect(select, COLORS, format === 'background' ? '#ffffff' : '#000000');\n }\n return new ColorPicker(select, icons[format]);\n }\n if (select.querySelector('option') == null) {\n if (select.classList.contains('ql-font')) {\n fillSelect(select, FONTS);\n } else if (select.classList.contains('ql-header')) {\n fillSelect(select, HEADERS);\n } else if (select.classList.contains('ql-size')) {\n fillSelect(select, SIZES);\n }\n }\n return new Picker(select);\n });\n const update = () => {\n this.pickers.forEach(picker => {\n picker.update();\n });\n };\n this.quill.on(Emitter.events.EDITOR_CHANGE, update);\n }\n}\nBaseTheme.DEFAULTS = merge({}, Theme.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n formula() {\n this.quill.theme.tooltip.edit('formula');\n },\n image() {\n let fileInput = this.container.querySelector('input.ql-image[type=file]');\n if (fileInput == null) {\n fileInput = document.createElement('input');\n fileInput.setAttribute('type', 'file');\n fileInput.setAttribute('accept', this.quill.uploader.options.mimetypes.join(', '));\n fileInput.classList.add('ql-image');\n fileInput.addEventListener('change', () => {\n const range = this.quill.getSelection(true);\n this.quill.uploader.upload(range, fileInput.files);\n fileInput.value = '';\n });\n this.container.appendChild(fileInput);\n }\n fileInput.click();\n },\n video() {\n this.quill.theme.tooltip.edit('video');\n }\n }\n }\n }\n});\nclass BaseTooltip extends Tooltip {\n constructor(quill, boundsContainer) {\n super(quill, boundsContainer);\n this.textbox = this.root.querySelector('input[type=\"text\"]');\n this.listen();\n }\n listen() {\n // @ts-expect-error Fix me later\n this.textbox.addEventListener('keydown', event => {\n if (event.key === 'Enter') {\n this.save();\n event.preventDefault();\n } else if (event.key === 'Escape') {\n this.cancel();\n event.preventDefault();\n }\n });\n }\n cancel() {\n this.hide();\n this.restoreFocus();\n }\n edit() {\n let mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'link';\n let preview = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n this.root.classList.remove('ql-hidden');\n this.root.classList.add('ql-editing');\n if (this.textbox == null) return;\n if (preview != null) {\n this.textbox.value = preview;\n } else if (mode !== this.root.getAttribute('data-mode')) {\n this.textbox.value = '';\n }\n const bounds = this.quill.getBounds(this.quill.selection.savedRange);\n if (bounds != null) {\n this.position(bounds);\n }\n this.textbox.select();\n this.textbox.setAttribute('placeholder', this.textbox.getAttribute(`data-${mode}`) || '');\n this.root.setAttribute('data-mode', mode);\n }\n restoreFocus() {\n this.quill.focus({\n preventScroll: true\n });\n }\n save() {\n // @ts-expect-error Fix me later\n let {\n value\n } = this.textbox;\n switch (this.root.getAttribute('data-mode')) {\n case 'link':\n {\n const {\n scrollTop\n } = this.quill.root;\n if (this.linkRange) {\n this.quill.formatText(this.linkRange, 'link', value, Emitter.sources.USER);\n delete this.linkRange;\n } else {\n this.restoreFocus();\n this.quill.format('link', value, Emitter.sources.USER);\n }\n this.quill.root.scrollTop = scrollTop;\n break;\n }\n case 'video':\n {\n value = extractVideoUrl(value);\n }\n // eslint-disable-next-line no-fallthrough\n case 'formula':\n {\n if (!value) break;\n const range = this.quill.getSelection(true);\n if (range != null) {\n const index = range.index + range.length;\n this.quill.insertEmbed(index,\n // @ts-expect-error Fix me later\n this.root.getAttribute('data-mode'), value, Emitter.sources.USER);\n if (this.root.getAttribute('data-mode') === 'formula') {\n this.quill.insertText(index + 1, ' ', Emitter.sources.USER);\n }\n this.quill.setSelection(index + 2, Emitter.sources.USER);\n }\n break;\n }\n default:\n }\n // @ts-expect-error Fix me later\n this.textbox.value = '';\n this.hide();\n }\n}\nfunction extractVideoUrl(url) {\n let match = url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtube\\.com\\/watch.*v=([a-zA-Z0-9_-]+)/) || url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtu\\.be\\/([a-zA-Z0-9_-]+)/);\n if (match) {\n return `${match[1] || 'https'}://www.youtube.com/embed/${match[2]}?showinfo=0`;\n }\n // eslint-disable-next-line no-cond-assign\n if (match = url.match(/^(?:(https?):\\/\\/)?(?:www\\.)?vimeo\\.com\\/(\\d+)/)) {\n return `${match[1] || 'https'}://player.vimeo.com/video/${match[2]}/`;\n }\n return url;\n}\nfunction fillSelect(select, values) {\n let defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n values.forEach(value => {\n const option = document.createElement('option');\n if (value === defaultValue) {\n option.setAttribute('selected', 'selected');\n } else {\n option.setAttribute('value', String(value));\n }\n select.appendChild(option);\n });\n}\nexport { BaseTooltip, BaseTheme as default };\n//# sourceMappingURL=base.js.map","import { merge } from 'lodash-es';\nimport Emitter from '../core/emitter.js';\nimport BaseTheme, { BaseTooltip } from './base.js';\nimport { Range } from '../core/selection.js';\nimport icons from '../ui/icons.js';\nimport Quill from '../core/quill.js';\nconst TOOLBAR_CONFIG = [['bold', 'italic', 'link'], [{\n header: 1\n}, {\n header: 2\n}, 'blockquote']];\nclass BubbleTooltip extends BaseTooltip {\n static TEMPLATE = ['<span class=\"ql-tooltip-arrow\"></span>', '<div class=\"ql-tooltip-editor\">', '<input type=\"text\" data-formula=\"e=mc^2\" data-link=\"https://quilljs.com\" data-video=\"Embed URL\">', '<a class=\"ql-close\"></a>', '</div>'].join('');\n constructor(quill, bounds) {\n super(quill, bounds);\n this.quill.on(Emitter.events.EDITOR_CHANGE, (type, range, oldRange, source) => {\n if (type !== Emitter.events.SELECTION_CHANGE) return;\n if (range != null && range.length > 0 && source === Emitter.sources.USER) {\n this.show();\n // Lock our width so we will expand beyond our offsetParent boundaries\n this.root.style.left = '0px';\n this.root.style.width = '';\n this.root.style.width = `${this.root.offsetWidth}px`;\n const lines = this.quill.getLines(range.index, range.length);\n if (lines.length === 1) {\n const bounds = this.quill.getBounds(range);\n if (bounds != null) {\n this.position(bounds);\n }\n } else {\n const lastLine = lines[lines.length - 1];\n const index = this.quill.getIndex(lastLine);\n const length = Math.min(lastLine.length() - 1, range.index + range.length - index);\n const indexBounds = this.quill.getBounds(new Range(index, length));\n if (indexBounds != null) {\n this.position(indexBounds);\n }\n }\n } else if (document.activeElement !== this.textbox && this.quill.hasFocus()) {\n this.hide();\n }\n });\n }\n listen() {\n super.listen();\n // @ts-expect-error Fix me later\n this.root.querySelector('.ql-close').addEventListener('click', () => {\n this.root.classList.remove('ql-editing');\n });\n this.quill.on(Emitter.events.SCROLL_OPTIMIZE, () => {\n // Let selection be restored by toolbar handlers before repositioning\n setTimeout(() => {\n if (this.root.classList.contains('ql-hidden')) return;\n const range = this.quill.getSelection();\n if (range != null) {\n const bounds = this.quill.getBounds(range);\n if (bounds != null) {\n this.position(bounds);\n }\n }\n }, 1);\n });\n }\n cancel() {\n this.show();\n }\n position(reference) {\n const shift = super.position(reference);\n const arrow = this.root.querySelector('.ql-tooltip-arrow');\n // @ts-expect-error\n arrow.style.marginLeft = '';\n if (shift !== 0) {\n // @ts-expect-error\n arrow.style.marginLeft = `${-1 * shift - arrow.offsetWidth / 2}px`;\n }\n return shift;\n }\n}\nclass BubbleTheme extends BaseTheme {\n constructor(quill, options) {\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n super(quill, options);\n this.quill.container.classList.add('ql-bubble');\n }\n extendToolbar(toolbar) {\n // @ts-expect-error\n this.tooltip = new BubbleTooltip(this.quill, this.options.bounds);\n if (toolbar.container != null) {\n this.tooltip.root.appendChild(toolbar.container);\n this.buildButtons(toolbar.container.querySelectorAll('button'), icons);\n this.buildPickers(toolbar.container.querySelectorAll('select'), icons);\n }\n }\n}\nBubbleTheme.DEFAULTS = merge({}, BaseTheme.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link(value) {\n if (!value) {\n this.quill.format('link', false, Quill.sources.USER);\n } else {\n // @ts-expect-error\n this.quill.theme.tooltip.edit();\n }\n }\n }\n }\n }\n});\nexport { BubbleTooltip, BubbleTheme as default };\n//# sourceMappingURL=bubble.js.map","import { merge } from 'lodash-es';\nimport Emitter from '../core/emitter.js';\nimport BaseTheme, { BaseTooltip } from './base.js';\nimport LinkBlot from '../formats/link.js';\nimport { Range } from '../core/selection.js';\nimport icons from '../ui/icons.js';\nimport Quill from '../core/quill.js';\nconst TOOLBAR_CONFIG = [[{\n header: ['1', '2', '3', false]\n}], ['bold', 'italic', 'underline', 'link'], [{\n list: 'ordered'\n}, {\n list: 'bullet'\n}], ['clean']];\nclass SnowTooltip extends BaseTooltip {\n static TEMPLATE = ['<a class=\"ql-preview\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"about:blank\"></a>', '<input type=\"text\" data-formula=\"e=mc^2\" data-link=\"https://quilljs.com\" data-video=\"Embed URL\">', '<a class=\"ql-action\"></a>', '<a class=\"ql-remove\"></a>'].join('');\n preview = this.root.querySelector('a.ql-preview');\n listen() {\n super.listen();\n // @ts-expect-error Fix me later\n this.root.querySelector('a.ql-action').addEventListener('click', event => {\n if (this.root.classList.contains('ql-editing')) {\n this.save();\n } else {\n // @ts-expect-error Fix me later\n this.edit('link', this.preview.textContent);\n }\n event.preventDefault();\n });\n // @ts-expect-error Fix me later\n this.root.querySelector('a.ql-remove').addEventListener('click', event => {\n if (this.linkRange != null) {\n const range = this.linkRange;\n this.restoreFocus();\n this.quill.formatText(range, 'link', false, Emitter.sources.USER);\n delete this.linkRange;\n }\n event.preventDefault();\n this.hide();\n });\n this.quill.on(Emitter.events.SELECTION_CHANGE, (range, oldRange, source) => {\n if (range == null) return;\n if (range.length === 0 && source === Emitter.sources.USER) {\n const [link, offset] = this.quill.scroll.descendant(LinkBlot, range.index);\n if (link != null) {\n this.linkRange = new Range(range.index - offset, link.length());\n const preview = LinkBlot.formats(link.domNode);\n // @ts-expect-error Fix me later\n this.preview.textContent = preview;\n // @ts-expect-error Fix me later\n this.preview.setAttribute('href', preview);\n this.show();\n const bounds = this.quill.getBounds(this.linkRange);\n if (bounds != null) {\n this.position(bounds);\n }\n return;\n }\n } else {\n delete this.linkRange;\n }\n this.hide();\n });\n }\n show() {\n super.show();\n this.root.removeAttribute('data-mode');\n }\n}\nclass SnowTheme extends BaseTheme {\n constructor(quill, options) {\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n super(quill, options);\n this.quill.container.classList.add('ql-snow');\n }\n extendToolbar(toolbar) {\n if (toolbar.container != null) {\n toolbar.container.classList.add('ql-snow');\n this.buildButtons(toolbar.container.querySelectorAll('button'), icons);\n this.buildPickers(toolbar.container.querySelectorAll('select'), icons);\n // @ts-expect-error\n this.tooltip = new SnowTooltip(this.quill, this.options.bounds);\n if (toolbar.container.querySelector('.ql-link')) {\n this.quill.keyboard.addBinding({\n key: 'k',\n shortKey: true\n }, (_range, context) => {\n toolbar.handlers.link.call(toolbar, !context.format.link);\n });\n }\n }\n }\n}\nSnowTheme.DEFAULTS = merge({}, BaseTheme.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link(value) {\n if (value) {\n const range = this.quill.getSelection();\n if (range == null || range.length === 0) return;\n let preview = this.quill.getText(range);\n if (/^\\S+@\\S+\\.\\S+$/.test(preview) && preview.indexOf('mailto:') !== 0) {\n preview = `mailto:${preview}`;\n }\n // @ts-expect-error\n const {\n tooltip\n } = this.quill.theme;\n tooltip.edit('link', preview);\n } else {\n this.quill.format('link', false, Quill.sources.USER);\n }\n }\n }\n }\n }\n});\nexport default SnowTheme;\n//# sourceMappingURL=snow.js.map","import Quill, { Parchment, Range } from './core.js';\nimport { AlignClass, AlignStyle } from './formats/align.js';\nimport { DirectionAttribute, DirectionClass, DirectionStyle } from './formats/direction.js';\nimport Indent from './formats/indent.js';\nimport Blockquote from './formats/blockquote.js';\nimport Header from './formats/header.js';\nimport List from './formats/list.js';\nimport { BackgroundClass, BackgroundStyle } from './formats/background.js';\nimport { ColorClass, ColorStyle } from './formats/color.js';\nimport { FontClass, FontStyle } from './formats/font.js';\nimport { SizeClass, SizeStyle } from './formats/size.js';\nimport Bold from './formats/bold.js';\nimport Italic from './formats/italic.js';\nimport Link from './formats/link.js';\nimport Script from './formats/script.js';\nimport Strike from './formats/strike.js';\nimport Underline from './formats/underline.js';\nimport Formula from './formats/formula.js';\nimport Image from './formats/image.js';\nimport Video from './formats/video.js';\nimport CodeBlock, { Code as InlineCode } from './formats/code.js';\nimport Syntax from './modules/syntax.js';\nimport Table from './modules/table.js';\nimport Toolbar from './modules/toolbar.js';\nimport Icons from './ui/icons.js';\nimport Picker from './ui/picker.js';\nimport ColorPicker from './ui/color-picker.js';\nimport IconPicker from './ui/icon-picker.js';\nimport Tooltip from './ui/tooltip.js';\nimport BubbleTheme from './themes/bubble.js';\nimport SnowTheme from './themes/snow.js';\nQuill.register({\n 'attributors/attribute/direction': DirectionAttribute,\n 'attributors/class/align': AlignClass,\n 'attributors/class/background': BackgroundClass,\n 'attributors/class/color': ColorClass,\n 'attributors/class/direction': DirectionClass,\n 'attributors/class/font': FontClass,\n 'attributors/class/size': SizeClass,\n 'attributors/style/align': AlignStyle,\n 'attributors/style/background': BackgroundStyle,\n 'attributors/style/color': ColorStyle,\n 'attributors/style/direction': DirectionStyle,\n 'attributors/style/font': FontStyle,\n 'attributors/style/size': SizeStyle\n}, true);\nQuill.register({\n 'formats/align': AlignClass,\n 'formats/direction': DirectionClass,\n 'formats/indent': Indent,\n 'formats/background': BackgroundStyle,\n 'formats/color': ColorStyle,\n 'formats/font': FontClass,\n 'formats/size': SizeClass,\n 'formats/blockquote': Blockquote,\n 'formats/code-block': CodeBlock,\n 'formats/header': Header,\n 'formats/list': List,\n 'formats/bold': Bold,\n 'formats/code': InlineCode,\n 'formats/italic': Italic,\n 'formats/link': Link,\n 'formats/script': Script,\n 'formats/strike': Strike,\n 'formats/underline': Underline,\n 'formats/formula': Formula,\n 'formats/image': Image,\n 'formats/video': Video,\n 'modules/syntax': Syntax,\n 'modules/table': Table,\n 'modules/toolbar': Toolbar,\n 'themes/bubble': BubbleTheme,\n 'themes/snow': SnowTheme,\n 'ui/icons': Icons,\n 'ui/picker': Picker,\n 'ui/icon-picker': IconPicker,\n 'ui/color-picker': ColorPicker,\n 'ui/tooltip': Tooltip\n}, true);\nexport { Module } from './core.js';\nexport { Parchment, Range };\nexport default Quill;\n//# sourceMappingURL=quill.js.map","import Bold from './bold.js';\nclass Italic extends Bold {\n static blotName = 'italic';\n static tagName = ['EM', 'I'];\n}\nexport default Italic;\n//# sourceMappingURL=italic.js.map","import Bold from './bold.js';\nclass Strike extends Bold {\n static blotName = 'strike';\n static tagName = ['S', 'STRIKE'];\n}\nexport default Strike;\n//# sourceMappingURL=strike.js.map","import m from 'mithril';\nimport { MeiosisComponent, t } from '../../services';\nimport { ID, Narrative, ScenarioComponent } from '../../models';\nimport { joinListWithAnd } from '../../utils';\n\n// Define interfaces for our data structure\nexport type KeyDriver = {\n key: string;\n possibleValues: string[];\n selectedValue: string;\n};\n\nexport type ScenarioParagraphAttrs = {\n template: string;\n};\n\n// Helper function to replace placeholders with select elements\nconst replacePlaceholders = (\n text: string,\n keyDrivers: ScenarioComponent[] = [],\n components: { [key: ID]: ID[] } = {}\n): Array<string | m.Vnode> => {\n const lookup = keyDrivers.reduce((acc, cur, idx) => {\n acc[cur.id] = idx;\n return acc;\n }, {} as Record<ID, number>);\n\n // console.log(keyDrivers.map((k) => [k.label, k.id]).join('\\n'));\n\n const parseTextWithPlaceholders = (input: string): string[] => {\n const regex = /({[^}]+})|([^{}]+)/g;\n const matches = input.match(regex);\n return matches ? matches : [];\n };\n\n const parts = parseTextWithPlaceholders(text).map((s) => {\n console.log(s);\n if (s.startsWith('{') && s.endsWith('}')) {\n const id = s.substring(1, s.length - 1);\n console.log(id);\n const c = keyDrivers[lookup[id]];\n if (!c) return id;\n const resolvedLabel =\n c.values && components[c.id]\n ? `${joinListWithAnd(\n c.values\n .filter((v) => components[c.id].includes(v.id))\n .map((v) => v.label),\n t('AND'),\n '',\n false\n )}`\n : ' ... ';\n return m('strong', resolvedLabel);\n } else {\n return s;\n }\n });\n\n return parts;\n};\n\n// The main component\nexport const ScenarioParagraph: MeiosisComponent<\n ScenarioParagraphAttrs\n> = () => {\n return {\n view: ({ attrs }) => {\n const {\n template,\n state: { model, curNarrative = {} as Narrative },\n } = attrs;\n const {\n scenario: { components: modelComps = [] },\n } = model;\n\n const { components = {} } = curNarrative;\n const extractIds = /{(\\d+)}/g;\n const idBasedTemplate = template\n .split(extractIds)\n .map((t) =>\n t.replace(/\\d+/, (i) =>\n +i < modelComps.length\n ? `{${modelComps[+i - 1].id}}`\n : `??? ${i} ???`\n )\n )\n .join('');\n return idBasedTemplate\n .split(/\\n/g)\n .map((t) => t.trim())\n .filter(Boolean)\n .map((t) =>\n m('.scenario-paragraph', [\n replacePlaceholders(t, modelComps, components),\n ])\n );\n },\n };\n};\n","import m, { FactoryComponent } from 'mithril';\nimport Quill from 'quill';\nimport {\n FlatButton,\n ISelectOptions,\n Icon,\n InputCheckbox,\n ModalPanel,\n Select,\n TextInput,\n uniqueId,\n} from 'mithril-materialized';\nimport { Dashboards, ID, Narrative } from '../models';\nimport {\n MeiosisComponent,\n saveModel,\n saveNarrative,\n setPage,\n t,\n updateNarrative,\n} from '../services';\nimport {\n deepCopy,\n generateNarrative,\n generateUniqueTitle,\n narrativesToOptions,\n} from '../utils';\nimport { range } from 'mithril-ui-form';\nimport { ScenarioParagraph } from './ui/scenario-paragraph';\n\nconst ToggleIcon: FactoryComponent<{\n on: string;\n off: string;\n value: boolean;\n disabled?: boolean;\n callback: (newValue: boolean) => void;\n}> = () => {\n return {\n view: ({ attrs: { on, off, value, disabled, callback } }) => {\n const iconName = value ? on : off;\n return m(Icon, {\n className: `clickable${disabled ? ' grey-text' : ''}`,\n iconName,\n disabled,\n onclick: disabled ? {} : () => callback(!value),\n });\n },\n };\n};\n\nconst calculateRisk = (narrative: Narrative) => {\n const { probability, impact } = narrative;\n if (typeof probability !== 'string' || typeof impact !== 'string') return;\n const p = +probability.replace(/[a-zA-Z_]/g, '');\n const i = +impact.replace(/[a-zA-Z_]/g, '');\n const riskMatrix: number[][] = [\n [0, 0, 1, 2, 3],\n [0, 1, 2, 3, 4],\n [1, 2, 3, 4, 4],\n [2, 3, 4, 4, 4],\n [3, 4, 4, 4, 4],\n ];\n narrative.risk = 'risk_' + riskMatrix[p][i];\n console.log(\n `Risk = probability x impact: ${probability} x ${impact} = ${narrative.risk}`\n );\n};\n\nexport const CategoryTable: MeiosisComponent<{\n catId: ID;\n excluded: Set<string>;\n}> = () => {\n let lockState = false;\n\n return {\n view: ({ attrs }) => {\n const {\n catId,\n excluded,\n state: {\n model,\n excludedComps = {},\n lockedComps = {},\n curNarrative = {} as Narrative,\n },\n } = attrs;\n const {\n scenario: { categories = [], components: modelComps = [] },\n } = model;\n const multipleCategories = categories.length > 1;\n const category = categories.filter((c) => c.id === catId).shift();\n const componentIds = category?.componentIds;\n const comps =\n componentIds &&\n modelComps.filter((c) => componentIds.indexOf(c.id) >= 0);\n\n const { components = {} } = curNarrative;\n\n return (\n category &&\n comps &&\n m('.scenario-table.row', [\n m('.col.s11', multipleCategories && m('h5', category.label)),\n m('.col.s1.icons', [\n // m(ToggleIcon, {\n // on: 'visibility',\n // off: 'visibility_off',\n // value: true,\n // callback: () => {\n // attrs.update({\n // excludedComps: (e = {}) => {\n // category?.componentIds.forEach((id) => delete e[id]);\n // return e;\n // },\n // });\n // },\n // }),\n m(ToggleIcon, {\n on: 'lock_open',\n off: 'lock',\n value: lockState,\n callback: (v) => {\n lockState = v;\n attrs.update({\n lockedComps: (l = {}) => {\n category?.componentIds?.forEach(\n (id) => (l[id] = lockState)\n );\n return l;\n },\n });\n },\n }),\n ]),\n comps.map((c) => [\n [\n m(Select, {\n label: c.label,\n key: `key_${c.id}_${excludedComps[c.id]}`,\n className: 'col s11',\n multiple: true,\n disabled:\n typeof excludedComps[c.id] !== 'undefined' &&\n excludedComps[c.id],\n initialValue: components[c.id],\n options: c.values?.filter((c) => !excluded.has(c.id)),\n placeholder: t('i18n', 'pick'),\n onchange: (ids) => {\n if (!curNarrative.components) {\n curNarrative.components = {};\n }\n curNarrative.components[c.id] = ids;\n updateNarrative(attrs, curNarrative);\n },\n } as ISelectOptions<string>),\n ],\n m('.col.s1.icons', [\n // m(ToggleIcon, {\n // on: 'visibility',\n // off: 'visibility_off',\n // disabled: c.manual,\n // value: excludedComps[c.id] ? false : true,\n // callback: (v) => {\n // attrs.update({\n // excludedComps: (e = {}) => {\n // e[c.id] = !v;\n // return e;\n // },\n // });\n // },\n // }),\n m(ToggleIcon, {\n on: 'lock_open',\n off: 'lock',\n disabled: c.manual,\n value: c.manual || lockedComps[c.id] ? false : true,\n callback: (v) => {\n attrs.update({\n lockedComps: (e = {}) => {\n e[c.id] = !v;\n return e;\n },\n });\n },\n }),\n ]),\n ]),\n ])\n );\n },\n };\n};\n\nexport const CreateScenarioPage: MeiosisComponent = () => {\n let editor: Quill;\n let lockState = false;\n let version = 0;\n\n return {\n oninit: ({ attrs }) => setPage(attrs, Dashboards.CREATE_SCENARIO),\n view: ({ attrs }) => {\n const {\n state: { model, curNarrative = {} as Narrative, lockedComps = {} },\n } = attrs;\n const {\n template,\n categories = [],\n inconsistencies = {},\n hideInconsistentValues = false,\n } = model.scenario;\n const narratives = model.scenario && model.scenario.narratives;\n const excluded =\n curNarrative.components && hideInconsistentValues\n ? Object.keys(curNarrative.components)\n .filter((cur) => curNarrative.components[cur])\n .reduce((acc, cur) => {\n curNarrative.components[cur].forEach(\n (v) =>\n inconsistencies[v] &&\n Object.keys(inconsistencies[v]).forEach(\n (id) => inconsistencies[v][id] && acc.add(id)\n )\n );\n return acc;\n }, new Set<string>())\n : new Set<string>();\n const selectOptions = narrativesToOptions(model.scenario.narratives);\n\n return m('.create-scenario.row', [\n m('.col.s12', [\n m(FlatButton, {\n label: t('GENERATE_NARRATIVE'),\n iconName: 'refresh',\n onclick: () => {\n const { components = {} } = curNarrative;\n const locked = components\n ? Object.keys(lockedComps).reduce((acc, cur) => {\n if (lockedComps[cur]) {\n acc[cur] = components[cur];\n }\n return acc;\n }, {} as Record<ID, ID[]>)\n : ({} as Record<ID, ID[]>);\n model.scenario.components\n .filter((c) => c.manual)\n .forEach((c) => {\n locked[c.id] = components[c.id];\n });\n const narrative = generateNarrative(model.scenario, locked);\n if (!narrative) {\n alert(t('NO_NARRATIVE'));\n } else {\n version++;\n attrs.update({ curNarrative: () => narrative });\n }\n },\n }),\n m(FlatButton, {\n label: t('CLEAR_NARRATIVE'),\n iconName: 'clear',\n style: 'margin-left: 10px;',\n onclick: () => {\n version = version === 0 ? 1 : 0;\n editor.setContents([] as any);\n attrs.update({\n lockedComps: () => ({}),\n curNarrative: () =>\n ({ included: false, components: {} } as Narrative),\n });\n },\n }),\n curNarrative.saved\n ? [\n m(FlatButton, {\n label: t('CLONE_NARRATIVE'),\n iconName: 'content_copy',\n style: 'margin-left: 10px;',\n onclick: () => {\n const newNarrative: Narrative = deepCopy(curNarrative);\n newNarrative.id = uniqueId();\n newNarrative.saved = false;\n newNarrative.label = generateUniqueTitle(\n curNarrative.label,\n model.scenario.narratives?.map((n) => n.label)\n );\n saveNarrative(attrs, newNarrative);\n },\n }),\n m(FlatButton, {\n label: t('DELETE'),\n iconName: 'delete',\n modalId: 'deleteSavedNarrative',\n }),\n m(ModalPanel, {\n id: 'deleteSavedNarrative',\n title: t('DELETE_ITEM', 'title', { item: t('NARRATIVE') }),\n description: t('DELETE_ITEM', 'description', {\n item: t('NARRATIVE'),\n }),\n buttons: [\n {\n label: t('CANCEL'),\n },\n {\n label: t('OK'),\n onclick: () => {\n version = 0;\n model.scenario.narratives =\n model.scenario.narratives.filter(\n (n) => n.id !== curNarrative.id\n );\n lockState = true;\n editor.setContents([]);\n lockState = false;\n attrs.update({\n curNarrative: () =>\n ({ included: false, components: {} } as Narrative),\n lockedComps: () => undefined,\n });\n saveModel(attrs, model);\n },\n },\n ],\n }),\n ]\n : [\n m(FlatButton, {\n label: t('SAVE_NARRATIVE'),\n iconName: 'save',\n disabled:\n !curNarrative.label ||\n !curNarrative.components ||\n Object.keys(curNarrative.components).length === 0,\n onclick: () => {\n saveNarrative(attrs, curNarrative);\n },\n }),\n ],\n narratives && [\n m(Select, {\n key: Date.now(),\n className: 'right mb0 w30',\n label: t('SELECT_NARRATIVE'),\n checkedId: curNarrative.saved ? curNarrative.id : undefined,\n placeholder: t('i18n', 'pickOne'),\n options: selectOptions,\n onchange: (v) => {\n if (v && v.length > 0) {\n version++;\n const newNarrative = narratives\n .filter((n) => n.id === v[0])\n .shift();\n lockState = true;\n editor.setContents(\n newNarrative && newNarrative.desc\n ? JSON.parse(newNarrative.desc)\n : []\n );\n lockState = false;\n // if (newNarrative) newNarrative.included = true;\n attrs.update({\n curNarrative: () => newNarrative,\n lockedComps: () =>\n model.scenario.components.reduce((acc, cur) => {\n acc[cur.id] = true;\n return acc;\n }, {} as Record<ID, boolean>),\n });\n }\n },\n } as ISelectOptions<string>),\n ],\n ]),\n template\n ? m(ScenarioParagraph, {\n ...attrs,\n template,\n })\n : '',\n categories.map((c, i) =>\n m(\n '.col.s12',\n {\n className: `m${Math.round(12 / categories.length)}`,\n key: 10000 * version + i,\n },\n m(CategoryTable, {\n ...attrs,\n catId: c.id,\n excluded,\n })\n )\n ),\n m('.col.s12', [\n m('.row', [\n m(TextInput, {\n className: 'col s6 m3',\n initialValue: curNarrative.label,\n label: t('NAME_NARRATIVE'),\n required: true,\n onchange: (n) => {\n curNarrative.label = n;\n updateNarrative(attrs, curNarrative);\n },\n }),\n m(InputCheckbox, {\n className: 'col s6 m3 mt25',\n checked: curNarrative.included,\n label: t('INCLUDE_NARRATIVE'),\n onchange: (n) => {\n curNarrative.included = n;\n updateNarrative(attrs, curNarrative);\n },\n }),\n model.scenario.includeDecisionSupport && [\n m(Select, {\n key: `prob${curNarrative.id}`,\n placeholder: t('i18n', 'pick'),\n className: 'col s6 m2',\n label: t('PROBABILITY'),\n initialValue: curNarrative.probability,\n options: range(0, 4).map((id) => ({\n id: `probability_${id}`,\n label: t('PROB5', id),\n })),\n onchange: (n) => {\n curNarrative.probability = n[0];\n calculateRisk(curNarrative);\n updateNarrative(attrs, curNarrative);\n },\n } as ISelectOptions<string>),\n m(Select, {\n key: `imp${curNarrative.id}`,\n placeholder: t('i18n', 'pick'),\n className: 'col s6 m2',\n label: t('IMPACT'),\n initialValue: curNarrative.impact,\n options: range(0, 4).map((id) => ({\n id: `impact_${id}`,\n label: t('IMP5', id),\n })),\n onchange: (n) => {\n curNarrative.impact = n[0];\n calculateRisk(curNarrative);\n updateNarrative(attrs, curNarrative);\n },\n } as ISelectOptions<string>),\n m(Select, {\n key: `${curNarrative.id}-${curNarrative.probability}-${curNarrative.impact}`,\n placeholder: t('RISK_PLACEHOLDER'),\n className: 'col s6 m2',\n label: t('RISK'),\n initialValue: curNarrative.risk,\n options: range(0, 4).map((id) => ({\n id: `risk_${id}`,\n label: t('RISK5', id),\n // img: 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMi4zNzggNTAuMDEzQTQ3Ljc0NSA0Ny42NjMgMCAwMTUwLjE0NCAyLjM3OGE0Ny43NDUgNDcuNjYzIDAgMDE0Ny43MjMgNDcuNjc3IDQ3Ljc0NSA0Ny42NjMgMCAwMS00Ny43NTEgNDcuNjQ5QTQ3Ljc0NSA0Ny42NjMgMCAwMTIuMzc4IDUwLjA0IiBmaWxsPSIjZDcxOTFjIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSI0LjA3MiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+',\n // img: svgToDataURI(createCircleSVG(trafficLight[id], 30)),\n })),\n disabled: true,\n } as ISelectOptions<string>),\n ],\n ]),\n // m('#toolbar'),\n [\n m('#editor', {\n oncreate: () => {\n editor = new Quill('#editor', {\n // debug: 'info',\n modules: {\n // table: true,\n toolbar: [\n [{ header: [1, 2, false] }],\n ['bold', 'italic', 'underline', 'strike'],\n [{ list: 'ordered' }, { list: 'bullet' }],\n [{ script: 'sub' }, { script: 'super' }], // superscript/subscript\n [{ indent: '-1' }, { indent: '+1' }], // outdent/indent\n [\n { color: [] },\n // , { background: [] }\n ], // dropdown with defaults from theme\n // [{ font: [] }],\n [{ align: [] }],\n // [{ size: ['small', false, 'large', 'huge'] }],\n ['image', 'code-block'],\n ],\n },\n placeholder: t('EDITOR_PLACEHOLDER'),\n readOnly: false,\n theme: 'snow',\n });\n editor.on('text-change', () => {\n if (lockState) return;\n const { curNarrative } = attrs.getState();\n if (!curNarrative) return;\n curNarrative.desc = JSON.stringify(editor.getContents());\n updateNarrative(attrs, curNarrative);\n });\n if (curNarrative) {\n editor.setContents(\n curNarrative.desc ? JSON.parse(curNarrative.desc) : []\n );\n }\n },\n }),\n ],\n ]),\n ]);\n },\n };\n};\n","export const htmlTemplate = ({\n body,\n lang,\n css = cssTable,\n}: {\n body: string;\n lang: string;\n css?: string;\n}): string => `\n<!doctype html>\n<html lang=\"${lang}\">\n<head>\n ${css}\n</head>\n\n<body>\n ${body}\n</body>\n</html>\n`;\n\nexport const cssTable = `<style>\ntd, th {\n text-align: left;\n border: 1px solid black;\n padding: 0.5rem;\n}\nth {\n background-color:#999;\n}\ntable {\n font-family: Calibri;\n font-size: 11pt;\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0.5rem;\n}\n</style>`;\n","import m, { FactoryComponent } from 'mithril';\nimport {\n Dashboards,\n DataModel,\n ID,\n Narrative,\n ScenarioComponent,\n} from '../models';\nimport { MeiosisComponent, i18n, setPage, t } from '../services';\nimport {\n Select,\n ISelectOptions,\n FlatButton,\n InputCheckbox,\n uniqueId,\n} from 'mithril-materialized';\nimport { deepCopy } from 'mithril-ui-form';\nimport Quill from 'quill';\nimport { generateWord } from 'quill-to-word';\nimport {\n createCircleSVG,\n modelToSaveName,\n narrativesToOptions,\n svgToDataURI,\n trafficLight,\n} from '../utils';\nimport { htmlTemplate } from '../assets/html-styles';\nimport { ScenarioParagraph } from './ui/scenario-paragraph';\n\nconst CategoryTable: FactoryComponent<{\n curNarrative?: Narrative;\n comps?: ScenarioComponent[];\n}> = () => {\n let id: string;\n return {\n oninit: () => (id = uniqueId()),\n view: ({ attrs: { curNarrative = {} as Narrative, comps } }) => {\n const { components } = curNarrative;\n const lookup =\n comps &&\n comps.reduce((acc, cur) => {\n cur.values &&\n cur.values.forEach((v) => {\n acc[cur.id + v.id] = v.label;\n });\n return acc;\n }, {} as Record<string, string>);\n return [\n m('table.highlight', { id }, [\n m(\n 'thead',\n m('tr', [m('th', t('DIMENSION')), m('th', t('KEY_VALUE'))])\n ),\n m(\n 'tbody',\n components &&\n comps &&\n lookup &&\n comps\n .filter((c) => components[c.id])\n .map((c) => {\n return m('tr', [\n m('th', c.label),\n m(\n 'td',\n components[c.id].map((id) => lookup[c.id + id]).join(', ')\n ),\n ]);\n })\n ),\n ]),\n\n m(FlatButton, {\n label: t('COPY_TO_CLIPBOARD'),\n className: 'right',\n iconName: 'content_copy',\n onclick: () => {\n function listener(e: ClipboardEvent) {\n if (!e.clipboardData) return;\n const table = document.getElementById(id);\n if (!table) return;\n console.log(table.outerHTML);\n e.clipboardData.setData(\n 'text/html',\n htmlTemplate({\n body: table.outerHTML,\n lang: i18n.currentLocale,\n })\n );\n // e.clipboardData.setData('text/plain', md);\n e.preventDefault();\n }\n document.addEventListener('copy', listener);\n document.execCommand('copy');\n document.removeEventListener('copy', listener);\n },\n }),\n ];\n },\n };\n};\n\nexport const ShowScenarioPage: MeiosisComponent = () => {\n let editor: Quill;\n\n const exportToWord = async (model: DataModel, narrativeName?: string) => {\n const delta = editor.getContents();\n const blob = await generateWord(delta, {\n exportAs: 'blob',\n paragraphStyles: {\n normal: {\n paragraph: {\n spacing: {\n before: 0,\n after: 12,\n },\n },\n run: {\n font: 'Calibri',\n size: 24,\n },\n },\n },\n });\n\n const dlAnchorElem = document.getElementById('downloadAnchorElem');\n if (!dlAnchorElem) {\n return;\n }\n model.version = model.version ? model.version++ : 1;\n dlAnchorElem.setAttribute('href', URL.createObjectURL(blob as Blob));\n dlAnchorElem.setAttribute(\n 'download',\n `${modelToSaveName(model, narrativeName)}.docx`\n );\n dlAnchorElem.click();\n };\n\n return {\n oninit: ({ attrs }) => setPage(attrs, Dashboards.SHOW_SCENARIO),\n view: ({ attrs }) => {\n const { state } = attrs;\n const { model, curNarrative } = state;\n\n const {\n scenario: { template, categories = [], components: modelComps = [] },\n } = model;\n const multipleCategories = categories.length > 1;\n if (\n (!curNarrative || !curNarrative.saved) &&\n model.scenario.narratives &&\n model.scenario.narratives.length > 0\n ) {\n const newNarrative = model.scenario.narratives[0];\n attrs.update({\n curNarrative: () => deepCopy(newNarrative),\n });\n return;\n }\n\n const selectOptions = narrativesToOptions(model.scenario.narratives);\n\n return m('.show-scenario.row', [\n m('a#downloadAnchorElem', { style: 'display:none' }),\n m('.col.s12', { style: 'font-size: 24px' }, [\n model.scenario &&\n model.scenario.narratives &&\n model.scenario.narratives.length > 0 && [\n m(Select, {\n className: 'left mb0 mw30',\n label: t('SELECT_NARRATIVE'),\n checkedId:\n curNarrative && curNarrative.saved\n ? curNarrative.id\n : undefined,\n placeholder: t('i18n', 'pickOne'),\n options: selectOptions,\n onchange: (v) => {\n if (v && v.length > 0) {\n const newNarrative = model.scenario.narratives\n .filter((n) => n.id === v[0])\n .shift();\n if (newNarrative) {\n editor.setContents(\n newNarrative.desc ? JSON.parse(newNarrative.desc) : []\n );\n }\n attrs.update({\n curNarrative: () => deepCopy(newNarrative),\n lockedComps: () =>\n model.scenario.components.reduce((acc, cur) => {\n acc[cur.id] = true;\n return acc;\n }, {} as Record<ID, boolean>),\n });\n }\n },\n } as ISelectOptions<string>),\n curNarrative && [\n curNarrative.risk &&\n m('img[title=risk-status].right', {\n src: svgToDataURI(\n createCircleSVG(\n trafficLight[+curNarrative.risk.replace('risk_', '')],\n 48\n )\n ),\n }),\n m(FlatButton, {\n label: t('EXPORT2WORD'),\n iconName: 'download',\n className: 'right mt5',\n disabled: !curNarrative.desc,\n onclick: () => exportToWord(model, curNarrative.label),\n }),\n m(InputCheckbox, {\n checked: curNarrative.included,\n label: t('NARRATIVE_INCLUDED'),\n disabled: true,\n className: 'right',\n }),\n ],\n ],\n ]),\n curNarrative && [\n m(\n '.col.s12',\n {\n oncreate: () => {\n editor = new Quill('#editor', {\n modules: {\n toolbar: false,\n },\n readOnly: true,\n theme: 'snow',\n });\n editor.setContents(\n curNarrative.desc ? JSON.parse(curNarrative.desc) : []\n );\n },\n },\n [m('.col.s12', [m('#editor.row', {})])]\n ),\n template\n ? m(\n '.col.s12',\n m(ScenarioParagraph, {\n ...attrs,\n template,\n })\n )\n : '',\n m(\n '.col.s12',\n m('.row', [\n categories.map((category) => {\n const componentIds = category && category.componentIds;\n const comps =\n componentIds &&\n modelComps.filter((c) => componentIds.indexOf(c.id) >= 0);\n return m(\n '.col',\n {\n className: `s${12 / categories.length}`,\n },\n multipleCategories && m('h5', category.label),\n m(CategoryTable, { curNarrative, comps })\n );\n }),\n ])\n ),\n ],\n ]);\n },\n };\n};\n","import m from 'mithril';\nimport {\n Dashboards,\n DataModel,\n ID,\n Item,\n Narrative,\n ScenarioComponent,\n} from '../models';\nimport { MeiosisComponent, setPage, t } from '../services';\nimport { TableView } from './home-page';\nimport { range } from 'mithril-ui-form';\n\nexport const DecisionSupportPage: MeiosisComponent = () => {\n let comps: ScenarioComponent[];\n\n const toComponent = (\n id: string,\n label: string,\n values: Item[]\n ): ScenarioComponent => {\n const comp: ScenarioComponent = {\n id,\n label,\n values,\n };\n\n return comp;\n };\n\n const riskComponentIds = ['probability', 'impact', 'risk'];\n\n const setupComponents = (model: DataModel) => {\n const {\n scenario: { components, categories },\n } = model;\n comps = categories\n .filter((c) => c.decisionSupport)\n .reduce(\n (acc, c) => {\n acc.push(\n ...components.filter(\n (comp) => c.componentIds && c.componentIds.includes(comp.id)\n )\n );\n return acc;\n },\n [\n toComponent(\n 'probability',\n t('PROBABILITY'),\n range(0, 4).map((id) => ({\n id: `probability_${id}`,\n label: t('PROB5', id),\n }))\n ),\n toComponent(\n 'impact',\n t('IMPACT'),\n range(0, 4).map((id) => ({\n id: `impact_${id}`,\n label: t('IMP5', id),\n }))\n ),\n toComponent(\n 'risk',\n t('RISK'),\n range(0, 4).map((id) => ({\n id: `risk_${id}`,\n label: t('RISK5', id),\n }))\n ),\n ] as ScenarioComponent[]\n );\n };\n\n return {\n oninit: ({ attrs }) => {\n setPage(attrs, Dashboards.DECISION_SUPPORT);\n },\n // oncreate: () => {\n // const match = /#([a-zA-Z]*)/.exec(m.route.get());\n // if (match && match.length > 0) {\n // setTimeout(() => scrollToSection(match[1]), 100);\n // }\n // },\n view: ({ attrs }) => {\n const { model } = attrs.state;\n const {\n scenario: { narratives = [] },\n } = model;\n setupComponents(model);\n\n const selectedNarratives = narratives\n .filter((n) => n.included)\n .sort((a, b) => (a.label || '').localeCompare(b.label));\n\n /** Weights is a value between 1 (very low risk) and 5 (very high risk) */\n const weights = selectedNarratives\n .map((n) => n.risk || '0')\n .map((s) => +s.replace('risk_', '') + 1);\n\n const suggestedApproach: Narrative = {\n id: 'suggested_approach',\n included: true,\n saved: false,\n label: t('SUGGESTED_APPROACH', 'TITLE'),\n desc: t('SUGGESTED_APPROACH', 'DESC'),\n components: comps\n .filter((c) => !riskComponentIds.includes(c.id))\n .reduce((acc, c) => {\n const measures = selectedNarratives\n .map((n) => n.components && n.components[c.id])\n .reduce((acc, c, i) => {\n if (!c || c.length === 0) return acc;\n c.filter((c) => c).forEach((id) =>\n acc.set(id, (acc.get(id) || 0) + weights[i])\n );\n return acc;\n }, new Map<ID, number>());\n const highScore = Math.max(...Array.from(measures.values()));\n acc[c.id] = Array.from(measures.entries())\n .filter(([_, count]) => count === highScore)\n .map(([id, _]) => id);\n return acc;\n }, {} as { [key: ID]: ID[] }),\n };\n\n selectedNarratives.push(suggestedApproach);\n\n return m('.row.decision-support', [\n // categories.map((c) =>\n m(TableView, {\n ...attrs,\n narratives: selectedNarratives,\n components: comps,\n }),\n // ),\n ]);\n },\n };\n};\n","import m, { RouteDefs } from 'mithril';\nimport { Dashboards, IDashboard } from '../models';\nimport { Layout } from '../components/layout';\nimport {\n AboutPage,\n CreateBoxPage,\n CreateScenarioPage,\n DecisionSupportPage,\n HomePage,\n SettingsPage,\n ShowScenarioPage,\n} from '../components';\nimport { cells } from './state-mgmt';\nimport { t } from './translations';\n\nclass RoutingService {\n private dashboards!: ReadonlyArray<IDashboard>;\n\n constructor() {}\n\n public init() {\n const routes: IDashboard[] = [\n {\n id: Dashboards.HOME,\n icon: 'home',\n title: t('HOME', 'TITLE'),\n route: t('HOME', 'ROUTE'),\n visible: true,\n default: true,\n component: HomePage,\n },\n {\n id: Dashboards.DEFINE_BOX,\n icon: 'grid_view',\n title: t('DEFINE_BOX', 'TITLE'),\n route: t('DEFINE_BOX', 'ROUTE'),\n visible: true,\n component: CreateBoxPage,\n },\n {\n id: Dashboards.CREATE_SCENARIO,\n icon: 'edit',\n title: t('CREATE_SCENARIO', 'TITLE'),\n route: t('CREATE_SCENARIO', 'ROUTE'),\n visible: true,\n component: CreateScenarioPage,\n },\n {\n id: Dashboards.DECISION_SUPPORT,\n icon: 'assistant_direction',\n title: t('DECISION_SUPPORT', 'TITLE'),\n route: t('DECISION_SUPPORT', 'ROUTE'),\n visible: (scenario) =>\n scenario ? scenario.includeDecisionSupport : false,\n component: DecisionSupportPage,\n },\n {\n id: Dashboards.SHOW_SCENARIO,\n icon: 'visibility',\n title: t('SHOW_SCENARIO', 'TITLE'),\n route: t('SHOW_SCENARIO', 'ROUTE'),\n visible: true,\n component: ShowScenarioPage,\n },\n {\n id: Dashboards.ABOUT,\n icon: 'info',\n title: t('ABOUT', 'TITLE'),\n route: t('ABOUT', 'ROUTE'),\n visible: true,\n component: AboutPage,\n },\n {\n id: Dashboards.SETTINGS,\n icon: 'settings',\n iconClass: 'blue-text',\n title: t('SETTINGS', 'TITLE'),\n route: t('SETTINGS', 'ROUTE'),\n visible: true,\n component: SettingsPage,\n },\n ];\n // console.log(JSON.stringify(routes, null, 2));\n this.setList(routes);\n // console.log(JSON.stringify(this.dashboards, null, 2));\n }\n\n public getList() {\n return this.dashboards;\n }\n\n public setList(list: IDashboard[]) {\n this.dashboards = Object.freeze(list);\n }\n\n public get defaultRoute() {\n const dashboard = this.dashboards.filter((d) => d.default).shift();\n return dashboard ? dashboard.route : this.dashboards[0].route;\n }\n\n public route(\n dashboardId: Dashboards,\n query?: { [key: string]: string | number | undefined }\n ) {\n const dashboard = this.dashboards\n .filter((d) => d.id === dashboardId)\n .shift();\n return dashboard\n ? '#!' + dashboard.route + (query ? '?' + m.buildQueryString(query) : '')\n : this.defaultRoute;\n }\n\n public href(dashboardId: Dashboards, params = '' as string | number) {\n const dashboard = this.dashboards\n .filter((d) => d.id === dashboardId)\n .shift();\n return dashboard\n ? `#!${dashboard.route.replace(/:\\w*/, '')}${params}`\n : this.defaultRoute;\n }\n\n public switchTo(\n dashboardId: Dashboards,\n params?: { [key: string]: string | number | undefined },\n query?: { [key: string]: string | number | undefined }\n ) {\n const dashboard = this.dashboards\n .filter((d) => d.id === dashboardId)\n .shift();\n if (dashboard) {\n const url =\n dashboard.route + (query ? '?' + m.buildQueryString(query) : '');\n m.route.set(url, params);\n }\n }\n\n public routingTable() {\n return this.dashboards.reduce((p, c) => {\n p[c.route] =\n c.hasNavBar === false\n ? {\n render: () => m(c.component, cells()),\n }\n : {\n // onmatch:\n // c.id === Dashboards.LOGIN\n // ? undefined\n // : () => {\n // if (c.id !== Dashboards.HOME && !Auth.isLoggedIn()) m.route.set('/login');\n // },\n render: () => m(Layout, cells(), m(c.component, cells())),\n };\n return p;\n }, {} as RouteDefs);\n }\n}\n\nexport const routingSvc: RoutingService = new RoutingService();\n","import m from 'mithril';\nimport 'material-icons/iconfont/filled.css';\nimport 'materialize-css/dist/css/materialize.min.css';\nimport 'materialize-css/dist/js/materialize.min.js';\nimport './css/style.css';\nimport 'quill/dist/quill.snow.css';\nimport { routingSvc } from './services/routing-service';\nimport { Languages, i18n } from './services';\nimport { LANGUAGE, SAVED } from './utils';\n\nwindow.onbeforeunload = (e) => {\n if (localStorage.getItem(SAVED) === 'true') return;\n localStorage.setItem(SAVED, 'true');\n e.preventDefault(); // This is necessary for older browsers\n e.returnValue = ''; // For modern browsers\n};\n\ni18n.addOnChangeListener((_locale: string) => {\n console.log(`Language loaded`);\n routingSvc.init();\n m.route(document.body, routingSvc.defaultRoute, routingSvc.routingTable());\n});\ni18n.init(\n {\n en: { name: 'English', fqn: 'en-UK', default: true },\n nl: { name: 'Nederlands', fqn: 'nl-NL' },\n },\n (window.localStorage.getItem(LANGUAGE) || 'nl') as Languages\n);\n"],"names":["root","factory","self","modules","installedModules","moduleId","module","exports","name","getter","Object","object","property","__export","m","p","g","Function","eval","e","window","pna","objectKeys","obj","keys","key","Duplex","util","Readable","Writable","v","method","options","onend","onEndNT","undefined","value","err","cb","global","base64","ieee754","isArray","Buffer","length","typedArraySupport","arr","Uint8Array","kMaxLength","createBuffer","that","RangeError","arg","encodingOrOffset","Error","allocUnsafe","from","TypeError","ArrayBuffer","fromArrayBuffer","array","byteOffset","fromArrayLike","fromString","string","encoding","byteLength","actual","fromObject","len","checked","isnan","val","assertSize","size","Symbol","i","fill","loweredCase","utf8ToBytes","base64ToBytes","slowToString","start","end","hexSlice","buf","out","toHex","n","utf8Slice","asciiSlice","ret","Math","String","latin1Slice","base64Slice","utf16leSlice","bytes","res","swap","b","bidirectionalIndexOf","buffer","dir","isNaN","arrayIndexOf","indexSize","arrLength","valLength","read","foundIndex","found","j","a","x","y","list","pos","arguments","str","max","target","thisStart","thisEnd","thisCopy","targetCopy","asciiWrite","offset","blitBuffer","asciiToBytes","isFinite","remaining","hexWrite","Number","strLen","parsed","parseInt","latin1Write","utf16leToBytes","units","c","hi","lo","byteArray","Array","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","codePoints","checkOffset","ext","checkInt","min","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","mul","maxBytes","limit","sub","targetStart","code","INVALID_BASE64_RE","Infinity","leadSurrogate","base64clean","stringtrim","src","dst","ctor","superCtor","TempCtor","__webpack_require__","SpaceType","xml_components_1","emphasis_mark_1","formatting_1","run_fonts_1","script_1","style_1","underline_1","RunProperties","szCs","highlightCs","shading","shdCs","item","DocumentAttributes","cachedSetTimeout","cachedClearTimeout","currentQueue","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","runClearTimeout","marker","Item","noop","args","objectToString","re","d","o","fn","arg1","arg2","arg3","copyProps","SafeBuffer","PageNumber","break_1","field_1","page_number_1","properties_1","text_1","Run","child","FieldCharacterType","FidCharAttrs","Begin","dirty","Separate","End","UnderlineType","BaseUnderline","underlineType","color","Underline","DashUnderline","DashDotDotHeavyUnderline","DashDotHeavyUnderline","DashLongUnderline","DashLongHeavyUnderline","DotDashUnderline","DotDotDashUnderline","DottedUnderline","DottedHeavyUnderline","DoubleUnderline","SingleUnderline","ThickUnderline","WaveUnderline","WavyDoubleUnderline","WavyHeavyUnderline","WordsUnderline","alphabet","previousSeed","shuffled","randomFromSeed","ORIGINAL","reset","setCharacters","_alphabet_","unique","ind","getShuffled","shuffle","characterIndex","sourceArray","targetArray","r","seed","index","alphabetShuffled","alignment_1","bidirectional_1","border_1","indent_1","keep_1","page_break_1","spacing_1","tab_stop_1","unordered_list_1","links_1","ParagraphProperties","tabStop","math_beginning_character_1","math_ending_char_1","MathBracketProperties","LevelFormat","LevelSuffix","properties_2","LevelAttributes","Start","NumberFormat","LevelText","LevelJc","Suffix","LevelBase","level","format","text","alignment","style","suffix","Level","LevelForOverride","BaseXmlComponent","rootKey","xml2js","xml2json","js2xml","json2xml","ReflectOwnKeys","R","Reflect","ReflectApply","receiver","NumberIsNaN","EventEmitter","defaultMaxListeners","$getMaxListeners","_addListener","type","listener","prepend","events","existing","warning","w","console","onceWrapper","_onceWrap","state","wrapped","_listeners","unwrap","evlistener","unwrapListeners","arrayClone","listenerCount","copy","doError","er","handler","listeners","position","originalListener","spliceOne","emitter","setImmediate","realHasInstance","CorkedRequest","_this","onCorkedFinish","corkReq","entry","asyncWrite","WritableState","internalUtil","Stream","OurUint8Array","destroyImpl","nop","stream","isDuplex","hwm","writableHwm","defaultHwm","noDecode","onwrite","sync","onwriteError","finishMaybe","finished","needFinish","clearBuffer","afterWrite","current","_","chunk","valid","isBuf","writeAfterEnd","writeOrBuffer","newChunk","last","doWrite","writev","onwriteDrain","holder","count","allBuffers","callFinal","endWritable","need","isEncoding","StringDecoder","nb","normalizeEncoding","enc","nenc","_normalizeEncoding","retried","utf16Text","utf16End","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","utf8CheckByte","byte","total","utf8CheckIncomplete","utf8CheckExtraBytes","EmphasisMarkType","BaseEmphasisMark","emphasisMarkType","EmphasisMark","DotEmphasisMark","RunFontAttributes","RunFonts","nameOrAttrs","hint","HorizontalPositionRelativeFrom","VerticalPositionRelativeFrom","HorizontalPositionAlign","VerticalPositionAlign","VerticalMergeType","VerticalAlign","TextDirection","WidthType","CellBorderAttributes","BaseTableCellBorder","attrs","TableCellBorders","top","bottom","left","right","GridSpanAttributes","GridSpan","VerticalMergeAttributes","VerticalMerge","VAlignAttributes","VAlign","TDirectionAttributes","TDirection","TableCellWidthAttributes","TableCellWidth","components_1","StyleAttributes","Style","attributes","ComponentAttributes","Name","BasedOn","Next","Link","UiPriority","UnhideWhenUsed","QuickFormat","TableProperties","RsId","SemiHidden","paragraph_1","StyleForParagraph","StyleForCharacter","millimeters","inches","PageOrientation","PageSizeAttributes","footer_1","relationships_1","FooterWrapper","media","referenceId","initContent","childElement","TargetModeType","relationship_attributes_1","Relationship","id","targetMode","header_1","HeaderWrapper","AlignmentType","AlignmentAttributes","Alignment","base_1","XmlAttributeComponent","properties","currentElement","sax","expat","helper","nativeType","nValue","bValue","addField","temp","element","manipulateAttributes","onInstruction","instruction","match","attrsRegExp","onStartElement","onText","onComment","comment","onEndElement","parentElement","onCdata","cdata","onDoctype","doctype","onError","error","xml","userOptions","parser","result","toString","EE","inherits","dest","source","ondata","ondrain","onclose","didOnEnd","onerror","cleanup","ReadableState","EElistenerCount","debugUtil","debug","BufferList","kProxyEvents","readableHwm","readableAddChunk","addToFront","skipChunkCheck","onEofChunk","emitReadable","chunkInvalid","addChunk","maybeReadMore","needMoreData","howMuchToRead","nOrig","endReadable","doRead","fromList","emitReadable_","flow","maybeReadMore_","pipeOpts","endFn","doEnd","unpipe","onunpipe","readable","unpipeInfo","onfinish","cleanedUp","pipeOnDrain","increasedAwaitDrain","indexOf","prependListener","event","nReadingNextTick","dests","ev","resume","resume_","fromListPartial","hasStrings","copyFromBufferString","copyFromBuffer","paused","endReadableNT","xs","l","emitErrorNT","readableDestroyed","writableDestroyed","scope","apply","Timeout","clearFn","setInterval","clearInterval","msecs","Transform","afterTransform","data","ts","rs","prefinish","done","_this2","err2","currentElementName","writeIndentation","depth","firstLine","writeAttributes","attr","attrName","quote","writeDeclaration","declaration","writeInstruction","instructionName","instructionValue","writeComment","writeCdata","writeDoctype","writeText","writeElements","elements","elementName","withClosingTag","indent","hasContent","hasContentCompact","anyContent","writeElementsCompact","nodes","writeElementCompact","js","border_attributes_1","BorderProperty","Border","borderProperty","ThematicBreak","IndentAttributes","Indent","KeepLines","KeepNext","run_1","Break","PageBreak","PageBreakBefore","Bold","BoldComplexScript","CharacterSpacing","Italics","ItalicsComplexScript","Caps","Color","DoubleStrike","Emboss","Imprint","SmallCaps","Strike","Size","SizeComplexScript","RightToLeft","Highlight","HighlightComplexScript","Shading","ShadowComplexScript","SuperScript","SubScript","styleId","space_type_1","TextAttributes","Text","Align","PositionOffset","offsetValue","doc_properties_attributes_1","DocProperties","effect_extent_attributes_1","EffectExtent","extent_attributes_1","Extent","graphic_frame_locks_1","GraphicFrameProperties","AnchorAttributes","SpacingAttributes","Spacing","ContextualSpacing","HeadingLevel","TabStopType","LeaderType","TabStopPosition","TabStop","leader","TabStopItem","TabAttributes","NumberProperties","numberId","indentLevel","IndentLevel","NumberId","MathDenominator","children","MathNumerator","MathAccentCharacterAttributes","MathAccentCharacter","accent","MathBase","MathLimitLocationAttributes","MathLimitLocation","math_accent_character_1","math_limit_location_1","math_sub_script_hide_1","math_super_script_hide_1","MathNArayProperties","hasSuperScript","hasSubScript","MathSubScriptElement","MathSuperScriptElement","MathSuperScriptProperties","MathSubScriptProperties","MathSubSuperScriptProperties","MathPreSubSuperScriptProperties","MathDegree","math_degree_hide_1","MathRadicalProperties","hasDegree","MathFunctionName","MathFunctionProperties","styles_1","TableBorders","TableBordersElement","space","TableBordersAttributes","ParagraphPropertiesDefaults","RunPropertiesDefaults","TableAnchorType","RelativeHorizontalPosition","RelativeVerticalPosition","table_overlap_1","TableFloatOptionsAttributes","TableFloatProperties","OverlapType","TableOverlapAttributes","TableOverlap","TableLayoutType","TableLayoutAttributes","TableLayout","table_row_height_1","TableRowProperties","CantSplit","TableHeader","height","rule","CantSplitAttributes","TableHeaderAttributes","HeightRule","TableRowHeightAttributes","TableRowHeight","convenience_functions_1","columns_1","doc_grid_1","footer_reference_1","footer_reference_2","header_reference_1","header_reference_2","line_number_1","page_border_1","page_margin_1","page_size_1","page_size_attributes_1","title_page_1","vertical_align_1","SectionProperties","width","header","footer","gutter","mirror","column","linePitch","orientation","headers","footers","pageNumberFormatType","pageNumberStart","lineNumberCountBy","lineNumberStart","lineNumberRestart","lineNumberDistance","pageBorders","pageBorderTop","pageBorderRight","pageBorderBottom","pageBorderLeft","titlePage","verticalAlign","footer_reference_attributes_1","FooterReference","FooterReferenceType","FooterReferenceAttributes","header_reference_attributes_1","HeaderReference","HeaderReferenceType","HeaderReferenceAttributes","PageSize","flip","SectionVerticalAlignAttributes","Header","Footer","level_1","multi_level_type_1","AbstractNumberingAttributes","AbstractNumbering","levelOptions","option","AbstractNumId","NumAttributes","ConcreteNumbering","numId","abstractNumId","reference","num","olvl","LevelOverride","LevelOverrideAttributes","levelNum","StartOverride","StartOverrideAttributes","UpdateFieldsAttributes","UpdateFields","enabled","ChangeAttributes","require","t","s","h","u","f","Promise","Uint16Array","Uint32Array","A","O","I","k","S","z","C","B","E","Date","Blob","FileReader","Int32Array","T","D","F","N","U","P","L","Z","W","M","H","G","K","Y","X","V","q","J","file_1","XmlComponent","file","comp","IgnoreIfEmptyXmlComponent","default_attributes_1","Attributes","xml_js_1","_1","convertToXmlComponent","xmlComponent","ImportedXmlComponent","childElm","ImportedXmlComponentAttributes","importedContent","_attr","ImportedRootElementAttributes","strict","opt","SAXParser","SAXStream","stringFromCharCode","floor","fromCodePoint","buffers","clearBuffers","rootNS","emit","charAt","beginWhiteSpace","returnState","starti","isWhitespace","strictFail","isMatch","nameStart","emitNode","isQuote","textopts","nameBody","newTag","parent","tag","openTag","closeTag","attrib","parseEntity","entity","entityLC","numStr","entityBody","entityStart","checkBufferLength","maxAllowed","maxActual","closeText","ex","streamWraps","me","SD","XML_NAMESPACE","XMLNS_NAMESPACE","regex","nodeType","message","qname","attribute","qualName","prefix","local","qn","selfClosing","JSON","nv","uri","tagName","closeTo","close","highSurrogate","lowSurrogate","codeUnits","b64","lens","getLens","validLen","placeHoldersLen","tmp","Arr","curByte","revLookup","uint8","extraBytes","parts","len2","encodeChunk","output","lookup","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","_classCallCheck","instance","Constructor","copyBuffer","messagePrefix","onGlobalMessage","channel","html","registerImmediate","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","handle","runIfPresent","canUsePostMessage","postMessageIsAsynchronous","oldOnMessage","MessageChannel","script","callback","task","clearImmediate","run","msg","config","warned","PassThrough","json","parentKey","InitializableXmlComponent","initComponent","BorderAttributes","Page","NumberOfPages","NumberOfPagesSection","TextRun","symbol_1","SymbolRun","SymbolAttributes","char","symbolfont","drawing_1","PictureRun","imageData","drawingOptions","drawing","anchor_1","inline_1","Drawing","factorX","factorY","floating_1","graphic_1","text_wrap_1","doc_properties_1","effect_extent_1","extent_1","graphic_frame_properties_1","anchor_attributes_1","Anchor","mediaData","dimensions","floating","SimplePosAttributes","SimplePos","align_1","floating_position_1","position_offset_1","HorizontalPositionAttributes","HorizontalPosition","horizontalPosition","VerticalPositionAttributes","VerticalPosition","verticalPosition","graphic_data_1","GraphicAttributes","Graphic","graphic_data_attribute_1","pic_1","GraphicData","GraphicDataAttributes","blip_fill_1","non_visual_pic_properties_1","pic_attributes_1","shape_properties_1","Pic","blip_1","source_rectangle_1","stretch_1","BlipFill","BlipAttributes","Blip","SourceRectangle","FillRectangle","Stretch","child_non_visual_pic_properties_1","non_visual_properties_1","NonVisualPicProperties","pic_locks_1","ChildNonVisualProperties","pic_locks_attributes_1","PicLocks","PicLocksAttributes","non_visual_properties_attributes_1","NonVisualProperties","NonVisualPropertiesAttributes","PicAttributes","form_1","preset_geometry_1","shape_properties_attributes_1","ShapeProperties","extents_1","off_1","Form","extents_attributes_1","Extents","ExtentsAttributes","off_attributes_1","Offset","OffsetAttributes","adjustment_values_1","preset_geometry_attributes_1","PresetGeometry","AdjustmentValues","PresetGeometryAttributes","ShapePropertiesAttributes","TextWrappingType","TextWrappingSide","WrapNone","WrapSquareAttributes","WrapSquare","textWrapping","margins","WrapTightAttributes","WrapTight","WrapTopAndBottomAttributes","WrapTopAndBottom","DocPropertiesAttributes","EffectExtentAttributes","ExtentAttributes","graphic_frame_lock_attributes_1","GraphicFrameLocks","GraphicFrameLockAttributes","inline_attributes_1","Inline","newX","newY","InlineAttributes","sequential_identifier_instruction_1","SequentialIdentifier","identifier","SequentialIdentifierInstruction","Tab","Paragraph","HyperlinkType","hyperlink_attributes_1","HyperlinkRef","Hyperlink","relationshipId","anchor","props","HyperlinkAttributes","shortid","bookmark_attributes_1","Bookmark","linkId","BookmarkStart","BookmarkEnd","build","isValid","clusterWorkerId","generate","seedValue","workerId","newCharacters","_seed_","counter","previousSeconds","seconds","random","number","loopCounter","randomByte","crypto","mask","step","nonAlphabetic","RegExp","BookmarkStartAttributes","BookmarkEndAttributes","OutlineLevel","Bidirectional","math_text_1","MathRun","MathText","math_denominator_1","math_numerator_1","MathFraction","MathSubScriptHideAttributes","MathSubScriptHide","MathSuperScriptHideAttributes","MathSuperScriptHide","math_base_1","math_naray_properties_1","math_sub_script_1","math_super_script_1","MathSum","n_ary_1","math_super_script_function_properties_1","MathSuperScript","math_sub_script_function_properties_1","MathSubScript","math_sub_super_script_function_properties_1","MathSubSuperScript","math_pre_sub_super_script_function_properties_1","MathPreSubSuperScript","math_degree_1","math_radical_properties_1","MathRadical","MathDegreeHideAttributes","MathDegreeHide","math_function_name_1","math_function_properties_1","MathFunction","math_bracket_properties_1","MathRoundBrackets","MathBeginningCharacterAttributes","MathBeginningCharacter","character","MathEndingCharacterAttributes","MathEndingCharacter","MathSquareBrackets","MathCurlyBrackets","MathAngledBrackets","grid_1","table_cell_1","table_properties_1","Table","rows","columnWidths","row","marginUnitType","float","layout","borders","rowIndex","columnIndex","cell","continueCell","TableGrid","widths","GridCol","GridColAttributes","table_cell_components_1","table_cell_properties_1","TableCell","shading_1","table_cell_margins_1","TableCellProperties","cellSpan","ShadingType","TableShadingAttributes","TableShading","cell_margin_1","TableCellMargin","CellMarginAttributes","TopCellMargin","BottomCellMargin","LeftCellMargin","RightCellMargin","table_borders_1","table_cell_margin_1","table_float_properties_1","table_layout_1","table_width_1","borderOptions","tableFloatOptions","Styles","character_style_1","paragraph_style_1","HeadingStyle","TitleStyle","Heading1Style","Heading2Style","Heading3Style","Heading4Style","Heading5Style","Heading6Style","StrongStyle","ListParagraph","FootnoteText","FootnoteReferenceStyle","FootnoteTextChar","HyperlinkStyle","BorderStyle","paragraph_properties_1","run_properties_1","DocumentDefaults","TableCellMarginAttributes","BaseTableCellMargin","TableWidthAttributes","PreferredTableWidth","table_row_properties_1","TableRow","rootIndex","colIdx","rootIdx","allowEndNewCell","app_properties_1","content_types_1","core_properties_1","document_1","section_properties_1","footer_wrapper_1","footnotes_1","header_wrapper_1","media_1","numbering_1","relationship_1","settings_1","external_styles_factory_1","factory_1","File","fileProperties","sections","stylesFactory","defaultStyles","templateHeader","templateFooter","section","hyperlink","paragraph","cache","hyperlinkRef","link","wrapper","app_properties_attributes_1","AppProperties","AppPropertiesAttributes","content_types_attributes_1","default_1","override_1","ContentTypes","ContentTypeAttributes","Default","contentType","extension","DefaultAttributes","override_attributes_1","Override","partName","OverrideAttributes","document_attributes_1","CoreProperties","Title","Subject","Creator","Keywords","Description","LastModifiedBy","Revision","DateComponent","date","year","month","day","hours","minutes","Created","Modified","body_1","document_background_1","Document","__1","Body","currentSection","component","columns_attributes_1","Columns","ColumnsAttributes","doc_grid_attributes_1","DocumentGrid","DocGridAttributes","LineNumberRestartFormat","LineNumberAttributes","LineNumberType","countBy","restart","dist","PageBorderDisplay","PageBorderOffsetFrom","PageBorderZOrder","PageBordeAttributes","PageBorder","PageBordersAttributes","PageBorders","pageBordersAttributes","page_margin_attributes_1","PageMargin","PageMarginAttributes","PageNumberFormat","PageNumberTypeAttributes","PageNumberType","numberFormat","title_page_attributes_1","TitlePage","TitlePageAttributes","SectionVerticalAlignValue","vertical_align_attributes_1","SectionVerticalAlign","DocumentBackgroundAttributes","DocumentBackground","footer_attributes_1","referenceNumber","FooterAttributes","attributes_1","Relationships","relationship","RelationshipsAttributes","RelationshipAttributes","footnote_1","continuation_seperator_run_1","seperator_run_1","footnotes_attributes_1","FootNotes","begin","spacing","footnote","FootnoteType","footnote_attributes_1","footnote_ref_run_1","Footnote","FootnoteAttributes","footnote_ref_1","FootnoteRefRun","FootnoteRef","continuation_seperator_1","ContinuationSeperatorRun","ContinuationSeperator","seperator_1","SeperatorRun","Seperator","FootnotesAttributes","FootNoteReferenceRunAttributes","FootnoteReference","FootnoteReferenceRun","header_attributes_1","HeaderAttributes","Media","Map","filePath","dataURI","BASE64_MARKER","base64Index","atob","abstract_numbering_1","num_1","Numbering","abstractNumbering","con","currentAbstractNumbering","MultiLevelType","compatibility_1","display_background_shape_1","track_revisions_1","update_fields_1","SettingsAttributes","Settings","DoNotExpandShiftReturn","Compatibility","DisplayBackgroundShape","TrackRevisions","ExternalStylesFactory","xmlData","stylesXmlElement","xmlElm","xmlObj","stylesElements","defaults_1","DefaultStylesFactory","field_instruction_1","sdt_content_1","sdt_properties_1","TableOfContents","alias","content","beginParagraph","endParagraph","FieldInstruction","styles","sl","StructuredDocumentTagContent","alias_1","StructuredDocumentTagProperties","AliasAttributes","Alias","StyleLevel","styleName","index_1","track_revision_1","InsertedTextRun","deleted_page_number_1","deleted_text_1","DeletedTextRun","DeletedTextRunWrapper","DeletedPage","DeletedNumberOfPages","DeletedNumberOfPagesSection","DeletedText","__awaiter","thisArg","_arguments","generator","resolve","reject","fulfilled","rejected","next_compiler_1","Packer","prettify","zip","JSZip","formatter_1","image_replacer_1","numbering_replacer_1","Compiler","prettifyXml","xmlifiedFileMapping","subFile","documentRelationshipCount","documentXmlData","documentMediaDatas","headerWrapper","mediaDatas","footerWrapper","tempXmlData","escapeForXML","indent_count","isStringContent","indent_spaces","values","get_attributes","_name","append","elem","proceed","interrupt","input","interrupted","instant","delay","func","add","XML_CHARACTER_MAP","Formatter","ImageReplacer","currentXmlData","image","NumberingReplacer","concreteNumberings","concreteNumbering","RelationshipType","schemeToType","ImportDotx","zipContent","documentContent","relationshipContent","documentRefs","documentRelationships","startingRelationshipId","relationshipFileInfo","rel","xmlElement","acc","importedComp","relationhipFile","refFile","xmlRef","wrapperImagesReferences","hyperLinkReferences","relationXmlArray","headersXmlArray","footersXmlArray","sectionProp","headerProps","footerProps","has","Events","context","once","addListener","evt","clearEvent","names","handlers","ee","a1","a2","a3","a4","a5","diff_main","text1","text2","cursor_pos","_fix_unicode","editdiff","find_cursor_edit_diff","oldText","newText","oldRange","newRange","oldLength","newLength","oldCursor","oldBefore","oldAfter","maybeNewCursor","editBefore","newCursor","newBefore","newAfter","prefixLength","oldPrefix","newPrefix","oldMiddle","newMiddle","make_edit_splice","editAfter","suffixLength","oldSuffix","newSuffix","replaceRange","commonlength","diff_commonPrefix","commonprefix","diff_commonSuffix","commonsuffix","diffs","diff_compute_","longtext","shorttext","hm","diff_halfMatch_","text1_a","text1_b","text2_a","text2_b","diff_halfMatchI_","best_longtext_a","best_longtext_b","best_shorttext_a","best_shorttext_b","best_common","hm1","hm2","mid_common","diffs_a","diffs_b","diff_bisect_","text1_length","text2_length","max_d","v_length","v1","v2","v_offset","delta","front","k1start","k1end","k2start","k2end","k1","x1","k1_offset","y1","k2_offset","x2","diff_bisectSplit_","k2","y2","diff_cleanupMerge","diff_cleanupSemantic","changes","equalities","equalitiesLength","lastequality","pointer","length_insertions1","length_deletions1","length_insertions2","length_deletions2","diff_cleanupSemanticLossless","diff_cleanupSemanticScore_","one","two","char1","char2","nonAlphaNumeric1","nonAlphaNumericRegex_","nonAlphaNumeric2","whitespace1","whitespaceRegex_","whitespace2","lineBreak1","linebreakRegex_","lineBreak2","blankLine1","blanklineEndRegex_","blankLine2","blanklineStartRegex_","equality1","edit","equality2","commonOffset","commonString","bestEquality1","bestEdit","bestEquality2","bestScore","score","deletion","insertion","overlap_length1","diff_commonOverlap_","overlap_length2","text1a","text2a","text1b","text2b","diffsb","pointermin","pointermax","pointermid","pointerstart","is_surrogate_pair_start","text_length","best","pattern","pointerend","is_surrogate_pair_end","fix_unicode","count_delete","count_insert","text_delete","text_insert","previous_equality","ends_with_pair_start","stray","starts_with_pair_end","charCode","before","after","remove_empty_tuples","tuples","diff","uid","HASH_UNDEFINED","argsTag","boolTag","dateTag","funcTag","genTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reFlags","reIsHostCtor","reIsUint","cloneableTags","freeGlobal","freeSelf","freeExports","freeModule","moduleExports","addMapEntry","map","pair","addSetEntry","set","arrayReduce","iteratee","accumulator","initAccum","isHostObject","mapToArray","overArg","transform","setToArray","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","funcToString","hasOwnProperty","reIsNative","getPrototype","objectCreate","propertyIsEnumerable","splice","nativeGetSymbols","nativeIsBuffer","nativeKeys","DataView","getNative","Set","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","Hash","entries","ListCache","MapCache","assocIndexOf","Stack","getMapData","pairs","LARGE_ARRAY_SIZE","assignValue","objValue","eq","cloneArrayBuffer","arrayBuffer","copyObject","customizer","newValue","isKeyable","baseIsNative","isObject","isMasked","isFunction","getSymbols","getTag","Ctor","ctorString","isPrototype","other","isArrayLike","isLength","isBuffer","arrayLikeKeys","inherited","isArguments","isArrayLikeObject","isObjectLike","baseTimes","skipIndexes","isIndex","baseKeys","baseClone","isDeep","isFull","stack","isArr","initCloneArray","copyArray","isFunc","cloneBuffer","initCloneObject","proto","copySymbols","initCloneByTag","cloneFunc","dataView","typedArray","regexp","symbol","stacked","getAllKeys","keysFunc","symbolsFunc","arrayPush","arrayEach","subValue","arrayTag","errorTag","typedArrayTags","freeProcess","nodeUtil","nodeIsTypedArray","nativeObjectToString","symToStringTag","SetCache","baseGetTag","getRawTag","isOwn","unmasked","baseIsArguments","equalArrays","bitmask","equalFunc","isPartial","othLength","seen","arrValue","othValue","compared","arraySome","predicate","othIndex","arrayFilter","resIndex","isTypedArray","isArg","isBuff","isType","baseIsEqual","baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalByTag","convert","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","objProps","objLength","othProps","skipCtor","objCtor","othCtor","_get","_createClass","_possibleConstructorReturn","ReferenceError","_inherits","document","parseFloat","$","encodeURIComponent","Component","Element","cash","NodeList","define","jQuery","getComputedStyle","getTime","$jscomp","$jscomp$this","HTMLCollection","SVGElement","Float32Array","requestAnimationFrame","cancelAnimationFrame","location","HTMLElement","navigator","setup_1","__importDefault","mod","simple_stream_1","util_1","mergerino_1","assoc","prop","concatIfPresent","assembleInitialState","nestedComponents","getInitialState","app","assembleView","nestedApp","view","getView","assembleServices","getCell","getState","_a","nextGetCell","nextGetState","service","getServices","baseSetup","safeApp","initial","createStream","scan","update","states","patch","nestPatch","nestUpdate","parentUpdate","nestCell","components","nestedStates","getNestedState","nestedUpdate","nest","dropRepeats","mapFunctions","latestValue","createdStream","mapFunction","newStream","mappedFunction","_value","idx","sourceStream","accumulated","onchange","prev","next","path","intoPath","toPath","pathOrProp","updateParseValue","parseFn","Vnode","render","schedule","subscriptions","pending","redraw","buildPathname","parsePathname","compileTemplate","censor","sentinel","decodeURIComponentSave","decodeURIComponent","$window","mountRedraw","callAsync","scheduled","ready","compiled","fallbackRoute","currentPath","lastUpdate","currentResolver","RouterRoot","fireAsync","resolveRoute","vnode","SKIP","route","setPath","loop","payload","matchedRoute","localComp","title","defaultRoute","routes","SyntaxError","defaultData","onclick","href","Boolean","hyperscript","request","domFor","buildQueryString","template","params","queryIndex","hashIndex","queryEnd","pathEnd","query","resolved","variadic","newQueryIndex","newHashIndex","newQueryEnd","newPathEnd","querystring","templateData","templateKeys","extra","parseQueryString","url","destructure","counters","levels","cursor","nextLevel","isNumber","desc","delayedRemoval","dom","domSize","generation","nextSibling","hyperscriptVnode","hasOwn","selectorParser","selectorCache","selector","hasClass","className","compileSelector","classes","attrValue","isEmpty","df","currentRedraw","currentRender","currentDOM","nameSpace","getDocument","getNameSpace","checkState","original","callHook","activeElement","createNodes","vnodes","hooks","ns","createNode","initLifecycle","createText","insertDOM","createHTML","createFragment","fragment","createElement","is","setAttrs","setAttr","maybeSetContentEditable","setLateSelectAttrs","normalized","createComponent","possibleParents","updateNodes","old","removeNodes","isOldKeyed","isKeyed","oldStart","oe","ve","topSibling","oldEnd","updateNode","getNextSibling","moveDOM","lisIndices","originalNextSibling","vnodesLength","oldIndices","li","matched","getKeyMap","oldIndex","makeLisIndices","il","lisTemp","commonLength","removeNode","oldTag","shouldNotUpdate","force","updateLifecycle","updateText","updateHTML","removeDOM","updateFragment","updateElement","updateAttrs","removeAttr","isLifecycleMethod","updateEvent","updateStyle","hasPropertyKey","nsLastIndex","updateComponent","stateResult","attrsResult","onremove","isFormAttribute","isFileInput","EventDict","prevRedraw","prevDOM","active","namespace","node","oncompletion","PromiseProxy","executor","hasHeader","promise","body","assumeJSON","responseType","xhr","aborted","isTimeout","replacedAbort","abort","success","response","completeErrorResponse","complete","wrap","then","magic","extras","AttributeMap","cloneDeep","isEqual","keepNull","base","baseInverted","memo","priority","AttributeMap_1","Op_1","OpIterator_1","getEmbedTypeAndData","embedType","Delta","ops","newOp","lastOp","passed","failed","op","initialValue","iter","nextOp","thisIter","otherIter","firstOther","firstLeft","thisOp","otherOp","action","thisData","otherData","rest","strings","retDelta","diffResult","opLength","newline","line","inverted","baseIndex","slice","baseOp","opData","baseOpData","transformedData","nextType","Op","Iterator","retOp","p_ne_1","Scope2","Dashboards","fromRight","lastCalled","assigner","ce","ge","xe","Ae","Oe","Ve","Le","thresholdColors","defaultModel","emptyModel","uniqueId","defaultModels","OsmTypeList","OsmTypes","ldb","dbFact","db","win","indexedDB","store","localDb","txn","URLSearchParams","Q","te","ae","De","ie","ne","URL","FormData","LANGUAGE","SAVED","formatDate","padLeft","joinListWithAnd","and","lowercase","terms","term","generateNumbers","getRandomValue","randomIndex","deepCopy","_instanceof","cp","_type_of","cp1","contrastingColor","backgroundColor","backgroundRgb","luminance","modelToSaveName","model","narrativeName","_model_scenario","generateNarrative","scenario","locked","categories","inconsistencies","tries","components1","chosen","_iteratorError","category","catComps","inc","cur","excluded","catComp","chosenValue","valuesToChooseFrom","scrollToSection","scrollToTop","validateNarrative","narrativeComps","newNarrative","_c_values","narrativesToOptions","narratives","trafficLight","svgToDataURI","svg","svgBase64","btoa","createCircleSVG","diameter","strokeWidth","generateUniqueTitle","otherTitles","newTitle","MODEL_KEY","setTitle","setPage","page","changePage","routingSvc","saveModel","localStorage","alert","saveNarrative","curNarrative","updateNarrative","mutateScenarioComponent","scenarioComponentId","mutation","moveScenarioComponent","componentId","moveId","dropId","moveBefore","itemToMove","setLanguage","locale","i18n","initialize","ds","_state_model_scenario","_cell_state_model_scenario","cells","meiosisSetup","translateToArray","opts","normalArrayOption","translatejs","messageObject","replCache","tFunc","translationKey","subKey","replacements","translate","translation","translationIsObject","complex","propValue","plFunc","mappedCount","replacePlaceholders","assemble","part","translations","keysInProcess","resolveAliases","token","keyParts","messages","messagesNL","onChangeLocale","init","locales","selectedLocale","_init","addOnChangeListener","loadAndSetLocale","defaultLocale","_loadAndSetLocale","newLocale","resolvedLocale","supported","language","plural_EN","Layout","_attrs_state_model_scenario","isActive","_attrs_state_model","logo","Icon","DutchFlag","EnglishFlag","elems","background","process_flow","howToUse","menu_tabs","menu","settings","menu_generate","menu_settings","menu_tabs2","AboutPage","TableView","HomePage","readerAvailable","selectedId","removeAllKeyValues","_attrs_state","selectedNarratives","Tabs","Button","dlAnchorElem","version","dataStr","fileInput","files","isJson","reader","to","narrative","included","componentValues","contexts","newContext","locationType","_ref","lat","lon","locationTypeType","osmTypeId","_ref1","order","compIds","_cur_componentIds","ModalPanel","RadioButtons","InputCheckbox","InconsistencyCheckbox","rowId","colId","iconName","SettingsPage","form","comps","rowComp","colComp","rValues","cValues","FlatButton","LayoutForm","Select","ids","BoxItem","contextAwareForm","hasContext","_ev_dataTransfer","_JSON_parse","itemId","dropTarget","dropY","dropHeight","BoxHeader","sc","BoxRow","_sc_values","compColor","BoxView","categoryId","scs","CreateBoxPage","activeTooltip","_Math","componentUsage","compValue","count2color","tc","SlimdownView","defineProperty","iterable","baseCreate","objectCtorString","types","isNew","isProto","srcIndex","mergeFunc","srcValue","isCommon","isTyped","isPlainObject","keysIn","baseMerge","nativeMax","nativeNow","setToString","identity","stamp","HOT_SPAN","otherArgs","merge","sources","guard","Scope","Attributor","keyName","attributeBit","_node","ParchmentError","_Registry","bubble","parentNode","scroll","match2","Node","blotClass","blot","definitions","definition","isBlot","isAttr","Registry","ClassAttributor$1","ClassAttributor","camelize","StyleAttributor$1","StyleAttributor","AttributorStore$1","AttributorStore","domNode","_ShadowBlot","rawValue","def","ref","_context","replacement","_force","_mutations","ShadowBlot","_domNode","_inclusive","LeafBlot$1","LinkedList","refNode","curNode","inclusive","startNode","curIndex","curLength","makeAttachedBlot","_ParentBlot","childLength","criteria","descendants","lengthLeft","childIndex","childBlot","refBlot","refDomNode","targetParent","_length","split","mutations","addedNodes","removedNodes","ParentBlot$1","_InlineBlot","formats","obj1","obj2","InlineBlot$1","_BlockBlot","BlockBlot$1","ContainerBlot$1","EmbedBlot$1","EmbedBlot","_scroll","OBSERVER_CONFIG","registry","MutationObserver","mutationsMap","records","mark","markParent","optimize","grandChild","ScrollBlot$1","_TextBlot","TextBlot$1","stubArray","getSymbolsIn","nodeIsMap","nodeIsSet","isSet","isFlat","isMap","arrStacked","othStacked","objStacked","escapeText","entityMap","selfIndex","otherIndex","Block","blockDelta","lines","block","lineIndex","head","clone","BlockEmbed","blocks","filter","leaf","bubbleFormats","Cursor","selection","mergedTextBlot","range","prevTextBlot","prevTextLength","nextTextBlot","nextText","textNode","newTextNode","remapOffset","_len","_key","logger","newLevel","EVENTS","eventName","quill","instances","Emitter","_len2","_key2","_len3","_key3","Range","contains","descendant","Selection","native","triggeredByTyping","ignored","startOffset","endNode","endOffset","nativeRange","rect","scrollLength","nextLine","side","positions","indexes","getPosition","leafOffset","lastRange","ASCII","convertHTML","isRoot","items","convertListHTML","lastIndent","endTag","getListType","previousType","outerHTML","innerHTML","normalizeDelta","normalizedDelta","shiftRange","amount","Editor","deleteDelta","normalizedOps","splitOpLines","isImplicitNewlinePrepended","isImplicitNewlineAppended","isInlineEmbed","prependedLength","addedLength","leaves","lineFormats","leafFormats","blots","combineFormats","combined","merged","combinedValue","lineOffset","lineLength","isWithinLine","contents","change","embed","selectionInfo","oldDelta","textBlot","oldValue","relativeSelectionInfo","diffDelta","Module","Embed","childNode","prevLength","Composition","queueMicrotask","Theme","ModuleClass","getParentElement","getElementRect","scaleX","scaleY","paddingValueToInt","getScrollDistance","targetEnd","scrollStart","scrollEnd","scrollPaddingStart","scrollPaddingEnd","targetRect","isDocumentBody","bounding","scrollDistanceX","scrollDistanceY","scrollLeft","scrollTop","scrolledLeft","scrolledTop","CORE_FORMATS","sourceRegistry","coreBlot","iterations","globalRegistry","Quill","overwrite","container","expandConfig","containerOrSelector","resolveSelector","theme","shouldUseDefaultTheme","quillModuleDefaults","quillDefaults","themeModuleDefaults","themeDefaults","userModuleOptions","expandModuleConfig","omitUndefinedValuesFromOptions","createRegistryWithFormats","modulesWithDefaults","_ref2","moduleClass","scrollBlotName","ScrollBlot","modify","overload","modifier","bounds","containerBounds","focus","scrollRectIntoView","delete1","applied","delete2","expanded","shift","lengthOrSource","Container","isLine","isUpdatable","insertInlineContents","inlineContents","Scroll","first","renderBlocks","shouldInsertNewlineChar","newlineCharLength","lineEndIndex","refBlotOffset","renderBlock","blockEmbed","getLines","blotIndex","blotLength","currentBlockDelta","insert","splitted","blotName","_ref3","_ref4","AlignAttribute","AlignClass","AlignStyle","ColorAttributor","hex","ColorClass","ColorStyle","BackgroundClass","BackgroundStyle","CodeBlockContainer","Code","DirectionAttribute","DirectionClass","DirectionStyle","FontClass","FontStyle","FontStyleAttributor","SizeClass","SizeStyle","SHORTKEY","Keyboard","binding","keyBinding","singleBinding","matches","bindings","leafStart","offsetStart","leafEnd","offsetEnd","prefixText","suffixText","curContext","curFormats","prevFormats","formatDelta","nextFormats","deleteRange","defaultOptions","makeFormatHandler","makeCodeBlockHandler","table","tableSide","_table","numLines","makeEmbedArrowHandler","makeTableArrowHandler","TAB","shiftKey","up","targetRow","targetCell","targetLine","firstFormats","lastFormats","normalWeightRegexp","blockTagNames","isBlockElement","normalizeEmptyLines","br","normalizeFontWeight","ignoreRegexp","idRegexp","indentRegexp","parseListItem","idMatch","indentMatch","typeRegexp","typeMatch","normalizeListItem","msoList","others","listItems","childListItems","ul","listItem","NORMALIZERS","normalize","CLIPBOARD_CONFIG","isPre","preNodes","replacer","collapse","replaced","matchNewline","deltaEndsWith","applyFormat","ATTRIBUTE_ATTRIBUTORS","STYLE_ATTRIBUTORS","newDelta","_ref5","composed","checkedAttr","createMatchAlias","endText","traverse","elementMatchers","textMatchers","nodeMatches","matcher","childrenDelta","reducedDelta","HTMLParagraphElement","transformStack","remoteDelta","oldItem","transformRange","Uploader","uploads","images","INSERT_TYPES","Input","staticRange","getPlainTextFromInputEvent","isMac","canMoveCaretBeforeUINode","UINode","isRTL","Clipboard","normalizeExternalHTML","DOMParser","paste","isCut","urlList","pastedDelta","History","inverseDelta","changeDelta","undoDelta","undoRange","timestamp","stackItem","getLastChangeIndex","deleteLength","changeIndex","endsWithNewlineChange","IndentClass","IndentAttributor","normalizedValue","Blockquote","ListContainer","ListItem","ui","listEventHandler","sanitize","protocols","protocol","Script","Formula","formula","ATTRIBUTES","Image","Video","video","TokenAttributor","CodeToken","SyntaxCodeBlock","SyntaxCodeBlockContainer","highlight","forced","retain","codeBlock","lib","Syntax","select","label","timer","nodeText","tableId","thisHead","thisTail","nextHead","nextTail","childFormats","TableBody","TableContainer","maxColumns","columns","Toolbar","addControls","groups","controls","group","control","addButton","addSelect","selected","prompt","align","codeIcon","optionsCounter","toggleAriaAttribute","Picker","trigger","Event","ColorPicker","colorLabel","IconPicker","icons","isScrollable","el","overflowY","Tooltip","boundsContainer","rootBounds","verticalShift","ALIGNS","COLORS","FONTS","HEADERS","SIZES","BaseTheme","picker","buttons","button","selects","fillSelect","BaseTooltip","mode","preview","extractVideoUrl","defaultValue","TOOLBAR_CONFIG","BubbleTooltip","lastLine","indexBounds","arrow","BubbleTheme","toolbar","SnowTooltip","SnowTheme","_range","tooltip","Italic","keyDrivers","parseTextWithPlaceholders","resolvedLabel","ScenarioParagraph","idBasedTemplate","modelComps","ToggleIcon","on","off","disabled","calculateRisk","probability","impact","riskMatrix","CategoryTable","lockState","catId","excludedComps","lockedComps","multipleCategories","componentIds","_category_componentIds","CreateScenarioPage","editor","hideInconsistentValues","selectOptions","_model_scenario_narratives","TextInput","htmlTemplate","lang","css","cssTable","ShowScenarioPage","exportToWord","blob","generateWord","DecisionSupportPage","toComponent","riskComponentIds","setupComponents","_acc","weights","suggestedApproach","measures","highScore","RoutingService","getList","setList","dashboard","dashboardId","switchTo","routingTable","_locale"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"main.js","sources":["webpack://gui/./node_modules/.pnpm/docx@5.5.0/node_modules/docx/build/index.js","webpack://gui/./node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.js","webpack://gui/./node_modules/.pnpm/fast-diff@1.3.0/node_modules/fast-diff/diff.js","webpack://gui/./node_modules/.pnpm/lodash.clonedeep@4.5.0/node_modules/lodash.clonedeep/index.js","webpack://gui/./node_modules/.pnpm/lodash.isequal@4.5.0/node_modules/lodash.isequal/index.js","webpack://gui/./node_modules/.pnpm/materialize-css@1.0.0/node_modules/materialize-css/dist/js/materialize.min.js","webpack://gui/./node_modules/.pnpm/meiosis-setup@6.2.3/node_modules/meiosis-setup/index.js","webpack://gui/./node_modules/.pnpm/meiosis-setup@6.2.3/node_modules/meiosis-setup/setup.js","webpack://gui/./node_modules/.pnpm/meiosis-setup@6.2.3/node_modules/meiosis-setup/simple-stream/index.js","webpack://gui/./node_modules/.pnpm/meiosis-setup@6.2.3/node_modules/meiosis-setup/util/index.js","webpack://gui/./node_modules/.pnpm/mergerino@0.4.0/node_modules/mergerino/dist/mergerino.min.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/api/mount-redraw.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/api/router.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/hyperscript.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/index.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/mount-redraw.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/pathname/build.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/pathname/compileTemplate.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/pathname/parse.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/querystring/build.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/querystring/parse.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/render.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/render/domFor.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/render/fragment.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/render/hyperscript.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/render/hyperscriptVnode.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/render/render.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/render/trust.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/render/vnode.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/request.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/request/request.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/route.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/util/censor.js","webpack://gui/./node_modules/.pnpm/mithril@2.2.11/node_modules/mithril/util/hasOwn.js","webpack://gui/./node_modules/.pnpm/quill-delta@5.1.0/node_modules/quill-delta/dist/AttributeMap.js","webpack://gui/./node_modules/.pnpm/quill-delta@5.1.0/node_modules/quill-delta/dist/Delta.js","webpack://gui/./node_modules/.pnpm/quill-delta@5.1.0/node_modules/quill-delta/dist/Op.js","webpack://gui/./node_modules/.pnpm/quill-delta@5.1.0/node_modules/quill-delta/dist/OpIterator.js","webpack://gui/./node_modules/.pnpm/quill-to-word@1.3.0/node_modules/quill-to-word/dist/main.js","webpack://gui/./node_modules/.pnpm/translate.js@1.3.2/node_modules/translate.js/pluralize/index.js","webpack://gui/./node_modules/.pnpm/parchment@3.0.0/node_modules/parchment/dist/parchment.js","webpack://gui/./src/models/dashboard.ts","webpack://gui/./node_modules/.pnpm/mithril-materialized@1.2.2/node_modules/mithril-materialized/dist/index.modern.js","webpack://gui/./node_modules/.pnpm/mithril-ui-form@1.10.9/node_modules/mithril-ui-form/lib/index.esm.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isMasked.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createBaseFor.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_shortOut.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createAssigner.js","webpack://gui/./src/services/translations.ts","webpack://gui/./src/models/data-model.ts","webpack://gui/./src/models/osm.ts","webpack://gui/./src/utils/local-ldb.ts","webpack://gui/./node_modules/.pnpm/slimdown-js@0.7.4/node_modules/slimdown-js/dist/slimdown.modern.mjs","webpack://gui/./src/utils/index.ts","webpack://gui/./src/services/state-mgmt.ts","webpack://gui/./node_modules/.pnpm/translate.js@1.3.2/node_modules/translate.js/index.js","webpack://gui/./src/components/layout.ts","webpack://gui/./src/components/about-page.ts","webpack://gui/./src/components/home-page.ts","webpack://gui/./src/components/settings-page.ts","webpack://gui/./src/components/ui/legend.ts","webpack://gui/./src/components/create-box-page.ts","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/eq.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assocIndexOf.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheDelete.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_ListCache.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheClear.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheGet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheHas.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheSet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_freeGlobal.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_root.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Symbol.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getRawTag.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_objectToString.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGetTag.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObject.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isFunction.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_coreJsData.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_toSource.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsNative.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getNative.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getValue.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Map.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeCreate.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashGet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashHas.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Hash.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashClear.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashDelete.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashSet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isKeyable.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getMapData.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_MapCache.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheClear.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheDelete.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheGet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheHas.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheSet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Stack.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackClear.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackDelete.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackGet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackHas.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackSet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_defineProperty.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseAssignValue.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assignMergeValue.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseFor.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneBuffer.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Uint8Array.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneArrayBuffer.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneTypedArray.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copyArray.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseCreate.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_overArg.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getPrototype.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isPrototype.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_initCloneObject.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObjectLike.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsArguments.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArguments.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArray.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isLength.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArrayLike.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isBuffer.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/stubFalse.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isPlainObject.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsTypedArray.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseUnary.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nodeUtil.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isTypedArray.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_safeGet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assignValue.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copyObject.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseTimes.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isIndex.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayLikeKeys.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeKeysIn.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseKeysIn.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/keysIn.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseMergeDeep.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArrayLikeObject.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toPlainObject.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseMerge.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/identity.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_apply.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_overRest.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setToString.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseSetToString.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/constant.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseRest.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isIterateeCall.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/merge.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayEach.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeKeys.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseKeys.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/keys.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayFilter.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/stubArray.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getSymbols.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayPush.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getSymbolsIn.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGetAllKeys.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getAllKeys.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getAllKeysIn.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_DataView.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Promise.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Set.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_WeakMap.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getTag.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_initCloneArray.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneDataView.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneRegExp.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneSymbol.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_initCloneByTag.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isMap.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsMap.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isSet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsSet.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseClone.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseAssignIn.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copySymbolsIn.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseAssign.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copySymbols.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/cloneDeep.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_SetCache.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setCacheAdd.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setCacheHas.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arraySome.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_equalArrays.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cacheHas.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapToArray.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setToArray.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_equalByTag.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_equalObjects.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsEqualDeep.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isEqual.js","webpack://gui/./node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsEqual.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/blots/break.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/blots/text.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/blots/inline.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/blots/block.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/blots/cursor.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/instances.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/logger.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/emitter.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/selection.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/editor.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/module.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/blots/embed.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/composition.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/theme.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/utils/scrollRectIntoView.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/utils/createRegistryWithFormats.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core/quill.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/blots/container.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/blots/scroll.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/align.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/color.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/background.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/code.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/direction.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/font.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/size.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/keyboard.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/normalizeExternalHTML/normalizers/googleDocs.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/normalizeExternalHTML/normalizers/msWord.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/normalizeExternalHTML/index.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/clipboard.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/history.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/uploader.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/input.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/uiNode.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/core.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/indent.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/blockquote.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/header.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/list.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/bold.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/link.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/script.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/underline.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/formula.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/image.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/video.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/syntax.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/table.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/table.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/modules/toolbar.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/ui/icons.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/ui/picker.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/ui/color-picker.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/ui/icon-picker.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/ui/tooltip.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/themes/base.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/themes/bubble.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/themes/snow.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/quill.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/italic.js","webpack://gui/./node_modules/.pnpm/quill@2.0.2/node_modules/quill/formats/strike.js","webpack://gui/./src/components/ui/scenario-paragraph.ts","webpack://gui/./src/components/create-scenario-page.ts","webpack://gui/./src/assets/html-styles.ts","webpack://gui/./src/components/show-scenario-page.ts","webpack://gui/./src/components/decision-support-page.ts","webpack://gui/./src/services/routing-service.ts","webpack://gui/./src/app.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"docx\"] = factory();\n\telse\n\t\troot[\"docx\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 139);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(140));\r\n__export(__webpack_require__(141));\r\n__export(__webpack_require__(53));\r\n__export(__webpack_require__(142));\r\n__export(__webpack_require__(158));\r\n__export(__webpack_require__(159));\r\n__export(__webpack_require__(25));\r\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(51));\r\n__export(__webpack_require__(216));\r\n__export(__webpack_require__(21));\r\n__export(__webpack_require__(3));\r\n__export(__webpack_require__(37));\r\n__export(__webpack_require__(231));\r\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(89));\r\n__export(__webpack_require__(90));\r\n__export(__webpack_require__(91));\r\n__export(__webpack_require__(92));\r\n__export(__webpack_require__(93));\r\n__export(__webpack_require__(239));\r\n__export(__webpack_require__(94));\r\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(17));\r\n__export(__webpack_require__(9));\r\n__export(__webpack_require__(162));\r\n__export(__webpack_require__(163));\r\n__export(__webpack_require__(165));\r\n__export(__webpack_require__(34));\r\n__export(__webpack_require__(213));\r\n__export(__webpack_require__(19));\r\n__export(__webpack_require__(33));\r\n__export(__webpack_require__(215));\r\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n\n\n/*<replacement>*/\n\nvar pna = __webpack_require__(15);\n/*</replacement>*/\n\n/*<replacement>*/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n keys.push(key);\n }return keys;\n};\n/*</replacement>*/\n\nmodule.exports = Duplex;\n\n/*<replacement>*/\nvar util = __webpack_require__(14);\nutil.inherits = __webpack_require__(7);\n/*</replacement>*/\n\nvar Readable = __webpack_require__(57);\nvar Writable = __webpack_require__(29);\n\nutil.inherits(Duplex, Readable);\n\n{\n // avoid scope creep, the keys array can then be collected\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n\n Readable.call(this, options);\n Writable.call(this, options);\n\n if (options && options.readable === false) this.readable = false;\n\n if (options && options.writable === false) this.writable = false;\n\n this.allowHalfOpen = true;\n if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;\n\n this.once('end', onend);\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // if we allow half-open state, or if the writable side ended,\n // then we're ok.\n if (this.allowHalfOpen || this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n pna.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n\nDuplex.prototype._destroy = function (err, cb) {\n this.push(null);\n this.end();\n\n pna.nextTick(cb, err);\n};\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n\n\nvar base64 = __webpack_require__(144)\nvar ieee754 = __webpack_require__(145)\nvar isArray = __webpack_require__(55)\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4)))\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nif (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar SpaceType;\r\n(function (SpaceType) {\r\n SpaceType[\"DEFAULT\"] = \"default\";\r\n SpaceType[\"PRESERVE\"] = \"preserve\";\r\n})(SpaceType = exports.SpaceType || (exports.SpaceType = {}));\r\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst emphasis_mark_1 = __webpack_require__(33);\r\nconst formatting_1 = __webpack_require__(68);\r\nconst run_fonts_1 = __webpack_require__(34);\r\nconst script_1 = __webpack_require__(69);\r\nconst style_1 = __webpack_require__(70);\r\nconst underline_1 = __webpack_require__(19);\r\nclass RunProperties extends xml_components_1.IgnoreIfEmptyXmlComponent {\r\n constructor(options) {\r\n super(\"w:rPr\");\r\n if (!options) {\r\n return;\r\n }\r\n if (options.bold) {\r\n this.push(new formatting_1.Bold());\r\n }\r\n if ((options.boldComplexScript === undefined && options.bold) || options.boldComplexScript) {\r\n this.push(new formatting_1.BoldComplexScript());\r\n }\r\n if (options.italics) {\r\n this.push(new formatting_1.Italics());\r\n }\r\n if ((options.italicsComplexScript === undefined && options.italics) || options.italicsComplexScript) {\r\n this.push(new formatting_1.ItalicsComplexScript());\r\n }\r\n if (options.underline) {\r\n this.push(new underline_1.Underline(options.underline.type, options.underline.color));\r\n }\r\n if (options.emphasisMark) {\r\n this.push(new emphasis_mark_1.EmphasisMark(options.emphasisMark.type));\r\n }\r\n if (options.color) {\r\n this.push(new formatting_1.Color(options.color));\r\n }\r\n if (options.size) {\r\n this.push(new formatting_1.Size(options.size));\r\n }\r\n const szCs = options.sizeComplexScript === undefined || options.sizeComplexScript === true ? options.size : options.sizeComplexScript;\r\n if (szCs) {\r\n this.push(new formatting_1.SizeComplexScript(szCs));\r\n }\r\n if (options.rightToLeft) {\r\n this.push(new formatting_1.RightToLeft());\r\n }\r\n if (options.smallCaps) {\r\n this.push(new formatting_1.SmallCaps());\r\n }\r\n if (options.allCaps) {\r\n this.push(new formatting_1.Caps());\r\n }\r\n if (options.strike) {\r\n this.push(new formatting_1.Strike());\r\n }\r\n if (options.doubleStrike) {\r\n this.push(new formatting_1.DoubleStrike());\r\n }\r\n if (options.subScript) {\r\n this.push(new script_1.SubScript());\r\n }\r\n if (options.superScript) {\r\n this.push(new script_1.SuperScript());\r\n }\r\n if (options.style) {\r\n this.push(new style_1.Style(options.style));\r\n }\r\n if (options.font) {\r\n if (typeof options.font === \"string\") {\r\n this.push(new run_fonts_1.RunFonts(options.font));\r\n }\r\n else if (\"name\" in options.font) {\r\n this.push(new run_fonts_1.RunFonts(options.font.name, options.font.hint));\r\n }\r\n else {\r\n this.push(new run_fonts_1.RunFonts(options.font));\r\n }\r\n }\r\n if (options.highlight) {\r\n this.push(new formatting_1.Highlight(options.highlight));\r\n }\r\n const highlightCs = options.highlightComplexScript === undefined || options.highlightComplexScript === true\r\n ? options.highlight\r\n : options.highlightComplexScript;\r\n if (highlightCs) {\r\n this.push(new formatting_1.HighlightComplexScript(highlightCs));\r\n }\r\n if (options.characterSpacing) {\r\n this.push(new formatting_1.CharacterSpacing(options.characterSpacing));\r\n }\r\n const shading = options.shading || options.shadow;\r\n if (shading) {\r\n this.push(new formatting_1.Shading(shading.type, shading.fill, shading.color));\r\n }\r\n const shdCs = options.shadingComplexScript === undefined || options.shadingComplexScript === true ? shading : options.shadingComplexScript;\r\n if (shdCs) {\r\n this.push(new formatting_1.ShadowComplexScript(shdCs.type, shdCs.fill, shdCs.color));\r\n }\r\n }\r\n push(item) {\r\n this.root.push(item);\r\n }\r\n}\r\nexports.RunProperties = RunProperties;\r\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(265));\r\n__export(__webpack_require__(38));\r\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass DocumentAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n wpc: \"xmlns:wpc\",\r\n mc: \"xmlns:mc\",\r\n o: \"xmlns:o\",\r\n r: \"xmlns:r\",\r\n m: \"xmlns:m\",\r\n v: \"xmlns:v\",\r\n wp14: \"xmlns:wp14\",\r\n wp: \"xmlns:wp\",\r\n w10: \"xmlns:w10\",\r\n w: \"xmlns:w\",\r\n w14: \"xmlns:w14\",\r\n w15: \"xmlns:w15\",\r\n wpg: \"xmlns:wpg\",\r\n wpi: \"xmlns:wpi\",\r\n wne: \"xmlns:wne\",\r\n wps: \"xmlns:wps\",\r\n Ignorable: \"mc:Ignorable\",\r\n cp: \"xmlns:cp\",\r\n dc: \"xmlns:dc\",\r\n dcterms: \"xmlns:dcterms\",\r\n dcmitype: \"xmlns:dcmitype\",\r\n xsi: \"xmlns:xsi\",\r\n type: \"xsi:type\",\r\n };\r\n }\r\n}\r\nexports.DocumentAttributes = DocumentAttributes;\r\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(1));\r\n__export(__webpack_require__(262));\r\n__export(__webpack_require__(280));\r\n__export(__webpack_require__(339));\r\n__export(__webpack_require__(133));\r\n__export(__webpack_require__(50));\r\n__export(__webpack_require__(72));\r\n__export(__webpack_require__(114));\r\n__export(__webpack_require__(23));\r\n__export(__webpack_require__(340));\r\n__export(__webpack_require__(0));\r\n__export(__webpack_require__(49));\r\n__export(__webpack_require__(46));\r\n__export(__webpack_require__(132));\r\n__export(__webpack_require__(131));\r\n__export(__webpack_require__(347));\r\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(Buffer) {// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(6).Buffer))\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {\n\nif (typeof process === 'undefined' ||\n !process.version ||\n process.version.indexOf('v0.') === 0 ||\n process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {\n module.exports = { nextTick: nextTick };\n} else {\n module.exports = process\n}\n\nfunction nextTick(fn, arg1, arg2, arg3) {\n if (typeof fn !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n var len = arguments.length;\n var args, i;\n switch (len) {\n case 0:\n case 1:\n return process.nextTick(fn);\n case 2:\n return process.nextTick(function afterTickOne() {\n fn.call(null, arg1);\n });\n case 3:\n return process.nextTick(function afterTickTwo() {\n fn.call(null, arg1, arg2);\n });\n case 4:\n return process.nextTick(function afterTickThree() {\n fn.call(null, arg1, arg2, arg3);\n });\n default:\n args = new Array(len - 1);\n i = 0;\n while (i < args.length) {\n args[i++] = arguments[i];\n }\n return process.nextTick(function afterTick() {\n fn.apply(null, args);\n });\n }\n}\n\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(13)))\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* eslint-disable node/no-deprecated-api */\nvar buffer = __webpack_require__(6)\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst break_1 = __webpack_require__(67);\r\nconst field_1 = __webpack_require__(18);\r\nconst page_number_1 = __webpack_require__(161);\r\nconst properties_1 = __webpack_require__(9);\r\nconst text_1 = __webpack_require__(71);\r\nvar PageNumber;\r\n(function (PageNumber) {\r\n PageNumber[\"CURRENT\"] = \"CURRENT\";\r\n PageNumber[\"TOTAL_PAGES\"] = \"TOTAL_PAGES\";\r\n PageNumber[\"TOTAL_PAGES_IN_SECTION\"] = \"TOTAL_PAGES_IN_SECTION\";\r\n})(PageNumber = exports.PageNumber || (exports.PageNumber = {}));\r\nclass Run extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:r\");\r\n this.properties = new properties_1.RunProperties(options);\r\n this.root.push(this.properties);\r\n if (options.children) {\r\n for (const child of options.children) {\r\n if (typeof child === \"string\") {\r\n switch (child) {\r\n case PageNumber.CURRENT:\r\n this.root.push(new field_1.Begin());\r\n this.root.push(new page_number_1.Page());\r\n this.root.push(new field_1.Separate());\r\n this.root.push(new field_1.End());\r\n break;\r\n case PageNumber.TOTAL_PAGES:\r\n this.root.push(new field_1.Begin());\r\n this.root.push(new page_number_1.NumberOfPages());\r\n this.root.push(new field_1.Separate());\r\n this.root.push(new field_1.End());\r\n break;\r\n case PageNumber.TOTAL_PAGES_IN_SECTION:\r\n this.root.push(new field_1.Begin());\r\n this.root.push(new page_number_1.NumberOfPagesSection());\r\n this.root.push(new field_1.Separate());\r\n this.root.push(new field_1.End());\r\n break;\r\n default:\r\n this.root.push(new text_1.Text(child));\r\n break;\r\n }\r\n continue;\r\n }\r\n this.root.push(child);\r\n }\r\n }\r\n else if (options.text) {\r\n this.root.push(new text_1.Text(options.text));\r\n }\r\n if (options.break) {\r\n for (let i = 0; i < options.break; i++) {\r\n this.root.splice(1, 0, new break_1.Break());\r\n }\r\n }\r\n }\r\n}\r\nexports.Run = Run;\r\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar FieldCharacterType;\r\n(function (FieldCharacterType) {\r\n FieldCharacterType[\"BEGIN\"] = \"begin\";\r\n FieldCharacterType[\"END\"] = \"end\";\r\n FieldCharacterType[\"SEPARATE\"] = \"separate\";\r\n})(FieldCharacterType || (FieldCharacterType = {}));\r\nclass FidCharAttrs extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { type: \"w:fldCharType\", dirty: \"w:dirty\" };\r\n }\r\n}\r\nclass Begin extends xml_components_1.XmlComponent {\r\n constructor(dirty) {\r\n super(\"w:fldChar\");\r\n this.root.push(new FidCharAttrs({ type: FieldCharacterType.BEGIN, dirty }));\r\n }\r\n}\r\nexports.Begin = Begin;\r\nclass Separate extends xml_components_1.XmlComponent {\r\n constructor(dirty) {\r\n super(\"w:fldChar\");\r\n this.root.push(new FidCharAttrs({ type: FieldCharacterType.SEPARATE, dirty }));\r\n }\r\n}\r\nexports.Separate = Separate;\r\nclass End extends xml_components_1.XmlComponent {\r\n constructor(dirty) {\r\n super(\"w:fldChar\");\r\n this.root.push(new FidCharAttrs({ type: FieldCharacterType.END, dirty }));\r\n }\r\n}\r\nexports.End = End;\r\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar UnderlineType;\r\n(function (UnderlineType) {\r\n UnderlineType[\"SINGLE\"] = \"single\";\r\n UnderlineType[\"WORDS\"] = \"words\";\r\n UnderlineType[\"DOUBLE\"] = \"double\";\r\n UnderlineType[\"THICK\"] = \"thick\";\r\n UnderlineType[\"DOTTED\"] = \"dotted\";\r\n UnderlineType[\"DOTTEDHEAVY\"] = \"dottedHeavy\";\r\n UnderlineType[\"DASH\"] = \"dash\";\r\n UnderlineType[\"DASHEDHEAVY\"] = \"dashedHeavy\";\r\n UnderlineType[\"DASHLONG\"] = \"dashLong\";\r\n UnderlineType[\"DASHLONGHEAVY\"] = \"dashLongHeavy\";\r\n UnderlineType[\"DOTDASH\"] = \"dotDash\";\r\n UnderlineType[\"DASHDOTHEAVY\"] = \"dashDotHeavy\";\r\n UnderlineType[\"DOTDOTDASH\"] = \"dotDotDash\";\r\n UnderlineType[\"DASHDOTDOTHEAVY\"] = \"dashDotDotHeavy\";\r\n UnderlineType[\"WAVE\"] = \"wave\";\r\n UnderlineType[\"WAVYHEAVY\"] = \"wavyHeavy\";\r\n UnderlineType[\"WAVYDOUBLE\"] = \"wavyDouble\";\r\n})(UnderlineType = exports.UnderlineType || (exports.UnderlineType = {}));\r\nclass BaseUnderline extends xml_components_1.XmlComponent {\r\n constructor(underlineType, color) {\r\n super(\"w:u\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: underlineType,\r\n color: color,\r\n }));\r\n }\r\n}\r\nexports.BaseUnderline = BaseUnderline;\r\nclass Underline extends BaseUnderline {\r\n constructor(underlineType = UnderlineType.SINGLE, color) {\r\n super(underlineType, color);\r\n }\r\n}\r\nexports.Underline = Underline;\r\nclass DashUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"dash\");\r\n }\r\n}\r\nexports.DashUnderline = DashUnderline;\r\nclass DashDotDotHeavyUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"dashDotDotHeavy\");\r\n }\r\n}\r\nexports.DashDotDotHeavyUnderline = DashDotDotHeavyUnderline;\r\nclass DashDotHeavyUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"dashDotHeavy\");\r\n }\r\n}\r\nexports.DashDotHeavyUnderline = DashDotHeavyUnderline;\r\nclass DashLongUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"dashLong\");\r\n }\r\n}\r\nexports.DashLongUnderline = DashLongUnderline;\r\nclass DashLongHeavyUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"dashLongHeavy\");\r\n }\r\n}\r\nexports.DashLongHeavyUnderline = DashLongHeavyUnderline;\r\nclass DotDashUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"dotDash\");\r\n }\r\n}\r\nexports.DotDashUnderline = DotDashUnderline;\r\nclass DotDotDashUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"dotDotDash\");\r\n }\r\n}\r\nexports.DotDotDashUnderline = DotDotDashUnderline;\r\nclass DottedUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"dotted\");\r\n }\r\n}\r\nexports.DottedUnderline = DottedUnderline;\r\nclass DottedHeavyUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"dottedHeavy\");\r\n }\r\n}\r\nexports.DottedHeavyUnderline = DottedHeavyUnderline;\r\nclass DoubleUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"double\");\r\n }\r\n}\r\nexports.DoubleUnderline = DoubleUnderline;\r\nclass SingleUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"single\");\r\n }\r\n}\r\nexports.SingleUnderline = SingleUnderline;\r\nclass ThickUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"thick\");\r\n }\r\n}\r\nexports.ThickUnderline = ThickUnderline;\r\nclass WaveUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"wave\");\r\n }\r\n}\r\nexports.WaveUnderline = WaveUnderline;\r\nclass WavyDoubleUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"wavyDouble\");\r\n }\r\n}\r\nexports.WavyDoubleUnderline = WavyDoubleUnderline;\r\nclass WavyHeavyUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"wavyHeavy\");\r\n }\r\n}\r\nexports.WavyHeavyUnderline = WavyHeavyUnderline;\r\nclass WordsUnderline extends BaseUnderline {\r\n constructor() {\r\n super(\"words\");\r\n }\r\n}\r\nexports.WordsUnderline = WordsUnderline;\r\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar randomFromSeed = __webpack_require__(221);\n\nvar ORIGINAL = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-';\nvar alphabet;\nvar previousSeed;\n\nvar shuffled;\n\nfunction reset() {\n shuffled = false;\n}\n\nfunction setCharacters(_alphabet_) {\n if (!_alphabet_) {\n if (alphabet !== ORIGINAL) {\n alphabet = ORIGINAL;\n reset();\n }\n return;\n }\n\n if (_alphabet_ === alphabet) {\n return;\n }\n\n if (_alphabet_.length !== ORIGINAL.length) {\n throw new Error('Custom alphabet for shortid must be ' + ORIGINAL.length + ' unique characters. You submitted ' + _alphabet_.length + ' characters: ' + _alphabet_);\n }\n\n var unique = _alphabet_.split('').filter(function(item, ind, arr){\n return ind !== arr.lastIndexOf(item);\n });\n\n if (unique.length) {\n throw new Error('Custom alphabet for shortid must be ' + ORIGINAL.length + ' unique characters. These characters were not unique: ' + unique.join(', '));\n }\n\n alphabet = _alphabet_;\n reset();\n}\n\nfunction characters(_alphabet_) {\n setCharacters(_alphabet_);\n return alphabet;\n}\n\nfunction setSeed(seed) {\n randomFromSeed.seed(seed);\n if (previousSeed !== seed) {\n reset();\n previousSeed = seed;\n }\n}\n\nfunction shuffle() {\n if (!alphabet) {\n setCharacters(ORIGINAL);\n }\n\n var sourceArray = alphabet.split('');\n var targetArray = [];\n var r = randomFromSeed.nextValue();\n var characterIndex;\n\n while (sourceArray.length > 0) {\n r = randomFromSeed.nextValue();\n characterIndex = Math.floor(r * sourceArray.length);\n targetArray.push(sourceArray.splice(characterIndex, 1)[0]);\n }\n return targetArray.join('');\n}\n\nfunction getShuffled() {\n if (shuffled) {\n return shuffled;\n }\n shuffled = shuffle();\n return shuffled;\n}\n\n/**\n * lookup shuffled letter\n * @param index\n * @returns {string}\n */\nfunction lookup(index) {\n var alphabetShuffled = getShuffled();\n return alphabetShuffled[index];\n}\n\nfunction get () {\n return alphabet || ORIGINAL;\n}\n\nmodule.exports = {\n get: get,\n characters: characters,\n seed: setSeed,\n lookup: lookup,\n shuffled: getShuffled\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst alignment_1 = __webpack_require__(52);\r\nconst bidirectional_1 = __webpack_require__(230);\r\nconst border_1 = __webpack_require__(63);\r\nconst indent_1 = __webpack_require__(64);\r\nconst keep_1 = __webpack_require__(65);\r\nconst page_break_1 = __webpack_require__(66);\r\nconst spacing_1 = __webpack_require__(82);\r\nconst style_1 = __webpack_require__(83);\r\nconst tab_stop_1 = __webpack_require__(84);\r\nconst unordered_list_1 = __webpack_require__(85);\r\nconst links_1 = __webpack_require__(37);\r\nconst formatting_1 = __webpack_require__(68);\r\nclass ParagraphProperties extends xml_components_1.IgnoreIfEmptyXmlComponent {\r\n constructor(options) {\r\n super(\"w:pPr\");\r\n if (!options) {\r\n return;\r\n }\r\n if (options.border) {\r\n this.push(new border_1.Border(options.border));\r\n }\r\n if (options.spacing) {\r\n this.push(new spacing_1.Spacing(options.spacing));\r\n }\r\n if (options.outlineLevel !== undefined) {\r\n this.push(new links_1.OutlineLevel(options.outlineLevel));\r\n }\r\n if (options.alignment) {\r\n this.push(new alignment_1.Alignment(options.alignment));\r\n }\r\n if (options.heading) {\r\n this.push(new style_1.Style(options.heading));\r\n }\r\n if (options.bidirectional) {\r\n this.push(new bidirectional_1.Bidirectional());\r\n }\r\n if (options.thematicBreak) {\r\n this.push(new border_1.ThematicBreak());\r\n }\r\n if (options.pageBreakBefore) {\r\n this.push(new page_break_1.PageBreakBefore());\r\n }\r\n if (options.contextualSpacing) {\r\n this.push(new spacing_1.ContextualSpacing(options.contextualSpacing));\r\n }\r\n if (options.indent) {\r\n this.push(new indent_1.Indent(options.indent));\r\n }\r\n if (options.keepLines) {\r\n this.push(new keep_1.KeepLines());\r\n }\r\n if (options.keepNext) {\r\n this.push(new keep_1.KeepNext());\r\n }\r\n if (options.tabStops) {\r\n for (const tabStop of options.tabStops) {\r\n this.push(new tab_stop_1.TabStop(tabStop.type, tabStop.position, tabStop.leader));\r\n }\r\n }\r\n if (options.style) {\r\n this.push(new style_1.Style(options.style));\r\n }\r\n if (options.bullet) {\r\n this.push(new style_1.Style(\"ListParagraph\"));\r\n this.push(new unordered_list_1.NumberProperties(1, options.bullet.level));\r\n }\r\n if (options.numbering) {\r\n if (!options.numbering.custom) {\r\n this.push(new style_1.Style(\"ListParagraph\"));\r\n }\r\n this.push(new unordered_list_1.NumberProperties(options.numbering.reference, options.numbering.level));\r\n }\r\n if (options.rightTabStop) {\r\n this.push(new tab_stop_1.TabStop(tab_stop_1.TabStopType.RIGHT, options.rightTabStop));\r\n }\r\n if (options.leftTabStop) {\r\n this.push(new tab_stop_1.TabStop(tab_stop_1.TabStopType.LEFT, options.leftTabStop));\r\n }\r\n if (options.shading) {\r\n this.push(new formatting_1.Shading(options.shading.type, options.shading.fill, options.shading.color));\r\n }\r\n }\r\n push(item) {\r\n this.root.push(item);\r\n }\r\n}\r\nexports.ParagraphProperties = ParagraphProperties;\r\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst math_beginning_character_1 = __webpack_require__(257);\r\nconst math_ending_char_1 = __webpack_require__(258);\r\nclass MathBracketProperties extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:dPr\");\r\n if (!!options) {\r\n this.root.push(new math_beginning_character_1.MathBeginningCharacter(options.beginningCharacter));\r\n this.root.push(new math_ending_char_1.MathEndingCharacter(options.endingCharacter));\r\n }\r\n }\r\n}\r\nexports.MathBracketProperties = MathBracketProperties;\r\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(271));\r\n__export(__webpack_require__(43));\r\n__export(__webpack_require__(42));\r\n__export(__webpack_require__(106));\r\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst formatting_1 = __webpack_require__(51);\r\nconst properties_1 = __webpack_require__(21);\r\nconst properties_2 = __webpack_require__(9);\r\nvar LevelFormat;\r\n(function (LevelFormat) {\r\n LevelFormat[\"BULLET\"] = \"bullet\";\r\n LevelFormat[\"CARDINAL_TEXT\"] = \"cardinalText\";\r\n LevelFormat[\"CHICAGO\"] = \"chicago\";\r\n LevelFormat[\"DECIMAL\"] = \"decimal\";\r\n LevelFormat[\"DECIMAL_ENCLOSED_CIRCLE\"] = \"decimalEnclosedCircle\";\r\n LevelFormat[\"DECIMAL_ENCLOSED_FULLSTOP\"] = \"decimalEnclosedFullstop\";\r\n LevelFormat[\"DECIMAL_ENCLOSED_PARENTHESES\"] = \"decimalEnclosedParen\";\r\n LevelFormat[\"DECIMAL_ZERO\"] = \"decimalZero\";\r\n LevelFormat[\"LOWER_LETTER\"] = \"lowerLetter\";\r\n LevelFormat[\"LOWER_ROMAN\"] = \"lowerRoman\";\r\n LevelFormat[\"NONE\"] = \"none\";\r\n LevelFormat[\"ORDINAL_TEXT\"] = \"ordinalText\";\r\n LevelFormat[\"UPPER_LETTER\"] = \"upperLetter\";\r\n LevelFormat[\"UPPER_ROMAN\"] = \"upperRoman\";\r\n})(LevelFormat = exports.LevelFormat || (exports.LevelFormat = {}));\r\nclass LevelAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n ilvl: \"w:ilvl\",\r\n tentative: \"w15:tentative\",\r\n };\r\n }\r\n}\r\nclass Start extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:start\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nclass NumberFormat extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:numFmt\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nclass LevelText extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:lvlText\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nclass LevelJc extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:lvlJc\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nvar LevelSuffix;\r\n(function (LevelSuffix) {\r\n LevelSuffix[\"NOTHING\"] = \"nothing\";\r\n LevelSuffix[\"SPACE\"] = \"space\";\r\n LevelSuffix[\"TAB\"] = \"tab\";\r\n})(LevelSuffix = exports.LevelSuffix || (exports.LevelSuffix = {}));\r\nclass Suffix extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:suff\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nclass LevelBase extends xml_components_1.XmlComponent {\r\n constructor({ level, format, text, alignment = formatting_1.AlignmentType.START, start = 1, style, suffix }) {\r\n super(\"w:lvl\");\r\n this.root.push(new LevelAttributes({\r\n ilvl: level,\r\n tentative: 1,\r\n }));\r\n this.root.push(new Start(start));\r\n this.root.push(new LevelJc(alignment));\r\n if (format) {\r\n this.root.push(new NumberFormat(format));\r\n }\r\n if (text) {\r\n this.root.push(new LevelText(text));\r\n }\r\n this.paragraphProperties = new properties_1.ParagraphProperties(style && style.paragraph);\r\n this.runProperties = new properties_2.RunProperties(style && style.run);\r\n this.root.push(this.paragraphProperties);\r\n this.root.push(this.runProperties);\r\n if (suffix) {\r\n this.root.push(new Suffix(suffix));\r\n }\r\n }\r\n}\r\nexports.LevelBase = LevelBase;\r\nclass Level extends LevelBase {\r\n constructor(options) {\r\n super(options);\r\n }\r\n}\r\nexports.Level = Level;\r\nclass LevelForOverride extends LevelBase {\r\n}\r\nexports.LevelForOverride = LevelForOverride;\r\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nclass BaseXmlComponent {\r\n constructor(rootKey) {\r\n this.deleted = false;\r\n this.rootKey = rootKey;\r\n }\r\n get IsDeleted() {\r\n return this.deleted;\r\n }\r\n}\r\nexports.BaseXmlComponent = BaseXmlComponent;\r\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/*jslint node:true */\r\n\r\nvar xml2js = __webpack_require__(54);\r\nvar xml2json = __webpack_require__(156);\r\nvar js2xml = __webpack_require__(62);\r\nvar json2xml = __webpack_require__(157);\r\n\r\nmodule.exports = {\r\n xml2js: xml2js,\r\n xml2json: xml2json,\r\n js2xml: js2xml,\r\n json2xml: json2xml\r\n};\r\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction $getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return $getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = $getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) args.push(arguments[i]);\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n ReflectApply(this.listener, this.target, args);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(57);\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = __webpack_require__(29);\nexports.Duplex = __webpack_require__(5);\nexports.Transform = __webpack_require__(61);\nexports.PassThrough = __webpack_require__(151);\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process, setImmediate, global) {// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n\n\n/*<replacement>*/\n\nvar pna = __webpack_require__(15);\n/*</replacement>*/\n\nmodule.exports = Writable;\n\n/* <replacement> */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* </replacement> */\n\n/*<replacement>*/\nvar asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;\n/*</replacement>*/\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nWritable.WritableState = WritableState;\n\n/*<replacement>*/\nvar util = __webpack_require__(14);\nutil.inherits = __webpack_require__(7);\n/*</replacement>*/\n\n/*<replacement>*/\nvar internalUtil = {\n deprecate: __webpack_require__(150)\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = __webpack_require__(58);\n/*</replacement>*/\n\n/*<replacement>*/\n\nvar Buffer = __webpack_require__(16).Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/*</replacement>*/\n\nvar destroyImpl = __webpack_require__(59);\n\nutil.inherits(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream) {\n Duplex = Duplex || __webpack_require__(5);\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n var hwm = options.highWaterMark;\n var writableHwm = options.writableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function () {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function (object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function (object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || __webpack_require__(5);\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {\n return new Writable(options);\n }\n\n this._writableState = new WritableState(options, this);\n\n // legacy.\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n\n if (typeof options.writev === 'function') this._writev = options.writev;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n this.emit('error', new Error('Cannot pipe, not readable'));\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new Error('write after end');\n // TODO: defer error events consistently everywhere, not just the cb\n stream.emit('error', er);\n pna.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var valid = true;\n var er = false;\n\n if (chunk === null) {\n er = new TypeError('May not write null values to stream');\n } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n if (er) {\n stream.emit('error', er);\n pna.nextTick(cb, er);\n valid = false;\n }\n return valid;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n\n if (typeof cb !== 'function') cb = nop;\n\n if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n\n return ret;\n};\n\nWritable.prototype.cork = function () {\n var state = this._writableState;\n\n state.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n\n if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n\n state.length += len;\n\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n pna.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n pna.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n\n onwriteStateUpdate(state);\n\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state);\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n /*<replacement>*/\n asyncWrite(afterWrite, stream, state, finished, cb);\n /*</replacement>*/\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new Error('_write() is not implemented'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending && !state.finished) endWritable(this, state, cb);\n};\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n stream.emit('error', err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function') {\n state.pendingcb++;\n state.finalCalled = true;\n pna.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n }\n }\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n if (state.corkedRequestsFree) {\n state.corkedRequestsFree.next = corkReq;\n } else {\n state.corkedRequestsFree = corkReq;\n }\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n get: function () {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\n\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n this.end();\n cb(err);\n};\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(13), __webpack_require__(60).setImmediate, __webpack_require__(4)))\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n/*<replacement>*/\n\nvar Buffer = __webpack_require__(16).Buffer;\n/*</replacement>*/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isArray = __webpack_require__(32).isArray;\r\n\r\nmodule.exports = {\r\n\r\n copyOptions: function (options) {\r\n var key, copy = {};\r\n for (key in options) {\r\n if (options.hasOwnProperty(key)) {\r\n copy[key] = options[key];\r\n }\r\n }\r\n return copy;\r\n },\r\n\r\n ensureFlagExists: function (item, options) {\r\n if (!(item in options) || typeof options[item] !== 'boolean') {\r\n options[item] = false;\r\n }\r\n },\r\n\r\n ensureSpacesExists: function (options) {\r\n if (!('spaces' in options) || (typeof options.spaces !== 'number' && typeof options.spaces !== 'string')) {\r\n options.spaces = 0;\r\n }\r\n },\r\n\r\n ensureAlwaysArrayExists: function (options) {\r\n if (!('alwaysArray' in options) || (typeof options.alwaysArray !== 'boolean' && !isArray(options.alwaysArray))) {\r\n options.alwaysArray = false;\r\n }\r\n },\r\n\r\n ensureKeyExists: function (key, options) {\r\n if (!(key + 'Key' in options) || typeof options[key + 'Key'] !== 'string') {\r\n options[key + 'Key'] = options.compact ? '_' + key : key;\r\n }\r\n },\r\n\r\n checkFnExists: function (key, options) {\r\n return key + 'Fn' in options;\r\n }\r\n\r\n};\r\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\r\n\r\n isArray: function(value) {\r\n if (Array.isArray) {\r\n return Array.isArray(value);\r\n }\r\n // fallback for older browsers like IE 8\r\n return Object.prototype.toString.call( value ) === '[object Array]';\r\n }\r\n\r\n};\r\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar EmphasisMarkType;\r\n(function (EmphasisMarkType) {\r\n EmphasisMarkType[\"DOT\"] = \"dot\";\r\n})(EmphasisMarkType = exports.EmphasisMarkType || (exports.EmphasisMarkType = {}));\r\nclass BaseEmphasisMark extends xml_components_1.XmlComponent {\r\n constructor(emphasisMarkType) {\r\n super(\"w:em\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: emphasisMarkType,\r\n }));\r\n }\r\n}\r\nexports.BaseEmphasisMark = BaseEmphasisMark;\r\nclass EmphasisMark extends BaseEmphasisMark {\r\n constructor(emphasisMarkType = EmphasisMarkType.DOT) {\r\n super(emphasisMarkType);\r\n }\r\n}\r\nexports.EmphasisMark = EmphasisMark;\r\nclass DotEmphasisMark extends BaseEmphasisMark {\r\n constructor() {\r\n super(EmphasisMarkType.DOT);\r\n }\r\n}\r\nexports.DotEmphasisMark = DotEmphasisMark;\r\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass RunFontAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n ascii: \"w:ascii\",\r\n cs: \"w:cs\",\r\n eastAsia: \"w:eastAsia\",\r\n hAnsi: \"w:hAnsi\",\r\n hint: \"w:hint\",\r\n };\r\n }\r\n}\r\nclass RunFonts extends xml_components_1.XmlComponent {\r\n constructor(nameOrAttrs, hint) {\r\n super(\"w:rFonts\");\r\n if (typeof nameOrAttrs === \"string\") {\r\n const name = nameOrAttrs;\r\n this.root.push(new RunFontAttributes({\r\n ascii: name,\r\n cs: name,\r\n eastAsia: name,\r\n hAnsi: name,\r\n hint: hint,\r\n }));\r\n }\r\n else {\r\n const attrs = nameOrAttrs;\r\n this.root.push(new RunFontAttributes(attrs));\r\n }\r\n }\r\n}\r\nexports.RunFonts = RunFonts;\r\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar HorizontalPositionRelativeFrom;\r\n(function (HorizontalPositionRelativeFrom) {\r\n HorizontalPositionRelativeFrom[\"CHARACTER\"] = \"character\";\r\n HorizontalPositionRelativeFrom[\"COLUMN\"] = \"column\";\r\n HorizontalPositionRelativeFrom[\"INSIDE_MARGIN\"] = \"insideMargin\";\r\n HorizontalPositionRelativeFrom[\"LEFT_MARGIN\"] = \"leftMargin\";\r\n HorizontalPositionRelativeFrom[\"MARGIN\"] = \"margin\";\r\n HorizontalPositionRelativeFrom[\"OUTSIDE_MARGIN\"] = \"outsideMargin\";\r\n HorizontalPositionRelativeFrom[\"PAGE\"] = \"page\";\r\n HorizontalPositionRelativeFrom[\"RIGHT_MARGIN\"] = \"rightMargin\";\r\n})(HorizontalPositionRelativeFrom = exports.HorizontalPositionRelativeFrom || (exports.HorizontalPositionRelativeFrom = {}));\r\nvar VerticalPositionRelativeFrom;\r\n(function (VerticalPositionRelativeFrom) {\r\n VerticalPositionRelativeFrom[\"BOTTOM_MARGIN\"] = \"bottomMargin\";\r\n VerticalPositionRelativeFrom[\"INSIDE_MARGIN\"] = \"insideMargin\";\r\n VerticalPositionRelativeFrom[\"LINE\"] = \"line\";\r\n VerticalPositionRelativeFrom[\"MARGIN\"] = \"margin\";\r\n VerticalPositionRelativeFrom[\"OUTSIDE_MARGIN\"] = \"outsideMargin\";\r\n VerticalPositionRelativeFrom[\"PAGE\"] = \"page\";\r\n VerticalPositionRelativeFrom[\"PARAGRAPH\"] = \"paragraph\";\r\n VerticalPositionRelativeFrom[\"TOP_MARGIN\"] = \"topMargin\";\r\n})(VerticalPositionRelativeFrom = exports.VerticalPositionRelativeFrom || (exports.VerticalPositionRelativeFrom = {}));\r\nvar HorizontalPositionAlign;\r\n(function (HorizontalPositionAlign) {\r\n HorizontalPositionAlign[\"CENTER\"] = \"center\";\r\n HorizontalPositionAlign[\"INSIDE\"] = \"inside\";\r\n HorizontalPositionAlign[\"LEFT\"] = \"left\";\r\n HorizontalPositionAlign[\"OUTSIDE\"] = \"outside\";\r\n HorizontalPositionAlign[\"RIGHT\"] = \"right\";\r\n})(HorizontalPositionAlign = exports.HorizontalPositionAlign || (exports.HorizontalPositionAlign = {}));\r\nvar VerticalPositionAlign;\r\n(function (VerticalPositionAlign) {\r\n VerticalPositionAlign[\"BOTTOM\"] = \"bottom\";\r\n VerticalPositionAlign[\"CENTER\"] = \"center\";\r\n VerticalPositionAlign[\"INSIDE\"] = \"inside\";\r\n VerticalPositionAlign[\"OUTSIDE\"] = \"outside\";\r\n VerticalPositionAlign[\"TOP\"] = \"top\";\r\n})(VerticalPositionAlign = exports.VerticalPositionAlign || (exports.VerticalPositionAlign = {}));\r\n\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(200));\r\n__export(__webpack_require__(201));\r\n__export(__webpack_require__(202));\r\n__export(__webpack_require__(203));\r\n__export(__webpack_require__(204));\r\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(217));\r\n__export(__webpack_require__(219));\r\n__export(__webpack_require__(229));\r\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass CellBorderAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { style: \"w:val\", size: \"w:sz\", color: \"w:color\" };\r\n }\r\n}\r\nclass BaseTableCellBorder extends xml_components_1.XmlComponent {\r\n setProperties(style, size, color) {\r\n const attrs = new CellBorderAttributes({\r\n style: style,\r\n size: size,\r\n color: color,\r\n });\r\n this.root.push(attrs);\r\n return this;\r\n }\r\n}\r\nclass TableCellBorders extends xml_components_1.IgnoreIfEmptyXmlComponent {\r\n constructor() {\r\n super(\"w:tcBorders\");\r\n }\r\n addTopBorder(style, size, color) {\r\n const top = new BaseTableCellBorder(\"w:top\");\r\n top.setProperties(style, size, color);\r\n this.root.push(top);\r\n return this;\r\n }\r\n addStartBorder(style, size, color) {\r\n const start = new BaseTableCellBorder(\"w:start\");\r\n start.setProperties(style, size, color);\r\n this.root.push(start);\r\n return this;\r\n }\r\n addBottomBorder(style, size, color) {\r\n const bottom = new BaseTableCellBorder(\"w:bottom\");\r\n bottom.setProperties(style, size, color);\r\n this.root.push(bottom);\r\n return this;\r\n }\r\n addEndBorder(style, size, color) {\r\n const end = new BaseTableCellBorder(\"w:end\");\r\n end.setProperties(style, size, color);\r\n this.root.push(end);\r\n return this;\r\n }\r\n addLeftBorder(style, size, color) {\r\n const left = new BaseTableCellBorder(\"w:left\");\r\n left.setProperties(style, size, color);\r\n this.root.push(left);\r\n return this;\r\n }\r\n addRightBorder(style, size, color) {\r\n const right = new BaseTableCellBorder(\"w:right\");\r\n right.setProperties(style, size, color);\r\n this.root.push(right);\r\n return this;\r\n }\r\n}\r\nexports.TableCellBorders = TableCellBorders;\r\nclass GridSpanAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nclass GridSpan extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:gridSpan\");\r\n this.root.push(new GridSpanAttributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nexports.GridSpan = GridSpan;\r\nvar VerticalMergeType;\r\n(function (VerticalMergeType) {\r\n VerticalMergeType[\"CONTINUE\"] = \"continue\";\r\n VerticalMergeType[\"RESTART\"] = \"restart\";\r\n})(VerticalMergeType = exports.VerticalMergeType || (exports.VerticalMergeType = {}));\r\nclass VerticalMergeAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nclass VerticalMerge extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:vMerge\");\r\n this.root.push(new VerticalMergeAttributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nexports.VerticalMerge = VerticalMerge;\r\nvar VerticalAlign;\r\n(function (VerticalAlign) {\r\n VerticalAlign[\"BOTTOM\"] = \"bottom\";\r\n VerticalAlign[\"CENTER\"] = \"center\";\r\n VerticalAlign[\"TOP\"] = \"top\";\r\n})(VerticalAlign = exports.VerticalAlign || (exports.VerticalAlign = {}));\r\nclass VAlignAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nclass VAlign extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:vAlign\");\r\n this.root.push(new VAlignAttributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nexports.VAlign = VAlign;\r\nvar TextDirection;\r\n(function (TextDirection) {\r\n TextDirection[\"BOTTOM_TO_TOP_LEFT_TO_RIGHT\"] = \"btLr\";\r\n TextDirection[\"LEFT_TO_RIGHT_TOP_TO_BOTTOM\"] = \"lrTb\";\r\n TextDirection[\"TOP_TO_BOTTOM_RIGHT_TO_LEFT\"] = \"tbRl\";\r\n})(TextDirection = exports.TextDirection || (exports.TextDirection = {}));\r\nclass TDirectionAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nclass TDirection extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:textDirection\");\r\n this.root.push(new TDirectionAttributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nexports.TDirection = TDirection;\r\nvar WidthType;\r\n(function (WidthType) {\r\n WidthType[\"AUTO\"] = \"auto\";\r\n WidthType[\"DXA\"] = \"dxa\";\r\n WidthType[\"NIL\"] = \"nil\";\r\n WidthType[\"PERCENTAGE\"] = \"pct\";\r\n})(WidthType = exports.WidthType || (exports.WidthType = {}));\r\nclass TableCellWidthAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { width: \"w:w\", type: \"w:type\" };\r\n }\r\n}\r\nclass TableCellWidth extends xml_components_1.XmlComponent {\r\n constructor(value, type) {\r\n super(\"w:tcW\");\r\n this.root.push(new TableCellWidthAttributes({\r\n width: value,\r\n type: type,\r\n }));\r\n }\r\n}\r\nexports.TableCellWidth = TableCellWidth;\r\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(267));\r\n\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst components_1 = __webpack_require__(41);\r\nclass StyleAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n type: \"w:type\",\r\n styleId: \"w:styleId\",\r\n default: \"w:default\",\r\n customStyle: \"w:customStyle\",\r\n };\r\n }\r\n}\r\nclass Style extends xml_components_1.XmlComponent {\r\n constructor(attributes, name) {\r\n super(\"w:style\");\r\n this.root.push(new StyleAttributes(attributes));\r\n if (name) {\r\n this.root.push(new components_1.Name(name));\r\n }\r\n }\r\n}\r\nexports.Style = Style;\r\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass ComponentAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nclass Name extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:name\");\r\n this.root.push(new ComponentAttributes({ val: value }));\r\n }\r\n}\r\nexports.Name = Name;\r\nclass BasedOn extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:basedOn\");\r\n this.root.push(new ComponentAttributes({ val: value }));\r\n }\r\n}\r\nexports.BasedOn = BasedOn;\r\nclass Next extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:next\");\r\n this.root.push(new ComponentAttributes({ val: value }));\r\n }\r\n}\r\nexports.Next = Next;\r\nclass Link extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:link\");\r\n this.root.push(new ComponentAttributes({ val: value }));\r\n }\r\n}\r\nexports.Link = Link;\r\nclass UiPriority extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:uiPriority\");\r\n this.root.push(new ComponentAttributes({ val: value }));\r\n }\r\n}\r\nexports.UiPriority = UiPriority;\r\nclass UnhideWhenUsed extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:unhideWhenUsed\");\r\n }\r\n}\r\nexports.UnhideWhenUsed = UnhideWhenUsed;\r\nclass QuickFormat extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:qFormat\");\r\n }\r\n}\r\nexports.QuickFormat = QuickFormat;\r\nclass TableProperties extends xml_components_1.XmlComponent {\r\n}\r\nexports.TableProperties = TableProperties;\r\nclass RsId extends xml_components_1.XmlComponent {\r\n}\r\nexports.RsId = RsId;\r\nclass SemiHidden extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:semiHidden\");\r\n }\r\n}\r\nexports.SemiHidden = SemiHidden;\r\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst paragraph_1 = __webpack_require__(1);\r\nconst properties_1 = __webpack_require__(9);\r\nconst components_1 = __webpack_require__(41);\r\nconst style_1 = __webpack_require__(40);\r\nclass StyleForParagraph extends style_1.Style {\r\n constructor(options) {\r\n super({ type: \"paragraph\", styleId: options.id }, options.name);\r\n this.paragraphProperties = new paragraph_1.ParagraphProperties(options.paragraph);\r\n this.runProperties = new properties_1.RunProperties(options.run);\r\n this.root.push(this.paragraphProperties);\r\n this.root.push(this.runProperties);\r\n if (options.basedOn) {\r\n this.root.push(new components_1.BasedOn(options.basedOn));\r\n }\r\n if (options.next) {\r\n this.root.push(new components_1.Next(options.next));\r\n }\r\n if (options.quickFormat) {\r\n this.root.push(new components_1.QuickFormat());\r\n }\r\n if (options.link) {\r\n this.root.push(new components_1.Link(options.link));\r\n }\r\n if (options.semiHidden) {\r\n this.root.push(new components_1.SemiHidden());\r\n }\r\n if (options.uiPriority) {\r\n this.root.push(new components_1.UiPriority(options.uiPriority));\r\n }\r\n if (options.unhideWhenUsed) {\r\n this.root.push(new components_1.UnhideWhenUsed());\r\n }\r\n }\r\n}\r\nexports.StyleForParagraph = StyleForParagraph;\r\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst properties_1 = __webpack_require__(9);\r\nconst components_1 = __webpack_require__(41);\r\nconst style_1 = __webpack_require__(40);\r\nclass StyleForCharacter extends style_1.Style {\r\n constructor(options) {\r\n super({ type: \"character\", styleId: options.id }, options.name);\r\n this.runProperties = new properties_1.RunProperties(options.run);\r\n this.root.push(this.runProperties);\r\n this.root.push(new components_1.UiPriority(99));\r\n this.root.push(new components_1.UnhideWhenUsed());\r\n if (options.basedOn) {\r\n this.root.push(new components_1.BasedOn(options.basedOn));\r\n }\r\n if (options.link) {\r\n this.root.push(new components_1.Link(options.link));\r\n }\r\n if (options.semiHidden) {\r\n this.root.push(new components_1.SemiHidden());\r\n }\r\n }\r\n}\r\nexports.StyleForCharacter = StyleForCharacter;\r\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.convertMillimetersToTwip = (millimeters) => {\r\n return Math.floor((millimeters / 25.4) * 72 * 20);\r\n};\r\nexports.convertInchesToTwip = (inches) => {\r\n return Math.floor(inches * 72 * 20);\r\n};\r\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar PageOrientation;\r\n(function (PageOrientation) {\r\n PageOrientation[\"PORTRAIT\"] = \"portrait\";\r\n PageOrientation[\"LANDSCAPE\"] = \"landscape\";\r\n})(PageOrientation = exports.PageOrientation || (exports.PageOrientation = {}));\r\nclass PageSizeAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n width: \"w:w\",\r\n height: \"w:h\",\r\n orientation: \"w:orient\",\r\n };\r\n }\r\n}\r\nexports.PageSizeAttributes = PageSizeAttributes;\r\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst footer_1 = __webpack_require__(308);\r\nconst relationships_1 = __webpack_require__(47);\r\nclass FooterWrapper {\r\n constructor(media, referenceId, initContent) {\r\n this.media = media;\r\n this.footer = new footer_1.Footer(referenceId, initContent);\r\n this.relationships = new relationships_1.Relationships();\r\n }\r\n add(item) {\r\n this.footer.add(item);\r\n }\r\n addChildElement(childElement) {\r\n this.footer.addChildElement(childElement);\r\n }\r\n get Footer() {\r\n return this.footer;\r\n }\r\n get Relationships() {\r\n return this.relationships;\r\n }\r\n get Media() {\r\n return this.media;\r\n }\r\n}\r\nexports.FooterWrapper = FooterWrapper;\r\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(310));\r\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst relationship_attributes_1 = __webpack_require__(312);\r\nvar TargetModeType;\r\n(function (TargetModeType) {\r\n TargetModeType[\"EXTERNAL\"] = \"External\";\r\n})(TargetModeType = exports.TargetModeType || (exports.TargetModeType = {}));\r\nclass Relationship extends xml_components_1.XmlComponent {\r\n constructor(id, type, target, targetMode) {\r\n super(\"Relationship\");\r\n this.root.push(new relationship_attributes_1.RelationshipAttributes({\r\n id,\r\n type,\r\n target,\r\n targetMode,\r\n }));\r\n }\r\n}\r\nexports.Relationship = Relationship;\r\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst header_1 = __webpack_require__(326);\r\nconst relationships_1 = __webpack_require__(47);\r\nclass HeaderWrapper {\r\n constructor(media, referenceId, initContent) {\r\n this.media = media;\r\n this.header = new header_1.Header(referenceId, initContent);\r\n this.relationships = new relationships_1.Relationships();\r\n }\r\n add(item) {\r\n this.header.add(item);\r\n return this;\r\n }\r\n addChildElement(childElement) {\r\n this.header.addChildElement(childElement);\r\n }\r\n get Header() {\r\n return this.header;\r\n }\r\n get Relationships() {\r\n return this.relationships;\r\n }\r\n get Media() {\r\n return this.media;\r\n }\r\n}\r\nexports.HeaderWrapper = HeaderWrapper;\r\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(328));\r\n__export(__webpack_require__(329));\r\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(52));\r\n__export(__webpack_require__(63));\r\n__export(__webpack_require__(64));\r\n__export(__webpack_require__(65));\r\n__export(__webpack_require__(66));\r\n__export(__webpack_require__(82));\r\n__export(__webpack_require__(83));\r\n__export(__webpack_require__(84));\r\n__export(__webpack_require__(85));\r\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar AlignmentType;\r\n(function (AlignmentType) {\r\n AlignmentType[\"START\"] = \"start\";\r\n AlignmentType[\"END\"] = \"end\";\r\n AlignmentType[\"CENTER\"] = \"center\";\r\n AlignmentType[\"BOTH\"] = \"both\";\r\n AlignmentType[\"JUSTIFIED\"] = \"both\";\r\n AlignmentType[\"DISTRIBUTE\"] = \"distribute\";\r\n AlignmentType[\"LEFT\"] = \"left\";\r\n AlignmentType[\"RIGHT\"] = \"right\";\r\n})(AlignmentType = exports.AlignmentType || (exports.AlignmentType = {}));\r\nclass AlignmentAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nexports.AlignmentAttributes = AlignmentAttributes;\r\nclass Alignment extends xml_components_1.XmlComponent {\r\n constructor(type) {\r\n super(\"w:jc\");\r\n this.root.push(new AlignmentAttributes({ val: type }));\r\n }\r\n}\r\nexports.Alignment = Alignment;\r\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst base_1 = __webpack_require__(25);\r\nclass XmlAttributeComponent extends base_1.BaseXmlComponent {\r\n constructor(properties) {\r\n super(\"_attr\");\r\n this.root = properties;\r\n }\r\n prepForXml() {\r\n const attrs = {};\r\n Object.keys(this.root).forEach((key) => {\r\n const value = this.root[key];\r\n if (value !== undefined) {\r\n const newKey = (this.xmlKeys && this.xmlKeys[key]) || key;\r\n attrs[newKey] = value;\r\n }\r\n });\r\n return { _attr: attrs };\r\n }\r\n set(properties) {\r\n this.root = properties;\r\n }\r\n}\r\nexports.XmlAttributeComponent = XmlAttributeComponent;\r\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar sax = __webpack_require__(143);\r\nvar expat /*= require('node-expat');*/ = { on: function () { }, parse: function () { } };\r\nvar helper = __webpack_require__(31);\r\nvar isArray = __webpack_require__(32).isArray;\r\n\r\nvar options;\r\nvar pureJsParser = true;\r\nvar currentElement;\r\n\r\nfunction validateOptions(userOptions) {\r\n options = helper.copyOptions(userOptions);\r\n helper.ensureFlagExists('ignoreDeclaration', options);\r\n helper.ensureFlagExists('ignoreInstruction', options);\r\n helper.ensureFlagExists('ignoreAttributes', options);\r\n helper.ensureFlagExists('ignoreText', options);\r\n helper.ensureFlagExists('ignoreComment', options);\r\n helper.ensureFlagExists('ignoreCdata', options);\r\n helper.ensureFlagExists('ignoreDoctype', options);\r\n helper.ensureFlagExists('compact', options);\r\n helper.ensureFlagExists('alwaysChildren', options);\r\n helper.ensureFlagExists('addParent', options);\r\n helper.ensureFlagExists('trim', options);\r\n helper.ensureFlagExists('nativeType', options);\r\n helper.ensureFlagExists('nativeTypeAttributes', options);\r\n helper.ensureFlagExists('sanitize', options);\r\n helper.ensureFlagExists('instructionHasAttributes', options);\r\n helper.ensureFlagExists('captureSpacesBetweenElements', options);\r\n helper.ensureAlwaysArrayExists(options);\r\n helper.ensureKeyExists('declaration', options);\r\n helper.ensureKeyExists('instruction', options);\r\n helper.ensureKeyExists('attributes', options);\r\n helper.ensureKeyExists('text', options);\r\n helper.ensureKeyExists('comment', options);\r\n helper.ensureKeyExists('cdata', options);\r\n helper.ensureKeyExists('doctype', options);\r\n helper.ensureKeyExists('type', options);\r\n helper.ensureKeyExists('name', options);\r\n helper.ensureKeyExists('elements', options);\r\n helper.ensureKeyExists('parent', options);\r\n helper.checkFnExists('doctype', options);\r\n helper.checkFnExists('instruction', options);\r\n helper.checkFnExists('cdata', options);\r\n helper.checkFnExists('comment', options);\r\n helper.checkFnExists('text', options);\r\n helper.checkFnExists('instructionName', options);\r\n helper.checkFnExists('elementName', options);\r\n helper.checkFnExists('attributeName', options);\r\n helper.checkFnExists('attributeValue', options);\r\n helper.checkFnExists('attributes', options);\r\n return options;\r\n}\r\n\r\nfunction nativeType(value) {\r\n var nValue = Number(value);\r\n if (!isNaN(nValue)) {\r\n return nValue;\r\n }\r\n var bValue = value.toLowerCase();\r\n if (bValue === 'true') {\r\n return true;\r\n } else if (bValue === 'false') {\r\n return false;\r\n }\r\n return value;\r\n}\r\n\r\nfunction addField(type, value) {\r\n var key;\r\n if (options.compact) {\r\n if (\r\n !currentElement[options[type + 'Key']] &&\r\n (isArray(options.alwaysArray) ? options.alwaysArray.indexOf(options[type + 'Key']) !== -1 : options.alwaysArray)\r\n ) {\r\n currentElement[options[type + 'Key']] = [];\r\n }\r\n if (currentElement[options[type + 'Key']] && !isArray(currentElement[options[type + 'Key']])) {\r\n currentElement[options[type + 'Key']] = [currentElement[options[type + 'Key']]];\r\n }\r\n if (type + 'Fn' in options && typeof value === 'string') {\r\n value = options[type + 'Fn'](value, currentElement);\r\n }\r\n if (type === 'instruction' && ('instructionFn' in options || 'instructionNameFn' in options)) {\r\n for (key in value) {\r\n if (value.hasOwnProperty(key)) {\r\n if ('instructionFn' in options) {\r\n value[key] = options.instructionFn(value[key], key, currentElement);\r\n } else {\r\n var temp = value[key];\r\n delete value[key];\r\n value[options.instructionNameFn(key, temp, currentElement)] = temp;\r\n }\r\n }\r\n }\r\n }\r\n if (isArray(currentElement[options[type + 'Key']])) {\r\n currentElement[options[type + 'Key']].push(value);\r\n } else {\r\n currentElement[options[type + 'Key']] = value;\r\n }\r\n } else {\r\n if (!currentElement[options.elementsKey]) {\r\n currentElement[options.elementsKey] = [];\r\n }\r\n var element = {};\r\n element[options.typeKey] = type;\r\n if (type === 'instruction') {\r\n for (key in value) {\r\n if (value.hasOwnProperty(key)) {\r\n break;\r\n }\r\n }\r\n element[options.nameKey] = 'instructionNameFn' in options ? options.instructionNameFn(key, value, currentElement) : key;\r\n if (options.instructionHasAttributes) {\r\n element[options.attributesKey] = value[key][options.attributesKey];\r\n if ('instructionFn' in options) {\r\n element[options.attributesKey] = options.instructionFn(element[options.attributesKey], key, currentElement);\r\n }\r\n } else {\r\n if ('instructionFn' in options) {\r\n value[key] = options.instructionFn(value[key], key, currentElement);\r\n }\r\n element[options.instructionKey] = value[key];\r\n }\r\n } else {\r\n if (type + 'Fn' in options) {\r\n value = options[type + 'Fn'](value, currentElement);\r\n }\r\n element[options[type + 'Key']] = value;\r\n }\r\n if (options.addParent) {\r\n element[options.parentKey] = currentElement;\r\n }\r\n currentElement[options.elementsKey].push(element);\r\n }\r\n}\r\n\r\nfunction manipulateAttributes(attributes) {\r\n if ('attributesFn' in options && attributes) {\r\n attributes = options.attributesFn(attributes, currentElement);\r\n }\r\n if ((options.trim || 'attributeValueFn' in options || 'attributeNameFn' in options || options.nativeTypeAttributes) && attributes) {\r\n var key;\r\n for (key in attributes) {\r\n if (attributes.hasOwnProperty(key)) {\r\n if (options.trim) attributes[key] = attributes[key].trim();\r\n if (options.nativeTypeAttributes) {\r\n attributes[key] = nativeType(attributes[key]);\r\n }\r\n if ('attributeValueFn' in options) attributes[key] = options.attributeValueFn(attributes[key], key, currentElement);\r\n if ('attributeNameFn' in options) {\r\n var temp = attributes[key];\r\n delete attributes[key];\r\n attributes[options.attributeNameFn(key, attributes[key], currentElement)] = temp;\r\n }\r\n }\r\n }\r\n }\r\n return attributes;\r\n}\r\n\r\nfunction onInstruction(instruction) {\r\n var attributes = {};\r\n if (instruction.body && (instruction.name.toLowerCase() === 'xml' || options.instructionHasAttributes)) {\r\n var attrsRegExp = /([\\w:-]+)\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)'|(\\w+))\\s*/g;\r\n var match;\r\n while ((match = attrsRegExp.exec(instruction.body)) !== null) {\r\n attributes[match[1]] = match[2] || match[3] || match[4];\r\n }\r\n attributes = manipulateAttributes(attributes);\r\n }\r\n if (instruction.name.toLowerCase() === 'xml') {\r\n if (options.ignoreDeclaration) {\r\n return;\r\n }\r\n currentElement[options.declarationKey] = {};\r\n if (Object.keys(attributes).length) {\r\n currentElement[options.declarationKey][options.attributesKey] = attributes;\r\n }\r\n if (options.addParent) {\r\n currentElement[options.declarationKey][options.parentKey] = currentElement;\r\n }\r\n } else {\r\n if (options.ignoreInstruction) {\r\n return;\r\n }\r\n if (options.trim) {\r\n instruction.body = instruction.body.trim();\r\n }\r\n var value = {};\r\n if (options.instructionHasAttributes && Object.keys(attributes).length) {\r\n value[instruction.name] = {};\r\n value[instruction.name][options.attributesKey] = attributes;\r\n } else {\r\n value[instruction.name] = instruction.body;\r\n }\r\n addField('instruction', value);\r\n }\r\n}\r\n\r\nfunction onStartElement(name, attributes) {\r\n var element;\r\n if (typeof name === 'object') {\r\n attributes = name.attributes;\r\n name = name.name;\r\n }\r\n attributes = manipulateAttributes(attributes);\r\n if ('elementNameFn' in options) {\r\n name = options.elementNameFn(name, currentElement);\r\n }\r\n if (options.compact) {\r\n element = {};\r\n if (!options.ignoreAttributes && attributes && Object.keys(attributes).length) {\r\n element[options.attributesKey] = {};\r\n var key;\r\n for (key in attributes) {\r\n if (attributes.hasOwnProperty(key)) {\r\n element[options.attributesKey][key] = attributes[key];\r\n }\r\n }\r\n }\r\n if (\r\n !(name in currentElement) &&\r\n (isArray(options.alwaysArray) ? options.alwaysArray.indexOf(name) !== -1 : options.alwaysArray)\r\n ) {\r\n currentElement[name] = [];\r\n }\r\n if (currentElement[name] && !isArray(currentElement[name])) {\r\n currentElement[name] = [currentElement[name]];\r\n }\r\n if (isArray(currentElement[name])) {\r\n currentElement[name].push(element);\r\n } else {\r\n currentElement[name] = element;\r\n }\r\n } else {\r\n if (!currentElement[options.elementsKey]) {\r\n currentElement[options.elementsKey] = [];\r\n }\r\n element = {};\r\n element[options.typeKey] = 'element';\r\n element[options.nameKey] = name;\r\n if (!options.ignoreAttributes && attributes && Object.keys(attributes).length) {\r\n element[options.attributesKey] = attributes;\r\n }\r\n if (options.alwaysChildren) {\r\n element[options.elementsKey] = [];\r\n }\r\n currentElement[options.elementsKey].push(element);\r\n }\r\n element[options.parentKey] = currentElement; // will be deleted in onEndElement() if !options.addParent\r\n currentElement = element;\r\n}\r\n\r\nfunction onText(text) {\r\n if (options.ignoreText) {\r\n return;\r\n }\r\n if (!text.trim() && !options.captureSpacesBetweenElements) {\r\n return;\r\n }\r\n if (options.trim) {\r\n text = text.trim();\r\n }\r\n if (options.nativeType) {\r\n text = nativeType(text);\r\n }\r\n if (options.sanitize) {\r\n text = text.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');\r\n }\r\n addField('text', text);\r\n}\r\n\r\nfunction onComment(comment) {\r\n if (options.ignoreComment) {\r\n return;\r\n }\r\n if (options.trim) {\r\n comment = comment.trim();\r\n }\r\n addField('comment', comment);\r\n}\r\n\r\nfunction onEndElement(name) {\r\n var parentElement = currentElement[options.parentKey];\r\n if (!options.addParent) {\r\n delete currentElement[options.parentKey];\r\n }\r\n currentElement = parentElement;\r\n}\r\n\r\nfunction onCdata(cdata) {\r\n if (options.ignoreCdata) {\r\n return;\r\n }\r\n if (options.trim) {\r\n cdata = cdata.trim();\r\n }\r\n addField('cdata', cdata);\r\n}\r\n\r\nfunction onDoctype(doctype) {\r\n if (options.ignoreDoctype) {\r\n return;\r\n }\r\n doctype = doctype.replace(/^ /, '');\r\n if (options.trim) {\r\n doctype = doctype.trim();\r\n }\r\n addField('doctype', doctype);\r\n}\r\n\r\nfunction onError(error) {\r\n error.note = error; //console.error(error);\r\n}\r\n\r\nmodule.exports = function (xml, userOptions) {\r\n\r\n var parser = pureJsParser ? sax.parser(true, {}) : parser = new expat.Parser('UTF-8');\r\n var result = {};\r\n currentElement = result;\r\n\r\n options = validateOptions(userOptions);\r\n\r\n if (pureJsParser) {\r\n parser.opt = {strictEntities: true};\r\n parser.onopentag = onStartElement;\r\n parser.ontext = onText;\r\n parser.oncomment = onComment;\r\n parser.onclosetag = onEndElement;\r\n parser.onerror = onError;\r\n parser.oncdata = onCdata;\r\n parser.ondoctype = onDoctype;\r\n parser.onprocessinginstruction = onInstruction;\r\n } else {\r\n parser.on('startElement', onStartElement);\r\n parser.on('text', onText);\r\n parser.on('comment', onComment);\r\n parser.on('endElement', onEndElement);\r\n parser.on('error', onError);\r\n //parser.on('startCdata', onStartCdata);\r\n //parser.on('endCdata', onEndCdata);\r\n //parser.on('entityDecl', onEntityDecl);\r\n }\r\n\r\n if (pureJsParser) {\r\n parser.write(xml).close();\r\n } else {\r\n if (!parser.parse(xml)) {\r\n throw new Error('XML parsing error: ' + parser.getError());\r\n }\r\n }\r\n\r\n if (result[options.elementsKey]) {\r\n var temp = result[options.elementsKey];\r\n delete result[options.elementsKey];\r\n result[options.elementsKey] = temp;\r\n delete result.text;\r\n }\r\n\r\n return result;\r\n\r\n};\r\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = __webpack_require__(27).EventEmitter;\nvar inherits = __webpack_require__(7);\n\ninherits(Stream, EE);\nStream.Readable = __webpack_require__(28);\nStream.Writable = __webpack_require__(152);\nStream.Duplex = __webpack_require__(153);\nStream.Transform = __webpack_require__(154);\nStream.PassThrough = __webpack_require__(155);\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global, process) {// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n/*<replacement>*/\n\nvar pna = __webpack_require__(15);\n/*</replacement>*/\n\nmodule.exports = Readable;\n\n/*<replacement>*/\nvar isArray = __webpack_require__(55);\n/*</replacement>*/\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nReadable.ReadableState = ReadableState;\n\n/*<replacement>*/\nvar EE = __webpack_require__(27).EventEmitter;\n\nvar EElistenerCount = function (emitter, type) {\n return emitter.listeners(type).length;\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = __webpack_require__(58);\n/*</replacement>*/\n\n/*<replacement>*/\n\nvar Buffer = __webpack_require__(16).Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/*</replacement>*/\n\n/*<replacement>*/\nvar util = __webpack_require__(14);\nutil.inherits = __webpack_require__(7);\n/*</replacement>*/\n\n/*<replacement>*/\nvar debugUtil = __webpack_require__(146);\nvar debug = void 0;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function () {};\n}\n/*</replacement>*/\n\nvar BufferList = __webpack_require__(147);\nvar destroyImpl = __webpack_require__(59);\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream) {\n Duplex = Duplex || __webpack_require__(5);\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n var hwm = options.highWaterMark;\n var readableHwm = options.readableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = __webpack_require__(30).StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || __webpack_require__(5);\n\n if (!(this instanceof Readable)) return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\n\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n this.push(null);\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n stream.emit('error', new Error('stream.push() after EOF'));\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n }\n\n return needMoreData(state);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n stream.emit('data', chunk);\n stream.read(0);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = __webpack_require__(30).StringDecoder;\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n return this;\n};\n\n// Don't raise the hwm > 8MB\nvar MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n } else {\n state.length -= n;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n\n // emit 'readable' now to make sure it gets picked up.\n emitReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream);\n }\n}\n\nfunction emitReadable_(stream) {\n debug('emit readable');\n stream.emit('readable');\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n pna.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;else len = state.length;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn);\n\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n // If the user pushes more data while we're writing to dest then we'll end up\n // in ondata again. However, we only want to increase awaitDrain once because\n // dest will only emit one 'drain' event for the multiple writes.\n // => Introduce a guard on increasing awaitDrain.\n var increasedAwaitDrain = false;\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n increasedAwaitDrain = false;\n var ret = dest.write(chunk);\n if (false === ret && !increasedAwaitDrain) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', src._readableState.awaitDrain);\n src._readableState.awaitDrain++;\n increasedAwaitDrain = true;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function () {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = { hasUnpiped: false };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, unpipeInfo);\n }return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this, unpipeInfo);\n\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data') {\n // Start flowing on next tick if stream isn't explicitly paused\n if (this._readableState.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n var state = this._readableState;\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.emittedReadable = false;\n if (!state.reading) {\n pna.nextTick(nReadingNextTick, this);\n } else if (state.length) {\n emitReadable(this);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n state.flowing = true;\n resume(this, state);\n }\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n pna.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n if (!state.reading) {\n debug('resume read 0');\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n state.awaitDrain = 0;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (false !== this._readableState.flowing) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null) {}\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function (method) {\n return function () {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._readableState.highWaterMark;\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = fromListPartial(n, state.buffer, state.decoder);\n }\n\n return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n var ret;\n if (n < list.head.data.length) {\n // slice is the same for buffers and strings\n ret = list.head.data.slice(0, n);\n list.head.data = list.head.data.slice(n);\n } else if (n === list.head.data.length) {\n // first chunk is a perfect match\n ret = list.shift();\n } else {\n // result spans more than one buffer\n ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n }\n return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n var p = list.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n var ret = Buffer.allocUnsafe(n);\n var p = list.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\n if (!state.endEmitted) {\n state.ended = true;\n pna.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4), __webpack_require__(13)))\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(27).EventEmitter;\n\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*<replacement>*/\n\nvar pna = __webpack_require__(15);\n/*</replacement>*/\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err && (!this._writableState || !this._writableState.errorEmitted)) {\n pna.nextTick(emitErrorNT, this, err);\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n pna.nextTick(emitErrorNT, _this, err);\n if (_this._writableState) {\n _this._writableState.errorEmitted = true;\n }\n } else if (cb) {\n cb(err);\n }\n });\n\n return this;\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy\n};\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\n__webpack_require__(149);\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4)))\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n\n\nmodule.exports = Transform;\n\nvar Duplex = __webpack_require__(5);\n\n/*<replacement>*/\nvar util = __webpack_require__(14);\nutil.inherits = __webpack_require__(7);\n/*</replacement>*/\n\nutil.inherits(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n\n var cb = ts.writecb;\n\n if (!cb) {\n return this.emit('error', new Error('write callback called multiple times'));\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n\n cb(er);\n\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n\n Duplex.call(this, options);\n\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function') {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n throw new Error('_transform() is not implemented');\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n var _this2 = this;\n\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n _this2.emit('close');\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0');\n\n if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming');\n\n return stream.push(null);\n}\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar helper = __webpack_require__(31);\nvar isArray = __webpack_require__(32).isArray;\n\nvar currentElement, currentElementName;\n\nfunction validateOptions(userOptions) {\n var options = helper.copyOptions(userOptions);\n helper.ensureFlagExists('ignoreDeclaration', options);\n helper.ensureFlagExists('ignoreInstruction', options);\n helper.ensureFlagExists('ignoreAttributes', options);\n helper.ensureFlagExists('ignoreText', options);\n helper.ensureFlagExists('ignoreComment', options);\n helper.ensureFlagExists('ignoreCdata', options);\n helper.ensureFlagExists('ignoreDoctype', options);\n helper.ensureFlagExists('compact', options);\n helper.ensureFlagExists('indentText', options);\n helper.ensureFlagExists('indentCdata', options);\n helper.ensureFlagExists('indentAttributes', options);\n helper.ensureFlagExists('indentInstruction', options);\n helper.ensureFlagExists('fullTagEmptyElement', options);\n helper.ensureFlagExists('noQuotesForNativeAttributes', options);\n helper.ensureSpacesExists(options);\n if (typeof options.spaces === 'number') {\n options.spaces = Array(options.spaces + 1).join(' ');\n }\n helper.ensureKeyExists('declaration', options);\n helper.ensureKeyExists('instruction', options);\n helper.ensureKeyExists('attributes', options);\n helper.ensureKeyExists('text', options);\n helper.ensureKeyExists('comment', options);\n helper.ensureKeyExists('cdata', options);\n helper.ensureKeyExists('doctype', options);\n helper.ensureKeyExists('type', options);\n helper.ensureKeyExists('name', options);\n helper.ensureKeyExists('elements', options);\n helper.checkFnExists('doctype', options);\n helper.checkFnExists('instruction', options);\n helper.checkFnExists('cdata', options);\n helper.checkFnExists('comment', options);\n helper.checkFnExists('text', options);\n helper.checkFnExists('instructionName', options);\n helper.checkFnExists('elementName', options);\n helper.checkFnExists('attributeName', options);\n helper.checkFnExists('attributeValue', options);\n helper.checkFnExists('attributes', options);\n helper.checkFnExists('fullTagEmptyElement', options);\n return options;\n}\n\nfunction writeIndentation(options, depth, firstLine) {\n return (!firstLine && options.spaces ? '\\n' : '') + Array(depth + 1).join(options.spaces);\n}\n\nfunction writeAttributes(attributes, options, depth) {\n if (options.ignoreAttributes) {\n return '';\n }\n if ('attributesFn' in options) {\n attributes = options.attributesFn(attributes, currentElementName, currentElement);\n }\n var key, attr, attrName, quote, result = [];\n for (key in attributes) {\n if (attributes.hasOwnProperty(key) && attributes[key] !== null && attributes[key] !== undefined) {\n quote = options.noQuotesForNativeAttributes && typeof attributes[key] !== 'string' ? '' : '\"';\n attr = '' + attributes[key]; // ensure number and boolean are converted to String\n attr = attr.replace(/\"/g, '"');\n attrName = 'attributeNameFn' in options ? options.attributeNameFn(key, attr, currentElementName, currentElement) : key;\n result.push((options.spaces && options.indentAttributes? writeIndentation(options, depth+1, false) : ' '));\n result.push(attrName + '=' + quote + ('attributeValueFn' in options ? options.attributeValueFn(attr, key, currentElementName, currentElement) : attr) + quote);\n }\n }\n if (attributes && Object.keys(attributes).length && options.spaces && options.indentAttributes) {\n result.push(writeIndentation(options, depth, false));\n }\n return result.join('');\n}\n\nfunction writeDeclaration(declaration, options, depth) {\n currentElement = declaration;\n currentElementName = 'xml';\n return options.ignoreDeclaration ? '' : '<?' + 'xml' + writeAttributes(declaration[options.attributesKey], options, depth) + '?>';\n}\n\nfunction writeInstruction(instruction, options, depth) {\n if (options.ignoreInstruction) {\n return '';\n }\n var key;\n for (key in instruction) {\n if (instruction.hasOwnProperty(key)) {\n break;\n }\n }\n var instructionName = 'instructionNameFn' in options ? options.instructionNameFn(key, instruction[key], currentElementName, currentElement) : key;\n if (typeof instruction[key] === 'object') {\n currentElement = instruction;\n currentElementName = instructionName;\n return '<?' + instructionName + writeAttributes(instruction[key][options.attributesKey], options, depth) + '?>';\n } else {\n var instructionValue = instruction[key] ? instruction[key] : '';\n if ('instructionFn' in options) instructionValue = options.instructionFn(instructionValue, key, currentElementName, currentElement);\n return '<?' + instructionName + (instructionValue ? ' ' + instructionValue : '') + '?>';\n }\n}\n\nfunction writeComment(comment, options) {\n return options.ignoreComment ? '' : '<!--' + ('commentFn' in options ? options.commentFn(comment, currentElementName, currentElement) : comment) + '-->';\n}\n\nfunction writeCdata(cdata, options) {\n return options.ignoreCdata ? '' : '<![CDATA[' + ('cdataFn' in options ? options.cdataFn(cdata, currentElementName, currentElement) : cdata.replace(']]>', ']]]]><![CDATA[>')) + ']]>';\n}\n\nfunction writeDoctype(doctype, options) {\n return options.ignoreDoctype ? '' : '<!DOCTYPE ' + ('doctypeFn' in options ? options.doctypeFn(doctype, currentElementName, currentElement) : doctype) + '>';\n}\n\nfunction writeText(text, options) {\n if (options.ignoreText) return '';\n text = '' + text; // ensure Number and Boolean are converted to String\n text = text.replace(/&/g, '&'); // desanitize to avoid double sanitization\n text = text.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');\n return 'textFn' in options ? options.textFn(text, currentElementName, currentElement) : text;\n}\n\nfunction hasContent(element, options) {\n var i;\n if (element.elements && element.elements.length) {\n for (i = 0; i < element.elements.length; ++i) {\n switch (element.elements[i][options.typeKey]) {\n case 'text':\n if (options.indentText) {\n return true;\n }\n break; // skip to next key\n case 'cdata':\n if (options.indentCdata) {\n return true;\n }\n break; // skip to next key\n case 'instruction':\n if (options.indentInstruction) {\n return true;\n }\n break; // skip to next key\n case 'doctype':\n case 'comment':\n case 'element':\n return true;\n default:\n return true;\n }\n }\n }\n return false;\n}\n\nfunction writeElement(element, options, depth) {\n currentElement = element;\n currentElementName = element.name;\n var xml = [], elementName = 'elementNameFn' in options ? options.elementNameFn(element.name, element) : element.name;\n xml.push('<' + elementName);\n if (element[options.attributesKey]) {\n xml.push(writeAttributes(element[options.attributesKey], options, depth));\n }\n var withClosingTag = element[options.elementsKey] && element[options.elementsKey].length || element[options.attributesKey] && element[options.attributesKey]['xml:space'] === 'preserve';\n if (!withClosingTag) {\n if ('fullTagEmptyElementFn' in options) {\n withClosingTag = options.fullTagEmptyElementFn(element.name, element);\n } else {\n withClosingTag = options.fullTagEmptyElement;\n }\n }\n if (withClosingTag) {\n xml.push('>');\n if (element[options.elementsKey] && element[options.elementsKey].length) {\n xml.push(writeElements(element[options.elementsKey], options, depth + 1));\n currentElement = element;\n currentElementName = element.name;\n }\n xml.push(options.spaces && hasContent(element, options) ? '\\n' + Array(depth + 1).join(options.spaces) : '');\n xml.push('</' + elementName + '>');\n } else {\n xml.push('/>');\n }\n return xml.join('');\n}\n\nfunction writeElements(elements, options, depth, firstLine) {\n return elements.reduce(function (xml, element) {\n var indent = writeIndentation(options, depth, firstLine && !xml);\n switch (element.type) {\n case 'element': return xml + indent + writeElement(element, options, depth);\n case 'comment': return xml + indent + writeComment(element[options.commentKey], options);\n case 'doctype': return xml + indent + writeDoctype(element[options.doctypeKey], options);\n case 'cdata': return xml + (options.indentCdata ? indent : '') + writeCdata(element[options.cdataKey], options);\n case 'text': return xml + (options.indentText ? indent : '') + writeText(element[options.textKey], options);\n case 'instruction':\n var instruction = {};\n instruction[element[options.nameKey]] = element[options.attributesKey] ? element : element[options.instructionKey];\n return xml + (options.indentInstruction ? indent : '') + writeInstruction(instruction, options, depth);\n }\n }, '');\n}\n\nfunction hasContentCompact(element, options, anyContent) {\n var key;\n for (key in element) {\n if (element.hasOwnProperty(key)) {\n switch (key) {\n case options.parentKey:\n case options.attributesKey:\n break; // skip to next key\n case options.textKey:\n if (options.indentText || anyContent) {\n return true;\n }\n break; // skip to next key\n case options.cdataKey:\n if (options.indentCdata || anyContent) {\n return true;\n }\n break; // skip to next key\n case options.instructionKey:\n if (options.indentInstruction || anyContent) {\n return true;\n }\n break; // skip to next key\n case options.doctypeKey:\n case options.commentKey:\n return true;\n default:\n return true;\n }\n }\n }\n return false;\n}\n\nfunction writeElementCompact(element, name, options, depth, indent) {\n currentElement = element;\n currentElementName = name;\n var elementName = 'elementNameFn' in options ? options.elementNameFn(name, element) : name;\n if (typeof element === 'undefined' || element === null || element === '') {\n return 'fullTagEmptyElementFn' in options && options.fullTagEmptyElementFn(name, element) || options.fullTagEmptyElement ? '<' + elementName + '></' + elementName + '>' : '<' + elementName + '/>';\n }\n var xml = [];\n if (name) {\n xml.push('<' + elementName);\n if (typeof element !== 'object') {\n xml.push('>' + writeText(element,options) + '</' + elementName + '>');\n return xml.join('');\n }\n if (element[options.attributesKey]) {\n xml.push(writeAttributes(element[options.attributesKey], options, depth));\n }\n var withClosingTag = hasContentCompact(element, options, true) || element[options.attributesKey] && element[options.attributesKey]['xml:space'] === 'preserve';\n if (!withClosingTag) {\n if ('fullTagEmptyElementFn' in options) {\n withClosingTag = options.fullTagEmptyElementFn(name, element);\n } else {\n withClosingTag = options.fullTagEmptyElement;\n }\n }\n if (withClosingTag) {\n xml.push('>');\n } else {\n xml.push('/>');\n return xml.join('');\n }\n }\n xml.push(writeElementsCompact(element, options, depth + 1, false));\n currentElement = element;\n currentElementName = name;\n if (name) {\n xml.push((indent ? writeIndentation(options, depth, false) : '') + '</' + elementName + '>');\n }\n return xml.join('');\n}\n\nfunction writeElementsCompact(element, options, depth, firstLine) {\n var i, key, nodes, xml = [];\n for (key in element) {\n if (element.hasOwnProperty(key)) {\n nodes = isArray(element[key]) ? element[key] : [element[key]];\n for (i = 0; i < nodes.length; ++i) {\n switch (key) {\n case options.declarationKey: xml.push(writeDeclaration(nodes[i], options, depth)); break;\n case options.instructionKey: xml.push((options.indentInstruction ? writeIndentation(options, depth, firstLine) : '') + writeInstruction(nodes[i], options, depth)); break;\n case options.attributesKey: case options.parentKey: break; // skip\n case options.textKey: xml.push((options.indentText ? writeIndentation(options, depth, firstLine) : '') + writeText(nodes[i], options)); break;\n case options.cdataKey: xml.push((options.indentCdata ? writeIndentation(options, depth, firstLine) : '') + writeCdata(nodes[i], options)); break;\n case options.doctypeKey: xml.push(writeIndentation(options, depth, firstLine) + writeDoctype(nodes[i], options)); break;\n case options.commentKey: xml.push(writeIndentation(options, depth, firstLine) + writeComment(nodes[i], options)); break;\n default: xml.push(writeIndentation(options, depth, firstLine) + writeElementCompact(nodes[i], key, options, depth, hasContentCompact(nodes[i], options)));\n }\n firstLine = firstLine && !xml.length;\n }\n }\n }\n return xml.join('');\n}\n\nmodule.exports = function (js, options) {\n options = validateOptions(options);\n var xml = [];\n currentElement = js;\n currentElementName = '_root_';\n if (options.compact) {\n xml.push(writeElementsCompact(js, options, 0, true));\n } else {\n if (js[options.declarationKey]) {\n xml.push(writeDeclaration(js[options.declarationKey], options, 0));\n }\n if (js[options.elementsKey] && js[options.elementsKey].length) {\n xml.push(writeElements(js[options.elementsKey], options, 0, !xml.length));\n }\n }\n return xml.join('');\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst border_attributes_1 = __webpack_require__(160);\r\nclass BorderProperty extends xml_components_1.XmlComponent {\r\n constructor(rootKey, options = { color: \"auto\", space: 1, value: \"single\", size: 6 }) {\r\n super(rootKey);\r\n const attrs = new border_attributes_1.BorderAttributes({\r\n color: options.color,\r\n space: options.space,\r\n val: options.value,\r\n sz: options.size,\r\n });\r\n this.root.push(attrs);\r\n }\r\n}\r\nclass Border extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:pBdr\");\r\n if (options.top !== undefined) {\r\n const borderProperty = new BorderProperty(\"w:top\", options.top);\r\n this.root.push(borderProperty);\r\n }\r\n if (options.bottom !== undefined) {\r\n const borderProperty = new BorderProperty(\"w:bottom\", options.bottom);\r\n this.root.push(borderProperty);\r\n }\r\n if (options.left !== undefined) {\r\n const borderProperty = new BorderProperty(\"w:left\", options.left);\r\n this.root.push(borderProperty);\r\n }\r\n if (options.right !== undefined) {\r\n const borderProperty = new BorderProperty(\"w:right\", options.right);\r\n this.root.push(borderProperty);\r\n }\r\n }\r\n}\r\nexports.Border = Border;\r\nclass ThematicBreak extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:pBdr\");\r\n const bottom = new BorderProperty(\"w:bottom\", {\r\n color: \"auto\",\r\n space: 1,\r\n value: \"single\",\r\n size: 6,\r\n });\r\n this.root.push(bottom);\r\n }\r\n}\r\nexports.ThematicBreak = ThematicBreak;\r\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass IndentAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n left: \"w:left\",\r\n hanging: \"w:hanging\",\r\n firstLine: \"w:firstLine\",\r\n start: \"w:start\",\r\n end: \"w:end\",\r\n right: \"w:end\",\r\n };\r\n }\r\n}\r\nclass Indent extends xml_components_1.XmlComponent {\r\n constructor(attrs) {\r\n super(\"w:ind\");\r\n this.root.push(new IndentAttributes(attrs));\r\n }\r\n}\r\nexports.Indent = Indent;\r\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass KeepLines extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:keepLines\");\r\n }\r\n}\r\nexports.KeepLines = KeepLines;\r\nclass KeepNext extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:keepNext\");\r\n }\r\n}\r\nexports.KeepNext = KeepNext;\r\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst run_1 = __webpack_require__(3);\r\nclass Break extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:br\");\r\n this.root.push(new xml_components_1.Attributes({\r\n type: \"page\",\r\n }));\r\n }\r\n}\r\nclass PageBreak extends run_1.Run {\r\n constructor() {\r\n super({});\r\n this.root.push(new Break());\r\n }\r\n}\r\nexports.PageBreak = PageBreak;\r\nclass PageBreakBefore extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:pageBreakBefore\");\r\n }\r\n}\r\nexports.PageBreakBefore = PageBreakBefore;\r\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass Break extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:br\");\r\n }\r\n}\r\nexports.Break = Break;\r\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar underline_1 = __webpack_require__(19);\r\nexports.Underline = underline_1.Underline;\r\nvar emphasis_mark_1 = __webpack_require__(33);\r\nexports.EmphasisMark = emphasis_mark_1.EmphasisMark;\r\nvar script_1 = __webpack_require__(69);\r\nexports.SubScript = script_1.SubScript;\r\nexports.SuperScript = script_1.SuperScript;\r\nvar run_fonts_1 = __webpack_require__(34);\r\nexports.RunFonts = run_fonts_1.RunFonts;\r\nclass Bold extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:b\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.Bold = Bold;\r\nclass BoldComplexScript extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:bCs\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.BoldComplexScript = BoldComplexScript;\r\nclass CharacterSpacing extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:spacing\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nexports.CharacterSpacing = CharacterSpacing;\r\nclass Italics extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:i\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.Italics = Italics;\r\nclass ItalicsComplexScript extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:iCs\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.ItalicsComplexScript = ItalicsComplexScript;\r\nclass Caps extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:caps\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.Caps = Caps;\r\nclass Color extends xml_components_1.XmlComponent {\r\n constructor(color) {\r\n super(\"w:color\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: color,\r\n }));\r\n }\r\n}\r\nexports.Color = Color;\r\nclass DoubleStrike extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:dstrike\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.DoubleStrike = DoubleStrike;\r\nclass Emboss extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:emboss\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.Emboss = Emboss;\r\nclass Imprint extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:imprint\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.Imprint = Imprint;\r\nclass SmallCaps extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:smallCaps\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.SmallCaps = SmallCaps;\r\nclass Strike extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:strike\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.Strike = Strike;\r\nclass Size extends xml_components_1.XmlComponent {\r\n constructor(size) {\r\n super(\"w:sz\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: size,\r\n }));\r\n }\r\n}\r\nexports.Size = Size;\r\nclass SizeComplexScript extends xml_components_1.XmlComponent {\r\n constructor(size) {\r\n super(\"w:szCs\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: size,\r\n }));\r\n }\r\n}\r\nexports.SizeComplexScript = SizeComplexScript;\r\nclass RightToLeft extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:rtl\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: true,\r\n }));\r\n }\r\n}\r\nexports.RightToLeft = RightToLeft;\r\nclass Highlight extends xml_components_1.XmlComponent {\r\n constructor(color) {\r\n super(\"w:highlight\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: color,\r\n }));\r\n }\r\n}\r\nexports.Highlight = Highlight;\r\nclass HighlightComplexScript extends xml_components_1.XmlComponent {\r\n constructor(color) {\r\n super(\"w:highlightCs\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: color,\r\n }));\r\n }\r\n}\r\nexports.HighlightComplexScript = HighlightComplexScript;\r\nclass Shading extends xml_components_1.XmlComponent {\r\n constructor(value, fill, color) {\r\n super(\"w:shd\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value,\r\n fill: fill,\r\n color: color,\r\n }));\r\n }\r\n}\r\nexports.Shading = Shading;\r\nclass ShadowComplexScript extends xml_components_1.XmlComponent {\r\n constructor(value, fill, color) {\r\n super(\"w:shdCs\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value,\r\n fill: fill,\r\n color: color,\r\n }));\r\n }\r\n}\r\nexports.ShadowComplexScript = ShadowComplexScript;\r\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass VerticalAlign extends xml_components_1.XmlComponent {\r\n constructor(type) {\r\n super(\"w:vertAlign\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: type,\r\n }));\r\n }\r\n}\r\nexports.VerticalAlign = VerticalAlign;\r\nclass SuperScript extends VerticalAlign {\r\n constructor() {\r\n super(\"superscript\");\r\n }\r\n}\r\nexports.SuperScript = SuperScript;\r\nclass SubScript extends VerticalAlign {\r\n constructor() {\r\n super(\"subscript\");\r\n }\r\n}\r\nexports.SubScript = SubScript;\r\n\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass StyleAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nclass Style extends xml_components_1.XmlComponent {\r\n constructor(styleId) {\r\n super(\"w:rStyle\");\r\n this.root.push(new StyleAttributes({ val: styleId }));\r\n }\r\n}\r\nexports.Style = Style;\r\n\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst space_type_1 = __webpack_require__(8);\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TextAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { space: \"xml:space\" };\r\n }\r\n}\r\nclass Text extends xml_components_1.XmlComponent {\r\n constructor(text) {\r\n super(\"w:t\");\r\n this.root.push(new TextAttributes({ space: space_type_1.SpaceType.PRESERVE }));\r\n this.root.push(text);\r\n }\r\n}\r\nexports.Text = Text;\r\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(166));\r\n__export(__webpack_require__(36));\r\n__export(__webpack_require__(73));\r\n\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(35));\r\n__export(__webpack_require__(169));\r\n__export(__webpack_require__(170));\r\n__export(__webpack_require__(171));\r\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass Align extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"wp:align\");\r\n this.root.push(value);\r\n }\r\n}\r\nexports.Align = Align;\r\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass PositionOffset extends xml_components_1.XmlComponent {\r\n constructor(offsetValue) {\r\n super(\"wp:posOffset\");\r\n this.root.push(offsetValue.toString());\r\n }\r\n}\r\nexports.PositionOffset = PositionOffset;\r\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(172));\r\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst doc_properties_attributes_1 = __webpack_require__(205);\r\nclass DocProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"wp:docPr\");\r\n this.root.push(new doc_properties_attributes_1.DocPropertiesAttributes({\r\n id: 0,\r\n name: \"\",\r\n descr: \"\",\r\n }));\r\n }\r\n}\r\nexports.DocProperties = DocProperties;\r\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst effect_extent_attributes_1 = __webpack_require__(206);\r\nclass EffectExtent extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"wp:effectExtent\");\r\n this.root.push(new effect_extent_attributes_1.EffectExtentAttributes({\r\n b: 0,\r\n l: 0,\r\n r: 0,\r\n t: 0,\r\n }));\r\n }\r\n}\r\nexports.EffectExtent = EffectExtent;\r\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst extent_attributes_1 = __webpack_require__(207);\r\nclass Extent extends xml_components_1.XmlComponent {\r\n constructor(x, y) {\r\n super(\"wp:extent\");\r\n this.attributes = new extent_attributes_1.ExtentAttributes({\r\n cx: x,\r\n cy: y,\r\n });\r\n this.root.push(this.attributes);\r\n }\r\n setXY(x, y) {\r\n this.attributes.set({\r\n cx: x,\r\n cy: y,\r\n });\r\n }\r\n}\r\nexports.Extent = Extent;\r\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst graphic_frame_locks_1 = __webpack_require__(208);\r\nclass GraphicFrameProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"wp:cNvGraphicFramePr\");\r\n this.root.push(new graphic_frame_locks_1.GraphicFrameLocks());\r\n }\r\n}\r\nexports.GraphicFrameProperties = GraphicFrameProperties;\r\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass AnchorAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n distT: \"distT\",\r\n distB: \"distB\",\r\n distL: \"distL\",\r\n distR: \"distR\",\r\n allowOverlap: \"allowOverlap\",\r\n behindDoc: \"behindDoc\",\r\n layoutInCell: \"layoutInCell\",\r\n locked: \"locked\",\r\n relativeHeight: \"relativeHeight\",\r\n simplePos: \"simplePos\",\r\n };\r\n }\r\n}\r\nexports.AnchorAttributes = AnchorAttributes;\r\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass SpacingAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n after: \"w:after\",\r\n before: \"w:before\",\r\n line: \"w:line\",\r\n lineRule: \"w:lineRule\",\r\n };\r\n }\r\n}\r\nclass Spacing extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:spacing\");\r\n this.root.push(new SpacingAttributes(options));\r\n }\r\n}\r\nexports.Spacing = Spacing;\r\nclass ContextualSpacing extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:contextualSpacing\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value === false ? 0 : 1,\r\n }));\r\n }\r\n}\r\nexports.ContextualSpacing = ContextualSpacing;\r\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar HeadingLevel;\r\n(function (HeadingLevel) {\r\n HeadingLevel[\"HEADING_1\"] = \"Heading1\";\r\n HeadingLevel[\"HEADING_2\"] = \"Heading2\";\r\n HeadingLevel[\"HEADING_3\"] = \"Heading3\";\r\n HeadingLevel[\"HEADING_4\"] = \"Heading4\";\r\n HeadingLevel[\"HEADING_5\"] = \"Heading5\";\r\n HeadingLevel[\"HEADING_6\"] = \"Heading6\";\r\n HeadingLevel[\"TITLE\"] = \"Title\";\r\n})(HeadingLevel = exports.HeadingLevel || (exports.HeadingLevel = {}));\r\nclass Style extends xml_components_1.XmlComponent {\r\n constructor(styleId) {\r\n super(\"w:pStyle\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: styleId,\r\n }));\r\n }\r\n}\r\nexports.Style = Style;\r\n\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TabStop extends xml_components_1.XmlComponent {\r\n constructor(type, position, leader) {\r\n super(\"w:tabs\");\r\n this.root.push(new TabStopItem(type, position, leader));\r\n }\r\n}\r\nexports.TabStop = TabStop;\r\nvar TabStopType;\r\n(function (TabStopType) {\r\n TabStopType[\"LEFT\"] = \"left\";\r\n TabStopType[\"RIGHT\"] = \"right\";\r\n TabStopType[\"CENTER\"] = \"center\";\r\n TabStopType[\"BAR\"] = \"bar\";\r\n TabStopType[\"CLEAR\"] = \"clear\";\r\n TabStopType[\"DECIMAL\"] = \"decimal\";\r\n TabStopType[\"END\"] = \"end\";\r\n TabStopType[\"NUM\"] = \"num\";\r\n TabStopType[\"START\"] = \"start\";\r\n})(TabStopType = exports.TabStopType || (exports.TabStopType = {}));\r\nvar LeaderType;\r\n(function (LeaderType) {\r\n LeaderType[\"DOT\"] = \"dot\";\r\n LeaderType[\"HYPHEN\"] = \"hyphen\";\r\n LeaderType[\"MIDDLE_DOT\"] = \"middleDot\";\r\n LeaderType[\"NONE\"] = \"none\";\r\n LeaderType[\"UNDERSCORE\"] = \"underscore\";\r\n})(LeaderType = exports.LeaderType || (exports.LeaderType = {}));\r\nvar TabStopPosition;\r\n(function (TabStopPosition) {\r\n TabStopPosition[TabStopPosition[\"MAX\"] = 9026] = \"MAX\";\r\n})(TabStopPosition = exports.TabStopPosition || (exports.TabStopPosition = {}));\r\nclass TabAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\", pos: \"w:pos\", leader: \"w:leader\" };\r\n }\r\n}\r\nexports.TabAttributes = TabAttributes;\r\nclass TabStopItem extends xml_components_1.XmlComponent {\r\n constructor(value, position, leader) {\r\n super(\"w:tab\");\r\n this.root.push(new TabAttributes({\r\n val: value,\r\n pos: position,\r\n leader,\r\n }));\r\n }\r\n}\r\nexports.TabStopItem = TabStopItem;\r\n\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass NumberProperties extends xml_components_1.XmlComponent {\r\n constructor(numberId, indentLevel) {\r\n super(\"w:numPr\");\r\n this.root.push(new IndentLevel(indentLevel));\r\n this.root.push(new NumberId(numberId));\r\n }\r\n}\r\nexports.NumberProperties = NumberProperties;\r\nclass IndentLevel extends xml_components_1.XmlComponent {\r\n constructor(level) {\r\n super(\"w:ilvl\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: level,\r\n }));\r\n }\r\n}\r\nclass NumberId extends xml_components_1.XmlComponent {\r\n constructor(id) {\r\n super(\"w:numId\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: typeof id === \"string\" ? `{${id}}` : id,\r\n }));\r\n }\r\n}\r\n\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nmodule.exports = __webpack_require__(220);\n\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathDenominator extends xml_components_1.XmlComponent {\r\n constructor(children) {\r\n super(\"m:den\");\r\n for (const child of children) {\r\n this.root.push(child);\r\n }\r\n }\r\n}\r\nexports.MathDenominator = MathDenominator;\r\n\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathNumerator extends xml_components_1.XmlComponent {\r\n constructor(children) {\r\n super(\"m:num\");\r\n for (const child of children) {\r\n this.root.push(child);\r\n }\r\n }\r\n}\r\nexports.MathNumerator = MathNumerator;\r\n\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathAccentCharacterAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { accent: \"m:val\" };\r\n }\r\n}\r\nclass MathAccentCharacter extends xml_components_1.XmlComponent {\r\n constructor(accent) {\r\n super(\"m:chr\");\r\n this.root.push(new MathAccentCharacterAttributes({ accent }));\r\n }\r\n}\r\nexports.MathAccentCharacter = MathAccentCharacter;\r\n\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathBase extends xml_components_1.XmlComponent {\r\n constructor(children) {\r\n super(\"m:e\");\r\n for (const child of children) {\r\n this.root.push(child);\r\n }\r\n }\r\n}\r\nexports.MathBase = MathBase;\r\n\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathLimitLocationAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { value: \"m:val\" };\r\n }\r\n}\r\nclass MathLimitLocation extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"m:limLoc\");\r\n this.root.push(new MathLimitLocationAttributes({ value: \"undOvr\" }));\r\n }\r\n}\r\nexports.MathLimitLocation = MathLimitLocation;\r\n\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst math_accent_character_1 = __webpack_require__(89);\r\nconst math_limit_location_1 = __webpack_require__(91);\r\nconst math_sub_script_hide_1 = __webpack_require__(237);\r\nconst math_super_script_hide_1 = __webpack_require__(238);\r\nclass MathNArayProperties extends xml_components_1.XmlComponent {\r\n constructor(accent, hasSuperScript, hasSubScript) {\r\n super(\"m:naryPr\");\r\n this.root.push(new math_accent_character_1.MathAccentCharacter(accent));\r\n this.root.push(new math_limit_location_1.MathLimitLocation());\r\n if (!hasSuperScript) {\r\n this.root.push(new math_super_script_hide_1.MathSuperScriptHide());\r\n }\r\n if (!hasSubScript) {\r\n this.root.push(new math_sub_script_hide_1.MathSubScriptHide());\r\n }\r\n }\r\n}\r\nexports.MathNArayProperties = MathNArayProperties;\r\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathSubScriptElement extends xml_components_1.XmlComponent {\r\n constructor(children) {\r\n super(\"m:sub\");\r\n for (const child of children) {\r\n this.root.push(child);\r\n }\r\n }\r\n}\r\nexports.MathSubScriptElement = MathSubScriptElement;\r\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathSuperScriptElement extends xml_components_1.XmlComponent {\r\n constructor(children) {\r\n super(\"m:sup\");\r\n for (const child of children) {\r\n this.root.push(child);\r\n }\r\n }\r\n}\r\nexports.MathSuperScriptElement = MathSuperScriptElement;\r\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathSuperScriptProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"m:sSupPr\");\r\n }\r\n}\r\nexports.MathSuperScriptProperties = MathSuperScriptProperties;\r\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathSubScriptProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"m:sSubPr\");\r\n }\r\n}\r\nexports.MathSubScriptProperties = MathSubScriptProperties;\r\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathSubSuperScriptProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"m:sSubSupPr\");\r\n }\r\n}\r\nexports.MathSubSuperScriptProperties = MathSubSuperScriptProperties;\r\n\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathPreSubSuperScriptProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"m:sPrePr\");\r\n }\r\n}\r\nexports.MathPreSubSuperScriptProperties = MathPreSubSuperScriptProperties;\r\n\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathDegree extends xml_components_1.XmlComponent {\r\n constructor(children) {\r\n super(\"m:deg\");\r\n if (!!children) {\r\n for (const child of children) {\r\n this.root.push(child);\r\n }\r\n }\r\n }\r\n}\r\nexports.MathDegree = MathDegree;\r\n\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst math_degree_hide_1 = __webpack_require__(252);\r\nclass MathRadicalProperties extends xml_components_1.XmlComponent {\r\n constructor(hasDegree) {\r\n super(\"m:radPr\");\r\n if (!hasDegree) {\r\n this.root.push(new math_degree_hide_1.MathDegreeHide());\r\n }\r\n }\r\n}\r\nexports.MathRadicalProperties = MathRadicalProperties;\r\n\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathFunctionName extends xml_components_1.XmlComponent {\r\n constructor(children) {\r\n super(\"m:fName\");\r\n for (const child of children) {\r\n this.root.push(child);\r\n }\r\n }\r\n}\r\nexports.MathFunctionName = MathFunctionName;\r\n\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathFunctionProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"m:funcPr\");\r\n }\r\n}\r\nexports.MathFunctionProperties = MathFunctionProperties;\r\n\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(270));\r\n__export(__webpack_require__(109));\r\n__export(__webpack_require__(111));\r\n__export(__webpack_require__(104));\r\n__export(__webpack_require__(110));\r\n\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst styles_1 = __webpack_require__(23);\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TableBorders extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:tblBorders\");\r\n if (options.top) {\r\n this.root.push(new TableBordersElement(\"w:top\", options.top.style, options.top.size, 0, options.top.color));\r\n }\r\n else {\r\n this.root.push(new TableBordersElement(\"w:top\", styles_1.BorderStyle.SINGLE, 4, 0, \"auto\"));\r\n }\r\n if (options.left) {\r\n this.root.push(new TableBordersElement(\"w:left\", options.left.style, options.left.size, 0, options.left.color));\r\n }\r\n else {\r\n this.root.push(new TableBordersElement(\"w:left\", styles_1.BorderStyle.SINGLE, 4, 0, \"auto\"));\r\n }\r\n if (options.bottom) {\r\n this.root.push(new TableBordersElement(\"w:bottom\", options.bottom.style, options.bottom.size, 0, options.bottom.color));\r\n }\r\n else {\r\n this.root.push(new TableBordersElement(\"w:bottom\", styles_1.BorderStyle.SINGLE, 4, 0, \"auto\"));\r\n }\r\n if (options.right) {\r\n this.root.push(new TableBordersElement(\"w:right\", options.right.style, options.right.size, 0, options.right.color));\r\n }\r\n else {\r\n this.root.push(new TableBordersElement(\"w:right\", styles_1.BorderStyle.SINGLE, 4, 0, \"auto\"));\r\n }\r\n if (options.insideHorizontal) {\r\n this.root.push(new TableBordersElement(\"w:insideH\", options.insideHorizontal.style, options.insideHorizontal.size, 0, options.insideHorizontal.color));\r\n }\r\n else {\r\n this.root.push(new TableBordersElement(\"w:insideH\", styles_1.BorderStyle.SINGLE, 4, 0, \"auto\"));\r\n }\r\n if (options.insideVertical) {\r\n this.root.push(new TableBordersElement(\"w:insideV\", options.insideVertical.style, options.insideVertical.size, 0, options.insideVertical.color));\r\n }\r\n else {\r\n this.root.push(new TableBordersElement(\"w:insideV\", styles_1.BorderStyle.SINGLE, 4, 0, \"auto\"));\r\n }\r\n }\r\n}\r\nTableBorders.NONE = {\r\n top: {\r\n style: styles_1.BorderStyle.NONE,\r\n size: 0,\r\n color: \"auto\",\r\n },\r\n bottom: {\r\n style: styles_1.BorderStyle.NONE,\r\n size: 0,\r\n color: \"auto\",\r\n },\r\n left: {\r\n style: styles_1.BorderStyle.NONE,\r\n size: 0,\r\n color: \"auto\",\r\n },\r\n right: {\r\n style: styles_1.BorderStyle.NONE,\r\n size: 0,\r\n color: \"auto\",\r\n },\r\n insideHorizontal: {\r\n style: styles_1.BorderStyle.NONE,\r\n size: 0,\r\n color: \"auto\",\r\n },\r\n insideVertical: {\r\n style: styles_1.BorderStyle.NONE,\r\n size: 0,\r\n color: \"auto\",\r\n },\r\n};\r\nexports.TableBorders = TableBorders;\r\nclass TableBordersElement extends xml_components_1.XmlComponent {\r\n constructor(elementName, value, size, space, color) {\r\n super(elementName);\r\n this.root.push(new TableBordersAttributes({\r\n value,\r\n size,\r\n space,\r\n color,\r\n }));\r\n }\r\n}\r\nclass TableBordersAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n value: \"w:val\",\r\n size: \"w:sz\",\r\n space: \"w:space\",\r\n color: \"w:color\",\r\n };\r\n }\r\n}\r\n\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(40));\r\n__export(__webpack_require__(42));\r\n__export(__webpack_require__(43));\r\n__export(__webpack_require__(272));\r\n\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(107));\r\n__export(__webpack_require__(108));\r\n__export(__webpack_require__(275));\r\n\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst properties_1 = __webpack_require__(21);\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass ParagraphPropertiesDefaults extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:pPrDefault\");\r\n this.root.push(new properties_1.ParagraphProperties(options));\r\n }\r\n}\r\nexports.ParagraphPropertiesDefaults = ParagraphPropertiesDefaults;\r\n\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst properties_1 = __webpack_require__(9);\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass RunPropertiesDefaults extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:rPrDefault\");\r\n this.properties = new properties_1.RunProperties(options);\r\n this.root.push(this.properties);\r\n }\r\n}\r\nexports.RunPropertiesDefaults = RunPropertiesDefaults;\r\n\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst table_overlap_1 = __webpack_require__(110);\r\nvar TableAnchorType;\r\n(function (TableAnchorType) {\r\n TableAnchorType[\"MARGIN\"] = \"margin\";\r\n TableAnchorType[\"PAGE\"] = \"page\";\r\n TableAnchorType[\"TEXT\"] = \"text\";\r\n})(TableAnchorType = exports.TableAnchorType || (exports.TableAnchorType = {}));\r\nvar RelativeHorizontalPosition;\r\n(function (RelativeHorizontalPosition) {\r\n RelativeHorizontalPosition[\"CENTER\"] = \"center\";\r\n RelativeHorizontalPosition[\"INSIDE\"] = \"inside\";\r\n RelativeHorizontalPosition[\"LEFT\"] = \"left\";\r\n RelativeHorizontalPosition[\"OUTSIDE\"] = \"outside\";\r\n RelativeHorizontalPosition[\"RIGHT\"] = \"right\";\r\n})(RelativeHorizontalPosition = exports.RelativeHorizontalPosition || (exports.RelativeHorizontalPosition = {}));\r\nvar RelativeVerticalPosition;\r\n(function (RelativeVerticalPosition) {\r\n RelativeVerticalPosition[\"CENTER\"] = \"center\";\r\n RelativeVerticalPosition[\"INSIDE\"] = \"inside\";\r\n RelativeVerticalPosition[\"BOTTOM\"] = \"bottom\";\r\n RelativeVerticalPosition[\"OUTSIDE\"] = \"outside\";\r\n RelativeVerticalPosition[\"INLINE\"] = \"inline\";\r\n RelativeVerticalPosition[\"TOP\"] = \"top\";\r\n})(RelativeVerticalPosition = exports.RelativeVerticalPosition || (exports.RelativeVerticalPosition = {}));\r\nclass TableFloatOptionsAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n horizontalAnchor: \"w:horzAnchor\",\r\n verticalAnchor: \"w:vertAnchor\",\r\n absoluteHorizontalPosition: \"w:tblpX\",\r\n relativeHorizontalPosition: \"w:tblpXSpec\",\r\n absoluteVerticalPosition: \"w:tblpY\",\r\n relativeVerticalPosition: \"w:tblpYSpec\",\r\n bottomFromText: \"w:bottomFromText\",\r\n topFromText: \"w:topFromText\",\r\n leftFromText: \"w:leftFromText\",\r\n rightFromText: \"w:rightFromText\",\r\n };\r\n }\r\n}\r\nexports.TableFloatOptionsAttributes = TableFloatOptionsAttributes;\r\nclass TableFloatProperties extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:tblpPr\");\r\n this.root.push(new TableFloatOptionsAttributes(options));\r\n if (options.overlap) {\r\n this.root.push(new table_overlap_1.TableOverlap(options.overlap));\r\n }\r\n }\r\n}\r\nexports.TableFloatProperties = TableFloatProperties;\r\n\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar OverlapType;\r\n(function (OverlapType) {\r\n OverlapType[\"NEVER\"] = \"never\";\r\n OverlapType[\"OVERLAP\"] = \"overlap\";\r\n})(OverlapType = exports.OverlapType || (exports.OverlapType = {}));\r\nclass TableOverlapAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nclass TableOverlap extends xml_components_1.XmlComponent {\r\n constructor(type) {\r\n super(\"w:tblOverlap\");\r\n this.root.push(new TableOverlapAttributes({ val: type }));\r\n }\r\n}\r\nexports.TableOverlap = TableOverlap;\r\n\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar TableLayoutType;\r\n(function (TableLayoutType) {\r\n TableLayoutType[\"AUTOFIT\"] = \"autofit\";\r\n TableLayoutType[\"FIXED\"] = \"fixed\";\r\n})(TableLayoutType = exports.TableLayoutType || (exports.TableLayoutType = {}));\r\nclass TableLayoutAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { type: \"w:type\" };\r\n }\r\n}\r\nclass TableLayout extends xml_components_1.XmlComponent {\r\n constructor(type) {\r\n super(\"w:tblLayout\");\r\n this.root.push(new TableLayoutAttributes({ type }));\r\n }\r\n}\r\nexports.TableLayout = TableLayout;\r\n\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst table_row_height_1 = __webpack_require__(113);\r\nclass TableRowProperties extends xml_components_1.IgnoreIfEmptyXmlComponent {\r\n constructor() {\r\n super(\"w:trPr\");\r\n }\r\n setCantSplit() {\r\n this.root.push(new CantSplit());\r\n return this;\r\n }\r\n setTableHeader() {\r\n this.root.push(new TableHeader());\r\n return this;\r\n }\r\n setHeight(height, rule) {\r\n this.root.push(new table_row_height_1.TableRowHeight(height, rule));\r\n return this;\r\n }\r\n}\r\nexports.TableRowProperties = TableRowProperties;\r\nclass CantSplitAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nclass CantSplit extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:cantSplit\");\r\n this.root.push(new CantSplitAttributes({ val: true }));\r\n }\r\n}\r\nexports.CantSplit = CantSplit;\r\nclass TableHeaderAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nclass TableHeader extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:tblHeader\");\r\n this.root.push(new TableHeaderAttributes({ val: true }));\r\n }\r\n}\r\nexports.TableHeader = TableHeader;\r\n\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar HeightRule;\r\n(function (HeightRule) {\r\n HeightRule[\"AUTO\"] = \"auto\";\r\n HeightRule[\"ATLEAST\"] = \"atLeast\";\r\n HeightRule[\"EXACT\"] = \"exact\";\r\n})(HeightRule = exports.HeightRule || (exports.HeightRule = {}));\r\nclass TableRowHeightAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { height: \"w:val\", rule: \"w:hRule\" };\r\n }\r\n}\r\nexports.TableRowHeightAttributes = TableRowHeightAttributes;\r\nclass TableRowHeight extends xml_components_1.XmlComponent {\r\n constructor(value, rule) {\r\n super(\"w:trHeight\");\r\n this.root.push(new TableRowHeightAttributes({\r\n height: value,\r\n rule: rule,\r\n }));\r\n }\r\n}\r\nexports.TableRowHeight = TableRowHeight;\r\n\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(292));\r\n__export(__webpack_require__(11));\r\n__export(__webpack_require__(115));\r\n__export(__webpack_require__(130));\r\n\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(293));\r\n__export(__webpack_require__(129));\r\n\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst convenience_functions_1 = __webpack_require__(44);\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst columns_1 = __webpack_require__(294);\r\nconst doc_grid_1 = __webpack_require__(296);\r\nconst footer_reference_1 = __webpack_require__(117);\r\nconst footer_reference_2 = __webpack_require__(118);\r\nconst header_reference_1 = __webpack_require__(120);\r\nconst header_reference_2 = __webpack_require__(121);\r\nconst line_number_1 = __webpack_require__(123);\r\nconst page_border_1 = __webpack_require__(124);\r\nconst page_margin_1 = __webpack_require__(300);\r\nconst page_number_1 = __webpack_require__(125);\r\nconst page_size_1 = __webpack_require__(126);\r\nconst page_size_attributes_1 = __webpack_require__(45);\r\nconst title_page_1 = __webpack_require__(303);\r\nconst vertical_align_1 = __webpack_require__(127);\r\nclass SectionProperties extends xml_components_1.XmlComponent {\r\n constructor(options = { column: {} }) {\r\n super(\"w:sectPr\");\r\n const { width = 11906, height = 16838, top = convenience_functions_1.convertInchesToTwip(1), right = convenience_functions_1.convertInchesToTwip(1), bottom = convenience_functions_1.convertInchesToTwip(1), left = convenience_functions_1.convertInchesToTwip(1), header = 708, footer = 708, gutter = 0, mirror = false, column = {}, linePitch = 360, orientation = page_size_attributes_1.PageOrientation.PORTRAIT, headers, footers, pageNumberFormatType, pageNumberStart, lineNumberCountBy, lineNumberStart, lineNumberRestart, lineNumberDistance, pageBorders, pageBorderTop, pageBorderRight, pageBorderBottom, pageBorderLeft, titlePage = false, verticalAlign, } = options;\r\n this.options = options;\r\n this.root.push(new page_size_1.PageSize(width, height, orientation));\r\n this.root.push(new page_margin_1.PageMargin(top, right, bottom, left, header, footer, gutter, mirror));\r\n this.root.push(new columns_1.Columns(column.space ? column.space : 708, column.count ? column.count : 1));\r\n this.root.push(new doc_grid_1.DocumentGrid(linePitch));\r\n this.addHeaders(headers);\r\n this.addFooters(footers);\r\n if (pageNumberStart || pageNumberFormatType) {\r\n this.root.push(new page_number_1.PageNumberType(pageNumberStart, pageNumberFormatType));\r\n }\r\n if (lineNumberCountBy || lineNumberStart || lineNumberRestart || lineNumberDistance) {\r\n this.root.push(new line_number_1.LineNumberType(lineNumberCountBy, lineNumberStart, lineNumberRestart, lineNumberDistance));\r\n }\r\n if (pageBorders || pageBorderTop || pageBorderRight || pageBorderBottom || pageBorderLeft) {\r\n this.root.push(new page_border_1.PageBorders({\r\n pageBorders: pageBorders,\r\n pageBorderTop: pageBorderTop,\r\n pageBorderRight: pageBorderRight,\r\n pageBorderBottom: pageBorderBottom,\r\n pageBorderLeft: pageBorderLeft,\r\n }));\r\n }\r\n if (titlePage) {\r\n this.root.push(new title_page_1.TitlePage());\r\n }\r\n if (verticalAlign) {\r\n this.root.push(new vertical_align_1.SectionVerticalAlign(verticalAlign));\r\n }\r\n }\r\n addHeaders(headers) {\r\n if (headers) {\r\n if (headers.default) {\r\n this.root.push(new header_reference_2.HeaderReference({\r\n headerType: header_reference_1.HeaderReferenceType.DEFAULT,\r\n headerId: headers.default.Header.ReferenceId,\r\n }));\r\n }\r\n if (headers.first) {\r\n this.root.push(new header_reference_2.HeaderReference({\r\n headerType: header_reference_1.HeaderReferenceType.FIRST,\r\n headerId: headers.first.Header.ReferenceId,\r\n }));\r\n }\r\n if (headers.even) {\r\n this.root.push(new header_reference_2.HeaderReference({\r\n headerType: header_reference_1.HeaderReferenceType.EVEN,\r\n headerId: headers.even.Header.ReferenceId,\r\n }));\r\n }\r\n }\r\n }\r\n addFooters(footers) {\r\n if (footers) {\r\n if (footers.default) {\r\n this.root.push(new footer_reference_2.FooterReference({\r\n footerType: footer_reference_1.FooterReferenceType.DEFAULT,\r\n footerId: footers.default.Footer.ReferenceId,\r\n }));\r\n }\r\n if (footers.first) {\r\n this.root.push(new footer_reference_2.FooterReference({\r\n footerType: footer_reference_1.FooterReferenceType.FIRST,\r\n footerId: footers.first.Footer.ReferenceId,\r\n }));\r\n }\r\n if (footers.even) {\r\n this.root.push(new footer_reference_2.FooterReference({\r\n footerType: footer_reference_1.FooterReferenceType.EVEN,\r\n footerId: footers.even.Footer.ReferenceId,\r\n }));\r\n }\r\n }\r\n }\r\n get Options() {\r\n return this.options;\r\n }\r\n}\r\nexports.SectionProperties = SectionProperties;\r\n\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(118));\r\n__export(__webpack_require__(119));\r\n\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst footer_reference_attributes_1 = __webpack_require__(119);\r\nclass FooterReference extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:footerReference\");\r\n this.root.push(new footer_reference_attributes_1.FooterReferenceAttributes({\r\n type: options.footerType || footer_reference_attributes_1.FooterReferenceType.DEFAULT,\r\n id: `rId${options.footerId}`,\r\n }));\r\n }\r\n}\r\nexports.FooterReference = FooterReference;\r\n\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar FooterReferenceType;\r\n(function (FooterReferenceType) {\r\n FooterReferenceType[\"DEFAULT\"] = \"default\";\r\n FooterReferenceType[\"FIRST\"] = \"first\";\r\n FooterReferenceType[\"EVEN\"] = \"even\";\r\n})(FooterReferenceType = exports.FooterReferenceType || (exports.FooterReferenceType = {}));\r\nclass FooterReferenceAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n type: \"w:type\",\r\n id: \"r:id\",\r\n };\r\n }\r\n}\r\nexports.FooterReferenceAttributes = FooterReferenceAttributes;\r\n\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(121));\r\n__export(__webpack_require__(122));\r\n\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst header_reference_attributes_1 = __webpack_require__(122);\r\nclass HeaderReference extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:headerReference\");\r\n this.root.push(new header_reference_attributes_1.HeaderReferenceAttributes({\r\n type: options.headerType || header_reference_attributes_1.HeaderReferenceType.DEFAULT,\r\n id: `rId${options.headerId}`,\r\n }));\r\n }\r\n}\r\nexports.HeaderReference = HeaderReference;\r\n\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar HeaderReferenceType;\r\n(function (HeaderReferenceType) {\r\n HeaderReferenceType[\"DEFAULT\"] = \"default\";\r\n HeaderReferenceType[\"FIRST\"] = \"first\";\r\n HeaderReferenceType[\"EVEN\"] = \"even\";\r\n})(HeaderReferenceType = exports.HeaderReferenceType || (exports.HeaderReferenceType = {}));\r\nclass HeaderReferenceAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n type: \"w:type\",\r\n id: \"r:id\",\r\n };\r\n }\r\n}\r\nexports.HeaderReferenceAttributes = HeaderReferenceAttributes;\r\n\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(298));\r\n\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(299));\r\n\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(302));\r\n\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst page_size_attributes_1 = __webpack_require__(45);\r\nclass PageSize extends xml_components_1.XmlComponent {\r\n constructor(width, height, orientation) {\r\n super(\"w:pgSz\");\r\n const flip = orientation === page_size_attributes_1.PageOrientation.LANDSCAPE;\r\n this.root.push(new page_size_attributes_1.PageSizeAttributes({\r\n width: flip ? height : width,\r\n height: flip ? width : height,\r\n orientation: orientation,\r\n }));\r\n }\r\n}\r\nexports.PageSize = PageSize;\r\n\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(305));\r\n__export(__webpack_require__(128));\r\n\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass SectionVerticalAlignAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n verticalAlign: \"w:val\",\r\n };\r\n }\r\n}\r\nexports.SectionVerticalAlignAttributes = SectionVerticalAlignAttributes;\r\n\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(116));\r\n__export(__webpack_require__(117));\r\n__export(__webpack_require__(120));\r\n__export(__webpack_require__(306));\r\n__export(__webpack_require__(125));\r\n__export(__webpack_require__(124));\r\n__export(__webpack_require__(123));\r\n__export(__webpack_require__(127));\r\n\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(307));\r\n\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(313));\r\n__export(__webpack_require__(323));\r\n\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nclass Header {\r\n constructor(options = { children: [] }) {\r\n this.options = options;\r\n }\r\n}\r\nexports.Header = Header;\r\nclass Footer {\r\n constructor(options = { children: [] }) {\r\n this.options = options;\r\n }\r\n}\r\nexports.Footer = Footer;\r\n\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(330));\r\n__export(__webpack_require__(134));\r\n__export(__webpack_require__(24));\r\n__export(__webpack_require__(135));\r\n\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst level_1 = __webpack_require__(24);\r\nconst multi_level_type_1 = __webpack_require__(331);\r\nclass AbstractNumberingAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n abstractNumId: \"w:abstractNumId\",\r\n restartNumberingAfterBreak: \"w15:restartNumberingAfterBreak\",\r\n };\r\n }\r\n}\r\nclass AbstractNumbering extends xml_components_1.XmlComponent {\r\n constructor(id, levelOptions) {\r\n super(\"w:abstractNum\");\r\n this.root.push(new AbstractNumberingAttributes({\r\n abstractNumId: id,\r\n restartNumberingAfterBreak: 0,\r\n }));\r\n this.root.push(new multi_level_type_1.MultiLevelType(\"hybridMultilevel\"));\r\n this.id = id;\r\n for (const option of levelOptions) {\r\n this.root.push(new level_1.Level(option));\r\n }\r\n }\r\n}\r\nexports.AbstractNumbering = AbstractNumbering;\r\n\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst level_1 = __webpack_require__(24);\r\nclass AbstractNumId extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:abstractNumId\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nclass NumAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { numId: \"w:numId\" };\r\n }\r\n}\r\nclass ConcreteNumbering extends xml_components_1.XmlComponent {\r\n constructor(numId, abstractNumId, reference) {\r\n super(\"w:num\");\r\n this.reference = reference;\r\n this.root.push(new NumAttributes({\r\n numId: numId,\r\n }));\r\n this.root.push(new AbstractNumId(abstractNumId));\r\n this.id = numId;\r\n }\r\n overrideLevel(num, start) {\r\n const olvl = new LevelOverride(num, start);\r\n this.root.push(olvl);\r\n return olvl;\r\n }\r\n}\r\nexports.ConcreteNumbering = ConcreteNumbering;\r\nclass LevelOverrideAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { ilvl: \"w:ilvl\" };\r\n }\r\n}\r\nclass LevelOverride extends xml_components_1.XmlComponent {\r\n constructor(levelNum, start) {\r\n super(\"w:lvlOverride\");\r\n this.levelNum = levelNum;\r\n this.root.push(new LevelOverrideAttributes({ ilvl: levelNum }));\r\n if (start !== undefined) {\r\n this.root.push(new StartOverride(start));\r\n }\r\n this.lvl = new level_1.LevelForOverride({\r\n level: this.levelNum,\r\n });\r\n this.root.push(this.lvl);\r\n }\r\n get Level() {\r\n return this.lvl;\r\n }\r\n}\r\nexports.LevelOverride = LevelOverride;\r\nclass StartOverrideAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { val: \"w:val\" };\r\n }\r\n}\r\nclass StartOverride extends xml_components_1.XmlComponent {\r\n constructor(start) {\r\n super(\"w:startOverride\");\r\n this.root.push(new StartOverrideAttributes({ val: start }));\r\n }\r\n}\r\n\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass UpdateFieldsAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n enabled: \"w:val\",\r\n };\r\n }\r\n}\r\nexports.UpdateFieldsAttributes = UpdateFieldsAttributes;\r\nclass UpdateFields extends xml_components_1.XmlComponent {\r\n constructor(enabled = true) {\r\n super(\"w:updateFields\");\r\n this.root.push(new UpdateFieldsAttributes({\r\n enabled,\r\n }));\r\n }\r\n}\r\nexports.UpdateFields = UpdateFields;\r\n\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass ChangeAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n id: \"w:id\",\r\n author: \"w:author\",\r\n date: \"w:date\",\r\n };\r\n }\r\n}\r\nexports.ChangeAttributes = ChangeAttributes;\r\n\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(Buffer, global, setImmediate) {var require;var require;/*!\n\nJSZip v3.5.0 - A JavaScript class for generating and reading zip files\n<http://stuartk.com/jszip>\n\n(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>\nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/master/LICENSE\n*/\n\n!function(t){if(true)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).JSZip=t()}}(function(){return function s(a,o,h){function u(r,t){if(!o[r]){if(!a[r]){var e=\"function\"==typeof require&&require;if(!t&&e)return require(r,!0);if(l)return l(r,!0);var i=new Error(\"Cannot find module '\"+r+\"'\");throw i.code=\"MODULE_NOT_FOUND\",i}var n=o[r]={exports:{}};a[r][0].call(n.exports,function(t){var e=a[r][1][t];return u(e||t)},n,n.exports,s,a,o,h)}return o[r].exports}for(var l=\"function\"==typeof require&&require,t=0;t<h.length;t++)u(h[t]);return u}({1:[function(t,e,r){\"use strict\";var c=t(\"./utils\"),d=t(\"./support\"),p=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";r.encode=function(t){for(var e,r,i,n,s,a,o,h=[],u=0,l=t.length,f=l,d=\"string\"!==c.getTypeOf(t);u<t.length;)f=l-u,i=d?(e=t[u++],r=u<l?t[u++]:0,u<l?t[u++]:0):(e=t.charCodeAt(u++),r=u<l?t.charCodeAt(u++):0,u<l?t.charCodeAt(u++):0),n=e>>2,s=(3&e)<<4|r>>4,a=1<f?(15&r)<<2|i>>6:64,o=2<f?63&i:64,h.push(p.charAt(n)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join(\"\")},r.decode=function(t){var e,r,i,n,s,a,o=0,h=0,u=\"data:\";if(t.substr(0,u.length)===u)throw new Error(\"Invalid base64 input, it looks like a data url.\");var l,f=3*(t=t.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\")).length/4;if(t.charAt(t.length-1)===p.charAt(64)&&f--,t.charAt(t.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error(\"Invalid base64 input, bad content length.\");for(l=d.uint8array?new Uint8Array(0|f):new Array(0|f);o<t.length;)e=p.indexOf(t.charAt(o++))<<2|(n=p.indexOf(t.charAt(o++)))>>4,r=(15&n)<<4|(s=p.indexOf(t.charAt(o++)))>>2,i=(3&s)<<6|(a=p.indexOf(t.charAt(o++))),l[h++]=e,64!==s&&(l[h++]=r),64!==a&&(l[h++]=i);return l}},{\"./support\":30,\"./utils\":32}],2:[function(t,e,r){\"use strict\";var i=t(\"./external\"),n=t(\"./stream/DataWorker\"),s=t(\"./stream/DataLengthProbe\"),a=t(\"./stream/Crc32Probe\");s=t(\"./stream/DataLengthProbe\");function o(t,e,r,i,n){this.compressedSize=t,this.uncompressedSize=e,this.crc32=r,this.compression=i,this.compressedContent=n}o.prototype={getContentWorker:function(){var t=new n(i.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new s(\"data_length\")),e=this;return t.on(\"end\",function(){if(this.streamInfo.data_length!==e.uncompressedSize)throw new Error(\"Bug : uncompressed data size mismatch\")}),t},getCompressedWorker:function(){return new n(i.Promise.resolve(this.compressedContent)).withStreamInfo(\"compressedSize\",this.compressedSize).withStreamInfo(\"uncompressedSize\",this.uncompressedSize).withStreamInfo(\"crc32\",this.crc32).withStreamInfo(\"compression\",this.compression)}},o.createWorkerFrom=function(t,e,r){return t.pipe(new a).pipe(new s(\"uncompressedSize\")).pipe(e.compressWorker(r)).pipe(new s(\"compressedSize\")).withStreamInfo(\"compression\",e)},e.exports=o},{\"./external\":6,\"./stream/Crc32Probe\":25,\"./stream/DataLengthProbe\":26,\"./stream/DataWorker\":27}],3:[function(t,e,r){\"use strict\";var i=t(\"./stream/GenericWorker\");r.STORE={magic:\"\\0\\0\",compressWorker:function(t){return new i(\"STORE compression\")},uncompressWorker:function(){return new i(\"STORE decompression\")}},r.DEFLATE=t(\"./flate\")},{\"./flate\":7,\"./stream/GenericWorker\":28}],4:[function(t,e,r){\"use strict\";var i=t(\"./utils\");var o=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e}();e.exports=function(t,e){return void 0!==t&&t.length?\"string\"!==i.getTypeOf(t)?function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a<s;a++)t=t>>>8^n[255&(t^e[a])];return-1^t}(0|e,t,t.length,0):function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a<s;a++)t=t>>>8^n[255&(t^e.charCodeAt(a))];return-1^t}(0|e,t,t.length,0):0}},{\"./utils\":32}],5:[function(t,e,r){\"use strict\";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(t,e,r){\"use strict\";var i=null;i=\"undefined\"!=typeof Promise?Promise:t(\"lie\"),e.exports={Promise:i}},{lie:37}],7:[function(t,e,r){\"use strict\";var i=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,n=t(\"pako\"),s=t(\"./utils\"),a=t(\"./stream/GenericWorker\"),o=i?\"uint8array\":\"array\";function h(t,e){a.call(this,\"FlateWorker/\"+t),this._pako=null,this._pakoAction=t,this._pakoOptions=e,this.meta={}}r.magic=\"\\b\\0\",s.inherits(h,a),h.prototype.processChunk=function(t){this.meta=t.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,t.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new n[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},r.compressWorker=function(t){return new h(\"Deflate\",t)},r.uncompressWorker=function(){return new h(\"Inflate\",{})}},{\"./stream/GenericWorker\":28,\"./utils\":32,pako:38}],8:[function(t,e,r){\"use strict\";function A(t,e){var r,i=\"\";for(r=0;r<e;r++)i+=String.fromCharCode(255&t),t>>>=8;return i}function i(t,e,r,i,n,s){var a,o,h=t.file,u=t.compression,l=s!==O.utf8encode,f=I.transformTo(\"string\",s(h.name)),d=I.transformTo(\"string\",O.utf8encode(h.name)),c=h.comment,p=I.transformTo(\"string\",s(c)),m=I.transformTo(\"string\",O.utf8encode(c)),_=d.length!==h.name.length,g=m.length!==c.length,b=\"\",v=\"\",y=\"\",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};e&&!r||(x.crc32=t.crc32,x.compressedSize=t.compressedSize,x.uncompressedSize=t.uncompressedSize);var S=0;e&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),\"UNIX\"===n?(C=798,z|=function(t,e){var r=t;return t||(r=e?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(t){return 63&(t||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+d,b+=\"up\"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+=\"uc\"+A(y.length,2)+y);var E=\"\";return E+=\"\\n\\0\",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+\"\\0\\0\\0\\0\"+A(z,4)+A(i,4)+f+b+p}}var I=t(\"../utils\"),n=t(\"../stream/GenericWorker\"),O=t(\"../utf8\"),B=t(\"../crc32\"),R=t(\"../signature\");function s(t,e,r,i){n.call(this,\"ZipFileWorker\"),this.bytesWritten=0,this.zipComment=e,this.zipPlatform=r,this.encodeFileName=i,this.streamFiles=t,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,n),s.prototype.push=function(t){var e=t.meta.percent||0,r=this.entriesCount,i=this._sources.length;this.accumulate?this.contentBuffer.push(t):(this.bytesWritten+=t.data.length,n.prototype.push.call(this,{data:t.data,meta:{currentFile:this.currentFile,percent:r?(e+100*(r-i-1))/r:100}}))},s.prototype.openedSource=function(t){this.currentSourceOffset=this.bytesWritten,this.currentFile=t.file.name;var e=this.streamFiles&&!t.file.dir;if(e){var r=i(t,e,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(t){this.accumulate=!1;var e=this.streamFiles&&!t.file.dir,r=i(t,e,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),e)this.push({data:function(t){return R.DATA_DESCRIPTOR+A(t.crc32,4)+A(t.compressedSize,4)+A(t.uncompressedSize,4)}(t),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var t=this.bytesWritten,e=0;e<this.dirRecords.length;e++)this.push({data:this.dirRecords[e],meta:{percent:100}});var r=this.bytesWritten-t,i=function(t,e,r,i,n){var s=I.transformTo(\"string\",n(i));return R.CENTRAL_DIRECTORY_END+\"\\0\\0\\0\\0\"+A(t,2)+A(t,2)+A(e,4)+A(r,4)+A(s.length,2)+s}(this.dirRecords.length,r,t,this.zipComment,this.encodeFileName);this.push({data:i,meta:{percent:100}})},s.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},s.prototype.registerPrevious=function(t){this._sources.push(t);var e=this;return t.on(\"data\",function(t){e.processChunk(t)}),t.on(\"end\",function(){e.closedSource(e.previous.streamInfo),e._sources.length?e.prepareNextSource():e.end()}),t.on(\"error\",function(t){e.error(t)}),this},s.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},s.prototype.error=function(t){var e=this._sources;if(!n.prototype.error.call(this,t))return!1;for(var r=0;r<e.length;r++)try{e[r].error(t)}catch(t){}return!0},s.prototype.lock=function(){n.prototype.lock.call(this);for(var t=this._sources,e=0;e<t.length;e++)t[e].lock()},e.exports=s},{\"../crc32\":4,\"../signature\":23,\"../stream/GenericWorker\":28,\"../utf8\":31,\"../utils\":32}],9:[function(t,e,r){\"use strict\";var u=t(\"../compressions\"),i=t(\"./ZipFileWorker\");r.generateWorker=function(t,a,e){var o=new i(a.streamFiles,e,a.platform,a.encodeFileName),h=0;try{t.forEach(function(t,e){h++;var r=function(t,e){var r=t||e,i=u[r];if(!i)throw new Error(r+\" is not a valid compression method !\");return i}(e.options.compression,a.compression),i=e.options.compressionOptions||a.compressionOptions||{},n=e.dir,s=e.date;e._compressWorker(r,i).withStreamInfo(\"file\",{name:t,dir:n,date:s,comment:e.comment||\"\",unixPermissions:e.unixPermissions,dosPermissions:e.dosPermissions}).pipe(o)}),o.entriesCount=h}catch(t){o.error(t)}return o}},{\"../compressions\":3,\"./ZipFileWorker\":8}],10:[function(t,e,r){\"use strict\";function i(){if(!(this instanceof i))return new i;if(arguments.length)throw new Error(\"The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.\");this.files={},this.comment=null,this.root=\"\",this.clone=function(){var t=new i;for(var e in this)\"function\"!=typeof this[e]&&(t[e]=this[e]);return t}}(i.prototype=t(\"./object\")).loadAsync=t(\"./load\"),i.support=t(\"./support\"),i.defaults=t(\"./defaults\"),i.version=\"3.5.0\",i.loadAsync=function(t,e){return(new i).loadAsync(t,e)},i.external=t(\"./external\"),e.exports=i},{\"./defaults\":5,\"./external\":6,\"./load\":11,\"./object\":15,\"./support\":30}],11:[function(t,e,r){\"use strict\";var i=t(\"./utils\"),n=t(\"./external\"),o=t(\"./utf8\"),h=(i=t(\"./utils\"),t(\"./zipEntries\")),s=t(\"./stream/Crc32Probe\"),u=t(\"./nodejsUtils\");function l(i){return new n.Promise(function(t,e){var r=i.decompressed.getContentWorker().pipe(new s);r.on(\"error\",function(t){e(t)}).on(\"end\",function(){r.streamInfo.crc32!==i.decompressed.crc32?e(new Error(\"Corrupted zip : CRC32 mismatch\")):t()}).resume()})}e.exports=function(t,s){var a=this;return s=i.extend(s||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:o.utf8decode}),u.isNode&&u.isStream(t)?n.Promise.reject(new Error(\"JSZip can't accept a stream when loading a zip file.\")):i.prepareContent(\"the loaded zip file\",t,!0,s.optimizedBinaryString,s.base64).then(function(t){var e=new h(s);return e.load(t),e}).then(function(t){var e=[n.Promise.resolve(t)],r=t.files;if(s.checkCRC32)for(var i=0;i<r.length;i++)e.push(l(r[i]));return n.Promise.all(e)}).then(function(t){for(var e=t.shift(),r=e.files,i=0;i<r.length;i++){var n=r[i];a.file(n.fileNameStr,n.decompressed,{binary:!0,optimizedBinaryString:!0,date:n.date,dir:n.dir,comment:n.fileCommentStr.length?n.fileCommentStr:null,unixPermissions:n.unixPermissions,dosPermissions:n.dosPermissions,createFolders:s.createFolders})}return e.zipComment.length&&(a.comment=e.zipComment),a})}},{\"./external\":6,\"./nodejsUtils\":14,\"./stream/Crc32Probe\":25,\"./utf8\":31,\"./utils\":32,\"./zipEntries\":33}],12:[function(t,e,r){\"use strict\";var i=t(\"../utils\"),n=t(\"../stream/GenericWorker\");function s(t,e){n.call(this,\"Nodejs stream input adapter for \"+t),this._upstreamEnded=!1,this._bindStream(e)}i.inherits(s,n),s.prototype._bindStream=function(t){var e=this;(this._stream=t).pause(),t.on(\"data\",function(t){e.push({data:t,meta:{percent:0}})}).on(\"error\",function(t){e.isPaused?this.generatedError=t:e.error(t)}).on(\"end\",function(){e.isPaused?e._upstreamEnded=!0:e.end()})},s.prototype.pause=function(){return!!n.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},e.exports=s},{\"../stream/GenericWorker\":28,\"../utils\":32}],13:[function(t,e,r){\"use strict\";var n=t(\"readable-stream\").Readable;function i(t,e,r){n.call(this,e),this._helper=t;var i=this;t.on(\"data\",function(t,e){i.push(t)||i._helper.pause(),r&&r(e)}).on(\"error\",function(t){i.emit(\"error\",t)}).on(\"end\",function(){i.push(null)})}t(\"../utils\").inherits(i,n),i.prototype._read=function(){this._helper.resume()},e.exports=i},{\"../utils\":32,\"readable-stream\":16}],14:[function(t,e,r){\"use strict\";e.exports={isNode:\"undefined\"!=typeof Buffer,newBufferFrom:function(t,e){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(t,e);if(\"number\"==typeof t)throw new Error('The \"data\" argument must not be a number');return new Buffer(t,e)},allocBuffer:function(t){if(Buffer.alloc)return Buffer.alloc(t);var e=new Buffer(t);return e.fill(0),e},isBuffer:function(t){return Buffer.isBuffer(t)},isStream:function(t){return t&&\"function\"==typeof t.on&&\"function\"==typeof t.pause&&\"function\"==typeof t.resume}}},{}],15:[function(t,e,r){\"use strict\";function s(t,e,r){var i,n=u.getTypeOf(e),s=u.extend(r||{},f);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),\"string\"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(t=g(t)),s.createFolders&&(i=_(t))&&b.call(this,i,!0);var a=\"string\"===n&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(e instanceof d&&0===e.uncompressedSize||s.dir||!e||0===e.length)&&(s.base64=!1,s.binary=!0,e=\"\",s.compression=\"STORE\",n=\"string\");var o=null;o=e instanceof d||e instanceof l?e:p.isNode&&p.isStream(e)?new m(t,e):u.prepareContent(t,e,s.binary,s.optimizedBinaryString,s.base64);var h=new c(t,o,s);this.files[t]=h}var n=t(\"./utf8\"),u=t(\"./utils\"),l=t(\"./stream/GenericWorker\"),a=t(\"./stream/StreamHelper\"),f=t(\"./defaults\"),d=t(\"./compressedObject\"),c=t(\"./zipObject\"),o=t(\"./generate\"),p=t(\"./nodejsUtils\"),m=t(\"./nodejs/NodejsStreamInputAdapter\"),_=function(t){\"/\"===t.slice(-1)&&(t=t.substring(0,t.length-1));var e=t.lastIndexOf(\"/\");return 0<e?t.substring(0,e):\"\"},g=function(t){return\"/\"!==t.slice(-1)&&(t+=\"/\"),t},b=function(t,e){return e=void 0!==e?e:f.createFolders,t=g(t),this.files[t]||s.call(this,t,null,{dir:!0,createFolders:e}),this.files[t]};function h(t){return\"[object RegExp]\"===Object.prototype.toString.call(t)}var i={load:function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},forEach:function(t){var e,r,i;for(e in this.files)this.files.hasOwnProperty(e)&&(i=this.files[e],(r=e.slice(this.root.length,e.length))&&e.slice(0,this.root.length)===this.root&&t(r,i))},filter:function(r){var i=[];return this.forEach(function(t,e){r(t,e)&&i.push(e)}),i},file:function(t,e,r){if(1!==arguments.length)return t=this.root+t,s.call(this,t,e,r),this;if(h(t)){var i=t;return this.filter(function(t,e){return!e.dir&&i.test(t)})}var n=this.files[this.root+t];return n&&!n.dir?n:null},folder:function(r){if(!r)return this;if(h(r))return this.filter(function(t,e){return e.dir&&r.test(t)});var t=this.root+r,e=b.call(this,t),i=this.clone();return i.root=e.name,i},remove:function(r){r=this.root+r;var t=this.files[r];if(t||(\"/\"!==r.slice(-1)&&(r+=\"/\"),t=this.files[r]),t&&!t.dir)delete this.files[r];else for(var e=this.filter(function(t,e){return e.name.slice(0,r.length)===r}),i=0;i<e.length;i++)delete this.files[e[i].name];return this},generate:function(t){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},generateInternalStream:function(t){var e,r={};try{if((r=u.extend(t||{},{streamFiles:!1,compression:\"STORE\",compressionOptions:null,type:\"\",platform:\"DOS\",comment:null,mimeType:\"application/zip\",encodeFileName:n.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),\"binarystring\"===r.type&&(r.type=\"string\"),!r.type)throw new Error(\"No output type specified.\");u.checkSupport(r.type),\"darwin\"!==r.platform&&\"freebsd\"!==r.platform&&\"linux\"!==r.platform&&\"sunos\"!==r.platform||(r.platform=\"UNIX\"),\"win32\"===r.platform&&(r.platform=\"DOS\");var i=r.comment||this.comment||\"\";e=o.generateWorker(this,r,i)}catch(t){(e=new l(\"error\")).error(t)}return new a(e,r.type||\"string\",r.mimeType)},generateAsync:function(t,e){return this.generateInternalStream(t).accumulate(e)},generateNodeStream:function(t,e){return(t=t||{}).type||(t.type=\"nodebuffer\"),this.generateInternalStream(t).toNodejsStream(e)}};e.exports=i},{\"./compressedObject\":2,\"./defaults\":5,\"./generate\":9,\"./nodejs/NodejsStreamInputAdapter\":12,\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31,\"./utils\":32,\"./zipObject\":35}],16:[function(t,e,r){e.exports=t(\"stream\")},{stream:void 0}],17:[function(t,e,r){\"use strict\";var i=t(\"./DataReader\");function n(t){i.call(this,t);for(var e=0;e<this.data.length;e++)t[e]=255&t[e]}t(\"../utils\").inherits(n,i),n.prototype.byteAt=function(t){return this.data[this.zero+t]},n.prototype.lastIndexOfSignature=function(t){for(var e=t.charCodeAt(0),r=t.charCodeAt(1),i=t.charCodeAt(2),n=t.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===e&&this.data[s+1]===r&&this.data[s+2]===i&&this.data[s+3]===n)return s-this.zero;return-1},n.prototype.readAndCheckSignature=function(t){var e=t.charCodeAt(0),r=t.charCodeAt(1),i=t.charCodeAt(2),n=t.charCodeAt(3),s=this.readData(4);return e===s[0]&&r===s[1]&&i===s[2]&&n===s[3]},n.prototype.readData=function(t){if(this.checkOffset(t),0===t)return[];var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{\"../utils\":32,\"./DataReader\":18}],18:[function(t,e,r){\"use strict\";var i=t(\"../utils\");function n(t){this.data=t,this.length=t.length,this.index=0,this.zero=0}n.prototype={checkOffset:function(t){this.checkIndex(this.index+t)},checkIndex:function(t){if(this.length<this.zero+t||t<0)throw new Error(\"End of data reached (data length = \"+this.length+\", asked index = \"+t+\"). Corrupted zip ?\")},setIndex:function(t){this.checkIndex(t),this.index=t},skip:function(t){this.setIndex(this.index+t)},byteAt:function(t){},readInt:function(t){var e,r=0;for(this.checkOffset(t),e=this.index+t-1;e>=this.index;e--)r=(r<<8)+this.byteAt(e);return this.index+=t,r},readString:function(t){return i.transformTo(\"string\",this.readData(t))},readData:function(t){},lastIndexOfSignature:function(t){},readAndCheckSignature:function(t){},readDate:function(){var t=this.readInt(4);return new Date(Date.UTC(1980+(t>>25&127),(t>>21&15)-1,t>>16&31,t>>11&31,t>>5&63,(31&t)<<1))}},e.exports=n},{\"../utils\":32}],19:[function(t,e,r){\"use strict\";var i=t(\"./Uint8ArrayReader\");function n(t){i.call(this,t)}t(\"../utils\").inherits(n,i),n.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{\"../utils\":32,\"./Uint8ArrayReader\":21}],20:[function(t,e,r){\"use strict\";var i=t(\"./DataReader\");function n(t){i.call(this,t)}t(\"../utils\").inherits(n,i),n.prototype.byteAt=function(t){return this.data.charCodeAt(this.zero+t)},n.prototype.lastIndexOfSignature=function(t){return this.data.lastIndexOf(t)-this.zero},n.prototype.readAndCheckSignature=function(t){return t===this.readData(4)},n.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{\"../utils\":32,\"./DataReader\":18}],21:[function(t,e,r){\"use strict\";var i=t(\"./ArrayReader\");function n(t){i.call(this,t)}t(\"../utils\").inherits(n,i),n.prototype.readData=function(t){if(this.checkOffset(t),0===t)return new Uint8Array(0);var e=this.data.subarray(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{\"../utils\":32,\"./ArrayReader\":17}],22:[function(t,e,r){\"use strict\";var i=t(\"../utils\"),n=t(\"../support\"),s=t(\"./ArrayReader\"),a=t(\"./StringReader\"),o=t(\"./NodeBufferReader\"),h=t(\"./Uint8ArrayReader\");e.exports=function(t){var e=i.getTypeOf(t);return i.checkSupport(e),\"string\"!==e||n.uint8array?\"nodebuffer\"===e?new o(t):n.uint8array?new h(i.transformTo(\"uint8array\",t)):new s(i.transformTo(\"array\",t)):new a(t)}},{\"../support\":30,\"../utils\":32,\"./ArrayReader\":17,\"./NodeBufferReader\":19,\"./StringReader\":20,\"./Uint8ArrayReader\":21}],23:[function(t,e,r){\"use strict\";r.LOCAL_FILE_HEADER=\"PK\u0003\u0004\",r.CENTRAL_FILE_HEADER=\"PK\u0001\u0002\",r.CENTRAL_DIRECTORY_END=\"PK\u0005\u0006\",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR=\"PK\u0006\u0007\",r.ZIP64_CENTRAL_DIRECTORY_END=\"PK\u0006\u0006\",r.DATA_DESCRIPTOR=\"PK\u0007\\b\"},{}],24:[function(t,e,r){\"use strict\";var i=t(\"./GenericWorker\"),n=t(\"../utils\");function s(t){i.call(this,\"ConvertWorker to \"+t),this.destType=t}n.inherits(s,i),s.prototype.processChunk=function(t){this.push({data:n.transformTo(this.destType,t.data),meta:t.meta})},e.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],25:[function(t,e,r){\"use strict\";var i=t(\"./GenericWorker\"),n=t(\"../crc32\");function s(){i.call(this,\"Crc32Probe\"),this.withStreamInfo(\"crc32\",0)}t(\"../utils\").inherits(s,i),s.prototype.processChunk=function(t){this.streamInfo.crc32=n(t.data,this.streamInfo.crc32||0),this.push(t)},e.exports=s},{\"../crc32\":4,\"../utils\":32,\"./GenericWorker\":28}],26:[function(t,e,r){\"use strict\";var i=t(\"../utils\"),n=t(\"./GenericWorker\");function s(t){n.call(this,\"DataLengthProbe for \"+t),this.propName=t,this.withStreamInfo(t,0)}i.inherits(s,n),s.prototype.processChunk=function(t){if(t){var e=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=e+t.data.length}n.prototype.processChunk.call(this,t)},e.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],27:[function(t,e,r){\"use strict\";var i=t(\"../utils\"),n=t(\"./GenericWorker\");function s(t){n.call(this,\"DataWorker\");var e=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type=\"\",this._tickScheduled=!1,t.then(function(t){e.dataIsReady=!0,e.data=t,e.max=t&&t.length||0,e.type=i.getTypeOf(t),e.isPaused||e._tickAndRepeat()},function(t){e.error(t)})}i.inherits(s,n),s.prototype.cleanUp=function(){n.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,i.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(i.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var t=null,e=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case\"string\":t=this.data.substring(this.index,e);break;case\"uint8array\":t=this.data.subarray(this.index,e);break;case\"array\":case\"nodebuffer\":t=this.data.slice(this.index,e)}return this.index=e,this.push({data:t,meta:{percent:this.max?this.index/this.max*100:0}})},e.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],28:[function(t,e,r){\"use strict\";function i(t){this.name=t||\"default\",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}i.prototype={push:function(t){this.emit(\"data\",t)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit(\"end\"),this.cleanUp(),this.isFinished=!0}catch(t){this.emit(\"error\",t)}return!0},error:function(t){return!this.isFinished&&(this.isPaused?this.generatedError=t:(this.isFinished=!0,this.emit(\"error\",t),this.previous&&this.previous.error(t),this.cleanUp()),!0)},on:function(t,e){return this._listeners[t].push(e),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(t,e){if(this._listeners[t])for(var r=0;r<this._listeners[t].length;r++)this._listeners[t][r].call(this,e)},pipe:function(t){return t.registerPrevious(this)},registerPrevious:function(t){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.streamInfo=t.streamInfo,this.mergeStreamInfo(),this.previous=t;var e=this;return t.on(\"data\",function(t){e.processChunk(t)}),t.on(\"end\",function(){e.end()}),t.on(\"error\",function(t){e.error(t)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var t=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),t=!0),this.previous&&this.previous.resume(),!t},flush:function(){},processChunk:function(t){this.push(t)},withStreamInfo:function(t,e){return this.extraStreamInfo[t]=e,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var t in this.extraStreamInfo)this.extraStreamInfo.hasOwnProperty(t)&&(this.streamInfo[t]=this.extraStreamInfo[t])},lock:function(){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var t=\"Worker \"+this.name;return this.previous?this.previous+\" -> \"+t:t}},e.exports=i},{}],29:[function(t,e,r){\"use strict\";var h=t(\"../utils\"),n=t(\"./ConvertWorker\"),s=t(\"./GenericWorker\"),u=t(\"../base64\"),i=t(\"../support\"),a=t(\"../external\"),o=null;if(i.nodestream)try{o=t(\"../nodejs/NodejsStreamOutputAdapter\")}catch(t){}function l(t,o){return new a.Promise(function(e,r){var i=[],n=t._internalType,s=t._outputType,a=t._mimeType;t.on(\"data\",function(t,e){i.push(t),o&&o(e)}).on(\"error\",function(t){i=[],r(t)}).on(\"end\",function(){try{var t=function(t,e,r){switch(t){case\"blob\":return h.newBlob(h.transformTo(\"arraybuffer\",e),r);case\"base64\":return u.encode(e);default:return h.transformTo(t,e)}}(s,function(t,e){var r,i=0,n=null,s=0;for(r=0;r<e.length;r++)s+=e[r].length;switch(t){case\"string\":return e.join(\"\");case\"array\":return Array.prototype.concat.apply([],e);case\"uint8array\":for(n=new Uint8Array(s),r=0;r<e.length;r++)n.set(e[r],i),i+=e[r].length;return n;case\"nodebuffer\":return Buffer.concat(e);default:throw new Error(\"concat : unsupported type '\"+t+\"'\")}}(n,i),a);e(t)}catch(t){r(t)}i=[]}).resume()})}function f(t,e,r){var i=e;switch(e){case\"blob\":case\"arraybuffer\":i=\"uint8array\";break;case\"base64\":i=\"string\"}try{this._internalType=i,this._outputType=e,this._mimeType=r,h.checkSupport(i),this._worker=t.pipe(new n(i)),t.lock()}catch(t){this._worker=new s(\"error\"),this._worker.error(t)}}f.prototype={accumulate:function(t){return l(this,t)},on:function(t,e){var r=this;return\"data\"===t?this._worker.on(t,function(t){e.call(r,t.data,t.meta)}):this._worker.on(t,function(){h.delay(e,arguments,r)}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(t){if(h.checkSupport(\"nodestream\"),\"nodebuffer\"!==this._outputType)throw new Error(this._outputType+\" is not supported by this method\");return new o(this,{objectMode:\"nodebuffer\"!==this._outputType},t)}},e.exports=f},{\"../base64\":1,\"../external\":6,\"../nodejs/NodejsStreamOutputAdapter\":13,\"../support\":30,\"../utils\":32,\"./ConvertWorker\":24,\"./GenericWorker\":28}],30:[function(t,e,r){\"use strict\";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array,r.nodebuffer=\"undefined\"!=typeof Buffer,r.uint8array=\"undefined\"!=typeof Uint8Array,\"undefined\"==typeof ArrayBuffer)r.blob=!1;else{var i=new ArrayBuffer(0);try{r.blob=0===new Blob([i],{type:\"application/zip\"}).size}catch(t){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);n.append(i),r.blob=0===n.getBlob(\"application/zip\").size}catch(t){r.blob=!1}}}try{r.nodestream=!!t(\"readable-stream\").Readable}catch(t){r.nodestream=!1}},{\"readable-stream\":16}],31:[function(t,e,s){\"use strict\";for(var o=t(\"./utils\"),h=t(\"./support\"),r=t(\"./nodejsUtils\"),i=t(\"./stream/GenericWorker\"),u=new Array(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;u[254]=u[254]=1;function a(){i.call(this,\"utf-8 decode\"),this.leftOver=null}function l(){i.call(this,\"utf-8 encode\")}s.utf8encode=function(t){return h.nodebuffer?r.newBufferFrom(t,\"utf-8\"):function(t){var e,r,i,n,s,a=t.length,o=0;for(n=0;n<a;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),o+=r<128?1:r<2048?2:r<65536?3:4;for(e=h.uint8array?new Uint8Array(o):new Array(o),n=s=0;s<o;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),r<128?e[s++]=r:(r<2048?e[s++]=192|r>>>6:(r<65536?e[s++]=224|r>>>12:(e[s++]=240|r>>>18,e[s++]=128|r>>>12&63),e[s++]=128|r>>>6&63),e[s++]=128|63&r);return e}(t)},s.utf8decode=function(t){return h.nodebuffer?o.transformTo(\"nodebuffer\",t).toString(\"utf-8\"):function(t){var e,r,i,n,s=t.length,a=new Array(2*s);for(e=r=0;e<s;)if((i=t[e++])<128)a[r++]=i;else if(4<(n=u[i]))a[r++]=65533,e+=n-1;else{for(i&=2===n?31:3===n?15:7;1<n&&e<s;)i=i<<6|63&t[e++],n--;1<n?a[r++]=65533:i<65536?a[r++]=i:(i-=65536,a[r++]=55296|i>>10&1023,a[r++]=56320|1023&i)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(t=o.transformTo(h.uint8array?\"uint8array\":\"array\",t))},o.inherits(a,i),a.prototype.processChunk=function(t){var e=o.transformTo(h.uint8array?\"uint8array\":\"array\",t.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=e;(e=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),e.set(r,this.leftOver.length)}else e=this.leftOver.concat(e);this.leftOver=null}var i=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0?e:0===r?e:r+u[t[r]]>e?r:e}(e),n=e;i!==e.length&&(h.uint8array?(n=e.subarray(0,i),this.leftOver=e.subarray(i,e.length)):(n=e.slice(0,i),this.leftOver=e.slice(i,e.length))),this.push({data:s.utf8decode(n),meta:t.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,i),l.prototype.processChunk=function(t){this.push({data:s.utf8encode(t.data),meta:t.meta})},s.Utf8EncodeWorker=l},{\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./support\":30,\"./utils\":32}],32:[function(t,e,a){\"use strict\";var o=t(\"./support\"),h=t(\"./base64\"),r=t(\"./nodejsUtils\"),i=t(\"set-immediate-shim\"),u=t(\"./external\");function n(t){return t}function l(t,e){for(var r=0;r<t.length;++r)e[r]=255&t.charCodeAt(r);return e}a.newBlob=function(e,r){a.checkSupport(\"blob\");try{return new Blob([e],{type:r})}catch(t){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return i.append(e),i.getBlob(r)}catch(t){throw new Error(\"Bug : can't construct the Blob.\")}}};var s={stringifyByChunk:function(t,e,r){var i=[],n=0,s=t.length;if(s<=r)return String.fromCharCode.apply(null,t);for(;n<s;)\"array\"===e||\"nodebuffer\"===e?i.push(String.fromCharCode.apply(null,t.slice(n,Math.min(n+r,s)))):i.push(String.fromCharCode.apply(null,t.subarray(n,Math.min(n+r,s)))),n+=r;return i.join(\"\")},stringifyByChar:function(t){for(var e=\"\",r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},applyCanBeUsed:{uint8array:function(){try{return o.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(t){return!1}}(),nodebuffer:function(){try{return o.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(t){return!1}}()}};function f(t){var e=65536,r=a.getTypeOf(t),i=!0;if(\"uint8array\"===r?i=s.applyCanBeUsed.uint8array:\"nodebuffer\"===r&&(i=s.applyCanBeUsed.nodebuffer),i)for(;1<e;)try{return s.stringifyByChunk(t,r,e)}catch(t){e=Math.floor(e/2)}return s.stringifyByChar(t)}function d(t,e){for(var r=0;r<t.length;r++)e[r]=t[r];return e}a.applyFromCharCode=f;var c={};c.string={string:n,array:function(t){return l(t,new Array(t.length))},arraybuffer:function(t){return c.string.uint8array(t).buffer},uint8array:function(t){return l(t,new Uint8Array(t.length))},nodebuffer:function(t){return l(t,r.allocBuffer(t.length))}},c.array={string:f,array:n,arraybuffer:function(t){return new Uint8Array(t).buffer},uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return r.newBufferFrom(t)}},c.arraybuffer={string:function(t){return f(new Uint8Array(t))},array:function(t){return d(new Uint8Array(t),new Array(t.byteLength))},arraybuffer:n,uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return r.newBufferFrom(new Uint8Array(t))}},c.uint8array={string:f,array:function(t){return d(t,new Array(t.length))},arraybuffer:function(t){return t.buffer},uint8array:n,nodebuffer:function(t){return r.newBufferFrom(t)}},c.nodebuffer={string:f,array:function(t){return d(t,new Array(t.length))},arraybuffer:function(t){return c.nodebuffer.uint8array(t).buffer},uint8array:function(t){return d(t,new Uint8Array(t.length))},nodebuffer:n},a.transformTo=function(t,e){if(e=e||\"\",!t)return e;a.checkSupport(t);var r=a.getTypeOf(e);return c[r][t](e)},a.getTypeOf=function(t){return\"string\"==typeof t?\"string\":\"[object Array]\"===Object.prototype.toString.call(t)?\"array\":o.nodebuffer&&r.isBuffer(t)?\"nodebuffer\":o.uint8array&&t instanceof Uint8Array?\"uint8array\":o.arraybuffer&&t instanceof ArrayBuffer?\"arraybuffer\":void 0},a.checkSupport=function(t){if(!o[t.toLowerCase()])throw new Error(t+\" is not supported by this platform\")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(t){var e,r,i=\"\";for(r=0;r<(t||\"\").length;r++)i+=\"\\\\x\"+((e=t.charCodeAt(r))<16?\"0\":\"\")+e.toString(16).toUpperCase();return i},a.delay=function(t,e,r){i(function(){t.apply(r||null,e||[])})},a.inherits=function(t,e){function r(){}r.prototype=e.prototype,t.prototype=new r},a.extend=function(){var t,e,r={};for(t=0;t<arguments.length;t++)for(e in arguments[t])arguments[t].hasOwnProperty(e)&&void 0===r[e]&&(r[e]=arguments[t][e]);return r},a.prepareContent=function(r,t,i,n,s){return u.Promise.resolve(t).then(function(i){return o.blob&&(i instanceof Blob||-1!==[\"[object File]\",\"[object Blob]\"].indexOf(Object.prototype.toString.call(i)))&&\"undefined\"!=typeof FileReader?new u.Promise(function(e,r){var t=new FileReader;t.onload=function(t){e(t.target.result)},t.onerror=function(t){r(t.target.error)},t.readAsArrayBuffer(i)}):i}).then(function(t){var e=a.getTypeOf(t);return e?(\"arraybuffer\"===e?t=a.transformTo(\"uint8array\",t):\"string\"===e&&(s?t=h.decode(t):i&&!0!==n&&(t=function(t){return l(t,o.uint8array?new Uint8Array(t.length):new Array(t.length))}(t))),t):u.Promise.reject(new Error(\"Can't read the data of '\"+r+\"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?\"))})}},{\"./base64\":1,\"./external\":6,\"./nodejsUtils\":14,\"./support\":30,\"set-immediate-shim\":54}],33:[function(t,e,r){\"use strict\";var i=t(\"./reader/readerFor\"),n=t(\"./utils\"),s=t(\"./signature\"),a=t(\"./zipEntry\"),o=(t(\"./utf8\"),t(\"./support\"));function h(t){this.files=[],this.loadOptions=t}h.prototype={checkSignature:function(t){if(!this.reader.readAndCheckSignature(t)){this.reader.index-=4;var e=this.reader.readString(4);throw new Error(\"Corrupted zip or bug: unexpected signature (\"+n.pretty(e)+\", expected \"+n.pretty(t)+\")\")}},isSignature:function(t,e){var r=this.reader.index;this.reader.setIndex(t);var i=this.reader.readString(4)===e;return this.reader.setIndex(r),i},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var t=this.reader.readData(this.zipCommentLength),e=o.uint8array?\"uint8array\":\"array\",r=n.transformTo(e,t);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var t,e,r,i=this.zip64EndOfCentralSize-44;0<i;)t=this.reader.readInt(2),e=this.reader.readInt(4),r=this.reader.readData(e),this.zip64ExtensibleData[t]={id:t,length:e,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error(\"Multi-volumes zip are not supported\")},readLocalFiles:function(){var t,e;for(t=0;t<this.files.length;t++)e=this.files[t],this.reader.setIndex(e.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),e.readLocalPart(this.reader),e.handleUTF8(),e.processAttributes()},readCentralDir:function(){var t;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(t=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(t);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error(\"Corrupted zip or bug: expected \"+this.centralDirRecords+\" records in central dir, got \"+this.files.length)},readEndOfCentral:function(){var t=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(t<0)throw!this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error(\"Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html\"):new Error(\"Corrupted zip: can't find end of central directory\");this.reader.setIndex(t);var e=t;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===n.MAX_VALUE_16BITS||this.diskWithCentralDirStart===n.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===n.MAX_VALUE_16BITS||this.centralDirRecords===n.MAX_VALUE_16BITS||this.centralDirSize===n.MAX_VALUE_32BITS||this.centralDirOffset===n.MAX_VALUE_32BITS){if(this.zip64=!0,(t=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory locator\");if(this.reader.setIndex(t),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory\");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var i=e-r;if(0<i)this.isSignature(e,s.CENTRAL_FILE_HEADER)||(this.reader.zero=i);else if(i<0)throw new Error(\"Corrupted zip: missing \"+Math.abs(i)+\" bytes.\")},prepareReader:function(t){this.reader=i(t)},load:function(t){this.prepareReader(t),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},e.exports=h},{\"./reader/readerFor\":22,\"./signature\":23,\"./support\":30,\"./utf8\":31,\"./utils\":32,\"./zipEntry\":34}],34:[function(t,e,r){\"use strict\";var i=t(\"./reader/readerFor\"),s=t(\"./utils\"),n=t(\"./compressedObject\"),a=t(\"./crc32\"),o=t(\"./utf8\"),h=t(\"./compressions\"),u=t(\"./support\");function l(t,e){this.options=t,this.loadOptions=e}l.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(t){var e,r;if(t.skip(22),this.fileNameLength=t.readInt(2),r=t.readInt(2),this.fileName=t.readData(this.fileNameLength),t.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error(\"Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)\");if(null===(e=function(t){for(var e in h)if(h.hasOwnProperty(e)&&h[e].magic===t)return h[e];return null}(this.compressionMethod)))throw new Error(\"Corrupted zip : compression \"+s.pretty(this.compressionMethod)+\" unknown (inner file : \"+s.transformTo(\"string\",this.fileName)+\")\");this.decompressed=new n(this.compressedSize,this.uncompressedSize,this.crc32,e,t.readData(this.compressedSize))},readCentralPart:function(t){this.versionMadeBy=t.readInt(2),t.skip(2),this.bitFlag=t.readInt(2),this.compressionMethod=t.readString(2),this.date=t.readDate(),this.crc32=t.readInt(4),this.compressedSize=t.readInt(4),this.uncompressedSize=t.readInt(4);var e=t.readInt(2);if(this.extraFieldsLength=t.readInt(2),this.fileCommentLength=t.readInt(2),this.diskNumberStart=t.readInt(2),this.internalFileAttributes=t.readInt(2),this.externalFileAttributes=t.readInt(4),this.localHeaderOffset=t.readInt(4),this.isEncrypted())throw new Error(\"Encrypted zip are not supported\");t.skip(e),this.readExtraFields(t),this.parseZIP64ExtraField(t),this.fileComment=t.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var t=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==t&&(this.dosPermissions=63&this.externalFileAttributes),3==t&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||\"/\"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(t){if(this.extraFields[1]){var e=i(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(t){var e,r,i,n=t.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});t.index+4<n;)e=t.readInt(2),r=t.readInt(2),i=t.readData(r),this.extraFields[e]={id:e,length:r,value:i};t.setIndex(n)},handleUTF8:function(){var t=u.uint8array?\"uint8array\":\"array\";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var e=this.findExtraFieldUnicodePath();if(null!==e)this.fileNameStr=e;else{var r=s.transformTo(t,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var i=this.findExtraFieldUnicodeComment();if(null!==i)this.fileCommentStr=i;else{var n=s.transformTo(t,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(n)}}},findExtraFieldUnicodePath:function(){var t=this.extraFields[28789];if(t){var e=i(t.value);return 1!==e.readInt(1)?null:a(this.fileName)!==e.readInt(4)?null:o.utf8decode(e.readData(t.length-5))}return null},findExtraFieldUnicodeComment:function(){var t=this.extraFields[25461];if(t){var e=i(t.value);return 1!==e.readInt(1)?null:a(this.fileComment)!==e.readInt(4)?null:o.utf8decode(e.readData(t.length-5))}return null}},e.exports=l},{\"./compressedObject\":2,\"./compressions\":3,\"./crc32\":4,\"./reader/readerFor\":22,\"./support\":30,\"./utf8\":31,\"./utils\":32}],35:[function(t,e,r){\"use strict\";function i(t,e,r){this.name=t,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=e,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var s=t(\"./stream/StreamHelper\"),n=t(\"./stream/DataWorker\"),a=t(\"./utf8\"),o=t(\"./compressedObject\"),h=t(\"./stream/GenericWorker\");i.prototype={internalStream:function(t){var e=null,r=\"string\";try{if(!t)throw new Error(\"No output type specified.\");var i=\"string\"===(r=t.toLowerCase())||\"text\"===r;\"binarystring\"!==r&&\"text\"!==r||(r=\"string\"),e=this._decompressWorker();var n=!this._dataBinary;n&&!i&&(e=e.pipe(new a.Utf8EncodeWorker)),!n&&i&&(e=e.pipe(new a.Utf8DecodeWorker))}catch(t){(e=new h(\"error\")).error(t)}return new s(e,r,\"\")},async:function(t,e){return this.internalStream(t).accumulate(e)},nodeStream:function(t,e){return this.internalStream(t||\"nodebuffer\").toNodejsStream(e)},_compressWorker:function(t,e){if(this._data instanceof o&&this._data.compression.magic===t.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,t,e)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new n(this._data)}};for(var u=[\"asText\",\"asBinary\",\"asNodeBuffer\",\"asUint8Array\",\"asArrayBuffer\"],l=function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},f=0;f<u.length;f++)i.prototype[u[f]]=l;e.exports=i},{\"./compressedObject\":2,\"./stream/DataWorker\":27,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31}],36:[function(t,l,e){(function(e){\"use strict\";var r,i,t=e.MutationObserver||e.WebKitMutationObserver;if(t){var n=0,s=new t(u),a=e.document.createTextNode(\"\");s.observe(a,{characterData:!0}),r=function(){a.data=n=++n%2}}else if(e.setImmediate||void 0===e.MessageChannel)r=\"document\"in e&&\"onreadystatechange\"in e.document.createElement(\"script\")?function(){var t=e.document.createElement(\"script\");t.onreadystatechange=function(){u(),t.onreadystatechange=null,t.parentNode.removeChild(t),t=null},e.document.documentElement.appendChild(t)}:function(){setTimeout(u,0)};else{var o=new e.MessageChannel;o.port1.onmessage=u,r=function(){o.port2.postMessage(0)}}var h=[];function u(){var t,e;i=!0;for(var r=h.length;r;){for(e=h,h=[],t=-1;++t<r;)e[t]();r=h.length}i=!1}l.exports=function(t){1!==h.push(t)||i||r()}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],37:[function(t,e,r){\"use strict\";var n=t(\"immediate\");function u(){}var l={},s=[\"REJECTED\"],a=[\"FULFILLED\"],i=[\"PENDING\"];function o(t){if(\"function\"!=typeof t)throw new TypeError(\"resolver must be a function\");this.state=i,this.queue=[],this.outcome=void 0,t!==u&&c(this,t)}function h(t,e,r){this.promise=t,\"function\"==typeof e&&(this.onFulfilled=e,this.callFulfilled=this.otherCallFulfilled),\"function\"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function f(e,r,i){n(function(){var t;try{t=r(i)}catch(t){return l.reject(e,t)}t===e?l.reject(e,new TypeError(\"Cannot resolve promise with itself\")):l.resolve(e,t)})}function d(t){var e=t&&t.then;if(t&&(\"object\"==typeof t||\"function\"==typeof t)&&\"function\"==typeof e)return function(){e.apply(t,arguments)}}function c(e,t){var r=!1;function i(t){r||(r=!0,l.reject(e,t))}function n(t){r||(r=!0,l.resolve(e,t))}var s=p(function(){t(n,i)});\"error\"===s.status&&i(s.value)}function p(t,e){var r={};try{r.value=t(e),r.status=\"success\"}catch(t){r.status=\"error\",r.value=t}return r}(e.exports=o).prototype.finally=function(e){if(\"function\"!=typeof e)return this;var r=this.constructor;return this.then(function(t){return r.resolve(e()).then(function(){return t})},function(t){return r.resolve(e()).then(function(){throw t})})},o.prototype.catch=function(t){return this.then(null,t)},o.prototype.then=function(t,e){if(\"function\"!=typeof t&&this.state===a||\"function\"!=typeof e&&this.state===s)return this;var r=new this.constructor(u);this.state!==i?f(r,this.state===a?t:e,this.outcome):this.queue.push(new h(r,t,e));return r},h.prototype.callFulfilled=function(t){l.resolve(this.promise,t)},h.prototype.otherCallFulfilled=function(t){f(this.promise,this.onFulfilled,t)},h.prototype.callRejected=function(t){l.reject(this.promise,t)},h.prototype.otherCallRejected=function(t){f(this.promise,this.onRejected,t)},l.resolve=function(t,e){var r=p(d,e);if(\"error\"===r.status)return l.reject(t,r.value);var i=r.value;if(i)c(t,i);else{t.state=a,t.outcome=e;for(var n=-1,s=t.queue.length;++n<s;)t.queue[n].callFulfilled(e)}return t},l.reject=function(t,e){t.state=s,t.outcome=e;for(var r=-1,i=t.queue.length;++r<i;)t.queue[r].callRejected(e);return t},o.resolve=function(t){if(t instanceof this)return t;return l.resolve(new this(u),t)},o.reject=function(t){var e=new this(u);return l.reject(e,t)},o.all=function(t){var r=this;if(\"[object Array]\"!==Object.prototype.toString.call(t))return this.reject(new TypeError(\"must be an array\"));var i=t.length,n=!1;if(!i)return this.resolve([]);var s=new Array(i),a=0,e=-1,o=new this(u);for(;++e<i;)h(t[e],e);return o;function h(t,e){r.resolve(t).then(function(t){s[e]=t,++a!==i||n||(n=!0,l.resolve(o,s))},function(t){n||(n=!0,l.reject(o,t))})}},o.race=function(t){var e=this;if(\"[object Array]\"!==Object.prototype.toString.call(t))return this.reject(new TypeError(\"must be an array\"));var r=t.length,i=!1;if(!r)return this.resolve([]);var n=-1,s=new this(u);for(;++n<r;)a=t[n],e.resolve(a).then(function(t){i||(i=!0,l.resolve(s,t))},function(t){i||(i=!0,l.reject(s,t))});var a;return s}},{immediate:36}],38:[function(t,e,r){\"use strict\";var i={};(0,t(\"./lib/utils/common\").assign)(i,t(\"./lib/deflate\"),t(\"./lib/inflate\"),t(\"./lib/zlib/constants\")),e.exports=i},{\"./lib/deflate\":39,\"./lib/inflate\":40,\"./lib/utils/common\":41,\"./lib/zlib/constants\":44}],39:[function(t,e,r){\"use strict\";var a=t(\"./zlib/deflate\"),o=t(\"./utils/common\"),h=t(\"./utils/strings\"),n=t(\"./zlib/messages\"),s=t(\"./zlib/zstream\"),u=Object.prototype.toString,l=0,f=-1,d=0,c=8;function p(t){if(!(this instanceof p))return new p(t);this.options=o.assign({level:f,method:c,chunkSize:16384,windowBits:15,memLevel:8,strategy:d,to:\"\"},t||{});var e=this.options;e.raw&&0<e.windowBits?e.windowBits=-e.windowBits:e.gzip&&0<e.windowBits&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==l)throw new Error(n[r]);if(e.header&&a.deflateSetHeader(this.strm,e.header),e.dictionary){var i;if(i=\"string\"==typeof e.dictionary?h.string2buf(e.dictionary):\"[object ArrayBuffer]\"===u.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,(r=a.deflateSetDictionary(this.strm,i))!==l)throw new Error(n[r]);this._dict_set=!0}}function i(t,e){var r=new p(e);if(r.push(t,!0),r.err)throw r.msg||n[r.err];return r.result}p.prototype.push=function(t,e){var r,i,n=this.strm,s=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:!0===e?4:0,\"string\"==typeof t?n.input=h.string2buf(t):\"[object ArrayBuffer]\"===u.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;do{if(0===n.avail_out&&(n.output=new o.Buf8(s),n.next_out=0,n.avail_out=s),1!==(r=a.deflate(n,i))&&r!==l)return this.onEnd(r),!(this.ended=!0);0!==n.avail_out&&(0!==n.avail_in||4!==i&&2!==i)||(\"string\"===this.options.to?this.onData(h.buf2binstring(o.shrinkBuf(n.output,n.next_out))):this.onData(o.shrinkBuf(n.output,n.next_out)))}while((0<n.avail_in||0===n.avail_out)&&1!==r);return 4===i?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l):2!==i||(this.onEnd(l),!(n.avail_out=0))},p.prototype.onData=function(t){this.chunks.push(t)},p.prototype.onEnd=function(t){t===l&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},r.Deflate=p,r.deflate=i,r.deflateRaw=function(t,e){return(e=e||{}).raw=!0,i(t,e)},r.gzip=function(t,e){return(e=e||{}).gzip=!0,i(t,e)}},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/deflate\":46,\"./zlib/messages\":51,\"./zlib/zstream\":53}],40:[function(t,e,r){\"use strict\";var d=t(\"./zlib/inflate\"),c=t(\"./utils/common\"),p=t(\"./utils/strings\"),m=t(\"./zlib/constants\"),i=t(\"./zlib/messages\"),n=t(\"./zlib/zstream\"),s=t(\"./zlib/gzheader\"),_=Object.prototype.toString;function a(t){if(!(this instanceof a))return new a(t);this.options=c.assign({chunkSize:16384,windowBits:0,to:\"\"},t||{});var e=this.options;e.raw&&0<=e.windowBits&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(0<=e.windowBits&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),15<e.windowBits&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new n,this.strm.avail_out=0;var r=d.inflateInit2(this.strm,e.windowBits);if(r!==m.Z_OK)throw new Error(i[r]);this.header=new s,d.inflateGetHeader(this.strm,this.header)}function o(t,e){var r=new a(e);if(r.push(t,!0),r.err)throw r.msg||i[r.err];return r.result}a.prototype.push=function(t,e){var r,i,n,s,a,o,h=this.strm,u=this.options.chunkSize,l=this.options.dictionary,f=!1;if(this.ended)return!1;i=e===~~e?e:!0===e?m.Z_FINISH:m.Z_NO_FLUSH,\"string\"==typeof t?h.input=p.binstring2buf(t):\"[object ArrayBuffer]\"===_.call(t)?h.input=new Uint8Array(t):h.input=t,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new c.Buf8(u),h.next_out=0,h.avail_out=u),(r=d.inflate(h,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&l&&(o=\"string\"==typeof l?p.string2buf(l):\"[object ArrayBuffer]\"===_.call(l)?new Uint8Array(l):l,r=d.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===f&&(r=m.Z_OK,f=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);h.next_out&&(0!==h.avail_out&&r!==m.Z_STREAM_END&&(0!==h.avail_in||i!==m.Z_FINISH&&i!==m.Z_SYNC_FLUSH)||(\"string\"===this.options.to?(n=p.utf8border(h.output,h.next_out),s=h.next_out-n,a=p.buf2string(h.output,n),h.next_out=s,h.avail_out=u-s,s&&c.arraySet(h.output,h.output,n,s,0),this.onData(a)):this.onData(c.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(f=!0)}while((0<h.avail_in||0===h.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(i=m.Z_FINISH),i===m.Z_FINISH?(r=d.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):i!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(h.avail_out=0))},a.prototype.onData=function(t){this.chunks.push(t)},a.prototype.onEnd=function(t){t===m.Z_OK&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=c.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},r.Inflate=a,r.inflate=o,r.inflateRaw=function(t,e){return(e=e||{}).raw=!0,o(t,e)},r.ungzip=o},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/constants\":44,\"./zlib/gzheader\":47,\"./zlib/inflate\":49,\"./zlib/messages\":51,\"./zlib/zstream\":53}],41:[function(t,e,r){\"use strict\";var i=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Int32Array;r.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var r=e.shift();if(r){if(\"object\"!=typeof r)throw new TypeError(r+\"must be non-object\");for(var i in r)r.hasOwnProperty(i)&&(t[i]=r[i])}}return t},r.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,r,i,n){if(e.subarray&&t.subarray)t.set(e.subarray(r,r+i),n);else for(var s=0;s<i;s++)t[n+s]=e[r+s]},flattenChunks:function(t){var e,r,i,n,s,a;for(e=i=0,r=t.length;e<r;e++)i+=t[e].length;for(a=new Uint8Array(i),e=n=0,r=t.length;e<r;e++)s=t[e],a.set(s,n),n+=s.length;return a}},s={arraySet:function(t,e,r,i,n){for(var s=0;s<i;s++)t[n+s]=e[r+s]},flattenChunks:function(t){return[].concat.apply([],t)}};r.setTyped=function(t){t?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,n)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s))},r.setTyped(i)},{}],42:[function(t,e,r){\"use strict\";var h=t(\"./common\"),n=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(t){n=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){s=!1}for(var u=new h.Buf8(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;function l(t,e){if(e<65537&&(t.subarray&&s||!t.subarray&&n))return String.fromCharCode.apply(null,h.shrinkBuf(t,e));for(var r=\"\",i=0;i<e;i++)r+=String.fromCharCode(t[i]);return r}u[254]=u[254]=1,r.string2buf=function(t){var e,r,i,n,s,a=t.length,o=0;for(n=0;n<a;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),o+=r<128?1:r<2048?2:r<65536?3:4;for(e=new h.Buf8(o),n=s=0;s<o;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),r<128?e[s++]=r:(r<2048?e[s++]=192|r>>>6:(r<65536?e[s++]=224|r>>>12:(e[s++]=240|r>>>18,e[s++]=128|r>>>12&63),e[s++]=128|r>>>6&63),e[s++]=128|63&r);return e},r.buf2binstring=function(t){return l(t,t.length)},r.binstring2buf=function(t){for(var e=new h.Buf8(t.length),r=0,i=e.length;r<i;r++)e[r]=t.charCodeAt(r);return e},r.buf2string=function(t,e){var r,i,n,s,a=e||t.length,o=new Array(2*a);for(r=i=0;r<a;)if((n=t[r++])<128)o[i++]=n;else if(4<(s=u[n]))o[i++]=65533,r+=s-1;else{for(n&=2===s?31:3===s?15:7;1<s&&r<a;)n=n<<6|63&t[r++],s--;1<s?o[i++]=65533:n<65536?o[i++]=n:(n-=65536,o[i++]=55296|n>>10&1023,o[i++]=56320|1023&n)}return l(o,i)},r.utf8border=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0?e:0===r?e:r+u[t[r]]>e?r:e}},{\"./common\":41}],43:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,i){for(var n=65535&t|0,s=t>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(n=n+e[i++]|0)|0,--a;);n%=65521,s%=65521}return n|s<<16|0}},{}],44:[function(t,e,r){\"use strict\";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(t,e,r){\"use strict\";var o=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e}();e.exports=function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a<s;a++)t=t>>>8^n[255&(t^e[a])];return-1^t}},{}],46:[function(t,e,r){\"use strict\";var h,d=t(\"../utils/common\"),u=t(\"./trees\"),c=t(\"./adler32\"),p=t(\"./crc32\"),i=t(\"./messages\"),l=0,f=4,m=0,_=-2,g=-1,b=4,n=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(t,e){return t.msg=i[e],e}function T(t){return(t<<1)-(4<t?9:0)}function D(t){for(var e=t.length;0<=--e;)t[e]=0}function F(t){var e=t.state,r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(d.arraySet(t.output,e.pending_buf,e.pending_out,r,t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))}function N(t,e){u._tr_flush_block(t,0<=t.block_start?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,F(t.strm)}function U(t,e){t.pending_buf[t.pending++]=e}function P(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function L(t,e){var r,i,n=t.max_chain_length,s=t.strstart,a=t.prev_length,o=t.nice_match,h=t.strstart>t.w_size-z?t.strstart-(t.w_size-z):0,u=t.window,l=t.w_mask,f=t.prev,d=t.strstart+S,c=u[s+a-1],p=u[s+a];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(u[(r=e)+a]===p&&u[r+a-1]===c&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<d);if(i=S-(d-s),s=d-S,a<i){if(t.match_start=e,o<=(a=i))break;c=u[s+a-1],p=u[s+a]}}}while((e=f[e&l])>h&&0!=--n);return a<=t.lookahead?a:t.lookahead}function j(t){var e,r,i,n,s,a,o,h,u,l,f=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=f+(f-z)){for(d.arraySet(t.window,t.window,f,f,0),t.match_start-=f,t.strstart-=f,t.block_start-=f,e=r=t.hash_size;i=t.head[--e],t.head[e]=f<=i?i-f:0,--r;);for(e=r=f;i=t.prev[--e],t.prev[e]=f<=i?i-f:0,--r;);n+=f}if(0===t.strm.avail_in)break;if(a=t.strm,o=t.window,h=t.strstart+t.lookahead,u=n,l=void 0,l=a.avail_in,u<l&&(l=u),r=0===l?0:(a.avail_in-=l,d.arraySet(o,a.input,a.next_in,l,h),1===a.state.wrap?a.adler=c(a.adler,o,l,h):2===a.state.wrap&&(a.adler=p(a.adler,o,l,h)),a.next_in+=l,a.total_in+=l,l),t.lookahead+=r,t.lookahead+t.insert>=x)for(s=t.strstart-t.insert,t.ins_h=t.window[s],t.ins_h=(t.ins_h<<t.hash_shift^t.window[s+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[s+x-1])&t.hash_mask,t.prev[s&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=s,s++,t.insert--,!(t.lookahead+t.insert<x)););}while(t.lookahead<z&&0!==t.strm.avail_in)}function Z(t,e){for(var r,i;;){if(t.lookahead<z){if(j(t),t.lookahead<z&&e===l)return A;if(0===t.lookahead)break}if(r=0,t.lookahead>=x&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-z&&(t.match_length=L(t,r)),t.match_length>=x)if(i=u._tr_tally(t,t.strstart-t.match_start,t.match_length-x),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=x){for(t.match_length--;t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart,0!=--t.match_length;);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else i=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=t.strstart<x-1?t.strstart:x-1,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}function W(t,e){for(var r,i,n;;){if(t.lookahead<z){if(j(t),t.lookahead<z&&e===l)return A;if(0===t.lookahead)break}if(r=0,t.lookahead>=x&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=x-1,0!==r&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-z&&(t.match_length=L(t,r),t.match_length<=5&&(1===t.strategy||t.match_length===x&&4096<t.strstart-t.match_start)&&(t.match_length=x-1)),t.prev_length>=x&&t.match_length<=t.prev_length){for(n=t.strstart+t.lookahead-x,i=u._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-x),t.lookahead-=t.prev_length-1,t.prev_length-=2;++t.strstart<=n&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!=--t.prev_length;);if(t.match_available=0,t.match_length=x-1,t.strstart++,i&&(N(t,!1),0===t.strm.avail_out))return A}else if(t.match_available){if((i=u._tr_tally(t,0,t.window[t.strstart-1]))&&N(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return A}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=u._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<x-1?t.strstart:x-1,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}function M(t,e,r,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=i,this.func=n}function H(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new d.Buf16(2*w),this.dyn_dtree=new d.Buf16(2*(2*a+1)),this.bl_tree=new d.Buf16(2*(2*o+1)),D(this.dyn_ltree),D(this.dyn_dtree),D(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new d.Buf16(k+1),this.heap=new d.Buf16(2*s+1),D(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new d.Buf16(2*s+1),D(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function G(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=n,(e=t.state).pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?C:E,t.adler=2===e.wrap?0:1,e.last_flush=l,u._tr_init(e),m):R(t,_)}function K(t){var e=G(t);return e===m&&function(t){t.window_size=2*t.w_size,D(t.head),t.max_lazy_match=h[t.level].max_lazy,t.good_match=h[t.level].good_length,t.nice_match=h[t.level].nice_length,t.max_chain_length=h[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=x-1,t.match_available=0,t.ins_h=0}(t.state),e}function Y(t,e,r,i,n,s){if(!t)return _;var a=1;if(e===g&&(e=6),i<0?(a=0,i=-i):15<i&&(a=2,i-=16),n<1||y<n||r!==v||i<8||15<i||e<0||9<e||s<0||b<s)return R(t,_);8===i&&(i=9);var o=new H;return(t.state=o).strm=t,o.wrap=a,o.gzhead=null,o.w_bits=i,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=n+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+x-1)/x),o.window=new d.Buf8(2*o.w_size),o.head=new d.Buf16(o.hash_size),o.prev=new d.Buf16(o.w_size),o.lit_bufsize=1<<n+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new d.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=e,o.strategy=s,o.method=r,K(t)}h=[new M(0,0,0,0,function(t,e){var r=65535;for(r>t.pending_buf_size-5&&(r=t.pending_buf_size-5);;){if(t.lookahead<=1){if(j(t),0===t.lookahead&&e===l)return A;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+r;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,N(t,!1),0===t.strm.avail_out))return A;if(t.strstart-t.block_start>=t.w_size-z&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):(t.strstart>t.block_start&&(N(t,!1),t.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(t,e){return Y(t,e,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?_:(t.state.gzhead=e,m):_},r.deflate=function(t,e){var r,i,n,s;if(!t||!t.state||5<e||e<0)return t?R(t,_):_;if(i=t.state,!t.output||!t.input&&0!==t.avail_in||666===i.status&&e!==f)return R(t,0===t.avail_out?-5:_);if(i.strm=t,r=i.last_flush,i.last_flush=e,i.status===C)if(2===i.wrap)t.adler=0,U(i,31),U(i,139),U(i,8),i.gzhead?(U(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),U(i,255&i.gzhead.time),U(i,i.gzhead.time>>8&255),U(i,i.gzhead.time>>16&255),U(i,i.gzhead.time>>24&255),U(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),U(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(U(i,255&i.gzhead.extra.length),U(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=p(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(U(i,0),U(i,0),U(i,0),U(i,0),U(i,0),U(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),U(i,3),i.status=E);else{var a=v+(i.w_bits-8<<4)<<8;a|=(2<=i.strategy||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(a|=32),a+=31-a%31,i.status=E,P(i,a),0!==i.strstart&&(P(i,t.adler>>>16),P(i,65535&t.adler)),t.adler=1}if(69===i.status)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending!==i.pending_buf_size));)U(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,U(i,s)}while(0!==s);i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,U(i,s)}while(0!==s);i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.status=103)}else i.status=103;if(103===i.status&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&F(t),i.pending+2<=i.pending_buf_size&&(U(i,255&t.adler),U(i,t.adler>>8&255),t.adler=0,i.status=E)):i.status=E),0!==i.pending){if(F(t),0===t.avail_out)return i.last_flush=-1,m}else if(0===t.avail_in&&T(e)<=T(r)&&e!==f)return R(t,-5);if(666===i.status&&0!==t.avail_in)return R(t,-5);if(0!==t.avail_in||0!==i.lookahead||e!==l&&666!==i.status){var o=2===i.strategy?function(t,e){for(var r;;){if(0===t.lookahead&&(j(t),0===t.lookahead)){if(e===l)return A;break}if(t.match_length=0,r=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}(i,e):3===i.strategy?function(t,e){for(var r,i,n,s,a=t.window;;){if(t.lookahead<=S){if(j(t),t.lookahead<=S&&e===l)return A;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=x&&0<t.strstart&&(i=a[n=t.strstart-1])===a[++n]&&i===a[++n]&&i===a[++n]){s=t.strstart+S;do{}while(i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&n<s);t.match_length=S-(s-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=x?(r=u._tr_tally(t,1,t.match_length-x),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}(i,e):h[i.level].func(i,e);if(o!==O&&o!==B||(i.status=666),o===A||o===O)return 0===t.avail_out&&(i.last_flush=-1),m;if(o===I&&(1===e?u._tr_align(i):5!==e&&(u._tr_stored_block(i,0,0,!1),3===e&&(D(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),F(t),0===t.avail_out))return i.last_flush=-1,m}return e!==f?m:i.wrap<=0?1:(2===i.wrap?(U(i,255&t.adler),U(i,t.adler>>8&255),U(i,t.adler>>16&255),U(i,t.adler>>24&255),U(i,255&t.total_in),U(i,t.total_in>>8&255),U(i,t.total_in>>16&255),U(i,t.total_in>>24&255)):(P(i,t.adler>>>16),P(i,65535&t.adler)),F(t),0<i.wrap&&(i.wrap=-i.wrap),0!==i.pending?m:1)},r.deflateEnd=function(t){var e;return t&&t.state?(e=t.state.status)!==C&&69!==e&&73!==e&&91!==e&&103!==e&&e!==E&&666!==e?R(t,_):(t.state=null,e===E?R(t,-3):m):_},r.deflateSetDictionary=function(t,e){var r,i,n,s,a,o,h,u,l=e.length;if(!t||!t.state)return _;if(2===(s=(r=t.state).wrap)||1===s&&r.status!==C||r.lookahead)return _;for(1===s&&(t.adler=c(t.adler,e,l,0)),r.wrap=0,l>=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new d.Buf8(r.w_size),d.arraySet(u,e,l-r.w_size,r.w_size,0),e=u,l=r.w_size),a=t.avail_in,o=t.next_in,h=t.input,t.avail_in=l,t.next_in=0,t.input=e,j(r);r.lookahead>=x;){for(i=r.strstart,n=r.lookahead-(x-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[i+x-1])&r.hash_mask,r.prev[i&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=i,i++,--n;);r.strstart=i,r.lookahead=x-1,j(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=x-1,r.match_available=0,t.next_in=o,t.input=h,t.avail_in=a,r.wrap=s,m},r.deflateInfo=\"pako deflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./messages\":51,\"./trees\":52}],47:[function(t,e,r){\"use strict\";e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=\"\",this.comment=\"\",this.hcrc=0,this.done=!1}},{}],48:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,i,n,s,a,o,h,u,l,f,d,c,p,m,_,g,b,v,y,w,k,x,S,z,C;r=t.state,i=t.next_in,z=t.input,n=i+(t.avail_in-5),s=t.next_out,C=t.output,a=s-(e-t.avail_out),o=s+(t.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,d=r.window,c=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;t:do{p<15&&(c+=z[i++]<<p,p+=8,c+=z[i++]<<p,p+=8),v=m[c&g];e:for(;;){if(c>>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(c&(1<<y)-1)];continue e}if(32&y){r.mode=12;break t}t.msg=\"invalid literal/length code\",r.mode=30;break t}w=65535&v,(y&=15)&&(p<y&&(c+=z[i++]<<p,p+=8),w+=c&(1<<y)-1,c>>>=y,p-=y),p<15&&(c+=z[i++]<<p,p+=8,c+=z[i++]<<p,p+=8),v=_[c&b];r:for(;;){if(c>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(c&(1<<y)-1)];continue r}t.msg=\"invalid distance code\",r.mode=30;break t}if(k=65535&v,p<(y&=15)&&(c+=z[i++]<<p,(p+=8)<y&&(c+=z[i++]<<p,p+=8)),h<(k+=c&(1<<y)-1)){t.msg=\"invalid distance too far back\",r.mode=30;break t}if(c>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){t.msg=\"invalid distance too far back\",r.mode=30;break t}if(S=d,(x=0)===f){if(x+=u-y,y<w){for(w-=y;C[s++]=d[x++],--y;);x=s-k,S=C}}else if(f<y){if(x+=u+f-y,(y-=f)<w){for(w-=y;C[s++]=d[x++],--y;);if(x=0,f<w){for(w-=y=f;C[s++]=d[x++],--y;);x=s-k,S=C}}}else if(x+=f-y,y<w){for(w-=y;C[s++]=d[x++],--y;);x=s-k,S=C}for(;2<w;)C[s++]=S[x++],C[s++]=S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]))}else{for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]))}break}}break}}while(i<n&&s<o);i-=w=p>>3,c&=(1<<(p-=w<<3))-1,t.next_in=i,t.next_out=s,t.avail_in=i<n?n-i+5:5-(i-n),t.avail_out=s<o?o-s+257:257-(s-o),r.hold=c,r.bits=p}},{}],49:[function(t,e,r){\"use strict\";var I=t(\"../utils/common\"),O=t(\"./adler32\"),B=t(\"./crc32\"),R=t(\"./inffast\"),T=t(\"./inftrees\"),D=1,F=2,N=0,U=-2,P=1,i=852,n=592;function L(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg=\"\",e.wrap&&(t.adler=1&e.wrap),e.mode=P,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new I.Buf32(i),e.distcode=e.distdyn=new I.Buf32(n),e.sane=1,e.back=-1,N):U}function o(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,a(t)):U}function h(t,e){var r,i;return t&&t.state?(i=t.state,e<0?(r=0,e=-e):(r=1+(e>>4),e<48&&(e&=15)),e&&(e<8||15<e)?U:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=r,i.wbits=e,o(t))):U}function u(t,e){var r,i;return t?(i=new s,(t.state=i).window=null,(r=h(t,e))!==N&&(t.state=null),r):U}var l,f,d=!0;function j(t){if(d){var e;for(l=new I.Buf32(512),f=new I.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(T(D,t.lens,0,288,l,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;T(F,t.lens,0,32,f,0,t.work,{bits:5}),d=!1}t.lencode=l,t.lenbits=9,t.distcode=f,t.distbits=5}function Z(t,e,r,i){var n,s=t.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),i>=s.wsize?(I.arraySet(s.window,e,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(i<(n=s.wsize-s.wnext)&&(n=i),I.arraySet(s.window,e,r-i,n,s.wnext),(i-=n)?(I.arraySet(s.window,e,r-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=n))),0}r.inflateReset=o,r.inflateReset2=h,r.inflateResetKeep=a,r.inflateInit=function(t){return u(t,15)},r.inflateInit2=u,r.inflate=function(t,e){var r,i,n,s,a,o,h,u,l,f,d,c,p,m,_,g,b,v,y,w,k,x,S,z,C=0,E=new I.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return U;12===(r=t.state).mode&&(r.mode=13),a=t.next_out,n=t.output,h=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,u=r.hold,l=r.bits,f=o,d=h,x=N;t:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;break}for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(2&r.wrap&&35615===u){E[r.check=0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg=\"incorrect header check\",r.mode=30;break}if(8!=(15&u)){t.msg=\"unknown compression method\",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){t.msg=\"invalid window size\",r.mode=30;break}r.dmax=1<<k,t.adler=r.check=1,r.mode=512&u?10:12,l=u=0;break;case 2:for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(r.flags=u,8!=(255&r.flags)){t.msg=\"unknown compression method\",r.mode=30;break}if(57344&r.flags){t.msg=\"unknown header flags set\",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(c=r.length)&&(c=o),c&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,i,s,c,k)),512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,r.length-=c),r.length))break t;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break t;for(c=0;k=i[s+c++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&c<o;);if(512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,k)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break t;for(c=0;k=i[s+c++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&c<o;);if(512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,k)break t}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(u!==(65535&r.check)){t.msg=\"header crc mismatch\",r.mode=30;break}l=u=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}t.adler=r.check=L(u),l=u=0,r.mode=11;case 11:if(0===r.havedict)return t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,2;t.adler=r.check=1,r.mode=12;case 12:if(5===e||6===e)break t;case 13:if(r.last){u>>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}switch(r.last=1&u,l-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==e)break;u>>>=2,l-=2;break t;case 2:r.mode=17;break;case 3:t.msg=\"invalid block type\",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){t.msg=\"invalid stored block lengths\",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===e)break t;case 15:r.mode=16;case 16:if(c=r.length){if(o<c&&(c=o),h<c&&(c=h),0===c)break t;I.arraySet(n,i,s,c,a),o-=c,s+=c,h-=c,a+=c,r.length-=c;break}r.mode=12;break;case 17:for(;l<14;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286<r.nlen||30<r.ndist){t.msg=\"too many length or distance symbols\",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;l<3;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.lens[A[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){t.msg=\"invalid code lengths set\",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(b<16)u>>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(u>>>=_,l-=_,0===r.have){t.msg=\"invalid bit length repeat\",r.mode=30;break}k=r.lens[r.have-1],c=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}l-=_,k=0,c=3+(7&(u>>>=_)),u>>>=3,l-=3}else{for(z=_+7;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}l-=_,k=0,c=11+(127&(u>>>=_)),u>>>=7,l-=7}if(r.have+c>r.nlen+r.ndist){t.msg=\"invalid bit length repeat\",r.mode=30;break}for(;c--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){t.msg=\"invalid code -- missing end-of-block\",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){t.msg=\"invalid literal/lengths set\",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){t.msg=\"invalid distances set\",r.mode=30;break}if(r.mode=20,6===e)break t;case 20:r.mode=21;case 21:if(6<=o&&258<=h){t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,R(t,d),a=t.next_out,n=t.output,h=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(g&&0==(240&g)){for(v=_,y=g,w=b;g=(C=r.lencode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){t.msg=\"invalid literal/length code\",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<<r.distbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(0==(240&g)){for(v=_,y=g,w=b;g=(C=r.distcode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){t.msg=\"invalid distance code\",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg=\"invalid distance too far back\",r.mode=30;break}r.mode=25;case 25:if(0===h)break t;if(c=d-h,r.offset>c){if((c=r.offset-c)>r.whave&&r.sane){t.msg=\"invalid distance too far back\",r.mode=30;break}p=c>r.wnext?(c-=r.wnext,r.wsize-c):r.wnext-c,c>r.length&&(c=r.length),m=r.window}else m=n,p=a-r.offset,c=r.length;for(h<c&&(c=h),h-=c,r.length-=c;n[a++]=m[p++],--c;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break t;n[a++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;l<32;){if(0===o)break t;o--,u|=i[s++]<<l,l+=8}if(d-=h,t.total_out+=d,r.total+=d,d&&(t.adler=r.check=r.flags?B(r.check,n,d,a-d):O(r.check,n,d,a-d)),d=h,(r.flags?u:L(u))!==r.check){t.msg=\"incorrect data check\",r.mode=30;break}l=u=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(u!==(4294967295&r.total)){t.msg=\"incorrect length check\",r.mode=30;break}l=u=0}r.mode=29;case 29:x=1;break t;case 30:x=-3;break t;case 31:return-4;case 32:default:return U}return t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,(r.wsize||d!==t.avail_out&&r.mode<30&&(r.mode<27||4!==e))&&Z(t,t.output,t.next_out,d-t.avail_out)?(r.mode=31,-4):(f-=t.avail_in,d-=t.avail_out,t.total_in+=f,t.total_out+=d,r.total+=d,r.wrap&&d&&(t.adler=r.check=r.flags?B(r.check,n,d,t.next_out-d):O(r.check,n,d,t.next_out-d)),t.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==f&&0===d||4===e)&&x===N&&(x=-5),x)},r.inflateEnd=function(t){if(!t||!t.state)return U;var e=t.state;return e.window&&(e.window=null),t.state=null,N},r.inflateGetHeader=function(t,e){var r;return t&&t.state?0==(2&(r=t.state).wrap)?U:((r.head=e).done=!1,N):U},r.inflateSetDictionary=function(t,e){var r,i=e.length;return t&&t.state?0!==(r=t.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,e,i,0)!==r.check?-3:Z(t,e,i,i)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo=\"pako inflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./inffast\":48,\"./inftrees\":50}],50:[function(t,e,r){\"use strict\";var D=t(\"../utils/common\"),F=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],N=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],U=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],P=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(t,e,r,i,n,s,a,o){var h,u,l,f,d,c,p,m,_,g=o.bits,b=0,v=0,y=0,w=0,k=0,x=0,S=0,z=0,C=0,E=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),R=null,T=0;for(b=0;b<=15;b++)O[b]=0;for(v=0;v<i;v++)O[e[r+v]]++;for(k=g,w=15;1<=w&&0===O[w];w--);if(w<k&&(k=w),0===w)return n[s++]=20971520,n[s++]=20971520,o.bits=1,0;for(y=1;y<w&&0===O[y];y++);for(k<y&&(k=y),b=z=1;b<=15;b++)if(z<<=1,(z-=O[b])<0)return-1;if(0<z&&(0===t||1!==w))return-1;for(B[1]=0,b=1;b<15;b++)B[b+1]=B[b]+O[b];for(v=0;v<i;v++)0!==e[r+v]&&(a[B[e[r+v]]++]=v);if(c=0===t?(A=R=a,19):1===t?(A=F,I-=257,R=N,T-=257,256):(A=U,R=P,-1),b=y,d=s,S=v=E=0,l=-1,f=(C=1<<(x=k))-1,1===t&&852<C||2===t&&592<C)return 1;for(;;){for(p=b-S,_=a[v]<c?(m=0,a[v]):a[v]>c?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<<b-S,y=u=1<<x;n[d+(E>>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<<b-1;E&h;)h>>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=e[r+a[v]]}if(k<b&&(E&f)!==l){for(0===S&&(S=k),d+=y,z=1<<(x=b-S);x+S<w&&!((z-=O[x+S])<=0);)x++,z<<=1;if(C+=1<<x,1===t&&852<C||2===t&&592<C)return 1;n[l=E&f]=k<<24|x<<16|d-s|0}}return 0!==E&&(n[d+E]=b-S<<24|64<<16|0),o.bits=k,0}},{\"../utils/common\":41}],51:[function(t,e,r){\"use strict\";e.exports={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"}},{}],52:[function(t,e,r){\"use strict\";var n=t(\"../utils/common\"),o=0,h=1;function i(t){for(var e=t.length;0<=--e;)t[e]=0}var s=0,a=29,u=256,l=u+1+a,f=30,d=19,_=2*l+1,g=15,c=16,p=7,m=256,b=16,v=17,y=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],z=new Array(2*(l+2));i(z);var C=new Array(2*f);i(C);var E=new Array(512);i(E);var A=new Array(256);i(A);var I=new Array(a);i(I);var O,B,R,T=new Array(f);function D(t,e,r,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}function F(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function N(t){return t<256?E[t]:E[256+(t>>>7)]}function U(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function P(t,e,r){t.bi_valid>c-r?(t.bi_buf|=e<<t.bi_valid&65535,U(t,t.bi_buf),t.bi_buf=e>>c-t.bi_valid,t.bi_valid+=r-c):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=r)}function L(t,e,r){P(t,r[2*e],r[2*e+1])}function j(t,e){for(var r=0;r|=1&t,t>>>=1,r<<=1,0<--e;);return r>>>1}function Z(t,e,r){var i,n,s=new Array(g+1),a=0;for(i=1;i<=g;i++)s[i]=a=a+r[i-1]<<1;for(n=0;n<=e;n++){var o=t[2*n+1];0!==o&&(t[2*n]=j(s[o]++,o))}}function W(t){var e;for(e=0;e<l;e++)t.dyn_ltree[2*e]=0;for(e=0;e<f;e++)t.dyn_dtree[2*e]=0;for(e=0;e<d;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*m]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function M(t){8<t.bi_valid?U(t,t.bi_buf):0<t.bi_valid&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function H(t,e,r,i){var n=2*e,s=2*r;return t[n]<t[s]||t[n]===t[s]&&i[e]<=i[r]}function G(t,e,r){for(var i=t.heap[r],n=r<<1;n<=t.heap_len&&(n<t.heap_len&&H(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!H(e,i,t.heap[n],t.depth));)t.heap[r]=t.heap[n],r=n,n<<=1;t.heap[r]=i}function K(t,e,r){var i,n,s,a,o=0;if(0!==t.last_lit)for(;i=t.pending_buf[t.d_buf+2*o]<<8|t.pending_buf[t.d_buf+2*o+1],n=t.pending_buf[t.l_buf+o],o++,0===i?L(t,n,e):(L(t,(s=A[n])+u+1,e),0!==(a=w[s])&&P(t,n-=I[s],a),L(t,s=N(--i),r),0!==(a=k[s])&&P(t,i-=T[s],a)),o<t.last_lit;);L(t,m,e)}function Y(t,e){var r,i,n,s=e.dyn_tree,a=e.stat_desc.static_tree,o=e.stat_desc.has_stree,h=e.stat_desc.elems,u=-1;for(t.heap_len=0,t.heap_max=_,r=0;r<h;r++)0!==s[2*r]?(t.heap[++t.heap_len]=u=r,t.depth[r]=0):s[2*r+1]=0;for(;t.heap_len<2;)s[2*(n=t.heap[++t.heap_len]=u<2?++u:0)]=1,t.depth[n]=0,t.opt_len--,o&&(t.static_len-=a[2*n+1]);for(e.max_code=u,r=t.heap_len>>1;1<=r;r--)G(t,s,r);for(n=h;r=t.heap[1],t.heap[1]=t.heap[t.heap_len--],G(t,s,1),i=t.heap[1],t.heap[--t.heap_max]=r,t.heap[--t.heap_max]=i,s[2*n]=s[2*r]+s[2*i],t.depth[n]=(t.depth[r]>=t.depth[i]?t.depth[r]:t.depth[i])+1,s[2*r+1]=s[2*i+1]=n,t.heap[1]=n++,G(t,s,1),2<=t.heap_len;);t.heap[--t.heap_max]=t.heap[1],function(t,e){var r,i,n,s,a,o,h=e.dyn_tree,u=e.max_code,l=e.stat_desc.static_tree,f=e.stat_desc.has_stree,d=e.stat_desc.extra_bits,c=e.stat_desc.extra_base,p=e.stat_desc.max_length,m=0;for(s=0;s<=g;s++)t.bl_count[s]=0;for(h[2*t.heap[t.heap_max]+1]=0,r=t.heap_max+1;r<_;r++)p<(s=h[2*h[2*(i=t.heap[r])+1]+1]+1)&&(s=p,m++),h[2*i+1]=s,u<i||(t.bl_count[s]++,a=0,c<=i&&(a=d[i-c]),o=h[2*i],t.opt_len+=o*(s+a),f&&(t.static_len+=o*(l[2*i+1]+a)));if(0!==m){do{for(s=p-1;0===t.bl_count[s];)s--;t.bl_count[s]--,t.bl_count[s+1]+=2,t.bl_count[p]--,m-=2}while(0<m);for(s=p;0!==s;s--)for(i=t.bl_count[s];0!==i;)u<(n=t.heap[--r])||(h[2*n+1]!==s&&(t.opt_len+=(s-h[2*n+1])*h[2*n],h[2*n+1]=s),i--)}}(t,e),Z(s,u,t.bl_count)}function X(t,e,r){var i,n,s=-1,a=e[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),e[2*(r+1)+1]=65535,i=0;i<=r;i++)n=a,a=e[2*(i+1)+1],++o<h&&n===a||(o<u?t.bl_tree[2*n]+=o:0!==n?(n!==s&&t.bl_tree[2*n]++,t.bl_tree[2*b]++):o<=10?t.bl_tree[2*v]++:t.bl_tree[2*y]++,s=n,u=(o=0)===a?(h=138,3):n===a?(h=6,3):(h=7,4))}function V(t,e,r){var i,n,s=-1,a=e[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),i=0;i<=r;i++)if(n=a,a=e[2*(i+1)+1],!(++o<h&&n===a)){if(o<u)for(;L(t,n,t.bl_tree),0!=--o;);else 0!==n?(n!==s&&(L(t,n,t.bl_tree),o--),L(t,b,t.bl_tree),P(t,o-3,2)):o<=10?(L(t,v,t.bl_tree),P(t,o-3,3)):(L(t,y,t.bl_tree),P(t,o-11,7));s=n,u=(o=0)===a?(h=138,3):n===a?(h=6,3):(h=7,4)}}i(T);var q=!1;function J(t,e,r,i){P(t,(s<<1)+(i?1:0),3),function(t,e,r,i){M(t),i&&(U(t,r),U(t,~r)),n.arraySet(t.pending_buf,t.window,e,r,t.pending),t.pending+=r}(t,e,r,!0)}r._tr_init=function(t){q||(function(){var t,e,r,i,n,s=new Array(g+1);for(i=r=0;i<a-1;i++)for(I[i]=r,t=0;t<1<<w[i];t++)A[r++]=i;for(A[r-1]=i,i=n=0;i<16;i++)for(T[i]=n,t=0;t<1<<k[i];t++)E[n++]=i;for(n>>=7;i<f;i++)for(T[i]=n<<7,t=0;t<1<<k[i]-7;t++)E[256+n++]=i;for(e=0;e<=g;e++)s[e]=0;for(t=0;t<=143;)z[2*t+1]=8,t++,s[8]++;for(;t<=255;)z[2*t+1]=9,t++,s[9]++;for(;t<=279;)z[2*t+1]=7,t++,s[7]++;for(;t<=287;)z[2*t+1]=8,t++,s[8]++;for(Z(z,l+1,s),t=0;t<f;t++)C[2*t+1]=5,C[2*t]=j(t,5);O=new D(z,w,u+1,l,g),B=new D(C,k,0,f,g),R=new D(new Array(0),x,0,d,p)}(),q=!0),t.l_desc=new F(t.dyn_ltree,O),t.d_desc=new F(t.dyn_dtree,B),t.bl_desc=new F(t.bl_tree,R),t.bi_buf=0,t.bi_valid=0,W(t)},r._tr_stored_block=J,r._tr_flush_block=function(t,e,r,i){var n,s,a=0;0<t.level?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return o;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return h;for(e=32;e<u;e++)if(0!==t.dyn_ltree[2*e])return h;return o}(t)),Y(t,t.l_desc),Y(t,t.d_desc),a=function(t){var e;for(X(t,t.dyn_ltree,t.l_desc.max_code),X(t,t.dyn_dtree,t.d_desc.max_code),Y(t,t.bl_desc),e=d-1;3<=e&&0===t.bl_tree[2*S[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),n=t.opt_len+3+7>>>3,(s=t.static_len+3+7>>>3)<=n&&(n=s)):n=s=r+5,r+4<=n&&-1!==e?J(t,e,r,i):4===t.strategy||s===n?(P(t,2+(i?1:0),3),K(t,z,C)):(P(t,4+(i?1:0),3),function(t,e,r,i){var n;for(P(t,e-257,5),P(t,r-1,5),P(t,i-4,4),n=0;n<i;n++)P(t,t.bl_tree[2*S[n]+1],3);V(t,t.dyn_ltree,e-1),V(t,t.dyn_dtree,r-1)}(t,t.l_desc.max_code+1,t.d_desc.max_code+1,a+1),K(t,t.dyn_ltree,t.dyn_dtree)),W(t),i&&M(t)},r._tr_tally=function(t,e,r){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&r,t.last_lit++,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(A[r]+u+1)]++,t.dyn_dtree[2*N(e)]++),t.last_lit===t.lit_bufsize-1},r._tr_align=function(t){P(t,2,3),L(t,m,z),function(t){16===t.bi_valid?(U(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):8<=t.bi_valid&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},{\"../utils/common\":41}],53:[function(t,e,r){\"use strict\";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,e,r){\"use strict\";e.exports=\"function\"==typeof setImmediate?setImmediate:function(){var t=[].slice.apply(arguments);t.splice(1,0,0),setTimeout.apply(null,t)}},{}]},{},[10])(10)});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(6).Buffer, __webpack_require__(4), __webpack_require__(60).setImmediate))\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar file_1 = __webpack_require__(12);\r\nexports.Document = file_1.File;\r\n__export(__webpack_require__(12));\r\n__export(__webpack_require__(352));\r\n__export(__webpack_require__(360));\r\n__export(__webpack_require__(44));\r\n\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst base_1 = __webpack_require__(25);\r\nexports.EMPTY_OBJECT = Object.seal({});\r\nclass XmlComponent extends base_1.BaseXmlComponent {\r\n constructor(rootKey) {\r\n super(rootKey);\r\n this.root = new Array();\r\n }\r\n prepForXml(file) {\r\n const children = this.root\r\n .filter((c) => {\r\n if (c instanceof base_1.BaseXmlComponent) {\r\n return !c.IsDeleted;\r\n }\r\n return c !== undefined;\r\n })\r\n .map((comp) => {\r\n if (comp instanceof base_1.BaseXmlComponent) {\r\n return comp.prepForXml(file);\r\n }\r\n return comp;\r\n })\r\n .filter((comp) => comp !== undefined);\r\n const onlyAttrs = (c) => typeof c === \"object\" && c._attr;\r\n return {\r\n [this.rootKey]: children.length ? (children.length === 1 && onlyAttrs(children[0]) ? children[0] : children) : exports.EMPTY_OBJECT,\r\n };\r\n }\r\n addChildElement(child) {\r\n this.root.push(child);\r\n return this;\r\n }\r\n delete() {\r\n this.deleted = true;\r\n }\r\n}\r\nexports.XmlComponent = XmlComponent;\r\nclass IgnoreIfEmptyXmlComponent extends XmlComponent {\r\n prepForXml() {\r\n const result = super.prepForXml();\r\n if (result && (typeof result[this.rootKey] !== \"object\" || Object.keys(result[this.rootKey]).length)) {\r\n return result;\r\n }\r\n }\r\n}\r\nexports.IgnoreIfEmptyXmlComponent = IgnoreIfEmptyXmlComponent;\r\n\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst default_attributes_1 = __webpack_require__(53);\r\nclass Attributes extends default_attributes_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n val: \"w:val\",\r\n color: \"w:color\",\r\n fill: \"w:fill\",\r\n space: \"w:space\",\r\n sz: \"w:sz\",\r\n type: \"w:type\",\r\n rsidR: \"w:rsidR\",\r\n rsidRPr: \"w:rsidRPr\",\r\n rsidSect: \"w:rsidSect\",\r\n w: \"w:w\",\r\n h: \"w:h\",\r\n top: \"w:top\",\r\n right: \"w:right\",\r\n bottom: \"w:bottom\",\r\n left: \"w:left\",\r\n header: \"w:header\",\r\n footer: \"w:footer\",\r\n gutter: \"w:gutter\",\r\n linePitch: \"w:linePitch\",\r\n pos: \"w:pos\",\r\n };\r\n }\r\n}\r\nexports.Attributes = Attributes;\r\n\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_js_1 = __webpack_require__(26);\r\nconst _1 = __webpack_require__(0);\r\nfunction convertToXmlComponent(element) {\r\n switch (element.type) {\r\n case undefined:\r\n case \"element\":\r\n const xmlComponent = new ImportedXmlComponent(element.name, element.attributes);\r\n const childElments = element.elements || [];\r\n for (const childElm of childElments) {\r\n const child = convertToXmlComponent(childElm);\r\n if (child !== undefined) {\r\n xmlComponent.push(child);\r\n }\r\n }\r\n return xmlComponent;\r\n case \"text\":\r\n return element.text;\r\n default:\r\n return undefined;\r\n }\r\n}\r\nexports.convertToXmlComponent = convertToXmlComponent;\r\nclass ImportedXmlComponentAttributes extends _1.XmlAttributeComponent {\r\n}\r\nclass ImportedXmlComponent extends _1.XmlComponent {\r\n static fromXmlString(importedContent) {\r\n const xmlObj = xml_js_1.xml2js(importedContent, { compact: false });\r\n return convertToXmlComponent(xmlObj);\r\n }\r\n constructor(rootKey, _attr) {\r\n super(rootKey);\r\n if (_attr) {\r\n this.root.push(new ImportedXmlComponentAttributes(_attr));\r\n }\r\n }\r\n push(xmlComponent) {\r\n this.root.push(xmlComponent);\r\n }\r\n}\r\nexports.ImportedXmlComponent = ImportedXmlComponent;\r\nclass ImportedRootElementAttributes extends _1.XmlComponent {\r\n constructor(_attr) {\r\n super(\"\");\r\n this._attr = _attr;\r\n }\r\n prepForXml() {\r\n return {\r\n _attr: this._attr,\r\n };\r\n }\r\n}\r\nexports.ImportedRootElementAttributes = ImportedRootElementAttributes;\r\n\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(Buffer) {;(function (sax) { // wrapper for non-node envs\n sax.parser = function (strict, opt) { return new SAXParser(strict, opt) }\n sax.SAXParser = SAXParser\n sax.SAXStream = SAXStream\n sax.createStream = createStream\n\n // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n // since that's the earliest that a buffer overrun could occur. This way, checks are\n // as rare as required, but as often as necessary to ensure never crossing this bound.\n // Furthermore, buffers are only tested at most once per write(), so passing a very\n // large string into write() might have undesirable effects, but this is manageable by\n // the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme\n // edge case, result in creating at most one complete copy of the string passed in.\n // Set to Infinity to have unlimited buffers.\n sax.MAX_BUFFER_LENGTH = 64 * 1024\n\n var buffers = [\n 'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype',\n 'procInstName', 'procInstBody', 'entity', 'attribName',\n 'attribValue', 'cdata', 'script'\n ]\n\n sax.EVENTS = [\n 'text',\n 'processinginstruction',\n 'sgmldeclaration',\n 'doctype',\n 'comment',\n 'opentagstart',\n 'attribute',\n 'opentag',\n 'closetag',\n 'opencdata',\n 'cdata',\n 'closecdata',\n 'error',\n 'end',\n 'ready',\n 'script',\n 'opennamespace',\n 'closenamespace'\n ]\n\n function SAXParser (strict, opt) {\n if (!(this instanceof SAXParser)) {\n return new SAXParser(strict, opt)\n }\n\n var parser = this\n clearBuffers(parser)\n parser.q = parser.c = ''\n parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH\n parser.opt = opt || {}\n parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags\n parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'\n parser.tags = []\n parser.closed = parser.closedRoot = parser.sawRoot = false\n parser.tag = parser.error = null\n parser.strict = !!strict\n parser.noscript = !!(strict || parser.opt.noscript)\n parser.state = S.BEGIN\n parser.strictEntities = parser.opt.strictEntities\n parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES)\n parser.attribList = []\n\n // namespaces form a prototype chain.\n // it always points at the current tag,\n // which protos to its parent tag.\n if (parser.opt.xmlns) {\n parser.ns = Object.create(rootNS)\n }\n\n // mostly just for error reporting\n parser.trackPosition = parser.opt.position !== false\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0\n }\n emit(parser, 'onready')\n }\n\n if (!Object.create) {\n Object.create = function (o) {\n function F () {}\n F.prototype = o\n var newf = new F()\n return newf\n }\n }\n\n if (!Object.keys) {\n Object.keys = function (o) {\n var a = []\n for (var i in o) if (o.hasOwnProperty(i)) a.push(i)\n return a\n }\n }\n\n function checkBufferLength (parser) {\n var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)\n var maxActual = 0\n for (var i = 0, l = buffers.length; i < l; i++) {\n var len = parser[buffers[i]].length\n if (len > maxAllowed) {\n // Text/cdata nodes can get big, and since they're buffered,\n // we can get here under normal conditions.\n // Avoid issues by emitting the text node now,\n // so at least it won't get any bigger.\n switch (buffers[i]) {\n case 'textNode':\n closeText(parser)\n break\n\n case 'cdata':\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n break\n\n case 'script':\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n break\n\n default:\n error(parser, 'Max buffer length exceeded: ' + buffers[i])\n }\n }\n maxActual = Math.max(maxActual, len)\n }\n // schedule the next check for the earliest possible buffer overrun.\n var m = sax.MAX_BUFFER_LENGTH - maxActual\n parser.bufferCheckPosition = m + parser.position\n }\n\n function clearBuffers (parser) {\n for (var i = 0, l = buffers.length; i < l; i++) {\n parser[buffers[i]] = ''\n }\n }\n\n function flushBuffers (parser) {\n closeText(parser)\n if (parser.cdata !== '') {\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n }\n if (parser.script !== '') {\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n }\n\n SAXParser.prototype = {\n end: function () { end(this) },\n write: write,\n resume: function () { this.error = null; return this },\n close: function () { return this.write(null) },\n flush: function () { flushBuffers(this) }\n }\n\n var Stream\n try {\n Stream = __webpack_require__(56).Stream\n } catch (ex) {\n Stream = function () {}\n }\n\n var streamWraps = sax.EVENTS.filter(function (ev) {\n return ev !== 'error' && ev !== 'end'\n })\n\n function createStream (strict, opt) {\n return new SAXStream(strict, opt)\n }\n\n function SAXStream (strict, opt) {\n if (!(this instanceof SAXStream)) {\n return new SAXStream(strict, opt)\n }\n\n Stream.apply(this)\n\n this._parser = new SAXParser(strict, opt)\n this.writable = true\n this.readable = true\n\n var me = this\n\n this._parser.onend = function () {\n me.emit('end')\n }\n\n this._parser.onerror = function (er) {\n me.emit('error', er)\n\n // if didn't throw, then means error was handled.\n // go ahead and clear error, so we can write again.\n me._parser.error = null\n }\n\n this._decoder = null\n\n streamWraps.forEach(function (ev) {\n Object.defineProperty(me, 'on' + ev, {\n get: function () {\n return me._parser['on' + ev]\n },\n set: function (h) {\n if (!h) {\n me.removeAllListeners(ev)\n me._parser['on' + ev] = h\n return h\n }\n me.on(ev, h)\n },\n enumerable: true,\n configurable: false\n })\n })\n }\n\n SAXStream.prototype = Object.create(Stream.prototype, {\n constructor: {\n value: SAXStream\n }\n })\n\n SAXStream.prototype.write = function (data) {\n if (typeof Buffer === 'function' &&\n typeof Buffer.isBuffer === 'function' &&\n Buffer.isBuffer(data)) {\n if (!this._decoder) {\n var SD = __webpack_require__(30).StringDecoder\n this._decoder = new SD('utf8')\n }\n data = this._decoder.write(data)\n }\n\n this._parser.write(data.toString())\n this.emit('data', data)\n return true\n }\n\n SAXStream.prototype.end = function (chunk) {\n if (chunk && chunk.length) {\n this.write(chunk)\n }\n this._parser.end()\n return true\n }\n\n SAXStream.prototype.on = function (ev, handler) {\n var me = this\n if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) {\n me._parser['on' + ev] = function () {\n var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments)\n args.splice(0, 0, ev)\n me.emit.apply(me, args)\n }\n }\n\n return Stream.prototype.on.call(me, ev, handler)\n }\n\n // this really needs to be replaced with character classes.\n // XML allows all manner of ridiculous numbers and digits.\n var CDATA = '[CDATA['\n var DOCTYPE = 'DOCTYPE'\n var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'\n var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'\n var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }\n\n // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n // This implementation works on strings, a single character at a time\n // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n // without a significant breaking change to either this parser, or the\n // JavaScript language. Implementation of an emoji-capable xml parser\n // is left as an exercise for the reader.\n var nameStart = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n\n var nameBody = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n var entityStart = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n var entityBody = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n function isWhitespace (c) {\n return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t'\n }\n\n function isQuote (c) {\n return c === '\"' || c === '\\''\n }\n\n function isAttribEnd (c) {\n return c === '>' || isWhitespace(c)\n }\n\n function isMatch (regex, c) {\n return regex.test(c)\n }\n\n function notMatch (regex, c) {\n return !isMatch(regex, c)\n }\n\n var S = 0\n sax.STATE = {\n BEGIN: S++, // leading byte order mark or whitespace\n BEGIN_WHITESPACE: S++, // leading whitespace\n TEXT: S++, // general stuff\n TEXT_ENTITY: S++, // & and such.\n OPEN_WAKA: S++, // <\n SGML_DECL: S++, // <!BLARG\n SGML_DECL_QUOTED: S++, // <!BLARG foo \"bar\n DOCTYPE: S++, // <!DOCTYPE\n DOCTYPE_QUOTED: S++, // <!DOCTYPE \"//blah\n DOCTYPE_DTD: S++, // <!DOCTYPE \"//blah\" [ ...\n DOCTYPE_DTD_QUOTED: S++, // <!DOCTYPE \"//blah\" [ \"foo\n COMMENT_STARTING: S++, // <!-\n COMMENT: S++, // <!--\n COMMENT_ENDING: S++, // <!-- blah -\n COMMENT_ENDED: S++, // <!-- blah --\n CDATA: S++, // <![CDATA[ something\n CDATA_ENDING: S++, // ]\n CDATA_ENDING_2: S++, // ]]\n PROC_INST: S++, // <?hi\n PROC_INST_BODY: S++, // <?hi there\n PROC_INST_ENDING: S++, // <?hi \"there\" ?\n OPEN_TAG: S++, // <strong\n OPEN_TAG_SLASH: S++, // <strong /\n ATTRIB: S++, // <a\n ATTRIB_NAME: S++, // <a foo\n ATTRIB_NAME_SAW_WHITE: S++, // <a foo _\n ATTRIB_VALUE: S++, // <a foo=\n ATTRIB_VALUE_QUOTED: S++, // <a foo=\"bar\n ATTRIB_VALUE_CLOSED: S++, // <a foo=\"bar\"\n ATTRIB_VALUE_UNQUOTED: S++, // <a foo=bar\n ATTRIB_VALUE_ENTITY_Q: S++, // <foo bar=\""\"\n ATTRIB_VALUE_ENTITY_U: S++, // <foo bar="\n CLOSE_TAG: S++, // </a\n CLOSE_TAG_SAW_WHITE: S++, // </a >\n SCRIPT: S++, // <script> ...\n SCRIPT_ENDING: S++ // <script> ... <\n }\n\n sax.XML_ENTITIES = {\n 'amp': '&',\n 'gt': '>',\n 'lt': '<',\n 'quot': '\"',\n 'apos': \"'\"\n }\n\n sax.ENTITIES = {\n 'amp': '&',\n 'gt': '>',\n 'lt': '<',\n 'quot': '\"',\n 'apos': \"'\",\n 'AElig': 198,\n 'Aacute': 193,\n 'Acirc': 194,\n 'Agrave': 192,\n 'Aring': 197,\n 'Atilde': 195,\n 'Auml': 196,\n 'Ccedil': 199,\n 'ETH': 208,\n 'Eacute': 201,\n 'Ecirc': 202,\n 'Egrave': 200,\n 'Euml': 203,\n 'Iacute': 205,\n 'Icirc': 206,\n 'Igrave': 204,\n 'Iuml': 207,\n 'Ntilde': 209,\n 'Oacute': 211,\n 'Ocirc': 212,\n 'Ograve': 210,\n 'Oslash': 216,\n 'Otilde': 213,\n 'Ouml': 214,\n 'THORN': 222,\n 'Uacute': 218,\n 'Ucirc': 219,\n 'Ugrave': 217,\n 'Uuml': 220,\n 'Yacute': 221,\n 'aacute': 225,\n 'acirc': 226,\n 'aelig': 230,\n 'agrave': 224,\n 'aring': 229,\n 'atilde': 227,\n 'auml': 228,\n 'ccedil': 231,\n 'eacute': 233,\n 'ecirc': 234,\n 'egrave': 232,\n 'eth': 240,\n 'euml': 235,\n 'iacute': 237,\n 'icirc': 238,\n 'igrave': 236,\n 'iuml': 239,\n 'ntilde': 241,\n 'oacute': 243,\n 'ocirc': 244,\n 'ograve': 242,\n 'oslash': 248,\n 'otilde': 245,\n 'ouml': 246,\n 'szlig': 223,\n 'thorn': 254,\n 'uacute': 250,\n 'ucirc': 251,\n 'ugrave': 249,\n 'uuml': 252,\n 'yacute': 253,\n 'yuml': 255,\n 'copy': 169,\n 'reg': 174,\n 'nbsp': 160,\n 'iexcl': 161,\n 'cent': 162,\n 'pound': 163,\n 'curren': 164,\n 'yen': 165,\n 'brvbar': 166,\n 'sect': 167,\n 'uml': 168,\n 'ordf': 170,\n 'laquo': 171,\n 'not': 172,\n 'shy': 173,\n 'macr': 175,\n 'deg': 176,\n 'plusmn': 177,\n 'sup1': 185,\n 'sup2': 178,\n 'sup3': 179,\n 'acute': 180,\n 'micro': 181,\n 'para': 182,\n 'middot': 183,\n 'cedil': 184,\n 'ordm': 186,\n 'raquo': 187,\n 'frac14': 188,\n 'frac12': 189,\n 'frac34': 190,\n 'iquest': 191,\n 'times': 215,\n 'divide': 247,\n 'OElig': 338,\n 'oelig': 339,\n 'Scaron': 352,\n 'scaron': 353,\n 'Yuml': 376,\n 'fnof': 402,\n 'circ': 710,\n 'tilde': 732,\n 'Alpha': 913,\n 'Beta': 914,\n 'Gamma': 915,\n 'Delta': 916,\n 'Epsilon': 917,\n 'Zeta': 918,\n 'Eta': 919,\n 'Theta': 920,\n 'Iota': 921,\n 'Kappa': 922,\n 'Lambda': 923,\n 'Mu': 924,\n 'Nu': 925,\n 'Xi': 926,\n 'Omicron': 927,\n 'Pi': 928,\n 'Rho': 929,\n 'Sigma': 931,\n 'Tau': 932,\n 'Upsilon': 933,\n 'Phi': 934,\n 'Chi': 935,\n 'Psi': 936,\n 'Omega': 937,\n 'alpha': 945,\n 'beta': 946,\n 'gamma': 947,\n 'delta': 948,\n 'epsilon': 949,\n 'zeta': 950,\n 'eta': 951,\n 'theta': 952,\n 'iota': 953,\n 'kappa': 954,\n 'lambda': 955,\n 'mu': 956,\n 'nu': 957,\n 'xi': 958,\n 'omicron': 959,\n 'pi': 960,\n 'rho': 961,\n 'sigmaf': 962,\n 'sigma': 963,\n 'tau': 964,\n 'upsilon': 965,\n 'phi': 966,\n 'chi': 967,\n 'psi': 968,\n 'omega': 969,\n 'thetasym': 977,\n 'upsih': 978,\n 'piv': 982,\n 'ensp': 8194,\n 'emsp': 8195,\n 'thinsp': 8201,\n 'zwnj': 8204,\n 'zwj': 8205,\n 'lrm': 8206,\n 'rlm': 8207,\n 'ndash': 8211,\n 'mdash': 8212,\n 'lsquo': 8216,\n 'rsquo': 8217,\n 'sbquo': 8218,\n 'ldquo': 8220,\n 'rdquo': 8221,\n 'bdquo': 8222,\n 'dagger': 8224,\n 'Dagger': 8225,\n 'bull': 8226,\n 'hellip': 8230,\n 'permil': 8240,\n 'prime': 8242,\n 'Prime': 8243,\n 'lsaquo': 8249,\n 'rsaquo': 8250,\n 'oline': 8254,\n 'frasl': 8260,\n 'euro': 8364,\n 'image': 8465,\n 'weierp': 8472,\n 'real': 8476,\n 'trade': 8482,\n 'alefsym': 8501,\n 'larr': 8592,\n 'uarr': 8593,\n 'rarr': 8594,\n 'darr': 8595,\n 'harr': 8596,\n 'crarr': 8629,\n 'lArr': 8656,\n 'uArr': 8657,\n 'rArr': 8658,\n 'dArr': 8659,\n 'hArr': 8660,\n 'forall': 8704,\n 'part': 8706,\n 'exist': 8707,\n 'empty': 8709,\n 'nabla': 8711,\n 'isin': 8712,\n 'notin': 8713,\n 'ni': 8715,\n 'prod': 8719,\n 'sum': 8721,\n 'minus': 8722,\n 'lowast': 8727,\n 'radic': 8730,\n 'prop': 8733,\n 'infin': 8734,\n 'ang': 8736,\n 'and': 8743,\n 'or': 8744,\n 'cap': 8745,\n 'cup': 8746,\n 'int': 8747,\n 'there4': 8756,\n 'sim': 8764,\n 'cong': 8773,\n 'asymp': 8776,\n 'ne': 8800,\n 'equiv': 8801,\n 'le': 8804,\n 'ge': 8805,\n 'sub': 8834,\n 'sup': 8835,\n 'nsub': 8836,\n 'sube': 8838,\n 'supe': 8839,\n 'oplus': 8853,\n 'otimes': 8855,\n 'perp': 8869,\n 'sdot': 8901,\n 'lceil': 8968,\n 'rceil': 8969,\n 'lfloor': 8970,\n 'rfloor': 8971,\n 'lang': 9001,\n 'rang': 9002,\n 'loz': 9674,\n 'spades': 9824,\n 'clubs': 9827,\n 'hearts': 9829,\n 'diams': 9830\n }\n\n Object.keys(sax.ENTITIES).forEach(function (key) {\n var e = sax.ENTITIES[key]\n var s = typeof e === 'number' ? String.fromCharCode(e) : e\n sax.ENTITIES[key] = s\n })\n\n for (var s in sax.STATE) {\n sax.STATE[sax.STATE[s]] = s\n }\n\n // shorthand\n S = sax.STATE\n\n function emit (parser, event, data) {\n parser[event] && parser[event](data)\n }\n\n function emitNode (parser, nodeType, data) {\n if (parser.textNode) closeText(parser)\n emit(parser, nodeType, data)\n }\n\n function closeText (parser) {\n parser.textNode = textopts(parser.opt, parser.textNode)\n if (parser.textNode) emit(parser, 'ontext', parser.textNode)\n parser.textNode = ''\n }\n\n function textopts (opt, text) {\n if (opt.trim) text = text.trim()\n if (opt.normalize) text = text.replace(/\\s+/g, ' ')\n return text\n }\n\n function error (parser, er) {\n closeText(parser)\n if (parser.trackPosition) {\n er += '\\nLine: ' + parser.line +\n '\\nColumn: ' + parser.column +\n '\\nChar: ' + parser.c\n }\n er = new Error(er)\n parser.error = er\n emit(parser, 'onerror', er)\n return parser\n }\n\n function end (parser) {\n if (parser.sawRoot && !parser.closedRoot) strictFail(parser, 'Unclosed root tag')\n if ((parser.state !== S.BEGIN) &&\n (parser.state !== S.BEGIN_WHITESPACE) &&\n (parser.state !== S.TEXT)) {\n error(parser, 'Unexpected end')\n }\n closeText(parser)\n parser.c = ''\n parser.closed = true\n emit(parser, 'onend')\n SAXParser.call(parser, parser.strict, parser.opt)\n return parser\n }\n\n function strictFail (parser, message) {\n if (typeof parser !== 'object' || !(parser instanceof SAXParser)) {\n throw new Error('bad call to strictFail')\n }\n if (parser.strict) {\n error(parser, message)\n }\n }\n\n function newTag (parser) {\n if (!parser.strict) parser.tagName = parser.tagName[parser.looseCase]()\n var parent = parser.tags[parser.tags.length - 1] || parser\n var tag = parser.tag = { name: parser.tagName, attributes: {} }\n\n // will be overridden if tag contails an xmlns=\"foo\" or xmlns:foo=\"bar\"\n if (parser.opt.xmlns) {\n tag.ns = parent.ns\n }\n parser.attribList.length = 0\n emitNode(parser, 'onopentagstart', tag)\n }\n\n function qname (name, attribute) {\n var i = name.indexOf(':')\n var qualName = i < 0 ? [ '', name ] : name.split(':')\n var prefix = qualName[0]\n var local = qualName[1]\n\n // <x \"xmlns\"=\"http://foo\">\n if (attribute && name === 'xmlns') {\n prefix = 'xmlns'\n local = ''\n }\n\n return { prefix: prefix, local: local }\n }\n\n function attrib (parser) {\n if (!parser.strict) {\n parser.attribName = parser.attribName[parser.looseCase]()\n }\n\n if (parser.attribList.indexOf(parser.attribName) !== -1 ||\n parser.tag.attributes.hasOwnProperty(parser.attribName)) {\n parser.attribName = parser.attribValue = ''\n return\n }\n\n if (parser.opt.xmlns) {\n var qn = qname(parser.attribName, true)\n var prefix = qn.prefix\n var local = qn.local\n\n if (prefix === 'xmlns') {\n // namespace binding attribute. push the binding into scope\n if (local === 'xml' && parser.attribValue !== XML_NAMESPACE) {\n strictFail(parser,\n 'xml: prefix must be bound to ' + XML_NAMESPACE + '\\n' +\n 'Actual: ' + parser.attribValue)\n } else if (local === 'xmlns' && parser.attribValue !== XMLNS_NAMESPACE) {\n strictFail(parser,\n 'xmlns: prefix must be bound to ' + XMLNS_NAMESPACE + '\\n' +\n 'Actual: ' + parser.attribValue)\n } else {\n var tag = parser.tag\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (tag.ns === parent.ns) {\n tag.ns = Object.create(parent.ns)\n }\n tag.ns[local] = parser.attribValue\n }\n }\n\n // defer onattribute events until all attributes have been seen\n // so any new bindings can take effect. preserve attribute order\n // so deferred events can be emitted in document order\n parser.attribList.push([parser.attribName, parser.attribValue])\n } else {\n // in non-xmlns mode, we can emit the event right away\n parser.tag.attributes[parser.attribName] = parser.attribValue\n emitNode(parser, 'onattribute', {\n name: parser.attribName,\n value: parser.attribValue\n })\n }\n\n parser.attribName = parser.attribValue = ''\n }\n\n function openTag (parser, selfClosing) {\n if (parser.opt.xmlns) {\n // emit namespace binding events\n var tag = parser.tag\n\n // add namespace info to tag\n var qn = qname(parser.tagName)\n tag.prefix = qn.prefix\n tag.local = qn.local\n tag.uri = tag.ns[qn.prefix] || ''\n\n if (tag.prefix && !tag.uri) {\n strictFail(parser, 'Unbound namespace prefix: ' +\n JSON.stringify(parser.tagName))\n tag.uri = qn.prefix\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (tag.ns && parent.ns !== tag.ns) {\n Object.keys(tag.ns).forEach(function (p) {\n emitNode(parser, 'onopennamespace', {\n prefix: p,\n uri: tag.ns[p]\n })\n })\n }\n\n // handle deferred onattribute events\n // Note: do not apply default ns to attributes:\n // http://www.w3.org/TR/REC-xml-names/#defaulting\n for (var i = 0, l = parser.attribList.length; i < l; i++) {\n var nv = parser.attribList[i]\n var name = nv[0]\n var value = nv[1]\n var qualName = qname(name, true)\n var prefix = qualName.prefix\n var local = qualName.local\n var uri = prefix === '' ? '' : (tag.ns[prefix] || '')\n var a = {\n name: name,\n value: value,\n prefix: prefix,\n local: local,\n uri: uri\n }\n\n // if there's any attributes with an undefined namespace,\n // then fail on them now.\n if (prefix && prefix !== 'xmlns' && !uri) {\n strictFail(parser, 'Unbound namespace prefix: ' +\n JSON.stringify(prefix))\n a.uri = prefix\n }\n parser.tag.attributes[name] = a\n emitNode(parser, 'onattribute', a)\n }\n parser.attribList.length = 0\n }\n\n parser.tag.isSelfClosing = !!selfClosing\n\n // process the tag\n parser.sawRoot = true\n parser.tags.push(parser.tag)\n emitNode(parser, 'onopentag', parser.tag)\n if (!selfClosing) {\n // special case for <script> in non-strict mode.\n if (!parser.noscript && parser.tagName.toLowerCase() === 'script') {\n parser.state = S.SCRIPT\n } else {\n parser.state = S.TEXT\n }\n parser.tag = null\n parser.tagName = ''\n }\n parser.attribName = parser.attribValue = ''\n parser.attribList.length = 0\n }\n\n function closeTag (parser) {\n if (!parser.tagName) {\n strictFail(parser, 'Weird empty close tag.')\n parser.textNode += '</>'\n parser.state = S.TEXT\n return\n }\n\n if (parser.script) {\n if (parser.tagName !== 'script') {\n parser.script += '</' + parser.tagName + '>'\n parser.tagName = ''\n parser.state = S.SCRIPT\n return\n }\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n\n // first make sure that the closing tag actually exists.\n // <a><b></c></b></a> will close everything, otherwise.\n var t = parser.tags.length\n var tagName = parser.tagName\n if (!parser.strict) {\n tagName = tagName[parser.looseCase]()\n }\n var closeTo = tagName\n while (t--) {\n var close = parser.tags[t]\n if (close.name !== closeTo) {\n // fail the first time in strict mode\n strictFail(parser, 'Unexpected close tag')\n } else {\n break\n }\n }\n\n // didn't find it. we already failed for strict, so just abort.\n if (t < 0) {\n strictFail(parser, 'Unmatched closing tag: ' + parser.tagName)\n parser.textNode += '</' + parser.tagName + '>'\n parser.state = S.TEXT\n return\n }\n parser.tagName = tagName\n var s = parser.tags.length\n while (s-- > t) {\n var tag = parser.tag = parser.tags.pop()\n parser.tagName = parser.tag.name\n emitNode(parser, 'onclosetag', parser.tagName)\n\n var x = {}\n for (var i in tag.ns) {\n x[i] = tag.ns[i]\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (parser.opt.xmlns && tag.ns !== parent.ns) {\n // remove namespace bindings introduced by tag\n Object.keys(tag.ns).forEach(function (p) {\n var n = tag.ns[p]\n emitNode(parser, 'onclosenamespace', { prefix: p, uri: n })\n })\n }\n }\n if (t === 0) parser.closedRoot = true\n parser.tagName = parser.attribValue = parser.attribName = ''\n parser.attribList.length = 0\n parser.state = S.TEXT\n }\n\n function parseEntity (parser) {\n var entity = parser.entity\n var entityLC = entity.toLowerCase()\n var num\n var numStr = ''\n\n if (parser.ENTITIES[entity]) {\n return parser.ENTITIES[entity]\n }\n if (parser.ENTITIES[entityLC]) {\n return parser.ENTITIES[entityLC]\n }\n entity = entityLC\n if (entity.charAt(0) === '#') {\n if (entity.charAt(1) === 'x') {\n entity = entity.slice(2)\n num = parseInt(entity, 16)\n numStr = num.toString(16)\n } else {\n entity = entity.slice(1)\n num = parseInt(entity, 10)\n numStr = num.toString(10)\n }\n }\n entity = entity.replace(/^0+/, '')\n if (isNaN(num) || numStr.toLowerCase() !== entity) {\n strictFail(parser, 'Invalid character entity')\n return '&' + parser.entity + ';'\n }\n\n return String.fromCodePoint(num)\n }\n\n function beginWhiteSpace (parser, c) {\n if (c === '<') {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else if (!isWhitespace(c)) {\n // have to process this as a text node.\n // weird, but happens.\n strictFail(parser, 'Non-whitespace before first tag.')\n parser.textNode = c\n parser.state = S.TEXT\n }\n }\n\n function charAt (chunk, i) {\n var result = ''\n if (i < chunk.length) {\n result = chunk.charAt(i)\n }\n return result\n }\n\n function write (chunk) {\n var parser = this\n if (this.error) {\n throw this.error\n }\n if (parser.closed) {\n return error(parser,\n 'Cannot write after close. Assign an onready handler.')\n }\n if (chunk === null) {\n return end(parser)\n }\n if (typeof chunk === 'object') {\n chunk = chunk.toString()\n }\n var i = 0\n var c = ''\n while (true) {\n c = charAt(chunk, i++)\n parser.c = c\n\n if (!c) {\n break\n }\n\n if (parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n\n switch (parser.state) {\n case S.BEGIN:\n parser.state = S.BEGIN_WHITESPACE\n if (c === '\\uFEFF') {\n continue\n }\n beginWhiteSpace(parser, c)\n continue\n\n case S.BEGIN_WHITESPACE:\n beginWhiteSpace(parser, c)\n continue\n\n case S.TEXT:\n if (parser.sawRoot && !parser.closedRoot) {\n var starti = i - 1\n while (c && c !== '<' && c !== '&') {\n c = charAt(chunk, i++)\n if (c && parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n }\n parser.textNode += chunk.substring(starti, i - 1)\n }\n if (c === '<' && !(parser.sawRoot && parser.closedRoot && !parser.strict)) {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else {\n if (!isWhitespace(c) && (!parser.sawRoot || parser.closedRoot)) {\n strictFail(parser, 'Text data outside of root node.')\n }\n if (c === '&') {\n parser.state = S.TEXT_ENTITY\n } else {\n parser.textNode += c\n }\n }\n continue\n\n case S.SCRIPT:\n // only non-strict\n if (c === '<') {\n parser.state = S.SCRIPT_ENDING\n } else {\n parser.script += c\n }\n continue\n\n case S.SCRIPT_ENDING:\n if (c === '/') {\n parser.state = S.CLOSE_TAG\n } else {\n parser.script += '<' + c\n parser.state = S.SCRIPT\n }\n continue\n\n case S.OPEN_WAKA:\n // either a /, ?, !, or text is coming next.\n if (c === '!') {\n parser.state = S.SGML_DECL\n parser.sgmlDecl = ''\n } else if (isWhitespace(c)) {\n // wait for it...\n } else if (isMatch(nameStart, c)) {\n parser.state = S.OPEN_TAG\n parser.tagName = c\n } else if (c === '/') {\n parser.state = S.CLOSE_TAG\n parser.tagName = ''\n } else if (c === '?') {\n parser.state = S.PROC_INST\n parser.procInstName = parser.procInstBody = ''\n } else {\n strictFail(parser, 'Unencoded <')\n // if there was some whitespace, then add that in.\n if (parser.startTagPosition + 1 < parser.position) {\n var pad = parser.position - parser.startTagPosition\n c = new Array(pad).join(' ') + c\n }\n parser.textNode += '<' + c\n parser.state = S.TEXT\n }\n continue\n\n case S.SGML_DECL:\n if ((parser.sgmlDecl + c).toUpperCase() === CDATA) {\n emitNode(parser, 'onopencdata')\n parser.state = S.CDATA\n parser.sgmlDecl = ''\n parser.cdata = ''\n } else if (parser.sgmlDecl + c === '--') {\n parser.state = S.COMMENT\n parser.comment = ''\n parser.sgmlDecl = ''\n } else if ((parser.sgmlDecl + c).toUpperCase() === DOCTYPE) {\n parser.state = S.DOCTYPE\n if (parser.doctype || parser.sawRoot) {\n strictFail(parser,\n 'Inappropriately located doctype declaration')\n }\n parser.doctype = ''\n parser.sgmlDecl = ''\n } else if (c === '>') {\n emitNode(parser, 'onsgmldeclaration', parser.sgmlDecl)\n parser.sgmlDecl = ''\n parser.state = S.TEXT\n } else if (isQuote(c)) {\n parser.state = S.SGML_DECL_QUOTED\n parser.sgmlDecl += c\n } else {\n parser.sgmlDecl += c\n }\n continue\n\n case S.SGML_DECL_QUOTED:\n if (c === parser.q) {\n parser.state = S.SGML_DECL\n parser.q = ''\n }\n parser.sgmlDecl += c\n continue\n\n case S.DOCTYPE:\n if (c === '>') {\n parser.state = S.TEXT\n emitNode(parser, 'ondoctype', parser.doctype)\n parser.doctype = true // just remember that we saw it.\n } else {\n parser.doctype += c\n if (c === '[') {\n parser.state = S.DOCTYPE_DTD\n } else if (isQuote(c)) {\n parser.state = S.DOCTYPE_QUOTED\n parser.q = c\n }\n }\n continue\n\n case S.DOCTYPE_QUOTED:\n parser.doctype += c\n if (c === parser.q) {\n parser.q = ''\n parser.state = S.DOCTYPE\n }\n continue\n\n case S.DOCTYPE_DTD:\n parser.doctype += c\n if (c === ']') {\n parser.state = S.DOCTYPE\n } else if (isQuote(c)) {\n parser.state = S.DOCTYPE_DTD_QUOTED\n parser.q = c\n }\n continue\n\n case S.DOCTYPE_DTD_QUOTED:\n parser.doctype += c\n if (c === parser.q) {\n parser.state = S.DOCTYPE_DTD\n parser.q = ''\n }\n continue\n\n case S.COMMENT:\n if (c === '-') {\n parser.state = S.COMMENT_ENDING\n } else {\n parser.comment += c\n }\n continue\n\n case S.COMMENT_ENDING:\n if (c === '-') {\n parser.state = S.COMMENT_ENDED\n parser.comment = textopts(parser.opt, parser.comment)\n if (parser.comment) {\n emitNode(parser, 'oncomment', parser.comment)\n }\n parser.comment = ''\n } else {\n parser.comment += '-' + c\n parser.state = S.COMMENT\n }\n continue\n\n case S.COMMENT_ENDED:\n if (c !== '>') {\n strictFail(parser, 'Malformed comment')\n // allow <!-- blah -- bloo --> in non-strict mode,\n // which is a comment of \" blah -- bloo \"\n parser.comment += '--' + c\n parser.state = S.COMMENT\n } else {\n parser.state = S.TEXT\n }\n continue\n\n case S.CDATA:\n if (c === ']') {\n parser.state = S.CDATA_ENDING\n } else {\n parser.cdata += c\n }\n continue\n\n case S.CDATA_ENDING:\n if (c === ']') {\n parser.state = S.CDATA_ENDING_2\n } else {\n parser.cdata += ']' + c\n parser.state = S.CDATA\n }\n continue\n\n case S.CDATA_ENDING_2:\n if (c === '>') {\n if (parser.cdata) {\n emitNode(parser, 'oncdata', parser.cdata)\n }\n emitNode(parser, 'onclosecdata')\n parser.cdata = ''\n parser.state = S.TEXT\n } else if (c === ']') {\n parser.cdata += ']'\n } else {\n parser.cdata += ']]' + c\n parser.state = S.CDATA\n }\n continue\n\n case S.PROC_INST:\n if (c === '?') {\n parser.state = S.PROC_INST_ENDING\n } else if (isWhitespace(c)) {\n parser.state = S.PROC_INST_BODY\n } else {\n parser.procInstName += c\n }\n continue\n\n case S.PROC_INST_BODY:\n if (!parser.procInstBody && isWhitespace(c)) {\n continue\n } else if (c === '?') {\n parser.state = S.PROC_INST_ENDING\n } else {\n parser.procInstBody += c\n }\n continue\n\n case S.PROC_INST_ENDING:\n if (c === '>') {\n emitNode(parser, 'onprocessinginstruction', {\n name: parser.procInstName,\n body: parser.procInstBody\n })\n parser.procInstName = parser.procInstBody = ''\n parser.state = S.TEXT\n } else {\n parser.procInstBody += '?' + c\n parser.state = S.PROC_INST_BODY\n }\n continue\n\n case S.OPEN_TAG:\n if (isMatch(nameBody, c)) {\n parser.tagName += c\n } else {\n newTag(parser)\n if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, 'Invalid character in tag name')\n }\n parser.state = S.ATTRIB\n }\n }\n continue\n\n case S.OPEN_TAG_SLASH:\n if (c === '>') {\n openTag(parser, true)\n closeTag(parser)\n } else {\n strictFail(parser, 'Forward-slash in opening tag not followed by >')\n parser.state = S.ATTRIB\n }\n continue\n\n case S.ATTRIB:\n // haven't read the attribute name yet.\n if (isWhitespace(c)) {\n continue\n } else if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c\n parser.attribValue = ''\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_NAME:\n if (c === '=') {\n parser.state = S.ATTRIB_VALUE\n } else if (c === '>') {\n strictFail(parser, 'Attribute without value')\n parser.attribValue = parser.attribName\n attrib(parser)\n openTag(parser)\n } else if (isWhitespace(c)) {\n parser.state = S.ATTRIB_NAME_SAW_WHITE\n } else if (isMatch(nameBody, c)) {\n parser.attribName += c\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_NAME_SAW_WHITE:\n if (c === '=') {\n parser.state = S.ATTRIB_VALUE\n } else if (isWhitespace(c)) {\n continue\n } else {\n strictFail(parser, 'Attribute without value')\n parser.tag.attributes[parser.attribName] = ''\n parser.attribValue = ''\n emitNode(parser, 'onattribute', {\n name: parser.attribName,\n value: ''\n })\n parser.attribName = ''\n if (c === '>') {\n openTag(parser)\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n parser.state = S.ATTRIB\n }\n }\n continue\n\n case S.ATTRIB_VALUE:\n if (isWhitespace(c)) {\n continue\n } else if (isQuote(c)) {\n parser.q = c\n parser.state = S.ATTRIB_VALUE_QUOTED\n } else {\n strictFail(parser, 'Unquoted attribute value')\n parser.state = S.ATTRIB_VALUE_UNQUOTED\n parser.attribValue = c\n }\n continue\n\n case S.ATTRIB_VALUE_QUOTED:\n if (c !== parser.q) {\n if (c === '&') {\n parser.state = S.ATTRIB_VALUE_ENTITY_Q\n } else {\n parser.attribValue += c\n }\n continue\n }\n attrib(parser)\n parser.q = ''\n parser.state = S.ATTRIB_VALUE_CLOSED\n continue\n\n case S.ATTRIB_VALUE_CLOSED:\n if (isWhitespace(c)) {\n parser.state = S.ATTRIB\n } else if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else if (isMatch(nameStart, c)) {\n strictFail(parser, 'No whitespace between attributes')\n parser.attribName = c\n parser.attribValue = ''\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_VALUE_UNQUOTED:\n if (!isAttribEnd(c)) {\n if (c === '&') {\n parser.state = S.ATTRIB_VALUE_ENTITY_U\n } else {\n parser.attribValue += c\n }\n continue\n }\n attrib(parser)\n if (c === '>') {\n openTag(parser)\n } else {\n parser.state = S.ATTRIB\n }\n continue\n\n case S.CLOSE_TAG:\n if (!parser.tagName) {\n if (isWhitespace(c)) {\n continue\n } else if (notMatch(nameStart, c)) {\n if (parser.script) {\n parser.script += '</' + c\n parser.state = S.SCRIPT\n } else {\n strictFail(parser, 'Invalid tagname in closing tag.')\n }\n } else {\n parser.tagName = c\n }\n } else if (c === '>') {\n closeTag(parser)\n } else if (isMatch(nameBody, c)) {\n parser.tagName += c\n } else if (parser.script) {\n parser.script += '</' + parser.tagName\n parser.tagName = ''\n parser.state = S.SCRIPT\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, 'Invalid tagname in closing tag')\n }\n parser.state = S.CLOSE_TAG_SAW_WHITE\n }\n continue\n\n case S.CLOSE_TAG_SAW_WHITE:\n if (isWhitespace(c)) {\n continue\n }\n if (c === '>') {\n closeTag(parser)\n } else {\n strictFail(parser, 'Invalid characters in closing tag')\n }\n continue\n\n case S.TEXT_ENTITY:\n case S.ATTRIB_VALUE_ENTITY_Q:\n case S.ATTRIB_VALUE_ENTITY_U:\n var returnState\n var buffer\n switch (parser.state) {\n case S.TEXT_ENTITY:\n returnState = S.TEXT\n buffer = 'textNode'\n break\n\n case S.ATTRIB_VALUE_ENTITY_Q:\n returnState = S.ATTRIB_VALUE_QUOTED\n buffer = 'attribValue'\n break\n\n case S.ATTRIB_VALUE_ENTITY_U:\n returnState = S.ATTRIB_VALUE_UNQUOTED\n buffer = 'attribValue'\n break\n }\n\n if (c === ';') {\n parser[buffer] += parseEntity(parser)\n parser.entity = ''\n parser.state = returnState\n } else if (isMatch(parser.entity.length ? entityBody : entityStart, c)) {\n parser.entity += c\n } else {\n strictFail(parser, 'Invalid character in entity name')\n parser[buffer] += '&' + parser.entity + c\n parser.entity = ''\n parser.state = returnState\n }\n\n continue\n\n default:\n throw new Error(parser, 'Unknown state: ' + parser.state)\n }\n } // while\n\n if (parser.position >= parser.bufferCheckPosition) {\n checkBufferLength(parser)\n }\n return parser\n }\n\n /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */\n /* istanbul ignore next */\n if (!String.fromCodePoint) {\n (function () {\n var stringFromCharCode = String.fromCharCode\n var floor = Math.floor\n var fromCodePoint = function () {\n var MAX_SIZE = 0x4000\n var codeUnits = []\n var highSurrogate\n var lowSurrogate\n var index = -1\n var length = arguments.length\n if (!length) {\n return ''\n }\n var result = ''\n while (++index < length) {\n var codePoint = Number(arguments[index])\n if (\n !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10FFFF || // not a valid Unicode code point\n floor(codePoint) !== codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint)\n }\n if (codePoint <= 0xFFFF) { // BMP code point\n codeUnits.push(codePoint)\n } else { // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000\n highSurrogate = (codePoint >> 10) + 0xD800\n lowSurrogate = (codePoint % 0x400) + 0xDC00\n codeUnits.push(highSurrogate, lowSurrogate)\n }\n if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n result += stringFromCharCode.apply(null, codeUnits)\n codeUnits.length = 0\n }\n }\n return result\n }\n /* istanbul ignore next */\n if (Object.defineProperty) {\n Object.defineProperty(String, 'fromCodePoint', {\n value: fromCodePoint,\n configurable: true,\n writable: true\n })\n } else {\n String.fromCodePoint = fromCodePoint\n }\n }())\n }\n})( false ? this.sax = {} : exports)\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(6).Buffer))\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n for (var i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports) {\n\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Buffer = __webpack_require__(16).Buffer;\nvar util = __webpack_require__(148);\n\nfunction copyBuffer(src, target, offset) {\n src.copy(target, offset);\n}\n\nmodule.exports = function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n BufferList.prototype.push = function push(v) {\n var entry = { data: v, next: null };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n };\n\n BufferList.prototype.unshift = function unshift(v) {\n var entry = { data: v, next: this.head };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n };\n\n BufferList.prototype.shift = function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n };\n\n BufferList.prototype.clear = function clear() {\n this.head = this.tail = null;\n this.length = 0;\n };\n\n BufferList.prototype.join = function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }return ret;\n };\n\n BufferList.prototype.concat = function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n if (this.length === 1) return this.head.data;\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n };\n\n return BufferList;\n}();\n\nif (util && util.inspect && util.inspect.custom) {\n module.exports.prototype[util.inspect.custom] = function () {\n var obj = util.inspect({ length: this.length });\n return this.constructor.name + ' ' + obj;\n };\n}\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4), __webpack_require__(13)))\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4)))\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n\n\nmodule.exports = PassThrough;\n\nvar Transform = __webpack_require__(61);\n\n/*<replacement>*/\nvar util = __webpack_require__(14);\nutil.inherits = __webpack_require__(7);\n/*</replacement>*/\n\nutil.inherits(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(29);\n\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(5);\n\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(28).Transform\n\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(28).PassThrough\n\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar helper = __webpack_require__(31);\r\nvar xml2js = __webpack_require__(54);\r\n\r\nfunction validateOptions (userOptions) {\r\n var options = helper.copyOptions(userOptions);\r\n helper.ensureSpacesExists(options);\r\n return options;\r\n}\r\n\r\nmodule.exports = function(xml, userOptions) {\r\n var options, js, json, parentKey;\r\n options = validateOptions(userOptions);\r\n js = xml2js(xml, options);\r\n parentKey = 'compact' in options && options.compact ? '_parent' : 'parent';\r\n // parentKey = ptions.compact ? '_parent' : 'parent'; // consider this\r\n if ('addParent' in options && options.addParent) {\r\n json = JSON.stringify(js, function (k, v) { return k === parentKey? '_' : v; }, options.spaces);\r\n } else {\r\n json = JSON.stringify(js, null, options.spaces);\r\n }\r\n return json.replace(/\\u2028/g, '\\\\u2028').replace(/\\u2029/g, '\\\\u2029');\r\n};\r\n\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(Buffer) {var js2xml = __webpack_require__(62);\r\n\r\nmodule.exports = function (json, options) {\r\n if (json instanceof Buffer) {\r\n json = json.toString();\r\n }\r\n var js = null;\r\n if (typeof (json) === 'string') {\r\n try {\r\n js = JSON.parse(json);\r\n } catch (e) {\r\n throw new Error('The JSON structure is invalid');\r\n }\r\n } else {\r\n js = json;\r\n }\r\n return js2xml(js, options);\r\n};\r\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(6).Buffer))\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.WORKAROUND3 = \"\";\r\n\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass InitializableXmlComponent extends xml_components_1.XmlComponent {\r\n constructor(rootKey, initComponent) {\r\n super(rootKey);\r\n if (initComponent) {\r\n this.root = initComponent.root;\r\n }\r\n }\r\n}\r\nexports.InitializableXmlComponent = InitializableXmlComponent;\r\n\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass BorderAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n val: \"w:val\",\r\n color: \"w:color\",\r\n space: \"w:space\",\r\n sz: \"w:sz\",\r\n };\r\n }\r\n}\r\nexports.BorderAttributes = BorderAttributes;\r\n\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst space_type_1 = __webpack_require__(8);\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TextAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { space: \"xml:space\" };\r\n }\r\n}\r\nclass Page extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:instrText\");\r\n this.root.push(new TextAttributes({ space: space_type_1.SpaceType.PRESERVE }));\r\n this.root.push(\"PAGE\");\r\n }\r\n}\r\nexports.Page = Page;\r\nclass NumberOfPages extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:instrText\");\r\n this.root.push(new TextAttributes({ space: space_type_1.SpaceType.PRESERVE }));\r\n this.root.push(\"NUMPAGES\");\r\n }\r\n}\r\nexports.NumberOfPages = NumberOfPages;\r\nclass NumberOfPagesSection extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:instrText\");\r\n this.root.push(new TextAttributes({ space: space_type_1.SpaceType.PRESERVE }));\r\n this.root.push(\"SECTIONPAGES\");\r\n }\r\n}\r\nexports.NumberOfPagesSection = NumberOfPagesSection;\r\n\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst run_1 = __webpack_require__(17);\r\nconst text_1 = __webpack_require__(71);\r\nclass TextRun extends run_1.Run {\r\n constructor(options) {\r\n if (typeof options === \"string\") {\r\n super({});\r\n this.root.push(new text_1.Text(options));\r\n return;\r\n }\r\n super(options);\r\n }\r\n}\r\nexports.TextRun = TextRun;\r\n\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst run_1 = __webpack_require__(17);\r\nconst symbol_1 = __webpack_require__(164);\r\nclass SymbolRun extends run_1.Run {\r\n constructor(options) {\r\n if (typeof options === \"string\") {\r\n super({});\r\n this.root.push(new symbol_1.Symbol(options));\r\n return;\r\n }\r\n super(options);\r\n this.root.push(new symbol_1.Symbol(options.char, options.symbolfont));\r\n }\r\n}\r\nexports.SymbolRun = SymbolRun;\r\n\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass SymbolAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n char: \"w:char\",\r\n symbolfont: \"w:font\",\r\n };\r\n }\r\n}\r\nclass Symbol extends xml_components_1.XmlComponent {\r\n constructor(char = \"\", symbolfont = \"Wingdings\") {\r\n super(\"w:sym\");\r\n this.root.push(new SymbolAttributes({ char: char, symbolfont: symbolfont }));\r\n }\r\n}\r\nexports.Symbol = Symbol;\r\n\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst drawing_1 = __webpack_require__(72);\r\nconst run_1 = __webpack_require__(3);\r\nclass PictureRun extends run_1.Run {\r\n constructor(imageData, drawingOptions) {\r\n super({});\r\n const drawing = new drawing_1.Drawing(imageData, drawingOptions);\r\n this.root.push(drawing);\r\n }\r\n}\r\nexports.PictureRun = PictureRun;\r\n\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst anchor_1 = __webpack_require__(167);\r\nconst inline_1 = __webpack_require__(210);\r\nclass Drawing extends xml_components_1.XmlComponent {\r\n constructor(imageData, drawingOptions = {}) {\r\n super(\"w:drawing\");\r\n if (!drawingOptions.floating) {\r\n this.inline = new inline_1.Inline(imageData, imageData.dimensions);\r\n this.root.push(this.inline);\r\n }\r\n else {\r\n this.root.push(new anchor_1.Anchor(imageData, imageData.dimensions, drawingOptions));\r\n }\r\n }\r\n scale(factorX, factorY) {\r\n this.inline.scale(factorX, factorY);\r\n }\r\n}\r\nexports.Drawing = Drawing;\r\n\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(168));\r\n__export(__webpack_require__(81));\r\n\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst floating_1 = __webpack_require__(73);\r\nconst graphic_1 = __webpack_require__(76);\r\nconst text_wrap_1 = __webpack_require__(36);\r\nconst doc_properties_1 = __webpack_require__(77);\r\nconst effect_extent_1 = __webpack_require__(78);\r\nconst extent_1 = __webpack_require__(79);\r\nconst graphic_frame_properties_1 = __webpack_require__(80);\r\nconst anchor_attributes_1 = __webpack_require__(81);\r\nclass Anchor extends xml_components_1.XmlComponent {\r\n constructor(mediaData, dimensions, drawingOptions) {\r\n super(\"wp:anchor\");\r\n const floating = Object.assign({ allowOverlap: true, behindDocument: false, lockAnchor: false, layoutInCell: true, verticalPosition: {}, horizontalPosition: {} }, drawingOptions.floating);\r\n this.root.push(new anchor_attributes_1.AnchorAttributes({\r\n distT: floating.margins ? floating.margins.top || 0 : 0,\r\n distB: floating.margins ? floating.margins.bottom || 0 : 0,\r\n distL: floating.margins ? floating.margins.left || 0 : 0,\r\n distR: floating.margins ? floating.margins.right || 0 : 0,\r\n simplePos: \"0\",\r\n allowOverlap: floating.allowOverlap === true ? \"1\" : \"0\",\r\n behindDoc: floating.behindDocument === true ? \"1\" : \"0\",\r\n locked: floating.lockAnchor === true ? \"1\" : \"0\",\r\n layoutInCell: floating.layoutInCell === true ? \"1\" : \"0\",\r\n relativeHeight: floating.zIndex ? floating.zIndex : dimensions.emus.y,\r\n }));\r\n this.root.push(new floating_1.SimplePos());\r\n this.root.push(new floating_1.HorizontalPosition(floating.horizontalPosition));\r\n this.root.push(new floating_1.VerticalPosition(floating.verticalPosition));\r\n this.root.push(new extent_1.Extent(dimensions.emus.x, dimensions.emus.y));\r\n this.root.push(new effect_extent_1.EffectExtent());\r\n if (drawingOptions.floating !== undefined && drawingOptions.floating.wrap !== undefined) {\r\n switch (drawingOptions.floating.wrap.type) {\r\n case text_wrap_1.TextWrappingType.SQUARE:\r\n this.root.push(new text_wrap_1.WrapSquare(drawingOptions.floating.wrap, drawingOptions.floating.margins));\r\n break;\r\n case text_wrap_1.TextWrappingType.TIGHT:\r\n this.root.push(new text_wrap_1.WrapTight(drawingOptions.floating.margins));\r\n break;\r\n case text_wrap_1.TextWrappingType.TOP_AND_BOTTOM:\r\n this.root.push(new text_wrap_1.WrapTopAndBottom(drawingOptions.floating.margins));\r\n break;\r\n case text_wrap_1.TextWrappingType.NONE:\r\n default:\r\n this.root.push(new text_wrap_1.WrapNone());\r\n }\r\n }\r\n else {\r\n this.root.push(new text_wrap_1.WrapNone());\r\n }\r\n this.root.push(new doc_properties_1.DocProperties());\r\n this.root.push(new graphic_frame_properties_1.GraphicFrameProperties());\r\n this.root.push(new graphic_1.Graphic(mediaData, dimensions.emus.x, dimensions.emus.y));\r\n }\r\n}\r\nexports.Anchor = Anchor;\r\n\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass SimplePosAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n x: \"x\",\r\n y: \"y\",\r\n };\r\n }\r\n}\r\nclass SimplePos extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"wp:simplePos\");\r\n this.root.push(new SimplePosAttributes({\r\n x: 0,\r\n y: 0,\r\n }));\r\n }\r\n}\r\nexports.SimplePos = SimplePos;\r\n\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst align_1 = __webpack_require__(74);\r\nconst floating_position_1 = __webpack_require__(35);\r\nconst position_offset_1 = __webpack_require__(75);\r\nclass HorizontalPositionAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n relativeFrom: \"relativeFrom\",\r\n };\r\n }\r\n}\r\nclass HorizontalPosition extends xml_components_1.XmlComponent {\r\n constructor(horizontalPosition) {\r\n super(\"wp:positionH\");\r\n this.root.push(new HorizontalPositionAttributes({\r\n relativeFrom: horizontalPosition.relative || floating_position_1.HorizontalPositionRelativeFrom.PAGE,\r\n }));\r\n if (horizontalPosition.align) {\r\n this.root.push(new align_1.Align(horizontalPosition.align));\r\n }\r\n else if (horizontalPosition.offset !== undefined) {\r\n this.root.push(new position_offset_1.PositionOffset(horizontalPosition.offset));\r\n }\r\n else {\r\n throw new Error(\"There is no configuration provided for floating position (Align or offset)\");\r\n }\r\n }\r\n}\r\nexports.HorizontalPosition = HorizontalPosition;\r\n\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst align_1 = __webpack_require__(74);\r\nconst floating_position_1 = __webpack_require__(35);\r\nconst position_offset_1 = __webpack_require__(75);\r\nclass VerticalPositionAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n relativeFrom: \"relativeFrom\",\r\n };\r\n }\r\n}\r\nclass VerticalPosition extends xml_components_1.XmlComponent {\r\n constructor(verticalPosition) {\r\n super(\"wp:positionV\");\r\n this.root.push(new VerticalPositionAttributes({\r\n relativeFrom: verticalPosition.relative || floating_position_1.VerticalPositionRelativeFrom.PAGE,\r\n }));\r\n if (verticalPosition.align) {\r\n this.root.push(new align_1.Align(verticalPosition.align));\r\n }\r\n else if (verticalPosition.offset !== undefined) {\r\n this.root.push(new position_offset_1.PositionOffset(verticalPosition.offset));\r\n }\r\n else {\r\n throw new Error(\"There is no configuration provided for floating position (Align or offset)\");\r\n }\r\n }\r\n}\r\nexports.VerticalPosition = VerticalPosition;\r\n\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst graphic_data_1 = __webpack_require__(173);\r\nclass GraphicAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n a: \"xmlns:a\",\r\n };\r\n }\r\n}\r\nclass Graphic extends xml_components_1.XmlComponent {\r\n constructor(mediaData, x, y) {\r\n super(\"a:graphic\");\r\n this.root.push(new GraphicAttributes({\r\n a: \"http://schemas.openxmlformats.org/drawingml/2006/main\",\r\n }));\r\n this.data = new graphic_data_1.GraphicData(mediaData, x, y);\r\n this.root.push(this.data);\r\n }\r\n setXY(x, y) {\r\n this.data.setXY(x, y);\r\n }\r\n}\r\nexports.Graphic = Graphic;\r\n\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(174));\r\n\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst graphic_data_attribute_1 = __webpack_require__(175);\r\nconst pic_1 = __webpack_require__(176);\r\nclass GraphicData extends xml_components_1.XmlComponent {\r\n constructor(mediaData, x, y) {\r\n super(\"a:graphicData\");\r\n this.root.push(new graphic_data_attribute_1.GraphicDataAttributes({\r\n uri: \"http://schemas.openxmlformats.org/drawingml/2006/picture\",\r\n }));\r\n this.pic = new pic_1.Pic(mediaData, x, y);\r\n this.root.push(this.pic);\r\n }\r\n setXY(x, y) {\r\n this.pic.setXY(x, y);\r\n }\r\n}\r\nexports.GraphicData = GraphicData;\r\n\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass GraphicDataAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n uri: \"uri\",\r\n };\r\n }\r\n}\r\nexports.GraphicDataAttributes = GraphicDataAttributes;\r\n\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(177));\r\n\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst blip_fill_1 = __webpack_require__(178);\r\nconst non_visual_pic_properties_1 = __webpack_require__(182);\r\nconst pic_attributes_1 = __webpack_require__(188);\r\nconst shape_properties_1 = __webpack_require__(189);\r\nclass Pic extends xml_components_1.XmlComponent {\r\n constructor(mediaData, x, y) {\r\n super(\"pic:pic\");\r\n this.root.push(new pic_attributes_1.PicAttributes({\r\n xmlns: \"http://schemas.openxmlformats.org/drawingml/2006/picture\",\r\n }));\r\n this.shapeProperties = new shape_properties_1.ShapeProperties(x, y);\r\n this.root.push(new non_visual_pic_properties_1.NonVisualPicProperties());\r\n this.root.push(new blip_fill_1.BlipFill(mediaData));\r\n this.root.push(new shape_properties_1.ShapeProperties(x, y));\r\n }\r\n setXY(x, y) {\r\n this.shapeProperties.setXY(x, y);\r\n }\r\n}\r\nexports.Pic = Pic;\r\n\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst blip_1 = __webpack_require__(179);\r\nconst source_rectangle_1 = __webpack_require__(180);\r\nconst stretch_1 = __webpack_require__(181);\r\nclass BlipFill extends xml_components_1.XmlComponent {\r\n constructor(mediaData) {\r\n super(\"pic:blipFill\");\r\n this.root.push(new blip_1.Blip(mediaData));\r\n this.root.push(new source_rectangle_1.SourceRectangle());\r\n this.root.push(new stretch_1.Stretch());\r\n }\r\n}\r\nexports.BlipFill = BlipFill;\r\n\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass BlipAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n embed: \"r:embed\",\r\n cstate: \"cstate\",\r\n };\r\n }\r\n}\r\nclass Blip extends xml_components_1.XmlComponent {\r\n constructor(mediaData) {\r\n super(\"a:blip\");\r\n this.root.push(new BlipAttributes({\r\n embed: `rId{${mediaData.fileName}}`,\r\n cstate: \"none\",\r\n }));\r\n }\r\n}\r\nexports.Blip = Blip;\r\n\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass SourceRectangle extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"a:srcRect\");\r\n }\r\n}\r\nexports.SourceRectangle = SourceRectangle;\r\n\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass FillRectangle extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"a:fillRect\");\r\n }\r\n}\r\nclass Stretch extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"a:stretch\");\r\n this.root.push(new FillRectangle());\r\n }\r\n}\r\nexports.Stretch = Stretch;\r\n\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst child_non_visual_pic_properties_1 = __webpack_require__(183);\r\nconst non_visual_properties_1 = __webpack_require__(186);\r\nclass NonVisualPicProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"pic:nvPicPr\");\r\n this.root.push(new non_visual_properties_1.NonVisualProperties());\r\n this.root.push(new child_non_visual_pic_properties_1.ChildNonVisualProperties());\r\n }\r\n}\r\nexports.NonVisualPicProperties = NonVisualPicProperties;\r\n\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst pic_locks_1 = __webpack_require__(184);\r\nclass ChildNonVisualProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"pic:cNvPicPr\");\r\n this.root.push(new pic_locks_1.PicLocks());\r\n }\r\n}\r\nexports.ChildNonVisualProperties = ChildNonVisualProperties;\r\n\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst pic_locks_attributes_1 = __webpack_require__(185);\r\nclass PicLocks extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"a:picLocks\");\r\n this.root.push(new pic_locks_attributes_1.PicLocksAttributes({\r\n noChangeAspect: 1,\r\n noChangeArrowheads: 1,\r\n }));\r\n }\r\n}\r\nexports.PicLocks = PicLocks;\r\n\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass PicLocksAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n noChangeAspect: \"noChangeAspect\",\r\n noChangeArrowheads: \"noChangeArrowheads\",\r\n };\r\n }\r\n}\r\nexports.PicLocksAttributes = PicLocksAttributes;\r\n\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst non_visual_properties_attributes_1 = __webpack_require__(187);\r\nclass NonVisualProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"pic:cNvPr\");\r\n this.root.push(new non_visual_properties_attributes_1.NonVisualPropertiesAttributes({\r\n id: 0,\r\n name: \"\",\r\n descr: \"\",\r\n }));\r\n }\r\n}\r\nexports.NonVisualProperties = NonVisualProperties;\r\n\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass NonVisualPropertiesAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n id: \"id\",\r\n name: \"name\",\r\n descr: \"desc\",\r\n };\r\n }\r\n}\r\nexports.NonVisualPropertiesAttributes = NonVisualPropertiesAttributes;\r\n\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass PicAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n xmlns: \"xmlns:pic\",\r\n };\r\n }\r\n}\r\nexports.PicAttributes = PicAttributes;\r\n\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst form_1 = __webpack_require__(190);\r\nconst preset_geometry_1 = __webpack_require__(196);\r\nconst shape_properties_attributes_1 = __webpack_require__(199);\r\nclass ShapeProperties extends xml_components_1.XmlComponent {\r\n constructor(x, y) {\r\n super(\"pic:spPr\");\r\n this.root.push(new shape_properties_attributes_1.ShapePropertiesAttributes({\r\n bwMode: \"auto\",\r\n }));\r\n this.form = new form_1.Form(x, y);\r\n this.root.push(this.form);\r\n this.root.push(new preset_geometry_1.PresetGeometry());\r\n }\r\n setXY(x, y) {\r\n this.form.setXY(x, y);\r\n }\r\n}\r\nexports.ShapeProperties = ShapeProperties;\r\n\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(191));\r\n\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst extents_1 = __webpack_require__(192);\r\nconst off_1 = __webpack_require__(194);\r\nclass Form extends xml_components_1.XmlComponent {\r\n constructor(x, y) {\r\n super(\"a:xfrm\");\r\n this.extents = new extents_1.Extents(x, y);\r\n this.root.push(this.extents);\r\n this.root.push(new off_1.Offset());\r\n }\r\n setXY(x, y) {\r\n this.extents.setXY(x, y);\r\n }\r\n}\r\nexports.Form = Form;\r\n\n\n/***/ }),\n/* 192 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst extents_attributes_1 = __webpack_require__(193);\r\nclass Extents extends xml_components_1.XmlComponent {\r\n constructor(x, y) {\r\n super(\"a:ext\");\r\n this.attributes = new extents_attributes_1.ExtentsAttributes({\r\n cx: x,\r\n cy: y,\r\n });\r\n this.root.push(this.attributes);\r\n }\r\n setXY(x, y) {\r\n this.attributes.set({\r\n cx: x,\r\n cy: y,\r\n });\r\n }\r\n}\r\nexports.Extents = Extents;\r\n\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass ExtentsAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n cx: \"cx\",\r\n cy: \"cy\",\r\n };\r\n }\r\n}\r\nexports.ExtentsAttributes = ExtentsAttributes;\r\n\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst off_attributes_1 = __webpack_require__(195);\r\nclass Offset extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"a:off\");\r\n this.root.push(new off_attributes_1.OffsetAttributes({\r\n x: 0,\r\n y: 0,\r\n }));\r\n }\r\n}\r\nexports.Offset = Offset;\r\n\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass OffsetAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n x: \"x\",\r\n y: \"y\",\r\n };\r\n }\r\n}\r\nexports.OffsetAttributes = OffsetAttributes;\r\n\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst adjustment_values_1 = __webpack_require__(197);\r\nconst preset_geometry_attributes_1 = __webpack_require__(198);\r\nclass PresetGeometry extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"a:prstGeom\");\r\n this.root.push(new preset_geometry_attributes_1.PresetGeometryAttributes({\r\n prst: \"rect\",\r\n }));\r\n this.root.push(new adjustment_values_1.AdjustmentValues());\r\n }\r\n}\r\nexports.PresetGeometry = PresetGeometry;\r\n\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass AdjustmentValues extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"a:avLst\");\r\n }\r\n}\r\nexports.AdjustmentValues = AdjustmentValues;\r\n\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass PresetGeometryAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n prst: \"prst\",\r\n };\r\n }\r\n}\r\nexports.PresetGeometryAttributes = PresetGeometryAttributes;\r\n\n\n/***/ }),\n/* 199 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass ShapePropertiesAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n bwMode: \"bwMode\",\r\n };\r\n }\r\n}\r\nexports.ShapePropertiesAttributes = ShapePropertiesAttributes;\r\n\n\n/***/ }),\n/* 200 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar TextWrappingType;\r\n(function (TextWrappingType) {\r\n TextWrappingType[TextWrappingType[\"NONE\"] = 0] = \"NONE\";\r\n TextWrappingType[TextWrappingType[\"SQUARE\"] = 1] = \"SQUARE\";\r\n TextWrappingType[TextWrappingType[\"TIGHT\"] = 2] = \"TIGHT\";\r\n TextWrappingType[TextWrappingType[\"TOP_AND_BOTTOM\"] = 3] = \"TOP_AND_BOTTOM\";\r\n})(TextWrappingType = exports.TextWrappingType || (exports.TextWrappingType = {}));\r\nvar TextWrappingSide;\r\n(function (TextWrappingSide) {\r\n TextWrappingSide[\"BOTH_SIDES\"] = \"bothSides\";\r\n TextWrappingSide[\"LEFT\"] = \"left\";\r\n TextWrappingSide[\"RIGHT\"] = \"right\";\r\n TextWrappingSide[\"LARGEST\"] = \"largest\";\r\n})(TextWrappingSide = exports.TextWrappingSide || (exports.TextWrappingSide = {}));\r\n\n\n/***/ }),\n/* 201 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass WrapNone extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"wp:wrapNone\");\r\n }\r\n}\r\nexports.WrapNone = WrapNone;\r\n\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst _1 = __webpack_require__(36);\r\nclass WrapSquareAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n distT: \"distT\",\r\n distB: \"distB\",\r\n distL: \"distL\",\r\n distR: \"distR\",\r\n wrapText: \"wrapText\",\r\n };\r\n }\r\n}\r\nclass WrapSquare extends xml_components_1.XmlComponent {\r\n constructor(textWrapping, margins = {\r\n top: 0,\r\n bottom: 0,\r\n left: 0,\r\n right: 0,\r\n }) {\r\n super(\"wp:wrapSquare\");\r\n this.root.push(new WrapSquareAttributes({\r\n wrapText: textWrapping.side || _1.TextWrappingSide.BOTH_SIDES,\r\n distT: margins.top,\r\n distB: margins.bottom,\r\n distL: margins.left,\r\n distR: margins.right,\r\n }));\r\n }\r\n}\r\nexports.WrapSquare = WrapSquare;\r\n\n\n/***/ }),\n/* 203 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass WrapTightAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n distT: \"distT\",\r\n distB: \"distB\",\r\n };\r\n }\r\n}\r\nclass WrapTight extends xml_components_1.XmlComponent {\r\n constructor(margins = {\r\n top: 0,\r\n bottom: 0,\r\n }) {\r\n super(\"wp:wrapTight\");\r\n this.root.push(new WrapTightAttributes({\r\n distT: margins.top,\r\n distB: margins.bottom,\r\n }));\r\n }\r\n}\r\nexports.WrapTight = WrapTight;\r\n\n\n/***/ }),\n/* 204 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass WrapTopAndBottomAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n distT: \"distT\",\r\n distB: \"distB\",\r\n };\r\n }\r\n}\r\nclass WrapTopAndBottom extends xml_components_1.XmlComponent {\r\n constructor(margins = {\r\n top: 0,\r\n bottom: 0,\r\n }) {\r\n super(\"wp:wrapTopAndBottom\");\r\n this.root.push(new WrapTopAndBottomAttributes({\r\n distT: margins.top,\r\n distB: margins.bottom,\r\n }));\r\n }\r\n}\r\nexports.WrapTopAndBottom = WrapTopAndBottom;\r\n\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass DocPropertiesAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n id: \"id\",\r\n name: \"name\",\r\n descr: \"descr\",\r\n };\r\n }\r\n}\r\nexports.DocPropertiesAttributes = DocPropertiesAttributes;\r\n\n\n/***/ }),\n/* 206 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass EffectExtentAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n b: \"b\",\r\n l: \"l\",\r\n r: \"r\",\r\n t: \"t\",\r\n };\r\n }\r\n}\r\nexports.EffectExtentAttributes = EffectExtentAttributes;\r\n\n\n/***/ }),\n/* 207 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass ExtentAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n cx: \"cx\",\r\n cy: \"cy\",\r\n };\r\n }\r\n}\r\nexports.ExtentAttributes = ExtentAttributes;\r\n\n\n/***/ }),\n/* 208 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst graphic_frame_lock_attributes_1 = __webpack_require__(209);\r\nclass GraphicFrameLocks extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"a:graphicFrameLocks\");\r\n this.root.push(new graphic_frame_lock_attributes_1.GraphicFrameLockAttributes({\r\n xmlns: \"http://schemas.openxmlformats.org/drawingml/2006/main\",\r\n noChangeAspect: 1,\r\n }));\r\n }\r\n}\r\nexports.GraphicFrameLocks = GraphicFrameLocks;\r\n\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass GraphicFrameLockAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n xmlns: \"xmlns:a\",\r\n noChangeAspect: \"noChangeAspect\",\r\n };\r\n }\r\n}\r\nexports.GraphicFrameLockAttributes = GraphicFrameLockAttributes;\r\n\n\n/***/ }),\n/* 210 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(211));\r\n\n\n/***/ }),\n/* 211 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst doc_properties_1 = __webpack_require__(77);\r\nconst effect_extent_1 = __webpack_require__(78);\r\nconst extent_1 = __webpack_require__(79);\r\nconst graphic_frame_properties_1 = __webpack_require__(80);\r\nconst graphic_1 = __webpack_require__(76);\r\nconst inline_attributes_1 = __webpack_require__(212);\r\nclass Inline extends xml_components_1.XmlComponent {\r\n constructor(mediaData, dimensions) {\r\n super(\"wp:inline\");\r\n this.dimensions = dimensions;\r\n this.root.push(new inline_attributes_1.InlineAttributes({\r\n distT: 0,\r\n distB: 0,\r\n distL: 0,\r\n distR: 0,\r\n }));\r\n this.extent = new extent_1.Extent(dimensions.emus.x, dimensions.emus.y);\r\n this.graphic = new graphic_1.Graphic(mediaData, dimensions.emus.x, dimensions.emus.y);\r\n this.root.push(this.extent);\r\n this.root.push(new effect_extent_1.EffectExtent());\r\n this.root.push(new doc_properties_1.DocProperties());\r\n this.root.push(new graphic_frame_properties_1.GraphicFrameProperties());\r\n this.root.push(this.graphic);\r\n }\r\n scale(factorX, factorY) {\r\n const newX = Math.round(this.dimensions.emus.x * factorX);\r\n const newY = Math.round(this.dimensions.emus.y * factorY);\r\n this.extent.setXY(newX, newY);\r\n this.graphic.setXY(newX, newY);\r\n }\r\n}\r\nexports.Inline = Inline;\r\n\n\n/***/ }),\n/* 212 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass InlineAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n distT: \"distT\",\r\n distB: \"distB\",\r\n distL: \"distL\",\r\n distR: \"distR\",\r\n };\r\n }\r\n}\r\nexports.InlineAttributes = InlineAttributes;\r\n\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst run_1 = __webpack_require__(3);\r\nconst field_1 = __webpack_require__(18);\r\nconst sequential_identifier_instruction_1 = __webpack_require__(214);\r\nclass SequentialIdentifier extends run_1.Run {\r\n constructor(identifier) {\r\n super({});\r\n this.root.push(new field_1.Begin(true));\r\n this.root.push(new sequential_identifier_instruction_1.SequentialIdentifierInstruction(identifier));\r\n this.root.push(new field_1.Separate());\r\n this.root.push(new field_1.End());\r\n }\r\n}\r\nexports.SequentialIdentifier = SequentialIdentifier;\r\n\n\n/***/ }),\n/* 214 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst space_type_1 = __webpack_require__(8);\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TextAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { space: \"xml:space\" };\r\n }\r\n}\r\nclass SequentialIdentifierInstruction extends xml_components_1.XmlComponent {\r\n constructor(identifier) {\r\n super(\"w:instrText\");\r\n this.root.push(new TextAttributes({ space: space_type_1.SpaceType.PRESERVE }));\r\n this.root.push(`SEQ ${identifier}`);\r\n }\r\n}\r\nexports.SequentialIdentifierInstruction = SequentialIdentifierInstruction;\r\n\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass Tab extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:tab\");\r\n }\r\n}\r\nexports.Tab = Tab;\r\n\n\n/***/ }),\n/* 216 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst links_1 = __webpack_require__(37);\r\nconst properties_1 = __webpack_require__(21);\r\nconst run_1 = __webpack_require__(3);\r\nclass Paragraph extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:p\");\r\n if (typeof options === \"string\") {\r\n this.properties = new properties_1.ParagraphProperties({});\r\n this.root.push(this.properties);\r\n this.root.push(new run_1.TextRun(options));\r\n return;\r\n }\r\n if (options instanceof run_1.PictureRun) {\r\n this.properties = new properties_1.ParagraphProperties({});\r\n this.root.push(this.properties);\r\n this.root.push(options);\r\n return;\r\n }\r\n this.properties = new properties_1.ParagraphProperties(options);\r\n this.root.push(this.properties);\r\n if (options.text) {\r\n this.root.push(new run_1.TextRun(options.text));\r\n }\r\n if (options.children) {\r\n for (const child of options.children) {\r\n if (child instanceof links_1.Bookmark) {\r\n this.root.push(child.start);\r\n this.root.push(child.text);\r\n this.root.push(child.end);\r\n continue;\r\n }\r\n this.root.push(child);\r\n }\r\n }\r\n }\r\n prepForXml(file) {\r\n for (const element of this.root) {\r\n if (element instanceof links_1.HyperlinkRef) {\r\n const index = this.root.indexOf(element);\r\n this.root[index] = file.HyperlinkCache[element.id];\r\n }\r\n }\r\n return super.prepForXml();\r\n }\r\n addRunToFront(run) {\r\n this.root.splice(1, 0, run);\r\n return this;\r\n }\r\n}\r\nexports.Paragraph = Paragraph;\r\n\n\n/***/ }),\n/* 217 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst run_1 = __webpack_require__(3);\r\nconst hyperlink_attributes_1 = __webpack_require__(218);\r\nvar HyperlinkType;\r\n(function (HyperlinkType) {\r\n HyperlinkType[\"INTERNAL\"] = \"INTERNAL\";\r\n HyperlinkType[\"EXTERNAL\"] = \"EXTERNAL\";\r\n})(HyperlinkType = exports.HyperlinkType || (exports.HyperlinkType = {}));\r\nclass HyperlinkRef {\r\n constructor(id) {\r\n this.id = id;\r\n }\r\n}\r\nexports.HyperlinkRef = HyperlinkRef;\r\nclass Hyperlink extends xml_components_1.XmlComponent {\r\n constructor(text, relationshipId, anchor) {\r\n super(\"w:hyperlink\");\r\n this.linkId = relationshipId;\r\n const props = {\r\n history: 1,\r\n anchor: anchor ? anchor : undefined,\r\n id: !anchor ? `rId${this.linkId}` : undefined,\r\n };\r\n const attributes = new hyperlink_attributes_1.HyperlinkAttributes(props);\r\n this.root.push(attributes);\r\n this.textRun = new run_1.TextRun({\r\n text: text,\r\n style: \"Hyperlink\",\r\n });\r\n this.root.push(this.textRun);\r\n }\r\n get TextRun() {\r\n return this.textRun;\r\n }\r\n}\r\nexports.Hyperlink = Hyperlink;\r\n\n\n/***/ }),\n/* 218 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass HyperlinkAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n id: \"r:id\",\r\n history: \"w:history\",\r\n anchor: \"w:anchor\",\r\n };\r\n }\r\n}\r\nexports.HyperlinkAttributes = HyperlinkAttributes;\r\n\n\n/***/ }),\n/* 219 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst shortid = __webpack_require__(86);\r\nconst run_1 = __webpack_require__(3);\r\nconst bookmark_attributes_1 = __webpack_require__(228);\r\nclass Bookmark {\r\n constructor(name, text) {\r\n const linkId = shortid.generate().toLowerCase();\r\n this.start = new BookmarkStart(name, linkId);\r\n this.text = new run_1.TextRun(text);\r\n this.end = new BookmarkEnd(linkId);\r\n }\r\n}\r\nexports.Bookmark = Bookmark;\r\nclass BookmarkStart extends xml_components_1.XmlComponent {\r\n constructor(name, linkId) {\r\n super(\"w:bookmarkStart\");\r\n const attributes = new bookmark_attributes_1.BookmarkStartAttributes({\r\n name,\r\n id: linkId,\r\n });\r\n this.root.push(attributes);\r\n }\r\n}\r\nexports.BookmarkStart = BookmarkStart;\r\nclass BookmarkEnd extends xml_components_1.XmlComponent {\r\n constructor(linkId) {\r\n super(\"w:bookmarkEnd\");\r\n const attributes = new bookmark_attributes_1.BookmarkEndAttributes({\r\n id: linkId,\r\n });\r\n this.root.push(attributes);\r\n }\r\n}\r\nexports.BookmarkEnd = BookmarkEnd;\r\n\n\n/***/ }),\n/* 220 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar alphabet = __webpack_require__(20);\nvar build = __webpack_require__(222);\nvar isValid = __webpack_require__(226);\n\n// if you are using cluster or multiple servers use this to make each instance\n// has a unique value for worker\n// Note: I don't know if this is automatically set when using third\n// party cluster solutions such as pm2.\nvar clusterWorkerId = __webpack_require__(227) || 0;\n\n/**\n * Set the seed.\n * Highly recommended if you don't want people to try to figure out your id schema.\n * exposed as shortid.seed(int)\n * @param seed Integer value to seed the random alphabet. ALWAYS USE THE SAME SEED or you might get overlaps.\n */\nfunction seed(seedValue) {\n alphabet.seed(seedValue);\n return module.exports;\n}\n\n/**\n * Set the cluster worker or machine id\n * exposed as shortid.worker(int)\n * @param workerId worker must be positive integer. Number less than 16 is recommended.\n * returns shortid module so it can be chained.\n */\nfunction worker(workerId) {\n clusterWorkerId = workerId;\n return module.exports;\n}\n\n/**\n *\n * sets new characters to use in the alphabet\n * returns the shuffled alphabet\n */\nfunction characters(newCharacters) {\n if (newCharacters !== undefined) {\n alphabet.characters(newCharacters);\n }\n\n return alphabet.shuffled();\n}\n\n/**\n * Generate unique id\n * Returns string id\n */\nfunction generate() {\n return build(clusterWorkerId);\n}\n\n// Export all other functions as properties of the generate function\nmodule.exports = generate;\nmodule.exports.generate = generate;\nmodule.exports.seed = seed;\nmodule.exports.worker = worker;\nmodule.exports.characters = characters;\nmodule.exports.isValid = isValid;\n\n\n/***/ }),\n/* 221 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// Found this seed-based random generator somewhere\n// Based on The Central Randomizer 1.3 (C) 1997 by Paul Houle (houle@msc.cornell.edu)\n\nvar seed = 1;\n\n/**\n * return a random number based on a seed\n * @param seed\n * @returns {number}\n */\nfunction getNextValue() {\n seed = (seed * 9301 + 49297) % 233280;\n return seed/(233280.0);\n}\n\nfunction setSeed(_seed_) {\n seed = _seed_;\n}\n\nmodule.exports = {\n nextValue: getNextValue,\n seed: setSeed\n};\n\n\n/***/ }),\n/* 222 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar generate = __webpack_require__(223);\nvar alphabet = __webpack_require__(20);\n\n// Ignore all milliseconds before a certain time to reduce the size of the date entropy without sacrificing uniqueness.\n// This number should be updated every year or so to keep the generated id short.\n// To regenerate `new Date() - 0` and bump the version. Always bump the version!\nvar REDUCE_TIME = 1567752802062;\n\n// don't change unless we change the algos or REDUCE_TIME\n// must be an integer and less than 16\nvar version = 7;\n\n// Counter is used when shortid is called multiple times in one second.\nvar counter;\n\n// Remember the last time shortid was called in case counter is needed.\nvar previousSeconds;\n\n/**\n * Generate unique id\n * Returns string id\n */\nfunction build(clusterWorkerId) {\n var str = '';\n\n var seconds = Math.floor((Date.now() - REDUCE_TIME) * 0.001);\n\n if (seconds === previousSeconds) {\n counter++;\n } else {\n counter = 0;\n previousSeconds = seconds;\n }\n\n str = str + generate(version);\n str = str + generate(clusterWorkerId);\n if (counter > 0) {\n str = str + generate(counter);\n }\n str = str + generate(seconds);\n return str;\n}\n\nmodule.exports = build;\n\n\n/***/ }),\n/* 223 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar alphabet = __webpack_require__(20);\nvar random = __webpack_require__(224);\nvar format = __webpack_require__(225);\n\nfunction generate(number) {\n var loopCounter = 0;\n var done;\n\n var str = '';\n\n while (!done) {\n str = str + format(random, alphabet.get(), 1);\n done = number < (Math.pow(16, loopCounter + 1 ) );\n loopCounter++;\n }\n return str;\n}\n\nmodule.exports = generate;\n\n\n/***/ }),\n/* 224 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar crypto = typeof window === 'object' && (window.crypto || window.msCrypto); // IE 11 uses window.msCrypto\n\nvar randomByte;\n\nif (!crypto || !crypto.getRandomValues) {\n randomByte = function(size) {\n var bytes = [];\n for (var i = 0; i < size; i++) {\n bytes.push(Math.floor(Math.random() * 256));\n }\n return bytes;\n };\n} else {\n randomByte = function(size) {\n return crypto.getRandomValues(new Uint8Array(size));\n };\n}\n\nmodule.exports = randomByte;\n\n\n/***/ }),\n/* 225 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (random, alphabet, size) {\n var mask = (2 << Math.log(alphabet.length - 1) / Math.LN2) - 1\n var step = Math.ceil(1.6 * mask * size / alphabet.length)\n var id = ''\n\n while (true) {\n var i = step\n var bytes = random(i)\n while (i--) {\n id += alphabet[bytes[i] & mask] || ''\n if (id.length === +size) return id\n }\n }\n}\n\n\n/***/ }),\n/* 226 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar alphabet = __webpack_require__(20);\n\nfunction isShortId(id) {\n if (!id || typeof id !== 'string' || id.length < 6 ) {\n return false;\n }\n\n var nonAlphabetic = new RegExp('[^' +\n alphabet.get().replace(/[|\\\\{}()[\\]^$+*?.-]/g, '\\\\$&') +\n ']');\n return !nonAlphabetic.test(id);\n}\n\nmodule.exports = isShortId;\n\n\n/***/ }),\n/* 227 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = 0;\n\n\n/***/ }),\n/* 228 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass BookmarkStartAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n id: \"w:id\",\r\n name: \"w:name\",\r\n };\r\n }\r\n}\r\nexports.BookmarkStartAttributes = BookmarkStartAttributes;\r\nclass BookmarkEndAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n id: \"w:id\",\r\n };\r\n }\r\n}\r\nexports.BookmarkEndAttributes = BookmarkEndAttributes;\r\n\n\n/***/ }),\n/* 229 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass OutlineLevel extends xml_components_1.XmlComponent {\r\n constructor(level) {\r\n super(\"w:outlineLvl\");\r\n this.level = level;\r\n this.root.push(new xml_components_1.Attributes({\r\n val: level,\r\n }));\r\n }\r\n}\r\nexports.OutlineLevel = OutlineLevel;\r\n\n\n/***/ }),\n/* 230 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass Bidirectional extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:bidi\");\r\n }\r\n}\r\nexports.Bidirectional = Bidirectional;\r\n\n\n/***/ }),\n/* 231 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(232));\r\n__export(__webpack_require__(233));\r\n__export(__webpack_require__(235));\r\n__export(__webpack_require__(2));\r\n__export(__webpack_require__(240));\r\n__export(__webpack_require__(249));\r\n__export(__webpack_require__(250));\r\n__export(__webpack_require__(253));\r\n__export(__webpack_require__(255));\r\n\n\n/***/ }),\n/* 232 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass Math extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:oMath\");\r\n for (const child of options.children) {\r\n this.root.push(child);\r\n }\r\n }\r\n}\r\nexports.Math = Math;\r\n\n\n/***/ }),\n/* 233 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst math_text_1 = __webpack_require__(234);\r\nclass MathRun extends xml_components_1.XmlComponent {\r\n constructor(text) {\r\n super(\"m:r\");\r\n this.root.push(new math_text_1.MathText(text));\r\n }\r\n}\r\nexports.MathRun = MathRun;\r\n\n\n/***/ }),\n/* 234 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathText extends xml_components_1.XmlComponent {\r\n constructor(text) {\r\n super(\"m:t\");\r\n this.root.push(text);\r\n }\r\n}\r\nexports.MathText = MathText;\r\n\n\n/***/ }),\n/* 235 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(236));\r\n__export(__webpack_require__(87));\r\n__export(__webpack_require__(88));\r\n\n\n/***/ }),\n/* 236 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst math_denominator_1 = __webpack_require__(87);\r\nconst math_numerator_1 = __webpack_require__(88);\r\nclass MathFraction extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:f\");\r\n this.root.push(new math_numerator_1.MathNumerator(options.numerator));\r\n this.root.push(new math_denominator_1.MathDenominator(options.denominator));\r\n }\r\n}\r\nexports.MathFraction = MathFraction;\r\n\n\n/***/ }),\n/* 237 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathSubScriptHideAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { hide: \"m:val\" };\r\n }\r\n}\r\nclass MathSubScriptHide extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"m:subHide\");\r\n this.root.push(new MathSubScriptHideAttributes({ hide: 1 }));\r\n }\r\n}\r\nexports.MathSubScriptHide = MathSubScriptHide;\r\n\n\n/***/ }),\n/* 238 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathSuperScriptHideAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { hide: \"m:val\" };\r\n }\r\n}\r\nclass MathSuperScriptHide extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"m:supHide\");\r\n this.root.push(new MathSuperScriptHideAttributes({ hide: 1 }));\r\n }\r\n}\r\nexports.MathSuperScriptHide = MathSuperScriptHide;\r\n\n\n/***/ }),\n/* 239 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst math_base_1 = __webpack_require__(90);\r\nconst math_naray_properties_1 = __webpack_require__(92);\r\nconst math_sub_script_1 = __webpack_require__(93);\r\nconst math_super_script_1 = __webpack_require__(94);\r\nclass MathSum extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:nary\");\r\n this.root.push(new math_naray_properties_1.MathNArayProperties(\"∑\", !!options.superScript, !!options.subScript));\r\n if (!!options.subScript) {\r\n this.root.push(new math_sub_script_1.MathSubScriptElement(options.subScript));\r\n }\r\n if (!!options.superScript) {\r\n this.root.push(new math_super_script_1.MathSuperScriptElement(options.superScript));\r\n }\r\n this.root.push(new math_base_1.MathBase(options.children));\r\n }\r\n}\r\nexports.MathSum = MathSum;\r\n\n\n/***/ }),\n/* 240 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(241));\r\n__export(__webpack_require__(243));\r\n__export(__webpack_require__(245));\r\n__export(__webpack_require__(247));\r\n\n\n/***/ }),\n/* 241 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(242));\r\n__export(__webpack_require__(95));\r\n\n\n/***/ }),\n/* 242 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst n_ary_1 = __webpack_require__(2);\r\nconst math_super_script_function_properties_1 = __webpack_require__(95);\r\nclass MathSuperScript extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:sSup\");\r\n this.root.push(new math_super_script_function_properties_1.MathSuperScriptProperties());\r\n this.root.push(new n_ary_1.MathBase(options.children));\r\n this.root.push(new n_ary_1.MathSuperScriptElement(options.superScript));\r\n }\r\n}\r\nexports.MathSuperScript = MathSuperScript;\r\n\n\n/***/ }),\n/* 243 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(244));\r\n__export(__webpack_require__(96));\r\n\n\n/***/ }),\n/* 244 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst n_ary_1 = __webpack_require__(2);\r\nconst math_sub_script_function_properties_1 = __webpack_require__(96);\r\nclass MathSubScript extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:sSub\");\r\n this.root.push(new math_sub_script_function_properties_1.MathSubScriptProperties());\r\n this.root.push(new n_ary_1.MathBase(options.children));\r\n this.root.push(new n_ary_1.MathSubScriptElement(options.subScript));\r\n }\r\n}\r\nexports.MathSubScript = MathSubScript;\r\n\n\n/***/ }),\n/* 245 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(246));\r\n__export(__webpack_require__(97));\r\n\n\n/***/ }),\n/* 246 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst n_ary_1 = __webpack_require__(2);\r\nconst math_sub_super_script_function_properties_1 = __webpack_require__(97);\r\nclass MathSubSuperScript extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:sSubSup\");\r\n this.root.push(new math_sub_super_script_function_properties_1.MathSubSuperScriptProperties());\r\n this.root.push(new n_ary_1.MathBase(options.children));\r\n this.root.push(new n_ary_1.MathSubScriptElement(options.subScript));\r\n this.root.push(new n_ary_1.MathSuperScriptElement(options.superScript));\r\n }\r\n}\r\nexports.MathSubSuperScript = MathSubSuperScript;\r\n\n\n/***/ }),\n/* 247 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(248));\r\n__export(__webpack_require__(98));\r\n\n\n/***/ }),\n/* 248 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst n_ary_1 = __webpack_require__(2);\r\nconst math_pre_sub_super_script_function_properties_1 = __webpack_require__(98);\r\nclass MathPreSubSuperScript extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:sPre\");\r\n this.root.push(new math_pre_sub_super_script_function_properties_1.MathPreSubSuperScriptProperties());\r\n this.root.push(new n_ary_1.MathBase(options.children));\r\n this.root.push(new n_ary_1.MathSubScriptElement(options.subScript));\r\n this.root.push(new n_ary_1.MathSuperScriptElement(options.superScript));\r\n }\r\n}\r\nexports.MathPreSubSuperScript = MathPreSubSuperScript;\r\n\n\n/***/ }),\n/* 249 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.WORKAROUND4 = \"\";\r\n\n\n/***/ }),\n/* 250 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(99));\r\n__export(__webpack_require__(251));\r\n__export(__webpack_require__(100));\r\n\n\n/***/ }),\n/* 251 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst n_ary_1 = __webpack_require__(2);\r\nconst math_degree_1 = __webpack_require__(99);\r\nconst math_radical_properties_1 = __webpack_require__(100);\r\nclass MathRadical extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:rad\");\r\n this.root.push(new math_radical_properties_1.MathRadicalProperties(!!options.degree));\r\n this.root.push(new math_degree_1.MathDegree(options.degree));\r\n this.root.push(new n_ary_1.MathBase(options.children));\r\n }\r\n}\r\nexports.MathRadical = MathRadical;\r\n\n\n/***/ }),\n/* 252 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathDegreeHideAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { hide: \"m:val\" };\r\n }\r\n}\r\nclass MathDegreeHide extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"m:degHide\");\r\n this.root.push(new MathDegreeHideAttributes({ hide: 1 }));\r\n }\r\n}\r\nexports.MathDegreeHide = MathDegreeHide;\r\n\n\n/***/ }),\n/* 253 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(254));\r\n__export(__webpack_require__(101));\r\n__export(__webpack_require__(102));\r\n\n\n/***/ }),\n/* 254 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst n_ary_1 = __webpack_require__(2);\r\nconst math_function_name_1 = __webpack_require__(101);\r\nconst math_function_properties_1 = __webpack_require__(102);\r\nclass MathFunction extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:func\");\r\n this.root.push(new math_function_properties_1.MathFunctionProperties());\r\n this.root.push(new math_function_name_1.MathFunctionName(options.name));\r\n this.root.push(new n_ary_1.MathBase(options.children));\r\n }\r\n}\r\nexports.MathFunction = MathFunction;\r\n\n\n/***/ }),\n/* 255 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(256));\r\n__export(__webpack_require__(259));\r\n__export(__webpack_require__(260));\r\n__export(__webpack_require__(261));\r\n\n\n/***/ }),\n/* 256 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst n_ary_1 = __webpack_require__(2);\r\nconst math_bracket_properties_1 = __webpack_require__(22);\r\nclass MathRoundBrackets extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:d\");\r\n this.root.push(new math_bracket_properties_1.MathBracketProperties());\r\n this.root.push(new n_ary_1.MathBase(options.children));\r\n }\r\n}\r\nexports.MathRoundBrackets = MathRoundBrackets;\r\n\n\n/***/ }),\n/* 257 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathBeginningCharacterAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { character: \"m:val\" };\r\n }\r\n}\r\nclass MathBeginningCharacter extends xml_components_1.XmlComponent {\r\n constructor(character) {\r\n super(\"m:begChr\");\r\n this.root.push(new MathBeginningCharacterAttributes({ character }));\r\n }\r\n}\r\nexports.MathBeginningCharacter = MathBeginningCharacter;\r\n\n\n/***/ }),\n/* 258 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MathEndingCharacterAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { character: \"m:val\" };\r\n }\r\n}\r\nclass MathEndingCharacter extends xml_components_1.XmlComponent {\r\n constructor(character) {\r\n super(\"m:endChr\");\r\n this.root.push(new MathEndingCharacterAttributes({ character }));\r\n }\r\n}\r\nexports.MathEndingCharacter = MathEndingCharacter;\r\n\n\n/***/ }),\n/* 259 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst n_ary_1 = __webpack_require__(2);\r\nconst math_bracket_properties_1 = __webpack_require__(22);\r\nclass MathSquareBrackets extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:d\");\r\n this.root.push(new math_bracket_properties_1.MathBracketProperties({\r\n beginningCharacter: \"[\",\r\n endingCharacter: \"]\",\r\n }));\r\n this.root.push(new n_ary_1.MathBase(options.children));\r\n }\r\n}\r\nexports.MathSquareBrackets = MathSquareBrackets;\r\n\n\n/***/ }),\n/* 260 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst n_ary_1 = __webpack_require__(2);\r\nconst math_bracket_properties_1 = __webpack_require__(22);\r\nclass MathCurlyBrackets extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:d\");\r\n this.root.push(new math_bracket_properties_1.MathBracketProperties({\r\n beginningCharacter: \"{\",\r\n endingCharacter: \"}\",\r\n }));\r\n this.root.push(new n_ary_1.MathBase(options.children));\r\n }\r\n}\r\nexports.MathCurlyBrackets = MathCurlyBrackets;\r\n\n\n/***/ }),\n/* 261 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst n_ary_1 = __webpack_require__(2);\r\nconst math_bracket_properties_1 = __webpack_require__(22);\r\nclass MathAngledBrackets extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"m:d\");\r\n this.root.push(new math_bracket_properties_1.MathBracketProperties({\r\n beginningCharacter: \"〈\",\r\n endingCharacter: \"〉\",\r\n }));\r\n this.root.push(new n_ary_1.MathBase(options.children));\r\n }\r\n}\r\nexports.MathAngledBrackets = MathAngledBrackets;\r\n\n\n/***/ }),\n/* 262 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(263));\r\n__export(__webpack_require__(10));\r\n__export(__webpack_require__(103));\r\n__export(__webpack_require__(39));\r\n__export(__webpack_require__(278));\r\n\n\n/***/ }),\n/* 263 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst grid_1 = __webpack_require__(264);\r\nconst table_cell_1 = __webpack_require__(10);\r\nconst table_properties_1 = __webpack_require__(103);\r\nclass Table extends xml_components_1.XmlComponent {\r\n constructor({ rows, width, columnWidths = Array(Math.max(...rows.map((row) => row.CellCount))).fill(100), margins: { marginUnitType, top, bottom, right, left } = { marginUnitType: table_cell_1.WidthType.AUTO, top: 0, bottom: 0, right: 0, left: 0 }, float, layout, borders, alignment, }) {\r\n super(\"w:tbl\");\r\n this.properties = new table_properties_1.TableProperties();\r\n this.root.push(this.properties);\r\n if (borders) {\r\n this.properties.setBorder(borders);\r\n }\r\n else {\r\n this.properties.setBorder({});\r\n }\r\n if (width) {\r\n this.properties.setWidth(width.size, width.type);\r\n }\r\n else {\r\n this.properties.setWidth(100);\r\n }\r\n this.properties.CellMargin.addBottomMargin(bottom || 0, marginUnitType);\r\n this.properties.CellMargin.addTopMargin(top || 0, marginUnitType);\r\n this.properties.CellMargin.addLeftMargin(left || 0, marginUnitType);\r\n this.properties.CellMargin.addRightMargin(right || 0, marginUnitType);\r\n this.root.push(new grid_1.TableGrid(columnWidths));\r\n for (const row of rows) {\r\n this.root.push(row);\r\n }\r\n rows.forEach((row, rowIndex) => {\r\n if (rowIndex === rows.length - 1) {\r\n return;\r\n }\r\n let columnIndex = 0;\r\n row.cells.forEach((cell) => {\r\n if (cell.options.rowSpan && cell.options.rowSpan > 1) {\r\n const continueCell = new table_cell_1.TableCell({\r\n rowSpan: cell.options.rowSpan - 1,\r\n columnSpan: cell.options.columnSpan,\r\n borders: cell.options.borders,\r\n children: [],\r\n verticalMerge: table_cell_1.VerticalMergeType.CONTINUE,\r\n });\r\n rows[rowIndex + 1].addCellToColumnIndex(continueCell, columnIndex);\r\n }\r\n columnIndex += cell.options.columnSpan || 1;\r\n });\r\n });\r\n if (float) {\r\n this.properties.setTableFloatProperties(float);\r\n }\r\n if (layout) {\r\n this.properties.setLayout(layout);\r\n }\r\n if (alignment) {\r\n this.properties.setAlignment(alignment);\r\n }\r\n }\r\n}\r\nexports.Table = Table;\r\n\n\n/***/ }),\n/* 264 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TableGrid extends xml_components_1.XmlComponent {\r\n constructor(widths) {\r\n super(\"w:tblGrid\");\r\n for (const width of widths) {\r\n this.root.push(new GridCol(width));\r\n }\r\n }\r\n}\r\nexports.TableGrid = TableGrid;\r\nclass GridColAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { w: \"w:w\" };\r\n }\r\n}\r\nclass GridCol extends xml_components_1.XmlComponent {\r\n constructor(width) {\r\n super(\"w:gridCol\");\r\n if (width !== undefined) {\r\n this.root.push(new GridColAttributes({ w: width }));\r\n }\r\n }\r\n}\r\nexports.GridCol = GridCol;\r\n\n\n/***/ }),\n/* 265 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst paragraph_1 = __webpack_require__(1);\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst table_cell_components_1 = __webpack_require__(38);\r\nconst table_cell_properties_1 = __webpack_require__(266);\r\nclass TableCell extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:tc\");\r\n this.options = options;\r\n this.properties = new table_cell_properties_1.TableCellProperties();\r\n this.root.push(this.properties);\r\n for (const child of options.children) {\r\n this.root.push(child);\r\n }\r\n if (options.verticalAlign) {\r\n this.properties.setVerticalAlign(options.verticalAlign);\r\n }\r\n if (options.textDirection) {\r\n this.properties.setTextDirection(options.textDirection);\r\n }\r\n if (options.verticalMerge) {\r\n this.properties.addVerticalMerge(options.verticalMerge);\r\n }\r\n else if (options.rowSpan && options.rowSpan > 1) {\r\n this.properties.addVerticalMerge(table_cell_components_1.VerticalMergeType.RESTART);\r\n }\r\n if (options.margins) {\r\n this.properties.addMargins(options.margins);\r\n }\r\n if (options.shading) {\r\n this.properties.setShading(options.shading);\r\n }\r\n if (options.columnSpan) {\r\n this.properties.addGridSpan(options.columnSpan);\r\n }\r\n if (options.width) {\r\n this.properties.setWidth(options.width.size, options.width.type);\r\n }\r\n if (options.borders) {\r\n if (options.borders.top) {\r\n this.properties.Borders.addTopBorder(options.borders.top.style, options.borders.top.size, options.borders.top.color);\r\n }\r\n if (options.borders.bottom) {\r\n this.properties.Borders.addBottomBorder(options.borders.bottom.style, options.borders.bottom.size, options.borders.bottom.color);\r\n }\r\n if (options.borders.left) {\r\n this.properties.Borders.addLeftBorder(options.borders.left.style, options.borders.left.size, options.borders.left.color);\r\n }\r\n if (options.borders.right) {\r\n this.properties.Borders.addRightBorder(options.borders.right.style, options.borders.right.size, options.borders.right.color);\r\n }\r\n }\r\n }\r\n prepForXml(file) {\r\n if (!(this.root[this.root.length - 1] instanceof paragraph_1.Paragraph)) {\r\n this.root.push(new paragraph_1.Paragraph({}));\r\n }\r\n return super.prepForXml(file);\r\n }\r\n}\r\nexports.TableCell = TableCell;\r\n\n\n/***/ }),\n/* 266 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst shading_1 = __webpack_require__(39);\r\nconst table_cell_margins_1 = __webpack_require__(268);\r\nconst table_cell_components_1 = __webpack_require__(38);\r\nclass TableCellProperties extends xml_components_1.IgnoreIfEmptyXmlComponent {\r\n constructor() {\r\n super(\"w:tcPr\");\r\n this.cellBorder = new table_cell_components_1.TableCellBorders();\r\n this.root.push(this.cellBorder);\r\n }\r\n get Borders() {\r\n return this.cellBorder;\r\n }\r\n addGridSpan(cellSpan) {\r\n this.root.push(new table_cell_components_1.GridSpan(cellSpan));\r\n return this;\r\n }\r\n addVerticalMerge(type) {\r\n this.root.push(new table_cell_components_1.VerticalMerge(type));\r\n return this;\r\n }\r\n setVerticalAlign(type) {\r\n this.root.push(new table_cell_components_1.VAlign(type));\r\n return this;\r\n }\r\n setWidth(width, type = table_cell_components_1.WidthType.AUTO) {\r\n this.root.push(new table_cell_components_1.TableCellWidth(width, type));\r\n return this;\r\n }\r\n setShading(attrs) {\r\n this.root.push(new shading_1.TableShading(attrs));\r\n return this;\r\n }\r\n addMargins(options) {\r\n this.root.push(new table_cell_margins_1.TableCellMargin(options));\r\n return this;\r\n }\r\n setTextDirection(type) {\r\n this.root.push(new table_cell_components_1.TDirection(type));\r\n return this;\r\n }\r\n}\r\nexports.TableCellProperties = TableCellProperties;\r\n\n\n/***/ }),\n/* 267 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TableShadingAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n fill: \"w:fill\",\r\n color: \"w:color\",\r\n val: \"w:val\",\r\n };\r\n }\r\n}\r\nclass TableShading extends xml_components_1.XmlComponent {\r\n constructor(attrs) {\r\n super(\"w:shd\");\r\n this.root.push(new TableShadingAttributes(attrs));\r\n }\r\n}\r\nexports.TableShading = TableShading;\r\nvar ShadingType;\r\n(function (ShadingType) {\r\n ShadingType[\"CLEAR\"] = \"clear\";\r\n ShadingType[\"DIAGONAL_CROSS\"] = \"diagCross\";\r\n ShadingType[\"DIAGONAL_STRIPE\"] = \"diagStripe\";\r\n ShadingType[\"HORIZONTAL_CROSS\"] = \"horzCross\";\r\n ShadingType[\"HORIZONTAL_STRIPE\"] = \"horzStripe\";\r\n ShadingType[\"NIL\"] = \"nil\";\r\n ShadingType[\"PERCENT_5\"] = \"pct5\";\r\n ShadingType[\"PERCENT_10\"] = \"pct10\";\r\n ShadingType[\"PERCENT_12\"] = \"pct12\";\r\n ShadingType[\"PERCENT_15\"] = \"pct15\";\r\n ShadingType[\"PERCENT_20\"] = \"pct20\";\r\n ShadingType[\"PERCENT_25\"] = \"pct25\";\r\n ShadingType[\"PERCENT_30\"] = \"pct30\";\r\n ShadingType[\"PERCENT_35\"] = \"pct35\";\r\n ShadingType[\"PERCENT_37\"] = \"pct37\";\r\n ShadingType[\"PERCENT_40\"] = \"pct40\";\r\n ShadingType[\"PERCENT_45\"] = \"pct45\";\r\n ShadingType[\"PERCENT_50\"] = \"pct50\";\r\n ShadingType[\"PERCENT_55\"] = \"pct55\";\r\n ShadingType[\"PERCENT_60\"] = \"pct60\";\r\n ShadingType[\"PERCENT_62\"] = \"pct62\";\r\n ShadingType[\"PERCENT_65\"] = \"pct65\";\r\n ShadingType[\"PERCENT_70\"] = \"pct70\";\r\n ShadingType[\"PERCENT_75\"] = \"pct75\";\r\n ShadingType[\"PERCENT_80\"] = \"pct80\";\r\n ShadingType[\"PERCENT_85\"] = \"pct85\";\r\n ShadingType[\"PERCENT_87\"] = \"pct87\";\r\n ShadingType[\"PERCENT_90\"] = \"pct90\";\r\n ShadingType[\"PERCENT_95\"] = \"pct95\";\r\n ShadingType[\"REVERSE_DIAGONAL_STRIPE\"] = \"reverseDiagStripe\";\r\n ShadingType[\"SOLID\"] = \"solid\";\r\n ShadingType[\"THIN_DIAGONAL_CROSS\"] = \"thinDiagCross\";\r\n ShadingType[\"THIN_DIAGONAL_STRIPE\"] = \"thinDiagStripe\";\r\n ShadingType[\"THIN_HORIZONTAL_CROSS\"] = \"thinHorzCross\";\r\n ShadingType[\"THIN_REVERSE_DIAGONAL_STRIPE\"] = \"thinReverseDiagStripe\";\r\n ShadingType[\"THIN_VERTICAL_STRIPE\"] = \"thinVertStripe\";\r\n ShadingType[\"VERTICAL_STRIPE\"] = \"vertStripe\";\r\n})(ShadingType = exports.ShadingType || (exports.ShadingType = {}));\r\n\n\n/***/ }),\n/* 268 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst cell_margin_1 = __webpack_require__(269);\r\nclass TableCellMargin extends xml_components_1.XmlComponent {\r\n constructor({ top = 0, left = 0, right = 0, bottom = 0 }) {\r\n super(\"w:tcMar\");\r\n this.root.push(new cell_margin_1.TopCellMargin(top));\r\n this.root.push(new cell_margin_1.BottomCellMargin(bottom));\r\n this.root.push(new cell_margin_1.RightCellMargin(right));\r\n this.root.push(new cell_margin_1.LeftCellMargin(left));\r\n }\r\n}\r\nexports.TableCellMargin = TableCellMargin;\r\n\n\n/***/ }),\n/* 269 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass CellMarginAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { width: \"w:w\", type: \"w:type\" };\r\n }\r\n}\r\nclass TopCellMargin extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:top\");\r\n this.root.push(new CellMarginAttributes({\r\n width: value,\r\n type: \"dxa\",\r\n }));\r\n }\r\n}\r\nexports.TopCellMargin = TopCellMargin;\r\nclass BottomCellMargin extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:bottom\");\r\n this.root.push(new CellMarginAttributes({\r\n width: value,\r\n type: \"dxa\",\r\n }));\r\n }\r\n}\r\nexports.BottomCellMargin = BottomCellMargin;\r\nclass LeftCellMargin extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:start\");\r\n this.root.push(new CellMarginAttributes({\r\n width: value,\r\n type: \"dxa\",\r\n }));\r\n }\r\n}\r\nexports.LeftCellMargin = LeftCellMargin;\r\nclass RightCellMargin extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:end\");\r\n this.root.push(new CellMarginAttributes({\r\n width: value,\r\n type: \"dxa\",\r\n }));\r\n }\r\n}\r\nexports.RightCellMargin = RightCellMargin;\r\n\n\n/***/ }),\n/* 270 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst paragraph_1 = __webpack_require__(1);\r\nconst shading_1 = __webpack_require__(39);\r\nconst table_cell_1 = __webpack_require__(10);\r\nconst table_borders_1 = __webpack_require__(104);\r\nconst table_cell_margin_1 = __webpack_require__(276);\r\nconst table_float_properties_1 = __webpack_require__(109);\r\nconst table_layout_1 = __webpack_require__(111);\r\nconst table_width_1 = __webpack_require__(277);\r\nclass TableProperties extends xml_components_1.IgnoreIfEmptyXmlComponent {\r\n constructor() {\r\n super(\"w:tblPr\");\r\n this.cellMargin = new table_cell_margin_1.TableCellMargin();\r\n this.root.push(this.cellMargin);\r\n }\r\n setWidth(width, type = table_cell_1.WidthType.AUTO) {\r\n this.root.push(new table_width_1.PreferredTableWidth(type, width));\r\n return this;\r\n }\r\n setLayout(type) {\r\n this.root.push(new table_layout_1.TableLayout(type));\r\n }\r\n setBorder(borderOptions) {\r\n this.root.push(new table_borders_1.TableBorders(borderOptions));\r\n return this;\r\n }\r\n get CellMargin() {\r\n return this.cellMargin;\r\n }\r\n setTableFloatProperties(tableFloatOptions) {\r\n this.root.push(new table_float_properties_1.TableFloatProperties(tableFloatOptions));\r\n return this;\r\n }\r\n setShading(attrs) {\r\n this.root.push(new shading_1.TableShading(attrs));\r\n return this;\r\n }\r\n setAlignment(type) {\r\n this.root.push(new paragraph_1.Alignment(type));\r\n }\r\n}\r\nexports.TableProperties = TableProperties;\r\n\n\n/***/ }),\n/* 271 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst style_1 = __webpack_require__(105);\r\n__export(__webpack_require__(273));\r\nclass Styles extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:styles\");\r\n if (options.initialStyles) {\r\n this.root.push(options.initialStyles);\r\n }\r\n if (options.importedStyles) {\r\n for (const style of options.importedStyles) {\r\n this.root.push(style);\r\n }\r\n }\r\n if (options.paragraphStyles) {\r\n for (const style of options.paragraphStyles) {\r\n this.root.push(new style_1.StyleForParagraph(style));\r\n }\r\n }\r\n if (options.characterStyles) {\r\n for (const style of options.characterStyles) {\r\n this.root.push(new style_1.StyleForCharacter(style));\r\n }\r\n }\r\n }\r\n}\r\nexports.Styles = Styles;\r\n\n\n/***/ }),\n/* 272 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst underline_1 = __webpack_require__(19);\r\nconst character_style_1 = __webpack_require__(43);\r\nconst paragraph_style_1 = __webpack_require__(42);\r\nclass HeadingStyle extends paragraph_style_1.StyleForParagraph {\r\n constructor(options) {\r\n super(Object.assign({}, options, { basedOn: \"Normal\", next: \"Normal\", quickFormat: true }));\r\n }\r\n}\r\nexports.HeadingStyle = HeadingStyle;\r\nclass TitleStyle extends HeadingStyle {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"Title\", name: \"Title\" }));\r\n }\r\n}\r\nexports.TitleStyle = TitleStyle;\r\nclass Heading1Style extends HeadingStyle {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"Heading1\", name: \"Heading 1\" }));\r\n }\r\n}\r\nexports.Heading1Style = Heading1Style;\r\nclass Heading2Style extends HeadingStyle {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"Heading2\", name: \"Heading 2\" }));\r\n }\r\n}\r\nexports.Heading2Style = Heading2Style;\r\nclass Heading3Style extends HeadingStyle {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"Heading3\", name: \"Heading 3\" }));\r\n }\r\n}\r\nexports.Heading3Style = Heading3Style;\r\nclass Heading4Style extends HeadingStyle {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"Heading4\", name: \"Heading 4\" }));\r\n }\r\n}\r\nexports.Heading4Style = Heading4Style;\r\nclass Heading5Style extends HeadingStyle {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"Heading5\", name: \"Heading 5\" }));\r\n }\r\n}\r\nexports.Heading5Style = Heading5Style;\r\nclass Heading6Style extends HeadingStyle {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"Heading6\", name: \"Heading 6\" }));\r\n }\r\n}\r\nexports.Heading6Style = Heading6Style;\r\nclass StrongStyle extends HeadingStyle {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"Strong\", name: \"Strong\" }));\r\n }\r\n}\r\nexports.StrongStyle = StrongStyle;\r\nclass ListParagraph extends paragraph_style_1.StyleForParagraph {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"ListParagraph\", name: \"List Paragraph\", basedOn: \"Normal\", quickFormat: true }));\r\n }\r\n}\r\nexports.ListParagraph = ListParagraph;\r\nclass FootnoteText extends paragraph_style_1.StyleForParagraph {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"FootnoteText\", name: \"footnote text\", link: \"FootnoteTextChar\", basedOn: \"Normal\", uiPriority: 99, semiHidden: true, unhideWhenUsed: true, paragraph: {\r\n spacing: {\r\n after: 0,\r\n line: 240,\r\n lineRule: \"auto\",\r\n },\r\n }, run: {\r\n size: 20,\r\n } }));\r\n }\r\n}\r\nexports.FootnoteText = FootnoteText;\r\nclass FootnoteReferenceStyle extends character_style_1.StyleForCharacter {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"FootnoteReference\", name: \"footnote reference\", basedOn: \"DefaultParagraphFont\", semiHidden: true, run: {\r\n superScript: true,\r\n } }));\r\n }\r\n}\r\nexports.FootnoteReferenceStyle = FootnoteReferenceStyle;\r\nclass FootnoteTextChar extends character_style_1.StyleForCharacter {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"FootnoteTextChar\", name: \"Footnote Text Char\", basedOn: \"DefaultParagraphFont\", link: \"FootnoteText\", semiHidden: true, run: {\r\n size: 20,\r\n } }));\r\n }\r\n}\r\nexports.FootnoteTextChar = FootnoteTextChar;\r\nclass HyperlinkStyle extends character_style_1.StyleForCharacter {\r\n constructor(options) {\r\n super(Object.assign({}, options, { id: \"Hyperlink\", name: \"Hyperlink\", basedOn: \"DefaultParagraphFont\", run: {\r\n color: \"0563C1\",\r\n underline: {\r\n type: underline_1.UnderlineType.SINGLE,\r\n },\r\n } }));\r\n }\r\n}\r\nexports.HyperlinkStyle = HyperlinkStyle;\r\n\n\n/***/ }),\n/* 273 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(274));\r\n\n\n/***/ }),\n/* 274 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar BorderStyle;\r\n(function (BorderStyle) {\r\n BorderStyle[\"SINGLE\"] = \"single\";\r\n BorderStyle[\"DASH_DOT_STROKED\"] = \"dashDotStroked\";\r\n BorderStyle[\"DASHED\"] = \"dashed\";\r\n BorderStyle[\"DASH_SMALL_GAP\"] = \"dashSmallGap\";\r\n BorderStyle[\"DOT_DASH\"] = \"dotDash\";\r\n BorderStyle[\"DOT_DOT_DASH\"] = \"dotDotDash\";\r\n BorderStyle[\"DOTTED\"] = \"dotted\";\r\n BorderStyle[\"DOUBLE\"] = \"double\";\r\n BorderStyle[\"DOUBLE_WAVE\"] = \"doubleWave\";\r\n BorderStyle[\"INSET\"] = \"inset\";\r\n BorderStyle[\"NIL\"] = \"nil\";\r\n BorderStyle[\"NONE\"] = \"none\";\r\n BorderStyle[\"OUTSET\"] = \"outset\";\r\n BorderStyle[\"THICK\"] = \"thick\";\r\n BorderStyle[\"THICK_THIN_LARGE_GAP\"] = \"thickThinLargeGap\";\r\n BorderStyle[\"THICK_THIN_MEDIUM_GAP\"] = \"thickThinMediumGap\";\r\n BorderStyle[\"THICK_THIN_SMALL_GAP\"] = \"thickThinSmallGap\";\r\n BorderStyle[\"THIN_THICK_LARGE_GAP\"] = \"thinThickLargeGap\";\r\n BorderStyle[\"THIN_THICK_MEDIUM_GAP\"] = \"thinThickMediumGap\";\r\n BorderStyle[\"THIN_THICK_SMALL_GAP\"] = \"thinThickSmallGap\";\r\n BorderStyle[\"THIN_THICK_THIN_LARGE_GAP\"] = \"thinThickThinLargeGap\";\r\n BorderStyle[\"THIN_THICK_THIN_MEDIUM_GAP\"] = \"thinThickThinMediumGap\";\r\n BorderStyle[\"THIN_THICK_THIN_SMALL_GAP\"] = \"thinThickThinSmallGap\";\r\n BorderStyle[\"THREE_D_EMBOSS\"] = \"threeDEmboss\";\r\n BorderStyle[\"THREE_D_ENGRAVE\"] = \"threeDEngrave\";\r\n BorderStyle[\"TRIPLE\"] = \"triple\";\r\n BorderStyle[\"WAVE\"] = \"wave\";\r\n})(BorderStyle = exports.BorderStyle || (exports.BorderStyle = {}));\r\n\n\n/***/ }),\n/* 275 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst paragraph_properties_1 = __webpack_require__(107);\r\nconst run_properties_1 = __webpack_require__(108);\r\nclass DocumentDefaults extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:docDefaults\");\r\n this.runPropertiesDefaults = new run_properties_1.RunPropertiesDefaults(options && options.run);\r\n this.paragraphPropertiesDefaults = new paragraph_properties_1.ParagraphPropertiesDefaults(options && options.paragraph);\r\n this.root.push(this.runPropertiesDefaults);\r\n this.root.push(this.paragraphPropertiesDefaults);\r\n }\r\n}\r\nexports.DocumentDefaults = DocumentDefaults;\r\n\n\n/***/ }),\n/* 276 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst table_cell_1 = __webpack_require__(10);\r\nclass TableCellMarginAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { value: \"w:w\", type: \"w:type\" };\r\n }\r\n}\r\nclass BaseTableCellMargin extends xml_components_1.XmlComponent {\r\n setProperties(value, type = table_cell_1.WidthType.DXA) {\r\n this.root.push(new TableCellMarginAttributes({\r\n type: type,\r\n value: value,\r\n }));\r\n }\r\n}\r\nclass TableCellMargin extends xml_components_1.IgnoreIfEmptyXmlComponent {\r\n constructor() {\r\n super(\"w:tblCellMar\");\r\n }\r\n addTopMargin(value, type = table_cell_1.WidthType.DXA) {\r\n const top = new BaseTableCellMargin(\"w:top\");\r\n top.setProperties(value, type);\r\n this.root.push(top);\r\n }\r\n addLeftMargin(value, type = table_cell_1.WidthType.DXA) {\r\n const left = new BaseTableCellMargin(\"w:left\");\r\n left.setProperties(value, type);\r\n this.root.push(left);\r\n }\r\n addBottomMargin(value, type = table_cell_1.WidthType.DXA) {\r\n const bottom = new BaseTableCellMargin(\"w:bottom\");\r\n bottom.setProperties(value, type);\r\n this.root.push(bottom);\r\n }\r\n addRightMargin(value, type = table_cell_1.WidthType.DXA) {\r\n const right = new BaseTableCellMargin(\"w:right\");\r\n right.setProperties(value, type);\r\n this.root.push(right);\r\n }\r\n}\r\nexports.TableCellMargin = TableCellMargin;\r\n\n\n/***/ }),\n/* 277 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst table_cell_1 = __webpack_require__(10);\r\nclass TableWidthAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { type: \"w:type\", w: \"w:w\" };\r\n }\r\n}\r\nclass PreferredTableWidth extends xml_components_1.XmlComponent {\r\n constructor(type, w) {\r\n super(\"w:tblW\");\r\n const width = type === table_cell_1.WidthType.PERCENTAGE ? `${w}%` : w;\r\n this.root.push(new TableWidthAttributes({ type: type, w: width }));\r\n }\r\n}\r\nexports.PreferredTableWidth = PreferredTableWidth;\r\n\n\n/***/ }),\n/* 278 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(279));\r\n__export(__webpack_require__(112));\r\n__export(__webpack_require__(113));\r\n\n\n/***/ }),\n/* 279 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst table_cell_1 = __webpack_require__(10);\r\nconst table_row_properties_1 = __webpack_require__(112);\r\nclass TableRow extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:tr\");\r\n this.options = options;\r\n this.properties = new table_row_properties_1.TableRowProperties();\r\n this.root.push(this.properties);\r\n for (const child of options.children) {\r\n this.root.push(child);\r\n }\r\n if (options.cantSplit) {\r\n this.properties.setCantSplit();\r\n }\r\n if (options.tableHeader) {\r\n this.properties.setTableHeader();\r\n }\r\n if (options.height) {\r\n this.properties.setHeight(options.height.height, options.height.rule);\r\n }\r\n }\r\n get CellCount() {\r\n return this.options.children.length;\r\n }\r\n get Children() {\r\n return this.options.children;\r\n }\r\n get cells() {\r\n return this.root.filter((xmlComponent) => xmlComponent instanceof table_cell_1.TableCell);\r\n }\r\n addCellToIndex(cell, index) {\r\n this.root.splice(index + 1, 0, cell);\r\n }\r\n addCellToColumnIndex(cell, columnIndex) {\r\n const rootIndex = this.columnIndexToRootIndex(columnIndex, true);\r\n this.addCellToIndex(cell, rootIndex - 1);\r\n }\r\n rootIndexToColumnIndex(rootIndex) {\r\n if (rootIndex < 1 || rootIndex >= this.root.length) {\r\n throw new Error(`cell 'rootIndex' should between 1 to ${this.root.length - 1}`);\r\n }\r\n let colIdx = 0;\r\n for (let rootIdx = 1; rootIdx < rootIndex; rootIdx++) {\r\n const cell = this.root[rootIdx];\r\n colIdx += cell.options.columnSpan || 1;\r\n }\r\n return colIdx;\r\n }\r\n columnIndexToRootIndex(columnIndex, allowEndNewCell = false) {\r\n if (columnIndex < 0) {\r\n throw new Error(`cell 'columnIndex' should not less than zero`);\r\n }\r\n let colIdx = 0;\r\n let rootIdx = 1;\r\n while (colIdx <= columnIndex) {\r\n if (rootIdx >= this.root.length) {\r\n if (allowEndNewCell) {\r\n return this.root.length;\r\n }\r\n else {\r\n throw new Error(`cell 'columnIndex' should not great than ${colIdx - 1}`);\r\n }\r\n }\r\n const cell = this.root[rootIdx];\r\n rootIdx += 1;\r\n colIdx += (cell && cell.options.columnSpan) || 1;\r\n }\r\n return rootIdx - 1;\r\n }\r\n}\r\nexports.TableRow = TableRow;\r\n\n\n/***/ }),\n/* 280 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst shortid = __webpack_require__(86);\r\nconst app_properties_1 = __webpack_require__(281);\r\nconst content_types_1 = __webpack_require__(283);\r\nconst core_properties_1 = __webpack_require__(289);\r\nconst document_1 = __webpack_require__(114);\r\nconst section_properties_1 = __webpack_require__(129);\r\nconst footer_wrapper_1 = __webpack_require__(46);\r\nconst footnotes_1 = __webpack_require__(131);\r\nconst header_1 = __webpack_require__(132);\r\nconst header_wrapper_1 = __webpack_require__(49);\r\nconst media_1 = __webpack_require__(50);\r\nconst numbering_1 = __webpack_require__(133);\r\nconst paragraph_1 = __webpack_require__(1);\r\nconst relationships_1 = __webpack_require__(47);\r\nconst relationship_1 = __webpack_require__(48);\r\nconst settings_1 = __webpack_require__(332);\r\nconst styles_1 = __webpack_require__(23);\r\nconst external_styles_factory_1 = __webpack_require__(337);\r\nconst factory_1 = __webpack_require__(338);\r\nclass File {\r\n constructor(options = {\r\n creator: \"Un-named\",\r\n revision: \"1\",\r\n lastModifiedBy: \"Un-named\",\r\n }, fileProperties = {}, sections = []) {\r\n this.currentRelationshipId = 1;\r\n this.headers = [];\r\n this.footers = [];\r\n this.hyperlinkCache = {};\r\n this.coreProperties = new core_properties_1.CoreProperties(options);\r\n this.numbering = new numbering_1.Numbering(options.numbering\r\n ? options.numbering\r\n : {\r\n config: [],\r\n });\r\n this.docRelationships = new relationships_1.Relationships();\r\n this.fileRelationships = new relationships_1.Relationships();\r\n this.appProperties = new app_properties_1.AppProperties();\r\n this.footNotes = new footnotes_1.FootNotes();\r\n this.contentTypes = new content_types_1.ContentTypes();\r\n this.document = new document_1.Document({ background: options.background || {} });\r\n this.settings = new settings_1.Settings();\r\n this.media = fileProperties.template && fileProperties.template.media ? fileProperties.template.media : new media_1.Media();\r\n if (fileProperties.template) {\r\n this.currentRelationshipId = fileProperties.template.currentRelationshipId + 1;\r\n }\r\n if (fileProperties.template && options.externalStyles) {\r\n throw Error(\"can not use both template and external styles\");\r\n }\r\n if (fileProperties.template) {\r\n const stylesFactory = new external_styles_factory_1.ExternalStylesFactory();\r\n this.styles = stylesFactory.newInstance(fileProperties.template.styles);\r\n }\r\n else if (options.externalStyles) {\r\n const stylesFactory = new external_styles_factory_1.ExternalStylesFactory();\r\n this.styles = stylesFactory.newInstance(options.externalStyles);\r\n }\r\n else if (options.styles) {\r\n const stylesFactory = new factory_1.DefaultStylesFactory();\r\n const defaultStyles = stylesFactory.newInstance(options.styles.default);\r\n this.styles = new styles_1.Styles(Object.assign({}, defaultStyles, options.styles));\r\n }\r\n else {\r\n const stylesFactory = new factory_1.DefaultStylesFactory();\r\n this.styles = new styles_1.Styles(stylesFactory.newInstance());\r\n }\r\n this.addDefaultRelationships();\r\n if (fileProperties.template && fileProperties.template.headers) {\r\n for (const templateHeader of fileProperties.template.headers) {\r\n this.addHeaderToDocument(templateHeader.header, templateHeader.type);\r\n }\r\n }\r\n if (fileProperties.template && fileProperties.template.footers) {\r\n for (const templateFooter of fileProperties.template.footers) {\r\n this.addFooterToDocument(templateFooter.footer, templateFooter.type);\r\n }\r\n }\r\n for (const section of sections) {\r\n this.document.Body.addSection(section.properties ? section.properties : {});\r\n for (const child of section.children) {\r\n if (child instanceof paragraph_1.HyperlinkRef) {\r\n const hyperlink = this.hyperlinkCache[child.id];\r\n this.document.add(hyperlink);\r\n continue;\r\n }\r\n this.document.add(child);\r\n }\r\n }\r\n if (options.footnotes) {\r\n for (const paragraph of options.footnotes) {\r\n this.footNotes.createFootNote(paragraph);\r\n }\r\n }\r\n if (options.hyperlinks) {\r\n const cache = {};\r\n for (const key in options.hyperlinks) {\r\n if (!options.hyperlinks[key]) {\r\n continue;\r\n }\r\n const hyperlinkRef = options.hyperlinks[key];\r\n const hyperlink = hyperlinkRef.type === paragraph_1.HyperlinkType.EXTERNAL\r\n ? this.createHyperlink(hyperlinkRef.link, hyperlinkRef.text)\r\n : this.createInternalHyperLink(key, hyperlinkRef.text);\r\n cache[key] = hyperlink;\r\n }\r\n this.hyperlinkCache = cache;\r\n }\r\n if (options.features) {\r\n if (options.features.trackRevisions) {\r\n this.settings.addTrackRevisions();\r\n }\r\n }\r\n }\r\n addSection({ headers = { default: new header_1.Header() }, footers = { default: new header_1.Header() }, margins = {}, size = {}, properties, children, }) {\r\n this.document.Body.addSection(Object.assign({}, properties, { headers: {\r\n default: headers.default ? this.createHeader(headers.default) : this.createHeader(new header_1.Header()),\r\n first: headers.first ? this.createHeader(headers.first) : undefined,\r\n even: headers.even ? this.createHeader(headers.even) : undefined,\r\n }, footers: {\r\n default: footers.default ? this.createFooter(footers.default) : this.createFooter(new header_1.Footer()),\r\n first: footers.first ? this.createFooter(footers.first) : undefined,\r\n even: footers.even ? this.createFooter(footers.even) : undefined,\r\n } }, margins, size));\r\n for (const child of children) {\r\n if (child instanceof paragraph_1.HyperlinkRef) {\r\n const hyperlink = this.hyperlinkCache[child.id];\r\n this.document.add(hyperlink);\r\n continue;\r\n }\r\n this.document.add(child);\r\n }\r\n }\r\n verifyUpdateFields() {\r\n if (this.document.getTablesOfContents().length) {\r\n this.settings.addUpdateFields();\r\n }\r\n }\r\n createHyperlink(link, text = link) {\r\n const hyperlink = new paragraph_1.Hyperlink(text, shortid.generate().toLowerCase());\r\n this.docRelationships.createRelationship(hyperlink.linkId, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\", link, relationship_1.TargetModeType.EXTERNAL);\r\n return hyperlink;\r\n }\r\n createInternalHyperLink(anchor, text = anchor) {\r\n const hyperlink = new paragraph_1.Hyperlink(text, shortid.generate().toLowerCase(), anchor);\r\n return hyperlink;\r\n }\r\n createHeader(header) {\r\n const wrapper = new header_wrapper_1.HeaderWrapper(this.media, this.currentRelationshipId++);\r\n for (const child of header.options.children) {\r\n wrapper.add(child);\r\n }\r\n this.addHeaderToDocument(wrapper);\r\n return wrapper;\r\n }\r\n createFooter(footer) {\r\n const wrapper = new footer_wrapper_1.FooterWrapper(this.media, this.currentRelationshipId++);\r\n for (const child of footer.options.children) {\r\n wrapper.add(child);\r\n }\r\n this.addFooterToDocument(wrapper);\r\n return wrapper;\r\n }\r\n addHeaderToDocument(header, type = section_properties_1.HeaderReferenceType.DEFAULT) {\r\n this.headers.push({ header, type });\r\n this.docRelationships.createRelationship(header.Header.ReferenceId, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header\", `header${this.headers.length}.xml`);\r\n this.contentTypes.addHeader(this.headers.length);\r\n }\r\n addFooterToDocument(footer, type = section_properties_1.FooterReferenceType.DEFAULT) {\r\n this.footers.push({ footer, type });\r\n this.docRelationships.createRelationship(footer.Footer.ReferenceId, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer\", `footer${this.footers.length}.xml`);\r\n this.contentTypes.addFooter(this.footers.length);\r\n }\r\n addDefaultRelationships() {\r\n this.fileRelationships.createRelationship(1, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\", \"word/document.xml\");\r\n this.fileRelationships.createRelationship(2, \"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\", \"docProps/core.xml\");\r\n this.fileRelationships.createRelationship(3, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties\", \"docProps/app.xml\");\r\n this.docRelationships.createRelationship(this.currentRelationshipId++, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\", \"styles.xml\");\r\n this.docRelationships.createRelationship(this.currentRelationshipId++, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering\", \"numbering.xml\");\r\n this.docRelationships.createRelationship(this.currentRelationshipId++, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes\", \"footnotes.xml\");\r\n this.docRelationships.createRelationship(this.currentRelationshipId++, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings\", \"settings.xml\");\r\n }\r\n get Document() {\r\n return this.document;\r\n }\r\n get Styles() {\r\n return this.styles;\r\n }\r\n get CoreProperties() {\r\n return this.coreProperties;\r\n }\r\n get Numbering() {\r\n return this.numbering;\r\n }\r\n get Media() {\r\n return this.media;\r\n }\r\n get DocumentRelationships() {\r\n return this.docRelationships;\r\n }\r\n get FileRelationships() {\r\n return this.fileRelationships;\r\n }\r\n get Headers() {\r\n return this.headers.map((item) => item.header);\r\n }\r\n get Footers() {\r\n return this.footers.map((item) => item.footer);\r\n }\r\n get ContentTypes() {\r\n return this.contentTypes;\r\n }\r\n get AppProperties() {\r\n return this.appProperties;\r\n }\r\n get FootNotes() {\r\n return this.footNotes;\r\n }\r\n get Settings() {\r\n return this.settings;\r\n }\r\n get HyperlinkCache() {\r\n return this.hyperlinkCache;\r\n }\r\n}\r\nexports.File = File;\r\n\n\n/***/ }),\n/* 281 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst app_properties_attributes_1 = __webpack_require__(282);\r\nclass AppProperties extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"Properties\");\r\n this.root.push(new app_properties_attributes_1.AppPropertiesAttributes({\r\n xmlns: \"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\",\r\n vt: \"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\",\r\n }));\r\n }\r\n}\r\nexports.AppProperties = AppProperties;\r\n\n\n/***/ }),\n/* 282 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass AppPropertiesAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n xmlns: \"xmlns\",\r\n vt: \"xmlns:vt\",\r\n };\r\n }\r\n}\r\nexports.AppPropertiesAttributes = AppPropertiesAttributes;\r\n\n\n/***/ }),\n/* 283 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst content_types_attributes_1 = __webpack_require__(284);\r\nconst default_1 = __webpack_require__(285);\r\nconst override_1 = __webpack_require__(287);\r\nclass ContentTypes extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"Types\");\r\n this.root.push(new content_types_attributes_1.ContentTypeAttributes({\r\n xmlns: \"http://schemas.openxmlformats.org/package/2006/content-types\",\r\n }));\r\n this.root.push(new default_1.Default(\"image/png\", \"png\"));\r\n this.root.push(new default_1.Default(\"image/jpeg\", \"jpeg\"));\r\n this.root.push(new default_1.Default(\"image/jpeg\", \"jpg\"));\r\n this.root.push(new default_1.Default(\"image/bmp\", \"bmp\"));\r\n this.root.push(new default_1.Default(\"image/gif\", \"gif\"));\r\n this.root.push(new default_1.Default(\"application/vnd.openxmlformats-package.relationships+xml\", \"rels\"));\r\n this.root.push(new default_1.Default(\"application/xml\", \"xml\"));\r\n this.root.push(new override_1.Override(\"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\", \"/word/document.xml\"));\r\n this.root.push(new override_1.Override(\"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml\", \"/word/styles.xml\"));\r\n this.root.push(new override_1.Override(\"application/vnd.openxmlformats-package.core-properties+xml\", \"/docProps/core.xml\"));\r\n this.root.push(new override_1.Override(\"application/vnd.openxmlformats-officedocument.extended-properties+xml\", \"/docProps/app.xml\"));\r\n this.root.push(new override_1.Override(\"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml\", \"/word/numbering.xml\"));\r\n this.root.push(new override_1.Override(\"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml\", \"/word/footnotes.xml\"));\r\n this.root.push(new override_1.Override(\"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml\", \"/word/settings.xml\"));\r\n }\r\n addFooter(index) {\r\n this.root.push(new override_1.Override(\"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml\", `/word/footer${index}.xml`));\r\n }\r\n addHeader(index) {\r\n this.root.push(new override_1.Override(\"application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml\", `/word/header${index}.xml`));\r\n }\r\n}\r\nexports.ContentTypes = ContentTypes;\r\n\n\n/***/ }),\n/* 284 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass ContentTypeAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n xmlns: \"xmlns\",\r\n };\r\n }\r\n}\r\nexports.ContentTypeAttributes = ContentTypeAttributes;\r\n\n\n/***/ }),\n/* 285 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst default_attributes_1 = __webpack_require__(286);\r\nclass Default extends xml_components_1.XmlComponent {\r\n constructor(contentType, extension) {\r\n super(\"Default\");\r\n this.root.push(new default_attributes_1.DefaultAttributes({\r\n contentType: contentType,\r\n extension: extension,\r\n }));\r\n }\r\n}\r\nexports.Default = Default;\r\n\n\n/***/ }),\n/* 286 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass DefaultAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n contentType: \"ContentType\",\r\n extension: \"Extension\",\r\n };\r\n }\r\n}\r\nexports.DefaultAttributes = DefaultAttributes;\r\n\n\n/***/ }),\n/* 287 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst override_attributes_1 = __webpack_require__(288);\r\nclass Override extends xml_components_1.XmlComponent {\r\n constructor(contentType, partName) {\r\n super(\"Override\");\r\n this.root.push(new override_attributes_1.OverrideAttributes({\r\n contentType: contentType,\r\n partName: partName,\r\n }));\r\n }\r\n}\r\nexports.Override = Override;\r\n\n\n/***/ }),\n/* 288 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass OverrideAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n contentType: \"ContentType\",\r\n partName: \"PartName\",\r\n };\r\n }\r\n}\r\nexports.OverrideAttributes = OverrideAttributes;\r\n\n\n/***/ }),\n/* 289 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(290));\r\n\n\n/***/ }),\n/* 290 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst document_attributes_1 = __webpack_require__(11);\r\nconst components_1 = __webpack_require__(291);\r\nclass CoreProperties extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"cp:coreProperties\");\r\n this.root.push(new document_attributes_1.DocumentAttributes({\r\n cp: \"http://schemas.openxmlformats.org/package/2006/metadata/core-properties\",\r\n dc: \"http://purl.org/dc/elements/1.1/\",\r\n dcterms: \"http://purl.org/dc/terms/\",\r\n dcmitype: \"http://purl.org/dc/dcmitype/\",\r\n xsi: \"http://www.w3.org/2001/XMLSchema-instance\",\r\n }));\r\n if (options.title) {\r\n this.root.push(new components_1.Title(options.title));\r\n }\r\n if (options.subject) {\r\n this.root.push(new components_1.Subject(options.subject));\r\n }\r\n if (options.creator) {\r\n this.root.push(new components_1.Creator(options.creator));\r\n }\r\n if (options.keywords) {\r\n this.root.push(new components_1.Keywords(options.keywords));\r\n }\r\n if (options.description) {\r\n this.root.push(new components_1.Description(options.description));\r\n }\r\n if (options.lastModifiedBy) {\r\n this.root.push(new components_1.LastModifiedBy(options.lastModifiedBy));\r\n }\r\n if (options.revision) {\r\n this.root.push(new components_1.Revision(options.revision));\r\n }\r\n this.root.push(new components_1.Created());\r\n this.root.push(new components_1.Modified());\r\n }\r\n}\r\nexports.CoreProperties = CoreProperties;\r\n\n\n/***/ }),\n/* 291 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst document_attributes_1 = __webpack_require__(11);\r\nclass Title extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"dc:title\");\r\n this.root.push(value);\r\n }\r\n}\r\nexports.Title = Title;\r\nclass Subject extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"dc:subject\");\r\n this.root.push(value);\r\n }\r\n}\r\nexports.Subject = Subject;\r\nclass Creator extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"dc:creator\");\r\n this.root.push(value);\r\n }\r\n}\r\nexports.Creator = Creator;\r\nclass Keywords extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"cp:keywords\");\r\n this.root.push(value);\r\n }\r\n}\r\nexports.Keywords = Keywords;\r\nclass Description extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"dc:description\");\r\n this.root.push(value);\r\n }\r\n}\r\nexports.Description = Description;\r\nclass LastModifiedBy extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"cp:lastModifiedBy\");\r\n this.root.push(value);\r\n }\r\n}\r\nexports.LastModifiedBy = LastModifiedBy;\r\nclass Revision extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"cp:revision\");\r\n this.root.push(value);\r\n }\r\n}\r\nexports.Revision = Revision;\r\nclass DateComponent extends xml_components_1.XmlComponent {\r\n getCurrentDate() {\r\n const date = new Date();\r\n const year = date.getFullYear();\r\n const month = (\"0\" + (date.getMonth() + 1)).slice(-2);\r\n const day = (\"0\" + date.getDate()).slice(-2);\r\n const hours = (\"0\" + date.getHours()).slice(-2);\r\n const minutes = (\"0\" + date.getMinutes()).slice(-2);\r\n const seconds = (\"0\" + date.getSeconds()).slice(-2);\r\n return year + \"-\" + month + \"-\" + day + \"T\" + hours + \":\" + minutes + \":\" + seconds + \"Z\";\r\n }\r\n}\r\nexports.DateComponent = DateComponent;\r\nclass Created extends DateComponent {\r\n constructor() {\r\n super(\"dcterms:created\");\r\n this.root.push(new document_attributes_1.DocumentAttributes({\r\n type: \"dcterms:W3CDTF\",\r\n }));\r\n this.root.push(this.getCurrentDate());\r\n }\r\n}\r\nexports.Created = Created;\r\nclass Modified extends DateComponent {\r\n constructor() {\r\n super(\"dcterms:modified\");\r\n this.root.push(new document_attributes_1.DocumentAttributes({\r\n type: \"dcterms:W3CDTF\",\r\n }));\r\n this.root.push(this.getCurrentDate());\r\n }\r\n}\r\nexports.Modified = Modified;\r\n\n\n/***/ }),\n/* 292 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst body_1 = __webpack_require__(115);\r\nconst document_attributes_1 = __webpack_require__(11);\r\nconst document_background_1 = __webpack_require__(130);\r\nclass Document extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:document\");\r\n this.root.push(new document_attributes_1.DocumentAttributes({\r\n wpc: \"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\",\r\n mc: \"http://schemas.openxmlformats.org/markup-compatibility/2006\",\r\n o: \"urn:schemas-microsoft-com:office:office\",\r\n r: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\r\n m: \"http://schemas.openxmlformats.org/officeDocument/2006/math\",\r\n v: \"urn:schemas-microsoft-com:vml\",\r\n wp14: \"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\",\r\n wp: \"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\",\r\n w10: \"urn:schemas-microsoft-com:office:word\",\r\n w: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\",\r\n w14: \"http://schemas.microsoft.com/office/word/2010/wordml\",\r\n w15: \"http://schemas.microsoft.com/office/word/2012/wordml\",\r\n wpg: \"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\",\r\n wpi: \"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\",\r\n wne: \"http://schemas.microsoft.com/office/word/2006/wordml\",\r\n wps: \"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\",\r\n Ignorable: \"w14 w15 wp14\",\r\n }));\r\n this.body = new body_1.Body();\r\n this.root.push(new document_background_1.DocumentBackground(options.background));\r\n this.root.push(this.body);\r\n }\r\n add(item) {\r\n this.body.push(item);\r\n return this;\r\n }\r\n get Body() {\r\n return this.body;\r\n }\r\n getTablesOfContents() {\r\n return this.body.getTablesOfContents();\r\n }\r\n}\r\nexports.Document = Document;\r\n\n\n/***/ }),\n/* 293 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst __1 = __webpack_require__(12);\r\nconst section_properties_1 = __webpack_require__(116);\r\nclass Body extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:body\");\r\n this.sections = [];\r\n }\r\n addSection(options) {\r\n const currentSection = this.sections.pop();\r\n this.root.push(this.createSectionParagraph(currentSection));\r\n this.sections.push(new section_properties_1.SectionProperties(options));\r\n }\r\n prepForXml(file) {\r\n if (this.sections.length === 1) {\r\n this.root.splice(0, 1);\r\n this.root.push(this.sections.pop());\r\n }\r\n return super.prepForXml(file);\r\n }\r\n push(component) {\r\n this.root.push(component);\r\n }\r\n getTablesOfContents() {\r\n return this.root.filter((child) => child instanceof __1.TableOfContents);\r\n }\r\n createSectionParagraph(section) {\r\n const paragraph = new __1.Paragraph({});\r\n const properties = new __1.ParagraphProperties({});\r\n properties.push(section);\r\n paragraph.addChildElement(properties);\r\n return paragraph;\r\n }\r\n}\r\nexports.Body = Body;\r\n\n\n/***/ }),\n/* 294 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst columns_attributes_1 = __webpack_require__(295);\r\nclass Columns extends xml_components_1.XmlComponent {\r\n constructor(space, num) {\r\n super(\"w:cols\");\r\n this.root.push(new columns_attributes_1.ColumnsAttributes({\r\n space: space,\r\n num: num,\r\n }));\r\n }\r\n}\r\nexports.Columns = Columns;\r\n\n\n/***/ }),\n/* 295 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass ColumnsAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n space: \"w:space\",\r\n num: \"w:num\",\r\n };\r\n }\r\n}\r\nexports.ColumnsAttributes = ColumnsAttributes;\r\n\n\n/***/ }),\n/* 296 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst doc_grid_attributes_1 = __webpack_require__(297);\r\nclass DocumentGrid extends xml_components_1.XmlComponent {\r\n constructor(linePitch) {\r\n super(\"w:docGrid\");\r\n this.root.push(new doc_grid_attributes_1.DocGridAttributes({\r\n linePitch: linePitch,\r\n }));\r\n }\r\n}\r\nexports.DocumentGrid = DocumentGrid;\r\n\n\n/***/ }),\n/* 297 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass DocGridAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n linePitch: \"w:linePitch\",\r\n };\r\n }\r\n}\r\nexports.DocGridAttributes = DocGridAttributes;\r\n\n\n/***/ }),\n/* 298 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar LineNumberRestartFormat;\r\n(function (LineNumberRestartFormat) {\r\n LineNumberRestartFormat[\"CONTINUOUS\"] = \"continuous\";\r\n LineNumberRestartFormat[\"NEW_SECTION\"] = \"newSection\";\r\n LineNumberRestartFormat[\"NEW_PAGE\"] = \"newPage\";\r\n})(LineNumberRestartFormat = exports.LineNumberRestartFormat || (exports.LineNumberRestartFormat = {}));\r\nclass LineNumberAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n lineNumberCountBy: \"w:countBy\",\r\n lineNumberStart: \"w:start\",\r\n lineNumberRestart: \"w:restart\",\r\n lineNumberDistance: \"w:distance\",\r\n };\r\n }\r\n}\r\nexports.LineNumberAttributes = LineNumberAttributes;\r\nclass LineNumberType extends xml_components_1.XmlComponent {\r\n constructor(countBy, start, restart, dist) {\r\n super(\"w:lnNumType\");\r\n this.root.push(new LineNumberAttributes({\r\n lineNumberCountBy: countBy,\r\n lineNumberStart: start,\r\n lineNumberRestart: restart,\r\n lineNumberDistance: dist,\r\n }));\r\n }\r\n}\r\nexports.LineNumberType = LineNumberType;\r\n\n\n/***/ }),\n/* 299 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar PageBorderDisplay;\r\n(function (PageBorderDisplay) {\r\n PageBorderDisplay[\"ALL_PAGES\"] = \"allPages\";\r\n PageBorderDisplay[\"FIRST_PAGE\"] = \"firstPage\";\r\n PageBorderDisplay[\"NOT_FIRST_PAGE\"] = \"notFirstPage\";\r\n})(PageBorderDisplay = exports.PageBorderDisplay || (exports.PageBorderDisplay = {}));\r\nvar PageBorderOffsetFrom;\r\n(function (PageBorderOffsetFrom) {\r\n PageBorderOffsetFrom[\"PAGE\"] = \"page\";\r\n PageBorderOffsetFrom[\"TEXT\"] = \"text\";\r\n})(PageBorderOffsetFrom = exports.PageBorderOffsetFrom || (exports.PageBorderOffsetFrom = {}));\r\nvar PageBorderZOrder;\r\n(function (PageBorderZOrder) {\r\n PageBorderZOrder[\"BACK\"] = \"back\";\r\n PageBorderZOrder[\"FRONT\"] = \"front\";\r\n})(PageBorderZOrder = exports.PageBorderZOrder || (exports.PageBorderZOrder = {}));\r\nclass PageBordeAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n style: \"w:val\",\r\n size: \"w:size\",\r\n color: \"w:color\",\r\n space: \"w:space\",\r\n };\r\n }\r\n}\r\nclass PageBorder extends xml_components_1.XmlComponent {\r\n constructor(key, options) {\r\n super(key);\r\n this.root.push(new PageBordeAttributes(options));\r\n }\r\n}\r\nclass PageBordersAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n display: \"w:display\",\r\n offsetFrom: \"w:offsetFrom\",\r\n zOrder: \"w:zOrder\",\r\n };\r\n }\r\n}\r\nclass PageBorders extends xml_components_1.IgnoreIfEmptyXmlComponent {\r\n constructor(options) {\r\n super(\"w:pgBorders\");\r\n if (!options) {\r\n return;\r\n }\r\n let pageBordersAttributes = {};\r\n if (options.pageBorders) {\r\n pageBordersAttributes = {\r\n display: options.pageBorders.display,\r\n offsetFrom: options.pageBorders.offsetFrom,\r\n zOrder: options.pageBorders.zOrder,\r\n };\r\n }\r\n this.root.push(new PageBordersAttributes(pageBordersAttributes));\r\n if (options.pageBorderTop) {\r\n this.root.push(new PageBorder(\"w:top\", options.pageBorderTop));\r\n }\r\n if (options.pageBorderRight) {\r\n this.root.push(new PageBorder(\"w:right\", options.pageBorderRight));\r\n }\r\n if (options.pageBorderBottom) {\r\n this.root.push(new PageBorder(\"w:bottom\", options.pageBorderBottom));\r\n }\r\n if (options.pageBorderLeft) {\r\n this.root.push(new PageBorder(\"w:left\", options.pageBorderLeft));\r\n }\r\n }\r\n}\r\nexports.PageBorders = PageBorders;\r\n\n\n/***/ }),\n/* 300 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst page_margin_attributes_1 = __webpack_require__(301);\r\nclass PageMargin extends xml_components_1.XmlComponent {\r\n constructor(top, right, bottom, left, header, footer, gutter, mirror) {\r\n super(\"w:pgMar\");\r\n this.root.push(new page_margin_attributes_1.PageMarginAttributes({\r\n top: top,\r\n right: right,\r\n bottom: bottom,\r\n left: left,\r\n header: header,\r\n footer: footer,\r\n gutter: gutter,\r\n mirror: mirror,\r\n }));\r\n }\r\n}\r\nexports.PageMargin = PageMargin;\r\n\n\n/***/ }),\n/* 301 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass PageMarginAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n top: \"w:top\",\r\n right: \"w:right\",\r\n bottom: \"w:bottom\",\r\n left: \"w:left\",\r\n header: \"w:header\",\r\n footer: \"w:footer\",\r\n gutter: \"w:gutter\",\r\n mirror: \"w:mirrorMargins\",\r\n };\r\n }\r\n}\r\nexports.PageMarginAttributes = PageMarginAttributes;\r\n\n\n/***/ }),\n/* 302 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nvar PageNumberFormat;\r\n(function (PageNumberFormat) {\r\n PageNumberFormat[\"CARDINAL_TEXT\"] = \"cardinalText\";\r\n PageNumberFormat[\"DECIMAL\"] = \"decimal\";\r\n PageNumberFormat[\"DECIMAL_ENCLOSED_CIRCLE\"] = \"decimalEnclosedCircle\";\r\n PageNumberFormat[\"DECIMAL_ENCLOSED_FULL_STOP\"] = \"decimalEnclosedFullstop\";\r\n PageNumberFormat[\"DECIMAL_ENCLOSED_PAREN\"] = \"decimalEnclosedParen\";\r\n PageNumberFormat[\"DECIMAL_ZERO\"] = \"decimalZero\";\r\n PageNumberFormat[\"LOWER_LETTER\"] = \"lowerLetter\";\r\n PageNumberFormat[\"LOWER_ROMAN\"] = \"lowerRoman\";\r\n PageNumberFormat[\"NONE\"] = \"none\";\r\n PageNumberFormat[\"ORDINAL_TEXT\"] = \"ordinalText\";\r\n PageNumberFormat[\"UPPER_LETTER\"] = \"upperLetter\";\r\n PageNumberFormat[\"UPPER_ROMAN\"] = \"upperRoman\";\r\n PageNumberFormat[\"DECIMAL_FULL_WIDTH\"] = \"decimalFullWidth\";\r\n})(PageNumberFormat = exports.PageNumberFormat || (exports.PageNumberFormat = {}));\r\nclass PageNumberTypeAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n pageNumberStart: \"w:start\",\r\n pageNumberFormatType: \"w:fmt\",\r\n };\r\n }\r\n}\r\nexports.PageNumberTypeAttributes = PageNumberTypeAttributes;\r\nclass PageNumberType extends xml_components_1.XmlComponent {\r\n constructor(start, numberFormat) {\r\n super(\"w:pgNumType\");\r\n this.root.push(new PageNumberTypeAttributes({\r\n pageNumberStart: start,\r\n pageNumberFormatType: numberFormat,\r\n }));\r\n }\r\n}\r\nexports.PageNumberType = PageNumberType;\r\n\n\n/***/ }),\n/* 303 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst title_page_attributes_1 = __webpack_require__(304);\r\nclass TitlePage extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:titlePg\");\r\n this.root.push(new title_page_attributes_1.TitlePageAttributes({\r\n value: \"1\",\r\n }));\r\n }\r\n}\r\nexports.TitlePage = TitlePage;\r\n\n\n/***/ }),\n/* 304 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TitlePageAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n value: \"w:val\",\r\n };\r\n }\r\n}\r\nexports.TitlePageAttributes = TitlePageAttributes;\r\n\n\n/***/ }),\n/* 305 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst vertical_align_attributes_1 = __webpack_require__(128);\r\nvar SectionVerticalAlignValue;\r\n(function (SectionVerticalAlignValue) {\r\n SectionVerticalAlignValue[\"BOTH\"] = \"both\";\r\n SectionVerticalAlignValue[\"BOTTOM\"] = \"bottom\";\r\n SectionVerticalAlignValue[\"CENTER\"] = \"center\";\r\n SectionVerticalAlignValue[\"TOP\"] = \"top\";\r\n})(SectionVerticalAlignValue = exports.SectionVerticalAlignValue || (exports.SectionVerticalAlignValue = {}));\r\nclass SectionVerticalAlign extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:vAlign\");\r\n this.root.push(new vertical_align_attributes_1.SectionVerticalAlignAttributes({ verticalAlign: value }));\r\n }\r\n}\r\nexports.SectionVerticalAlign = SectionVerticalAlign;\r\n\n\n/***/ }),\n/* 306 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(126));\r\n__export(__webpack_require__(45));\r\n\n\n/***/ }),\n/* 307 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass DocumentBackgroundAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n color: \"w:color\",\r\n themeColor: \"w:themeColor\",\r\n themeShade: \"w:themeShade\",\r\n themeTint: \"w:themeTint\",\r\n };\r\n }\r\n}\r\nexports.DocumentBackgroundAttributes = DocumentBackgroundAttributes;\r\nclass DocumentBackground extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:background\");\r\n this.root.push(new DocumentBackgroundAttributes({\r\n color: options.color ? options.color : \"FFFFFF\",\r\n themeColor: options.themeColor,\r\n themeShade: options.themeShade,\r\n themeTint: options.themeTint,\r\n }));\r\n }\r\n}\r\nexports.DocumentBackground = DocumentBackground;\r\n\n\n/***/ }),\n/* 308 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst footer_attributes_1 = __webpack_require__(309);\r\nclass Footer extends xml_components_1.InitializableXmlComponent {\r\n constructor(referenceNumber, initContent) {\r\n super(\"w:ftr\", initContent);\r\n this.refId = referenceNumber;\r\n if (!initContent) {\r\n this.root.push(new footer_attributes_1.FooterAttributes({\r\n wpc: \"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\",\r\n mc: \"http://schemas.openxmlformats.org/markup-compatibility/2006\",\r\n o: \"urn:schemas-microsoft-com:office:office\",\r\n r: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\r\n m: \"http://schemas.openxmlformats.org/officeDocument/2006/math\",\r\n v: \"urn:schemas-microsoft-com:vml\",\r\n wp14: \"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\",\r\n wp: \"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\",\r\n w10: \"urn:schemas-microsoft-com:office:word\",\r\n w: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\",\r\n w14: \"http://schemas.microsoft.com/office/word/2010/wordml\",\r\n w15: \"http://schemas.microsoft.com/office/word/2012/wordml\",\r\n wpg: \"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\",\r\n wpi: \"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\",\r\n wne: \"http://schemas.microsoft.com/office/word/2006/wordml\",\r\n wps: \"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\",\r\n }));\r\n }\r\n }\r\n get ReferenceId() {\r\n return this.refId;\r\n }\r\n add(item) {\r\n this.root.push(item);\r\n }\r\n}\r\nexports.Footer = Footer;\r\n\n\n/***/ }),\n/* 309 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass FooterAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n wpc: \"xmlns:wpc\",\r\n mc: \"xmlns:mc\",\r\n o: \"xmlns:o\",\r\n r: \"xmlns:r\",\r\n m: \"xmlns:m\",\r\n v: \"xmlns:v\",\r\n wp14: \"xmlns:wp14\",\r\n wp: \"xmlns:wp\",\r\n w10: \"xmlns:w10\",\r\n w: \"xmlns:w\",\r\n w14: \"xmlns:w14\",\r\n w15: \"xmlns:w15\",\r\n wpg: \"xmlns:wpg\",\r\n wpi: \"xmlns:wpi\",\r\n wne: \"xmlns:wne\",\r\n wps: \"xmlns:wps\",\r\n cp: \"xmlns:cp\",\r\n dc: \"xmlns:dc\",\r\n dcterms: \"xmlns:dcterms\",\r\n dcmitype: \"xmlns:dcmitype\",\r\n xsi: \"xmlns:xsi\",\r\n type: \"xsi:type\",\r\n };\r\n }\r\n}\r\nexports.FooterAttributes = FooterAttributes;\r\n\n\n/***/ }),\n/* 310 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst attributes_1 = __webpack_require__(311);\r\nconst relationship_1 = __webpack_require__(48);\r\nclass Relationships extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"Relationships\");\r\n this.root.push(new attributes_1.RelationshipsAttributes({\r\n xmlns: \"http://schemas.openxmlformats.org/package/2006/relationships\",\r\n }));\r\n }\r\n addRelationship(relationship) {\r\n this.root.push(relationship);\r\n }\r\n createRelationship(id, type, target, targetMode) {\r\n const relationship = new relationship_1.Relationship(`rId${id}`, type, target, targetMode);\r\n this.addRelationship(relationship);\r\n return relationship;\r\n }\r\n get RelationshipCount() {\r\n return this.root.length - 1;\r\n }\r\n}\r\nexports.Relationships = Relationships;\r\n\n\n/***/ }),\n/* 311 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass RelationshipsAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n xmlns: \"xmlns\",\r\n };\r\n }\r\n}\r\nexports.RelationshipsAttributes = RelationshipsAttributes;\r\n\n\n/***/ }),\n/* 312 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass RelationshipAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n id: \"Id\",\r\n type: \"Type\",\r\n target: \"Target\",\r\n targetMode: \"TargetMode\",\r\n };\r\n }\r\n}\r\nexports.RelationshipAttributes = RelationshipAttributes;\r\n\n\n/***/ }),\n/* 313 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst paragraph_1 = __webpack_require__(1);\r\nconst footnote_1 = __webpack_require__(314);\r\nconst continuation_seperator_run_1 = __webpack_require__(318);\r\nconst seperator_run_1 = __webpack_require__(320);\r\nconst footnotes_attributes_1 = __webpack_require__(322);\r\nclass FootNotes extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:footnotes\");\r\n this.currentId = 1;\r\n this.root.push(new footnotes_attributes_1.FootnotesAttributes({\r\n wpc: \"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\",\r\n mc: \"http://schemas.openxmlformats.org/markup-compatibility/2006\",\r\n o: \"urn:schemas-microsoft-com:office:office\",\r\n r: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\r\n m: \"http://schemas.openxmlformats.org/officeDocument/2006/math\",\r\n v: \"urn:schemas-microsoft-com:vml\",\r\n wp14: \"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\",\r\n wp: \"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\",\r\n w10: \"urn:schemas-microsoft-com:office:word\",\r\n w: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\",\r\n w14: \"http://schemas.microsoft.com/office/word/2010/wordml\",\r\n w15: \"http://schemas.microsoft.com/office/word/2012/wordml\",\r\n wpg: \"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\",\r\n wpi: \"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\",\r\n wne: \"http://schemas.microsoft.com/office/word/2006/wordml\",\r\n wps: \"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\",\r\n Ignorable: \"w14 w15 wp14\",\r\n }));\r\n const begin = new footnote_1.Footnote(-1, footnote_1.FootnoteType.SEPERATOR);\r\n begin.add(new paragraph_1.Paragraph({\r\n spacing: {\r\n after: 0,\r\n line: 240,\r\n lineRule: \"auto\",\r\n },\r\n children: [new seperator_run_1.SeperatorRun()],\r\n }));\r\n this.root.push(begin);\r\n const spacing = new footnote_1.Footnote(0, footnote_1.FootnoteType.CONTINUATION_SEPERATOR);\r\n spacing.add(new paragraph_1.Paragraph({\r\n spacing: {\r\n after: 0,\r\n line: 240,\r\n lineRule: \"auto\",\r\n },\r\n children: [new continuation_seperator_run_1.ContinuationSeperatorRun()],\r\n }));\r\n this.root.push(spacing);\r\n }\r\n createFootNote(paragraph) {\r\n const footnote = new footnote_1.Footnote(this.currentId);\r\n footnote.add(paragraph);\r\n this.root.push(footnote);\r\n this.currentId++;\r\n }\r\n}\r\nexports.FootNotes = FootNotes;\r\n\n\n/***/ }),\n/* 314 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst footnote_attributes_1 = __webpack_require__(315);\r\nconst footnote_ref_run_1 = __webpack_require__(316);\r\nvar FootnoteType;\r\n(function (FootnoteType) {\r\n FootnoteType[\"SEPERATOR\"] = \"separator\";\r\n FootnoteType[\"CONTINUATION_SEPERATOR\"] = \"continuationSeparator\";\r\n})(FootnoteType = exports.FootnoteType || (exports.FootnoteType = {}));\r\nclass Footnote extends xml_components_1.XmlComponent {\r\n constructor(id, type) {\r\n super(\"w:footnote\");\r\n this.root.push(new footnote_attributes_1.FootnoteAttributes({\r\n type: type,\r\n id: id,\r\n }));\r\n }\r\n add(paragraph) {\r\n paragraph.addRunToFront(new footnote_ref_run_1.FootnoteRefRun());\r\n this.root.push(paragraph);\r\n }\r\n}\r\nexports.Footnote = Footnote;\r\n\n\n/***/ }),\n/* 315 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass FootnoteAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n type: \"w:type\",\r\n id: \"w:id\",\r\n };\r\n }\r\n}\r\nexports.FootnoteAttributes = FootnoteAttributes;\r\n\n\n/***/ }),\n/* 316 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst paragraph_1 = __webpack_require__(1);\r\nconst footnote_ref_1 = __webpack_require__(317);\r\nclass FootnoteRefRun extends paragraph_1.Run {\r\n constructor() {\r\n super({\r\n style: \"FootnoteReference\",\r\n });\r\n this.root.push(new footnote_ref_1.FootnoteRef());\r\n }\r\n}\r\nexports.FootnoteRefRun = FootnoteRefRun;\r\n\n\n/***/ }),\n/* 317 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass FootnoteRef extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:footnoteRef\");\r\n }\r\n}\r\nexports.FootnoteRef = FootnoteRef;\r\n\n\n/***/ }),\n/* 318 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst paragraph_1 = __webpack_require__(1);\r\nconst continuation_seperator_1 = __webpack_require__(319);\r\nclass ContinuationSeperatorRun extends paragraph_1.Run {\r\n constructor() {\r\n super({});\r\n this.root.push(new continuation_seperator_1.ContinuationSeperator());\r\n }\r\n}\r\nexports.ContinuationSeperatorRun = ContinuationSeperatorRun;\r\n\n\n/***/ }),\n/* 319 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass ContinuationSeperator extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:continuationSeparator\");\r\n }\r\n}\r\nexports.ContinuationSeperator = ContinuationSeperator;\r\n\n\n/***/ }),\n/* 320 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst paragraph_1 = __webpack_require__(1);\r\nconst seperator_1 = __webpack_require__(321);\r\nclass SeperatorRun extends paragraph_1.Run {\r\n constructor() {\r\n super({});\r\n this.root.push(new seperator_1.Seperator());\r\n }\r\n}\r\nexports.SeperatorRun = SeperatorRun;\r\n\n\n/***/ }),\n/* 321 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass Seperator extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:separator\");\r\n }\r\n}\r\nexports.Seperator = Seperator;\r\n\n\n/***/ }),\n/* 322 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass FootnotesAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n wpc: \"xmlns:wpc\",\r\n mc: \"xmlns:mc\",\r\n o: \"xmlns:o\",\r\n r: \"xmlns:r\",\r\n m: \"xmlns:m\",\r\n v: \"xmlns:v\",\r\n wp14: \"xmlns:wp14\",\r\n wp: \"xmlns:wp\",\r\n w10: \"xmlns:w10\",\r\n w: \"xmlns:w\",\r\n w14: \"xmlns:w14\",\r\n w15: \"xmlns:w15\",\r\n wpg: \"xmlns:wpg\",\r\n wpi: \"xmlns:wpi\",\r\n wne: \"xmlns:wne\",\r\n wps: \"xmlns:wps\",\r\n Ignorable: \"mc:Ignorable\",\r\n };\r\n }\r\n}\r\nexports.FootnotesAttributes = FootnotesAttributes;\r\n\n\n/***/ }),\n/* 323 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(324));\r\n\n\n/***/ }),\n/* 324 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(325));\r\n\n\n/***/ }),\n/* 325 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst run_1 = __webpack_require__(3);\r\nconst style_1 = __webpack_require__(70);\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass FootNoteReferenceRunAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n id: \"w:id\",\r\n };\r\n }\r\n}\r\nexports.FootNoteReferenceRunAttributes = FootNoteReferenceRunAttributes;\r\nclass FootnoteReference extends xml_components_1.XmlComponent {\r\n constructor(id) {\r\n super(\"w:footnoteReference\");\r\n this.root.push(new FootNoteReferenceRunAttributes({\r\n id: id,\r\n }));\r\n }\r\n}\r\nexports.FootnoteReference = FootnoteReference;\r\nclass FootnoteReferenceRun extends run_1.Run {\r\n constructor(id) {\r\n super({});\r\n this.properties.push(new style_1.Style(\"FootnoteReference\"));\r\n this.root.push(new FootnoteReference(id));\r\n }\r\n}\r\nexports.FootnoteReferenceRun = FootnoteReferenceRun;\r\n\n\n/***/ }),\n/* 326 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst header_attributes_1 = __webpack_require__(327);\r\nclass Header extends xml_components_1.InitializableXmlComponent {\r\n constructor(referenceNumber, initContent) {\r\n super(\"w:hdr\", initContent);\r\n this.refId = referenceNumber;\r\n if (!initContent) {\r\n this.root.push(new header_attributes_1.HeaderAttributes({\r\n wpc: \"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\",\r\n mc: \"http://schemas.openxmlformats.org/markup-compatibility/2006\",\r\n o: \"urn:schemas-microsoft-com:office:office\",\r\n r: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\r\n m: \"http://schemas.openxmlformats.org/officeDocument/2006/math\",\r\n v: \"urn:schemas-microsoft-com:vml\",\r\n wp14: \"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\",\r\n wp: \"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\",\r\n w10: \"urn:schemas-microsoft-com:office:word\",\r\n w: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\",\r\n w14: \"http://schemas.microsoft.com/office/word/2010/wordml\",\r\n w15: \"http://schemas.microsoft.com/office/word/2012/wordml\",\r\n wpg: \"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\",\r\n wpi: \"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\",\r\n wne: \"http://schemas.microsoft.com/office/word/2006/wordml\",\r\n wps: \"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\",\r\n cx: \"http://schemas.microsoft.com/office/drawing/2014/chartex\",\r\n cx1: \"http://schemas.microsoft.com/office/drawing/2015/9/8/chartex\",\r\n cx2: \"http://schemas.microsoft.com/office/drawing/2015/10/21/chartex\",\r\n cx3: \"http://schemas.microsoft.com/office/drawing/2016/5/9/chartex\",\r\n cx4: \"http://schemas.microsoft.com/office/drawing/2016/5/10/chartex\",\r\n cx5: \"http://schemas.microsoft.com/office/drawing/2016/5/11/chartex\",\r\n cx6: \"http://schemas.microsoft.com/office/drawing/2016/5/12/chartex\",\r\n cx7: \"http://schemas.microsoft.com/office/drawing/2016/5/13/chartex\",\r\n cx8: \"http://schemas.microsoft.com/office/drawing/2016/5/14/chartex\",\r\n w16cid: \"http://schemas.microsoft.com/office/word/2016/wordml/cid\",\r\n w16se: \"http://schemas.microsoft.com/office/word/2015/wordml/symex\",\r\n }));\r\n }\r\n }\r\n get ReferenceId() {\r\n return this.refId;\r\n }\r\n add(item) {\r\n this.root.push(item);\r\n }\r\n}\r\nexports.Header = Header;\r\n\n\n/***/ }),\n/* 327 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass HeaderAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n wpc: \"xmlns:wpc\",\r\n mc: \"xmlns:mc\",\r\n o: \"xmlns:o\",\r\n r: \"xmlns:r\",\r\n m: \"xmlns:m\",\r\n v: \"xmlns:v\",\r\n wp14: \"xmlns:wp14\",\r\n wp: \"xmlns:wp\",\r\n w10: \"xmlns:w10\",\r\n w: \"xmlns:w\",\r\n w14: \"xmlns:w14\",\r\n w15: \"xmlns:w15\",\r\n wpg: \"xmlns:wpg\",\r\n wpi: \"xmlns:wpi\",\r\n wne: \"xmlns:wne\",\r\n wps: \"xmlns:wps\",\r\n cp: \"xmlns:cp\",\r\n dc: \"xmlns:dc\",\r\n dcterms: \"xmlns:dcterms\",\r\n dcmitype: \"xmlns:dcmitype\",\r\n xsi: \"xmlns:xsi\",\r\n type: \"xsi:type\",\r\n cx: \"xmlns:cx\",\r\n cx1: \"xmlns:cx1\",\r\n cx2: \"xmlns:cx2\",\r\n cx3: \"xmlns:cx3\",\r\n cx4: \"xmlns:cx4\",\r\n cx5: \"xmlns:cx5\",\r\n cx6: \"xmlns:cx6\",\r\n cx7: \"xmlns:cx7\",\r\n cx8: \"xmlns:cx8\",\r\n w16cid: \"xmlns:w16cid\",\r\n w16se: \"xmlns:w16se\",\r\n };\r\n }\r\n}\r\nexports.HeaderAttributes = HeaderAttributes;\r\n\n\n/***/ }),\n/* 328 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst paragraph_1 = __webpack_require__(1);\r\nclass Media {\r\n static addImage(file, buffer, width, height, drawingOptions) {\r\n const mediaData = file.Media.addMedia(buffer, width, height);\r\n return new paragraph_1.PictureRun(mediaData, drawingOptions);\r\n }\r\n static generateId() {\r\n return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);\r\n }\r\n constructor() {\r\n this.map = new Map();\r\n }\r\n getMedia(key) {\r\n const data = this.map.get(key);\r\n if (data === undefined) {\r\n throw new Error(`Cannot find image with the key ${key}`);\r\n }\r\n return data;\r\n }\r\n addMedia(buffer, width = 100, height = 100) {\r\n const key = `${Media.generateId()}.png`;\r\n return this.createMedia(key, {\r\n width: width,\r\n height: height,\r\n }, buffer);\r\n }\r\n createMedia(key, dimensions, data, filePath) {\r\n const newData = typeof data === \"string\" ? this.convertDataURIToBinary(data) : data;\r\n const imageData = {\r\n stream: newData,\r\n path: filePath,\r\n fileName: key,\r\n dimensions: {\r\n pixels: {\r\n x: Math.round(dimensions.width),\r\n y: Math.round(dimensions.height),\r\n },\r\n emus: {\r\n x: Math.round(dimensions.width * 9525),\r\n y: Math.round(dimensions.height * 9525),\r\n },\r\n },\r\n };\r\n this.map.set(key, imageData);\r\n return imageData;\r\n }\r\n get Array() {\r\n const array = new Array();\r\n this.map.forEach((data) => {\r\n array.push(data);\r\n });\r\n return array;\r\n }\r\n convertDataURIToBinary(dataURI) {\r\n const BASE64_MARKER = \";base64,\";\r\n const base64Index = dataURI.indexOf(BASE64_MARKER) + BASE64_MARKER.length;\r\n if (typeof atob === \"function\") {\r\n return new Uint8Array(atob(dataURI.substring(base64Index))\r\n .split(\"\")\r\n .map((c) => c.charCodeAt(0)));\r\n }\r\n else {\r\n const b = __webpack_require__(6);\r\n return new b.Buffer(dataURI, \"base64\");\r\n }\r\n }\r\n}\r\nexports.Media = Media;\r\n\n\n/***/ }),\n/* 329 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.WORKAROUND2 = \"\";\r\n\n\n/***/ }),\n/* 330 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst convenience_functions_1 = __webpack_require__(44);\r\nconst paragraph_1 = __webpack_require__(1);\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst document_attributes_1 = __webpack_require__(11);\r\nconst abstract_numbering_1 = __webpack_require__(134);\r\nconst level_1 = __webpack_require__(24);\r\nconst num_1 = __webpack_require__(135);\r\nclass Numbering extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:numbering\");\r\n this.abstractNumbering = [];\r\n this.concreteNumbering = [];\r\n this.root.push(new document_attributes_1.DocumentAttributes({\r\n wpc: \"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\",\r\n mc: \"http://schemas.openxmlformats.org/markup-compatibility/2006\",\r\n o: \"urn:schemas-microsoft-com:office:office\",\r\n r: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\r\n m: \"http://schemas.openxmlformats.org/officeDocument/2006/math\",\r\n v: \"urn:schemas-microsoft-com:vml\",\r\n wp14: \"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\",\r\n wp: \"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\",\r\n w10: \"urn:schemas-microsoft-com:office:word\",\r\n w: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\",\r\n w14: \"http://schemas.microsoft.com/office/word/2010/wordml\",\r\n w15: \"http://schemas.microsoft.com/office/word/2012/wordml\",\r\n wpg: \"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\",\r\n wpi: \"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\",\r\n wne: \"http://schemas.microsoft.com/office/word/2006/wordml\",\r\n wps: \"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\",\r\n Ignorable: \"w14 w15 wp14\",\r\n }));\r\n this.nextId = 0;\r\n const abstractNumbering = this.createAbstractNumbering([\r\n {\r\n level: 0,\r\n format: level_1.LevelFormat.BULLET,\r\n text: \"\\u25CF\",\r\n alignment: paragraph_1.AlignmentType.LEFT,\r\n style: {\r\n paragraph: {\r\n indent: { left: convenience_functions_1.convertInchesToTwip(0.5), hanging: convenience_functions_1.convertInchesToTwip(0.25) },\r\n },\r\n },\r\n },\r\n {\r\n level: 1,\r\n format: level_1.LevelFormat.BULLET,\r\n text: \"\\u25CB\",\r\n alignment: paragraph_1.AlignmentType.LEFT,\r\n style: {\r\n paragraph: {\r\n indent: { left: convenience_functions_1.convertInchesToTwip(1), hanging: convenience_functions_1.convertInchesToTwip(0.25) },\r\n },\r\n },\r\n },\r\n {\r\n level: 2,\r\n format: level_1.LevelFormat.BULLET,\r\n text: \"\\u25A0\",\r\n alignment: paragraph_1.AlignmentType.LEFT,\r\n style: {\r\n paragraph: {\r\n indent: { left: 2160, hanging: convenience_functions_1.convertInchesToTwip(0.25) },\r\n },\r\n },\r\n },\r\n {\r\n level: 3,\r\n format: level_1.LevelFormat.BULLET,\r\n text: \"\\u25CF\",\r\n alignment: paragraph_1.AlignmentType.LEFT,\r\n style: {\r\n paragraph: {\r\n indent: { left: 2880, hanging: convenience_functions_1.convertInchesToTwip(0.25) },\r\n },\r\n },\r\n },\r\n {\r\n level: 4,\r\n format: level_1.LevelFormat.BULLET,\r\n text: \"\\u25CB\",\r\n alignment: paragraph_1.AlignmentType.LEFT,\r\n style: {\r\n paragraph: {\r\n indent: { left: 3600, hanging: convenience_functions_1.convertInchesToTwip(0.25) },\r\n },\r\n },\r\n },\r\n {\r\n level: 5,\r\n format: level_1.LevelFormat.BULLET,\r\n text: \"\\u25A0\",\r\n alignment: paragraph_1.AlignmentType.LEFT,\r\n style: {\r\n paragraph: {\r\n indent: { left: 4320, hanging: convenience_functions_1.convertInchesToTwip(0.25) },\r\n },\r\n },\r\n },\r\n {\r\n level: 6,\r\n format: level_1.LevelFormat.BULLET,\r\n text: \"\\u25CF\",\r\n alignment: paragraph_1.AlignmentType.LEFT,\r\n style: {\r\n paragraph: {\r\n indent: { left: 5040, hanging: convenience_functions_1.convertInchesToTwip(0.25) },\r\n },\r\n },\r\n },\r\n {\r\n level: 7,\r\n format: level_1.LevelFormat.BULLET,\r\n text: \"\\u25CF\",\r\n alignment: paragraph_1.AlignmentType.LEFT,\r\n style: {\r\n paragraph: {\r\n indent: { left: 5760, hanging: convenience_functions_1.convertInchesToTwip(0.25) },\r\n },\r\n },\r\n },\r\n {\r\n level: 8,\r\n format: level_1.LevelFormat.BULLET,\r\n text: \"\\u25CF\",\r\n alignment: paragraph_1.AlignmentType.LEFT,\r\n style: {\r\n paragraph: {\r\n indent: { left: 6480, hanging: convenience_functions_1.convertInchesToTwip(0.25) },\r\n },\r\n },\r\n },\r\n ]);\r\n this.createConcreteNumbering(abstractNumbering);\r\n for (const con of options.config) {\r\n const currentAbstractNumbering = this.createAbstractNumbering(con.levels);\r\n this.createConcreteNumbering(currentAbstractNumbering, con.reference);\r\n }\r\n }\r\n prepForXml() {\r\n this.abstractNumbering.forEach((x) => this.root.push(x));\r\n this.concreteNumbering.forEach((x) => this.root.push(x));\r\n return super.prepForXml();\r\n }\r\n createConcreteNumbering(abstractNumbering, reference) {\r\n const num = new num_1.ConcreteNumbering(this.nextId++, abstractNumbering.id, reference);\r\n this.concreteNumbering.push(num);\r\n return num;\r\n }\r\n createAbstractNumbering(options) {\r\n const num = new abstract_numbering_1.AbstractNumbering(this.nextId++, options);\r\n this.abstractNumbering.push(num);\r\n return num;\r\n }\r\n get ConcreteNumbering() {\r\n return this.concreteNumbering;\r\n }\r\n}\r\nexports.Numbering = Numbering;\r\n\n\n/***/ }),\n/* 331 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass MultiLevelType extends xml_components_1.XmlComponent {\r\n constructor(value) {\r\n super(\"w:multiLevelType\");\r\n this.root.push(new xml_components_1.Attributes({\r\n val: value,\r\n }));\r\n }\r\n}\r\nexports.MultiLevelType = MultiLevelType;\r\n\n\n/***/ }),\n/* 332 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(333));\r\n__export(__webpack_require__(136));\r\n\n\n/***/ }),\n/* 333 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst compatibility_1 = __webpack_require__(334);\r\nconst display_background_shape_1 = __webpack_require__(335);\r\nconst track_revisions_1 = __webpack_require__(336);\r\nconst update_fields_1 = __webpack_require__(136);\r\nclass SettingsAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = {\r\n wpc: \"xmlns:wpc\",\r\n mc: \"xmlns:mc\",\r\n o: \"xmlns:o\",\r\n r: \"xmlns:r\",\r\n m: \"xmlns:m\",\r\n v: \"xmlns:v\",\r\n wp14: \"xmlns:wp14\",\r\n wp: \"xmlns:wp\",\r\n w10: \"xmlns:w10\",\r\n w: \"xmlns:w\",\r\n w14: \"xmlns:w14\",\r\n w15: \"xmlns:w15\",\r\n wpg: \"xmlns:wpg\",\r\n wpi: \"xmlns:wpi\",\r\n wne: \"xmlns:wne\",\r\n wps: \"xmlns:wps\",\r\n Ignorable: \"mc:Ignorable\",\r\n };\r\n }\r\n}\r\nexports.SettingsAttributes = SettingsAttributes;\r\nclass Settings extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:settings\");\r\n this.root.push(new SettingsAttributes({\r\n wpc: \"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\",\r\n mc: \"http://schemas.openxmlformats.org/markup-compatibility/2006\",\r\n o: \"urn:schemas-microsoft-com:office:office\",\r\n r: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\r\n m: \"http://schemas.openxmlformats.org/officeDocument/2006/math\",\r\n v: \"urn:schemas-microsoft-com:vml\",\r\n wp14: \"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\",\r\n wp: \"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\",\r\n w10: \"urn:schemas-microsoft-com:office:word\",\r\n w: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\",\r\n w14: \"http://schemas.microsoft.com/office/word/2010/wordml\",\r\n w15: \"http://schemas.microsoft.com/office/word/2012/wordml\",\r\n wpg: \"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\",\r\n wpi: \"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\",\r\n wne: \"http://schemas.microsoft.com/office/word/2006/wordml\",\r\n wps: \"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\",\r\n Ignorable: \"w14 w15 wp14\",\r\n }));\r\n this.compatibility = new compatibility_1.Compatibility();\r\n this.trackRevisions = new track_revisions_1.TrackRevisions();\r\n this.root.push(new display_background_shape_1.DisplayBackgroundShape());\r\n }\r\n addUpdateFields() {\r\n if (!this.root.find((child) => child instanceof update_fields_1.UpdateFields)) {\r\n this.addChildElement(new update_fields_1.UpdateFields());\r\n }\r\n }\r\n addCompatibility() {\r\n if (!this.root.find((child) => child instanceof compatibility_1.Compatibility)) {\r\n this.addChildElement(this.compatibility);\r\n }\r\n return this.compatibility;\r\n }\r\n addTrackRevisions() {\r\n if (!this.root.find((child) => child instanceof track_revisions_1.TrackRevisions)) {\r\n this.addChildElement(this.trackRevisions);\r\n }\r\n return this.trackRevisions;\r\n }\r\n}\r\nexports.Settings = Settings;\r\n\n\n/***/ }),\n/* 334 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass DoNotExpandShiftReturn extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:doNotExpandShiftReturn\");\r\n }\r\n}\r\nclass Compatibility extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:compat\");\r\n }\r\n doNotExpandShiftReturn() {\r\n this.root.push(new DoNotExpandShiftReturn());\r\n return this;\r\n }\r\n}\r\nexports.Compatibility = Compatibility;\r\n\n\n/***/ }),\n/* 335 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass DisplayBackgroundShape extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:displayBackgroundShape\");\r\n }\r\n}\r\nexports.DisplayBackgroundShape = DisplayBackgroundShape;\r\n\n\n/***/ }),\n/* 336 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TrackRevisions extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:trackRevisions\");\r\n }\r\n}\r\nexports.TrackRevisions = TrackRevisions;\r\n\n\n/***/ }),\n/* 337 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst xml_js_1 = __webpack_require__(26);\r\nconst _1 = __webpack_require__(23);\r\nclass ExternalStylesFactory {\r\n newInstance(xmlData) {\r\n const xmlObj = xml_js_1.xml2js(xmlData, { compact: false });\r\n let stylesXmlElement;\r\n for (const xmlElm of xmlObj.elements || []) {\r\n if (xmlElm.name === \"w:styles\") {\r\n stylesXmlElement = xmlElm;\r\n }\r\n }\r\n if (stylesXmlElement === undefined) {\r\n throw new Error(\"can not find styles element\");\r\n }\r\n const stylesElements = stylesXmlElement.elements || [];\r\n const importedStyle = new _1.Styles({\r\n initialStyles: new xml_components_1.ImportedRootElementAttributes(stylesXmlElement.attributes),\r\n importedStyles: stylesElements.map((childElm) => xml_components_1.convertToXmlComponent(childElm)),\r\n });\r\n return importedStyle;\r\n }\r\n}\r\nexports.ExternalStylesFactory = ExternalStylesFactory;\r\n\n\n/***/ }),\n/* 338 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst document_attributes_1 = __webpack_require__(11);\r\nconst defaults_1 = __webpack_require__(106);\r\nconst style_1 = __webpack_require__(105);\r\nclass DefaultStylesFactory {\r\n newInstance(options = {}) {\r\n const documentAttributes = new document_attributes_1.DocumentAttributes({\r\n mc: \"http://schemas.openxmlformats.org/markup-compatibility/2006\",\r\n r: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\r\n w: \"http://schemas.openxmlformats.org/wordprocessingml/2006/main\",\r\n w14: \"http://schemas.microsoft.com/office/word/2010/wordml\",\r\n w15: \"http://schemas.microsoft.com/office/word/2012/wordml\",\r\n Ignorable: \"w14 w15\",\r\n });\r\n return {\r\n initialStyles: documentAttributes,\r\n importedStyles: [\r\n new defaults_1.DocumentDefaults(options.document),\r\n new style_1.TitleStyle(Object.assign({ run: {\r\n size: 56,\r\n } }, options.title)),\r\n new style_1.Heading1Style(Object.assign({ run: {\r\n color: \"2E74B5\",\r\n size: 32,\r\n } }, options.heading1)),\r\n new style_1.Heading2Style(Object.assign({ run: {\r\n color: \"2E74B5\",\r\n size: 26,\r\n } }, options.heading2)),\r\n new style_1.Heading3Style(Object.assign({ run: {\r\n color: \"1F4D78\",\r\n size: 24,\r\n } }, options.heading3)),\r\n new style_1.Heading4Style(Object.assign({ run: {\r\n color: \"2E74B5\",\r\n italics: true,\r\n } }, options.heading4)),\r\n new style_1.Heading5Style(Object.assign({ run: {\r\n color: \"2E74B5\",\r\n } }, options.heading5)),\r\n new style_1.Heading6Style(Object.assign({ run: {\r\n color: \"1F4D78\",\r\n } }, options.heading6)),\r\n new style_1.StrongStyle(Object.assign({ run: {\r\n bold: true,\r\n } }, options.strong)),\r\n new style_1.ListParagraph(options.listParagraph || {}),\r\n new style_1.HyperlinkStyle(options.hyperlink || {}),\r\n new style_1.FootnoteReferenceStyle(options.footnoteReference || {}),\r\n new style_1.FootnoteText(options.footnoteText || {}),\r\n new style_1.FootnoteTextChar(options.footnoteTextChar || {}),\r\n ],\r\n };\r\n }\r\n}\r\nexports.DefaultStylesFactory = DefaultStylesFactory;\r\n\n\n/***/ }),\n/* 339 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.WORKAROUND = \"\";\r\n\n\n/***/ }),\n/* 340 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(341));\r\n__export(__webpack_require__(346));\r\n\n\n/***/ }),\n/* 341 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst paragraph_1 = __webpack_require__(1);\r\nconst run_1 = __webpack_require__(3);\r\nconst field_1 = __webpack_require__(18);\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst field_instruction_1 = __webpack_require__(342);\r\nconst sdt_content_1 = __webpack_require__(343);\r\nconst sdt_properties_1 = __webpack_require__(344);\r\nclass TableOfContents extends xml_components_1.XmlComponent {\r\n constructor(alias = \"Table of Contents\", properties) {\r\n super(\"w:sdt\");\r\n this.root.push(new sdt_properties_1.StructuredDocumentTagProperties(alias));\r\n const content = new sdt_content_1.StructuredDocumentTagContent();\r\n const beginParagraph = new paragraph_1.Paragraph({\r\n children: [\r\n new run_1.Run({\r\n children: [new field_1.Begin(true), new field_instruction_1.FieldInstruction(properties), new field_1.Separate()],\r\n }),\r\n ],\r\n });\r\n content.addChildElement(beginParagraph);\r\n const endParagraph = new paragraph_1.Paragraph({\r\n children: [\r\n new run_1.Run({\r\n children: [new field_1.End()],\r\n }),\r\n ],\r\n });\r\n content.addChildElement(endParagraph);\r\n this.root.push(content);\r\n }\r\n}\r\nexports.TableOfContents = TableOfContents;\r\n\n\n/***/ }),\n/* 342 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst space_type_1 = __webpack_require__(8);\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TextAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { space: \"xml:space\" };\r\n }\r\n}\r\nclass FieldInstruction extends xml_components_1.XmlComponent {\r\n constructor(properties = {}) {\r\n super(\"w:instrText\");\r\n this.properties = properties;\r\n this.root.push(new TextAttributes({ space: space_type_1.SpaceType.PRESERVE }));\r\n let instruction = \"TOC\";\r\n if (this.properties.captionLabel) {\r\n instruction = `${instruction} \\\\a \"${this.properties.captionLabel}\"`;\r\n }\r\n if (this.properties.entriesFromBookmark) {\r\n instruction = `${instruction} \\\\b \"${this.properties.entriesFromBookmark}\"`;\r\n }\r\n if (this.properties.captionLabelIncludingNumbers) {\r\n instruction = `${instruction} \\\\c \"${this.properties.captionLabelIncludingNumbers}\"`;\r\n }\r\n if (this.properties.sequenceAndPageNumbersSeparator) {\r\n instruction = `${instruction} \\\\d \"${this.properties.sequenceAndPageNumbersSeparator}\"`;\r\n }\r\n if (this.properties.tcFieldIdentifier) {\r\n instruction = `${instruction} \\\\f \"${this.properties.tcFieldIdentifier}\"`;\r\n }\r\n if (this.properties.hyperlink) {\r\n instruction = `${instruction} \\\\h`;\r\n }\r\n if (this.properties.tcFieldLevelRange) {\r\n instruction = `${instruction} \\\\l \"${this.properties.tcFieldLevelRange}\"`;\r\n }\r\n if (this.properties.pageNumbersEntryLevelsRange) {\r\n instruction = `${instruction} \\\\n \"${this.properties.pageNumbersEntryLevelsRange}\"`;\r\n }\r\n if (this.properties.headingStyleRange) {\r\n instruction = `${instruction} \\\\o \"${this.properties.headingStyleRange}\"`;\r\n }\r\n if (this.properties.entryAndPageNumberSeparator) {\r\n instruction = `${instruction} \\\\p \"${this.properties.entryAndPageNumberSeparator}\"`;\r\n }\r\n if (this.properties.seqFieldIdentifierForPrefix) {\r\n instruction = `${instruction} \\\\s \"${this.properties.seqFieldIdentifierForPrefix}\"`;\r\n }\r\n if (this.properties.stylesWithLevels && this.properties.stylesWithLevels.length) {\r\n const styles = this.properties.stylesWithLevels.map((sl) => `${sl.styleName},${sl.level}`).join(\",\");\r\n instruction = `${instruction} \\\\t \"${styles}\"`;\r\n }\r\n if (this.properties.useAppliedParagraphOutlineLevel) {\r\n instruction = `${instruction} \\\\u`;\r\n }\r\n if (this.properties.preserveTabInEntries) {\r\n instruction = `${instruction} \\\\w`;\r\n }\r\n if (this.properties.preserveNewLineInEntries) {\r\n instruction = `${instruction} \\\\x`;\r\n }\r\n if (this.properties.hideTabAndPageNumbersInWebView) {\r\n instruction = `${instruction} \\\\z`;\r\n }\r\n this.root.push(instruction);\r\n }\r\n}\r\nexports.FieldInstruction = FieldInstruction;\r\n\n\n/***/ }),\n/* 343 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass StructuredDocumentTagContent extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:sdtContent\");\r\n }\r\n}\r\nexports.StructuredDocumentTagContent = StructuredDocumentTagContent;\r\n\n\n/***/ }),\n/* 344 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst alias_1 = __webpack_require__(345);\r\nclass StructuredDocumentTagProperties extends xml_components_1.XmlComponent {\r\n constructor(alias) {\r\n super(\"w:sdtPr\");\r\n this.root.push(new alias_1.Alias(alias));\r\n }\r\n}\r\nexports.StructuredDocumentTagProperties = StructuredDocumentTagProperties;\r\n\n\n/***/ }),\n/* 345 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass AliasAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { alias: \"w:val\" };\r\n }\r\n}\r\nclass Alias extends xml_components_1.XmlComponent {\r\n constructor(alias) {\r\n super(\"w:alias\");\r\n this.root.push(new AliasAttributes({ alias }));\r\n }\r\n}\r\nexports.Alias = Alias;\r\n\n\n/***/ }),\n/* 346 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nclass StyleLevel {\r\n constructor(styleName, level) {\r\n this.styleName = styleName;\r\n this.level = level;\r\n }\r\n}\r\nexports.StyleLevel = StyleLevel;\r\n\n\n/***/ }),\n/* 347 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(348));\r\n__export(__webpack_require__(349));\r\n\n\n/***/ }),\n/* 348 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst index_1 = __webpack_require__(12);\r\nconst track_revision_1 = __webpack_require__(137);\r\nclass InsertedTextRun extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:ins\");\r\n this.root.push(new track_revision_1.ChangeAttributes({\r\n id: options.id,\r\n author: options.author,\r\n date: options.date,\r\n }));\r\n this.addChildElement(new index_1.TextRun(options));\r\n }\r\n}\r\nexports.InsertedTextRun = InsertedTextRun;\r\n\n\n/***/ }),\n/* 349 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst index_1 = __webpack_require__(12);\r\nconst break_1 = __webpack_require__(67);\r\nconst field_1 = __webpack_require__(18);\r\nconst run_1 = __webpack_require__(17);\r\nconst track_revision_1 = __webpack_require__(137);\r\nconst deleted_page_number_1 = __webpack_require__(350);\r\nconst deleted_text_1 = __webpack_require__(351);\r\nclass DeletedTextRun extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:del\");\r\n this.root.push(new track_revision_1.ChangeAttributes({\r\n id: options.id,\r\n author: options.author,\r\n date: options.date,\r\n }));\r\n this.deletedTextRunWrapper = new DeletedTextRunWrapper(options);\r\n this.addChildElement(this.deletedTextRunWrapper);\r\n }\r\n}\r\nexports.DeletedTextRun = DeletedTextRun;\r\nclass DeletedTextRunWrapper extends xml_components_1.XmlComponent {\r\n constructor(options) {\r\n super(\"w:r\");\r\n this.root.push(new index_1.RunProperties(options));\r\n if (options.children) {\r\n for (const child of options.children) {\r\n if (typeof child === \"string\") {\r\n switch (child) {\r\n case run_1.PageNumber.CURRENT:\r\n this.root.push(new field_1.Begin());\r\n this.root.push(new deleted_page_number_1.DeletedPage());\r\n this.root.push(new field_1.Separate());\r\n this.root.push(new field_1.End());\r\n break;\r\n case run_1.PageNumber.TOTAL_PAGES:\r\n this.root.push(new field_1.Begin());\r\n this.root.push(new deleted_page_number_1.DeletedNumberOfPages());\r\n this.root.push(new field_1.Separate());\r\n this.root.push(new field_1.End());\r\n break;\r\n case run_1.PageNumber.TOTAL_PAGES_IN_SECTION:\r\n this.root.push(new field_1.Begin());\r\n this.root.push(new deleted_page_number_1.DeletedNumberOfPagesSection());\r\n this.root.push(new field_1.Separate());\r\n this.root.push(new field_1.End());\r\n break;\r\n default:\r\n this.root.push(new deleted_text_1.DeletedText(child));\r\n break;\r\n }\r\n continue;\r\n }\r\n this.root.push(child);\r\n }\r\n }\r\n else if (options.text) {\r\n this.root.push(new deleted_text_1.DeletedText(options.text));\r\n }\r\n if (options.break) {\r\n for (let i = 0; i < options.break; i++) {\r\n this.root.splice(1, 0, new break_1.Break());\r\n }\r\n }\r\n }\r\n}\r\n\n\n/***/ }),\n/* 350 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst space_type_1 = __webpack_require__(8);\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TextAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { space: \"xml:space\" };\r\n }\r\n}\r\nclass DeletedPage extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:delInstrText\");\r\n this.root.push(new TextAttributes({ space: space_type_1.SpaceType.PRESERVE }));\r\n this.root.push(\"PAGE\");\r\n }\r\n}\r\nexports.DeletedPage = DeletedPage;\r\nclass DeletedNumberOfPages extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:delInstrText\");\r\n this.root.push(new TextAttributes({ space: space_type_1.SpaceType.PRESERVE }));\r\n this.root.push(\"NUMPAGES\");\r\n }\r\n}\r\nexports.DeletedNumberOfPages = DeletedNumberOfPages;\r\nclass DeletedNumberOfPagesSection extends xml_components_1.XmlComponent {\r\n constructor() {\r\n super(\"w:delInstrText\");\r\n this.root.push(new TextAttributes({ space: space_type_1.SpaceType.PRESERVE }));\r\n this.root.push(\"SECTIONPAGES\");\r\n }\r\n}\r\nexports.DeletedNumberOfPagesSection = DeletedNumberOfPagesSection;\r\n\n\n/***/ }),\n/* 351 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst space_type_1 = __webpack_require__(8);\r\nconst xml_components_1 = __webpack_require__(0);\r\nclass TextAttributes extends xml_components_1.XmlAttributeComponent {\r\n constructor() {\r\n super(...arguments);\r\n this.xmlKeys = { space: \"xml:space\" };\r\n }\r\n}\r\nclass DeletedText extends xml_components_1.XmlComponent {\r\n constructor(text) {\r\n super(\"w:delText\");\r\n this.root.push(new TextAttributes({ space: space_type_1.SpaceType.PRESERVE }));\r\n this.root.push(text);\r\n }\r\n}\r\nexports.DeletedText = DeletedText;\r\n\n\n/***/ }),\n/* 352 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(353));\r\n\n\n/***/ }),\n/* 353 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst next_compiler_1 = __webpack_require__(354);\r\nclass Packer {\r\n static toBuffer(file, prettify) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const zip = this.compiler.compile(file, prettify);\r\n const zipData = yield zip.generateAsync({\r\n type: \"nodebuffer\",\r\n mimeType: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\r\n compression: \"DEFLATE\",\r\n });\r\n return zipData;\r\n });\r\n }\r\n static toBase64String(file, prettify) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const zip = this.compiler.compile(file, prettify);\r\n const zipData = yield zip.generateAsync({\r\n type: \"base64\",\r\n mimeType: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\r\n compression: \"DEFLATE\",\r\n });\r\n return zipData;\r\n });\r\n }\r\n static toBlob(file, prettify) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const zip = this.compiler.compile(file, prettify);\r\n const zipData = yield zip.generateAsync({\r\n type: \"blob\",\r\n mimeType: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\r\n compression: \"DEFLATE\",\r\n });\r\n return zipData;\r\n });\r\n }\r\n}\r\nPacker.compiler = new next_compiler_1.Compiler();\r\nexports.Packer = Packer;\r\n\n\n/***/ }),\n/* 354 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst JSZip = __webpack_require__(138);\r\nconst xml = __webpack_require__(355);\r\nconst formatter_1 = __webpack_require__(357);\r\nconst image_replacer_1 = __webpack_require__(358);\r\nconst numbering_replacer_1 = __webpack_require__(359);\r\nclass Compiler {\r\n constructor() {\r\n this.formatter = new formatter_1.Formatter();\r\n this.imageReplacer = new image_replacer_1.ImageReplacer();\r\n this.numberingReplacer = new numbering_replacer_1.NumberingReplacer();\r\n }\r\n compile(file, prettifyXml) {\r\n const zip = new JSZip();\r\n const xmlifiedFileMapping = this.xmlifyFile(file, prettifyXml);\r\n for (const key in xmlifiedFileMapping) {\r\n if (!xmlifiedFileMapping[key]) {\r\n continue;\r\n }\r\n const obj = xmlifiedFileMapping[key];\r\n if (Array.isArray(obj)) {\r\n for (const subFile of obj) {\r\n zip.file(subFile.path, subFile.data);\r\n }\r\n }\r\n else {\r\n zip.file(obj.path, obj.data);\r\n }\r\n }\r\n for (const data of file.Media.Array) {\r\n const mediaData = data.stream;\r\n zip.file(`word/media/${data.fileName}`, mediaData);\r\n }\r\n return zip;\r\n }\r\n xmlifyFile(file, prettify) {\r\n file.verifyUpdateFields();\r\n const documentRelationshipCount = file.DocumentRelationships.RelationshipCount + 1;\r\n const documentXmlData = xml(this.formatter.format(file.Document, file), prettify);\r\n const documentMediaDatas = this.imageReplacer.getMediaData(documentXmlData, file.Media);\r\n return {\r\n Relationships: {\r\n data: (() => {\r\n documentMediaDatas.forEach((mediaData, i) => {\r\n file.DocumentRelationships.createRelationship(documentRelationshipCount + i, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\", `media/${mediaData.fileName}`);\r\n });\r\n return xml(this.formatter.format(file.DocumentRelationships, file), prettify);\r\n })(),\r\n path: \"word/_rels/document.xml.rels\",\r\n },\r\n Document: {\r\n data: (() => {\r\n const xmlData = this.imageReplacer.replace(documentXmlData, documentMediaDatas, documentRelationshipCount);\r\n const referenedXmlData = this.numberingReplacer.replace(xmlData, file.Numbering.ConcreteNumbering);\r\n return referenedXmlData;\r\n })(),\r\n path: \"word/document.xml\",\r\n },\r\n Styles: {\r\n data: xml(this.formatter.format(file.Styles, file), prettify),\r\n path: \"word/styles.xml\",\r\n },\r\n Properties: {\r\n data: xml(this.formatter.format(file.CoreProperties, file), {\r\n declaration: {\r\n standalone: \"yes\",\r\n encoding: \"UTF-8\",\r\n },\r\n }),\r\n path: \"docProps/core.xml\",\r\n },\r\n Numbering: {\r\n data: xml(this.formatter.format(file.Numbering, file), prettify),\r\n path: \"word/numbering.xml\",\r\n },\r\n FileRelationships: {\r\n data: xml(this.formatter.format(file.FileRelationships, file), prettify),\r\n path: \"_rels/.rels\",\r\n },\r\n HeaderRelationships: file.Headers.map((headerWrapper, index) => {\r\n const xmlData = xml(this.formatter.format(headerWrapper.Header, file), prettify);\r\n const mediaDatas = this.imageReplacer.getMediaData(xmlData, file.Media);\r\n mediaDatas.forEach((mediaData, i) => {\r\n headerWrapper.Relationships.createRelationship(i, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\", `media/${mediaData.fileName}`);\r\n });\r\n return {\r\n data: xml(this.formatter.format(headerWrapper.Relationships, file), prettify),\r\n path: `word/_rels/header${index + 1}.xml.rels`,\r\n };\r\n }),\r\n FooterRelationships: file.Footers.map((footerWrapper, index) => {\r\n const xmlData = xml(this.formatter.format(footerWrapper.Footer, file), prettify);\r\n const mediaDatas = this.imageReplacer.getMediaData(xmlData, file.Media);\r\n mediaDatas.forEach((mediaData, i) => {\r\n footerWrapper.Relationships.createRelationship(i, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\", `media/${mediaData.fileName}`);\r\n });\r\n return {\r\n data: xml(this.formatter.format(footerWrapper.Relationships, file), prettify),\r\n path: `word/_rels/footer${index + 1}.xml.rels`,\r\n };\r\n }),\r\n Headers: file.Headers.map((headerWrapper, index) => {\r\n const tempXmlData = xml(this.formatter.format(headerWrapper.Header, file), prettify);\r\n const mediaDatas = this.imageReplacer.getMediaData(tempXmlData, file.Media);\r\n const xmlData = this.imageReplacer.replace(tempXmlData, mediaDatas, 0);\r\n return {\r\n data: xmlData,\r\n path: `word/header${index + 1}.xml`,\r\n };\r\n }),\r\n Footers: file.Footers.map((footerWrapper, index) => {\r\n const tempXmlData = xml(this.formatter.format(footerWrapper.Footer, file), prettify);\r\n const mediaDatas = this.imageReplacer.getMediaData(tempXmlData, file.Media);\r\n const xmlData = this.imageReplacer.replace(tempXmlData, mediaDatas, 0);\r\n return {\r\n data: xmlData,\r\n path: `word/footer${index + 1}.xml`,\r\n };\r\n }),\r\n ContentTypes: {\r\n data: xml(this.formatter.format(file.ContentTypes, file), prettify),\r\n path: \"[Content_Types].xml\",\r\n },\r\n AppProperties: {\r\n data: xml(this.formatter.format(file.AppProperties, file), prettify),\r\n path: \"docProps/app.xml\",\r\n },\r\n FootNotes: {\r\n data: xml(this.formatter.format(file.FootNotes, file), prettify),\r\n path: \"word/footnotes.xml\",\r\n },\r\n Settings: {\r\n data: xml(this.formatter.format(file.Settings, file), prettify),\r\n path: \"word/settings.xml\",\r\n },\r\n };\r\n }\r\n}\r\nexports.Compiler = Compiler;\r\n\n\n/***/ }),\n/* 355 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {var escapeForXML = __webpack_require__(356);\nvar Stream = __webpack_require__(56).Stream;\n\nvar DEFAULT_INDENT = ' ';\n\nfunction xml(input, options) {\n\n if (typeof options !== 'object') {\n options = {\n indent: options\n };\n }\n\n var stream = options.stream ? new Stream() : null,\n output = \"\",\n interrupted = false,\n indent = !options.indent ? ''\n : options.indent === true ? DEFAULT_INDENT\n : options.indent,\n instant = true;\n\n\n function delay (func) {\n if (!instant) {\n func();\n } else {\n process.nextTick(func);\n }\n }\n\n function append (interrupt, out) {\n if (out !== undefined) {\n output += out;\n }\n if (interrupt && !interrupted) {\n stream = stream || new Stream();\n interrupted = true;\n }\n if (interrupt && interrupted) {\n var data = output;\n delay(function () { stream.emit('data', data) });\n output = \"\";\n }\n }\n\n function add (value, last) {\n format(append, resolve(value, indent, indent ? 1 : 0), last);\n }\n\n function end() {\n if (stream) {\n var data = output;\n delay(function () {\n stream.emit('data', data);\n stream.emit('end');\n stream.readable = false;\n stream.emit('close');\n });\n }\n }\n\n function addXmlDeclaration(declaration) {\n var encoding = declaration.encoding || 'UTF-8',\n attr = { version: '1.0', encoding: encoding };\n\n if (declaration.standalone) {\n attr.standalone = declaration.standalone\n }\n\n add({'?xml': { _attr: attr } });\n output = output.replace('/>', '?>');\n }\n\n // disable delay delayed\n delay(function () { instant = false });\n\n if (options.declaration) {\n addXmlDeclaration(options.declaration);\n }\n\n if (input && input.forEach) {\n input.forEach(function (value, i) {\n var last;\n if (i + 1 === input.length)\n last = end;\n add(value, last);\n });\n } else {\n add(input, end);\n }\n\n if (stream) {\n stream.readable = true;\n return stream;\n }\n return output;\n}\n\nfunction element (/*input, …*/) {\n var input = Array.prototype.slice.call(arguments),\n self = {\n _elem: resolve(input)\n };\n\n self.push = function (input) {\n if (!this.append) {\n throw new Error(\"not assigned to a parent!\");\n }\n var that = this;\n var indent = this._elem.indent;\n format(this.append, resolve(\n input, indent, this._elem.icount + (indent ? 1 : 0)),\n function () { that.append(true) });\n };\n\n self.close = function (input) {\n if (input !== undefined) {\n this.push(input);\n }\n if (this.end) {\n this.end();\n }\n };\n\n return self;\n}\n\nfunction create_indent(character, count) {\n return (new Array(count || 0).join(character || ''))\n}\n\nfunction resolve(data, indent, indent_count) {\n indent_count = indent_count || 0;\n var indent_spaces = create_indent(indent, indent_count);\n var name;\n var values = data;\n var interrupt = false;\n\n if (typeof data === 'object') {\n var keys = Object.keys(data);\n name = keys[0];\n values = data[name];\n\n if (values && values._elem) {\n values._elem.name = name;\n values._elem.icount = indent_count;\n values._elem.indent = indent;\n values._elem.indents = indent_spaces;\n values._elem.interrupt = values;\n return values._elem;\n }\n }\n\n var attributes = [],\n content = [];\n\n var isStringContent;\n\n function get_attributes(obj){\n var keys = Object.keys(obj);\n keys.forEach(function(key){\n attributes.push(attribute(key, obj[key]));\n });\n }\n\n switch(typeof values) {\n case 'object':\n if (values === null) break;\n\n if (values._attr) {\n get_attributes(values._attr);\n }\n\n if (values._cdata) {\n content.push(\n ('<![CDATA[' + values._cdata).replace(/\\]\\]>/g, ']]]]><![CDATA[>') + ']]>'\n );\n }\n\n if (values.forEach) {\n isStringContent = false;\n content.push('');\n values.forEach(function(value) {\n if (typeof value == 'object') {\n var _name = Object.keys(value)[0];\n\n if (_name == '_attr') {\n get_attributes(value._attr);\n } else {\n content.push(resolve(\n value, indent, indent_count + 1));\n }\n } else {\n //string\n content.pop();\n isStringContent=true;\n content.push(escapeForXML(value));\n }\n\n });\n if (!isStringContent) {\n content.push('');\n }\n }\n break;\n\n default:\n //string\n content.push(escapeForXML(values));\n\n }\n\n return {\n name: name,\n interrupt: interrupt,\n attributes: attributes,\n content: content,\n icount: indent_count,\n indents: indent_spaces,\n indent: indent\n };\n}\n\nfunction format(append, elem, end) {\n\n if (typeof elem != 'object') {\n return append(false, elem);\n }\n\n var len = elem.interrupt ? 1 : elem.content.length;\n\n function proceed () {\n while (elem.content.length) {\n var value = elem.content.shift();\n\n if (value === undefined) continue;\n if (interrupt(value)) return;\n\n format(append, value);\n }\n\n append(false, (len > 1 ? elem.indents : '')\n + (elem.name ? '</' + elem.name + '>' : '')\n + (elem.indent && !end ? '\\n' : ''));\n\n if (end) {\n end();\n }\n }\n\n function interrupt(value) {\n if (value.interrupt) {\n value.interrupt.append = append;\n value.interrupt.end = proceed;\n value.interrupt = false;\n append(true);\n return true;\n }\n return false;\n }\n\n append(false, elem.indents\n + (elem.name ? '<' + elem.name : '')\n + (elem.attributes.length ? ' ' + elem.attributes.join(' ') : '')\n + (len ? (elem.name ? '>' : '') : (elem.name ? '/>' : ''))\n + (elem.indent && len > 1 ? '\\n' : ''));\n\n if (!len) {\n return append(false, elem.indent ? '\\n' : '');\n }\n\n if (!interrupt(elem)) {\n proceed();\n }\n}\n\nfunction attribute(key, value) {\n return key + '=' + '\"' + escapeForXML(value) + '\"';\n}\n\nmodule.exports = xml;\nmodule.exports.element = module.exports.Element = element;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(13)))\n\n/***/ }),\n/* 356 */\n/***/ (function(module, exports) {\n\n\nvar XML_CHARACTER_MAP = {\n '&': '&',\n '\"': '"',\n \"'\": ''',\n '<': '<',\n '>': '>'\n};\n\nfunction escapeForXML(string) {\n return string && string.replace\n ? string.replace(/([&\"<>'])/g, function(str, item) {\n return XML_CHARACTER_MAP[item];\n })\n : string;\n}\n\nmodule.exports = escapeForXML;\n\n\n/***/ }),\n/* 357 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nclass Formatter {\r\n format(input, file) {\r\n const output = input.prepForXml(file);\r\n if (output) {\r\n return output;\r\n }\r\n else {\r\n throw Error(\"XMLComponent did not format correctly\");\r\n }\r\n }\r\n}\r\nexports.Formatter = Formatter;\r\n\n\n/***/ }),\n/* 358 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nclass ImageReplacer {\r\n replace(xmlData, mediaData, offset) {\r\n let currentXmlData = xmlData;\r\n mediaData.forEach((image, i) => {\r\n currentXmlData = currentXmlData.replace(new RegExp(`{${image.fileName}}`, \"g\"), (offset + i).toString());\r\n });\r\n return currentXmlData;\r\n }\r\n getMediaData(xmlData, media) {\r\n return media.Array.filter((image) => xmlData.search(`{${image.fileName}}`) > 0);\r\n }\r\n}\r\nexports.ImageReplacer = ImageReplacer;\r\n\n\n/***/ }),\n/* 359 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nclass NumberingReplacer {\r\n replace(xmlData, concreteNumberings) {\r\n let currentXmlData = xmlData;\r\n for (const concreteNumbering of concreteNumberings) {\r\n if (!concreteNumbering.reference) {\r\n continue;\r\n }\r\n currentXmlData = currentXmlData.replace(new RegExp(`{${concreteNumbering.reference}}`, \"g\"), concreteNumbering.id.toString());\r\n }\r\n return currentXmlData;\r\n }\r\n}\r\nexports.NumberingReplacer = NumberingReplacer;\r\n\n\n/***/ }),\n/* 360 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__export(__webpack_require__(361));\r\n\n\n/***/ }),\n/* 361 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst JSZip = __webpack_require__(138);\r\nconst xml_js_1 = __webpack_require__(26);\r\nconst footer_wrapper_1 = __webpack_require__(46);\r\nconst header_wrapper_1 = __webpack_require__(49);\r\nconst media_1 = __webpack_require__(50);\r\nconst relationship_1 = __webpack_require__(48);\r\nconst xml_components_1 = __webpack_require__(0);\r\nconst schemeToType = {\r\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header\": \"header\",\r\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer\": \"footer\",\r\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\": \"image\",\r\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\": \"hyperlink\",\r\n};\r\nvar RelationshipType;\r\n(function (RelationshipType) {\r\n RelationshipType[\"HEADER\"] = \"header\";\r\n RelationshipType[\"FOOTER\"] = \"footer\";\r\n RelationshipType[\"IMAGE\"] = \"image\";\r\n RelationshipType[\"HYPERLINK\"] = \"hyperlink\";\r\n})(RelationshipType || (RelationshipType = {}));\r\nclass ImportDotx {\r\n extract(data) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const zipContent = yield JSZip.loadAsync(data);\r\n const documentContent = yield zipContent.files[\"word/document.xml\"].async(\"text\");\r\n const relationshipContent = yield zipContent.files[\"word/_rels/document.xml.rels\"].async(\"text\");\r\n const documentRefs = this.extractDocumentRefs(documentContent);\r\n const documentRelationships = this.findReferenceFiles(relationshipContent);\r\n const media = new media_1.Media();\r\n const templateDocument = {\r\n headers: yield this.createHeaders(zipContent, documentRefs, documentRelationships, media, 0),\r\n footers: yield this.createFooters(zipContent, documentRefs, documentRelationships, media, documentRefs.headers.length),\r\n currentRelationshipId: documentRefs.footers.length + documentRefs.headers.length,\r\n styles: yield zipContent.files[\"word/styles.xml\"].async(\"text\"),\r\n titlePageIsDefined: this.checkIfTitlePageIsDefined(documentContent),\r\n media: media,\r\n };\r\n return templateDocument;\r\n });\r\n }\r\n createFooters(zipContent, documentRefs, documentRelationships, media, startingRelationshipId) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const result = documentRefs.footers\r\n .map((reference, i) => __awaiter(this, void 0, void 0, function* () {\r\n const relationshipFileInfo = documentRelationships.find((rel) => rel.id === reference.id);\r\n if (relationshipFileInfo === null || !relationshipFileInfo) {\r\n throw new Error(`Can not find target file for id ${reference.id}`);\r\n }\r\n const xmlData = yield zipContent.files[`word/${relationshipFileInfo.target}`].async(\"text\");\r\n const xmlObj = xml_js_1.xml2js(xmlData, { compact: false, captureSpacesBetweenElements: true });\r\n if (!xmlObj.elements) {\r\n return undefined;\r\n }\r\n const xmlElement = xmlObj.elements.reduce((acc, current) => (current.name === \"w:ftr\" ? current : acc));\r\n const importedComp = xml_components_1.convertToXmlComponent(xmlElement);\r\n const wrapper = new footer_wrapper_1.FooterWrapper(media, startingRelationshipId + i, importedComp);\r\n yield this.addRelationshipToWrapper(relationshipFileInfo, zipContent, wrapper, media);\r\n return { type: reference.type, footer: wrapper };\r\n }))\r\n .filter((x) => !!x);\r\n return Promise.all(result);\r\n });\r\n }\r\n createHeaders(zipContent, documentRefs, documentRelationships, media, startingRelationshipId) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const result = documentRefs.headers\r\n .map((reference, i) => __awaiter(this, void 0, void 0, function* () {\r\n const relationshipFileInfo = documentRelationships.find((rel) => rel.id === reference.id);\r\n if (relationshipFileInfo === null || !relationshipFileInfo) {\r\n throw new Error(`Can not find target file for id ${reference.id}`);\r\n }\r\n const xmlData = yield zipContent.files[`word/${relationshipFileInfo.target}`].async(\"text\");\r\n const xmlObj = xml_js_1.xml2js(xmlData, { compact: false, captureSpacesBetweenElements: true });\r\n if (!xmlObj.elements) {\r\n return undefined;\r\n }\r\n const xmlElement = xmlObj.elements.reduce((acc, current) => (current.name === \"w:hdr\" ? current : acc));\r\n const importedComp = xml_components_1.convertToXmlComponent(xmlElement);\r\n const wrapper = new header_wrapper_1.HeaderWrapper(media, startingRelationshipId + i, importedComp);\r\n yield this.addRelationshipToWrapper(relationshipFileInfo, zipContent, wrapper, media);\r\n return { type: reference.type, header: wrapper };\r\n }))\r\n .filter((x) => !!x);\r\n return Promise.all(result);\r\n });\r\n }\r\n addRelationshipToWrapper(relationhipFile, zipContent, wrapper, media) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const refFile = zipContent.files[`word/_rels/${relationhipFile.target}.rels`];\r\n if (!refFile) {\r\n return;\r\n }\r\n const xmlRef = yield refFile.async(\"text\");\r\n const wrapperImagesReferences = this.findReferenceFiles(xmlRef).filter((r) => r.type === RelationshipType.IMAGE);\r\n const hyperLinkReferences = this.findReferenceFiles(xmlRef).filter((r) => r.type === RelationshipType.HYPERLINK);\r\n for (const r of wrapperImagesReferences) {\r\n const buffer = yield zipContent.files[`word/${r.target}`].async(\"nodebuffer\");\r\n const mediaData = media.addMedia(buffer);\r\n wrapper.Relationships.createRelationship(r.id, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\", `media/${mediaData.fileName}`);\r\n }\r\n for (const r of hyperLinkReferences) {\r\n wrapper.Relationships.createRelationship(r.id, \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\", r.target, relationship_1.TargetModeType.EXTERNAL);\r\n }\r\n });\r\n }\r\n findReferenceFiles(xmlData) {\r\n const xmlObj = xml_js_1.xml2js(xmlData, { compact: true });\r\n const relationXmlArray = Array.isArray(xmlObj.Relationships.Relationship)\r\n ? xmlObj.Relationships.Relationship\r\n : [xmlObj.Relationships.Relationship];\r\n const relationships = relationXmlArray\r\n .map((item) => {\r\n if (item._attributes === undefined) {\r\n throw Error(\"relationship element has no attributes\");\r\n }\r\n return {\r\n id: this.parseRefId(item._attributes.Id),\r\n type: schemeToType[item._attributes.Type],\r\n target: item._attributes.Target,\r\n };\r\n })\r\n .filter((item) => item.type !== null);\r\n return relationships;\r\n }\r\n extractDocumentRefs(xmlData) {\r\n const xmlObj = xml_js_1.xml2js(xmlData, { compact: true });\r\n const sectionProp = xmlObj[\"w:document\"][\"w:body\"][\"w:sectPr\"];\r\n const headerProps = sectionProp[\"w:headerReference\"];\r\n let headersXmlArray;\r\n if (headerProps === undefined) {\r\n headersXmlArray = [];\r\n }\r\n else if (Array.isArray(headerProps)) {\r\n headersXmlArray = headerProps;\r\n }\r\n else {\r\n headersXmlArray = [headerProps];\r\n }\r\n const headers = headersXmlArray.map((item) => {\r\n if (item._attributes === undefined) {\r\n throw Error(\"header referecne element has no attributes\");\r\n }\r\n return {\r\n type: item._attributes[\"w:type\"],\r\n id: this.parseRefId(item._attributes[\"r:id\"]),\r\n };\r\n });\r\n const footerProps = sectionProp[\"w:footerReference\"];\r\n let footersXmlArray;\r\n if (footerProps === undefined) {\r\n footersXmlArray = [];\r\n }\r\n else if (Array.isArray(footerProps)) {\r\n footersXmlArray = footerProps;\r\n }\r\n else {\r\n footersXmlArray = [footerProps];\r\n }\r\n const footers = footersXmlArray.map((item) => {\r\n if (item._attributes === undefined) {\r\n throw Error(\"footer referecne element has no attributes\");\r\n }\r\n return {\r\n type: item._attributes[\"w:type\"],\r\n id: this.parseRefId(item._attributes[\"r:id\"]),\r\n };\r\n });\r\n return { headers, footers };\r\n }\r\n checkIfTitlePageIsDefined(xmlData) {\r\n const xmlObj = xml_js_1.xml2js(xmlData, { compact: true });\r\n const sectionProp = xmlObj[\"w:document\"][\"w:body\"][\"w:sectPr\"];\r\n return sectionProp[\"w:titlePg\"] !== undefined;\r\n }\r\n parseRefId(str) {\r\n const match = /^rId(\\d+)$/.exec(str);\r\n if (match === null) {\r\n throw new Error(\"Invalid ref id\");\r\n }\r\n return parseInt(match[1], 10);\r\n }\r\n}\r\nexports.ImportDotx = ImportDotx;\r\n\n\n/***/ })\n/******/ ]);\n});","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","/**\n * This library modifies the diff-patch-match library by Neil Fraser\n * by removing the patch and match functionality and certain advanced\n * options in the diff function. The original license is as follows:\n *\n * ===\n *\n * Diff Match and Patch\n *\n * Copyright 2006 Google Inc.\n * http://code.google.com/p/google-diff-match-patch/\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\n/**\n * Find the differences between two texts. Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {Int|Object} [cursor_pos] Edit position in text1 or object with more info\n * @param {boolean} [cleanup] Apply semantic cleanup before returning.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_main(text1, text2, cursor_pos, cleanup, _fix_unicode) {\n // Check for equality\n if (text1 === text2) {\n if (text1) {\n return [[DIFF_EQUAL, text1]];\n }\n return [];\n }\n\n if (cursor_pos != null) {\n var editdiff = find_cursor_edit_diff(text1, text2, cursor_pos);\n if (editdiff) {\n return editdiff;\n }\n }\n\n // Trim off common prefix (speedup).\n var commonlength = diff_commonPrefix(text1, text2);\n var commonprefix = text1.substring(0, commonlength);\n text1 = text1.substring(commonlength);\n text2 = text2.substring(commonlength);\n\n // Trim off common suffix (speedup).\n commonlength = diff_commonSuffix(text1, text2);\n var commonsuffix = text1.substring(text1.length - commonlength);\n text1 = text1.substring(0, text1.length - commonlength);\n text2 = text2.substring(0, text2.length - commonlength);\n\n // Compute the diff on the middle block.\n var diffs = diff_compute_(text1, text2);\n\n // Restore the prefix and suffix.\n if (commonprefix) {\n diffs.unshift([DIFF_EQUAL, commonprefix]);\n }\n if (commonsuffix) {\n diffs.push([DIFF_EQUAL, commonsuffix]);\n }\n diff_cleanupMerge(diffs, _fix_unicode);\n if (cleanup) {\n diff_cleanupSemantic(diffs);\n }\n return diffs;\n}\n\n/**\n * Find the differences between two texts. Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_compute_(text1, text2) {\n var diffs;\n\n if (!text1) {\n // Just add some text (speedup).\n return [[DIFF_INSERT, text2]];\n }\n\n if (!text2) {\n // Just delete some text (speedup).\n return [[DIFF_DELETE, text1]];\n }\n\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n var i = longtext.indexOf(shorttext);\n if (i !== -1) {\n // Shorter text is inside the longer text (speedup).\n diffs = [\n [DIFF_INSERT, longtext.substring(0, i)],\n [DIFF_EQUAL, shorttext],\n [DIFF_INSERT, longtext.substring(i + shorttext.length)],\n ];\n // Swap insertions for deletions if diff is reversed.\n if (text1.length > text2.length) {\n diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n }\n return diffs;\n }\n\n if (shorttext.length === 1) {\n // Single character string.\n // After the previous speedup, the character can't be an equality.\n return [\n [DIFF_DELETE, text1],\n [DIFF_INSERT, text2],\n ];\n }\n\n // Check to see if the problem can be split in two.\n var hm = diff_halfMatch_(text1, text2);\n if (hm) {\n // A half-match was found, sort out the return data.\n var text1_a = hm[0];\n var text1_b = hm[1];\n var text2_a = hm[2];\n var text2_b = hm[3];\n var mid_common = hm[4];\n // Send both pairs off for separate processing.\n var diffs_a = diff_main(text1_a, text2_a);\n var diffs_b = diff_main(text1_b, text2_b);\n // Merge the results.\n return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\n }\n\n return diff_bisect_(text1, text2);\n}\n\n/**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n * @private\n */\nfunction diff_bisect_(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n var max_d = Math.ceil((text1_length + text2_length) / 2);\n var v_offset = max_d;\n var v_length = 2 * max_d;\n var v1 = new Array(v_length);\n var v2 = new Array(v_length);\n // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n // integers and undefined.\n for (var x = 0; x < v_length; x++) {\n v1[x] = -1;\n v2[x] = -1;\n }\n v1[v_offset + 1] = 0;\n v2[v_offset + 1] = 0;\n var delta = text1_length - text2_length;\n // If the total number of characters is odd, then the front path will collide\n // with the reverse path.\n var front = delta % 2 !== 0;\n // Offsets for start and end of k loop.\n // Prevents mapping of space beyond the grid.\n var k1start = 0;\n var k1end = 0;\n var k2start = 0;\n var k2end = 0;\n for (var d = 0; d < max_d; d++) {\n // Walk the front path one step.\n for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n var k1_offset = v_offset + k1;\n var x1;\n if (k1 === -d || (k1 !== d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\n x1 = v1[k1_offset + 1];\n } else {\n x1 = v1[k1_offset - 1] + 1;\n }\n var y1 = x1 - k1;\n while (\n x1 < text1_length &&\n y1 < text2_length &&\n text1.charAt(x1) === text2.charAt(y1)\n ) {\n x1++;\n y1++;\n }\n v1[k1_offset] = x1;\n if (x1 > text1_length) {\n // Ran off the right of the graph.\n k1end += 2;\n } else if (y1 > text2_length) {\n // Ran off the bottom of the graph.\n k1start += 2;\n } else if (front) {\n var k2_offset = v_offset + delta - k1;\n if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] !== -1) {\n // Mirror x2 onto top-left coordinate system.\n var x2 = text1_length - v2[k2_offset];\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n\n // Walk the reverse path one step.\n for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n var k2_offset = v_offset + k2;\n var x2;\n if (k2 === -d || (k2 !== d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\n x2 = v2[k2_offset + 1];\n } else {\n x2 = v2[k2_offset - 1] + 1;\n }\n var y2 = x2 - k2;\n while (\n x2 < text1_length &&\n y2 < text2_length &&\n text1.charAt(text1_length - x2 - 1) ===\n text2.charAt(text2_length - y2 - 1)\n ) {\n x2++;\n y2++;\n }\n v2[k2_offset] = x2;\n if (x2 > text1_length) {\n // Ran off the left of the graph.\n k2end += 2;\n } else if (y2 > text2_length) {\n // Ran off the top of the graph.\n k2start += 2;\n } else if (!front) {\n var k1_offset = v_offset + delta - k2;\n if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] !== -1) {\n var x1 = v1[k1_offset];\n var y1 = v_offset + x1 - k1_offset;\n // Mirror x2 onto top-left coordinate system.\n x2 = text1_length - x2;\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n }\n // Diff took too long and hit the deadline or\n // number of diffs equals number of characters, no commonality at all.\n return [\n [DIFF_DELETE, text1],\n [DIFF_INSERT, text2],\n ];\n}\n\n/**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_bisectSplit_(text1, text2, x, y) {\n var text1a = text1.substring(0, x);\n var text2a = text2.substring(0, y);\n var text1b = text1.substring(x);\n var text2b = text2.substring(y);\n\n // Compute both diffs serially.\n var diffs = diff_main(text1a, text2a);\n var diffsb = diff_main(text1b, text2b);\n\n return diffs.concat(diffsb);\n}\n\n/**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n * string.\n */\nfunction diff_commonPrefix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.charAt(0) !== text2.charAt(0)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerstart = 0;\n while (pointermin < pointermid) {\n if (\n text1.substring(pointerstart, pointermid) ==\n text2.substring(pointerstart, pointermid)\n ) {\n pointermin = pointermid;\n pointerstart = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n\n if (is_surrogate_pair_start(text1.charCodeAt(pointermid - 1))) {\n pointermid--;\n }\n\n return pointermid;\n}\n\n/**\n * Determine if the suffix of one string is the prefix of another.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of the first\n * string and the start of the second string.\n * @private\n */\nfunction diff_commonOverlap_(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n // Eliminate the null case.\n if (text1_length == 0 || text2_length == 0) {\n return 0;\n }\n // Truncate the longer string.\n if (text1_length > text2_length) {\n text1 = text1.substring(text1_length - text2_length);\n } else if (text1_length < text2_length) {\n text2 = text2.substring(0, text1_length);\n }\n var text_length = Math.min(text1_length, text2_length);\n // Quick check for the worst case.\n if (text1 == text2) {\n return text_length;\n }\n\n // Start by looking for a single character match\n // and increase length until no match is found.\n // Performance analysis: http://neil.fraser.name/news/2010/11/04/\n var best = 0;\n var length = 1;\n while (true) {\n var pattern = text1.substring(text_length - length);\n var found = text2.indexOf(pattern);\n if (found == -1) {\n return best;\n }\n length += found;\n if (\n found == 0 ||\n text1.substring(text_length - length) == text2.substring(0, length)\n ) {\n best = length;\n length++;\n }\n }\n}\n\n/**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\nfunction diff_commonSuffix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.slice(-1) !== text2.slice(-1)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerend = 0;\n while (pointermin < pointermid) {\n if (\n text1.substring(text1.length - pointermid, text1.length - pointerend) ==\n text2.substring(text2.length - pointermid, text2.length - pointerend)\n ) {\n pointermin = pointermid;\n pointerend = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n\n if (is_surrogate_pair_end(text1.charCodeAt(text1.length - pointermid))) {\n pointermid--;\n }\n\n return pointermid;\n}\n\n/**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.<string>} Five element Array, containing the prefix of\n * text1, the suffix of text1, the prefix of text2, the suffix of\n * text2 and the common middle. Or null if there was no match.\n */\nfunction diff_halfMatch_(text1, text2) {\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n return null; // Pointless.\n }\n\n /**\n * Does a substring of shorttext exist within longtext such that the substring\n * is at least half the length of longtext?\n * Closure, but does not reference any external variables.\n * @param {string} longtext Longer string.\n * @param {string} shorttext Shorter string.\n * @param {number} i Start index of quarter length substring within longtext.\n * @return {Array.<string>} Five element Array, containing the prefix of\n * longtext, the suffix of longtext, the prefix of shorttext, the suffix\n * of shorttext and the common middle. Or null if there was no match.\n * @private\n */\n function diff_halfMatchI_(longtext, shorttext, i) {\n // Start with a 1/4 length substring at position i as a seed.\n var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n var j = -1;\n var best_common = \"\";\n var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n while ((j = shorttext.indexOf(seed, j + 1)) !== -1) {\n var prefixLength = diff_commonPrefix(\n longtext.substring(i),\n shorttext.substring(j)\n );\n var suffixLength = diff_commonSuffix(\n longtext.substring(0, i),\n shorttext.substring(0, j)\n );\n if (best_common.length < suffixLength + prefixLength) {\n best_common =\n shorttext.substring(j - suffixLength, j) +\n shorttext.substring(j, j + prefixLength);\n best_longtext_a = longtext.substring(0, i - suffixLength);\n best_longtext_b = longtext.substring(i + prefixLength);\n best_shorttext_a = shorttext.substring(0, j - suffixLength);\n best_shorttext_b = shorttext.substring(j + prefixLength);\n }\n }\n if (best_common.length * 2 >= longtext.length) {\n return [\n best_longtext_a,\n best_longtext_b,\n best_shorttext_a,\n best_shorttext_b,\n best_common,\n ];\n } else {\n return null;\n }\n }\n\n // First check if the second quarter is the seed for a half-match.\n var hm1 = diff_halfMatchI_(\n longtext,\n shorttext,\n Math.ceil(longtext.length / 4)\n );\n // Check again based on the third quarter.\n var hm2 = diff_halfMatchI_(\n longtext,\n shorttext,\n Math.ceil(longtext.length / 2)\n );\n var hm;\n if (!hm1 && !hm2) {\n return null;\n } else if (!hm2) {\n hm = hm1;\n } else if (!hm1) {\n hm = hm2;\n } else {\n // Both matched. Select the longest.\n hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n }\n\n // A half-match was found, sort out the return data.\n var text1_a, text1_b, text2_a, text2_b;\n if (text1.length > text2.length) {\n text1_a = hm[0];\n text1_b = hm[1];\n text2_a = hm[2];\n text2_b = hm[3];\n } else {\n text2_a = hm[0];\n text2_b = hm[1];\n text1_a = hm[2];\n text1_b = hm[3];\n }\n var mid_common = hm[4];\n return [text1_a, text1_b, text2_a, text2_b, mid_common];\n}\n\n/**\n * Reduce the number of edits by eliminating semantically trivial equalities.\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n */\nfunction diff_cleanupSemantic(diffs) {\n var changes = false;\n var equalities = []; // Stack of indices where equalities are found.\n var equalitiesLength = 0; // Keeping our own length var is faster in JS.\n /** @type {?string} */\n var lastequality = null;\n // Always equal to diffs[equalities[equalitiesLength - 1]][1]\n var pointer = 0; // Index of current position.\n // Number of characters that changed prior to the equality.\n var length_insertions1 = 0;\n var length_deletions1 = 0;\n // Number of characters that changed after the equality.\n var length_insertions2 = 0;\n var length_deletions2 = 0;\n while (pointer < diffs.length) {\n if (diffs[pointer][0] == DIFF_EQUAL) {\n // Equality found.\n equalities[equalitiesLength++] = pointer;\n length_insertions1 = length_insertions2;\n length_deletions1 = length_deletions2;\n length_insertions2 = 0;\n length_deletions2 = 0;\n lastequality = diffs[pointer][1];\n } else {\n // An insertion or deletion.\n if (diffs[pointer][0] == DIFF_INSERT) {\n length_insertions2 += diffs[pointer][1].length;\n } else {\n length_deletions2 += diffs[pointer][1].length;\n }\n // Eliminate an equality that is smaller or equal to the edits on both\n // sides of it.\n if (\n lastequality &&\n lastequality.length <=\n Math.max(length_insertions1, length_deletions1) &&\n lastequality.length <= Math.max(length_insertions2, length_deletions2)\n ) {\n // Duplicate record.\n diffs.splice(equalities[equalitiesLength - 1], 0, [\n DIFF_DELETE,\n lastequality,\n ]);\n // Change second copy to insert.\n diffs[equalities[equalitiesLength - 1] + 1][0] = DIFF_INSERT;\n // Throw away the equality we just deleted.\n equalitiesLength--;\n // Throw away the previous equality (it needs to be reevaluated).\n equalitiesLength--;\n pointer = equalitiesLength > 0 ? equalities[equalitiesLength - 1] : -1;\n length_insertions1 = 0; // Reset the counters.\n length_deletions1 = 0;\n length_insertions2 = 0;\n length_deletions2 = 0;\n lastequality = null;\n changes = true;\n }\n }\n pointer++;\n }\n\n // Normalize the diff.\n if (changes) {\n diff_cleanupMerge(diffs);\n }\n diff_cleanupSemanticLossless(diffs);\n\n // Find any overlaps between deletions and insertions.\n // e.g: <del>abcxxx</del><ins>xxxdef</ins>\n // -> <del>abc</del>xxx<ins>def</ins>\n // e.g: <del>xxxabc</del><ins>defxxx</ins>\n // -> <ins>def</ins>xxx<del>abc</del>\n // Only extract an overlap if it is as big as the edit ahead or behind it.\n pointer = 1;\n while (pointer < diffs.length) {\n if (\n diffs[pointer - 1][0] == DIFF_DELETE &&\n diffs[pointer][0] == DIFF_INSERT\n ) {\n var deletion = diffs[pointer - 1][1];\n var insertion = diffs[pointer][1];\n var overlap_length1 = diff_commonOverlap_(deletion, insertion);\n var overlap_length2 = diff_commonOverlap_(insertion, deletion);\n if (overlap_length1 >= overlap_length2) {\n if (\n overlap_length1 >= deletion.length / 2 ||\n overlap_length1 >= insertion.length / 2\n ) {\n // Overlap found. Insert an equality and trim the surrounding edits.\n diffs.splice(pointer, 0, [\n DIFF_EQUAL,\n insertion.substring(0, overlap_length1),\n ]);\n diffs[pointer - 1][1] = deletion.substring(\n 0,\n deletion.length - overlap_length1\n );\n diffs[pointer + 1][1] = insertion.substring(overlap_length1);\n pointer++;\n }\n } else {\n if (\n overlap_length2 >= deletion.length / 2 ||\n overlap_length2 >= insertion.length / 2\n ) {\n // Reverse overlap found.\n // Insert an equality and swap and trim the surrounding edits.\n diffs.splice(pointer, 0, [\n DIFF_EQUAL,\n deletion.substring(0, overlap_length2),\n ]);\n diffs[pointer - 1][0] = DIFF_INSERT;\n diffs[pointer - 1][1] = insertion.substring(\n 0,\n insertion.length - overlap_length2\n );\n diffs[pointer + 1][0] = DIFF_DELETE;\n diffs[pointer + 1][1] = deletion.substring(overlap_length2);\n pointer++;\n }\n }\n pointer++;\n }\n pointer++;\n }\n}\n\nvar nonAlphaNumericRegex_ = /[^a-zA-Z0-9]/;\nvar whitespaceRegex_ = /\\s/;\nvar linebreakRegex_ = /[\\r\\n]/;\nvar blanklineEndRegex_ = /\\n\\r?\\n$/;\nvar blanklineStartRegex_ = /^\\r?\\n\\r?\\n/;\n\n/**\n * Look for single edits surrounded on both sides by equalities\n * which can be shifted sideways to align the edit to a word boundary.\n * e.g: The c<ins>at c</ins>ame. -> The <ins>cat </ins>came.\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n */\nfunction diff_cleanupSemanticLossless(diffs) {\n /**\n * Given two strings, compute a score representing whether the internal\n * boundary falls on logical boundaries.\n * Scores range from 6 (best) to 0 (worst).\n * Closure, but does not reference any external variables.\n * @param {string} one First string.\n * @param {string} two Second string.\n * @return {number} The score.\n * @private\n */\n function diff_cleanupSemanticScore_(one, two) {\n if (!one || !two) {\n // Edges are the best.\n return 6;\n }\n\n // Each port of this function behaves slightly differently due to\n // subtle differences in each language's definition of things like\n // 'whitespace'. Since this function's purpose is largely cosmetic,\n // the choice has been made to use each language's native features\n // rather than force total conformity.\n var char1 = one.charAt(one.length - 1);\n var char2 = two.charAt(0);\n var nonAlphaNumeric1 = char1.match(nonAlphaNumericRegex_);\n var nonAlphaNumeric2 = char2.match(nonAlphaNumericRegex_);\n var whitespace1 = nonAlphaNumeric1 && char1.match(whitespaceRegex_);\n var whitespace2 = nonAlphaNumeric2 && char2.match(whitespaceRegex_);\n var lineBreak1 = whitespace1 && char1.match(linebreakRegex_);\n var lineBreak2 = whitespace2 && char2.match(linebreakRegex_);\n var blankLine1 = lineBreak1 && one.match(blanklineEndRegex_);\n var blankLine2 = lineBreak2 && two.match(blanklineStartRegex_);\n\n if (blankLine1 || blankLine2) {\n // Five points for blank lines.\n return 5;\n } else if (lineBreak1 || lineBreak2) {\n // Four points for line breaks.\n return 4;\n } else if (nonAlphaNumeric1 && !whitespace1 && whitespace2) {\n // Three points for end of sentences.\n return 3;\n } else if (whitespace1 || whitespace2) {\n // Two points for whitespace.\n return 2;\n } else if (nonAlphaNumeric1 || nonAlphaNumeric2) {\n // One point for non-alphanumeric.\n return 1;\n }\n return 0;\n }\n\n var pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (\n diffs[pointer - 1][0] == DIFF_EQUAL &&\n diffs[pointer + 1][0] == DIFF_EQUAL\n ) {\n // This is a single edit surrounded by equalities.\n var equality1 = diffs[pointer - 1][1];\n var edit = diffs[pointer][1];\n var equality2 = diffs[pointer + 1][1];\n\n // First, shift the edit as far left as possible.\n var commonOffset = diff_commonSuffix(equality1, edit);\n if (commonOffset) {\n var commonString = edit.substring(edit.length - commonOffset);\n equality1 = equality1.substring(0, equality1.length - commonOffset);\n edit = commonString + edit.substring(0, edit.length - commonOffset);\n equality2 = commonString + equality2;\n }\n\n // Second, step character by character right, looking for the best fit.\n var bestEquality1 = equality1;\n var bestEdit = edit;\n var bestEquality2 = equality2;\n var bestScore =\n diff_cleanupSemanticScore_(equality1, edit) +\n diff_cleanupSemanticScore_(edit, equality2);\n while (edit.charAt(0) === equality2.charAt(0)) {\n equality1 += edit.charAt(0);\n edit = edit.substring(1) + equality2.charAt(0);\n equality2 = equality2.substring(1);\n var score =\n diff_cleanupSemanticScore_(equality1, edit) +\n diff_cleanupSemanticScore_(edit, equality2);\n // The >= encourages trailing rather than leading whitespace on edits.\n if (score >= bestScore) {\n bestScore = score;\n bestEquality1 = equality1;\n bestEdit = edit;\n bestEquality2 = equality2;\n }\n }\n\n if (diffs[pointer - 1][1] != bestEquality1) {\n // We have an improvement, save it back to the diff.\n if (bestEquality1) {\n diffs[pointer - 1][1] = bestEquality1;\n } else {\n diffs.splice(pointer - 1, 1);\n pointer--;\n }\n diffs[pointer][1] = bestEdit;\n if (bestEquality2) {\n diffs[pointer + 1][1] = bestEquality2;\n } else {\n diffs.splice(pointer + 1, 1);\n pointer--;\n }\n }\n }\n pointer++;\n }\n}\n\n/**\n * Reorder and merge like edit sections. Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {Array} diffs Array of diff tuples.\n * @param {boolean} fix_unicode Whether to normalize to a unicode-correct diff\n */\nfunction diff_cleanupMerge(diffs, fix_unicode) {\n diffs.push([DIFF_EQUAL, \"\"]); // Add a dummy entry at the end.\n var pointer = 0;\n var count_delete = 0;\n var count_insert = 0;\n var text_delete = \"\";\n var text_insert = \"\";\n var commonlength;\n while (pointer < diffs.length) {\n if (pointer < diffs.length - 1 && !diffs[pointer][1]) {\n diffs.splice(pointer, 1);\n continue;\n }\n switch (diffs[pointer][0]) {\n case DIFF_INSERT:\n count_insert++;\n text_insert += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_DELETE:\n count_delete++;\n text_delete += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_EQUAL:\n var previous_equality = pointer - count_insert - count_delete - 1;\n if (fix_unicode) {\n // prevent splitting of unicode surrogate pairs. when fix_unicode is true,\n // we assume that the old and new text in the diff are complete and correct\n // unicode-encoded JS strings, but the tuple boundaries may fall between\n // surrogate pairs. we fix this by shaving off stray surrogates from the end\n // of the previous equality and the beginning of this equality. this may create\n // empty equalities or a common prefix or suffix. for example, if AB and AC are\n // emojis, `[[0, 'A'], [-1, 'BA'], [0, 'C']]` would turn into deleting 'ABAC' and\n // inserting 'AC', and then the common suffix 'AC' will be eliminated. in this\n // particular case, both equalities go away, we absorb any previous inequalities,\n // and we keep scanning for the next equality before rewriting the tuples.\n if (\n previous_equality >= 0 &&\n ends_with_pair_start(diffs[previous_equality][1])\n ) {\n var stray = diffs[previous_equality][1].slice(-1);\n diffs[previous_equality][1] = diffs[previous_equality][1].slice(\n 0,\n -1\n );\n text_delete = stray + text_delete;\n text_insert = stray + text_insert;\n if (!diffs[previous_equality][1]) {\n // emptied out previous equality, so delete it and include previous delete/insert\n diffs.splice(previous_equality, 1);\n pointer--;\n var k = previous_equality - 1;\n if (diffs[k] && diffs[k][0] === DIFF_INSERT) {\n count_insert++;\n text_insert = diffs[k][1] + text_insert;\n k--;\n }\n if (diffs[k] && diffs[k][0] === DIFF_DELETE) {\n count_delete++;\n text_delete = diffs[k][1] + text_delete;\n k--;\n }\n previous_equality = k;\n }\n }\n if (starts_with_pair_end(diffs[pointer][1])) {\n var stray = diffs[pointer][1].charAt(0);\n diffs[pointer][1] = diffs[pointer][1].slice(1);\n text_delete += stray;\n text_insert += stray;\n }\n }\n if (pointer < diffs.length - 1 && !diffs[pointer][1]) {\n // for empty equality not at end, wait for next equality\n diffs.splice(pointer, 1);\n break;\n }\n if (text_delete.length > 0 || text_insert.length > 0) {\n // note that diff_commonPrefix and diff_commonSuffix are unicode-aware\n if (text_delete.length > 0 && text_insert.length > 0) {\n // Factor out any common prefixes.\n commonlength = diff_commonPrefix(text_insert, text_delete);\n if (commonlength !== 0) {\n if (previous_equality >= 0) {\n diffs[previous_equality][1] += text_insert.substring(\n 0,\n commonlength\n );\n } else {\n diffs.splice(0, 0, [\n DIFF_EQUAL,\n text_insert.substring(0, commonlength),\n ]);\n pointer++;\n }\n text_insert = text_insert.substring(commonlength);\n text_delete = text_delete.substring(commonlength);\n }\n // Factor out any common suffixes.\n commonlength = diff_commonSuffix(text_insert, text_delete);\n if (commonlength !== 0) {\n diffs[pointer][1] =\n text_insert.substring(text_insert.length - commonlength) +\n diffs[pointer][1];\n text_insert = text_insert.substring(\n 0,\n text_insert.length - commonlength\n );\n text_delete = text_delete.substring(\n 0,\n text_delete.length - commonlength\n );\n }\n }\n // Delete the offending records and add the merged ones.\n var n = count_insert + count_delete;\n if (text_delete.length === 0 && text_insert.length === 0) {\n diffs.splice(pointer - n, n);\n pointer = pointer - n;\n } else if (text_delete.length === 0) {\n diffs.splice(pointer - n, n, [DIFF_INSERT, text_insert]);\n pointer = pointer - n + 1;\n } else if (text_insert.length === 0) {\n diffs.splice(pointer - n, n, [DIFF_DELETE, text_delete]);\n pointer = pointer - n + 1;\n } else {\n diffs.splice(\n pointer - n,\n n,\n [DIFF_DELETE, text_delete],\n [DIFF_INSERT, text_insert]\n );\n pointer = pointer - n + 2;\n }\n }\n if (pointer !== 0 && diffs[pointer - 1][0] === DIFF_EQUAL) {\n // Merge this equality with the previous one.\n diffs[pointer - 1][1] += diffs[pointer][1];\n diffs.splice(pointer, 1);\n } else {\n pointer++;\n }\n count_insert = 0;\n count_delete = 0;\n text_delete = \"\";\n text_insert = \"\";\n break;\n }\n }\n if (diffs[diffs.length - 1][1] === \"\") {\n diffs.pop(); // Remove the dummy entry at the end.\n }\n\n // Second pass: look for single edits surrounded on both sides by equalities\n // which can be shifted sideways to eliminate an equality.\n // e.g: A<ins>BA</ins>C -> <ins>AB</ins>AC\n var changes = false;\n pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (\n diffs[pointer - 1][0] === DIFF_EQUAL &&\n diffs[pointer + 1][0] === DIFF_EQUAL\n ) {\n // This is a single edit surrounded by equalities.\n if (\n diffs[pointer][1].substring(\n diffs[pointer][1].length - diffs[pointer - 1][1].length\n ) === diffs[pointer - 1][1]\n ) {\n // Shift the edit over the previous equality.\n diffs[pointer][1] =\n diffs[pointer - 1][1] +\n diffs[pointer][1].substring(\n 0,\n diffs[pointer][1].length - diffs[pointer - 1][1].length\n );\n diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n diffs.splice(pointer - 1, 1);\n changes = true;\n } else if (\n diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\n diffs[pointer + 1][1]\n ) {\n // Shift the edit over the next equality.\n diffs[pointer - 1][1] += diffs[pointer + 1][1];\n diffs[pointer][1] =\n diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n diffs[pointer + 1][1];\n diffs.splice(pointer + 1, 1);\n changes = true;\n }\n }\n pointer++;\n }\n // If shifts were made, the diff needs reordering and another shift sweep.\n if (changes) {\n diff_cleanupMerge(diffs, fix_unicode);\n }\n}\n\nfunction is_surrogate_pair_start(charCode) {\n return charCode >= 0xd800 && charCode <= 0xdbff;\n}\n\nfunction is_surrogate_pair_end(charCode) {\n return charCode >= 0xdc00 && charCode <= 0xdfff;\n}\n\nfunction starts_with_pair_end(str) {\n return is_surrogate_pair_end(str.charCodeAt(0));\n}\n\nfunction ends_with_pair_start(str) {\n return is_surrogate_pair_start(str.charCodeAt(str.length - 1));\n}\n\nfunction remove_empty_tuples(tuples) {\n var ret = [];\n for (var i = 0; i < tuples.length; i++) {\n if (tuples[i][1].length > 0) {\n ret.push(tuples[i]);\n }\n }\n return ret;\n}\n\nfunction make_edit_splice(before, oldMiddle, newMiddle, after) {\n if (ends_with_pair_start(before) || starts_with_pair_end(after)) {\n return null;\n }\n return remove_empty_tuples([\n [DIFF_EQUAL, before],\n [DIFF_DELETE, oldMiddle],\n [DIFF_INSERT, newMiddle],\n [DIFF_EQUAL, after],\n ]);\n}\n\nfunction find_cursor_edit_diff(oldText, newText, cursor_pos) {\n // note: this runs after equality check has ruled out exact equality\n var oldRange =\n typeof cursor_pos === \"number\"\n ? { index: cursor_pos, length: 0 }\n : cursor_pos.oldRange;\n var newRange = typeof cursor_pos === \"number\" ? null : cursor_pos.newRange;\n // take into account the old and new selection to generate the best diff\n // possible for a text edit. for example, a text change from \"xxx\" to \"xx\"\n // could be a delete or forwards-delete of any one of the x's, or the\n // result of selecting two of the x's and typing \"x\".\n var oldLength = oldText.length;\n var newLength = newText.length;\n if (oldRange.length === 0 && (newRange === null || newRange.length === 0)) {\n // see if we have an insert or delete before or after cursor\n var oldCursor = oldRange.index;\n var oldBefore = oldText.slice(0, oldCursor);\n var oldAfter = oldText.slice(oldCursor);\n var maybeNewCursor = newRange ? newRange.index : null;\n editBefore: {\n // is this an insert or delete right before oldCursor?\n var newCursor = oldCursor + newLength - oldLength;\n if (maybeNewCursor !== null && maybeNewCursor !== newCursor) {\n break editBefore;\n }\n if (newCursor < 0 || newCursor > newLength) {\n break editBefore;\n }\n var newBefore = newText.slice(0, newCursor);\n var newAfter = newText.slice(newCursor);\n if (newAfter !== oldAfter) {\n break editBefore;\n }\n var prefixLength = Math.min(oldCursor, newCursor);\n var oldPrefix = oldBefore.slice(0, prefixLength);\n var newPrefix = newBefore.slice(0, prefixLength);\n if (oldPrefix !== newPrefix) {\n break editBefore;\n }\n var oldMiddle = oldBefore.slice(prefixLength);\n var newMiddle = newBefore.slice(prefixLength);\n return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldAfter);\n }\n editAfter: {\n // is this an insert or delete right after oldCursor?\n if (maybeNewCursor !== null && maybeNewCursor !== oldCursor) {\n break editAfter;\n }\n var cursor = oldCursor;\n var newBefore = newText.slice(0, cursor);\n var newAfter = newText.slice(cursor);\n if (newBefore !== oldBefore) {\n break editAfter;\n }\n var suffixLength = Math.min(oldLength - cursor, newLength - cursor);\n var oldSuffix = oldAfter.slice(oldAfter.length - suffixLength);\n var newSuffix = newAfter.slice(newAfter.length - suffixLength);\n if (oldSuffix !== newSuffix) {\n break editAfter;\n }\n var oldMiddle = oldAfter.slice(0, oldAfter.length - suffixLength);\n var newMiddle = newAfter.slice(0, newAfter.length - suffixLength);\n return make_edit_splice(oldBefore, oldMiddle, newMiddle, oldSuffix);\n }\n }\n if (oldRange.length > 0 && newRange && newRange.length === 0) {\n replaceRange: {\n // see if diff could be a splice of the old selection range\n var oldPrefix = oldText.slice(0, oldRange.index);\n var oldSuffix = oldText.slice(oldRange.index + oldRange.length);\n var prefixLength = oldPrefix.length;\n var suffixLength = oldSuffix.length;\n if (newLength < prefixLength + suffixLength) {\n break replaceRange;\n }\n var newPrefix = newText.slice(0, prefixLength);\n var newSuffix = newText.slice(newLength - suffixLength);\n if (oldPrefix !== newPrefix || oldSuffix !== newSuffix) {\n break replaceRange;\n }\n var oldMiddle = oldText.slice(prefixLength, oldLength - suffixLength);\n var newMiddle = newText.slice(prefixLength, newLength - suffixLength);\n return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldSuffix);\n }\n }\n\n return null;\n}\n\nfunction diff(text1, text2, cursor_pos, cleanup) {\n // only pass fix_unicode=true at the top level, not when diff_main is\n // recursively invoked\n return diff_main(text1, text2, cursor_pos, cleanup, true);\n}\n\ndiff.INSERT = DIFF_INSERT;\ndiff.DELETE = DIFF_DELETE;\ndiff.EQUAL = DIFF_EQUAL;\n\nmodule.exports = diff;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n // Don't return `map.set` because it's not chainable in IE 11.\n map.set(pair[0], pair[1]);\n return map;\n}\n\n/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n // Don't return `set.add` because it's not chainable in IE 11.\n set.add(value);\n return set;\n}\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {boolean} [isFull] Specify a clone including symbols.\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n if (isHostObject(value)) {\n return object ? value : {};\n }\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, baseClone, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (!isArr) {\n var props = isFull ? getAllKeys(value) : keys(value);\n }\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n });\n return result;\n}\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(proto) {\n return isObject(proto) ? objectCreate(proto) : {};\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var result = new buffer.constructor(buffer.length);\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n return arrayReduce(array, addMapEntry, new map.constructor);\n}\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n return arrayReduce(array, addSetEntry, new set.constructor);\n}\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Copies own symbol properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return cloneMap(object, isDeep, cloneFunc);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return cloneSet(object, isDeep, cloneFunc);\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, true, true);\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = cloneDeep;\n","/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n","/*!\n * Materialize v1.0.0 (http://materializecss.com)\n * Copyright 2014-2017 Materialize\n * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)\n */\nvar _get=function t(e,i,n){null===e&&(e=Function.prototype);var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,i,n)}if(\"value\"in s)return s.value;var a=s.get;return void 0!==a?a.call(n):void 0},_createClass=function(){function n(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(t,e,i){return e&&n(t.prototype,e),i&&n(t,i),t}}();function _possibleConstructorReturn(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function _inherits(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}window.cash=function(){var i,o=document,a=window,t=Array.prototype,r=t.slice,n=t.filter,s=t.push,e=function(){},h=function(t){return typeof t==typeof e&&t.call},d=function(t){return\"string\"==typeof t},l=/^#[\\w-]*$/,u=/^\\.[\\w-]*$/,c=/<.+>/,p=/^\\w+$/;function v(t,e){e=e||o;var i=u.test(t)?e.getElementsByClassName(t.slice(1)):p.test(t)?e.getElementsByTagName(t):e.querySelectorAll(t);return i}function f(t){if(!i){var e=(i=o.implementation.createHTMLDocument(null)).createElement(\"base\");e.href=o.location.href,i.head.appendChild(e)}return i.body.innerHTML=t,i.body.childNodes}function m(t){\"loading\"!==o.readyState?t():o.addEventListener(\"DOMContentLoaded\",t)}function g(t,e){if(!t)return this;if(t.cash&&t!==a)return t;var i,n=t,s=0;if(d(t))n=l.test(t)?o.getElementById(t.slice(1)):c.test(t)?f(t):v(t,e);else if(h(t))return m(t),this;if(!n)return this;if(n.nodeType||n===a)this[0]=n,this.length=1;else for(i=this.length=n.length;s<i;s++)this[s]=n[s];return this}function _(t,e){return new g(t,e)}var y=_.fn=_.prototype=g.prototype={cash:!0,length:0,push:s,splice:t.splice,map:t.map,init:g};function k(t,e){for(var i=t.length,n=0;n<i&&!1!==e.call(t[n],t[n],n,t);n++);}function b(t,e){var i=t&&(t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector);return!!i&&i.call(t,e)}function w(e){return d(e)?b:e.cash?function(t){return e.is(t)}:function(t,e){return t===e}}function C(t){return _(r.call(t).filter(function(t,e,i){return i.indexOf(t)===e}))}Object.defineProperty(y,\"constructor\",{value:_}),_.parseHTML=f,_.noop=e,_.isFunction=h,_.isString=d,_.extend=y.extend=function(t){t=t||{};var e=r.call(arguments),i=e.length,n=1;for(1===e.length&&(t=this,n=0);n<i;n++)if(e[n])for(var s in e[n])e[n].hasOwnProperty(s)&&(t[s]=e[n][s]);return t},_.extend({merge:function(t,e){for(var i=+e.length,n=t.length,s=0;s<i;n++,s++)t[n]=e[s];return t.length=n,t},each:k,matches:b,unique:C,isArray:Array.isArray,isNumeric:function(t){return!isNaN(parseFloat(t))&&isFinite(t)}});var E=_.uid=\"_cash\"+Date.now();function M(t){return t[E]=t[E]||{}}function O(t,e,i){return M(t)[e]=i}function x(t,e){var i=M(t);return void 0===i[e]&&(i[e]=t.dataset?t.dataset[e]:_(t).attr(\"data-\"+e)),i[e]}y.extend({data:function(e,i){if(d(e))return void 0===i?x(this[0],e):this.each(function(t){return O(t,e,i)});for(var t in e)this.data(t,e[t]);return this},removeData:function(s){return this.each(function(t){return i=s,void((n=M(e=t))?delete n[i]:e.dataset?delete e.dataset[i]:_(e).removeAttr(\"data-\"+name));var e,i,n})}});var L=/\\S+/g;function T(t){return d(t)&&t.match(L)}function $(t,e){return t.classList?t.classList.contains(e):new RegExp(\"(^| )\"+e+\"( |$)\",\"gi\").test(t.className)}function B(t,e,i){t.classList?t.classList.add(e):i.indexOf(\" \"+e+\" \")&&(t.className+=\" \"+e)}function D(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(e,\"\")}y.extend({addClass:function(t){var n=T(t);return n?this.each(function(e){var i=\" \"+e.className+\" \";k(n,function(t){B(e,t,i)})}):this},attr:function(e,i){if(e){if(d(e))return void 0===i?this[0]?this[0].getAttribute?this[0].getAttribute(e):this[0][e]:void 0:this.each(function(t){t.setAttribute?t.setAttribute(e,i):t[e]=i});for(var t in e)this.attr(t,e[t]);return this}},hasClass:function(t){var e=!1,i=T(t);return i&&i.length&&this.each(function(t){return!(e=$(t,i[0]))}),e},prop:function(e,i){if(d(e))return void 0===i?this[0][e]:this.each(function(t){t[e]=i});for(var t in e)this.prop(t,e[t]);return this},removeAttr:function(e){return this.each(function(t){t.removeAttribute?t.removeAttribute(e):delete t[e]})},removeClass:function(t){if(!arguments.length)return this.attr(\"class\",\"\");var i=T(t);return i?this.each(function(e){k(i,function(t){D(e,t)})}):this},removeProp:function(e){return this.each(function(t){delete t[e]})},toggleClass:function(t,e){if(void 0!==e)return this[e?\"addClass\":\"removeClass\"](t);var n=T(t);return n?this.each(function(e){var i=\" \"+e.className+\" \";k(n,function(t){$(e,t)?D(e,t):B(e,t,i)})}):this}}),y.extend({add:function(t,e){return C(_.merge(this,_(t,e)))},each:function(t){return k(this,t),this},eq:function(t){return _(this.get(t))},filter:function(e){if(!e)return this;var i=h(e)?e:w(e);return _(n.call(this,function(t){return i(t,e)}))},first:function(){return this.eq(0)},get:function(t){return void 0===t?r.call(this):t<0?this[t+this.length]:this[t]},index:function(t){var e=t?_(t)[0]:this[0],i=t?this:_(e).parent().children();return r.call(i).indexOf(e)},last:function(){return this.eq(-1)}});var S,I,A,R,H,P,W=(H=/(?:^\\w|[A-Z]|\\b\\w)/g,P=/[\\s-_]+/g,function(t){return t.replace(H,function(t,e){return t[0===e?\"toLowerCase\":\"toUpperCase\"]()}).replace(P,\"\")}),j=(S={},I=document,A=I.createElement(\"div\"),R=A.style,function(e){if(e=W(e),S[e])return S[e];var t=e.charAt(0).toUpperCase()+e.slice(1),i=(e+\" \"+[\"webkit\",\"moz\",\"ms\",\"o\"].join(t+\" \")+t).split(\" \");return k(i,function(t){if(t in R)return S[t]=e=S[e]=t,!1}),S[e]});function F(t,e){return parseInt(a.getComputedStyle(t[0],null)[e],10)||0}function q(e,i,t){var n,s=x(e,\"_cashEvents\"),o=s&&s[i];o&&(t?(e.removeEventListener(i,t),0<=(n=o.indexOf(t))&&o.splice(n,1)):(k(o,function(t){e.removeEventListener(i,t)}),o=[]))}function N(t,e){return\"&\"+encodeURIComponent(t)+\"=\"+encodeURIComponent(e).replace(/%20/g,\"+\")}function z(t){var e,i,n,s=t.type;if(!s)return null;switch(s.toLowerCase()){case\"select-one\":return 0<=(n=(i=t).selectedIndex)?i.options[n].value:null;case\"select-multiple\":return e=[],k(t.options,function(t){t.selected&&e.push(t.value)}),e.length?e:null;case\"radio\":case\"checkbox\":return t.checked?t.value:null;default:return t.value?t.value:null}}function V(e,i,n){var t=d(i);t||!i.length?k(e,t?function(t){return t.insertAdjacentHTML(n?\"afterbegin\":\"beforeend\",i)}:function(t,e){return function(t,e,i){if(i){var n=t.childNodes[0];t.insertBefore(e,n)}else t.appendChild(e)}(t,0===e?i:i.cloneNode(!0),n)}):k(i,function(t){return V(e,t,n)})}_.prefixedProp=j,_.camelCase=W,y.extend({css:function(e,i){if(d(e))return e=j(e),1<arguments.length?this.each(function(t){return t.style[e]=i}):a.getComputedStyle(this[0])[e];for(var t in e)this.css(t,e[t]);return this}}),k([\"Width\",\"Height\"],function(e){var t=e.toLowerCase();y[t]=function(){return this[0].getBoundingClientRect()[t]},y[\"inner\"+e]=function(){return this[0][\"client\"+e]},y[\"outer\"+e]=function(t){return this[0][\"offset\"+e]+(t?F(this,\"margin\"+(\"Width\"===e?\"Left\":\"Top\"))+F(this,\"margin\"+(\"Width\"===e?\"Right\":\"Bottom\")):0)}}),y.extend({off:function(e,i){return this.each(function(t){return q(t,e,i)})},on:function(a,i,r,l){var n;if(!d(a)){for(var t in a)this.on(t,i,a[t]);return this}return h(i)&&(r=i,i=null),\"ready\"===a?(m(r),this):(i&&(n=r,r=function(t){for(var e=t.target;!b(e,i);){if(e===this||null===e)return e=!1;e=e.parentNode}e&&n.call(e,t)}),this.each(function(t){var e,i,n,s,o=r;l&&(o=function(){r.apply(this,arguments),q(t,a,o)}),i=a,n=o,(s=x(e=t,\"_cashEvents\")||O(e,\"_cashEvents\",{}))[i]=s[i]||[],s[i].push(n),e.addEventListener(i,n)}))},one:function(t,e,i){return this.on(t,e,i,!0)},ready:m,trigger:function(t,e){if(document.createEvent){var i=document.createEvent(\"HTMLEvents\");return i.initEvent(t,!0,!1),i=this.extend(i,e),this.each(function(t){return t.dispatchEvent(i)})}}}),y.extend({serialize:function(){var s=\"\";return k(this[0].elements||this,function(t){if(!t.disabled&&\"FIELDSET\"!==t.tagName){var e=t.name;switch(t.type.toLowerCase()){case\"file\":case\"reset\":case\"submit\":case\"button\":break;case\"select-multiple\":var i=z(t);null!==i&&k(i,function(t){s+=N(e,t)});break;default:var n=z(t);null!==n&&(s+=N(e,n))}}}),s.substr(1)},val:function(e){return void 0===e?z(this[0]):this.each(function(t){return t.value=e})}}),y.extend({after:function(t){return _(t).insertAfter(this),this},append:function(t){return V(this,t),this},appendTo:function(t){return V(_(t),this),this},before:function(t){return _(t).insertBefore(this),this},clone:function(){return _(this.map(function(t){return t.cloneNode(!0)}))},empty:function(){return this.html(\"\"),this},html:function(t){if(void 0===t)return this[0].innerHTML;var e=t.nodeType?t[0].outerHTML:t;return this.each(function(t){return t.innerHTML=e})},insertAfter:function(t){var s=this;return _(t).each(function(t,e){var i=t.parentNode,n=t.nextSibling;s.each(function(t){i.insertBefore(0===e?t:t.cloneNode(!0),n)})}),this},insertBefore:function(t){var s=this;return _(t).each(function(e,i){var n=e.parentNode;s.each(function(t){n.insertBefore(0===i?t:t.cloneNode(!0),e)})}),this},prepend:function(t){return V(this,t,!0),this},prependTo:function(t){return V(_(t),this,!0),this},remove:function(){return this.each(function(t){if(t.parentNode)return t.parentNode.removeChild(t)})},text:function(e){return void 0===e?this[0].textContent:this.each(function(t){return t.textContent=e})}});var X=o.documentElement;return y.extend({position:function(){var t=this[0];return{left:t.offsetLeft,top:t.offsetTop}},offset:function(){var t=this[0].getBoundingClientRect();return{top:t.top+a.pageYOffset-X.clientTop,left:t.left+a.pageXOffset-X.clientLeft}},offsetParent:function(){return _(this[0].offsetParent)}}),y.extend({children:function(e){var i=[];return this.each(function(t){s.apply(i,t.children)}),i=C(i),e?i.filter(function(t){return b(t,e)}):i},closest:function(t){return!t||this.length<1?_():this.is(t)?this.filter(t):this.parent().closest(t)},is:function(e){if(!e)return!1;var i=!1,n=w(e);return this.each(function(t){return!(i=n(t,e))}),i},find:function(e){if(!e||e.nodeType)return _(e&&this.has(e).length?e:null);var i=[];return this.each(function(t){s.apply(i,v(e,t))}),C(i)},has:function(e){var t=d(e)?function(t){return 0!==v(e,t).length}:function(t){return t.contains(e)};return this.filter(t)},next:function(){return _(this[0].nextElementSibling)},not:function(e){if(!e)return this;var i=w(e);return this.filter(function(t){return!i(t,e)})},parent:function(){var e=[];return this.each(function(t){t&&t.parentNode&&e.push(t.parentNode)}),C(e)},parents:function(e){var i,n=[];return this.each(function(t){for(i=t;i&&i.parentNode&&i!==o.body.parentNode;)i=i.parentNode,(!e||e&&b(i,e))&&n.push(i)}),C(n)},prev:function(){return _(this[0].previousElementSibling)},siblings:function(t){var e=this.parent().children(t),i=this[0];return e.filter(function(t){return t!==i})}}),_}();var Component=function(){function s(t,e,i){_classCallCheck(this,s),e instanceof Element||console.error(Error(e+\" is not an HTML Element\"));var n=t.getInstance(e);n&&n.destroy(),this.el=e,this.$el=cash(e)}return _createClass(s,null,[{key:\"init\",value:function(t,e,i){var n=null;if(e instanceof Element)n=new t(e,i);else if(e&&(e.jquery||e.cash||e instanceof NodeList)){for(var s=[],o=0;o<e.length;o++)s.push(new t(e[o],i));n=s}return n}}]),s}();!function(t){t.Package?M={}:t.M={},M.jQueryLoaded=!!t.jQuery}(window),\"function\"==typeof define&&define.amd?define(\"M\",[],function(){return M}):\"undefined\"==typeof exports||exports.nodeType||(\"undefined\"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=M),exports.default=M),M.version=\"1.0.0\",M.keys={TAB:9,ENTER:13,ESC:27,ARROW_UP:38,ARROW_DOWN:40},M.tabPressed=!1,M.keyDown=!1;var docHandleKeydown=function(t){M.keyDown=!0,t.which!==M.keys.TAB&&t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||(M.tabPressed=!0)},docHandleKeyup=function(t){M.keyDown=!1,t.which!==M.keys.TAB&&t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||(M.tabPressed=!1)},docHandleFocus=function(t){M.keyDown&&document.body.classList.add(\"keyboard-focused\")},docHandleBlur=function(t){document.body.classList.remove(\"keyboard-focused\")};document.addEventListener(\"keydown\",docHandleKeydown,!0),document.addEventListener(\"keyup\",docHandleKeyup,!0),document.addEventListener(\"focus\",docHandleFocus,!0),document.addEventListener(\"blur\",docHandleBlur,!0),M.initializeJqueryWrapper=function(n,s,o){jQuery.fn[s]=function(e){if(n.prototype[e]){var i=Array.prototype.slice.call(arguments,1);if(\"get\"===e.slice(0,3)){var t=this.first()[0][o];return t[e].apply(t,i)}return this.each(function(){var t=this[o];t[e].apply(t,i)})}if(\"object\"==typeof e||!e)return n.init(this,e),this;jQuery.error(\"Method \"+e+\" does not exist on jQuery.\"+s)}},M.AutoInit=function(t){var e=t||document.body,i={Autocomplete:e.querySelectorAll(\".autocomplete:not(.no-autoinit)\"),Carousel:e.querySelectorAll(\".carousel:not(.no-autoinit)\"),Chips:e.querySelectorAll(\".chips:not(.no-autoinit)\"),Collapsible:e.querySelectorAll(\".collapsible:not(.no-autoinit)\"),Datepicker:e.querySelectorAll(\".datepicker:not(.no-autoinit)\"),Dropdown:e.querySelectorAll(\".dropdown-trigger:not(.no-autoinit)\"),Materialbox:e.querySelectorAll(\".materialboxed:not(.no-autoinit)\"),Modal:e.querySelectorAll(\".modal:not(.no-autoinit)\"),Parallax:e.querySelectorAll(\".parallax:not(.no-autoinit)\"),Pushpin:e.querySelectorAll(\".pushpin:not(.no-autoinit)\"),ScrollSpy:e.querySelectorAll(\".scrollspy:not(.no-autoinit)\"),FormSelect:e.querySelectorAll(\"select:not(.no-autoinit)\"),Sidenav:e.querySelectorAll(\".sidenav:not(.no-autoinit)\"),Tabs:e.querySelectorAll(\".tabs:not(.no-autoinit)\"),TapTarget:e.querySelectorAll(\".tap-target:not(.no-autoinit)\"),Timepicker:e.querySelectorAll(\".timepicker:not(.no-autoinit)\"),Tooltip:e.querySelectorAll(\".tooltipped:not(.no-autoinit)\"),FloatingActionButton:e.querySelectorAll(\".fixed-action-btn:not(.no-autoinit)\")};for(var n in i){M[n].init(i[n])}},M.objectSelectorString=function(t){return((t.prop(\"tagName\")||\"\")+(t.attr(\"id\")||\"\")+(t.attr(\"class\")||\"\")).replace(/\\s/g,\"\")},M.guid=function(){function t(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return function(){return t()+t()+\"-\"+t()+\"-\"+t()+\"-\"+t()+\"-\"+t()+t()+t()}}(),M.escapeHash=function(t){return t.replace(/(:|\\.|\\[|\\]|,|=|\\/)/g,\"\\\\$1\")},M.elementOrParentIsFixed=function(t){var e=$(t),i=e.add(e.parents()),n=!1;return i.each(function(){if(\"fixed\"===$(this).css(\"position\"))return!(n=!0)}),n},M.checkWithinContainer=function(t,e,i){var n={top:!1,right:!1,bottom:!1,left:!1},s=t.getBoundingClientRect(),o=t===document.body?Math.max(s.bottom,window.innerHeight):s.bottom,a=t.scrollLeft,r=t.scrollTop,l=e.left-a,h=e.top-r;return(l<s.left+i||l<i)&&(n.left=!0),(l+e.width>s.right-i||l+e.width>window.innerWidth-i)&&(n.right=!0),(h<s.top+i||h<i)&&(n.top=!0),(h+e.height>o-i||h+e.height>window.innerHeight-i)&&(n.bottom=!0),n},M.checkPossibleAlignments=function(t,e,i,n){var s={top:!0,right:!0,bottom:!0,left:!0,spaceOnTop:null,spaceOnRight:null,spaceOnBottom:null,spaceOnLeft:null},o=\"visible\"===getComputedStyle(e).overflow,a=e.getBoundingClientRect(),r=Math.min(a.height,window.innerHeight),l=Math.min(a.width,window.innerWidth),h=t.getBoundingClientRect(),d=e.scrollLeft,u=e.scrollTop,c=i.left-d,p=i.top-u,v=i.top+h.height-u;return s.spaceOnRight=o?window.innerWidth-(h.left+i.width):l-(c+i.width),s.spaceOnRight<0&&(s.left=!1),s.spaceOnLeft=o?h.right-i.width:c-i.width+h.width,s.spaceOnLeft<0&&(s.right=!1),s.spaceOnBottom=o?window.innerHeight-(h.top+i.height+n):r-(p+i.height+n),s.spaceOnBottom<0&&(s.top=!1),s.spaceOnTop=o?h.bottom-(i.height+n):v-(i.height-n),s.spaceOnTop<0&&(s.bottom=!1),s},M.getOverflowParent=function(t){return null==t?null:t===document.body||\"visible\"!==getComputedStyle(t).overflow?t:M.getOverflowParent(t.parentElement)},M.getIdFromTrigger=function(t){var e=t.getAttribute(\"data-target\");return e||(e=(e=t.getAttribute(\"href\"))?e.slice(1):\"\"),e},M.getDocumentScrollTop=function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},M.getDocumentScrollLeft=function(){return window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0};var getTime=Date.now||function(){return(new Date).getTime()};M.throttle=function(i,n,s){var o=void 0,a=void 0,r=void 0,l=null,h=0;s||(s={});var d=function(){h=!1===s.leading?0:getTime(),l=null,r=i.apply(o,a),o=a=null};return function(){var t=getTime();h||!1!==s.leading||(h=t);var e=n-(t-h);return o=this,a=arguments,e<=0?(clearTimeout(l),l=null,h=t,r=i.apply(o,a),o=a=null):l||!1===s.trailing||(l=setTimeout(d,e)),r}};var $jscomp={scope:{}};$jscomp.defineProperty=\"function\"==typeof Object.defineProperties?Object.defineProperty:function(t,e,i){if(i.get||i.set)throw new TypeError(\"ES3 does not support getters and setters.\");t!=Array.prototype&&t!=Object.prototype&&(t[e]=i.value)},$jscomp.getGlobal=function(t){return\"undefined\"!=typeof window&&window===t?t:\"undefined\"!=typeof global&&null!=global?global:t},$jscomp.global=$jscomp.getGlobal(this),$jscomp.SYMBOL_PREFIX=\"jscomp_symbol_\",$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){},$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)},$jscomp.symbolCounter_=0,$jscomp.Symbol=function(t){return $jscomp.SYMBOL_PREFIX+(t||\"\")+$jscomp.symbolCounter_++},$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var t=$jscomp.global.Symbol.iterator;t||(t=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol(\"iterator\")),\"function\"!=typeof Array.prototype[t]&&$jscomp.defineProperty(Array.prototype,t,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}}),$jscomp.initSymbolIterator=function(){}},$jscomp.arrayIterator=function(t){var e=0;return $jscomp.iteratorPrototype(function(){return e<t.length?{done:!1,value:t[e++]}:{done:!0}})},$jscomp.iteratorPrototype=function(t){return $jscomp.initSymbolIterator(),(t={next:t})[$jscomp.global.Symbol.iterator]=function(){return this},t},$jscomp.array=$jscomp.array||{},$jscomp.iteratorFromArray=function(e,i){$jscomp.initSymbolIterator(),e instanceof String&&(e+=\"\");var n=0,s={next:function(){if(n<e.length){var t=n++;return{value:i(t,e[t]),done:!1}}return s.next=function(){return{done:!0,value:void 0}},s.next()}};return s[Symbol.iterator]=function(){return s},s},$jscomp.polyfill=function(t,e,i,n){if(e){for(i=$jscomp.global,t=t.split(\".\"),n=0;n<t.length-1;n++){var s=t[n];s in i||(i[s]={}),i=i[s]}(e=e(n=i[t=t[t.length-1]]))!=n&&null!=e&&$jscomp.defineProperty(i,t,{configurable:!0,writable:!0,value:e})}},$jscomp.polyfill(\"Array.prototype.keys\",function(t){return t||function(){return $jscomp.iteratorFromArray(this,function(t){return t})}},\"es6-impl\",\"es3\");var $jscomp$this=this;M.anime=function(){function s(t){if(!B.col(t))try{return document.querySelectorAll(t)}catch(t){}}function b(t,e){for(var i=t.length,n=2<=arguments.length?e:void 0,s=[],o=0;o<i;o++)if(o in t){var a=t[o];e.call(n,a,o,t)&&s.push(a)}return s}function d(t){return t.reduce(function(t,e){return t.concat(B.arr(e)?d(e):e)},[])}function o(t){return B.arr(t)?t:(B.str(t)&&(t=s(t)||t),t instanceof NodeList||t instanceof HTMLCollection?[].slice.call(t):[t])}function a(t,e){return t.some(function(t){return t===e})}function r(t){var e,i={};for(e in t)i[e]=t[e];return i}function u(t,e){var i,n=r(t);for(i in t)n[i]=e.hasOwnProperty(i)?e[i]:t[i];return n}function c(t,e){var i,n=r(t);for(i in e)n[i]=B.und(t[i])?e[i]:t[i];return n}function l(t){if(t=/([\\+\\-]?[0-9#\\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(t))return t[2]}function h(t,e){return B.fnc(t)?t(e.target,e.id,e.total):t}function w(t,e){if(e in t.style)return getComputedStyle(t).getPropertyValue(e.replace(/([a-z])([A-Z])/g,\"$1-$2\").toLowerCase())||\"0\"}function p(t,e){return B.dom(t)&&a($,e)?\"transform\":B.dom(t)&&(t.getAttribute(e)||B.svg(t)&&t[e])?\"attribute\":B.dom(t)&&\"transform\"!==e&&w(t,e)?\"css\":null!=t[e]?\"object\":void 0}function v(t,e){switch(p(t,e)){case\"transform\":return function(t,i){var e,n=-1<(e=i).indexOf(\"translate\")||\"perspective\"===e?\"px\":-1<e.indexOf(\"rotate\")||-1<e.indexOf(\"skew\")?\"deg\":void 0,n=-1<i.indexOf(\"scale\")?1:0+n;if(!(t=t.style.transform))return n;for(var s=[],o=[],a=[],r=/(\\w+)\\((.+?)\\)/g;s=r.exec(t);)o.push(s[1]),a.push(s[2]);return(t=b(a,function(t,e){return o[e]===i})).length?t[0]:n}(t,e);case\"css\":return w(t,e);case\"attribute\":return t.getAttribute(e)}return t[e]||0}function f(t,e){var i=/^(\\*=|\\+=|-=)/.exec(t);if(!i)return t;var n=l(t)||0;switch(e=parseFloat(e),t=parseFloat(t.replace(i[0],\"\")),i[0][0]){case\"+\":return e+t+n;case\"-\":return e-t+n;case\"*\":return e*t+n}}function m(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function i(t){t=t.points;for(var e,i=0,n=0;n<t.numberOfItems;n++){var s=t.getItem(n);0<n&&(i+=m(e,s)),e=s}return i}function g(t){if(t.getTotalLength)return t.getTotalLength();switch(t.tagName.toLowerCase()){case\"circle\":return 2*Math.PI*t.getAttribute(\"r\");case\"rect\":return 2*t.getAttribute(\"width\")+2*t.getAttribute(\"height\");case\"line\":return m({x:t.getAttribute(\"x1\"),y:t.getAttribute(\"y1\")},{x:t.getAttribute(\"x2\"),y:t.getAttribute(\"y2\")});case\"polyline\":return i(t);case\"polygon\":var e=t.points;return i(t)+m(e.getItem(e.numberOfItems-1),e.getItem(0))}}function C(e,i){function t(t){return t=void 0===t?0:t,e.el.getPointAtLength(1<=i+t?i+t:0)}var n=t(),s=t(-1),o=t(1);switch(e.property){case\"x\":return n.x;case\"y\":return n.y;case\"angle\":return 180*Math.atan2(o.y-s.y,o.x-s.x)/Math.PI}}function _(t,e){var i,n=/-?\\d*\\.?\\d+/g;if(i=B.pth(t)?t.totalLength:t,B.col(i))if(B.rgb(i)){var s=/rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(i);i=s?\"rgba(\"+s[1]+\",1)\":i}else i=B.hex(i)?function(t){t=t.replace(/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i,function(t,e,i,n){return e+e+i+i+n+n});var e=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(t);t=parseInt(e[1],16);var i=parseInt(e[2],16),e=parseInt(e[3],16);return\"rgba(\"+t+\",\"+i+\",\"+e+\",1)\"}(i):B.hsl(i)?function(t){function e(t,e,i){return i<0&&(i+=1),1<i&&--i,i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}var i=/hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(t)||/hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(t);t=parseInt(i[1])/360;var n=parseInt(i[2])/100,s=parseInt(i[3])/100,i=i[4]||1;if(0==n)s=n=t=s;else{var o=s<.5?s*(1+n):s+n-s*n,a=2*s-o,s=e(a,o,t+1/3),n=e(a,o,t);t=e(a,o,t-1/3)}return\"rgba(\"+255*s+\",\"+255*n+\",\"+255*t+\",\"+i+\")\"}(i):void 0;else s=(s=l(i))?i.substr(0,i.length-s.length):i,i=e&&!/\\s/g.test(i)?s+e:s;return{original:i+=\"\",numbers:i.match(n)?i.match(n).map(Number):[0],strings:B.str(t)||e?i.split(n):[]}}function y(t){return b(t=t?d(B.arr(t)?t.map(o):o(t)):[],function(t,e,i){return i.indexOf(t)===e})}function k(t,i){var e=r(i);if(B.arr(t)){var n=t.length;2!==n||B.obj(t[0])?B.fnc(i.duration)||(e.duration=i.duration/n):t={value:t}}return o(t).map(function(t,e){return e=e?0:i.delay,t=B.obj(t)&&!B.pth(t)?t:{value:t},B.und(t.delay)&&(t.delay=e),t}).map(function(t){return c(t,e)})}function E(o,a){var r;return o.tweens.map(function(t){var e=(t=function(t,e){var i,n={};for(i in t){var s=h(t[i],e);B.arr(s)&&1===(s=s.map(function(t){return h(t,e)})).length&&(s=s[0]),n[i]=s}return n.duration=parseFloat(n.duration),n.delay=parseFloat(n.delay),n}(t,a)).value,i=v(a.target,o.name),n=r?r.to.original:i,n=B.arr(e)?e[0]:n,s=f(B.arr(e)?e[1]:e,n),i=l(s)||l(n)||l(i);return t.from=_(n,i),t.to=_(s,i),t.start=r?r.end:o.offset,t.end=t.start+t.delay+t.duration,t.easing=function(t){return B.arr(t)?D.apply(this,t):S[t]}(t.easing),t.elasticity=(1e3-Math.min(Math.max(t.elasticity,1),999))/1e3,t.isPath=B.pth(e),t.isColor=B.col(t.from.original),t.isColor&&(t.round=1),r=t})}function M(e,t,i,n){var s=\"delay\"===e;return t.length?(s?Math.min:Math.max).apply(Math,t.map(function(t){return t[e]})):s?n.delay:i.offset+n.delay+n.duration}function n(t){var e,i,n,s,o=u(L,t),a=u(T,t),r=(i=t.targets,(n=y(i)).map(function(t,e){return{target:t,id:e,total:n.length}})),l=[],h=c(o,a);for(e in t)h.hasOwnProperty(e)||\"targets\"===e||l.push({name:e,offset:h.offset,tweens:k(t[e],a)});return s=l,t=b(d(r.map(function(n){return s.map(function(t){var e=p(n.target,t.name);if(e){var i=E(t,n);t={type:e,property:t.name,animatable:n,tweens:i,duration:i[i.length-1].end,delay:i[0].delay}}else t=void 0;return t})})),function(t){return!B.und(t)}),c(o,{children:[],animatables:r,animations:t,duration:M(\"duration\",t,o,a),delay:M(\"delay\",t,o,a)})}function O(t){function d(){return window.Promise&&new Promise(function(t){return _=t})}function u(t){return k.reversed?k.duration-t:t}function c(e){for(var t=0,i={},n=k.animations,s=n.length;t<s;){var o=n[t],a=o.animatable,r=o.tweens,l=r.length-1,h=r[l];l&&(h=b(r,function(t){return e<t.end})[0]||h);for(var r=Math.min(Math.max(e-h.start-h.delay,0),h.duration)/h.duration,d=isNaN(r)?1:h.easing(r,h.elasticity),r=h.to.strings,u=h.round,l=[],c=void 0,c=h.to.numbers.length,p=0;p<c;p++){var v=void 0,v=h.to.numbers[p],f=h.from.numbers[p],v=h.isPath?C(h.value,d*v):f+d*(v-f);u&&(h.isColor&&2<p||(v=Math.round(v*u)/u)),l.push(v)}if(h=r.length)for(c=r[0],d=0;d<h;d++)u=r[d+1],p=l[d],isNaN(p)||(c=u?c+(p+u):c+(p+\" \"));else c=l[0];I[o.type](a.target,o.property,c,i,a.id),o.currentValue=c,t++}if(t=Object.keys(i).length)for(n=0;n<t;n++)x||(x=w(document.body,\"transform\")?\"transform\":\"-webkit-transform\"),k.animatables[n].target.style[x]=i[n].join(\" \");k.currentTime=e,k.progress=e/k.duration*100}function p(t){k[t]&&k[t](k)}function v(){k.remaining&&!0!==k.remaining&&k.remaining--}function e(t){var e=k.duration,i=k.offset,n=i+k.delay,s=k.currentTime,o=k.reversed,a=u(t);if(k.children.length){var r=k.children,l=r.length;if(a>=k.currentTime)for(var h=0;h<l;h++)r[h].seek(a);else for(;l--;)r[l].seek(a)}(n<=a||!e)&&(k.began||(k.began=!0,p(\"begin\")),p(\"run\")),i<a&&a<e?c(a):(a<=i&&0!==s&&(c(0),o&&v()),(e<=a&&s!==e||!e)&&(c(e),o||v())),p(\"update\"),e<=t&&(k.remaining?(m=f,\"alternate\"===k.direction&&(k.reversed=!k.reversed)):(k.pause(),k.completed||(k.completed=!0,p(\"complete\"),\"Promise\"in window&&(_(),y=d()))),g=0)}t=void 0===t?{}:t;var f,m,g=0,_=null,y=d(),k=n(t);return k.reset=function(){var t=k.direction,e=k.loop;for(k.currentTime=0,k.progress=0,k.paused=!0,k.began=!1,k.completed=!1,k.reversed=\"reverse\"===t,k.remaining=\"alternate\"===t&&1===e?2:e,c(0),t=k.children.length;t--;)k.children[t].reset()},k.tick=function(t){f=t,m||(m=f),e((g+f-m)*O.speed)},k.seek=function(t){e(u(t))},k.pause=function(){var t=A.indexOf(k);-1<t&&A.splice(t,1),k.paused=!0},k.play=function(){k.paused&&(k.paused=!1,m=0,g=u(k.currentTime),A.push(k),R||H())},k.reverse=function(){k.reversed=!k.reversed,m=0,g=u(k.currentTime)},k.restart=function(){k.pause(),k.reset(),k.play()},k.finished=y,k.reset(),k.autoplay&&k.play(),k}var x,L={update:void 0,begin:void 0,run:void 0,complete:void 0,loop:1,direction:\"normal\",autoplay:!0,offset:0},T={duration:1e3,delay:0,easing:\"easeOutElastic\",elasticity:500,round:0},$=\"translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective\".split(\" \"),B={arr:function(t){return Array.isArray(t)},obj:function(t){return-1<Object.prototype.toString.call(t).indexOf(\"Object\")},pth:function(t){return B.obj(t)&&t.hasOwnProperty(\"totalLength\")},svg:function(t){return t instanceof SVGElement},dom:function(t){return t.nodeType||B.svg(t)},str:function(t){return\"string\"==typeof t},fnc:function(t){return\"function\"==typeof t},und:function(t){return void 0===t},hex:function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)},rgb:function(t){return/^rgb/.test(t)},hsl:function(t){return/^hsl/.test(t)},col:function(t){return B.hex(t)||B.rgb(t)||B.hsl(t)}},D=function(){function u(t,e,i){return(((1-3*i+3*e)*t+(3*i-6*e))*t+3*e)*t}return function(a,r,l,h){if(0<=a&&a<=1&&0<=l&&l<=1){var d=new Float32Array(11);if(a!==r||l!==h)for(var t=0;t<11;++t)d[t]=u(.1*t,a,l);return function(t){if(a===r&&l===h)return t;if(0===t)return 0;if(1===t)return 1;for(var e=0,i=1;10!==i&&d[i]<=t;++i)e+=.1;var i=e+(t-d[--i])/(d[i+1]-d[i])*.1,n=3*(1-3*l+3*a)*i*i+2*(3*l-6*a)*i+3*a;if(.001<=n){for(e=0;e<4&&0!=(n=3*(1-3*l+3*a)*i*i+2*(3*l-6*a)*i+3*a);++e)var s=u(i,a,l)-t,i=i-s/n;t=i}else if(0===n)t=i;else{for(var i=e,e=e+.1,o=0;0<(n=u(s=i+(e-i)/2,a,l)-t)?e=s:i=s,1e-7<Math.abs(n)&&++o<10;);t=s}return u(t,r,h)}}}}(),S=function(){function i(t,e){return 0===t||1===t?t:-Math.pow(2,10*(t-1))*Math.sin(2*(t-1-e/(2*Math.PI)*Math.asin(1))*Math.PI/e)}var t,n=\"Quad Cubic Quart Quint Sine Expo Circ Back Elastic\".split(\" \"),e={In:[[.55,.085,.68,.53],[.55,.055,.675,.19],[.895,.03,.685,.22],[.755,.05,.855,.06],[.47,0,.745,.715],[.95,.05,.795,.035],[.6,.04,.98,.335],[.6,-.28,.735,.045],i],Out:[[.25,.46,.45,.94],[.215,.61,.355,1],[.165,.84,.44,1],[.23,1,.32,1],[.39,.575,.565,1],[.19,1,.22,1],[.075,.82,.165,1],[.175,.885,.32,1.275],function(t,e){return 1-i(1-t,e)}],InOut:[[.455,.03,.515,.955],[.645,.045,.355,1],[.77,0,.175,1],[.86,0,.07,1],[.445,.05,.55,.95],[1,0,0,1],[.785,.135,.15,.86],[.68,-.55,.265,1.55],function(t,e){return t<.5?i(2*t,e)/2:1-i(-2*t+2,e)/2}]},s={linear:D(.25,.25,.75,.75)},o={};for(t in e)o.type=t,e[o.type].forEach(function(i){return function(t,e){s[\"ease\"+i.type+n[e]]=B.fnc(t)?t:D.apply($jscomp$this,t)}}(o)),o={type:o.type};return s}(),I={css:function(t,e,i){return t.style[e]=i},attribute:function(t,e,i){return t.setAttribute(e,i)},object:function(t,e,i){return t[e]=i},transform:function(t,e,i,n,s){n[s]||(n[s]=[]),n[s].push(e+\"(\"+i+\")\")}},A=[],R=0,H=function(){function n(){R=requestAnimationFrame(t)}function t(t){var e=A.length;if(e){for(var i=0;i<e;)A[i]&&A[i].tick(t),i++;n()}else cancelAnimationFrame(R),R=0}return n}();return O.version=\"2.2.0\",O.speed=1,O.running=A,O.remove=function(t){t=y(t);for(var e=A.length;e--;)for(var i=A[e],n=i.animations,s=n.length;s--;)a(t,n[s].animatable.target)&&(n.splice(s,1),n.length||i.pause())},O.getValue=v,O.path=function(t,e){var i=B.str(t)?s(t)[0]:t,n=e||100;return function(t){return{el:i,property:t,totalLength:g(i)*(n/100)}}},O.setDashoffset=function(t){var e=g(t);return t.setAttribute(\"stroke-dasharray\",e),e},O.bezier=D,O.easings=S,O.timeline=function(n){var s=O(n);return s.pause(),s.duration=0,s.add=function(t){return s.children.forEach(function(t){t.began=!0,t.completed=!0}),o(t).forEach(function(t){var e=c(t,u(T,n||{}));e.targets=e.targets||n.targets,t=s.duration;var i=e.offset;e.autoplay=!1,e.direction=s.direction,e.offset=B.und(i)?t:f(i,t),s.began=!0,s.completed=!0,s.seek(e.offset),(e=O(e)).began=!0,e.completed=!0,e.duration>t&&(s.duration=e.duration),s.children.push(e)}),s.seek(0),s.reset(),s.autoplay&&s.restart(),s},s},O.random=function(t,e){return Math.floor(Math.random()*(e-t+1))+t},O}(),function(r,l){\"use strict\";var e={accordion:!0,onOpenStart:void 0,onOpenEnd:void 0,onCloseStart:void 0,onCloseEnd:void 0,inDuration:300,outDuration:300},t=function(t){function s(t,e){_classCallCheck(this,s);var i=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,t,e));(i.el.M_Collapsible=i).options=r.extend({},s.defaults,e),i.$headers=i.$el.children(\"li\").children(\".collapsible-header\"),i.$headers.attr(\"tabindex\",0),i._setupEventHandlers();var n=i.$el.children(\"li.active\").children(\".collapsible-body\");return i.options.accordion?n.first().css(\"display\",\"block\"):n.css(\"display\",\"block\"),i}return _inherits(s,Component),_createClass(s,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this.el.M_Collapsible=void 0}},{key:\"_setupEventHandlers\",value:function(){var e=this;this._handleCollapsibleClickBound=this._handleCollapsibleClick.bind(this),this._handleCollapsibleKeydownBound=this._handleCollapsibleKeydown.bind(this),this.el.addEventListener(\"click\",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.addEventListener(\"keydown\",e._handleCollapsibleKeydownBound)})}},{key:\"_removeEventHandlers\",value:function(){var e=this;this.el.removeEventListener(\"click\",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.removeEventListener(\"keydown\",e._handleCollapsibleKeydownBound)})}},{key:\"_handleCollapsibleClick\",value:function(t){var e=r(t.target).closest(\".collapsible-header\");if(t.target&&e.length){var i=e.closest(\".collapsible\");if(i[0]===this.el){var n=e.closest(\"li\"),s=i.children(\"li\"),o=n[0].classList.contains(\"active\"),a=s.index(n);o?this.close(a):this.open(a)}}}},{key:\"_handleCollapsibleKeydown\",value:function(t){13===t.keyCode&&this._handleCollapsibleClickBound(t)}},{key:\"_animateIn\",value:function(t){var e=this,i=this.$el.children(\"li\").eq(t);if(i.length){var n=i.children(\".collapsible-body\");l.remove(n[0]),n.css({display:\"block\",overflow:\"hidden\",height:0,paddingTop:\"\",paddingBottom:\"\"});var s=n.css(\"padding-top\"),o=n.css(\"padding-bottom\"),a=n[0].scrollHeight;n.css({paddingTop:0,paddingBottom:0}),l({targets:n[0],height:a,paddingTop:s,paddingBottom:o,duration:this.options.inDuration,easing:\"easeInOutCubic\",complete:function(t){n.css({overflow:\"\",paddingTop:\"\",paddingBottom:\"\",height:\"\"}),\"function\"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,i[0])}})}}},{key:\"_animateOut\",value:function(t){var e=this,i=this.$el.children(\"li\").eq(t);if(i.length){var n=i.children(\".collapsible-body\");l.remove(n[0]),n.css(\"overflow\",\"hidden\"),l({targets:n[0],height:0,paddingTop:0,paddingBottom:0,duration:this.options.outDuration,easing:\"easeInOutCubic\",complete:function(){n.css({height:\"\",overflow:\"\",padding:\"\",display:\"\"}),\"function\"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,i[0])}})}}},{key:\"open\",value:function(t){var i=this,e=this.$el.children(\"li\").eq(t);if(e.length&&!e[0].classList.contains(\"active\")){if(\"function\"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,e[0]),this.options.accordion){var n=this.$el.children(\"li\");this.$el.children(\"li.active\").each(function(t){var e=n.index(r(t));i.close(e)})}e[0].classList.add(\"active\"),this._animateIn(t)}}},{key:\"close\",value:function(t){var e=this.$el.children(\"li\").eq(t);e.length&&e[0].classList.contains(\"active\")&&(\"function\"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,e[0]),e[0].classList.remove(\"active\"),this._animateOut(t))}}],[{key:\"init\",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Collapsible}},{key:\"defaults\",get:function(){return e}}]),s}();M.Collapsible=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"collapsible\",\"M_Collapsible\")}(cash,M.anime),function(h,i){\"use strict\";var e={alignment:\"left\",autoFocus:!0,constrainWidth:!0,container:null,coverTrigger:!0,closeOnClick:!0,hover:!1,inDuration:150,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onItemClick:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return i.el.M_Dropdown=i,n._dropdowns.push(i),i.id=M.getIdFromTrigger(t),i.dropdownEl=document.getElementById(i.id),i.$dropdownEl=h(i.dropdownEl),i.options=h.extend({},n.defaults,e),i.isOpen=!1,i.isScrollable=!1,i.isTouchMoving=!1,i.focusedIndex=-1,i.filterQuery=[],i.options.container?h(i.options.container).append(i.dropdownEl):i.$el.after(i.dropdownEl),i._makeDropdownFocusable(),i._resetFilterQueryBound=i._resetFilterQuery.bind(i),i._handleDocumentClickBound=i._handleDocumentClick.bind(i),i._handleDocumentTouchmoveBound=i._handleDocumentTouchmove.bind(i),i._handleDropdownClickBound=i._handleDropdownClick.bind(i),i._handleDropdownKeydownBound=i._handleDropdownKeydown.bind(i),i._handleTriggerKeydownBound=i._handleTriggerKeydown.bind(i),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this._resetDropdownStyles(),this._removeEventHandlers(),n._dropdowns.splice(n._dropdowns.indexOf(this),1),this.el.M_Dropdown=void 0}},{key:\"_setupEventHandlers\",value:function(){this.el.addEventListener(\"keydown\",this._handleTriggerKeydownBound),this.dropdownEl.addEventListener(\"click\",this._handleDropdownClickBound),this.options.hover?(this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this.el.addEventListener(\"mouseenter\",this._handleMouseEnterBound),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this.el.addEventListener(\"mouseleave\",this._handleMouseLeaveBound),this.dropdownEl.addEventListener(\"mouseleave\",this._handleMouseLeaveBound)):(this._handleClickBound=this._handleClick.bind(this),this.el.addEventListener(\"click\",this._handleClickBound))}},{key:\"_removeEventHandlers\",value:function(){this.el.removeEventListener(\"keydown\",this._handleTriggerKeydownBound),this.dropdownEl.removeEventListener(\"click\",this._handleDropdownClickBound),this.options.hover?(this.el.removeEventListener(\"mouseenter\",this._handleMouseEnterBound),this.el.removeEventListener(\"mouseleave\",this._handleMouseLeaveBound),this.dropdownEl.removeEventListener(\"mouseleave\",this._handleMouseLeaveBound)):this.el.removeEventListener(\"click\",this._handleClickBound)}},{key:\"_setupTemporaryEventHandlers\",value:function(){document.body.addEventListener(\"click\",this._handleDocumentClickBound,!0),document.body.addEventListener(\"touchend\",this._handleDocumentClickBound),document.body.addEventListener(\"touchmove\",this._handleDocumentTouchmoveBound),this.dropdownEl.addEventListener(\"keydown\",this._handleDropdownKeydownBound)}},{key:\"_removeTemporaryEventHandlers\",value:function(){document.body.removeEventListener(\"click\",this._handleDocumentClickBound,!0),document.body.removeEventListener(\"touchend\",this._handleDocumentClickBound),document.body.removeEventListener(\"touchmove\",this._handleDocumentTouchmoveBound),this.dropdownEl.removeEventListener(\"keydown\",this._handleDropdownKeydownBound)}},{key:\"_handleClick\",value:function(t){t.preventDefault(),this.open()}},{key:\"_handleMouseEnter\",value:function(){this.open()}},{key:\"_handleMouseLeave\",value:function(t){var e=t.toElement||t.relatedTarget,i=!!h(e).closest(\".dropdown-content\").length,n=!1,s=h(e).closest(\".dropdown-trigger\");s.length&&s[0].M_Dropdown&&s[0].M_Dropdown.isOpen&&(n=!0),n||i||this.close()}},{key:\"_handleDocumentClick\",value:function(t){var e=this,i=h(t.target);this.options.closeOnClick&&i.closest(\".dropdown-content\").length&&!this.isTouchMoving?setTimeout(function(){e.close()},0):!i.closest(\".dropdown-trigger\").length&&i.closest(\".dropdown-content\").length||setTimeout(function(){e.close()},0),this.isTouchMoving=!1}},{key:\"_handleTriggerKeydown\",value:function(t){t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ENTER||this.isOpen||(t.preventDefault(),this.open())}},{key:\"_handleDocumentTouchmove\",value:function(t){h(t.target).closest(\".dropdown-content\").length&&(this.isTouchMoving=!0)}},{key:\"_handleDropdownClick\",value:function(t){if(\"function\"==typeof this.options.onItemClick){var e=h(t.target).closest(\"li\")[0];this.options.onItemClick.call(this,e)}}},{key:\"_handleDropdownKeydown\",value:function(t){if(t.which===M.keys.TAB)t.preventDefault(),this.close();else if(t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||!this.isOpen)if(t.which===M.keys.ENTER&&this.isOpen){var e=this.dropdownEl.children[this.focusedIndex],i=h(e).find(\"a, button\").first();i.length?i[0].click():e&&e.click()}else t.which===M.keys.ESC&&this.isOpen&&(t.preventDefault(),this.close());else{t.preventDefault();var n=t.which===M.keys.ARROW_DOWN?1:-1,s=this.focusedIndex,o=!1;do{if(s+=n,this.dropdownEl.children[s]&&-1!==this.dropdownEl.children[s].tabIndex){o=!0;break}}while(s<this.dropdownEl.children.length&&0<=s);o&&(this.focusedIndex=s,this._focusFocusedItem())}var a=String.fromCharCode(t.which).toLowerCase();if(a&&-1===[9,13,27,38,40].indexOf(t.which)){this.filterQuery.push(a);var r=this.filterQuery.join(\"\"),l=h(this.dropdownEl).find(\"li\").filter(function(t){return 0===h(t).text().toLowerCase().indexOf(r)})[0];l&&(this.focusedIndex=h(l).index(),this._focusFocusedItem())}this.filterTimeout=setTimeout(this._resetFilterQueryBound,1e3)}},{key:\"_resetFilterQuery\",value:function(){this.filterQuery=[]}},{key:\"_resetDropdownStyles\",value:function(){this.$dropdownEl.css({display:\"\",width:\"\",height:\"\",left:\"\",top:\"\",\"transform-origin\":\"\",transform:\"\",opacity:\"\"})}},{key:\"_makeDropdownFocusable\",value:function(){this.dropdownEl.tabIndex=0,h(this.dropdownEl).children().each(function(t){t.getAttribute(\"tabindex\")||t.setAttribute(\"tabindex\",0)})}},{key:\"_focusFocusedItem\",value:function(){0<=this.focusedIndex&&this.focusedIndex<this.dropdownEl.children.length&&this.options.autoFocus&&this.dropdownEl.children[this.focusedIndex].focus()}},{key:\"_getDropdownPosition\",value:function(){this.el.offsetParent.getBoundingClientRect();var t=this.el.getBoundingClientRect(),e=this.dropdownEl.getBoundingClientRect(),i=e.height,n=e.width,s=t.left-e.left,o=t.top-e.top,a={left:s,top:o,height:i,width:n},r=this.dropdownEl.offsetParent?this.dropdownEl.offsetParent:this.dropdownEl.parentNode,l=M.checkPossibleAlignments(this.el,r,a,this.options.coverTrigger?0:t.height),h=\"top\",d=this.options.alignment;if(o+=this.options.coverTrigger?0:t.height,this.isScrollable=!1,l.top||(l.bottom?h=\"bottom\":(this.isScrollable=!0,l.spaceOnTop>l.spaceOnBottom?(h=\"bottom\",i+=l.spaceOnTop,o-=l.spaceOnTop):i+=l.spaceOnBottom)),!l[d]){var u=\"left\"===d?\"right\":\"left\";l[u]?d=u:l.spaceOnLeft>l.spaceOnRight?(d=\"right\",n+=l.spaceOnLeft,s-=l.spaceOnLeft):(d=\"left\",n+=l.spaceOnRight)}return\"bottom\"===h&&(o=o-e.height+(this.options.coverTrigger?t.height:0)),\"right\"===d&&(s=s-e.width+t.width),{x:s,y:o,verticalAlignment:h,horizontalAlignment:d,height:i,width:n}}},{key:\"_animateIn\",value:function(){var e=this;i.remove(this.dropdownEl),i({targets:this.dropdownEl,opacity:{value:[0,1],easing:\"easeOutQuad\"},scaleX:[.3,1],scaleY:[.3,1],duration:this.options.inDuration,easing:\"easeOutQuint\",complete:function(t){e.options.autoFocus&&e.dropdownEl.focus(),\"function\"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,e.el)}})}},{key:\"_animateOut\",value:function(){var e=this;i.remove(this.dropdownEl),i({targets:this.dropdownEl,opacity:{value:0,easing:\"easeOutQuint\"},scaleX:.3,scaleY:.3,duration:this.options.outDuration,easing:\"easeOutQuint\",complete:function(t){e._resetDropdownStyles(),\"function\"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,e.el)}})}},{key:\"_placeDropdown\",value:function(){var t=this.options.constrainWidth?this.el.getBoundingClientRect().width:this.dropdownEl.getBoundingClientRect().width;this.dropdownEl.style.width=t+\"px\";var e=this._getDropdownPosition();this.dropdownEl.style.left=e.x+\"px\",this.dropdownEl.style.top=e.y+\"px\",this.dropdownEl.style.height=e.height+\"px\",this.dropdownEl.style.width=e.width+\"px\",this.dropdownEl.style.transformOrigin=(\"left\"===e.horizontalAlignment?\"0\":\"100%\")+\" \"+(\"top\"===e.verticalAlignment?\"0\":\"100%\")}},{key:\"open\",value:function(){this.isOpen||(this.isOpen=!0,\"function\"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._resetDropdownStyles(),this.dropdownEl.style.display=\"block\",this._placeDropdown(),this._animateIn(),this._setupTemporaryEventHandlers())}},{key:\"close\",value:function(){this.isOpen&&(this.isOpen=!1,this.focusedIndex=-1,\"function\"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._animateOut(),this._removeTemporaryEventHandlers(),this.options.autoFocus&&this.el.focus())}},{key:\"recalculateDimensions\",value:function(){this.isOpen&&(this.$dropdownEl.css({width:\"\",height:\"\",left:\"\",top:\"\",\"transform-origin\":\"\"}),this._placeDropdown())}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Dropdown}},{key:\"defaults\",get:function(){return e}}]),n}();t._dropdowns=[],M.Dropdown=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"dropdown\",\"M_Dropdown\")}(cash,M.anime),function(s,i){\"use strict\";var e={opacity:.5,inDuration:250,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0,dismissible:!0,startingTop:\"4%\",endingTop:\"10%\"},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Modal=i).options=s.extend({},n.defaults,e),i.isOpen=!1,i.id=i.$el.attr(\"id\"),i._openingTrigger=void 0,i.$overlay=s('<div class=\"modal-overlay\"></div>'),i.el.tabIndex=0,i._nthModalOpened=0,n._count++,i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){n._count--,this._removeEventHandlers(),this.el.removeAttribute(\"style\"),this.$overlay.remove(),this.el.M_Modal=void 0}},{key:\"_setupEventHandlers\",value:function(){this._handleOverlayClickBound=this._handleOverlayClick.bind(this),this._handleModalCloseClickBound=this._handleModalCloseClick.bind(this),1===n._count&&document.body.addEventListener(\"click\",this._handleTriggerClick),this.$overlay[0].addEventListener(\"click\",this._handleOverlayClickBound),this.el.addEventListener(\"click\",this._handleModalCloseClickBound)}},{key:\"_removeEventHandlers\",value:function(){0===n._count&&document.body.removeEventListener(\"click\",this._handleTriggerClick),this.$overlay[0].removeEventListener(\"click\",this._handleOverlayClickBound),this.el.removeEventListener(\"click\",this._handleModalCloseClickBound)}},{key:\"_handleTriggerClick\",value:function(t){var e=s(t.target).closest(\".modal-trigger\");if(e.length){var i=M.getIdFromTrigger(e[0]),n=document.getElementById(i).M_Modal;n&&n.open(e),t.preventDefault()}}},{key:\"_handleOverlayClick\",value:function(){this.options.dismissible&&this.close()}},{key:\"_handleModalCloseClick\",value:function(t){s(t.target).closest(\".modal-close\").length&&this.close()}},{key:\"_handleKeydown\",value:function(t){27===t.keyCode&&this.options.dismissible&&this.close()}},{key:\"_handleFocus\",value:function(t){this.el.contains(t.target)||this._nthModalOpened!==n._modalsOpen||this.el.focus()}},{key:\"_animateIn\",value:function(){var t=this;s.extend(this.el.style,{display:\"block\",opacity:0}),s.extend(this.$overlay[0].style,{display:\"block\",opacity:0}),i({targets:this.$overlay[0],opacity:this.options.opacity,duration:this.options.inDuration,easing:\"easeOutQuad\"});var e={targets:this.el,duration:this.options.inDuration,easing:\"easeOutCubic\",complete:function(){\"function\"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el,t._openingTrigger)}};this.el.classList.contains(\"bottom-sheet\")?s.extend(e,{bottom:0,opacity:1}):s.extend(e,{top:[this.options.startingTop,this.options.endingTop],opacity:1,scaleX:[.8,1],scaleY:[.8,1]}),i(e)}},{key:\"_animateOut\",value:function(){var t=this;i({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:\"easeOutQuart\"});var e={targets:this.el,duration:this.options.outDuration,easing:\"easeOutCubic\",complete:function(){t.el.style.display=\"none\",t.$overlay.remove(),\"function\"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}};this.el.classList.contains(\"bottom-sheet\")?s.extend(e,{bottom:\"-100%\",opacity:0}):s.extend(e,{top:[this.options.endingTop,this.options.startingTop],opacity:0,scaleX:.8,scaleY:.8}),i(e)}},{key:\"open\",value:function(t){if(!this.isOpen)return this.isOpen=!0,n._modalsOpen++,this._nthModalOpened=n._modalsOpen,this.$overlay[0].style.zIndex=1e3+2*n._modalsOpen,this.el.style.zIndex=1e3+2*n._modalsOpen+1,this._openingTrigger=t?t[0]:void 0,\"function\"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el,this._openingTrigger),this.options.preventScrolling&&(document.body.style.overflow=\"hidden\"),this.el.classList.add(\"open\"),this.el.insertAdjacentElement(\"afterend\",this.$overlay[0]),this.options.dismissible&&(this._handleKeydownBound=this._handleKeydown.bind(this),this._handleFocusBound=this._handleFocus.bind(this),document.addEventListener(\"keydown\",this._handleKeydownBound),document.addEventListener(\"focus\",this._handleFocusBound,!0)),i.remove(this.el),i.remove(this.$overlay[0]),this._animateIn(),this.el.focus(),this}},{key:\"close\",value:function(){if(this.isOpen)return this.isOpen=!1,n._modalsOpen--,this._nthModalOpened=0,\"function\"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this.el.classList.remove(\"open\"),0===n._modalsOpen&&(document.body.style.overflow=\"\"),this.options.dismissible&&(document.removeEventListener(\"keydown\",this._handleKeydownBound),document.removeEventListener(\"focus\",this._handleFocusBound,!0)),i.remove(this.el),i.remove(this.$overlay[0]),this._animateOut(),this}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Modal}},{key:\"defaults\",get:function(){return e}}]),n}();t._modalsOpen=0,t._count=0,M.Modal=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"modal\",\"M_Modal\")}(cash,M.anime),function(o,a){\"use strict\";var e={inDuration:275,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Materialbox=i).options=o.extend({},n.defaults,e),i.overlayActive=!1,i.doneAnimating=!0,i.placeholder=o(\"<div></div>\").addClass(\"material-placeholder\"),i.originalWidth=0,i.originalHeight=0,i.originInlineStyles=i.$el.attr(\"style\"),i.caption=i.el.getAttribute(\"data-caption\")||\"\",i.$el.before(i.placeholder),i.placeholder.append(i.$el),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this.el.M_Materialbox=void 0,o(this.placeholder).after(this.el).remove(),this.$el.removeAttr(\"style\")}},{key:\"_setupEventHandlers\",value:function(){this._handleMaterialboxClickBound=this._handleMaterialboxClick.bind(this),this.el.addEventListener(\"click\",this._handleMaterialboxClickBound)}},{key:\"_removeEventHandlers\",value:function(){this.el.removeEventListener(\"click\",this._handleMaterialboxClickBound)}},{key:\"_handleMaterialboxClick\",value:function(t){!1===this.doneAnimating||this.overlayActive&&this.doneAnimating?this.close():this.open()}},{key:\"_handleWindowScroll\",value:function(){this.overlayActive&&this.close()}},{key:\"_handleWindowResize\",value:function(){this.overlayActive&&this.close()}},{key:\"_handleWindowEscape\",value:function(t){27===t.keyCode&&this.doneAnimating&&this.overlayActive&&this.close()}},{key:\"_makeAncestorsOverflowVisible\",value:function(){this.ancestorsChanged=o();for(var t=this.placeholder[0].parentNode;null!==t&&!o(t).is(document);){var e=o(t);\"visible\"!==e.css(\"overflow\")&&(e.css(\"overflow\",\"visible\"),void 0===this.ancestorsChanged?this.ancestorsChanged=e:this.ancestorsChanged=this.ancestorsChanged.add(e)),t=t.parentNode}}},{key:\"_animateImageIn\",value:function(){var t=this,e={targets:this.el,height:[this.originalHeight,this.newHeight],width:[this.originalWidth,this.newWidth],left:M.getDocumentScrollLeft()+this.windowWidth/2-this.placeholder.offset().left-this.newWidth/2,top:M.getDocumentScrollTop()+this.windowHeight/2-this.placeholder.offset().top-this.newHeight/2,duration:this.options.inDuration,easing:\"easeOutQuad\",complete:function(){t.doneAnimating=!0,\"function\"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el)}};this.maxWidth=this.$el.css(\"max-width\"),this.maxHeight=this.$el.css(\"max-height\"),\"none\"!==this.maxWidth&&(e.maxWidth=this.newWidth),\"none\"!==this.maxHeight&&(e.maxHeight=this.newHeight),a(e)}},{key:\"_animateImageOut\",value:function(){var t=this,e={targets:this.el,width:this.originalWidth,height:this.originalHeight,left:0,top:0,duration:this.options.outDuration,easing:\"easeOutQuad\",complete:function(){t.placeholder.css({height:\"\",width:\"\",position:\"\",top:\"\",left:\"\"}),t.attrWidth&&t.$el.attr(\"width\",t.attrWidth),t.attrHeight&&t.$el.attr(\"height\",t.attrHeight),t.$el.removeAttr(\"style\"),t.originInlineStyles&&t.$el.attr(\"style\",t.originInlineStyles),t.$el.removeClass(\"active\"),t.doneAnimating=!0,t.ancestorsChanged.length&&t.ancestorsChanged.css(\"overflow\",\"\"),\"function\"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}};a(e)}},{key:\"_updateVars\",value:function(){this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight,this.caption=this.el.getAttribute(\"data-caption\")||\"\"}},{key:\"open\",value:function(){var t=this;this._updateVars(),this.originalWidth=this.el.getBoundingClientRect().width,this.originalHeight=this.el.getBoundingClientRect().height,this.doneAnimating=!1,this.$el.addClass(\"active\"),this.overlayActive=!0,\"function\"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this.placeholder.css({width:this.placeholder[0].getBoundingClientRect().width+\"px\",height:this.placeholder[0].getBoundingClientRect().height+\"px\",position:\"relative\",top:0,left:0}),this._makeAncestorsOverflowVisible(),this.$el.css({position:\"absolute\",\"z-index\":1e3,\"will-change\":\"left, top, width, height\"}),this.attrWidth=this.$el.attr(\"width\"),this.attrHeight=this.$el.attr(\"height\"),this.attrWidth&&(this.$el.css(\"width\",this.attrWidth+\"px\"),this.$el.removeAttr(\"width\")),this.attrHeight&&(this.$el.css(\"width\",this.attrHeight+\"px\"),this.$el.removeAttr(\"height\")),this.$overlay=o('<div id=\"materialbox-overlay\"></div>').css({opacity:0}).one(\"click\",function(){t.doneAnimating&&t.close()}),this.$el.before(this.$overlay);var e=this.$overlay[0].getBoundingClientRect();this.$overlay.css({width:this.windowWidth+\"px\",height:this.windowHeight+\"px\",left:-1*e.left+\"px\",top:-1*e.top+\"px\"}),a.remove(this.el),a.remove(this.$overlay[0]),a({targets:this.$overlay[0],opacity:1,duration:this.options.inDuration,easing:\"easeOutQuad\"}),\"\"!==this.caption&&(this.$photocaption&&a.remove(this.$photoCaption[0]),this.$photoCaption=o('<div class=\"materialbox-caption\"></div>'),this.$photoCaption.text(this.caption),o(\"body\").append(this.$photoCaption),this.$photoCaption.css({display:\"inline\"}),a({targets:this.$photoCaption[0],opacity:1,duration:this.options.inDuration,easing:\"easeOutQuad\"}));var i=0,n=this.originalWidth/this.windowWidth,s=this.originalHeight/this.windowHeight;this.newWidth=0,this.newHeight=0,s<n?(i=this.originalHeight/this.originalWidth,this.newWidth=.9*this.windowWidth,this.newHeight=.9*this.windowWidth*i):(i=this.originalWidth/this.originalHeight,this.newWidth=.9*this.windowHeight*i,this.newHeight=.9*this.windowHeight),this._animateImageIn(),this._handleWindowScrollBound=this._handleWindowScroll.bind(this),this._handleWindowResizeBound=this._handleWindowResize.bind(this),this._handleWindowEscapeBound=this._handleWindowEscape.bind(this),window.addEventListener(\"scroll\",this._handleWindowScrollBound),window.addEventListener(\"resize\",this._handleWindowResizeBound),window.addEventListener(\"keyup\",this._handleWindowEscapeBound)}},{key:\"close\",value:function(){var t=this;this._updateVars(),this.doneAnimating=!1,\"function\"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),a.remove(this.el),a.remove(this.$overlay[0]),\"\"!==this.caption&&a.remove(this.$photoCaption[0]),window.removeEventListener(\"scroll\",this._handleWindowScrollBound),window.removeEventListener(\"resize\",this._handleWindowResizeBound),window.removeEventListener(\"keyup\",this._handleWindowEscapeBound),a({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:\"easeOutQuad\",complete:function(){t.overlayActive=!1,t.$overlay.remove()}}),this._animateImageOut(),\"\"!==this.caption&&a({targets:this.$photoCaption[0],opacity:0,duration:this.options.outDuration,easing:\"easeOutQuad\",complete:function(){t.$photoCaption.remove()}})}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Materialbox}},{key:\"defaults\",get:function(){return e}}]),n}();M.Materialbox=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"materialbox\",\"M_Materialbox\")}(cash,M.anime),function(s){\"use strict\";var e={responsiveThreshold:0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Parallax=i).options=s.extend({},n.defaults,e),i._enabled=window.innerWidth>i.options.responsiveThreshold,i.$img=i.$el.find(\"img\").first(),i.$img.each(function(){this.complete&&s(this).trigger(\"load\")}),i._updateParallax(),i._setupEventHandlers(),i._setupStyles(),n._parallaxes.push(i),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){n._parallaxes.splice(n._parallaxes.indexOf(this),1),this.$img[0].style.transform=\"\",this._removeEventHandlers(),this.$el[0].M_Parallax=void 0}},{key:\"_setupEventHandlers\",value:function(){this._handleImageLoadBound=this._handleImageLoad.bind(this),this.$img[0].addEventListener(\"load\",this._handleImageLoadBound),0===n._parallaxes.length&&(n._handleScrollThrottled=M.throttle(n._handleScroll,5),window.addEventListener(\"scroll\",n._handleScrollThrottled),n._handleWindowResizeThrottled=M.throttle(n._handleWindowResize,5),window.addEventListener(\"resize\",n._handleWindowResizeThrottled))}},{key:\"_removeEventHandlers\",value:function(){this.$img[0].removeEventListener(\"load\",this._handleImageLoadBound),0===n._parallaxes.length&&(window.removeEventListener(\"scroll\",n._handleScrollThrottled),window.removeEventListener(\"resize\",n._handleWindowResizeThrottled))}},{key:\"_setupStyles\",value:function(){this.$img[0].style.opacity=1}},{key:\"_handleImageLoad\",value:function(){this._updateParallax()}},{key:\"_updateParallax\",value:function(){var t=0<this.$el.height()?this.el.parentNode.offsetHeight:500,e=this.$img[0].offsetHeight-t,i=this.$el.offset().top+t,n=this.$el.offset().top,s=M.getDocumentScrollTop(),o=window.innerHeight,a=e*((s+o-n)/(t+o));this._enabled?s<i&&n<s+o&&(this.$img[0].style.transform=\"translate3D(-50%, \"+a+\"px, 0)\"):this.$img[0].style.transform=\"\"}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Parallax}},{key:\"_handleScroll\",value:function(){for(var t=0;t<n._parallaxes.length;t++){var e=n._parallaxes[t];e._updateParallax.call(e)}}},{key:\"_handleWindowResize\",value:function(){for(var t=0;t<n._parallaxes.length;t++){var e=n._parallaxes[t];e._enabled=window.innerWidth>e.options.responsiveThreshold}}},{key:\"defaults\",get:function(){return e}}]),n}();t._parallaxes=[],M.Parallax=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"parallax\",\"M_Parallax\")}(cash),function(a,s){\"use strict\";var e={duration:300,onShow:null,swipeable:!1,responsiveThreshold:1/0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Tabs=i).options=a.extend({},n.defaults,e),i.$tabLinks=i.$el.children(\"li.tab\").children(\"a\"),i.index=0,i._setupActiveTabLink(),i.options.swipeable?i._setupSwipeableTabs():i._setupNormalTabs(),i._setTabsAndTabWidth(),i._createIndicator(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this._indicator.parentNode.removeChild(this._indicator),this.options.swipeable?this._teardownSwipeableTabs():this._teardownNormalTabs(),this.$el[0].M_Tabs=void 0}},{key:\"_setupEventHandlers\",value:function(){this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener(\"resize\",this._handleWindowResizeBound),this._handleTabClickBound=this._handleTabClick.bind(this),this.el.addEventListener(\"click\",this._handleTabClickBound)}},{key:\"_removeEventHandlers\",value:function(){window.removeEventListener(\"resize\",this._handleWindowResizeBound),this.el.removeEventListener(\"click\",this._handleTabClickBound)}},{key:\"_handleWindowResize\",value:function(){this._setTabsAndTabWidth(),0!==this.tabWidth&&0!==this.tabsWidth&&(this._indicator.style.left=this._calcLeftPos(this.$activeTabLink)+\"px\",this._indicator.style.right=this._calcRightPos(this.$activeTabLink)+\"px\")}},{key:\"_handleTabClick\",value:function(t){var e=this,i=a(t.target).closest(\"li.tab\"),n=a(t.target).closest(\"a\");if(n.length&&n.parent().hasClass(\"tab\"))if(i.hasClass(\"disabled\"))t.preventDefault();else if(!n.attr(\"target\")){this.$activeTabLink.removeClass(\"active\");var s=this.$content;this.$activeTabLink=n,this.$content=a(M.escapeHash(n[0].hash)),this.$tabLinks=this.$el.children(\"li.tab\").children(\"a\"),this.$activeTabLink.addClass(\"active\");var o=this.index;this.index=Math.max(this.$tabLinks.index(n),0),this.options.swipeable?this._tabsCarousel&&this._tabsCarousel.set(this.index,function(){\"function\"==typeof e.options.onShow&&e.options.onShow.call(e,e.$content[0])}):this.$content.length&&(this.$content[0].style.display=\"block\",this.$content.addClass(\"active\"),\"function\"==typeof this.options.onShow&&this.options.onShow.call(this,this.$content[0]),s.length&&!s.is(this.$content)&&(s[0].style.display=\"none\",s.removeClass(\"active\"))),this._setTabsAndTabWidth(),this._animateIndicator(o),t.preventDefault()}}},{key:\"_createIndicator\",value:function(){var t=this,e=document.createElement(\"li\");e.classList.add(\"indicator\"),this.el.appendChild(e),this._indicator=e,setTimeout(function(){t._indicator.style.left=t._calcLeftPos(t.$activeTabLink)+\"px\",t._indicator.style.right=t._calcRightPos(t.$activeTabLink)+\"px\"},0)}},{key:\"_setupActiveTabLink\",value:function(){this.$activeTabLink=a(this.$tabLinks.filter('[href=\"'+location.hash+'\"]')),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children(\"li.tab\").children(\"a.active\").first()),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children(\"li.tab\").children(\"a\").first()),this.$tabLinks.removeClass(\"active\"),this.$activeTabLink[0].classList.add(\"active\"),this.index=Math.max(this.$tabLinks.index(this.$activeTabLink),0),this.$activeTabLink.length&&(this.$content=a(M.escapeHash(this.$activeTabLink[0].hash)),this.$content.addClass(\"active\"))}},{key:\"_setupSwipeableTabs\",value:function(){var i=this;window.innerWidth>this.options.responsiveThreshold&&(this.options.swipeable=!1);var n=a();this.$tabLinks.each(function(t){var e=a(M.escapeHash(t.hash));e.addClass(\"carousel-item\"),n=n.add(e)});var t=a('<div class=\"tabs-content carousel carousel-slider\"></div>');n.first().before(t),t.append(n),n[0].style.display=\"\";var e=this.$activeTabLink.closest(\".tab\").index();this._tabsCarousel=M.Carousel.init(t[0],{fullWidth:!0,noWrap:!0,onCycleTo:function(t){var e=i.index;i.index=a(t).index(),i.$activeTabLink.removeClass(\"active\"),i.$activeTabLink=i.$tabLinks.eq(i.index),i.$activeTabLink.addClass(\"active\"),i._animateIndicator(e),\"function\"==typeof i.options.onShow&&i.options.onShow.call(i,i.$content[0])}}),this._tabsCarousel.set(e)}},{key:\"_teardownSwipeableTabs\",value:function(){var t=this._tabsCarousel.$el;this._tabsCarousel.destroy(),t.after(t.children()),t.remove()}},{key:\"_setupNormalTabs\",value:function(){this.$tabLinks.not(this.$activeTabLink).each(function(t){if(t.hash){var e=a(M.escapeHash(t.hash));e.length&&(e[0].style.display=\"none\")}})}},{key:\"_teardownNormalTabs\",value:function(){this.$tabLinks.each(function(t){if(t.hash){var e=a(M.escapeHash(t.hash));e.length&&(e[0].style.display=\"\")}})}},{key:\"_setTabsAndTabWidth\",value:function(){this.tabsWidth=this.$el.width(),this.tabWidth=Math.max(this.tabsWidth,this.el.scrollWidth)/this.$tabLinks.length}},{key:\"_calcRightPos\",value:function(t){return Math.ceil(this.tabsWidth-t.position().left-t[0].getBoundingClientRect().width)}},{key:\"_calcLeftPos\",value:function(t){return Math.floor(t.position().left)}},{key:\"updateTabIndicator\",value:function(){this._setTabsAndTabWidth(),this._animateIndicator(this.index)}},{key:\"_animateIndicator\",value:function(t){var e=0,i=0;0<=this.index-t?e=90:i=90;var n={targets:this._indicator,left:{value:this._calcLeftPos(this.$activeTabLink),delay:e},right:{value:this._calcRightPos(this.$activeTabLink),delay:i},duration:this.options.duration,easing:\"easeOutQuad\"};s.remove(this._indicator),s(n)}},{key:\"select\",value:function(t){var e=this.$tabLinks.filter('[href=\"#'+t+'\"]');e.length&&e.trigger(\"click\")}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Tabs}},{key:\"defaults\",get:function(){return e}}]),n}();M.Tabs=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"tabs\",\"M_Tabs\")}(cash,M.anime),function(d,e){\"use strict\";var i={exitDelay:200,enterDelay:0,html:null,margin:5,inDuration:250,outDuration:200,position:\"bottom\",transitionMovement:10},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Tooltip=i).options=d.extend({},n.defaults,e),i.isOpen=!1,i.isHovered=!1,i.isFocused=!1,i._appendTooltipEl(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){d(this.tooltipEl).remove(),this._removeEventHandlers(),this.el.M_Tooltip=void 0}},{key:\"_appendTooltipEl\",value:function(){var t=document.createElement(\"div\");t.classList.add(\"material-tooltip\"),this.tooltipEl=t;var e=document.createElement(\"div\");e.classList.add(\"tooltip-content\"),e.innerHTML=this.options.html,t.appendChild(e),document.body.appendChild(t)}},{key:\"_updateTooltipContent\",value:function(){this.tooltipEl.querySelector(\".tooltip-content\").innerHTML=this.options.html}},{key:\"_setupEventHandlers\",value:function(){this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this._handleFocusBound=this._handleFocus.bind(this),this._handleBlurBound=this._handleBlur.bind(this),this.el.addEventListener(\"mouseenter\",this._handleMouseEnterBound),this.el.addEventListener(\"mouseleave\",this._handleMouseLeaveBound),this.el.addEventListener(\"focus\",this._handleFocusBound,!0),this.el.addEventListener(\"blur\",this._handleBlurBound,!0)}},{key:\"_removeEventHandlers\",value:function(){this.el.removeEventListener(\"mouseenter\",this._handleMouseEnterBound),this.el.removeEventListener(\"mouseleave\",this._handleMouseLeaveBound),this.el.removeEventListener(\"focus\",this._handleFocusBound,!0),this.el.removeEventListener(\"blur\",this._handleBlurBound,!0)}},{key:\"open\",value:function(t){this.isOpen||(t=void 0===t||void 0,this.isOpen=!0,this.options=d.extend({},this.options,this._getAttributeOptions()),this._updateTooltipContent(),this._setEnterDelayTimeout(t))}},{key:\"close\",value:function(){this.isOpen&&(this.isHovered=!1,this.isFocused=!1,this.isOpen=!1,this._setExitDelayTimeout())}},{key:\"_setExitDelayTimeout\",value:function(){var t=this;clearTimeout(this._exitDelayTimeout),this._exitDelayTimeout=setTimeout(function(){t.isHovered||t.isFocused||t._animateOut()},this.options.exitDelay)}},{key:\"_setEnterDelayTimeout\",value:function(t){var e=this;clearTimeout(this._enterDelayTimeout),this._enterDelayTimeout=setTimeout(function(){(e.isHovered||e.isFocused||t)&&e._animateIn()},this.options.enterDelay)}},{key:\"_positionTooltip\",value:function(){var t,e=this.el,i=this.tooltipEl,n=e.offsetHeight,s=e.offsetWidth,o=i.offsetHeight,a=i.offsetWidth,r=this.options.margin,l=void 0,h=void 0;this.xMovement=0,this.yMovement=0,l=e.getBoundingClientRect().top+M.getDocumentScrollTop(),h=e.getBoundingClientRect().left+M.getDocumentScrollLeft(),\"top\"===this.options.position?(l+=-o-r,h+=s/2-a/2,this.yMovement=-this.options.transitionMovement):\"right\"===this.options.position?(l+=n/2-o/2,h+=s+r,this.xMovement=this.options.transitionMovement):\"left\"===this.options.position?(l+=n/2-o/2,h+=-a-r,this.xMovement=-this.options.transitionMovement):(l+=n+r,h+=s/2-a/2,this.yMovement=this.options.transitionMovement),t=this._repositionWithinScreen(h,l,a,o),d(i).css({top:t.y+\"px\",left:t.x+\"px\"})}},{key:\"_repositionWithinScreen\",value:function(t,e,i,n){var s=M.getDocumentScrollLeft(),o=M.getDocumentScrollTop(),a=t-s,r=e-o,l={left:a,top:r,width:i,height:n},h=this.options.margin+this.options.transitionMovement,d=M.checkWithinContainer(document.body,l,h);return d.left?a=h:d.right&&(a-=a+i-window.innerWidth),d.top?r=h:d.bottom&&(r-=r+n-window.innerHeight),{x:a+s,y:r+o}}},{key:\"_animateIn\",value:function(){this._positionTooltip(),this.tooltipEl.style.visibility=\"visible\",e.remove(this.tooltipEl),e({targets:this.tooltipEl,opacity:1,translateX:this.xMovement,translateY:this.yMovement,duration:this.options.inDuration,easing:\"easeOutCubic\"})}},{key:\"_animateOut\",value:function(){e.remove(this.tooltipEl),e({targets:this.tooltipEl,opacity:0,translateX:0,translateY:0,duration:this.options.outDuration,easing:\"easeOutCubic\"})}},{key:\"_handleMouseEnter\",value:function(){this.isHovered=!0,this.isFocused=!1,this.open(!1)}},{key:\"_handleMouseLeave\",value:function(){this.isHovered=!1,this.isFocused=!1,this.close()}},{key:\"_handleFocus\",value:function(){M.tabPressed&&(this.isFocused=!0,this.open(!1))}},{key:\"_handleBlur\",value:function(){this.isFocused=!1,this.close()}},{key:\"_getAttributeOptions\",value:function(){var t={},e=this.el.getAttribute(\"data-tooltip\"),i=this.el.getAttribute(\"data-position\");return e&&(t.html=e),i&&(t.position=i),t}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Tooltip}},{key:\"defaults\",get:function(){return i}}]),n}();M.Tooltip=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"tooltip\",\"M_Tooltip\")}(cash,M.anime),function(i){\"use strict\";var t=t||{},e=document.querySelectorAll.bind(document);function m(t){var e=\"\";for(var i in t)t.hasOwnProperty(i)&&(e+=i+\":\"+t[i]+\";\");return e}var g={duration:750,show:function(t,e){if(2===t.button)return!1;var i=e||this,n=document.createElement(\"div\");n.className=\"waves-ripple\",i.appendChild(n);var s,o,a,r,l,h,d,u=(h={top:0,left:0},d=(s=i)&&s.ownerDocument,o=d.documentElement,void 0!==s.getBoundingClientRect&&(h=s.getBoundingClientRect()),a=null!==(l=r=d)&&l===l.window?r:9===r.nodeType&&r.defaultView,{top:h.top+a.pageYOffset-o.clientTop,left:h.left+a.pageXOffset-o.clientLeft}),c=t.pageY-u.top,p=t.pageX-u.left,v=\"scale(\"+i.clientWidth/100*10+\")\";\"touches\"in t&&(c=t.touches[0].pageY-u.top,p=t.touches[0].pageX-u.left),n.setAttribute(\"data-hold\",Date.now()),n.setAttribute(\"data-scale\",v),n.setAttribute(\"data-x\",p),n.setAttribute(\"data-y\",c);var f={top:c+\"px\",left:p+\"px\"};n.className=n.className+\" waves-notransition\",n.setAttribute(\"style\",m(f)),n.className=n.className.replace(\"waves-notransition\",\"\"),f[\"-webkit-transform\"]=v,f[\"-moz-transform\"]=v,f[\"-ms-transform\"]=v,f[\"-o-transform\"]=v,f.transform=v,f.opacity=\"1\",f[\"-webkit-transition-duration\"]=g.duration+\"ms\",f[\"-moz-transition-duration\"]=g.duration+\"ms\",f[\"-o-transition-duration\"]=g.duration+\"ms\",f[\"transition-duration\"]=g.duration+\"ms\",f[\"-webkit-transition-timing-function\"]=\"cubic-bezier(0.250, 0.460, 0.450, 0.940)\",f[\"-moz-transition-timing-function\"]=\"cubic-bezier(0.250, 0.460, 0.450, 0.940)\",f[\"-o-transition-timing-function\"]=\"cubic-bezier(0.250, 0.460, 0.450, 0.940)\",f[\"transition-timing-function\"]=\"cubic-bezier(0.250, 0.460, 0.450, 0.940)\",n.setAttribute(\"style\",m(f))},hide:function(t){l.touchup(t);var e=this,i=(e.clientWidth,null),n=e.getElementsByClassName(\"waves-ripple\");if(!(0<n.length))return!1;var s=(i=n[n.length-1]).getAttribute(\"data-x\"),o=i.getAttribute(\"data-y\"),a=i.getAttribute(\"data-scale\"),r=350-(Date.now()-Number(i.getAttribute(\"data-hold\")));r<0&&(r=0),setTimeout(function(){var t={top:o+\"px\",left:s+\"px\",opacity:\"0\",\"-webkit-transition-duration\":g.duration+\"ms\",\"-moz-transition-duration\":g.duration+\"ms\",\"-o-transition-duration\":g.duration+\"ms\",\"transition-duration\":g.duration+\"ms\",\"-webkit-transform\":a,\"-moz-transform\":a,\"-ms-transform\":a,\"-o-transform\":a,transform:a};i.setAttribute(\"style\",m(t)),setTimeout(function(){try{e.removeChild(i)}catch(t){return!1}},g.duration)},r)},wrapInput:function(t){for(var e=0;e<t.length;e++){var i=t[e];if(\"input\"===i.tagName.toLowerCase()){var n=i.parentNode;if(\"i\"===n.tagName.toLowerCase()&&-1!==n.className.indexOf(\"waves-effect\"))continue;var s=document.createElement(\"i\");s.className=i.className+\" waves-input-wrapper\";var o=i.getAttribute(\"style\");o||(o=\"\"),s.setAttribute(\"style\",o),i.className=\"waves-button-input\",i.removeAttribute(\"style\"),n.replaceChild(s,i),s.appendChild(i)}}}},l={touches:0,allowEvent:function(t){var e=!0;return\"touchstart\"===t.type?l.touches+=1:\"touchend\"===t.type||\"touchcancel\"===t.type?setTimeout(function(){0<l.touches&&(l.touches-=1)},500):\"mousedown\"===t.type&&0<l.touches&&(e=!1),e},touchup:function(t){l.allowEvent(t)}};function n(t){var e=function(t){if(!1===l.allowEvent(t))return null;for(var e=null,i=t.target||t.srcElement;null!==i.parentNode;){if(!(i instanceof SVGElement)&&-1!==i.className.indexOf(\"waves-effect\")){e=i;break}i=i.parentNode}return e}(t);null!==e&&(g.show(t,e),\"ontouchstart\"in i&&(e.addEventListener(\"touchend\",g.hide,!1),e.addEventListener(\"touchcancel\",g.hide,!1)),e.addEventListener(\"mouseup\",g.hide,!1),e.addEventListener(\"mouseleave\",g.hide,!1),e.addEventListener(\"dragend\",g.hide,!1))}t.displayEffect=function(t){\"duration\"in(t=t||{})&&(g.duration=t.duration),g.wrapInput(e(\".waves-effect\")),\"ontouchstart\"in i&&document.body.addEventListener(\"touchstart\",n,!1),document.body.addEventListener(\"mousedown\",n,!1)},t.attach=function(t){\"input\"===t.tagName.toLowerCase()&&(g.wrapInput([t]),t=t.parentNode),\"ontouchstart\"in i&&t.addEventListener(\"touchstart\",n,!1),t.addEventListener(\"mousedown\",n,!1)},i.Waves=t,document.addEventListener(\"DOMContentLoaded\",function(){t.displayEffect()},!1)}(window),function(i,n){\"use strict\";var t={html:\"\",displayLength:4e3,inDuration:300,outDuration:375,classes:\"\",completeCallback:null,activationPercent:.8},e=function(){function s(t){_classCallCheck(this,s),this.options=i.extend({},s.defaults,t),this.message=this.options.html,this.panning=!1,this.timeRemaining=this.options.displayLength,0===s._toasts.length&&s._createContainer(),s._toasts.push(this);var e=this._createToast();(e.M_Toast=this).el=e,this.$el=i(e),this._animateIn(),this._setTimer()}return _createClass(s,[{key:\"_createToast\",value:function(){var t=document.createElement(\"div\");return t.classList.add(\"toast\"),this.options.classes.length&&i(t).addClass(this.options.classes),(\"object\"==typeof HTMLElement?this.message instanceof HTMLElement:this.message&&\"object\"==typeof this.message&&null!==this.message&&1===this.message.nodeType&&\"string\"==typeof this.message.nodeName)?t.appendChild(this.message):this.message.jquery?i(t).append(this.message[0]):t.innerHTML=this.message,s._container.appendChild(t),t}},{key:\"_animateIn\",value:function(){n({targets:this.el,top:0,opacity:1,duration:this.options.inDuration,easing:\"easeOutCubic\"})}},{key:\"_setTimer\",value:function(){var t=this;this.timeRemaining!==1/0&&(this.counterInterval=setInterval(function(){t.panning||(t.timeRemaining-=20),t.timeRemaining<=0&&t.dismiss()},20))}},{key:\"dismiss\",value:function(){var t=this;window.clearInterval(this.counterInterval);var e=this.el.offsetWidth*this.options.activationPercent;this.wasSwiped&&(this.el.style.transition=\"transform .05s, opacity .05s\",this.el.style.transform=\"translateX(\"+e+\"px)\",this.el.style.opacity=0),n({targets:this.el,opacity:0,marginTop:-40,duration:this.options.outDuration,easing:\"easeOutExpo\",complete:function(){\"function\"==typeof t.options.completeCallback&&t.options.completeCallback(),t.$el.remove(),s._toasts.splice(s._toasts.indexOf(t),1),0===s._toasts.length&&s._removeContainer()}})}}],[{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Toast}},{key:\"_createContainer\",value:function(){var t=document.createElement(\"div\");t.setAttribute(\"id\",\"toast-container\"),t.addEventListener(\"touchstart\",s._onDragStart),t.addEventListener(\"touchmove\",s._onDragMove),t.addEventListener(\"touchend\",s._onDragEnd),t.addEventListener(\"mousedown\",s._onDragStart),document.addEventListener(\"mousemove\",s._onDragMove),document.addEventListener(\"mouseup\",s._onDragEnd),document.body.appendChild(t),s._container=t}},{key:\"_removeContainer\",value:function(){document.removeEventListener(\"mousemove\",s._onDragMove),document.removeEventListener(\"mouseup\",s._onDragEnd),i(s._container).remove(),s._container=null}},{key:\"_onDragStart\",value:function(t){if(t.target&&i(t.target).closest(\".toast\").length){var e=i(t.target).closest(\".toast\")[0].M_Toast;e.panning=!0,(s._draggedToast=e).el.classList.add(\"panning\"),e.el.style.transition=\"\",e.startingXPos=s._xPos(t),e.time=Date.now(),e.xPos=s._xPos(t)}}},{key:\"_onDragMove\",value:function(t){if(s._draggedToast){t.preventDefault();var e=s._draggedToast;e.deltaX=Math.abs(e.xPos-s._xPos(t)),e.xPos=s._xPos(t),e.velocityX=e.deltaX/(Date.now()-e.time),e.time=Date.now();var i=e.xPos-e.startingXPos,n=e.el.offsetWidth*e.options.activationPercent;e.el.style.transform=\"translateX(\"+i+\"px)\",e.el.style.opacity=1-Math.abs(i/n)}}},{key:\"_onDragEnd\",value:function(){if(s._draggedToast){var t=s._draggedToast;t.panning=!1,t.el.classList.remove(\"panning\");var e=t.xPos-t.startingXPos,i=t.el.offsetWidth*t.options.activationPercent;Math.abs(e)>i||1<t.velocityX?(t.wasSwiped=!0,t.dismiss()):(t.el.style.transition=\"transform .2s, opacity .2s\",t.el.style.transform=\"\",t.el.style.opacity=\"\"),s._draggedToast=null}}},{key:\"_xPos\",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?t.targetTouches[0].clientX:t.clientX}},{key:\"dismissAll\",value:function(){for(var t in s._toasts)s._toasts[t].dismiss()}},{key:\"defaults\",get:function(){return t}}]),s}();e._toasts=[],e._container=null,e._draggedToast=null,M.Toast=e,M.toast=function(t){return new e(t)}}(cash,M.anime),function(s,o){\"use strict\";var e={edge:\"left\",draggable:!0,inDuration:250,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Sidenav=i).id=i.$el.attr(\"id\"),i.options=s.extend({},n.defaults,e),i.isOpen=!1,i.isFixed=i.el.classList.contains(\"sidenav-fixed\"),i.isDragged=!1,i.lastWindowWidth=window.innerWidth,i.lastWindowHeight=window.innerHeight,i._createOverlay(),i._createDragTarget(),i._setupEventHandlers(),i._setupClasses(),i._setupFixed(),n._sidenavs.push(i),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this._enableBodyScrolling(),this._overlay.parentNode.removeChild(this._overlay),this.dragTarget.parentNode.removeChild(this.dragTarget),this.el.M_Sidenav=void 0,this.el.style.transform=\"\";var t=n._sidenavs.indexOf(this);0<=t&&n._sidenavs.splice(t,1)}},{key:\"_createOverlay\",value:function(){var t=document.createElement(\"div\");this._closeBound=this.close.bind(this),t.classList.add(\"sidenav-overlay\"),t.addEventListener(\"click\",this._closeBound),document.body.appendChild(t),this._overlay=t}},{key:\"_setupEventHandlers\",value:function(){0===n._sidenavs.length&&document.body.addEventListener(\"click\",this._handleTriggerClick),this._handleDragTargetDragBound=this._handleDragTargetDrag.bind(this),this._handleDragTargetReleaseBound=this._handleDragTargetRelease.bind(this),this._handleCloseDragBound=this._handleCloseDrag.bind(this),this._handleCloseReleaseBound=this._handleCloseRelease.bind(this),this._handleCloseTriggerClickBound=this._handleCloseTriggerClick.bind(this),this.dragTarget.addEventListener(\"touchmove\",this._handleDragTargetDragBound),this.dragTarget.addEventListener(\"touchend\",this._handleDragTargetReleaseBound),this._overlay.addEventListener(\"touchmove\",this._handleCloseDragBound),this._overlay.addEventListener(\"touchend\",this._handleCloseReleaseBound),this.el.addEventListener(\"touchmove\",this._handleCloseDragBound),this.el.addEventListener(\"touchend\",this._handleCloseReleaseBound),this.el.addEventListener(\"click\",this._handleCloseTriggerClickBound),this.isFixed&&(this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener(\"resize\",this._handleWindowResizeBound))}},{key:\"_removeEventHandlers\",value:function(){1===n._sidenavs.length&&document.body.removeEventListener(\"click\",this._handleTriggerClick),this.dragTarget.removeEventListener(\"touchmove\",this._handleDragTargetDragBound),this.dragTarget.removeEventListener(\"touchend\",this._handleDragTargetReleaseBound),this._overlay.removeEventListener(\"touchmove\",this._handleCloseDragBound),this._overlay.removeEventListener(\"touchend\",this._handleCloseReleaseBound),this.el.removeEventListener(\"touchmove\",this._handleCloseDragBound),this.el.removeEventListener(\"touchend\",this._handleCloseReleaseBound),this.el.removeEventListener(\"click\",this._handleCloseTriggerClickBound),this.isFixed&&window.removeEventListener(\"resize\",this._handleWindowResizeBound)}},{key:\"_handleTriggerClick\",value:function(t){var e=s(t.target).closest(\".sidenav-trigger\");if(t.target&&e.length){var i=M.getIdFromTrigger(e[0]),n=document.getElementById(i).M_Sidenav;n&&n.open(e),t.preventDefault()}}},{key:\"_startDrag\",value:function(t){var e=t.targetTouches[0].clientX;this.isDragged=!0,this._startingXpos=e,this._xPos=this._startingXpos,this._time=Date.now(),this._width=this.el.getBoundingClientRect().width,this._overlay.style.display=\"block\",this._initialScrollTop=this.isOpen?this.el.scrollTop:M.getDocumentScrollTop(),this._verticallyScrolling=!1,o.remove(this.el),o.remove(this._overlay)}},{key:\"_dragMoveUpdate\",value:function(t){var e=t.targetTouches[0].clientX,i=this.isOpen?this.el.scrollTop:M.getDocumentScrollTop();this.deltaX=Math.abs(this._xPos-e),this._xPos=e,this.velocityX=this.deltaX/(Date.now()-this._time),this._time=Date.now(),this._initialScrollTop!==i&&(this._verticallyScrolling=!0)}},{key:\"_handleDragTargetDrag\",value:function(t){if(this.options.draggable&&!this._isCurrentlyFixed()&&!this._verticallyScrolling){this.isDragged||this._startDrag(t),this._dragMoveUpdate(t);var e=this._xPos-this._startingXpos,i=0<e?\"right\":\"left\";e=Math.min(this._width,Math.abs(e)),this.options.edge===i&&(e=0);var n=e,s=\"translateX(-100%)\";\"right\"===this.options.edge&&(s=\"translateX(100%)\",n=-n),this.percentOpen=Math.min(1,e/this._width),this.el.style.transform=s+\" translateX(\"+n+\"px)\",this._overlay.style.opacity=this.percentOpen}}},{key:\"_handleDragTargetRelease\",value:function(){this.isDragged&&(.2<this.percentOpen?this.open():this._animateOut(),this.isDragged=!1,this._verticallyScrolling=!1)}},{key:\"_handleCloseDrag\",value:function(t){if(this.isOpen){if(!this.options.draggable||this._isCurrentlyFixed()||this._verticallyScrolling)return;this.isDragged||this._startDrag(t),this._dragMoveUpdate(t);var e=this._xPos-this._startingXpos,i=0<e?\"right\":\"left\";e=Math.min(this._width,Math.abs(e)),this.options.edge!==i&&(e=0);var n=-e;\"right\"===this.options.edge&&(n=-n),this.percentOpen=Math.min(1,1-e/this._width),this.el.style.transform=\"translateX(\"+n+\"px)\",this._overlay.style.opacity=this.percentOpen}}},{key:\"_handleCloseRelease\",value:function(){this.isOpen&&this.isDragged&&(.8<this.percentOpen?this._animateIn():this.close(),this.isDragged=!1,this._verticallyScrolling=!1)}},{key:\"_handleCloseTriggerClick\",value:function(t){s(t.target).closest(\".sidenav-close\").length&&!this._isCurrentlyFixed()&&this.close()}},{key:\"_handleWindowResize\",value:function(){this.lastWindowWidth!==window.innerWidth&&(992<window.innerWidth?this.open():this.close()),this.lastWindowWidth=window.innerWidth,this.lastWindowHeight=window.innerHeight}},{key:\"_setupClasses\",value:function(){\"right\"===this.options.edge&&(this.el.classList.add(\"right-aligned\"),this.dragTarget.classList.add(\"right-aligned\"))}},{key:\"_removeClasses\",value:function(){this.el.classList.remove(\"right-aligned\"),this.dragTarget.classList.remove(\"right-aligned\")}},{key:\"_setupFixed\",value:function(){this._isCurrentlyFixed()&&this.open()}},{key:\"_isCurrentlyFixed\",value:function(){return this.isFixed&&992<window.innerWidth}},{key:\"_createDragTarget\",value:function(){var t=document.createElement(\"div\");t.classList.add(\"drag-target\"),document.body.appendChild(t),this.dragTarget=t}},{key:\"_preventBodyScrolling\",value:function(){document.body.style.overflow=\"hidden\"}},{key:\"_enableBodyScrolling\",value:function(){document.body.style.overflow=\"\"}},{key:\"open\",value:function(){!0!==this.isOpen&&(this.isOpen=!0,\"function\"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._isCurrentlyFixed()?(o.remove(this.el),o({targets:this.el,translateX:0,duration:0,easing:\"easeOutQuad\"}),this._enableBodyScrolling(),this._overlay.style.display=\"none\"):(this.options.preventScrolling&&this._preventBodyScrolling(),this.isDragged&&1==this.percentOpen||this._animateIn()))}},{key:\"close\",value:function(){if(!1!==this.isOpen)if(this.isOpen=!1,\"function\"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._isCurrentlyFixed()){var t=\"left\"===this.options.edge?\"-105%\":\"105%\";this.el.style.transform=\"translateX(\"+t+\")\"}else this._enableBodyScrolling(),this.isDragged&&0==this.percentOpen?this._overlay.style.display=\"none\":this._animateOut()}},{key:\"_animateIn\",value:function(){this._animateSidenavIn(),this._animateOverlayIn()}},{key:\"_animateSidenavIn\",value:function(){var t=this,e=\"left\"===this.options.edge?-1:1;this.isDragged&&(e=\"left\"===this.options.edge?e+this.percentOpen:e-this.percentOpen),o.remove(this.el),o({targets:this.el,translateX:[100*e+\"%\",0],duration:this.options.inDuration,easing:\"easeOutQuad\",complete:function(){\"function\"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el)}})}},{key:\"_animateOverlayIn\",value:function(){var t=0;this.isDragged?t=this.percentOpen:s(this._overlay).css({display:\"block\"}),o.remove(this._overlay),o({targets:this._overlay,opacity:[t,1],duration:this.options.inDuration,easing:\"easeOutQuad\"})}},{key:\"_animateOut\",value:function(){this._animateSidenavOut(),this._animateOverlayOut()}},{key:\"_animateSidenavOut\",value:function(){var t=this,e=\"left\"===this.options.edge?-1:1,i=0;this.isDragged&&(i=\"left\"===this.options.edge?e+this.percentOpen:e-this.percentOpen),o.remove(this.el),o({targets:this.el,translateX:[100*i+\"%\",105*e+\"%\"],duration:this.options.outDuration,easing:\"easeOutQuad\",complete:function(){\"function\"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}})}},{key:\"_animateOverlayOut\",value:function(){var t=this;o.remove(this._overlay),o({targets:this._overlay,opacity:0,duration:this.options.outDuration,easing:\"easeOutQuad\",complete:function(){s(t._overlay).css(\"display\",\"none\")}})}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Sidenav}},{key:\"defaults\",get:function(){return e}}]),n}();t._sidenavs=[],M.Sidenav=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"sidenav\",\"M_Sidenav\")}(cash,M.anime),function(o,a){\"use strict\";var e={throttle:100,scrollOffset:200,activeClass:\"active\",getActiveElement:function(t){return'a[href=\"#'+t+'\"]'}},t=function(t){function c(t,e){_classCallCheck(this,c);var i=_possibleConstructorReturn(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,c,t,e));return(i.el.M_ScrollSpy=i).options=o.extend({},c.defaults,e),c._elements.push(i),c._count++,c._increment++,i.tickId=-1,i.id=c._increment,i._setupEventHandlers(),i._handleWindowScroll(),i}return _inherits(c,Component),_createClass(c,[{key:\"destroy\",value:function(){c._elements.splice(c._elements.indexOf(this),1),c._elementsInView.splice(c._elementsInView.indexOf(this),1),c._visibleElements.splice(c._visibleElements.indexOf(this.$el),1),c._count--,this._removeEventHandlers(),o(this.options.getActiveElement(this.$el.attr(\"id\"))).removeClass(this.options.activeClass),this.el.M_ScrollSpy=void 0}},{key:\"_setupEventHandlers\",value:function(){var t=M.throttle(this._handleWindowScroll,200);this._handleThrottledResizeBound=t.bind(this),this._handleWindowScrollBound=this._handleWindowScroll.bind(this),1===c._count&&(window.addEventListener(\"scroll\",this._handleWindowScrollBound),window.addEventListener(\"resize\",this._handleThrottledResizeBound),document.body.addEventListener(\"click\",this._handleTriggerClick))}},{key:\"_removeEventHandlers\",value:function(){0===c._count&&(window.removeEventListener(\"scroll\",this._handleWindowScrollBound),window.removeEventListener(\"resize\",this._handleThrottledResizeBound),document.body.removeEventListener(\"click\",this._handleTriggerClick))}},{key:\"_handleTriggerClick\",value:function(t){for(var e=o(t.target),i=c._elements.length-1;0<=i;i--){var n=c._elements[i];if(e.is('a[href=\"#'+n.$el.attr(\"id\")+'\"]')){t.preventDefault();var s=n.$el.offset().top+1;a({targets:[document.documentElement,document.body],scrollTop:s-n.options.scrollOffset,duration:400,easing:\"easeOutCubic\"});break}}}},{key:\"_handleWindowScroll\",value:function(){c._ticks++;for(var t=M.getDocumentScrollTop(),e=M.getDocumentScrollLeft(),i=e+window.innerWidth,n=t+window.innerHeight,s=c._findElements(t,i,n,e),o=0;o<s.length;o++){var a=s[o];a.tickId<0&&a._enter(),a.tickId=c._ticks}for(var r=0;r<c._elementsInView.length;r++){var l=c._elementsInView[r],h=l.tickId;0<=h&&h!==c._ticks&&(l._exit(),l.tickId=-1)}c._elementsInView=s}},{key:\"_enter\",value:function(){(c._visibleElements=c._visibleElements.filter(function(t){return 0!=t.height()}))[0]?(o(this.options.getActiveElement(c._visibleElements[0].attr(\"id\"))).removeClass(this.options.activeClass),c._visibleElements[0][0].M_ScrollSpy&&this.id<c._visibleElements[0][0].M_ScrollSpy.id?c._visibleElements.unshift(this.$el):c._visibleElements.push(this.$el)):c._visibleElements.push(this.$el),o(this.options.getActiveElement(c._visibleElements[0].attr(\"id\"))).addClass(this.options.activeClass)}},{key:\"_exit\",value:function(){var e=this;(c._visibleElements=c._visibleElements.filter(function(t){return 0!=t.height()}))[0]&&(o(this.options.getActiveElement(c._visibleElements[0].attr(\"id\"))).removeClass(this.options.activeClass),(c._visibleElements=c._visibleElements.filter(function(t){return t.attr(\"id\")!=e.$el.attr(\"id\")}))[0]&&o(this.options.getActiveElement(c._visibleElements[0].attr(\"id\"))).addClass(this.options.activeClass))}}],[{key:\"init\",value:function(t,e){return _get(c.__proto__||Object.getPrototypeOf(c),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_ScrollSpy}},{key:\"_findElements\",value:function(t,e,i,n){for(var s=[],o=0;o<c._elements.length;o++){var a=c._elements[o],r=t+a.options.scrollOffset||200;if(0<a.$el.height()){var l=a.$el.offset().top,h=a.$el.offset().left,d=h+a.$el.width(),u=l+a.$el.height();!(e<h||d<n||i<l||u<r)&&s.push(a)}}return s}},{key:\"defaults\",get:function(){return e}}]),c}();t._elements=[],t._elementsInView=[],t._visibleElements=[],t._count=0,t._increment=0,t._ticks=0,M.ScrollSpy=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"scrollSpy\",\"M_ScrollSpy\")}(cash,M.anime),function(h){\"use strict\";var e={data:{},limit:1/0,onAutocomplete:null,minLength:1,sortFunction:function(t,e,i){return t.indexOf(i)-e.indexOf(i)}},t=function(t){function s(t,e){_classCallCheck(this,s);var i=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,t,e));return(i.el.M_Autocomplete=i).options=h.extend({},s.defaults,e),i.isOpen=!1,i.count=0,i.activeIndex=-1,i.oldVal,i.$inputField=i.$el.closest(\".input-field\"),i.$active=h(),i._mousedown=!1,i._setupDropdown(),i._setupEventHandlers(),i}return _inherits(s,Component),_createClass(s,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this._removeDropdown(),this.el.M_Autocomplete=void 0}},{key:\"_setupEventHandlers\",value:function(){this._handleInputBlurBound=this._handleInputBlur.bind(this),this._handleInputKeyupAndFocusBound=this._handleInputKeyupAndFocus.bind(this),this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleContainerMousedownAndTouchstartBound=this._handleContainerMousedownAndTouchstart.bind(this),this._handleContainerMouseupAndTouchendBound=this._handleContainerMouseupAndTouchend.bind(this),this.el.addEventListener(\"blur\",this._handleInputBlurBound),this.el.addEventListener(\"keyup\",this._handleInputKeyupAndFocusBound),this.el.addEventListener(\"focus\",this._handleInputKeyupAndFocusBound),this.el.addEventListener(\"keydown\",this._handleInputKeydownBound),this.el.addEventListener(\"click\",this._handleInputClickBound),this.container.addEventListener(\"mousedown\",this._handleContainerMousedownAndTouchstartBound),this.container.addEventListener(\"mouseup\",this._handleContainerMouseupAndTouchendBound),void 0!==window.ontouchstart&&(this.container.addEventListener(\"touchstart\",this._handleContainerMousedownAndTouchstartBound),this.container.addEventListener(\"touchend\",this._handleContainerMouseupAndTouchendBound))}},{key:\"_removeEventHandlers\",value:function(){this.el.removeEventListener(\"blur\",this._handleInputBlurBound),this.el.removeEventListener(\"keyup\",this._handleInputKeyupAndFocusBound),this.el.removeEventListener(\"focus\",this._handleInputKeyupAndFocusBound),this.el.removeEventListener(\"keydown\",this._handleInputKeydownBound),this.el.removeEventListener(\"click\",this._handleInputClickBound),this.container.removeEventListener(\"mousedown\",this._handleContainerMousedownAndTouchstartBound),this.container.removeEventListener(\"mouseup\",this._handleContainerMouseupAndTouchendBound),void 0!==window.ontouchstart&&(this.container.removeEventListener(\"touchstart\",this._handleContainerMousedownAndTouchstartBound),this.container.removeEventListener(\"touchend\",this._handleContainerMouseupAndTouchendBound))}},{key:\"_setupDropdown\",value:function(){var e=this;this.container=document.createElement(\"ul\"),this.container.id=\"autocomplete-options-\"+M.guid(),h(this.container).addClass(\"autocomplete-content dropdown-content\"),this.$inputField.append(this.container),this.el.setAttribute(\"data-target\",this.container.id),this.dropdown=M.Dropdown.init(this.el,{autoFocus:!1,closeOnClick:!1,coverTrigger:!1,onItemClick:function(t){e.selectOption(h(t))}}),this.el.removeEventListener(\"click\",this.dropdown._handleClickBound)}},{key:\"_removeDropdown\",value:function(){this.container.parentNode.removeChild(this.container)}},{key:\"_handleInputBlur\",value:function(){this._mousedown||(this.close(),this._resetAutocomplete())}},{key:\"_handleInputKeyupAndFocus\",value:function(t){\"keyup\"===t.type&&(s._keydown=!1),this.count=0;var e=this.el.value.toLowerCase();13!==t.keyCode&&38!==t.keyCode&&40!==t.keyCode&&(this.oldVal===e||!M.tabPressed&&\"focus\"===t.type||this.open(),this.oldVal=e)}},{key:\"_handleInputKeydown\",value:function(t){s._keydown=!0;var e=t.keyCode,i=void 0,n=h(this.container).children(\"li\").length;e===M.keys.ENTER&&0<=this.activeIndex?(i=h(this.container).children(\"li\").eq(this.activeIndex)).length&&(this.selectOption(i),t.preventDefault()):e!==M.keys.ARROW_UP&&e!==M.keys.ARROW_DOWN||(t.preventDefault(),e===M.keys.ARROW_UP&&0<this.activeIndex&&this.activeIndex--,e===M.keys.ARROW_DOWN&&this.activeIndex<n-1&&this.activeIndex++,this.$active.removeClass(\"active\"),0<=this.activeIndex&&(this.$active=h(this.container).children(\"li\").eq(this.activeIndex),this.$active.addClass(\"active\")))}},{key:\"_handleInputClick\",value:function(t){this.open()}},{key:\"_handleContainerMousedownAndTouchstart\",value:function(t){this._mousedown=!0}},{key:\"_handleContainerMouseupAndTouchend\",value:function(t){this._mousedown=!1}},{key:\"_highlight\",value:function(t,e){var i=e.find(\"img\"),n=e.text().toLowerCase().indexOf(\"\"+t.toLowerCase()),s=n+t.length-1,o=e.text().slice(0,n),a=e.text().slice(n,s+1),r=e.text().slice(s+1);e.html(\"<span>\"+o+\"<span class='highlight'>\"+a+\"</span>\"+r+\"</span>\"),i.length&&e.prepend(i)}},{key:\"_resetCurrentElement\",value:function(){this.activeIndex=-1,this.$active.removeClass(\"active\")}},{key:\"_resetAutocomplete\",value:function(){h(this.container).empty(),this._resetCurrentElement(),this.oldVal=null,this.isOpen=!1,this._mousedown=!1}},{key:\"selectOption\",value:function(t){var e=t.text().trim();this.el.value=e,this.$el.trigger(\"change\"),this._resetAutocomplete(),this.close(),\"function\"==typeof this.options.onAutocomplete&&this.options.onAutocomplete.call(this,e)}},{key:\"_renderDropdown\",value:function(t,i){var n=this;this._resetAutocomplete();var e=[];for(var s in t)if(t.hasOwnProperty(s)&&-1!==s.toLowerCase().indexOf(i)){if(this.count>=this.options.limit)break;var o={data:t[s],key:s};e.push(o),this.count++}if(this.options.sortFunction){e.sort(function(t,e){return n.options.sortFunction(t.key.toLowerCase(),e.key.toLowerCase(),i.toLowerCase())})}for(var a=0;a<e.length;a++){var r=e[a],l=h(\"<li></li>\");r.data?l.append('<img src=\"'+r.data+'\" class=\"right circle\"><span>'+r.key+\"</span>\"):l.append(\"<span>\"+r.key+\"</span>\"),h(this.container).append(l),this._highlight(i,l)}}},{key:\"open\",value:function(){var t=this.el.value.toLowerCase();this._resetAutocomplete(),t.length>=this.options.minLength&&(this.isOpen=!0,this._renderDropdown(this.options.data,t)),this.dropdown.isOpen?this.dropdown.recalculateDimensions():this.dropdown.open()}},{key:\"close\",value:function(){this.dropdown.close()}},{key:\"updateData\",value:function(t){var e=this.el.value.toLowerCase();this.options.data=t,this.isOpen&&this._renderDropdown(t,e)}}],[{key:\"init\",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Autocomplete}},{key:\"defaults\",get:function(){return e}}]),s}();t._keydown=!1,M.Autocomplete=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"autocomplete\",\"M_Autocomplete\")}(cash),function(d){M.updateTextFields=function(){d(\"input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea\").each(function(t,e){var i=d(this);0<t.value.length||d(t).is(\":focus\")||t.autofocus||null!==i.attr(\"placeholder\")?i.siblings(\"label\").addClass(\"active\"):t.validity?i.siblings(\"label\").toggleClass(\"active\",!0===t.validity.badInput):i.siblings(\"label\").removeClass(\"active\")})},M.validate_field=function(t){var e=null!==t.attr(\"data-length\"),i=parseInt(t.attr(\"data-length\")),n=t[0].value.length;0!==n||!1!==t[0].validity.badInput||t.is(\":required\")?t.hasClass(\"validate\")&&(t.is(\":valid\")&&e&&n<=i||t.is(\":valid\")&&!e?(t.removeClass(\"invalid\"),t.addClass(\"valid\")):(t.removeClass(\"valid\"),t.addClass(\"invalid\"))):t.hasClass(\"validate\")&&(t.removeClass(\"valid\"),t.removeClass(\"invalid\"))},M.textareaAutoResize=function(t){if(t instanceof Element&&(t=d(t)),t.length){var e=d(\".hiddendiv\").first();e.length||(e=d('<div class=\"hiddendiv common\"></div>'),d(\"body\").append(e));var i=t.css(\"font-family\"),n=t.css(\"font-size\"),s=t.css(\"line-height\"),o=t.css(\"padding-top\"),a=t.css(\"padding-right\"),r=t.css(\"padding-bottom\"),l=t.css(\"padding-left\");n&&e.css(\"font-size\",n),i&&e.css(\"font-family\",i),s&&e.css(\"line-height\",s),o&&e.css(\"padding-top\",o),a&&e.css(\"padding-right\",a),r&&e.css(\"padding-bottom\",r),l&&e.css(\"padding-left\",l),t.data(\"original-height\")||t.data(\"original-height\",t.height()),\"off\"===t.attr(\"wrap\")&&e.css(\"overflow-wrap\",\"normal\").css(\"white-space\",\"pre\"),e.text(t[0].value+\"\\n\");var h=e.html().replace(/\\n/g,\"<br>\");e.html(h),0<t[0].offsetWidth&&0<t[0].offsetHeight?e.css(\"width\",t.width()+\"px\"):e.css(\"width\",window.innerWidth/2+\"px\"),t.data(\"original-height\")<=e.innerHeight()?t.css(\"height\",e.innerHeight()+\"px\"):t[0].value.length<t.data(\"previous-length\")&&t.css(\"height\",t.data(\"original-height\")+\"px\"),t.data(\"previous-length\",t[0].value.length)}else console.error(\"No textarea element found\")},d(document).ready(function(){var n=\"input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea\";d(document).on(\"change\",n,function(){0===this.value.length&&null===d(this).attr(\"placeholder\")||d(this).siblings(\"label\").addClass(\"active\"),M.validate_field(d(this))}),d(document).ready(function(){M.updateTextFields()}),d(document).on(\"reset\",function(t){var e=d(t.target);e.is(\"form\")&&(e.find(n).removeClass(\"valid\").removeClass(\"invalid\"),e.find(n).each(function(t){this.value.length&&d(this).siblings(\"label\").removeClass(\"active\")}),setTimeout(function(){e.find(\"select\").each(function(){this.M_FormSelect&&d(this).trigger(\"change\")})},0))}),document.addEventListener(\"focus\",function(t){d(t.target).is(n)&&d(t.target).siblings(\"label, .prefix\").addClass(\"active\")},!0),document.addEventListener(\"blur\",function(t){var e=d(t.target);if(e.is(n)){var i=\".prefix\";0===e[0].value.length&&!0!==e[0].validity.badInput&&null===e.attr(\"placeholder\")&&(i+=\", label\"),e.siblings(i).removeClass(\"active\"),M.validate_field(e)}},!0);d(document).on(\"keyup\",\"input[type=radio], input[type=checkbox]\",function(t){if(t.which===M.keys.TAB)return d(this).addClass(\"tabbed\"),void d(this).one(\"blur\",function(t){d(this).removeClass(\"tabbed\")})});var t=\".materialize-textarea\";d(t).each(function(){var t=d(this);t.data(\"original-height\",t.height()),t.data(\"previous-length\",this.value.length),M.textareaAutoResize(t)}),d(document).on(\"keyup\",t,function(){M.textareaAutoResize(d(this))}),d(document).on(\"keydown\",t,function(){M.textareaAutoResize(d(this))}),d(document).on(\"change\",'.file-field input[type=\"file\"]',function(){for(var t=d(this).closest(\".file-field\").find(\"input.file-path\"),e=d(this)[0].files,i=[],n=0;n<e.length;n++)i.push(e[n].name);t[0].value=i.join(\", \"),t.trigger(\"change\")})})}(cash),function(s,o){\"use strict\";var e={indicators:!0,height:400,duration:500,interval:6e3},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Slider=i).options=s.extend({},n.defaults,e),i.$slider=i.$el.find(\".slides\"),i.$slides=i.$slider.children(\"li\"),i.activeIndex=i.$slides.filter(function(t){return s(t).hasClass(\"active\")}).first().index(),-1!=i.activeIndex&&(i.$active=i.$slides.eq(i.activeIndex)),i._setSliderHeight(),i.$slides.find(\".caption\").each(function(t){i._animateCaptionIn(t,0)}),i.$slides.find(\"img\").each(function(t){var e=\"data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\";s(t).attr(\"src\")!==e&&(s(t).css(\"background-image\",'url(\"'+s(t).attr(\"src\")+'\")'),s(t).attr(\"src\",e))}),i._setupIndicators(),i.$active?i.$active.css(\"display\",\"block\"):(i.$slides.first().addClass(\"active\"),o({targets:i.$slides.first()[0],opacity:1,duration:i.options.duration,easing:\"easeOutQuad\"}),i.activeIndex=0,i.$active=i.$slides.eq(i.activeIndex),i.options.indicators&&i.$indicators.eq(i.activeIndex).addClass(\"active\")),i.$active.find(\"img\").each(function(t){o({targets:i.$active.find(\".caption\")[0],opacity:1,translateX:0,translateY:0,duration:i.options.duration,easing:\"easeOutQuad\"})}),i._setupEventHandlers(),i.start(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this.pause(),this._removeIndicators(),this._removeEventHandlers(),this.el.M_Slider=void 0}},{key:\"_setupEventHandlers\",value:function(){var e=this;this._handleIntervalBound=this._handleInterval.bind(this),this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.options.indicators&&this.$indicators.each(function(t){t.addEventListener(\"click\",e._handleIndicatorClickBound)})}},{key:\"_removeEventHandlers\",value:function(){var e=this;this.options.indicators&&this.$indicators.each(function(t){t.removeEventListener(\"click\",e._handleIndicatorClickBound)})}},{key:\"_handleIndicatorClick\",value:function(t){var e=s(t.target).index();this.set(e)}},{key:\"_handleInterval\",value:function(){var t=this.$slider.find(\".active\").index();this.$slides.length===t+1?t=0:t+=1,this.set(t)}},{key:\"_animateCaptionIn\",value:function(t,e){var i={targets:t,opacity:0,duration:e,easing:\"easeOutQuad\"};s(t).hasClass(\"center-align\")?i.translateY=-100:s(t).hasClass(\"right-align\")?i.translateX=100:s(t).hasClass(\"left-align\")&&(i.translateX=-100),o(i)}},{key:\"_setSliderHeight\",value:function(){this.$el.hasClass(\"fullscreen\")||(this.options.indicators?this.$el.css(\"height\",this.options.height+40+\"px\"):this.$el.css(\"height\",this.options.height+\"px\"),this.$slider.css(\"height\",this.options.height+\"px\"))}},{key:\"_setupIndicators\",value:function(){var n=this;this.options.indicators&&(this.$indicators=s('<ul class=\"indicators\"></ul>'),this.$slides.each(function(t,e){var i=s('<li class=\"indicator-item\"></li>');n.$indicators.append(i[0])}),this.$el.append(this.$indicators[0]),this.$indicators=this.$indicators.children(\"li.indicator-item\"))}},{key:\"_removeIndicators\",value:function(){this.$el.find(\"ul.indicators\").remove()}},{key:\"set\",value:function(t){var e=this;if(t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.activeIndex!=t){this.$active=this.$slides.eq(this.activeIndex);var i=this.$active.find(\".caption\");this.$active.removeClass(\"active\"),o({targets:this.$active[0],opacity:0,duration:this.options.duration,easing:\"easeOutQuad\",complete:function(){e.$slides.not(\".active\").each(function(t){o({targets:t,opacity:0,translateX:0,translateY:0,duration:0,easing:\"easeOutQuad\"})})}}),this._animateCaptionIn(i[0],this.options.duration),this.options.indicators&&(this.$indicators.eq(this.activeIndex).removeClass(\"active\"),this.$indicators.eq(t).addClass(\"active\")),o({targets:this.$slides.eq(t)[0],opacity:1,duration:this.options.duration,easing:\"easeOutQuad\"}),o({targets:this.$slides.eq(t).find(\".caption\")[0],opacity:1,translateX:0,translateY:0,duration:this.options.duration,delay:this.options.duration,easing:\"easeOutQuad\"}),this.$slides.eq(t).addClass(\"active\"),this.activeIndex=t,this.start()}}},{key:\"pause\",value:function(){clearInterval(this.interval)}},{key:\"start\",value:function(){clearInterval(this.interval),this.interval=setInterval(this._handleIntervalBound,this.options.duration+this.options.interval)}},{key:\"next\",value:function(){var t=this.activeIndex+1;t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.set(t)}},{key:\"prev\",value:function(){var t=this.activeIndex-1;t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.set(t)}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Slider}},{key:\"defaults\",get:function(){return e}}]),n}();M.Slider=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"slider\",\"M_Slider\")}(cash,M.anime),function(n,s){n(document).on(\"click\",\".card\",function(t){if(n(this).children(\".card-reveal\").length){var i=n(t.target).closest(\".card\");void 0===i.data(\"initialOverflow\")&&i.data(\"initialOverflow\",void 0===i.css(\"overflow\")?\"\":i.css(\"overflow\"));var e=n(this).find(\".card-reveal\");n(t.target).is(n(\".card-reveal .card-title\"))||n(t.target).is(n(\".card-reveal .card-title i\"))?s({targets:e[0],translateY:0,duration:225,easing:\"easeInOutQuad\",complete:function(t){var e=t.animatables[0].target;n(e).css({display:\"none\"}),i.css(\"overflow\",i.data(\"initialOverflow\"))}}):(n(t.target).is(n(\".card .activator\"))||n(t.target).is(n(\".card .activator i\")))&&(i.css(\"overflow\",\"hidden\"),e.css({display:\"block\"}),s({targets:e[0],translateY:\"-100%\",duration:300,easing:\"easeInOutQuad\"}))}})}(cash,M.anime),function(h){\"use strict\";var e={data:[],placeholder:\"\",secondaryPlaceholder:\"\",autocompleteOptions:{},limit:1/0,onChipAdd:null,onChipSelect:null,onChipDelete:null},t=function(t){function l(t,e){_classCallCheck(this,l);var i=_possibleConstructorReturn(this,(l.__proto__||Object.getPrototypeOf(l)).call(this,l,t,e));return(i.el.M_Chips=i).options=h.extend({},l.defaults,e),i.$el.addClass(\"chips input-field\"),i.chipsData=[],i.$chips=h(),i._setupInput(),i.hasAutocomplete=0<Object.keys(i.options.autocompleteOptions).length,i.$input.attr(\"id\")||i.$input.attr(\"id\",M.guid()),i.options.data.length&&(i.chipsData=i.options.data,i._renderChips(i.chipsData)),i.hasAutocomplete&&i._setupAutocomplete(),i._setPlaceholder(),i._setupLabel(),i._setupEventHandlers(),i}return _inherits(l,Component),_createClass(l,[{key:\"getData\",value:function(){return this.chipsData}},{key:\"destroy\",value:function(){this._removeEventHandlers(),this.$chips.remove(),this.el.M_Chips=void 0}},{key:\"_setupEventHandlers\",value:function(){this._handleChipClickBound=this._handleChipClick.bind(this),this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputFocusBound=this._handleInputFocus.bind(this),this._handleInputBlurBound=this._handleInputBlur.bind(this),this.el.addEventListener(\"click\",this._handleChipClickBound),document.addEventListener(\"keydown\",l._handleChipsKeydown),document.addEventListener(\"keyup\",l._handleChipsKeyup),this.el.addEventListener(\"blur\",l._handleChipsBlur,!0),this.$input[0].addEventListener(\"focus\",this._handleInputFocusBound),this.$input[0].addEventListener(\"blur\",this._handleInputBlurBound),this.$input[0].addEventListener(\"keydown\",this._handleInputKeydownBound)}},{key:\"_removeEventHandlers\",value:function(){this.el.removeEventListener(\"click\",this._handleChipClickBound),document.removeEventListener(\"keydown\",l._handleChipsKeydown),document.removeEventListener(\"keyup\",l._handleChipsKeyup),this.el.removeEventListener(\"blur\",l._handleChipsBlur,!0),this.$input[0].removeEventListener(\"focus\",this._handleInputFocusBound),this.$input[0].removeEventListener(\"blur\",this._handleInputBlurBound),this.$input[0].removeEventListener(\"keydown\",this._handleInputKeydownBound)}},{key:\"_handleChipClick\",value:function(t){var e=h(t.target).closest(\".chip\"),i=h(t.target).is(\".close\");if(e.length){var n=e.index();i?(this.deleteChip(n),this.$input[0].focus()):this.selectChip(n)}else this.$input[0].focus()}},{key:\"_handleInputFocus\",value:function(){this.$el.addClass(\"focus\")}},{key:\"_handleInputBlur\",value:function(){this.$el.removeClass(\"focus\")}},{key:\"_handleInputKeydown\",value:function(t){if(l._keydown=!0,13===t.keyCode){if(this.hasAutocomplete&&this.autocomplete&&this.autocomplete.isOpen)return;t.preventDefault(),this.addChip({tag:this.$input[0].value}),this.$input[0].value=\"\"}else 8!==t.keyCode&&37!==t.keyCode||\"\"!==this.$input[0].value||!this.chipsData.length||(t.preventDefault(),this.selectChip(this.chipsData.length-1))}},{key:\"_renderChip\",value:function(t){if(t.tag){var e=document.createElement(\"div\"),i=document.createElement(\"i\");if(e.classList.add(\"chip\"),e.textContent=t.tag,e.setAttribute(\"tabindex\",0),h(i).addClass(\"material-icons close\"),i.textContent=\"close\",t.image){var n=document.createElement(\"img\");n.setAttribute(\"src\",t.image),e.insertBefore(n,e.firstChild)}return e.appendChild(i),e}}},{key:\"_renderChips\",value:function(){this.$chips.remove();for(var t=0;t<this.chipsData.length;t++){var e=this._renderChip(this.chipsData[t]);this.$el.append(e),this.$chips.add(e)}this.$el.append(this.$input[0])}},{key:\"_setupAutocomplete\",value:function(){var e=this;this.options.autocompleteOptions.onAutocomplete=function(t){e.addChip({tag:t}),e.$input[0].value=\"\",e.$input[0].focus()},this.autocomplete=M.Autocomplete.init(this.$input[0],this.options.autocompleteOptions)}},{key:\"_setupInput\",value:function(){this.$input=this.$el.find(\"input\"),this.$input.length||(this.$input=h(\"<input></input>\"),this.$el.append(this.$input)),this.$input.addClass(\"input\")}},{key:\"_setupLabel\",value:function(){this.$label=this.$el.find(\"label\"),this.$label.length&&this.$label.setAttribute(\"for\",this.$input.attr(\"id\"))}},{key:\"_setPlaceholder\",value:function(){void 0!==this.chipsData&&!this.chipsData.length&&this.options.placeholder?h(this.$input).prop(\"placeholder\",this.options.placeholder):(void 0===this.chipsData||this.chipsData.length)&&this.options.secondaryPlaceholder&&h(this.$input).prop(\"placeholder\",this.options.secondaryPlaceholder)}},{key:\"_isValid\",value:function(t){if(t.hasOwnProperty(\"tag\")&&\"\"!==t.tag){for(var e=!1,i=0;i<this.chipsData.length;i++)if(this.chipsData[i].tag===t.tag){e=!0;break}return!e}return!1}},{key:\"addChip\",value:function(t){if(this._isValid(t)&&!(this.chipsData.length>=this.options.limit)){var e=this._renderChip(t);this.$chips.add(e),this.chipsData.push(t),h(this.$input).before(e),this._setPlaceholder(),\"function\"==typeof this.options.onChipAdd&&this.options.onChipAdd.call(this,this.$el,e)}}},{key:\"deleteChip\",value:function(t){var e=this.$chips.eq(t);this.$chips.eq(t).remove(),this.$chips=this.$chips.filter(function(t){return 0<=h(t).index()}),this.chipsData.splice(t,1),this._setPlaceholder(),\"function\"==typeof this.options.onChipDelete&&this.options.onChipDelete.call(this,this.$el,e[0])}},{key:\"selectChip\",value:function(t){var e=this.$chips.eq(t);(this._selectedChip=e)[0].focus(),\"function\"==typeof this.options.onChipSelect&&this.options.onChipSelect.call(this,this.$el,e[0])}}],[{key:\"init\",value:function(t,e){return _get(l.__proto__||Object.getPrototypeOf(l),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Chips}},{key:\"_handleChipsKeydown\",value:function(t){l._keydown=!0;var e=h(t.target).closest(\".chips\"),i=t.target&&e.length;if(!h(t.target).is(\"input, textarea\")&&i){var n=e[0].M_Chips;if(8===t.keyCode||46===t.keyCode){t.preventDefault();var s=n.chipsData.length;if(n._selectedChip){var o=n._selectedChip.index();n.deleteChip(o),n._selectedChip=null,s=Math.max(o-1,0)}n.chipsData.length&&n.selectChip(s)}else if(37===t.keyCode){if(n._selectedChip){var a=n._selectedChip.index()-1;if(a<0)return;n.selectChip(a)}}else if(39===t.keyCode&&n._selectedChip){var r=n._selectedChip.index()+1;r>=n.chipsData.length?n.$input[0].focus():n.selectChip(r)}}}},{key:\"_handleChipsKeyup\",value:function(t){l._keydown=!1}},{key:\"_handleChipsBlur\",value:function(t){l._keydown||(h(t.target).closest(\".chips\")[0].M_Chips._selectedChip=null)}},{key:\"defaults\",get:function(){return e}}]),l}();t._keydown=!1,M.Chips=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"chips\",\"M_Chips\"),h(document).ready(function(){h(document.body).on(\"click\",\".chip .close\",function(){var t=h(this).closest(\".chips\");t.length&&t[0].M_Chips||h(this).closest(\".chip\").remove()})})}(cash),function(s){\"use strict\";var e={top:0,bottom:1/0,offset:0,onPositionChange:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Pushpin=i).options=s.extend({},n.defaults,e),i.originalOffset=i.el.offsetTop,n._pushpins.push(i),i._setupEventHandlers(),i._updatePosition(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this.el.style.top=null,this._removePinClasses(),this._removeEventHandlers();var t=n._pushpins.indexOf(this);n._pushpins.splice(t,1)}},{key:\"_setupEventHandlers\",value:function(){document.addEventListener(\"scroll\",n._updateElements)}},{key:\"_removeEventHandlers\",value:function(){document.removeEventListener(\"scroll\",n._updateElements)}},{key:\"_updatePosition\",value:function(){var t=M.getDocumentScrollTop()+this.options.offset;this.options.top<=t&&this.options.bottom>=t&&!this.el.classList.contains(\"pinned\")&&(this._removePinClasses(),this.el.style.top=this.options.offset+\"px\",this.el.classList.add(\"pinned\"),\"function\"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,\"pinned\")),t<this.options.top&&!this.el.classList.contains(\"pin-top\")&&(this._removePinClasses(),this.el.style.top=0,this.el.classList.add(\"pin-top\"),\"function\"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,\"pin-top\")),t>this.options.bottom&&!this.el.classList.contains(\"pin-bottom\")&&(this._removePinClasses(),this.el.classList.add(\"pin-bottom\"),this.el.style.top=this.options.bottom-this.originalOffset+\"px\",\"function\"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,\"pin-bottom\"))}},{key:\"_removePinClasses\",value:function(){this.el.classList.remove(\"pin-top\"),this.el.classList.remove(\"pinned\"),this.el.classList.remove(\"pin-bottom\")}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Pushpin}},{key:\"_updateElements\",value:function(){for(var t in n._pushpins){n._pushpins[t]._updatePosition()}}},{key:\"defaults\",get:function(){return e}}]),n}();t._pushpins=[],M.Pushpin=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"pushpin\",\"M_Pushpin\")}(cash),function(r,s){\"use strict\";var e={direction:\"top\",hoverEnabled:!0,toolbarEnabled:!1};r.fn.reverse=[].reverse;var t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_FloatingActionButton=i).options=r.extend({},n.defaults,e),i.isOpen=!1,i.$anchor=i.$el.children(\"a\").first(),i.$menu=i.$el.children(\"ul\").first(),i.$floatingBtns=i.$el.find(\"ul .btn-floating\"),i.$floatingBtnsReverse=i.$el.find(\"ul .btn-floating\").reverse(),i.offsetY=0,i.offsetX=0,i.$el.addClass(\"direction-\"+i.options.direction),\"top\"===i.options.direction?i.offsetY=40:\"right\"===i.options.direction?i.offsetX=-40:\"bottom\"===i.options.direction?i.offsetY=-40:i.offsetX=40,i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this.el.M_FloatingActionButton=void 0}},{key:\"_setupEventHandlers\",value:function(){this._handleFABClickBound=this._handleFABClick.bind(this),this._handleOpenBound=this.open.bind(this),this._handleCloseBound=this.close.bind(this),this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.addEventListener(\"mouseenter\",this._handleOpenBound),this.el.addEventListener(\"mouseleave\",this._handleCloseBound)):this.el.addEventListener(\"click\",this._handleFABClickBound)}},{key:\"_removeEventHandlers\",value:function(){this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.removeEventListener(\"mouseenter\",this._handleOpenBound),this.el.removeEventListener(\"mouseleave\",this._handleCloseBound)):this.el.removeEventListener(\"click\",this._handleFABClickBound)}},{key:\"_handleFABClick\",value:function(){this.isOpen?this.close():this.open()}},{key:\"_handleDocumentClick\",value:function(t){r(t.target).closest(this.$menu).length||this.close()}},{key:\"open\",value:function(){this.isOpen||(this.options.toolbarEnabled?this._animateInToolbar():this._animateInFAB(),this.isOpen=!0)}},{key:\"close\",value:function(){this.isOpen&&(this.options.toolbarEnabled?(window.removeEventListener(\"scroll\",this._handleCloseBound,!0),document.body.removeEventListener(\"click\",this._handleDocumentClickBound,!0),this._animateOutToolbar()):this._animateOutFAB(),this.isOpen=!1)}},{key:\"_animateInFAB\",value:function(){var e=this;this.$el.addClass(\"active\");var i=0;this.$floatingBtnsReverse.each(function(t){s({targets:t,opacity:1,scale:[.4,1],translateY:[e.offsetY,0],translateX:[e.offsetX,0],duration:275,delay:i,easing:\"easeInOutQuad\"}),i+=40})}},{key:\"_animateOutFAB\",value:function(){var e=this;this.$floatingBtnsReverse.each(function(t){s.remove(t),s({targets:t,opacity:0,scale:.4,translateY:e.offsetY,translateX:e.offsetX,duration:175,easing:\"easeOutQuad\",complete:function(){e.$el.removeClass(\"active\")}})})}},{key:\"_animateInToolbar\",value:function(){var t,e=this,i=window.innerWidth,n=window.innerHeight,s=this.el.getBoundingClientRect(),o=r('<div class=\"fab-backdrop\"></div>'),a=this.$anchor.css(\"background-color\");this.$anchor.append(o),this.offsetX=s.left-i/2+s.width/2,this.offsetY=n-s.bottom,t=i/o[0].clientWidth,this.btnBottom=s.bottom,this.btnLeft=s.left,this.btnWidth=s.width,this.$el.addClass(\"active\"),this.$el.css({\"text-align\":\"center\",width:\"100%\",bottom:0,left:0,transform:\"translateX(\"+this.offsetX+\"px)\",transition:\"none\"}),this.$anchor.css({transform:\"translateY(\"+-this.offsetY+\"px)\",transition:\"none\"}),o.css({\"background-color\":a}),setTimeout(function(){e.$el.css({transform:\"\",transition:\"transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s\"}),e.$anchor.css({overflow:\"visible\",transform:\"\",transition:\"transform .2s\"}),setTimeout(function(){e.$el.css({overflow:\"hidden\",\"background-color\":a}),o.css({transform:\"scale(\"+t+\")\",transition:\"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)\"}),e.$menu.children(\"li\").children(\"a\").css({opacity:1}),e._handleDocumentClickBound=e._handleDocumentClick.bind(e),window.addEventListener(\"scroll\",e._handleCloseBound,!0),document.body.addEventListener(\"click\",e._handleDocumentClickBound,!0)},100)},0)}},{key:\"_animateOutToolbar\",value:function(){var t=this,e=window.innerWidth,i=window.innerHeight,n=this.$el.find(\".fab-backdrop\"),s=this.$anchor.css(\"background-color\");this.offsetX=this.btnLeft-e/2+this.btnWidth/2,this.offsetY=i-this.btnBottom,this.$el.removeClass(\"active\"),this.$el.css({\"background-color\":\"transparent\",transition:\"none\"}),this.$anchor.css({transition:\"none\"}),n.css({transform:\"scale(0)\",\"background-color\":s}),this.$menu.children(\"li\").children(\"a\").css({opacity:\"\"}),setTimeout(function(){n.remove(),t.$el.css({\"text-align\":\"\",width:\"\",bottom:\"\",left:\"\",overflow:\"\",\"background-color\":\"\",transform:\"translate3d(\"+-t.offsetX+\"px,0,0)\"}),t.$anchor.css({overflow:\"\",transform:\"translate3d(0,\"+t.offsetY+\"px,0)\"}),setTimeout(function(){t.$el.css({transform:\"translate3d(0,0,0)\",transition:\"transform .2s\"}),t.$anchor.css({transform:\"translate3d(0,0,0)\",transition:\"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)\"})},20)},200)}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_FloatingActionButton}},{key:\"defaults\",get:function(){return e}}]),n}();M.FloatingActionButton=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"floatingActionButton\",\"M_FloatingActionButton\")}(cash,M.anime),function(g){\"use strict\";var e={autoClose:!1,format:\"mmm dd, yyyy\",parse:null,defaultDate:null,setDefaultDate:!1,disableWeekends:!1,disableDayFn:null,firstDay:0,minDate:null,maxDate:null,yearRange:10,minYear:0,maxYear:9999,minMonth:void 0,maxMonth:void 0,startRange:null,endRange:null,isRTL:!1,showMonthAfterYear:!1,showDaysInNextAndPreviousMonths:!1,container:null,showClearBtn:!1,i18n:{cancel:\"Cancel\",clear:\"Clear\",done:\"Ok\",previousMonth:\"‹\",nextMonth:\"›\",months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthsShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],weekdays:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],weekdaysShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],weekdaysAbbrev:[\"S\",\"M\",\"T\",\"W\",\"T\",\"F\",\"S\"]},events:[],onSelect:null,onOpen:null,onClose:null,onDraw:null},t=function(t){function B(t,e){_classCallCheck(this,B);var i=_possibleConstructorReturn(this,(B.__proto__||Object.getPrototypeOf(B)).call(this,B,t,e));(i.el.M_Datepicker=i).options=g.extend({},B.defaults,e),e&&e.hasOwnProperty(\"i18n\")&&\"object\"==typeof e.i18n&&(i.options.i18n=g.extend({},B.defaults.i18n,e.i18n)),i.options.minDate&&i.options.minDate.setHours(0,0,0,0),i.options.maxDate&&i.options.maxDate.setHours(0,0,0,0),i.id=M.guid(),i._setupVariables(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupEventHandlers(),i.options.defaultDate||(i.options.defaultDate=new Date(Date.parse(i.el.value)));var n=i.options.defaultDate;return B._isDate(n)?i.options.setDefaultDate?(i.setDate(n,!0),i.setInputValue()):i.gotoDate(n):i.gotoDate(new Date),i.isOpen=!1,i}return _inherits(B,Component),_createClass(B,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this.modal.destroy(),g(this.modalEl).remove(),this.destroySelects(),this.el.M_Datepicker=void 0}},{key:\"destroySelects\",value:function(){var t=this.calendarEl.querySelector(\".orig-select-year\");t&&M.FormSelect.getInstance(t).destroy();var e=this.calendarEl.querySelector(\".orig-select-month\");e&&M.FormSelect.getInstance(e).destroy()}},{key:\"_insertHTMLIntoDOM\",value:function(){this.options.showClearBtn&&(g(this.clearBtn).css({visibility:\"\"}),this.clearBtn.innerHTML=this.options.i18n.clear),this.doneBtn.innerHTML=this.options.i18n.done,this.cancelBtn.innerHTML=this.options.i18n.cancel,this.options.container?this.$modalEl.appendTo(this.options.container):this.$modalEl.insertBefore(this.el)}},{key:\"_setupModal\",value:function(){var t=this;this.modalEl.id=\"modal-\"+this.id,this.modal=M.Modal.init(this.modalEl,{onCloseEnd:function(){t.isOpen=!1}})}},{key:\"toString\",value:function(t){var e=this;return t=t||this.options.format,B._isDate(this.date)?t.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g).map(function(t){return e.formats[t]?e.formats[t]():t}).join(\"\"):\"\"}},{key:\"setDate\",value:function(t,e){if(!t)return this.date=null,this._renderDateDisplay(),this.draw();if(\"string\"==typeof t&&(t=new Date(Date.parse(t))),B._isDate(t)){var i=this.options.minDate,n=this.options.maxDate;B._isDate(i)&&t<i?t=i:B._isDate(n)&&n<t&&(t=n),this.date=new Date(t.getTime()),this._renderDateDisplay(),B._setToStartOfDay(this.date),this.gotoDate(this.date),e||\"function\"!=typeof this.options.onSelect||this.options.onSelect.call(this,this.date)}}},{key:\"setInputValue\",value:function(){this.el.value=this.toString(),this.$el.trigger(\"change\",{firedBy:this})}},{key:\"_renderDateDisplay\",value:function(){var t=B._isDate(this.date)?this.date:new Date,e=this.options.i18n,i=e.weekdaysShort[t.getDay()],n=e.monthsShort[t.getMonth()],s=t.getDate();this.yearTextEl.innerHTML=t.getFullYear(),this.dateTextEl.innerHTML=i+\", \"+n+\" \"+s}},{key:\"gotoDate\",value:function(t){var e=!0;if(B._isDate(t)){if(this.calendars){var i=new Date(this.calendars[0].year,this.calendars[0].month,1),n=new Date(this.calendars[this.calendars.length-1].year,this.calendars[this.calendars.length-1].month,1),s=t.getTime();n.setMonth(n.getMonth()+1),n.setDate(n.getDate()-1),e=s<i.getTime()||n.getTime()<s}e&&(this.calendars=[{month:t.getMonth(),year:t.getFullYear()}]),this.adjustCalendars()}}},{key:\"adjustCalendars\",value:function(){this.calendars[0]=this.adjustCalendar(this.calendars[0]),this.draw()}},{key:\"adjustCalendar\",value:function(t){return t.month<0&&(t.year-=Math.ceil(Math.abs(t.month)/12),t.month+=12),11<t.month&&(t.year+=Math.floor(Math.abs(t.month)/12),t.month-=12),t}},{key:\"nextMonth\",value:function(){this.calendars[0].month++,this.adjustCalendars()}},{key:\"prevMonth\",value:function(){this.calendars[0].month--,this.adjustCalendars()}},{key:\"render\",value:function(t,e,i){var n=this.options,s=new Date,o=B._getDaysInMonth(t,e),a=new Date(t,e,1).getDay(),r=[],l=[];B._setToStartOfDay(s),0<n.firstDay&&(a-=n.firstDay)<0&&(a+=7);for(var h=0===e?11:e-1,d=11===e?0:e+1,u=0===e?t-1:t,c=11===e?t+1:t,p=B._getDaysInMonth(u,h),v=o+a,f=v;7<f;)f-=7;v+=7-f;for(var m=!1,g=0,_=0;g<v;g++){var y=new Date(t,e,g-a+1),k=!!B._isDate(this.date)&&B._compareDates(y,this.date),b=B._compareDates(y,s),w=-1!==n.events.indexOf(y.toDateString()),C=g<a||o+a<=g,E=g-a+1,M=e,O=t,x=n.startRange&&B._compareDates(n.startRange,y),L=n.endRange&&B._compareDates(n.endRange,y),T=n.startRange&&n.endRange&&n.startRange<y&&y<n.endRange;C&&(g<a?(E=p+E,M=h,O=u):(E-=o,M=d,O=c));var $={day:E,month:M,year:O,hasEvent:w,isSelected:k,isToday:b,isDisabled:n.minDate&&y<n.minDate||n.maxDate&&y>n.maxDate||n.disableWeekends&&B._isWeekend(y)||n.disableDayFn&&n.disableDayFn(y),isEmpty:C,isStartRange:x,isEndRange:L,isInRange:T,showDaysInNextAndPreviousMonths:n.showDaysInNextAndPreviousMonths};l.push(this.renderDay($)),7==++_&&(r.push(this.renderRow(l,n.isRTL,m)),_=0,m=!(l=[]))}return this.renderTable(n,r,i)}},{key:\"renderDay\",value:function(t){var e=[],i=\"false\";if(t.isEmpty){if(!t.showDaysInNextAndPreviousMonths)return'<td class=\"is-empty\"></td>';e.push(\"is-outside-current-month\"),e.push(\"is-selection-disabled\")}return t.isDisabled&&e.push(\"is-disabled\"),t.isToday&&e.push(\"is-today\"),t.isSelected&&(e.push(\"is-selected\"),i=\"true\"),t.hasEvent&&e.push(\"has-event\"),t.isInRange&&e.push(\"is-inrange\"),t.isStartRange&&e.push(\"is-startrange\"),t.isEndRange&&e.push(\"is-endrange\"),'<td data-day=\"'+t.day+'\" class=\"'+e.join(\" \")+'\" aria-selected=\"'+i+'\"><button class=\"datepicker-day-button\" type=\"button\" data-year=\"'+t.year+'\" data-month=\"'+t.month+'\" data-day=\"'+t.day+'\">'+t.day+\"</button></td>\"}},{key:\"renderRow\",value:function(t,e,i){return'<tr class=\"datepicker-row'+(i?\" is-selected\":\"\")+'\">'+(e?t.reverse():t).join(\"\")+\"</tr>\"}},{key:\"renderTable\",value:function(t,e,i){return'<div class=\"datepicker-table-wrapper\"><table cellpadding=\"0\" cellspacing=\"0\" class=\"datepicker-table\" role=\"grid\" aria-labelledby=\"'+i+'\">'+this.renderHead(t)+this.renderBody(e)+\"</table></div>\"}},{key:\"renderHead\",value:function(t){var e=void 0,i=[];for(e=0;e<7;e++)i.push('<th scope=\"col\"><abbr title=\"'+this.renderDayName(t,e)+'\">'+this.renderDayName(t,e,!0)+\"</abbr></th>\");return\"<thead><tr>\"+(t.isRTL?i.reverse():i).join(\"\")+\"</tr></thead>\"}},{key:\"renderBody\",value:function(t){return\"<tbody>\"+t.join(\"\")+\"</tbody>\"}},{key:\"renderTitle\",value:function(t,e,i,n,s,o){var a,r,l=void 0,h=void 0,d=void 0,u=this.options,c=i===u.minYear,p=i===u.maxYear,v='<div id=\"'+o+'\" class=\"datepicker-controls\" role=\"heading\" aria-live=\"assertive\">',f=!0,m=!0;for(d=[],l=0;l<12;l++)d.push('<option value=\"'+(i===s?l-e:12+l-e)+'\"'+(l===n?' selected=\"selected\"':\"\")+(c&&l<u.minMonth||p&&l>u.maxMonth?'disabled=\"disabled\"':\"\")+\">\"+u.i18n.months[l]+\"</option>\");for(a='<select class=\"datepicker-select orig-select-month\" tabindex=\"-1\">'+d.join(\"\")+\"</select>\",g.isArray(u.yearRange)?(l=u.yearRange[0],h=u.yearRange[1]+1):(l=i-u.yearRange,h=1+i+u.yearRange),d=[];l<h&&l<=u.maxYear;l++)l>=u.minYear&&d.push('<option value=\"'+l+'\" '+(l===i?'selected=\"selected\"':\"\")+\">\"+l+\"</option>\");r='<select class=\"datepicker-select orig-select-year\" tabindex=\"-1\">'+d.join(\"\")+\"</select>\";v+='<button class=\"month-prev'+(f?\"\":\" is-disabled\")+'\" type=\"button\"><svg fill=\"#000000\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z\"/><path d=\"M0-.5h24v24H0z\" fill=\"none\"/></svg></button>',v+='<div class=\"selects-container\">',u.showMonthAfterYear?v+=r+a:v+=a+r,v+=\"</div>\",c&&(0===n||u.minMonth>=n)&&(f=!1),p&&(11===n||u.maxMonth<=n)&&(m=!1);return(v+='<button class=\"month-next'+(m?\"\":\" is-disabled\")+'\" type=\"button\"><svg fill=\"#000000\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z\"/><path d=\"M0-.25h24v24H0z\" fill=\"none\"/></svg></button>')+\"</div>\"}},{key:\"draw\",value:function(t){if(this.isOpen||t){var e,i=this.options,n=i.minYear,s=i.maxYear,o=i.minMonth,a=i.maxMonth,r=\"\";this._y<=n&&(this._y=n,!isNaN(o)&&this._m<o&&(this._m=o)),this._y>=s&&(this._y=s,!isNaN(a)&&this._m>a&&(this._m=a)),e=\"datepicker-title-\"+Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,2);for(var l=0;l<1;l++)this._renderDateDisplay(),r+=this.renderTitle(this,l,this.calendars[l].year,this.calendars[l].month,this.calendars[0].year,e)+this.render(this.calendars[l].year,this.calendars[l].month,e);this.destroySelects(),this.calendarEl.innerHTML=r;var h=this.calendarEl.querySelector(\".orig-select-year\"),d=this.calendarEl.querySelector(\".orig-select-month\");M.FormSelect.init(h,{classes:\"select-year\",dropdownOptions:{container:document.body,constrainWidth:!1}}),M.FormSelect.init(d,{classes:\"select-month\",dropdownOptions:{container:document.body,constrainWidth:!1}}),h.addEventListener(\"change\",this._handleYearChange.bind(this)),d.addEventListener(\"change\",this._handleMonthChange.bind(this)),\"function\"==typeof this.options.onDraw&&this.options.onDraw(this)}}},{key:\"_setupEventHandlers\",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleInputChangeBound=this._handleInputChange.bind(this),this._handleCalendarClickBound=this._handleCalendarClick.bind(this),this._finishSelectionBound=this._finishSelection.bind(this),this._handleMonthChange=this._handleMonthChange.bind(this),this._closeBound=this.close.bind(this),this.el.addEventListener(\"click\",this._handleInputClickBound),this.el.addEventListener(\"keydown\",this._handleInputKeydownBound),this.el.addEventListener(\"change\",this._handleInputChangeBound),this.calendarEl.addEventListener(\"click\",this._handleCalendarClickBound),this.doneBtn.addEventListener(\"click\",this._finishSelectionBound),this.cancelBtn.addEventListener(\"click\",this._closeBound),this.options.showClearBtn&&(this._handleClearClickBound=this._handleClearClick.bind(this),this.clearBtn.addEventListener(\"click\",this._handleClearClickBound))}},{key:\"_setupVariables\",value:function(){var e=this;this.$modalEl=g(B._template),this.modalEl=this.$modalEl[0],this.calendarEl=this.modalEl.querySelector(\".datepicker-calendar\"),this.yearTextEl=this.modalEl.querySelector(\".year-text\"),this.dateTextEl=this.modalEl.querySelector(\".date-text\"),this.options.showClearBtn&&(this.clearBtn=this.modalEl.querySelector(\".datepicker-clear\")),this.doneBtn=this.modalEl.querySelector(\".datepicker-done\"),this.cancelBtn=this.modalEl.querySelector(\".datepicker-cancel\"),this.formats={d:function(){return e.date.getDate()},dd:function(){var t=e.date.getDate();return(t<10?\"0\":\"\")+t},ddd:function(){return e.options.i18n.weekdaysShort[e.date.getDay()]},dddd:function(){return e.options.i18n.weekdays[e.date.getDay()]},m:function(){return e.date.getMonth()+1},mm:function(){var t=e.date.getMonth()+1;return(t<10?\"0\":\"\")+t},mmm:function(){return e.options.i18n.monthsShort[e.date.getMonth()]},mmmm:function(){return e.options.i18n.months[e.date.getMonth()]},yy:function(){return(\"\"+e.date.getFullYear()).slice(2)},yyyy:function(){return e.date.getFullYear()}}}},{key:\"_removeEventHandlers\",value:function(){this.el.removeEventListener(\"click\",this._handleInputClickBound),this.el.removeEventListener(\"keydown\",this._handleInputKeydownBound),this.el.removeEventListener(\"change\",this._handleInputChangeBound),this.calendarEl.removeEventListener(\"click\",this._handleCalendarClickBound)}},{key:\"_handleInputClick\",value:function(){this.open()}},{key:\"_handleInputKeydown\",value:function(t){t.which===M.keys.ENTER&&(t.preventDefault(),this.open())}},{key:\"_handleCalendarClick\",value:function(t){if(this.isOpen){var e=g(t.target);e.hasClass(\"is-disabled\")||(!e.hasClass(\"datepicker-day-button\")||e.hasClass(\"is-empty\")||e.parent().hasClass(\"is-disabled\")?e.closest(\".month-prev\").length?this.prevMonth():e.closest(\".month-next\").length&&this.nextMonth():(this.setDate(new Date(t.target.getAttribute(\"data-year\"),t.target.getAttribute(\"data-month\"),t.target.getAttribute(\"data-day\"))),this.options.autoClose&&this._finishSelection()))}}},{key:\"_handleClearClick\",value:function(){this.date=null,this.setInputValue(),this.close()}},{key:\"_handleMonthChange\",value:function(t){this.gotoMonth(t.target.value)}},{key:\"_handleYearChange\",value:function(t){this.gotoYear(t.target.value)}},{key:\"gotoMonth\",value:function(t){isNaN(t)||(this.calendars[0].month=parseInt(t,10),this.adjustCalendars())}},{key:\"gotoYear\",value:function(t){isNaN(t)||(this.calendars[0].year=parseInt(t,10),this.adjustCalendars())}},{key:\"_handleInputChange\",value:function(t){var e=void 0;t.firedBy!==this&&(e=this.options.parse?this.options.parse(this.el.value,this.options.format):new Date(Date.parse(this.el.value)),B._isDate(e)&&this.setDate(e))}},{key:\"renderDayName\",value:function(t,e,i){for(e+=t.firstDay;7<=e;)e-=7;return i?t.i18n.weekdaysAbbrev[e]:t.i18n.weekdays[e]}},{key:\"_finishSelection\",value:function(){this.setInputValue(),this.close()}},{key:\"open\",value:function(){if(!this.isOpen)return this.isOpen=!0,\"function\"==typeof this.options.onOpen&&this.options.onOpen.call(this),this.draw(),this.modal.open(),this}},{key:\"close\",value:function(){if(this.isOpen)return this.isOpen=!1,\"function\"==typeof this.options.onClose&&this.options.onClose.call(this),this.modal.close(),this}}],[{key:\"init\",value:function(t,e){return _get(B.__proto__||Object.getPrototypeOf(B),\"init\",this).call(this,this,t,e)}},{key:\"_isDate\",value:function(t){return/Date/.test(Object.prototype.toString.call(t))&&!isNaN(t.getTime())}},{key:\"_isWeekend\",value:function(t){var e=t.getDay();return 0===e||6===e}},{key:\"_setToStartOfDay\",value:function(t){B._isDate(t)&&t.setHours(0,0,0,0)}},{key:\"_getDaysInMonth\",value:function(t,e){return[31,B._isLeapYear(t)?29:28,31,30,31,30,31,31,30,31,30,31][e]}},{key:\"_isLeapYear\",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:\"_compareDates\",value:function(t,e){return t.getTime()===e.getTime()}},{key:\"_setToStartOfDay\",value:function(t){B._isDate(t)&&t.setHours(0,0,0,0)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Datepicker}},{key:\"defaults\",get:function(){return e}}]),B}();t._template=['<div class= \"modal datepicker-modal\">','<div class=\"modal-content datepicker-container\">','<div class=\"datepicker-date-display\">','<span class=\"year-text\"></span>','<span class=\"date-text\"></span>',\"</div>\",'<div class=\"datepicker-calendar-container\">','<div class=\"datepicker-calendar\"></div>','<div class=\"datepicker-footer\">','<button class=\"btn-flat datepicker-clear waves-effect\" style=\"visibility: hidden;\" type=\"button\"></button>','<div class=\"confirmation-btns\">','<button class=\"btn-flat datepicker-cancel waves-effect\" type=\"button\"></button>','<button class=\"btn-flat datepicker-done waves-effect\" type=\"button\"></button>',\"</div>\",\"</div>\",\"</div>\",\"</div>\",\"</div>\"].join(\"\"),M.Datepicker=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"datepicker\",\"M_Datepicker\")}(cash),function(h){\"use strict\";var e={dialRadius:135,outerRadius:105,innerRadius:70,tickRadius:20,duration:350,container:null,defaultTime:\"now\",fromNow:0,showClearBtn:!1,i18n:{cancel:\"Cancel\",clear:\"Clear\",done:\"Ok\"},autoClose:!1,twelveHour:!0,vibrate:!0,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onSelect:null},t=function(t){function f(t,e){_classCallCheck(this,f);var i=_possibleConstructorReturn(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,f,t,e));return(i.el.M_Timepicker=i).options=h.extend({},f.defaults,e),i.id=M.guid(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupVariables(),i._setupEventHandlers(),i._clockSetup(),i._pickerSetup(),i}return _inherits(f,Component),_createClass(f,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this.modal.destroy(),h(this.modalEl).remove(),this.el.M_Timepicker=void 0}},{key:\"_setupEventHandlers\",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleClockClickStartBound=this._handleClockClickStart.bind(this),this._handleDocumentClickMoveBound=this._handleDocumentClickMove.bind(this),this._handleDocumentClickEndBound=this._handleDocumentClickEnd.bind(this),this.el.addEventListener(\"click\",this._handleInputClickBound),this.el.addEventListener(\"keydown\",this._handleInputKeydownBound),this.plate.addEventListener(\"mousedown\",this._handleClockClickStartBound),this.plate.addEventListener(\"touchstart\",this._handleClockClickStartBound),h(this.spanHours).on(\"click\",this.showView.bind(this,\"hours\")),h(this.spanMinutes).on(\"click\",this.showView.bind(this,\"minutes\"))}},{key:\"_removeEventHandlers\",value:function(){this.el.removeEventListener(\"click\",this._handleInputClickBound),this.el.removeEventListener(\"keydown\",this._handleInputKeydownBound)}},{key:\"_handleInputClick\",value:function(){this.open()}},{key:\"_handleInputKeydown\",value:function(t){t.which===M.keys.ENTER&&(t.preventDefault(),this.open())}},{key:\"_handleClockClickStart\",value:function(t){t.preventDefault();var e=this.plate.getBoundingClientRect(),i=e.left,n=e.top;this.x0=i+this.options.dialRadius,this.y0=n+this.options.dialRadius,this.moved=!1;var s=f._Pos(t);this.dx=s.x-this.x0,this.dy=s.y-this.y0,this.setHand(this.dx,this.dy,!1),document.addEventListener(\"mousemove\",this._handleDocumentClickMoveBound),document.addEventListener(\"touchmove\",this._handleDocumentClickMoveBound),document.addEventListener(\"mouseup\",this._handleDocumentClickEndBound),document.addEventListener(\"touchend\",this._handleDocumentClickEndBound)}},{key:\"_handleDocumentClickMove\",value:function(t){t.preventDefault();var e=f._Pos(t),i=e.x-this.x0,n=e.y-this.y0;this.moved=!0,this.setHand(i,n,!1,!0)}},{key:\"_handleDocumentClickEnd\",value:function(t){var e=this;t.preventDefault(),document.removeEventListener(\"mouseup\",this._handleDocumentClickEndBound),document.removeEventListener(\"touchend\",this._handleDocumentClickEndBound);var i=f._Pos(t),n=i.x-this.x0,s=i.y-this.y0;this.moved&&n===this.dx&&s===this.dy&&this.setHand(n,s),\"hours\"===this.currentView?this.showView(\"minutes\",this.options.duration/2):this.options.autoClose&&(h(this.minutesView).addClass(\"timepicker-dial-out\"),setTimeout(function(){e.done()},this.options.duration/2)),\"function\"==typeof this.options.onSelect&&this.options.onSelect.call(this,this.hours,this.minutes),document.removeEventListener(\"mousemove\",this._handleDocumentClickMoveBound),document.removeEventListener(\"touchmove\",this._handleDocumentClickMoveBound)}},{key:\"_insertHTMLIntoDOM\",value:function(){this.$modalEl=h(f._template),this.modalEl=this.$modalEl[0],this.modalEl.id=\"modal-\"+this.id;var t=document.querySelector(this.options.container);this.options.container&&t?this.$modalEl.appendTo(t):this.$modalEl.insertBefore(this.el)}},{key:\"_setupModal\",value:function(){var t=this;this.modal=M.Modal.init(this.modalEl,{onOpenStart:this.options.onOpenStart,onOpenEnd:this.options.onOpenEnd,onCloseStart:this.options.onCloseStart,onCloseEnd:function(){\"function\"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t),t.isOpen=!1}})}},{key:\"_setupVariables\",value:function(){this.currentView=\"hours\",this.vibrate=navigator.vibrate?\"vibrate\":navigator.webkitVibrate?\"webkitVibrate\":null,this._canvas=this.modalEl.querySelector(\".timepicker-canvas\"),this.plate=this.modalEl.querySelector(\".timepicker-plate\"),this.hoursView=this.modalEl.querySelector(\".timepicker-hours\"),this.minutesView=this.modalEl.querySelector(\".timepicker-minutes\"),this.spanHours=this.modalEl.querySelector(\".timepicker-span-hours\"),this.spanMinutes=this.modalEl.querySelector(\".timepicker-span-minutes\"),this.spanAmPm=this.modalEl.querySelector(\".timepicker-span-am-pm\"),this.footer=this.modalEl.querySelector(\".timepicker-footer\"),this.amOrPm=\"PM\"}},{key:\"_pickerSetup\",value:function(){var t=h('<button class=\"btn-flat timepicker-clear waves-effect\" style=\"visibility: hidden;\" type=\"button\" tabindex=\"'+(this.options.twelveHour?\"3\":\"1\")+'\">'+this.options.i18n.clear+\"</button>\").appendTo(this.footer).on(\"click\",this.clear.bind(this));this.options.showClearBtn&&t.css({visibility:\"\"});var e=h('<div class=\"confirmation-btns\"></div>');h('<button class=\"btn-flat timepicker-close waves-effect\" type=\"button\" tabindex=\"'+(this.options.twelveHour?\"3\":\"1\")+'\">'+this.options.i18n.cancel+\"</button>\").appendTo(e).on(\"click\",this.close.bind(this)),h('<button class=\"btn-flat timepicker-close waves-effect\" type=\"button\" tabindex=\"'+(this.options.twelveHour?\"3\":\"1\")+'\">'+this.options.i18n.done+\"</button>\").appendTo(e).on(\"click\",this.done.bind(this)),e.appendTo(this.footer)}},{key:\"_clockSetup\",value:function(){this.options.twelveHour&&(this.$amBtn=h('<div class=\"am-btn\">AM</div>'),this.$pmBtn=h('<div class=\"pm-btn\">PM</div>'),this.$amBtn.on(\"click\",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm),this.$pmBtn.on(\"click\",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm)),this._buildHoursView(),this._buildMinutesView(),this._buildSVGClock()}},{key:\"_buildSVGClock\",value:function(){var t=this.options.dialRadius,e=this.options.tickRadius,i=2*t,n=f._createSVGEl(\"svg\");n.setAttribute(\"class\",\"timepicker-svg\"),n.setAttribute(\"width\",i),n.setAttribute(\"height\",i);var s=f._createSVGEl(\"g\");s.setAttribute(\"transform\",\"translate(\"+t+\",\"+t+\")\");var o=f._createSVGEl(\"circle\");o.setAttribute(\"class\",\"timepicker-canvas-bearing\"),o.setAttribute(\"cx\",0),o.setAttribute(\"cy\",0),o.setAttribute(\"r\",4);var a=f._createSVGEl(\"line\");a.setAttribute(\"x1\",0),a.setAttribute(\"y1\",0);var r=f._createSVGEl(\"circle\");r.setAttribute(\"class\",\"timepicker-canvas-bg\"),r.setAttribute(\"r\",e),s.appendChild(a),s.appendChild(r),s.appendChild(o),n.appendChild(s),this._canvas.appendChild(n),this.hand=a,this.bg=r,this.bearing=o,this.g=s}},{key:\"_buildHoursView\",value:function(){var t=h('<div class=\"timepicker-tick\"></div>');if(this.options.twelveHour)for(var e=1;e<13;e+=1){var i=t.clone(),n=e/6*Math.PI,s=this.options.outerRadius;i.css({left:this.options.dialRadius+Math.sin(n)*s-this.options.tickRadius+\"px\",top:this.options.dialRadius-Math.cos(n)*s-this.options.tickRadius+\"px\"}),i.html(0===e?\"00\":e),this.hoursView.appendChild(i[0])}else for(var o=0;o<24;o+=1){var a=t.clone(),r=o/6*Math.PI,l=0<o&&o<13?this.options.innerRadius:this.options.outerRadius;a.css({left:this.options.dialRadius+Math.sin(r)*l-this.options.tickRadius+\"px\",top:this.options.dialRadius-Math.cos(r)*l-this.options.tickRadius+\"px\"}),a.html(0===o?\"00\":o),this.hoursView.appendChild(a[0])}}},{key:\"_buildMinutesView\",value:function(){for(var t=h('<div class=\"timepicker-tick\"></div>'),e=0;e<60;e+=5){var i=t.clone(),n=e/30*Math.PI;i.css({left:this.options.dialRadius+Math.sin(n)*this.options.outerRadius-this.options.tickRadius+\"px\",top:this.options.dialRadius-Math.cos(n)*this.options.outerRadius-this.options.tickRadius+\"px\"}),i.html(f._addLeadingZero(e)),this.minutesView.appendChild(i[0])}}},{key:\"_handleAmPmClick\",value:function(t){var e=h(t.target);this.amOrPm=e.hasClass(\"am-btn\")?\"AM\":\"PM\",this._updateAmPmView()}},{key:\"_updateAmPmView\",value:function(){this.options.twelveHour&&(this.$amBtn.toggleClass(\"text-primary\",\"AM\"===this.amOrPm),this.$pmBtn.toggleClass(\"text-primary\",\"PM\"===this.amOrPm))}},{key:\"_updateTimeFromInput\",value:function(){var t=((this.el.value||this.options.defaultTime||\"\")+\"\").split(\":\");if(this.options.twelveHour&&void 0!==t[1]&&(0<t[1].toUpperCase().indexOf(\"AM\")?this.amOrPm=\"AM\":this.amOrPm=\"PM\",t[1]=t[1].replace(\"AM\",\"\").replace(\"PM\",\"\")),\"now\"===t[0]){var e=new Date(+new Date+this.options.fromNow);t=[e.getHours(),e.getMinutes()],this.options.twelveHour&&(this.amOrPm=12<=t[0]&&t[0]<24?\"PM\":\"AM\")}this.hours=+t[0]||0,this.minutes=+t[1]||0,this.spanHours.innerHTML=this.hours,this.spanMinutes.innerHTML=f._addLeadingZero(this.minutes),this._updateAmPmView()}},{key:\"showView\",value:function(t,e){\"minutes\"===t&&h(this.hoursView).css(\"visibility\");var i=\"hours\"===t,n=i?this.hoursView:this.minutesView,s=i?this.minutesView:this.hoursView;this.currentView=t,h(this.spanHours).toggleClass(\"text-primary\",i),h(this.spanMinutes).toggleClass(\"text-primary\",!i),s.classList.add(\"timepicker-dial-out\"),h(n).css(\"visibility\",\"visible\").removeClass(\"timepicker-dial-out\"),this.resetClock(e),clearTimeout(this.toggleViewTimer),this.toggleViewTimer=setTimeout(function(){h(s).css(\"visibility\",\"hidden\")},this.options.duration)}},{key:\"resetClock\",value:function(t){var e=this.currentView,i=this[e],n=\"hours\"===e,s=i*(Math.PI/(n?6:30)),o=n&&0<i&&i<13?this.options.innerRadius:this.options.outerRadius,a=Math.sin(s)*o,r=-Math.cos(s)*o,l=this;t?(h(this.canvas).addClass(\"timepicker-canvas-out\"),setTimeout(function(){h(l.canvas).removeClass(\"timepicker-canvas-out\"),l.setHand(a,r)},t)):this.setHand(a,r)}},{key:\"setHand\",value:function(t,e,i){var n=this,s=Math.atan2(t,-e),o=\"hours\"===this.currentView,a=Math.PI/(o||i?6:30),r=Math.sqrt(t*t+e*e),l=o&&r<(this.options.outerRadius+this.options.innerRadius)/2,h=l?this.options.innerRadius:this.options.outerRadius;this.options.twelveHour&&(h=this.options.outerRadius),s<0&&(s=2*Math.PI+s);var d=Math.round(s/a);s=d*a,this.options.twelveHour?o?0===d&&(d=12):(i&&(d*=5),60===d&&(d=0)):o?(12===d&&(d=0),d=l?0===d?12:d:0===d?0:d+12):(i&&(d*=5),60===d&&(d=0)),this[this.currentView]!==d&&this.vibrate&&this.options.vibrate&&(this.vibrateTimer||(navigator[this.vibrate](10),this.vibrateTimer=setTimeout(function(){n.vibrateTimer=null},100))),this[this.currentView]=d,o?this.spanHours.innerHTML=d:this.spanMinutes.innerHTML=f._addLeadingZero(d);var u=Math.sin(s)*(h-this.options.tickRadius),c=-Math.cos(s)*(h-this.options.tickRadius),p=Math.sin(s)*h,v=-Math.cos(s)*h;this.hand.setAttribute(\"x2\",u),this.hand.setAttribute(\"y2\",c),this.bg.setAttribute(\"cx\",p),this.bg.setAttribute(\"cy\",v)}},{key:\"open\",value:function(){this.isOpen||(this.isOpen=!0,this._updateTimeFromInput(),this.showView(\"hours\"),this.modal.open())}},{key:\"close\",value:function(){this.isOpen&&(this.isOpen=!1,this.modal.close())}},{key:\"done\",value:function(t,e){var i=this.el.value,n=e?\"\":f._addLeadingZero(this.hours)+\":\"+f._addLeadingZero(this.minutes);this.time=n,!e&&this.options.twelveHour&&(n=n+\" \"+this.amOrPm),(this.el.value=n)!==i&&this.$el.trigger(\"change\"),this.close(),this.el.focus()}},{key:\"clear\",value:function(){this.done(null,!0)}}],[{key:\"init\",value:function(t,e){return _get(f.__proto__||Object.getPrototypeOf(f),\"init\",this).call(this,this,t,e)}},{key:\"_addLeadingZero\",value:function(t){return(t<10?\"0\":\"\")+t}},{key:\"_createSVGEl\",value:function(t){return document.createElementNS(\"http://www.w3.org/2000/svg\",t)}},{key:\"_Pos\",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?{x:t.targetTouches[0].clientX,y:t.targetTouches[0].clientY}:{x:t.clientX,y:t.clientY}}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Timepicker}},{key:\"defaults\",get:function(){return e}}]),f}();t._template=['<div class= \"modal timepicker-modal\">','<div class=\"modal-content timepicker-container\">','<div class=\"timepicker-digital-display\">','<div class=\"timepicker-text-container\">','<div class=\"timepicker-display-column\">','<span class=\"timepicker-span-hours text-primary\"></span>',\":\",'<span class=\"timepicker-span-minutes\"></span>',\"</div>\",'<div class=\"timepicker-display-column timepicker-display-am-pm\">','<div class=\"timepicker-span-am-pm\"></div>',\"</div>\",\"</div>\",\"</div>\",'<div class=\"timepicker-analog-display\">','<div class=\"timepicker-plate\">','<div class=\"timepicker-canvas\"></div>','<div class=\"timepicker-dial timepicker-hours\"></div>','<div class=\"timepicker-dial timepicker-minutes timepicker-dial-out\"></div>',\"</div>\",'<div class=\"timepicker-footer\"></div>',\"</div>\",\"</div>\",\"</div>\"].join(\"\"),M.Timepicker=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"timepicker\",\"M_Timepicker\")}(cash),function(s){\"use strict\";var e={},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_CharacterCounter=i).options=s.extend({},n.defaults,e),i.isInvalid=!1,i.isValidLength=!1,i._setupCounter(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this.el.CharacterCounter=void 0,this._removeCounter()}},{key:\"_setupEventHandlers\",value:function(){this._handleUpdateCounterBound=this.updateCounter.bind(this),this.el.addEventListener(\"focus\",this._handleUpdateCounterBound,!0),this.el.addEventListener(\"input\",this._handleUpdateCounterBound,!0)}},{key:\"_removeEventHandlers\",value:function(){this.el.removeEventListener(\"focus\",this._handleUpdateCounterBound,!0),this.el.removeEventListener(\"input\",this._handleUpdateCounterBound,!0)}},{key:\"_setupCounter\",value:function(){this.counterEl=document.createElement(\"span\"),s(this.counterEl).addClass(\"character-counter\").css({float:\"right\",\"font-size\":\"12px\",height:1}),this.$el.parent().append(this.counterEl)}},{key:\"_removeCounter\",value:function(){s(this.counterEl).remove()}},{key:\"updateCounter\",value:function(){var t=+this.$el.attr(\"data-length\"),e=this.el.value.length;this.isValidLength=e<=t;var i=e;t&&(i+=\"/\"+t,this._validateInput()),s(this.counterEl).html(i)}},{key:\"_validateInput\",value:function(){this.isValidLength&&this.isInvalid?(this.isInvalid=!1,this.$el.removeClass(\"invalid\")):this.isValidLength||this.isInvalid||(this.isInvalid=!0,this.$el.removeClass(\"valid\"),this.$el.addClass(\"invalid\"))}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_CharacterCounter}},{key:\"defaults\",get:function(){return e}}]),n}();M.CharacterCounter=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"characterCounter\",\"M_CharacterCounter\")}(cash),function(b){\"use strict\";var e={duration:200,dist:-100,shift:0,padding:0,numVisible:5,fullWidth:!1,indicators:!1,noWrap:!1,onCycleTo:null},t=function(t){function i(t,e){_classCallCheck(this,i);var n=_possibleConstructorReturn(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,i,t,e));return(n.el.M_Carousel=n).options=b.extend({},i.defaults,e),n.hasMultipleSlides=1<n.$el.find(\".carousel-item\").length,n.showIndicators=n.options.indicators&&n.hasMultipleSlides,n.noWrap=n.options.noWrap||!n.hasMultipleSlides,n.pressed=!1,n.dragged=!1,n.offset=n.target=0,n.images=[],n.itemWidth=n.$el.find(\".carousel-item\").first().innerWidth(),n.itemHeight=n.$el.find(\".carousel-item\").first().innerHeight(),n.dim=2*n.itemWidth+n.options.padding||1,n._autoScrollBound=n._autoScroll.bind(n),n._trackBound=n._track.bind(n),n.options.fullWidth&&(n.options.dist=0,n._setCarouselHeight(),n.showIndicators&&n.$el.find(\".carousel-fixed-item\").addClass(\"with-indicators\")),n.$indicators=b('<ul class=\"indicators\"></ul>'),n.$el.find(\".carousel-item\").each(function(t,e){if(n.images.push(t),n.showIndicators){var i=b('<li class=\"indicator-item\"></li>');0===e&&i[0].classList.add(\"active\"),n.$indicators.append(i)}}),n.showIndicators&&n.$el.append(n.$indicators),n.count=n.images.length,n.options.numVisible=Math.min(n.count,n.options.numVisible),n.xform=\"transform\",[\"webkit\",\"Moz\",\"O\",\"ms\"].every(function(t){var e=t+\"Transform\";return void 0===document.body.style[e]||(n.xform=e,!1)}),n._setupEventHandlers(),n._scroll(n.offset),n}return _inherits(i,Component),_createClass(i,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this.el.M_Carousel=void 0}},{key:\"_setupEventHandlers\",value:function(){var i=this;this._handleCarouselTapBound=this._handleCarouselTap.bind(this),this._handleCarouselDragBound=this._handleCarouselDrag.bind(this),this._handleCarouselReleaseBound=this._handleCarouselRelease.bind(this),this._handleCarouselClickBound=this._handleCarouselClick.bind(this),void 0!==window.ontouchstart&&(this.el.addEventListener(\"touchstart\",this._handleCarouselTapBound),this.el.addEventListener(\"touchmove\",this._handleCarouselDragBound),this.el.addEventListener(\"touchend\",this._handleCarouselReleaseBound)),this.el.addEventListener(\"mousedown\",this._handleCarouselTapBound),this.el.addEventListener(\"mousemove\",this._handleCarouselDragBound),this.el.addEventListener(\"mouseup\",this._handleCarouselReleaseBound),this.el.addEventListener(\"mouseleave\",this._handleCarouselReleaseBound),this.el.addEventListener(\"click\",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&(this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.$indicators.find(\".indicator-item\").each(function(t,e){t.addEventListener(\"click\",i._handleIndicatorClickBound)}));var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener(\"resize\",this._handleThrottledResizeBound)}},{key:\"_removeEventHandlers\",value:function(){var i=this;void 0!==window.ontouchstart&&(this.el.removeEventListener(\"touchstart\",this._handleCarouselTapBound),this.el.removeEventListener(\"touchmove\",this._handleCarouselDragBound),this.el.removeEventListener(\"touchend\",this._handleCarouselReleaseBound)),this.el.removeEventListener(\"mousedown\",this._handleCarouselTapBound),this.el.removeEventListener(\"mousemove\",this._handleCarouselDragBound),this.el.removeEventListener(\"mouseup\",this._handleCarouselReleaseBound),this.el.removeEventListener(\"mouseleave\",this._handleCarouselReleaseBound),this.el.removeEventListener(\"click\",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&this.$indicators.find(\".indicator-item\").each(function(t,e){t.removeEventListener(\"click\",i._handleIndicatorClickBound)}),window.removeEventListener(\"resize\",this._handleThrottledResizeBound)}},{key:\"_handleCarouselTap\",value:function(t){\"mousedown\"===t.type&&b(t.target).is(\"img\")&&t.preventDefault(),this.pressed=!0,this.dragged=!1,this.verticalDragged=!1,this.reference=this._xpos(t),this.referenceY=this._ypos(t),this.velocity=this.amplitude=0,this.frame=this.offset,this.timestamp=Date.now(),clearInterval(this.ticker),this.ticker=setInterval(this._trackBound,100)}},{key:\"_handleCarouselDrag\",value:function(t){var e=void 0,i=void 0,n=void 0;if(this.pressed)if(e=this._xpos(t),i=this._ypos(t),n=this.reference-e,Math.abs(this.referenceY-i)<30&&!this.verticalDragged)(2<n||n<-2)&&(this.dragged=!0,this.reference=e,this._scroll(this.offset+n));else{if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1;this.verticalDragged=!0}if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1}},{key:\"_handleCarouselRelease\",value:function(t){if(this.pressed)return this.pressed=!1,clearInterval(this.ticker),this.target=this.offset,(10<this.velocity||this.velocity<-10)&&(this.amplitude=.9*this.velocity,this.target=this.offset+this.amplitude),this.target=Math.round(this.target/this.dim)*this.dim,this.noWrap&&(this.target>=this.dim*(this.count-1)?this.target=this.dim*(this.count-1):this.target<0&&(this.target=0)),this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound),this.dragged&&(t.preventDefault(),t.stopPropagation()),!1}},{key:\"_handleCarouselClick\",value:function(t){if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1;if(!this.options.fullWidth){var e=b(t.target).closest(\".carousel-item\").index();0!==this._wrap(this.center)-e&&(t.preventDefault(),t.stopPropagation()),this._cycleTo(e)}}},{key:\"_handleIndicatorClick\",value:function(t){t.stopPropagation();var e=b(t.target).closest(\".indicator-item\");e.length&&this._cycleTo(e.index())}},{key:\"_handleResize\",value:function(t){this.options.fullWidth?(this.itemWidth=this.$el.find(\".carousel-item\").first().innerWidth(),this.imageHeight=this.$el.find(\".carousel-item.active\").height(),this.dim=2*this.itemWidth+this.options.padding,this.offset=2*this.center*this.itemWidth,this.target=this.offset,this._setCarouselHeight(!0)):this._scroll()}},{key:\"_setCarouselHeight\",value:function(t){var i=this,e=this.$el.find(\".carousel-item.active\").length?this.$el.find(\".carousel-item.active\").first():this.$el.find(\".carousel-item\").first(),n=e.find(\"img\").first();if(n.length)if(n[0].complete){var s=n.height();if(0<s)this.$el.css(\"height\",s+\"px\");else{var o=n[0].naturalWidth,a=n[0].naturalHeight,r=this.$el.width()/o*a;this.$el.css(\"height\",r+\"px\")}}else n.one(\"load\",function(t,e){i.$el.css(\"height\",t.offsetHeight+\"px\")});else if(!t){var l=e.height();this.$el.css(\"height\",l+\"px\")}}},{key:\"_xpos\",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?t.targetTouches[0].clientX:t.clientX}},{key:\"_ypos\",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?t.targetTouches[0].clientY:t.clientY}},{key:\"_wrap\",value:function(t){return t>=this.count?t%this.count:t<0?this._wrap(this.count+t%this.count):t}},{key:\"_track\",value:function(){var t,e,i,n;e=(t=Date.now())-this.timestamp,this.timestamp=t,i=this.offset-this.frame,this.frame=this.offset,n=1e3*i/(1+e),this.velocity=.8*n+.2*this.velocity}},{key:\"_autoScroll\",value:function(){var t=void 0,e=void 0;this.amplitude&&(t=Date.now()-this.timestamp,2<(e=this.amplitude*Math.exp(-t/this.options.duration))||e<-2?(this._scroll(this.target-e),requestAnimationFrame(this._autoScrollBound)):this._scroll(this.target))}},{key:\"_scroll\",value:function(t){var e=this;this.$el.hasClass(\"scrolling\")||this.el.classList.add(\"scrolling\"),null!=this.scrollingTimeout&&window.clearTimeout(this.scrollingTimeout),this.scrollingTimeout=window.setTimeout(function(){e.$el.removeClass(\"scrolling\")},this.options.duration);var i,n,s,o,a=void 0,r=void 0,l=void 0,h=void 0,d=void 0,u=void 0,c=this.center,p=1/this.options.numVisible;if(this.offset=\"number\"==typeof t?t:this.offset,this.center=Math.floor((this.offset+this.dim/2)/this.dim),o=-(s=(n=this.offset-this.center*this.dim)<0?1:-1)*n*2/this.dim,i=this.count>>1,this.options.fullWidth?(l=\"translateX(0)\",u=1):(l=\"translateX(\"+(this.el.clientWidth-this.itemWidth)/2+\"px) \",l+=\"translateY(\"+(this.el.clientHeight-this.itemHeight)/2+\"px)\",u=1-p*o),this.showIndicators){var v=this.center%this.count,f=this.$indicators.find(\".indicator-item.active\");f.index()!==v&&(f.removeClass(\"active\"),this.$indicators.find(\".indicator-item\").eq(v)[0].classList.add(\"active\"))}if(!this.noWrap||0<=this.center&&this.center<this.count){r=this.images[this._wrap(this.center)],b(r).hasClass(\"active\")||(this.$el.find(\".carousel-item\").removeClass(\"active\"),r.classList.add(\"active\"));var m=l+\" translateX(\"+-n/2+\"px) translateX(\"+s*this.options.shift*o*a+\"px) translateZ(\"+this.options.dist*o+\"px)\";this._updateItemStyle(r,u,0,m)}for(a=1;a<=i;++a){if(this.options.fullWidth?(h=this.options.dist,d=a===i&&n<0?1-o:1):(h=this.options.dist*(2*a+o*s),d=1-p*(2*a+o*s)),!this.noWrap||this.center+a<this.count){r=this.images[this._wrap(this.center+a)];var g=l+\" translateX(\"+(this.options.shift+(this.dim*a-n)/2)+\"px) translateZ(\"+h+\"px)\";this._updateItemStyle(r,d,-a,g)}if(this.options.fullWidth?(h=this.options.dist,d=a===i&&0<n?1-o:1):(h=this.options.dist*(2*a-o*s),d=1-p*(2*a-o*s)),!this.noWrap||0<=this.center-a){r=this.images[this._wrap(this.center-a)];var _=l+\" translateX(\"+(-this.options.shift+(-this.dim*a-n)/2)+\"px) translateZ(\"+h+\"px)\";this._updateItemStyle(r,d,-a,_)}}if(!this.noWrap||0<=this.center&&this.center<this.count){r=this.images[this._wrap(this.center)];var y=l+\" translateX(\"+-n/2+\"px) translateX(\"+s*this.options.shift*o+\"px) translateZ(\"+this.options.dist*o+\"px)\";this._updateItemStyle(r,u,0,y)}var k=this.$el.find(\".carousel-item\").eq(this._wrap(this.center));c!==this.center&&\"function\"==typeof this.options.onCycleTo&&this.options.onCycleTo.call(this,k[0],this.dragged),\"function\"==typeof this.oneTimeCallback&&(this.oneTimeCallback.call(this,k[0],this.dragged),this.oneTimeCallback=null)}},{key:\"_updateItemStyle\",value:function(t,e,i,n){t.style[this.xform]=n,t.style.zIndex=i,t.style.opacity=e,t.style.visibility=\"visible\"}},{key:\"_cycleTo\",value:function(t,e){var i=this.center%this.count-t;this.noWrap||(i<0?Math.abs(i+this.count)<Math.abs(i)&&(i+=this.count):0<i&&Math.abs(i-this.count)<i&&(i-=this.count)),this.target=this.dim*Math.round(this.offset/this.dim),i<0?this.target+=this.dim*Math.abs(i):0<i&&(this.target-=this.dim*i),\"function\"==typeof e&&(this.oneTimeCallback=e),this.offset!==this.target&&(this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound))}},{key:\"next\",value:function(t){(void 0===t||isNaN(t))&&(t=1);var e=this.center+t;if(e>=this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e)}},{key:\"prev\",value:function(t){(void 0===t||isNaN(t))&&(t=1);var e=this.center-t;if(e>=this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e)}},{key:\"set\",value:function(t,e){if((void 0===t||isNaN(t))&&(t=0),t>this.count||t<0){if(this.noWrap)return;t=this._wrap(t)}this._cycleTo(t,e)}}],[{key:\"init\",value:function(t,e){return _get(i.__proto__||Object.getPrototypeOf(i),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Carousel}},{key:\"defaults\",get:function(){return e}}]),i}();M.Carousel=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"carousel\",\"M_Carousel\")}(cash),function(S){\"use strict\";var e={onOpen:void 0,onClose:void 0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_TapTarget=i).options=S.extend({},n.defaults,e),i.isOpen=!1,i.$origin=S(\"#\"+i.$el.attr(\"data-target\")),i._setup(),i._calculatePositioning(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this.el.TapTarget=void 0}},{key:\"_setupEventHandlers\",value:function(){this._handleDocumentClickBound=this._handleDocumentClick.bind(this),this._handleTargetClickBound=this._handleTargetClick.bind(this),this._handleOriginClickBound=this._handleOriginClick.bind(this),this.el.addEventListener(\"click\",this._handleTargetClickBound),this.originEl.addEventListener(\"click\",this._handleOriginClickBound);var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener(\"resize\",this._handleThrottledResizeBound)}},{key:\"_removeEventHandlers\",value:function(){this.el.removeEventListener(\"click\",this._handleTargetClickBound),this.originEl.removeEventListener(\"click\",this._handleOriginClickBound),window.removeEventListener(\"resize\",this._handleThrottledResizeBound)}},{key:\"_handleTargetClick\",value:function(t){this.open()}},{key:\"_handleOriginClick\",value:function(t){this.close()}},{key:\"_handleResize\",value:function(t){this._calculatePositioning()}},{key:\"_handleDocumentClick\",value:function(t){S(t.target).closest(\".tap-target-wrapper\").length||(this.close(),t.preventDefault(),t.stopPropagation())}},{key:\"_setup\",value:function(){this.wrapper=this.$el.parent()[0],this.waveEl=S(this.wrapper).find(\".tap-target-wave\")[0],this.originEl=S(this.wrapper).find(\".tap-target-origin\")[0],this.contentEl=this.$el.find(\".tap-target-content\")[0],S(this.wrapper).hasClass(\".tap-target-wrapper\")||(this.wrapper=document.createElement(\"div\"),this.wrapper.classList.add(\"tap-target-wrapper\"),this.$el.before(S(this.wrapper)),this.wrapper.append(this.el)),this.contentEl||(this.contentEl=document.createElement(\"div\"),this.contentEl.classList.add(\"tap-target-content\"),this.$el.append(this.contentEl)),this.waveEl||(this.waveEl=document.createElement(\"div\"),this.waveEl.classList.add(\"tap-target-wave\"),this.originEl||(this.originEl=this.$origin.clone(!0,!0),this.originEl.addClass(\"tap-target-origin\"),this.originEl.removeAttr(\"id\"),this.originEl.removeAttr(\"style\"),this.originEl=this.originEl[0],this.waveEl.append(this.originEl)),this.wrapper.append(this.waveEl))}},{key:\"_calculatePositioning\",value:function(){var t=\"fixed\"===this.$origin.css(\"position\");if(!t)for(var e=this.$origin.parents(),i=0;i<e.length&&!(t=\"fixed\"==S(e[i]).css(\"position\"));i++);var n=this.$origin.outerWidth(),s=this.$origin.outerHeight(),o=t?this.$origin.offset().top-M.getDocumentScrollTop():this.$origin.offset().top,a=t?this.$origin.offset().left-M.getDocumentScrollLeft():this.$origin.offset().left,r=window.innerWidth,l=window.innerHeight,h=r/2,d=l/2,u=a<=h,c=h<a,p=o<=d,v=d<o,f=.25*r<=a&&a<=.75*r,m=this.$el.outerWidth(),g=this.$el.outerHeight(),_=o+s/2-g/2,y=a+n/2-m/2,k=t?\"fixed\":\"absolute\",b=f?m:m/2+n,w=g/2,C=p?g/2:0,E=u&&!f?m/2-n:0,O=n,x=v?\"bottom\":\"top\",L=2*n,T=L,$=g/2-T/2,B=m/2-L/2,D={};D.top=p?_+\"px\":\"\",D.right=c?r-y-m+\"px\":\"\",D.bottom=v?l-_-g+\"px\":\"\",D.left=u?y+\"px\":\"\",D.position=k,S(this.wrapper).css(D),S(this.contentEl).css({width:b+\"px\",height:w+\"px\",top:C+\"px\",right:\"0px\",bottom:\"0px\",left:E+\"px\",padding:O+\"px\",verticalAlign:x}),S(this.waveEl).css({top:$+\"px\",left:B+\"px\",width:L+\"px\",height:T+\"px\"})}},{key:\"open\",value:function(){this.isOpen||(\"function\"==typeof this.options.onOpen&&this.options.onOpen.call(this,this.$origin[0]),this.isOpen=!0,this.wrapper.classList.add(\"open\"),document.body.addEventListener(\"click\",this._handleDocumentClickBound,!0),document.body.addEventListener(\"touchend\",this._handleDocumentClickBound))}},{key:\"close\",value:function(){this.isOpen&&(\"function\"==typeof this.options.onClose&&this.options.onClose.call(this,this.$origin[0]),this.isOpen=!1,this.wrapper.classList.remove(\"open\"),document.body.removeEventListener(\"click\",this._handleDocumentClickBound,!0),document.body.removeEventListener(\"touchend\",this._handleDocumentClickBound))}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_TapTarget}},{key:\"defaults\",get:function(){return e}}]),n}();M.TapTarget=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"tapTarget\",\"M_TapTarget\")}(cash),function(d){\"use strict\";var e={classes:\"\",dropdownOptions:{}},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return i.$el.hasClass(\"browser-default\")?_possibleConstructorReturn(i):((i.el.M_FormSelect=i).options=d.extend({},n.defaults,e),i.isMultiple=i.$el.prop(\"multiple\"),i.el.tabIndex=-1,i._keysSelected={},i._valueDict={},i._setupDropdown(),i._setupEventHandlers(),i)}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this._removeDropdown(),this.el.M_FormSelect=void 0}},{key:\"_setupEventHandlers\",value:function(){var e=this;this._handleSelectChangeBound=this._handleSelectChange.bind(this),this._handleOptionClickBound=this._handleOptionClick.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),d(this.dropdownOptions).find(\"li:not(.optgroup)\").each(function(t){t.addEventListener(\"click\",e._handleOptionClickBound)}),this.el.addEventListener(\"change\",this._handleSelectChangeBound),this.input.addEventListener(\"click\",this._handleInputClickBound)}},{key:\"_removeEventHandlers\",value:function(){var e=this;d(this.dropdownOptions).find(\"li:not(.optgroup)\").each(function(t){t.removeEventListener(\"click\",e._handleOptionClickBound)}),this.el.removeEventListener(\"change\",this._handleSelectChangeBound),this.input.removeEventListener(\"click\",this._handleInputClickBound)}},{key:\"_handleSelectChange\",value:function(t){this._setValueToInput()}},{key:\"_handleOptionClick\",value:function(t){t.preventDefault();var e=d(t.target).closest(\"li\")[0],i=e.id;if(!d(e).hasClass(\"disabled\")&&!d(e).hasClass(\"optgroup\")&&i.length){var n=!0;if(this.isMultiple){var s=d(this.dropdownOptions).find(\"li.disabled.selected\");s.length&&(s.removeClass(\"selected\"),s.find('input[type=\"checkbox\"]').prop(\"checked\",!1),this._toggleEntryFromArray(s[0].id)),n=this._toggleEntryFromArray(i)}else d(this.dropdownOptions).find(\"li\").removeClass(\"selected\"),d(e).toggleClass(\"selected\",n);d(this._valueDict[i].el).prop(\"selected\")!==n&&(d(this._valueDict[i].el).prop(\"selected\",n),this.$el.trigger(\"change\"))}t.stopPropagation()}},{key:\"_handleInputClick\",value:function(){this.dropdown&&this.dropdown.isOpen&&(this._setValueToInput(),this._setSelectedStates())}},{key:\"_setupDropdown\",value:function(){var n=this;this.wrapper=document.createElement(\"div\"),d(this.wrapper).addClass(\"select-wrapper \"+this.options.classes),this.$el.before(d(this.wrapper)),this.wrapper.appendChild(this.el),this.el.disabled&&this.wrapper.classList.add(\"disabled\"),this.$selectOptions=this.$el.children(\"option, optgroup\"),this.dropdownOptions=document.createElement(\"ul\"),this.dropdownOptions.id=\"select-options-\"+M.guid(),d(this.dropdownOptions).addClass(\"dropdown-content select-dropdown \"+(this.isMultiple?\"multiple-select-dropdown\":\"\")),this.$selectOptions.length&&this.$selectOptions.each(function(t){if(d(t).is(\"option\")){var e=void 0;e=n.isMultiple?n._appendOptionWithIcon(n.$el,t,\"multiple\"):n._appendOptionWithIcon(n.$el,t),n._addOptionToValueDict(t,e)}else if(d(t).is(\"optgroup\")){var i=d(t).children(\"option\");d(n.dropdownOptions).append(d('<li class=\"optgroup\"><span>'+t.getAttribute(\"label\")+\"</span></li>\")[0]),i.each(function(t){var e=n._appendOptionWithIcon(n.$el,t,\"optgroup-option\");n._addOptionToValueDict(t,e)})}}),this.$el.after(this.dropdownOptions),this.input=document.createElement(\"input\"),d(this.input).addClass(\"select-dropdown dropdown-trigger\"),this.input.setAttribute(\"type\",\"text\"),this.input.setAttribute(\"readonly\",\"true\"),this.input.setAttribute(\"data-target\",this.dropdownOptions.id),this.el.disabled&&d(this.input).prop(\"disabled\",\"true\"),this.$el.before(this.input),this._setValueToInput();var t=d('<svg class=\"caret\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 10l5 5 5-5z\"/><path d=\"M0 0h24v24H0z\" fill=\"none\"/></svg>');if(this.$el.before(t[0]),!this.el.disabled){var e=d.extend({},this.options.dropdownOptions);e.onOpenEnd=function(t){var e=d(n.dropdownOptions).find(\".selected\").first();if(e.length&&(M.keyDown=!0,n.dropdown.focusedIndex=e.index(),n.dropdown._focusFocusedItem(),M.keyDown=!1,n.dropdown.isScrollable)){var i=e[0].getBoundingClientRect().top-n.dropdownOptions.getBoundingClientRect().top;i-=n.dropdownOptions.clientHeight/2,n.dropdownOptions.scrollTop=i}},this.isMultiple&&(e.closeOnClick=!1),this.dropdown=M.Dropdown.init(this.input,e)}this._setSelectedStates()}},{key:\"_addOptionToValueDict\",value:function(t,e){var i=Object.keys(this._valueDict).length,n=this.dropdownOptions.id+i,s={};e.id=n,s.el=t,s.optionEl=e,this._valueDict[n]=s}},{key:\"_removeDropdown\",value:function(){d(this.wrapper).find(\".caret\").remove(),d(this.input).remove(),d(this.dropdownOptions).remove(),d(this.wrapper).before(this.$el),d(this.wrapper).remove()}},{key:\"_appendOptionWithIcon\",value:function(t,e,i){var n=e.disabled?\"disabled \":\"\",s=\"optgroup-option\"===i?\"optgroup-option \":\"\",o=this.isMultiple?'<label><input type=\"checkbox\"'+n+'\"/><span>'+e.innerHTML+\"</span></label>\":e.innerHTML,a=d(\"<li></li>\"),r=d(\"<span></span>\");r.html(o),a.addClass(n+\" \"+s),a.append(r);var l=e.getAttribute(\"data-icon\");if(l){var h=d('<img alt=\"\" src=\"'+l+'\">');a.prepend(h)}return d(this.dropdownOptions).append(a[0]),a[0]}},{key:\"_toggleEntryFromArray\",value:function(t){var e=!this._keysSelected.hasOwnProperty(t),i=d(this._valueDict[t].optionEl);return e?this._keysSelected[t]=!0:delete this._keysSelected[t],i.toggleClass(\"selected\",e),i.find('input[type=\"checkbox\"]').prop(\"checked\",e),i.prop(\"selected\",e),e}},{key:\"_setValueToInput\",value:function(){var i=[];if(this.$el.find(\"option\").each(function(t){if(d(t).prop(\"selected\")){var e=d(t).text();i.push(e)}}),!i.length){var t=this.$el.find(\"option:disabled\").eq(0);t.length&&\"\"===t[0].value&&i.push(t.text())}this.input.value=i.join(\", \")}},{key:\"_setSelectedStates\",value:function(){for(var t in this._keysSelected={},this._valueDict){var e=this._valueDict[t],i=d(e.el).prop(\"selected\");d(e.optionEl).find('input[type=\"checkbox\"]').prop(\"checked\",i),i?(this._activateOption(d(this.dropdownOptions),d(e.optionEl)),this._keysSelected[t]=!0):d(e.optionEl).removeClass(\"selected\")}}},{key:\"_activateOption\",value:function(t,e){e&&(this.isMultiple||t.find(\"li.selected\").removeClass(\"selected\"),d(e).addClass(\"selected\"))}},{key:\"getSelectedValues\",value:function(){var t=[];for(var e in this._keysSelected)t.push(this._valueDict[e].el.value);return t}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_FormSelect}},{key:\"defaults\",get:function(){return e}}]),n}();M.FormSelect=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"formSelect\",\"M_FormSelect\")}(cash),function(s,e){\"use strict\";var i={},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Range=i).options=s.extend({},n.defaults,e),i._mousedown=!1,i._setupThumb(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:\"destroy\",value:function(){this._removeEventHandlers(),this._removeThumb(),this.el.M_Range=void 0}},{key:\"_setupEventHandlers\",value:function(){this._handleRangeChangeBound=this._handleRangeChange.bind(this),this._handleRangeMousedownTouchstartBound=this._handleRangeMousedownTouchstart.bind(this),this._handleRangeInputMousemoveTouchmoveBound=this._handleRangeInputMousemoveTouchmove.bind(this),this._handleRangeMouseupTouchendBound=this._handleRangeMouseupTouchend.bind(this),this._handleRangeBlurMouseoutTouchleaveBound=this._handleRangeBlurMouseoutTouchleave.bind(this),this.el.addEventListener(\"change\",this._handleRangeChangeBound),this.el.addEventListener(\"mousedown\",this._handleRangeMousedownTouchstartBound),this.el.addEventListener(\"touchstart\",this._handleRangeMousedownTouchstartBound),this.el.addEventListener(\"input\",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener(\"mousemove\",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener(\"touchmove\",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener(\"mouseup\",this._handleRangeMouseupTouchendBound),this.el.addEventListener(\"touchend\",this._handleRangeMouseupTouchendBound),this.el.addEventListener(\"blur\",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener(\"mouseout\",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener(\"touchleave\",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:\"_removeEventHandlers\",value:function(){this.el.removeEventListener(\"change\",this._handleRangeChangeBound),this.el.removeEventListener(\"mousedown\",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener(\"touchstart\",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener(\"input\",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener(\"mousemove\",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener(\"touchmove\",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener(\"mouseup\",this._handleRangeMouseupTouchendBound),this.el.removeEventListener(\"touchend\",this._handleRangeMouseupTouchendBound),this.el.removeEventListener(\"blur\",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener(\"mouseout\",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener(\"touchleave\",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:\"_handleRangeChange\",value:function(){s(this.value).html(this.$el.val()),s(this.thumb).hasClass(\"active\")||this._showRangeBubble();var t=this._calcRangeOffset();s(this.thumb).addClass(\"active\").css(\"left\",t+\"px\")}},{key:\"_handleRangeMousedownTouchstart\",value:function(t){if(s(this.value).html(this.$el.val()),this._mousedown=!0,this.$el.addClass(\"active\"),s(this.thumb).hasClass(\"active\")||this._showRangeBubble(),\"input\"!==t.type){var e=this._calcRangeOffset();s(this.thumb).addClass(\"active\").css(\"left\",e+\"px\")}}},{key:\"_handleRangeInputMousemoveTouchmove\",value:function(){if(this._mousedown){s(this.thumb).hasClass(\"active\")||this._showRangeBubble();var t=this._calcRangeOffset();s(this.thumb).addClass(\"active\").css(\"left\",t+\"px\"),s(this.value).html(this.$el.val())}}},{key:\"_handleRangeMouseupTouchend\",value:function(){this._mousedown=!1,this.$el.removeClass(\"active\")}},{key:\"_handleRangeBlurMouseoutTouchleave\",value:function(){if(!this._mousedown){var t=7+parseInt(this.$el.css(\"padding-left\"))+\"px\";s(this.thumb).hasClass(\"active\")&&(e.remove(this.thumb),e({targets:this.thumb,height:0,width:0,top:10,easing:\"easeOutQuad\",marginLeft:t,duration:100})),s(this.thumb).removeClass(\"active\")}}},{key:\"_setupThumb\",value:function(){this.thumb=document.createElement(\"span\"),this.value=document.createElement(\"span\"),s(this.thumb).addClass(\"thumb\"),s(this.value).addClass(\"value\"),s(this.thumb).append(this.value),this.$el.after(this.thumb)}},{key:\"_removeThumb\",value:function(){s(this.thumb).remove()}},{key:\"_showRangeBubble\",value:function(){var t=-7+parseInt(s(this.thumb).parent().css(\"padding-left\"))+\"px\";e.remove(this.thumb),e({targets:this.thumb,height:30,width:30,top:-30,marginLeft:t,duration:300,easing:\"easeOutQuint\"})}},{key:\"_calcRangeOffset\",value:function(){var t=this.$el.width()-15,e=parseFloat(this.$el.attr(\"max\"))||100,i=parseFloat(this.$el.attr(\"min\"))||0;return(parseFloat(this.$el.val())-i)/(e-i)*t}}],[{key:\"init\",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),\"init\",this).call(this,this,t,e)}},{key:\"getInstance\",value:function(t){return(t.jquery?t[0]:t).M_Range}},{key:\"defaults\",get:function(){return i}}]),n}();M.Range=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,\"range\",\"M_Range\"),t.init(s(\"input[type=range]\"))}(cash,M.anime);","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.meiosisSetup = void 0;\nvar setup_1 = require(\"./setup\");\nObject.defineProperty(exports, \"meiosisSetup\", { enumerable: true, get: function () { return setup_1.meiosisSetup; } });\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.meiosisSetup = void 0;\nconst simple_stream_1 = require(\"./simple-stream\");\nconst util_1 = require(\"./util\");\nconst mergerino_1 = __importDefault(require(\"mergerino\"));\nconst assoc = (prop, value, target) => {\n target[prop] = value;\n return target;\n};\nconst concatIfPresent = (target, source) => source ? target.concat(source) : target;\nconst assembleInitialState = (nestedComponents) => nestedComponents\n ? Object.keys(nestedComponents).reduce((result, key) => assoc(key, Object.assign({}, nestedComponents[key].initial, assembleInitialState(nestedComponents[key].nested)), result), {})\n : {};\nconst getInitialState = (app) => Object.assign({}, app.initial, assembleInitialState(app.nested));\nconst assembleView = (nestedComponents) => nestedComponents\n ? Object.keys(nestedComponents).reduce((result, key) => {\n const nestedApp = nestedComponents[key];\n if (nestedApp.view !== undefined) {\n const view = nestedApp.view;\n return assoc(key, {\n view: (cell, ...args) => view(cell.nest(key), ...args),\n nested: assembleView(nestedApp.nested)\n }, result);\n }\n return result;\n }, {})\n : {};\nconst getView = (app) => assembleView(app.nested);\nconst assembleServices = (nestedComponents, getCell = (cell) => cell, getState = (state) => state) => nestedComponents\n ? Object.keys(nestedComponents).reduce((result, key) => {\n var _a;\n const nextGetCell = (cell) => getCell(cell).nest(key);\n const nextGetState = (state) => getState(state)[key];\n const nestedApp = nestedComponents[key];\n return concatIfPresent(result, (_a = nestedApp.services) === null || _a === void 0 ? void 0 : _a.map((service) => ({\n onchange: (state) => (service.onchange ? service.onchange(nextGetState(state)) : state),\n run: (cell) => service.run(nextGetCell(cell))\n }))).concat(assembleServices(nestedApp.nested, nextGetCell, nextGetState));\n }, [])\n : [];\nconst getServices = (app) => concatIfPresent([], app.services).concat(assembleServices(app.nested));\nconst baseSetup = ({ stream, app }) => {\n if (!stream) {\n stream = simple_stream_1.simpleStream;\n }\n const safeApp = app || {};\n const initial = getInitialState(safeApp);\n const view = getView(safeApp);\n const createStream = typeof stream === 'function' ? stream : stream.stream;\n const scan = stream.scan;\n const update = createStream();\n const states = scan((state, patch) => (0, mergerino_1.default)(state, patch), initial, update);\n return {\n states,\n update,\n view\n };\n};\nconst nestPatch = (patch, prop) => ({ [prop]: patch });\nconst nestUpdate = (parentUpdate, prop) => (patch) => parentUpdate(nestPatch(patch, prop));\nconst nestCell = (states, parentUpdate, components) => (prop) => {\n const nestedStates = states.map((state) => state[prop]);\n const getNestedState = () => states()[prop];\n const nestedUpdate = nestUpdate(parentUpdate, prop);\n const nestedComponents = (0, util_1.get)(components, [prop, 'nested']);\n return {\n states: nestedStates,\n state: getNestedState(),\n getState: getNestedState,\n update: nestedUpdate,\n nest: nestCell(nestedStates, nestedUpdate, nestedComponents),\n nested: nestedComponents\n };\n};\n/**\n * Helper to setup the Meiosis pattern with [Mergerino](https://github.com/fuzetsu/mergerino).\n *\n * @template S the State type.\n *\n * @param config the Meiosis config for use with Mergerino\n *\n * @returns a stream of Meiosis cells.\n */\nconst meiosisSetup = (config) => {\n const stream = config === null || config === void 0 ? void 0 : config.stream;\n const app = config === null || config === void 0 ? void 0 : config.app;\n const { states, update, view } = baseSetup({\n stream,\n app\n });\n const nest = nestCell(states, update, view);\n const getState = () => states();\n const getCell = (state) => ({ states, state, getState, update, nest, nested: view });\n const dropRepeats = (0, simple_stream_1.createDropRepeats)(stream);\n if (app) {\n getServices(app).forEach((service) => {\n dropRepeats(states, service.onchange).map((state) => service.run(getCell(state)));\n });\n }\n const cells = dropRepeats(states).map(getCell);\n return cells;\n};\nexports.meiosisSetup = meiosisSetup;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.dropRepeats = exports.createDropRepeats = exports.simpleStream = exports.scan = exports.stream = void 0;\n/**\n * Creates a stream.\n *\n * @template T the type of the stream's values.\n *\n * @param initial the stream's initial value.\n *\n * @returns the created stream.\n */\nconst stream = (initial) => {\n const mapFunctions = [];\n let latestValue = initial;\n const createdStream = function (value) {\n if (arguments.length > 0 && !createdStream.ended) {\n latestValue = value;\n for (const i in mapFunctions) {\n // credit @cmnstmntmn for discovering this bug.\n // Make sure to send the latest value.\n // Otherwise, if f1 triggers another update, f2 will be called with value2 and\n // then value1 (old value).\n mapFunctions[i](latestValue);\n }\n }\n return latestValue;\n };\n createdStream.map = (mapFunction) => {\n const newStream = (0, exports.stream)();\n const mappedFunction = (value) => {\n newStream(mapFunction(value));\n };\n mapFunctions.push(mappedFunction);\n newStream.end = (_value) => {\n const idx = mapFunctions.indexOf(mappedFunction);\n newStream.ended = true;\n mapFunctions.splice(idx, 1);\n };\n if (latestValue !== undefined) {\n newStream(mapFunction(latestValue));\n }\n return newStream;\n };\n createdStream.end = (_value) => {\n createdStream.ended = true;\n };\n return createdStream;\n};\nexports.stream = stream;\n/**\n * Creates a new stream that starts with the initial value and, for each value arriving onto the\n * source stream, emits the result of calling the accumulator function with the latest result and\n * the source stream value.\n */\nconst scan = (accumulator, initial, sourceStream) => {\n const newStream = (0, exports.stream)(initial);\n let accumulated = initial;\n sourceStream.map((value) => {\n accumulated = accumulator(accumulated, value);\n newStream(accumulated);\n });\n return newStream;\n};\nexports.scan = scan;\nexports.simpleStream = {\n stream: exports.stream,\n scan: exports.scan\n};\n/**\n * Credit: James Forbes (https://james-forbes.com/)\n *\n * Creates a `dropRepeats` function, which returns new stream that drops repeated values from the\n * source stream.\n *\n * @param stream the stream library, defaults to simpleStream.\n */\nconst createDropRepeats = (stream = exports.simpleStream) => \n/**\n * @param source the source stream.\n * @param onchange function that receives the current state of the source stream and returns the\n * value for which changes will emit onto the returned stream.\n * @returns a stream that does not emit repeated values.\n */\n(source, onchange = (state) => state) => {\n const createStream = typeof stream === 'function' ? stream : stream.stream;\n let prev = undefined;\n const result = createStream();\n source.map((state) => {\n const next = onchange(state);\n if (next !== prev) {\n prev = next;\n result(state);\n }\n });\n return result;\n};\nexports.createDropRepeats = createDropRepeats;\n/**\n * `dropRepeats` function that uses `simpleStream`.\n */\nexports.dropRepeats = (0, exports.createDropRepeats)();\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.updateFormFloatValue = exports.updateFormIntValue = exports.updateFormValue = exports.get = void 0;\n/**\n * Safely gets a property path from an object. The path is an array. If any property along the path\n * is `undefined`, the function returns `undefined`.\n *\n * @param object the object on which to get the property.\n * @param path the property path.\n *\n * @returns the property value, or `undefined` if any property along the path is `undefined`.\n */\nconst get = (object, path) => path.reduce((obj, key) => (obj == undefined ? undefined : obj[key]), object);\nexports.get = get;\nconst intoPath = (path, value) => ({\n [path[0]]: path.length === 1 ? value : intoPath(path.slice(1), value)\n});\nconst toPath = (pathOrProp) => Array.isArray(pathOrProp) ? pathOrProp : [pathOrProp];\nconst updateParseValue = (parseFn, cell, path) => (evt) => {\n const value = parseFn(evt.currentTarget.value);\n if (!isNaN(value)) {\n cell.update(intoPath(toPath(path), value));\n }\n};\n/**\n * Convenience function to update a form value. Pass the Meiosis cell and the state property (such\n * as `'firstName'`) or path (such as `['person', 'firstName']`) into which to update the value.\n * Returns a function that you can pass to a DOM handler, such as `oninput` (Mithril) or `onInput`\n * (Preact, React). For example:\n *\n * ```js\n * // Using Mithil\n * m('input[type=text]', { oninput: updateFormValue(cell, 'firstName') })\n *\n * // Using Preact/React\n * <input type=\"text\" onInput={updateFormValue(cell, ['person', 'firstName'])}/>\n * ```\n *\n * @param cell the Meiosis cell.\n * @param path the property or path into which to update the value.\n * @param fn (optional) a function to modify the value before updating it.\n *\n * @returns a function that accepts a DOM event and updates the value on the Meiosis state.\n */\nconst updateFormValue = (cell, path, fn = (value) => value) => (evt) => cell.update(intoPath(toPath(path), fn(evt.currentTarget.value)));\nexports.updateFormValue = updateFormValue;\n/**\n * Convenience function to update a form value with an Integer value. If the user input does not\n * return a number with `parseInt`, no state change occurs. Pass the Meiosis cell and the state\n * property (such as `'counter'`) or path (such as `['book', 'counter']`) into which to update the\n * value. Returns a function that you can pass to a DOM handler, such as `oninput` (Mithril) or\n * `onInput` (Preact, React). For example:\n *\n * ```js\n * // Using Mithil\n * m('input[type=text]', { oninput: updateFormIntValue(cell, 'counter') })\n *\n * // Using Preact/React\n * <input type=\"text\" onInput={updateFormIntValue(cell, ['book', 'counter'])}/>\n * ```\n *\n * @param cell the Meiosis cell.\n * @param path the property or path into which to update the value.\n *\n * @returns a function that accepts a DOM event and updates the value on the Meiosis state.\n */\nconst updateFormIntValue = (cell, path) => (evt) => updateParseValue(parseInt, cell, path)(evt);\nexports.updateFormIntValue = updateFormIntValue;\n/**\n * Convenience function to update a form value with a Float value. If the user input does not return\n * a number with `parseFloat`, no state change occurs. Pass the Meiosis cell and the state property\n * (such as `'pH'`) or path (such as `['water', 'pH']`) into which to update the value. Returns a\n * function that you can pass to a DOM handler, such as `oninput` (Mithril) or `onInput` (Preact,\n * React). For example:\n *\n * ```js\n * // Using Mithil\n * m('input[type=text]', { oninput: updateFormFloatValue(cell, 'pH') })\n *\n * // Using Preact/React\n * <input type=\"text\" onInput={updateFormFloatValue(cell, ['water', 'pH'])}/>\n * ```\n *\n * @param cell the Meiosis cell.\n * @param path the property or path into which to update the value.\n *\n * @returns a function that accepts a DOM event and updates the value on the Meiosis state.\n */\nconst updateFormFloatValue = (cell, path) => (evt) => updateParseValue(parseFloat, cell, path)(evt);\nexports.updateFormFloatValue = updateFormFloatValue;\n","const e=Object.assign||((e,t)=>(t&&Object.keys(t).forEach(o=>e[o]=t[o]),e)),t=(e,r,s)=>{const c=typeof s;if(s&&\"object\"===c)if(Array.isArray(s))for(const o of s)r=t(e,r,o);else for(const c of Object.keys(s)){const f=s[c];\"function\"==typeof f?r[c]=f(r[c],o):void 0===f?e&&!isNaN(c)?r.splice(c,1):delete r[c]:null===f||\"object\"!=typeof f||Array.isArray(f)?r[c]=f:\"object\"==typeof r[c]?r[c]=f===r[c]?f:o(r[c],f):r[c]=t(!1,{},f)}else\"function\"===c&&(r=s(r,o));return r},o=(o,...r)=>{const s=Array.isArray(o);return t(s,s?o.slice():e({},o),r)};export default o;\n//# sourceMappingURL=mergerino.min.js.map","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\n\nmodule.exports = function(render, schedule, console) {\n\tvar subscriptions = []\n\tvar pending = false\n\tvar offset = -1\n\n\tfunction sync() {\n\t\tfor (offset = 0; offset < subscriptions.length; offset += 2) {\n\t\t\ttry { render(subscriptions[offset], Vnode(subscriptions[offset + 1]), redraw) }\n\t\t\tcatch (e) { console.error(e) }\n\t\t}\n\t\toffset = -1\n\t}\n\n\tfunction redraw() {\n\t\tif (!pending) {\n\t\t\tpending = true\n\t\t\tschedule(function() {\n\t\t\t\tpending = false\n\t\t\t\tsync()\n\t\t\t})\n\t\t}\n\t}\n\n\tredraw.sync = sync\n\n\tfunction mount(root, component) {\n\t\tif (component != null && component.view == null && typeof component !== \"function\") {\n\t\t\tthrow new TypeError(\"m.mount expects a component, not a vnode.\")\n\t\t}\n\n\t\tvar index = subscriptions.indexOf(root)\n\t\tif (index >= 0) {\n\t\t\tsubscriptions.splice(index, 2)\n\t\t\tif (index <= offset) offset -= 2\n\t\t\trender(root, [])\n\t\t}\n\n\t\tif (component != null) {\n\t\t\tsubscriptions.push(root, component)\n\t\t\trender(root, Vnode(component), redraw)\n\t\t}\n\t}\n\n\treturn {mount: mount, redraw: redraw}\n}\n","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\nvar m = require(\"../render/hyperscript\")\n\nvar buildPathname = require(\"../pathname/build\")\nvar parsePathname = require(\"../pathname/parse\")\nvar compileTemplate = require(\"../pathname/compileTemplate\")\nvar censor = require(\"../util/censor\")\n\nvar sentinel = {}\n\nfunction decodeURIComponentSave(component) {\n\ttry {\n\t\treturn decodeURIComponent(component)\n\t} catch(e) {\n\t\treturn component\n\t}\n}\n\nmodule.exports = function($window, mountRedraw) {\n\tvar callAsync = $window == null\n\t\t// In case Mithril.js' loaded globally without the DOM, let's not break\n\t\t? null\n\t\t: typeof $window.setImmediate === \"function\" ? $window.setImmediate : $window.setTimeout\n\tvar p = Promise.resolve()\n\n\tvar scheduled = false\n\n\t// state === 0: init\n\t// state === 1: scheduled\n\t// state === 2: done\n\tvar ready = false\n\tvar state = 0\n\n\tvar compiled, fallbackRoute\n\n\tvar currentResolver = sentinel, component, attrs, currentPath, lastUpdate\n\n\tvar RouterRoot = {\n\t\tonbeforeupdate: function() {\n\t\t\tstate = state ? 2 : 1\n\t\t\treturn !(!state || sentinel === currentResolver)\n\t\t},\n\t\tonremove: function() {\n\t\t\t$window.removeEventListener(\"popstate\", fireAsync, false)\n\t\t\t$window.removeEventListener(\"hashchange\", resolveRoute, false)\n\t\t},\n\t\tview: function() {\n\t\t\tif (!state || sentinel === currentResolver) return\n\t\t\t// Wrap in a fragment to preserve existing key semantics\n\t\t\tvar vnode = [Vnode(component, attrs.key, attrs)]\n\t\t\tif (currentResolver) vnode = currentResolver.render(vnode[0])\n\t\t\treturn vnode\n\t\t},\n\t}\n\n\tvar SKIP = route.SKIP = {}\n\n\tfunction resolveRoute() {\n\t\tscheduled = false\n\t\t// Consider the pathname holistically. The prefix might even be invalid,\n\t\t// but that's not our problem.\n\t\tvar prefix = $window.location.hash\n\t\tif (route.prefix[0] !== \"#\") {\n\t\t\tprefix = $window.location.search + prefix\n\t\t\tif (route.prefix[0] !== \"?\") {\n\t\t\t\tprefix = $window.location.pathname + prefix\n\t\t\t\tif (prefix[0] !== \"/\") prefix = \"/\" + prefix\n\t\t\t}\n\t\t}\n\t\t// This seemingly useless `.concat()` speeds up the tests quite a bit,\n\t\t// since the representation is consistently a relatively poorly\n\t\t// optimized cons string.\n\t\tvar path = prefix.concat()\n\t\t\t.replace(/(?:%[a-f89][a-f0-9])+/gim, decodeURIComponentSave)\n\t\t\t.slice(route.prefix.length)\n\t\tvar data = parsePathname(path)\n\n\t\tObject.assign(data.params, $window.history.state)\n\n\t\tfunction reject(e) {\n\t\t\tconsole.error(e)\n\t\t\tsetPath(fallbackRoute, null, {replace: true})\n\t\t}\n\n\t\tloop(0)\n\t\tfunction loop(i) {\n\t\t\t// state === 0: init\n\t\t\t// state === 1: scheduled\n\t\t\t// state === 2: done\n\t\t\tfor (; i < compiled.length; i++) {\n\t\t\t\tif (compiled[i].check(data)) {\n\t\t\t\t\tvar payload = compiled[i].component\n\t\t\t\t\tvar matchedRoute = compiled[i].route\n\t\t\t\t\tvar localComp = payload\n\t\t\t\t\tvar update = lastUpdate = function(comp) {\n\t\t\t\t\t\tif (update !== lastUpdate) return\n\t\t\t\t\t\tif (comp === SKIP) return loop(i + 1)\n\t\t\t\t\t\tcomponent = comp != null && (typeof comp.view === \"function\" || typeof comp === \"function\")? comp : \"div\"\n\t\t\t\t\t\tattrs = data.params, currentPath = path, lastUpdate = null\n\t\t\t\t\t\tcurrentResolver = payload.render ? payload : null\n\t\t\t\t\t\tif (state === 2) mountRedraw.redraw()\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tstate = 2\n\t\t\t\t\t\t\tmountRedraw.redraw.sync()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// There's no understating how much I *wish* I could\n\t\t\t\t\t// use `async`/`await` here...\n\t\t\t\t\tif (payload.view || typeof payload === \"function\") {\n\t\t\t\t\t\tpayload = {}\n\t\t\t\t\t\tupdate(localComp)\n\t\t\t\t\t}\n\t\t\t\t\telse if (payload.onmatch) {\n\t\t\t\t\t\tp.then(function () {\n\t\t\t\t\t\t\treturn payload.onmatch(data.params, path, matchedRoute)\n\t\t\t\t\t\t}).then(update, path === fallbackRoute ? null : reject)\n\t\t\t\t\t}\n\t\t\t\t\telse update(\"div\")\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (path === fallbackRoute) {\n\t\t\t\tthrow new Error(\"Could not resolve default route \" + fallbackRoute + \".\")\n\t\t\t}\n\t\t\tsetPath(fallbackRoute, null, {replace: true})\n\t\t}\n\t}\n\n\t// Set it unconditionally so `m.route.set` and `m.route.Link` both work,\n\t// even if neither `pushState` nor `hashchange` are supported. It's\n\t// cleared if `hashchange` is used, since that makes it automatically\n\t// async.\n\tfunction fireAsync() {\n\t\tif (!scheduled) {\n\t\t\tscheduled = true\n\t\t\t// TODO: just do `mountRedraw.redraw()` here and elide the timer\n\t\t\t// dependency. Note that this will muck with tests a *lot*, so it's\n\t\t\t// not as easy of a change as it sounds.\n\t\t\tcallAsync(resolveRoute)\n\t\t}\n\t}\n\n\tfunction setPath(path, data, options) {\n\t\tpath = buildPathname(path, data)\n\t\tif (ready) {\n\t\t\tfireAsync()\n\t\t\tvar state = options ? options.state : null\n\t\t\tvar title = options ? options.title : null\n\t\t\tif (options && options.replace) $window.history.replaceState(state, title, route.prefix + path)\n\t\t\telse $window.history.pushState(state, title, route.prefix + path)\n\t\t}\n\t\telse {\n\t\t\t$window.location.href = route.prefix + path\n\t\t}\n\t}\n\n\tfunction route(root, defaultRoute, routes) {\n\t\tif (!root) throw new TypeError(\"DOM element being rendered to does not exist.\")\n\n\t\tcompiled = Object.keys(routes).map(function(route) {\n\t\t\tif (route[0] !== \"/\") throw new SyntaxError(\"Routes must start with a '/'.\")\n\t\t\tif ((/:([^\\/\\.-]+)(\\.{3})?:/).test(route)) {\n\t\t\t\tthrow new SyntaxError(\"Route parameter names must be separated with either '/', '.', or '-'.\")\n\t\t\t}\n\t\t\treturn {\n\t\t\t\troute: route,\n\t\t\t\tcomponent: routes[route],\n\t\t\t\tcheck: compileTemplate(route),\n\t\t\t}\n\t\t})\n\t\tfallbackRoute = defaultRoute\n\t\tif (defaultRoute != null) {\n\t\t\tvar defaultData = parsePathname(defaultRoute)\n\n\t\t\tif (!compiled.some(function (i) { return i.check(defaultData) })) {\n\t\t\t\tthrow new ReferenceError(\"Default route doesn't match any known routes.\")\n\t\t\t}\n\t\t}\n\n\t\tif (typeof $window.history.pushState === \"function\") {\n\t\t\t$window.addEventListener(\"popstate\", fireAsync, false)\n\t\t} else if (route.prefix[0] === \"#\") {\n\t\t\t$window.addEventListener(\"hashchange\", resolveRoute, false)\n\t\t}\n\n\t\tready = true\n\t\tmountRedraw.mount(root, RouterRoot)\n\t\tresolveRoute()\n\t}\n\troute.set = function(path, data, options) {\n\t\tif (lastUpdate != null) {\n\t\t\toptions = options || {}\n\t\t\toptions.replace = true\n\t\t}\n\t\tlastUpdate = null\n\t\tsetPath(path, data, options)\n\t}\n\troute.get = function() {return currentPath}\n\troute.prefix = \"#!\"\n\troute.Link = {\n\t\tview: function(vnode) {\n\t\t\t// Omit the used parameters from the rendered element - they are\n\t\t\t// internal. Also, censor the various lifecycle methods.\n\t\t\t//\n\t\t\t// We don't strip the other parameters because for convenience we\n\t\t\t// let them be specified in the selector as well.\n\t\t\tvar child = m(\n\t\t\t\tvnode.attrs.selector || \"a\",\n\t\t\t\tcensor(vnode.attrs, [\"options\", \"params\", \"selector\", \"onclick\"]),\n\t\t\t\tvnode.children\n\t\t\t)\n\t\t\tvar options, onclick, href\n\n\t\t\t// Let's provide a *right* way to disable a route link, rather than\n\t\t\t// letting people screw up accessibility on accident.\n\t\t\t//\n\t\t\t// The attribute is coerced so users don't get surprised over\n\t\t\t// `disabled: 0` resulting in a button that's somehow routable\n\t\t\t// despite being visibly disabled.\n\t\t\tif (child.attrs.disabled = Boolean(child.attrs.disabled)) {\n\t\t\t\tchild.attrs.href = null\n\t\t\t\tchild.attrs[\"aria-disabled\"] = \"true\"\n\t\t\t\t// If you *really* do want add `onclick` on a disabled link, use\n\t\t\t\t// an `oncreate` hook to add it.\n\t\t\t} else {\n\t\t\t\toptions = vnode.attrs.options\n\t\t\t\tonclick = vnode.attrs.onclick\n\t\t\t\t// Easier to build it now to keep it isomorphic.\n\t\t\t\thref = buildPathname(child.attrs.href, vnode.attrs.params)\n\t\t\t\tchild.attrs.href = route.prefix + href\n\t\t\t\tchild.attrs.onclick = function(e) {\n\t\t\t\t\tvar result\n\t\t\t\t\tif (typeof onclick === \"function\") {\n\t\t\t\t\t\tresult = onclick.call(e.currentTarget, e)\n\t\t\t\t\t} else if (onclick == null || typeof onclick !== \"object\") {\n\t\t\t\t\t\t// do nothing\n\t\t\t\t\t} else if (typeof onclick.handleEvent === \"function\") {\n\t\t\t\t\t\tonclick.handleEvent(e)\n\t\t\t\t\t}\n\n\t\t\t\t\t// Adapted from React Router's implementation:\n\t\t\t\t\t// https://github.com/ReactTraining/react-router/blob/520a0acd48ae1b066eb0b07d6d4d1790a1d02482/packages/react-router-dom/modules/Link.js\n\t\t\t\t\t//\n\t\t\t\t\t// Try to be flexible and intuitive in how we handle links.\n\t\t\t\t\t// Fun fact: links aren't as obvious to get right as you\n\t\t\t\t\t// would expect. There's a lot more valid ways to click a\n\t\t\t\t\t// link than this, and one might want to not simply click a\n\t\t\t\t\t// link, but right click or command-click it to copy the\n\t\t\t\t\t// link target, etc. Nope, this isn't just for blind people.\n\t\t\t\t\tif (\n\t\t\t\t\t\t// Skip if `onclick` prevented default\n\t\t\t\t\t\tresult !== false && !e.defaultPrevented &&\n\t\t\t\t\t\t// Ignore everything but left clicks\n\t\t\t\t\t\t(e.button === 0 || e.which === 0 || e.which === 1) &&\n\t\t\t\t\t\t// Let the browser handle `target=_blank`, etc.\n\t\t\t\t\t\t(!e.currentTarget.target || e.currentTarget.target === \"_self\") &&\n\t\t\t\t\t\t// No modifier keys\n\t\t\t\t\t\t!e.ctrlKey && !e.metaKey && !e.shiftKey && !e.altKey\n\t\t\t\t\t) {\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\te.redraw = false\n\t\t\t\t\t\troute.set(href, null, options)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn child\n\t\t},\n\t}\n\troute.param = function(key) {\n\t\treturn attrs && key != null ? attrs[key] : attrs\n\t}\n\n\treturn route\n}\n","\"use strict\"\n\nvar hyperscript = require(\"./render/hyperscript\")\n\nhyperscript.trust = require(\"./render/trust\")\nhyperscript.fragment = require(\"./render/fragment\")\n\nmodule.exports = hyperscript\n","\"use strict\"\n\nvar hyperscript = require(\"./hyperscript\")\nvar request = require(\"./request\")\nvar mountRedraw = require(\"./mount-redraw\")\nvar domFor = require(\"./render/domFor\")\n\nvar m = function m() { return hyperscript.apply(this, arguments) }\nm.m = hyperscript\nm.trust = hyperscript.trust\nm.fragment = hyperscript.fragment\nm.Fragment = \"[\"\nm.mount = mountRedraw.mount\nm.route = require(\"./route\")\nm.render = require(\"./render\")\nm.redraw = mountRedraw.redraw\nm.request = request.request\nm.parseQueryString = require(\"./querystring/parse\")\nm.buildQueryString = require(\"./querystring/build\")\nm.parsePathname = require(\"./pathname/parse\")\nm.buildPathname = require(\"./pathname/build\")\nm.vnode = require(\"./render/vnode\")\nm.censor = require(\"./util/censor\")\nm.domFor = domFor.domFor\n\nmodule.exports = m\n","\"use strict\"\n\nvar render = require(\"./render\")\n\nmodule.exports = require(\"./api/mount-redraw\")(render, typeof requestAnimationFrame !== \"undefined\" ? requestAnimationFrame : null, typeof console !== \"undefined\" ? console : null)\n","\"use strict\"\n\nvar buildQueryString = require(\"../querystring/build\")\n\n// Returns `path` from `template` + `params`\nmodule.exports = function(template, params) {\n\tif ((/:([^\\/\\.-]+)(\\.{3})?:/).test(template)) {\n\t\tthrow new SyntaxError(\"Template parameter names must be separated by either a '/', '-', or '.'.\")\n\t}\n\tif (params == null) return template\n\tvar queryIndex = template.indexOf(\"?\")\n\tvar hashIndex = template.indexOf(\"#\")\n\tvar queryEnd = hashIndex < 0 ? template.length : hashIndex\n\tvar pathEnd = queryIndex < 0 ? queryEnd : queryIndex\n\tvar path = template.slice(0, pathEnd)\n\tvar query = {}\n\n\tObject.assign(query, params)\n\n\tvar resolved = path.replace(/:([^\\/\\.-]+)(\\.{3})?/g, function(m, key, variadic) {\n\t\tdelete query[key]\n\t\t// If no such parameter exists, don't interpolate it.\n\t\tif (params[key] == null) return m\n\t\t// Escape normal parameters, but not variadic ones.\n\t\treturn variadic ? params[key] : encodeURIComponent(String(params[key]))\n\t})\n\n\t// In case the template substitution adds new query/hash parameters.\n\tvar newQueryIndex = resolved.indexOf(\"?\")\n\tvar newHashIndex = resolved.indexOf(\"#\")\n\tvar newQueryEnd = newHashIndex < 0 ? resolved.length : newHashIndex\n\tvar newPathEnd = newQueryIndex < 0 ? newQueryEnd : newQueryIndex\n\tvar result = resolved.slice(0, newPathEnd)\n\n\tif (queryIndex >= 0) result += template.slice(queryIndex, queryEnd)\n\tif (newQueryIndex >= 0) result += (queryIndex < 0 ? \"?\" : \"&\") + resolved.slice(newQueryIndex, newQueryEnd)\n\tvar querystring = buildQueryString(query)\n\tif (querystring) result += (queryIndex < 0 && newQueryIndex < 0 ? \"?\" : \"&\") + querystring\n\tif (hashIndex >= 0) result += template.slice(hashIndex)\n\tif (newHashIndex >= 0) result += (hashIndex < 0 ? \"\" : \"&\") + resolved.slice(newHashIndex)\n\treturn result\n}\n","\"use strict\"\n\nvar parsePathname = require(\"./parse\")\n\n// Compiles a template into a function that takes a resolved path (without query\n// strings) and returns an object containing the template parameters with their\n// parsed values. This expects the input of the compiled template to be the\n// output of `parsePathname`. Note that it does *not* remove query parameters\n// specified in the template.\nmodule.exports = function(template) {\n\tvar templateData = parsePathname(template)\n\tvar templateKeys = Object.keys(templateData.params)\n\tvar keys = []\n\tvar regexp = new RegExp(\"^\" + templateData.path.replace(\n\t\t// I escape literal text so people can use things like `:file.:ext` or\n\t\t// `:lang-:locale` in routes. This is all merged into one pass so I\n\t\t// don't also accidentally escape `-` and make it harder to detect it to\n\t\t// ban it from template parameters.\n\t\t/:([^\\/.-]+)(\\.{3}|\\.(?!\\.)|-)?|[\\\\^$*+.()|\\[\\]{}]/g,\n\t\tfunction(m, key, extra) {\n\t\t\tif (key == null) return \"\\\\\" + m\n\t\t\tkeys.push({k: key, r: extra === \"...\"})\n\t\t\tif (extra === \"...\") return \"(.*)\"\n\t\t\tif (extra === \".\") return \"([^/]+)\\\\.\"\n\t\t\treturn \"([^/]+)\" + (extra || \"\")\n\t\t}\n\t) + \"$\")\n\treturn function(data) {\n\t\t// First, check the params. Usually, there isn't any, and it's just\n\t\t// checking a static set.\n\t\tfor (var i = 0; i < templateKeys.length; i++) {\n\t\t\tif (templateData.params[templateKeys[i]] !== data.params[templateKeys[i]]) return false\n\t\t}\n\t\t// If no interpolations exist, let's skip all the ceremony\n\t\tif (!keys.length) return regexp.test(data.path)\n\t\tvar values = regexp.exec(data.path)\n\t\tif (values == null) return false\n\t\tfor (var i = 0; i < keys.length; i++) {\n\t\t\tdata.params[keys[i].k] = keys[i].r ? values[i + 1] : decodeURIComponent(values[i + 1])\n\t\t}\n\t\treturn true\n\t}\n}\n","\"use strict\"\n\nvar parseQueryString = require(\"../querystring/parse\")\n\n// Returns `{path, params}` from `url`\nmodule.exports = function(url) {\n\tvar queryIndex = url.indexOf(\"?\")\n\tvar hashIndex = url.indexOf(\"#\")\n\tvar queryEnd = hashIndex < 0 ? url.length : hashIndex\n\tvar pathEnd = queryIndex < 0 ? queryEnd : queryIndex\n\tvar path = url.slice(0, pathEnd).replace(/\\/{2,}/g, \"/\")\n\n\tif (!path) path = \"/\"\n\telse {\n\t\tif (path[0] !== \"/\") path = \"/\" + path\n\t}\n\treturn {\n\t\tpath: path,\n\t\tparams: queryIndex < 0\n\t\t\t? {}\n\t\t\t: parseQueryString(url.slice(queryIndex + 1, queryEnd)),\n\t}\n}\n","\"use strict\"\n\nmodule.exports = function(object) {\n\tif (Object.prototype.toString.call(object) !== \"[object Object]\") return \"\"\n\n\tvar args = []\n\tfor (var key in object) {\n\t\tdestructure(key, object[key])\n\t}\n\n\treturn args.join(\"&\")\n\n\tfunction destructure(key, value) {\n\t\tif (Array.isArray(value)) {\n\t\t\tfor (var i = 0; i < value.length; i++) {\n\t\t\t\tdestructure(key + \"[\" + i + \"]\", value[i])\n\t\t\t}\n\t\t}\n\t\telse if (Object.prototype.toString.call(value) === \"[object Object]\") {\n\t\t\tfor (var i in value) {\n\t\t\t\tdestructure(key + \"[\" + i + \"]\", value[i])\n\t\t\t}\n\t\t}\n\t\telse args.push(encodeURIComponent(key) + (value != null && value !== \"\" ? \"=\" + encodeURIComponent(value) : \"\"))\n\t}\n}\n","\"use strict\"\n\nfunction decodeURIComponentSave(str) {\n\ttry {\n\t\treturn decodeURIComponent(str)\n\t} catch(err) {\n\t\treturn str\n\t}\n}\n\nmodule.exports = function(string) {\n\tif (string === \"\" || string == null) return {}\n\tif (string.charAt(0) === \"?\") string = string.slice(1)\n\n\tvar entries = string.split(\"&\"), counters = {}, data = {}\n\tfor (var i = 0; i < entries.length; i++) {\n\t\tvar entry = entries[i].split(\"=\")\n\t\tvar key = decodeURIComponentSave(entry[0])\n\t\tvar value = entry.length === 2 ? decodeURIComponentSave(entry[1]) : \"\"\n\n\t\tif (value === \"true\") value = true\n\t\telse if (value === \"false\") value = false\n\n\t\tvar levels = key.split(/\\]\\[?|\\[/)\n\t\tvar cursor = data\n\t\tif (key.indexOf(\"[\") > -1) levels.pop()\n\t\tfor (var j = 0; j < levels.length; j++) {\n\t\t\tvar level = levels[j], nextLevel = levels[j + 1]\n\t\t\tvar isNumber = nextLevel == \"\" || !isNaN(parseInt(nextLevel, 10))\n\t\t\tif (level === \"\") {\n\t\t\t\tvar key = levels.slice(0, j).join()\n\t\t\t\tif (counters[key] == null) {\n\t\t\t\t\tcounters[key] = Array.isArray(cursor) ? cursor.length : 0\n\t\t\t\t}\n\t\t\t\tlevel = counters[key]++\n\t\t\t}\n\t\t\t// Disallow direct prototype pollution\n\t\t\telse if (level === \"__proto__\") break\n\t\t\tif (j === levels.length - 1) cursor[level] = value\n\t\t\telse {\n\t\t\t\t// Read own properties exclusively to disallow indirect\n\t\t\t\t// prototype pollution\n\t\t\t\tvar desc = Object.getOwnPropertyDescriptor(cursor, level)\n\t\t\t\tif (desc != null) desc = desc.value\n\t\t\t\tif (desc == null) cursor[level] = desc = isNumber ? [] : {}\n\t\t\t\tcursor = desc\n\t\t\t}\n\t\t}\n\t}\n\treturn data\n}\n","\"use strict\"\n\nmodule.exports = require(\"./render/render\")(typeof window !== \"undefined\" ? window : null)\n","\"use strict\"\n\nvar delayedRemoval = new WeakMap\n\nfunction *domFor(vnode, object = {}) {\n\t// To avoid unintended mangling of the internal bundler,\n\t// parameter destructuring is not used here.\n\tvar dom = vnode.dom\n\tvar domSize = vnode.domSize\n\tvar generation = object.generation\n\tif (dom != null) do {\n\t\tvar nextSibling = dom.nextSibling\n\n\t\tif (delayedRemoval.get(dom) === generation) {\n\t\t\tyield dom\n\t\t\tdomSize--\n\t\t}\n\n\t\tdom = nextSibling\n\t}\n\twhile (domSize)\n}\n\nmodule.exports = {\n\tdelayedRemoval: delayedRemoval,\n\tdomFor: domFor,\n}\n","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\nvar hyperscriptVnode = require(\"./hyperscriptVnode\")\n\nmodule.exports = function() {\n\tvar vnode = hyperscriptVnode.apply(0, arguments)\n\n\tvnode.tag = \"[\"\n\tvnode.children = Vnode.normalizeChildren(vnode.children)\n\treturn vnode\n}\n","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\nvar hyperscriptVnode = require(\"./hyperscriptVnode\")\nvar hasOwn = require(\"../util/hasOwn\")\n\nvar selectorParser = /(?:(^|#|\\.)([^#\\.\\[\\]]+))|(\\[(.+?)(?:\\s*=\\s*(\"|'|)((?:\\\\[\"'\\]]|.)*?)\\5)?\\])/g\nvar selectorCache = Object.create(null)\n\nfunction isEmpty(object) {\n\tfor (var key in object) if (hasOwn.call(object, key)) return false\n\treturn true\n}\n\nfunction compileSelector(selector) {\n\tvar match, tag = \"div\", classes = [], attrs = {}\n\twhile (match = selectorParser.exec(selector)) {\n\t\tvar type = match[1], value = match[2]\n\t\tif (type === \"\" && value !== \"\") tag = value\n\t\telse if (type === \"#\") attrs.id = value\n\t\telse if (type === \".\") classes.push(value)\n\t\telse if (match[3][0] === \"[\") {\n\t\t\tvar attrValue = match[6]\n\t\t\tif (attrValue) attrValue = attrValue.replace(/\\\\([\"'])/g, \"$1\").replace(/\\\\\\\\/g, \"\\\\\")\n\t\t\tif (match[4] === \"class\") classes.push(attrValue)\n\t\t\telse attrs[match[4]] = attrValue === \"\" ? attrValue : attrValue || true\n\t\t}\n\t}\n\tif (classes.length > 0) attrs.className = classes.join(\" \")\n\tif (isEmpty(attrs)) attrs = null\n\treturn selectorCache[selector] = {tag: tag, attrs: attrs}\n}\n\nfunction execSelector(state, vnode) {\n\tvar attrs = vnode.attrs\n\tvar hasClass = hasOwn.call(attrs, \"class\")\n\tvar className = hasClass ? attrs.class : attrs.className\n\n\tvnode.tag = state.tag\n\n\tif (state.attrs != null) {\n\t\tattrs = Object.assign({}, state.attrs, attrs)\n\n\t\tif (className != null || state.attrs.className != null) attrs.className =\n\t\t\tclassName != null\n\t\t\t\t? state.attrs.className != null\n\t\t\t\t\t? String(state.attrs.className) + \" \" + String(className)\n\t\t\t\t\t: className\n\t\t\t\t: state.attrs.className != null\n\t\t\t\t\t? state.attrs.className\n\t\t\t\t\t: null\n\t} else {\n\t\tif (className != null) attrs.className = className\n\t}\n\n\tif (hasClass) attrs.class = null\n\n\t// workaround for #2622 (reorder keys in attrs to set \"type\" first)\n\t// The DOM does things to inputs based on the \"type\", so it needs set first.\n\t// See: https://github.com/MithrilJS/mithril.js/issues/2622\n\tif (state.tag === \"input\" && hasOwn.call(attrs, \"type\")) {\n\t\tattrs = Object.assign({type: attrs.type}, attrs)\n\t}\n\n\tvnode.attrs = attrs\n\n\treturn vnode\n}\n\nfunction hyperscript(selector) {\n\tif (selector == null || typeof selector !== \"string\" && typeof selector !== \"function\" && typeof selector.view !== \"function\") {\n\t\tthrow Error(\"The selector must be either a string or a component.\");\n\t}\n\n\tvar vnode = hyperscriptVnode.apply(1, arguments)\n\n\tif (typeof selector === \"string\") {\n\t\tvnode.children = Vnode.normalizeChildren(vnode.children)\n\t\tif (selector !== \"[\") return execSelector(selectorCache[selector] || compileSelector(selector), vnode)\n\t}\n\n\tvnode.tag = selector\n\treturn vnode\n}\n\nmodule.exports = hyperscript\n","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\n\n// Call via `hyperscriptVnode.apply(startOffset, arguments)`\n//\n// The reason I do it this way, forwarding the arguments and passing the start\n// offset in `this`, is so I don't have to create a temporary array in a\n// performance-critical path.\n//\n// In native ES6, I'd instead add a final `...args` parameter to the\n// `hyperscript` and `fragment` factories and define this as\n// `hyperscriptVnode(...args)`, since modern engines do optimize that away. But\n// ES5 (what Mithril.js requires thanks to IE support) doesn't give me that luxury,\n// and engines aren't nearly intelligent enough to do either of these:\n//\n// 1. Elide the allocation for `[].slice.call(arguments, 1)` when it's passed to\n// another function only to be indexed.\n// 2. Elide an `arguments` allocation when it's passed to any function other\n// than `Function.prototype.apply` or `Reflect.apply`.\n//\n// In ES6, it'd probably look closer to this (I'd need to profile it, though):\n// module.exports = function(attrs, ...children) {\n// if (attrs == null || typeof attrs === \"object\" && attrs.tag == null && !Array.isArray(attrs)) {\n// if (children.length === 1 && Array.isArray(children[0])) children = children[0]\n// } else {\n// children = children.length === 0 && Array.isArray(attrs) ? attrs : [attrs, ...children]\n// attrs = undefined\n// }\n//\n// if (attrs == null) attrs = {}\n// return Vnode(\"\", attrs.key, attrs, children)\n// }\nmodule.exports = function() {\n\tvar attrs = arguments[this], start = this + 1, children\n\n\tif (attrs == null) {\n\t\tattrs = {}\n\t} else if (typeof attrs !== \"object\" || attrs.tag != null || Array.isArray(attrs)) {\n\t\tattrs = {}\n\t\tstart = this\n\t}\n\n\tif (arguments.length === start + 1) {\n\t\tchildren = arguments[start]\n\t\tif (!Array.isArray(children)) children = [children]\n\t} else {\n\t\tchildren = []\n\t\twhile (start < arguments.length) children.push(arguments[start++])\n\t}\n\n\treturn Vnode(\"\", attrs.key, attrs, children)\n}\n","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\nvar df = require(\"../render/domFor\")\nvar delayedRemoval = df.delayedRemoval\nvar domFor = df.domFor\n\nmodule.exports = function() {\n\tvar nameSpace = {\n\t\tsvg: \"http://www.w3.org/2000/svg\",\n\t\tmath: \"http://www.w3.org/1998/Math/MathML\"\n\t}\n\n\tvar currentRedraw\n\tvar currentRender\n\n\tfunction getDocument(dom) {\n\t\treturn dom.ownerDocument;\n\t}\n\n\tfunction getNameSpace(vnode) {\n\t\treturn vnode.attrs && vnode.attrs.xmlns || nameSpace[vnode.tag]\n\t}\n\n\t//sanity check to discourage people from doing `vnode.state = ...`\n\tfunction checkState(vnode, original) {\n\t\tif (vnode.state !== original) throw new Error(\"'vnode.state' must not be modified.\")\n\t}\n\n\t//Note: the hook is passed as the `this` argument to allow proxying the\n\t//arguments without requiring a full array allocation to do so. It also\n\t//takes advantage of the fact the current `vnode` is the first argument in\n\t//all lifecycle methods.\n\tfunction callHook(vnode) {\n\t\tvar original = vnode.state\n\t\ttry {\n\t\t\treturn this.apply(original, arguments)\n\t\t} finally {\n\t\t\tcheckState(vnode, original)\n\t\t}\n\t}\n\n\t// IE11 (at least) throws an UnspecifiedError when accessing document.activeElement when\n\t// inside an iframe. Catch and swallow this error, and heavy-handidly return null.\n\tfunction activeElement(dom) {\n\t\ttry {\n\t\t\treturn getDocument(dom).activeElement\n\t\t} catch (e) {\n\t\t\treturn null\n\t\t}\n\t}\n\t//create\n\tfunction createNodes(parent, vnodes, start, end, hooks, nextSibling, ns) {\n\t\tfor (var i = start; i < end; i++) {\n\t\t\tvar vnode = vnodes[i]\n\t\t\tif (vnode != null) {\n\t\t\t\tcreateNode(parent, vnode, hooks, ns, nextSibling)\n\t\t\t}\n\t\t}\n\t}\n\tfunction createNode(parent, vnode, hooks, ns, nextSibling) {\n\t\tvar tag = vnode.tag\n\t\tif (typeof tag === \"string\") {\n\t\t\tvnode.state = {}\n\t\t\tif (vnode.attrs != null) initLifecycle(vnode.attrs, vnode, hooks)\n\t\t\tswitch (tag) {\n\t\t\t\tcase \"#\": createText(parent, vnode, nextSibling); break\n\t\t\t\tcase \"<\": createHTML(parent, vnode, ns, nextSibling); break\n\t\t\t\tcase \"[\": createFragment(parent, vnode, hooks, ns, nextSibling); break\n\t\t\t\tdefault: createElement(parent, vnode, hooks, ns, nextSibling)\n\t\t\t}\n\t\t}\n\t\telse createComponent(parent, vnode, hooks, ns, nextSibling)\n\t}\n\tfunction createText(parent, vnode, nextSibling) {\n\t\tvnode.dom = getDocument(parent).createTextNode(vnode.children)\n\t\tinsertDOM(parent, vnode.dom, nextSibling)\n\t}\n\tvar possibleParents = {caption: \"table\", thead: \"table\", tbody: \"table\", tfoot: \"table\", tr: \"tbody\", th: \"tr\", td: \"tr\", colgroup: \"table\", col: \"colgroup\"}\n\tfunction createHTML(parent, vnode, ns, nextSibling) {\n\t\tvar match = vnode.children.match(/^\\s*?<(\\w+)/im) || []\n\t\t// not using the proper parent makes the child element(s) vanish.\n\t\t// var div = document.createElement(\"div\")\n\t\t// div.innerHTML = \"<td>i</td><td>j</td>\"\n\t\t// console.log(div.innerHTML)\n\t\t// --> \"ij\", no <td> in sight.\n\t\tvar temp = getDocument(parent).createElement(possibleParents[match[1]] || \"div\")\n\t\tif (ns === \"http://www.w3.org/2000/svg\") {\n\t\t\ttemp.innerHTML = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\">\" + vnode.children + \"</svg>\"\n\t\t\ttemp = temp.firstChild\n\t\t} else {\n\t\t\ttemp.innerHTML = vnode.children\n\t\t}\n\t\tvnode.dom = temp.firstChild\n\t\tvnode.domSize = temp.childNodes.length\n\t\t// Capture nodes to remove, so we don't confuse them.\n\t\tvar fragment = getDocument(parent).createDocumentFragment()\n\t\tvar child\n\t\twhile (child = temp.firstChild) {\n\t\t\tfragment.appendChild(child)\n\t\t}\n\t\tinsertDOM(parent, fragment, nextSibling)\n\t}\n\tfunction createFragment(parent, vnode, hooks, ns, nextSibling) {\n\t\tvar fragment = getDocument(parent).createDocumentFragment()\n\t\tif (vnode.children != null) {\n\t\t\tvar children = vnode.children\n\t\t\tcreateNodes(fragment, children, 0, children.length, hooks, null, ns)\n\t\t}\n\t\tvnode.dom = fragment.firstChild\n\t\tvnode.domSize = fragment.childNodes.length\n\t\tinsertDOM(parent, fragment, nextSibling)\n\t}\n\tfunction createElement(parent, vnode, hooks, ns, nextSibling) {\n\t\tvar tag = vnode.tag\n\t\tvar attrs = vnode.attrs\n\t\tvar is = attrs && attrs.is\n\n\t\tns = getNameSpace(vnode) || ns\n\n\t\tvar element = ns ?\n\t\t\tis ? getDocument(parent).createElementNS(ns, tag, {is: is}) : getDocument(parent).createElementNS(ns, tag) :\n\t\t\tis ? getDocument(parent).createElement(tag, {is: is}) : getDocument(parent).createElement(tag)\n\t\tvnode.dom = element\n\n\t\tif (attrs != null) {\n\t\t\tsetAttrs(vnode, attrs, ns)\n\t\t}\n\n\t\tinsertDOM(parent, element, nextSibling)\n\n\t\tif (!maybeSetContentEditable(vnode)) {\n\t\t\tif (vnode.children != null) {\n\t\t\t\tvar children = vnode.children\n\t\t\t\tcreateNodes(element, children, 0, children.length, hooks, null, ns)\n\t\t\t\tif (vnode.tag === \"select\" && attrs != null) setLateSelectAttrs(vnode, attrs)\n\t\t\t}\n\t\t}\n\t}\n\tfunction initComponent(vnode, hooks) {\n\t\tvar sentinel\n\t\tif (typeof vnode.tag.view === \"function\") {\n\t\t\tvnode.state = Object.create(vnode.tag)\n\t\t\tsentinel = vnode.state.view\n\t\t\tif (sentinel.$$reentrantLock$$ != null) return\n\t\t\tsentinel.$$reentrantLock$$ = true\n\t\t} else {\n\t\t\tvnode.state = void 0\n\t\t\tsentinel = vnode.tag\n\t\t\tif (sentinel.$$reentrantLock$$ != null) return\n\t\t\tsentinel.$$reentrantLock$$ = true\n\t\t\tvnode.state = (vnode.tag.prototype != null && typeof vnode.tag.prototype.view === \"function\") ? new vnode.tag(vnode) : vnode.tag(vnode)\n\t\t}\n\t\tinitLifecycle(vnode.state, vnode, hooks)\n\t\tif (vnode.attrs != null) initLifecycle(vnode.attrs, vnode, hooks)\n\t\tvnode.instance = Vnode.normalize(callHook.call(vnode.state.view, vnode))\n\t\tif (vnode.instance === vnode) throw Error(\"A view cannot return the vnode it received as argument\")\n\t\tsentinel.$$reentrantLock$$ = null\n\t}\n\tfunction createComponent(parent, vnode, hooks, ns, nextSibling) {\n\t\tinitComponent(vnode, hooks)\n\t\tif (vnode.instance != null) {\n\t\t\tcreateNode(parent, vnode.instance, hooks, ns, nextSibling)\n\t\t\tvnode.dom = vnode.instance.dom\n\t\t\tvnode.domSize = vnode.dom != null ? vnode.instance.domSize : 0\n\t\t}\n\t\telse {\n\t\t\tvnode.domSize = 0\n\t\t}\n\t}\n\n\t//update\n\t/**\n\t * @param {Element|Fragment} parent - the parent element\n\t * @param {Vnode[] | null} old - the list of vnodes of the last `render()` call for\n\t * this part of the tree\n\t * @param {Vnode[] | null} vnodes - as above, but for the current `render()` call.\n\t * @param {Function[]} hooks - an accumulator of post-render hooks (oncreate/onupdate)\n\t * @param {Element | null} nextSibling - the next DOM node if we're dealing with a\n\t * fragment that is not the last item in its\n\t * parent\n\t * @param {'svg' | 'math' | String | null} ns) - the current XML namespace, if any\n\t * @returns void\n\t */\n\t// This function diffs and patches lists of vnodes, both keyed and unkeyed.\n\t//\n\t// We will:\n\t//\n\t// 1. describe its general structure\n\t// 2. focus on the diff algorithm optimizations\n\t// 3. discuss DOM node operations.\n\n\t// ## Overview:\n\t//\n\t// The updateNodes() function:\n\t// - deals with trivial cases\n\t// - determines whether the lists are keyed or unkeyed based on the first non-null node\n\t// of each list.\n\t// - diffs them and patches the DOM if needed (that's the brunt of the code)\n\t// - manages the leftovers: after diffing, are there:\n\t// - old nodes left to remove?\n\t// \t - new nodes to insert?\n\t// \t deal with them!\n\t//\n\t// The lists are only iterated over once, with an exception for the nodes in `old` that\n\t// are visited in the fourth part of the diff and in the `removeNodes` loop.\n\n\t// ## Diffing\n\t//\n\t// Reading https://github.com/localvoid/ivi/blob/ddc09d06abaef45248e6133f7040d00d3c6be853/packages/ivi/src/vdom/implementation.ts#L617-L837\n\t// may be good for context on longest increasing subsequence-based logic for moving nodes.\n\t//\n\t// In order to diff keyed lists, one has to\n\t//\n\t// 1) match nodes in both lists, per key, and update them accordingly\n\t// 2) create the nodes present in the new list, but absent in the old one\n\t// 3) remove the nodes present in the old list, but absent in the new one\n\t// 4) figure out what nodes in 1) to move in order to minimize the DOM operations.\n\t//\n\t// To achieve 1) one can create a dictionary of keys => index (for the old list), then iterate\n\t// over the new list and for each new vnode, find the corresponding vnode in the old list using\n\t// the map.\n\t// 2) is achieved in the same step: if a new node has no corresponding entry in the map, it is new\n\t// and must be created.\n\t// For the removals, we actually remove the nodes that have been updated from the old list.\n\t// The nodes that remain in that list after 1) and 2) have been performed can be safely removed.\n\t// The fourth step is a bit more complex and relies on the longest increasing subsequence (LIS)\n\t// algorithm.\n\t//\n\t// the longest increasing subsequence is the list of nodes that can remain in place. Imagine going\n\t// from `1,2,3,4,5` to `4,5,1,2,3` where the numbers are not necessarily the keys, but the indices\n\t// corresponding to the keyed nodes in the old list (keyed nodes `e,d,c,b,a` => `b,a,e,d,c` would\n\t// match the above lists, for example).\n\t//\n\t// In there are two increasing subsequences: `4,5` and `1,2,3`, the latter being the longest. We\n\t// can update those nodes without moving them, and only call `insertNode` on `4` and `5`.\n\t//\n\t// @localvoid adapted the algo to also support node deletions and insertions (the `lis` is actually\n\t// the longest increasing subsequence *of old nodes still present in the new list*).\n\t//\n\t// It is a general algorithm that is fireproof in all circumstances, but it requires the allocation\n\t// and the construction of a `key => oldIndex` map, and three arrays (one with `newIndex => oldIndex`,\n\t// the `LIS` and a temporary one to create the LIS).\n\t//\n\t// So we cheat where we can: if the tails of the lists are identical, they are guaranteed to be part of\n\t// the LIS and can be updated without moving them.\n\t//\n\t// If two nodes are swapped, they are guaranteed not to be part of the LIS, and must be moved (with\n\t// the exception of the last node if the list is fully reversed).\n\t//\n\t// ## Finding the next sibling.\n\t//\n\t// `updateNode()` and `createNode()` expect a nextSibling parameter to perform DOM operations.\n\t// When the list is being traversed top-down, at any index, the DOM nodes up to the previous\n\t// vnode reflect the content of the new list, whereas the rest of the DOM nodes reflect the old\n\t// list. The next sibling must be looked for in the old list using `getNextSibling(... oldStart + 1 ...)`.\n\t//\n\t// In the other scenarios (swaps, upwards traversal, map-based diff),\n\t// the new vnodes list is traversed upwards. The DOM nodes at the bottom of the list reflect the\n\t// bottom part of the new vnodes list, and we can use the `v.dom` value of the previous node\n\t// as the next sibling (cached in the `nextSibling` variable).\n\n\n\t// ## DOM node moves\n\t//\n\t// In most scenarios `updateNode()` and `createNode()` perform the DOM operations. However,\n\t// this is not the case if the node moved (second and fourth part of the diff algo). We move\n\t// the old DOM nodes before updateNode runs because it enables us to use the cached `nextSibling`\n\t// variable rather than fetching it using `getNextSibling()`.\n\n\tfunction updateNodes(parent, old, vnodes, hooks, nextSibling, ns) {\n\t\tif (old === vnodes || old == null && vnodes == null) return\n\t\telse if (old == null || old.length === 0) createNodes(parent, vnodes, 0, vnodes.length, hooks, nextSibling, ns)\n\t\telse if (vnodes == null || vnodes.length === 0) removeNodes(parent, old, 0, old.length)\n\t\telse {\n\t\t\tvar isOldKeyed = old[0] != null && old[0].key != null\n\t\t\tvar isKeyed = vnodes[0] != null && vnodes[0].key != null\n\t\t\tvar start = 0, oldStart = 0\n\t\t\tif (!isOldKeyed) while (oldStart < old.length && old[oldStart] == null) oldStart++\n\t\t\tif (!isKeyed) while (start < vnodes.length && vnodes[start] == null) start++\n\t\t\tif (isOldKeyed !== isKeyed) {\n\t\t\t\tremoveNodes(parent, old, oldStart, old.length)\n\t\t\t\tcreateNodes(parent, vnodes, start, vnodes.length, hooks, nextSibling, ns)\n\t\t\t} else if (!isKeyed) {\n\t\t\t\t// Don't index past the end of either list (causes deopts).\n\t\t\t\tvar commonLength = old.length < vnodes.length ? old.length : vnodes.length\n\t\t\t\t// Rewind if necessary to the first non-null index on either side.\n\t\t\t\t// We could alternatively either explicitly create or remove nodes when `start !== oldStart`\n\t\t\t\t// but that would be optimizing for sparse lists which are more rare than dense ones.\n\t\t\t\tstart = start < oldStart ? start : oldStart\n\t\t\t\tfor (; start < commonLength; start++) {\n\t\t\t\t\to = old[start]\n\t\t\t\t\tv = vnodes[start]\n\t\t\t\t\tif (o === v || o == null && v == null) continue\n\t\t\t\t\telse if (o == null) createNode(parent, v, hooks, ns, getNextSibling(old, start + 1, nextSibling))\n\t\t\t\t\telse if (v == null) removeNode(parent, o)\n\t\t\t\t\telse updateNode(parent, o, v, hooks, getNextSibling(old, start + 1, nextSibling), ns)\n\t\t\t\t}\n\t\t\t\tif (old.length > commonLength) removeNodes(parent, old, start, old.length)\n\t\t\t\tif (vnodes.length > commonLength) createNodes(parent, vnodes, start, vnodes.length, hooks, nextSibling, ns)\n\t\t\t} else {\n\t\t\t\t// keyed diff\n\t\t\t\tvar oldEnd = old.length - 1, end = vnodes.length - 1, map, o, v, oe, ve, topSibling\n\n\t\t\t\t// bottom-up\n\t\t\t\twhile (oldEnd >= oldStart && end >= start) {\n\t\t\t\t\toe = old[oldEnd]\n\t\t\t\t\tve = vnodes[end]\n\t\t\t\t\tif (oe.key !== ve.key) break\n\t\t\t\t\tif (oe !== ve) updateNode(parent, oe, ve, hooks, nextSibling, ns)\n\t\t\t\t\tif (ve.dom != null) nextSibling = ve.dom\n\t\t\t\t\toldEnd--, end--\n\t\t\t\t}\n\t\t\t\t// top-down\n\t\t\t\twhile (oldEnd >= oldStart && end >= start) {\n\t\t\t\t\to = old[oldStart]\n\t\t\t\t\tv = vnodes[start]\n\t\t\t\t\tif (o.key !== v.key) break\n\t\t\t\t\toldStart++, start++\n\t\t\t\t\tif (o !== v) updateNode(parent, o, v, hooks, getNextSibling(old, oldStart, nextSibling), ns)\n\t\t\t\t}\n\t\t\t\t// swaps and list reversals\n\t\t\t\twhile (oldEnd >= oldStart && end >= start) {\n\t\t\t\t\tif (start === end) break\n\t\t\t\t\tif (o.key !== ve.key || oe.key !== v.key) break\n\t\t\t\t\ttopSibling = getNextSibling(old, oldStart, nextSibling)\n\t\t\t\t\tmoveDOM(parent, oe, topSibling)\n\t\t\t\t\tif (oe !== v) updateNode(parent, oe, v, hooks, topSibling, ns)\n\t\t\t\t\tif (++start <= --end) moveDOM(parent, o, nextSibling)\n\t\t\t\t\tif (o !== ve) updateNode(parent, o, ve, hooks, nextSibling, ns)\n\t\t\t\t\tif (ve.dom != null) nextSibling = ve.dom\n\t\t\t\t\toldStart++; oldEnd--\n\t\t\t\t\toe = old[oldEnd]\n\t\t\t\t\tve = vnodes[end]\n\t\t\t\t\to = old[oldStart]\n\t\t\t\t\tv = vnodes[start]\n\t\t\t\t}\n\t\t\t\t// bottom up once again\n\t\t\t\twhile (oldEnd >= oldStart && end >= start) {\n\t\t\t\t\tif (oe.key !== ve.key) break\n\t\t\t\t\tif (oe !== ve) updateNode(parent, oe, ve, hooks, nextSibling, ns)\n\t\t\t\t\tif (ve.dom != null) nextSibling = ve.dom\n\t\t\t\t\toldEnd--, end--\n\t\t\t\t\toe = old[oldEnd]\n\t\t\t\t\tve = vnodes[end]\n\t\t\t\t}\n\t\t\t\tif (start > end) removeNodes(parent, old, oldStart, oldEnd + 1)\n\t\t\t\telse if (oldStart > oldEnd) createNodes(parent, vnodes, start, end + 1, hooks, nextSibling, ns)\n\t\t\t\telse {\n\t\t\t\t\t// inspired by ivi https://github.com/ivijs/ivi/ by Boris Kaul\n\t\t\t\t\tvar originalNextSibling = nextSibling, vnodesLength = end - start + 1, oldIndices = new Array(vnodesLength), li=0, i=0, pos = 2147483647, matched = 0, map, lisIndices\n\t\t\t\t\tfor (i = 0; i < vnodesLength; i++) oldIndices[i] = -1\n\t\t\t\t\tfor (i = end; i >= start; i--) {\n\t\t\t\t\t\tif (map == null) map = getKeyMap(old, oldStart, oldEnd + 1)\n\t\t\t\t\t\tve = vnodes[i]\n\t\t\t\t\t\tvar oldIndex = map[ve.key]\n\t\t\t\t\t\tif (oldIndex != null) {\n\t\t\t\t\t\t\tpos = (oldIndex < pos) ? oldIndex : -1 // becomes -1 if nodes were re-ordered\n\t\t\t\t\t\t\toldIndices[i-start] = oldIndex\n\t\t\t\t\t\t\toe = old[oldIndex]\n\t\t\t\t\t\t\told[oldIndex] = null\n\t\t\t\t\t\t\tif (oe !== ve) updateNode(parent, oe, ve, hooks, nextSibling, ns)\n\t\t\t\t\t\t\tif (ve.dom != null) nextSibling = ve.dom\n\t\t\t\t\t\t\tmatched++\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tnextSibling = originalNextSibling\n\t\t\t\t\tif (matched !== oldEnd - oldStart + 1) removeNodes(parent, old, oldStart, oldEnd + 1)\n\t\t\t\t\tif (matched === 0) createNodes(parent, vnodes, start, end + 1, hooks, nextSibling, ns)\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (pos === -1) {\n\t\t\t\t\t\t\t// the indices of the indices of the items that are part of the\n\t\t\t\t\t\t\t// longest increasing subsequence in the oldIndices list\n\t\t\t\t\t\t\tlisIndices = makeLisIndices(oldIndices)\n\t\t\t\t\t\t\tli = lisIndices.length - 1\n\t\t\t\t\t\t\tfor (i = end; i >= start; i--) {\n\t\t\t\t\t\t\t\tv = vnodes[i]\n\t\t\t\t\t\t\t\tif (oldIndices[i-start] === -1) createNode(parent, v, hooks, ns, nextSibling)\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tif (lisIndices[li] === i - start) li--\n\t\t\t\t\t\t\t\t\telse moveDOM(parent, v, nextSibling)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (v.dom != null) nextSibling = vnodes[i].dom\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfor (i = end; i >= start; i--) {\n\t\t\t\t\t\t\t\tv = vnodes[i]\n\t\t\t\t\t\t\t\tif (oldIndices[i-start] === -1) createNode(parent, v, hooks, ns, nextSibling)\n\t\t\t\t\t\t\t\tif (v.dom != null) nextSibling = vnodes[i].dom\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tfunction updateNode(parent, old, vnode, hooks, nextSibling, ns) {\n\t\tvar oldTag = old.tag, tag = vnode.tag\n\t\tif (oldTag === tag) {\n\t\t\tvnode.state = old.state\n\t\t\tvnode.events = old.events\n\t\t\tif (shouldNotUpdate(vnode, old)) return\n\t\t\tif (typeof oldTag === \"string\") {\n\t\t\t\tif (vnode.attrs != null) {\n\t\t\t\t\tupdateLifecycle(vnode.attrs, vnode, hooks)\n\t\t\t\t}\n\t\t\t\tswitch (oldTag) {\n\t\t\t\t\tcase \"#\": updateText(old, vnode); break\n\t\t\t\t\tcase \"<\": updateHTML(parent, old, vnode, ns, nextSibling); break\n\t\t\t\t\tcase \"[\": updateFragment(parent, old, vnode, hooks, nextSibling, ns); break\n\t\t\t\t\tdefault: updateElement(old, vnode, hooks, ns)\n\t\t\t\t}\n\t\t\t}\n\t\t\telse updateComponent(parent, old, vnode, hooks, nextSibling, ns)\n\t\t}\n\t\telse {\n\t\t\tremoveNode(parent, old)\n\t\t\tcreateNode(parent, vnode, hooks, ns, nextSibling)\n\t\t}\n\t}\n\tfunction updateText(old, vnode) {\n\t\tif (old.children.toString() !== vnode.children.toString()) {\n\t\t\told.dom.nodeValue = vnode.children\n\t\t}\n\t\tvnode.dom = old.dom\n\t}\n\tfunction updateHTML(parent, old, vnode, ns, nextSibling) {\n\t\tif (old.children !== vnode.children) {\n\t\t\tremoveDOM(parent, old, undefined)\n\t\t\tcreateHTML(parent, vnode, ns, nextSibling)\n\t\t}\n\t\telse {\n\t\t\tvnode.dom = old.dom\n\t\t\tvnode.domSize = old.domSize\n\t\t}\n\t}\n\tfunction updateFragment(parent, old, vnode, hooks, nextSibling, ns) {\n\t\tupdateNodes(parent, old.children, vnode.children, hooks, nextSibling, ns)\n\t\tvar domSize = 0, children = vnode.children\n\t\tvnode.dom = null\n\t\tif (children != null) {\n\t\t\tfor (var i = 0; i < children.length; i++) {\n\t\t\t\tvar child = children[i]\n\t\t\t\tif (child != null && child.dom != null) {\n\t\t\t\t\tif (vnode.dom == null) vnode.dom = child.dom\n\t\t\t\t\tdomSize += child.domSize || 1\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (domSize !== 1) vnode.domSize = domSize\n\t\t}\n\t}\n\tfunction updateElement(old, vnode, hooks, ns) {\n\t\tvar element = vnode.dom = old.dom\n\t\tns = getNameSpace(vnode) || ns\n\n\t\tupdateAttrs(vnode, old.attrs, vnode.attrs, ns)\n\t\tif (!maybeSetContentEditable(vnode)) {\n\t\t\tupdateNodes(element, old.children, vnode.children, hooks, null, ns)\n\t\t}\n\t}\n\tfunction updateComponent(parent, old, vnode, hooks, nextSibling, ns) {\n\t\tvnode.instance = Vnode.normalize(callHook.call(vnode.state.view, vnode))\n\t\tif (vnode.instance === vnode) throw Error(\"A view cannot return the vnode it received as argument\")\n\t\tupdateLifecycle(vnode.state, vnode, hooks)\n\t\tif (vnode.attrs != null) updateLifecycle(vnode.attrs, vnode, hooks)\n\t\tif (vnode.instance != null) {\n\t\t\tif (old.instance == null) createNode(parent, vnode.instance, hooks, ns, nextSibling)\n\t\t\telse updateNode(parent, old.instance, vnode.instance, hooks, nextSibling, ns)\n\t\t\tvnode.dom = vnode.instance.dom\n\t\t\tvnode.domSize = vnode.instance.domSize\n\t\t}\n\t\telse if (old.instance != null) {\n\t\t\tremoveNode(parent, old.instance)\n\t\t\tvnode.dom = undefined\n\t\t\tvnode.domSize = 0\n\t\t}\n\t\telse {\n\t\t\tvnode.dom = old.dom\n\t\t\tvnode.domSize = old.domSize\n\t\t}\n\t}\n\tfunction getKeyMap(vnodes, start, end) {\n\t\tvar map = Object.create(null)\n\t\tfor (; start < end; start++) {\n\t\t\tvar vnode = vnodes[start]\n\t\t\tif (vnode != null) {\n\t\t\t\tvar key = vnode.key\n\t\t\t\tif (key != null) map[key] = start\n\t\t\t}\n\t\t}\n\t\treturn map\n\t}\n\t// Lifted from ivi https://github.com/ivijs/ivi/\n\t// takes a list of unique numbers (-1 is special and can\n\t// occur multiple times) and returns an array with the indices\n\t// of the items that are part of the longest increasing\n\t// subsequence\n\tvar lisTemp = []\n\tfunction makeLisIndices(a) {\n\t\tvar result = [0]\n\t\tvar u = 0, v = 0, i = 0\n\t\tvar il = lisTemp.length = a.length\n\t\tfor (var i = 0; i < il; i++) lisTemp[i] = a[i]\n\t\tfor (var i = 0; i < il; ++i) {\n\t\t\tif (a[i] === -1) continue\n\t\t\tvar j = result[result.length - 1]\n\t\t\tif (a[j] < a[i]) {\n\t\t\t\tlisTemp[i] = j\n\t\t\t\tresult.push(i)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tu = 0\n\t\t\tv = result.length - 1\n\t\t\twhile (u < v) {\n\t\t\t\t// Fast integer average without overflow.\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tvar c = (u >>> 1) + (v >>> 1) + (u & v & 1)\n\t\t\t\tif (a[result[c]] < a[i]) {\n\t\t\t\t\tu = c + 1\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tv = c\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (a[i] < a[result[u]]) {\n\t\t\t\tif (u > 0) lisTemp[i] = result[u - 1]\n\t\t\t\tresult[u] = i\n\t\t\t}\n\t\t}\n\t\tu = result.length\n\t\tv = result[u - 1]\n\t\twhile (u-- > 0) {\n\t\t\tresult[u] = v\n\t\t\tv = lisTemp[v]\n\t\t}\n\t\tlisTemp.length = 0\n\t\treturn result\n\t}\n\n\tfunction getNextSibling(vnodes, i, nextSibling) {\n\t\tfor (; i < vnodes.length; i++) {\n\t\t\tif (vnodes[i] != null && vnodes[i].dom != null) return vnodes[i].dom\n\t\t}\n\t\treturn nextSibling\n\t}\n\n\t// This handles fragments with zombie children (removed from vdom, but persisted in DOM through onbeforeremove)\n\tfunction moveDOM(parent, vnode, nextSibling) {\n\t\tif (vnode.dom != null) {\n\t\t\tvar target\n\t\t\tif (vnode.domSize == null) {\n\t\t\t\t// don't allocate for the common case\n\t\t\t\ttarget = vnode.dom\n\t\t\t} else {\n\t\t\t\ttarget = getDocument(parent).createDocumentFragment()\n\t\t\t\tfor (var dom of domFor(vnode)) target.appendChild(dom)\n\t\t\t}\n\t\t\tinsertDOM(parent, target, nextSibling)\n\t\t}\n\t}\n\n\tfunction insertDOM(parent, dom, nextSibling) {\n\t\tif (nextSibling != null) parent.insertBefore(dom, nextSibling)\n\t\telse parent.appendChild(dom)\n\t}\n\n\tfunction maybeSetContentEditable(vnode) {\n\t\tif (vnode.attrs == null || (\n\t\t\tvnode.attrs.contenteditable == null && // attribute\n\t\t\tvnode.attrs.contentEditable == null // property\n\t\t)) return false\n\t\tvar children = vnode.children\n\t\tif (children != null && children.length === 1 && children[0].tag === \"<\") {\n\t\t\tvar content = children[0].children\n\t\t\tif (vnode.dom.innerHTML !== content) vnode.dom.innerHTML = content\n\t\t}\n\t\telse if (children != null && children.length !== 0) throw new Error(\"Child node of a contenteditable must be trusted.\")\n\t\treturn true\n\t}\n\n\t//remove\n\tfunction removeNodes(parent, vnodes, start, end) {\n\t\tfor (var i = start; i < end; i++) {\n\t\t\tvar vnode = vnodes[i]\n\t\t\tif (vnode != null) removeNode(parent, vnode)\n\t\t}\n\t}\n\tfunction removeNode(parent, vnode) {\n\t\tvar mask = 0\n\t\tvar original = vnode.state\n\t\tvar stateResult, attrsResult\n\t\tif (typeof vnode.tag !== \"string\" && typeof vnode.state.onbeforeremove === \"function\") {\n\t\t\tvar result = callHook.call(vnode.state.onbeforeremove, vnode)\n\t\t\tif (result != null && typeof result.then === \"function\") {\n\t\t\t\tmask = 1\n\t\t\t\tstateResult = result\n\t\t\t}\n\t\t}\n\t\tif (vnode.attrs && typeof vnode.attrs.onbeforeremove === \"function\") {\n\t\t\tvar result = callHook.call(vnode.attrs.onbeforeremove, vnode)\n\t\t\tif (result != null && typeof result.then === \"function\") {\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tmask |= 2\n\t\t\t\tattrsResult = result\n\t\t\t}\n\t\t}\n\t\tcheckState(vnode, original)\n\t\tvar generation\n\t\t// If we can, try to fast-path it and avoid all the overhead of awaiting\n\t\tif (!mask) {\n\t\t\tonremove(vnode)\n\t\t\tremoveDOM(parent, vnode, generation)\n\t\t} else {\n\t\t\tgeneration = currentRender\n\t\t\tfor (var dom of domFor(vnode)) delayedRemoval.set(dom, generation)\n\t\t\tif (stateResult != null) {\n\t\t\t\tstateResult.finally(function () {\n\t\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\t\tif (mask & 1) {\n\t\t\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\t\t\tmask &= 2\n\t\t\t\t\t\tif (!mask) {\n\t\t\t\t\t\t\tcheckState(vnode, original)\n\t\t\t\t\t\t\tonremove(vnode)\n\t\t\t\t\t\t\tremoveDOM(parent, vnode, generation)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t\tif (attrsResult != null) {\n\t\t\t\tattrsResult.finally(function () {\n\t\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\t\tif (mask & 2) {\n\t\t\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\t\t\tmask &= 1\n\t\t\t\t\t\tif (!mask) {\n\t\t\t\t\t\t\tcheckState(vnode, original)\n\t\t\t\t\t\t\tonremove(vnode)\n\t\t\t\t\t\t\tremoveDOM(parent, vnode, generation)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\tfunction removeDOM(parent, vnode, generation) {\n\t\tif (vnode.dom == null) return\n\t\tif (vnode.domSize == null) {\n\t\t\t// don't allocate for the common case\n\t\t\tif (delayedRemoval.get(vnode.dom) === generation) parent.removeChild(vnode.dom)\n\t\t} else {\n\t\t\tfor (var dom of domFor(vnode, {generation})) parent.removeChild(dom)\n\t\t}\n\t}\n\n\tfunction onremove(vnode) {\n\t\tif (typeof vnode.tag !== \"string\" && typeof vnode.state.onremove === \"function\") callHook.call(vnode.state.onremove, vnode)\n\t\tif (vnode.attrs && typeof vnode.attrs.onremove === \"function\") callHook.call(vnode.attrs.onremove, vnode)\n\t\tif (typeof vnode.tag !== \"string\") {\n\t\t\tif (vnode.instance != null) onremove(vnode.instance)\n\t\t} else {\n\t\t\tvar children = vnode.children\n\t\t\tif (Array.isArray(children)) {\n\t\t\t\tfor (var i = 0; i < children.length; i++) {\n\t\t\t\t\tvar child = children[i]\n\t\t\t\t\tif (child != null) onremove(child)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t//attrs\n\tfunction setAttrs(vnode, attrs, ns) {\n\t\tfor (var key in attrs) {\n\t\t\tsetAttr(vnode, key, null, attrs[key], ns)\n\t\t}\n\t}\n\tfunction setAttr(vnode, key, old, value, ns) {\n\t\tif (key === \"key\" || key === \"is\" || value == null || isLifecycleMethod(key) || (old === value && !isFormAttribute(vnode, key)) && typeof value !== \"object\") return\n\t\tif (key[0] === \"o\" && key[1] === \"n\") return updateEvent(vnode, key, value)\n\t\tif (key.slice(0, 6) === \"xlink:\") vnode.dom.setAttributeNS(\"http://www.w3.org/1999/xlink\", key.slice(6), value)\n\t\telse if (key === \"style\") updateStyle(vnode.dom, old, value)\n\t\telse if (hasPropertyKey(vnode, key, ns)) {\n\t\t\tif (key === \"value\") {\n\t\t\t\t// Only do the coercion if we're actually going to check the value.\n\t\t\t\t/* eslint-disable no-implicit-coercion */\n\t\t\t\tvar isFileInput = vnode.tag === \"input\" && vnode.attrs.type === \"file\"\n\t\t\t\t//setting input[value] to same value by typing on focused element moves cursor to end in Chrome\n\t\t\t\t//setting input[type=file][value] to same value causes an error to be generated if it's non-empty\n\t\t\t\tif ((vnode.tag === \"input\" || vnode.tag === \"textarea\") && vnode.dom.value === \"\" + value && (isFileInput || vnode.dom === activeElement(vnode.dom))) return\n\t\t\t\t//setting select[value] to same value while having select open blinks select dropdown in Chrome\n\t\t\t\tif (vnode.tag === \"select\" && old !== null && vnode.dom.value === \"\" + value) return\n\t\t\t\t//setting option[value] to same value while having select open blinks select dropdown in Chrome\n\t\t\t\tif (vnode.tag === \"option\" && old !== null && vnode.dom.value === \"\" + value) return\n\t\t\t\t//setting input[type=file][value] to different value is an error if it's non-empty\n\t\t\t\t// Not ideal, but it at least works around the most common source of uncaught exceptions for now.\n\t\t\t\tif (isFileInput && \"\" + value !== \"\") { console.error(\"`value` is read-only on file inputs!\"); return }\n\t\t\t\t/* eslint-enable no-implicit-coercion */\n\t\t\t}\n\t\t\t// If you assign an input type that is not supported by IE 11 with an assignment expression, an error will occur.\n\t\t\tif (vnode.tag === \"input\" && key === \"type\") vnode.dom.setAttribute(key, value)\n\t\t\telse vnode.dom[key] = value\n\t\t} else {\n\t\t\tif (typeof value === \"boolean\") {\n\t\t\t\tif (value) vnode.dom.setAttribute(key, \"\")\n\t\t\t\telse vnode.dom.removeAttribute(key)\n\t\t\t}\n\t\t\telse vnode.dom.setAttribute(key === \"className\" ? \"class\" : key, value)\n\t\t}\n\t}\n\tfunction removeAttr(vnode, key, old, ns) {\n\t\tif (key === \"key\" || key === \"is\" || old == null || isLifecycleMethod(key)) return\n\t\tif (key[0] === \"o\" && key[1] === \"n\") updateEvent(vnode, key, undefined)\n\t\telse if (key === \"style\") updateStyle(vnode.dom, old, null)\n\t\telse if (\n\t\t\thasPropertyKey(vnode, key, ns)\n\t\t\t&& key !== \"className\"\n\t\t\t&& key !== \"title\" // creates \"null\" as title\n\t\t\t&& !(key === \"value\" && (\n\t\t\t\tvnode.tag === \"option\"\n\t\t\t\t|| vnode.tag === \"select\" && vnode.dom.selectedIndex === -1 && vnode.dom === activeElement(vnode.dom)\n\t\t\t))\n\t\t\t&& !(vnode.tag === \"input\" && key === \"type\")\n\t\t) {\n\t\t\tvnode.dom[key] = null\n\t\t} else {\n\t\t\tvar nsLastIndex = key.indexOf(\":\")\n\t\t\tif (nsLastIndex !== -1) key = key.slice(nsLastIndex + 1)\n\t\t\tif (old !== false) vnode.dom.removeAttribute(key === \"className\" ? \"class\" : key)\n\t\t}\n\t}\n\tfunction setLateSelectAttrs(vnode, attrs) {\n\t\tif (\"value\" in attrs) {\n\t\t\tif(attrs.value === null) {\n\t\t\t\tif (vnode.dom.selectedIndex !== -1) vnode.dom.value = null\n\t\t\t} else {\n\t\t\t\tvar normalized = \"\" + attrs.value // eslint-disable-line no-implicit-coercion\n\t\t\t\tif (vnode.dom.value !== normalized || vnode.dom.selectedIndex === -1) {\n\t\t\t\t\tvnode.dom.value = normalized\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (\"selectedIndex\" in attrs) setAttr(vnode, \"selectedIndex\", null, attrs.selectedIndex, undefined)\n\t}\n\tfunction updateAttrs(vnode, old, attrs, ns) {\n\t\tif (old && old === attrs) {\n\t\t\tconsole.warn(\"Don't reuse attrs object, use new object for every redraw, this will throw in next major\")\n\t\t}\n\t\tif (attrs != null) {\n\t\t\tfor (var key in attrs) {\n\t\t\t\tsetAttr(vnode, key, old && old[key], attrs[key], ns)\n\t\t\t}\n\t\t}\n\t\tvar val\n\t\tif (old != null) {\n\t\t\tfor (var key in old) {\n\t\t\t\tif (((val = old[key]) != null) && (attrs == null || attrs[key] == null)) {\n\t\t\t\t\tremoveAttr(vnode, key, val, ns)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tfunction isFormAttribute(vnode, attr) {\n\t\treturn attr === \"value\" || attr === \"checked\" || attr === \"selectedIndex\" || attr === \"selected\" && vnode.dom === activeElement(vnode.dom) || vnode.tag === \"option\" && vnode.dom.parentNode === activeElement(vnode.dom)\n\t}\n\tfunction isLifecycleMethod(attr) {\n\t\treturn attr === \"oninit\" || attr === \"oncreate\" || attr === \"onupdate\" || attr === \"onremove\" || attr === \"onbeforeremove\" || attr === \"onbeforeupdate\"\n\t}\n\tfunction hasPropertyKey(vnode, key, ns) {\n\t\t// Filter out namespaced keys\n\t\treturn ns === undefined && (\n\t\t\t// If it's a custom element, just keep it.\n\t\t\tvnode.tag.indexOf(\"-\") > -1 || vnode.attrs != null && vnode.attrs.is ||\n\t\t\t// If it's a normal element, let's try to avoid a few browser bugs.\n\t\t\tkey !== \"href\" && key !== \"list\" && key !== \"form\" && key !== \"width\" && key !== \"height\"// && key !== \"type\"\n\t\t\t// Defer the property check until *after* we check everything.\n\t\t) && key in vnode.dom\n\t}\n\n\t//style\n\tfunction updateStyle(element, old, style) {\n\t\tif (old === style) {\n\t\t\t// Styles are equivalent, do nothing.\n\t\t} else if (style == null) {\n\t\t\t// New style is missing, just clear it.\n\t\t\telement.style = \"\"\n\t\t} else if (typeof style !== \"object\") {\n\t\t\t// New style is a string, let engine deal with patching.\n\t\t\telement.style = style\n\t\t} else if (old == null || typeof old !== \"object\") {\n\t\t\t// `old` is missing or a string, `style` is an object.\n\t\t\telement.style.cssText = \"\"\n\t\t\t// Add new style properties\n\t\t\tfor (var key in style) {\n\t\t\t\tvar value = style[key]\n\t\t\t\tif (value != null) {\n\t\t\t\t\tif (key.includes(\"-\")) element.style.setProperty(key, String(value))\n\t\t\t\t\telse element.style[key] = String(value)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Both old & new are (different) objects.\n\t\t\t// Update style properties that have changed\n\t\t\tfor (var key in style) {\n\t\t\t\tvar value = style[key]\n\t\t\t\tif (value != null && (value = String(value)) !== String(old[key])) {\n\t\t\t\t\tif (key.includes(\"-\")) element.style.setProperty(key, value)\n\t\t\t\t\telse element.style[key] = value\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Remove style properties that no longer exist\n\t\t\tfor (var key in old) {\n\t\t\t\tif (old[key] != null && style[key] == null) {\n\t\t\t\t\tif (key.includes(\"-\")) element.style.removeProperty(key)\n\t\t\t\t\telse element.style[key] = \"\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Here's an explanation of how this works:\n\t// 1. The event names are always (by design) prefixed by `on`.\n\t// 2. The EventListener interface accepts either a function or an object\n\t// with a `handleEvent` method.\n\t// 3. The object does not inherit from `Object.prototype`, to avoid\n\t// any potential interference with that (e.g. setters).\n\t// 4. The event name is remapped to the handler before calling it.\n\t// 5. In function-based event handlers, `ev.target === this`. We replicate\n\t// that below.\n\t// 6. In function-based event handlers, `return false` prevents the default\n\t// action and stops event propagation. We replicate that below.\n\tfunction EventDict() {\n\t\t// Save this, so the current redraw is correctly tracked.\n\t\tthis._ = currentRedraw\n\t}\n\tEventDict.prototype = Object.create(null)\n\tEventDict.prototype.handleEvent = function (ev) {\n\t\tvar handler = this[\"on\" + ev.type]\n\t\tvar result\n\t\tif (typeof handler === \"function\") result = handler.call(ev.currentTarget, ev)\n\t\telse if (typeof handler.handleEvent === \"function\") handler.handleEvent(ev)\n\t\tif (this._ && ev.redraw !== false) (0, this._)()\n\t\tif (result === false) {\n\t\t\tev.preventDefault()\n\t\t\tev.stopPropagation()\n\t\t}\n\t}\n\n\t//event\n\tfunction updateEvent(vnode, key, value) {\n\t\tif (vnode.events != null) {\n\t\t\tvnode.events._ = currentRedraw\n\t\t\tif (vnode.events[key] === value) return\n\t\t\tif (value != null && (typeof value === \"function\" || typeof value === \"object\")) {\n\t\t\t\tif (vnode.events[key] == null) vnode.dom.addEventListener(key.slice(2), vnode.events, false)\n\t\t\t\tvnode.events[key] = value\n\t\t\t} else {\n\t\t\t\tif (vnode.events[key] != null) vnode.dom.removeEventListener(key.slice(2), vnode.events, false)\n\t\t\t\tvnode.events[key] = undefined\n\t\t\t}\n\t\t} else if (value != null && (typeof value === \"function\" || typeof value === \"object\")) {\n\t\t\tvnode.events = new EventDict()\n\t\t\tvnode.dom.addEventListener(key.slice(2), vnode.events, false)\n\t\t\tvnode.events[key] = value\n\t\t}\n\t}\n\n\t//lifecycle\n\tfunction initLifecycle(source, vnode, hooks) {\n\t\tif (typeof source.oninit === \"function\") callHook.call(source.oninit, vnode)\n\t\tif (typeof source.oncreate === \"function\") hooks.push(callHook.bind(source.oncreate, vnode))\n\t}\n\tfunction updateLifecycle(source, vnode, hooks) {\n\t\tif (typeof source.onupdate === \"function\") hooks.push(callHook.bind(source.onupdate, vnode))\n\t}\n\tfunction shouldNotUpdate(vnode, old) {\n\t\tdo {\n\t\t\tif (vnode.attrs != null && typeof vnode.attrs.onbeforeupdate === \"function\") {\n\t\t\t\tvar force = callHook.call(vnode.attrs.onbeforeupdate, vnode, old)\n\t\t\t\tif (force !== undefined && !force) break\n\t\t\t}\n\t\t\tif (typeof vnode.tag !== \"string\" && typeof vnode.state.onbeforeupdate === \"function\") {\n\t\t\t\tvar force = callHook.call(vnode.state.onbeforeupdate, vnode, old)\n\t\t\t\tif (force !== undefined && !force) break\n\t\t\t}\n\t\t\treturn false\n\t\t} while (false); // eslint-disable-line no-constant-condition\n\t\tvnode.dom = old.dom\n\t\tvnode.domSize = old.domSize\n\t\tvnode.instance = old.instance\n\t\t// One would think having the actual latest attributes would be ideal,\n\t\t// but it doesn't let us properly diff based on our current internal\n\t\t// representation. We have to save not only the old DOM info, but also\n\t\t// the attributes used to create it, as we diff *that*, not against the\n\t\t// DOM directly (with a few exceptions in `setAttr`). And, of course, we\n\t\t// need to save the children and text as they are conceptually not\n\t\t// unlike special \"attributes\" internally.\n\t\tvnode.attrs = old.attrs\n\t\tvnode.children = old.children\n\t\tvnode.text = old.text\n\t\treturn true\n\t}\n\n\tvar currentDOM\n\n\treturn function(dom, vnodes, redraw) {\n\t\tif (!dom) throw new TypeError(\"DOM element being rendered to does not exist.\")\n\t\tif (currentDOM != null && dom.contains(currentDOM)) {\n\t\t\tthrow new TypeError(\"Node is currently being rendered to and thus is locked.\")\n\t\t}\n\t\tvar prevRedraw = currentRedraw\n\t\tvar prevDOM = currentDOM\n\t\tvar hooks = []\n\t\tvar active = activeElement(dom)\n\t\tvar namespace = dom.namespaceURI\n\n\t\tcurrentDOM = dom\n\t\tcurrentRedraw = typeof redraw === \"function\" ? redraw : undefined\n\t\tcurrentRender = {}\n\t\ttry {\n\t\t\t// First time rendering into a node clears it out\n\t\t\tif (dom.vnodes == null) dom.textContent = \"\"\n\t\t\tvnodes = Vnode.normalizeChildren(Array.isArray(vnodes) ? vnodes : [vnodes])\n\t\t\tupdateNodes(dom, dom.vnodes, vnodes, hooks, null, namespace === \"http://www.w3.org/1999/xhtml\" ? undefined : namespace)\n\t\t\tdom.vnodes = vnodes\n\t\t\t// `document.activeElement` can return null: https://html.spec.whatwg.org/multipage/interaction.html#dom-document-activeelement\n\t\t\tif (active != null && activeElement(dom) !== active && typeof active.focus === \"function\") active.focus()\n\t\t\tfor (var i = 0; i < hooks.length; i++) hooks[i]()\n\t\t} finally {\n\t\t\tcurrentRedraw = prevRedraw\n\t\t\tcurrentDOM = prevDOM\n\t\t}\n\t}\n}\n","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\n\nmodule.exports = function(html) {\n\tif (html == null) html = \"\"\n\treturn Vnode(\"<\", undefined, undefined, html, undefined, undefined)\n}\n","\"use strict\"\n\nfunction Vnode(tag, key, attrs, children, text, dom) {\n\treturn {tag: tag, key: key, attrs: attrs, children: children, text: text, dom: dom, domSize: undefined, state: undefined, events: undefined, instance: undefined}\n}\nVnode.normalize = function(node) {\n\tif (Array.isArray(node)) return Vnode(\"[\", undefined, undefined, Vnode.normalizeChildren(node), undefined, undefined)\n\tif (node == null || typeof node === \"boolean\") return null\n\tif (typeof node === \"object\") return node\n\treturn Vnode(\"#\", undefined, undefined, String(node), undefined, undefined)\n}\nVnode.normalizeChildren = function(input) {\n\tvar children = []\n\tif (input.length) {\n\t\tvar isKeyed = input[0] != null && input[0].key != null\n\t\t// Note: this is a *very* perf-sensitive check.\n\t\t// Fun fact: merging the loop like this is somehow faster than splitting\n\t\t// it, noticeably so.\n\t\tfor (var i = 1; i < input.length; i++) {\n\t\t\tif ((input[i] != null && input[i].key != null) !== isKeyed) {\n\t\t\t\tthrow new TypeError(\n\t\t\t\t\tisKeyed && (input[i] != null || typeof input[i] === \"boolean\")\n\t\t\t\t\t\t? \"In fragments, vnodes must either all have keys or none have keys. You may wish to consider using an explicit keyed empty fragment, m.fragment({key: ...}), instead of a hole.\"\n\t\t\t\t\t\t: \"In fragments, vnodes must either all have keys or none have keys.\"\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t\tfor (var i = 0; i < input.length; i++) {\n\t\t\tchildren[i] = Vnode.normalize(input[i])\n\t\t}\n\t}\n\treturn children\n}\n\nmodule.exports = Vnode\n","\"use strict\"\n\nvar mountRedraw = require(\"./mount-redraw\")\n\nmodule.exports = require(\"./request/request\")(typeof window !== \"undefined\" ? window : null, mountRedraw.redraw)\n","\"use strict\"\n\nvar buildPathname = require(\"../pathname/build\")\nvar hasOwn = require(\"../util/hasOwn\")\n\nmodule.exports = function($window, oncompletion) {\n\tfunction PromiseProxy(executor) {\n\t\treturn new Promise(executor)\n\t}\n\n\tfunction makeRequest(url, args) {\n\t\treturn new Promise(function(resolve, reject) {\n\t\t\turl = buildPathname(url, args.params)\n\t\t\tvar method = args.method != null ? args.method.toUpperCase() : \"GET\"\n\t\t\tvar body = args.body\n\t\t\tvar assumeJSON = (args.serialize == null || args.serialize === JSON.serialize) && !(body instanceof $window.FormData || body instanceof $window.URLSearchParams)\n\t\t\tvar responseType = args.responseType || (typeof args.extract === \"function\" ? \"\" : \"json\")\n\n\t\t\tvar xhr = new $window.XMLHttpRequest(), aborted = false, isTimeout = false\n\t\t\tvar original = xhr, replacedAbort\n\t\t\tvar abort = xhr.abort\n\n\t\t\txhr.abort = function() {\n\t\t\t\taborted = true\n\t\t\t\tabort.call(this)\n\t\t\t}\n\n\t\t\txhr.open(method, url, args.async !== false, typeof args.user === \"string\" ? args.user : undefined, typeof args.password === \"string\" ? args.password : undefined)\n\n\t\t\tif (assumeJSON && body != null && !hasHeader(args, \"content-type\")) {\n\t\t\t\txhr.setRequestHeader(\"Content-Type\", \"application/json; charset=utf-8\")\n\t\t\t}\n\t\t\tif (typeof args.deserialize !== \"function\" && !hasHeader(args, \"accept\")) {\n\t\t\t\txhr.setRequestHeader(\"Accept\", \"application/json, text/*\")\n\t\t\t}\n\t\t\tif (args.withCredentials) xhr.withCredentials = args.withCredentials\n\t\t\tif (args.timeout) xhr.timeout = args.timeout\n\t\t\txhr.responseType = responseType\n\n\t\t\tfor (var key in args.headers) {\n\t\t\t\tif (hasOwn.call(args.headers, key)) {\n\t\t\t\t\txhr.setRequestHeader(key, args.headers[key])\n\t\t\t\t}\n\t\t\t}\n\n\t\t\txhr.onreadystatechange = function(ev) {\n\t\t\t\t// Don't throw errors on xhr.abort().\n\t\t\t\tif (aborted) return\n\n\t\t\t\tif (ev.target.readyState === 4) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tvar success = (ev.target.status >= 200 && ev.target.status < 300) || ev.target.status === 304 || (/^file:\\/\\//i).test(url)\n\t\t\t\t\t\t// When the response type isn't \"\" or \"text\",\n\t\t\t\t\t\t// `xhr.responseText` is the wrong thing to use.\n\t\t\t\t\t\t// Browsers do the right thing and throw here, and we\n\t\t\t\t\t\t// should honor that and do the right thing by\n\t\t\t\t\t\t// preferring `xhr.response` where possible/practical.\n\t\t\t\t\t\tvar response = ev.target.response, message\n\n\t\t\t\t\t\tif (responseType === \"json\") {\n\t\t\t\t\t\t\t// For IE and Edge, which don't implement\n\t\t\t\t\t\t\t// `responseType: \"json\"`.\n\t\t\t\t\t\t\tif (!ev.target.responseType && typeof args.extract !== \"function\") {\n\t\t\t\t\t\t\t\t// Handle no-content which will not parse.\n\t\t\t\t\t\t\t\ttry { response = JSON.parse(ev.target.responseText) }\n\t\t\t\t\t\t\t\tcatch (e) { response = null }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (!responseType || responseType === \"text\") {\n\t\t\t\t\t\t\t// Only use this default if it's text. If a parsed\n\t\t\t\t\t\t\t// document is needed on old IE and friends (all\n\t\t\t\t\t\t\t// unsupported), the user should use a custom\n\t\t\t\t\t\t\t// `config` instead. They're already using this at\n\t\t\t\t\t\t\t// their own risk.\n\t\t\t\t\t\t\tif (response == null) response = ev.target.responseText\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (typeof args.extract === \"function\") {\n\t\t\t\t\t\t\tresponse = args.extract(ev.target, args)\n\t\t\t\t\t\t\tsuccess = true\n\t\t\t\t\t\t} else if (typeof args.deserialize === \"function\") {\n\t\t\t\t\t\t\tresponse = args.deserialize(response)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (success) {\n\t\t\t\t\t\t\tif (typeof args.type === \"function\") {\n\t\t\t\t\t\t\t\tif (Array.isArray(response)) {\n\t\t\t\t\t\t\t\t\tfor (var i = 0; i < response.length; i++) {\n\t\t\t\t\t\t\t\t\t\tresponse[i] = new args.type(response[i])\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse response = new args.type(response)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tresolve(response)\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar completeErrorResponse = function() {\n\t\t\t\t\t\t\t\ttry { message = ev.target.responseText }\n\t\t\t\t\t\t\t\tcatch (e) { message = response }\n\t\t\t\t\t\t\t\tvar error = new Error(message)\n\t\t\t\t\t\t\t\terror.code = ev.target.status\n\t\t\t\t\t\t\t\terror.response = response\n\t\t\t\t\t\t\t\treject(error)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (xhr.status === 0) {\n\t\t\t\t\t\t\t\t// Use setTimeout to push this code block onto the event queue\n\t\t\t\t\t\t\t\t// This allows `xhr.ontimeout` to run in the case that there is a timeout\n\t\t\t\t\t\t\t\t// Without this setTimeout, `xhr.ontimeout` doesn't have a chance to reject\n\t\t\t\t\t\t\t\t// as `xhr.onreadystatechange` will run before it\n\t\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\t\tif (isTimeout) return\n\t\t\t\t\t\t\t\t\tcompleteErrorResponse()\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t} else completeErrorResponse()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch (e) {\n\t\t\t\t\t\treject(e)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\txhr.ontimeout = function (ev) {\n\t\t\t\tisTimeout = true\n\t\t\t\tvar error = new Error(\"Request timed out\")\n\t\t\t\terror.code = ev.target.status\n\t\t\t\treject(error)\n\t\t\t}\n\n\t\t\tif (typeof args.config === \"function\") {\n\t\t\t\txhr = args.config(xhr, args, url) || xhr\n\n\t\t\t\t// Propagate the `abort` to any replacement XHR as well.\n\t\t\t\tif (xhr !== original) {\n\t\t\t\t\treplacedAbort = xhr.abort\n\t\t\t\t\txhr.abort = function() {\n\t\t\t\t\t\taborted = true\n\t\t\t\t\t\treplacedAbort.call(this)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (body == null) xhr.send()\n\t\t\telse if (typeof args.serialize === \"function\") xhr.send(args.serialize(body))\n\t\t\telse if (body instanceof $window.FormData || body instanceof $window.URLSearchParams) xhr.send(body)\n\t\t\telse xhr.send(JSON.stringify(body))\n\t\t})\n\t}\n\n\t// In case the global Promise is some userland library's where they rely on\n\t// `foo instanceof this.constructor`, `this.constructor.resolve(value)`, or\n\t// similar. Let's *not* break them.\n\tPromiseProxy.prototype = Promise.prototype\n\tPromiseProxy.__proto__ = Promise // eslint-disable-line no-proto\n\n\tfunction hasHeader(args, name) {\n\t\tfor (var key in args.headers) {\n\t\t\tif (hasOwn.call(args.headers, key) && key.toLowerCase() === name) return true\n\t\t}\n\t\treturn false\n\t}\n\n\treturn {\n\t\trequest: function(url, args) {\n\t\t\tif (typeof url !== \"string\") { args = url; url = url.url }\n\t\t\telse if (args == null) args = {}\n\t\t\tvar promise = makeRequest(url, args)\n\t\t\tif (args.background === true) return promise\n\t\t\tvar count = 0\n\t\t\tfunction complete() {\n\t\t\t\tif (--count === 0 && typeof oncompletion === \"function\") oncompletion()\n\t\t\t}\n\n\t\t\treturn wrap(promise)\n\n\t\t\tfunction wrap(promise) {\n\t\t\t\tvar then = promise.then\n\t\t\t\t// Set the constructor, so engines know to not await or resolve\n\t\t\t\t// this as a native promise. At the time of writing, this is\n\t\t\t\t// only necessary for V8, but their behavior is the correct\n\t\t\t\t// behavior per spec. See this spec issue for more details:\n\t\t\t\t// https://github.com/tc39/ecma262/issues/1577. Also, see the\n\t\t\t\t// corresponding comment in `request/tests/test-request.js` for\n\t\t\t\t// a bit more background on the issue at hand.\n\t\t\t\tpromise.constructor = PromiseProxy\n\t\t\t\tpromise.then = function() {\n\t\t\t\t\tcount++\n\t\t\t\t\tvar next = then.apply(promise, arguments)\n\t\t\t\t\tnext.then(complete, function(e) {\n\t\t\t\t\t\tcomplete()\n\t\t\t\t\t\tif (count === 0) throw e\n\t\t\t\t\t})\n\t\t\t\t\treturn wrap(next)\n\t\t\t\t}\n\t\t\t\treturn promise\n\t\t\t}\n\t\t}\n\t}\n}\n","\"use strict\"\n\nvar mountRedraw = require(\"./mount-redraw\")\n\nmodule.exports = require(\"./api/router\")(typeof window !== \"undefined\" ? window : null, mountRedraw)\n","\"use strict\"\n\n// Note: this is mildly perf-sensitive.\n//\n// It does *not* use `delete` - dynamic `delete`s usually cause objects to bail\n// out into dictionary mode and just generally cause a bunch of optimization\n// issues within engines.\n//\n// Ideally, I would've preferred to do this, if it weren't for the optimization\n// issues:\n//\n// ```js\n// const hasOwn = require(\"./hasOwn\")\n// const magic = [\n// \"key\", \"oninit\", \"oncreate\", \"onbeforeupdate\", \"onupdate\",\n// \"onbeforeremove\", \"onremove\",\n// ]\n// module.exports = (attrs, extras) => {\n// const result = Object.assign(Object.create(null), attrs)\n// for (const key of magic) delete result[key]\n// if (extras != null) for (const key of extras) delete result[key]\n// return result\n// }\n// ```\n\nvar hasOwn = require(\"./hasOwn\")\n// Words in RegExp literals are sometimes mangled incorrectly by the internal bundler, so use RegExp().\nvar magic = new RegExp(\"^(?:key|oninit|oncreate|onbeforeupdate|onupdate|onbeforeremove|onremove)$\")\n\nmodule.exports = function(attrs, extras) {\n\tvar result = {}\n\n\tif (extras != null) {\n\t\tfor (var key in attrs) {\n\t\t\tif (hasOwn.call(attrs, key) && !magic.test(key) && extras.indexOf(key) < 0) {\n\t\t\t\tresult[key] = attrs[key]\n\t\t\t}\n\t\t}\n\t} else {\n\t\tfor (var key in attrs) {\n\t\t\tif (hasOwn.call(attrs, key) && !magic.test(key)) {\n\t\t\t\tresult[key] = attrs[key]\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result\n}\n","// This exists so I'm only saving it once.\n\"use strict\"\n\nmodule.exports = {}.hasOwnProperty\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst cloneDeep = require(\"lodash.clonedeep\");\nconst isEqual = require(\"lodash.isequal\");\nvar AttributeMap;\n(function (AttributeMap) {\n function compose(a = {}, b = {}, keepNull = false) {\n if (typeof a !== 'object') {\n a = {};\n }\n if (typeof b !== 'object') {\n b = {};\n }\n let attributes = cloneDeep(b);\n if (!keepNull) {\n attributes = Object.keys(attributes).reduce((copy, key) => {\n if (attributes[key] != null) {\n copy[key] = attributes[key];\n }\n return copy;\n }, {});\n }\n for (const key in a) {\n if (a[key] !== undefined && b[key] === undefined) {\n attributes[key] = a[key];\n }\n }\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n AttributeMap.compose = compose;\n function diff(a = {}, b = {}) {\n if (typeof a !== 'object') {\n a = {};\n }\n if (typeof b !== 'object') {\n b = {};\n }\n const attributes = Object.keys(a)\n .concat(Object.keys(b))\n .reduce((attrs, key) => {\n if (!isEqual(a[key], b[key])) {\n attrs[key] = b[key] === undefined ? null : b[key];\n }\n return attrs;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n AttributeMap.diff = diff;\n function invert(attr = {}, base = {}) {\n attr = attr || {};\n const baseInverted = Object.keys(base).reduce((memo, key) => {\n if (base[key] !== attr[key] && attr[key] !== undefined) {\n memo[key] = base[key];\n }\n return memo;\n }, {});\n return Object.keys(attr).reduce((memo, key) => {\n if (attr[key] !== base[key] && base[key] === undefined) {\n memo[key] = null;\n }\n return memo;\n }, baseInverted);\n }\n AttributeMap.invert = invert;\n function transform(a, b, priority = false) {\n if (typeof a !== 'object') {\n return b;\n }\n if (typeof b !== 'object') {\n return undefined;\n }\n if (!priority) {\n return b; // b simply overwrites us without priority\n }\n const attributes = Object.keys(b).reduce((attrs, key) => {\n if (a[key] === undefined) {\n attrs[key] = b[key]; // null is a valid value\n }\n return attrs;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n AttributeMap.transform = transform;\n})(AttributeMap || (AttributeMap = {}));\nexports.default = AttributeMap;\n//# sourceMappingURL=AttributeMap.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AttributeMap = exports.OpIterator = exports.Op = void 0;\nconst diff = require(\"fast-diff\");\nconst cloneDeep = require(\"lodash.clonedeep\");\nconst isEqual = require(\"lodash.isequal\");\nconst AttributeMap_1 = require(\"./AttributeMap\");\nexports.AttributeMap = AttributeMap_1.default;\nconst Op_1 = require(\"./Op\");\nexports.Op = Op_1.default;\nconst OpIterator_1 = require(\"./OpIterator\");\nexports.OpIterator = OpIterator_1.default;\nconst NULL_CHARACTER = String.fromCharCode(0); // Placeholder char for embed in diff()\nconst getEmbedTypeAndData = (a, b) => {\n if (typeof a !== 'object' || a === null) {\n throw new Error(`cannot retain a ${typeof a}`);\n }\n if (typeof b !== 'object' || b === null) {\n throw new Error(`cannot retain a ${typeof b}`);\n }\n const embedType = Object.keys(a)[0];\n if (!embedType || embedType !== Object.keys(b)[0]) {\n throw new Error(`embed types not matched: ${embedType} != ${Object.keys(b)[0]}`);\n }\n return [embedType, a[embedType], b[embedType]];\n};\nclass Delta {\n constructor(ops) {\n // Assume we are given a well formed ops\n if (Array.isArray(ops)) {\n this.ops = ops;\n }\n else if (ops != null && Array.isArray(ops.ops)) {\n this.ops = ops.ops;\n }\n else {\n this.ops = [];\n }\n }\n static registerEmbed(embedType, handler) {\n this.handlers[embedType] = handler;\n }\n static unregisterEmbed(embedType) {\n delete this.handlers[embedType];\n }\n static getHandler(embedType) {\n const handler = this.handlers[embedType];\n if (!handler) {\n throw new Error(`no handlers for embed type \"${embedType}\"`);\n }\n return handler;\n }\n insert(arg, attributes) {\n const newOp = {};\n if (typeof arg === 'string' && arg.length === 0) {\n return this;\n }\n newOp.insert = arg;\n if (attributes != null &&\n typeof attributes === 'object' &&\n Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n }\n delete(length) {\n if (length <= 0) {\n return this;\n }\n return this.push({ delete: length });\n }\n retain(length, attributes) {\n if (typeof length === 'number' && length <= 0) {\n return this;\n }\n const newOp = { retain: length };\n if (attributes != null &&\n typeof attributes === 'object' &&\n Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n }\n push(newOp) {\n let index = this.ops.length;\n let lastOp = this.ops[index - 1];\n newOp = cloneDeep(newOp);\n if (typeof lastOp === 'object') {\n if (typeof newOp.delete === 'number' &&\n typeof lastOp.delete === 'number') {\n this.ops[index - 1] = { delete: lastOp.delete + newOp.delete };\n return this;\n }\n // Since it does not matter if we insert before or after deleting at the same index,\n // always prefer to insert first\n if (typeof lastOp.delete === 'number' && newOp.insert != null) {\n index -= 1;\n lastOp = this.ops[index - 1];\n if (typeof lastOp !== 'object') {\n this.ops.unshift(newOp);\n return this;\n }\n }\n if (isEqual(newOp.attributes, lastOp.attributes)) {\n if (typeof newOp.insert === 'string' &&\n typeof lastOp.insert === 'string') {\n this.ops[index - 1] = { insert: lastOp.insert + newOp.insert };\n if (typeof newOp.attributes === 'object') {\n this.ops[index - 1].attributes = newOp.attributes;\n }\n return this;\n }\n else if (typeof newOp.retain === 'number' &&\n typeof lastOp.retain === 'number') {\n this.ops[index - 1] = { retain: lastOp.retain + newOp.retain };\n if (typeof newOp.attributes === 'object') {\n this.ops[index - 1].attributes = newOp.attributes;\n }\n return this;\n }\n }\n }\n if (index === this.ops.length) {\n this.ops.push(newOp);\n }\n else {\n this.ops.splice(index, 0, newOp);\n }\n return this;\n }\n chop() {\n const lastOp = this.ops[this.ops.length - 1];\n if (lastOp && typeof lastOp.retain === 'number' && !lastOp.attributes) {\n this.ops.pop();\n }\n return this;\n }\n filter(predicate) {\n return this.ops.filter(predicate);\n }\n forEach(predicate) {\n this.ops.forEach(predicate);\n }\n map(predicate) {\n return this.ops.map(predicate);\n }\n partition(predicate) {\n const passed = [];\n const failed = [];\n this.forEach((op) => {\n const target = predicate(op) ? passed : failed;\n target.push(op);\n });\n return [passed, failed];\n }\n reduce(predicate, initialValue) {\n return this.ops.reduce(predicate, initialValue);\n }\n changeLength() {\n return this.reduce((length, elem) => {\n if (elem.insert) {\n return length + Op_1.default.length(elem);\n }\n else if (elem.delete) {\n return length - elem.delete;\n }\n return length;\n }, 0);\n }\n length() {\n return this.reduce((length, elem) => {\n return length + Op_1.default.length(elem);\n }, 0);\n }\n slice(start = 0, end = Infinity) {\n const ops = [];\n const iter = new OpIterator_1.default(this.ops);\n let index = 0;\n while (index < end && iter.hasNext()) {\n let nextOp;\n if (index < start) {\n nextOp = iter.next(start - index);\n }\n else {\n nextOp = iter.next(end - index);\n ops.push(nextOp);\n }\n index += Op_1.default.length(nextOp);\n }\n return new Delta(ops);\n }\n compose(other) {\n const thisIter = new OpIterator_1.default(this.ops);\n const otherIter = new OpIterator_1.default(other.ops);\n const ops = [];\n const firstOther = otherIter.peek();\n if (firstOther != null &&\n typeof firstOther.retain === 'number' &&\n firstOther.attributes == null) {\n let firstLeft = firstOther.retain;\n while (thisIter.peekType() === 'insert' &&\n thisIter.peekLength() <= firstLeft) {\n firstLeft -= thisIter.peekLength();\n ops.push(thisIter.next());\n }\n if (firstOther.retain - firstLeft > 0) {\n otherIter.next(firstOther.retain - firstLeft);\n }\n }\n const delta = new Delta(ops);\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n }\n else if (thisIter.peekType() === 'delete') {\n delta.push(thisIter.next());\n }\n else {\n const length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n const thisOp = thisIter.next(length);\n const otherOp = otherIter.next(length);\n if (otherOp.retain) {\n const newOp = {};\n if (typeof thisOp.retain === 'number') {\n newOp.retain =\n typeof otherOp.retain === 'number' ? length : otherOp.retain;\n }\n else {\n if (typeof otherOp.retain === 'number') {\n if (thisOp.retain == null) {\n newOp.insert = thisOp.insert;\n }\n else {\n newOp.retain = thisOp.retain;\n }\n }\n else {\n const action = thisOp.retain == null ? 'insert' : 'retain';\n const [embedType, thisData, otherData] = getEmbedTypeAndData(thisOp[action], otherOp.retain);\n const handler = Delta.getHandler(embedType);\n newOp[action] = {\n [embedType]: handler.compose(thisData, otherData, action === 'retain'),\n };\n }\n }\n // Preserve null when composing with a retain, otherwise remove it for inserts\n const attributes = AttributeMap_1.default.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number');\n if (attributes) {\n newOp.attributes = attributes;\n }\n delta.push(newOp);\n // Optimization if rest of other is just retain\n if (!otherIter.hasNext() &&\n isEqual(delta.ops[delta.ops.length - 1], newOp)) {\n const rest = new Delta(thisIter.rest());\n return delta.concat(rest).chop();\n }\n // Other op should be delete, we could be an insert or retain\n // Insert + delete cancels out\n }\n else if (typeof otherOp.delete === 'number' &&\n (typeof thisOp.retain === 'number' ||\n (typeof thisOp.retain === 'object' && thisOp.retain !== null))) {\n delta.push(otherOp);\n }\n }\n }\n return delta.chop();\n }\n concat(other) {\n const delta = new Delta(this.ops.slice());\n if (other.ops.length > 0) {\n delta.push(other.ops[0]);\n delta.ops = delta.ops.concat(other.ops.slice(1));\n }\n return delta;\n }\n diff(other, cursor) {\n if (this.ops === other.ops) {\n return new Delta();\n }\n const strings = [this, other].map((delta) => {\n return delta\n .map((op) => {\n if (op.insert != null) {\n return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER;\n }\n const prep = delta === other ? 'on' : 'with';\n throw new Error('diff() called ' + prep + ' non-document');\n })\n .join('');\n });\n const retDelta = new Delta();\n const diffResult = diff(strings[0], strings[1], cursor, true);\n const thisIter = new OpIterator_1.default(this.ops);\n const otherIter = new OpIterator_1.default(other.ops);\n diffResult.forEach((component) => {\n let length = component[1].length;\n while (length > 0) {\n let opLength = 0;\n switch (component[0]) {\n case diff.INSERT:\n opLength = Math.min(otherIter.peekLength(), length);\n retDelta.push(otherIter.next(opLength));\n break;\n case diff.DELETE:\n opLength = Math.min(length, thisIter.peekLength());\n thisIter.next(opLength);\n retDelta.delete(opLength);\n break;\n case diff.EQUAL:\n opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length);\n const thisOp = thisIter.next(opLength);\n const otherOp = otherIter.next(opLength);\n if (isEqual(thisOp.insert, otherOp.insert)) {\n retDelta.retain(opLength, AttributeMap_1.default.diff(thisOp.attributes, otherOp.attributes));\n }\n else {\n retDelta.push(otherOp).delete(opLength);\n }\n break;\n }\n length -= opLength;\n }\n });\n return retDelta.chop();\n }\n eachLine(predicate, newline = '\\n') {\n const iter = new OpIterator_1.default(this.ops);\n let line = new Delta();\n let i = 0;\n while (iter.hasNext()) {\n if (iter.peekType() !== 'insert') {\n return;\n }\n const thisOp = iter.peek();\n const start = Op_1.default.length(thisOp) - iter.peekLength();\n const index = typeof thisOp.insert === 'string'\n ? thisOp.insert.indexOf(newline, start) - start\n : -1;\n if (index < 0) {\n line.push(iter.next());\n }\n else if (index > 0) {\n line.push(iter.next(index));\n }\n else {\n if (predicate(line, iter.next(1).attributes || {}, i) === false) {\n return;\n }\n i += 1;\n line = new Delta();\n }\n }\n if (line.length() > 0) {\n predicate(line, {}, i);\n }\n }\n invert(base) {\n const inverted = new Delta();\n this.reduce((baseIndex, op) => {\n if (op.insert) {\n inverted.delete(Op_1.default.length(op));\n }\n else if (typeof op.retain === 'number' && op.attributes == null) {\n inverted.retain(op.retain);\n return baseIndex + op.retain;\n }\n else if (op.delete || typeof op.retain === 'number') {\n const length = (op.delete || op.retain);\n const slice = base.slice(baseIndex, baseIndex + length);\n slice.forEach((baseOp) => {\n if (op.delete) {\n inverted.push(baseOp);\n }\n else if (op.retain && op.attributes) {\n inverted.retain(Op_1.default.length(baseOp), AttributeMap_1.default.invert(op.attributes, baseOp.attributes));\n }\n });\n return baseIndex + length;\n }\n else if (typeof op.retain === 'object' && op.retain !== null) {\n const slice = base.slice(baseIndex, baseIndex + 1);\n const baseOp = new OpIterator_1.default(slice.ops).next();\n const [embedType, opData, baseOpData] = getEmbedTypeAndData(op.retain, baseOp.insert);\n const handler = Delta.getHandler(embedType);\n inverted.retain({ [embedType]: handler.invert(opData, baseOpData) }, AttributeMap_1.default.invert(op.attributes, baseOp.attributes));\n return baseIndex + 1;\n }\n return baseIndex;\n }, 0);\n return inverted.chop();\n }\n transform(arg, priority = false) {\n priority = !!priority;\n if (typeof arg === 'number') {\n return this.transformPosition(arg, priority);\n }\n const other = arg;\n const thisIter = new OpIterator_1.default(this.ops);\n const otherIter = new OpIterator_1.default(other.ops);\n const delta = new Delta();\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (thisIter.peekType() === 'insert' &&\n (priority || otherIter.peekType() !== 'insert')) {\n delta.retain(Op_1.default.length(thisIter.next()));\n }\n else if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n }\n else {\n const length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n const thisOp = thisIter.next(length);\n const otherOp = otherIter.next(length);\n if (thisOp.delete) {\n // Our delete either makes their delete redundant or removes their retain\n continue;\n }\n else if (otherOp.delete) {\n delta.push(otherOp);\n }\n else {\n const thisData = thisOp.retain;\n const otherData = otherOp.retain;\n let transformedData = typeof otherData === 'object' && otherData !== null\n ? otherData\n : length;\n if (typeof thisData === 'object' &&\n thisData !== null &&\n typeof otherData === 'object' &&\n otherData !== null) {\n const embedType = Object.keys(thisData)[0];\n if (embedType === Object.keys(otherData)[0]) {\n const handler = Delta.getHandler(embedType);\n if (handler) {\n transformedData = {\n [embedType]: handler.transform(thisData[embedType], otherData[embedType], priority),\n };\n }\n }\n }\n // We retain either their retain or insert\n delta.retain(transformedData, AttributeMap_1.default.transform(thisOp.attributes, otherOp.attributes, priority));\n }\n }\n }\n return delta.chop();\n }\n transformPosition(index, priority = false) {\n priority = !!priority;\n const thisIter = new OpIterator_1.default(this.ops);\n let offset = 0;\n while (thisIter.hasNext() && offset <= index) {\n const length = thisIter.peekLength();\n const nextType = thisIter.peekType();\n thisIter.next();\n if (nextType === 'delete') {\n index -= Math.min(length, index - offset);\n continue;\n }\n else if (nextType === 'insert' && (offset < index || !priority)) {\n index += length;\n }\n offset += length;\n }\n return index;\n }\n}\nDelta.Op = Op_1.default;\nDelta.OpIterator = OpIterator_1.default;\nDelta.AttributeMap = AttributeMap_1.default;\nDelta.handlers = {};\nexports.default = Delta;\nif (typeof module === 'object') {\n module.exports = Delta;\n module.exports.default = Delta;\n}\n//# sourceMappingURL=Delta.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Op;\n(function (Op) {\n function length(op) {\n if (typeof op.delete === 'number') {\n return op.delete;\n }\n else if (typeof op.retain === 'number') {\n return op.retain;\n }\n else if (typeof op.retain === 'object' && op.retain !== null) {\n return 1;\n }\n else {\n return typeof op.insert === 'string' ? op.insert.length : 1;\n }\n }\n Op.length = length;\n})(Op || (Op = {}));\nexports.default = Op;\n//# sourceMappingURL=Op.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Op_1 = require(\"./Op\");\nclass Iterator {\n constructor(ops) {\n this.ops = ops;\n this.index = 0;\n this.offset = 0;\n }\n hasNext() {\n return this.peekLength() < Infinity;\n }\n next(length) {\n if (!length) {\n length = Infinity;\n }\n const nextOp = this.ops[this.index];\n if (nextOp) {\n const offset = this.offset;\n const opLength = Op_1.default.length(nextOp);\n if (length >= opLength - offset) {\n length = opLength - offset;\n this.index += 1;\n this.offset = 0;\n }\n else {\n this.offset += length;\n }\n if (typeof nextOp.delete === 'number') {\n return { delete: length };\n }\n else {\n const retOp = {};\n if (nextOp.attributes) {\n retOp.attributes = nextOp.attributes;\n }\n if (typeof nextOp.retain === 'number') {\n retOp.retain = length;\n }\n else if (typeof nextOp.retain === 'object' &&\n nextOp.retain !== null) {\n // offset should === 0, length should === 1\n retOp.retain = nextOp.retain;\n }\n else if (typeof nextOp.insert === 'string') {\n retOp.insert = nextOp.insert.substr(offset, length);\n }\n else {\n // offset should === 0, length should === 1\n retOp.insert = nextOp.insert;\n }\n return retOp;\n }\n }\n else {\n return { retain: Infinity };\n }\n }\n peek() {\n return this.ops[this.index];\n }\n peekLength() {\n if (this.ops[this.index]) {\n // Should never return 0 if our index is being managed correctly\n return Op_1.default.length(this.ops[this.index]) - this.offset;\n }\n else {\n return Infinity;\n }\n }\n peekType() {\n const op = this.ops[this.index];\n if (op) {\n if (typeof op.delete === 'number') {\n return 'delete';\n }\n else if (typeof op.retain === 'number' ||\n (typeof op.retain === 'object' && op.retain !== null)) {\n return 'retain';\n }\n else {\n return 'insert';\n }\n }\n return 'retain';\n }\n rest() {\n if (!this.hasNext()) {\n return [];\n }\n else if (this.offset === 0) {\n return this.ops.slice(this.index);\n }\n else {\n const offset = this.offset;\n const index = this.index;\n const next = this.next();\n const rest = this.ops.slice(this.index);\n this.offset = offset;\n this.index = index;\n return [next].concat(rest);\n }\n }\n}\nexports.default = Iterator;\n//# sourceMappingURL=OpIterator.js.map","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"docx\")):\"function\"==typeof define&&define.amd?define([\"docx\"],t):\"object\"==typeof exports?exports.QuillToWord=t(require(\"docx\")):e.QuillToWord=t(e.docx)}(self,(function(e){return t={190:e=>{self,e.exports=(()=>{\"use strict\";var e={607:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.parseQuillDelta=void 0;let n=!1;function r(e,t){e.insert.video||e.insert.image?function(e,t){t.paragraphs.push({embed:e.insert}),n=!1,i(t)}(e,t):e.insert.formula?function(e,t){var n;0===t.paragraphs.length&&i(t),null===(n=t.paragraphs[t.paragraphs.length-1].textRuns)||void 0===n||n.push({formula:e.insert.formula,attributes:e.attributes})}(e,t):\"\\n\"===e.insert?function(e,t){e.attributes&&(t.paragraphs[t.paragraphs.length-1].attributes=e.attributes,\"ordered\"===e.attributes.list?n||(t.setup.numberedLists++,n=!0):n=!1),i(t)}(e,t):function(e,t){if(0===t.paragraphs.length&&i(t),e.insert.match(/\\n/)){const r=e.insert.split(/(\\n)/);for(const e of r)\"\\n\"===e?(i(t),n=!1):a(e,t)}else a(e.insert,t,e.attributes)}(e,t)}function i(e){e.paragraphs.push({textRuns:[]})}function a(e,t,n){var r,i;n?(null===(r=t.paragraphs[t.paragraphs.length-1].textRuns)||void 0===r||r.push({text:e,attributes:n}),n.link&&t.setup.hyperlinks.push({text:e,link:n.link})):null===(i=t.paragraphs[t.paragraphs.length-1].textRuns)||void 0===i||i.push({text:e})}t.parseQuillDelta=function(e){n=!1;const t={paragraphs:[],setup:{numberedLists:0,hyperlinks:[]}};for(const n of e.ops)r(n,t);return t}}},t={};return function n(r){if(t[r])return t[r].exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}(607)})()},829:(e,t,n)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.defaultNumbering=t.customBulletLevels=t.customNumberedLevels=t.defaultStyles=void 0;const r=n(687);t.defaultStyles=[{id:\"normal\",name:\"Normal\",next:\"normal\",basedOn:\"normal\",quickFormat:!0,run:{size:24},paragraph:{spacing:{line:480,before:0,after:0}}},{id:\"header_1\",name:\"Heading 1\",next:\"normal\",quickFormat:!0,run:{font:\"Calibri\",size:30,bold:!0},paragraph:{spacing:{before:300,after:200}}},{id:\"header_2\",name:\"Heading 2\",basedOn:\"normal\",next:\"normal\",quickFormat:!0,run:{font:\"Calibri\",size:26,bold:!0},paragraph:{spacing:{before:200,after:100}}},{id:\"list_paragraph\",name:\"List Paragraph\",basedOn:\"normal\",quickFormat:!0,run:{size:24}},{id:\"code_block\",name:\"Code Block\",basedOn:\"normal\",quickFormat:!0,run:{size:24,font:\"Courier New\"},paragraph:{indent:{left:720,right:720}}},{id:\"block_quote\",name:\"Block Quote\",basedOn:\"normal\",quickFormat:!0,run:{italics:!0},paragraph:{indent:{left:540},border:{left:{size:12,space:28,color:\"333333\",value:\"single\"}}}},{id:\"citation\",name:\"Citation\",basedOn:\"normal\",quickFormat:!0,run:{size:24},paragraph:{indent:{left:0,hanging:320},spacing:{line:480}}}],t.customNumberedLevels=[{level:0,format:\"decimal\",text:\"%1.\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:720,hanging:360}}}},{level:1,format:\"lowerLetter\",text:\"%2.\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:1440,hanging:360}}}},{level:2,format:\"lowerRoman\",text:\"%3.\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:2160,hanging:360}}}},{level:3,format:\"decimal\",text:\"%4.\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:2880,hanging:360}}}},{level:4,format:\"lowerLetter\",text:\"%5.\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:3600,hanging:360}}}},{level:3,format:\"lowerRoman\",text:\"%5.\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:4320,hanging:360}}}}],t.customBulletLevels=[{level:0,format:\"bullet\",text:\"•\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:720,hanging:360}}}},{level:1,format:\"bullet\",text:\"•\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:1440,hanging:360}}}},{level:2,format:\"bullet\",text:\"•\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:2160,hanging:360}}}},{level:3,format:\"bullet\",text:\"•\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:2880,hanging:360}}}},{level:4,format:\"bullet\",text:\"•\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:3600,hanging:360}}}},{level:3,format:\"bullet\",text:\"•\",alignment:r.AlignmentType.LEFT,style:{paragraph:{indent:{left:4320,hanging:360}}}}],t.defaultNumbering={config:[{reference:\"default-numbering\",levels:t.customNumberedLevels}]}},35:function(e,t,n){\"use strict\";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)\"default\"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return i(t,e),t},l=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,a){function l(e){try{s(r.next(e))}catch(e){a(e)}}function o(e){try{s(r.throw(e))}catch(e){a(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(l,o)}s((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,\"__esModule\",{value:!0}),t.generateWord=void 0;const o=n(190),s=a(n(687)),u=n(687),d=n(829);let c=0,p=-1,f=d.defaultStyles,g=d.customNumberedLevels,v=!1;function b(e,t,n){e.paragraph&&(f[n].paragraph=e.paragraph),e.run&&(f[n].run=e.run)}function h(e,t){var n,r,i,a;let l=0;const o=[];for(const d of e){if(null===(n=d.embed)||void 0===n?void 0:n.image){const e=u.Media.addImage(t,d.embed.image);o.push(new u.Paragraph(e))}else if(null===(r=d.embed)||void 0===r?void 0:r.video){const e=(s=d.embed.video,new u.TextRun({text:s}));o.push(new u.Paragraph({children:[e]}))}else d.textRuns&&(l>0&&\"ordered\"===(null===(i=d.attributes)||void 0===i?void 0:i.list)&&(\"ordered\"===(null===(a=e[l-1].attributes)||void 0===a?void 0:a.list)?p=p:p++),o.push(m(d)));l++}var s;return o}function m(e){var t,n,r,i,a,l,o,d,c,f,g,b;const h=[];for(const t of e.textRuns)t.formula?h.push((m=t.formula,new u.TextRun({text:m}))):t.text&&h.push(y(t));var m;return new u.Paragraph({children:h,heading:1===(null===(t=e.attributes)||void 0===t?void 0:t.header)?s.HeadingLevel.HEADING_1:2===(null===(n=e.attributes)||void 0===n?void 0:n.header)?s.HeadingLevel.HEADING_2:void 0,bullet:\"bullet\"!==(null===(r=e.attributes)||void 0===r?void 0:r.list)||v?void 0:{level:e.attributes.indent?e.attributes.indent:0},numbering:\"ordered\"===(null===(i=e.attributes)||void 0===i?void 0:i.list)?{reference:`numbered_${p}`,level:e.attributes.indent?e.attributes.indent:0}:\"bullet\"===(null===(a=e.attributes)||void 0===a?void 0:a.list)&&v?{reference:\"customBullets\",level:e.attributes.indent?e.attributes.indent:0}:void 0,alignment:\"left\"===(null===(l=e.attributes)||void 0===l?void 0:l.align)?u.AlignmentType.LEFT:\"center\"===(null===(o=e.attributes)||void 0===o?void 0:o.align)?u.AlignmentType.CENTER:\"right\"===(null===(d=e.attributes)||void 0===d?void 0:d.align)?u.AlignmentType.RIGHT:\"justify\"===(null===(c=e.attributes)||void 0===c?void 0:c.align)?u.AlignmentType.JUSTIFIED:void 0,style:(null===(f=e.attributes)||void 0===f?void 0:f[\"code-block\"])?\"code_block\":(null===(g=e.attributes)||void 0===g?void 0:g.blockquote)?\"block_quote\":(null===(b=e.attributes)||void 0===b?void 0:b.citation)?\"citation\":void 0})}function y(e,t){var n,r,i,a,l,o,s,d,p,f,g,v,b;let h;return(null===(n=e.attributes)||void 0===n?void 0:n.link)?(h=new u.HyperlinkRef(`link${c}`),c++):h=new u.TextRun({text:e.text,bold:!!(null===(r=e.attributes)||void 0===r?void 0:r.bold),italics:!!(null===(i=e.attributes)||void 0===i?void 0:i.italic),subScript:\"sub\"===(null===(a=e.attributes)||void 0===a?void 0:a.script),superScript:\"super\"===(null===(l=e.attributes)||void 0===l?void 0:l.script),strike:!!(null===(o=e.attributes)||void 0===o?void 0:o.strike),underline:(null===(s=e.attributes)||void 0===s?void 0:s.underline)?{type:u.UnderlineType.SINGLE,color:\"auto\"}:void 0,color:(null===(d=e.attributes)||void 0===d?void 0:d.color)?null===(p=e.attributes)||void 0===p?void 0:p.color.slice(1):void 0,size:\"huge\"===(null===(f=e.attributes)||void 0===f?void 0:f.size)?36:\"large\"===(null===(g=e.attributes)||void 0===g?void 0:g.size)?32:\"small\"===(null===(v=e.attributes)||void 0===v?void 0:v.size)?20:void 0,highlight:(null===(b=e.attributes)||void 0===b?void 0:b.background)?\"yellow\":void 0}),h}t.generateWord=function(e,t){return l(this,void 0,void 0,(function*(){let n;c=0,p=-1,v=!1;const r=[],i=[];if(e.ops){const t=o.parseQuillDelta(e);i.push(t)}else if(Array.isArray(e))for(const t of e)i.push(t);else{if(!e.paragraphs)throw new Error(\"Please provide a raw Quill Delta, a parsed Quill delta, or an Array of parsed Quill deltas. See QuillTodocx readme.\");i.push(e)}n=function(e,t){let n,r;return f=d.defaultStyles,g=d.customNumberedLevels,t&&function(e){e.paragraphStyles&&function(e){if(e.normal){const t=f.findIndex((e=>\"normal\"===e.id));b(e.normal,0,t)}if(e.header_1){const t=f.findIndex((e=>\"header_1\"===e.id));b(e.header_1,0,t)}if(e.header_2){const t=f.findIndex((e=>\"header_2\"===e.id));b(e.header_2,0,t)}if(e.list_paragraph){const t=f.findIndex((e=>\"list_paragraph\"===e.id));b(e.list_paragraph,0,t)}if(e.code_block){const t=f.findIndex((e=>\"code_block\"===e.id));b(e.code_block,0,t)}if(e.block_quote){const t=f.findIndex((e=>\"block_quote\"===e.id));b(e.block_quote,0,t)}if(e.citation){const t=f.findIndex((e=>\"citation\"===e.id));b(e.citation,0,t)}}(e.paragraphStyles),e.customLevels&&(g=e.customLevels)}(t),e.setup.hyperlinks.length>0&&(n=function(e){let t={},n=0;for(const r of e){const e={link:r.link,text:r.text,type:u.HyperlinkType.EXTERNAL};t=Object.assign(Object.assign({},t),{[`link${n}`]:e}),n++}return t}(e.setup.hyperlinks)),e.setup.numberedLists>0&&(r=function(e){let t=[],n=0;for(;n<e;){const e={reference:`numbered_${n}`,levels:g};t.push(e),n++}return{config:t}}(e.setup.numberedLists)),(null==t?void 0:t.customBulletLevels)&&(r=function(e,t){const n={reference:\"customBullets\",levels:t};return e?(e.config.push(n),e):{config:[n]}}(r,t.customBulletLevels),v=!0),new s.Document({styles:{paragraphStyles:f},numbering:r,hyperlinks:n})}(i[0],t);for(const e of i)r.push(h(e.paragraphs,n));for(const e of r)n.addSection({children:e});return function(e,t){return l(this,void 0,void 0,(function*(){if(!t||!t.exportAs||\"doc\"===t.exportAs)return e;if(\"blob\"===t.exportAs)return u.Packer.toBlob(e);if(\"buffer\"===t.exportAs)return console.log(\"returning buffer\"),u.Packer.toBuffer(e);if(\"base64\"===t.exportAs)return u.Packer.toBase64String(e);throw new Error(\"Please set exportAs configuration to blob, buffer, doc, or base64.\")}))}(n,t)}))}},607:function(e,t,n){\"use strict\";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__exportStar||function(e,t){for(var n in e)\"default\"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,\"__esModule\",{value:!0}),i(n(35),t),i(n(679),t)},679:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0})},687:t=>{\"use strict\";t.exports=e}},n={},function e(r){if(n[r])return n[r].exports;var i=n[r]={exports:{}};return t[r].call(i.exports,i,i.exports,e),i.exports}(607);var t,n}));\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9RdWlsbFRvV29yZC93ZWJwYWNrL3VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24iLCJ3ZWJwYWNrOi8vUXVpbGxUb1dvcmQvLi9ub2RlX21vZHVsZXMvcXVpbGxqcy1wYXJzZXIvZGlzdC9tYWluLmpzIiwid2VicGFjazovL1F1aWxsVG9Xb3JkLy4vc3JjL2RlZmF1bHQtc3R5bGVzLnRzIiwid2VicGFjazovL1F1aWxsVG9Xb3JkLy4vc3JjL2V4cG9ydGVyLnRzIiwid2VicGFjazovL1F1aWxsVG9Xb3JkLy4vc3JjL2luZGV4LnRzIiwid2VicGFjazovL1F1aWxsVG9Xb3JkL2V4dGVybmFsIFwiZG9jeFwiIiwid2VicGFjazovL1F1aWxsVG9Xb3JkL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL1F1aWxsVG9Xb3JkL3dlYnBhY2svc3RhcnR1cCJdLCJuYW1lcyI6WyJyb290IiwiZmFjdG9yeSIsImV4cG9ydHMiLCJtb2R1bGUiLCJyZXF1aXJlIiwiZGVmaW5lIiwiYW1kIiwic2VsZiIsIl9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfXzY4N19fIiwidCIsIjYwNyIsImUiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwicGFyc2VRdWlsbERlbHRhIiwiciIsInMiLCJpbnNlcnQiLCJ2aWRlbyIsImltYWdlIiwicGFyYWdyYXBocyIsInB1c2giLCJlbWJlZCIsIm4iLCJmb3JtdWxhIiwibGVuZ3RoIiwidGV4dFJ1bnMiLCJhdHRyaWJ1dGVzIiwibGlzdCIsInNldHVwIiwibnVtYmVyZWRMaXN0cyIsIm1hdGNoIiwic3BsaXQiLCJhIiwidGV4dCIsImxpbmsiLCJoeXBlcmxpbmtzIiwib3BzIiwiZGVmYXVsdFN0eWxlcyIsImlkIiwibmFtZSIsIm5leHQiLCJiYXNlZE9uIiwicXVpY2tGb3JtYXQiLCJydW4iLCJzaXplIiwicGFyYWdyYXBoIiwic3BhY2luZyIsImxpbmUiLCJiZWZvcmUiLCJhZnRlciIsImZvbnQiLCJib2xkIiwiaW5kZW50IiwibGVmdCIsInJpZ2h0IiwiaXRhbGljcyIsImJvcmRlciIsInNwYWNlIiwiY29sb3IiLCJoYW5naW5nIiwiY3VzdG9tTnVtYmVyZWRMZXZlbHMiLCJsZXZlbCIsImZvcm1hdCIsImFsaWdubWVudCIsIkFsaWdubWVudFR5cGUiLCJMRUZUIiwic3R5bGUiLCJjdXN0b21CdWxsZXRMZXZlbHMiLCJkZWZhdWx0TnVtYmVyaW5nIiwiY29uZmlnIiwicmVmZXJlbmNlIiwibGV2ZWxzIiwibGlua1RyYWNrZXIiLCJudW1iZXJlZFRyYWNrZXIiLCJzdHlsZXMiLCJjdXN0b21CdWxsZXRzIiwic2V0U3R5bGUiLCJzdHlsZUlkIiwiaW5kZXgiLCJidWlsZFNlY3Rpb24iLCJxdWlsbFBhcmFncmFwaHMiLCJkb2MiLCJxdWlsbFBhcmFncmFwaFRyYWNrZXIiLCJNZWRpYSIsImFkZEltYWdlIiwiUGFyYWdyYXBoIiwiVGV4dFJ1biIsImNoaWxkcmVuIiwiYnVpbGRQYXJhZ3JhcGgiLCJidWlsZFRleHRSdW4iLCJoZWFkaW5nIiwiaGVhZGVyIiwiZG9jeCIsIkhlYWRpbmdMZXZlbCIsIkhFQURJTkdfMSIsIkhFQURJTkdfMiIsInVuZGVmaW5lZCIsImJ1bGxldCIsIm51bWJlcmluZyIsImFsaWduIiwiQ0VOVEVSIiwiUklHSFQiLCJKVVNUSUZJRUQiLCJibG9ja3F1b3RlIiwiY2l0YXRpb24iLCJ0ZXh0UnVuIiwiSHlwZXJsaW5rUmVmIiwiaXRhbGljIiwic3ViU2NyaXB0Iiwic2NyaXB0Iiwic3VwZXJTY3JpcHQiLCJzdHJpa2UiLCJ1bmRlcmxpbmUiLCJ0eXBlIiwiVW5kZXJsaW5lVHlwZSIsIlNJTkdMRSIsInNsaWNlIiwiaGlnaGxpZ2h0IiwiYmFja2dyb3VuZCIsImRlbHRhIiwic2VjdGlvbnMiLCJwYXJzZWREZWx0YXMiLCJwYXJzZWREZWx0YSIsIkFycmF5IiwiaXNBcnJheSIsImVhY2hEZWx0YSIsIkVycm9yIiwicGFyYWdyYXBoU3R5bGVzIiwibm9ybWFsIiwiZmluZEluZGV4IiwiaGVhZGVyXzEiLCJoZWFkZXJfMiIsImxpc3RfcGFyYWdyYXBoIiwiY29kZV9ibG9jayIsImJsb2NrX3F1b3RlIiwic2V0UGFyYWdyYXBoc1N0eWxlcyIsImN1c3RvbUxldmVscyIsInNldHVwQ29uZmlnIiwicXVpbGxMaW5rcyIsImRvY0xpbmsiLCJIeXBlcmxpbmtUeXBlIiwiRVhURVJOQUwiLCJidWlsZEh5cGVybGlua3MiLCJudW1iZXJPZkxpc3RzIiwibnVtYmVyVHJhY2tlciIsIm5ld0xpc3QiLCJidWlsZE51bWJlcmluZyIsIm51bWJlckNvbmZpZyIsImJ1bGxldExldmVscyIsImFkZEN1c3RvbUJ1bGxldHMiLCJEb2N1bWVudCIsInNldHVwRG9jIiwic2VjdGlvbiIsImFkZFNlY3Rpb24iLCJleHBvcnRBcyIsIlBhY2tlciIsInRvQmxvYiIsImNvbnNvbGUiLCJsb2ciLCJ0b0J1ZmZlciIsInRvQmFzZTY0U3RyaW5nIiwiZXhwb3J0RG9jIiwiX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiX193ZWJwYWNrX21vZHVsZXNfXyIsImNhbGwiXSwibWFwcGluZ3MiOiJDQUFBLFNBQTJDQSxFQUFNQyxHQUMxQixpQkFBWkMsU0FBMEMsaUJBQVhDLE9BQ3hDQSxPQUFPRCxRQUFVRCxFQUFRRyxRQUFRLFNBQ1IsbUJBQVhDLFFBQXlCQSxPQUFPQyxJQUM5Q0QsT0FBTyxDQUFDLFFBQVNKLEdBQ1MsaUJBQVpDLFFBQ2RBLFFBQXFCLFlBQUlELEVBQVFHLFFBQVEsU0FFekNKLEVBQWtCLFlBQUlDLEVBQVFELEVBQVcsTUFSM0MsQ0FTR08sTUFBTSxTQUFTQyxHQUNsQixPLFdDVnVORCxLQUF0SkosRUFBT0QsUUFBc0ssTUFBTSxhQUFhLElBQUlPLEVBQUUsQ0FBQ0MsSUFBSSxDQUFDRCxFQUFFRSxLQUFLQyxPQUFPQyxlQUFlRixFQUFFLGFBQWEsQ0FBQ0csT0FBTSxJQUFLSCxFQUFFSSxxQkFBZ0IsRUFBTyxJQUFJQyxHQUFFLEVBQUcsU0FB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ZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KHJlcXVpcmUoXCJkb2N4XCIpKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtcImRvY3hcIl0sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wiUXVpbGxUb1dvcmRcIl0gPSBmYWN0b3J5KHJlcXVpcmUoXCJkb2N4XCIpKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJRdWlsbFRvV29yZFwiXSA9IGZhY3Rvcnkocm9vdFtcImRvY3hcIl0pO1xufSkoc2VsZiwgZnVuY3Rpb24oX19XRUJQQUNLX0VYVEVSTkFMX01PRFVMRV9fNjg3X18pIHtcbnJldHVybiAiLCIhZnVuY3Rpb24odCxlKXtcIm9iamVjdFwiPT10eXBlb2YgZXhwb3J0cyYmXCJvYmplY3RcIj09dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz1lKCk6XCJmdW5jdGlvblwiPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbXSxlKTpcIm9iamVjdFwiPT10eXBlb2YgZXhwb3J0cz9leHBvcnRzW1wicXVpbGxqcy1wYXJzZXJcIl09ZSgpOnRbXCJxdWlsbGpzLXBhcnNlclwiXT1lKCl9KHNlbGYsKGZ1bmN0aW9uKCl7cmV0dXJuKCgpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIHQ9ezYwNzoodCxlKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLGUucGFyc2VRdWlsbERlbHRhPXZvaWQgMDtsZXQgcj0hMTtmdW5jdGlvbiBzKHQsZSl7dC5pbnNlcnQudmlkZW98fHQuaW5zZXJ0LmltYWdlP2Z1bmN0aW9uKHQsZSl7ZS5wYXJhZ3JhcGhzLnB1c2goe2VtYmVkOnQuaW5zZXJ0fSkscj0hMSxuKGUpfSh0LGUpOnQuaW5zZXJ0LmZvcm11bGE/ZnVuY3Rpb24odCxlKXt2YXIgcjswPT09ZS5wYXJhZ3JhcGhzLmxlbmd0aCYmbihlKSxudWxsPT09KHI9ZS5wYXJhZ3JhcGhzW2UucGFyYWdyYXBocy5sZW5ndGgtMV0udGV4dFJ1bnMpfHx2b2lkIDA9PT1yfHxyLnB1c2goe2Zvcm11bGE6dC5pbnNlcnQuZm9ybXVsYSxhdHRyaWJ1dGVzOnQuYXR0cmlidXRlc30pfSh0LGUpOlwiXFxuXCI9PT10Lmluc2VydD9mdW5jdGlvbih0LGUpe3QuYXR0cmlidXRlcyYmKGUucGFyYWdyYXBoc1tlLnBhcmFncmFwaHMubGVuZ3RoLTFdLmF0dHJpYnV0ZXM9dC5hdHRyaWJ1dGVzLFwib3JkZXJlZFwiPT09dC5hdHRyaWJ1dGVzLmxpc3Q/cnx8KGUuc2V0dXAubnVtYmVyZWRMaXN0cysrLHI9ITApOnI9ITEpLG4oZSl9KHQsZSk6ZnVuY3Rpb24odCxlKXtpZigwPT09ZS5wYXJhZ3JhcGhzLmxlbmd0aCYmbihlKSx0Lmluc2VydC5tYXRjaCgvXFxuLykpe2NvbnN0IHM9dC5pbnNlcnQuc3BsaXQoLyhcXG4pLyk7Zm9yKGNvbnN0IHQgb2YgcylcIlxcblwiPT09dD8obihlKSxyPSExKTphKHQsZSl9ZWxzZSBhKHQuaW5zZXJ0LGUsdC5hdHRyaWJ1dGVzKX0odCxlKX1mdW5jdGlvbiBuKHQpe3QucGFyYWdyYXBocy5wdXNoKHt0ZXh0UnVuczpbXX0pfWZ1bmN0aW9uIGEodCxlLHIpe3ZhciBzLG47cj8obnVsbD09PShzPWUucGFyYWdyYXBoc1tlLnBhcmFncmFwaHMubGVuZ3RoLTFdLnRleHRSdW5zKXx8dm9pZCAwPT09c3x8cy5wdXNoKHt0ZXh0OnQsYXR0cmlidXRlczpyfSksci5saW5rJiZlLnNldHVwLmh5cGVybGlua3MucHVzaCh7dGV4dDp0LGxpbms6ci5saW5rfSkpOm51bGw9PT0obj1lLnBhcmFncmFwaHNbZS5wYXJhZ3JhcGhzLmxlbmd0aC0xXS50ZXh0UnVucyl8fHZvaWQgMD09PW58fG4ucHVzaCh7dGV4dDp0fSl9ZS5wYXJzZVF1aWxsRGVsdGE9ZnVuY3Rpb24odCl7cj0hMTtjb25zdCBlPXtwYXJhZ3JhcGhzOltdLHNldHVwOntudW1iZXJlZExpc3RzOjAsaHlwZXJsaW5rczpbXX19O2Zvcihjb25zdCByIG9mIHQub3BzKXMocixlKTtyZXR1cm4gZX19fSxlPXt9O3JldHVybiBmdW5jdGlvbiByKHMpe2lmKGVbc10pcmV0dXJuIGVbc10uZXhwb3J0czt2YXIgbj1lW3NdPXtleHBvcnRzOnt9fTtyZXR1cm4gdFtzXShuLG4uZXhwb3J0cyxyKSxuLmV4cG9ydHN9KDYwNyl9KSgpfSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5eGRXbHNiR3B6TFhCaGNuTmxjaTkzWldKd1lXTnJMM1Z1YVhabGNuTmhiRTF2WkhWc1pVUmxabWx1YVhScGIyNGlMQ0ozWldKd1lXTnJPaTh2Y1hWcGJHeHFjeTF3WVhKelpYSXZMaTl6Y21NdmFXNWtaWGd1ZEhNaUxDSjNaV0p3WVdOck9pOHZjWFZwYkd4cWN5MXdZWEp6WlhJdmQyVmljR0ZqYXk5aWIyOTBjM1J5WVhBaUxDSjNaV0p3WVdOck9pOHZjWFZwYkd4cWN5MXdZWEp6WlhJdmQyVmljR0ZqYXk5emRHRnlkSFZ3SWwwc0ltNWhiV1Z6SWpwYkluSnZiM1FpTENKbVlXTjBiM0o1SWl3aVpYaHdiM0owY3lJc0ltMXZaSFZzWlNJc0ltUmxabWx1WlNJc0ltRnRaQ0lzSW5ObGJHWWlMQ0poWTNScGRtVk9kVzFpWlhKbFpFeHBjM1FpTENKd1lYSnpaVTl3SWl3aWIzQWlMQ0p3WVhKelpXUWlMQ0pwYm5ObGNuUWlMQ0oyYVdSbGJ5SXNJbWx0WVdkbElpd2ljR0Z5WVdkeVlYQm9jeUlzSW5CMWMyZ2lMQ0psYldKbFpDSXNJbk4wWVhKMFRtVjNVR0Z5WVdkeVlYQm9JaXdpYVc1elpYSjBSVzFpWldSUVlYSmhaM0poY0dnaUxDSm1iM0p0ZFd4aElpd2liR1Z1WjNSb0lpd2lkR1Y0ZEZKMWJuTWlMQ0poZEhSeWFXSjFkR1Z6SWl3aWFXNXpaWEowUm05eWJYVnNZU0lzSW14cGMzUWlMQ0p6WlhSMWNDSXNJbTUxYldKbGNtVmtUR2x6ZEhNaUxDSnBibk5sY25ST1pYZHNhVzVsSWl3aWJXRjBZMmdpTENKemRISnBibWR6SWl3aWMzQnNhWFFpTENKMFpYaDBJaXdpYVc1elpYSjBVMmx0Y0d4bFUzUnlhVzVuSWl3aWFXNXpaWEowVkdWNGRDSXNJbXhwYm1zaUxDSm9lWEJsY214cGJtdHpJaXdpY1hWcGJHd2lMQ0p2Y0hNaUxDSmZYM2RsWW5CaFkydGZiVzlrZFd4bFgyTmhZMmhsWDE4aUxDSmZYM2RsWW5CaFkydGZjbVZ4ZFdseVpWOWZJaXdpYlc5a2RXeGxTV1FpTENKZlgzZGxZbkJoWTJ0ZmJXOWtkV3hsYzE5ZklsMHNJbTFoY0hCcGJtZHpJam9pUTBGQlFTeFRRVUV5UTBFc1JVRkJUVU1zUjBGRE1VSXNhVUpCUVZwRExGTkJRVEJETEdsQ1FVRllReXhQUVVONFEwRXNUMEZCVDBRc1VVRkJWVVFzU1VGRFVTeHRRa0ZCV0Vjc1VVRkJlVUpCTEU5QlFVOURMRWxCUXpsRFJDeFBRVUZQTEVkQlFVbElMRWRCUTJVc2FVSkJRVnBETEZGQlEyUkJMRkZCUVZFc2EwSkJRVzlDUkN4SlFVVTFRa1FzUlVGQlN5eHJRa0ZCYjBKRExFbEJVak5DTEVOQlUwZExMRTFCUVUwc1YwRkRWQ3hOTEdkSVF6WkVRU3hKUVVGSlF5eEhRVUZ4UWl4RlFXdENla0lzVTBGQlUwTXNSVUZCVVVNc1JVRkJZVU1zUjBGRmNrSkVMRVZCUVVkRkxFOUJRWFZDUXl4UFFVRlZTQ3hGUVVGSFJTeFBRVUYxUWtVc1RVRnpRblpGTEZOQlFUaENTaXhGUVVGaFF5eEhRVU4yUTBFc1JVRkJUMGtzVjBGQlYwTXNTMEZCU3l4RFFVTnVRa01zVFVGQlQxQXNSVUZCUjBVc1UwRkZaRW9zUjBGQmNVSXNSVUZEY2tKVkxFVkJRV3RDVUN4SFFURkNaRkVzUTBGQmNVSlVMRVZCUVVsRExFZEJSV3BDUkN4RlFVRkhSU3hQUVVGMVFsRXNVVUUwUWpGRExGTkJRWFZDVml4RlFVRmhReXhITEUxQlEwTXNTVUZCTjBKQkxFVkJRVTlKTEZkQlFWZE5MRkZCUTJ4Q1NDeEZRVUZyUWxBc1IwRkZaME1zVVVGQmRFUXNSVUZCUVVFc1JVRkJUMGtzVjBGQlYwb3NSVUZCVDBrc1YwRkJWMDBzVDBGQlR5eEhRVUZIUXl4blFrRkJVU3hUUVVGRlRpeExRVUZMTEVOQlEzcEVTU3hSUVVGVlZpeEZRVUZIUlN4UFFVRjFRbEVzVVVGRGNFTkhMRmRCUVZsaUxFVkJRVWRoTEdGQmFrTm1ReXhEUVVGalpDeEZRVUZKUXl4SFFVVkhMRTlCUVdSRUxFVkJRVWRGTEU5QmIwTnNRaXhUUVVGMVFrWXNSVUZCWVVNc1IwRkZOVUpFTEVWQlFVZGhMR0ZCUTBoYUxFVkJRVTlKTEZkQlFWZEtMRVZCUVU5SkxGZEJRVmROTEU5QlFVOHNSMEZCUjBVc1YwRkJZV0lzUlVGQlIyRXNWMEZEYmtNc1dVRkJka0ppTEVWQlFVZGhMRmRCUVZkRkxFdEJSVlpxUWl4SlFVMUJSeXhGUVVGUFpTeE5RVUZOUXl4blFrRkRZbTVDTEVkQlFYRkNMRWRCUjNwQ1FTeEhRVUZ4UWl4SFFVYzNRbFVzUlVGQmEwSlFMRWRCZEVSa2FVSXNRMEZCWTJ4Q0xFVkJRVWxETEVkQk1FUXhRaXhUUVVGdlFrUXNSVUZCWVVNc1IwRkxOMElzUjBGS2FVTXNTVUZCTjBKQkxFVkJRVTlKTEZkQlFWZE5MRkZCUTJ4Q1NDeEZRVUZyUWxBc1IwRkhha0pFTEVWQlFVZEZMRTlCUVd0Q2FVSXNUVUZCVFN4TlFVRlBMRU5CUTI1RExFMUJRVTFETEVWQlFYZENjRUlzUlVGQlIwVXNUMEZwUTNaQ2JVSXNUVUZCVFN4UlFXaERhRUlzU1VGQlN5eE5RVUZOUXl4TFFVRlJSaXhGUVVOR0xFOUJRVlJGTEVkQlEwRmtMRVZCUVd0Q1VDeEhRVU5zUWtnc1IwRkJjVUlzUjBGRmNrSjVRaXhGUVVGdFFrUXNSVUZCVFhKQ0xGRkJTV3BEYzBJc1JVRkJiVUoyUWl4RlFVRkhSU3hQUVVGclFrUXNSVUZCVVVRc1JVRkJSMkVzV1VGMlJXNUVWeXhEUVVGWGVFSXNSVUZCU1VNc1IwRkxka0lzVTBGQlUwOHNSVUZCYTBKUUxFZEJRM1pDUVN4RlFVRlBTU3hYUVVGWFF5eExRVUZMTEVOQlEyNUNUU3hUUVVGVkxFdEJjVVZzUWl4VFFVRlRWeXhGUVVGdFFrUXNSVUZCWTNKQ0xFVkJRVEJDV1N4SExGRkJRelZFUVN4SFFVTnpSQ3hSUVVGMFJDeEZRVUZCV2l4RlFVRlBTU3hYUVVGWFNpeEZRVUZQU1N4WFFVRlhUU3hQUVVGUExFZEJRVWRETEdkQ1FVRlJMRk5CUVVWT0xFdEJRVXNzUTBGRGVrUm5RaXhMUVVGTlFTeEZRVU5PVkN4WFFVRlpRU3hKUVVWYVFTeEZRVUZYV1N4TlFVTlllRUlzUlVGQlQyVXNUVUZCVFZVc1YwRkJWM0JDTEV0QlFVc3NRMEZCUldkQ0xFdEJRVTFCTEVWQlFVMUhMRXRCUVUxYUxFVkJRVmRaTEZGQlIxWXNVVUZCZEVRc1JVRkJRWGhDTEVWQlFVOUpMRmRCUVZkS0xFVkJRVTlKTEZkQlFWZE5MRTlCUVU4c1IwRkJSME1zWjBKQlFWRXNVMEZCUlU0c1MwRkJTeXhEUVVONlJHZENMRXRCUVUxQkxFbEJia2hzUWl3eVFrRkJaME5MTEVkQlF6VkNOMElzUjBGQmNVSXNSVUZEY2tJc1RVRkJUVWNzUlVGQk1rSXNRMEZETjBKSkxGZEJRVmtzUjBGRFdsY3NUVUZCVHl4RFFVTklReXhqUVVGbExFVkJRMlpUTEZkQlFWa3NTMEZIY0VJc1NVRkJTeXhOUVVGTk1VSXNTMEZCVFRKQ0xFVkJRVTFETEVsQlEyNUNOMElzUlVGQlVVTXNSVUZCU1VNc1IwRkZhRUlzVDBGQlQwRXNTME53UmxBMFFpeEZRVUV5UWl4SFEwVXZRaXhQUkVOQkxGTkJRVk5ETEVWQlFXOUNReXhIUVVVMVFpeEhRVUZIUml4RlFVRjVRa1VzUjBGRE0wSXNUMEZCVDBZc1JVRkJlVUpGTEVkQlFWVjBReXhSUVVjelF5eEpRVUZKUXl4RlFVRlRiVU1zUlVGQmVVSkZMRWRCUVZrc1EwRkhha1IwUXl4UlFVRlRMRWxCVDFZc1QwRklRWFZETEVWQlFXOUNSQ3hIUVVGVmNrTXNSVUZCVVVFc1JVRkJUMFFzVVVGQlUzRkRMRWRCUnk5RGNFTXNSVUZCVDBRc1VVTnFRbEp4UXl4RFFVRnZRaXhOSWl3aVptbHNaU0k2SW0xaGFXNHVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJb1puVnVZM1JwYjI0Z2QyVmljR0ZqYTFWdWFYWmxjbk5oYkUxdlpIVnNaVVJsWm1sdWFYUnBiMjRvY205dmRDd2dabUZqZEc5eWVTa2dlMXh1WEhScFppaDBlWEJsYjJZZ1pYaHdiM0owY3lBOVBUMGdKMjlpYW1WamRDY2dKaVlnZEhsd1pXOW1JRzF2WkhWc1pTQTlQVDBnSjI5aWFtVmpkQ2NwWEc1Y2RGeDBiVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1ZV04wYjNKNUtDazdYRzVjZEdWc2MyVWdhV1lvZEhsd1pXOW1JR1JsWm1sdVpTQTlQVDBnSjJaMWJtTjBhVzl1SnlBbUppQmtaV1pwYm1VdVlXMWtLVnh1WEhSY2RHUmxabWx1WlNoYlhTd2dabUZqZEc5eWVTazdYRzVjZEdWc2MyVWdhV1lvZEhsd1pXOW1JR1Y0Y0c5eWRITWdQVDA5SUNkdlltcGxZM1FuS1Z4dVhIUmNkR1Y0Y0c5eWRITmJYQ0p4ZFdsc2JHcHpMWEJoY25ObGNsd2lYU0E5SUdaaFkzUnZjbmtvS1R0Y2JseDBaV3h6WlZ4dVhIUmNkSEp2YjNSYlhDSnhkV2xzYkdwekxYQmhjbk5sY2x3aVhTQTlJR1poWTNSdmNua29LVHRjYm4wcEtITmxiR1lzSUdaMWJtTjBhVzl1S0NrZ2UxeHVjbVYwZFhKdUlDSXNJbVY0Y0c5eWRDQnBiblJsY21aaFkyVWdTVzV6WlhKMFJXMWlaV1FnZTF4dUlDQWdJR2x0WVdkbFB6b2djM1J5YVc1bk8xeHVJQ0FnSUdadmNtMTFiR0UvT2lCemRISnBibWM3WEc0Z0lDQWdkbWxrWlc4L09pQnpkSEpwYm1jN1hHNTlYRzVjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVW5WdVFYUjBjbWxpZFhSbGN5QjdYRzRnSUNBZ2MyTnlhWEIwUHpvZ0ozTjFjR1Z5SnlCOElDZHpkV0luTzF4dUlDQWdJR052Ykc5eVB6b2djM1J5YVc1bk8xeHVJQ0FnSUdKaFkydG5jbTkxYm1RL09pQnpkSEpwYm1jN1hHNGdJQ0FnWW05c1pEODZJR0p2YjJ4bFlXNDdYRzRnSUNBZ2FYUmhiR2xqUHpvZ1ltOXZiR1ZoYmp0Y2JpQWdJQ0IxYm1SbGNteHBibVUvT2lCaWIyOXNaV0Z1TzF4dUlDQWdJSE4wY21sclpUODZJR0p2YjJ4bFlXNDdYRzRnSUNBZ1ptOXVkRDg2SUhOMGNtbHVaenRjYmlBZ0lDQnNhVzVyUHpvZ2MzUnlhVzVuTzF4dUlDQWdJSE5wZW1VL09pQW5jMjFoYkd3bklId2dKMnhoY21kbEp5QjhJQ2RvZFdkbEp6dGNibjFjYmx4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCTWFXNWxRWFIwY21saWRYUmxjeUI3WEc0Z0lDQWdhR1ZoWkdWeVB6b2dNU0I4SURJN1hHNGdJQ0FnWkdseVpXTjBhVzl1UHpvZ0ozSjBiQ2M3WEc0Z0lDQWdZV3hwWjI0L09pQW5jbWxuYUhRbklId2dKMnhsWm5RbklId2dKMk5sYm5SbGNpY2dmQ0FuYW5WemRHbG1lU2M3WEc0Z0lDQWdhVzVrWlc1MFB6b2diblZ0WW1WeU8xeHVJQ0FnSUdKc2IyTnJjWFZ2ZEdVL09pQmliMjlzWldGdU8xeHVJQ0FnSUd4cGMzUS9PaUFuYjNKa1pYSmxaQ2NnZkNBblluVnNiR1YwSnp0Y2JpQWdJQ0JjSW1OdlpHVXRZbXh2WTJ0Y0lqODZJR0p2YjJ4bFlXNDdYRzU5WEc1Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1FYUjBjbWxpZFhSbGN5QmxlSFJsYm1SeklGSjFia0YwZEhKcFluVjBaWE1zSUV4cGJtVkJkSFJ5YVdKMWRHVnpJSHQ5WEc1Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1VYVnBiR3hQY0NCN1hHNGdJQ0FnYVc1elpYSjBQem9nYzNSeWFXNW5JSHdnU1c1elpYSjBSVzFpWldRN1hHNGdJQ0FnWVhSMGNtbGlkWFJsY3o4NklFRjBkSEpwWW5WMFpYTTdYRzRnSUNBZ2JHbHVaVUYwZEhKcFluVjBaWE0vT2lCTWFXNWxRWFIwY21saWRYUmxjenRjYmlBZ0lDQnlkVzVCZEhSeWFXSjFkR1Z6UHpvZ1VuVnVRWFIwY21saWRYUmxjenRjYm4xY2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQlNZWGRSZFdsc2JFUmxiSFJoSUh0Y2JpQWdJQ0J2Y0hNNklGRjFhV3hzVDNCYlhUdGNibjFjYmx4dUx5OGdUMVZVVUZWVVhHNWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdWR1Y0ZEZKMWJpQjdYRzRnSUNBZ2RHVjRkRG9nYzNSeWFXNW5PMXh1SUNBZ0lHRjBkSEpwWW5WMFpYTS9PaUJTZFc1QmRIUnlhV0oxZEdWek8xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZCaGNtRm5jbUZ3YUNCN1hHNGdJQ0FnZEdWNGRGSjFibk0vT2lBb1ZHVjRkRkoxYmlCOElIc2dabTl5YlhWc1lUb2djM1J5YVc1bklIMHBXMTA3WEc0Z0lDQWdaVzFpWldRL09pQkpibk5sY25SRmJXSmxaRHRjYmlBZ0lDQmhkSFJ5YVdKMWRHVnpQem9nVEdsdVpVRjBkSEpwWW5WMFpYTTdYRzU5WEc1Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1VVaDVjR1Z5VEdsdWF5QjdYRzRnSUNBZ2RHVjRkRG9nYzNSeWFXNW5PMXh1SUNBZ0lHeHBibXM2SUhOMGNtbHVaenRjYm4xY2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQlRaWFIxY0VsdVptOGdlMXh1SUNBZ0lHNTFiV0psY21Wa1RHbHpkSE02SUc1MWJXSmxjanRjYmlBZ0lDQm9lWEJsY214cGJtdHpPaUJSU0hsd1pYSk1hVzVyVzEwN1hHNTlYRzVjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVUdGeWMyVmtVWFZwYkd4RVpXeDBZU0I3WEc0Z0lDQWdjR0Z5WVdkeVlYQm9jem9nVUdGeVlXZHlZWEJvVzEwN1hHNGdJQ0FnYzJWMGRYQTZJRk5sZEhWd1NXNW1ienRjYm4xY2JseHVMeThnUm5WdVkzUnBiMjV6WEc1c1pYUWdZV04wYVhabFRuVnRZbVZ5WldSTWFYTjBJRDBnWm1Gc2MyVTdYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ3WVhKelpWRjFhV3hzUkdWc2RHRW9jWFZwYkd3NklGSmhkMUYxYVd4c1JHVnNkR0VwT2lCUVlYSnpaV1JSZFdsc2JFUmxiSFJoSUh0Y2JpQWdJQ0JoWTNScGRtVk9kVzFpWlhKbFpFeHBjM1FnUFNCbVlXeHpaVHRjYmlBZ0lDQmpiMjV6ZENCd1lYSnpaV1E2SUZCaGNuTmxaRkYxYVd4c1JHVnNkR0VnUFNCN1hHNGdJQ0FnSUNBZ0lIQmhjbUZuY21Gd2FITTZJRnRkTEZ4dUlDQWdJQ0FnSUNCelpYUjFjRG9nZTF4dUlDQWdJQ0FnSUNBZ0lDQWdiblZ0WW1WeVpXUk1hWE4wY3pvZ01DeGNiaUFnSUNBZ0lDQWdJQ0FnSUdoNWNHVnliR2x1YTNNNklGdGRYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlPMXh1SUNBZ0lHWnZjaUFvWTI5dWMzUWdiM0FnYjJZZ2NYVnBiR3d1YjNCektTQjdYRzRnSUNBZ0lDQWdJSEJoY25ObFQzQW9iM0FzSUhCaGNuTmxaQ2s3WEc0Z0lDQWdmVHRjYmlBZ0lDQnlaWFIxY200Z2NHRnljMlZrTzF4dWZWeHVYRzVjYm1aMWJtTjBhVzl1SUhCaGNuTmxUM0FvYjNBNklGRjFhV3hzVDNBc0lIQmhjbk5sWkRvZ1VHRnljMlZrVVhWcGJHeEVaV3gwWVNrZ2UxeHVJQ0FnSUM4dklHaGhibVJzWlNCMmFXUmxiM01nWVc1a0lHbHRZV2RsYzF4dUlDQWdJR2xtSUNnb2IzQXVhVzV6WlhKMElHRnpJRWx1YzJWeWRFVnRZbVZrS1M1MmFXUmxieUI4ZkNBb2IzQXVhVzV6WlhKMElHRnpJRWx1YzJWeWRFVnRZbVZrS1M1cGJXRm5aU2tnZTF4dUlDQWdJQ0FnSUNCcGJuTmxjblJGYldKbFpGQmhjbUZuY21Gd2FDaHZjQ3dnY0dGeWMyVmtLVHRjYmlBZ0lDQXZMeUJvWVc1a2JHVWdabTl5YlhWc1lYTmNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tDaHZjQzVwYm5ObGNuUWdZWE1nU1c1elpYSjBSVzFpWldRcExtWnZjbTExYkdFcElIdGNiaUFnSUNBZ0lDQWdhVzV6WlhKMFJtOXliWFZzWVNodmNDd2djR0Z5YzJWa0tUdGNiaUFnSUNBdkx5Qm9ZVzVrYkdVZ1pYaGpiSFZ6YVhabElHNWxkMnhwYm1WelhHNGdJQ0FnZlNCbGJITmxJR2xtSUNodmNDNXBibk5sY25RZ1BUMDlJQ2RjWEc0bktTQjdYRzRnSUNBZ0lDQWdJR2x1YzJWeWRFNWxkMnhwYm1Vb2IzQXNJSEJoY25ObFpDazdYRzRnSUNBZ0x5OGdhR0Z1Wkd4bElIUmxlSFFnWVc1a0lIUmxlSFFnZDJsMGFDQnVaWGRzYVc1bGN5QnBiblJsY20xcGVHVmtYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2FXNXpaWEowVkdWNGRDaHZjQ3dnY0dGeWMyVmtLVHRjYmlBZ0lDQjlYRzU5WEc1Y2JpOHZJR2x1YzJWeWRDQmhJR0pzWVc1cklIQmhjbUZuY21Gd2FGeHVablZ1WTNScGIyNGdjM1JoY25ST1pYZFFZWEpoWjNKaGNHZ29jR0Z5YzJWa09pQlFZWEp6WldSUmRXbHNiRVJsYkhSaEtTQjdYRzRnSUNBZ2NHRnljMlZrTG5CaGNtRm5jbUZ3YUhNdWNIVnphQ2g3WEc0Z0lDQWdJQ0FnSUhSbGVIUlNkVzV6T2lCYlhWeHVJQ0FnSUgwcE8xeHVmVnh1WEc0dkx5QnBibk5sY25SeklHRWdkbWxrWlc4Z2IzSWdhVzFoWjJVZ1pXMWlaV1JjYm1aMWJtTjBhVzl1SUdsdWMyVnlkRVZ0WW1Wa1VHRnlZV2R5WVhCb0tHOXdPaUJSZFdsc2JFOXdMQ0J3WVhKelpXUTZJRkJoY25ObFpGRjFhV3hzUkdWc2RHRXBJSHRjYmlBZ0lDQndZWEp6WldRdWNHRnlZV2R5WVhCb2N5NXdkWE5vS0h0Y2JpQWdJQ0FnSUNBZ1pXMWlaV1E2SUc5d0xtbHVjMlZ5ZENCaGN5Qkpibk5sY25SRmJXSmxaRnh1SUNBZ0lIMHBPMXh1SUNBZ0lHRmpkR2wyWlU1MWJXSmxjbVZrVEdsemRDQTlJR1poYkhObE8xeHVJQ0FnSUhOMFlYSjBUbVYzVUdGeVlXZHlZWEJvS0hCaGNuTmxaQ2s3WEc1OVhHNWNiaTh2SUdsdWMyVnlkSE1nWVNCbWIzSnRkV3hoSUdWdFltVmtYRzVtZFc1amRHbHZiaUJwYm5ObGNuUkdiM0p0ZFd4aEtHOXdPaUJSZFdsc2JFOXdMQ0J3WVhKelpXUTZJRkJoY25ObFpGRjFhV3hzUkdWc2RHRXBJSHRjYmlBZ0lDQnBaaUFvY0dGeWMyVmtMbkJoY21GbmNtRndhSE11YkdWdVozUm9JRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJSE4wWVhKMFRtVjNVR0Z5WVdkeVlYQm9LSEJoY25ObFpDazdYRzRnSUNBZ2ZWeHVJQ0FnSUhCaGNuTmxaQzV3WVhKaFozSmhjR2h6VzNCaGNuTmxaQzV3WVhKaFozSmhjR2h6TG14bGJtZDBhQzB4WFM1MFpYaDBVblZ1Y3o4dWNIVnphQ2g3WEc0Z0lDQWdJQ0FnSUdadmNtMTFiR0U2SUNodmNDNXBibk5sY25RZ1lYTWdTVzV6WlhKMFJXMWlaV1FwTG1admNtMTFiR0VoTEZ4dUlDQWdJQ0FnSUNCaGRIUnlhV0oxZEdWek9pQnZjQzVoZEhSeWFXSjFkR1Z6WEc0Z0lDQWdmU2s3WEc1OVhHNWNiaTh2SUdsdWMyVnlkSE1nWVNCdVpYY2djR0Z5WVdkeVlYQm9JR0Z1WkNCaGNIQnNhV1Z6SUd4cGJtVWdabTl5YldGMGRHbHVaMXh1Wm5WdVkzUnBiMjRnYVc1elpYSjBUbVYzYkdsdVpTaHZjRG9nVVhWcGJHeFBjQ3dnY0dGeWMyVmtPaUJRWVhKelpXUlJkV2xzYkVSbGJIUmhLU0I3WEc0Z0lDQWdMeThnYVdZZ2JHbHVaU0JoZEhSeWFXSjFkR1Z6TENCaGNIQnNlU0IwYUc5elpTQjBieUIwYUdVZ2NISmxkbWx2ZFhNZ2NHRnlZV2R5WVhCb1hHNGdJQ0FnYVdZZ0tHOXdMbUYwZEhKcFluVjBaWE1wSUh0Y2JpQWdJQ0FnSUNBZ2NHRnljMlZrTG5CaGNtRm5jbUZ3YUhOYmNHRnljMlZrTG5CaGNtRm5jbUZ3YUhNdWJHVnVaM1JvTFRGZExtRjBkSEpwWW5WMFpYTWdQU0J2Y0M1aGRIUnlhV0oxZEdWek8xeHVJQ0FnSUNBZ0lDQnBaaUFvYjNBdVlYUjBjbWxpZFhSbGN5NXNhWE4wSUQwOVBTQW5iM0prWlhKbFpDY3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJR2xtSUdGc2NtVmhaSGtnWVc0Z1lXTjBhWFpsSUc1MWJXSmxjbVZrSUd4cGMzUmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGhZM1JwZG1WT2RXMWlaWEpsWkV4cGMzUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCa2J5QnViM1FnYVc1amNtVnRaVzUwSUZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklHeGxZWFpsSUdGamRHbDJaU0JzYVhOMElIUnlkV1ZjYmlBZ0lDQWdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdhVzVqY21WdFpXMXVkRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUhObGRDQmhZM1JwZG1VZ2RHOGdkSEoxWlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhCaGNuTmxaQzV6WlhSMWNDNXVkVzFpWlhKbFpFeHBjM1J6S3lzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lXTjBhWFpsVG5WdFltVnlaV1JNYVhOMElEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHRmpkR2wyWlU1MWJXSmxjbVZrVEdsemRDQTlJR1poYkhObE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhOMFlYSjBUbVYzVUdGeVlXZHlZWEJvS0hCaGNuTmxaQ2s3WEc1OVhHNWNiaTh2SUdsdWMyVnlkSE1nZEdWNGRDQjNhWFJvSUdsdWRHVnliV2w0WldRZ2JtVjNiR2x1WlhNZ1lXNWtJSEoxYmlCaGRIUnlhV0oxZEdWelhHNW1kVzVqZEdsdmJpQnBibk5sY25SVVpYaDBLRzl3T2lCUmRXbHNiRTl3TENCd1lYSnpaV1E2SUZCaGNuTmxaRkYxYVd4c1JHVnNkR0VwSUh0Y2JpQWdJQ0JwWmlBb2NHRnljMlZrTG5CaGNtRm5jbUZ3YUhNdWJHVnVaM1JvSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUhOMFlYSjBUbVYzVUdGeVlXZHlZWEJvS0hCaGNuTmxaQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lDOHZJR2xtSUdsMElHTnZiblJoYVc1eklHNWxkMnhwYm1VZ1kyaGhjbUZqZEdWeWMxeHVJQ0FnSUdsbUlDZ29iM0F1YVc1elpYSjBJR0Z6SUhOMGNtbHVaeWt1YldGMFkyZ29MMXhjYmk4cEtTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElITjBjbWx1WjNNZ1BTQnpjR3hwZEZOMGNtbHVaM01vS0c5d0xtbHVjMlZ5ZENCaGN5QnpkSEpwYm1jcEtUdGNiaUFnSUNBZ0lDQWdabTl5SUNoamIyNXpkQ0IwWlhoMElHOW1JSE4wY21sdVozTXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwWlhoMElEMDlQU0FuWEZ4dUp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSE4wWVhKMFRtVjNVR0Z5WVdkeVlYQm9LSEJoY25ObFpDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZV04wYVhabFRuVnRZbVZ5WldSTWFYTjBJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsdWMyVnlkRk5wYlhCc1pWTjBjbWx1WnloMFpYaDBMQ0J3WVhKelpXUXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHbHVjMlZ5ZEZOcGJYQnNaVk4wY21sdVp5aHZjQzVwYm5ObGNuUWdZWE1nYzNSeWFXNW5MQ0J3WVhKelpXUXNJRzl3TG1GMGRISnBZblYwWlhNcE8xeHVJQ0FnSUgxY2JuMWNibHh1THk4Z2FXNXpaWEowY3lCemFXMXdiR1VnYzNSeWFXNW5JSGRwZEdnZ1lYUjBjbWxpZFhSbGMxeHVablZ1WTNScGIyNGdhVzV6WlhKMFUybHRjR3hsVTNSeWFXNW5LSFJsZUhRNklITjBjbWx1Wnl3Z2NHRnljMlZrT2lCUVlYSnpaV1JSZFdsc2JFUmxiSFJoTENCaGRIUnlhV0oxZEdWelB6b2dVblZ1UVhSMGNtbGlkWFJsY3lrZ2UxeHVJQ0FnSUdsbUlDaGhkSFJ5YVdKMWRHVnpLU0I3WEc0Z0lDQWdJQ0FnSUhCaGNuTmxaQzV3WVhKaFozSmhjR2h6VzNCaGNuTmxaQzV3WVhKaFozSmhjR2h6TG14bGJtZDBhQzB4WFM1MFpYaDBVblZ1Y3o4dWNIVnphQ2g3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBaWGgwT2lCMFpYaDBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1lYUjBjbWxpZFhSbGN6b2dZWFIwY21saWRYUmxjMXh1SUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLR0YwZEhKcFluVjBaWE11YkdsdWF5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NHRnljMlZrTG5ObGRIVndMbWg1Y0dWeWJHbHVhM011Y0hWemFDaDdJSFJsZUhRNklIUmxlSFFzSUd4cGJtczZJR0YwZEhKcFluVjBaWE11YkdsdWF5QjlLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSEJoY25ObFpDNXdZWEpoWjNKaGNHaHpXM0JoY25ObFpDNXdZWEpoWjNKaGNHaHpMbXhsYm1kMGFDMHhYUzUwWlhoMFVuVnVjejh1Y0hWemFDaDdYRzRnSUNBZ0lDQWdJQ0FnSUNCMFpYaDBPaUIwWlhoMFhHNGdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lIMWNibjFjYmx4dUx5OGdjM0JzYVhSeklITjBjbWx1WjNNZ2IyNGdaWFpsY25rZ2JtVjNiR2x1WlNCamFHRnlZV04wWlhJc0lHdGxaWEJwYm1jZ2RHaGxJRzVsZDJ4cGJtVWdZMmhoY21GamRHVnljenNnY21WMGRYSnVjeUJoY25KaGVWeHVablZ1WTNScGIyNGdjM0JzYVhSVGRISnBibWR6S0hOMGNtbHVaem9nYzNSeWFXNW5LVG9nYzNSeWFXNW5XMTBnZTF4dUlDQWdJSEpsZEhWeWJpQnpkSEpwYm1jdWMzQnNhWFFvTHloY1hHNHBMeWs3WEc1OVhHNGlMQ0l2THlCVWFHVWdiVzlrZFd4bElHTmhZMmhsWEc1MllYSWdYMTkzWldKd1lXTnJYMjF2WkhWc1pWOWpZV05vWlY5ZklEMGdlMzA3WEc1Y2JpOHZJRlJvWlNCeVpYRjFhWEpsSUdaMWJtTjBhVzl1WEc1bWRXNWpkR2x2YmlCZlgzZGxZbkJoWTJ0ZmNtVnhkV2x5WlY5ZktHMXZaSFZzWlVsa0tTQjdYRzVjZEM4dklFTm9aV05ySUdsbUlHMXZaSFZzWlNCcGN5QnBiaUJqWVdOb1pWeHVYSFJwWmloZlgzZGxZbkJoWTJ0ZmJXOWtkV3hsWDJOaFkyaGxYMTliYlc5a2RXeGxTV1JkS1NCN1hHNWNkRngwY21WMGRYSnVJRjlmZDJWaWNHRmphMTl0YjJSMWJHVmZZMkZqYUdWZlgxdHRiMlIxYkdWSlpGMHVaWGh3YjNKMGN6dGNibHgwZlZ4dVhIUXZMeUJEY21WaGRHVWdZU0J1WlhjZ2JXOWtkV3hsSUNoaGJtUWdjSFYwSUdsMElHbHVkRzhnZEdobElHTmhZMmhsS1Z4dVhIUjJZWElnYlc5a2RXeGxJRDBnWDE5M1pXSndZV05yWDIxdlpIVnNaVjlqWVdOb1pWOWZXMjF2WkhWc1pVbGtYU0E5SUh0Y2JseDBYSFF2THlCdWJ5QnRiMlIxYkdVdWFXUWdibVZsWkdWa1hHNWNkRngwTHk4Z2JtOGdiVzlrZFd4bExteHZZV1JsWkNCdVpXVmtaV1JjYmx4MFhIUmxlSEJ2Y25Sek9pQjdmVnh1WEhSOU8xeHVYRzVjZEM4dklFVjRaV04xZEdVZ2RHaGxJRzF2WkhWc1pTQm1kVzVqZEdsdmJseHVYSFJmWDNkbFluQmhZMnRmYlc5a2RXeGxjMTlmVzIxdlpIVnNaVWxrWFNodGIyUjFiR1VzSUcxdlpIVnNaUzVsZUhCdmNuUnpMQ0JmWDNkbFluQmhZMnRmY21WeGRXbHlaVjlmS1R0Y2JseHVYSFF2THlCU1pYUjFjbTRnZEdobElHVjRjRzl5ZEhNZ2IyWWdkR2hsSUcxdlpIVnNaVnh1WEhSeVpYUjFjbTRnYlc5a2RXeGxMbVY0Y0c5eWRITTdYRzU5WEc1Y2JpSXNJaTh2SUcxdlpIVnNaU0JsZUhCdmNuUnpJRzExYzNRZ1ltVWdjbVYwZFhKdVpXUWdabkp2YlNCeWRXNTBhVzFsSUhOdklHVnVkSEo1SUdsdWJHbHVhVzVuSUdseklHUnBjMkZpYkdWa1hHNHZMeUJ6ZEdGeWRIVndYRzR2THlCTWIyRmtJR1Z1ZEhKNUlHMXZaSFZzWlNCaGJtUWdjbVYwZFhKdUlHVjRjRzl5ZEhOY2JuSmxkSFZ5YmlCZlgzZGxZbkJoWTJ0ZmNtVnhkV2x5WlY5ZktEWXdOeWs3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOSIsImltcG9ydCB7IEFsaWdubWVudFR5cGUgfSBmcm9tICdkb2N4JztcbmltcG9ydCB7IEN1c3RvbUxldmVscyB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0U3R5bGVzID0gW3tcbiAgICBpZDogJ25vcm1hbCcsXG4gICAgbmFtZTogJ05vcm1hbCcsXG4gICAgbmV4dDogJ25vcm1hbCcsXG4gICAgYmFzZWRPbjogJ25vcm1hbCcsXG4gICAgcXVpY2tGb3JtYXQ6IHRydWUsXG4gICAgcnVuOiB7XG4gICAgICBzaXplOiAyNFxuICAgIH0sXG4gICAgcGFyYWdyYXBoOiB7XG4gICAgICBzcGFjaW5nOiB7XG4gICAgICAgIGxpbmU6IDQ4MCxcbiAgICAgICAgYmVmb3JlOiAwLFxuICAgICAgICBhZnRlcjogMFxuICAgICAgfVxuICAgIH1cbiAgfSx7XG4gICAgaWQ6ICdoZWFkZXJfMScsXG4gICAgbmFtZTogJ0hlYWRpbmcgMScsXG4gICAgbmV4dDogJ25vcm1hbCcsXG4gICAgcXVpY2tGb3JtYXQ6IHRydWUsXG4gICAgcnVuOiB7XG4gICAgICBmb250OiAnQ2FsaWJyaScsXG4gICAgICBzaXplOiAzMCxcbiAgICAgIGJvbGQ6IHRydWVcbiAgICB9LFxuICAgIHBhcmFncmFwaDoge1xuICAgICAgc3BhY2luZzoge1xuICAgICAgICBiZWZvcmU6IDMwMCxcbiAgICAgICAgYWZ0ZXI6IDIwMFxuICAgICAgfVxuICAgIH1cbiAgfSx7XG4gICAgaWQ6ICdoZWFkZXJfMicsXG4gICAgbmFtZTogJ0hlYWRpbmcgMicsXG4gICAgYmFzZWRPbjogJ25vcm1hbCcsXG4gICAgbmV4dDogJ25vcm1hbCcsXG4gICAgcXVpY2tGb3JtYXQ6IHRydWUsXG4gICAgcnVuOiB7XG4gICAgICBmb250OiAnQ2FsaWJyaScsXG4gICAgICBzaXplOiAyNixcbiAgICAgIGJvbGQ6IHRydWVcbiAgICB9LFxuICAgIHBhcmFncmFwaDoge1xuICAgICAgc3BhY2luZzoge1xuICAgICAgICBiZWZvcmU6IDIwMCxcbiAgICAgICAgYWZ0ZXI6IDEwMFxuICAgICAgfVxuICAgIH1cbiAgfSx7XG4gICAgaWQ6ICdsaXN0X3BhcmFncmFwaCcsXG4gICAgbmFtZTogJ0xpc3QgUGFyYWdyYXBoJyxcbiAgICBiYXNlZE9uOiAnbm9ybWFsJyxcbiAgICBxdWlja0Zvcm1hdDogdHJ1ZSxcbiAgICBydW46IHtcbiAgICAgIHNpemU6IDI0XG4gICAgfVxuICB9LHtcbiAgICBpZDogJ2NvZGVfYmxvY2snLFxuICAgIG5hbWU6ICdDb2RlIEJsb2NrJyxcbiAgICBiYXNlZE9uOiAnbm9ybWFsJyxcbiAgICBxdWlja0Zvcm1hdDogdHJ1ZSxcbiAgICBydW46IHtcbiAgICAgIHNpemU6IDI0LFxuICAgICAgZm9udDogJ0NvdXJpZXIgTmV3J1xuICAgIH0sXG4gICAgcGFyYWdyYXBoOiB7XG4gICAgICBpbmRlbnQ6IHsgbGVmdDogNzIwLCByaWdodDogNzIwIH1cbiAgICB9XG4gIH0se1xuICAgIGlkOiAnYmxvY2tfcXVvdGUnLFxuICAgIG5hbWU6ICdCbG9jayBRdW90ZScsXG4gICAgYmFzZWRPbjogJ25vcm1hbCcsXG4gICAgcXVpY2tGb3JtYXQ6IHRydWUsXG4gICAgcnVuOiB7XG4gICAgICBpdGFsaWNzOiB0cnVlXG4gICAgfSxcbiAgICBwYXJhZ3JhcGg6IHtcbiAgICAgIGluZGVudDogeyBsZWZ0OiA1NDAgfSxcbiAgICAgIGJvcmRlcjoge1xuICAgICAgICBsZWZ0OiB7XG4gICAgICAgICAgc2l6ZTogMTIsXG4gICAgICAgICAgc3BhY2U6IDI4LFxuICAgICAgICAgIGNvbG9yOiAnMzMzMzMzJyxcbiAgICAgICAgICB2YWx1ZTogJ3NpbmdsZSdcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSx7XG4gICAgaWQ6ICdjaXRhdGlvbicsXG4gICAgbmFtZTogJ0NpdGF0aW9uJyxcbiAgICBiYXNlZE9uOiAnbm9ybWFsJyxcbiAgICBxdWlja0Zvcm1hdDogdHJ1ZSxcbiAgICBydW46IHtcbiAgICAgIHNpemU6IDI0XG4gICAgfSxcbiAgICBwYXJhZ3JhcGg6IHtcbiAgICAgIGluZGVudDoge1xuICAgICAgICBsZWZ0OiAwLFxuICAgICAgICBoYW5naW5nOiAzMjBcbiAgICAgIH0sXG4gICAgICBzcGFjaW5nOiB7XG4gICAgICAgIGxpbmU6IDQ4MFxuICAgICAgfVxuICAgIH1cbiAgfV07XG4gIFxuZXhwb3J0IGNvbnN0IGN1c3RvbU51bWJlcmVkTGV2ZWxzOiBDdXN0b21MZXZlbHNbXSA9IFt7XG4gICAgbGV2ZWw6IDAsXG4gICAgZm9ybWF0OiAnZGVjaW1hbCcsXG4gICAgdGV4dDogJyUxLicsXG4gICAgYWxpZ25tZW50OiBBbGlnbm1lbnRUeXBlLkxFRlQsXG4gICAgc3R5bGU6IHtcbiAgICBwYXJhZ3JhcGg6IHtcbiAgICAgICAgaW5kZW50OiB7IGxlZnQ6IDcyMCwgaGFuZ2luZzogMzYwIH1cbiAgICB9XG4gICAgfVxufSx7XG4gICAgbGV2ZWw6IDEsXG4gICAgZm9ybWF0OiAnbG93ZXJMZXR0ZXInLFxuICAgIHRleHQ6ICclMi4nLFxuICAgIGFsaWdubWVudDogQWxpZ25tZW50VHlwZS5MRUZULFxuICAgIHN0eWxlOiB7XG4gICAgcGFyYWdyYXBoOiB7XG4gICAgICAgIGluZGVudDogeyBsZWZ0OiAxNDQwLCBoYW5naW5nOiAzNjAgfVxuICAgIH1cbiAgICB9XG59LHtcbiAgICBsZXZlbDogMixcbiAgICBmb3JtYXQ6ICdsb3dlclJvbWFuJyxcbiAgICB0ZXh0OiAnJTMuJyxcbiAgICBhbGlnbm1lbnQ6IEFsaWdubWVudFR5cGUuTEVGVCxcbiAgICBzdHlsZToge1xuICAgIHBhcmFncmFwaDoge1xuICAgICAgICBpbmRlbnQ6IHsgbGVmdDogMjE2MCwgaGFuZ2luZzogMzYwIH1cbiAgICB9XG4gICAgfVxufSx7XG4gICAgbGV2ZWw6IDMsXG4gICAgZm9ybWF0OiAnZGVjaW1hbCcsXG4gICAgdGV4dDogJyU0LicsXG4gICAgYWxpZ25tZW50OiBBbGlnbm1lbnRUeXBlLkxFRlQsXG4gICAgc3R5bGU6IHtcbiAgICBwYXJhZ3JhcGg6IHtcbiAgICAgICAgaW5kZW50OiB7IGxlZnQ6IDI4ODAsIGhhbmdpbmc6IDM2MCB9XG4gICAgfVxuICAgIH1cbn0se1xuICAgIGxldmVsOiA0LFxuICAgIGZvcm1hdDogJ2xvd2VyTGV0dGVyJyxcbiAgICB0ZXh0OiAnJTUuJyxcbiAgICBhbGlnbm1lbnQ6IEFsaWdubWVudFR5cGUuTEVGVCxcbiAgICBzdHlsZToge1xuICAgIHBhcmFncmFwaDoge1xuICAgICAgICBpbmRlbnQ6IHsgbGVmdDogMzYwMCwgaGFuZ2luZzogMzYwIH1cbiAgICB9XG4gICAgfVxufSx7XG4gICAgbGV2ZWw6IDMsXG4gICAgZm9ybWF0OiAnbG93ZXJSb21hbicsXG4gICAgdGV4dDogJyU1LicsXG4gICAgYWxpZ25tZW50OiBBbGlnbm1lbnRUeXBlLkxFRlQsXG4gICAgc3R5bGU6IHtcbiAgICBwYXJhZ3JhcGg6IHtcbiAgICAgICAgaW5kZW50OiB7IGxlZnQ6IDQzMjAsIGhhbmdpbmc6IDM2MCB9XG4gICAgfVxuICAgIH1cbn1dO1xuXG5leHBvcnQgY29uc3QgY3VzdG9tQnVsbGV0TGV2ZWxzOiBDdXN0b21MZXZlbHNbXSA9IFt7XG4gIGxldmVsOiAwLFxuICBmb3JtYXQ6ICdidWxsZXQnLFxuICB0ZXh0OiAnXFx1MjAyMicsXG4gIGFsaWdubWVudDogQWxpZ25tZW50VHlwZS5MRUZULFxuICBzdHlsZToge1xuICBwYXJhZ3JhcGg6IHtcbiAgICAgIGluZGVudDogeyBsZWZ0OiA3MjAsIGhhbmdpbmc6IDM2MCB9XG4gIH1cbiAgfVxufSx7XG4gIGxldmVsOiAxLFxuICBmb3JtYXQ6ICdidWxsZXQnLFxuICB0ZXh0OiAnXFx1MjAyMicsXG4gIGFsaWdubWVudDogQWxpZ25tZW50VHlwZS5MRUZULFxuICBzdHlsZToge1xuICBwYXJhZ3JhcGg6IHtcbiAgICAgIGluZGVudDogeyBsZWZ0OiAxNDQwLCBoYW5naW5nOiAzNjAgfVxuICB9XG4gIH1cbn0se1xuICBsZXZlbDogMixcbiAgZm9ybWF0OiAnYnVsbGV0JyxcbiAgdGV4dDogJ1xcdTIwMjInLFxuICBhbGlnbm1lbnQ6IEFsaWdubWVudFR5cGUuTEVGVCxcbiAgc3R5bGU6IHtcbiAgcGFyYWdyYXBoOiB7XG4gICAgICBpbmRlbnQ6IHsgbGVmdDogMjE2MCwgaGFuZ2luZzogMzYwIH1cbiAgfVxuICB9XG59LHtcbiAgbGV2ZWw6IDMsXG4gIGZvcm1hdDogJ2J1bGxldCcsXG4gIHRleHQ6ICdcXHUyMDIyJyxcbiAgYWxpZ25tZW50OiBBbGlnbm1lbnRUeXBlLkxFRlQsXG4gIHN0eWxlOiB7XG4gIHBhcmFncmFwaDoge1xuICAgICAgaW5kZW50OiB7IGxlZnQ6IDI4ODAsIGhhbmdpbmc6IDM2MCB9XG4gIH1cbiAgfVxufSx7XG4gIGxldmVsOiA0LFxuICBmb3JtYXQ6ICdidWxsZXQnLFxuICB0ZXh0OiAnXFx1MjAyMicsXG4gIGFsaWdubWVudDogQWxpZ25tZW50VHlwZS5MRUZULFxuICBzdHlsZToge1xuICBwYXJhZ3JhcGg6IHtcbiAgICAgIGluZGVudDogeyBsZWZ0OiAzNjAwLCBoYW5naW5nOiAzNjAgfVxuICB9XG4gIH1cbn0se1xuICBsZXZlbDogMyxcbiAgZm9ybWF0OiAnYnVsbGV0JyxcbiAgdGV4dDogJ1xcdTIwMjInLFxuICBhbGlnbm1lbnQ6IEFsaWdubWVudFR5cGUuTEVGVCxcbiAgc3R5bGU6IHtcbiAgcGFyYWdyYXBoOiB7XG4gICAgICBpbmRlbnQ6IHsgbGVmdDogNDMyMCwgaGFuZ2luZzogMzYwIH1cbiAgfVxuICB9XG59XTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHROdW1iZXJpbmcgPSB7XG4gICAgY29uZmlnOiBbe1xuICAgIHJlZmVyZW5jZTogJ2RlZmF1bHQtbnVtYmVyaW5nJyxcbiAgICBsZXZlbHM6IGN1c3RvbU51bWJlcmVkTGV2ZWxzXG4gICAgfV1cbn0iLCJpbXBvcnQgeyBQYXJzZWRRdWlsbERlbHRhLCBQYXJhZ3JhcGggYXMgUVBhcmFncmFwaCwgVGV4dFJ1biBhcyBRVGV4dFJ1biwgcGFyc2VRdWlsbERlbHRhLCBSYXdRdWlsbERlbHRhLCBRSHlwZXJMaW5rLCBMaW5lQXR0cmlidXRlcyB9IGZyb20gJ3F1aWxsanMtcGFyc2VyJztcbmltcG9ydCAqIGFzIGRvY3ggZnJvbSAnZG9jeCc7XG5pbXBvcnQgeyBBbGlnbm1lbnRUeXBlLCBIeXBlcmxpbmtSZWYsIEh5cGVybGlua1R5cGUsIE1lZGlhLCBOdW1iZXJpbmcsIFBhY2tlciwgUGFyYWdyYXBoLCBUZXh0UnVuLCBVbmRlcmxpbmVUeXBlIH0gZnJvbSAnZG9jeCc7XG5pbXBvcnQgeyBjdXN0b21CdWxsZXRMZXZlbHMsIGN1c3RvbU51bWJlcmVkTGV2ZWxzLCBkZWZhdWx0U3R5bGVzIH0gZnJvbSAnLi9kZWZhdWx0LXN0eWxlcyc7XG5pbXBvcnQgeyBDb25maWcsIEN1c3RvbUxldmVscywgRXhwb3J0T2JqZWN0LCBOdW1iZXJlZExpc3QsIE51bWJlcmluZ0NvbmZpZywgU3R5bGVDb25maWcsIFN0eWxlUHJvcGVydGllcyB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5cbmludGVyZmFjZSBMaW5lQXR0ciBleHRlbmRzIExpbmVBdHRyaWJ1dGVzIHtcbiAgY2l0YXRpb246IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBQYXJhZ3JhcGhBbHQgZXh0ZW5kcyBRUGFyYWdyYXBoIHtcbiAgYXR0cmlidXRlczogTGluZUF0dHI7XG59XG5cbmxldCBsaW5rVHJhY2tlciA9IDA7XG5sZXQgbnVtYmVyZWRUcmFja2VyID0gLTE7XG5sZXQgc3R5bGVzID0gZGVmYXVsdFN0eWxlcztcbmxldCBsZXZlbHM6IEN1c3RvbUxldmVsc1tdID0gY3VzdG9tTnVtYmVyZWRMZXZlbHM7XG5sZXQgY3VzdG9tQnVsbGV0cyA9IGZhbHNlO1xuXG4vLyBtYWluIHB1YmxpYyBmdW5jdGlvbiB0byBnZW5lcmF0ZSBkb2N4IGRvY3VtZW50XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2VuZXJhdGVXb3JkKGRlbHRhOiBSYXdRdWlsbERlbHRhIHwgUGFyc2VkUXVpbGxEZWx0YSB8IFBhcnNlZFF1aWxsRGVsdGFbXSwgY29uZmlnPzogQ29uZmlnKTogUHJvbWlzZTxFeHBvcnRPYmplY3Q+IHtcbiAgbGlua1RyYWNrZXIgPSAwOyAvLyByZXNldCBsaW5rIHRyYWNrZXJcbiAgbnVtYmVyZWRUcmFja2VyID0gLTE7IC8vIHJlc2V0IG51bWVyZWQgbGlzdCB0cmFja2VyXG4gIGN1c3RvbUJ1bGxldHMgPSBmYWxzZTsgLy8gcmVzZXQgY3VzdG9tIGJ1bGxldHNcbiAgbGV0IGRvYzogZG9jeC5Eb2N1bWVudDtcbiAgLy8gY3JlYXRlIGEgY29udGFpbmVyIGZvciB0aGUgZG9jeCBkb2Mgc2VjdGlvbnNcbiAgY29uc3Qgc2VjdGlvbnM6IFBhcmFncmFwaFtdW10gPSBbXTtcbiAgLy8gY3JlYXRlIGEgY29udGFpbmVyIGZvciB0aGUgcGFyc2VkIFF1aWxsIGRlbHRhc1xuICBjb25zdCBwYXJzZWREZWx0YXM6IFBhcnNlZFF1aWxsRGVsdGFbXSA9IFtdO1xuICAvLyBpZiBpbnB1dCBpcyBhIHJhdyBxdWlsbCBkZWx0YVxuICBpZiAoKGRlbHRhIGFzIFJhd1F1aWxsRGVsdGEpLm9wcykge1xuICAgIGNvbnN0IHBhcnNlZERlbHRhID0gcGFyc2VRdWlsbERlbHRhKGRlbHRhIGFzIFJhd1F1aWxsRGVsdGEpO1xuICAgIHBhcnNlZERlbHRhcy5wdXNoKHBhcnNlZERlbHRhKTtcbiAgLy8gaWYgaW5wdXQgaXMgYW4gYXJyYXkgb2YgcGFyc2VkIHF1aWxsIGRlbHRhc1xuICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZGVsdGEpKSB7XG4gICAgZm9yIChjb25zdCBlYWNoRGVsdGEgb2YgZGVsdGEpIHtcbiAgICAgIHBhcnNlZERlbHRhcy5wdXNoKGVhY2hEZWx0YSk7XG4gICAgfTtcbiAgLy8gaWYgaW5wdXQgaXMgYSBzaW5nbGUgcGFyc2VkIHF1aWxsIGRlbHRhXG4gIH0gZWxzZSBpZiAoKGRlbHRhIGFzIFBhcnNlZFF1aWxsRGVsdGEpLnBhcmFncmFwaHMpIHtcbiAgICBwYXJzZWREZWx0YXMucHVzaChkZWx0YSBhcyBQYXJzZWRRdWlsbERlbHRhKTtcbiAgLy8gaWYgaW5wdXQgaXMgbm90IHJlY29nbml6ZWRcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1BsZWFzZSBwcm92aWRlIGEgcmF3IFF1aWxsIERlbHRhLCBhIHBhcnNlZCBRdWlsbCBkZWx0YSwgb3IgYW4gQXJyYXkgb2YgcGFyc2VkIFF1aWxsIGRlbHRhcy4gU2VlIFF1aWxsVG9kb2N4IHJlYWRtZS4nKTtcbiAgfVxuICAvLyBzZXQgdXAgdGhlIGRvY3ggZG9jdW1lbnQgYmFzZWQgb24gY29uZmlndXJhdGlvblxuICBkb2MgPSBzZXR1cERvYyhwYXJzZWREZWx0YXNbMF0sIGNvbmZpZyk7XG4gIC8vIGJ1aWxkIGRvY3ggc2VjdGlvbnNcbiAgZm9yIChjb25zdCBkZWx0YSBvZiBwYXJzZWREZWx0YXMpIHtcbiAgICBzZWN0aW9ucy5wdXNoKGJ1aWxkU2VjdGlvbihkZWx0YS5wYXJhZ3JhcGhzLCBkb2MpKTtcbiAgfTtcbiAgLy8gYWRkIGRvY3ggc2VjdGlvbnMgdG8gZG9jXG4gIGZvciAoY29uc3Qgc2VjdGlvbiBvZiBzZWN0aW9ucykge1xuICAgIGRvYy5hZGRTZWN0aW9uKHtcbiAgICAgICAgY2hpbGRyZW46IHNlY3Rpb25cbiAgICB9KTtcbiAgfTtcbiAgLy8gcmV0dXJuIHRoZSBhcHByb3ByaWF0ZSBleHBvcnQgb2JqZWN0IGJhc2VkIG9uIGNvbmZpZ3VyYXRpb25cbiAgcmV0dXJuIGV4cG9ydERvYyhkb2MsIGNvbmZpZyk7XG59XG5cbi8vIHNldCBhIHN0eWxlJ3MgcGFyYWdyYXBoIGFuZCBydW4gcHJvcGVydGllc1xuZnVuY3Rpb24gc2V0U3R5bGUoc3R5bGU6IFN0eWxlUHJvcGVydGllcywgc3R5bGVJZDogc3RyaW5nLCBpbmRleDogbnVtYmVyKSB7XG4gIGlmIChzdHlsZS5wYXJhZ3JhcGgpIHtcbiAgICBzdHlsZXNbaW5kZXhdLnBhcmFncmFwaCA9IHN0eWxlLnBhcmFncmFwaCBhcyBhbnk7XG4gIH1cbiAgaWYgKHN0eWxlLnJ1bikge1xuICAgIHN0eWxlc1tpbmRleF0ucnVuID0gc3R5bGUucnVuIGFzIGFueTtcbiAgfVxufVxuXG4vLyBhcHBseSBjdXN0b20gcGFyYWdyYXBoIHN0eWxlcyBmcm9tIHRoZSB1c2VyXG5mdW5jdGlvbiBzZXRQYXJhZ3JhcGhzU3R5bGVzKHBhcmFncmFwaFN0eWxlczogU3R5bGVDb25maWcpIHtcbiAgaWYgKHBhcmFncmFwaFN0eWxlcy5ub3JtYWwpIHtcbiAgICBjb25zdCBpbmRleCA9IHN0eWxlcy5maW5kSW5kZXgoc3R5bGUgPT4gc3R5bGUuaWQgPT09ICdub3JtYWwnKTtcbiAgICBzZXRTdHlsZShwYXJhZ3JhcGhTdHlsZXMubm9ybWFsLCAnbm9ybWFsJywgaW5kZXgpO1xuICB9XG4gIGlmIChwYXJhZ3JhcGhTdHlsZXMuaGVhZGVyXzEpIHtcbiAgICBjb25zdCBpbmRleCA9IHN0eWxlcy5maW5kSW5kZXgoc3R5bGUgPT4gc3R5bGUuaWQgPT09ICdoZWFkZXJfMScpO1xuICAgIHNldFN0eWxlKHBhcmFncmFwaFN0eWxlcy5oZWFkZXJfMSwgJ2hlYWRlcl8xJywgaW5kZXgpO1xuICB9XG4gIGlmIChwYXJhZ3JhcGhTdHlsZXMuaGVhZGVyXzIpIHtcbiAgICBjb25zdCBpbmRleCA9IHN0eWxlcy5maW5kSW5kZXgoc3R5bGUgPT4gc3R5bGUuaWQgPT09ICdoZWFkZXJfMicpO1xuICAgIHNldFN0eWxlKHBhcmFncmFwaFN0eWxlcy5oZWFkZXJfMiwgJ2hlYWRlcl8yJywgaW5kZXgpO1xuICB9XG4gIGlmIChwYXJhZ3JhcGhTdHlsZXMubGlzdF9wYXJhZ3JhcGgpIHtcbiAgICBjb25zdCBpbmRleCA9IHN0eWxlcy5maW5kSW5kZXgoc3R5bGUgPT4gc3R5bGUuaWQgPT09ICdsaXN0X3BhcmFncmFwaCcpO1xuICAgIHNldFN0eWxlKHBhcmFncmFwaFN0eWxlcy5saXN0X3BhcmFncmFwaCwgJ2xpc3RfcGFyYWdyYXBoJywgaW5kZXgpO1xuICB9XG4gIGlmIChwYXJhZ3JhcGhTdHlsZXMuY29kZV9ibG9jaykge1xuICAgIGNvbnN0IGluZGV4ID0gc3R5bGVzLmZpbmRJbmRleChzdHlsZSA9PiBzdHlsZS5pZCA9PT0gJ2NvZGVfYmxvY2snKTtcbiAgICBzZXRTdHlsZShwYXJhZ3JhcGhTdHlsZXMuY29kZV9ibG9jaywgJ2NvZGVfYmxvY2snLCBpbmRleCk7XG4gIH1cbiAgaWYgKHBhcmFncmFwaFN0eWxlcy5ibG9ja19xdW90ZSkge1xuICAgIGNvbnN0IGluZGV4ID0gc3R5bGVzLmZpbmRJbmRleChzdHlsZSA9PiBzdHlsZS5pZCA9PT0gJ2Jsb2NrX3F1b3RlJyk7XG4gICAgc2V0U3R5bGUocGFyYWdyYXBoU3R5bGVzLmJsb2NrX3F1b3RlLCAnYmxvY2tfcXVvdGUnLCBpbmRleCk7XG4gIH1cbiAgaWYgKHBhcmFncmFwaFN0eWxlcy5jaXRhdGlvbikge1xuICAgIGNvbnN0IGluZGV4ID0gc3R5bGVzLmZpbmRJbmRleChzdHlsZSA9PiBzdHlsZS5pZCA9PT0gJ2NpdGF0aW9uJyk7XG4gICAgc2V0U3R5bGUocGFyYWdyYXBoU3R5bGVzLmNpdGF0aW9uLCAnY2l0YXRpb24nLCBpbmRleCk7XG4gIH1cbn1cblxuLy8gYXBwbHkgY3VzdG9tIGNvbmZpZ3VyYXRpb24gZnJvbSB0aGUgdXNlclxuZnVuY3Rpb24gc2V0dXBDb25maWcoY29uZmlnOiBDb25maWcpIHtcbiAgaWYgKGNvbmZpZy5wYXJhZ3JhcGhTdHlsZXMpIHtcbiAgICBzZXRQYXJhZ3JhcGhzU3R5bGVzKGNvbmZpZy5wYXJhZ3JhcGhTdHlsZXMpO1xuICB9XG4gIGlmIChjb25maWcuY3VzdG9tTGV2ZWxzKSB7XG4gICAgbGV2ZWxzID0gY29uZmlnLmN1c3RvbUxldmVscztcbiAgfVxufVxuXG4vLyBzZXRzIHVwIHRoZSBkb2N4IGRvY3VtZW50XG5mdW5jdGlvbiBzZXR1cERvYyhwYXJzZWREZWx0YTogUGFyc2VkUXVpbGxEZWx0YSwgY29uZmlnPzogQ29uZmlnKTogZG9jeC5Eb2N1bWVudCAge1xuICBzdHlsZXMgPSBkZWZhdWx0U3R5bGVzOyAvLyByZXNldCBiYWNrIHRvIG9yaWdpbmFsXG4gIGxldmVscyA9IGN1c3RvbU51bWJlcmVkTGV2ZWxzOyAvLyByZXNldCBiYWNrIHRvIG9yaWdpbmFsXG4gIGlmIChjb25maWcpIHtcbiAgICBzZXR1cENvbmZpZyhjb25maWcpO1xuICB9XG4gIGxldCBoeXBlcmxpbmtzOiBhbnkgPSB1bmRlZmluZWQ7XG4gIGxldCBudW1iZXJpbmc6IE51bWJlcmluZ0NvbmZpZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgLy8gYnVpbGQgdGhlIGh5cGVybGlua3MgcHJvcGVydHlcbiAgaWYgKHBhcnNlZERlbHRhLnNldHVwLmh5cGVybGlua3MubGVuZ3RoID4gMCkge1xuICAgIGh5cGVybGlua3MgPSBidWlsZEh5cGVybGlua3MocGFyc2VkRGVsdGEuc2V0dXAuaHlwZXJsaW5rcyk7XG4gIH1cbiAgLy8gYnVpbGQgdGhlIG51bWJlcmluZyBwcm9wZXJ0eVxuICBpZiAocGFyc2VkRGVsdGEuc2V0dXAubnVtYmVyZWRMaXN0cyA+IDApIHtcbiAgICBudW1iZXJpbmcgPSBidWlsZE51bWJlcmluZyhwYXJzZWREZWx0YS5zZXR1cC5udW1iZXJlZExpc3RzKTtcbiAgfVxuICBpZiAoY29uZmlnPy5jdXN0b21CdWxsZXRMZXZlbHMpIHtcbiAgICBudW1iZXJpbmcgPSBhZGRDdXN0b21CdWxsZXRzKG51bWJlcmluZywgY29uZmlnLmN1c3RvbUJ1bGxldExldmVscyk7XG4gICAgY3VzdG9tQnVsbGV0cyA9IHRydWU7XG4gIH1cbiAgY29uc3QgZG9jID0gbmV3IGRvY3guRG9jdW1lbnQoe1xuICAgIHN0eWxlczoge1xuICAgICAgcGFyYWdyYXBoU3R5bGVzOiBzdHlsZXNcbiAgICB9LFxuICAgIG51bWJlcmluZzogbnVtYmVyaW5nLFxuICAgIGh5cGVybGlua3M6IGh5cGVybGlua3NcbiAgfSk7XG4gIHJldHVybiBkb2M7XG59XG5cbi8vIGV4cG9ydCB0aGUgYXBwcm9wcmlhdGUgb2JqZWN0IGJhc2VkIG9uIGNvbmZpZ3VyYXRpb25cbmFzeW5jIGZ1bmN0aW9uIGV4cG9ydERvYyhkb2M6IGRvY3guRG9jdW1lbnQsIGNvbmZpZz86IENvbmZpZyk6IFByb21pc2U8RXhwb3J0T2JqZWN0PiB7XG4gIGlmICghY29uZmlnIHx8ICFjb25maWcuZXhwb3J0QXMgfHwgY29uZmlnLmV4cG9ydEFzID09PSAnZG9jJykge1xuICAgIHJldHVybiBkb2M7XG4gIH1cbiAgaWYgKGNvbmZpZy5leHBvcnRBcyA9PT0gJ2Jsb2InKSB7XG4gICAgcmV0dXJuIFBhY2tlci50b0Jsb2IoZG9jKTtcbiAgfVxuICBpZiAoY29uZmlnLmV4cG9ydEFzID09PSAnYnVmZmVyJykge1xuICAgIGNvbnNvbGUubG9nKCdyZXR1cm5pbmcgYnVmZmVyJyk7XG4gICAgcmV0dXJuIFBhY2tlci50b0J1ZmZlcihkb2MpO1xuICB9XG4gIGlmIChjb25maWcuZXhwb3J0QXMgPT09ICdiYXNlNjQnKSB7XG4gICAgcmV0dXJuIFBhY2tlci50b0Jhc2U2NFN0cmluZyhkb2MpO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcignUGxlYXNlIHNldCBleHBvcnRBcyBjb25maWd1cmF0aW9uIHRvIGJsb2IsIGJ1ZmZlciwgZG9jLCBvciBiYXNlNjQuJyk7XG59XG5cbi8vIGJ1aWxkIGRvY3ggbnVtYmVyaW5nIG9iamVjdCBmcm9tIHF1aWxsIG51bWJlcmVkIGxpc3RzXG5mdW5jdGlvbiBidWlsZE51bWJlcmluZyhudW1iZXJPZkxpc3RzOiBudW1iZXIpOiBOdW1iZXJpbmdDb25maWcge1xuICBsZXQgY29uZmlnOiBhbnlbXSA9IFtdO1xuICBsZXQgbnVtYmVyVHJhY2tlciA9IDA7XG4gIC8vIGNyZWF0ZSBhIG5ldyBkb2N4IG51bWJlcmluZyBvYmplY3QgZm9yIGVhY2ggcXVpbGwgbnVtYmVyZWQgbGlzdFxuICB3aGlsZSAobnVtYmVyVHJhY2tlciA8IG51bWJlck9mTGlzdHMpIHtcbiAgICBjb25zdCBuZXdMaXN0ID0ge1xuICAgICAgcmVmZXJlbmNlOiBgbnVtYmVyZWRfJHtudW1iZXJUcmFja2VyfWAsXG4gICAgICBsZXZlbHM6IGxldmVsc1xuICAgIH07XG4gICAgY29uZmlnLnB1c2gobmV3TGlzdCk7XG4gICAgbnVtYmVyVHJhY2tlcisrO1xuICB9O1xuICBjb25zdCBudW1iZXJDb25maWcgPSB7XG4gICAgY29uZmlnOiBjb25maWdcbiAgfTtcbiAgcmV0dXJuIG51bWJlckNvbmZpZztcbn1cblxuLy8gYWRkcyBhIGN1c3RvbSBidWxsZXQgc3R5bGVkIGxpc3QgdG8gdGhlIG51bWJlcmluZyBjb25maWd1cmF0aW9uXG5mdW5jdGlvbiBhZGRDdXN0b21CdWxsZXRzKG51bWJlckNvbmZpZzogTnVtYmVyaW5nQ29uZmlnIHwgdW5kZWZpbmVkLCBidWxsZXRMZXZlbHM6IEN1c3RvbUxldmVsc1tdKTogTnVtYmVyaW5nQ29uZmlnIHtcbiAgY29uc3QgY3VzdG9tQnVsbGV0czogTnVtYmVyZWRMaXN0ID0ge1xuICAgIHJlZmVyZW5jZTogJ2N1c3RvbUJ1bGxldHMnLFxuICAgIGxldmVsczogYnVsbGV0TGV2ZWxzXG4gIH07XG4gIGlmIChudW1iZXJDb25maWcpIHtcbiAgICBudW1iZXJDb25maWcuY29uZmlnLnB1c2goY3VzdG9tQnVsbGV0cyk7XG4gICAgcmV0dXJuIG51bWJlckNvbmZpZztcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29uZmlnOiBbY3VzdG9tQnVsbGV0c11cbiAgICB9XG4gIH1cbn1cblxuLy8gYnVpbGQgYSBkb2N4IGh5cGVybGlua3Mgb2JqZWN0IGZyb20gdGhlIHF1aWxsIGh5cGVybGlua3NcbmZ1bmN0aW9uIGJ1aWxkSHlwZXJsaW5rcyhxdWlsbExpbmtzOiBRSHlwZXJMaW5rW10pOiBvYmplY3Qge1xuICBsZXQgaHlwZXJsaW5rczogYW55ID0ge307XG4gIGxldCBsaW5rVHJhY2tlciA9IDA7XG4gIC8vIGdlbmVyYXRlIGEgbmV3IGRvY3ggbGluayBvYmplY3QgZnJvbSBlYWNoIHF1aWxsIGxpbms7IG1lcmdlIGludG8gaHlwZXJsaW5rcyBvYmplY3RcbiAgZm9yIChjb25zdCBsaW5rIG9mIHF1aWxsTGlua3MpIHtcbiAgICBjb25zdCBkb2NMaW5rID0ge1xuICAgICAgbGluazogbGluay5saW5rLFxuICAgICAgdGV4dDogbGluay50ZXh0LFxuICAgICAgdHlwZTogSHlwZXJsaW5rVHlwZS5FWFRFUk5BTFxuICAgIH07XG4gICAgaHlwZXJsaW5rcyA9IHtcbiAgICAgIC4uLmh5cGVybGlua3MsXG4gICAgICBbYGxpbmske2xpbmtUcmFja2VyfWBdOiBkb2NMaW5rXG4gICAgfVxuICAgIGxpbmtUcmFja2VyKys7XG4gIH07XG4gIHJldHVybiBoeXBlcmxpbmtzO1xufVxuXG4vLyBnZW5lcmF0ZSBhIHNlY3Rpb24gYXMgYW4gYXJyYXkgb2YgcGFyYWdyYXBoc1xuZnVuY3Rpb24gYnVpbGRTZWN0aW9uKHF1aWxsUGFyYWdyYXBoczogUVBhcmFncmFwaFtdLCBkb2M6IGRvY3guRG9jdW1lbnQpOiBQYXJhZ3JhcGhbXSB7XG4gIGxldCBxdWlsbFBhcmFncmFwaFRyYWNrZXIgPSAwO1xuICAvLyBjcmVhdGUgYSBjb250YWluZXIgdG8gaG9sZCB0aGUgZG9jeCBwYXJhZ3JhcGhzXG4gIGNvbnN0IHBhcmFncmFwaHM6IFBhcmFncmFwaFtdID0gW107XG4gIC8vIGJ1aWxkIGEgZG9jeCBwYXJhZ3JhcGggZnJvbSBlYWNoIGRlbHRhIHBhcmFncmFwaFxuICBmb3IgKGNvbnN0IHBhcmFncmFwaCBvZiBxdWlsbFBhcmFncmFwaHMpIHtcbiAgICAgIC8vIGlmIGVtYmVkIHZpZGVvIG9yIGltYWdlXG4gICAgICBpZiAocGFyYWdyYXBoLmVtYmVkPy5pbWFnZSkge1xuICAgICAgICBjb25zdCBpbWFnZSA9IE1lZGlhLmFkZEltYWdlKGRvYywgcGFyYWdyYXBoLmVtYmVkLmltYWdlKTtcbiAgICAgICAgcGFyYWdyYXBocy5wdXNoKG5ldyBQYXJhZ3JhcGgoaW1hZ2UpKTtcbiAgICAgIH0gZWxzZSBpZiAocGFyYWdyYXBoLmVtYmVkPy52aWRlbykge1xuICAgICAgICBjb25zdCBydW4gPSBidWlsZFZpZGVvKHBhcmFncmFwaC5lbWJlZC52aWRlbyk7XG4gICAgICAgIHBhcmFncmFwaHMucHVzaChuZXcgUGFyYWdyYXBoKHsgY2hpbGRyZW46IFtydW5dIH0pKTtcbiAgICAgIC8vIGlmIHRleHQgcnVuc1xuICAgICAgfSBlbHNlIGlmIChwYXJhZ3JhcGgudGV4dFJ1bnMpIHtcbiAgICAgICAgLy8gaGFuZGxlIG9yZGVyZWQgbGlzdCB0cmFja2luZ1xuICAgICAgICBpZiAocXVpbGxQYXJhZ3JhcGhUcmFja2VyID4gMCAmJiBwYXJhZ3JhcGguYXR0cmlidXRlcz8ubGlzdCA9PT0gJ29yZGVyZWQnKSB7XG4gICAgICAgICAgaWYgKHF1aWxsUGFyYWdyYXBoc1txdWlsbFBhcmFncmFwaFRyYWNrZXItMV0uYXR0cmlidXRlcz8ubGlzdCA9PT0gJ29yZGVyZWQnKSB7XG4gICAgICAgICAgICBudW1iZXJlZFRyYWNrZXIgPSBudW1iZXJlZFRyYWNrZXI7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG51bWJlcmVkVHJhY2tlcisrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwYXJhZ3JhcGhzLnB1c2goYnVpbGRQYXJhZ3JhcGgocGFyYWdyYXBoKSk7XG4gICAgICB9XG4gICAgICBxdWlsbFBhcmFncmFwaFRyYWNrZXIrKztcbiAgfTtcbiAgcmV0dXJuIHBhcmFncmFwaHM7XG59XG5cbi8vIGdlbmVyYXRlIGEgcGFyYWdyYXBoIGFzIGFuIGFycmF5IG9mIHRleHQgcnVuc1xuZnVuY3Rpb24gYnVpbGRQYXJhZ3JhcGgocGFyYWdyYXBoOiBRUGFyYWdyYXBoKTogUGFyYWdyYXBoIHtcbiAgLy8gY29udGFpbmVyIHRvIGhvbGQgZG9jeCB0ZXh0IHJ1bnNcbiAgY29uc3QgdGV4dFJ1bnM6IChUZXh0UnVuIHwgSHlwZXJsaW5rUmVmKVtdID0gW107XG4gIC8vIGJ1aWxkIGEgZG9jeCBydW4gZnJvbSBlYWNoIGRlbHRhIHJ1blxuICBmb3IgKGNvbnN0IHJ1biBvZiBwYXJhZ3JhcGgudGV4dFJ1bnMhKSB7XG4gICAgICAvLyBpZiBmb3JtdWxhXG4gICAgICBpZiAoKHJ1biBhcyB7Zm9ybXVsYTogc3RyaW5nfSkuZm9ybXVsYSkge1xuICAgICAgICB0ZXh0UnVucy5wdXNoKGJ1aWxkRm9ybXVsYSgocnVuIGFzIHsgZm9ybXVsYTogc3RyaW5nIH0pLmZvcm11bGEpKTtcbiAgICAgIC8vIGlmIHRleHRcbiAgICAgIH0gZWxzZSBpZiAoKHJ1biBhcyBRVGV4dFJ1bikudGV4dCkge1xuICAgICAgICAgIHRleHRSdW5zLnB1c2goYnVpbGRUZXh0UnVuKHJ1biBhcyBRVGV4dFJ1biwgcGFyYWdyYXBoKSk7XG4gICAgICB9XG4gIH07XG4gIGNvbnN0IGRvY3hQYXJhZ3JhcGggPSBuZXcgUGFyYWdyYXBoKHtcbiAgICBjaGlsZHJlbjogdGV4dFJ1bnMsXG4gICAgXG4gICAgaGVhZGluZzogcGFyYWdyYXBoLmF0dHJpYnV0ZXM/LmhlYWRlciA9PT0gMSA/IGRvY3guSGVhZGluZ0xldmVsLkhFQURJTkdfMSA6IHBhcmFncmFwaC5hdHRyaWJ1dGVzPy5oZWFkZXIgPT09IDIgPyBkb2N4LkhlYWRpbmdMZXZlbC5IRUFESU5HXzIgOiB1bmRlZmluZWQsXG5cbiAgICBidWxsZXQ6IHBhcmFncmFwaC5hdHRyaWJ1dGVzPy5saXN0ID09PSAnYnVsbGV0JyAmJiAhY3VzdG9tQnVsbGV0cyA/IHsgbGV2ZWw6IHBhcmFncmFwaC5hdHRyaWJ1dGVzLmluZGVudCA/IHBhcmFncmFwaC5hdHRyaWJ1dGVzLmluZGVudCA6IDAgfSA6IHVuZGVmaW5lZCxcblxuICAgIG51bWJlcmluZzogKHBhcmFncmFwaC5hdHRyaWJ1dGVzPy5saXN0ID09PSAnb3JkZXJlZCcpID8geyByZWZlcmVuY2U6IGBudW1iZXJlZF8ke251bWJlcmVkVHJhY2tlcn1gLCBsZXZlbDogKHBhcmFncmFwaC5hdHRyaWJ1dGVzLmluZGVudCA/IHBhcmFncmFwaC5hdHRyaWJ1dGVzLmluZGVudCA6IDApIH0gOiAocGFyYWdyYXBoLmF0dHJpYnV0ZXM/Lmxpc3QgPT09ICdidWxsZXQnICYmIGN1c3RvbUJ1bGxldHMpID8geyByZWZlcmVuY2U6ICdjdXN0b21CdWxsZXRzJywgbGV2ZWw6IChwYXJhZ3JhcGguYXR0cmlidXRlcy5pbmRlbnQgPyBwYXJhZ3JhcGguYXR0cmlidXRlcy5pbmRlbnQgOiAwKSB9IDogdW5kZWZpbmVkICxcblxuICAgIGFsaWdubWVudDogcGFyYWdyYXBoLmF0dHJpYnV0ZXM/LmFsaWduID09PSAnbGVmdCcgPyBBbGlnbm1lbnRUeXBlLkxFRlQgOiBwYXJhZ3JhcGguYXR0cmlidXRlcz8uYWxpZ24gPT09ICdjZW50ZXInID8gQWxpZ25tZW50VHlwZS5DRU5URVIgOiBwYXJhZ3JhcGguYXR0cmlidXRlcz8uYWxpZ24gPT09ICdyaWdodCcgPyBBbGlnbm1lbnRUeXBlLlJJR0hUIDogcGFyYWdyYXBoLmF0dHJpYnV0ZXM/LmFsaWduID09PSAnanVzdGlmeScgPyBBbGlnbm1lbnRUeXBlLkpVU1RJRklFRCA6IHVuZGVmaW5lZCxcblxuICAgIHN0eWxlOiBwYXJhZ3JhcGguYXR0cmlidXRlcz8uWydjb2RlLWJsb2NrJ10gPyAnY29kZV9ibG9jaycgOiBwYXJhZ3JhcGguYXR0cmlidXRlcz8uYmxvY2txdW90ZSA/ICdibG9ja19xdW90ZScgOiAocGFyYWdyYXBoIGFzIFBhcmFncmFwaEFsdCkuYXR0cmlidXRlcz8uY2l0YXRpb24gPyAnY2l0YXRpb24nIDogdW5kZWZpbmVkLFxuICAgIC8vIGJpZGlyZWN0aW9uYWw6IHBhcmFncmFwaC5hdHRyaWJ1dGVzPy5kaXJlY3Rpb24gPT09ICdydGwnID8gdHJ1ZSA6IHVuZGVmaW5lZCxcbiAgICAvLyBpbmRlbnRcbiAgfSk7XG4gIHJldHVybiBkb2N4UGFyYWdyYXBoO1xufVxuXG4vLyBnZW5lcmF0ZSBhIGRvY3ggdGV4dCBydW4gZnJvbSBxdWlsbCB0ZXh0IHJ1blxuZnVuY3Rpb24gYnVpbGRUZXh0UnVuKHJ1bjogUVRleHRSdW4sIHBhcmFncmFwaDogUVBhcmFncmFwaCk6IFRleHRSdW4gfCBIeXBlcmxpbmtSZWYge1xuICBsZXQgdGV4dFJ1bjogVGV4dFJ1biB8IEh5cGVybGlua1JlZjtcbiAgaWYgKHJ1bi5hdHRyaWJ1dGVzPy5saW5rKSB7XG4gICAgdGV4dFJ1biA9IG5ldyBIeXBlcmxpbmtSZWYoYGxpbmske2xpbmtUcmFja2VyfWApO1xuICAgIGxpbmtUcmFja2VyKys7XG4gIH0gZWxzZSB7XG4gICAgdGV4dFJ1biA9IG5ldyBUZXh0UnVuKHtcbiAgICAgIHRleHQ6IHJ1bi50ZXh0LFxuICAgICAgYm9sZDogcnVuLmF0dHJpYnV0ZXM/LmJvbGQgPyB0cnVlIDogZmFsc2UsXG4gICAgICBpdGFsaWNzOiBydW4uYXR0cmlidXRlcz8uaXRhbGljID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgc3ViU2NyaXB0OiBydW4uYXR0cmlidXRlcz8uc2NyaXB0ID09PSAnc3ViJyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIHN1cGVyU2NyaXB0OiBydW4uYXR0cmlidXRlcz8uc2NyaXB0ID09PSAnc3VwZXInID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgc3RyaWtlOiBydW4uYXR0cmlidXRlcz8uc3RyaWtlID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgdW5kZXJsaW5lOiBydW4uYXR0cmlidXRlcz8udW5kZXJsaW5lID8geyB0eXBlOiBVbmRlcmxpbmVUeXBlLlNJTkdMRSwgY29sb3I6ICdhdXRvJyB9IDogdW5kZWZpbmVkLFxuICAgICAgY29sb3I6IHJ1bi5hdHRyaWJ1dGVzPy5jb2xvciA/IHJ1bi5hdHRyaWJ1dGVzPy5jb2xvci5zbGljZSgxKSA6IHVuZGVmaW5lZCxcbiAgICAgIHNpemU6IHJ1bi5hdHRyaWJ1dGVzPy5zaXplID09PSAnaHVnZScgPyAzNiA6IHJ1bi5hdHRyaWJ1dGVzPy5zaXplID09PSAnbGFyZ2UnID8gMzIgOiBydW4uYXR0cmlidXRlcz8uc2l6ZSA9PT0gJ3NtYWxsJyA/IDIwIDogdW5kZWZpbmVkLFxuICAgICAgLy8gcmlnaHRUb0xlZnQ6IHBhcmFncmFwaC5hdHRyaWJ1dGVzPy5kaXJlY3Rpb24gPT09ICdydGwnID8gdHJ1ZSA6IHVuZGVmaW5lZFxuICAgICAgLy8gZm9udFxuICAgICAgaGlnaGxpZ2h0OiBydW4uYXR0cmlidXRlcz8uYmFja2dyb3VuZCA/ICd5ZWxsb3cnIDogdW5kZWZpbmVkXG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHRleHRSdW47XG59XG5cbi8vIGJ1aWxkIGEgZm9ybXVsYVxuZnVuY3Rpb24gYnVpbGRGb3JtdWxhKGZvcm11bGE6IHN0cmluZykge1xuICByZXR1cm4gbmV3IFRleHRSdW4oe1xuICAgIHRleHQ6IGZvcm11bGFcbiAgfSk7XG59XG5cbi8vIGJ1aWxkIGEgdmlkZW9cbmZ1bmN0aW9uIGJ1aWxkVmlkZW8odmlkZW86IHN0cmluZykge1xuICByZXR1cm4gbmV3IFRleHRSdW4oe1xuICAgIHRleHQ6IHZpZGVvXG4gIH0pO1xufVxuIiwiZXhwb3J0ICogZnJvbSAnLi9leHBvcnRlcic7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMnOyIsIm1vZHVsZS5leHBvcnRzID0gX19XRUJQQUNLX0VYVEVSTkFMX01PRFVMRV9fNjg3X187IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0aWYoX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSkge1xuXHRcdHJldHVybiBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdLmV4cG9ydHM7XG5cdH1cblx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcblx0dmFyIG1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0gPSB7XG5cdFx0Ly8gbm8gbW9kdWxlLmlkIG5lZWRlZFxuXHRcdC8vIG5vIG1vZHVsZS5sb2FkZWQgbmVlZGVkXG5cdFx0ZXhwb3J0czoge31cblx0fTtcblxuXHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cblx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cblx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcblx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xufVxuXG4iLCIvLyBtb2R1bGUgZXhwb3J0cyBtdXN0IGJlIHJldHVybmVkIGZyb20gcnVudGltZSBzbyBlbnRyeSBpbmxpbmluZyBpcyBkaXNhYmxlZFxuLy8gc3RhcnR1cFxuLy8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG5yZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyg2MDcpO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==","function none(n) {\n return 'n'\n}\nfunction p_ne_1(n) {\n return n !== 1 ? 'p' : 's'\n}\nfunction p_gt_1(n) {\n return n > 1 ? 'p' : 's'\n}\n\n// ---------------------------------------------------------------------------\n\nexports.plural_CS = function(n) {\n return n == 1 ? 's' : n >= 2 && n <= 4 ? 'p' : 'n'\n}\nexports.plural_DA = p_ne_1\nexports.plural_DE = p_ne_1\nexports.plural_EN = p_ne_1\nexports.plural_ES = p_ne_1\nexports.plural_FR = p_gt_1\nexports.plural_IS = function(n) {\n return n % 10 !== 1 || n % 100 === 11 ? 'p' : 's'\n}\nexports.plural_IT = p_ne_1\nexports.plural_JA = none\nexports.plural_PT = p_ne_1\nexports.plural_SE = p_ne_1\n","var Scope = /* @__PURE__ */ ((Scope2) => (Scope2[Scope2.TYPE = 3] = \"TYPE\", Scope2[Scope2.LEVEL = 12] = \"LEVEL\", Scope2[Scope2.ATTRIBUTE = 13] = \"ATTRIBUTE\", Scope2[Scope2.BLOT = 14] = \"BLOT\", Scope2[Scope2.INLINE = 7] = \"INLINE\", Scope2[Scope2.BLOCK = 11] = \"BLOCK\", Scope2[Scope2.BLOCK_BLOT = 10] = \"BLOCK_BLOT\", Scope2[Scope2.INLINE_BLOT = 6] = \"INLINE_BLOT\", Scope2[Scope2.BLOCK_ATTRIBUTE = 9] = \"BLOCK_ATTRIBUTE\", Scope2[Scope2.INLINE_ATTRIBUTE = 5] = \"INLINE_ATTRIBUTE\", Scope2[Scope2.ANY = 15] = \"ANY\", Scope2))(Scope || {});\nclass Attributor {\n constructor(attrName, keyName, options = {}) {\n this.attrName = attrName, this.keyName = keyName;\n const attributeBit = Scope.TYPE & Scope.ATTRIBUTE;\n this.scope = options.scope != null ? (\n // Ignore type bits, force attribute bit\n options.scope & Scope.LEVEL | attributeBit\n ) : Scope.ATTRIBUTE, options.whitelist != null && (this.whitelist = options.whitelist);\n }\n static keys(node) {\n return Array.from(node.attributes).map((item) => item.name);\n }\n add(node, value) {\n return this.canAdd(node, value) ? (node.setAttribute(this.keyName, value), !0) : !1;\n }\n canAdd(_node, value) {\n return this.whitelist == null ? !0 : typeof value == \"string\" ? this.whitelist.indexOf(value.replace(/[\"']/g, \"\")) > -1 : this.whitelist.indexOf(value) > -1;\n }\n remove(node) {\n node.removeAttribute(this.keyName);\n }\n value(node) {\n const value = node.getAttribute(this.keyName);\n return this.canAdd(node, value) && value ? value : \"\";\n }\n}\nclass ParchmentError extends Error {\n constructor(message) {\n message = \"[Parchment] \" + message, super(message), this.message = message, this.name = this.constructor.name;\n }\n}\nconst _Registry = class _Registry {\n constructor() {\n this.attributes = {}, this.classes = {}, this.tags = {}, this.types = {};\n }\n static find(node, bubble = !1) {\n if (node == null)\n return null;\n if (this.blots.has(node))\n return this.blots.get(node) || null;\n if (bubble) {\n let parentNode = null;\n try {\n parentNode = node.parentNode;\n } catch {\n return null;\n }\n return this.find(parentNode, bubble);\n }\n return null;\n }\n create(scroll, input, value) {\n const match2 = this.query(input);\n if (match2 == null)\n throw new ParchmentError(`Unable to create ${input} blot`);\n const blotClass = match2, node = (\n // @ts-expect-error Fix me later\n input instanceof Node || input.nodeType === Node.TEXT_NODE ? input : blotClass.create(value)\n ), blot = new blotClass(scroll, node, value);\n return _Registry.blots.set(blot.domNode, blot), blot;\n }\n find(node, bubble = !1) {\n return _Registry.find(node, bubble);\n }\n query(query, scope = Scope.ANY) {\n let match2;\n return typeof query == \"string\" ? match2 = this.types[query] || this.attributes[query] : query instanceof Text || query.nodeType === Node.TEXT_NODE ? match2 = this.types.text : typeof query == \"number\" ? query & Scope.LEVEL & Scope.BLOCK ? match2 = this.types.block : query & Scope.LEVEL & Scope.INLINE && (match2 = this.types.inline) : query instanceof Element && ((query.getAttribute(\"class\") || \"\").split(/\\s+/).some((name) => (match2 = this.classes[name], !!match2)), match2 = match2 || this.tags[query.tagName]), match2 == null ? null : \"scope\" in match2 && scope & Scope.LEVEL & match2.scope && scope & Scope.TYPE & match2.scope ? match2 : null;\n }\n register(...definitions) {\n return definitions.map((definition) => {\n const isBlot = \"blotName\" in definition, isAttr = \"attrName\" in definition;\n if (!isBlot && !isAttr)\n throw new ParchmentError(\"Invalid definition\");\n if (isBlot && definition.blotName === \"abstract\")\n throw new ParchmentError(\"Cannot register abstract class\");\n const key = isBlot ? definition.blotName : isAttr ? definition.attrName : void 0;\n return this.types[key] = definition, isAttr ? typeof definition.keyName == \"string\" && (this.attributes[definition.keyName] = definition) : isBlot && (definition.className && (this.classes[definition.className] = definition), definition.tagName && (Array.isArray(definition.tagName) ? definition.tagName = definition.tagName.map((tagName) => tagName.toUpperCase()) : definition.tagName = definition.tagName.toUpperCase(), (Array.isArray(definition.tagName) ? definition.tagName : [definition.tagName]).forEach((tag) => {\n (this.tags[tag] == null || definition.className == null) && (this.tags[tag] = definition);\n }))), definition;\n });\n }\n};\n_Registry.blots = /* @__PURE__ */ new WeakMap();\nlet Registry = _Registry;\nfunction match(node, prefix) {\n return (node.getAttribute(\"class\") || \"\").split(/\\s+/).filter((name) => name.indexOf(`${prefix}-`) === 0);\n}\nclass ClassAttributor extends Attributor {\n static keys(node) {\n return (node.getAttribute(\"class\") || \"\").split(/\\s+/).map((name) => name.split(\"-\").slice(0, -1).join(\"-\"));\n }\n add(node, value) {\n return this.canAdd(node, value) ? (this.remove(node), node.classList.add(`${this.keyName}-${value}`), !0) : !1;\n }\n remove(node) {\n match(node, this.keyName).forEach((name) => {\n node.classList.remove(name);\n }), node.classList.length === 0 && node.removeAttribute(\"class\");\n }\n value(node) {\n const value = (match(node, this.keyName)[0] || \"\").slice(this.keyName.length + 1);\n return this.canAdd(node, value) ? value : \"\";\n }\n}\nconst ClassAttributor$1 = ClassAttributor;\nfunction camelize(name) {\n const parts = name.split(\"-\"), rest = parts.slice(1).map((part) => part[0].toUpperCase() + part.slice(1)).join(\"\");\n return parts[0] + rest;\n}\nclass StyleAttributor extends Attributor {\n static keys(node) {\n return (node.getAttribute(\"style\") || \"\").split(\";\").map((value) => value.split(\":\")[0].trim());\n }\n add(node, value) {\n return this.canAdd(node, value) ? (node.style[camelize(this.keyName)] = value, !0) : !1;\n }\n remove(node) {\n node.style[camelize(this.keyName)] = \"\", node.getAttribute(\"style\") || node.removeAttribute(\"style\");\n }\n value(node) {\n const value = node.style[camelize(this.keyName)];\n return this.canAdd(node, value) ? value : \"\";\n }\n}\nconst StyleAttributor$1 = StyleAttributor;\nclass AttributorStore {\n constructor(domNode) {\n this.attributes = {}, this.domNode = domNode, this.build();\n }\n attribute(attribute, value) {\n value ? attribute.add(this.domNode, value) && (attribute.value(this.domNode) != null ? this.attributes[attribute.attrName] = attribute : delete this.attributes[attribute.attrName]) : (attribute.remove(this.domNode), delete this.attributes[attribute.attrName]);\n }\n build() {\n this.attributes = {};\n const blot = Registry.find(this.domNode);\n if (blot == null)\n return;\n const attributes = Attributor.keys(this.domNode), classes = ClassAttributor$1.keys(this.domNode), styles = StyleAttributor$1.keys(this.domNode);\n attributes.concat(classes).concat(styles).forEach((name) => {\n const attr = blot.scroll.query(name, Scope.ATTRIBUTE);\n attr instanceof Attributor && (this.attributes[attr.attrName] = attr);\n });\n }\n copy(target) {\n Object.keys(this.attributes).forEach((key) => {\n const value = this.attributes[key].value(this.domNode);\n target.format(key, value);\n });\n }\n move(target) {\n this.copy(target), Object.keys(this.attributes).forEach((key) => {\n this.attributes[key].remove(this.domNode);\n }), this.attributes = {};\n }\n values() {\n return Object.keys(this.attributes).reduce(\n (attributes, name) => (attributes[name] = this.attributes[name].value(this.domNode), attributes),\n {}\n );\n }\n}\nconst AttributorStore$1 = AttributorStore, _ShadowBlot = class _ShadowBlot {\n constructor(scroll, domNode) {\n this.scroll = scroll, this.domNode = domNode, Registry.blots.set(domNode, this), this.prev = null, this.next = null;\n }\n static create(rawValue) {\n if (this.tagName == null)\n throw new ParchmentError(\"Blot definition missing tagName\");\n let node, value;\n return Array.isArray(this.tagName) ? (typeof rawValue == \"string\" ? (value = rawValue.toUpperCase(), parseInt(value, 10).toString() === value && (value = parseInt(value, 10))) : typeof rawValue == \"number\" && (value = rawValue), typeof value == \"number\" ? node = document.createElement(this.tagName[value - 1]) : value && this.tagName.indexOf(value) > -1 ? node = document.createElement(value) : node = document.createElement(this.tagName[0])) : node = document.createElement(this.tagName), this.className && node.classList.add(this.className), node;\n }\n // Hack for accessing inherited static methods\n get statics() {\n return this.constructor;\n }\n attach() {\n }\n clone() {\n const domNode = this.domNode.cloneNode(!1);\n return this.scroll.create(domNode);\n }\n detach() {\n this.parent != null && this.parent.removeChild(this), Registry.blots.delete(this.domNode);\n }\n deleteAt(index, length) {\n this.isolate(index, length).remove();\n }\n formatAt(index, length, name, value) {\n const blot = this.isolate(index, length);\n if (this.scroll.query(name, Scope.BLOT) != null && value)\n blot.wrap(name, value);\n else if (this.scroll.query(name, Scope.ATTRIBUTE) != null) {\n const parent = this.scroll.create(this.statics.scope);\n blot.wrap(parent), parent.format(name, value);\n }\n }\n insertAt(index, value, def) {\n const blot = def == null ? this.scroll.create(\"text\", value) : this.scroll.create(value, def), ref = this.split(index);\n this.parent.insertBefore(blot, ref || void 0);\n }\n isolate(index, length) {\n const target = this.split(index);\n if (target == null)\n throw new Error(\"Attempt to isolate at end\");\n return target.split(length), target;\n }\n length() {\n return 1;\n }\n offset(root = this.parent) {\n return this.parent == null || this === root ? 0 : this.parent.children.offset(this) + this.parent.offset(root);\n }\n optimize(_context) {\n this.statics.requiredContainer && !(this.parent instanceof this.statics.requiredContainer) && this.wrap(this.statics.requiredContainer.blotName);\n }\n remove() {\n this.domNode.parentNode != null && this.domNode.parentNode.removeChild(this.domNode), this.detach();\n }\n replaceWith(name, value) {\n const replacement = typeof name == \"string\" ? this.scroll.create(name, value) : name;\n return this.parent != null && (this.parent.insertBefore(replacement, this.next || void 0), this.remove()), replacement;\n }\n split(index, _force) {\n return index === 0 ? this : this.next;\n }\n update(_mutations, _context) {\n }\n wrap(name, value) {\n const wrapper = typeof name == \"string\" ? this.scroll.create(name, value) : name;\n if (this.parent != null && this.parent.insertBefore(wrapper, this.next || void 0), typeof wrapper.appendChild != \"function\")\n throw new ParchmentError(`Cannot wrap ${name}`);\n return wrapper.appendChild(this), wrapper;\n }\n};\n_ShadowBlot.blotName = \"abstract\";\nlet ShadowBlot = _ShadowBlot;\nconst _LeafBlot = class _LeafBlot extends ShadowBlot {\n /**\n * Returns the value represented by domNode if it is this Blot's type\n * No checking that domNode can represent this Blot type is required so\n * applications needing it should check externally before calling.\n */\n static value(_domNode) {\n return !0;\n }\n /**\n * Given location represented by node and offset from DOM Selection Range,\n * return index to that location.\n */\n index(node, offset) {\n return this.domNode === node || this.domNode.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY ? Math.min(offset, 1) : -1;\n }\n /**\n * Given index to location within blot, return node and offset representing\n * that location, consumable by DOM Selection Range\n */\n position(index, _inclusive) {\n let offset = Array.from(this.parent.domNode.childNodes).indexOf(this.domNode);\n return index > 0 && (offset += 1), [this.parent.domNode, offset];\n }\n /**\n * Return value represented by this blot\n * Should not change without interaction from API or\n * user change detectable by update()\n */\n value() {\n return {\n [this.statics.blotName]: this.statics.value(this.domNode) || !0\n };\n }\n};\n_LeafBlot.scope = Scope.INLINE_BLOT;\nlet LeafBlot = _LeafBlot;\nconst LeafBlot$1 = LeafBlot;\nclass LinkedList {\n constructor() {\n this.head = null, this.tail = null, this.length = 0;\n }\n append(...nodes) {\n if (this.insertBefore(nodes[0], null), nodes.length > 1) {\n const rest = nodes.slice(1);\n this.append(...rest);\n }\n }\n at(index) {\n const next = this.iterator();\n let cur = next();\n for (; cur && index > 0; )\n index -= 1, cur = next();\n return cur;\n }\n contains(node) {\n const next = this.iterator();\n let cur = next();\n for (; cur; ) {\n if (cur === node)\n return !0;\n cur = next();\n }\n return !1;\n }\n indexOf(node) {\n const next = this.iterator();\n let cur = next(), index = 0;\n for (; cur; ) {\n if (cur === node)\n return index;\n index += 1, cur = next();\n }\n return -1;\n }\n insertBefore(node, refNode) {\n node != null && (this.remove(node), node.next = refNode, refNode != null ? (node.prev = refNode.prev, refNode.prev != null && (refNode.prev.next = node), refNode.prev = node, refNode === this.head && (this.head = node)) : this.tail != null ? (this.tail.next = node, node.prev = this.tail, this.tail = node) : (node.prev = null, this.head = this.tail = node), this.length += 1);\n }\n offset(target) {\n let index = 0, cur = this.head;\n for (; cur != null; ) {\n if (cur === target)\n return index;\n index += cur.length(), cur = cur.next;\n }\n return -1;\n }\n remove(node) {\n this.contains(node) && (node.prev != null && (node.prev.next = node.next), node.next != null && (node.next.prev = node.prev), node === this.head && (this.head = node.next), node === this.tail && (this.tail = node.prev), this.length -= 1);\n }\n iterator(curNode = this.head) {\n return () => {\n const ret = curNode;\n return curNode != null && (curNode = curNode.next), ret;\n };\n }\n find(index, inclusive = !1) {\n const next = this.iterator();\n let cur = next();\n for (; cur; ) {\n const length = cur.length();\n if (index < length || inclusive && index === length && (cur.next == null || cur.next.length() !== 0))\n return [cur, index];\n index -= length, cur = next();\n }\n return [null, 0];\n }\n forEach(callback) {\n const next = this.iterator();\n let cur = next();\n for (; cur; )\n callback(cur), cur = next();\n }\n forEachAt(index, length, callback) {\n if (length <= 0)\n return;\n const [startNode, offset] = this.find(index);\n let curIndex = index - offset;\n const next = this.iterator(startNode);\n let cur = next();\n for (; cur && curIndex < index + length; ) {\n const curLength = cur.length();\n index > curIndex ? callback(\n cur,\n index - curIndex,\n Math.min(length, curIndex + curLength - index)\n ) : callback(cur, 0, Math.min(curLength, index + length - curIndex)), curIndex += curLength, cur = next();\n }\n }\n map(callback) {\n return this.reduce((memo, cur) => (memo.push(callback(cur)), memo), []);\n }\n reduce(callback, memo) {\n const next = this.iterator();\n let cur = next();\n for (; cur; )\n memo = callback(memo, cur), cur = next();\n return memo;\n }\n}\nfunction makeAttachedBlot(node, scroll) {\n const found = scroll.find(node);\n if (found)\n return found;\n try {\n return scroll.create(node);\n } catch {\n const blot = scroll.create(Scope.INLINE);\n return Array.from(node.childNodes).forEach((child) => {\n blot.domNode.appendChild(child);\n }), node.parentNode && node.parentNode.replaceChild(blot.domNode, node), blot.attach(), blot;\n }\n}\nconst _ParentBlot = class _ParentBlot extends ShadowBlot {\n constructor(scroll, domNode) {\n super(scroll, domNode), this.uiNode = null, this.build();\n }\n appendChild(other) {\n this.insertBefore(other);\n }\n attach() {\n super.attach(), this.children.forEach((child) => {\n child.attach();\n });\n }\n attachUI(node) {\n this.uiNode != null && this.uiNode.remove(), this.uiNode = node, _ParentBlot.uiClass && this.uiNode.classList.add(_ParentBlot.uiClass), this.uiNode.setAttribute(\"contenteditable\", \"false\"), this.domNode.insertBefore(this.uiNode, this.domNode.firstChild);\n }\n /**\n * Called during construction, should fill its own children LinkedList.\n */\n build() {\n this.children = new LinkedList(), Array.from(this.domNode.childNodes).filter((node) => node !== this.uiNode).reverse().forEach((node) => {\n try {\n const child = makeAttachedBlot(node, this.scroll);\n this.insertBefore(child, this.children.head || void 0);\n } catch (err) {\n if (err instanceof ParchmentError)\n return;\n throw err;\n }\n });\n }\n deleteAt(index, length) {\n if (index === 0 && length === this.length())\n return this.remove();\n this.children.forEachAt(index, length, (child, offset, childLength) => {\n child.deleteAt(offset, childLength);\n });\n }\n descendant(criteria, index = 0) {\n const [child, offset] = this.children.find(index);\n return criteria.blotName == null && criteria(child) || criteria.blotName != null && child instanceof criteria ? [child, offset] : child instanceof _ParentBlot ? child.descendant(criteria, offset) : [null, -1];\n }\n descendants(criteria, index = 0, length = Number.MAX_VALUE) {\n let descendants = [], lengthLeft = length;\n return this.children.forEachAt(\n index,\n length,\n (child, childIndex, childLength) => {\n (criteria.blotName == null && criteria(child) || criteria.blotName != null && child instanceof criteria) && descendants.push(child), child instanceof _ParentBlot && (descendants = descendants.concat(\n child.descendants(criteria, childIndex, lengthLeft)\n )), lengthLeft -= childLength;\n }\n ), descendants;\n }\n detach() {\n this.children.forEach((child) => {\n child.detach();\n }), super.detach();\n }\n enforceAllowedChildren() {\n let done = !1;\n this.children.forEach((child) => {\n done || this.statics.allowedChildren.some(\n (def) => child instanceof def\n ) || (child.statics.scope === Scope.BLOCK_BLOT ? (child.next != null && this.splitAfter(child), child.prev != null && this.splitAfter(child.prev), child.parent.unwrap(), done = !0) : child instanceof _ParentBlot ? child.unwrap() : child.remove());\n });\n }\n formatAt(index, length, name, value) {\n this.children.forEachAt(index, length, (child, offset, childLength) => {\n child.formatAt(offset, childLength, name, value);\n });\n }\n insertAt(index, value, def) {\n const [child, offset] = this.children.find(index);\n if (child)\n child.insertAt(offset, value, def);\n else {\n const blot = def == null ? this.scroll.create(\"text\", value) : this.scroll.create(value, def);\n this.appendChild(blot);\n }\n }\n insertBefore(childBlot, refBlot) {\n childBlot.parent != null && childBlot.parent.children.remove(childBlot);\n let refDomNode = null;\n this.children.insertBefore(childBlot, refBlot || null), childBlot.parent = this, refBlot != null && (refDomNode = refBlot.domNode), (this.domNode.parentNode !== childBlot.domNode || this.domNode.nextSibling !== refDomNode) && this.domNode.insertBefore(childBlot.domNode, refDomNode), childBlot.attach();\n }\n length() {\n return this.children.reduce((memo, child) => memo + child.length(), 0);\n }\n moveChildren(targetParent, refNode) {\n this.children.forEach((child) => {\n targetParent.insertBefore(child, refNode);\n });\n }\n optimize(context) {\n if (super.optimize(context), this.enforceAllowedChildren(), this.uiNode != null && this.uiNode !== this.domNode.firstChild && this.domNode.insertBefore(this.uiNode, this.domNode.firstChild), this.children.length === 0)\n if (this.statics.defaultChild != null) {\n const child = this.scroll.create(this.statics.defaultChild.blotName);\n this.appendChild(child);\n } else\n this.remove();\n }\n path(index, inclusive = !1) {\n const [child, offset] = this.children.find(index, inclusive), position = [[this, index]];\n return child instanceof _ParentBlot ? position.concat(child.path(offset, inclusive)) : (child != null && position.push([child, offset]), position);\n }\n removeChild(child) {\n this.children.remove(child);\n }\n replaceWith(name, value) {\n const replacement = typeof name == \"string\" ? this.scroll.create(name, value) : name;\n return replacement instanceof _ParentBlot && this.moveChildren(replacement), super.replaceWith(replacement);\n }\n split(index, force = !1) {\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n const after = this.clone();\n return this.parent && this.parent.insertBefore(after, this.next || void 0), this.children.forEachAt(index, this.length(), (child, offset, _length) => {\n const split = child.split(offset, force);\n split != null && after.appendChild(split);\n }), after;\n }\n splitAfter(child) {\n const after = this.clone();\n for (; child.next != null; )\n after.appendChild(child.next);\n return this.parent && this.parent.insertBefore(after, this.next || void 0), after;\n }\n unwrap() {\n this.parent && this.moveChildren(this.parent, this.next || void 0), this.remove();\n }\n update(mutations, _context) {\n const addedNodes = [], removedNodes = [];\n mutations.forEach((mutation) => {\n mutation.target === this.domNode && mutation.type === \"childList\" && (addedNodes.push(...mutation.addedNodes), removedNodes.push(...mutation.removedNodes));\n }), removedNodes.forEach((node) => {\n if (node.parentNode != null && // @ts-expect-error Fix me later\n node.tagName !== \"IFRAME\" && document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY)\n return;\n const blot = this.scroll.find(node);\n blot != null && (blot.domNode.parentNode == null || blot.domNode.parentNode === this.domNode) && blot.detach();\n }), addedNodes.filter((node) => node.parentNode === this.domNode && node !== this.uiNode).sort((a, b) => a === b ? 0 : a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING ? 1 : -1).forEach((node) => {\n let refBlot = null;\n node.nextSibling != null && (refBlot = this.scroll.find(node.nextSibling));\n const blot = makeAttachedBlot(node, this.scroll);\n (blot.next !== refBlot || blot.next == null) && (blot.parent != null && blot.parent.removeChild(this), this.insertBefore(blot, refBlot || void 0));\n }), this.enforceAllowedChildren();\n }\n};\n_ParentBlot.uiClass = \"\";\nlet ParentBlot = _ParentBlot;\nconst ParentBlot$1 = ParentBlot;\nfunction isEqual(obj1, obj2) {\n if (Object.keys(obj1).length !== Object.keys(obj2).length)\n return !1;\n for (const prop in obj1)\n if (obj1[prop] !== obj2[prop])\n return !1;\n return !0;\n}\nconst _InlineBlot = class _InlineBlot extends ParentBlot$1 {\n static create(value) {\n return super.create(value);\n }\n static formats(domNode, scroll) {\n const match2 = scroll.query(_InlineBlot.blotName);\n if (!(match2 != null && domNode.tagName === match2.tagName)) {\n if (typeof this.tagName == \"string\")\n return !0;\n if (Array.isArray(this.tagName))\n return domNode.tagName.toLowerCase();\n }\n }\n constructor(scroll, domNode) {\n super(scroll, domNode), this.attributes = new AttributorStore$1(this.domNode);\n }\n format(name, value) {\n if (name === this.statics.blotName && !value)\n this.children.forEach((child) => {\n child instanceof _InlineBlot || (child = child.wrap(_InlineBlot.blotName, !0)), this.attributes.copy(child);\n }), this.unwrap();\n else {\n const format = this.scroll.query(name, Scope.INLINE);\n if (format == null)\n return;\n format instanceof Attributor ? this.attributes.attribute(format, value) : value && (name !== this.statics.blotName || this.formats()[name] !== value) && this.replaceWith(name, value);\n }\n }\n formats() {\n const formats = this.attributes.values(), format = this.statics.formats(this.domNode, this.scroll);\n return format != null && (formats[this.statics.blotName] = format), formats;\n }\n formatAt(index, length, name, value) {\n this.formats()[name] != null || this.scroll.query(name, Scope.ATTRIBUTE) ? this.isolate(index, length).format(name, value) : super.formatAt(index, length, name, value);\n }\n optimize(context) {\n super.optimize(context);\n const formats = this.formats();\n if (Object.keys(formats).length === 0)\n return this.unwrap();\n const next = this.next;\n next instanceof _InlineBlot && next.prev === this && isEqual(formats, next.formats()) && (next.moveChildren(this), next.remove());\n }\n replaceWith(name, value) {\n const replacement = super.replaceWith(name, value);\n return this.attributes.copy(replacement), replacement;\n }\n update(mutations, context) {\n super.update(mutations, context), mutations.some(\n (mutation) => mutation.target === this.domNode && mutation.type === \"attributes\"\n ) && this.attributes.build();\n }\n wrap(name, value) {\n const wrapper = super.wrap(name, value);\n return wrapper instanceof _InlineBlot && this.attributes.move(wrapper), wrapper;\n }\n};\n_InlineBlot.allowedChildren = [_InlineBlot, LeafBlot$1], _InlineBlot.blotName = \"inline\", _InlineBlot.scope = Scope.INLINE_BLOT, _InlineBlot.tagName = \"SPAN\";\nlet InlineBlot = _InlineBlot;\nconst InlineBlot$1 = InlineBlot, _BlockBlot = class _BlockBlot extends ParentBlot$1 {\n static create(value) {\n return super.create(value);\n }\n static formats(domNode, scroll) {\n const match2 = scroll.query(_BlockBlot.blotName);\n if (!(match2 != null && domNode.tagName === match2.tagName)) {\n if (typeof this.tagName == \"string\")\n return !0;\n if (Array.isArray(this.tagName))\n return domNode.tagName.toLowerCase();\n }\n }\n constructor(scroll, domNode) {\n super(scroll, domNode), this.attributes = new AttributorStore$1(this.domNode);\n }\n format(name, value) {\n const format = this.scroll.query(name, Scope.BLOCK);\n format != null && (format instanceof Attributor ? this.attributes.attribute(format, value) : name === this.statics.blotName && !value ? this.replaceWith(_BlockBlot.blotName) : value && (name !== this.statics.blotName || this.formats()[name] !== value) && this.replaceWith(name, value));\n }\n formats() {\n const formats = this.attributes.values(), format = this.statics.formats(this.domNode, this.scroll);\n return format != null && (formats[this.statics.blotName] = format), formats;\n }\n formatAt(index, length, name, value) {\n this.scroll.query(name, Scope.BLOCK) != null ? this.format(name, value) : super.formatAt(index, length, name, value);\n }\n insertAt(index, value, def) {\n if (def == null || this.scroll.query(value, Scope.INLINE) != null)\n super.insertAt(index, value, def);\n else {\n const after = this.split(index);\n if (after != null) {\n const blot = this.scroll.create(value, def);\n after.parent.insertBefore(blot, after);\n } else\n throw new Error(\"Attempt to insertAt after block boundaries\");\n }\n }\n replaceWith(name, value) {\n const replacement = super.replaceWith(name, value);\n return this.attributes.copy(replacement), replacement;\n }\n update(mutations, context) {\n super.update(mutations, context), mutations.some(\n (mutation) => mutation.target === this.domNode && mutation.type === \"attributes\"\n ) && this.attributes.build();\n }\n};\n_BlockBlot.blotName = \"block\", _BlockBlot.scope = Scope.BLOCK_BLOT, _BlockBlot.tagName = \"P\", _BlockBlot.allowedChildren = [\n InlineBlot$1,\n _BlockBlot,\n LeafBlot$1\n];\nlet BlockBlot = _BlockBlot;\nconst BlockBlot$1 = BlockBlot, _ContainerBlot = class _ContainerBlot extends ParentBlot$1 {\n checkMerge() {\n return this.next !== null && this.next.statics.blotName === this.statics.blotName;\n }\n deleteAt(index, length) {\n super.deleteAt(index, length), this.enforceAllowedChildren();\n }\n formatAt(index, length, name, value) {\n super.formatAt(index, length, name, value), this.enforceAllowedChildren();\n }\n insertAt(index, value, def) {\n super.insertAt(index, value, def), this.enforceAllowedChildren();\n }\n optimize(context) {\n super.optimize(context), this.children.length > 0 && this.next != null && this.checkMerge() && (this.next.moveChildren(this), this.next.remove());\n }\n};\n_ContainerBlot.blotName = \"container\", _ContainerBlot.scope = Scope.BLOCK_BLOT;\nlet ContainerBlot = _ContainerBlot;\nconst ContainerBlot$1 = ContainerBlot;\nclass EmbedBlot extends LeafBlot$1 {\n static formats(_domNode, _scroll) {\n }\n format(name, value) {\n super.formatAt(0, this.length(), name, value);\n }\n formatAt(index, length, name, value) {\n index === 0 && length === this.length() ? this.format(name, value) : super.formatAt(index, length, name, value);\n }\n formats() {\n return this.statics.formats(this.domNode, this.scroll);\n }\n}\nconst EmbedBlot$1 = EmbedBlot, OBSERVER_CONFIG = {\n attributes: !0,\n characterData: !0,\n characterDataOldValue: !0,\n childList: !0,\n subtree: !0\n}, MAX_OPTIMIZE_ITERATIONS = 100, _ScrollBlot = class _ScrollBlot extends ParentBlot$1 {\n constructor(registry, node) {\n super(null, node), this.registry = registry, this.scroll = this, this.build(), this.observer = new MutationObserver((mutations) => {\n this.update(mutations);\n }), this.observer.observe(this.domNode, OBSERVER_CONFIG), this.attach();\n }\n create(input, value) {\n return this.registry.create(this, input, value);\n }\n find(node, bubble = !1) {\n const blot = this.registry.find(node, bubble);\n return blot ? blot.scroll === this ? blot : bubble ? this.find(blot.scroll.domNode.parentNode, !0) : null : null;\n }\n query(query, scope = Scope.ANY) {\n return this.registry.query(query, scope);\n }\n register(...definitions) {\n return this.registry.register(...definitions);\n }\n build() {\n this.scroll != null && super.build();\n }\n detach() {\n super.detach(), this.observer.disconnect();\n }\n deleteAt(index, length) {\n this.update(), index === 0 && length === this.length() ? this.children.forEach((child) => {\n child.remove();\n }) : super.deleteAt(index, length);\n }\n formatAt(index, length, name, value) {\n this.update(), super.formatAt(index, length, name, value);\n }\n insertAt(index, value, def) {\n this.update(), super.insertAt(index, value, def);\n }\n optimize(mutations = [], context = {}) {\n super.optimize(context);\n const mutationsMap = context.mutationsMap || /* @__PURE__ */ new WeakMap();\n let records = Array.from(this.observer.takeRecords());\n for (; records.length > 0; )\n mutations.push(records.pop());\n const mark = (blot, markParent = !0) => {\n blot == null || blot === this || blot.domNode.parentNode != null && (mutationsMap.has(blot.domNode) || mutationsMap.set(blot.domNode, []), markParent && mark(blot.parent));\n }, optimize = (blot) => {\n mutationsMap.has(blot.domNode) && (blot instanceof ParentBlot$1 && blot.children.forEach(optimize), mutationsMap.delete(blot.domNode), blot.optimize(context));\n };\n let remaining = mutations;\n for (let i = 0; remaining.length > 0; i += 1) {\n if (i >= MAX_OPTIMIZE_ITERATIONS)\n throw new Error(\"[Parchment] Maximum optimize iterations reached\");\n for (remaining.forEach((mutation) => {\n const blot = this.find(mutation.target, !0);\n blot != null && (blot.domNode === mutation.target && (mutation.type === \"childList\" ? (mark(this.find(mutation.previousSibling, !1)), Array.from(mutation.addedNodes).forEach((node) => {\n const child = this.find(node, !1);\n mark(child, !1), child instanceof ParentBlot$1 && child.children.forEach((grandChild) => {\n mark(grandChild, !1);\n });\n })) : mutation.type === \"attributes\" && mark(blot.prev)), mark(blot));\n }), this.children.forEach(optimize), remaining = Array.from(this.observer.takeRecords()), records = remaining.slice(); records.length > 0; )\n mutations.push(records.pop());\n }\n }\n update(mutations, context = {}) {\n mutations = mutations || this.observer.takeRecords();\n const mutationsMap = /* @__PURE__ */ new WeakMap();\n mutations.map((mutation) => {\n const blot = this.find(mutation.target, !0);\n return blot == null ? null : mutationsMap.has(blot.domNode) ? (mutationsMap.get(blot.domNode).push(mutation), null) : (mutationsMap.set(blot.domNode, [mutation]), blot);\n }).forEach((blot) => {\n blot != null && blot !== this && mutationsMap.has(blot.domNode) && blot.update(mutationsMap.get(blot.domNode) || [], context);\n }), context.mutationsMap = mutationsMap, mutationsMap.has(this.domNode) && super.update(mutationsMap.get(this.domNode), context), this.optimize(mutations, context);\n }\n};\n_ScrollBlot.blotName = \"scroll\", _ScrollBlot.defaultChild = BlockBlot$1, _ScrollBlot.allowedChildren = [BlockBlot$1, ContainerBlot$1], _ScrollBlot.scope = Scope.BLOCK_BLOT, _ScrollBlot.tagName = \"DIV\";\nlet ScrollBlot = _ScrollBlot;\nconst ScrollBlot$1 = ScrollBlot, _TextBlot = class _TextBlot extends LeafBlot$1 {\n static create(value) {\n return document.createTextNode(value);\n }\n static value(domNode) {\n return domNode.data;\n }\n constructor(scroll, node) {\n super(scroll, node), this.text = this.statics.value(this.domNode);\n }\n deleteAt(index, length) {\n this.domNode.data = this.text = this.text.slice(0, index) + this.text.slice(index + length);\n }\n index(node, offset) {\n return this.domNode === node ? offset : -1;\n }\n insertAt(index, value, def) {\n def == null ? (this.text = this.text.slice(0, index) + value + this.text.slice(index), this.domNode.data = this.text) : super.insertAt(index, value, def);\n }\n length() {\n return this.text.length;\n }\n optimize(context) {\n super.optimize(context), this.text = this.statics.value(this.domNode), this.text.length === 0 ? this.remove() : this.next instanceof _TextBlot && this.next.prev === this && (this.insertAt(this.length(), this.next.value()), this.next.remove());\n }\n position(index, _inclusive = !1) {\n return [this.domNode, index];\n }\n split(index, force = !1) {\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n const after = this.scroll.create(this.domNode.splitText(index));\n return this.parent.insertBefore(after, this.next || void 0), this.text = this.statics.value(this.domNode), after;\n }\n update(mutations, _context) {\n mutations.some((mutation) => mutation.type === \"characterData\" && mutation.target === this.domNode) && (this.text = this.statics.value(this.domNode));\n }\n value() {\n return this.text;\n }\n};\n_TextBlot.blotName = \"text\", _TextBlot.scope = Scope.INLINE_BLOT;\nlet TextBlot = _TextBlot;\nconst TextBlot$1 = TextBlot;\nexport {\n Attributor,\n AttributorStore$1 as AttributorStore,\n BlockBlot$1 as BlockBlot,\n ClassAttributor$1 as ClassAttributor,\n ContainerBlot$1 as ContainerBlot,\n EmbedBlot$1 as EmbedBlot,\n InlineBlot$1 as InlineBlot,\n LeafBlot$1 as LeafBlot,\n ParentBlot$1 as ParentBlot,\n Registry,\n Scope,\n ScrollBlot$1 as ScrollBlot,\n StyleAttributor$1 as StyleAttributor,\n TextBlot$1 as TextBlot\n};\n//# sourceMappingURL=parchment.js.map\n","import { ComponentTypes } from 'mithril';\nimport { Scenario } from './data-model';\n\nexport type IconType = () => string | string;\n\nexport type IconResolver = () => string;\n\nexport interface IDashboard {\n id: Dashboards;\n default?: boolean;\n hasNavBar?: boolean;\n title: string | (() => string);\n icon: string | IconResolver;\n iconClass?: string;\n route: string;\n visible: boolean | ((scenario?: Scenario) => boolean);\n component: ComponentTypes<any, any>;\n}\n\nexport enum Dashboards {\n HOME = 'HOME',\n ABOUT = 'ABOUT',\n DEFINE_BOX = 'DEFINE_BOX',\n CREATE_SCENARIO = 'CREATE_SCENARIO',\n SHOW_SCENARIO = 'SHOW_SCENARIO',\n DECISION_SUPPORT = 'DECISION_SUPPORT',\n SETTINGS = 'SETTINGS',\n HELP = 'HELP',\n}\n","import e from\"mithril\";const t=()=>\"idxxxxxxxx\".replace(/[x]/g,()=>(16*Math.random()|0).toString(16)),a=()=>\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,e=>{const t=16*Math.random()|0;return(\"x\"===e?t:3&t|8).toString(16)}),i=(...e)=>t=>e.reduceRight((e,t)=>t(e),t),l=e=>t=>Array.prototype.map.call(t,e),o=e=>t=>Array.prototype.join.call(t,e),n=e=>e.replace(/([A-Z])/g,e=>\"-\"+e.toLowerCase()),s=e=>e?i(o(\"\"),l(t=>`[${n(t)}=\"${((e=\"\")=>e.toString().replace(/\"/g,\""\"))(e[t])}\"]`),Object.keys)(e):\"\",r=[\"min\",\"max\",\"minLength\",\"maxLength\",\"rows\",\"cols\",\"placeholder\",\"autocomplete\",\"pattern\",\"readOnly\",\"step\"],c=e=>r.indexOf(e)>=0,d=({disabled:e})=>e?\"[disabled]\":\"\",p=({required:e,isMandatory:t})=>e||t?\"[required][aria-required=true]\":\"\",m=e=>(e=>{const t=(a=e,e=>void 0!==a[e]);var a;return Object.keys(e).filter(c).filter(t).reduce((t,a)=>{const i=e[a];return t.push(`[${a.toLowerCase()}=${i}]`),t},[]).join(\"\")})(e)+(e=>e.maxLength?`[data-length=${e.maxLength}]`:\"\")(e)+d(e)+p(e)+(({autofocus:e})=>\"boolean\"==typeof e&&e||e&&e()?\"[autofocus]\":\"\")(e),u=e=>!isNaN(parseFloat(e))&&isFinite(e),h=(...e)=>t=>e.reduce((e,t)=>t(e),t),v=(e,t=2,a=\"0\")=>(e+=\"\").length>=t?e:new Array(t-e.length+1).join(a)+e,b=(e,t,a)=>{const i=e[t];e[t]=e[a],e[a]=i},g=(e,t,a)=>{const i=e[t];e.splice(t,1),e.splice(a,0,i)};function y(){return y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},y.apply(this,arguments)}function f(e,t){if(null==e)return{};var a,i,l={},o=Object.keys(e);for(i=0;i<o.length;i++)t.indexOf(a=o[i])>=0||(l[a]=e[a]);return l}const w=[\"label\",\"id\",\"isMandatory\",\"isActive\"],x={view:({attrs:t})=>e(\"span.mandatory\",t,\"*\")},k=()=>({view:t=>{let{attrs:{label:a,id:i,isMandatory:l,isActive:o}}=t,n=f(t.attrs,w);return a?e(`label${o?\".active\":\"\"}${i?`[for=${i}]`:\"\"}`,n,[e.trust(a),l?e(x):void 0]):void 0}}),N=()=>({view:({attrs:{helperText:t,dataError:a,dataSuccess:i,className:l}})=>t||a||i?e(\"span.helper-text\",{className:l,dataError:a,dataSuccess:i},t?e.trust(t):\"\"):void 0}),$=()=>{const a={id:t()};return{view:({attrs:t})=>{const i=t.id||a.id,l=m(t),{label:o,helperText:n,initialValue:s,onchange:r,newRow:c,className:d=\"col s12\",style:p,iconName:u,isMandatory:h}=t;return e(\".input-field\"+(c?\".clear\":\"\"),{className:c?d+\" clear\":d,style:p},[u?e(\"i.material-icons.prefix\",u):\"\",e(`input.autocomplete[type=text][tabindex=0]${l}`,{id:i,oncreate:({dom:e})=>{M.Autocomplete.init(e,t)},onchange:r?e=>{e.target&&e.target.value&&r(e.target.value)}:void 0,value:s}),e(k,{label:o,id:i,isMandatory:h,isActive:s}),e(N,{helperText:n})])}}},C=[\"iconName\"],I=()=>({view:t=>{let{attrs:{iconName:a}}=t,i=f(t.attrs,C);return e(\"i.material-icons\",i,a)}}),T=[\"modalId\",\"tooltip\",\"tooltipPostion\",\"iconName\",\"iconClass\",\"label\",\"attr\"],A=(t,a=\"\")=>()=>{const i=`${t}${a}`;return{view:({attrs:t})=>{const{modalId:a,tooltip:l,tooltipPostion:o,iconName:n,iconClass:r,label:c,attr:d}=t,p=f(t,T);return e(`${i}${a?`.modal-trigger[href=#${a}]`:\"\"}${l?`.tooltipped[data-position=${o||\"top\"}][data-tooltip=${l}]`:\"\"}${s(d)}`,p,n?e(I,{iconName:n,className:r||\"left\"}):void 0,c||void 0)}}},O=A(\"a.waves-effect.waves-light.btn\",\"[type=button]\"),V=A(\"a.waves-effect.waves-light.btn-large\",\"[type=button]\"),S=A(\"a.waves-effect.waves-light.btn-small\",\"[type=button]\"),R=A(\"a.waves-effect.waves-teal.btn-flat\",\"[type=button]\"),L=A(\"button.btn-floating.btn-large.waves-effect.waves-light\",\"[type=button]\"),j=A(\"button.btn.waves-effect.waves-light\",\"[type=submit]\"),E=()=>({view:({attrs:{href:t,src:a}})=>e(\"a.carousel-item\",{href:t},e(`img[src=${a}]`))}),F=()=>({view:({attrs:t})=>{const{items:a}=t;return a&&a.length>0?e(\".carousel\",{oncreate:({dom:e})=>{M.Carousel.init(e,t)}},a.map(t=>e(E,t))):void 0}}),D=()=>({oncreate:({attrs:e,dom:t})=>{const{onchange:a,onChipAdd:i,onChipDelete:l}=e,o=M.Chips.getInstance(t.children[0]),n=i?i.bind(o):void 0;e.onChipAdd=function(e,t){a&&a(this.chipsData),n&&n(e,t)};const s=l?l.bind(o):void 0;e.onChipDelete=function(e,t){a&&a(this.chipsData),s&&s(e,t)},M.Chips.init(t.children[0],e)},onupdate:({dom:e,attrs:{data:t}})=>{if(!t||0===t.length)return;const a=M.Chips.getInstance(e.children[0]);t.forEach(e=>a.addChip(e))},view:({attrs:{placeholder:t,required:a,isMandatory:i=a,data:l,className:o=\"col s12\",label:n,helperText:s}})=>e(\".input-field\",{className:o},[e(`.chips.chips-autocomplete${t?\".chips-placeholder\":\"\"}${l?\".chips-initial\":\"\"}`),n?e(k,{label:n,isMandatory:i,className:\"active\"}):void 0,s?e(N,{helperText:s}):void 0])}),K=()=>({view:({attrs:t})=>{const{newRow:a,code:i,language:l}=t,o=l||\"lang-TypeScript\",n=o.replace(\"lang-\",\"\"),s=i instanceof Array?i.join(\"\\n\"):i;return e(\"pre.codeblock\"+(a?\".clear\":\"\"),t,[e(\"div\",e(\"label\",n)),e(`code.${o}`,s)])}}),B=()=>({view:({attrs:{header:t,body:a,active:i,iconName:l}})=>e(i?\"li.active\":\"li\",[t||l?e(\".collapsible-header\",[l?e(\"i.material-icons\",l):void 0,t?\"string\"==typeof t?e(\"span\",t):t:void 0]):void 0,a?e(\".collapsible-body\",a):void 0])}),_=()=>({oncreate:({dom:e,attrs:t})=>{M.Collapsible.init(e,t)},view:({attrs:t})=>{const{items:a,class:i,className:l,style:o,id:n}=t;return a&&a.length>0?e(\"ul.collapsible\",{class:i||l,style:o,id:n},a.map(t=>e(B,t))):void 0}}),H=[\"header\",\"items\",\"mode\"],z=[\"title\",\"active\",\"href\"],P=[\"items\",\"header\"],q=[\"items\",\"header\",\"mode\"];var U;!function(e){e[e.BASIC=0]=\"BASIC\",e[e.LINKS=1]=\"LINKS\",e[e.AVATAR=2]=\"AVATAR\"}(U||(U={}));const W=e=>e&&/https?:\\/\\//.test(e),Y=()=>({view:({attrs:t})=>{const{href:a,iconName:i=\"send\",onclick:l,style:o={cursor:\"pointer\"}}=t,n={href:a,style:o,className:\"secondary-content\",onclick:l?()=>l(t):void 0};return W(a)||!a?e(\"a[target=_]\",n,e(I,{iconName:i})):e(e.route.Link,n,e(I,{iconName:i}))}}),Z=(e=\"\")=>/\\./.test(e),G=()=>({view:({attrs:{item:t,mode:a}})=>{const{title:i,content:l=\"\",active:o,iconName:n,avatar:s,className:r,onclick:c}=t;return a===U.AVATAR?e(\"li.collection-item.avatar\"+(o?\".active\":\"\"),{onclick:c?()=>c(t):void 0},[Z(s)?e(\"img.circle\",{src:s}):e(\"i.material-icons.circle\",{className:r},s),e(\"span.title\",i),e(\"p\",e.trust(l)),e(Y,t)]):e(\"li.collection-item\"+(o?\".active\":\"\"),n?e(\"div\",[i,e(Y,t)]):i)}}),J=()=>({view:t=>{let{attrs:{header:a,items:i,mode:l=U.BASIC}}=t,o=f(t.attrs,H);const n=i.map(t=>e(G,{key:t.id,item:t,mode:l}));return a?e(\"ul.collection.with-header\",o,[e(\"li.collection-header\",e(\"h4\",a)),n]):e(\"ul.collection\",o,n)}}),Q=()=>({view:({attrs:{item:t}})=>{const{title:a,active:i,href:l}=t,o=y({},f(t,z),{className:\"collection-item \"+(i?\"active\":\"\"),href:l});return W(l)||!l?e(\"a[target=_]\",o,a):e(e.route.Link,o,a)}}),X=()=>({view:t=>{let{attrs:{items:a,header:i}}=t,l=f(t.attrs,P);return i?e(\".collection.with-header\",l,[e(\".collection-header\",e(\"h4\",i)),a.map(t=>e(Q,{key:t.id,item:t}))]):e(\".collection\",l,a.map(t=>e(Q,{key:t.id,item:t})))}}),ee=()=>({view:t=>{let{attrs:{items:a,header:i,mode:l=U.BASIC}}=t,o=f(t.attrs,q);return i||a&&a.length>0?l===U.LINKS?e(X,y({header:i,items:a},o)):e(J,y({header:i,items:a,mode:l},o)):void 0}}),te=[\"key\",\"label\",\"onchange\",\"disabled\",\"items\",\"iconName\",\"helperText\",\"style\",\"className\"],ae=()=>{const a={};return{oninit:({attrs:{id:e=t(),initialValue:i,checkedId:l}})=>{a.id=e,a.initialValue=i||l},view:t=>{let{attrs:{key:i,label:l,onchange:o,disabled:n=!1,items:s,iconName:r,helperText:c,style:d,className:p=\"col s12\"}}=t,m=f(t.attrs,te);const{id:u,initialValue:h}=a,v=h?s.filter(e=>e.id?e.id===h:e.label===h).shift():void 0,b=v?v.label:l||\"Select\";return e(\".input-field\",{className:p,key:i,style:d},[r?e(\"i.material-icons.prefix\",r):void 0,e(N,{helperText:c}),e(`a.dropdown-trigger.btn.truncate[href=#][data-target=${u}]${n?\"[disabled]\":\"\"}`,{className:\"col s12\",style:d||(r?\"margin: 0.2em 0 0 3em;\":void 0),oncreate:({dom:e})=>{M.Dropdown.init(e,m)}},b),e(`ul.dropdown-content[id=${u}]`,s.map(t=>e(\"li\"+(t.divider?\".divider[tabindex=-1]\":\"\"),t.divider?void 0:e(\"a\",{onclick:o?()=>{a.initialValue=t.id||t.label,o(a.initialValue)}:void 0},[t.iconName?e(\"i.material-icons\",t.iconName):void 0,t.label]))))])}}},ie=[\"className\",\"iconName\",\"iconClass\",\"position\",\"style\",\"buttons\"],le=()=>({view:t=>{let{attrs:{className:a,iconName:i,iconClass:l=\"large\",position:o,style:n=(\"left\"===o||\"inline-left\"===o?\"position: absolute; display: inline-block; left: 24px;\":\"right\"===o||\"inline-right\"===o?\"position: absolute; display: inline-block; right: 24px;\":void 0),buttons:s}}=t,r=f(t.attrs,ie);const c=e(\".fixed-action-btn\",{style:n,oncreate:({dom:e})=>M.FloatingActionButton.init(e,r)},[e(\"a.btn-floating.btn-large\",{className:a},e(\"i.material-icons\",{classNames:l},i)),s?e(\"ul\",s.map(t=>e(\"li\",e(\"a.btn-floating\",{className:t.className,onclick:e=>t.onClick&&t.onClick(e)},e(\"i.material-icons\",{className:t.iconClass},t.iconName))))):void 0]);return\"inline-right\"===o||\"inline-left\"===o?e(\"div\",{style:\"position: relative; height: 70px;\"},c):c}}),oe=[\"className\",\"helperText\",\"iconName\",\"id\",\"initialValue\",\"isMandatory\",\"label\",\"onchange\",\"onkeydown\",\"onkeypress\",\"onkeyup\",\"onblur\",\"style\"],ne=[\"className\",\"dataError\",\"dataSuccess\",\"helperText\",\"iconName\",\"id\",\"initialValue\",\"isMandatory\",\"label\",\"maxLength\",\"newRow\",\"onchange\",\"onkeydown\",\"onkeypress\",\"onkeyup\",\"onblur\",\"style\",\"validate\"],se=()=>{const a={id:t()};return{view:({attrs:t})=>{const{className:i=\"col s12\",helperText:l,iconName:o,id:n=a.id,initialValue:s,isMandatory:r,label:c,onchange:d,onkeydown:p,onkeypress:u,onkeyup:h,onblur:v,style:b}=t,g=f(t,oe),y=m(g);return e(\".input-field\",{className:i,style:b},[o?e(\"i.material-icons.prefix\",o):\"\",e(`textarea.materialize-textarea[tabindex=0][id=${n}]${y}`,{oncreate:({dom:e})=>{M.textareaAutoResize(e),t.maxLength&&M.CharacterCounter.init(e)},onchange:d?e=>{const t=e.target;d(t&&\"string\"==typeof t.value?t.value:\"\")}:void 0,value:s,onkeyup:h?e=>{h(e,e.target.value)}:void 0,onkeydown:p?e=>{p(e,e.target.value)}:void 0,onkeypress:u?e=>{u(e,e.target.value)}:void 0,onblur:v}),e(k,{label:c,id:n,isMandatory:r,isActive:s||t.placeholder}),e(N,{helperText:l})])}}},re=(a,i=\"\")=>()=>{const l={id:t()},o=e=>{const t=e.value;return!t||\"number\"!==a&&\"range\"!==a?t:+t},n=(e,t)=>{e.setCustomValidity(\"boolean\"==typeof t?t?\"\":\"Custom validation failed\":t)};return{view:({attrs:t})=>{const{className:s=\"col s12\",dataError:r,dataSuccess:c,helperText:d,iconName:p,id:u=l.id,initialValue:h,isMandatory:v,label:b,maxLength:g,newRow:y,onchange:w,onkeydown:x,onkeypress:$,onkeyup:C,onblur:I,style:T,validate:A}=t,O=f(t,ne),V=m(O);return e(`.input-field${y?\".clear\":\"\"}${i}`,{className:s,style:T},[p?e(\"i.material-icons.prefix\",p):void 0,e(`input.validate[type=${a}][tabindex=0][id=${u}]${V}`,{oncreate:({dom:e})=>{(({autofocus:e})=>!!e&&(\"boolean\"==typeof e?e:e()))(t)&&e.focus(),g&&M.CharacterCounter.init(e),\"range\"===a&&M.Range.init(e)},onkeyup:C?e=>{C(e,o(e.target))}:void 0,onkeydown:x?e=>{x(e,o(e.target))}:void 0,onkeypress:$?e=>{$(e,o(e.target))}:void 0,onblur:I,onupdate:A?({dom:e})=>{const t=e;n(t,A(o(t),t))}:void 0,onchange:e=>{const t=e.target;if(t){const e=o(t);w&&w(e),A&&n(t,A(e,t))}},value:h}),e(k,{label:b,id:u,isMandatory:v,isActive:!(void 0===h&&!t.placeholder&&\"number\"!==a&&\"color\"!==a&&\"range\"!==a)}),e(N,{helperText:d,dataError:r,dataSuccess:c})])}}},ce=re(\"text\"),de=re(\"password\"),pe=re(\"number\"),me=re(\"url\"),ue=re(\"color\"),he=re(\"range\",\".range-field\"),ve=re(\"email\"),be=()=>{let t,a=!1;return{view:({attrs:i})=>{const{multiple:l,disabled:o,initialValue:n,placeholder:s,onchange:r,className:c=\"col s12\",accept:d,label:p=\"File\"}=i,m=d?d instanceof Array?d.join(\", \"):d:void 0,u=m?`[accept=${m}]`:\"\",h=l?\"[multiple]\":\"\",v=o?\"[disabled]\":\"\",b=s?`[placeholder=${s}]`:\"\";return e(\".file-field.input-field\",{className:i.class||c},[e(\".btn\",[e(\"span\",p),e(`input[type=file]${h}${v}${u}`,{onchange:r?e=>{const t=e.target;t&&t.files&&r&&(a=!0,r(t.files))}:void 0})]),e(\".file-path-wrapper\",e(`input.file-path.validate${b}[type=text]`,{oncreate:({dom:e})=>{t=e,n&&(t.value=n)}})),(a||n)&&e(\"a.waves-effect.waves-teal.btn-flat\",{style:\"float: right;position: relative;top: -3rem; padding: 0\",onclick:()=>{a=!1,t.value=\"\",r&&r({})}},e(\"i.material-icons\",\"clear\"))])}}},ge=()=>({view:({attrs:{className:t=\"col s12\",onchange:a,label:i,checked:l,disabled:o,description:n,style:s}})=>e(\"div\",{className:t,style:s},e(\"label\",[e(\"input[type=checkbox][tabindex=0]\",{checked:l,disabled:o,onclick:a?e=>{e.target&&void 0!==e.target.checked&&a(e.target.checked)}:void 0}),i?\"string\"==typeof i?e(\"span\",i):i:void 0]),n&&e(N,{className:\"input-checkbox-desc\",helperText:n}))}),ye=()=>{const t={},a=e=>t.checkedIds.indexOf(e)>=0;return{oninit:({attrs:{initialValue:e,checkedId:a}})=>{const i=a||e;t.checkedId=a,t.checkedIds=i?i instanceof Array?[...i]:[i]:[]},view:({attrs:{label:i,id:l,options:o,checkedId:n,description:s,className:r=\"col s12\",style:c,disabled:d,checkboxClass:p,newRow:m,isMandatory:u,onchange:h}})=>{n&&t.checkedId!==n&&(t.checkedId=n,t.checkedIds=n instanceof Array?n:[n]);const v=h?(e,a)=>{const i=t.checkedIds.filter(t=>t!==e);a&&i.push(e),t.checkedIds=i,h(i)}:void 0;return e(\"div\"+(m?\".clear\":\"\"),{className:r,style:c},[e(\"div\",{className:\"input-field options\"},e(k,{id:l,label:i,isMandatory:u})),e(N,{helperText:s}),...o.map(t=>e(ge,{disabled:d||t.disabled,label:t.label,onchange:v?e=>v(t.id,e):void 0,className:t.className||p,checked:a(t.id),description:t.description}))])}}},fe=()=>{const a=e=>i.curKey=i.id=e,i={elementId:t(),id:\"\",curKey:\"\",kvc:(t,a,i)=>{const{keyClass:l=\".col.s4\",valueClass:o=\".col.s8\"}=i,n=a instanceof Array?a.join(\", \"):\"boolean\"==typeof a?e(ge,{label:\" \",checked:a,disabled:!0,className:\"checkbox-in-collection\"}):a.toString();return{title:e(\".row\",{style:\"margin-bottom: 0\"},[e(l,e(\"b\",t)),e(o,n)])}}},l=()=>{i.id=\"\",i.curKey=\"\"};return{oninit:({attrs:{keyValueConverter:e,id:t}})=>{e&&(i.kvc=e),t&&(i.elementId=t)},view:({attrs:{className:t=\"col s12\",disabled:o,disallowArrays:n,header:s,iconName:r,iconNameKey:c=(r?\"label\":void 0),isMandatory:d,label:p,labelKey:m=\"Key\",labelValue:u=\"Value\",properties:h,keyClass:v,valueClass:b,onchange:g,falsy:y=[\"false\"],truthy:f=[\"true\"]}})=>{const w=()=>g?g(h):void 0,x=((e,t)=>Object.keys(e).map(t=>({key:t,value:e[t]})).map(e=>((e,t)=>{const l=t.onclick;return t.id=t.id||e,t.active=e===i.curKey,t.onclick=l?()=>a(e)&&l(t):()=>a(e),t})(e.key,i.kvc(e.key,e.value,{keyClass:t.keyClass,valueClass:t.valueClass}))))(h,{keyClass:v,valueClass:b}),N=i.curKey,$=h[N],C=\"boolean\"==typeof $||\"number\"==typeof $?$:$?$ instanceof Array?`[${$.join(\", \")}]`:$:\"\",M=i.elementId;return[e(\".map-editor\",e(\".input-field\",{className:t,style:\"min-height: 1.5em;\"},[r?e(\"i.material-icons.prefix\",r):\"\",e(k,{label:p,isMandatory:d,isActive:x.length>0}),e(ee,{id:M,items:x,mode:U.LINKS,header:s})])),o?void 0:[e(ce,{label:m,iconName:c,className:\"col s5\",initialValue:N,onchange:e=>{i.curKey=e,i.id&&(delete h[i.id],h[e]=$,i.id=e),w()}}),\"string\"==typeof C?e(se,{label:u,initialValue:C,className:\"col s7\",onchange:e=>{const t=(i=y,f.indexOf(a=e)>=0||!(i.indexOf(a)>=0)&&void 0);var a,i;const l=void 0===t&&/^\\s*\\d+\\s*$/i.test(e)?+e:void 0;h[N]=\"boolean\"==typeof t?t:\"number\"==typeof l?l:((e,t=!1)=>{if(t)return e;if(!e)return;const a=/\\s*\\[(.*)\\]\\s*/gi.exec(e);return a&&2===a.length?a[1].split(\",\").map(e=>e.trim()).map(e=>/^\\d+$/g.test(e)?+e:e):void 0})(e,n)||e,w()}}):\"number\"==typeof C?e(pe,{label:u,initialValue:C,className:\"col s7\",onchange:e=>{h[N]=e,w()}}):e(ge,{label:u,checked:C,className:\"input-field col s7\",onchange:e=>{h[N]=e,w()}}),e(\".col.s12.right-align\",[e(R,{iconName:\"add\",onclick:l}),e(R,{iconName:\"delete\",disabled:!N,onclick:()=>{delete h[N],l(),w()}})])]]}}},we=()=>({oncreate:({dom:e,attrs:t})=>{M.Materialbox.init(e,t)},view:({attrs:t})=>{const{src:a,width:i,height:l}=t;return e(`img.materialboxed[src=${a}]${i?`[width=${i}]`:\"\"}${l?`[height=${l}]`:\"\"}`,t)}}),xe=()=>({oncreate:({dom:e,attrs:{options:t,onCreate:a}})=>{const i=M.Modal.init(e,t);a&&a(i)},view:({attrs:{id:t,title:a,description:i,fixedFooter:l,bottomSheet:o,buttons:n,richContent:s}})=>e(`.modal${l?\".modal-fixed-footer\":\"\"}${o?\".bottom-sheet\":\"\"}[id=${t}]`,[e(\".modal-content\",[e(\"h4\",a),s&&\"string\"==typeof i?e.trust(i||\"\"):\"string\"==typeof i?e(\"p\",i):i]),n?e(\".modal-footer\",n.map(t=>e(R,y({},t,{className:\"modal-close\"})))):void 0])}),ke=()=>({view:({attrs:{title:t,href:a,active:i,disabled:l}})=>e(\"li\",{className:i?\"active\":l?\"disabled\":\"waves-effect\"},\"number\"==typeof t?e(e.route.Link,{href:a},t):t)}),Ne=()=>{const t={pagIndex:0};return{view:({attrs:{items:a,curPage:i=1,size:l=Math.min(9,a.length)}})=>{const{pagIndex:o}=t,n=o*l,s=n+l,r=o>0,c=s<a.length,d=[{title:e(\"a\",{onclick:()=>r&&t.pagIndex--},e(\"i.material-icons\",\"chevron_left\")),disabled:!r},...a.filter((e,t)=>n<=t&&t<s),{title:e(\"a\",{onclick:()=>c&&t.pagIndex++},e(\"i.material-icons\",\"chevron_right\")),disabled:!c}];return e(\"ul.pagination\",d.map((t,a)=>e(ke,y({title:n+a},t,{active:n+a===i}))))}}},$e=()=>({oncreate:({dom:e,attrs:t})=>{M.Parallax.init(e,t)},view:({attrs:{src:t}})=>t?e(\".parallax-container\",e(\".parallax\",e(`img[src=${t}]`))):void 0}),Ce=[\"label\",\"helperText\",\"initialValue\",\"newRow\",\"className\",\"iconName\",\"isMandatory\",\"onchange\",\"disabled\"],Me=[\"label\",\"helperText\",\"initialValue\",\"newRow\",\"className\",\"iconName\",\"isMandatory\",\"onchange\",\"disabled\"],Ie=()=>{const a={id:t()};return{view:t=>{let{attrs:{label:i,helperText:l,initialValue:o,newRow:n,className:s=\"col s12\",iconName:r,isMandatory:c,onchange:d,disabled:p}}=t,u=f(t.attrs,Ce);const h=a.id,v=m(u),b=d?()=>a.dp&&d(a.dp.date):void 0;return e(\".input-field\"+(n?\".clear\":\"\"),{className:s,onremove:()=>a.dp&&a.dp.destroy()},[r?e(\"i.material-icons.prefix\",r):\"\",e(`input.datepicker[type=text][tabindex=0][id=${h}]${v}${p?\"[disabled]\":\"\"}`,{oncreate:({dom:e})=>{a.dp=M.Datepicker.init(e,y({format:\"yyyy/mm/dd\",showClearBtn:!0,setDefaultDate:!0,defaultDate:o?new Date(o):new Date},u,{onClose:b}))}}),e(k,{label:i,id:h,isMandatory:c,isActive:!!o}),e(N,{helperText:l})])}}},Te=()=>{const a={id:t()};return{view:t=>{let{attrs:{label:i,helperText:l,initialValue:o,newRow:n,className:s=\"col s12\",iconName:r,isMandatory:c,onchange:d,disabled:p}}=t,u=f(t.attrs,Me);const h=a.id,v=m(u),b=n?\".clear\":\"\",g=new Date,w=d?()=>a.tp&&d(a.tp.time||o||`${g.getHours()}:${g.getMinutes()}`):void 0;return e(`.input-field.timepicker${b}`,{className:s,onremove:()=>a.tp&&a.tp.destroy()},[r?e(\"i.material-icons.prefix\",r):\"\",e(`input[type=text][tabindex=0][id=${h}]${v}${p?\"[disabled]\":\"\"}`,{value:o,oncreate:({dom:e})=>{a.tp=M.Timepicker.init(e,y({twelveHour:!1,showClearBtn:!0,defaultTime:o},u,{onCloseEnd:w}))}}),e(k,{label:i,id:h,isMandatory:c,isActive:o}),e(N,{helperText:l})])}}},Ae=()=>({view:({attrs:{id:t,groupId:a,label:i,onchange:l,className:o=\"col s12\",checked:n,disabled:s}})=>e(\"div\",{className:o},e(\"label\",[e(`input[type=radio][tabindex=0][name=${a}]${n?\"[checked=checked]\":\"\"}${s?\"[disabled]\":\"\"}`,{onclick:l?()=>l(t):void 0}),e(\"span\",e.trust(i))]))}),Oe=()=>{const a={groupId:t()};return{oninit:({attrs:{checkedId:e,initialValue:t}})=>{a.oldCheckedId=e,a.checkedId=e||t},view:({attrs:{id:t,checkedId:i,newRow:l,className:o=\"col s12\",label:n=\"\",disabled:s,description:r,options:c,isMandatory:d,checkboxClass:p,onchange:m}})=>{a.oldCheckedId!==i&&(a.oldCheckedId=a.checkedId=i);const{groupId:u,checkedId:h}=a,v=e=>{a.checkedId=e,m&&m(e)};return l&&(o+=\" clear\"),e(\"div\",{id:t,className:o},[e(\"div\",{className:\"input-field options\"},e(k,{id:t,label:n,isMandatory:d})),r?e(\"p.helper-text\",e.trust(r)):\"\",...c.map(t=>e(Ae,y({},t,{onchange:v,groupId:u,disabled:s,className:p,checked:t.id===h})))])}}},Ve=()=>{const t={},a=e=>e.map(e=>e.id).join(\"\"),i=(e,t,a=!1)=>a||(t instanceof Array&&(e||\"number\"==typeof e)?t.indexOf(e)>=0:t===e);return{oninit:({attrs:{checkedId:e,initialValue:i,options:l}})=>{t.ids=a(l);const o=e||i;t.checkedId=e instanceof Array?[...e]:e,t.initialValue=null!=o?o instanceof Array?o.filter(e=>null!=e):[o]:[]},view:({attrs:{id:l,newRow:o,className:n=\"col s12\",checkedId:s,key:r,options:c,multiple:d,label:p,helperText:m,placeholder:h=\"\",isMandatory:v,iconName:b,disabled:g,classes:y=\"\",dropdownOptions:f,onchange:w}})=>{t.checkedId!==s&&(t.initialValue=s?s instanceof Array?s:[s]:void 0);const{initialValue:x}=t,$=w?d?()=>{const e=t.instance&&t.instance.getSelectedValues(),a=e?e.length>0&&u(e[0])?e.map(e=>+e):e.filter(e=>null!==e||void 0!==e):void 0;t.initialValue=a||[],w(t.initialValue)}:e=>{if(e&&e.currentTarget){const a=e.currentTarget,i=u(a.value)?+a.value:a.value;t.initialValue=void 0!==typeof i?[i]:[]}t.initialValue&&w(t.initialValue)}:void 0;o&&(n+=\" clear\");const C=!c.some(e=>i(e.id,x)),I=c.reduce((e,t)=>(t.group&&e.indexOf(t.group)<0&&e.push(t.group),e),[]);return e(\".input-field.select-space\",{className:n,key:r,oncreate:d?({dom:e})=>t.wrapper=e:void 0},[b&&e(\"i.material-icons.prefix\",b),e(\"select\",{id:l,title:p,disabled:g,multiple:d,oncreate:({dom:e})=>{t.instance=M.FormSelect.init(e,{classes:y,dropdownOptions:f})},onupdate:({dom:e})=>{if(d){const e=b?1:0;!t.inputEl&&t.wrapper&&t.wrapper.childNodes&&t.wrapper.childNodes.length>0&&t.wrapper.childNodes[e].childNodes&&t.wrapper.childNodes[e].childNodes[0]&&(t.inputEl=t.wrapper.childNodes[e].childNodes[0]),t.inputEl&&t.inputEl.value&&t.inputEl.value.startsWith(`${h}, `)&&(t.inputEl.value=t.inputEl.value.replace(`${h}, `,\"\"))}const i=a(c);let l=s&&t.checkedId!==s.toString();t.ids!==i&&(t.ids=i,l=!0),(t.checkedId instanceof Array&&s instanceof Array?t.checkedId.join()!==s.join():t.checkedId!==s)&&(t.checkedId=s,l=!0),l&&(t.instance=M.FormSelect.init(e,{classes:y,dropdownOptions:f}))},onchange:$},e(\"option\",{value:\"\",disabled:!0,selected:!!C||void 0},h),0===I.length?c.map((t,a)=>{var l;return e(\"option\",{value:t.id,title:t.title||void 0,disabled:t.disabled?\"true\":void 0,\"data-icon\":t.img||void 0,selected:i(t.id,x,0===a&&C&&!h)},null==(l=t.label)?void 0:l.replace(\"&\",\"&\"))}):I.map(t=>e(\"optgroup\",{label:t},c.filter(e=>e.group===t).map((t,a)=>{var l;return e(\"option\",{value:t.id,title:t.title||void 0,disabled:t.disabled?\"true\":void 0,\"data-icon\":t.img||void 0,selected:i(t.id,x,0===a&&C&&!h)},null==(l=t.label)?void 0:l.replace(\"&\",\"&\"))})))),e(k,{label:p,isMandatory:v}),m&&e(N,{helperText:m})])}}},Se=[\"label\",\"left\",\"right\",\"disabled\",\"newRow\",\"onchange\",\"checked\",\"isMandatory\",\"className\"],Re=()=>{const a={id:t()};return{view:({attrs:t})=>{const i=t.id||a.id,{label:l,left:o,right:n,disabled:s,newRow:r,onchange:c,checked:p,isMandatory:m,className:u=\"col s12\"}=t,h=f(t,Se);return e(\"div\"+(r?\".clear\":\"\"),{className:u},[l?e(k,{label:l||\"\",id:i,isMandatory:m}):void 0,e(\".switch\",h,e(\"label\",[o||\"Off\",e(`input[id=${i}][type=checkbox]${d({disabled:s})}${p?\"[checked]\":\"\"}`,{onclick:c?e=>{e.target&&void 0!==e.target.checked&&c(e.target.checked)}:void 0}),e(\"span.lever\"),n||\"On\"]))])}}},Le=()=>{const t={},a=(e,t)=>t||e.replace(/ /g,\"\").toLowerCase();return{view:({attrs:{tabWidth:i,selectedTabId:l,tabs:o,className:n,style:s,duration:r,onShow:c,swipeable:d,responsiveThreshold:p}})=>{const m=o.filter(e=>e.active).shift(),u=l||(m?a(m.title,m.id):\"\");return e(\".row\",[e(\".col.s12\",e(\"ul.tabs\"+(\"fill\"===i?\".tabs-fixed-width\":\"\"),{className:n,style:s,oncreate:({dom:e})=>{t.instance=M.Tabs.init(e,{duration:r,onShow:c,responsiveThreshold:p,swipeable:d})},onupdate:()=>{if(u){const e=document.getElementById(`tab_${u}`);e&&e.click()}},onremove:()=>t.instance.destroy()},o.map(({className:t,title:l,id:n,active:s,disabled:r,target:c,href:d})=>e(`li.tab${r?\".disabled\":\"\"}${\"fixed\"===i?`.col.s${Math.floor(12/o.length)}`:\"\"}`,{className:t},e(`a[id=tab_${a(l,n)}]${s?\".active\":\"\"}`,{target:c,href:d||`#${a(l,n)}`},l))))),o.filter(({href:e})=>void 0===e).map(({id:t,title:i,vnode:l,contentClass:o})=>e(`.col.s12[id=${a(i,t)}]`,{className:o},l))])}}},je=()=>({view:({attrs:{id:t,title:a,datetime:i,active:l,content:o,iconName:n,dateFormatter:s,timeFormatter:r,onSelect:c}})=>e(`li${l?\".active\":\"\"}${t?`[id=${t}]`:\"\"}`,{onclick:c?()=>c({id:t,title:a,datetime:i,active:l,content:o}):void 0,style:c?\"cursor: pointer;\":void 0},[e(\".mm_time\",{datetime:i},[e(\"span\",s(i)),e(\"span\",r(i))]),n?e(\".mm_icon\",e(\"i.material-icons\",n)):void 0,e(\".mm_label\",[a?\"string\"==typeof a?e(\"h5\",a):a:void 0,o?\"string\"==typeof o?e(\"p\",o):o:void 0])])}),Ee=()=>{const t=e=>`${e.getUTCDate()}/${e.getUTCMonth()+1}/${e.getUTCFullYear()}`,a=e=>`${v(e.getUTCHours())}:${v(e.getUTCMinutes())}`;return{view:({attrs:{items:i,onSelect:l,timeFormatter:o=a,dateFormatter:n=t}})=>e(\"ul.mm_timeline\",i.map(t=>e(je,y({onSelect:l,dateFormatter:n,timeFormatter:o},t))))}},Fe=()=>{const t={isOpen:!1,selectedOptions:[],searchTerm:\"\",options:[],inputRef:null,dropdownRef:null},a=a=>{const i=a.target;t.inputRef&&t.inputRef.contains(i)?(t.isOpen=!t.isOpen,e.redraw()):t.dropdownRef&&!t.dropdownRef.contains(i)&&(t.isOpen=!1,e.redraw())};return{oninit:({attrs:{options:e=[],initialValue:a=[]}})=>{t.options=e,t.selectedOptions=e.filter(e=>a.includes(e.id))},oncreate(){document.addEventListener(\"click\",a)},onremove(){document.removeEventListener(\"click\",a)},view({attrs:{onchange:a,className:i,placeholder:l,label:o,maxHeight:n=\"25rem\"}}){const s=t.options.filter(e=>(e.label||e.id.toString()).toLowerCase().includes((t.searchTerm||\"\").toLowerCase())&&!t.selectedOptions.some(t=>t.id===e.id));return e(\".multi-select-dropdown.input-field\",{className:i},[e(\"label\",{class:l||t.selectedOptions.length>0?\"active\":\"\"},o),e(\".dropdown-trigger\",{oncreate:({dom:e})=>{t.inputRef=e},style:{borderBottom:\"2px solid #d1d5db\",display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",cursor:\"pointer\"}},[e(\".selected-options\",{style:{display:\"flex\",flexWrap:\"wrap\",minHeight:\"50px\",paddingTop:\"12px\"}},0===t.selectedOptions.length?[e(\"span\",l)]:t.selectedOptions.map(i=>e(\".chip\",[i.label,e(\"button\",{onclick:l=>{l.stopPropagation(),(i=>{t.selectedOptions=t.selectedOptions.filter(e=>e.id!==i.id),a&&a(t.selectedOptions.map(e=>e.id)),e.redraw()})(i)},style:{marginLeft:\"0.25rem\",background:\"none\",border:\"none\",cursor:\"pointer\"}},\"×\")]))),e(\"svg.caret\",{class:\"caret\",height:\"24\",viewBox:\"0 0 24 24\",width:\"24\",xmlns:\"http://www.w3.org/2000/svg\"},[e(\"path\",{d:\"M7 10l5 5 5-5z\"}),e(\"path\",{d:\"M0 0h24v24H0z\",fill:\"none\"})])]),t.isOpen&&e(\".dropdown-menu\",{oncreate:({dom:e})=>{t.dropdownRef=e},onremove:()=>{t.dropdownRef=null},style:{position:\"absolute\",width:\"98%\",marginTop:\"0.4rem\"}},[e(\"ul.dropdown-content.select-dropdown\",{style:{maxHeight:n,opacity:1,display:\"block\",width:\"100%\"}},e(\"li\",e(\".search-input\",{style:{padding:\"0 16px\"}},[e(\"input\",{type:\"text\",placeholder:\"Search options...\",value:t.searchTerm||\"\",oninput:a=>{t.searchTerm=a.target.value,e.redraw()},style:{width:\"100%\",outline:\"none\",fontSize:\"0.875rem\"}})])),0===s.length?[e(\"li\",{style:{padding:\"0.5rem\",textAlign:\"center\",color:\"#9ca3af\"}},\"No options found\")]:s.map(i=>e(\"li\",{onclick:()=>i.disabled?void 0:(i=>{t.selectedOptions=t.selectedOptions.some(e=>e.id===i.id)?t.selectedOptions.filter(e=>e.id!==i.id):[...t.selectedOptions,i],t.searchTerm=\"\",a&&a(t.selectedOptions.map(e=>e.id)),e.redraw()})(i),class:i.disabled?\"disabled\":void 0,style:{display:\"flex\",alignItems:\"center\",cursor:\"pointer\",lineHeight:\"22px\",padding:\"14px 16px\"}},[e(\"input\",{type:\"checkbox\",checked:t.selectedOptions.some(e=>e.id===i.id),style:{marginRight:\"0.5rem\"}}),i.label])))])])}}};export{Q as AnchorItem,$ as Autocomplete,O as Button,A as ButtonFactory,F as Carousel,E as CarouselItem,D as Chips,K as CodeBlock,_ as Collapsible,B as CollapsibleItem,ee as Collection,U as CollectionMode,ue as ColorInput,Ie as DatePicker,ae as Dropdown,ve as EmailInput,be as FileInput,R as FlatButton,le as FloatingActionButton,N as HelperText,I as Icon,ge as InputCheckbox,k as Label,V as LargeButton,G as ListItem,x as Mandatory,fe as MapEditor,we as MaterialBox,xe as ModalPanel,pe as NumberInput,ye as Options,Ne as Pagination,$e as Parallax,de as PasswordInput,Ae as RadioButton,Oe as RadioButtons,he as RangeInput,L as RoundIconButton,Fe as SearchSelect,Y as SecondaryContent,Ve as Select,S as SmallButton,j as SubmitButton,Re as Switch,Le as Tabs,se as TextArea,ce as TextInput,Te as TimePicker,Ee as Timeline,me as UrlInput,n as camelToSnake,i as compose,d as disable,u as isNumeric,o as join,l as map,g as move,v as padLeft,h as pipe,p as req,b as swap,s as toAttributeString,m as toAttrs,t as uniqueId,a as uuid4};\n//# sourceMappingURL=index.modern.js.map\n","import e from\"mithril\";import{render as t}from\"slimdown-js\";export{addRule,render}from\"slimdown-js\";const a=()=>\"idxxxxxxxx\".replace(/[x]/g,()=>(16*Math.random()|0).toString(16)),i=[\"min\",\"max\",\"minLength\",\"maxLength\",\"rows\",\"cols\",\"placeholder\",\"autocomplete\",\"pattern\",\"readOnly\",\"step\"],n=e=>i.indexOf(e)>=0,o=({disabled:e})=>e?\"[disabled]\":\"\",r=e=>(e=>{const t=(a=e,e=>void 0!==a[e]);var a;return Object.keys(e).filter(n).filter(t).reduce((t,a)=>{const i=e[a];return t.push(`[${a.toLowerCase()}=${i}]`),t},[]).join(\"\")})(e)+(e=>e.maxLength?`[data-length=${e.maxLength}]`:\"\")(e)+o(e)+(({required:e,isMandatory:t})=>e||t?\"[required][aria-required=true]\":\"\")(e)+(({autofocus:e})=>\"boolean\"==typeof e&&e||e&&e()?\"[autofocus]\":\"\")(e),l=e=>!isNaN(parseFloat(e))&&isFinite(e);function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},s.apply(this,arguments)}function c(e,t){if(null==e)return{};var a,i,n={},o=Object.keys(e);for(i=0;i<o.length;i++)t.indexOf(a=o[i])>=0||(n[a]=e[a]);return n}const d=[\"label\",\"id\",\"isMandatory\",\"isActive\"],p={view:({attrs:t})=>e(\"span.mandatory\",t,\"*\")},u=()=>({view:t=>{let{attrs:{label:a,id:i,isMandatory:n,isActive:o}}=t,r=c(t.attrs,d);return a?e(`label${o?\".active\":\"\"}${i?`[for=${i}]`:\"\"}`,r,[e.trust(a),n?e(p):void 0]):void 0}}),m=()=>({view:({attrs:{helperText:t,dataError:a,dataSuccess:i,className:n}})=>t||a||i?e(\"span.helper-text\",{className:n,dataError:a,dataSuccess:i},t?e.trust(t):\"\"):void 0}),h=()=>{const t={id:a()};return{view:({attrs:a})=>{const i=a.id||t.id,n=r(a),{label:o,helperText:l,initialValue:s,onchange:c,newRow:d,className:p=\"col s12\",style:h,iconName:f,isMandatory:g}=a;return e(\".input-field\"+(d?\".clear\":\"\"),{className:d?p+\" clear\":p,style:h},[f?e(\"i.material-icons.prefix\",f):\"\",e(`input.autocomplete[type=text][tabindex=0]${n}`,{id:i,oncreate:({dom:e})=>{M.Autocomplete.init(e,a)},onchange:c?e=>{e.target&&e.target.value&&c(e.target.value)}:void 0,value:s}),e(u,{label:o,id:i,isMandatory:g,isActive:s}),e(m,{helperText:l})])}}},f=[\"iconName\"],g=()=>({view:t=>{let{attrs:{iconName:a}}=t,i=c(t.attrs,f);return e(\"i.material-icons\",i,a)}}),b=[\"modalId\",\"tooltip\",\"tooltipPostion\",\"iconName\",\"iconClass\",\"label\",\"attr\"],y=(t,a=\"\")=>()=>{const i=`${t}${a}`;return{view:({attrs:t})=>{const{modalId:a,tooltip:n,tooltipPostion:o,iconName:r,iconClass:l,label:s,attr:d}=t,p=c(t,b);return e(`${i}${a?`.modal-trigger[href=#${a}]`:\"\"}${n?`.tooltipped[data-position=${o||\"top\"}][data-tooltip=${n}]`:\"\"}${(e=>e?((...e)=>t=>e.reduceRight((e,t)=>t(e),t))(e=>Array.prototype.join.call(e,\"\"),(e=>t=>Array.prototype.map.call(t,e))(t=>`[${(e=>e.replace(/([A-Z])/g,e=>\"-\"+e.toLowerCase()))(t)}=\"${((e=\"\")=>e.toString().replace(/\"/g,\""\"))(e[t])}\"]`),Object.keys)(e):\"\")(d)}`,p,r?e(g,{iconName:r,className:l||\"left\"}):void 0,s||void 0)}}},v=y(\"a.waves-effect.waves-teal.btn-flat\",\"[type=button]\"),w=y(\"button.btn-floating.btn-large.waves-effect.waves-light\",\"[type=button]\"),x=()=>({oncreate:({attrs:e,dom:t})=>{const{onchange:a,onChipAdd:i,onChipDelete:n}=e,o=M.Chips.getInstance(t.children[0]),r=i?i.bind(o):void 0;e.onChipAdd=function(e,t){a&&a(this.chipsData),r&&r(e,t)};const l=n?n.bind(o):void 0;e.onChipDelete=function(e,t){a&&a(this.chipsData),l&&l(e,t)},M.Chips.init(t.children[0],e)},onupdate:({dom:e,attrs:{data:t}})=>{if(!t||0===t.length)return;const a=M.Chips.getInstance(e.children[0]);t.forEach(e=>a.addChip(e))},view:({attrs:{placeholder:t,required:a,isMandatory:i=a,data:n,className:o=\"col s12\",label:r,helperText:l}})=>e(\".input-field\",{className:o},[e(`.chips.chips-autocomplete${t?\".chips-placeholder\":\"\"}${n?\".chips-initial\":\"\"}`),r?e(u,{label:r,isMandatory:i,className:\"active\"}):void 0,l?e(m,{helperText:l}):void 0])}),k=()=>({view:({attrs:{header:t,body:a,active:i,iconName:n}})=>e(i?\"li.active\":\"li\",[t||n?e(\".collapsible-header\",[n?e(\"i.material-icons\",n):void 0,t?\"string\"==typeof t?e(\"span\",t):t:void 0]):void 0,a?e(\".collapsible-body\",a):void 0])}),N=()=>({oncreate:({dom:e,attrs:t})=>{M.Collapsible.init(e,t)},view:({attrs:t})=>{const{items:a,class:i,className:n,style:o,id:r}=t;return a&&a.length>0?e(\"ul.collapsible\",{class:i||n,style:o,id:r},a.map(t=>e(k,t))):void 0}});var $;!function(e){e[e.BASIC=0]=\"BASIC\",e[e.LINKS=1]=\"LINKS\",e[e.AVATAR=2]=\"AVATAR\"}($||($={}));const I=[\"className\",\"helperText\",\"iconName\",\"id\",\"initialValue\",\"isMandatory\",\"label\",\"onchange\",\"onkeydown\",\"onkeypress\",\"onkeyup\",\"onblur\",\"style\"],O=[\"className\",\"dataError\",\"dataSuccess\",\"helperText\",\"iconName\",\"id\",\"initialValue\",\"isMandatory\",\"label\",\"maxLength\",\"newRow\",\"onchange\",\"onkeydown\",\"onkeypress\",\"onkeyup\",\"onblur\",\"style\",\"validate\"],A=()=>{const t={id:a()};return{view:({attrs:a})=>{const{className:i=\"col s12\",helperText:n,iconName:o,id:l=t.id,initialValue:s,isMandatory:d,label:p,onchange:h,onkeydown:f,onkeypress:g,onkeyup:b,onblur:y,style:v}=a,w=c(a,I),x=r(w);return e(\".input-field\",{className:i,style:v},[o?e(\"i.material-icons.prefix\",o):\"\",e(`textarea.materialize-textarea[tabindex=0][id=${l}]${x}`,{oncreate:({dom:e})=>{M.textareaAutoResize(e),a.maxLength&&M.CharacterCounter.init(e)},onchange:h?e=>{const t=e.target;h(t&&\"string\"==typeof t.value?t.value:\"\")}:void 0,value:s,onkeyup:b?e=>{b(e,e.target.value)}:void 0,onkeydown:f?e=>{f(e,e.target.value)}:void 0,onkeypress:g?e=>{g(e,e.target.value)}:void 0,onblur:y}),e(u,{label:p,id:l,isMandatory:d,isActive:s||a.placeholder}),e(m,{helperText:n})])}}},D=(t,i=\"\")=>()=>{const n={id:a()},o=e=>{const a=e.value;return!a||\"number\"!==t&&\"range\"!==t?a:+a},l=(e,t)=>{e.setCustomValidity(\"boolean\"==typeof t?t?\"\":\"Custom validation failed\":t)};return{view:({attrs:a})=>{const{className:s=\"col s12\",dataError:d,dataSuccess:p,helperText:h,iconName:f,id:g=n.id,initialValue:b,isMandatory:y,label:v,maxLength:w,newRow:x,onchange:k,onkeydown:N,onkeypress:$,onkeyup:I,onblur:A,style:D,validate:S}=a,T=c(a,O),C=r(T);return e(`.input-field${x?\".clear\":\"\"}${i}`,{className:s,style:D},[f?e(\"i.material-icons.prefix\",f):void 0,e(`input.validate[type=${t}][tabindex=0][id=${g}]${C}`,{oncreate:({dom:e})=>{(({autofocus:e})=>!!e&&(\"boolean\"==typeof e?e:e()))(a)&&e.focus(),w&&M.CharacterCounter.init(e),\"range\"===t&&M.Range.init(e)},onkeyup:I?e=>{I(e,o(e.target))}:void 0,onkeydown:N?e=>{N(e,o(e.target))}:void 0,onkeypress:$?e=>{$(e,o(e.target))}:void 0,onblur:A,onupdate:S?({dom:e})=>{const t=e;l(t,S(o(t),t))}:void 0,onchange:e=>{const t=e.target;if(t){const e=o(t);k&&k(e),S&&l(t,S(e,t))}},value:b}),e(u,{label:v,id:g,isMandatory:y,isActive:!(void 0===b&&!a.placeholder&&\"number\"!==t&&\"color\"!==t&&\"range\"!==t)}),e(m,{helperText:h,dataError:d,dataSuccess:p})])}}},S=D(\"text\"),T=D(\"number\"),C=D(\"url\"),V=D(\"color\"),j=D(\"email\"),L=()=>{let t,a=!1;return{view:({attrs:i})=>{const{multiple:n,disabled:o,initialValue:r,placeholder:l,onchange:s,className:c=\"col s12\",accept:d,label:p=\"File\"}=i,u=d?d instanceof Array?d.join(\", \"):d:void 0,m=u?`[accept=${u}]`:\"\",h=n?\"[multiple]\":\"\",f=o?\"[disabled]\":\"\",g=l?`[placeholder=${l}]`:\"\";return e(\".file-field.input-field\",{className:i.class||c},[e(\".btn\",[e(\"span\",p),e(`input[type=file]${h}${f}${m}`,{onchange:s?e=>{const t=e.target;t&&t.files&&s&&(a=!0,s(t.files))}:void 0})]),e(\".file-path-wrapper\",e(`input.file-path.validate${g}[type=text]`,{oncreate:({dom:e})=>{t=e,r&&(t.value=r)}})),(a||r)&&e(\"a.waves-effect.waves-teal.btn-flat\",{style:\"float: right;position: relative;top: -3rem; padding: 0\",onclick:()=>{a=!1,t.value=\"\",s&&s({})}},e(\"i.material-icons\",\"clear\"))])}}},R=()=>({view:({attrs:{className:t=\"col s12\",onchange:a,label:i,checked:n,disabled:o,description:r}})=>e(\"div\",{className:t},e(\"label\",[e(\"input[type=checkbox][tabindex=0]\",{checked:n,disabled:o,onclick:a?e=>{e.target&&void 0!==e.target.checked&&a(e.target.checked)}:void 0}),i?\"string\"==typeof i?e(\"span\",i):i:void 0]),r&&e(m,{className:\"input-checkbox-desc\",helperText:r}))}),P=()=>{const t={},a=e=>t.checkedIds.indexOf(e)>=0;return{oninit:({attrs:{initialValue:e,checkedId:a}})=>{const i=a||e;t.checkedId=a,t.checkedIds=i?i instanceof Array?[...i]:[i]:[]},view:({attrs:{label:i,id:n,options:o,checkedId:r,description:l,className:s=\"col s12\",disabled:c,checkboxClass:d,newRow:p,isMandatory:h,onchange:f}})=>{r&&t.checkedId!==r&&(t.checkedId=r,t.checkedIds=r instanceof Array?r:[r]);const g=f?(e,a)=>{const i=t.checkedIds.filter(t=>t!==e);a&&i.push(e),t.checkedIds=i,f(i)}:void 0;return e(\"div\"+(p?\".clear\":\"\"),{className:s},[e(\"div\",{className:\"input-field options\"},e(u,{id:n,label:i,isMandatory:h})),e(m,{helperText:l}),...o.map(t=>e(R,{disabled:c||t.disabled,label:t.label,onchange:g?e=>g(t.id,e):void 0,className:t.className||d,checked:a(t.id),description:t.description}))])}}},E=()=>({oncreate:({dom:e,attrs:{options:t,onCreate:a}})=>{const i=M.Modal.init(e,t);a&&a(i)},view:({attrs:{id:t,title:a,description:i,fixedFooter:n,bottomSheet:o,buttons:r,richContent:l}})=>e(`.modal${n?\".modal-fixed-footer\":\"\"}${o?\".bottom-sheet\":\"\"}[id=${t}]`,[e(\".modal-content\",[e(\"h4\",a),l&&\"string\"==typeof i?e.trust(i||\"\"):\"string\"==typeof i?e(\"p\",i):i]),r?e(\".modal-footer\",r.map(t=>e(v,s({},t,{className:\"modal-close\"})))):void 0])}),F=()=>({view:({attrs:{title:t,href:a,active:i,disabled:n}})=>e(\"li\",{className:i?\"active\":n?\"disabled\":\"waves-effect\"},\"number\"==typeof t?e(e.route.Link,{href:a},t):t)}),_=()=>{const t={pagIndex:0};return{view:({attrs:{items:a,curPage:i=1,size:n=Math.min(9,a.length)}})=>{const{pagIndex:o}=t,r=o*n,l=r+n,c=o>0,d=l<a.length,p=[{title:e(\"a\",{onclick:()=>c&&t.pagIndex--},e(\"i.material-icons\",\"chevron_left\")),disabled:!c},...a.filter((e,t)=>r<=t&&t<l),{title:e(\"a\",{onclick:()=>d&&t.pagIndex++},e(\"i.material-icons\",\"chevron_right\")),disabled:!d}];return e(\"ul.pagination\",p.map((t,a)=>e(F,s({title:r+a},t,{active:r+a===i}))))}}},H=[\"label\",\"helperText\",\"initialValue\",\"newRow\",\"className\",\"iconName\",\"isMandatory\",\"onchange\",\"disabled\"],U=[\"label\",\"helperText\",\"initialValue\",\"newRow\",\"className\",\"iconName\",\"isMandatory\",\"onchange\",\"disabled\"],q=()=>{const t={id:a()};return{view:a=>{let{attrs:{label:i,helperText:n,initialValue:o,newRow:l,className:d=\"col s12\",iconName:p,isMandatory:h,onchange:f,disabled:g}}=a,b=c(a.attrs,H);const y=t.id,v=r(b),w=f?()=>t.dp&&f(t.dp.date):void 0;return e(\".input-field\"+(l?\".clear\":\"\"),{className:d,onremove:()=>t.dp&&t.dp.destroy()},[p?e(\"i.material-icons.prefix\",p):\"\",e(`input.datepicker[type=text][tabindex=0][id=${y}]${v}${g?\"[disabled]\":\"\"}`,{oncreate:({dom:e})=>{t.dp=M.Datepicker.init(e,s({format:\"yyyy/mm/dd\",showClearBtn:!0,setDefaultDate:!0,defaultDate:o?new Date(o):new Date},b,{onClose:w}))}}),e(u,{label:i,id:y,isMandatory:h,isActive:!!o}),e(m,{helperText:n})])}}},B=()=>{const t={id:a()};return{view:a=>{let{attrs:{label:i,helperText:n,initialValue:o,newRow:l,className:d=\"col s12\",iconName:p,isMandatory:h,onchange:f,disabled:g}}=a,b=c(a.attrs,U);const y=t.id,v=r(b),w=l?\".clear\":\"\",x=new Date,k=f?()=>t.tp&&f(t.tp.time||o||`${x.getHours()}:${x.getMinutes()}`):void 0;return e(`.input-field.timepicker${w}`,{className:d,onremove:()=>t.tp&&t.tp.destroy()},[p?e(\"i.material-icons.prefix\",p):\"\",e(`input[type=text][tabindex=0][id=${y}]${v}${g?\"[disabled]\":\"\"}`,{value:o,oncreate:({dom:e})=>{t.tp=M.Timepicker.init(e,s({twelveHour:!1,showClearBtn:!0,defaultTime:o},b,{onCloseEnd:k}))}}),e(u,{label:i,id:y,isMandatory:h,isActive:o}),e(m,{helperText:n})])}}},J=()=>({view:({attrs:{id:t,groupId:a,label:i,onchange:n,className:o=\"col s12\",checked:r,disabled:l}})=>e(\"div\",{className:o},e(\"label\",[e(`input[type=radio][tabindex=0][name=${a}]${r?\"[checked=checked]\":\"\"}${l?\"[disabled]\":\"\"}`,{onclick:n?()=>n(t):void 0}),e(\"span\",e.trust(i))]))}),z=()=>{const t={groupId:a()};return{oninit:({attrs:{checkedId:e,initialValue:a}})=>{t.oldCheckedId=e,t.checkedId=e||a},view:({attrs:{id:a,checkedId:i,newRow:n,className:o=\"col s12\",label:r=\"\",disabled:l,description:c,options:d,isMandatory:p,checkboxClass:m,onchange:h}})=>{t.oldCheckedId!==i&&(t.oldCheckedId=t.checkedId=i);const{groupId:f,checkedId:g}=t,b=e=>{t.checkedId=e,h&&h(e)};return n&&(o+=\" clear\"),e(\"div\",{id:a,className:o},[e(\"div\",{className:\"input-field options\"},e(u,{id:a,label:r,isMandatory:p})),c?e(\"p.helper-text\",e.trust(c)):\"\",...d.map(t=>e(J,s({},t,{onchange:b,groupId:f,disabled:l,className:m,checked:t.id===g})))])}}},W=()=>{const t={},a=e=>e.map(e=>e.id).join(\"\"),i=(e,t,a=!1)=>a||(t instanceof Array&&(e||\"number\"==typeof e)?t.indexOf(e)>=0:t===e);return{oninit:({attrs:{checkedId:e,initialValue:i,options:n}})=>{t.ids=a(n);const o=e||i;t.checkedId=e instanceof Array?[...e]:e,t.initialValue=null!=o?o instanceof Array?o.filter(e=>null!=e):[o]:[]},view:({attrs:{id:n,newRow:o,className:r=\"col s12\",checkedId:s,key:c,options:d,multiple:p,label:h,helperText:f,placeholder:g=\"\",isMandatory:b,iconName:y,disabled:v,classes:w=\"\",dropdownOptions:x,onchange:k}})=>{t.checkedId!==s&&(t.initialValue=s?s instanceof Array?s:[s]:void 0);const{initialValue:N}=t,$=k?p?()=>{const e=t.instance&&t.instance.getSelectedValues(),a=e?e.length>0&&l(e[0])?e.map(e=>+e):e.filter(e=>null!==e||void 0!==e):void 0;t.initialValue=a||[],k(t.initialValue)}:e=>{if(e&&e.currentTarget){const a=e.currentTarget,i=l(a.value)?+a.value:a.value;t.initialValue=void 0!==typeof i?[i]:[]}t.initialValue&&k(t.initialValue)}:void 0;o&&(r+=\" clear\");const I=!d.some(e=>i(e.id,N)),O=d.reduce((e,t)=>(t.group&&e.indexOf(t.group)<0&&e.push(t.group),e),[]);return e(\".input-field.select-space\",{className:r,key:c,oncreate:p?({dom:e})=>t.wrapper=e:void 0},[y&&e(\"i.material-icons.prefix\",y),e(\"select\",{id:n,title:h,disabled:v,multiple:p,oncreate:({dom:e})=>{t.instance=M.FormSelect.init(e,{classes:w,dropdownOptions:x})},onupdate:({dom:e})=>{if(p){const e=y?1:0;!t.inputEl&&t.wrapper&&t.wrapper.childNodes&&t.wrapper.childNodes.length>0&&t.wrapper.childNodes[e].childNodes&&t.wrapper.childNodes[e].childNodes[0]&&(t.inputEl=t.wrapper.childNodes[e].childNodes[0]),t.inputEl&&t.inputEl.value&&t.inputEl.value.startsWith(`${g}, `)&&(t.inputEl.value=t.inputEl.value.replace(`${g}, `,\"\"))}const i=a(d);let n=s&&t.checkedId!==s.toString();t.ids!==i&&(t.ids=i,n=!0),(t.checkedId instanceof Array&&s instanceof Array?t.checkedId.join()!==s.join():t.checkedId!==s)&&(t.checkedId=s,n=!0),n&&(t.instance=M.FormSelect.init(e,{classes:w,dropdownOptions:x}))},onchange:$},e(\"option\",{value:\"\",disabled:!0,selected:!!I||void 0},g),0===O.length?d.map((t,a)=>{var n;return e(\"option\",{value:t.id,title:t.title||void 0,disabled:t.disabled?\"true\":void 0,\"data-icon\":t.img||void 0,selected:i(t.id,N,0===a&&I&&!g)},null==(n=t.label)?void 0:n.replace(\"&\",\"&\"))}):O.map(t=>e(\"optgroup\",{label:t},d.filter(e=>e.group===t).map((t,a)=>{var n;return e(\"option\",{value:t.id,title:t.title||void 0,disabled:t.disabled?\"true\":void 0,\"data-icon\":t.img||void 0,selected:i(t.id,N,0===a&&I&&!g)},null==(n=t.label)?void 0:n.replace(\"&\",\"&\"))})))),e(u,{label:h,isMandatory:b}),f&&e(m,{helperText:f})])}}},K=[\"label\",\"left\",\"right\",\"disabled\",\"newRow\",\"onchange\",\"checked\",\"isMandatory\",\"className\"],Y=()=>{const t={id:a()};return{view:({attrs:a})=>{const i=a.id||t.id,{label:n,left:r,right:l,disabled:s,newRow:d,onchange:p,checked:m,isMandatory:h,className:f=\"col s12\"}=a,g=c(a,K);return e(\"div\"+(d?\".clear\":\"\"),{className:f},[n?e(u,{label:n||\"\",id:i,isMandatory:h}):void 0,e(\".switch\",g,e(\"label\",[r||\"Off\",e(`input[id=${i}][type=checkbox]${o({disabled:s})}${m?\"[checked]\":\"\"}`,{onclick:p?e=>{e.target&&void 0!==e.target.checked&&p(e.target.checked)}:void 0}),e(\"span.lever\"),l||\"On\"]))])}}},Z=()=>{const t={},a=(e,t)=>t||e.replace(/ /g,\"\").toLowerCase();return{view:({attrs:{tabWidth:i,selectedTabId:n,tabs:o,className:r,style:l,duration:s,onShow:c,swipeable:d,responsiveThreshold:p}})=>{const u=o.filter(e=>e.active).shift(),m=n||(u?a(u.title,u.id):\"\");return e(\".row\",[e(\".col.s12\",e(\"ul.tabs\"+(\"fill\"===i?\".tabs-fixed-width\":\"\"),{className:r,style:l,oncreate:({dom:e})=>{t.instance=M.Tabs.init(e,{duration:s,onShow:c,responsiveThreshold:p,swipeable:d})},onupdate:()=>{if(m){const e=document.getElementById(`tab_${m}`);e&&e.click()}},onremove:()=>t.instance.destroy()},o.map(({className:t,title:n,id:r,active:l,disabled:s,target:c,href:d})=>e(`li.tab${s?\".disabled\":\"\"}${\"fixed\"===i?`.col.s${Math.floor(12/o.length)}`:\"\"}`,{className:t},e(`a[id=tab_${a(n,r)}]${l?\".active\":\"\"}`,{target:c,href:d||`#${a(n,r)}`},n))))),o.filter(({href:e})=>void 0===e).map(({id:t,title:i,vnode:n,contentClass:o})=>e(`.col.s12[id=${a(i,t)}]`,{className:o},n))])}}},G=e=>e.charAt(0).toUpperCase()+e.slice(1),Q=e=>\"string\"==typeof e,X=(e,t=2,a=\"0\")=>e.toString().length>=t?e.toString():X(a+e,t,a),ee=e=>e?`${X(e.getHours())}:${X(e.getMinutes())}`:\"00:00\",te=(e,t)=>{const a=(t=(t=t.replace(/\\[(\\w+)\\]/g,\".$1\")).replace(/^\\./,\"\")).split(\".\");let i={...e};for(let t=0,n=a.length;t<n;++t){const n=a[t];if(\"object\"==typeof i&&n in i)i=i[n];else{if(!(i instanceof Array))return;{const t=e[n]||n,a=/([A-Z]\\w+)/.exec(n),o=a&&a[0][0].toLowerCase()+a[0].substr(1)||n,r=i.filter(e=>e[o]===t).shift();if(!r)return;i=r}}}return i},ae=e=>e.reduce((e,t)=>t instanceof Array?[...e,...t]:[...e,t],[]),ie=/([^ =><]*)\\s*([=><]*)\\s*(\\S*)/i,ne=/^\\s*!\\s*/,oe=/===?|[^<>=]/i,re=function(e){var t=[].slice.call(arguments,1);return 0===e.length||(e instanceof Array?e:[e]).some(e=>((e,t)=>e.split(\"&\").reduce((e,a)=>{const i=ne.test(a),n=i?a.replace(ne,\"\"):a;return e=e&&t.filter(Boolean).reduce((e,t)=>e||((e,t)=>{if(!t||0===Object.keys(t).length)return!1;const a=ie.exec(e);if(a){const[e,i,n,o]=a,r=te(t,i.trim());if(void 0===r||\"string\"==typeof r&&0===r.length)return!1;if(!n||!o)return!0;{const t=isNaN(+o)?\"true\"===o||\"false\"!==o&&o:+o;switch(n){case\"=\":case\"==\":case\"===\":return r instanceof Array?r.indexOf(t)>=0:r===t;case\"<=\":return r<=t;case\">=\":return r>=t;case\"<\":return r<t;case\">\":return r>t;default:return console.error(`Unrecognized operand (${n}) in expression: ${e}`),!1}}}return!0})(n.trim(),t),!1),i?!e:e},!0))(e,oe.test(e)?[t[0]]:ae(t)))},le=(e,t)=>te(t.filter(Boolean).reduceRight((e,t)=>({...t,...e})),e.trim()),se=(e,t)=>void 0!==le(e,t),ce=/{{\\s*([^\\s\"'`:]*):?([^\\s]*)\\s*}}/g,de=function(e){if(!ce.test(e))return!0;let t;ce.lastIndex=0;let a=!0;do{t=ce.exec(e),t&&(t.index===ce.lastIndex&&ce.lastIndex++,t.forEach((e,t,[,i])=>{a=a&&se(i,[].slice.call(arguments,1))}))}while(a&&null!==t);return a},pe=(e,t)=>{if(void 0===e)return\"\";if(e instanceof Array)return e.map(e=>pe(e,t)).join(\", \");if(!t)return e.toString();if(\"boolean\"==typeof e){const a=t.indexOf(\":\");return e?t.substring(0,a):t.substring(a+1)}switch(t){default:return e.toString();case\"date\":return new Date(e).toLocaleDateString();case\"time\":return new Date(e).toLocaleTimeString();case\"iso\":return new Date(e).toISOString();case\"utc\":return new Date(e).toUTCString()}},ue=function(e){if(!ce.test(e))return e;let t;ce.lastIndex=0;do{t=ce.exec(e),t&&(t.index===ce.lastIndex&&ce.lastIndex++,t.forEach((t,a,[i,n,o])=>{const r=le(n,[].slice.call(arguments,1));!r||r instanceof Array||(e=e.replace(i,pe(r,o)))}))}while(null!==t);return e},me=e=>{if(null===e)return e;if(e instanceof Date)return new Date(e.getTime());if(e instanceof Array){const t=[];return e.forEach(e=>{t.push(e)}),t.map(e=>me(e))}if(\"object\"==typeof e){const t={...e};return Object.keys(t).forEach(e=>{t[e]=me(t[e])}),t}return e},he=e=>{const t=(e,a=\"\")=>{const i=e.filter(e=>\"section\"!==e.type&&\"md\"!==e.type).reduce((e,i)=>{const n=(a?`${a}.`:\"\")+String(i.id),o=i.type||(i.options&&i.options.length>0?\"select\":\"text\");return\"string\"==typeof o?e[n]=i:e={...e,...t(o,n)},e},{});return i},a=t(e),i=(e,t)=>{if(!a.hasOwnProperty(e)||void 0===t)return t;const i=a[e],n=t instanceof Array?t.filter(e=>null!=e):[t];switch(i.type||(i.options?\"options\":\"none\")){default:return t;case\"radio\":case\"select\":case\"options\":const e=\"string\"==typeof i.options?le(i.options,[a]):i.options;return n.map(t=>e.filter(e=>e.id===t).map(e=>e.label||G(e.id)).shift()).filter(e=>void 0!==e)}},n=(e,t=\"\")=>{if(e&&(\"object\"!=typeof e||0!==Object.keys(e).length)){if(e instanceof Array)return e.map(e=>n(e,t));{const a={};return Object.keys(e).forEach(o=>{const r=t?`${t}.${o}`:o,l=e[o];if(\"boolean\"==typeof l)a[o]=l;else if(\"number\"==typeof l||\"string\"==typeof l){const e=i(r,l);e&&(a[o]=e instanceof Array&&1===e.length?e[0]:e)}else if(l instanceof Array)if(\"string\"==typeof l[0]||null===l[0]){const e=i(r,l);e&&(a[o]=e)}else a[o]=n(l,o);else\"object\"==typeof l&&(a[o]=l)}),a}}};return n},fe=(e=\"\")=>e.replace(/\\s|,|\\./g,\"\").toLowerCase(),ge=(e,t,a=1)=>{const i=[];for(let n=e;n<=t;n+=a)i.push(n);return i},be=e=>{\"string\"!=typeof e&&(e=JSON.stringify(e));let t=0;if(0===e.length)return t;for(var a=0;a<e.length;a++)t=(t<<5)-t+e.charCodeAt(a),t&=t;return t},ye=(e,t,a)=>{const i=Object.assign({},t,a);return`${e}?${Object.keys(i).map(e=>`${e}=${i[e]}`).join(\"&\")}`},ve=()=>({view:({attrs:{md:a=\"\",removeParagraphs:i=!1,externalLinks:n=!1,...o}})=>e(\".slimdown-view.markdown\",o,e.trust(t(a,i,n)))}),we=()=>({view:({attrs:{type:t,props:a,label:i=\"\",initialValue:n,inline:o=!1}})=>{const r={className:a.className||\"col s12\"};if(n instanceof Array&&n.length>3)return e(\".readonly\",r,[e(\"label\",i),e(ve,{md:\"\\n- \"+n.join(\"\\n- \")})]);if(\"string\"==typeof n)return e(\".readonly\",r,\"url\"===t?[e(\"label\",`${i.trim()}: `),e(\"a[target=_blank]\",{href:n},n)]:\"color\"===t?[e(\"label\",`${i.trim()}: `),e(\".color\",{style:`height: 1rem; width: 40px; border-radius: 4px; background-color: ${n}`})]:[e(\"label\",i),e(ve,{md:n})]);const l=n instanceof Array?n.join(\", \"):n;return e(\".readonly\",r,[i&&e(\"label\",i),o?e(\"span\",l?`: ${l}`:e.trust(\" \")):e(\"p\",l||e.trust(\" \"))])}}),xe=(i={},n={})=>()=>{const o={key:Date.now()};return{view:({attrs:{i18n:r,field:l,obj:s,autofocus:c,onchange:d,context:p=[],containerId:u,disabled:m,readonly:f}})=>{const{id:g=\"\",type:b,disabled:y=m,readonly:w=f,value:k,required:N,autogenerate:$,show:I,label:O,description:D,i18n:M=r||{},checkAllOptions:E,transform:F,effect:_,onkeyup:H,onkeydown:U,onblur:J}=l;if(I&&!re(I,s,p)||O&&!de(O,s,p)||D&&!de(D,s,p))return;const K=\"string\"==typeof l.options?le(l.options,[s,...p]):l.options,Z=K&&K instanceof Array?K.filter(e=>void 0!==e.id&&(e.label||isNaN(Number(e.id)))&&(!e.show||re(e.show,s,p))).map(e=>e.label?e:{...e,label:G(e.id)}):[],Q=\"boolean\"==typeof m&&m,X=((e,i=!1,n=!1)=>{const{id:o=\"\",label:r,description:l,required:s,multiple:c,className:d,checkboxClass:p,icon:u,iconClass:m,placeholder:h,maxLength:f,minLength:g,max:b,min:y,step:v,dateTimeOutput:w,dateTimeSeconds:x,dateFormat:k,twelveHour:N}=e,$={id:`mui_${String(o)}-${a()}`,label:r};return void 0===r&&o&&($.label=G(String(o))),l&&($.helperText=t(l,!0)),d&&($.className=d),u&&($.iconName=u),m&&($.iconClass=m),p&&($.checkboxClass=p),h&&($.placeholder=h),s&&($.isMandatory=!0),c&&($.multiple=c),n&&($.disabled=!0),i&&($.autofocus=!0),void 0!==f&&($.maxLength=f),void 0!==g&&($.minLength=g),void 0!==b&&($.max=b),void 0!==y&&($.min=y),void 0!==v&&($.step=v),w&&($.dateTimeOutput=w),x&&($.dateTimeSeconds=x),k&&($.dateFormat=k),N&&($.twelveHour=N),$})(l,c,\"boolean\"==typeof y||void 0===y?Q||y:Q||re(y,s,p));O&&(X.label=t(ue(X.label||O,s,p),!0)),D&&(X.description=t(ue(X.description||D,s,p),!0));const te=N?e=>e instanceof Array?e&&e.length>0:void 0!==typeof e:void 0;if(s instanceof Array)return void console.warn(\"Only a repeat list can deal with arrays!\");const ae=function(e){try{return void 0===e||\"undefined\"===e?(delete s[g],d(s),Promise.resolve()):(s[g]=F?F(\"to\",e):e,_?Promise.resolve(_(s,s[g],p)).then(function(e){d(void 0!==e?e:s)}):Promise.resolve(d(s)))}catch(e){return Promise.reject(e)}};if(b instanceof Array)return g?(s.hasOwnProperty(g)||(s[g]={}),e(\".muf-form\",{className:l.className},[e(\".muf-form-header\",e.trust(t(X.label||G(String(g)),!0))),X.description&&e(\"div\",e.trust(t(X.description))),e(\".row\",e(De,{...X,i18n:M,readonly:w,form:b,obj:s[g],context:p instanceof Array?[s,...p]:[s,p],onchange:()=>d&&d(s),containerId:u}))])):void console.warn(\"Missing ID for type \"+JSON.stringify(b));$&&!s[g]&&(s[g]=\"guid\"===$?\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,e=>{const t=16*Math.random()|0;return(\"x\"===e?t:3&t|8).toString(16)}):\"id\"===$?a():Date.now());const ie=s.hasOwnProperty(g)&&void 0!==s[g]?F?F(\"from\",s[g]):s[g]:k;g&&void 0!==k&&void 0!==ie&&(s[g]=F?F(\"to\",ie):ie);const[ne,oe]=E?E.split(\"|\"):[\"\",\"\"];if(w&&b&&[\"md\",\"none\"].indexOf(b)<0){if(n.hasOwnProperty(b))return e(n[b],{iv:ie,field:l,props:X,label:X.label,obj:s,context:p});if(b&&i.hasOwnProperty(b))return e(i[b],{iv:ie,field:l,props:X,label:X.label,onchange:ae,obj:s,context:p});switch(b){case\"time\":{const t=M.dateTimeOptions?{hour:\"2-digit\",minute:\"2-digit\",second:void 0,...M.dateTimeOptions,weekday:void 0,month:void 0,day:void 0,year:void 0}:void 0,a=\"number\"==typeof ie||\"string\"==typeof ie||ie instanceof Date?new Date(ie):void 0,i=a?a.toLocaleTimeString(M.locales,t):\"\";return e(we,{props:X,label:X.label,initialValue:i})}case\"date\":{const t=M.dateTimeOptions?{...M.dateTimeOptions,hour:void 0,hour12:void 0,minute:void 0,second:void 0}:void 0,a=\"number\"==typeof ie||\"string\"==typeof ie||ie instanceof Date?new Date(ie):void 0,i=a?a.toLocaleDateString(M.locales,t):\"\";return e(we,{props:X,label:X.label,initialValue:i})}case\"datetime\":{const t=M.dateTimeOptions?{hour:\"2-digit\",minute:\"2-digit\",month:\"numeric\",day:\"numeric\",...M.dateTimeOptions}:void 0,a=\"number\"==typeof ie||\"string\"==typeof ie||ie instanceof Date?new Date(ie):void 0,i=a?a.toLocaleTimeString(M.locales,t):\"\";return e(we,{props:X,label:X.label,initialValue:i})}case\"switch\":case\"checkbox\":return e(we,{props:X,label:X.label,initialValue:ie?\"✔\":\"✘\",inline:!0});case\"tags\":return e(we,{props:X,label:X.label,initialValue:ie||[]});case\"options\":case\"select\":{const t=void 0!==ie?ie instanceof Array?ie:[ie]:[],a=Z.filter(e=>t.indexOf(e.id)>=0),i=a&&0===a.length?\"?\":1===a.length?a[0].label:a.map(e=>e.label);return e(we,{props:X,label:X.label,initialValue:i})}case\"radio\":{const t=ie,a=Z.filter(e=>e.id===t);return e(we,{props:X,label:X.label,initialValue:a&&a.length?a[0].label:\"?\"})}case\"base64\":{const t=ie;return!(!t||!/data:image/i.test(t))&&e(\"div\",e(\"img.responsive-img\",{src:t,alt:s.title||s.alt||s.name||\"\",style:`max-height: ${l.max||50}px`}))}case\"file\":return e(\"div\",X,(ie instanceof Array?ie:[ie]).map((t=\"\")=>{const a=/data:image|.jpg$|.jpeg$|.png$|.gif$|.svg$|.bmp$|.tif$|.tiff$/i.test(t),i=`${new URL(l.url).origin}${t}`;return e(\"a[target=_blank]\",{href:i},a?e(\"img\",{src:i,alt:i,style:`max-height: ${l.max||50}`}):e(we,{props:X,label:l.placeholder||\"File\",initialValue:t}))}));case\"md\":case\"markdown\":{const a=\"string\"==typeof ie&&ie?t(ie):\"\";return e(we,{props:X,label:X.label,initialValue:a})}default:return e(we,{props:X,type:b,label:X.label,initialValue:ie})}}else{if(b&&i.hasOwnProperty(b))return e(i[b],{iv:ie,field:l,props:X,label:X.label,onchange:ae,obj:s,context:p});switch(b){case\"colour\":case\"color\":{const t=ie;return e(V,{...X,initialValue:t,onchange:ae,onblur:J})}case\"time\":{const{twelveHour:t=!1}=X,a=ie?\"number\"==typeof ie||\"string\"==typeof ie?new Date(ie):ie:new Date,i=ee(a);return s[g]=F?F(\"to\",a):a,e(B,{...X,twelveHour:t,initialValue:i,onchange:e=>{const t=e.split(\":\").map(e=>+e);a.setHours(t[0],t[1]),ae(a)},container:u})}case\"date\":{const{format:t=\"mmmm d, yyyy\"}=X,a=\"number\"==typeof ie||\"string\"==typeof ie?new Date(ie):ie;s[g]=a?F?F(\"to\",a.valueOf()):a.valueOf():a;const{min:i,max:n}=X,o=i?!a||i<a.valueOf()?new Date(i):a:void 0,r=n?!a||n>a.valueOf()?new Date(n):a:void 0;return e(q,{...X,minDate:o,maxDate:r,setDefaultDate:!!a,format:t,initialValue:a,onchange:e=>{ae(new Date(e))},container:u})}case\"datetime\":{const{label:t,className:a=\"col s12\",dateTimeSeconds:i=!1,twelveHour:n=!1,format:o=\"mmmm d, yyyy\",...r}=X,l=\"number\"==typeof ie||\"string\"==typeof ie?new Date(ie):ie,s={initialDateTime:l},c=l||void 0,d=l?ee(l):\"\",{min:p,max:m}=X,h=p?!l||p<l.valueOf()?new Date(p):l:void 0,f=m?!l||m>l.valueOf()?new Date(m):l:void 0,g=X.dateTimeOutput||\"UTC\",b=e=>{s.initialDateTime=e,ae(\"UTC\"===g?e.toUTCString():\"ISO\"===g?e.toISOString():e.valueOf())};return e(\"div\",{className:a},e(\".row\",[e(i?\".col.s6\":\".col.s8\",{style:\"padding: 0\"},e(q,{...r,label:t,minDate:h,maxDate:f,setDefaultDate:!!l,format:o,initialValue:c,container:u,onchange:e=>{const t=new Date(s.initialDateTime);t.setFullYear(e.getFullYear()),t.setMonth(e.getMonth()),t.setDate(e.getDate()),b(t)}})),e(\".col.s4\",{style:\"min-width: 6rem; padding-right: 0; padding-left: 0\"},e(B,{...r,label:\"\",helperText:\"\",twelveHour:n,initialValue:d,container:u,onchange:e=>{const t=e.split(\":\").map(e=>+e),a=s.initialDateTime||new Date((new Date).setSeconds(0,0));a.setHours(t[0],t[1]),b(a)}})),i&&e(T,{style:\"min-width: 4rem; padding-right: 0; padding-left: 0\",className:\"col s2\",min:0,max:59,onchange:e=>{const t=s.initialDateTime||new Date((new Date).setSeconds(0,0));t.setSeconds(e,0),b(t)}})]))}case\"email\":{const t=ie;return e(j,{...X,validate:te,autofocus:c,onchange:ae,initialValue:t,onkeydown:U,onkeyup:H,onblur:J})}case\"number\":{const t=ie;return e(T,{...X,validate:te,autofocus:c,onchange:ae,initialValue:t,onkeydown:U,onkeyup:H,onblur:J})}case\"radio\":{const t=ie;return e(z,{label:\"\",...X,options:Z,checkedId:t,onchange:ae})}case\"checkbox\":{const t=ie;return e(R,{...X,checked:t,onchange:ae})}case\"options\":{const t=ie;return[[e(P,{key:o.key,checkboxClass:\"col s6 m4 l3\",className:\"input-field col s12\",...X,disabled:X.disabled||!Z||0===Z.length,options:Z,checkedId:t,onchange:e=>ae(1===e.length?e[0]:e.filter(e=>null!==e))})],void 0!==E&&e(\".col.s12.option-buttons\",[e(v,{disabled:X.disabled,label:ne,iconName:\"check\",onclick:()=>{o.key=Date.now(),ae(Z.map(e=>e.id))}}),oe&&e(v,{disabled:X.disabled,label:oe,iconName:\"check_box_outline_blank\",onclick:()=>{const e=s[g]||[];e.length=0,o.key=Date.now(),ae(e)}})])]}case\"select\":{const t=ie;return e(W,{placeholder:X.multiple?M.pickOneOrMore||\"Pick one or more\":M.pickOne||\"Pick one\",...X,disabled:X.disabled||!Z||0===Z.length,options:Z,initialValue:t,onchange:e=>ae(1!==e.length||X.multiple?e.filter(e=>null!==e||void 0!==e):e[0])})}case\"markdown\":case\"md\":{const{label:t,className:a=\"col s12\"}=X,i=ue((g?ie:k||t)||\"\",s,p);return e(ve,{md:i,className:a})}case\"section\":return e(\".divider\");case\"switch\":{const t=ie,a=Z&&Z.length>0?Z[0].label:\"\",i=Z&&Z.length>1?Z[1].label:\"\";return e(Y,{...X,left:a,right:i,checked:t,onchange:ae})}case\"tags\":{const t=(ie?ie instanceof Array?ie:[ie]:[]).map(e=>({tag:e})),a=Z&&Z.length>0?{data:Z.reduce((e,t)=>(e[t.id]=null,e),{}),limit:l.maxLength||Infinity,minLength:l.minLength||1}:{},{label:i,isMandatory:n,className:o,helperText:r}=X;return e(x,{className:o,label:i,isMandatory:n,helperText:r,onchange:e=>ae(e.map(e=>e.tag)),placeholder:l.placeholder||\"Add a tag\",secondaryPlaceholder:l.secondaryPlaceholder||\"+tag\",data:t,autocompleteOptions:a,onblur:J})}case\"autocomplete\":{const t=ie,a=Z&&Z.length>0?{data:Z.reduce((e,t)=>(e[t.id]=null,e),{}),limit:l.maxLength||Infinity,minLength:l.minLength||1}:{data:{}},{label:i,isMandatory:n,className:o,helperText:r}=X;return e(h,{initialValue:t,className:o,label:i,isMandatory:n,helperText:r,onchange:ae,onblur:J,placeholder:l.placeholder||\"...\",...a})}case\"textarea\":{const t=ie;return e(A,{...X,validate:te,autofocus:c,onchange:ae,initialValue:t,onkeyup:H,onkeydown:U,onblur:J})}case\"file\":{const t=ie,{url:a,placeholder:i}=l;if(!a)throw Error('Input field \"url\" not defined, which indicates the URL to the upload folder.');const n=Z?Z.map(e=>e.id):void 0,o=t=>{if(!t||t.length<1)return void ae(\"\");const i=new FormData;i.append(\"file\",t[0]),e.request({method:\"POST\",url:a,body:i}).then(e=>ae(e)).catch(console.error)};return e(L,{...X,accept:n,placeholder:i,onchange:o,initialValue:t})}case\"base64\":{const t=ie,a=!(!t||!/data:image/i.test(t)),{placeholder:i}=l,n=Z?Z.map(e=>e.id).join(\",\"):void 0,o=t=>{if(!t||t.length<1)return void ae(\"\");const a=new FileReader;a.onloadend=()=>{\"string\"==typeof a.result&&ae(a.result),e.redraw()},a.readAsDataURL(t[0])};return a?e(\"div\",[e(\"img.responsive-img\",{src:t,alt:s.title||s.alt||s.name||\"\",style:`max-height: ${l.max||50}px`}),e(v,{iconName:\"clear\",onclick:()=>ae(\"\")})]):e(L,{...X,accept:n,placeholder:i,onchange:o,initialValue:t})}case\"url\":{const t=ie;return e(C,{placeholder:\"http(s)://www.example.com\",...X,validate:te,autofocus:c,onchange:ae,initialValue:t,onkeydown:U,onkeyup:H,onblur:J})}case\"text\":{const t=ie;return e(S,{...X,validate:te,autofocus:c,onchange:ae,initialValue:t,onkeydown:U,onkeyup:H,onblur:J})}default:return}}}}},ke=()=>{const t={},a=(e,a)=>{const i=e instanceof Array?e.length:e.hasOwnProperty(a)?e[a].length:0,n=t.onNewItem?t.onNewItem(e,a,i):{};e instanceof Array?e.push(n):e.hasOwnProperty(a)?e[a].push(n):e[a]=[n]};let i;const n=e=>{e.preventDefault()};return{oninit:({attrs:{i18n:e={},field:{id:a=\"\",sortProperty:n,onNewItem:o}}})=>{t.editLabel=e.editRepeat||`Edit ${String(a)}`,t.createLabel=e.createRepeat||`Create new ${String(a)}`,t.onNewItem=o,i=(e=>{if(!e)return(e,t)=>0;const t=\"!\"===e[0],a=t?e.substring(1):e;return t?(e,t)=>e[a]>t[a]?-1:e[a]<t[a]?1:0:(e,t)=>e[a]>t[a]?1:e[a]<t[a]?-1:0})(n)},view:({attrs:{field:o,obj:r,context:l,className:s=(o.className?\".\"+o.className.split(\" \").join(\".\"):\".col.s12\"),section:c,containerId:d,disabled:p=(\"boolean\"==typeof o.disabled?o.disabled:void 0),readonly:u,i18n:m={},onchange:h}})=>{const{filterValue:f}=t,{id:g,label:b,type:y,min:x,max:k,pageSize:N,propertyFilter:$,filterLabel:I,readonly:O=u,repeatItemClass:A=\"\"}=o,D=((e,t)=>e instanceof Array?e:(e.hasOwnProperty(t)||(e[t]=[]),e[t]))(r,g),T=f?fe(f):void 0,M=$&&T&&T.length>2?D.filter(e=>fe(`${e[$]}`).indexOf(T)>=0):D,C=(e=>{const t=window.location.hash.split(\"?\")[1];return t?new URLSearchParams(t).get(e):null})(String(g)),V=C?Math.min(M.length,+C):1,j=N&&M&&(V-1)*N<M.length?V:1,L=N?(e,t)=>(j-1)*N<=t&&t<j*N:()=>!0,R=e.route.get()||location.href.replace(location.origin,\"\").replace(\"/#!\",\"\"),P=N?Math.ceil(M.length/N):0,F=!!(k&&M.length>=k),H=!p&&!O&&(!x||M.length>x),U=R?R.split(\"?\")[0]:\"\",q=(e=>{const t=e?e.split(\"?\")[1]:window.location.search.slice(1),a={};if(t){const e=t.split(\"&\");for(var i=0;i<e.length;i++){const t=e[i].split(\"=\"),n=t[0],o=void 0===t[1]||t[1];if(n.match(/\\[(\\d+)?\\]$/)){const e=a[n.replace(/\\[(\\d+)?\\]/,\"\")]||[];n.match(/\\[\\d+\\]$/)?e[+/\\[(\\d+)\\]/.exec(n)[1]]=o:e.push(o)}else a[n]?\"string\"==typeof a[n]?(a[n]=[a[n]],a[n].push(o)):a[n].push(o):a[n]=o}}return a})(R),B=30+10*Math.floor(Math.log10(M.length)),J=0===P;return[[e(`#${String(g)}.mui-repeat-list${s}`,[e(\".row.mui-repeat-list-controls\",e(\".col.s12\",[e(v,{iconName:p||O||F?\"\":\"add\",iconClass:\"right\",label:b,onclick:()=>{a(r,String(g)),g&&e.route.set(U,Object.assign(q,{[g]:M.length})),h&&h(r)},style:{padding:0},className:\"left\",disabled:p||F,readonly:O}),P>1&&e(\".right\",e(_,{curPage:j,items:ge(1,P).map(e=>({href:ye(U,q,{[g]:e})}))})),(M.length>1||f)&&$&&!p&&e(S,{style:\"margin-top: -6px; margin-bottom: -1rem;\",iconName:\"filter_list\",iconClass:\"small\",placeholder:I,onkeyup:(e,a)=>t.filterValue=a,className:\"right\",disabled:p,readonly:O})])),M&&M.length>0&&\"string\"!=typeof y&&M.sort(i).filter(L).map((a,i)=>e(\".mui-repeat-item\",{key:i,draggable:J,ondragstart:J?e=>((e,t)=>{e.dataTransfer?.setData(\"text/plain\",t.toString())})(e,i):void 0,ondragover:J?n:void 0,ondrop:J?e=>((e,t,a,i,n)=>{const o=parseInt(e.dataTransfer?.getData(\"text\")||\"0\",10),r=[...a[i]],[l]=r.splice(o,1);r.splice(t,0,l),a[i]=r,n&&n(a),e.preventDefault()})(e,i,r,g,h):void 0,style:{display:\"flex\",cursor:J?\"move\":void 0}},[H&&[(!N||N>1)&&e(\"span.mui-show-item-number left\",{style:`flex: 0 0 ${B}px;`},`[${(N?(j-1)*N+i:i)+1}]`)],[e(\".row.repeat-item\",{className:A,key:V+be(a),style:\"flex: 1;\"},[y&&e(De,{form:y,obj:a,i18n:m,context:l instanceof Array?[r,...l]:[r,l],section:c,containerId:d,disabled:p,readonly:O,onchange:()=>h&&h(r)})])],H&&[e(v,{iconName:\"delete\",className:\"mui-delete-item\",iconClass:\"mui-delete-icon\",style:{flex:\"0 0 20px\",padding:0},disabled:p,readonly:O,onclick:()=>{t.curItemIdx=N?(j-1)*N+i:i}})]])),!(p||F||O||!M||0===M.length||1===N)&&e(w,{iconName:\"add\",className:\"row mui-add-new-item btn-small right\",title:b,style:\"padding: 0; margin-top: -10px; margin-right: -25px\",onclick:()=>{a(r,String(g)),e.route.set(U,Object.assign(q,{[g]:M.length})),h&&h(r)}})])],void 0!==t.curItemIdx&&e(E,{id:\"deleteItem\",onCreate:e=>e.open(),options:{onCloseStart:()=>{t.curItemIdx=void 0,e.redraw()}},fixedFooter:!0,title:m.deleteItem||\"Delete item\",description:e(De,{form:y,obj:M[t.curItemIdx],context:l instanceof Array?[r,...l]:[r,l],section:c,containerId:d,readonly:!0,i18n:m}),buttons:[{label:m.disagree||\"Disagree\"},{label:m.agree||\"Agree\",onclick:()=>{void 0!==t.curItemIdx&&(M.splice(t.curItemIdx,1),r instanceof Array?r=[...M]:r[g]=[...M],h&&h(r))}}]})]}}},Ne=()=>{const t={};return{oninit:({attrs:{i18n:e={}}})=>{const{raw:a=\"RAW\",view:i=\"VIEW\"}=e;t.raw=a,t.view=i},view:({attrs:{field:{id:a=\"\",type:i,onSelect:n},obj:o,context:r,containerId:l,disabled:s,readonly:c,i18n:d,onchange:p}})=>{if(o instanceof Array)return;const u=o[a],m=u?JSON.parse(u):void 0,h=m&&m.features||[],f=[],g={title:t.raw,vnode:e(A,{class:\"col s12\",initialValue:m?JSON.stringify(m,null,2):void 0,placeholder:\"Enter GeoJSON\",onchange:e=>o[a]=e})};if(!i||\"string\"==typeof i)return;const b=i,y=b.length>0?b[0].id:void 0,v={title:t.view,vnode:h.length?e(N,{oncreate:({dom:e})=>t.dom=e,onOpenStart:n?e=>{const a=t.dom.children||[];for(let t=0;t<a.length;t++)if(a[t]===e)return void n(t,h[t])}:void 0,className:\"geojson-feature-list\",items:h.map((t,i)=>(t.properties||(t.properties={}),{id:\"erik_\"+i,key:i,header:y&&t.properties[y]||t.geometry.type,body:e(\".row\",e(De,{class:\"col s12\",form:b,obj:t.properties,i18n:d,context:r instanceof Array?[o,...r]:[o,r],containerId:l,disabled:s,readonly:c,onchange:(e,t)=>{t&&(h[i].properties=t),o[a]=JSON.stringify(m,null,2),p&&p(o)}}))}))}):e(\"span\",\"...\")};return f.push(v),f.push(g),e(Z,{tabs:f,tabWidth:\"fill\"})}}},$e={},Ie={},Oe=(e,t,a)=>{$e[e]=t,a&&(Ie[e]=a)},Ae=xe($e,Ie),De=()=>({view:({attrs:{i18n:t,form:a,obj:i,onchange:n,disabled:o,readonly:r,context:l,section:s}})=>{const c=e=>n&&n(((e,t)=>t.filter(e=>e.required&&void 0!==typeof e.id).reduce((t,a)=>t&&!(a.id&&(void 0===e[a.id]||e[a.id]instanceof Array&&0===e[a.id].length||\"string\"==typeof e[a.id]&&0===e[a.id].length)),!0))(e,a),e);return a.filter((e=>{if(!e)return e=>!0;let t=!1;return({type:a,id:i})=>\"section\"===a?(t=i===e,!1):t})(s)).filter(e=>!e.show||re(e.show,i,...l||[])).reduce((a,n)=>(n.type||(n.type=(e=>{const{autogenerate:t,value:a,options:i}=e;return t?\"none\":a?\"string\"==typeof a?\"md\":\"number\"==typeof a?\"number\":\"boolean\"==typeof a?\"checkbox\":\"none\":i&&i.length>0?\"select\":\"none\"})(n)),[...a,void 0===n.repeat||!1===n.repeat?e(Ae,{i18n:t,field:n,obj:i,onchange:c,disabled:o,readonly:r,context:l,section:s,containerId:\"body\"}):e(\"geojson\"===n.repeat?Ne:ke,{obj:i,field:n,onchange:c,context:l,i18n:t,containerId:\"body\",disabled:o,readonly:r})]),[])}});export{xe as FormFieldFactory,De as LayoutForm,we as ReadonlyComponent,ke as RepeatList,ve as SlimdownView,G as capitalizeFirstLetter,me as deepCopy,ae as flatten,pe as formatExpression,te as getPath,Q as isComponentType,he as labelResolver,X as padLeft,ge as range,Oe as registerPlugin,le as resolveExpression,fe as stripSpaces,ee as toHourMin};\n//# sourceMappingURL=index.esm.js.map\n","import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nexport default createBaseFor;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nexport default shortOut;\n","import baseRest from './_baseRest.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nexport default createAssigner;\n","import { I18n } from 'mithril-ui-form';\nimport translate, { Options, Translate } from 'translate.js';\nimport { plural_EN } from 'translate.js/pluralize';\n\nexport type Languages = 'nl' | 'en';\n\nexport const messages = {\n HOME: { TITLE: 'home', ROUTE: '/home' },\n ABOUT: { TITLE: 'About the app', ROUTE: '/about' },\n DEFINE_BOX: { TITLE: 'Morphological box', ROUTE: '/define' },\n SETTINGS: { TITLE: 'Settings', ROUTE: '/settings' },\n CREATE_SCENARIO: { TITLE: 'Create scenario', ROUTE: '/create' },\n SHOW_SCENARIO: { TITLE: 'Show scenarios', ROUTE: '/show' },\n DECISION_SUPPORT: { TITLE: 'Decision support', ROUTE: '/decide' },\n DOWNLOAD: {\n COLLECTION: 'Save collection',\n MODEL: 'Save scenario file',\n },\n UPLOAD: {\n COLLECTION: 'Load collection',\n MODEL: 'Load scenario file',\n },\n CANCEL: 'Cancel',\n DELETE: 'Delete',\n AND: 'and',\n YES: 'Yes',\n NO: 'No',\n OK: 'Ok',\n NAME: 'Name',\n DESCRIPTION: 'Description',\n CATEGORIES: 'Categories',\n DIMENSION: 'Key driver',\n DIMENSION_SELECTED: 'Selected drivers',\n DIMENSIONS: 'Drivers',\n KEY_VALUE: 'Key value',\n CONTEXT: 'Context',\n NONE: 'None',\n LOCATION: 'Location',\n LOCATION_TYPE: 'Location type',\n COORDINATES: 'Coordinates',\n LOCATION_NAME: 'Location name',\n LATITUDE: 'Latitude',\n LONGITUDE: 'Longitude',\n MANUAL: 'Manual mode',\n Type: 'Type',\n PICK_FROM_LIST: 'Pick from list',\n ENTER_KEY_VALUE: 'Enter key value',\n EDIT_COMPONENT: 'Edit component',\n ADD_COMPONENT: 'Add component',\n GENERATE_NARRATIVE: 'Generate',\n CLEAR_NARRATIVE: 'Clear',\n NAME_NARRATIVE: 'Title of current narrative',\n SAVE_NARRATIVE: 'Save',\n SAVED_NARRATIVES: 'Saved scenarios',\n NARRATIVE: 'narrative',\n INCLUDE_NARRATIVE: 'Include scenario',\n NARRATIVE_INCLUDED: 'Scenario is included',\n SELECT_NARRATIVE: 'Select narrative',\n SELECT_SCENARIO: 'Select scenario',\n KEY: 'Key',\n VALUE: 'Value',\n MODEL: 'Model',\n SELECTION: 'Selected value',\n EDITOR_PLACEHOLDER: 'Edit narrative',\n THRESHOLDS: 'Thresholds colors reflecting component options',\n THRESHOLD: 'Threshold value',\n COLOR: 'Color',\n ORDER: 'Order',\n COMBINATIONS: {\n POSSIBLE: 'Combinations are possible',\n IMPOSSIBLE: 'Combinations are impossible',\n IMPROBABLE: 'Combinations are improbable',\n },\n DELETE_ITEM: {\n title: 'Delete {item}',\n description:\n 'Are you certain you want to delete this {item}. There is no turning back?',\n },\n NEW_SCENARIO: 'New scenario',\n NEW_MODEL: {\n btn: 'New collection',\n title: 'Choose a new scenario model and erase everything',\n description:\n 'Are you sure that you want to delete your existing collection and start one of the available new ones? There is no way back.',\n choose: 'Choose your new collection',\n remove: 'Remove all key values',\n },\n DELETE_MODEL: {\n btn: 'Delete scenario',\n title: 'Delete the selected scenario',\n description:\n 'Are you sure that you want to delete your scenario? There is no way back.',\n },\n INCONSISTENCIES: {\n title: 'Edit inconsistencies',\n SELECT_ROW: 'Select row',\n SELECT_COL: 'Select column',\n },\n saveButton: {\n label: 'Save',\n tooltip: 'Save unsaved changes',\n },\n i18n: {\n /** Label for the edit button of the RepeatList */\n editRepeat: 'Edit',\n /** Label for the create button of the RepeatList */\n createRepeat: 'Add',\n /** Label for the delete button of the RepeatList */\n deleteItem: 'Delete',\n /** Label for the agree button of the RepeatList */\n agree: 'Yes',\n /** Label for the disagree button of the RepeatList */\n disagree: 'No',\n /** Pick */\n pick: 'Pick',\n /** Pick one */\n pickOne: 'Pick one',\n /** Pick one or more */\n pickOneOrMore: 'Pick one or more',\n /** Cancel button text */\n cancel: 'Cancel',\n /** Save button text */\n save: 'Save',\n },\n COMP: {\n AVAILABLEBUDGET: 'Budget',\n BEHAVIOURDURINGPREPARATION: 'Behaviour during preparation',\n CAPABILITIES: 'Capability',\n COMPARTMENTSPRESENT: 'Compartments present',\n CRIMINALPHASE: 'Criminal phase',\n DURATION: 'Duration',\n EQUIPMENT: 'Equipment',\n EXISTINGINFRA: 'Existing infra',\n IMPACT: 'Impact',\n INTENT: 'Bystander intent',\n LOCATION: 'Location',\n LOCATION2: 'Location',\n MODUSOPERANDIDURINGEXECUTION: 'Mode of operation',\n MOTIVATION: 'Motivation',\n NARRATIVE: 'Narrative',\n NARRATIVE_PLACEHOLDER:\n 'Describe the context in which the incident took place, such as a description of the (geographic) location, the person or building that must be protected, the way an actor obtains information, at what time did the action take place, under what weather circumstances, how many persons were involved in the action, from which organisation, how did they obtain access, or which means/weapons were employed.',\n OBJECT: 'Object',\n OPENCOMPARTMENTS: 'Open compartment',\n PEOPLEDENSITY: 'Person density',\n PERSONS: 'Person',\n PHYSICALANGLEOFATTACKDURINGEXECUTION: 'Physical angle of attack',\n PHYSICAL_ANGLE: 'Physical angle',\n PRIVACYAWARENESS: 'Privacy awareness',\n RELATIONOWNEROBJECTANDOWNERSECURITYSYSTEM:\n 'Relation owner object and owner security system',\n RESPONSIBILITY: 'Responsibility',\n SCENARIOS: 'Scenario',\n SECURITYAWARENESS: 'Security awareness',\n TARGETTYPE: 'Target type',\n THREATDIRECTION: 'Threat direction',\n ACTOR: 'Actor',\n ACTION: 'Action',\n ACCESS: 'Access',\n MEANS: 'Means',\n TYPEOFENVIRONMENT: 'Environment type',\n TYPEOFOBJECT: 'Type of object',\n WEAPON: 'Weapon',\n WEATHERBEHAVIOUR: 'Weather behaviour',\n WEATHERTYPE: 'Weather condition',\n PI: 'Protected interest (target)',\n MEANSWEAPON: 'Means/weapon',\n MISSIONCONTEXT: 'Mission context',\n ADVERSARY: 'Adversary',\n C2HEADQUARTERS: 'C2-HQ location',\n TARGET: 'Target',\n DELIBERATEACTION: 'Deliberate action',\n MEANS2: 'Means of attack',\n MEANS3: 'Means for action',\n MEANS4: 'Means for access',\n ACCESS2: 'Means of access',\n MEANS2ACCESS: 'Means to access',\n },\n MODEL_NAMES: {\n 0: 'Empty model',\n 1: 'Simple model (in English)',\n },\n MODEL_DESC: {\n 0: 'An empty scenario model.',\n 1: 'A scenario model with a threat and a context category.',\n },\n JSON_NOT_VALID: 'JSON model file not valid! Aborting.',\n NO_NARRATIVE: 'Narrative not generated in 100 tries!',\n SPEC_CATS:\n 'First specify some categories, where each category contains some key drivers.',\n EXPORT2WORD: 'Export to Word',\n HIDE_INCONSISTENT: 'Hide inconsistent combinations',\n GOAL: {\n TITLE: 'Goal',\n DESC: 'ScenarioSpark is a web application that can be used to systematically create and manage a set of scenarios for risk management activities.',\n },\n USAGE: {\n TITLE: 'Usage',\n DESC: 'ScenarioSpark supports the user in creating and compiling a representative set of scenarios that can be used in the various steps of the risk management process.',\n },\n SECURITY: {\n TITLE: 'Security',\n DESC: 'All information used and entered is processed and stored exclusively locally.',\n },\n SUMMARY:\n 'A free tool to support you in creating new scenarios using a morphological box. First, you define the aspects that are of interest in your domain. Next, you specify variations for each aspect. And finally, you either manually create new scenarios, or become inspired by generating possible scenarios automatically.',\n SET_LANGUAGE: 'Set language',\n SCENARIO_LOADED_MSG: 'Scenario successfully loaded',\n COLLECTION_LOADED_MSG: 'The scenario collection is loaded',\n SCENARIO_NOT_LOADED_MSG: 'The scenario is not loaded',\n SCENARIO_CREATED_MSG: 'A new scenario is created',\n COPY_TO_CLIPBOARD: 'Copy table to clipboard',\n GROUP: { SELECTED: 'Selected scenarios', UNSELECTED: 'Unselected scenarios' },\n CLONE_NARRATIVE: 'Clone',\n INCLUDE_DECISION_SUPPORT: 'Activate decision support',\n IS_DECISION_CATEGORY: 'For decision support',\n PROBABILITY: 'Probability of occurence',\n IMPACT: 'Impact',\n RISK: 'Risk',\n RISK_PLACEHOLDER: 'Select probability and impact',\n PROB5: { 0: 'Very low', 1: 'Low', 2: 'Medium', 3: 'High', 4: 'Very high' },\n IMP5: { 0: 'Very low', 1: 'Low', 2: 'Medium', 3: 'High', 4: 'Very high' },\n RISK5: { 0: 'Very low', 1: 'Low', 2: 'Medium', 3: 'High', 4: 'Very high' },\n SUGGESTED_APPROACH: {\n TITLE: 'Suggested approach',\n DESC: 'The suggested approach is a (risk-)weighted combination of the selected counter-measures.',\n },\n TEMPLATE: {\n TITLE: 'Template string for fluid text',\n DESC: 'Write a paragraph where {1} is replaced by the value for key factor 1, etc. Empty lines are converted to paragraphs.',\n },\n};\n\nexport const messagesNL: typeof messages = {\n HOME: { TITLE: 'home', ROUTE: '/home' },\n ABOUT: { TITLE: 'over de app', ROUTE: '/over' },\n DEFINE_BOX: { TITLE: 'Morfologische box', ROUTE: '/definieer' },\n SETTINGS: { TITLE: 'Instellingen', ROUTE: '/instellingen' },\n CREATE_SCENARIO: { TITLE: 'Maak scenario', ROUTE: '/maak' },\n SHOW_SCENARIO: { TITLE: \"Toon scenario's\", ROUTE: '/toon' },\n DECISION_SUPPORT: { TITLE: 'Beslisondersteuning', ROUTE: '/beslis' },\n DOWNLOAD: {\n COLLECTION: 'Bewaar collectie',\n MODEL: 'Bewaar scenario bestand',\n },\n UPLOAD: {\n COLLECTION: 'Lees collectie',\n MODEL: 'Lees scenario bestand',\n },\n CANCEL: 'Afbreken',\n DELETE: 'Verwijderen',\n AND: 'en',\n YES: 'Ja',\n NO: 'Nee',\n OK: 'Ok',\n NAME: 'Naam',\n DESCRIPTION: 'Omschrijving',\n CATEGORIES: 'Categorieën',\n DIMENSION: 'Hoofdfactor',\n DIMENSION_SELECTED: 'Geselecteerde factoren',\n DIMENSIONS: 'Factoren',\n KEY_VALUE: 'Waarde',\n CONTEXT: 'Context',\n NONE: 'Geen',\n LOCATION: 'Locatie',\n LOCATION_TYPE: 'Locatietype',\n COORDINATES: 'Coordinaten',\n LOCATION_NAME: 'Locatienaam',\n LATITUDE: 'Latitude',\n LONGITUDE: 'Longitude',\n MANUAL: 'Manuele mode',\n Type: 'Type',\n PICK_FROM_LIST: 'Kies uit de lijst',\n ENTER_KEY_VALUE: 'Vul een sleutel en waarde in',\n EDIT_COMPONENT: 'Bewerk optie',\n ADD_COMPONENT: 'Nieuwe optie',\n GENERATE_NARRATIVE: 'Genereer',\n CLEAR_NARRATIVE: 'Wis',\n NARRATIVE: 'verhaallijn',\n NAME_NARRATIVE: 'Titel van huidige verhaallijn',\n SAVE_NARRATIVE: 'Bewaar',\n SAVED_NARRATIVES: \"Bewaarde scenario's\",\n INCLUDE_NARRATIVE: 'Selecteer scenario',\n NARRATIVE_INCLUDED: 'Scenario is geselecteerd',\n SELECT_NARRATIVE: 'Selecteer verhaallijn',\n SELECT_SCENARIO: 'Selecteer scenario',\n KEY: 'Sleutel',\n VALUE: 'Waarde',\n MODEL: 'Model',\n SELECTION: 'Geselecteerde waarde',\n EDITOR_PLACEHOLDER: 'Bewerk verhaallijn',\n THRESHOLDS: 'Kleuren voor weergave gebruik van opties',\n THRESHOLD: 'Drempelwaarde',\n COLOR: 'Kleur',\n ORDER: 'Volgorde',\n COMBINATIONS: {\n POSSIBLE: 'Combinaties zijn mogelijk',\n IMPOSSIBLE: 'Combinaties zijn onmogelijk',\n IMPROBABLE: 'Combinaties zijn onwaarschijnlijk',\n },\n DELETE_ITEM: {\n title: 'Verwijder {item}',\n description:\n 'Weet u zeker dat u de {item} wilt verwijderen? Dit kan niet ongedaan gemaakt worden.',\n },\n NEW_SCENARIO: 'Nieuw scenario',\n NEW_MODEL: {\n btn: 'Nieuwe collectie',\n title: 'Kies een nieuw scenario en wis alles',\n description:\n 'Weet u zeker dat u de huidige collectie wilt wissen, en met één van onderstaande modellen wilt verdergaan? Er is geen weg terug.',\n choose: 'Kies uw nieuwe scenario',\n remove: 'Verwijder alle reeds ingevulde waarden',\n },\n DELETE_MODEL: {\n btn: 'Verwijder scenario',\n title: 'Verwijder het geselecteerde scenario',\n description:\n 'Weet u zeker dat u uw scenario wilt verwijderen? Er is geen weg terug.',\n },\n INCONSISTENCIES: {\n title: 'Bewerk inconsistencies',\n SELECT_ROW: 'Selecteer rij',\n SELECT_COL: 'Selecteer kolom',\n },\n saveButton: {\n label: 'Opslaan',\n tooltip: 'Sla aanpassingen op',\n },\n i18n: {\n /** Label for the edit button of the RepeatList */\n editRepeat: 'Bewerk',\n /** Label for the create button of the RepeatList */\n createRepeat: 'Nieuw',\n /** Label for the delete button of the RepeatList */\n deleteItem: 'Verwijder',\n /** Label for the agree button of the RepeatList */\n agree: 'Ja',\n /** Label for the disagree button of the RepeatList */\n disagree: 'Nee',\n /** Pick */\n pick: 'Kies',\n /** Pick one */\n pickOne: 'Kies één',\n /** Pick one or more */\n pickOneOrMore: 'Kies één of meer',\n /** Cancel button text */\n cancel: 'Afbreken',\n /** Save button text */\n save: 'Opslaan',\n },\n COMP: {\n AVAILABLEBUDGET: 'Budget',\n BEHAVIOURDURINGPREPARATION: 'Gedrag tijdens voorbereiding',\n CAPABILITIES: 'Capability',\n COMPARTMENTSPRESENT: 'Aanwezige compartimenten',\n CRIMINALPHASE: 'Criminele fase',\n DURATION: 'Duur',\n EQUIPMENT: 'Materieel',\n EXISTINGINFRA: 'Bestaande infra',\n IMPACT: 'Impact',\n INTENT: 'Intentie publiek',\n LOCATION: 'TBB: locatie',\n LOCATION2: 'Locatie',\n MODUSOPERANDIDURINGEXECUTION: 'Modus operandus',\n MOTIVATION: 'Motivatie',\n NARRATIVE: 'Verhaallijn',\n NARRATIVE_PLACEHOLDER:\n 'Beschrijf de context waarin het incident plaatsvindt, zoals een nadere beschrijving van de (geografische) locatie, de te beschermen persoon of gebouw, de wijze waarop een actor informatie verzamelt, op welk tijdstip vindt de actie plaats, onder welke weersomstandigheden, hoeveel personen zijn er betrokken bij de actie, van welke organisatie, hoe kregen ze toegang, of welke middelen/wapens werden ingezet.',\n OBJECT: 'Object',\n OPENCOMPARTMENTS: 'Open compartiment',\n PEOPLEDENSITY: 'Personendichtheid',\n PERSONS: 'Persoon',\n PHYSICALANGLEOFATTACKDURINGEXECUTION: 'Fysieke aanvalshoek',\n PHYSICAL_ANGLE: 'Fysieke hoek',\n PRIVACYAWARENESS: 'Privacy-bewustzijn',\n RELATIONOWNEROBJECTANDOWNERSECURITYSYSTEM:\n 'Relatie eigenaar object en eigenaar beveiligingssysteem',\n RESPONSIBILITY: 'Verantwoordelijkheid',\n SCENARIOS: 'Scenario',\n SECURITYAWARENESS: 'Beveiligingsbewustzijn',\n TARGETTYPE: 'Doeltype',\n THREATDIRECTION: 'Dreigingsrichting',\n ACTOR: 'Actor',\n ACTION: 'Moedwillige actie',\n ACCESS: 'Wijze van toegang',\n MEANS: 'Middel / wapen',\n TYPEOFENVIRONMENT: 'Omgevingstype',\n TYPEOFOBJECT: 'Objecttype',\n WEAPON: 'Wapen',\n WEATHERBEHAVIOUR: 'Weersgedrag',\n WEATHERTYPE: 'Weersconditie',\n PI: 'TBB: Soort doelwit',\n MEANSWEAPON: 'Middel/wapen',\n MISSIONCONTEXT: 'Missiecontext',\n ADVERSARY: 'Tegenstander',\n C2HEADQUARTERS: 'C2-HQ locatie',\n TARGET: 'Doelwit',\n DELIBERATEACTION: 'Moedwillige actie',\n MEANS2: 'Aanslagmiddel',\n MEANS3: 'Middel tbv actie',\n MEANS4: 'Middel tbv toegang',\n ACCESS2: 'Wijze van binnendringen',\n MEANS2ACCESS: 'Middel om binnen te dringen',\n },\n MODEL_NAMES: {\n 0: 'Leeg model',\n 1: 'Simpel model (in Engels)',\n },\n MODEL_DESC: {\n 0: 'Een leeg scenario model.',\n 1: 'Een scenario model met een dreigings- en contextcategorie.',\n },\n JSON_NOT_VALID: 'JSON bestand niet valide! Het inladen wordt afgebroken.',\n NO_NARRATIVE: 'Er kon geen verhaallijn gegenereerd worden na 100 pogingen!',\n SPEC_CATS:\n 'Definieer eerst 1 of 2 categorieën, met in iedere categorie enkele hoofdfactoren.',\n EXPORT2WORD: 'Exporteer naar Word',\n HIDE_INCONSISTENT: 'Verberg inconsistente combinaties',\n GOAL: {\n TITLE: 'Doel',\n DESC: 'ScenarioSpark is een webapplicatie waarmee systematisch een set scenario’s ten behoeve van risicomanagement- activiteiten kan worden gemaakt en beheerd.',\n },\n USAGE: {\n TITLE: 'Gebruik',\n DESC: 'ScenarioSpark ondersteunt de gebruiker bij het op- en samenstellen van een representatieve set scenario’s die gebruikt kan worden in de diverse stappen van het risicomanagement proces. ',\n },\n SECURITY: {\n TITLE: 'Security',\n DESC: 'Alle gebruikte en ingevoerde informatie wordt uitsluitend lokaal verwerkt en opgeslagen.',\n },\n SUMMARY:\n \"Een gratis hulpmiddel om u te ondersteunen bij het creëren van nieuwe scenario's met behulp van een morfologische doos. Eerst definieert u de aspecten die van belang zijn voor uw domein. Vervolgens specificeert u variaties voor elk aspect. En ten slotte creëer je handmatig nieuwe scenario's, of laat u zich inspireren door mogelijke scenario's te genereren.\",\n SET_LANGUAGE: 'Kies de taal',\n SCENARIO_LOADED_MSG: 'Het scenario is ingeladen',\n COLLECTION_LOADED_MSG: \"De scenario's zijn ingeladen\",\n SCENARIO_NOT_LOADED_MSG: 'Het scenario is niet ingeladen',\n SCENARIO_CREATED_MSG: 'Een nieuw scenario is aangemaakt',\n COPY_TO_CLIPBOARD: 'Kopieer tabel naar het plakbord',\n GROUP: { SELECTED: 'Geselecteerd', UNSELECTED: 'Niet geselecteerd' },\n CLONE_NARRATIVE: 'Kopieer',\n INCLUDE_DECISION_SUPPORT: 'Activeer beslisondersteuning',\n IS_DECISION_CATEGORY: 'Voor beslisondersteuning',\n PROBABILITY: 'Kans van optreden',\n IMPACT: 'Impact',\n RISK: 'Risico',\n RISK_PLACEHOLDER: 'Specificeer kans en impact',\n PROB5: {\n 0: 'Zeer laag',\n 1: 'Laag',\n 2: 'Gemiddeld',\n 3: 'Hoog',\n 4: 'Zeer hoog',\n },\n IMP5: {\n 0: 'Zeer laag',\n 1: 'Laag',\n 2: 'Gemiddeld',\n 3: 'Hoog',\n 4: 'Zeer hoog',\n },\n RISK5: {\n 0: 'Zeer laag',\n 1: 'Laag',\n 2: 'Gemiddeld',\n 3: 'Hoog',\n 4: 'Zeer hoog',\n },\n SUGGESTED_APPROACH: {\n TITLE: 'Aanbevolen aanpak',\n DESC: 'De aanbevolen aanpak is gebaseerd op een risicogewogen combinatie van de gekozen maatregelen.',\n },\n TEMPLATE: {\n TITLE: 'Template om de factoren te vertalen naar een lopende tekst.',\n DESC: 'Schrijf een paragraaf waarbij {1} zal vervangen worden door de waarde van factor 1, etc. Lege regels worden omgezet naar paragrafen.',\n },\n};\n\nconst setGuiLanguage = (language: Languages) => {\n const options = {\n // These are the defaults:\n debug: true, //[Boolean]: Logs missing translations to console and add \"@@\" around output, if `true`.\n array: true, //[Boolean]: Returns translations with placeholder-replacements as Arrays, if `true`.\n resolveAliases: true, //[Boolean]: Parses all translations for aliases and replaces them, if `true`.\n pluralize: plural_EN, //[Function(count)]: Provides a custom pluralization mapping function, should return a string (or number)\n useKeyForMissingTranslation: true, //[Boolean]: If there is no translation found for given key, the key is used as translation, when set to false, it returns undefiend in this case\n };\n return translate(\n language === 'nl' ? messagesNL : messages,\n options\n ) as Translate<typeof messages, Options>;\n};\n\nexport type TextDirection = 'rtl' | 'ltr';\n\nexport type Locale = {\n /** Friendly name */\n name: string;\n /** Fully qualified name, e.g. 'en-UK' */\n fqn: string;\n /** Text direction: Left to right or right to left */\n dir?: TextDirection;\n /** Is the default language */\n default?: boolean;\n};\n\nexport type Locales = Record<Languages, Locale>;\n// export type Locales = {\n// [key: Languages]: Localeg;\n// } & {\n// /** Default URL to load the language files, e.g. '/lang/{locale}.json' */\n// url?: string;\n// };\n\nexport type Listener = (locale: string, dir: TextDirection) => void;\n\nconst onChangeLocale: Listener[] = [];\n\nexport const i18n = {\n defaultLocale: 'en' as Languages,\n currentLocale: 'en' as Languages,\n locales: {} as Locales,\n init,\n addOnChangeListener,\n loadAndSetLocale,\n i18n: {} as I18n,\n // } as {\n // defaultLocale: Languages;\n // currentLocale: Languages;\n // locales: Locales;\n // t: Translate<typeof messages, Options>;\n};\n\nexport let t: Translate<typeof messages, Options>;\n\nasync function init(locales: Locales, selectedLocale: Languages) {\n i18n.locales = locales;\n const defaultLocale = (Object.keys(locales) as Languages[])\n .filter((l) => (locales[l] as Locale).default)\n .shift();\n if (defaultLocale) {\n i18n.defaultLocale = defaultLocale || selectedLocale;\n }\n document.documentElement.setAttribute('lang', selectedLocale);\n await loadAndSetLocale(selectedLocale);\n}\n\nfunction addOnChangeListener(listener: Listener) {\n onChangeLocale.push(listener);\n}\n\nasync function loadAndSetLocale(newLocale: Languages) {\n if (i18n.currentLocale === newLocale) {\n return;\n }\n\n const resolvedLocale = supported(newLocale) ? newLocale : i18n.defaultLocale;\n i18n.currentLocale = resolvedLocale;\n t = setGuiLanguage(newLocale);\n i18n.i18n = {\n editRepeat: t('i18n', 'editRepeat'),\n createRepeat: t('i18n', 'createRepeat'),\n deleteItem: t('i18n', 'deleteItem'),\n agree: t('i18n', 'agree'),\n disagree: t('i18n', 'disagree'),\n pickOne: t('i18n', 'pickOne'),\n pickOneOrMore: t('i18n', 'pickOneOrMore'),\n cancel: t('i18n', 'cancel'),\n save: t('i18n', 'save'),\n } as I18n;\n onChangeLocale.forEach((listener) => listener(i18n.currentLocale, dir()));\n}\n\nfunction supported(locale: Languages) {\n return Object.keys(i18n.locales).indexOf(locale) >= 0;\n}\n\nfunction dir(locale = i18n.currentLocale) {\n return (i18n.locales[locale] as Locale).dir || 'ltr';\n}\n","import { Translate, Options } from 'translate.js';\nimport { messages } from '../services';\nimport { uniqueId } from 'mithril-materialized';\n\nexport type DataModel = {\n version?: number;\n lastUpdate?: number;\n /** Current scenario */\n scenario: Scenario;\n /** List of other possible scenarios, excluding the current scenario */\n scenarios: Scenario[];\n};\n\nexport type OldDataModel = {\n scenarios: {\n current: {\n id: string;\n type: string;\n category: string;\n name: string;\n desc: string;\n categories: {\n [key: string]: string[];\n };\n inconsistencies: Inconsistency[];\n narratives: Array<{\n id: string;\n name: string;\n components: { [key: ID]: ID };\n narrative: string;\n included: boolean;\n }>;\n };\n };\n} & {\n [key: string]: {\n list: Array<{\n id: string;\n name: string;\n type: string;\n desc?: string;\n context?: {\n type: 'LOCATION' | 'LOCATIONTYPE';\n data: {\n COORDINATES?: string;\n NAME?: string;\n [key: string]: string | undefined;\n };\n };\n }>;\n };\n};\n\nexport type InconsistencyType = 'partly' | 'totally';\n\n/** Old inconsistency type */\nexport type Inconsistency = {\n ids: [from: string, to: string];\n type: InconsistencyType;\n};\n\n/**\n * New inconsistency type, where a missing value indicates a combination that\n * is possible, a value of true indicates the combination is not possible, and\n * false indicates it is improbable.\n */\nexport type Inconsistencies = {\n [rowOrColId: string]: { [rowOrColId: string]: boolean };\n};\n\nexport type Item = {\n id: ID;\n label: string;\n /** Description of the item, may use markdown */\n desc?: string;\n};\n\nexport const contextTypeOptions = (\n t: Translate<typeof messages, Options>\n): Array<{ id: ContextType; label: string }> => [\n { id: 'none', label: t('NONE') },\n { id: 'location', label: t('LOCATION') },\n { id: 'locationType', label: t('LOCATION_TYPE') },\n];\n\nexport type ContextType = 'none' | 'location' | 'locationType';\nexport type LocationType = 'name' | 'coords';\nexport type LocationTypeType = 'list' | 'keyValue';\n\nexport type ContextualItem = Item & {\n context?: ContextType;\n /** Location name, e.g. the name of a city or landmark */\n location?: string;\n /** Type of location when the context is location, e.g. name or coordinates */\n locationType?: LocationType;\n /** Type of location when the context is locationType, e.g. pick from a default list or OSM key value */\n locationTypeType?: LocationTypeType;\n /** Location's latitude, WGS84 */\n lat?: number;\n /** Location's longitude, WGS84 */\n lon?: number;\n /** OSM type */\n osmTypeId?: string;\n /** OSM attribute key */\n key?: string;\n /** OSM attribute value */\n value?: string;\n};\n\nexport type Narrative = Item & {\n /** componentID => a component's valueId */\n components: { [key: ID]: ID[] };\n /** Is the narrative included in the final set of narratives or a temporary scenario, just in case */\n included: boolean;\n /** Is the narrative saved in the set of narratives (so we should be able to delete or replace it) */\n saved: boolean;\n /** Risk that the narrative occurs = chance x impact */\n risk?: ID;\n /** Probability that the narrative occurs */\n probability?: ID;\n /** Impact of the narrative */\n impact?: ID;\n};\n\n/** HEX color code */\nexport type Color = string;\n\n/** Threshold value and the corresponding color */\nexport type ThresholdColor = { threshold: number; color: Color };\n\nexport type Scenario = Item & {\n /** Template string to convert the scenario items to a fluid text. */\n template?: string;\n /** If true, do not show inconsistent combinations between components */\n hideInconsistentValues: boolean;\n /** If true, activate the decision support module */\n includeDecisionSupport: boolean;\n /** Combinations of scenario components that should not be used together */\n inconsistencies: Inconsistencies;\n /** Categories of components */\n categories: Category[];\n /** Scenario components, also known as key factors and key values */\n components: ScenarioComponent[];\n /** Stories consisting of scenario components and a narrative */\n narratives: Narrative[];\n /** Color thresholds to indicate how often a scenario component is used */\n thresholdColors: ThresholdColor[];\n // components: ScenarioComponent[];\n};\n\n/** Category of components, e.g. to separate context from narrative */\nexport type Category = Item & {\n /** If true, the category is used for decision support */\n decisionSupport?: boolean;\n componentIds?: ID[];\n};\n\n/** Key factors and their values that make up a narrative */\nexport type ScenarioComponent = Item & {\n /** Optional sort order */\n order?: number;\n /** Manual mode - if so, do not automatically generate a value for it */\n manual?: boolean;\n /** Key factor values */\n values?: ContextualItem[];\n /** Are there any contexts that are relevant, such as a location or mitigation measures */\n contexts?: ContextType[];\n};\n\n/** Default threshold colors */\nexport const thresholdColors = [\n { threshold: 0, color: '#ddeced' },\n { threshold: 1, color: '#FF7800' },\n { threshold: 2, color: '#ffff00' },\n { threshold: 3, color: '#ff0000' },\n];\n\n/**\n * One example model\n * TODO Create several models, e.g. one for security narratives,\n * one for safety regions/L3, one for TBB, etc.\n */\nexport const defaultModel = {\n version: 1,\n lastUpdate: new Date().valueOf(),\n scenarios: [],\n scenario: {\n id: 'demo1',\n label: 'Demo',\n desc: 'Demo scenario',\n includeDecisionSupport: false,\n hideInconsistentValues: true,\n inconsistencies: {} as Inconsistencies,\n categories: [\n {\n id: 'threat',\n label: 'Threat',\n componentIds: [\n 'ThreatDirection',\n 'Impact',\n 'Motivation',\n 'ModusOperandiDuringExecution',\n 'Equipment',\n 'Responsibility',\n ],\n },\n {\n id: 'context',\n label: 'Context',\n componentIds: [\n 'WeatherType',\n 'WeatherBehaviour',\n 'TypeOfObject',\n 'AvailableBudget',\n 'OpenCompartments',\n 'Location',\n ],\n },\n ],\n components: [\n {\n id: 'ThreatDirection',\n label: 'Threat direction',\n values: [\n { id: 'df62efe6', label: 'Hannibal' },\n { id: '70630364', label: 'The Romans' },\n { id: '82d5d4f5', label: 'Herbert Hoover' },\n ],\n },\n {\n id: 'Impact',\n label: 'Impact',\n values: [\n { id: '5c532a23', label: 'Low' },\n { id: '16ad9a77', label: 'Medium' },\n { id: 'b894abb6', label: 'High' },\n ],\n },\n {\n id: 'Motivation',\n label: 'Motivation',\n values: [\n { id: 'f4ab7a7a', label: 'Money' },\n { id: 'ff550f8f', label: 'Justice' },\n { id: '22b4867e', label: 'Revenge' },\n ],\n },\n {\n id: 'ModusOperandiDuringExecution',\n label: 'Modus operandi during execution',\n values: [\n {\n id: '7ed25fa5',\n label: 'Sniper attack',\n type: 'ModusOperandiDuringExecution',\n },\n {\n id: '1f9b68c9',\n label: 'Kidnapping',\n type: 'ModusOperandiDuringExecution',\n },\n {\n id: '5cc5e352',\n label: 'Singing',\n type: 'ModusOperandiDuringExecution',\n },\n ],\n },\n {\n id: 'Equipment',\n label: 'Equipment',\n values: [\n { id: 'b4218a1f', label: 'None' },\n { id: '8f6185f7', label: 'Drone' },\n { id: 'cb02878d', label: 'Bomb' },\n { id: '9d645efb', label: 'Helicopter' },\n { id: '3a4398c7', label: 'Hammer' },\n ],\n },\n {\n id: 'Responsibility',\n label: 'Responsibility',\n values: [\n { id: 'f44d22be', label: 'Private' },\n { id: '20f9a6ed', label: 'Public' },\n ],\n },\n {\n id: 'WeatherType',\n label: 'Weather type',\n values: [\n { id: 'b9fe2b73', label: 'Rainy' },\n { id: '478581c1', label: 'Sunny' },\n { id: 'b855ac10', label: 'Windy' },\n { id: '24c73f36', label: 'Cloudy' },\n ],\n },\n {\n id: 'WeatherBehaviour',\n label: 'Weather behaviour',\n values: [\n { id: '0ff8041e', label: 'Stable' },\n { id: '894a9bcb', label: 'Changing' },\n ],\n },\n {\n id: 'TypeOfObject',\n label: 'Type of object',\n values: [\n { id: '29a303b3', label: 'Church' },\n { id: '2e7df143', label: 'Park' },\n { id: 'e11282fb', label: 'Palace' },\n { id: '9a1b3256', label: 'Airport' },\n ],\n },\n {\n id: 'AvailableBudget',\n label: 'Available budget',\n values: [\n { id: '90e1ba48', label: 'Knowledge' },\n { id: 'f961174c', label: 'Water' },\n ],\n },\n {\n id: 'OpenCompartments',\n label: 'Open compartments',\n values: [\n { id: '01c3940a', label: 'Open' },\n { id: '56b7fa45', label: 'Closed' },\n ],\n },\n {\n id: 'Location',\n label: 'Location',\n values: [\n { id: 'ea57f820', label: 'Vietnam' },\n { id: 'b8bd8bc3', label: 'Washington' },\n { id: '8fb1e1ab', label: 'Buitenpost' },\n ],\n },\n ],\n narratives: [],\n thresholdColors,\n },\n} as DataModel;\n\nexport const newScenario = () => ({\n id: uniqueId(),\n label: 'NEW SCENARIO',\n desc: '',\n includeDecisionSupport: false,\n hideInconsistentValues: false,\n inconsistencies: {} as Inconsistencies,\n categories: [],\n components: [],\n narratives: [],\n thresholdColors,\n});\n\nexport const emptyModel = () =>\n ({\n version: 1,\n lastUpdate: new Date().valueOf(),\n scenarios: [],\n scenario: newScenario(),\n } as DataModel);\n\n/**\n * Set of default models that can be used to create a new scenario\n *\n * When adding a new model, also provide a translation for them:\n * MODEL_NAME, MODEL_DESC\n * where the index of the model should match.\n */\nexport const defaultModels: DataModel[] = [emptyModel(), defaultModel];\n\nexport type ID = string;\n\nexport type User = {\n id: ID;\n name: string;\n phone?: string;\n email?: string;\n url?: string;\n isAuthor?: boolean;\n};\n\nexport type PageInfo = {\n offsetX: number;\n offsetY: number;\n fontHeight: number;\n line: string;\n};\n\nexport type EnrichedPageInfo = PageInfo & {\n style: string;\n indented: boolean;\n join: boolean;\n startParagraph: boolean;\n /** Timestamp of the subsequent content blocks */\n timestamp?: number;\n};\n\nexport type Page = {\n pageNumber: number;\n pageInfo: PageInfo[];\n};\n\nexport type Log = {\n timestamp?: number;\n author?: string;\n grip?: number;\n blocks: EnrichedPageInfo[];\n};\n\nexport type TimelineEventType = {\n /** Number representing a JS date */\n timestamp: number;\n /** Index in the logbook that use this timestamp */\n logIndex: number;\n // kind: 'melding' | 'bob' | 'gms' | 'edit';\n // summary?: string;\n author?: string;\n};\n","export type OsmType = { id?: string; name: string; key: string; value: string };\n\nexport const OsmTypes: OsmType[] = [\n { id: 'airport', name: 'Airport', key: 'aeroway', value: 'aerodrome' },\n { id: 'cafe', name: 'Cafe', key: 'amenity', value: 'bar' },\n { id: 'church', name: 'Church', key: 'building', value: 'church' },\n { id: 'city_square', name: 'City square', key: 'place', value: 'square' },\n {\n id: 'flats',\n name: 'Flats',\n key: '\"building:levels\"',\n value: '\"([6-9]|d{2,})\"',\n },\n { id: 'gas_station', name: 'Gas station', key: 'amenity', value: 'fuel' },\n { id: 'hospital', name: 'Hospital', key: 'amenity', value: 'hospital' },\n { id: 'hotel', name: 'Hotel', key: 'tourism', value: 'hotel' },\n { id: 'palace', name: 'Palace', key: 'castle_type', value: 'palace' },\n { id: 'parking', name: 'Parking', key: 'amenity', value: 'parking' },\n { id: 'restaurant', name: 'Restaurant', key: 'amenity', value: 'restaurant' },\n {\n id: 'shopping_street',\n name: 'Shopping street',\n key: 'highway',\n value: 'pedestrian',\n },\n { id: 'stadspoort', name: 'Stadspoort', key: 'historic', value: 'city_gate' },\n { id: 'statue', name: 'Statue', key: 'memorial', value: 'statue' },\n];\n\n/** List of all the OSM types */\nexport const OsmTypeList = OsmTypes.map(({ id }) => id);\n","// /**\n// * Use IndexedDB for local storage.\n// * Based on https://github.com/DVLP/localStorageDB, but converted to TypeScript and using async instead of callbacks.\n// * @source: https://github.com/DVLP/localStorageDB/blob/master/localdata.js\n// *\n// * Usage example\n// *\n// *\n// ```ts\n// const test = async () => {\n// ldb.set('nameGoesHere', 'value goes here');\n// ldb.set('nameGoesHere2', 'value 2 goes here');\n\n// const asyncValue = await ldb.get('nameGoesHere');\n// console.log('And the async value is', asyncValue);\n// console.log('List of keys', await ldb.list());\n// console.log('All values', await ldb.getAll());\n\n// // Deleting one value\n// await ldb.delete('nameGoesHere');\n// const asyncValue2 = await ldb.get('nameGoesHere');\n// console.log('And the async value after delete is', asyncValue2);\n// console.log('All values', await ldb.getAll());\n\n// // Clear everything\n// console.log('Storage cleared', await ldb.clear());\n// console.log('All values', await ldb.getAll());\n// };\n// test();\n// ```\n// */\n\nconst dbFact = () => {\n {\n const win = typeof window !== 'undefined' ? window : undefined;\n if (!win) {\n throw new Error('indexedDB cannot get window');\n }\n const indexedDB =\n win.indexedDB ||\n (win as any).mozIndexedDB ||\n (win as any).webkitIndexedDB ||\n (win as any).msIndexedDB;\n if (typeof window !== 'undefined' && !indexedDB) {\n throw new Error('indexDB not supported');\n }\n let db: IDBDatabase | null;\n const request = indexedDB.open('ldb', 1);\n request.onsuccess = function () {\n db = this.result;\n };\n request.onerror = (event: Event) => {\n console.error('indexedDB request error');\n console.log(event);\n };\n\n request.onupgradeneeded = function (event: IDBVersionChangeEvent) {\n db = null;\n const store =\n event &&\n event.target &&\n (event.target as any).result.createObjectStore('s', {\n keyPath: 'k',\n });\n\n store.transaction.oncomplete = function (e: Event) {\n db = (e.target as any).db as IDBDatabase;\n };\n };\n\n const localDb = {\n get: (key: string) =>\n new Promise<string>((resolve) => {\n if (!db) {\n setTimeout(async () => resolve(await localDb.get(key)), 50);\n return;\n }\n db.transaction('s').objectStore('s').get(key).onsuccess = function (event) {\n const result =\n ((event.target as any).result && (event.target as any).result['v']) || null;\n resolve(result);\n };\n }),\n set: (key: string, value: string) =>\n new Promise<void>((resolve) => {\n if (!db) {\n setTimeout(async () => resolve(await localDb.set(key, value)), 50);\n return;\n }\n let txn = db.transaction('s', 'readwrite');\n txn.oncomplete = () => resolve();\n txn.objectStore('s').put({\n k: key,\n v: value,\n });\n txn.commit();\n }),\n delete: (key: string) =>\n new Promise<void>((resolve) => {\n if (!db) {\n setTimeout(async () => resolve(await localDb.delete(key)), 50);\n return;\n }\n db.transaction('s', 'readwrite').objectStore('s').delete(key).onsuccess = function () {\n resolve();\n };\n }),\n list: () =>\n new Promise<string[]>((resolve) => {\n if (!db) {\n setTimeout(async () => resolve(await localDb.list()), 50);\n return;\n }\n db.transaction('s').objectStore('s').getAllKeys().onsuccess = (event) => {\n const result = (event.target as any).result || null;\n resolve(result);\n };\n }),\n getAll: () =>\n new Promise<Array<{ k: string; v: string }>>((resolve) => {\n if (!db) {\n setTimeout(async () => resolve(await localDb.getAll()), 50);\n return;\n }\n db.transaction('s').objectStore('s').getAll().onsuccess = (event) => {\n const result = ((event.target as any).result as any) || null;\n resolve(result);\n };\n }),\n clear: () =>\n new Promise<void>((resolve) => {\n if (!db) {\n setTimeout(async () => resolve(await localDb.clear()), 50);\n return;\n }\n db.transaction('s', 'readwrite').objectStore('s').clear().onsuccess = () => {\n resolve();\n };\n }),\n };\n return localDb;\n // ldb = localDb;\n }\n};\n\nexport const ldb = dbFact();\n\n// (function () {\n// const win = typeof window !== 'undefined' ? window : undefined;\n// if (!win) {\n// console.error('indexedDB cannot get window');\n// return;\n// }\n// const indexedDB =\n// win.indexedDB ||\n// (win as any).mozIndexedDB ||\n// (win as any).webkitIndexedDB ||\n// (win as any).msIndexedDB;\n// if (typeof window !== 'undefined' && !indexedDB) {\n// console.error('indexDB not supported');\n// return;\n// }\n// let db: IDBDatabase | null;\n// const request = indexedDB.open('ldb', 1);\n// request.onsuccess = function () {\n// db = this.result;\n// };\n// request.onerror = (event: Event) => {\n// console.error('indexedDB request error');\n// console.log(event);\n// };\n\n// request.onupgradeneeded = function (event: IDBVersionChangeEvent) {\n// db = null;\n// const store =\n// event &&\n// event.target &&\n// (event.target as any).result.createObjectStore('s', {\n// keyPath: 'k',\n// });\n\n// store.transaction.oncomplete = function (e: Event) {\n// db = (e.target as any).db as IDBDatabase;\n// };\n// };\n\n// const localDb = {\n// get: (key: string) =>\n// new Promise<string>((resolve) => {\n// if (!db) {\n// setTimeout(async () => resolve(await localDb.get(key)), 50);\n// return;\n// }\n// db.transaction('s').objectStore('s').get(key).onsuccess = function (event) {\n// const result =\n// ((event.target as any).result && (event.target as any).result['v']) || null;\n// resolve(result);\n// };\n// }),\n// set: (key: string, value: string) =>\n// new Promise<void>((resolve) => {\n// if (!db) {\n// setTimeout(async () => resolve(await localDb.set(key, value)), 50);\n// return;\n// }\n// let txn = db.transaction('s', 'readwrite');\n// txn.oncomplete = () => resolve();\n// txn.objectStore('s').put({\n// k: key,\n// v: value,\n// });\n// txn.commit();\n// }),\n// delete: (key: string) =>\n// new Promise<void>((resolve) => {\n// if (!db) {\n// setTimeout(async () => resolve(await localDb.delete(key)), 50);\n// return;\n// }\n// db.transaction('s', 'readwrite').objectStore('s').delete(key).onsuccess = function () {\n// resolve();\n// };\n// }),\n// list: () =>\n// new Promise<string[]>((resolve) => {\n// if (!db) {\n// setTimeout(async () => resolve(await localDb.list()), 50);\n// return;\n// }\n// db.transaction('s').objectStore('s').getAllKeys().onsuccess = (event) => {\n// const result = (event.target as any).result || null;\n// resolve(result);\n// };\n// }),\n// getAll: () =>\n// new Promise<Array<{ k: string; v: string }>>((resolve) => {\n// if (!db) {\n// setTimeout(async () => resolve(await localDb.getAll()), 50);\n// return;\n// }\n// db.transaction('s').objectStore('s').getAll().onsuccess = (event) => {\n// const result = ((event.target as any).result as any) || null;\n// resolve(result);\n// };\n// }),\n// clear: () =>\n// new Promise<void>((resolve) => {\n// if (!db) {\n// setTimeout(async () => resolve(await localDb.clear()), 50);\n// return;\n// }\n// db.transaction('s', 'readwrite').objectStore('s').clear().onsuccess = () => {\n// resolve();\n// };\n// }),\n// };\n// ldb = localDb;\n// })();\n\n// export let ldb: {\n// get: (key: string) => Promise<string>;\n// // get: (key: string, callback: (result: string) => void) => void;\n// set: (key: string, value: string) => Promise<void>;\n// // set: (key: string, value: string, callback?: () => void) => void;\n// delete: (key: string) => Promise<void>;\n// // delete: (key: string, callback: () => void) => void;\n// list: () => Promise<string[]>;\n// // list: (callback: (listOfKeys: string[]) => void) => void;\n// getAll: () => Promise<Array<{ k: string; v: string }>>;\n// // getAll: (callback: (allEntries: Array<{ k: string; v: string }>) => void) => void;\n// clear: () => Promise<void>;\n// // clear: (callback: () => void) => void;\n// };\n","const t={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"},n=new RegExp(`[${Object.keys(t).join(\"\")}]`,\"g\"),e=[[/\\r\\n/g,\"\\n\"],[/\\n(#+)(.*)/g,(t,n,e=\"\")=>{const r=n.length;return`<h${r}>${e.trim()}</h${r}>`}],[/!\\[([^\\[]+)\\]\\((?:javascript:)?([^\\)]+)\\)/g,'<img src=\"$2\" alt=\"$1\">'],[/\\[([^\\[]+)\\]\\((?:javascript:)?([^\\)]+)\\)/g,'<a href=\"$2\">$1</a>'],[/([^\\\\])(\\*\\*|__)(.*?(_|\\*)?)\\2/g,\"$1<strong>$3</strong>\"],[/([^\\\\])(\\*|_)(.*?)\\2/g,\"$1<em>$3</em>\"],[/\\\\_/g,\"_\"],[/\\~\\~(.*?)\\~\\~/g,\"<del>$1</del>\"],[/\\:\\\"(.*?)\\\"\\:/g,\"<q>$1</q>\"],[/\\n\\s*```\\n([^]*?)\\n\\s*```\\s*\\n/g,\"\\n<pre>$1</pre>\"],[/`(.*?)`/g,(e,r)=>{return`<code>${l=r,l.replace(n,n=>t[n])}</code>`;var l}],[/\\n(\\*|\\-|\\+)(.*)/g,(t,n,e=\"\")=>`<ul>\\n\\t<li>${e.trim()}</li>\\n</ul>`],[/\\n[0-9]+\\.(.*)/g,(t,n=\"\")=>`<ol>\\n\\t<li>${n.trim()}</li>\\n</ol>`],[/\\n(>|\\>)(.*)/g,(t,n,e=\"\")=>`\\n<blockquote>${e.trim()}</blockquote>`],[/(\\^)(.*?)\\1/g,\"<sup>$2</sup>\"],[/(\\~)(.*?)\\1/g,\"<sub>$2</sub>\"],[/\\n-{5,}/g,\"\\n<hr />\"],[/( *\\|[^\\n]+\\|\\r?\\n)((?: *\\|:?[ -]+:?)+ *\\|)(\\n(?: *\\|[^\\n]+\\|\\r?\\n?)*)?/g,(t,n,e,r)=>{const l=e.split(\"|\").filter((t,n,e)=>n>0&&n<e.length-1).map(t=>/:-+:/g.test(t)?\"center\":/-+:/g.test(t)?\"right\":/:-+/.test(t)?\"left\":\"\"),g=t=>{const n=l[t];return n?` align=\"${n}\"`:\"\"};return`\\n<table><tbody><tr>${n.split(\"|\").map(t=>t.trim()).filter(t=>t&&t.length).map((t,n)=>`<th${g(n)}>${t}</th>`).join(\"\")}</tr>${r.split(\"\\n\").map(t=>t.trim()).filter(t=>t&&t.length).map(t=>`<tr>${t.split(\"|\").filter((t,n,e)=>n>0&&n<e.length-1).map((t,n)=>`<td${g(n)}>${t.trim()}</td>`).join(\"\")}</tr>`).join(\"\")}</tbody></table>\\n`}],[/\\n([^\\n]+)\\n/g,(t,n)=>{const e=n.trim();return/^<\\/?(ul|ol|li|h|p|bl|table|tr|td)/i.test(e)?`\\n${n}\\n`:`\\n<p>\\n${e}\\n</p>\\n`}],[/\\s?<\\/ul>\\s?<ul>/g,\"\"],[/\\s?<\\/ol>\\s?<ol>/g,\"\"],[/<\\/blockquote>\\n<blockquote>/g,\"<br>\\n\"],[/https?:\\/\\/[^\"']*/g,t=>t.replace(/<\\/?em>/g,\"_\")],[/_/g,\"_\"]],r=(t,n=!1,r=!1)=>(t=`\\n${t}\\n`,e.forEach(([n,e])=>{t=t.replace(n,e)}),t=t.trim(),n&&(t=t.replace(/^<p>([\\s\\S]*)<\\/p>$/,\"$1\")),r&&(t=t.replace(/<a href=\"/g,'<a target=\"_blank\" href=\"')),t),l=(t,n)=>{e.push([t,n])};export{l as addRule,r as render};\n//# sourceMappingURL=slimdown.modern.mjs.map\n","import m from 'mithril';\nimport { padLeft, uniqueId } from 'mithril-materialized';\nimport { render } from 'mithril-ui-form';\nimport {\n ContextType,\n DataModel,\n ID,\n Inconsistencies,\n Narrative,\n OldDataModel,\n OsmTypeList,\n Scenario,\n ScenarioComponent,\n thresholdColors,\n} from '../models';\nimport { t } from '../services';\n\nexport const LANGUAGE = 'SG_LANGUAGE';\nexport const SAVED = 'SG_MODEL_SAVED';\n\nconst supRegex = /\\^([^_ ]+)(_|$|\\s)/g;\nconst subRegex = /\\_([^\\^ ]+)(\\^|$|\\s)/g;\n\n/** Expand markdown notation by converting A_1 to subscript and x^2 to superscript. */\nexport const subSup = (s: string) =>\n s\n ? s.replace(supRegex, `<sup>$1</sup>`).replace(subRegex, `<sub>$1</sub>`)\n : s;\n\nexport const capitalize = (s?: string) =>\n s && s.charAt(0).toUpperCase() + s.slice(1);\n\n/**\n * Debounce function wrapper, i.e. between consecutive calls of the wrapped function,\n * there will be at least TIMEOUT milliseconds.\n * @param func Function to execute\n * @param timeout Timeout in milliseconds\n * @returns\n */\nexport const debounce = (func: (...args: any) => void, timeout: number) => {\n let timer: number;\n return (...args: any) => {\n clearTimeout(timer);\n timer = window.setTimeout(() => {\n func(...args);\n }, timeout);\n };\n};\n\nexport const formatDate = (date: number | Date = new Date()) => {\n const d = new Date(date);\n return `${d.getFullYear()}-${padLeft(d.getMonth() + 1)}-${padLeft(\n d.getDate()\n )}`;\n};\n\n/**\n * Get a color that is clearly visible against a background color\n * @param backgroundColor Background color, e.g. #99AABB\n * @returns\n */\nexport const getTextColorFromBackground = (backgroundColor?: string) => {\n if (!backgroundColor) {\n return 'black-text';\n }\n const c = backgroundColor.substring(1); // strip #\n const rgb = parseInt(c, 16); // convert rrggbb to decimal\n const r = (rgb >> 16) & 0xff; // extract red\n const g = (rgb >> 8) & 0xff; // extract green\n const b = (rgb >> 0) & 0xff; // extract blue\n\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b; // per ITU-R BT.709\n\n return luma < 105 ? 'white-text' : 'black-text';\n};\n\ntype Option<T> = {\n id: T;\n label: string;\n title?: string;\n};\n\nexport const getOptionsLabel = <T>(\n options: Array<Option<T>>,\n id?: T | T[],\n showTitle = true\n) => {\n if (!id) {\n return '';\n }\n const print = (o: Option<T>) =>\n showTitle\n ? `${o.label}${o.title ? ` (${o.title.replace(/\\.\\s*$/, '')})` : ''}`\n : o.label;\n if (id instanceof Array) {\n return options\n .filter((o) => id.indexOf(o.id) >= 0)\n .map((o) => print(o))\n .join(', ');\n }\n const found = options.filter((o) => o.id === id).shift();\n return found ? print(found) : '';\n};\n\n/** Join a list of items with a comma, and use AND for the last item in the list. */\nexport const joinListWithAnd = (\n arr: string[] = [],\n and = 'and',\n prefix = '',\n lowercase = true\n) => {\n const terms = arr.filter((term) => term);\n return terms.length === 0\n ? ''\n : prefix +\n (terms.length === 1\n ? terms[0]\n : `${terms\n .slice(0, terms.length - 1)\n .map((t, i) =>\n i === 0 || typeof t === 'undefined' || !lowercase\n ? t\n : t.toLowerCase()\n )\n .join(', ')} ${and} ${\n lowercase\n ? terms[terms.length - 1].toLowerCase()\n : terms[terms.length - 1]\n }`);\n};\n\n/** Convert markdown text to HTML */\nexport const markdown2html = (markdown = '') =>\n m.trust(render(markdown, true, true));\n\nexport const isUnique = <T>(item: T, pos: number, arr: T[]) =>\n arr.indexOf(item) == pos;\n\n/** Generate an array of numbers, from start till end, with optional step size. */\nexport const generateNumbers = (\n start: number,\n end: number,\n step: number = 1\n): number[] => {\n if (start > end) {\n throw new Error(\n 'Start number must be less than or equal to the end number.'\n );\n }\n\n if (step <= 0) {\n throw new Error('Step size must be a positive number.');\n }\n\n const length = Math.floor((end - start) / step) + 1;\n return Array.from({ length }, (_, index) => start + index * step);\n};\n\nexport const getRandomValue = <T>(array: T[]): T | undefined => {\n if (array.length === 0) {\n return undefined;\n }\n\n const randomIndex = Math.floor(Math.random() * array.length);\n return array[randomIndex];\n};\n\n/**\n * Deep copy function for TypeScript.\n * @param T Generic type of target/copied value.\n * @param target Target value to be copied.\n * @see Source project, ts-deepcopy https://github.com/ykdr2017/ts-deepcopy\n * @see Code pen https://codepen.io/erikvullings/pen/ejyBYg\n */\nexport const deepCopy = <T>(target: T): T => {\n if (target === null) {\n return target;\n }\n if (target instanceof Date) {\n return new Date(target.getTime()) as any;\n }\n if (target instanceof Array) {\n const cp = [] as any[];\n (target as any[]).forEach((v) => {\n cp.push(v);\n });\n return cp.map((n: any) => deepCopy<any>(n)) as any;\n }\n if (typeof target === 'object') {\n const cp = { ...(target as { [key: string]: any }) } as {\n [key: string]: any;\n };\n Object.keys(cp).forEach((k) => {\n cp[k] = deepCopy<any>(cp[k]);\n });\n return cp as T;\n }\n return target;\n};\n\n/** Compute a contrasting background color */\nexport const contrastingColor = (backgroundColor: string) => {\n const backgroundRgb = [\n parseInt(backgroundColor[1] + backgroundColor[2], 16),\n parseInt(backgroundColor[3] + backgroundColor[4], 16),\n parseInt(backgroundColor[5] + backgroundColor[6], 16),\n ];\n const luminance =\n 0.2126 * backgroundRgb[0] +\n 0.7152 * backgroundRgb[1] +\n 0.0722 * backgroundRgb[2];\n\n // If the background is dark, use white text.\n if (luminance < 20) {\n return '#ffffff';\n }\n\n // If the background is light, use black text.\n return '#000000';\n};\n\nexport const convertFromOld = (old: OldDataModel): DataModel => {\n return Object.keys(old).reduce(\n (acc, cur) => {\n if (cur === 'scenarios') {\n // Parse scenarios\n const scenario = old[cur].current;\n acc.scenario.id = scenario.id;\n acc.scenario.label = scenario.name;\n acc.scenario.desc = scenario.desc;\n acc.scenario.hideInconsistentValues = true;\n acc.scenario.inconsistencies = scenario.inconsistencies.reduce(\n (acc, cur) => {\n const {\n ids: [from, to],\n type,\n } = cur;\n if (!acc[from]) acc[from] = {};\n if (!acc[to]) acc[to] = {};\n const value = type === 'totally' ? true : false;\n acc[from][to] = value;\n acc[to][from] = value;\n return acc;\n },\n {} as Inconsistencies\n );\n acc.scenario.narratives = scenario.narratives.map(\n ({ id, name, components, narrative, included }) => ({\n id,\n label: name,\n components: Object.keys(components).reduce((acc, key) => {\n acc[key] = [components[key]];\n return acc;\n }, {} as { [key: ID]: ID[] }),\n desc: narrative,\n included,\n saved: true,\n })\n );\n acc.scenario.categories = Object.keys(scenario.categories).map(\n (key) => ({\n id: key,\n label: key,\n componentIds: scenario.categories[key],\n })\n );\n } else {\n // Parse components\n if (!acc.scenario.components) acc.scenario.components = [];\n const componentValues = old[cur].list;\n const contexts = componentValues.reduce((acc, cur) => {\n if (cur.context && cur.context.type) {\n if (cur.context.type === 'LOCATION' && acc.indexOf('location') <= 0)\n acc.push('location');\n else if (\n cur.context.type === 'LOCATIONTYPE' &&\n acc.indexOf('locationType') <= 0\n )\n acc.push('locationType');\n }\n return acc;\n }, [] as ContextType[]);\n acc.scenario.components.push({\n id: cur,\n label: t('COMP', cur.toUpperCase() as any),\n contexts,\n values: componentValues.map(({ name, id, desc, context }) => {\n const newContext = context\n ? context.type === 'LOCATION'\n ? 'location'\n : context.type === 'LOCATIONTYPE'\n ? 'locationType'\n : 'none'\n : undefined;\n const locationType =\n context && context.type === 'LOCATION'\n ? context.data.NAME\n ? 'name'\n : context.data.COORDINATES\n ? 'coords'\n : undefined\n : undefined;\n const [lat, lon] =\n locationType === 'coords' && context!.data.COORDINATES\n ? context!.data.COORDINATES.split(/,/).map((n) => +n)\n : [undefined, undefined];\n const locationTypeType =\n context && context.type === 'LOCATIONTYPE'\n ? OsmTypeList.indexOf(Object.keys(context.data).shift()) >= 0\n ? 'list'\n : 'keyValue'\n : undefined;\n const osmTypeId =\n locationTypeType === 'list'\n ? Object.keys(context!.data).shift()\n : undefined;\n const keyValue =\n locationTypeType === 'keyValue'\n ? Object.entries(context!.data).shift()\n : undefined;\n const [key, value] = keyValue || [undefined, undefined];\n return {\n id,\n label: name,\n desc,\n context: newContext,\n location:\n context && context.type === 'LOCATION'\n ? context.data.NAME\n : undefined,\n locationType,\n locationTypeType,\n lat,\n lon,\n osmTypeId,\n key,\n value,\n };\n }),\n });\n acc.scenario.thresholdColors = thresholdColors;\n if (acc.scenario.categories) {\n let order = 1;\n const compIds = acc.scenario.categories\n .filter((c) => c.componentIds)\n .reduce((acc, cur) => {\n cur.componentIds?.forEach((c) => (acc[c] = order++));\n return acc;\n }, {} as { [key: ID]: number });\n acc.scenario.components = acc.scenario.components.map((c) => ({\n ...c,\n order: compIds[c.id],\n }));\n acc.scenario.components.sort((a, b) =>\n a.order! > b.order! ? 1 : -1\n );\n }\n }\n return acc;\n },\n {\n scenario: {} as Scenario,\n version: 1,\n lastUpdata: Date.now(),\n scenarios: [],\n } as DataModel\n );\n};\n\nexport const modelToSaveName = (\n model: DataModel,\n narrativeName?: string,\n isCollection = true\n) => {\n let name = isCollection\n ? 'spark_collection'\n : (model.scenario?.label || 'spark') + '_model';\n if (narrativeName) {\n name += `_${narrativeName}`;\n }\n return `${name.replace(/\\s/g, '_')}_v${padLeft(\n model.version || 1,\n 3\n )}_${formatDate()}`.toLowerCase();\n};\n\nexport const generateNarrative = (\n scenario: Scenario,\n locked: Record<ID, ID[]> = {}\n) => {\n const { categories, components, inconsistencies } = scenario;\n\n let tries = 0;\n const generate = () => {\n const chosen = { ...locked } as Record<ID, ID[]>;\n for (const category of categories) {\n const catComps = components\n .filter(\n (c) => category.componentIds && category.componentIds.includes(c.id)\n )\n .map((c) => {\n const inc = c.values\n ? c.values.reduce((acc, cur) => {\n return (\n acc +\n (inconsistencies[cur.id]\n ? Object.keys(inconsistencies[cur.id]).length\n : 0)\n );\n }, 0)\n : 0;\n return { ...c, inc };\n })\n .sort((a, b) => (a.inc > b.inc ? -1 : 1));\n const excluded: ID[] = [];\n for (const catComp of catComps) {\n if (chosen.hasOwnProperty(catComp.id)) {\n const chosenValue = chosen[catComp.id];\n if (chosenValue && chosenValue.length) {\n if (chosenValue.some((v) => excluded.includes(v))) return false;\n chosenValue.forEach((v) => {\n inconsistencies[v] &&\n Object.keys(inconsistencies[v]).forEach(\n (id) => inconsistencies[v][id] && excluded.push(id)\n );\n });\n }\n continue;\n }\n const valuesToChooseFrom =\n catComp.values &&\n catComp.values\n .map(({ id }) => id)\n .filter((id) => !excluded.includes(id));\n if (!valuesToChooseFrom || valuesToChooseFrom.length === 0)\n return false;\n const v = getRandomValue(valuesToChooseFrom);\n if (v) {\n inconsistencies[v] &&\n Object.keys(inconsistencies[v]).forEach(\n (id) => inconsistencies[v][id] && excluded.push(id)\n );\n chosen[catComp.id] = [v];\n } else {\n return false;\n }\n }\n }\n return chosen;\n };\n\n do {\n const components = generate();\n if (components) {\n const narrative = {\n id: uniqueId(),\n components,\n included: false,\n } as Narrative;\n return narrative;\n }\n tries++;\n } while (tries < 100);\n return false;\n};\n\nexport const scrollToSection = (id: string, e?: MouseEvent): void => {\n e && e.preventDefault();\n const element = document.getElementById(id);\n\n if (element) {\n element.scrollIntoView({ behavior: 'smooth' });\n } else {\n console.log(`Element with id ${id} not found.`);\n }\n};\n\nexport const scrollToTop = (): void => {\n window.scrollTo({\n top: 0,\n behavior: 'smooth',\n });\n};\n\nexport const validateNarrative = (\n n: Narrative,\n components: ScenarioComponent[]\n) => {\n const { components: narrativeComps, ...attrs } = n;\n const newNarrative = { components: {}, ...attrs } as Narrative;\n components\n .filter((c) => narrativeComps.hasOwnProperty(c.id))\n .forEach((c) => {\n newNarrative.components[c.id] = narrativeComps[c.id].filter((id) =>\n c.values?.find((v) => v.id === id)\n );\n });\n return newNarrative;\n};\n\nexport const narrativesToOptions = (narratives: Narrative[]) =>\n narratives\n .map((n) => ({\n ...n,\n group: n.included ? t('GROUP', 'SELECTED') : t('GROUP', 'UNSELECTED'),\n }))\n .sort((a, b) =>\n a.included && b.included\n ? (a.label || '').localeCompare(b.label)\n : a.included\n ? -1\n : 1\n );\n\nexport const trafficLight = [\n '#2c7bb6',\n '#abd9e9',\n '#ffffbf',\n '#fdae61',\n '#d7191c',\n];\n\nexport const svgToDataURI = (svg: string): string => {\n const svgBase64 = btoa(svg); // Convert SVG string to base64\n\n return `data:image/svg+xml;base64,${svgBase64}`; // Construct data URI\n};\n\nexport const createCircleSVG = (color: string, diameter: number): string => {\n const strokeWidth = diameter * 0.1; // Width of the border as 5% of the diameter\n\n const svg = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"${diameter}\" height=\"${diameter}\">\n <circle cx=\"${diameter / 2}\" cy=\"${diameter / 2}\" r=\"${\n (diameter - strokeWidth) / 2\n }\" fill=\"${color}\" stroke=\"black\" stroke-width=\"${strokeWidth}\" /></svg>`;\n\n return svg;\n};\n\nexport const generateUniqueTitle = (\n title: string,\n otherTitles: string[] = []\n): string => {\n let count = 1;\n\n // Check if the original title ends with a number\n const match = title.match(/^(.*?)(\\d+)$/);\n if (match) {\n // Extract the base title and the number\n title = match[1].trim();\n // Increment the number\n count = parseInt(match[2]) + 1;\n }\n // Construct the new title\n let newTitle = `${title} ${count}`;\n\n // Ensure the new title is unique\n while (otherTitles.includes(newTitle)) {\n count++;\n newTitle = `${title} ${count}`;\n }\n\n return newTitle;\n};\n","import m, { FactoryComponent } from 'mithril';\nimport { meiosisSetup } from 'meiosis-setup';\nimport { i18n, routingSvc, t } from '.';\nimport {\n ContextualItem,\n Dashboards,\n DataModel,\n ID,\n Narrative,\n Scenario,\n defaultModel,\n thresholdColors,\n} from '../models';\nimport { ldb } from '../utils/local-ldb';\nimport {\n MeiosisCell,\n Service,\n Update,\n MeiosisComponent as MComp,\n} from 'meiosis-setup/types';\nimport { LANGUAGE, SAVED, scrollToTop, validateNarrative } from '../utils';\nimport { uniqueId } from 'mithril-materialized';\n\nconst MODEL_KEY = 'SG_MODEL';\n\nexport type State = {\n page: Dashboards;\n model: DataModel;\n title: string;\n language: string;\n activeTooltip?: string;\n /** Current narrative that we are working on */\n curNarrative?: Narrative;\n /** Components that have been excluded from the narrative */\n excludedComps?: Record<ID, boolean>;\n /** Components that have been given a fixed value in the narrative */\n lockedComps?: Record<ID, boolean>;\n};\n\nexport type MeiosisComponent<T = {}> = FactoryComponent<MeiosisCell<State> & T>;\n\nconst setTitle = (title: string) => {\n document.title = `ScenarioSpark: ${title}`;\n};\n\n/* Actions */\n\nexport const setPage = (cell: MeiosisCell<State>, page: Dashboards): void => {\n scrollToTop();\n cell.update({ page });\n};\n\nexport const changePage = (\n cell: MeiosisCell<State>,\n page: Dashboards,\n params?: Record<string, string | number | undefined>,\n query?: Record<string, string | number | undefined>\n) => {\n routingSvc && routingSvc.switchTo(page, params, query);\n cell.update({ page });\n};\n\nconst validateScenario = (scenario?: Scenario) => {\n console.log('Validating scenario');\n if (!scenario) return false;\n if (!scenario.inconsistencies) scenario.inconsistencies = {};\n if (!scenario.categories) scenario.categories = [];\n if (!scenario.components) scenario.components = [];\n if (!scenario.narratives) scenario.narratives = [];\n scenario.narratives = scenario.narratives.map((n) =>\n validateNarrative(n, scenario.components)\n );\n if (typeof scenario.hideInconsistentValues === 'undefined') {\n scenario.hideInconsistentValues = true;\n }\n if (!scenario.thresholdColors) scenario.thresholdColors = thresholdColors;\n scenario.narratives.forEach((c) => {\n if (!c.components) c.components = {};\n if (!c.id) c.id = uniqueId();\n if (!c.label) c.label = 'UNKNOWN';\n });\n scenario.categories.forEach((c) => {\n if (!c.componentIds) c.componentIds = [];\n if (!c.id) c.id = uniqueId();\n if (!c.label) c.label = 'UNKNOWN';\n });\n scenario.components.forEach((c) => {\n if (!c.values) c.values = [];\n if (!c.id) c.id = uniqueId();\n if (!c.label) c.label = 'UNKNOWN';\n });\n return true;\n};\n\nexport const saveModel = async (\n cell: MeiosisCell<State>,\n model: DataModel,\n reset = false\n) => {\n localStorage.setItem(SAVED, 'false');\n model.lastUpdate = Date.now();\n if (!model.scenarios) {\n model.scenarios = [];\n }\n // console.log(JSON.stringify(model, null, 2));\n if (reset) {\n if (!validateScenario(model.scenario)) {\n alert(t('JSON_NOT_VALID'));\n return;\n }\n await ldb.set(MODEL_KEY, JSON.stringify(model));\n cell.update({\n model: () => model,\n activeTooltip: '',\n title: model.scenario.label,\n curNarrative: () => undefined,\n excludedComps: () => ({}),\n lockedComps: () => ({}),\n });\n } else {\n await ldb.set(MODEL_KEY, JSON.stringify(model));\n cell.update({ model: () => model });\n }\n localStorage.setItem(SAVED, 'false');\n};\n\nexport const selectScenarioFromCollection = async (\n cell: MeiosisCell<State>,\n selectedScenarioId: ID\n) => {\n const { model } = cell.getState();\n const { scenario: oldScenario, scenarios = [] } = model;\n const newScenario = scenarios.find((s) => s.id === selectedScenarioId);\n if (oldScenario && newScenario) {\n model.scenarios = [\n oldScenario,\n ...scenarios.filter((s) => s.id !== selectedScenarioId),\n ];\n model.scenario = newScenario;\n cell.update({\n model: () => model,\n activeTooltip: '',\n title: newScenario.label,\n curNarrative: () => undefined,\n excludedComps: () => ({}),\n lockedComps: () => ({}),\n });\n await ldb.set(MODEL_KEY, JSON.stringify(model));\n }\n};\n\nexport const saveNarrative = async (\n cell: MeiosisCell<State>,\n curNarrative: Narrative\n) => {\n const { model } = cell.getState();\n if (!curNarrative.id) curNarrative.id = uniqueId();\n if (!model.scenario.narratives) {\n curNarrative.saved = true;\n model.scenario.narratives = [curNarrative];\n } else {\n if (curNarrative.saved) {\n model.scenario.narratives = model.scenario.narratives.map((n) =>\n n.id !== curNarrative.id ? n : curNarrative\n );\n } else {\n curNarrative.saved = true;\n model.scenario.narratives.push(curNarrative);\n }\n }\n cell.update({ curNarrative: () => curNarrative });\n saveModel(cell, model);\n};\n\nexport const updateNarrative = async (\n cell: MeiosisCell<State>,\n curNarrative: Narrative\n) => {\n if (curNarrative.saved) {\n await saveNarrative(cell, curNarrative);\n }\n cell.update({ curNarrative });\n};\n\nexport const mutateScenarioComponent = (\n cell: MeiosisCell<State>,\n scenarioComponentId: ID,\n item: ContextualItem,\n mutation: 'update' | 'create' | 'delete'\n) => {\n const { model } = cell.state;\n const {\n scenario: { components },\n } = model;\n const comp = components.filter((c) => c.id === scenarioComponentId).shift();\n if (!comp) {\n console.error('Scenario component not found!');\n return;\n }\n const { values = [] } = comp;\n comp.values =\n mutation === 'update'\n ? values.map((c) => (c.id === item.id ? item : c))\n : mutation === 'delete'\n ? values.filter((c) => c.id !== item.id)\n : [...values, item];\n if (mutation === 'delete') {\n model.scenario.narratives = model.scenario.narratives.map((n) =>\n validateNarrative(n, model.scenario.components)\n );\n }\n saveModel(cell, model);\n};\n\n/** Move the position of a scenario component before or after another scenario component */\nexport const moveScenarioComponent = (\n cell: MeiosisCell<State>,\n componentId: ID,\n moveId: ID,\n dropId: ID,\n moveBefore: boolean\n) => {\n const { model } = cell.state;\n const {\n scenario: { components },\n } = model;\n const comp = components.filter((c) => c.id === componentId).shift();\n if (!comp) {\n console.error('Scenario component not found!');\n return;\n }\n const { values = [] } = comp;\n const itemToMove = values.find((item) => item.id === moveId);\n if (!itemToMove) return;\n const itemDropped = values.find((item) => item.id === dropId);\n if (!itemDropped) return;\n\n comp.values = values\n .filter((i) => i.id !== moveId)\n .reduce((acc, cur) => {\n if (cur.id === dropId) {\n if (moveBefore) {\n acc.push(itemToMove);\n acc.push(cur);\n } else {\n acc.push(cur);\n acc.push(itemToMove);\n }\n } else {\n acc.push(cur);\n }\n return acc;\n }, [] as ContextualItem[]);\n saveModel(cell, model);\n};\n\nexport const setLanguage = async (locale = i18n.currentLocale) => {\n localStorage.setItem(LANGUAGE, locale);\n await i18n.loadAndSetLocale(locale);\n};\n/* END OF Actions */\n\nconst initialize = async (update: Update<State>) => {\n const ds = await ldb.get(MODEL_KEY);\n const model = ds ? JSON.parse(ds) : defaultModel;\n const title = model.scenario?.label || '';\n setTitle(title);\n\n update({\n model: () => ({ ...model }),\n title,\n });\n};\n\nconst service: Service<State> = {\n onchange: (state) => state.model?.scenario?.label,\n run: (cell) => {\n const title = cell.state.model?.scenario?.label;\n setTitle(title);\n cell.update({ title });\n },\n};\n\nconst app: MComp<State> = {\n services: [service],\n initial: {\n title: '',\n page: Dashboards.HOME,\n model: defaultModel,\n },\n};\nexport const cells = meiosisSetup<State>({ app });\ninitialize(cells().update);\n\ncells.map(() => m.redraw());\n","var isObject = function (obj) { return obj && typeof obj === 'object'; };\n\nfunction assemble(parts, replacements, count, opts) {\n var result = opts.array ? parts.slice() : parts[0];\n var len = parts.length;\n for (var i = 1; i < len; i += 2) {\n var part = parts[i];\n var val = replacements[part];\n if (val == null) {\n if (part === 'n' && count != null) {\n val = count;\n } else {\n opts.debug &&\n console.warn('No \"' + part + '\" in placeholder object:', replacements);\n val = '{' + part + '}';\n }\n }\n if (opts.array) {\n result[i] = val;\n } else {\n result += val + parts[i + 1];\n }\n }\n return result\n}\n\nfunction getPluralValue(translation, count, plFunc) {\n // Opinionated assumption: Pluralization rules are the same for negative and positive values.\n // By normalizing all values to positive, pluralization functions become simpler, and less error-prone by accident.\n var mappedCount = Math.abs(count);\n\n mappedCount = plFunc ? plFunc(mappedCount) : mappedCount;\n if (translation[mappedCount] != null) {\n return translation[mappedCount]\n }\n if (translation.n != null) {\n return translation.n\n }\n}\n\nfunction replacePlaceholders(\n translation,\n replacements,\n count,\n replCache,\n opts\n) {\n var result = replCache[translation];\n if (result == null) {\n var parts = translation\n // turn both curly braces around tokens into the a unified\n // (and now unique/safe) token `{x}` signifying boundry between\n // replacement variables and static text.\n .replace(/\\{(\\w+)\\}/g, '{x}$1{x}')\n // Adjacent placeholders will always have an empty string between them.\n // The array will also always start with a static string (at least a '').\n .split('{x}'); // stupid but works™\n\n // NOTE: parts no consists of alternating [text,replacement,text,replacement,text]\n // Cache a function that loops over the parts array - unless there's only text\n // (i.e. parts.length === 1) - then we simply cache the string.\n result = parts.length > 1 ? parts : parts[0];\n replCache[translation] = result;\n }\n result = result.pop ? assemble(result, replacements, count, opts) : result;\n return result\n}\n\nfunction translate(\n translationKey,\n subKey,\n replacements,\n keys,\n opts,\n replCache\n) {\n opts = opts || {};\n var translation = keys[translationKey];\n var translationIsObject = isObject(translation);\n var complex = translationIsObject || subKey != null || replacements != null;\n\n if (complex) {\n if (isObject(subKey)) {\n var tmp = replacements;\n replacements = subKey;\n subKey = tmp;\n }\n replacements = replacements || {};\n\n if (translationIsObject) {\n var propValue =\n (subKey != null && translation[subKey]) || translation['*'];\n if (propValue != null) {\n translation = propValue;\n } else if (typeof subKey === 'number') {\n // get appropriate plural translation string\n var plFunc = opts.pluralize;\n translation = getPluralValue(translation, subKey, plFunc);\n }\n }\n }\n\n if (typeof translation !== 'string') {\n if (opts.useKeyForMissingTranslation === false) {\n return\n }\n translation = translationKey;\n if (opts.debug) {\n if (subKey != null) {\n translation = '@@' + translationKey + '.' + subKey + '@@';\n console.warn(\n 'No translation or pluralization form found for \"' +\n subKey +\n '\" in' +\n translationKey\n );\n } else {\n translation = '@@' + translation + '@@';\n console.warn('Translation for \"' + translationKey + '\" not found.');\n }\n }\n }\n\n if (complex) {\n return replacePlaceholders(\n translation,\n replacements,\n subKey,\n replCache,\n opts\n )\n }\n return translation\n}\n\nfunction translateToArray() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var opts = this.opts;\n var normalArrayOption = opts.array;\n opts.array = true;\n var result = this.apply(null, args);\n opts.array = normalArrayOption;\n return result\n}\n\nfunction translatejs(messageObject, options) {\n messageObject = messageObject || {};\n options = options || {};\n\n if (options.resolveAliases) {\n messageObject = translatejs.resolveAliases(messageObject);\n }\n\n var replCache = {};\n\n function tFunc(translationKey, subKey, replacements) {\n return translate(\n translationKey,\n subKey,\n replacements,\n tFunc.keys,\n tFunc.opts,\n replCache\n )\n }\n\n tFunc.arr = translateToArray; // Convenience function.\n\n tFunc.keys = messageObject || {};\n tFunc.opts = options;\n\n return tFunc\n}\n\nfunction mapValues(obj, fn) {\n return Object.keys(obj).reduce(function (res, key) {\n res[key] = fn(obj[key], key);\n return res\n }, {})\n}\n\ntranslatejs.resolveAliases = function resolveAliases(translations) {\n var keysInProcess = {};\n function resolveAliases(translation) {\n if (isObject(translation)) {\n return mapValues(translation, resolveAliases)\n }\n return translation.replace(/{{(.*?)}}/g, function (_, token) {\n if (keysInProcess[token]) {\n throw new Error('Circular reference for \"' + token + '\" detected')\n }\n keysInProcess[token] = true;\n var key = token;\n var subKey = '';\n var keyParts = token.match(/^(.+)\\[(.+)\\]$/);\n if (keyParts) {\n key = keyParts[1];\n subKey = keyParts[2];\n }\n var target = translations[key];\n if (isObject(target)) {\n if (subKey) {\n target = target[subKey];\n } else {\n throw new Error(\"You can't alias objects\")\n }\n }\n if (target == null) {\n throw new Error('No translation for alias \"' + token + '\"')\n }\n var translation = resolveAliases(target);\n keysInProcess[token] = false;\n return translation\n })\n }\n return resolveAliases(translations)\n};\n\nexport default translatejs;\n","import m from 'mithril';\nimport { Icon } from 'mithril-materialized';\nimport logo from '../assets/tno.svg';\nimport { IDashboard } from '../models';\nimport { routingSvc } from '../services/routing-service';\nimport { MeiosisComponent, changePage, i18n, t } from '../services';\nimport { LANGUAGE } from '../utils';\nimport DutchFlag from '../assets/flag-nl.png';\nimport EnglishFlag from '../assets/flag-en.png';\n\nexport const setLanguage = async (locale = i18n.currentLocale) => {\n localStorage.setItem(LANGUAGE, locale);\n await i18n.loadAndSetLocale(locale);\n};\n\nexport const Layout: MeiosisComponent = () => ({\n view: ({ children, attrs }) => {\n const isActive = (d: IDashboard) =>\n attrs.state.page === d.id ? '.active' : '';\n\n const routes = routingSvc\n .getList()\n // .filter((d) => curUser === 'admin' || d.id !== Dashboards.SETTINGS)\n .filter(\n (d) =>\n (typeof d.visible === 'boolean'\n ? d.visible\n : d.visible(attrs.state?.model?.scenario)) || isActive(d)\n );\n\n const language = i18n.currentLocale;\n\n return m('.main', { style: 'overflow-x: hidden' }, [\n m(\n '.navbar-fixed',\n { style: 'z-index: 1001' },\n m(\n 'nav',\n m('.nav-wrapper', [\n m(\n 'a.brand-logo[href=#].show-on-large',\n { style: 'margin-left: 20px' },\n [\n m(`img[width=140][height=60][src=${logo}][alt=TNO]`, {\n style: 'margin-top: 5px; margin-left: -5px;',\n }),\n m(\n '.title.show-on-med-and-up.black-text.truncate',\n attrs.state.model?.scenario?.label\n ),\n ]\n ),\n m(\n // 'a.sidenav-trigger[href=#!/home][data-target=slide-out]',\n // { onclick: (e: UIEvent) => e.preventDefault() },\n m.route.Link,\n {\n className: 'sidenav-trigger',\n 'data-target': 'slide-out',\n href: m.route.get(),\n },\n m(Icon, {\n iconName: 'menu',\n className: 'hide-on-large-and-up black-text',\n style: 'margin-left: 5px;',\n })\n ),\n m('ul#dropdown_languages.dropdown-content', [\n m(\n 'li',\n m('a', { href: '#!', onclick: () => setLanguage('nl') }, [\n m('img', {\n src: DutchFlag,\n alt: 'Nederlands',\n title: 'Nederlands',\n disabled: language === 'nl',\n class: language === 'nl' ? 'disabled-image' : 'clickable',\n }),\n 'Nederlands',\n ])\n ),\n m(\n 'li',\n m('a', { href: '#!', onclick: () => setLanguage('en') }, [\n m('img', {\n src: EnglishFlag,\n alt: 'English',\n title: 'English',\n disabled: language === 'en',\n class: language === 'en' ? 'disabled-image' : 'clickable',\n }),\n 'English',\n ])\n ),\n ]),\n m(\n 'ul#slide-out.sidenav.hide-on-large-and-up',\n {\n oncreate: () => {\n const elems = document.querySelectorAll('.sidenav');\n M.Sidenav.init(elems);\n },\n },\n routes.map((d) =>\n m(`li.tooltip${isActive(d)}.unselectable`, [\n m(\n 'a',\n { href: routingSvc.href(d.id) },\n m(Icon, {\n className: d.iconClass ? ` ${d.iconClass}` : '',\n iconName: typeof d.icon === 'string' ? d.icon : d.icon(),\n }),\n (typeof d.title === 'string'\n ? d.title\n : d.title()\n ).toUpperCase()\n ),\n ])\n ),\n m('li.tooltip.language-settings.unselectable', [\n m(\n 'a.dropdown-trigger',\n {\n href: '#!',\n 'data-target': 'dropdown_languages',\n oncreate: ({ dom }) => {\n M.Dropdown.init(dom);\n },\n },\n m(Icon, {\n iconName: 'language',\n className: 'hoverable',\n style: 'font-size: 2.2rem; width: 4rem;',\n }),\n m('span.tooltiptext', t('SET_LANGUAGE').toUpperCase())\n ),\n ])\n ),\n m(\n 'ul.right.hide-on-med-and-down',\n routes.map((d) =>\n m(`li.tooltip${isActive(d)}.unselectable`, [\n m(Icon, {\n className:\n 'hoverable' + (d.iconClass ? ` ${d.iconClass}` : ''),\n style: 'font-size: 2.2rem; width: 4rem;',\n iconName: typeof d.icon === 'string' ? d.icon : d.icon(),\n onclick: () => changePage(attrs, d.id),\n }),\n m(\n 'span.tooltiptext',\n (typeof d.title === 'string'\n ? d.title\n : d.title()\n ).toUpperCase()\n ),\n ])\n ),\n m('li.tooltip.language-settings.unselectable', [\n m(\n 'a.dropdown-trigger',\n {\n href: '#!',\n 'data-target': 'dropdown_languages',\n oncreate: ({ dom }) => {\n M.Dropdown.init(dom);\n },\n },\n m(Icon, {\n iconName: 'language',\n className: 'hoverable',\n style: 'font-size: 2.2rem; width: 4rem;',\n }),\n m('span.tooltiptext', t('SET_LANGUAGE').toUpperCase())\n ),\n ])\n ),\n ])\n )\n ),\n m('.container', children),\n ]);\n },\n});\n","import m from 'mithril';\nimport { Dashboards } from '../models';\nimport { MeiosisComponent, setPage } from '../services';\nimport { render } from 'mithril-ui-form';\nimport process_flow from '../assets/process_flow.png';\nimport menu from '../assets/menu.png';\nimport menu_settings from '../assets/menu_settings.png';\nimport menu_generate from '../assets/menu_generate.png';\nimport menu_tabs from '../assets/menu_tabs.png';\nimport menu_tabs2 from '../assets/menu_tabs2.png';\nimport { scrollToSection } from '../utils';\n\nconst background = `_ScenarioSpark is ontwikkeld als ondersteunend instrument voor de methode “Risicomanagement Integrale Beveiliging”. Specifiek biedt ScenarioSpark vooral ondersteuning bij de uitvoering van stap 2 van deze methode. Het betreft de stap waarin onder meer de te behandelen dreigingsscenario’s voor de TBB’s worden bepaald._\n\n![De zes stappen van de methode “Risicomanagement Integrale Beveiliging”](${process_flow})`;\n\nconst goal = `ScenarioSpark is ontwikkeld om de risicomanager te ondersteunen in twee uitdagingen:\n\n- Het op een creatieve manier ontwikkelen van plausibele scenario’s;\n- Het samenstellen van een beperkte, maar toch representatieve set van scenario’s.\n\n### Het ontwikkelen van creatieve scenario’s\n\nZoals we in het recente verleden hebben gezien, blijven terroristen en andere criminelen voortdurend nieuwe manieren bedenken om onze samenleving aan te vallen. Voor een goede beveiliging is het belangrijk dat we niet alleen bekende dreigingen beoordelen, maar ook creatieve dreigingsscenario's bedenken om buiten de gebaande paden te denken. Dit is makkelijker gezegd dan gedaan, omdat recente ervaringen vaak onze gedachten sturen. ScenarioSpark is ontwikkeld om hierin te ondersteunen door willekeurig (dus niet beïnvloed door vooroordelen of ervaringen uit het verleden) potentieel valide scenariostammen te genereren. Op basis van de gegenereerde suggesties kan de gebruiker vervolgens bepalen welke interessant zijn om uit te werken en in de risicoanalyse mee te nemen.\n\n### Het samenstellen van een beperkte, maar toch representatieve set van scenario’s\n\nHet maken van een compleet overzicht van alle risico’s in alle situaties op alle te beschermen belangen is in het algemeen niet realistisch. Er zijn immers zoveel variaties mogelijk dat volledige analyse hiervan niet haalbaar is. In de praktijk wordt daarom getracht een beperkte set scenario’s te kiezen waarmee toch een goed, representatief beeld ontstaat van alle mogelijke risico’s.\n\nScenarioSpark ondersteunt hierin door inzicht te geven in welke mate een set geselecteerde scenario’s de totale risico-ruimte afdekt en welke overlappen er in die set zitten. Hiertoe wordt gebruik gemaakt van een zogenaamde ‘morfologische box’. Dat is een matrix waarin de kolommen worden gevormd door alle relevante factoren die een scenario karakteriseren, en waarin de rijen worden gevormd door de opties voor ieder van die factoren (de mogelijke waarden die de factoren kunnen aannemen). In ScenarioSpark wordt een scenario gekarakteriseerd door de keuze van één of meer opties voor iedere factor.\n\nUit alle gegenereerde of gedefinieerde scenario’s kan de gebruiker de scenario’s selecteren die worden toegevoegd aan de set met te evalueren dreigingsscenario’s. In de morfologische box wordt aan de hand van een kleurcodering aangegeven hoe vaak bepaalde opties voorkomen in deze set.\n\nOp deze wijze kan met ScenarioSpark een set scenario’s worden samengesteld waarin de te analyseren factoren van risico’s zo efficiënt mogelijk worden behandeld in de (beperkte) set met scenario’s. Bovendien wordt voorkomen dat belangrijke factoren over het hoofd worden gezien.`;\n\nconst howToUse = `### Het ontwikkelen van creatieve scenario’s\n\nNavigeer in het hoofdmenu naar ‘maak scenario’.\n\n![Menubalk met instellingen](${menu})\n![Model en inconsistenties](${menu_tabs})\n\nDe pagina bestaat uit een aantal componenten:\n\n1. Drie knoppen: ‘genereer’, ‘wis’ en 'bewaar’;\n2. Een drop down menu waarin eerder gegenereerde scenario’s weer opgeroepen kunnen worden;\n3. De factoren waaruit de morfologische box is opgebouwd;\n4. Een ‘slotje’ achter ieder van de factoren;\n5. Een beschrijvende titel die kan worden toegekend aan het scenario;\n6. Een vinkje dat aangeeft of het scenario is geselecteerd voor evaluatie;\n7. Een tekst vak waarin de scenariostam verder kan worden uitgewerkt, eventueel met opmaak en/of afbeeldingen.\n\nDoor op ‘genereer’ te klikken wordt er aan de hand van de morfologische box een scenario gegeneerd waarbij random een optie wordt toegekend aan elk van de factoren. De gebruiker heeft een aantal mogelijkheden:\n\n1. Het scenario houden zoals is gegenereerd door de morfologische box;\n2. Enkele factoren vastzetten door middel van het slotje en nieuwe opties genereren voor de andere factoren door opnieuw op ‘genereer’ te klikken;\n3. Een scenario wijzigen of aanvullen door zelf een optie te kiezen voor een factor of meerdere opties te selecteren voor een factor;\n4. Een compleet nieuw scenario door de tool laten genereren;\n5. Een eigen scenario te creëren door handmatig optie(s) voor elke factor te selecteren.\n\nIndien de gebruiker tevreden is met het gegenereerde scenario kan ervoor worden gekozen het scenario toe te voegen aan de lijst met de te evalueren dreigingsscenario’s. Het scenario kan worden uitgeschreven tot een verhaal en er kan een titel worden gegeven om het scenario herkenbaar en ondubbelzinnig te maken.\n\n### Het samenstellen van een beperkte, maar toch representatieve set van scenario’s.\n\n#### Modus uitsluiten inconsistenties\n\nSommige combinaties van opties van factoren zijn onmogelijk of onwaarschijnlijk. Denk bijvoorbeeld aan een cybercrimineel (actor) die fysieke informatie steelt (doelwit) door middel van een ramvoertuig (middel/ wapen). Om deze reden is er in ScenarioSpark een kruistabel toegevoegd die weergeeft wanneer combinaties van opties van factoren mogelijk, onmogelijk of onwaarschijnlijk zijn. Wanneer de modus ‘uitsluiten inconsistenties’ is aangevinkt in instellingen, is het niet mogelijk om handmatig een optie voor een factor te kiezen die onmogelijk of onwaarschijnlijk is in combinatie met de reeds geselecteerde opties voor de andere factoren.`;\n\nconst settings = `### Aanpassen morfologische box\n\nHet aanpassen van de morfologische box kan worden gedaan in ‘instellingen’ onder het kopje ‘model’.\n\n![Menubalk met instellingen](${menu_settings})\n\n### Aanpassen categorieën\nDoor het instellen van categorieën kan de morfologische box in meerdere delen worden gesplitst (zoals dreigingen, objecten, omstandigheden). Deze mogelijkheid wordt niet gebruikt binnen de context van de Tweede Kamer.\n\n### Selectie getoonde factoren\n\nIn dit drop down menu kan een selectie worden gemaakt van de factoren die meegenomen worden in de morfologische box.\n\n### Aanpassen factoren\n\nNieuwe factoren kunnen worden toegevoegd door op het plusje naast ‘factoren’ te klikken. Er dienen een aantal gegevens te worden ingevuld:\n\n1. Volgorde (de plek in de morfologische box waar de factor komt te staan);\n2. Manuele mode (bij het automatisch genereren van een scenario wordt deze factor overgeslagen, en dient dus manueel gekozen te worden);\n3. Naam;\n4. Omschrijving.\n\nFactoren kunnen worden gewijzigd door naar de desbetreffende factor te navigeren. Factoren kunnen worden verwijderd door aan de rechterkant op het kruisje te klikken.\n\n### Aanpassen opties binnen factoren\n\nHet aanpassen van opties binnen factoren gebeurt op de pagina van de morfologische box zelf.\n\n![Genereren van varianten](${menu_generate})\n\nEr kunnen nieuwe opties worden toegevoegd en bestaande opties worden gewijzigd of verwijderd. Om een nieuwe optie toe te voegen dient geklikt te worden op het plusje naast de factor, die tevoorschijn komt door met de muis over de factor te hoveren. Een optie kan worden bewerkt of verwijderd door op het pennetje te klikken dat tevoorschijn komt door met de muis over de optie te hoveren.\n\n### Aanpassen consistenties\n\nHet aanpassen van consistenties kan door op de pagina ‘instellingen’ te navigeren naar ‘bewerk inconsitenties’.\n\n![Model en inconsistenties](${menu_tabs2})\n\nScenarioSpark beschikt over een kruistabel waarin voor alle combinaties van opties van factoren is aangegeven of het mogelijk, onwaarschijnlijk of onmogelijk is. Dit kruistabel dient handmatig te worden aangepast. Er kan een rij en een kolom worden gekozen, die beiden een factor representeren. Vervolgens kan worden aangegeven per combinatie van de opties van de factoren of de combinatie als mogelijk, onmogelijk of onwaarschijnlijk wordt geacht. Hoe meer factoren er zijn, hoe meer combinaties moeten worden gecheckt. Houd er dus rekening mee dat dit de nodige tijd in beslag neemt. Indien een nieuwe optie wordt toegevoegd aan een factor in de morfologische box, dient voor de nieuwe optie alle combinaties met bestaande opties van andere factoren beoordeeld te worden.\n\nLet op: na het toevoegen van nieuwe opties in de morfologische box wordt geen enkele combinatie met deze nieuwe optie uitgesloten. Indien u wilt voorkomen dat niet-realistische scenario’s worden gegeneerd in de scenariogenerator, dient u handmatig de niet- realistische combinaties hier af te vinken.\n\n### Aanpassen kleurweergave\n\nMet behulp van kleuren kan voor de opties in de morfologische box worden aangegeven hoe vaak deze is gebruikt in een scenario. De keuze van de gebruikte kleuren, het aantal verschillende kleuren en de bandbreedtes waarin dezelfde kleur gegeven wordt, kan naar vrijheid worden ingevuld. Een optie krijgt de kleur van de bandbreedte als het aantal keer dat deze voorkomt groter of gelijk is aan het getal dat wordt ingevoerd als drempelwaarde bij de bandbreedte, zolang er geen hogere drempelwaarde bestaat waar dit ook voor geldt.\n\n### Aanpassen taal\n\nDe taalinstelling van de tool kan worden aangepast door de gewenste vlag op de homepagina te selecteren, of het menu rechtsboven te gebruiken.`;\n\nconst security = `Omdat de informatie die in ScenarioSpark wordt gezet vertrouwelijk kan zijn, is bij het ontwerp van deze applicatie hiermee rekening gehouden door de volgende uitgangspunten te hanteren:\n\n-\tScenarioSpark wordt geladen vanaf een website. De enige informatie die hierbij over het net gaat, is de werking van het programma. Eenmaal ingeladen in de computer, is een verbinding met internet dus ook niet meer noodzakelijk;\n-\tAlle informatie die door ScenarioSpark wordt gebruikt, blijft op de computer van de gebruiker (hetzij in de Browsercache, hetzij in een bewaard bestand). De mate van beveiliging van deze gegevens is hiermee gelijk aan de mate van beveiliging van de betreffende computer en volledig controleerbaar door de beheerder van de betreffende computer. Dit betreft zowel de gebruikersinstellingen, de opzet van de morfologische box, als de scenario’s.\n-\tHet programma biedt de mogelijkheid deze informatie op te slaan en in te lezen. De informatie wordt altijd opgeslagen in de download map van de browser (dit is de enige map waarvoor de browser schrijfrechten heeft). Het inlezen van een bestand kan vanaf elke locatie.\n`;\n\nexport const AboutPage: MeiosisComponent = () => {\n return {\n oninit: ({ attrs }) => setPage(attrs, Dashboards.ABOUT),\n // oncreate: () => {\n // const match = /#([a-zA-Z]*)/.exec(m.route.get());\n // if (match && match.length > 0) {\n // setTimeout(() => scrollToSection(match[1]), 100);\n // }\n // },\n view: () => {\n const match = /#([a-zA-Z]*)/.exec(m.route.get());\n if (match && match.length > 0) {\n setTimeout(() => scrollToSection(match[1]), 0);\n }\n return m('.markdown', [\n m('aside#toc', [\n m('.center-align', [\n m('ul.list-inline', [\n m(\n 'li',\n m(\n 'a',\n {\n href: '#goal',\n onclick: (e: MouseEvent) => scrollToSection('goal', e),\n },\n 'Doel van ScenarioSpark'\n )\n ),\n m('li', ' | '),\n m(\n 'li',\n m(\n 'a',\n {\n href: '#usage',\n onclick: (e: MouseEvent) => scrollToSection('usage', e),\n },\n 'Hoe te gebruiken'\n )\n ),\n m('li', ' | '),\n m(\n 'li',\n m(\n 'a',\n {\n href: '#settings',\n onclick: (e: MouseEvent) => scrollToSection('settings', e),\n },\n 'Beheer'\n )\n ),\n m('li', ' | '),\n m(\n 'li',\n m(\n 'a',\n {\n href: '#security',\n onclick: (e: MouseEvent) => scrollToSection('security', e),\n },\n 'Security'\n )\n ),\n ]),\n ]),\n ]),\n m('main', [\n m('header', [m('h1', 'Achtergrond'), m.trust(render(background))]),\n m('section#goal', [\n m('h2', 'Doel van ScenarioSpark'),\n m.trust(render(goal)),\n ]),\n m('section#usage', [\n m('h2', 'Hoe te gebruiken'),\n m.trust(render(howToUse)),\n ]),\n m('section#settings', [m('h2', 'Beheer'), m.trust(render(settings))]),\n m('section#security', [\n m('h2', 'Security'),\n m.trust(render(security)),\n ]),\n ]),\n ]);\n // return [m('.row', []), m('.row.markdown', m.trust(render(md)))];\n },\n };\n};\n","import m from 'mithril';\nimport {\n Button,\n FlatButton,\n Icon,\n InputCheckbox,\n ModalPanel,\n RadioButtons,\n Select,\n Tabs,\n} from 'mithril-materialized';\nimport background from '../assets/background.webp';\nimport DutchFlag from '../assets/flag-nl.png';\nimport EnglishFlag from '../assets/flag-en.png';\nimport {\n changePage,\n MeiosisComponent,\n routingSvc,\n saveModel,\n selectScenarioFromCollection,\n setLanguage,\n setPage,\n t,\n} from '../services';\nimport {\n Dashboards,\n DataModel,\n Narrative,\n OldDataModel,\n Scenario,\n ScenarioComponent,\n defaultModels,\n newScenario,\n} from '../models';\nimport { SAVED, capitalize, convertFromOld, modelToSaveName } from '../utils';\n\nexport const TableView: MeiosisComponent<{\n narratives: Narrative[];\n components: ScenarioComponent[];\n}> = () => {\n return {\n view: ({ attrs: { components, narratives = [], ...attrs } }) => {\n const lookup = components.reduce((acc, cur) => {\n cur.values &&\n cur.values.forEach((v) => {\n acc[v.id] = v.label;\n });\n return acc;\n }, {} as Record<string, string>);\n\n return m(\n '.table-container',\n m(\n '.table',\n m('table.responsive-table.highlight', [\n m(\n 'thead',\n m(\n 'tr',\n m('th', { style: 'text-align: right' }, t('NAME')),\n components.map((c) => m('th', c.label))\n )\n ),\n m(\n 'tbody',\n narratives.map((n) =>\n m(\n 'tr',\n m(\n 'th.bold',\n { style: 'text-align: left' },\n m(\n 'a',\n {\n href: routingSvc.href(Dashboards.SHOW_SCENARIO),\n onclick: () => {\n attrs.update({\n curNarrative: () => n,\n });\n },\n },\n capitalize(n.label)\n )\n ),\n components.map((c) =>\n n.components[c.id] && n.components[c.id].length > 0\n ? m(\n 'td',\n m.trust(\n n.components[c.id]\n .map(\n (id) =>\n lookup[id] ||\n `<span class=\"red-text\">Missing component ID: ${id}</span>`\n )\n .join(', ')\n )\n )\n : n[c.id as 'risk' | 'probability' | 'impact']\n ? m(\n 'td',\n lookup[n[c.id as 'risk' | 'probability' | 'impact']!]\n )\n : m(\n 'td.center-align.missing',\n m(Icon, { iconName: 'clear', className: 'red-text' })\n )\n )\n )\n )\n ),\n ])\n )\n );\n },\n };\n};\n\nexport const HomePage: MeiosisComponent = () => {\n const readerAvailable =\n window.File && window.FileReader && window.FileList && window.Blob;\n let selectedId = 0;\n let removeAllKeyValues = false;\n\n return {\n oninit: ({ attrs }) => {\n setPage(attrs, Dashboards.HOME);\n // const uriModel = m.route.param('model');\n // if (!uriModel) {\n // return;\n // }\n // try {\n // const decompressed = lz.decompressFromEncodedURIComponent(uriModel);\n // if (!decompressed) {\n // return;\n // }\n // const model = JSON.parse(decompressed);\n // saveModel(model);\n // changePage(Dashboards.OVERVIEW);\n // } catch (err) {\n // console.error(err);\n // }\n },\n view: ({ attrs }) => {\n const isCleared = false;\n const { model, language } = attrs.state;\n const {\n scenarios = [],\n scenario: { id, label, narratives = [], components, categories },\n } = model;\n\n const selectedNarratives = narratives\n .filter((n) => n.included)\n .sort((a, b) => (a.label || '').localeCompare(b.label));\n\n return [\n m('div', { style: 'padding-top: 1rem;position: relative;' }, [\n selectedNarratives.length > 0 &&\n categories.length > 0 && [\n m('.row', m('.col.s12', [m('h4', t('SAVED_NARRATIVES'))])),\n categories.length > 1\n ? m(Tabs, {\n tabs: categories.map((c) => ({\n title: c.label,\n vnode: m(TableView, {\n ...attrs,\n narratives: selectedNarratives,\n components: components.filter(\n (comp) =>\n c.componentIds && c.componentIds.includes(comp.id)\n ),\n }),\n })),\n })\n : m(\n '.narratives',\n m(TableView, {\n ...attrs,\n narratives: selectedNarratives,\n components: components.filter(\n (comp) =>\n categories[0].componentIds &&\n categories[0].componentIds.includes(comp.id)\n ),\n })\n ),\n ],\n selectedNarratives.length === 0 &&\n m(\n '.row',\n m(\n '.col.s12.center-align',\n m('img.responsive-img.center[alt=fountain pen]', {\n src: background,\n })\n )\n ),\n m(\n '.row',\n m(\n '.col.s12.m8.l6.offset-m2.offset-l3',\n m(\n '.flex-row',\n m(Select, {\n key: id,\n iconName: 'cases',\n className: 'flex-grow',\n label: t('SELECT_SCENARIO'),\n checkedId: id,\n options: [{ id, label }, ...scenarios],\n onchange: async (id) => {\n await selectScenarioFromCollection(attrs, id[0] as string);\n },\n }),\n m(\n '.icon-buttons',\n {\n key: 'icons',\n },\n m(FlatButton, {\n className: 'icon-button',\n iconName: 'add',\n title: t('NEW_SCENARIO'),\n onclick: async () => {\n if (!model.scenarios) model.scenarios = [];\n model.scenarios = [model.scenario, ...model.scenarios];\n model.scenario = newScenario();\n await saveModel(attrs, model, true);\n M.toast({ html: t('SCENARIO_CREATED_MSG') });\n changePage(attrs, Dashboards.SETTINGS);\n },\n }),\n m(FlatButton, {\n className: 'icon-button',\n iconName: 'download',\n title: t('DOWNLOAD', 'MODEL'),\n onclick: () => {\n const dlAnchorElem =\n document.getElementById('downloadAnchorElem');\n if (!dlAnchorElem) {\n return;\n }\n const version =\n typeof model.version === 'undefined'\n ? 1\n : ++model.version;\n const dataStr =\n 'data:text/json;charset=utf-8,' +\n encodeURIComponent(\n JSON.stringify({ ...model.scenario, version })\n );\n dlAnchorElem.setAttribute('href', dataStr);\n dlAnchorElem.setAttribute(\n 'download',\n `${modelToSaveName(model, undefined, false)}.json`\n );\n dlAnchorElem.click();\n localStorage.setItem(SAVED, 'true');\n },\n }),\n readerAvailable &&\n m(FlatButton, {\n className: 'icon-button',\n iconName: 'upload',\n title: t('UPLOAD', 'MODEL'),\n onclick: () => {\n const fileInput = document.getElementById(\n 'selectFiles'\n ) as HTMLInputElement;\n fileInput.onchange = () => {\n if (!fileInput) {\n return;\n }\n const files = fileInput.files;\n if (!files || (files && files.length <= 0)) {\n return;\n }\n const data = files && files.item(0);\n const isJson = data && /json$/i.test(data.name);\n const reader = new FileReader();\n reader.onload = async (\n e: ProgressEvent<FileReader>\n ) => {\n if (isJson) {\n const result = (e &&\n e.target &&\n e.target.result) as string;\n const scenario = JSON.parse(\n result.toString()\n ) as Scenario;\n if (\n scenario &&\n scenario.id &&\n scenario.label &&\n model.scenario.id !== scenario.id &&\n !model.scenarios?.some(\n (s) => s.id === scenario.id\n )\n ) {\n if (!model.scenarios) model.scenarios = [];\n model.scenarios = [\n model.scenario,\n ...model.scenarios,\n ];\n model.scenario = scenario;\n saveModel(attrs, model, true);\n M.toast({ html: t('SCENARIO_LOADED_MSG') });\n } else {\n M.toast({ html: t('SCENARIO_NOT_LOADED_MSG') });\n }\n }\n };\n if (data) {\n isJson\n ? reader.readAsText(data)\n : reader.readAsArrayBuffer(data);\n }\n };\n fileInput.click();\n },\n }),\n m(FlatButton, {\n className: 'icon-button',\n iconName: 'delete',\n title: t('DELETE'),\n modalId: 'delete_model',\n })\n )\n )\n )\n ),\n m('.buttons.center', { style: 'margin: 10px auto;' }, [\n [\n m(\n '.language-option',\n {\n onclick: () => setLanguage('nl'),\n },\n [\n m('img', {\n src: DutchFlag,\n alt: 'Nederlands',\n title: 'Nederlands',\n disabled: language === 'nl',\n class: language === 'nl' ? 'disabled-image' : 'clickable',\n }),\n m('span', 'Nederlands'),\n ]\n ),\n m(\n '.language-option',\n {\n onclick: () => setLanguage('en'),\n },\n [\n m('img', {\n src: EnglishFlag,\n alt: 'English',\n title: 'English',\n disabled: language === 'en',\n class: language === 'en' ? 'disabled-image' : 'clickable',\n }),\n m('span', 'English'),\n ]\n ),\n ],\n m(Button, {\n iconName: 'clear',\n disabled: isCleared,\n className: 'btn-large',\n label: t('NEW_MODEL', 'btn'),\n modalId: 'clearAll',\n }),\n m('a#downloadAnchorElem', { style: 'display:none' }),\n m(Button, {\n iconName: 'download',\n disabled: isCleared,\n className: 'btn-large',\n label: t('DOWNLOAD', 'COLLECTION'),\n onclick: () => {\n const dlAnchorElem =\n document.getElementById('downloadAnchorElem');\n if (!dlAnchorElem) {\n return;\n }\n const version =\n typeof model.version === 'undefined' ? 1 : ++model.version;\n const dataStr =\n 'data:text/json;charset=utf-8,' +\n encodeURIComponent(JSON.stringify({ ...model, version }));\n dlAnchorElem.setAttribute('href', dataStr);\n dlAnchorElem.setAttribute(\n 'download',\n `${modelToSaveName(model)}.json`\n );\n dlAnchorElem.click();\n localStorage.setItem(SAVED, 'true');\n },\n }),\n m('input#selectFiles[type=file][accept=.json]', {\n style: 'display:none',\n }),\n // m('input#selectFiles[type=file][accept=.json,.pdf]', { style: 'display:none' }),\n readerAvailable &&\n m(Button, {\n iconName: 'upload',\n className: 'btn-large',\n label: t('UPLOAD', 'COLLECTION'),\n onclick: () => {\n const fileInput = document.getElementById(\n 'selectFiles'\n ) as HTMLInputElement;\n fileInput.onchange = () => {\n if (!fileInput) {\n return;\n }\n const files = fileInput.files;\n if (!files || (files && files.length <= 0)) {\n return;\n }\n const data = files && files.item(0);\n const isJson = data && /json$/i.test(data.name);\n const reader = new FileReader();\n reader.onload = async (e: ProgressEvent<FileReader>) => {\n if (isJson) {\n const result = (e &&\n e.target &&\n e.target.result) as string;\n const json = JSON.parse(result.toString()) as\n | DataModel\n | OldDataModel;\n if (json) {\n const dataModel = json.version\n ? (json as DataModel)\n : convertFromOld(json as OldDataModel);\n saveModel(attrs, dataModel, true);\n M.toast({ html: t('COLLECTION_LOADED_MSG') });\n }\n }\n };\n if (data) {\n isJson\n ? reader.readAsText(data)\n : reader.readAsArrayBuffer(data);\n }\n };\n fileInput.click();\n },\n }),\n ]),\n m(\n '.section.white',\n m('.row.container.center', [\n m('.row', m('.col.s12.align-center', [m('h5', 'ScenarioSpark')])),\n m('.row', [\n m(\n '.col.s12.m4',\n m('.icon-block', [\n m('.center', m(Icon, { iconName: 'ads_click' })),\n m(\n 'h5.center',\n m(\n m.route.Link,\n {\n href: t('ABOUT', 'ROUTE') + `#goal`,\n },\n t('GOAL', 'TITLE')\n )\n ),\n m('p', t('GOAL', 'DESC')),\n ])\n ),\n m(\n '.col.s12.m4',\n m('.icon-block', [\n m('.center', m(Icon, { iconName: 'settings' })),\n m(\n 'h5.center',\n m(\n m.route.Link,\n {\n href: t('ABOUT', 'ROUTE') + `#usage`,\n },\n t('USAGE', 'TITLE')\n )\n ),\n m('p', t('USAGE', 'DESC')),\n ])\n ),\n m(\n '.col.s12.m4',\n m('.icon-block', [\n m('.center', m(Icon, { iconName: 'lock' })),\n m(\n 'h5.center',\n m(\n m.route.Link,\n {\n href: t('ABOUT', 'ROUTE') + `#security`,\n },\n t('SECURITY', 'TITLE')\n )\n ),\n m('p', t('SECURITY', 'DESC')),\n ])\n ),\n ]),\n ])\n ),\n m(ModalPanel, {\n id: 'delete_model',\n title: t('DELETE_MODEL', 'title'),\n description: m('.row', [\n m('.col.s12', [t('DELETE_MODEL', 'description')]),\n ]),\n buttons: [\n { label: t('CANCEL'), iconName: 'cancel' },\n {\n label: t('OK'),\n iconName: 'delete',\n onclick: async () => {\n model.scenario =\n model.scenarios && model.scenarios.length > 0\n ? model.scenarios[0]\n : newScenario();\n model.scenarios = model.scenarios.filter(\n (s) => s.id !== model.scenario.id\n );\n await saveModel(attrs, model, true);\n // routingSvc.switchTo(\n // selectedId === 0\n // ? Dashboards.SETTINGS\n // : Dashboards.DEFINE_BOX\n // );\n },\n },\n ],\n }),\n m(ModalPanel, {\n id: 'clearAll',\n title: t('NEW_MODEL', 'title'),\n description: m('.row', [\n m('.col.s12', [t('NEW_MODEL', 'description')]),\n m('.col.s12', [\n m(\n '.row',\n m(RadioButtons, {\n label: t('NEW_MODEL', 'choose'),\n checkedId: 1,\n options: defaultModels.map((_, i) => ({\n id: i + 1,\n label: `<strong>${t('MODEL_NAMES', i)}: </strong>${t(\n 'MODEL_DESC',\n i\n )}`,\n })),\n onchange: (i) => (selectedId = (i as number) - 1),\n })\n ),\n m(\n '.row',\n m(InputCheckbox, {\n label: t('NEW_MODEL', 'remove'),\n checked: removeAllKeyValues,\n onchange: (v) => (removeAllKeyValues = v),\n })\n ),\n ]),\n ]),\n buttons: [\n { label: t('CANCEL'), iconName: 'cancel' },\n {\n label: t('OK'),\n iconName: 'delete',\n onclick: async () => {\n await saveModel(attrs, defaultModels[selectedId], true);\n routingSvc.switchTo(\n selectedId === 0\n ? Dashboards.SETTINGS\n : Dashboards.DEFINE_BOX\n );\n },\n },\n ],\n }),\n ]),\n ];\n },\n };\n};\n","import m, { FactoryComponent } from 'mithril';\nimport {\n Dashboards,\n ID,\n Inconsistencies,\n Scenario,\n emptyModel,\n} from '../models';\nimport { MeiosisComponent, i18n, saveModel, setPage, t } from '../services';\nimport {\n FlatButton,\n Icon,\n ModalPanel,\n Select,\n Tabs,\n} from 'mithril-materialized';\nimport { FormAttributes, LayoutForm, UIForm } from 'mithril-ui-form';\n\nexport const InconsistencyCheckbox: FactoryComponent<{\n inconsistencies: Inconsistencies;\n rowId: ID;\n colId: ID;\n callback: () => Promise<void>;\n}> = () => {\n return {\n view: ({ attrs: { rowId, colId, inconsistencies, callback } }) => {\n const row = inconsistencies[rowId];\n const v = typeof row !== 'undefined' ? row[colId] : undefined;\n const iconName =\n typeof v === 'undefined'\n ? 'check_circle_outline'\n : v\n ? 'radio_button_unchecked'\n : 'blur_circular';\n return m(Icon, {\n className: 'clickable',\n iconName,\n onclick: async () => {\n switch (v) {\n case true:\n inconsistencies[rowId][colId] = inconsistencies[colId][rowId] =\n false;\n break;\n case false:\n delete inconsistencies[rowId][colId];\n delete inconsistencies[colId][rowId];\n break;\n default:\n if (!inconsistencies[rowId]) {\n inconsistencies[rowId] = {};\n }\n if (!inconsistencies[colId]) {\n inconsistencies[colId] = {};\n }\n inconsistencies[rowId][colId] = inconsistencies[colId][rowId] =\n true;\n break;\n }\n await callback();\n },\n });\n },\n };\n};\n\nexport const SettingsPage: MeiosisComponent = () => {\n const form = [\n { id: 'id', autogenerate: 'id' },\n { id: 'label', type: 'text', className: 'col s12 m6', label: t('NAME') },\n {\n id: 'hideInconsistentValues',\n type: 'checkbox',\n className: 'col s6 m3 mt25',\n label: t('HIDE_INCONSISTENT'),\n },\n {\n id: 'includeDecisionSupport',\n type: 'checkbox',\n className: 'col s6 m3 mt25',\n label: t('INCLUDE_DECISION_SUPPORT'),\n },\n { id: 'desc', type: 'textarea', label: t('DESCRIPTION') },\n {\n id: 'template',\n type: 'textarea',\n label: t('TEMPLATE', 'TITLE'),\n placeholder: t('TEMPLATE', 'DESC'),\n },\n {\n id: 'categories',\n label: t('CATEGORIES'),\n type: [\n { id: 'id', autogenerate: 'id' },\n {\n id: 'label',\n className: 'col s4 m3 l2',\n type: 'text',\n label: t('NAME'),\n },\n {\n id: 'desc',\n className: 'col s4 m6 l7',\n type: 'text',\n label: t('DESCRIPTION'),\n },\n {\n id: 'decisionSupport',\n type: 'checkbox',\n className: 'col s6 m3 l3 mt25',\n label: t('IS_DECISION_CATEGORY'),\n },\n {\n id: 'componentIds',\n type: 'select',\n multiple: true,\n label: t('DIMENSION_SELECTED'),\n options: 'components',\n },\n ],\n repeat: true,\n pageSize: 1,\n max: 2,\n },\n {\n id: 'components',\n type: [\n { id: 'id', autogenerate: 'id' },\n {\n id: 'order',\n type: 'number',\n className: 'col s3 m2',\n label: t('ORDER'),\n },\n {\n id: 'manual',\n type: 'switch',\n className: 'switch col s3 m2',\n label: t('MANUAL'),\n },\n {\n id: 'label',\n type: 'text',\n className: 'col s6 m8',\n label: t('NAME'),\n },\n // {\n // id: 'context',\n // type: 'select',\n // multiple: true,\n // className: 'col s12 m5',\n // label: t('CONTEXT'),\n // options: contextTypeOptions(t),\n // },\n {\n id: 'desc',\n type: 'text',\n className: 'col s12',\n label: t('DESCRIPTION'),\n },\n ],\n repeat: true,\n pageSize: 1,\n sortProperty: 'order',\n label: t('DIMENSIONS'),\n },\n {\n id: 'thresholdColors',\n label: t('THRESHOLDS'),\n repeat: true,\n sortProperty: 'threshold',\n pageSize: 1,\n type: [\n {\n id: 'threshold',\n label: t('THRESHOLD'),\n type: 'number',\n min: 0,\n className: 'col s6',\n },\n {\n id: 'color',\n label: t('COLOR'),\n type: 'color',\n className: 'col s6',\n },\n ],\n },\n ] as UIForm<Scenario>;\n let rowId: ID;\n let colId: ID;\n return {\n oninit: ({ attrs }) => setPage(attrs, Dashboards.SETTINGS),\n view: ({ attrs }) => {\n const { model } = attrs.state;\n const { inconsistencies } = model.scenario;\n const comps = model.scenario.components.filter((c) => c.id && c.label);\n const rowComp = rowId && comps.filter((c) => c.id === rowId).shift();\n const colComp = colId && comps.filter((c) => c.id === colId).shift();\n const rValues = rowComp && rowComp.values;\n const cValues = colComp && colComp.values;\n return [\n m('.settings-page.row', [\n m(Tabs, {\n tabs: [\n {\n title: t('MODEL'),\n vnode: m('.model-settings', [\n m(\n '.row',\n m(FlatButton, {\n className: 'right',\n iconName: 'delete',\n label: t('DELETE'),\n modalId: 'deleteModel',\n })\n ),\n m(\n '.row',\n m(LayoutForm, {\n obj: model.scenario,\n form,\n i18n: i18n.i18n,\n onchange: async () => {\n await saveModel(attrs, model);\n },\n } as FormAttributes<Scenario>)\n ),\n ]),\n },\n {\n title: t('INCONSISTENCIES', 'title'),\n vnode: m(\n '.inconsistencies-settings.row',\n comps.length > 0 && [\n m(Select, {\n checkedId: rowId,\n iconName: 'view_stream',\n className: 'col s6 m4',\n placeholder: t('i18n', 'pickOne'),\n label: t('INCONSISTENCIES', 'SELECT_ROW'),\n options: comps,\n onchange: (ids) => (rowId = ids[0] as string),\n }),\n m(Select, {\n checkedId: colId,\n iconName: 'view_week',\n className: 'col s6 m4',\n placeholder: t('i18n', 'pickOne'),\n label: t('INCONSISTENCIES', 'SELECT_COL'),\n options: comps,\n onchange: (ids) => (colId = ids[0] as string),\n }),\n m(\n '#legend.col.s12.m4',\n m('.card', [\n m('ul', [\n m(\n 'li',\n m(Icon, {\n style: 'vertical-align: bottom',\n iconName: 'check_circle_outline',\n }),\n t('COMBINATIONS', 'POSSIBLE')\n ),\n m(\n 'li',\n m(Icon, {\n style: 'vertical-align: bottom',\n iconName: 'radio_button_unchecked',\n }),\n t('COMBINATIONS', 'IMPOSSIBLE')\n ),\n m(\n 'li',\n m(Icon, {\n style: 'vertical-align: bottom',\n iconName: 'blur_circular',\n }),\n t('COMBINATIONS', 'IMPROBABLE')\n ),\n ]),\n ])\n ),\n rowComp &&\n colComp &&\n rValues &&\n cValues &&\n m(\n '.col.s12',\n m('.row', [\n m(\n '.col.s12',\n m(\n 'table.responsive-table.highlight',\n {\n style: 'display: block;overflow-x: auto',\n },\n [\n m(\n 'thead',\n m('tr', [\n m(\n 'th',\n `${rowComp.label} \\\\ ${colComp.label}`\n ),\n ...cValues.map((v) => m('th', v.label)),\n ])\n ),\n m(\n 'tbody',\n rValues.map((r) =>\n m('tr', [\n m('th', r.label),\n ...cValues.map((c) =>\n m(\n 'td',\n m(InconsistencyCheckbox, {\n rowId: r.id,\n colId: c.id,\n inconsistencies,\n callback: async () =>\n await saveModel(attrs, model),\n })\n // inconsistencies[key(r.id, c.id)] || 'NONE'\n )\n ),\n ])\n )\n ),\n ]\n )\n ),\n ])\n ),\n ]\n ),\n },\n ],\n }),\n m(ModalPanel, {\n id: 'deleteModel',\n title: t('DELETE_ITEM', 'title', { item: t('MODEL') }),\n description: t('DELETE_ITEM', 'description', { item: t('MODEL') }),\n // options: { opacity: 0.7 },\n buttons: [\n {\n label: t('CANCEL'),\n },\n {\n label: t('OK'),\n onclick: () => {\n saveModel(attrs, emptyModel());\n },\n },\n ],\n }),\n ]),\n ];\n },\n };\n};\n","import m from 'mithril';\n\nexport interface LegendItem {\n threshold: number;\n color: string;\n}\n\n// Utility function to determine text color based on background brightness\nconst getContrastColor = (backgroundColor: string): string => {\n // Remove # if present\n const hex = backgroundColor.replace('#', '');\n\n // Convert hex to RGB\n const r = parseInt(hex.substring(0, 2), 16);\n const g = parseInt(hex.substring(2, 4), 16);\n const b = parseInt(hex.substring(4, 6), 16);\n\n // Calculate brightness\n const brightness = (r * 299 + g * 587 + b * 114) / 1000;\n\n // Return black for light backgrounds, white for dark backgrounds\n return brightness > 125 ? 'black' : 'white';\n};\n\nexport const LegendComponent = {\n view: ({ attrs }: m.Vnode<{ items: LegendItem[] }>) => {\n const { items } = attrs;\n\n return m(\n '.legend',\n {\n style: { display: 'fixed' },\n },\n m(\n '.legend-items',\n {\n style: {\n // position: 'fixed',\n top: 0,\n right: 0,\n display: 'flex',\n alignItems: 'center',\n gap: '8px', // equivalent to space-x-2\n },\n },\n items.map((item, index) =>\n m(\n 'div',\n {\n key: index,\n style: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '40px', // w-10\n height: '40px', // h-10\n backgroundColor: item.color,\n color: getContrastColor(item.color),\n borderRadius: '8px', // Optional: to match the rounded look\n },\n },\n index === items.length - 1\n ? `${item.threshold}+`\n : `${item.threshold}x`\n )\n )\n )\n );\n },\n};\n\nexport default LegendComponent;\n","import m from 'mithril';\nimport {\n Dashboards,\n ContextualItem,\n ScenarioComponent,\n ID,\n ContextType,\n Color,\n} from '../models';\nimport {\n MeiosisComponent,\n mutateScenarioComponent,\n setPage,\n i18n,\n t,\n moveScenarioComponent,\n} from '../services';\nimport { FlatButton, ModalPanel, Tabs } from 'mithril-materialized';\nimport {\n FormAttributes,\n LayoutForm,\n SlimdownView,\n UIForm,\n} from 'mithril-ui-form';\nimport { contrastingColor, generateNumbers, modelToSaveName } from '../utils';\nimport { LegendComponent } from './ui';\n\nconst BoxItem: MeiosisComponent<{\n id: ID;\n item: ContextualItem;\n contexts?: ContextType[];\n form: UIForm<ContextualItem>;\n color: [Color, Color];\n}> = () => {\n let obj: ContextualItem;\n let contextAwareForm: UIForm<ContextualItem>;\n\n return {\n oninit: ({ attrs: { item, form, contexts } }) => {\n const hasContext =\n contexts && contexts.length > 0 && contexts[0] !== 'none';\n contextAwareForm = form\n .filter((i) => (i.id === 'context' ? hasContext : true))\n .map((i) =>\n i.id === 'context' &&\n hasContext &&\n i.options &&\n i.options instanceof Array\n ? {\n ...i,\n options: i.options.filter(\n (o) =>\n o.id === 'none' ||\n contexts.indexOf(o.id as ContextType) >= 0\n ),\n }\n : i\n );\n obj = { ...item };\n },\n view: ({ attrs }) => {\n const { item, id, color } = attrs;\n return m(\n 'li.kanban-item.card.widget[draggable=true]',\n {\n key: id,\n id: `ki_${item.id}`,\n style: `background-color: ${color[0]}; color: ${color[1]}`,\n ondragstart: (ev: DragEvent) => {\n ev.dataTransfer?.setData(id, JSON.stringify([id, item.id]));\n },\n ondragover: (ev: DragEvent) => {\n const allowed = ev.dataTransfer?.types.includes(id.toLowerCase());\n if (allowed) ev.preventDefault();\n },\n ondrop: (ev: DragEvent) => {\n ev.preventDefault();\n const data = ev.dataTransfer?.getData(id);\n if (!data) return;\n const [_, itemId] = JSON.parse(data) as [string, string];\n const dropTarget = ev.currentTarget as HTMLDataListElement;\n if (!itemId || !dropTarget || itemId === item.id) return;\n if (!dropTarget) return;\n const dropY = ev.clientY - dropTarget.getBoundingClientRect().top;\n const dropHeight = dropTarget.clientHeight;\n const moveBefore = dropY <= dropHeight / 2;\n moveScenarioComponent(attrs, id, itemId, item.id, moveBefore);\n },\n },\n [\n m('.card-content', [\n m(\n 'span.card-title',\n {\n onmouseenter: item.desc\n ? () => {\n attrs.update({\n activeTooltip: item.desc,\n });\n }\n : undefined,\n onmouseleave: item.desc\n ? () => {\n attrs.update({\n activeTooltip: undefined,\n });\n }\n : undefined,\n },\n item.label\n ),\n // item.desc && m('span.card-desc', item.desc),\n m(FlatButton, {\n className: 'top-right widget-link',\n iconName: 'edit',\n iconClass: 'no-gutter',\n modalId: `modal_${item.id}`,\n }),\n ]),\n m(ModalPanel, {\n id: `modal_${item.id}`,\n title: t('EDIT_COMPONENT'),\n fixedFooter: true,\n description: m(\n '.row',\n m(LayoutForm, {\n form: contextAwareForm,\n obj,\n i18n: i18n.i18n,\n } as FormAttributes<ContextualItem>)\n ),\n // options: { opacity: 0.7 },\n buttons: [\n {\n label: t('CANCEL'),\n },\n {\n label: t('DELETE'),\n onclick: () => {\n mutateScenarioComponent(attrs, id, obj, 'delete');\n },\n },\n {\n label: t('OK'),\n onclick: () => {\n mutateScenarioComponent(attrs, id, obj, 'update');\n },\n },\n ],\n }),\n ]\n );\n },\n };\n};\n\nconst BoxHeader: MeiosisComponent<{\n sc: ScenarioComponent;\n form: UIForm<ContextualItem>;\n}> = () => {\n let obj = {} as ContextualItem;\n return {\n view: ({ attrs }) => {\n const { sc, form } = attrs;\n const { id } = sc;\n\n return m('li.kanban-header.widget', { key: 'header' }, [\n m(\n '.span.title.truncate.left.ml10',\n {\n onmouseenter: sc.desc\n ? () => {\n attrs.update({\n activeTooltip: sc.desc,\n });\n }\n : undefined,\n onmouseleave: sc.desc\n ? () => {\n attrs.update({\n activeTooltip: undefined,\n });\n }\n : undefined,\n },\n sc.label\n ),\n m(FlatButton, {\n className: 'widget-link',\n iconName: 'add',\n iconClass: 'no-gutter',\n modalId: sc.id,\n i18n: i18n.i18n,\n }),\n m(ModalPanel, {\n id: sc.id,\n title: t('ADD_COMPONENT'),\n fixedFooter: true,\n description: m(\n '.row',\n m(LayoutForm, {\n form,\n obj,\n i18n: i18n.i18n,\n } as FormAttributes<ContextualItem>)\n ),\n // options: { opacity: 0.7 },\n buttons: [\n {\n label: t('CANCEL'),\n },\n {\n label: t('OK'),\n onclick: () => {\n const item = { ...obj };\n obj = {} as ContextualItem;\n mutateScenarioComponent(attrs, id, item, 'create');\n },\n },\n ],\n }),\n ]);\n },\n };\n};\n\nconst BoxRow: MeiosisComponent<{\n sc: ScenarioComponent;\n form: UIForm<ContextualItem>;\n compColor: { [key: ID]: [Color, Color] };\n}> = () => {\n return {\n view: ({ attrs }) => {\n const { sc, form, compColor } = attrs;\n return m('li', { key: sc.id }, [\n m(\n 'ul.kanban-row',\n m(BoxHeader, { ...attrs, sc, form }),\n sc.values?.map((c) =>\n m(BoxItem, {\n key: c.id,\n ...attrs,\n id: sc.id,\n contexts: sc.contexts,\n item: c,\n form,\n color: compColor[c.id] || compColor['OTHER'],\n })\n )\n ),\n ]);\n },\n };\n};\n\nconst BoxView: MeiosisComponent<{\n categoryId: number;\n form: UIForm<ContextualItem>;\n compColor: { [key: ID]: [Color, Color] };\n}> = () => {\n return {\n view: ({ attrs }) => {\n const {\n form,\n categoryId,\n compColor,\n state: { model },\n } = attrs;\n const { scenario } = model;\n const { categories, components: components } = scenario;\n const category = categories[categoryId];\n const scs = components.filter(\n (c) => category.componentIds && category.componentIds.indexOf(c.id) >= 0\n );\n\n return m('ul.kanban', [\n // m(\n // '.kanban-row',\n scs.map((sc) => m(BoxRow, { ...attrs, sc, form, compColor })),\n // ),\n ]);\n },\n };\n};\n\nexport const CreateBoxPage: MeiosisComponent = () => {\n const form = [\n { id: 'id', autogenerate: 'id' },\n { id: 'label', type: 'text', label: t('NAME') },\n { id: 'desc', type: 'textarea', label: t('DESCRIPTION') },\n // {\n // id: 'context',\n // type: 'select',\n // label: t('CONTEXT'),\n // value: 'none',\n // options: contextTypeOptions(t),\n // },\n // {\n // id: 'locationType',\n // show: ['context=location'],\n // type: 'select',\n // label: t('LOCATION_TYPE'),\n // className: 'col s6',\n // options: [\n // { id: 'name', label: t('NAME') },\n // { id: 'coords', label: t('COORDINATES') },\n // ],\n // },\n // {\n // id: 'location',\n // show: ['context=location & locationType=name'],\n // type: 'text',\n // className: 'col s6',\n // label: t('LOCATION_NAME'),\n // },\n // {\n // id: 'lat',\n // show: ['context=location & locationType=coords'],\n // type: 'number',\n // className: 'col s3',\n // label: t('LATITUDE'),\n // },\n // {\n // id: 'lon',\n // show: ['context=location & locationType=coords'],\n // type: 'number',\n // className: 'col s3',\n // label: t('LONGITUDE'),\n // },\n // {\n // id: 'locationTypeType',\n // show: ['context=locationType'],\n // type: 'select',\n // label: t('LOCATION_TYPE'),\n // className: 'col s6',\n // options: [\n // { id: 'list', label: t('PICK_FROM_LIST') },\n // { id: 'keyValue', label: t('ENTER_KEY_VALUE') },\n // ],\n // },\n // {\n // id: 'osmTypeId',\n // show: ['context=locationType & locationTypeType=list'],\n // type: 'select',\n // label: t('NAME'),\n // className: 'col s6',\n // options: OsmTypes.map(({ id, name }) => ({ id, label: name })),\n // },\n // {\n // id: 'value',\n // show: ['context=locationType & locationTypeType=keyValue'],\n // type: 'text',\n // className: 'col s3',\n // label: t('KEY'),\n // },\n // {\n // id: 'key',\n // show: ['context=locationType & locationTypeType=keyValue'],\n // type: 'text',\n // className: 'col s3',\n // label: t('VALUE'),\n // },\n ] as UIForm<ContextualItem>;\n let compColor: { [key: ID]: [Color, Color] } = {};\n\n return {\n oninit: ({ attrs }) => {\n setPage(attrs, Dashboards.DEFINE_BOX);\n },\n view: ({ attrs }) => {\n const {\n activeTooltip,\n model: { scenario },\n } = attrs.state;\n const { categories, thresholdColors = [] } = scenario;\n\n if (compColor || Object.keys(compColor).length < thresholdColors.length) {\n const { narratives = [] } = scenario;\n const componentUsage = narratives\n .filter((n) => n.included)\n .reduce((acc, cur) => {\n const { components: components } = cur;\n Object.keys(components).forEach((c) => {\n for (const compValue of components[c]) {\n if (acc[compValue]) {\n acc[compValue]++;\n } else {\n acc[compValue] = 1;\n }\n }\n });\n return acc;\n }, {} as { [key: ID]: number });\n const count2color: Color[] = generateNumbers(\n 0,\n Math.max(...thresholdColors.map((c) => c.threshold))\n ).map((_) => '');\n let i = 0;\n thresholdColors\n .sort((a, b) => (a.threshold > b.threshold ? 1 : -1))\n .forEach((tc) => {\n do {\n count2color[i] = tc.color;\n i++;\n } while (i < tc.threshold);\n });\n compColor = Object.entries(componentUsage).reduce(\n (acc, [id, count]) => {\n const color =\n count < count2color.length\n ? count2color[count]\n : count2color[count2color.length - 1];\n acc[id] = [color, contrastingColor(color)];\n return acc;\n },\n { OTHER: [count2color[0], contrastingColor(count2color[0])] } as {\n [key: ID]: [Color, Color];\n }\n );\n }\n\n return [\n m('.create-box-page', [\n scenario &&\n scenario.thresholdColors &&\n m(LegendComponent, { items: scenario.thresholdColors }),\n categories.length > 1 &&\n categories[0].componentIds &&\n categories[1].componentIds\n ? m(Tabs, {\n tabs: categories.map((c, categoryId) => ({\n id: c.id,\n title: c.label,\n vnode: m(BoxView, {\n ...attrs,\n compColor,\n categoryId,\n form,\n }),\n })),\n })\n : categories.length === 1 && categories[0].componentIds\n ? m(BoxView, { ...attrs, compColor, categoryId: 0, form })\n : m('.row.mt10', m('.col.s12', t('SPEC_CATS'))),\n activeTooltip &&\n m(\n '.popupContainer',\n m(\n '.popupContent.center',\n m(SlimdownView, { md: activeTooltip, removeParagraphs: true })\n )\n ),\n ]),\n ];\n },\n };\n};\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n","import eq from './eq.js';\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nexport default assocIndexOf;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nexport default listCacheDelete;\n","import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nexport default listCacheClear;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nexport default listCacheGet;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nexport default listCacheHas;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nexport default listCacheSet;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nexport default toSource;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nexport default hashHas;\n","import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n","import nativeCreate from './_nativeCreate.js';\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nexport default hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default hashDelete;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nexport default hashSet;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nexport default isKeyable;\n","import isKeyable from './_isKeyable.js';\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nexport default getMapData;\n","import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n","import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nexport default mapCacheClear;\n","import getMapData from './_getMapData.js';\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default mapCacheDelete;\n","import getMapData from './_getMapData.js';\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nexport default mapCacheGet;\n","import getMapData from './_getMapData.js';\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nexport default mapCacheHas;\n","import getMapData from './_getMapData.js';\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nexport default mapCacheSet;\n","import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nexport default Stack;\n","import ListCache from './_ListCache.js';\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nexport default stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nexport default stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nexport default stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nexport default stackHas;\n","import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nexport default stackSet;\n","import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n","import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nexport default baseAssignValue;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignMergeValue;\n","import createBaseFor from './_createBaseFor.js';\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nexport default baseFor;\n","import root from './_root.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nexport default cloneBuffer;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n","import Uint8Array from './_Uint8Array.js';\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nexport default cloneArrayBuffer;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nexport default cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nexport default copyArray;\n","import isObject from './isObject.js';\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nexport default baseCreate;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nexport default isPrototype;\n","import baseCreate from './_baseCreate.js';\nimport getPrototype from './_getPrototype.js';\nimport isPrototype from './_isPrototype.js';\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nexport default initCloneObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n","import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nexport default stubFalse;\n","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nexport default baseUnary;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nexport default nodeUtil;\n","import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nexport default safeGet;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignValue;\n","import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nexport default copyObject;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nexport default baseTimes;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default arrayLikeKeys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default nativeKeysIn;\n","import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeysIn;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n","import assignMergeValue from './_assignMergeValue.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\nimport copyArray from './_copyArray.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\nimport isBuffer from './isBuffer.js';\nimport isFunction from './isFunction.js';\nimport isObject from './isObject.js';\nimport isPlainObject from './isPlainObject.js';\nimport isTypedArray from './isTypedArray.js';\nimport safeGet from './_safeGet.js';\nimport toPlainObject from './toPlainObject.js';\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nexport default baseMergeDeep;\n","import isArrayLike from './isArrayLike.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nexport default isArrayLikeObject;\n","import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nexport default toPlainObject;\n","import Stack from './_Stack.js';\nimport assignMergeValue from './_assignMergeValue.js';\nimport baseFor from './_baseFor.js';\nimport baseMergeDeep from './_baseMergeDeep.js';\nimport isObject from './isObject.js';\nimport keysIn from './keysIn.js';\nimport safeGet from './_safeGet.js';\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nexport default baseMerge;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nexport default apply;\n","import apply from './_apply.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nexport default overRest;\n","import baseSetToString from './_baseSetToString.js';\nimport shortOut from './_shortOut.js';\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nexport default setToString;\n","import constant from './constant.js';\nimport defineProperty from './_defineProperty.js';\nimport identity from './identity.js';\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nexport default baseSetToString;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nexport default constant;\n","import identity from './identity.js';\nimport overRest from './_overRest.js';\nimport setToString from './_setToString.js';\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nexport default baseRest;\n","import eq from './eq.js';\nimport isArrayLike from './isArrayLike.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nexport default isIterateeCall;\n","import baseMerge from './_baseMerge.js';\nimport createAssigner from './_createAssigner.js';\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nexport default merge;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nexport default arrayEach;\n","import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n","import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeys;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nexport default keys;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nexport default arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nexport default stubArray;\n","import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nexport default getSymbols;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nexport default arrayPush;\n","import arrayPush from './_arrayPush.js';\nimport getPrototype from './_getPrototype.js';\nimport getSymbols from './_getSymbols.js';\nimport stubArray from './stubArray.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nexport default getSymbolsIn;\n","import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nexport default baseGetAllKeys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nexport default getAllKeys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nexport default getAllKeysIn;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n","import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nexport default getTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nexport default initCloneArray;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nexport default cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nexport default cloneRegExp;\n","import Symbol from './_Symbol.js';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nexport default cloneSymbol;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\nimport cloneDataView from './_cloneDataView.js';\nimport cloneRegExp from './_cloneRegExp.js';\nimport cloneSymbol from './_cloneSymbol.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nexport default initCloneByTag;\n","import baseIsMap from './_baseIsMap.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nexport default isMap;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nexport default baseIsMap;\n","import baseIsSet from './_baseIsSet.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nexport default isSet;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nexport default baseIsSet;\n","import Stack from './_Stack.js';\nimport arrayEach from './_arrayEach.js';\nimport assignValue from './_assignValue.js';\nimport baseAssign from './_baseAssign.js';\nimport baseAssignIn from './_baseAssignIn.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport copyArray from './_copyArray.js';\nimport copySymbols from './_copySymbols.js';\nimport copySymbolsIn from './_copySymbolsIn.js';\nimport getAllKeys from './_getAllKeys.js';\nimport getAllKeysIn from './_getAllKeysIn.js';\nimport getTag from './_getTag.js';\nimport initCloneArray from './_initCloneArray.js';\nimport initCloneByTag from './_initCloneByTag.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isMap from './isMap.js';\nimport isObject from './isObject.js';\nimport isSet from './isSet.js';\nimport keys from './keys.js';\nimport keysIn from './keysIn.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nexport default baseClone;\n","import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nexport default baseAssignIn;\n","import copyObject from './_copyObject.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nexport default copySymbolsIn;\n","import copyObject from './_copyObject.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nexport default baseAssign;\n","import copyObject from './_copyObject.js';\nimport getSymbols from './_getSymbols.js';\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nexport default copySymbols;\n","import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nexport default cloneDeep;\n","import MapCache from './_MapCache.js';\nimport setCacheAdd from './_setCacheAdd.js';\nimport setCacheHas from './_setCacheHas.js';\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nexport default SetCache;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nexport default setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nexport default setCacheHas;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nexport default arraySome;\n","import SetCache from './_SetCache.js';\nimport arraySome from './_arraySome.js';\nimport cacheHas from './_cacheHas.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nexport default equalArrays;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nexport default cacheHas;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nexport default mapToArray;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nexport default setToArray;\n","import Symbol from './_Symbol.js';\nimport Uint8Array from './_Uint8Array.js';\nimport eq from './eq.js';\nimport equalArrays from './_equalArrays.js';\nimport mapToArray from './_mapToArray.js';\nimport setToArray from './_setToArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nexport default equalByTag;\n","import getAllKeys from './_getAllKeys.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nexport default equalObjects;\n","import Stack from './_Stack.js';\nimport equalArrays from './_equalArrays.js';\nimport equalByTag from './_equalByTag.js';\nimport equalObjects from './_equalObjects.js';\nimport getTag from './_getTag.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nexport default baseIsEqualDeep;\n","import baseIsEqual from './_baseIsEqual.js';\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nexport default isEqual;\n","import baseIsEqualDeep from './_baseIsEqualDeep.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nexport default baseIsEqual;\n","import { EmbedBlot } from 'parchment';\nclass Break extends EmbedBlot {\n static value() {\n return undefined;\n }\n optimize() {\n if (this.prev || this.next) {\n this.remove();\n }\n }\n length() {\n return 0;\n }\n value() {\n return '';\n }\n}\nBreak.blotName = 'break';\nBreak.tagName = 'BR';\nexport default Break;\n//# sourceMappingURL=break.js.map","import { TextBlot } from 'parchment';\nclass Text extends TextBlot {}\nfunction escapeText(text) {\n return text.replace(/[&<>\"']/g, s => {\n // https://lodash.com/docs#escape\n const entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n return entityMap[s];\n });\n}\nexport { Text as default, escapeText };\n//# sourceMappingURL=text.js.map","import { EmbedBlot, InlineBlot, Scope } from 'parchment';\nimport Break from './break.js';\nimport Text from './text.js';\nclass Inline extends InlineBlot {\n static allowedChildren = [Inline, Break, EmbedBlot, Text];\n // Lower index means deeper in the DOM tree, since not found (-1) is for embeds\n static order = ['cursor', 'inline',\n // Must be lower\n 'link',\n // Chrome wants <a> to be lower\n 'underline', 'strike', 'italic', 'bold', 'script', 'code' // Must be higher\n ];\n static compare(self, other) {\n const selfIndex = Inline.order.indexOf(self);\n const otherIndex = Inline.order.indexOf(other);\n if (selfIndex >= 0 || otherIndex >= 0) {\n return selfIndex - otherIndex;\n }\n if (self === other) {\n return 0;\n }\n if (self < other) {\n return -1;\n }\n return 1;\n }\n formatAt(index, length, name, value) {\n if (Inline.compare(this.statics.blotName, name) < 0 && this.scroll.query(name, Scope.BLOT)) {\n const blot = this.isolate(index, length);\n if (value) {\n blot.wrap(name, value);\n }\n } else {\n super.formatAt(index, length, name, value);\n }\n }\n optimize(context) {\n super.optimize(context);\n if (this.parent instanceof Inline && Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {\n const parent = this.parent.isolate(this.offset(), this.length());\n // @ts-expect-error TODO: make isolate generic\n this.moveChildren(parent);\n parent.wrap(this);\n }\n }\n}\nexport default Inline;\n//# sourceMappingURL=inline.js.map","import { AttributorStore, BlockBlot, EmbedBlot, LeafBlot, Scope } from 'parchment';\nimport Delta from 'quill-delta';\nimport Break from './break.js';\nimport Inline from './inline.js';\nimport TextBlot from './text.js';\nconst NEWLINE_LENGTH = 1;\nclass Block extends BlockBlot {\n cache = {};\n delta() {\n if (this.cache.delta == null) {\n this.cache.delta = blockDelta(this);\n }\n return this.cache.delta;\n }\n deleteAt(index, length) {\n super.deleteAt(index, length);\n this.cache = {};\n }\n formatAt(index, length, name, value) {\n if (length <= 0) return;\n if (this.scroll.query(name, Scope.BLOCK)) {\n if (index + length === this.length()) {\n this.format(name, value);\n }\n } else {\n super.formatAt(index, Math.min(length, this.length() - index - 1), name, value);\n }\n this.cache = {};\n }\n insertAt(index, value, def) {\n if (def != null) {\n super.insertAt(index, value, def);\n this.cache = {};\n return;\n }\n if (value.length === 0) return;\n const lines = value.split('\\n');\n const text = lines.shift();\n if (text.length > 0) {\n if (index < this.length() - 1 || this.children.tail == null) {\n super.insertAt(Math.min(index, this.length() - 1), text);\n } else {\n this.children.tail.insertAt(this.children.tail.length(), text);\n }\n this.cache = {};\n }\n // TODO: Fix this next time the file is edited.\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let block = this;\n lines.reduce((lineIndex, line) => {\n // @ts-expect-error Fix me later\n block = block.split(lineIndex, true);\n block.insertAt(0, line);\n return line.length;\n }, index + text.length);\n }\n insertBefore(blot, ref) {\n const {\n head\n } = this.children;\n super.insertBefore(blot, ref);\n if (head instanceof Break) {\n head.remove();\n }\n this.cache = {};\n }\n length() {\n if (this.cache.length == null) {\n this.cache.length = super.length() + NEWLINE_LENGTH;\n }\n return this.cache.length;\n }\n moveChildren(target, ref) {\n super.moveChildren(target, ref);\n this.cache = {};\n }\n optimize(context) {\n super.optimize(context);\n this.cache = {};\n }\n path(index) {\n return super.path(index, true);\n }\n removeChild(child) {\n super.removeChild(child);\n this.cache = {};\n }\n split(index) {\n let force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (force && (index === 0 || index >= this.length() - NEWLINE_LENGTH)) {\n const clone = this.clone();\n if (index === 0) {\n this.parent.insertBefore(clone, this);\n return this;\n }\n this.parent.insertBefore(clone, this.next);\n return clone;\n }\n const next = super.split(index, force);\n this.cache = {};\n return next;\n }\n}\nBlock.blotName = 'block';\nBlock.tagName = 'P';\nBlock.defaultChild = Break;\nBlock.allowedChildren = [Break, Inline, EmbedBlot, TextBlot];\nclass BlockEmbed extends EmbedBlot {\n attach() {\n super.attach();\n this.attributes = new AttributorStore(this.domNode);\n }\n delta() {\n return new Delta().insert(this.value(), {\n ...this.formats(),\n ...this.attributes.values()\n });\n }\n format(name, value) {\n const attribute = this.scroll.query(name, Scope.BLOCK_ATTRIBUTE);\n if (attribute != null) {\n // @ts-expect-error TODO: Scroll#query() should return Attributor when scope is attribute\n this.attributes.attribute(attribute, value);\n }\n }\n formatAt(index, length, name, value) {\n this.format(name, value);\n }\n insertAt(index, value, def) {\n if (def != null) {\n super.insertAt(index, value, def);\n return;\n }\n const lines = value.split('\\n');\n const text = lines.pop();\n const blocks = lines.map(line => {\n const block = this.scroll.create(Block.blotName);\n block.insertAt(0, line);\n return block;\n });\n const ref = this.split(index);\n blocks.forEach(block => {\n this.parent.insertBefore(block, ref);\n });\n if (text) {\n this.parent.insertBefore(this.scroll.create('text', text), ref);\n }\n }\n}\nBlockEmbed.scope = Scope.BLOCK_BLOT;\n// It is important for cursor behavior BlockEmbeds use tags that are block level elements\n\nfunction blockDelta(blot) {\n let filter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n return blot.descendants(LeafBlot).reduce((delta, leaf) => {\n if (leaf.length() === 0) {\n return delta;\n }\n return delta.insert(leaf.value(), bubbleFormats(leaf, {}, filter));\n }, new Delta()).insert('\\n', bubbleFormats(blot));\n}\nfunction bubbleFormats(blot) {\n let formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let filter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n if (blot == null) return formats;\n if ('formats' in blot && typeof blot.formats === 'function') {\n formats = {\n ...formats,\n ...blot.formats()\n };\n if (filter) {\n // exclude syntax highlighting from deltas and getFormat()\n delete formats['code-token'];\n }\n }\n if (blot.parent == null || blot.parent.statics.blotName === 'scroll' || blot.parent.statics.scope !== blot.statics.scope) {\n return formats;\n }\n return bubbleFormats(blot.parent, formats, filter);\n}\nexport { blockDelta, bubbleFormats, BlockEmbed, Block as default };\n//# sourceMappingURL=block.js.map","import { EmbedBlot, Scope } from 'parchment';\nimport TextBlot from './text.js';\nclass Cursor extends EmbedBlot {\n static blotName = 'cursor';\n static className = 'ql-cursor';\n static tagName = 'span';\n static CONTENTS = '\\uFEFF'; // Zero width no break space\n\n static value() {\n return undefined;\n }\n constructor(scroll, domNode, selection) {\n super(scroll, domNode);\n this.selection = selection;\n this.textNode = document.createTextNode(Cursor.CONTENTS);\n this.domNode.appendChild(this.textNode);\n this.savedLength = 0;\n }\n detach() {\n // super.detach() will also clear domNode.__blot\n if (this.parent != null) this.parent.removeChild(this);\n }\n format(name, value) {\n if (this.savedLength !== 0) {\n super.format(name, value);\n return;\n }\n // TODO: Fix this next time the file is edited.\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let target = this;\n let index = 0;\n while (target != null && target.statics.scope !== Scope.BLOCK_BLOT) {\n index += target.offset(target.parent);\n target = target.parent;\n }\n if (target != null) {\n this.savedLength = Cursor.CONTENTS.length;\n // @ts-expect-error TODO: allow empty context in Parchment\n target.optimize();\n target.formatAt(index, Cursor.CONTENTS.length, name, value);\n this.savedLength = 0;\n }\n }\n index(node, offset) {\n if (node === this.textNode) return 0;\n return super.index(node, offset);\n }\n length() {\n return this.savedLength;\n }\n position() {\n return [this.textNode, this.textNode.data.length];\n }\n remove() {\n super.remove();\n // @ts-expect-error Fix me later\n this.parent = null;\n }\n restore() {\n if (this.selection.composing || this.parent == null) return null;\n const range = this.selection.getNativeRange();\n // Browser may push down styles/nodes inside the cursor blot.\n // https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#push-down-values\n while (this.domNode.lastChild != null && this.domNode.lastChild !== this.textNode) {\n // @ts-expect-error Fix me later\n this.domNode.parentNode.insertBefore(this.domNode.lastChild, this.domNode);\n }\n const prevTextBlot = this.prev instanceof TextBlot ? this.prev : null;\n const prevTextLength = prevTextBlot ? prevTextBlot.length() : 0;\n const nextTextBlot = this.next instanceof TextBlot ? this.next : null;\n // @ts-expect-error TODO: make TextBlot.text public\n const nextText = nextTextBlot ? nextTextBlot.text : '';\n const {\n textNode\n } = this;\n // take text from inside this blot and reset it\n const newText = textNode.data.split(Cursor.CONTENTS).join('');\n textNode.data = Cursor.CONTENTS;\n\n // proactively merge TextBlots around cursor so that optimization\n // doesn't lose the cursor. the reason we are here in cursor.restore\n // could be that the user clicked in prevTextBlot or nextTextBlot, or\n // the user typed something.\n let mergedTextBlot;\n if (prevTextBlot) {\n mergedTextBlot = prevTextBlot;\n if (newText || nextTextBlot) {\n prevTextBlot.insertAt(prevTextBlot.length(), newText + nextText);\n if (nextTextBlot) {\n nextTextBlot.remove();\n }\n }\n } else if (nextTextBlot) {\n mergedTextBlot = nextTextBlot;\n nextTextBlot.insertAt(0, newText);\n } else {\n const newTextNode = document.createTextNode(newText);\n mergedTextBlot = this.scroll.create(newTextNode);\n this.parent.insertBefore(mergedTextBlot, this);\n }\n this.remove();\n if (range) {\n // calculate selection to restore\n const remapOffset = (node, offset) => {\n if (prevTextBlot && node === prevTextBlot.domNode) {\n return offset;\n }\n if (node === textNode) {\n return prevTextLength + offset - 1;\n }\n if (nextTextBlot && node === nextTextBlot.domNode) {\n return prevTextLength + newText.length + offset;\n }\n return null;\n };\n const start = remapOffset(range.start.node, range.start.offset);\n const end = remapOffset(range.end.node, range.end.offset);\n if (start !== null && end !== null) {\n return {\n startNode: mergedTextBlot.domNode,\n startOffset: start,\n endNode: mergedTextBlot.domNode,\n endOffset: end\n };\n }\n }\n return null;\n }\n update(mutations, context) {\n if (mutations.some(mutation => {\n return mutation.type === 'characterData' && mutation.target === this.textNode;\n })) {\n const range = this.restore();\n if (range) context.range = range;\n }\n }\n\n // Avoid .ql-cursor being a descendant of `<a/>`.\n // The reason is Safari pushes down `<a/>` on text insertion.\n // That will cause DOM nodes not sync with the model.\n //\n // For example ({I} is the caret), given the markup:\n // <a><span class=\"ql-cursor\">\\uFEFF{I}</span></a>\n // When typing a char \"x\", `<a/>` will be pushed down inside the `<span>` first:\n // <span class=\"ql-cursor\"><a>\\uFEFF{I}</a></span>\n // And then \"x\" will be inserted after `<a/>`:\n // <span class=\"ql-cursor\"><a>\\uFEFF</a>d{I}</span>\n optimize(context) {\n // @ts-expect-error Fix me later\n super.optimize(context);\n let {\n parent\n } = this;\n while (parent) {\n if (parent.domNode.tagName === 'A') {\n this.savedLength = Cursor.CONTENTS.length;\n // @ts-expect-error TODO: make isolate generic\n parent.isolate(this.offset(parent), this.length()).unwrap();\n this.savedLength = 0;\n break;\n }\n parent = parent.parent;\n }\n }\n value() {\n return '';\n }\n}\nexport default Cursor;\n//# sourceMappingURL=cursor.js.map","export default new WeakMap();\n//# sourceMappingURL=instances.js.map","const levels = ['error', 'warn', 'log', 'info'];\nlet level = 'warn';\nfunction debug(method) {\n if (level) {\n if (levels.indexOf(method) <= levels.indexOf(level)) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n console[method](...args); // eslint-disable-line no-console\n }\n }\n}\nfunction namespace(ns) {\n return levels.reduce((logger, method) => {\n logger[method] = debug.bind(console, method, ns);\n return logger;\n }, {});\n}\nnamespace.level = newLevel => {\n level = newLevel;\n};\ndebug.level = namespace.level;\nexport default namespace;\n//# sourceMappingURL=logger.js.map","import { EventEmitter } from 'eventemitter3';\nimport instances from './instances.js';\nimport logger from './logger.js';\nconst debug = logger('quill:events');\nconst EVENTS = ['selectionchange', 'mousedown', 'mouseup', 'click'];\nEVENTS.forEach(eventName => {\n document.addEventListener(eventName, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n Array.from(document.querySelectorAll('.ql-container')).forEach(node => {\n const quill = instances.get(node);\n if (quill && quill.emitter) {\n quill.emitter.handleDOM(...args);\n }\n });\n });\n});\nclass Emitter extends EventEmitter {\n static events = {\n EDITOR_CHANGE: 'editor-change',\n SCROLL_BEFORE_UPDATE: 'scroll-before-update',\n SCROLL_BLOT_MOUNT: 'scroll-blot-mount',\n SCROLL_BLOT_UNMOUNT: 'scroll-blot-unmount',\n SCROLL_OPTIMIZE: 'scroll-optimize',\n SCROLL_UPDATE: 'scroll-update',\n SCROLL_EMBED_UPDATE: 'scroll-embed-update',\n SELECTION_CHANGE: 'selection-change',\n TEXT_CHANGE: 'text-change',\n COMPOSITION_BEFORE_START: 'composition-before-start',\n COMPOSITION_START: 'composition-start',\n COMPOSITION_BEFORE_END: 'composition-before-end',\n COMPOSITION_END: 'composition-end'\n };\n static sources = {\n API: 'api',\n SILENT: 'silent',\n USER: 'user'\n };\n constructor() {\n super();\n this.domListeners = {};\n this.on('error', debug.error);\n }\n emit() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n debug.log.call(debug, ...args);\n // @ts-expect-error\n return super.emit(...args);\n }\n handleDOM(event) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n (this.domListeners[event.type] || []).forEach(_ref => {\n let {\n node,\n handler\n } = _ref;\n if (event.target === node || node.contains(event.target)) {\n handler(event, ...args);\n }\n });\n }\n listenDOM(eventName, node, handler) {\n if (!this.domListeners[eventName]) {\n this.domListeners[eventName] = [];\n }\n this.domListeners[eventName].push({\n node,\n handler\n });\n }\n}\nexport default Emitter;\n//# sourceMappingURL=emitter.js.map","import { LeafBlot, Scope } from 'parchment';\nimport { cloneDeep, isEqual } from 'lodash-es';\nimport Emitter from './emitter.js';\nimport logger from './logger.js';\nconst debug = logger('quill:selection');\nexport class Range {\n constructor(index) {\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n this.index = index;\n this.length = length;\n }\n}\nclass Selection {\n constructor(scroll, emitter) {\n this.emitter = emitter;\n this.scroll = scroll;\n this.composing = false;\n this.mouseDown = false;\n this.root = this.scroll.domNode;\n // @ts-expect-error\n this.cursor = this.scroll.create('cursor', this);\n // savedRange is last non-null range\n this.savedRange = new Range(0, 0);\n this.lastRange = this.savedRange;\n this.lastNative = null;\n this.handleComposition();\n this.handleDragging();\n this.emitter.listenDOM('selectionchange', document, () => {\n if (!this.mouseDown && !this.composing) {\n setTimeout(this.update.bind(this, Emitter.sources.USER), 1);\n }\n });\n this.emitter.on(Emitter.events.SCROLL_BEFORE_UPDATE, () => {\n if (!this.hasFocus()) return;\n const native = this.getNativeRange();\n if (native == null) return;\n if (native.start.node === this.cursor.textNode) return; // cursor.restore() will handle\n this.emitter.once(Emitter.events.SCROLL_UPDATE, (source, mutations) => {\n try {\n if (this.root.contains(native.start.node) && this.root.contains(native.end.node)) {\n this.setNativeRange(native.start.node, native.start.offset, native.end.node, native.end.offset);\n }\n const triggeredByTyping = mutations.some(mutation => mutation.type === 'characterData' || mutation.type === 'childList' || mutation.type === 'attributes' && mutation.target === this.root);\n this.update(triggeredByTyping ? Emitter.sources.SILENT : source);\n } catch (ignored) {\n // ignore\n }\n });\n });\n this.emitter.on(Emitter.events.SCROLL_OPTIMIZE, (mutations, context) => {\n if (context.range) {\n const {\n startNode,\n startOffset,\n endNode,\n endOffset\n } = context.range;\n this.setNativeRange(startNode, startOffset, endNode, endOffset);\n this.update(Emitter.sources.SILENT);\n }\n });\n this.update(Emitter.sources.SILENT);\n }\n handleComposition() {\n this.emitter.on(Emitter.events.COMPOSITION_BEFORE_START, () => {\n this.composing = true;\n });\n this.emitter.on(Emitter.events.COMPOSITION_END, () => {\n this.composing = false;\n if (this.cursor.parent) {\n const range = this.cursor.restore();\n if (!range) return;\n setTimeout(() => {\n this.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n }, 1);\n }\n });\n }\n handleDragging() {\n this.emitter.listenDOM('mousedown', document.body, () => {\n this.mouseDown = true;\n });\n this.emitter.listenDOM('mouseup', document.body, () => {\n this.mouseDown = false;\n this.update(Emitter.sources.USER);\n });\n }\n focus() {\n if (this.hasFocus()) return;\n this.root.focus({\n preventScroll: true\n });\n this.setRange(this.savedRange);\n }\n format(format, value) {\n this.scroll.update();\n const nativeRange = this.getNativeRange();\n if (nativeRange == null || !nativeRange.native.collapsed || this.scroll.query(format, Scope.BLOCK)) return;\n if (nativeRange.start.node !== this.cursor.textNode) {\n const blot = this.scroll.find(nativeRange.start.node, false);\n if (blot == null) return;\n // TODO Give blot ability to not split\n if (blot instanceof LeafBlot) {\n const after = blot.split(nativeRange.start.offset);\n blot.parent.insertBefore(this.cursor, after);\n } else {\n // @ts-expect-error TODO: nativeRange.start.node doesn't seem to match function signature\n blot.insertBefore(this.cursor, nativeRange.start.node); // Should never happen\n }\n this.cursor.attach();\n }\n this.cursor.format(format, value);\n this.scroll.optimize();\n this.setNativeRange(this.cursor.textNode, this.cursor.textNode.data.length);\n this.update();\n }\n getBounds(index) {\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n const scrollLength = this.scroll.length();\n index = Math.min(index, scrollLength - 1);\n length = Math.min(index + length, scrollLength - 1) - index;\n let node;\n let [leaf, offset] = this.scroll.leaf(index);\n if (leaf == null) return null;\n if (length > 0 && offset === leaf.length()) {\n const [next] = this.scroll.leaf(index + 1);\n if (next) {\n const [line] = this.scroll.line(index);\n const [nextLine] = this.scroll.line(index + 1);\n if (line === nextLine) {\n leaf = next;\n offset = 0;\n }\n }\n }\n [node, offset] = leaf.position(offset, true);\n const range = document.createRange();\n if (length > 0) {\n range.setStart(node, offset);\n [leaf, offset] = this.scroll.leaf(index + length);\n if (leaf == null) return null;\n [node, offset] = leaf.position(offset, true);\n range.setEnd(node, offset);\n return range.getBoundingClientRect();\n }\n let side = 'left';\n let rect;\n if (node instanceof Text) {\n // Return null if the text node is empty because it is\n // not able to get a useful client rect:\n // https://github.com/w3c/csswg-drafts/issues/2514.\n // Empty text nodes are most likely caused by TextBlot#optimize()\n // not getting called when editor content changes.\n if (!node.data.length) {\n return null;\n }\n if (offset < node.data.length) {\n range.setStart(node, offset);\n range.setEnd(node, offset + 1);\n } else {\n range.setStart(node, offset - 1);\n range.setEnd(node, offset);\n side = 'right';\n }\n rect = range.getBoundingClientRect();\n } else {\n if (!(leaf.domNode instanceof Element)) return null;\n rect = leaf.domNode.getBoundingClientRect();\n if (offset > 0) side = 'right';\n }\n return {\n bottom: rect.top + rect.height,\n height: rect.height,\n left: rect[side],\n right: rect[side],\n top: rect.top,\n width: 0\n };\n }\n getNativeRange() {\n const selection = document.getSelection();\n if (selection == null || selection.rangeCount <= 0) return null;\n const nativeRange = selection.getRangeAt(0);\n if (nativeRange == null) return null;\n const range = this.normalizeNative(nativeRange);\n debug.info('getNativeRange', range);\n return range;\n }\n getRange() {\n const root = this.scroll.domNode;\n if ('isConnected' in root && !root.isConnected) {\n // document.getSelection() forces layout on Blink, so we trend to\n // not calling it.\n return [null, null];\n }\n const normalized = this.getNativeRange();\n if (normalized == null) return [null, null];\n const range = this.normalizedToRange(normalized);\n return [range, normalized];\n }\n hasFocus() {\n return document.activeElement === this.root || document.activeElement != null && contains(this.root, document.activeElement);\n }\n normalizedToRange(range) {\n const positions = [[range.start.node, range.start.offset]];\n if (!range.native.collapsed) {\n positions.push([range.end.node, range.end.offset]);\n }\n const indexes = positions.map(position => {\n const [node, offset] = position;\n const blot = this.scroll.find(node, true);\n // @ts-expect-error Fix me later\n const index = blot.offset(this.scroll);\n if (offset === 0) {\n return index;\n }\n if (blot instanceof LeafBlot) {\n return index + blot.index(node, offset);\n }\n // @ts-expect-error Fix me later\n return index + blot.length();\n });\n const end = Math.min(Math.max(...indexes), this.scroll.length() - 1);\n const start = Math.min(end, ...indexes);\n return new Range(start, end - start);\n }\n normalizeNative(nativeRange) {\n if (!contains(this.root, nativeRange.startContainer) || !nativeRange.collapsed && !contains(this.root, nativeRange.endContainer)) {\n return null;\n }\n const range = {\n start: {\n node: nativeRange.startContainer,\n offset: nativeRange.startOffset\n },\n end: {\n node: nativeRange.endContainer,\n offset: nativeRange.endOffset\n },\n native: nativeRange\n };\n [range.start, range.end].forEach(position => {\n let {\n node,\n offset\n } = position;\n while (!(node instanceof Text) && node.childNodes.length > 0) {\n if (node.childNodes.length > offset) {\n node = node.childNodes[offset];\n offset = 0;\n } else if (node.childNodes.length === offset) {\n // @ts-expect-error Fix me later\n node = node.lastChild;\n if (node instanceof Text) {\n offset = node.data.length;\n } else if (node.childNodes.length > 0) {\n // Container case\n offset = node.childNodes.length;\n } else {\n // Embed case\n offset = node.childNodes.length + 1;\n }\n } else {\n break;\n }\n }\n position.node = node;\n position.offset = offset;\n });\n return range;\n }\n rangeToNative(range) {\n const scrollLength = this.scroll.length();\n const getPosition = (index, inclusive) => {\n index = Math.min(scrollLength - 1, index);\n const [leaf, leafOffset] = this.scroll.leaf(index);\n return leaf ? leaf.position(leafOffset, inclusive) : [null, -1];\n };\n return [...getPosition(range.index, false), ...getPosition(range.index + range.length, true)];\n }\n setNativeRange(startNode, startOffset) {\n let endNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : startNode;\n let endOffset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : startOffset;\n let force = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n debug.info('setNativeRange', startNode, startOffset, endNode, endOffset);\n if (startNode != null && (this.root.parentNode == null || startNode.parentNode == null ||\n // @ts-expect-error Fix me later\n endNode.parentNode == null)) {\n return;\n }\n const selection = document.getSelection();\n if (selection == null) return;\n if (startNode != null) {\n if (!this.hasFocus()) this.root.focus({\n preventScroll: true\n });\n const {\n native\n } = this.getNativeRange() || {};\n if (native == null || force || startNode !== native.startContainer || startOffset !== native.startOffset || endNode !== native.endContainer || endOffset !== native.endOffset) {\n if (startNode instanceof Element && startNode.tagName === 'BR') {\n // @ts-expect-error Fix me later\n startOffset = Array.from(startNode.parentNode.childNodes).indexOf(startNode);\n startNode = startNode.parentNode;\n }\n if (endNode instanceof Element && endNode.tagName === 'BR') {\n // @ts-expect-error Fix me later\n endOffset = Array.from(endNode.parentNode.childNodes).indexOf(endNode);\n endNode = endNode.parentNode;\n }\n const range = document.createRange();\n // @ts-expect-error Fix me later\n range.setStart(startNode, startOffset);\n // @ts-expect-error Fix me later\n range.setEnd(endNode, endOffset);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n } else {\n selection.removeAllRanges();\n this.root.blur();\n }\n }\n setRange(range) {\n let force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n let source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Emitter.sources.API;\n if (typeof force === 'string') {\n source = force;\n force = false;\n }\n debug.info('setRange', range);\n if (range != null) {\n const args = this.rangeToNative(range);\n this.setNativeRange(...args, force);\n } else {\n this.setNativeRange(null);\n }\n this.update(source);\n }\n update() {\n let source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Emitter.sources.USER;\n const oldRange = this.lastRange;\n const [lastRange, nativeRange] = this.getRange();\n this.lastRange = lastRange;\n this.lastNative = nativeRange;\n if (this.lastRange != null) {\n this.savedRange = this.lastRange;\n }\n if (!isEqual(oldRange, this.lastRange)) {\n if (!this.composing && nativeRange != null && nativeRange.native.collapsed && nativeRange.start.node !== this.cursor.textNode) {\n const range = this.cursor.restore();\n if (range) {\n this.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n }\n }\n const args = [Emitter.events.SELECTION_CHANGE, cloneDeep(this.lastRange), cloneDeep(oldRange), source];\n this.emitter.emit(Emitter.events.EDITOR_CHANGE, ...args);\n if (source !== Emitter.sources.SILENT) {\n this.emitter.emit(...args);\n }\n }\n }\n}\nfunction contains(parent, descendant) {\n try {\n // Firefox inserts inaccessible nodes around video elements\n descendant.parentNode; // eslint-disable-line @typescript-eslint/no-unused-expressions\n } catch (e) {\n return false;\n }\n return parent.contains(descendant);\n}\nexport default Selection;\n//# sourceMappingURL=selection.js.map","import { cloneDeep, isEqual, merge } from 'lodash-es';\nimport { LeafBlot, EmbedBlot, Scope, ParentBlot } from 'parchment';\nimport Delta, { AttributeMap, Op } from 'quill-delta';\nimport Block, { BlockEmbed, bubbleFormats } from '../blots/block.js';\nimport Break from '../blots/break.js';\nimport CursorBlot from '../blots/cursor.js';\nimport TextBlot, { escapeText } from '../blots/text.js';\nimport { Range } from './selection.js';\nconst ASCII = /^[ -~]*$/;\nclass Editor {\n constructor(scroll) {\n this.scroll = scroll;\n this.delta = this.getDelta();\n }\n applyDelta(delta) {\n this.scroll.update();\n let scrollLength = this.scroll.length();\n this.scroll.batchStart();\n const normalizedDelta = normalizeDelta(delta);\n const deleteDelta = new Delta();\n const normalizedOps = splitOpLines(normalizedDelta.ops.slice());\n normalizedOps.reduce((index, op) => {\n const length = Op.length(op);\n let attributes = op.attributes || {};\n let isImplicitNewlinePrepended = false;\n let isImplicitNewlineAppended = false;\n if (op.insert != null) {\n deleteDelta.retain(length);\n if (typeof op.insert === 'string') {\n const text = op.insert;\n isImplicitNewlineAppended = !text.endsWith('\\n') && (scrollLength <= index || !!this.scroll.descendant(BlockEmbed, index)[0]);\n this.scroll.insertAt(index, text);\n const [line, offset] = this.scroll.line(index);\n let formats = merge({}, bubbleFormats(line));\n if (line instanceof Block) {\n const [leaf] = line.descendant(LeafBlot, offset);\n if (leaf) {\n formats = merge(formats, bubbleFormats(leaf));\n }\n }\n attributes = AttributeMap.diff(formats, attributes) || {};\n } else if (typeof op.insert === 'object') {\n const key = Object.keys(op.insert)[0]; // There should only be one key\n if (key == null) return index;\n const isInlineEmbed = this.scroll.query(key, Scope.INLINE) != null;\n if (isInlineEmbed) {\n if (scrollLength <= index || !!this.scroll.descendant(BlockEmbed, index)[0]) {\n isImplicitNewlineAppended = true;\n }\n } else if (index > 0) {\n const [leaf, offset] = this.scroll.descendant(LeafBlot, index - 1);\n if (leaf instanceof TextBlot) {\n const text = leaf.value();\n if (text[offset] !== '\\n') {\n isImplicitNewlinePrepended = true;\n }\n } else if (leaf instanceof EmbedBlot && leaf.statics.scope === Scope.INLINE_BLOT) {\n isImplicitNewlinePrepended = true;\n }\n }\n this.scroll.insertAt(index, key, op.insert[key]);\n if (isInlineEmbed) {\n const [leaf] = this.scroll.descendant(LeafBlot, index);\n if (leaf) {\n const formats = merge({}, bubbleFormats(leaf));\n attributes = AttributeMap.diff(formats, attributes) || {};\n }\n }\n }\n scrollLength += length;\n } else {\n deleteDelta.push(op);\n if (op.retain !== null && typeof op.retain === 'object') {\n const key = Object.keys(op.retain)[0];\n if (key == null) return index;\n this.scroll.updateEmbedAt(index, key, op.retain[key]);\n }\n }\n Object.keys(attributes).forEach(name => {\n this.scroll.formatAt(index, length, name, attributes[name]);\n });\n const prependedLength = isImplicitNewlinePrepended ? 1 : 0;\n const addedLength = isImplicitNewlineAppended ? 1 : 0;\n scrollLength += prependedLength + addedLength;\n deleteDelta.retain(prependedLength);\n deleteDelta.delete(addedLength);\n return index + length + prependedLength + addedLength;\n }, 0);\n deleteDelta.reduce((index, op) => {\n if (typeof op.delete === 'number') {\n this.scroll.deleteAt(index, op.delete);\n return index;\n }\n return index + Op.length(op);\n }, 0);\n this.scroll.batchEnd();\n this.scroll.optimize();\n return this.update(normalizedDelta);\n }\n deleteText(index, length) {\n this.scroll.deleteAt(index, length);\n return this.update(new Delta().retain(index).delete(length));\n }\n formatLine(index, length) {\n let formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.scroll.update();\n Object.keys(formats).forEach(format => {\n this.scroll.lines(index, Math.max(length, 1)).forEach(line => {\n line.format(format, formats[format]);\n });\n });\n this.scroll.optimize();\n const delta = new Delta().retain(index).retain(length, cloneDeep(formats));\n return this.update(delta);\n }\n formatText(index, length) {\n let formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n Object.keys(formats).forEach(format => {\n this.scroll.formatAt(index, length, format, formats[format]);\n });\n const delta = new Delta().retain(index).retain(length, cloneDeep(formats));\n return this.update(delta);\n }\n getContents(index, length) {\n return this.delta.slice(index, index + length);\n }\n getDelta() {\n return this.scroll.lines().reduce((delta, line) => {\n return delta.concat(line.delta());\n }, new Delta());\n }\n getFormat(index) {\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n let lines = [];\n let leaves = [];\n if (length === 0) {\n this.scroll.path(index).forEach(path => {\n const [blot] = path;\n if (blot instanceof Block) {\n lines.push(blot);\n } else if (blot instanceof LeafBlot) {\n leaves.push(blot);\n }\n });\n } else {\n lines = this.scroll.lines(index, length);\n leaves = this.scroll.descendants(LeafBlot, index, length);\n }\n const [lineFormats, leafFormats] = [lines, leaves].map(blots => {\n const blot = blots.shift();\n if (blot == null) return {};\n let formats = bubbleFormats(blot);\n while (Object.keys(formats).length > 0) {\n const blot = blots.shift();\n if (blot == null) return formats;\n formats = combineFormats(bubbleFormats(blot), formats);\n }\n return formats;\n });\n return {\n ...lineFormats,\n ...leafFormats\n };\n }\n getHTML(index, length) {\n const [line, lineOffset] = this.scroll.line(index);\n if (line) {\n const lineLength = line.length();\n const isWithinLine = line.length() >= lineOffset + length;\n if (isWithinLine && !(lineOffset === 0 && length === lineLength)) {\n return convertHTML(line, lineOffset, length, true);\n }\n return convertHTML(this.scroll, index, length, true);\n }\n return '';\n }\n getText(index, length) {\n return this.getContents(index, length).filter(op => typeof op.insert === 'string').map(op => op.insert).join('');\n }\n insertContents(index, contents) {\n const normalizedDelta = normalizeDelta(contents);\n const change = new Delta().retain(index).concat(normalizedDelta);\n this.scroll.insertContents(index, normalizedDelta);\n return this.update(change);\n }\n insertEmbed(index, embed, value) {\n this.scroll.insertAt(index, embed, value);\n return this.update(new Delta().retain(index).insert({\n [embed]: value\n }));\n }\n insertText(index, text) {\n let formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n text = text.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n this.scroll.insertAt(index, text);\n Object.keys(formats).forEach(format => {\n this.scroll.formatAt(index, text.length, format, formats[format]);\n });\n return this.update(new Delta().retain(index).insert(text, cloneDeep(formats)));\n }\n isBlank() {\n if (this.scroll.children.length === 0) return true;\n if (this.scroll.children.length > 1) return false;\n const blot = this.scroll.children.head;\n if (blot?.statics.blotName !== Block.blotName) return false;\n const block = blot;\n if (block.children.length > 1) return false;\n return block.children.head instanceof Break;\n }\n removeFormat(index, length) {\n const text = this.getText(index, length);\n const [line, offset] = this.scroll.line(index + length);\n let suffixLength = 0;\n let suffix = new Delta();\n if (line != null) {\n suffixLength = line.length() - offset;\n suffix = line.delta().slice(offset, offset + suffixLength - 1).insert('\\n');\n }\n const contents = this.getContents(index, length + suffixLength);\n const diff = contents.diff(new Delta().insert(text).concat(suffix));\n const delta = new Delta().retain(index).concat(diff);\n return this.applyDelta(delta);\n }\n update(change) {\n let mutations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n let selectionInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n const oldDelta = this.delta;\n if (mutations.length === 1 && mutations[0].type === 'characterData' &&\n // @ts-expect-error Fix me later\n mutations[0].target.data.match(ASCII) && this.scroll.find(mutations[0].target)) {\n // Optimization for character changes\n const textBlot = this.scroll.find(mutations[0].target);\n const formats = bubbleFormats(textBlot);\n const index = textBlot.offset(this.scroll);\n // @ts-expect-error Fix me later\n const oldValue = mutations[0].oldValue.replace(CursorBlot.CONTENTS, '');\n const oldText = new Delta().insert(oldValue);\n // @ts-expect-error\n const newText = new Delta().insert(textBlot.value());\n const relativeSelectionInfo = selectionInfo && {\n oldRange: shiftRange(selectionInfo.oldRange, -index),\n newRange: shiftRange(selectionInfo.newRange, -index)\n };\n const diffDelta = new Delta().retain(index).concat(oldText.diff(newText, relativeSelectionInfo));\n change = diffDelta.reduce((delta, op) => {\n if (op.insert) {\n return delta.insert(op.insert, formats);\n }\n return delta.push(op);\n }, new Delta());\n this.delta = oldDelta.compose(change);\n } else {\n this.delta = this.getDelta();\n if (!change || !isEqual(oldDelta.compose(change), this.delta)) {\n change = oldDelta.diff(this.delta, selectionInfo);\n }\n }\n return change;\n }\n}\nfunction convertListHTML(items, lastIndent, types) {\n if (items.length === 0) {\n const [endTag] = getListType(types.pop());\n if (lastIndent <= 0) {\n return `</li></${endTag}>`;\n }\n return `</li></${endTag}>${convertListHTML([], lastIndent - 1, types)}`;\n }\n const [{\n child,\n offset,\n length,\n indent,\n type\n }, ...rest] = items;\n const [tag, attribute] = getListType(type);\n if (indent > lastIndent) {\n types.push(type);\n if (indent === lastIndent + 1) {\n return `<${tag}><li${attribute}>${convertHTML(child, offset, length)}${convertListHTML(rest, indent, types)}`;\n }\n return `<${tag}><li>${convertListHTML(items, lastIndent + 1, types)}`;\n }\n const previousType = types[types.length - 1];\n if (indent === lastIndent && type === previousType) {\n return `</li><li${attribute}>${convertHTML(child, offset, length)}${convertListHTML(rest, indent, types)}`;\n }\n const [endTag] = getListType(types.pop());\n return `</li></${endTag}>${convertListHTML(items, lastIndent - 1, types)}`;\n}\nfunction convertHTML(blot, index, length) {\n let isRoot = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n if ('html' in blot && typeof blot.html === 'function') {\n return blot.html(index, length);\n }\n if (blot instanceof TextBlot) {\n return escapeText(blot.value().slice(index, index + length));\n }\n if (blot instanceof ParentBlot) {\n // TODO fix API\n if (blot.statics.blotName === 'list-container') {\n const items = [];\n blot.children.forEachAt(index, length, (child, offset, childLength) => {\n const formats = 'formats' in child && typeof child.formats === 'function' ? child.formats() : {};\n items.push({\n child,\n offset,\n length: childLength,\n indent: formats.indent || 0,\n type: formats.list\n });\n });\n return convertListHTML(items, -1, []);\n }\n const parts = [];\n blot.children.forEachAt(index, length, (child, offset, childLength) => {\n parts.push(convertHTML(child, offset, childLength));\n });\n if (isRoot || blot.statics.blotName === 'list') {\n return parts.join('');\n }\n const {\n outerHTML,\n innerHTML\n } = blot.domNode;\n const [start, end] = outerHTML.split(`>${innerHTML}<`);\n // TODO cleanup\n if (start === '<table') {\n return `<table style=\"border: 1px solid #000;\">${parts.join('')}<${end}`;\n }\n return `${start}>${parts.join('')}<${end}`;\n }\n return blot.domNode instanceof Element ? blot.domNode.outerHTML : '';\n}\nfunction combineFormats(formats, combined) {\n return Object.keys(combined).reduce((merged, name) => {\n if (formats[name] == null) return merged;\n const combinedValue = combined[name];\n if (combinedValue === formats[name]) {\n merged[name] = combinedValue;\n } else if (Array.isArray(combinedValue)) {\n if (combinedValue.indexOf(formats[name]) < 0) {\n merged[name] = combinedValue.concat([formats[name]]);\n } else {\n // If style already exists, don't add to an array, but don't lose other styles\n merged[name] = combinedValue;\n }\n } else {\n merged[name] = [combinedValue, formats[name]];\n }\n return merged;\n }, {});\n}\nfunction getListType(type) {\n const tag = type === 'ordered' ? 'ol' : 'ul';\n switch (type) {\n case 'checked':\n return [tag, ' data-list=\"checked\"'];\n case 'unchecked':\n return [tag, ' data-list=\"unchecked\"'];\n default:\n return [tag, ''];\n }\n}\nfunction normalizeDelta(delta) {\n return delta.reduce((normalizedDelta, op) => {\n if (typeof op.insert === 'string') {\n const text = op.insert.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n return normalizedDelta.insert(text, op.attributes);\n }\n return normalizedDelta.push(op);\n }, new Delta());\n}\nfunction shiftRange(_ref, amount) {\n let {\n index,\n length\n } = _ref;\n return new Range(index + amount, length);\n}\nfunction splitOpLines(ops) {\n const split = [];\n ops.forEach(op => {\n if (typeof op.insert === 'string') {\n const lines = op.insert.split('\\n');\n lines.forEach((line, index) => {\n if (index) split.push({\n insert: '\\n',\n attributes: op.attributes\n });\n if (line) split.push({\n insert: line,\n attributes: op.attributes\n });\n });\n } else {\n split.push(op);\n }\n });\n return split;\n}\nexport default Editor;\n//# sourceMappingURL=editor.js.map","class Module {\n static DEFAULTS = {};\n constructor(quill) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.quill = quill;\n this.options = options;\n }\n}\nexport default Module;\n//# sourceMappingURL=module.js.map","import { EmbedBlot } from 'parchment';\nimport TextBlot from './text.js';\nconst GUARD_TEXT = '\\uFEFF';\nclass Embed extends EmbedBlot {\n constructor(scroll, node) {\n super(scroll, node);\n this.contentNode = document.createElement('span');\n this.contentNode.setAttribute('contenteditable', 'false');\n Array.from(this.domNode.childNodes).forEach(childNode => {\n this.contentNode.appendChild(childNode);\n });\n this.leftGuard = document.createTextNode(GUARD_TEXT);\n this.rightGuard = document.createTextNode(GUARD_TEXT);\n this.domNode.appendChild(this.leftGuard);\n this.domNode.appendChild(this.contentNode);\n this.domNode.appendChild(this.rightGuard);\n }\n index(node, offset) {\n if (node === this.leftGuard) return 0;\n if (node === this.rightGuard) return 1;\n return super.index(node, offset);\n }\n restore(node) {\n let range = null;\n let textNode;\n const text = node.data.split(GUARD_TEXT).join('');\n if (node === this.leftGuard) {\n if (this.prev instanceof TextBlot) {\n const prevLength = this.prev.length();\n this.prev.insertAt(prevLength, text);\n range = {\n startNode: this.prev.domNode,\n startOffset: prevLength + text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(this.scroll.create(textNode), this);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n } else if (node === this.rightGuard) {\n if (this.next instanceof TextBlot) {\n this.next.insertAt(0, text);\n range = {\n startNode: this.next.domNode,\n startOffset: text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(this.scroll.create(textNode), this.next);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n }\n node.data = GUARD_TEXT;\n return range;\n }\n update(mutations, context) {\n mutations.forEach(mutation => {\n if (mutation.type === 'characterData' && (mutation.target === this.leftGuard || mutation.target === this.rightGuard)) {\n const range = this.restore(mutation.target);\n if (range) context.range = range;\n }\n });\n }\n}\nexport default Embed;\n//# sourceMappingURL=embed.js.map","import Embed from '../blots/embed.js';\nimport Emitter from './emitter.js';\nclass Composition {\n isComposing = false;\n constructor(scroll, emitter) {\n this.scroll = scroll;\n this.emitter = emitter;\n this.setupListeners();\n }\n setupListeners() {\n this.scroll.domNode.addEventListener('compositionstart', event => {\n if (!this.isComposing) {\n this.handleCompositionStart(event);\n }\n });\n this.scroll.domNode.addEventListener('compositionend', event => {\n if (this.isComposing) {\n // Webkit makes DOM changes after compositionend, so we use microtask to\n // ensure the order.\n // https://bugs.webkit.org/show_bug.cgi?id=31902\n queueMicrotask(() => {\n this.handleCompositionEnd(event);\n });\n }\n });\n }\n handleCompositionStart(event) {\n const blot = event.target instanceof Node ? this.scroll.find(event.target, true) : null;\n if (blot && !(blot instanceof Embed)) {\n this.emitter.emit(Emitter.events.COMPOSITION_BEFORE_START, event);\n this.scroll.batchStart();\n this.emitter.emit(Emitter.events.COMPOSITION_START, event);\n this.isComposing = true;\n }\n }\n handleCompositionEnd(event) {\n this.emitter.emit(Emitter.events.COMPOSITION_BEFORE_END, event);\n this.scroll.batchEnd();\n this.emitter.emit(Emitter.events.COMPOSITION_END, event);\n this.isComposing = false;\n }\n}\nexport default Composition;\n//# sourceMappingURL=composition.js.map","class Theme {\n static DEFAULTS = {\n modules: {}\n };\n static themes = {\n default: Theme\n };\n modules = {};\n constructor(quill, options) {\n this.quill = quill;\n this.options = options;\n }\n init() {\n Object.keys(this.options.modules).forEach(name => {\n if (this.modules[name] == null) {\n this.addModule(name);\n }\n });\n }\n addModule(name) {\n // @ts-expect-error\n const ModuleClass = this.quill.constructor.import(`modules/${name}`);\n this.modules[name] = new ModuleClass(this.quill, this.options.modules[name] || {});\n return this.modules[name];\n }\n}\nexport default Theme;\n//# sourceMappingURL=theme.js.map","const getParentElement = element => element.parentElement || element.getRootNode().host || null;\nconst getElementRect = element => {\n const rect = element.getBoundingClientRect();\n const scaleX = 'offsetWidth' in element && Math.abs(rect.width) / element.offsetWidth || 1;\n const scaleY = 'offsetHeight' in element && Math.abs(rect.height) / element.offsetHeight || 1;\n return {\n top: rect.top,\n right: rect.left + element.clientWidth * scaleX,\n bottom: rect.top + element.clientHeight * scaleY,\n left: rect.left\n };\n};\nconst paddingValueToInt = value => {\n const number = parseInt(value, 10);\n return Number.isNaN(number) ? 0 : number;\n};\n\n// Follow the steps described in https://www.w3.org/TR/cssom-view-1/#element-scrolling-members,\n// assuming that the scroll option is set to 'nearest'.\nconst getScrollDistance = (targetStart, targetEnd, scrollStart, scrollEnd, scrollPaddingStart, scrollPaddingEnd) => {\n if (targetStart < scrollStart && targetEnd > scrollEnd) {\n return 0;\n }\n if (targetStart < scrollStart) {\n return -(scrollStart - targetStart + scrollPaddingStart);\n }\n if (targetEnd > scrollEnd) {\n return targetEnd - targetStart > scrollEnd - scrollStart ? targetStart + scrollPaddingStart - scrollStart : targetEnd - scrollEnd + scrollPaddingEnd;\n }\n return 0;\n};\nconst scrollRectIntoView = (root, targetRect) => {\n const document = root.ownerDocument;\n let rect = targetRect;\n let current = root;\n while (current) {\n const isDocumentBody = current === document.body;\n const bounding = isDocumentBody ? {\n top: 0,\n right: window.visualViewport?.width ?? document.documentElement.clientWidth,\n bottom: window.visualViewport?.height ?? document.documentElement.clientHeight,\n left: 0\n } : getElementRect(current);\n const style = getComputedStyle(current);\n const scrollDistanceX = getScrollDistance(rect.left, rect.right, bounding.left, bounding.right, paddingValueToInt(style.scrollPaddingLeft), paddingValueToInt(style.scrollPaddingRight));\n const scrollDistanceY = getScrollDistance(rect.top, rect.bottom, bounding.top, bounding.bottom, paddingValueToInt(style.scrollPaddingTop), paddingValueToInt(style.scrollPaddingBottom));\n if (scrollDistanceX || scrollDistanceY) {\n if (isDocumentBody) {\n document.defaultView?.scrollBy(scrollDistanceX, scrollDistanceY);\n } else {\n const {\n scrollLeft,\n scrollTop\n } = current;\n if (scrollDistanceY) {\n current.scrollTop += scrollDistanceY;\n }\n if (scrollDistanceX) {\n current.scrollLeft += scrollDistanceX;\n }\n const scrolledLeft = current.scrollLeft - scrollLeft;\n const scrolledTop = current.scrollTop - scrollTop;\n rect = {\n left: rect.left - scrolledLeft,\n top: rect.top - scrolledTop,\n right: rect.right - scrolledLeft,\n bottom: rect.bottom - scrolledTop\n };\n }\n }\n current = isDocumentBody || style.position === 'fixed' ? null : getParentElement(current);\n }\n};\nexport default scrollRectIntoView;\n//# sourceMappingURL=scrollRectIntoView.js.map","import { Registry } from 'parchment';\nconst MAX_REGISTER_ITERATIONS = 100;\nconst CORE_FORMATS = ['block', 'break', 'cursor', 'inline', 'scroll', 'text'];\nconst createRegistryWithFormats = (formats, sourceRegistry, debug) => {\n const registry = new Registry();\n CORE_FORMATS.forEach(name => {\n const coreBlot = sourceRegistry.query(name);\n if (coreBlot) registry.register(coreBlot);\n });\n formats.forEach(name => {\n let format = sourceRegistry.query(name);\n if (!format) {\n debug.error(`Cannot register \"${name}\" specified in \"formats\" config. Are you sure it was registered?`);\n }\n let iterations = 0;\n while (format) {\n registry.register(format);\n format = 'blotName' in format ? format.requiredContainer ?? null : null;\n iterations += 1;\n if (iterations > MAX_REGISTER_ITERATIONS) {\n debug.error(`Cycle detected in registering blot requiredContainer: \"${name}\"`);\n break;\n }\n }\n });\n return registry;\n};\nexport default createRegistryWithFormats;\n//# sourceMappingURL=createRegistryWithFormats.js.map","import { merge } from 'lodash-es';\nimport * as Parchment from 'parchment';\nimport Delta from 'quill-delta';\nimport Editor from './editor.js';\nimport Emitter from './emitter.js';\nimport instances from './instances.js';\nimport logger from './logger.js';\nimport Module from './module.js';\nimport Selection, { Range } from './selection.js';\nimport Composition from './composition.js';\nimport Theme from './theme.js';\nimport scrollRectIntoView from './utils/scrollRectIntoView.js';\nimport createRegistryWithFormats from './utils/createRegistryWithFormats.js';\nconst debug = logger('quill');\nconst globalRegistry = new Parchment.Registry();\nParchment.ParentBlot.uiClass = 'ql-ui';\n\n/**\n * Options for initializing a Quill instance\n */\n\n/**\n * Similar to QuillOptions, but with all properties expanded to their default values,\n * and all selectors resolved to HTMLElements.\n */\n\nclass Quill {\n static DEFAULTS = {\n bounds: null,\n modules: {\n clipboard: true,\n keyboard: true,\n history: true,\n uploader: true\n },\n placeholder: '',\n readOnly: false,\n registry: globalRegistry,\n theme: 'default'\n };\n static events = Emitter.events;\n static sources = Emitter.sources;\n static version = typeof \"2.0.2\" === 'undefined' ? 'dev' : \"2.0.2\";\n static imports = {\n delta: Delta,\n parchment: Parchment,\n 'core/module': Module,\n 'core/theme': Theme\n };\n static debug(limit) {\n if (limit === true) {\n limit = 'log';\n }\n logger.level(limit);\n }\n static find(node) {\n let bubble = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return instances.get(node) || globalRegistry.find(node, bubble);\n }\n static import(name) {\n if (this.imports[name] == null) {\n debug.error(`Cannot import ${name}. Are you sure it was registered?`);\n }\n return this.imports[name];\n }\n static register() {\n if (typeof (arguments.length <= 0 ? undefined : arguments[0]) !== 'string') {\n const target = arguments.length <= 0 ? undefined : arguments[0];\n const overwrite = !!(arguments.length <= 1 ? undefined : arguments[1]);\n const name = 'attrName' in target ? target.attrName : target.blotName;\n if (typeof name === 'string') {\n // Shortcut for formats:\n // register(Blot | Attributor, overwrite)\n this.register(`formats/${name}`, target, overwrite);\n } else {\n Object.keys(target).forEach(key => {\n this.register(key, target[key], overwrite);\n });\n }\n } else {\n const path = arguments.length <= 0 ? undefined : arguments[0];\n const target = arguments.length <= 1 ? undefined : arguments[1];\n const overwrite = !!(arguments.length <= 2 ? undefined : arguments[2]);\n if (this.imports[path] != null && !overwrite) {\n debug.warn(`Overwriting ${path} with`, target);\n }\n this.imports[path] = target;\n if ((path.startsWith('blots/') || path.startsWith('formats/')) && target && typeof target !== 'boolean' && target.blotName !== 'abstract') {\n globalRegistry.register(target);\n }\n if (typeof target.register === 'function') {\n target.register(globalRegistry);\n }\n }\n }\n constructor(container) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.options = expandConfig(container, options);\n this.container = this.options.container;\n if (this.container == null) {\n debug.error('Invalid Quill container', container);\n return;\n }\n if (this.options.debug) {\n Quill.debug(this.options.debug);\n }\n const html = this.container.innerHTML.trim();\n this.container.classList.add('ql-container');\n this.container.innerHTML = '';\n instances.set(this.container, this);\n this.root = this.addContainer('ql-editor');\n this.root.classList.add('ql-blank');\n this.emitter = new Emitter();\n const scrollBlotName = Parchment.ScrollBlot.blotName;\n const ScrollBlot = this.options.registry.query(scrollBlotName);\n if (!ScrollBlot || !('blotName' in ScrollBlot)) {\n throw new Error(`Cannot initialize Quill without \"${scrollBlotName}\" blot`);\n }\n this.scroll = new ScrollBlot(this.options.registry, this.root, {\n emitter: this.emitter\n });\n this.editor = new Editor(this.scroll);\n this.selection = new Selection(this.scroll, this.emitter);\n this.composition = new Composition(this.scroll, this.emitter);\n this.theme = new this.options.theme(this, this.options); // eslint-disable-line new-cap\n this.keyboard = this.theme.addModule('keyboard');\n this.clipboard = this.theme.addModule('clipboard');\n this.history = this.theme.addModule('history');\n this.uploader = this.theme.addModule('uploader');\n this.theme.addModule('input');\n this.theme.addModule('uiNode');\n this.theme.init();\n this.emitter.on(Emitter.events.EDITOR_CHANGE, type => {\n if (type === Emitter.events.TEXT_CHANGE) {\n this.root.classList.toggle('ql-blank', this.editor.isBlank());\n }\n });\n this.emitter.on(Emitter.events.SCROLL_UPDATE, (source, mutations) => {\n const oldRange = this.selection.lastRange;\n const [newRange] = this.selection.getRange();\n const selectionInfo = oldRange && newRange ? {\n oldRange,\n newRange\n } : undefined;\n modify.call(this, () => this.editor.update(null, mutations, selectionInfo), source);\n });\n this.emitter.on(Emitter.events.SCROLL_EMBED_UPDATE, (blot, delta) => {\n const oldRange = this.selection.lastRange;\n const [newRange] = this.selection.getRange();\n const selectionInfo = oldRange && newRange ? {\n oldRange,\n newRange\n } : undefined;\n modify.call(this, () => {\n const change = new Delta().retain(blot.offset(this)).retain({\n [blot.statics.blotName]: delta\n });\n return this.editor.update(change, [], selectionInfo);\n }, Quill.sources.USER);\n });\n if (html) {\n const contents = this.clipboard.convert({\n html: `${html}<p><br></p>`,\n text: '\\n'\n });\n this.setContents(contents);\n }\n this.history.clear();\n if (this.options.placeholder) {\n this.root.setAttribute('data-placeholder', this.options.placeholder);\n }\n if (this.options.readOnly) {\n this.disable();\n }\n this.allowReadOnlyEdits = false;\n }\n addContainer(container) {\n let refNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (typeof container === 'string') {\n const className = container;\n container = document.createElement('div');\n container.classList.add(className);\n }\n this.container.insertBefore(container, refNode);\n return container;\n }\n blur() {\n this.selection.setRange(null);\n }\n deleteText(index, length, source) {\n // @ts-expect-error\n [index, length,, source] = overload(index, length, source);\n return modify.call(this, () => {\n return this.editor.deleteText(index, length);\n }, source, index, -1 * length);\n }\n disable() {\n this.enable(false);\n }\n editReadOnly(modifier) {\n this.allowReadOnlyEdits = true;\n const value = modifier();\n this.allowReadOnlyEdits = false;\n return value;\n }\n enable() {\n let enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.scroll.enable(enabled);\n this.container.classList.toggle('ql-disabled', !enabled);\n }\n focus() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.selection.focus();\n if (!options.preventScroll) {\n this.scrollSelectionIntoView();\n }\n }\n format(name, value) {\n let source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Emitter.sources.API;\n return modify.call(this, () => {\n const range = this.getSelection(true);\n let change = new Delta();\n if (range == null) return change;\n if (this.scroll.query(name, Parchment.Scope.BLOCK)) {\n change = this.editor.formatLine(range.index, range.length, {\n [name]: value\n });\n } else if (range.length === 0) {\n this.selection.format(name, value);\n return change;\n } else {\n change = this.editor.formatText(range.index, range.length, {\n [name]: value\n });\n }\n this.setSelection(range, Emitter.sources.SILENT);\n return change;\n }, source);\n }\n formatLine(index, length, name, value, source) {\n let formats;\n // eslint-disable-next-line prefer-const\n [index, length, formats, source] = overload(index, length,\n // @ts-expect-error\n name, value, source);\n return modify.call(this, () => {\n return this.editor.formatLine(index, length, formats);\n }, source, index, 0);\n }\n formatText(index, length, name, value, source) {\n let formats;\n // eslint-disable-next-line prefer-const\n [index, length, formats, source] = overload(\n // @ts-expect-error\n index, length, name, value, source);\n return modify.call(this, () => {\n return this.editor.formatText(index, length, formats);\n }, source, index, 0);\n }\n getBounds(index) {\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n let bounds = null;\n if (typeof index === 'number') {\n bounds = this.selection.getBounds(index, length);\n } else {\n bounds = this.selection.getBounds(index.index, index.length);\n }\n if (!bounds) return null;\n const containerBounds = this.container.getBoundingClientRect();\n return {\n bottom: bounds.bottom - containerBounds.top,\n height: bounds.height,\n left: bounds.left - containerBounds.left,\n right: bounds.right - containerBounds.left,\n top: bounds.top - containerBounds.top,\n width: bounds.width\n };\n }\n getContents() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n [index, length] = overload(index, length);\n return this.editor.getContents(index, length);\n }\n getFormat() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSelection(true);\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n if (typeof index === 'number') {\n return this.editor.getFormat(index, length);\n }\n return this.editor.getFormat(index.index, index.length);\n }\n getIndex(blot) {\n return blot.offset(this.scroll);\n }\n getLength() {\n return this.scroll.length();\n }\n getLeaf(index) {\n return this.scroll.leaf(index);\n }\n getLine(index) {\n return this.scroll.line(index);\n }\n getLines() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n if (typeof index !== 'number') {\n return this.scroll.lines(index.index, index.length);\n }\n return this.scroll.lines(index, length);\n }\n getModule(name) {\n return this.theme.modules[name];\n }\n getSelection() {\n let focus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (focus) this.focus();\n this.update(); // Make sure we access getRange with editor in consistent state\n return this.selection.getRange()[0];\n }\n getSemanticHTML() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n let length = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof index === 'number') {\n length = length ?? this.getLength() - index;\n }\n // @ts-expect-error\n [index, length] = overload(index, length);\n return this.editor.getHTML(index, length);\n }\n getText() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n let length = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof index === 'number') {\n length = length ?? this.getLength() - index;\n }\n // @ts-expect-error\n [index, length] = overload(index, length);\n return this.editor.getText(index, length);\n }\n hasFocus() {\n return this.selection.hasFocus();\n }\n insertEmbed(index, embed, value) {\n let source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Quill.sources.API;\n return modify.call(this, () => {\n return this.editor.insertEmbed(index, embed, value);\n }, source, index);\n }\n insertText(index, text, name, value, source) {\n let formats;\n // eslint-disable-next-line prefer-const\n // @ts-expect-error\n [index,, formats, source] = overload(index, 0, name, value, source);\n return modify.call(this, () => {\n return this.editor.insertText(index, text, formats);\n }, source, index, text.length);\n }\n isEnabled() {\n return this.scroll.isEnabled();\n }\n off() {\n return this.emitter.off(...arguments);\n }\n on() {\n return this.emitter.on(...arguments);\n }\n once() {\n return this.emitter.once(...arguments);\n }\n removeFormat(index, length, source) {\n [index, length,, source] = overload(index, length, source);\n return modify.call(this, () => {\n return this.editor.removeFormat(index, length);\n }, source, index);\n }\n scrollRectIntoView(rect) {\n scrollRectIntoView(this.root, rect);\n }\n\n /**\n * @deprecated Use Quill#scrollSelectionIntoView() instead.\n */\n scrollIntoView() {\n console.warn('Quill#scrollIntoView() has been deprecated and will be removed in the near future. Please use Quill#scrollSelectionIntoView() instead.');\n this.scrollSelectionIntoView();\n }\n\n /**\n * Scroll the current selection into the visible area.\n * If the selection is already visible, no scrolling will occur.\n */\n scrollSelectionIntoView() {\n const range = this.selection.lastRange;\n const bounds = range && this.selection.getBounds(range.index, range.length);\n if (bounds) {\n this.scrollRectIntoView(bounds);\n }\n }\n setContents(delta) {\n let source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Emitter.sources.API;\n return modify.call(this, () => {\n delta = new Delta(delta);\n const length = this.getLength();\n // Quill will set empty editor to \\n\n const delete1 = this.editor.deleteText(0, length);\n const applied = this.editor.insertContents(0, delta);\n // Remove extra \\n from empty editor initialization\n const delete2 = this.editor.deleteText(this.getLength() - 1, 1);\n return delete1.compose(applied).compose(delete2);\n }, source);\n }\n setSelection(index, length, source) {\n if (index == null) {\n // @ts-expect-error https://github.com/microsoft/TypeScript/issues/22609\n this.selection.setRange(null, length || Quill.sources.API);\n } else {\n // @ts-expect-error\n [index, length,, source] = overload(index, length, source);\n this.selection.setRange(new Range(Math.max(0, index), length), source);\n if (source !== Emitter.sources.SILENT) {\n this.scrollSelectionIntoView();\n }\n }\n }\n setText(text) {\n let source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Emitter.sources.API;\n const delta = new Delta().insert(text);\n return this.setContents(delta, source);\n }\n update() {\n let source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Emitter.sources.USER;\n const change = this.scroll.update(source); // Will update selection before selection.update() does if text changes\n this.selection.update(source);\n // TODO this is usually undefined\n return change;\n }\n updateContents(delta) {\n let source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Emitter.sources.API;\n return modify.call(this, () => {\n delta = new Delta(delta);\n return this.editor.applyDelta(delta);\n }, source, true);\n }\n}\nfunction resolveSelector(selector) {\n return typeof selector === 'string' ? document.querySelector(selector) : selector;\n}\nfunction expandModuleConfig(config) {\n return Object.entries(config ?? {}).reduce((expanded, _ref) => {\n let [key, value] = _ref;\n return {\n ...expanded,\n [key]: value === true ? {} : value\n };\n }, {});\n}\nfunction omitUndefinedValuesFromOptions(obj) {\n return Object.fromEntries(Object.entries(obj).filter(entry => entry[1] !== undefined));\n}\nfunction expandConfig(containerOrSelector, options) {\n const container = resolveSelector(containerOrSelector);\n if (!container) {\n throw new Error('Invalid Quill container');\n }\n const shouldUseDefaultTheme = !options.theme || options.theme === Quill.DEFAULTS.theme;\n const theme = shouldUseDefaultTheme ? Theme : Quill.import(`themes/${options.theme}`);\n if (!theme) {\n throw new Error(`Invalid theme ${options.theme}. Did you register it?`);\n }\n const {\n modules: quillModuleDefaults,\n ...quillDefaults\n } = Quill.DEFAULTS;\n const {\n modules: themeModuleDefaults,\n ...themeDefaults\n } = theme.DEFAULTS;\n let userModuleOptions = expandModuleConfig(options.modules);\n // Special case toolbar shorthand\n if (userModuleOptions != null && userModuleOptions.toolbar && userModuleOptions.toolbar.constructor !== Object) {\n userModuleOptions = {\n ...userModuleOptions,\n toolbar: {\n container: userModuleOptions.toolbar\n }\n };\n }\n const modules = merge({}, expandModuleConfig(quillModuleDefaults), expandModuleConfig(themeModuleDefaults), userModuleOptions);\n const config = {\n ...quillDefaults,\n ...omitUndefinedValuesFromOptions(themeDefaults),\n ...omitUndefinedValuesFromOptions(options)\n };\n let registry = options.registry;\n if (registry) {\n if (options.formats) {\n debug.warn('Ignoring \"formats\" option because \"registry\" is specified');\n }\n } else {\n registry = options.formats ? createRegistryWithFormats(options.formats, config.registry, debug) : config.registry;\n }\n return {\n ...config,\n registry,\n container,\n theme,\n modules: Object.entries(modules).reduce((modulesWithDefaults, _ref2) => {\n let [name, value] = _ref2;\n if (!value) return modulesWithDefaults;\n const moduleClass = Quill.import(`modules/${name}`);\n if (moduleClass == null) {\n debug.error(`Cannot load ${name} module. Are you sure you registered it?`);\n return modulesWithDefaults;\n }\n return {\n ...modulesWithDefaults,\n // @ts-expect-error\n [name]: merge({}, moduleClass.DEFAULTS || {}, value)\n };\n }, {}),\n bounds: resolveSelector(config.bounds)\n };\n}\n\n// Handle selection preservation and TEXT_CHANGE emission\n// common to modification APIs\nfunction modify(modifier, source, index, shift) {\n if (!this.isEnabled() && source === Emitter.sources.USER && !this.allowReadOnlyEdits) {\n return new Delta();\n }\n let range = index == null ? null : this.getSelection();\n const oldDelta = this.editor.delta;\n const change = modifier();\n if (range != null) {\n if (index === true) {\n index = range.index; // eslint-disable-line prefer-destructuring\n }\n if (shift == null) {\n range = shiftRange(range, change, source);\n } else if (shift !== 0) {\n // @ts-expect-error index should always be number\n range = shiftRange(range, index, shift, source);\n }\n this.setSelection(range, Emitter.sources.SILENT);\n }\n if (change.length() > 0) {\n const args = [Emitter.events.TEXT_CHANGE, change, oldDelta, source];\n this.emitter.emit(Emitter.events.EDITOR_CHANGE, ...args);\n if (source !== Emitter.sources.SILENT) {\n this.emitter.emit(...args);\n }\n }\n return change;\n}\nfunction overload(index, length, name, value, source) {\n let formats = {};\n // @ts-expect-error\n if (typeof index.index === 'number' && typeof index.length === 'number') {\n // Allow for throwaway end (used by insertText/insertEmbed)\n if (typeof length !== 'number') {\n // @ts-expect-error\n source = value;\n value = name;\n name = length;\n // @ts-expect-error\n length = index.length; // eslint-disable-line prefer-destructuring\n // @ts-expect-error\n index = index.index; // eslint-disable-line prefer-destructuring\n } else {\n // @ts-expect-error\n length = index.length; // eslint-disable-line prefer-destructuring\n // @ts-expect-error\n index = index.index; // eslint-disable-line prefer-destructuring\n }\n } else if (typeof length !== 'number') {\n // @ts-expect-error\n source = value;\n value = name;\n name = length;\n length = 0;\n }\n // Handle format being object, two format name/value strings or excluded\n if (typeof name === 'object') {\n // @ts-expect-error Fix me later\n formats = name;\n // @ts-expect-error\n source = value;\n } else if (typeof name === 'string') {\n if (value != null) {\n formats[name] = value;\n } else {\n // @ts-expect-error\n source = name;\n }\n }\n // Handle optional source\n source = source || Emitter.sources.API;\n // @ts-expect-error\n return [index, length, formats, source];\n}\nfunction shiftRange(range, index, lengthOrSource, source) {\n const length = typeof lengthOrSource === 'number' ? lengthOrSource : 0;\n if (range == null) return null;\n let start;\n let end;\n // @ts-expect-error -- TODO: add a better type guard around `index`\n if (index && typeof index.transformPosition === 'function') {\n [start, end] = [range.index, range.index + range.length].map(pos =>\n // @ts-expect-error -- TODO: add a better type guard around `index`\n index.transformPosition(pos, source !== Emitter.sources.USER));\n } else {\n [start, end] = [range.index, range.index + range.length].map(pos => {\n // @ts-expect-error -- TODO: add a better type guard around `index`\n if (pos < index || pos === index && source === Emitter.sources.USER) return pos;\n if (length >= 0) {\n return pos + length;\n }\n // @ts-expect-error -- TODO: add a better type guard around `index`\n return Math.max(index, pos + length);\n });\n }\n return new Range(start, end - start);\n}\nexport { Parchment, Range };\nexport { globalRegistry, expandConfig, overload, Quill as default };\n//# sourceMappingURL=quill.js.map","import { ContainerBlot } from 'parchment';\nclass Container extends ContainerBlot {}\nexport default Container;\n//# sourceMappingURL=container.js.map","import { ContainerBlot, LeafBlot, Scope, ScrollBlot } from 'parchment';\nimport Delta, { AttributeMap, Op } from 'quill-delta';\nimport Emitter from '../core/emitter.js';\nimport Block, { BlockEmbed, bubbleFormats } from './block.js';\nimport Break from './break.js';\nimport Container from './container.js';\nfunction isLine(blot) {\n return blot instanceof Block || blot instanceof BlockEmbed;\n}\nfunction isUpdatable(blot) {\n return typeof blot.updateContent === 'function';\n}\nclass Scroll extends ScrollBlot {\n static blotName = 'scroll';\n static className = 'ql-editor';\n static tagName = 'DIV';\n static defaultChild = Block;\n static allowedChildren = [Block, BlockEmbed, Container];\n constructor(registry, domNode, _ref) {\n let {\n emitter\n } = _ref;\n super(registry, domNode);\n this.emitter = emitter;\n this.batch = false;\n this.optimize();\n this.enable();\n this.domNode.addEventListener('dragstart', e => this.handleDragStart(e));\n }\n batchStart() {\n if (!Array.isArray(this.batch)) {\n this.batch = [];\n }\n }\n batchEnd() {\n if (!this.batch) return;\n const mutations = this.batch;\n this.batch = false;\n this.update(mutations);\n }\n emitMount(blot) {\n this.emitter.emit(Emitter.events.SCROLL_BLOT_MOUNT, blot);\n }\n emitUnmount(blot) {\n this.emitter.emit(Emitter.events.SCROLL_BLOT_UNMOUNT, blot);\n }\n emitEmbedUpdate(blot, change) {\n this.emitter.emit(Emitter.events.SCROLL_EMBED_UPDATE, blot, change);\n }\n deleteAt(index, length) {\n const [first, offset] = this.line(index);\n const [last] = this.line(index + length);\n super.deleteAt(index, length);\n if (last != null && first !== last && offset > 0) {\n if (first instanceof BlockEmbed || last instanceof BlockEmbed) {\n this.optimize();\n return;\n }\n const ref = last.children.head instanceof Break ? null : last.children.head;\n // @ts-expect-error\n first.moveChildren(last, ref);\n // @ts-expect-error\n first.remove();\n }\n this.optimize();\n }\n enable() {\n let enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.domNode.setAttribute('contenteditable', enabled ? 'true' : 'false');\n }\n formatAt(index, length, format, value) {\n super.formatAt(index, length, format, value);\n this.optimize();\n }\n insertAt(index, value, def) {\n if (index >= this.length()) {\n if (def == null || this.scroll.query(value, Scope.BLOCK) == null) {\n const blot = this.scroll.create(this.statics.defaultChild.blotName);\n this.appendChild(blot);\n if (def == null && value.endsWith('\\n')) {\n blot.insertAt(0, value.slice(0, -1), def);\n } else {\n blot.insertAt(0, value, def);\n }\n } else {\n const embed = this.scroll.create(value, def);\n this.appendChild(embed);\n }\n } else {\n super.insertAt(index, value, def);\n }\n this.optimize();\n }\n insertBefore(blot, ref) {\n if (blot.statics.scope === Scope.INLINE_BLOT) {\n const wrapper = this.scroll.create(this.statics.defaultChild.blotName);\n wrapper.appendChild(blot);\n super.insertBefore(wrapper, ref);\n } else {\n super.insertBefore(blot, ref);\n }\n }\n insertContents(index, delta) {\n const renderBlocks = this.deltaToRenderBlocks(delta.concat(new Delta().insert('\\n')));\n const last = renderBlocks.pop();\n if (last == null) return;\n this.batchStart();\n const first = renderBlocks.shift();\n if (first) {\n const shouldInsertNewlineChar = first.type === 'block' && (first.delta.length() === 0 || !this.descendant(BlockEmbed, index)[0] && index < this.length());\n const delta = first.type === 'block' ? first.delta : new Delta().insert({\n [first.key]: first.value\n });\n insertInlineContents(this, index, delta);\n const newlineCharLength = first.type === 'block' ? 1 : 0;\n const lineEndIndex = index + delta.length() + newlineCharLength;\n if (shouldInsertNewlineChar) {\n this.insertAt(lineEndIndex - 1, '\\n');\n }\n const formats = bubbleFormats(this.line(index)[0]);\n const attributes = AttributeMap.diff(formats, first.attributes) || {};\n Object.keys(attributes).forEach(name => {\n this.formatAt(lineEndIndex - 1, 1, name, attributes[name]);\n });\n index = lineEndIndex;\n }\n let [refBlot, refBlotOffset] = this.children.find(index);\n if (renderBlocks.length) {\n if (refBlot) {\n refBlot = refBlot.split(refBlotOffset);\n refBlotOffset = 0;\n }\n renderBlocks.forEach(renderBlock => {\n if (renderBlock.type === 'block') {\n const block = this.createBlock(renderBlock.attributes, refBlot || undefined);\n insertInlineContents(block, 0, renderBlock.delta);\n } else {\n const blockEmbed = this.create(renderBlock.key, renderBlock.value);\n this.insertBefore(blockEmbed, refBlot || undefined);\n Object.keys(renderBlock.attributes).forEach(name => {\n blockEmbed.format(name, renderBlock.attributes[name]);\n });\n }\n });\n }\n if (last.type === 'block' && last.delta.length()) {\n const offset = refBlot ? refBlot.offset(refBlot.scroll) + refBlotOffset : this.length();\n insertInlineContents(this, offset, last.delta);\n }\n this.batchEnd();\n this.optimize();\n }\n isEnabled() {\n return this.domNode.getAttribute('contenteditable') === 'true';\n }\n leaf(index) {\n const last = this.path(index).pop();\n if (!last) {\n return [null, -1];\n }\n const [blot, offset] = last;\n return blot instanceof LeafBlot ? [blot, offset] : [null, -1];\n }\n line(index) {\n if (index === this.length()) {\n return this.line(index - 1);\n }\n // @ts-expect-error TODO: make descendant() generic\n return this.descendant(isLine, index);\n }\n lines() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n const getLines = (blot, blotIndex, blotLength) => {\n let lines = [];\n let lengthLeft = blotLength;\n blot.children.forEachAt(blotIndex, blotLength, (child, childIndex, childLength) => {\n if (isLine(child)) {\n lines.push(child);\n } else if (child instanceof ContainerBlot) {\n lines = lines.concat(getLines(child, childIndex, lengthLeft));\n }\n lengthLeft -= childLength;\n });\n return lines;\n };\n return getLines(this, index, length);\n }\n optimize() {\n let mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.batch) return;\n super.optimize(mutations, context);\n if (mutations.length > 0) {\n this.emitter.emit(Emitter.events.SCROLL_OPTIMIZE, mutations, context);\n }\n }\n path(index) {\n return super.path(index).slice(1); // Exclude self\n }\n remove() {\n // Never remove self\n }\n update(mutations) {\n if (this.batch) {\n if (Array.isArray(mutations)) {\n this.batch = this.batch.concat(mutations);\n }\n return;\n }\n let source = Emitter.sources.USER;\n if (typeof mutations === 'string') {\n source = mutations;\n }\n if (!Array.isArray(mutations)) {\n mutations = this.observer.takeRecords();\n }\n mutations = mutations.filter(_ref2 => {\n let {\n target\n } = _ref2;\n const blot = this.find(target, true);\n return blot && !isUpdatable(blot);\n });\n if (mutations.length > 0) {\n this.emitter.emit(Emitter.events.SCROLL_BEFORE_UPDATE, source, mutations);\n }\n super.update(mutations.concat([])); // pass copy\n if (mutations.length > 0) {\n this.emitter.emit(Emitter.events.SCROLL_UPDATE, source, mutations);\n }\n }\n updateEmbedAt(index, key, change) {\n // Currently it only supports top-level embeds (BlockEmbed).\n // We can update `ParentBlot` in parchment to support inline embeds.\n const [blot] = this.descendant(b => b instanceof BlockEmbed, index);\n if (blot && blot.statics.blotName === key && isUpdatable(blot)) {\n blot.updateContent(change);\n }\n }\n handleDragStart(event) {\n event.preventDefault();\n }\n deltaToRenderBlocks(delta) {\n const renderBlocks = [];\n let currentBlockDelta = new Delta();\n delta.forEach(op => {\n const insert = op?.insert;\n if (!insert) return;\n if (typeof insert === 'string') {\n const splitted = insert.split('\\n');\n splitted.slice(0, -1).forEach(text => {\n currentBlockDelta.insert(text, op.attributes);\n renderBlocks.push({\n type: 'block',\n delta: currentBlockDelta,\n attributes: op.attributes ?? {}\n });\n currentBlockDelta = new Delta();\n });\n const last = splitted[splitted.length - 1];\n if (last) {\n currentBlockDelta.insert(last, op.attributes);\n }\n } else {\n const key = Object.keys(insert)[0];\n if (!key) return;\n if (this.query(key, Scope.INLINE)) {\n currentBlockDelta.push(op);\n } else {\n if (currentBlockDelta.length()) {\n renderBlocks.push({\n type: 'block',\n delta: currentBlockDelta,\n attributes: {}\n });\n }\n currentBlockDelta = new Delta();\n renderBlocks.push({\n type: 'blockEmbed',\n key,\n value: insert[key],\n attributes: op.attributes ?? {}\n });\n }\n }\n });\n if (currentBlockDelta.length()) {\n renderBlocks.push({\n type: 'block',\n delta: currentBlockDelta,\n attributes: {}\n });\n }\n return renderBlocks;\n }\n createBlock(attributes, refBlot) {\n let blotName;\n const formats = {};\n Object.entries(attributes).forEach(_ref3 => {\n let [key, value] = _ref3;\n const isBlockBlot = this.query(key, Scope.BLOCK & Scope.BLOT) != null;\n if (isBlockBlot) {\n blotName = key;\n } else {\n formats[key] = value;\n }\n });\n const block = this.create(blotName || this.statics.defaultChild.blotName, blotName ? attributes[blotName] : undefined);\n this.insertBefore(block, refBlot || undefined);\n const length = block.length();\n Object.entries(formats).forEach(_ref4 => {\n let [key, value] = _ref4;\n block.formatAt(0, length, key, value);\n });\n return block;\n }\n}\nfunction insertInlineContents(parent, index, inlineContents) {\n inlineContents.reduce((index, op) => {\n const length = Op.length(op);\n let attributes = op.attributes || {};\n if (op.insert != null) {\n if (typeof op.insert === 'string') {\n const text = op.insert;\n parent.insertAt(index, text);\n const [leaf] = parent.descendant(LeafBlot, index);\n const formats = bubbleFormats(leaf);\n attributes = AttributeMap.diff(formats, attributes) || {};\n } else if (typeof op.insert === 'object') {\n const key = Object.keys(op.insert)[0]; // There should only be one key\n if (key == null) return index;\n parent.insertAt(index, key, op.insert[key]);\n const isInlineEmbed = parent.scroll.query(key, Scope.INLINE) != null;\n if (isInlineEmbed) {\n const [leaf] = parent.descendant(LeafBlot, index);\n const formats = bubbleFormats(leaf);\n attributes = AttributeMap.diff(formats, attributes) || {};\n }\n }\n }\n Object.keys(attributes).forEach(key => {\n parent.formatAt(index, length, key, attributes[key]);\n });\n return index + length;\n }, index);\n}\nexport default Scroll;\n//# sourceMappingURL=scroll.js.map","import { Attributor, ClassAttributor, Scope, StyleAttributor } from 'parchment';\nconst config = {\n scope: Scope.BLOCK,\n whitelist: ['right', 'center', 'justify']\n};\nconst AlignAttribute = new Attributor('align', 'align', config);\nconst AlignClass = new ClassAttributor('align', 'ql-align', config);\nconst AlignStyle = new StyleAttributor('align', 'text-align', config);\nexport { AlignAttribute, AlignClass, AlignStyle };\n//# sourceMappingURL=align.js.map","import { ClassAttributor, Scope, StyleAttributor } from 'parchment';\nclass ColorAttributor extends StyleAttributor {\n value(domNode) {\n let value = super.value(domNode);\n if (!value.startsWith('rgb(')) return value;\n value = value.replace(/^[^\\d]+/, '').replace(/[^\\d]+$/, '');\n const hex = value.split(',').map(component => `00${parseInt(component, 10).toString(16)}`.slice(-2)).join('');\n return `#${hex}`;\n }\n}\nconst ColorClass = new ClassAttributor('color', 'ql-color', {\n scope: Scope.INLINE\n});\nconst ColorStyle = new ColorAttributor('color', 'color', {\n scope: Scope.INLINE\n});\nexport { ColorAttributor, ColorClass, ColorStyle };\n//# sourceMappingURL=color.js.map","import { ClassAttributor, Scope } from 'parchment';\nimport { ColorAttributor } from './color.js';\nconst BackgroundClass = new ClassAttributor('background', 'ql-bg', {\n scope: Scope.INLINE\n});\nconst BackgroundStyle = new ColorAttributor('background', 'background-color', {\n scope: Scope.INLINE\n});\nexport { BackgroundClass, BackgroundStyle };\n//# sourceMappingURL=background.js.map","import Block from '../blots/block.js';\nimport Break from '../blots/break.js';\nimport Cursor from '../blots/cursor.js';\nimport Inline from '../blots/inline.js';\nimport TextBlot, { escapeText } from '../blots/text.js';\nimport Container from '../blots/container.js';\nimport Quill from '../core/quill.js';\nclass CodeBlockContainer extends Container {\n static create(value) {\n const domNode = super.create(value);\n domNode.setAttribute('spellcheck', 'false');\n return domNode;\n }\n code(index, length) {\n return this.children\n // @ts-expect-error\n .map(child => child.length() <= 1 ? '' : child.domNode.innerText).join('\\n').slice(index, index + length);\n }\n html(index, length) {\n // `\\n`s are needed in order to support empty lines at the beginning and the end.\n // https://html.spec.whatwg.org/multipage/syntax.html#element-restrictions\n return `<pre>\\n${escapeText(this.code(index, length))}\\n</pre>`;\n }\n}\nclass CodeBlock extends Block {\n static TAB = ' ';\n static register() {\n Quill.register(CodeBlockContainer);\n }\n}\nclass Code extends Inline {}\nCode.blotName = 'code';\nCode.tagName = 'CODE';\nCodeBlock.blotName = 'code-block';\nCodeBlock.className = 'ql-code-block';\nCodeBlock.tagName = 'DIV';\nCodeBlockContainer.blotName = 'code-block-container';\nCodeBlockContainer.className = 'ql-code-block-container';\nCodeBlockContainer.tagName = 'DIV';\nCodeBlockContainer.allowedChildren = [CodeBlock];\nCodeBlock.allowedChildren = [TextBlot, Break, Cursor];\nCodeBlock.requiredContainer = CodeBlockContainer;\nexport { Code, CodeBlockContainer, CodeBlock as default };\n//# sourceMappingURL=code.js.map","import { Attributor, ClassAttributor, Scope, StyleAttributor } from 'parchment';\nconst config = {\n scope: Scope.BLOCK,\n whitelist: ['rtl']\n};\nconst DirectionAttribute = new Attributor('direction', 'dir', config);\nconst DirectionClass = new ClassAttributor('direction', 'ql-direction', config);\nconst DirectionStyle = new StyleAttributor('direction', 'direction', config);\nexport { DirectionAttribute, DirectionClass, DirectionStyle };\n//# sourceMappingURL=direction.js.map","import { ClassAttributor, Scope, StyleAttributor } from 'parchment';\nconst config = {\n scope: Scope.INLINE,\n whitelist: ['serif', 'monospace']\n};\nconst FontClass = new ClassAttributor('font', 'ql-font', config);\nclass FontStyleAttributor extends StyleAttributor {\n value(node) {\n return super.value(node).replace(/[\"']/g, '');\n }\n}\nconst FontStyle = new FontStyleAttributor('font', 'font-family', config);\nexport { FontStyle, FontClass };\n//# sourceMappingURL=font.js.map","import { ClassAttributor, Scope, StyleAttributor } from 'parchment';\nconst SizeClass = new ClassAttributor('size', 'ql-size', {\n scope: Scope.INLINE,\n whitelist: ['small', 'large', 'huge']\n});\nconst SizeStyle = new StyleAttributor('size', 'font-size', {\n scope: Scope.INLINE,\n whitelist: ['10px', '18px', '32px']\n});\nexport { SizeClass, SizeStyle };\n//# sourceMappingURL=size.js.map","import { cloneDeep, isEqual } from 'lodash-es';\nimport Delta, { AttributeMap } from 'quill-delta';\nimport { EmbedBlot, Scope, TextBlot } from 'parchment';\nimport Quill from '../core/quill.js';\nimport logger from '../core/logger.js';\nimport Module from '../core/module.js';\nconst debug = logger('quill:keyboard');\nconst SHORTKEY = /Mac/i.test(navigator.platform) ? 'metaKey' : 'ctrlKey';\nclass Keyboard extends Module {\n static match(evt, binding) {\n if (['altKey', 'ctrlKey', 'metaKey', 'shiftKey'].some(key => {\n return !!binding[key] !== evt[key] && binding[key] !== null;\n })) {\n return false;\n }\n return binding.key === evt.key || binding.key === evt.which;\n }\n constructor(quill, options) {\n super(quill, options);\n this.bindings = {};\n // @ts-expect-error Fix me later\n Object.keys(this.options.bindings).forEach(name => {\n // @ts-expect-error Fix me later\n if (this.options.bindings[name]) {\n // @ts-expect-error Fix me later\n this.addBinding(this.options.bindings[name]);\n }\n });\n this.addBinding({\n key: 'Enter',\n shiftKey: null\n }, this.handleEnter);\n this.addBinding({\n key: 'Enter',\n metaKey: null,\n ctrlKey: null,\n altKey: null\n }, () => {});\n if (/Firefox/i.test(navigator.userAgent)) {\n // Need to handle delete and backspace for Firefox in the general case #1171\n this.addBinding({\n key: 'Backspace'\n }, {\n collapsed: true\n }, this.handleBackspace);\n this.addBinding({\n key: 'Delete'\n }, {\n collapsed: true\n }, this.handleDelete);\n } else {\n this.addBinding({\n key: 'Backspace'\n }, {\n collapsed: true,\n prefix: /^.?$/\n }, this.handleBackspace);\n this.addBinding({\n key: 'Delete'\n }, {\n collapsed: true,\n suffix: /^.?$/\n }, this.handleDelete);\n }\n this.addBinding({\n key: 'Backspace'\n }, {\n collapsed: false\n }, this.handleDeleteRange);\n this.addBinding({\n key: 'Delete'\n }, {\n collapsed: false\n }, this.handleDeleteRange);\n this.addBinding({\n key: 'Backspace',\n altKey: null,\n ctrlKey: null,\n metaKey: null,\n shiftKey: null\n }, {\n collapsed: true,\n offset: 0\n }, this.handleBackspace);\n this.listen();\n }\n addBinding(keyBinding) {\n let context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let handler = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const binding = normalize(keyBinding);\n if (binding == null) {\n debug.warn('Attempted to add invalid keyboard binding', binding);\n return;\n }\n if (typeof context === 'function') {\n context = {\n handler: context\n };\n }\n if (typeof handler === 'function') {\n handler = {\n handler\n };\n }\n const keys = Array.isArray(binding.key) ? binding.key : [binding.key];\n keys.forEach(key => {\n const singleBinding = {\n ...binding,\n key,\n ...context,\n ...handler\n };\n this.bindings[singleBinding.key] = this.bindings[singleBinding.key] || [];\n this.bindings[singleBinding.key].push(singleBinding);\n });\n }\n listen() {\n this.quill.root.addEventListener('keydown', evt => {\n if (evt.defaultPrevented || evt.isComposing) return;\n\n // evt.isComposing is false when pressing Enter/Backspace when composing in Safari\n // https://bugs.webkit.org/show_bug.cgi?id=165004\n const isComposing = evt.keyCode === 229 && (evt.key === 'Enter' || evt.key === 'Backspace');\n if (isComposing) return;\n const bindings = (this.bindings[evt.key] || []).concat(this.bindings[evt.which] || []);\n const matches = bindings.filter(binding => Keyboard.match(evt, binding));\n if (matches.length === 0) return;\n // @ts-expect-error\n const blot = Quill.find(evt.target, true);\n if (blot && blot.scroll !== this.quill.scroll) return;\n const range = this.quill.getSelection();\n if (range == null || !this.quill.hasFocus()) return;\n const [line, offset] = this.quill.getLine(range.index);\n const [leafStart, offsetStart] = this.quill.getLeaf(range.index);\n const [leafEnd, offsetEnd] = range.length === 0 ? [leafStart, offsetStart] : this.quill.getLeaf(range.index + range.length);\n const prefixText = leafStart instanceof TextBlot ? leafStart.value().slice(0, offsetStart) : '';\n const suffixText = leafEnd instanceof TextBlot ? leafEnd.value().slice(offsetEnd) : '';\n const curContext = {\n collapsed: range.length === 0,\n // @ts-expect-error Fix me later\n empty: range.length === 0 && line.length() <= 1,\n format: this.quill.getFormat(range),\n line,\n offset,\n prefix: prefixText,\n suffix: suffixText,\n event: evt\n };\n const prevented = matches.some(binding => {\n if (binding.collapsed != null && binding.collapsed !== curContext.collapsed) {\n return false;\n }\n if (binding.empty != null && binding.empty !== curContext.empty) {\n return false;\n }\n if (binding.offset != null && binding.offset !== curContext.offset) {\n return false;\n }\n if (Array.isArray(binding.format)) {\n // any format is present\n if (binding.format.every(name => curContext.format[name] == null)) {\n return false;\n }\n } else if (typeof binding.format === 'object') {\n // all formats must match\n if (!Object.keys(binding.format).every(name => {\n // @ts-expect-error Fix me later\n if (binding.format[name] === true) return curContext.format[name] != null;\n // @ts-expect-error Fix me later\n if (binding.format[name] === false) return curContext.format[name] == null;\n // @ts-expect-error Fix me later\n return isEqual(binding.format[name], curContext.format[name]);\n })) {\n return false;\n }\n }\n if (binding.prefix != null && !binding.prefix.test(curContext.prefix)) {\n return false;\n }\n if (binding.suffix != null && !binding.suffix.test(curContext.suffix)) {\n return false;\n }\n // @ts-expect-error Fix me later\n return binding.handler.call(this, range, curContext, binding) !== true;\n });\n if (prevented) {\n evt.preventDefault();\n }\n });\n }\n handleBackspace(range, context) {\n // Check for astral symbols\n const length = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]$/.test(context.prefix) ? 2 : 1;\n if (range.index === 0 || this.quill.getLength() <= 1) return;\n let formats = {};\n const [line] = this.quill.getLine(range.index);\n let delta = new Delta().retain(range.index - length).delete(length);\n if (context.offset === 0) {\n // Always deleting newline here, length always 1\n const [prev] = this.quill.getLine(range.index - 1);\n if (prev) {\n const isPrevLineEmpty = prev.statics.blotName === 'block' && prev.length() <= 1;\n if (!isPrevLineEmpty) {\n // @ts-expect-error Fix me later\n const curFormats = line.formats();\n const prevFormats = this.quill.getFormat(range.index - 1, 1);\n formats = AttributeMap.diff(curFormats, prevFormats) || {};\n if (Object.keys(formats).length > 0) {\n // line.length() - 1 targets \\n in line, another -1 for newline being deleted\n const formatDelta = new Delta()\n // @ts-expect-error Fix me later\n .retain(range.index + line.length() - 2).retain(1, formats);\n delta = delta.compose(formatDelta);\n }\n }\n }\n }\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.focus();\n }\n handleDelete(range, context) {\n // Check for astral symbols\n const length = /^[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/.test(context.suffix) ? 2 : 1;\n if (range.index >= this.quill.getLength() - length) return;\n let formats = {};\n const [line] = this.quill.getLine(range.index);\n let delta = new Delta().retain(range.index).delete(length);\n // @ts-expect-error Fix me later\n if (context.offset >= line.length() - 1) {\n const [next] = this.quill.getLine(range.index + 1);\n if (next) {\n // @ts-expect-error Fix me later\n const curFormats = line.formats();\n const nextFormats = this.quill.getFormat(range.index, 1);\n formats = AttributeMap.diff(curFormats, nextFormats) || {};\n if (Object.keys(formats).length > 0) {\n delta = delta.retain(next.length() - 1).retain(1, formats);\n }\n }\n }\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.focus();\n }\n handleDeleteRange(range) {\n deleteRange({\n range,\n quill: this.quill\n });\n this.quill.focus();\n }\n handleEnter(range, context) {\n const lineFormats = Object.keys(context.format).reduce((formats, format) => {\n if (this.quill.scroll.query(format, Scope.BLOCK) && !Array.isArray(context.format[format])) {\n formats[format] = context.format[format];\n }\n return formats;\n }, {});\n const delta = new Delta().retain(range.index).delete(range.length).insert('\\n', lineFormats);\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.setSelection(range.index + 1, Quill.sources.SILENT);\n this.quill.focus();\n }\n}\nconst defaultOptions = {\n bindings: {\n bold: makeFormatHandler('bold'),\n italic: makeFormatHandler('italic'),\n underline: makeFormatHandler('underline'),\n indent: {\n // highlight tab or tab at beginning of list, indent or blockquote\n key: 'Tab',\n format: ['blockquote', 'indent', 'list'],\n handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '+1', Quill.sources.USER);\n return false;\n }\n },\n outdent: {\n key: 'Tab',\n shiftKey: true,\n format: ['blockquote', 'indent', 'list'],\n // highlight tab or tab at beginning of list, indent or blockquote\n handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '-1', Quill.sources.USER);\n return false;\n }\n },\n 'outdent backspace': {\n key: 'Backspace',\n collapsed: true,\n shiftKey: null,\n metaKey: null,\n ctrlKey: null,\n altKey: null,\n format: ['indent', 'list'],\n offset: 0,\n handler(range, context) {\n if (context.format.indent != null) {\n this.quill.format('indent', '-1', Quill.sources.USER);\n } else if (context.format.list != null) {\n this.quill.format('list', false, Quill.sources.USER);\n }\n }\n },\n 'indent code-block': makeCodeBlockHandler(true),\n 'outdent code-block': makeCodeBlockHandler(false),\n 'remove tab': {\n key: 'Tab',\n shiftKey: true,\n collapsed: true,\n prefix: /\\t$/,\n handler(range) {\n this.quill.deleteText(range.index - 1, 1, Quill.sources.USER);\n }\n },\n tab: {\n key: 'Tab',\n handler(range, context) {\n if (context.format.table) return true;\n this.quill.history.cutoff();\n const delta = new Delta().retain(range.index).delete(range.length).insert('\\t');\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index + 1, Quill.sources.SILENT);\n return false;\n }\n },\n 'blockquote empty enter': {\n key: 'Enter',\n collapsed: true,\n format: ['blockquote'],\n empty: true,\n handler() {\n this.quill.format('blockquote', false, Quill.sources.USER);\n }\n },\n 'list empty enter': {\n key: 'Enter',\n collapsed: true,\n format: ['list'],\n empty: true,\n handler(range, context) {\n const formats = {\n list: false\n };\n if (context.format.indent) {\n formats.indent = false;\n }\n this.quill.formatLine(range.index, range.length, formats, Quill.sources.USER);\n }\n },\n 'checklist enter': {\n key: 'Enter',\n collapsed: true,\n format: {\n list: 'checked'\n },\n handler(range) {\n const [line, offset] = this.quill.getLine(range.index);\n const formats = {\n // @ts-expect-error Fix me later\n ...line.formats(),\n list: 'checked'\n };\n const delta = new Delta().retain(range.index).insert('\\n', formats)\n // @ts-expect-error Fix me later\n .retain(line.length() - offset - 1).retain(1, {\n list: 'unchecked'\n });\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.setSelection(range.index + 1, Quill.sources.SILENT);\n this.quill.scrollSelectionIntoView();\n }\n },\n 'header enter': {\n key: 'Enter',\n collapsed: true,\n format: ['header'],\n suffix: /^$/,\n handler(range, context) {\n const [line, offset] = this.quill.getLine(range.index);\n const delta = new Delta().retain(range.index).insert('\\n', context.format)\n // @ts-expect-error Fix me later\n .retain(line.length() - offset - 1).retain(1, {\n header: null\n });\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.setSelection(range.index + 1, Quill.sources.SILENT);\n this.quill.scrollSelectionIntoView();\n }\n },\n 'table backspace': {\n key: 'Backspace',\n format: ['table'],\n collapsed: true,\n offset: 0,\n handler() {}\n },\n 'table delete': {\n key: 'Delete',\n format: ['table'],\n collapsed: true,\n suffix: /^$/,\n handler() {}\n },\n 'table enter': {\n key: 'Enter',\n shiftKey: null,\n format: ['table'],\n handler(range) {\n const module = this.quill.getModule('table');\n if (module) {\n // @ts-expect-error\n const [table, row, cell, offset] = module.getTable(range);\n const shift = tableSide(table, row, cell, offset);\n if (shift == null) return;\n let index = table.offset();\n if (shift < 0) {\n const delta = new Delta().retain(index).insert('\\n');\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.setSelection(range.index + 1, range.length, Quill.sources.SILENT);\n } else if (shift > 0) {\n index += table.length();\n const delta = new Delta().retain(index).insert('\\n');\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.setSelection(index, Quill.sources.USER);\n }\n }\n }\n },\n 'table tab': {\n key: 'Tab',\n shiftKey: null,\n format: ['table'],\n handler(range, context) {\n const {\n event,\n line: cell\n } = context;\n const offset = cell.offset(this.quill.scroll);\n if (event.shiftKey) {\n this.quill.setSelection(offset - 1, Quill.sources.USER);\n } else {\n this.quill.setSelection(offset + cell.length(), Quill.sources.USER);\n }\n }\n },\n 'list autofill': {\n key: ' ',\n shiftKey: null,\n collapsed: true,\n format: {\n 'code-block': false,\n blockquote: false,\n table: false\n },\n prefix: /^\\s*?(\\d+\\.|-|\\*|\\[ ?\\]|\\[x\\])$/,\n handler(range, context) {\n if (this.quill.scroll.query('list') == null) return true;\n const {\n length\n } = context.prefix;\n const [line, offset] = this.quill.getLine(range.index);\n if (offset > length) return true;\n let value;\n switch (context.prefix.trim()) {\n case '[]':\n case '[ ]':\n value = 'unchecked';\n break;\n case '[x]':\n value = 'checked';\n break;\n case '-':\n case '*':\n value = 'bullet';\n break;\n default:\n value = 'ordered';\n }\n this.quill.insertText(range.index, ' ', Quill.sources.USER);\n this.quill.history.cutoff();\n const delta = new Delta().retain(range.index - offset).delete(length + 1)\n // @ts-expect-error Fix me later\n .retain(line.length() - 2 - offset).retain(1, {\n list: value\n });\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index - length, Quill.sources.SILENT);\n return false;\n }\n },\n 'code exit': {\n key: 'Enter',\n collapsed: true,\n format: ['code-block'],\n prefix: /^$/,\n suffix: /^\\s*$/,\n handler(range) {\n const [line, offset] = this.quill.getLine(range.index);\n let numLines = 2;\n let cur = line;\n while (cur != null && cur.length() <= 1 && cur.formats()['code-block']) {\n // @ts-expect-error\n cur = cur.prev;\n numLines -= 1;\n // Requisite prev lines are empty\n if (numLines <= 0) {\n const delta = new Delta()\n // @ts-expect-error Fix me later\n .retain(range.index + line.length() - offset - 2).retain(1, {\n 'code-block': null\n }).delete(1);\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.setSelection(range.index - 1, Quill.sources.SILENT);\n return false;\n }\n }\n return true;\n }\n },\n 'embed left': makeEmbedArrowHandler('ArrowLeft', false),\n 'embed left shift': makeEmbedArrowHandler('ArrowLeft', true),\n 'embed right': makeEmbedArrowHandler('ArrowRight', false),\n 'embed right shift': makeEmbedArrowHandler('ArrowRight', true),\n 'table down': makeTableArrowHandler(false),\n 'table up': makeTableArrowHandler(true)\n }\n};\nKeyboard.DEFAULTS = defaultOptions;\nfunction makeCodeBlockHandler(indent) {\n return {\n key: 'Tab',\n shiftKey: !indent,\n format: {\n 'code-block': true\n },\n handler(range, _ref) {\n let {\n event\n } = _ref;\n const CodeBlock = this.quill.scroll.query('code-block');\n // @ts-expect-error\n const {\n TAB\n } = CodeBlock;\n if (range.length === 0 && !event.shiftKey) {\n this.quill.insertText(range.index, TAB, Quill.sources.USER);\n this.quill.setSelection(range.index + TAB.length, Quill.sources.SILENT);\n return;\n }\n const lines = range.length === 0 ? this.quill.getLines(range.index, 1) : this.quill.getLines(range);\n let {\n index,\n length\n } = range;\n lines.forEach((line, i) => {\n if (indent) {\n line.insertAt(0, TAB);\n if (i === 0) {\n index += TAB.length;\n } else {\n length += TAB.length;\n }\n // @ts-expect-error Fix me later\n } else if (line.domNode.textContent.startsWith(TAB)) {\n line.deleteAt(0, TAB.length);\n if (i === 0) {\n index -= TAB.length;\n } else {\n length -= TAB.length;\n }\n }\n });\n this.quill.update(Quill.sources.USER);\n this.quill.setSelection(index, length, Quill.sources.SILENT);\n }\n };\n}\nfunction makeEmbedArrowHandler(key, shiftKey) {\n const where = key === 'ArrowLeft' ? 'prefix' : 'suffix';\n return {\n key,\n shiftKey,\n altKey: null,\n [where]: /^$/,\n handler(range) {\n let {\n index\n } = range;\n if (key === 'ArrowRight') {\n index += range.length + 1;\n }\n const [leaf] = this.quill.getLeaf(index);\n if (!(leaf instanceof EmbedBlot)) return true;\n if (key === 'ArrowLeft') {\n if (shiftKey) {\n this.quill.setSelection(range.index - 1, range.length + 1, Quill.sources.USER);\n } else {\n this.quill.setSelection(range.index - 1, Quill.sources.USER);\n }\n } else if (shiftKey) {\n this.quill.setSelection(range.index, range.length + 1, Quill.sources.USER);\n } else {\n this.quill.setSelection(range.index + range.length + 1, Quill.sources.USER);\n }\n return false;\n }\n };\n}\nfunction makeFormatHandler(format) {\n return {\n key: format[0],\n shortKey: true,\n handler(range, context) {\n this.quill.format(format, !context.format[format], Quill.sources.USER);\n }\n };\n}\nfunction makeTableArrowHandler(up) {\n return {\n key: up ? 'ArrowUp' : 'ArrowDown',\n collapsed: true,\n format: ['table'],\n handler(range, context) {\n // TODO move to table module\n const key = up ? 'prev' : 'next';\n const cell = context.line;\n const targetRow = cell.parent[key];\n if (targetRow != null) {\n if (targetRow.statics.blotName === 'table-row') {\n // @ts-expect-error\n let targetCell = targetRow.children.head;\n let cur = cell;\n while (cur.prev != null) {\n // @ts-expect-error\n cur = cur.prev;\n targetCell = targetCell.next;\n }\n const index = targetCell.offset(this.quill.scroll) + Math.min(context.offset, targetCell.length() - 1);\n this.quill.setSelection(index, 0, Quill.sources.USER);\n }\n } else {\n // @ts-expect-error\n const targetLine = cell.table()[key];\n if (targetLine != null) {\n if (up) {\n this.quill.setSelection(targetLine.offset(this.quill.scroll) + targetLine.length() - 1, 0, Quill.sources.USER);\n } else {\n this.quill.setSelection(targetLine.offset(this.quill.scroll), 0, Quill.sources.USER);\n }\n }\n }\n return false;\n }\n };\n}\nfunction normalize(binding) {\n if (typeof binding === 'string' || typeof binding === 'number') {\n binding = {\n key: binding\n };\n } else if (typeof binding === 'object') {\n binding = cloneDeep(binding);\n } else {\n return null;\n }\n if (binding.shortKey) {\n binding[SHORTKEY] = binding.shortKey;\n delete binding.shortKey;\n }\n return binding;\n}\n\n// TODO: Move into quill.ts or editor.ts\nfunction deleteRange(_ref2) {\n let {\n quill,\n range\n } = _ref2;\n const lines = quill.getLines(range);\n let formats = {};\n if (lines.length > 1) {\n const firstFormats = lines[0].formats();\n const lastFormats = lines[lines.length - 1].formats();\n formats = AttributeMap.diff(lastFormats, firstFormats) || {};\n }\n quill.deleteText(range, Quill.sources.USER);\n if (Object.keys(formats).length > 0) {\n quill.formatLine(range.index, 1, formats, Quill.sources.USER);\n }\n quill.setSelection(range.index, Quill.sources.SILENT);\n}\nfunction tableSide(_table, row, cell, offset) {\n if (row.prev == null && row.next == null) {\n if (cell.prev == null && cell.next == null) {\n return offset === 0 ? -1 : 1;\n }\n return cell.prev == null ? -1 : 1;\n }\n if (row.prev == null) {\n return -1;\n }\n if (row.next == null) {\n return 1;\n }\n return null;\n}\nexport { Keyboard as default, SHORTKEY, normalize, deleteRange };\n//# sourceMappingURL=keyboard.js.map","const normalWeightRegexp = /font-weight:\\s*normal/;\nconst blockTagNames = ['P', 'OL', 'UL'];\nconst isBlockElement = element => {\n return element && blockTagNames.includes(element.tagName);\n};\nconst normalizeEmptyLines = doc => {\n Array.from(doc.querySelectorAll('br')).filter(br => isBlockElement(br.previousElementSibling) && isBlockElement(br.nextElementSibling)).forEach(br => {\n br.parentNode?.removeChild(br);\n });\n};\nconst normalizeFontWeight = doc => {\n Array.from(doc.querySelectorAll('b[style*=\"font-weight\"]')).filter(node => node.getAttribute('style')?.match(normalWeightRegexp)).forEach(node => {\n const fragment = doc.createDocumentFragment();\n fragment.append(...node.childNodes);\n node.parentNode?.replaceChild(fragment, node);\n });\n};\nexport default function normalize(doc) {\n if (doc.querySelector('[id^=\"docs-internal-guid-\"]')) {\n normalizeFontWeight(doc);\n normalizeEmptyLines(doc);\n }\n}\n//# sourceMappingURL=googleDocs.js.map","const ignoreRegexp = /\\bmso-list:[^;]*ignore/i;\nconst idRegexp = /\\bmso-list:[^;]*\\bl(\\d+)/i;\nconst indentRegexp = /\\bmso-list:[^;]*\\blevel(\\d+)/i;\nconst parseListItem = (element, html) => {\n const style = element.getAttribute('style');\n const idMatch = style?.match(idRegexp);\n if (!idMatch) {\n return null;\n }\n const id = Number(idMatch[1]);\n const indentMatch = style?.match(indentRegexp);\n const indent = indentMatch ? Number(indentMatch[1]) : 1;\n const typeRegexp = new RegExp(`@list l${id}:level${indent}\\\\s*\\\\{[^\\\\}]*mso-level-number-format:\\\\s*([\\\\w-]+)`, 'i');\n const typeMatch = html.match(typeRegexp);\n const type = typeMatch && typeMatch[1] === 'bullet' ? 'bullet' : 'ordered';\n return {\n id,\n indent,\n type,\n element\n };\n};\n\n// list items are represented as `p` tags with styles like `mso-list: l0 level1` where:\n// 1. \"0\" in \"l0\" means the list item id;\n// 2. \"1\" in \"level1\" means the indent level, starting from 1.\nconst normalizeListItem = doc => {\n const msoList = Array.from(doc.querySelectorAll('[style*=mso-list]'));\n const ignored = [];\n const others = [];\n msoList.forEach(node => {\n const shouldIgnore = (node.getAttribute('style') || '').match(ignoreRegexp);\n if (shouldIgnore) {\n ignored.push(node);\n } else {\n others.push(node);\n }\n });\n\n // Each list item contains a marker wrapped with \"mso-list: Ignore\".\n ignored.forEach(node => node.parentNode?.removeChild(node));\n\n // The list stype is not defined inline with the tag, instead, it's in the\n // style tag so we need to pass the html as a string.\n const html = doc.documentElement.innerHTML;\n const listItems = others.map(element => parseListItem(element, html)).filter(parsed => parsed);\n while (listItems.length) {\n const childListItems = [];\n let current = listItems.shift();\n // Group continuous items into the same group (aka \"ul\")\n while (current) {\n childListItems.push(current);\n current = listItems.length && listItems[0]?.element === current.element.nextElementSibling &&\n // Different id means the next item doesn't belong to this group.\n listItems[0].id === current.id ? listItems.shift() : null;\n }\n const ul = document.createElement('ul');\n childListItems.forEach(listItem => {\n const li = document.createElement('li');\n li.setAttribute('data-list', listItem.type);\n if (listItem.indent > 1) {\n li.setAttribute('class', `ql-indent-${listItem.indent - 1}`);\n }\n li.innerHTML = listItem.element.innerHTML;\n ul.appendChild(li);\n });\n const element = childListItems[0]?.element;\n const {\n parentNode\n } = element ?? {};\n if (element) {\n parentNode?.replaceChild(ul, element);\n }\n childListItems.slice(1).forEach(_ref => {\n let {\n element: e\n } = _ref;\n parentNode?.removeChild(e);\n });\n }\n};\nexport default function normalize(doc) {\n if (doc.documentElement.getAttribute('xmlns:w') === 'urn:schemas-microsoft-com:office:word') {\n normalizeListItem(doc);\n }\n}\n//# sourceMappingURL=msWord.js.map","import googleDocs from './normalizers/googleDocs.js';\nimport msWord from './normalizers/msWord.js';\nconst NORMALIZERS = [msWord, googleDocs];\nconst normalizeExternalHTML = doc => {\n if (doc.documentElement) {\n NORMALIZERS.forEach(normalize => {\n normalize(doc);\n });\n }\n};\nexport default normalizeExternalHTML;\n//# sourceMappingURL=index.js.map","import { Attributor, BlockBlot, ClassAttributor, EmbedBlot, Scope, StyleAttributor } from 'parchment';\nimport Delta from 'quill-delta';\nimport { BlockEmbed } from '../blots/block.js';\nimport logger from '../core/logger.js';\nimport Module from '../core/module.js';\nimport Quill from '../core/quill.js';\nimport { AlignAttribute, AlignStyle } from '../formats/align.js';\nimport { BackgroundStyle } from '../formats/background.js';\nimport CodeBlock from '../formats/code.js';\nimport { ColorStyle } from '../formats/color.js';\nimport { DirectionAttribute, DirectionStyle } from '../formats/direction.js';\nimport { FontStyle } from '../formats/font.js';\nimport { SizeStyle } from '../formats/size.js';\nimport { deleteRange } from './keyboard.js';\nimport normalizeExternalHTML from './normalizeExternalHTML/index.js';\nconst debug = logger('quill:clipboard');\nconst CLIPBOARD_CONFIG = [[Node.TEXT_NODE, matchText], [Node.TEXT_NODE, matchNewline], ['br', matchBreak], [Node.ELEMENT_NODE, matchNewline], [Node.ELEMENT_NODE, matchBlot], [Node.ELEMENT_NODE, matchAttributor], [Node.ELEMENT_NODE, matchStyles], ['li', matchIndent], ['ol, ul', matchList], ['pre', matchCodeBlock], ['tr', matchTable], ['b', createMatchAlias('bold')], ['i', createMatchAlias('italic')], ['strike', createMatchAlias('strike')], ['style', matchIgnore]];\nconst ATTRIBUTE_ATTRIBUTORS = [AlignAttribute, DirectionAttribute].reduce((memo, attr) => {\n memo[attr.keyName] = attr;\n return memo;\n}, {});\nconst STYLE_ATTRIBUTORS = [AlignStyle, BackgroundStyle, ColorStyle, DirectionStyle, FontStyle, SizeStyle].reduce((memo, attr) => {\n memo[attr.keyName] = attr;\n return memo;\n}, {});\nclass Clipboard extends Module {\n static DEFAULTS = {\n matchers: []\n };\n constructor(quill, options) {\n super(quill, options);\n this.quill.root.addEventListener('copy', e => this.onCaptureCopy(e, false));\n this.quill.root.addEventListener('cut', e => this.onCaptureCopy(e, true));\n this.quill.root.addEventListener('paste', this.onCapturePaste.bind(this));\n this.matchers = [];\n CLIPBOARD_CONFIG.concat(this.options.matchers ?? []).forEach(_ref => {\n let [selector, matcher] = _ref;\n this.addMatcher(selector, matcher);\n });\n }\n addMatcher(selector, matcher) {\n this.matchers.push([selector, matcher]);\n }\n convert(_ref2) {\n let {\n html,\n text\n } = _ref2;\n let formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (formats[CodeBlock.blotName]) {\n return new Delta().insert(text || '', {\n [CodeBlock.blotName]: formats[CodeBlock.blotName]\n });\n }\n if (!html) {\n return new Delta().insert(text || '', formats);\n }\n const delta = this.convertHTML(html);\n // Remove trailing newline\n if (deltaEndsWith(delta, '\\n') && (delta.ops[delta.ops.length - 1].attributes == null || formats.table)) {\n return delta.compose(new Delta().retain(delta.length() - 1).delete(1));\n }\n return delta;\n }\n normalizeHTML(doc) {\n normalizeExternalHTML(doc);\n }\n convertHTML(html) {\n const doc = new DOMParser().parseFromString(html, 'text/html');\n this.normalizeHTML(doc);\n const container = doc.body;\n const nodeMatches = new WeakMap();\n const [elementMatchers, textMatchers] = this.prepareMatching(container, nodeMatches);\n return traverse(this.quill.scroll, container, elementMatchers, textMatchers, nodeMatches);\n }\n dangerouslyPasteHTML(index, html) {\n let source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Quill.sources.API;\n if (typeof index === 'string') {\n const delta = this.convert({\n html: index,\n text: ''\n });\n // @ts-expect-error\n this.quill.setContents(delta, html);\n this.quill.setSelection(0, Quill.sources.SILENT);\n } else {\n const paste = this.convert({\n html,\n text: ''\n });\n this.quill.updateContents(new Delta().retain(index).concat(paste), source);\n this.quill.setSelection(index + paste.length(), Quill.sources.SILENT);\n }\n }\n onCaptureCopy(e) {\n let isCut = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (e.defaultPrevented) return;\n e.preventDefault();\n const [range] = this.quill.selection.getRange();\n if (range == null) return;\n const {\n html,\n text\n } = this.onCopy(range, isCut);\n e.clipboardData?.setData('text/plain', text);\n e.clipboardData?.setData('text/html', html);\n if (isCut) {\n deleteRange({\n range,\n quill: this.quill\n });\n }\n }\n\n /*\n * https://www.iana.org/assignments/media-types/text/uri-list\n */\n normalizeURIList(urlList) {\n return urlList.split(/\\r?\\n/)\n // Ignore all comments\n .filter(url => url[0] !== '#').join('\\n');\n }\n onCapturePaste(e) {\n if (e.defaultPrevented || !this.quill.isEnabled()) return;\n e.preventDefault();\n const range = this.quill.getSelection(true);\n if (range == null) return;\n const html = e.clipboardData?.getData('text/html');\n let text = e.clipboardData?.getData('text/plain');\n if (!html && !text) {\n const urlList = e.clipboardData?.getData('text/uri-list');\n if (urlList) {\n text = this.normalizeURIList(urlList);\n }\n }\n const files = Array.from(e.clipboardData?.files || []);\n if (!html && files.length > 0) {\n this.quill.uploader.upload(range, files);\n return;\n }\n if (html && files.length > 0) {\n const doc = new DOMParser().parseFromString(html, 'text/html');\n if (doc.body.childElementCount === 1 && doc.body.firstElementChild?.tagName === 'IMG') {\n this.quill.uploader.upload(range, files);\n return;\n }\n }\n this.onPaste(range, {\n html,\n text\n });\n }\n onCopy(range) {\n const text = this.quill.getText(range);\n const html = this.quill.getSemanticHTML(range);\n return {\n html,\n text\n };\n }\n onPaste(range, _ref3) {\n let {\n text,\n html\n } = _ref3;\n const formats = this.quill.getFormat(range.index);\n const pastedDelta = this.convert({\n text,\n html\n }, formats);\n debug.log('onPaste', pastedDelta, {\n text,\n html\n });\n const delta = new Delta().retain(range.index).delete(range.length).concat(pastedDelta);\n this.quill.updateContents(delta, Quill.sources.USER);\n // range.length contributes to delta.length()\n this.quill.setSelection(delta.length() - range.length, Quill.sources.SILENT);\n this.quill.scrollSelectionIntoView();\n }\n prepareMatching(container, nodeMatches) {\n const elementMatchers = [];\n const textMatchers = [];\n this.matchers.forEach(pair => {\n const [selector, matcher] = pair;\n switch (selector) {\n case Node.TEXT_NODE:\n textMatchers.push(matcher);\n break;\n case Node.ELEMENT_NODE:\n elementMatchers.push(matcher);\n break;\n default:\n Array.from(container.querySelectorAll(selector)).forEach(node => {\n if (nodeMatches.has(node)) {\n const matches = nodeMatches.get(node);\n matches?.push(matcher);\n } else {\n nodeMatches.set(node, [matcher]);\n }\n });\n break;\n }\n });\n return [elementMatchers, textMatchers];\n }\n}\nfunction applyFormat(delta, format, value, scroll) {\n if (!scroll.query(format)) {\n return delta;\n }\n return delta.reduce((newDelta, op) => {\n if (!op.insert) return newDelta;\n if (op.attributes && op.attributes[format]) {\n return newDelta.push(op);\n }\n const formats = value ? {\n [format]: value\n } : {};\n return newDelta.insert(op.insert, {\n ...formats,\n ...op.attributes\n });\n }, new Delta());\n}\nfunction deltaEndsWith(delta, text) {\n let endText = '';\n for (let i = delta.ops.length - 1; i >= 0 && endText.length < text.length; --i // eslint-disable-line no-plusplus\n ) {\n const op = delta.ops[i];\n if (typeof op.insert !== 'string') break;\n endText = op.insert + endText;\n }\n return endText.slice(-1 * text.length) === text;\n}\nfunction isLine(node, scroll) {\n if (!(node instanceof Element)) return false;\n const match = scroll.query(node);\n // @ts-expect-error\n if (match && match.prototype instanceof EmbedBlot) return false;\n return ['address', 'article', 'blockquote', 'canvas', 'dd', 'div', 'dl', 'dt', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'iframe', 'li', 'main', 'nav', 'ol', 'output', 'p', 'pre', 'section', 'table', 'td', 'tr', 'ul', 'video'].includes(node.tagName.toLowerCase());\n}\nfunction isBetweenInlineElements(node, scroll) {\n return node.previousElementSibling && node.nextElementSibling && !isLine(node.previousElementSibling, scroll) && !isLine(node.nextElementSibling, scroll);\n}\nconst preNodes = new WeakMap();\nfunction isPre(node) {\n if (node == null) return false;\n if (!preNodes.has(node)) {\n // @ts-expect-error\n if (node.tagName === 'PRE') {\n preNodes.set(node, true);\n } else {\n preNodes.set(node, isPre(node.parentNode));\n }\n }\n return preNodes.get(node);\n}\nfunction traverse(scroll, node, elementMatchers, textMatchers, nodeMatches) {\n // Post-order\n if (node.nodeType === node.TEXT_NODE) {\n return textMatchers.reduce((delta, matcher) => {\n return matcher(node, delta, scroll);\n }, new Delta());\n }\n if (node.nodeType === node.ELEMENT_NODE) {\n return Array.from(node.childNodes || []).reduce((delta, childNode) => {\n let childrenDelta = traverse(scroll, childNode, elementMatchers, textMatchers, nodeMatches);\n if (childNode.nodeType === node.ELEMENT_NODE) {\n childrenDelta = elementMatchers.reduce((reducedDelta, matcher) => {\n return matcher(childNode, reducedDelta, scroll);\n }, childrenDelta);\n childrenDelta = (nodeMatches.get(childNode) || []).reduce((reducedDelta, matcher) => {\n return matcher(childNode, reducedDelta, scroll);\n }, childrenDelta);\n }\n return delta.concat(childrenDelta);\n }, new Delta());\n }\n return new Delta();\n}\nfunction createMatchAlias(format) {\n return (_node, delta, scroll) => {\n return applyFormat(delta, format, true, scroll);\n };\n}\nfunction matchAttributor(node, delta, scroll) {\n const attributes = Attributor.keys(node);\n const classes = ClassAttributor.keys(node);\n const styles = StyleAttributor.keys(node);\n const formats = {};\n attributes.concat(classes).concat(styles).forEach(name => {\n let attr = scroll.query(name, Scope.ATTRIBUTE);\n if (attr != null) {\n formats[attr.attrName] = attr.value(node);\n if (formats[attr.attrName]) return;\n }\n attr = ATTRIBUTE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n attr = STYLE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n attr = STYLE_ATTRIBUTORS[name];\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n });\n return Object.entries(formats).reduce((newDelta, _ref4) => {\n let [name, value] = _ref4;\n return applyFormat(newDelta, name, value, scroll);\n }, delta);\n}\nfunction matchBlot(node, delta, scroll) {\n const match = scroll.query(node);\n if (match == null) return delta;\n // @ts-expect-error\n if (match.prototype instanceof EmbedBlot) {\n const embed = {};\n // @ts-expect-error\n const value = match.value(node);\n if (value != null) {\n // @ts-expect-error\n embed[match.blotName] = value;\n // @ts-expect-error\n return new Delta().insert(embed, match.formats(node, scroll));\n }\n } else {\n // @ts-expect-error\n if (match.prototype instanceof BlockBlot && !deltaEndsWith(delta, '\\n')) {\n delta.insert('\\n');\n }\n if ('blotName' in match && 'formats' in match && typeof match.formats === 'function') {\n return applyFormat(delta, match.blotName, match.formats(node, scroll), scroll);\n }\n }\n return delta;\n}\nfunction matchBreak(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n delta.insert('\\n');\n }\n return delta;\n}\nfunction matchCodeBlock(node, delta, scroll) {\n const match = scroll.query('code-block');\n const language = match && 'formats' in match && typeof match.formats === 'function' ? match.formats(node, scroll) : true;\n return applyFormat(delta, 'code-block', language, scroll);\n}\nfunction matchIgnore() {\n return new Delta();\n}\nfunction matchIndent(node, delta, scroll) {\n const match = scroll.query(node);\n if (match == null ||\n // @ts-expect-error\n match.blotName !== 'list' || !deltaEndsWith(delta, '\\n')) {\n return delta;\n }\n let indent = -1;\n let parent = node.parentNode;\n while (parent != null) {\n // @ts-expect-error\n if (['OL', 'UL'].includes(parent.tagName)) {\n indent += 1;\n }\n parent = parent.parentNode;\n }\n if (indent <= 0) return delta;\n return delta.reduce((composed, op) => {\n if (!op.insert) return composed;\n if (op.attributes && typeof op.attributes.indent === 'number') {\n return composed.push(op);\n }\n return composed.insert(op.insert, {\n indent,\n ...(op.attributes || {})\n });\n }, new Delta());\n}\nfunction matchList(node, delta, scroll) {\n const element = node;\n let list = element.tagName === 'OL' ? 'ordered' : 'bullet';\n const checkedAttr = element.getAttribute('data-checked');\n if (checkedAttr) {\n list = checkedAttr === 'true' ? 'checked' : 'unchecked';\n }\n return applyFormat(delta, 'list', list, scroll);\n}\nfunction matchNewline(node, delta, scroll) {\n if (!deltaEndsWith(delta, '\\n')) {\n if (isLine(node, scroll) && (node.childNodes.length > 0 || node instanceof HTMLParagraphElement)) {\n return delta.insert('\\n');\n }\n if (delta.length() > 0 && node.nextSibling) {\n let nextSibling = node.nextSibling;\n while (nextSibling != null) {\n if (isLine(nextSibling, scroll)) {\n return delta.insert('\\n');\n }\n const match = scroll.query(nextSibling);\n // @ts-expect-error\n if (match && match.prototype instanceof BlockEmbed) {\n return delta.insert('\\n');\n }\n nextSibling = nextSibling.firstChild;\n }\n }\n }\n return delta;\n}\nfunction matchStyles(node, delta, scroll) {\n const formats = {};\n const style = node.style || {};\n if (style.fontStyle === 'italic') {\n formats.italic = true;\n }\n if (style.textDecoration === 'underline') {\n formats.underline = true;\n }\n if (style.textDecoration === 'line-through') {\n formats.strike = true;\n }\n if (style.fontWeight?.startsWith('bold') ||\n // @ts-expect-error Fix me later\n parseInt(style.fontWeight, 10) >= 700) {\n formats.bold = true;\n }\n delta = Object.entries(formats).reduce((newDelta, _ref5) => {\n let [name, value] = _ref5;\n return applyFormat(newDelta, name, value, scroll);\n }, delta);\n // @ts-expect-error\n if (parseFloat(style.textIndent || 0) > 0) {\n // Could be 0.5in\n return new Delta().insert('\\t').concat(delta);\n }\n return delta;\n}\nfunction matchTable(node, delta, scroll) {\n const table = node.parentElement?.tagName === 'TABLE' ? node.parentElement : node.parentElement?.parentElement;\n if (table != null) {\n const rows = Array.from(table.querySelectorAll('tr'));\n const row = rows.indexOf(node) + 1;\n return applyFormat(delta, 'table', row, scroll);\n }\n return delta;\n}\nfunction matchText(node, delta, scroll) {\n // @ts-expect-error\n let text = node.data;\n // Word represents empty line with <o:p> </o:p>\n if (node.parentElement?.tagName === 'O:P') {\n return delta.insert(text.trim());\n }\n if (!isPre(node)) {\n if (text.trim().length === 0 && text.includes('\\n') && !isBetweenInlineElements(node, scroll)) {\n return delta;\n }\n const replacer = (collapse, match) => {\n const replaced = match.replace(/[^\\u00a0]/g, ''); // \\u00a0 is nbsp;\n return replaced.length < 1 && collapse ? ' ' : replaced;\n };\n text = text.replace(/\\r\\n/g, ' ').replace(/\\n/g, ' ');\n text = text.replace(/\\s\\s+/g, replacer.bind(replacer, true)); // collapse whitespace\n if (node.previousSibling == null && node.parentElement != null && isLine(node.parentElement, scroll) || node.previousSibling instanceof Element && isLine(node.previousSibling, scroll)) {\n text = text.replace(/^\\s+/, replacer.bind(replacer, false));\n }\n if (node.nextSibling == null && node.parentElement != null && isLine(node.parentElement, scroll) || node.nextSibling instanceof Element && isLine(node.nextSibling, scroll)) {\n text = text.replace(/\\s+$/, replacer.bind(replacer, false));\n }\n }\n return delta.insert(text);\n}\nexport { Clipboard as default, matchAttributor, matchBlot, matchNewline, matchText, traverse };\n//# sourceMappingURL=clipboard.js.map","import { Scope } from 'parchment';\nimport Module from '../core/module.js';\nimport Quill from '../core/quill.js';\nclass History extends Module {\n static DEFAULTS = {\n delay: 1000,\n maxStack: 100,\n userOnly: false\n };\n lastRecorded = 0;\n ignoreChange = false;\n stack = {\n undo: [],\n redo: []\n };\n currentRange = null;\n constructor(quill, options) {\n super(quill, options);\n this.quill.on(Quill.events.EDITOR_CHANGE, (eventName, value, oldValue, source) => {\n if (eventName === Quill.events.SELECTION_CHANGE) {\n if (value && source !== Quill.sources.SILENT) {\n this.currentRange = value;\n }\n } else if (eventName === Quill.events.TEXT_CHANGE) {\n if (!this.ignoreChange) {\n if (!this.options.userOnly || source === Quill.sources.USER) {\n this.record(value, oldValue);\n } else {\n this.transform(value);\n }\n }\n this.currentRange = transformRange(this.currentRange, value);\n }\n });\n this.quill.keyboard.addBinding({\n key: 'z',\n shortKey: true\n }, this.undo.bind(this));\n this.quill.keyboard.addBinding({\n key: ['z', 'Z'],\n shortKey: true,\n shiftKey: true\n }, this.redo.bind(this));\n if (/Win/i.test(navigator.platform)) {\n this.quill.keyboard.addBinding({\n key: 'y',\n shortKey: true\n }, this.redo.bind(this));\n }\n this.quill.root.addEventListener('beforeinput', event => {\n if (event.inputType === 'historyUndo') {\n this.undo();\n event.preventDefault();\n } else if (event.inputType === 'historyRedo') {\n this.redo();\n event.preventDefault();\n }\n });\n }\n change(source, dest) {\n if (this.stack[source].length === 0) return;\n const item = this.stack[source].pop();\n if (!item) return;\n const base = this.quill.getContents();\n const inverseDelta = item.delta.invert(base);\n this.stack[dest].push({\n delta: inverseDelta,\n range: transformRange(item.range, inverseDelta)\n });\n this.lastRecorded = 0;\n this.ignoreChange = true;\n this.quill.updateContents(item.delta, Quill.sources.USER);\n this.ignoreChange = false;\n this.restoreSelection(item);\n }\n clear() {\n this.stack = {\n undo: [],\n redo: []\n };\n }\n cutoff() {\n this.lastRecorded = 0;\n }\n record(changeDelta, oldDelta) {\n if (changeDelta.ops.length === 0) return;\n this.stack.redo = [];\n let undoDelta = changeDelta.invert(oldDelta);\n let undoRange = this.currentRange;\n const timestamp = Date.now();\n if (\n // @ts-expect-error Fix me later\n this.lastRecorded + this.options.delay > timestamp && this.stack.undo.length > 0) {\n const item = this.stack.undo.pop();\n if (item) {\n undoDelta = undoDelta.compose(item.delta);\n undoRange = item.range;\n }\n } else {\n this.lastRecorded = timestamp;\n }\n if (undoDelta.length() === 0) return;\n this.stack.undo.push({\n delta: undoDelta,\n range: undoRange\n });\n // @ts-expect-error Fix me later\n if (this.stack.undo.length > this.options.maxStack) {\n this.stack.undo.shift();\n }\n }\n redo() {\n this.change('redo', 'undo');\n }\n transform(delta) {\n transformStack(this.stack.undo, delta);\n transformStack(this.stack.redo, delta);\n }\n undo() {\n this.change('undo', 'redo');\n }\n restoreSelection(stackItem) {\n if (stackItem.range) {\n this.quill.setSelection(stackItem.range, Quill.sources.USER);\n } else {\n const index = getLastChangeIndex(this.quill.scroll, stackItem.delta);\n this.quill.setSelection(index, Quill.sources.USER);\n }\n }\n}\nfunction transformStack(stack, delta) {\n let remoteDelta = delta;\n for (let i = stack.length - 1; i >= 0; i -= 1) {\n const oldItem = stack[i];\n stack[i] = {\n delta: remoteDelta.transform(oldItem.delta, true),\n range: oldItem.range && transformRange(oldItem.range, remoteDelta)\n };\n remoteDelta = oldItem.delta.transform(remoteDelta);\n if (stack[i].delta.length() === 0) {\n stack.splice(i, 1);\n }\n }\n}\nfunction endsWithNewlineChange(scroll, delta) {\n const lastOp = delta.ops[delta.ops.length - 1];\n if (lastOp == null) return false;\n if (lastOp.insert != null) {\n return typeof lastOp.insert === 'string' && lastOp.insert.endsWith('\\n');\n }\n if (lastOp.attributes != null) {\n return Object.keys(lastOp.attributes).some(attr => {\n return scroll.query(attr, Scope.BLOCK) != null;\n });\n }\n return false;\n}\nfunction getLastChangeIndex(scroll, delta) {\n const deleteLength = delta.reduce((length, op) => {\n return length + (op.delete || 0);\n }, 0);\n let changeIndex = delta.length() - deleteLength;\n if (endsWithNewlineChange(scroll, delta)) {\n changeIndex -= 1;\n }\n return changeIndex;\n}\nfunction transformRange(range, delta) {\n if (!range) return range;\n const start = delta.transformPosition(range.index);\n const end = delta.transformPosition(range.index + range.length);\n return {\n index: start,\n length: end - start\n };\n}\nexport { History as default, getLastChangeIndex };\n//# sourceMappingURL=history.js.map","import Delta from 'quill-delta';\nimport Emitter from '../core/emitter.js';\nimport Module from '../core/module.js';\nclass Uploader extends Module {\n constructor(quill, options) {\n super(quill, options);\n quill.root.addEventListener('drop', e => {\n e.preventDefault();\n let native = null;\n if (document.caretRangeFromPoint) {\n native = document.caretRangeFromPoint(e.clientX, e.clientY);\n // @ts-expect-error\n } else if (document.caretPositionFromPoint) {\n // @ts-expect-error\n const position = document.caretPositionFromPoint(e.clientX, e.clientY);\n native = document.createRange();\n native.setStart(position.offsetNode, position.offset);\n native.setEnd(position.offsetNode, position.offset);\n }\n const normalized = native && quill.selection.normalizeNative(native);\n if (normalized) {\n const range = quill.selection.normalizedToRange(normalized);\n if (e.dataTransfer?.files) {\n this.upload(range, e.dataTransfer.files);\n }\n }\n });\n }\n upload(range, files) {\n const uploads = [];\n Array.from(files).forEach(file => {\n if (file && this.options.mimetypes?.includes(file.type)) {\n uploads.push(file);\n }\n });\n if (uploads.length > 0) {\n // @ts-expect-error Fix me later\n this.options.handler.call(this, range, uploads);\n }\n }\n}\nUploader.DEFAULTS = {\n mimetypes: ['image/png', 'image/jpeg'],\n handler(range, files) {\n if (!this.quill.scroll.query('image')) {\n return;\n }\n const promises = files.map(file => {\n return new Promise(resolve => {\n const reader = new FileReader();\n reader.onload = () => {\n resolve(reader.result);\n };\n reader.readAsDataURL(file);\n });\n });\n Promise.all(promises).then(images => {\n const update = images.reduce((delta, image) => {\n return delta.insert({\n image\n });\n }, new Delta().retain(range.index).delete(range.length));\n this.quill.updateContents(update, Emitter.sources.USER);\n this.quill.setSelection(range.index + images.length, Emitter.sources.SILENT);\n });\n }\n};\nexport default Uploader;\n//# sourceMappingURL=uploader.js.map","import Delta from 'quill-delta';\nimport Module from '../core/module.js';\nimport Quill from '../core/quill.js';\nimport { deleteRange } from './keyboard.js';\nconst INSERT_TYPES = ['insertText', 'insertReplacementText'];\nclass Input extends Module {\n constructor(quill, options) {\n super(quill, options);\n quill.root.addEventListener('beforeinput', event => {\n this.handleBeforeInput(event);\n });\n\n // Gboard with English input on Android triggers `compositionstart` sometimes even\n // users are not going to type anything.\n if (!/Android/i.test(navigator.userAgent)) {\n quill.on(Quill.events.COMPOSITION_BEFORE_START, () => {\n this.handleCompositionStart();\n });\n }\n }\n deleteRange(range) {\n deleteRange({\n range,\n quill: this.quill\n });\n }\n replaceText(range) {\n let text = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n if (range.length === 0) return false;\n if (text) {\n // Follow the native behavior that inherits the formats of the first character\n const formats = this.quill.getFormat(range.index, 1);\n this.deleteRange(range);\n this.quill.updateContents(new Delta().retain(range.index).insert(text, formats), Quill.sources.USER);\n } else {\n this.deleteRange(range);\n }\n this.quill.setSelection(range.index + text.length, 0, Quill.sources.SILENT);\n return true;\n }\n handleBeforeInput(event) {\n if (this.quill.composition.isComposing || event.defaultPrevented || !INSERT_TYPES.includes(event.inputType)) {\n return;\n }\n const staticRange = event.getTargetRanges ? event.getTargetRanges()[0] : null;\n if (!staticRange || staticRange.collapsed === true) {\n return;\n }\n const text = getPlainTextFromInputEvent(event);\n if (text == null) {\n return;\n }\n const normalized = this.quill.selection.normalizeNative(staticRange);\n const range = normalized ? this.quill.selection.normalizedToRange(normalized) : null;\n if (range && this.replaceText(range, text)) {\n event.preventDefault();\n }\n }\n handleCompositionStart() {\n const range = this.quill.getSelection();\n if (range) {\n this.replaceText(range);\n }\n }\n}\nfunction getPlainTextFromInputEvent(event) {\n // When `inputType` is \"insertText\":\n // - `event.data` should be string (Safari uses `event.dataTransfer`).\n // - `event.dataTransfer` should be null.\n // When `inputType` is \"insertReplacementText\":\n // - `event.data` should be null.\n // - `event.dataTransfer` should contain \"text/plain\" data.\n\n if (typeof event.data === 'string') {\n return event.data;\n }\n if (event.dataTransfer?.types.includes('text/plain')) {\n return event.dataTransfer.getData('text/plain');\n }\n return null;\n}\nexport default Input;\n//# sourceMappingURL=input.js.map","import { ParentBlot } from 'parchment';\nimport Module from '../core/module.js';\nimport Quill from '../core/quill.js';\nconst isMac = /Mac/i.test(navigator.platform);\n\n// Export for testing\nexport const TTL_FOR_VALID_SELECTION_CHANGE = 100;\n\n// A loose check to determine if the shortcut can move the caret before a UI node:\n// <ANY_PARENT>[CARET]<div class=\"ql-ui\"></div>[CONTENT]</ANY_PARENT>\nconst canMoveCaretBeforeUINode = event => {\n if (event.key === 'ArrowLeft' || event.key === 'ArrowRight' ||\n // RTL scripts or moving from the end of the previous line\n event.key === 'ArrowUp' || event.key === 'ArrowDown' || event.key === 'Home') {\n return true;\n }\n if (isMac && event.key === 'a' && event.ctrlKey === true) {\n return true;\n }\n return false;\n};\nclass UINode extends Module {\n isListening = false;\n selectionChangeDeadline = 0;\n constructor(quill, options) {\n super(quill, options);\n this.handleArrowKeys();\n this.handleNavigationShortcuts();\n }\n handleArrowKeys() {\n this.quill.keyboard.addBinding({\n key: ['ArrowLeft', 'ArrowRight'],\n offset: 0,\n shiftKey: null,\n handler(range, _ref) {\n let {\n line,\n event\n } = _ref;\n if (!(line instanceof ParentBlot) || !line.uiNode) {\n return true;\n }\n const isRTL = getComputedStyle(line.domNode)['direction'] === 'rtl';\n if (isRTL && event.key !== 'ArrowRight' || !isRTL && event.key !== 'ArrowLeft') {\n return true;\n }\n this.quill.setSelection(range.index - 1, range.length + (event.shiftKey ? 1 : 0), Quill.sources.USER);\n return false;\n }\n });\n }\n handleNavigationShortcuts() {\n this.quill.root.addEventListener('keydown', event => {\n if (!event.defaultPrevented && canMoveCaretBeforeUINode(event)) {\n this.ensureListeningToSelectionChange();\n }\n });\n }\n\n /**\n * We only listen to the `selectionchange` event when\n * there is an intention of moving the caret to the beginning using shortcuts.\n * This is primarily implemented to prevent infinite loops, as we are changing\n * the selection within the handler of a `selectionchange` event.\n */\n ensureListeningToSelectionChange() {\n this.selectionChangeDeadline = Date.now() + TTL_FOR_VALID_SELECTION_CHANGE;\n if (this.isListening) return;\n this.isListening = true;\n const listener = () => {\n this.isListening = false;\n if (Date.now() <= this.selectionChangeDeadline) {\n this.handleSelectionChange();\n }\n };\n document.addEventListener('selectionchange', listener, {\n once: true\n });\n }\n handleSelectionChange() {\n const selection = document.getSelection();\n if (!selection) return;\n const range = selection.getRangeAt(0);\n if (range.collapsed !== true || range.startOffset !== 0) return;\n const line = this.quill.scroll.find(range.startContainer);\n if (!(line instanceof ParentBlot) || !line.uiNode) return;\n const newRange = document.createRange();\n newRange.setStartAfter(line.uiNode);\n newRange.setEndAfter(line.uiNode);\n selection.removeAllRanges();\n selection.addRange(newRange);\n }\n}\nexport default UINode;\n//# sourceMappingURL=uiNode.js.map","import Quill, { Parchment, Range } from './core/quill.js';\nimport Block, { BlockEmbed } from './blots/block.js';\nimport Break from './blots/break.js';\nimport Container from './blots/container.js';\nimport Cursor from './blots/cursor.js';\nimport Embed from './blots/embed.js';\nimport Inline from './blots/inline.js';\nimport Scroll from './blots/scroll.js';\nimport TextBlot from './blots/text.js';\nimport Clipboard from './modules/clipboard.js';\nimport History from './modules/history.js';\nimport Keyboard from './modules/keyboard.js';\nimport Uploader from './modules/uploader.js';\nimport Delta, { Op, OpIterator, AttributeMap } from 'quill-delta';\nimport Input from './modules/input.js';\nimport UINode from './modules/uiNode.js';\nexport { default as Module } from './core/module.js';\nexport { Delta, Op, OpIterator, AttributeMap, Parchment, Range };\nQuill.register({\n 'blots/block': Block,\n 'blots/block/embed': BlockEmbed,\n 'blots/break': Break,\n 'blots/container': Container,\n 'blots/cursor': Cursor,\n 'blots/embed': Embed,\n 'blots/inline': Inline,\n 'blots/scroll': Scroll,\n 'blots/text': TextBlot,\n 'modules/clipboard': Clipboard,\n 'modules/history': History,\n 'modules/keyboard': Keyboard,\n 'modules/uploader': Uploader,\n 'modules/input': Input,\n 'modules/uiNode': UINode\n});\nexport default Quill;\n//# sourceMappingURL=core.js.map","import { ClassAttributor, Scope } from 'parchment';\nclass IndentAttributor extends ClassAttributor {\n add(node, value) {\n let normalizedValue = 0;\n if (value === '+1' || value === '-1') {\n const indent = this.value(node) || 0;\n normalizedValue = value === '+1' ? indent + 1 : indent - 1;\n } else if (typeof value === 'number') {\n normalizedValue = value;\n }\n if (normalizedValue === 0) {\n this.remove(node);\n return true;\n }\n return super.add(node, normalizedValue.toString());\n }\n canAdd(node, value) {\n return super.canAdd(node, value) || super.canAdd(node, parseInt(value, 10));\n }\n value(node) {\n return parseInt(super.value(node), 10) || undefined; // Don't return NaN\n }\n}\nconst IndentClass = new IndentAttributor('indent', 'ql-indent', {\n scope: Scope.BLOCK,\n // @ts-expect-error\n whitelist: [1, 2, 3, 4, 5, 6, 7, 8]\n});\nexport default IndentClass;\n//# sourceMappingURL=indent.js.map","import Block from '../blots/block.js';\nclass Blockquote extends Block {\n static blotName = 'blockquote';\n static tagName = 'blockquote';\n}\nexport default Blockquote;\n//# sourceMappingURL=blockquote.js.map","import Block from '../blots/block.js';\nclass Header extends Block {\n static blotName = 'header';\n static tagName = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];\n static formats(domNode) {\n return this.tagName.indexOf(domNode.tagName) + 1;\n }\n}\nexport default Header;\n//# sourceMappingURL=header.js.map","import Block from '../blots/block.js';\nimport Container from '../blots/container.js';\nimport Quill from '../core/quill.js';\nclass ListContainer extends Container {}\nListContainer.blotName = 'list-container';\nListContainer.tagName = 'OL';\nclass ListItem extends Block {\n static create(value) {\n const node = super.create();\n node.setAttribute('data-list', value);\n return node;\n }\n static formats(domNode) {\n return domNode.getAttribute('data-list') || undefined;\n }\n static register() {\n Quill.register(ListContainer);\n }\n constructor(scroll, domNode) {\n super(scroll, domNode);\n const ui = domNode.ownerDocument.createElement('span');\n const listEventHandler = e => {\n if (!scroll.isEnabled()) return;\n const format = this.statics.formats(domNode, scroll);\n if (format === 'checked') {\n this.format('list', 'unchecked');\n e.preventDefault();\n } else if (format === 'unchecked') {\n this.format('list', 'checked');\n e.preventDefault();\n }\n };\n ui.addEventListener('mousedown', listEventHandler);\n ui.addEventListener('touchstart', listEventHandler);\n this.attachUI(ui);\n }\n format(name, value) {\n if (name === this.statics.blotName && value) {\n this.domNode.setAttribute('data-list', value);\n } else {\n super.format(name, value);\n }\n }\n}\nListItem.blotName = 'list';\nListItem.tagName = 'LI';\nListContainer.allowedChildren = [ListItem];\nListItem.requiredContainer = ListContainer;\nexport { ListContainer, ListItem as default };\n//# sourceMappingURL=list.js.map","import Inline from '../blots/inline.js';\nclass Bold extends Inline {\n static blotName = 'bold';\n static tagName = ['STRONG', 'B'];\n static create() {\n return super.create();\n }\n static formats() {\n return true;\n }\n optimize(context) {\n super.optimize(context);\n if (this.domNode.tagName !== this.statics.tagName[0]) {\n this.replaceWith(this.statics.blotName);\n }\n }\n}\nexport default Bold;\n//# sourceMappingURL=bold.js.map","import Inline from '../blots/inline.js';\nclass Link extends Inline {\n static blotName = 'link';\n static tagName = 'A';\n static SANITIZED_URL = 'about:blank';\n static PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel', 'sms'];\n static create(value) {\n const node = super.create(value);\n node.setAttribute('href', this.sanitize(value));\n node.setAttribute('rel', 'noopener noreferrer');\n node.setAttribute('target', '_blank');\n return node;\n }\n static formats(domNode) {\n return domNode.getAttribute('href');\n }\n static sanitize(url) {\n return sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;\n }\n format(name, value) {\n if (name !== this.statics.blotName || !value) {\n super.format(name, value);\n } else {\n // @ts-expect-error\n this.domNode.setAttribute('href', this.constructor.sanitize(value));\n }\n }\n}\nfunction sanitize(url, protocols) {\n const anchor = document.createElement('a');\n anchor.href = url;\n const protocol = anchor.href.slice(0, anchor.href.indexOf(':'));\n return protocols.indexOf(protocol) > -1;\n}\nexport { Link as default, sanitize };\n//# sourceMappingURL=link.js.map","import Inline from '../blots/inline.js';\nclass Script extends Inline {\n static blotName = 'script';\n static tagName = ['SUB', 'SUP'];\n static create(value) {\n if (value === 'super') {\n return document.createElement('sup');\n }\n if (value === 'sub') {\n return document.createElement('sub');\n }\n return super.create(value);\n }\n static formats(domNode) {\n if (domNode.tagName === 'SUB') return 'sub';\n if (domNode.tagName === 'SUP') return 'super';\n return undefined;\n }\n}\nexport default Script;\n//# sourceMappingURL=script.js.map","import Inline from '../blots/inline.js';\nclass Underline extends Inline {\n static blotName = 'underline';\n static tagName = 'U';\n}\nexport default Underline;\n//# sourceMappingURL=underline.js.map","import Embed from '../blots/embed.js';\nclass Formula extends Embed {\n static blotName = 'formula';\n static className = 'ql-formula';\n static tagName = 'SPAN';\n static create(value) {\n // @ts-expect-error\n if (window.katex == null) {\n throw new Error('Formula module requires KaTeX.');\n }\n const node = super.create(value);\n if (typeof value === 'string') {\n // @ts-expect-error\n window.katex.render(value, node, {\n throwOnError: false,\n errorColor: '#f00'\n });\n node.setAttribute('data-value', value);\n }\n return node;\n }\n static value(domNode) {\n return domNode.getAttribute('data-value');\n }\n html() {\n const {\n formula\n } = this.value();\n return `<span>${formula}</span>`;\n }\n}\nexport default Formula;\n//# sourceMappingURL=formula.js.map","import { EmbedBlot } from 'parchment';\nimport { sanitize } from './link.js';\nconst ATTRIBUTES = ['alt', 'height', 'width'];\nclass Image extends EmbedBlot {\n static blotName = 'image';\n static tagName = 'IMG';\n static create(value) {\n const node = super.create(value);\n if (typeof value === 'string') {\n node.setAttribute('src', this.sanitize(value));\n }\n return node;\n }\n static formats(domNode) {\n return ATTRIBUTES.reduce((formats, attribute) => {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n static match(url) {\n return /\\.(jpe?g|gif|png)$/.test(url) || /^data:image\\/.+;base64/.test(url);\n }\n static sanitize(url) {\n return sanitize(url, ['http', 'https', 'data']) ? url : '//:0';\n }\n static value(domNode) {\n return domNode.getAttribute('src');\n }\n format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n super.format(name, value);\n }\n }\n}\nexport default Image;\n//# sourceMappingURL=image.js.map","import { BlockEmbed } from '../blots/block.js';\nimport Link from './link.js';\nconst ATTRIBUTES = ['height', 'width'];\nclass Video extends BlockEmbed {\n static blotName = 'video';\n static className = 'ql-video';\n static tagName = 'IFRAME';\n static create(value) {\n const node = super.create(value);\n node.setAttribute('frameborder', '0');\n node.setAttribute('allowfullscreen', 'true');\n node.setAttribute('src', this.sanitize(value));\n return node;\n }\n static formats(domNode) {\n return ATTRIBUTES.reduce((formats, attribute) => {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n static sanitize(url) {\n return Link.sanitize(url);\n }\n static value(domNode) {\n return domNode.getAttribute('src');\n }\n format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n super.format(name, value);\n }\n }\n html() {\n const {\n video\n } = this.value();\n return `<a href=\"${video}\">${video}</a>`;\n }\n}\nexport default Video;\n//# sourceMappingURL=video.js.map","import Delta from 'quill-delta';\nimport { ClassAttributor, Scope } from 'parchment';\nimport Inline from '../blots/inline.js';\nimport Quill from '../core/quill.js';\nimport Module from '../core/module.js';\nimport { blockDelta } from '../blots/block.js';\nimport BreakBlot from '../blots/break.js';\nimport CursorBlot from '../blots/cursor.js';\nimport TextBlot, { escapeText } from '../blots/text.js';\nimport CodeBlock, { CodeBlockContainer } from '../formats/code.js';\nimport { traverse } from './clipboard.js';\nconst TokenAttributor = new ClassAttributor('code-token', 'hljs', {\n scope: Scope.INLINE\n});\nclass CodeToken extends Inline {\n static formats(node, scroll) {\n while (node != null && node !== scroll.domNode) {\n if (node.classList && node.classList.contains(CodeBlock.className)) {\n // @ts-expect-error\n return super.formats(node, scroll);\n }\n // @ts-expect-error\n node = node.parentNode;\n }\n return undefined;\n }\n constructor(scroll, domNode, value) {\n // @ts-expect-error\n super(scroll, domNode, value);\n TokenAttributor.add(this.domNode, value);\n }\n format(format, value) {\n if (format !== CodeToken.blotName) {\n super.format(format, value);\n } else if (value) {\n TokenAttributor.add(this.domNode, value);\n } else {\n TokenAttributor.remove(this.domNode);\n this.domNode.classList.remove(this.statics.className);\n }\n }\n optimize() {\n // @ts-expect-error\n super.optimize(...arguments);\n if (!TokenAttributor.value(this.domNode)) {\n this.unwrap();\n }\n }\n}\nCodeToken.blotName = 'code-token';\nCodeToken.className = 'ql-token';\nclass SyntaxCodeBlock extends CodeBlock {\n static create(value) {\n const domNode = super.create(value);\n if (typeof value === 'string') {\n domNode.setAttribute('data-language', value);\n }\n return domNode;\n }\n static formats(domNode) {\n // @ts-expect-error\n return domNode.getAttribute('data-language') || 'plain';\n }\n static register() {} // Syntax module will register\n\n format(name, value) {\n if (name === this.statics.blotName && value) {\n // @ts-expect-error\n this.domNode.setAttribute('data-language', value);\n } else {\n super.format(name, value);\n }\n }\n replaceWith(name, value) {\n this.formatAt(0, this.length(), CodeToken.blotName, false);\n return super.replaceWith(name, value);\n }\n}\nclass SyntaxCodeBlockContainer extends CodeBlockContainer {\n attach() {\n super.attach();\n this.forceNext = false;\n // @ts-expect-error\n this.scroll.emitMount(this);\n }\n format(name, value) {\n if (name === SyntaxCodeBlock.blotName) {\n this.forceNext = true;\n this.children.forEach(child => {\n // @ts-expect-error\n child.format(name, value);\n });\n }\n }\n formatAt(index, length, name, value) {\n if (name === SyntaxCodeBlock.blotName) {\n this.forceNext = true;\n }\n super.formatAt(index, length, name, value);\n }\n highlight(highlight) {\n let forced = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (this.children.head == null) return;\n const nodes = Array.from(this.domNode.childNodes).filter(node => node !== this.uiNode);\n const text = `${nodes.map(node => node.textContent).join('\\n')}\\n`;\n const language = SyntaxCodeBlock.formats(this.children.head.domNode);\n if (forced || this.forceNext || this.cachedText !== text) {\n if (text.trim().length > 0 || this.cachedText == null) {\n const oldDelta = this.children.reduce((delta, child) => {\n // @ts-expect-error\n return delta.concat(blockDelta(child, false));\n }, new Delta());\n const delta = highlight(text, language);\n oldDelta.diff(delta).reduce((index, _ref) => {\n let {\n retain,\n attributes\n } = _ref;\n // Should be all retains\n if (!retain) return index;\n if (attributes) {\n Object.keys(attributes).forEach(format => {\n if ([SyntaxCodeBlock.blotName, CodeToken.blotName].includes(format)) {\n // @ts-expect-error\n this.formatAt(index, retain, format, attributes[format]);\n }\n });\n }\n // @ts-expect-error\n return index + retain;\n }, 0);\n }\n this.cachedText = text;\n this.forceNext = false;\n }\n }\n html(index, length) {\n const [codeBlock] = this.children.find(index);\n const language = codeBlock ? SyntaxCodeBlock.formats(codeBlock.domNode) : 'plain';\n return `<pre data-language=\"${language}\">\\n${escapeText(this.code(index, length))}\\n</pre>`;\n }\n optimize(context) {\n super.optimize(context);\n if (this.parent != null && this.children.head != null && this.uiNode != null) {\n const language = SyntaxCodeBlock.formats(this.children.head.domNode);\n // @ts-expect-error\n if (language !== this.uiNode.value) {\n // @ts-expect-error\n this.uiNode.value = language;\n }\n }\n }\n}\nSyntaxCodeBlockContainer.allowedChildren = [SyntaxCodeBlock];\nSyntaxCodeBlock.requiredContainer = SyntaxCodeBlockContainer;\nSyntaxCodeBlock.allowedChildren = [CodeToken, CursorBlot, TextBlot, BreakBlot];\nconst highlight = (lib, language, text) => {\n if (typeof lib.versionString === 'string') {\n const majorVersion = lib.versionString.split('.')[0];\n if (parseInt(majorVersion, 10) >= 11) {\n return lib.highlight(text, {\n language\n }).value;\n }\n }\n return lib.highlight(language, text).value;\n};\nclass Syntax extends Module {\n static register() {\n Quill.register(CodeToken, true);\n Quill.register(SyntaxCodeBlock, true);\n Quill.register(SyntaxCodeBlockContainer, true);\n }\n constructor(quill, options) {\n super(quill, options);\n if (this.options.hljs == null) {\n throw new Error('Syntax module requires highlight.js. Please include the library on the page before Quill.');\n }\n // @ts-expect-error Fix me later\n this.languages = this.options.languages.reduce((memo, _ref2) => {\n let {\n key\n } = _ref2;\n memo[key] = true;\n return memo;\n }, {});\n this.highlightBlot = this.highlightBlot.bind(this);\n this.initListener();\n this.initTimer();\n }\n initListener() {\n this.quill.on(Quill.events.SCROLL_BLOT_MOUNT, blot => {\n if (!(blot instanceof SyntaxCodeBlockContainer)) return;\n const select = this.quill.root.ownerDocument.createElement('select');\n // @ts-expect-error Fix me later\n this.options.languages.forEach(_ref3 => {\n let {\n key,\n label\n } = _ref3;\n const option = select.ownerDocument.createElement('option');\n option.textContent = label;\n option.setAttribute('value', key);\n select.appendChild(option);\n });\n select.addEventListener('change', () => {\n blot.format(SyntaxCodeBlock.blotName, select.value);\n this.quill.root.focus(); // Prevent scrolling\n this.highlight(blot, true);\n });\n if (blot.uiNode == null) {\n blot.attachUI(select);\n if (blot.children.head) {\n select.value = SyntaxCodeBlock.formats(blot.children.head.domNode);\n }\n }\n });\n }\n initTimer() {\n let timer = null;\n this.quill.on(Quill.events.SCROLL_OPTIMIZE, () => {\n if (timer) {\n clearTimeout(timer);\n }\n timer = setTimeout(() => {\n this.highlight();\n timer = null;\n }, this.options.interval);\n });\n }\n highlight() {\n let blot = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n let force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (this.quill.selection.composing) return;\n this.quill.update(Quill.sources.USER);\n const range = this.quill.getSelection();\n const blots = blot == null ? this.quill.scroll.descendants(SyntaxCodeBlockContainer) : [blot];\n blots.forEach(container => {\n container.highlight(this.highlightBlot, force);\n });\n this.quill.update(Quill.sources.SILENT);\n if (range != null) {\n this.quill.setSelection(range, Quill.sources.SILENT);\n }\n }\n highlightBlot(text) {\n let language = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'plain';\n language = this.languages[language] ? language : 'plain';\n if (language === 'plain') {\n return escapeText(text).split('\\n').reduce((delta, line, i) => {\n if (i !== 0) {\n delta.insert('\\n', {\n [CodeBlock.blotName]: language\n });\n }\n return delta.insert(line);\n }, new Delta());\n }\n const container = this.quill.root.ownerDocument.createElement('div');\n container.classList.add(CodeBlock.className);\n container.innerHTML = highlight(this.options.hljs, language, text);\n return traverse(this.quill.scroll, container, [(node, delta) => {\n // @ts-expect-error\n const value = TokenAttributor.value(node);\n if (value) {\n return delta.compose(new Delta().retain(delta.length(), {\n [CodeToken.blotName]: value\n }));\n }\n return delta;\n }], [(node, delta) => {\n // @ts-expect-error\n return node.data.split('\\n').reduce((memo, nodeText, i) => {\n if (i !== 0) memo.insert('\\n', {\n [CodeBlock.blotName]: language\n });\n return memo.insert(nodeText);\n }, delta);\n }], new WeakMap());\n }\n}\nSyntax.DEFAULTS = {\n hljs: (() => {\n return window.hljs;\n })(),\n interval: 1000,\n languages: [{\n key: 'plain',\n label: 'Plain'\n }, {\n key: 'bash',\n label: 'Bash'\n }, {\n key: 'cpp',\n label: 'C++'\n }, {\n key: 'cs',\n label: 'C#'\n }, {\n key: 'css',\n label: 'CSS'\n }, {\n key: 'diff',\n label: 'Diff'\n }, {\n key: 'xml',\n label: 'HTML/XML'\n }, {\n key: 'java',\n label: 'Java'\n }, {\n key: 'javascript',\n label: 'JavaScript'\n }, {\n key: 'markdown',\n label: 'Markdown'\n }, {\n key: 'php',\n label: 'PHP'\n }, {\n key: 'python',\n label: 'Python'\n }, {\n key: 'ruby',\n label: 'Ruby'\n }, {\n key: 'sql',\n label: 'SQL'\n }]\n};\nexport { SyntaxCodeBlock as CodeBlock, CodeToken, Syntax as default };\n//# sourceMappingURL=syntax.js.map","import Block from '../blots/block.js';\nimport Container from '../blots/container.js';\nclass TableCell extends Block {\n static blotName = 'table';\n static tagName = 'TD';\n static create(value) {\n const node = super.create();\n if (value) {\n node.setAttribute('data-row', value);\n } else {\n node.setAttribute('data-row', tableId());\n }\n return node;\n }\n static formats(domNode) {\n if (domNode.hasAttribute('data-row')) {\n return domNode.getAttribute('data-row');\n }\n return undefined;\n }\n cellOffset() {\n if (this.parent) {\n return this.parent.children.indexOf(this);\n }\n return -1;\n }\n format(name, value) {\n if (name === TableCell.blotName && value) {\n this.domNode.setAttribute('data-row', value);\n } else {\n super.format(name, value);\n }\n }\n row() {\n return this.parent;\n }\n rowOffset() {\n if (this.row()) {\n return this.row().rowOffset();\n }\n return -1;\n }\n table() {\n return this.row() && this.row().table();\n }\n}\nclass TableRow extends Container {\n static blotName = 'table-row';\n static tagName = 'TR';\n checkMerge() {\n // @ts-expect-error\n if (super.checkMerge() && this.next.children.head != null) {\n // @ts-expect-error\n const thisHead = this.children.head.formats();\n // @ts-expect-error\n const thisTail = this.children.tail.formats();\n // @ts-expect-error\n const nextHead = this.next.children.head.formats();\n // @ts-expect-error\n const nextTail = this.next.children.tail.formats();\n return thisHead.table === thisTail.table && thisHead.table === nextHead.table && thisHead.table === nextTail.table;\n }\n return false;\n }\n optimize(context) {\n super.optimize(context);\n this.children.forEach(child => {\n if (child.next == null) return;\n const childFormats = child.formats();\n const nextFormats = child.next.formats();\n if (childFormats.table !== nextFormats.table) {\n const next = this.splitAfter(child);\n if (next) {\n // @ts-expect-error TODO: parameters of optimize() should be a optional\n next.optimize();\n }\n // We might be able to merge with prev now\n if (this.prev) {\n // @ts-expect-error TODO: parameters of optimize() should be a optional\n this.prev.optimize();\n }\n }\n });\n }\n rowOffset() {\n if (this.parent) {\n return this.parent.children.indexOf(this);\n }\n return -1;\n }\n table() {\n return this.parent && this.parent.parent;\n }\n}\nclass TableBody extends Container {\n static blotName = 'table-body';\n static tagName = 'TBODY';\n}\nclass TableContainer extends Container {\n static blotName = 'table-container';\n static tagName = 'TABLE';\n balanceCells() {\n const rows = this.descendants(TableRow);\n const maxColumns = rows.reduce((max, row) => {\n return Math.max(row.children.length, max);\n }, 0);\n rows.forEach(row => {\n new Array(maxColumns - row.children.length).fill(0).forEach(() => {\n let value;\n if (row.children.head != null) {\n value = TableCell.formats(row.children.head.domNode);\n }\n const blot = this.scroll.create(TableCell.blotName, value);\n row.appendChild(blot);\n // @ts-expect-error TODO: parameters of optimize() should be a optional\n blot.optimize(); // Add break blot\n });\n });\n }\n cells(column) {\n return this.rows().map(row => row.children.at(column));\n }\n deleteColumn(index) {\n // @ts-expect-error\n const [body] = this.descendant(TableBody);\n if (body == null || body.children.head == null) return;\n body.children.forEach(row => {\n const cell = row.children.at(index);\n if (cell != null) {\n cell.remove();\n }\n });\n }\n insertColumn(index) {\n // @ts-expect-error\n const [body] = this.descendant(TableBody);\n if (body == null || body.children.head == null) return;\n body.children.forEach(row => {\n const ref = row.children.at(index);\n // @ts-expect-error\n const value = TableCell.formats(row.children.head.domNode);\n const cell = this.scroll.create(TableCell.blotName, value);\n row.insertBefore(cell, ref);\n });\n }\n insertRow(index) {\n // @ts-expect-error\n const [body] = this.descendant(TableBody);\n if (body == null || body.children.head == null) return;\n const id = tableId();\n const row = this.scroll.create(TableRow.blotName);\n body.children.head.children.forEach(() => {\n const cell = this.scroll.create(TableCell.blotName, id);\n row.appendChild(cell);\n });\n const ref = body.children.at(index);\n body.insertBefore(row, ref);\n }\n rows() {\n const body = this.children.head;\n if (body == null) return [];\n return body.children.map(row => row);\n }\n}\nTableContainer.allowedChildren = [TableBody];\nTableBody.requiredContainer = TableContainer;\nTableBody.allowedChildren = [TableRow];\nTableRow.requiredContainer = TableBody;\nTableRow.allowedChildren = [TableCell];\nTableCell.requiredContainer = TableRow;\nfunction tableId() {\n const id = Math.random().toString(36).slice(2, 6);\n return `row-${id}`;\n}\nexport { TableCell, TableRow, TableBody, TableContainer, tableId };\n//# sourceMappingURL=table.js.map","import Delta from 'quill-delta';\nimport Quill from '../core/quill.js';\nimport Module from '../core/module.js';\nimport { TableCell, TableRow, TableBody, TableContainer, tableId } from '../formats/table.js';\nclass Table extends Module {\n static register() {\n Quill.register(TableCell);\n Quill.register(TableRow);\n Quill.register(TableBody);\n Quill.register(TableContainer);\n }\n constructor() {\n super(...arguments);\n this.listenBalanceCells();\n }\n balanceTables() {\n this.quill.scroll.descendants(TableContainer).forEach(table => {\n table.balanceCells();\n });\n }\n deleteColumn() {\n const [table,, cell] = this.getTable();\n if (cell == null) return;\n // @ts-expect-error\n table.deleteColumn(cell.cellOffset());\n this.quill.update(Quill.sources.USER);\n }\n deleteRow() {\n const [, row] = this.getTable();\n if (row == null) return;\n row.remove();\n this.quill.update(Quill.sources.USER);\n }\n deleteTable() {\n const [table] = this.getTable();\n if (table == null) return;\n // @ts-expect-error\n const offset = table.offset();\n // @ts-expect-error\n table.remove();\n this.quill.update(Quill.sources.USER);\n this.quill.setSelection(offset, Quill.sources.SILENT);\n }\n getTable() {\n let range = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.quill.getSelection();\n if (range == null) return [null, null, null, -1];\n const [cell, offset] = this.quill.getLine(range.index);\n if (cell == null || cell.statics.blotName !== TableCell.blotName) {\n return [null, null, null, -1];\n }\n const row = cell.parent;\n const table = row.parent.parent;\n // @ts-expect-error\n return [table, row, cell, offset];\n }\n insertColumn(offset) {\n const range = this.quill.getSelection();\n if (!range) return;\n const [table, row, cell] = this.getTable(range);\n if (cell == null) return;\n const column = cell.cellOffset();\n table.insertColumn(column + offset);\n this.quill.update(Quill.sources.USER);\n let shift = row.rowOffset();\n if (offset === 0) {\n shift += 1;\n }\n this.quill.setSelection(range.index + shift, range.length, Quill.sources.SILENT);\n }\n insertColumnLeft() {\n this.insertColumn(0);\n }\n insertColumnRight() {\n this.insertColumn(1);\n }\n insertRow(offset) {\n const range = this.quill.getSelection();\n if (!range) return;\n const [table, row, cell] = this.getTable(range);\n if (cell == null) return;\n const index = row.rowOffset();\n table.insertRow(index + offset);\n this.quill.update(Quill.sources.USER);\n if (offset > 0) {\n this.quill.setSelection(range, Quill.sources.SILENT);\n } else {\n this.quill.setSelection(range.index + row.children.length, range.length, Quill.sources.SILENT);\n }\n }\n insertRowAbove() {\n this.insertRow(0);\n }\n insertRowBelow() {\n this.insertRow(1);\n }\n insertTable(rows, columns) {\n const range = this.quill.getSelection();\n if (range == null) return;\n const delta = new Array(rows).fill(0).reduce(memo => {\n const text = new Array(columns).fill('\\n').join('');\n return memo.insert(text, {\n table: tableId()\n });\n }, new Delta().retain(range.index));\n this.quill.updateContents(delta, Quill.sources.USER);\n this.quill.setSelection(range.index, Quill.sources.SILENT);\n this.balanceTables();\n }\n listenBalanceCells() {\n this.quill.on(Quill.events.SCROLL_OPTIMIZE, mutations => {\n mutations.some(mutation => {\n if (['TD', 'TR', 'TBODY', 'TABLE'].includes(mutation.target.tagName)) {\n this.quill.once(Quill.events.TEXT_CHANGE, (delta, old, source) => {\n if (source !== Quill.sources.USER) return;\n this.balanceTables();\n });\n return true;\n }\n return false;\n });\n });\n }\n}\nexport default Table;\n//# sourceMappingURL=table.js.map","import Delta from 'quill-delta';\nimport { EmbedBlot, Scope } from 'parchment';\nimport Quill from '../core/quill.js';\nimport logger from '../core/logger.js';\nimport Module from '../core/module.js';\nconst debug = logger('quill:toolbar');\nclass Toolbar extends Module {\n constructor(quill, options) {\n super(quill, options);\n if (Array.isArray(this.options.container)) {\n const container = document.createElement('div');\n container.setAttribute('role', 'toolbar');\n addControls(container, this.options.container);\n quill.container?.parentNode?.insertBefore(container, quill.container);\n this.container = container;\n } else if (typeof this.options.container === 'string') {\n this.container = document.querySelector(this.options.container);\n } else {\n this.container = this.options.container;\n }\n if (!(this.container instanceof HTMLElement)) {\n debug.error('Container required for toolbar', this.options);\n return;\n }\n this.container.classList.add('ql-toolbar');\n this.controls = [];\n this.handlers = {};\n if (this.options.handlers) {\n Object.keys(this.options.handlers).forEach(format => {\n const handler = this.options.handlers?.[format];\n if (handler) {\n this.addHandler(format, handler);\n }\n });\n }\n Array.from(this.container.querySelectorAll('button, select')).forEach(input => {\n // @ts-expect-error\n this.attach(input);\n });\n this.quill.on(Quill.events.EDITOR_CHANGE, () => {\n const [range] = this.quill.selection.getRange(); // quill.getSelection triggers update\n this.update(range);\n });\n }\n addHandler(format, handler) {\n this.handlers[format] = handler;\n }\n attach(input) {\n let format = Array.from(input.classList).find(className => {\n return className.indexOf('ql-') === 0;\n });\n if (!format) return;\n format = format.slice('ql-'.length);\n if (input.tagName === 'BUTTON') {\n input.setAttribute('type', 'button');\n }\n if (this.handlers[format] == null && this.quill.scroll.query(format) == null) {\n debug.warn('ignoring attaching to nonexistent format', format, input);\n return;\n }\n const eventName = input.tagName === 'SELECT' ? 'change' : 'click';\n input.addEventListener(eventName, e => {\n let value;\n if (input.tagName === 'SELECT') {\n // @ts-expect-error\n if (input.selectedIndex < 0) return;\n // @ts-expect-error\n const selected = input.options[input.selectedIndex];\n if (selected.hasAttribute('selected')) {\n value = false;\n } else {\n value = selected.value || false;\n }\n } else {\n if (input.classList.contains('ql-active')) {\n value = false;\n } else {\n // @ts-expect-error\n value = input.value || !input.hasAttribute('value');\n }\n e.preventDefault();\n }\n this.quill.focus();\n const [range] = this.quill.selection.getRange();\n if (this.handlers[format] != null) {\n this.handlers[format].call(this, value);\n } else if (\n // @ts-expect-error\n this.quill.scroll.query(format).prototype instanceof EmbedBlot) {\n value = prompt(`Enter ${format}`); // eslint-disable-line no-alert\n if (!value) return;\n this.quill.updateContents(new Delta()\n // @ts-expect-error Fix me later\n .retain(range.index)\n // @ts-expect-error Fix me later\n .delete(range.length).insert({\n [format]: value\n }), Quill.sources.USER);\n } else {\n this.quill.format(format, value, Quill.sources.USER);\n }\n this.update(range);\n });\n this.controls.push([format, input]);\n }\n update(range) {\n const formats = range == null ? {} : this.quill.getFormat(range);\n this.controls.forEach(pair => {\n const [format, input] = pair;\n if (input.tagName === 'SELECT') {\n let option = null;\n if (range == null) {\n option = null;\n } else if (formats[format] == null) {\n option = input.querySelector('option[selected]');\n } else if (!Array.isArray(formats[format])) {\n let value = formats[format];\n if (typeof value === 'string') {\n value = value.replace(/\"/g, '\\\\\"');\n }\n option = input.querySelector(`option[value=\"${value}\"]`);\n }\n if (option == null) {\n // @ts-expect-error TODO fix me later\n input.value = ''; // TODO make configurable?\n // @ts-expect-error TODO fix me later\n input.selectedIndex = -1;\n } else {\n option.selected = true;\n }\n } else if (range == null) {\n input.classList.remove('ql-active');\n input.setAttribute('aria-pressed', 'false');\n } else if (input.hasAttribute('value')) {\n // both being null should match (default values)\n // '1' should match with 1 (headers)\n const value = formats[format];\n const isActive = value === input.getAttribute('value') || value != null && value.toString() === input.getAttribute('value') || value == null && !input.getAttribute('value');\n input.classList.toggle('ql-active', isActive);\n input.setAttribute('aria-pressed', isActive.toString());\n } else {\n const isActive = formats[format] != null;\n input.classList.toggle('ql-active', isActive);\n input.setAttribute('aria-pressed', isActive.toString());\n }\n });\n }\n}\nToolbar.DEFAULTS = {};\nfunction addButton(container, format, value) {\n const input = document.createElement('button');\n input.setAttribute('type', 'button');\n input.classList.add(`ql-${format}`);\n input.setAttribute('aria-pressed', 'false');\n if (value != null) {\n input.value = value;\n input.setAttribute('aria-label', `${format}: ${value}`);\n } else {\n input.setAttribute('aria-label', format);\n }\n container.appendChild(input);\n}\nfunction addControls(container, groups) {\n if (!Array.isArray(groups[0])) {\n // @ts-expect-error\n groups = [groups];\n }\n groups.forEach(controls => {\n const group = document.createElement('span');\n group.classList.add('ql-formats');\n controls.forEach(control => {\n if (typeof control === 'string') {\n addButton(group, control);\n } else {\n const format = Object.keys(control)[0];\n const value = control[format];\n if (Array.isArray(value)) {\n addSelect(group, format, value);\n } else {\n addButton(group, format, value);\n }\n }\n });\n container.appendChild(group);\n });\n}\nfunction addSelect(container, format, values) {\n const input = document.createElement('select');\n input.classList.add(`ql-${format}`);\n values.forEach(value => {\n const option = document.createElement('option');\n if (value !== false) {\n option.setAttribute('value', String(value));\n } else {\n option.setAttribute('selected', 'selected');\n }\n input.appendChild(option);\n });\n container.appendChild(input);\n}\nToolbar.DEFAULTS = {\n container: null,\n handlers: {\n clean() {\n const range = this.quill.getSelection();\n if (range == null) return;\n if (range.length === 0) {\n const formats = this.quill.getFormat();\n Object.keys(formats).forEach(name => {\n // Clean functionality in existing apps only clean inline formats\n if (this.quill.scroll.query(name, Scope.INLINE) != null) {\n this.quill.format(name, false, Quill.sources.USER);\n }\n });\n } else {\n this.quill.removeFormat(range.index, range.length, Quill.sources.USER);\n }\n },\n direction(value) {\n const {\n align\n } = this.quill.getFormat();\n if (value === 'rtl' && align == null) {\n this.quill.format('align', 'right', Quill.sources.USER);\n } else if (!value && align === 'right') {\n this.quill.format('align', false, Quill.sources.USER);\n }\n this.quill.format('direction', value, Quill.sources.USER);\n },\n indent(value) {\n const range = this.quill.getSelection();\n // @ts-expect-error\n const formats = this.quill.getFormat(range);\n // @ts-expect-error\n const indent = parseInt(formats.indent || 0, 10);\n if (value === '+1' || value === '-1') {\n let modifier = value === '+1' ? 1 : -1;\n if (formats.direction === 'rtl') modifier *= -1;\n this.quill.format('indent', indent + modifier, Quill.sources.USER);\n }\n },\n link(value) {\n if (value === true) {\n value = prompt('Enter link URL:'); // eslint-disable-line no-alert\n }\n this.quill.format('link', value, Quill.sources.USER);\n },\n list(value) {\n const range = this.quill.getSelection();\n // @ts-expect-error\n const formats = this.quill.getFormat(range);\n if (value === 'check') {\n if (formats.list === 'checked' || formats.list === 'unchecked') {\n this.quill.format('list', false, Quill.sources.USER);\n } else {\n this.quill.format('list', 'unchecked', Quill.sources.USER);\n }\n } else {\n this.quill.format('list', value, Quill.sources.USER);\n }\n }\n }\n};\nexport { Toolbar as default, addControls };\n//# sourceMappingURL=toolbar.js.map","const alignLeftIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"3\\\" x2=\\\"15\\\" y1=\\\"9\\\" y2=\\\"9\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"3\\\" x2=\\\"13\\\" y1=\\\"14\\\" y2=\\\"14\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"3\\\" x2=\\\"9\\\" y1=\\\"4\\\" y2=\\\"4\\\"/></svg>\";\nconst alignCenterIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"15\\\" x2=\\\"3\\\" y1=\\\"9\\\" y2=\\\"9\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"14\\\" x2=\\\"4\\\" y1=\\\"14\\\" y2=\\\"14\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"12\\\" x2=\\\"6\\\" y1=\\\"4\\\" y2=\\\"4\\\"/></svg>\";\nconst alignRightIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"15\\\" x2=\\\"3\\\" y1=\\\"9\\\" y2=\\\"9\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"15\\\" x2=\\\"5\\\" y1=\\\"14\\\" y2=\\\"14\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"15\\\" x2=\\\"9\\\" y1=\\\"4\\\" y2=\\\"4\\\"/></svg>\";\nconst alignJustifyIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"15\\\" x2=\\\"3\\\" y1=\\\"9\\\" y2=\\\"9\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"15\\\" x2=\\\"3\\\" y1=\\\"14\\\" y2=\\\"14\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"15\\\" x2=\\\"3\\\" y1=\\\"4\\\" y2=\\\"4\\\"/></svg>\";\nconst backgroundIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><g class=\\\"ql-fill ql-color-label\\\"><polygon points=\\\"6 6.868 6 6 5 6 5 7 5.942 7 6 6.868\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"4\\\" y=\\\"4\\\"/><polygon points=\\\"6.817 5 6 5 6 6 6.38 6 6.817 5\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"2\\\" y=\\\"6\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"3\\\" y=\\\"5\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"4\\\" y=\\\"7\\\"/><polygon points=\\\"4 11.439 4 11 3 11 3 12 3.755 12 4 11.439\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"2\\\" y=\\\"12\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"2\\\" y=\\\"9\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"2\\\" y=\\\"15\\\"/><polygon points=\\\"4.63 10 4 10 4 11 4.192 11 4.63 10\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"3\\\" y=\\\"8\\\"/><path d=\\\"M10.832,4.2L11,4.582V4H10.708A1.948,1.948,0,0,1,10.832,4.2Z\\\"/><path d=\\\"M7,4.582L7.168,4.2A1.929,1.929,0,0,1,7.292,4H7V4.582Z\\\"/><path d=\\\"M8,13H7.683l-0.351.8a1.933,1.933,0,0,1-.124.2H8V13Z\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"12\\\" y=\\\"2\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"11\\\" y=\\\"3\\\"/><path d=\\\"M9,3H8V3.282A1.985,1.985,0,0,1,9,3Z\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"2\\\" y=\\\"3\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"6\\\" y=\\\"2\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"3\\\" y=\\\"2\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"5\\\" y=\\\"3\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"9\\\" y=\\\"2\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"15\\\" y=\\\"14\\\"/><polygon points=\\\"13.447 10.174 13.469 10.225 13.472 10.232 13.808 11 14 11 14 10 13.37 10 13.447 10.174\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"13\\\" y=\\\"7\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"15\\\" y=\\\"5\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"14\\\" y=\\\"6\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"15\\\" y=\\\"8\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"14\\\" y=\\\"9\\\"/><path d=\\\"M3.775,14H3v1H4V14.314A1.97,1.97,0,0,1,3.775,14Z\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"14\\\" y=\\\"3\\\"/><polygon points=\\\"12 6.868 12 6 11.62 6 12 6.868\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"15\\\" y=\\\"2\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"12\\\" y=\\\"5\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"13\\\" y=\\\"4\\\"/><polygon points=\\\"12.933 9 13 9 13 8 12.495 8 12.933 9\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"9\\\" y=\\\"14\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"8\\\" y=\\\"15\\\"/><path d=\\\"M6,14.926V15H7V14.316A1.993,1.993,0,0,1,6,14.926Z\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"5\\\" y=\\\"15\\\"/><path d=\\\"M10.668,13.8L10.317,13H10v1h0.792A1.947,1.947,0,0,1,10.668,13.8Z\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"11\\\" y=\\\"15\\\"/><path d=\\\"M14.332,12.2a1.99,1.99,0,0,1,.166.8H15V12H14.245Z\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"14\\\" y=\\\"15\\\"/><rect height=\\\"1\\\" width=\\\"1\\\" x=\\\"15\\\" y=\\\"11\\\"/></g><polyline class=\\\"ql-stroke\\\" points=\\\"5.5 13 9 5 12.5 13\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"11.63\\\" x2=\\\"6.38\\\" y1=\\\"11\\\" y2=\\\"11\\\"/></svg>\";\nconst blockquoteIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><rect class=\\\"ql-fill ql-stroke\\\" height=\\\"3\\\" width=\\\"3\\\" x=\\\"4\\\" y=\\\"5\\\"/><rect class=\\\"ql-fill ql-stroke\\\" height=\\\"3\\\" width=\\\"3\\\" x=\\\"11\\\" y=\\\"5\\\"/><path class=\\\"ql-even ql-fill ql-stroke\\\" d=\\\"M7,8c0,4.031-3,5-3,5\\\"/><path class=\\\"ql-even ql-fill ql-stroke\\\" d=\\\"M14,8c0,4.031-3,5-3,5\\\"/></svg>\";\nconst boldIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><path class=\\\"ql-stroke\\\" d=\\\"M5,4H9.5A2.5,2.5,0,0,1,12,6.5v0A2.5,2.5,0,0,1,9.5,9H5A0,0,0,0,1,5,9V4A0,0,0,0,1,5,4Z\\\"/><path class=\\\"ql-stroke\\\" d=\\\"M5,9h5.5A2.5,2.5,0,0,1,13,11.5v0A2.5,2.5,0,0,1,10.5,14H5a0,0,0,0,1,0,0V9A0,0,0,0,1,5,9Z\\\"/></svg>\";\nconst cleanIcon = \"<svg class=\\\"\\\" viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"5\\\" x2=\\\"13\\\" y1=\\\"3\\\" y2=\\\"3\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"6\\\" x2=\\\"9.35\\\" y1=\\\"12\\\" y2=\\\"3\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"11\\\" x2=\\\"15\\\" y1=\\\"11\\\" y2=\\\"15\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"15\\\" x2=\\\"11\\\" y1=\\\"11\\\" y2=\\\"15\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1\\\" rx=\\\"0.5\\\" ry=\\\"0.5\\\" width=\\\"7\\\" x=\\\"2\\\" y=\\\"14\\\"/></svg>\";\nconst codeIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><polyline class=\\\"ql-even ql-stroke\\\" points=\\\"5 7 3 9 5 11\\\"/><polyline class=\\\"ql-even ql-stroke\\\" points=\\\"13 7 15 9 13 11\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"10\\\" x2=\\\"8\\\" y1=\\\"5\\\" y2=\\\"13\\\"/></svg>\";\nconst colorIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-color-label ql-stroke ql-transparent\\\" x1=\\\"3\\\" x2=\\\"15\\\" y1=\\\"15\\\" y2=\\\"15\\\"/><polyline class=\\\"ql-stroke\\\" points=\\\"5.5 11 9 3 12.5 11\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"11.63\\\" x2=\\\"6.38\\\" y1=\\\"9\\\" y2=\\\"9\\\"/></svg>\";\nconst directionLeftToRightIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><polygon class=\\\"ql-stroke ql-fill\\\" points=\\\"3 11 5 9 3 7 3 11\\\"/><line class=\\\"ql-stroke ql-fill\\\" x1=\\\"15\\\" x2=\\\"11\\\" y1=\\\"4\\\" y2=\\\"4\\\"/><path class=\\\"ql-fill\\\" d=\\\"M11,3a3,3,0,0,0,0,6h1V3H11Z\\\"/><rect class=\\\"ql-fill\\\" height=\\\"11\\\" width=\\\"1\\\" x=\\\"11\\\" y=\\\"4\\\"/><rect class=\\\"ql-fill\\\" height=\\\"11\\\" width=\\\"1\\\" x=\\\"13\\\" y=\\\"4\\\"/></svg>\";\nconst directionRightToLeftIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><polygon class=\\\"ql-stroke ql-fill\\\" points=\\\"15 12 13 10 15 8 15 12\\\"/><line class=\\\"ql-stroke ql-fill\\\" x1=\\\"9\\\" x2=\\\"5\\\" y1=\\\"4\\\" y2=\\\"4\\\"/><path class=\\\"ql-fill\\\" d=\\\"M5,3A3,3,0,0,0,5,9H6V3H5Z\\\"/><rect class=\\\"ql-fill\\\" height=\\\"11\\\" width=\\\"1\\\" x=\\\"5\\\" y=\\\"4\\\"/><rect class=\\\"ql-fill\\\" height=\\\"11\\\" width=\\\"1\\\" x=\\\"7\\\" y=\\\"4\\\"/></svg>\";\nconst formulaIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><path class=\\\"ql-fill\\\" d=\\\"M11.759,2.482a2.561,2.561,0,0,0-3.53.607A7.656,7.656,0,0,0,6.8,6.2C6.109,9.188,5.275,14.677,4.15,14.927a1.545,1.545,0,0,0-1.3-.933A0.922,0.922,0,0,0,2,15.036S1.954,16,4.119,16s3.091-2.691,3.7-5.553c0.177-.826.36-1.726,0.554-2.6L8.775,6.2c0.381-1.421.807-2.521,1.306-2.676a1.014,1.014,0,0,0,1.02.56A0.966,0.966,0,0,0,11.759,2.482Z\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1.6\\\" rx=\\\"0.8\\\" ry=\\\"0.8\\\" width=\\\"5\\\" x=\\\"5.15\\\" y=\\\"6.2\\\"/><path class=\\\"ql-fill\\\" d=\\\"M13.663,12.027a1.662,1.662,0,0,1,.266-0.276q0.193,0.069.456,0.138a2.1,2.1,0,0,0,.535.069,1.075,1.075,0,0,0,.767-0.3,1.044,1.044,0,0,0,.314-0.8,0.84,0.84,0,0,0-.238-0.619,0.8,0.8,0,0,0-.594-0.239,1.154,1.154,0,0,0-.781.3,4.607,4.607,0,0,0-.781,1q-0.091.15-.218,0.346l-0.246.38c-0.068-.288-0.137-0.582-0.212-0.885-0.459-1.847-2.494-.984-2.941-0.8-0.482.2-.353,0.647-0.094,0.529a0.869,0.869,0,0,1,1.281.585c0.217,0.751.377,1.436,0.527,2.038a5.688,5.688,0,0,1-.362.467,2.69,2.69,0,0,1-.264.271q-0.221-.08-0.471-0.147a2.029,2.029,0,0,0-.522-0.066,1.079,1.079,0,0,0-.768.3A1.058,1.058,0,0,0,9,15.131a0.82,0.82,0,0,0,.832.852,1.134,1.134,0,0,0,.787-0.3,5.11,5.11,0,0,0,.776-0.993q0.141-.219.215-0.34c0.046-.076.122-0.194,0.223-0.346a2.786,2.786,0,0,0,.918,1.726,2.582,2.582,0,0,0,2.376-.185c0.317-.181.212-0.565,0-0.494A0.807,0.807,0,0,1,14.176,15a5.159,5.159,0,0,1-.913-2.446l0,0Q13.487,12.24,13.663,12.027Z\\\"/></svg>\";\nconst headerIcon = \"<svg viewBox=\\\"0 0 18 18\\\"><path class=\\\"ql-fill\\\" d=\\\"M10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Zm6.06787,9.209H14.98975V7.59863a.54085.54085,0,0,0-.605-.60547h-.62744a1.01119,1.01119,0,0,0-.748.29688L11.645,8.56641a.5435.5435,0,0,0-.022.8584l.28613.30762a.53861.53861,0,0,0,.84717.0332l.09912-.08789a1.2137,1.2137,0,0,0,.2417-.35254h.02246s-.01123.30859-.01123.60547V13.209H12.041a.54085.54085,0,0,0-.605.60547v.43945a.54085.54085,0,0,0,.605.60547h4.02686a.54085.54085,0,0,0,.605-.60547v-.43945A.54085.54085,0,0,0,16.06787,13.209Z\\\"/></svg>\";\nconst header2Icon = \"<svg viewBox=\\\"0 0 18 18\\\"><path class=\\\"ql-fill\\\" d=\\\"M16.73975,13.81445v.43945a.54085.54085,0,0,1-.605.60547H11.855a.58392.58392,0,0,1-.64893-.60547V14.0127c0-2.90527,3.39941-3.42187,3.39941-4.55469a.77675.77675,0,0,0-.84717-.78125,1.17684,1.17684,0,0,0-.83594.38477c-.2749.26367-.561.374-.85791.13184l-.4292-.34082c-.30811-.24219-.38525-.51758-.1543-.81445a2.97155,2.97155,0,0,1,2.45361-1.17676,2.45393,2.45393,0,0,1,2.68408,2.40918c0,2.45312-3.1792,2.92676-3.27832,3.93848h2.79443A.54085.54085,0,0,1,16.73975,13.81445ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z\\\"/></svg>\";\nconst header3Icon = \"<svg viewBox=\\\"0 0 18 18\\\"><path class=\\\"ql-fill\\\" d=\\\"M16.65186,12.30664a2.6742,2.6742,0,0,1-2.915,2.68457,3.96592,3.96592,0,0,1-2.25537-.6709.56007.56007,0,0,1-.13232-.83594L11.64648,13c.209-.34082.48389-.36328.82471-.1543a2.32654,2.32654,0,0,0,1.12256.33008c.71484,0,1.12207-.35156,1.12207-.78125,0-.61523-.61621-.86816-1.46338-.86816H13.2085a.65159.65159,0,0,1-.68213-.41895l-.05518-.10937a.67114.67114,0,0,1,.14307-.78125l.71533-.86914a8.55289,8.55289,0,0,1,.68213-.7373V8.58887a3.93913,3.93913,0,0,1-.748.05469H11.9873a.54085.54085,0,0,1-.605-.60547V7.59863a.54085.54085,0,0,1,.605-.60547h3.75146a.53773.53773,0,0,1,.60547.59375v.17676a1.03723,1.03723,0,0,1-.27539.748L14.74854,10.0293A2.31132,2.31132,0,0,1,16.65186,12.30664ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z\\\"/></svg>\";\nconst header4Icon = \"<svg viewBox=\\\"0 0 18 18\\\"><path class=\\\"ql-fill\\\" d=\\\"M10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Zm7.05371,7.96582v.38477c0,.39648-.165.60547-.46191.60547h-.47314v1.29785a.54085.54085,0,0,1-.605.60547h-.69336a.54085.54085,0,0,1-.605-.60547V12.95605H11.333a.5412.5412,0,0,1-.60547-.60547v-.15332a1.199,1.199,0,0,1,.22021-.748l2.56348-4.05957a.7819.7819,0,0,1,.72607-.39648h1.27637a.54085.54085,0,0,1,.605.60547v3.7627h.33008A.54055.54055,0,0,1,17.05371,11.96582ZM14.28125,8.7207h-.022a4.18969,4.18969,0,0,1-.38525.81348l-1.188,1.80469v.02246h1.5293V9.60059A7.04058,7.04058,0,0,1,14.28125,8.7207Z\\\"/></svg>\";\nconst header5Icon = \"<svg viewBox=\\\"0 0 18 18\\\"><path class=\\\"ql-fill\\\" d=\\\"M16.74023,12.18555a2.75131,2.75131,0,0,1-2.91553,2.80566,3.908,3.908,0,0,1-2.25537-.68164.54809.54809,0,0,1-.13184-.8252L11.73438,13c.209-.34082.48389-.36328.8252-.1543a2.23757,2.23757,0,0,0,1.1001.33008,1.01827,1.01827,0,0,0,1.1001-.96777c0-.61621-.53906-.97949-1.25439-.97949a2.15554,2.15554,0,0,0-.64893.09961,1.15209,1.15209,0,0,1-.814.01074l-.12109-.04395a.64116.64116,0,0,1-.45117-.71484l.231-3.00391a.56666.56666,0,0,1,.62744-.583H15.541a.54085.54085,0,0,1,.605.60547v.43945a.54085.54085,0,0,1-.605.60547H13.41748l-.04395.72559a1.29306,1.29306,0,0,1-.04395.30859h.022a2.39776,2.39776,0,0,1,.57227-.07715A2.53266,2.53266,0,0,1,16.74023,12.18555ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z\\\"/></svg>\";\nconst header6Icon = \"<svg viewBox=\\\"0 0 18 18\\\"><path class=\\\"ql-fill\\\" d=\\\"M14.51758,9.64453a1.85627,1.85627,0,0,0-1.24316.38477H13.252a1.73532,1.73532,0,0,1,1.72754-1.4082,2.66491,2.66491,0,0,1,.5498.06641c.35254.05469.57227.01074.70508-.40723l.16406-.5166a.53393.53393,0,0,0-.373-.75977,4.83723,4.83723,0,0,0-1.17773-.14258c-2.43164,0-3.7627,2.17773-3.7627,4.43359,0,2.47559,1.60645,3.69629,3.19043,3.69629A2.70585,2.70585,0,0,0,16.96,12.19727,2.43861,2.43861,0,0,0,14.51758,9.64453Zm-.23047,3.58691c-.67187,0-1.22168-.81445-1.22168-1.45215,0-.47363.30762-.583.72559-.583.96875,0,1.27734.59375,1.27734,1.12207A.82182.82182,0,0,1,14.28711,13.23145ZM10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Z\\\"/></svg>\";\nconst italicIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"7\\\" x2=\\\"13\\\" y1=\\\"4\\\" y2=\\\"4\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"5\\\" x2=\\\"11\\\" y1=\\\"14\\\" y2=\\\"14\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"8\\\" x2=\\\"10\\\" y1=\\\"14\\\" y2=\\\"4\\\"/></svg>\";\nconst imageIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><rect class=\\\"ql-stroke\\\" height=\\\"10\\\" width=\\\"12\\\" x=\\\"3\\\" y=\\\"4\\\"/><circle class=\\\"ql-fill\\\" cx=\\\"6\\\" cy=\\\"7\\\" r=\\\"1\\\"/><polyline class=\\\"ql-even ql-fill\\\" points=\\\"5 12 5 11 7 9 8 10 11 7 13 9 13 12 5 12\\\"/></svg>\";\nconst indentIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"3\\\" x2=\\\"15\\\" y1=\\\"14\\\" y2=\\\"14\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"3\\\" x2=\\\"15\\\" y1=\\\"4\\\" y2=\\\"4\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"9\\\" x2=\\\"15\\\" y1=\\\"9\\\" y2=\\\"9\\\"/><polyline class=\\\"ql-fill ql-stroke\\\" points=\\\"3 7 3 11 5 9 3 7\\\"/></svg>\";\nconst outdentIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"3\\\" x2=\\\"15\\\" y1=\\\"14\\\" y2=\\\"14\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"3\\\" x2=\\\"15\\\" y1=\\\"4\\\" y2=\\\"4\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"9\\\" x2=\\\"15\\\" y1=\\\"9\\\" y2=\\\"9\\\"/><polyline class=\\\"ql-stroke\\\" points=\\\"5 7 5 11 3 9 5 7\\\"/></svg>\";\nconst linkIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"7\\\" x2=\\\"11\\\" y1=\\\"7\\\" y2=\\\"11\\\"/><path class=\\\"ql-even ql-stroke\\\" d=\\\"M8.9,4.577a3.476,3.476,0,0,1,.36,4.679A3.476,3.476,0,0,1,4.577,8.9C3.185,7.5,2.035,6.4,4.217,4.217S7.5,3.185,8.9,4.577Z\\\"/><path class=\\\"ql-even ql-stroke\\\" d=\\\"M13.423,9.1a3.476,3.476,0,0,0-4.679-.36,3.476,3.476,0,0,0,.36,4.679c1.392,1.392,2.5,2.542,4.679.36S14.815,10.5,13.423,9.1Z\\\"/></svg>\";\nconst listBulletIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"6\\\" x2=\\\"15\\\" y1=\\\"4\\\" y2=\\\"4\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"6\\\" x2=\\\"15\\\" y1=\\\"9\\\" y2=\\\"9\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"6\\\" x2=\\\"15\\\" y1=\\\"14\\\" y2=\\\"14\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"3\\\" x2=\\\"3\\\" y1=\\\"4\\\" y2=\\\"4\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"3\\\" x2=\\\"3\\\" y1=\\\"9\\\" y2=\\\"9\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"3\\\" x2=\\\"3\\\" y1=\\\"14\\\" y2=\\\"14\\\"/></svg>\";\nconst listCheckIcon = \"<svg class=\\\"\\\" viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"9\\\" x2=\\\"15\\\" y1=\\\"4\\\" y2=\\\"4\\\"/><polyline class=\\\"ql-stroke\\\" points=\\\"3 4 4 5 6 3\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"9\\\" x2=\\\"15\\\" y1=\\\"14\\\" y2=\\\"14\\\"/><polyline class=\\\"ql-stroke\\\" points=\\\"3 14 4 15 6 13\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"9\\\" x2=\\\"15\\\" y1=\\\"9\\\" y2=\\\"9\\\"/><polyline class=\\\"ql-stroke\\\" points=\\\"3 9 4 10 6 8\\\"/></svg>\";\nconst listOrderedIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke\\\" x1=\\\"7\\\" x2=\\\"15\\\" y1=\\\"4\\\" y2=\\\"4\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"7\\\" x2=\\\"15\\\" y1=\\\"9\\\" y2=\\\"9\\\"/><line class=\\\"ql-stroke\\\" x1=\\\"7\\\" x2=\\\"15\\\" y1=\\\"14\\\" y2=\\\"14\\\"/><line class=\\\"ql-stroke ql-thin\\\" x1=\\\"2.5\\\" x2=\\\"4.5\\\" y1=\\\"5.5\\\" y2=\\\"5.5\\\"/><path class=\\\"ql-fill\\\" d=\\\"M3.5,6A0.5,0.5,0,0,1,3,5.5V3.085l-0.276.138A0.5,0.5,0,0,1,2.053,3c-0.124-.247-0.023-0.324.224-0.447l1-.5A0.5,0.5,0,0,1,4,2.5v3A0.5,0.5,0,0,1,3.5,6Z\\\"/><path class=\\\"ql-stroke ql-thin\\\" d=\\\"M4.5,10.5h-2c0-.234,1.85-1.076,1.85-2.234A0.959,0.959,0,0,0,2.5,8.156\\\"/><path class=\\\"ql-stroke ql-thin\\\" d=\\\"M2.5,14.846a0.959,0.959,0,0,0,1.85-.109A0.7,0.7,0,0,0,3.75,14a0.688,0.688,0,0,0,.6-0.736,0.959,0.959,0,0,0-1.85-.109\\\"/></svg>\";\nconst subscriptIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><path class=\\\"ql-fill\\\" d=\\\"M15.5,15H13.861a3.858,3.858,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.921,1.921,0,0,0,12.021,11.7a0.50013,0.50013,0,1,0,.957.291h0a0.914,0.914,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.076-1.16971,1.86982-1.93971,2.43082A1.45639,1.45639,0,0,0,12,15.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,15Z\\\"/><path class=\\\"ql-fill\\\" d=\\\"M9.65,5.241a1,1,0,0,0-1.409.108L6,7.964,3.759,5.349A1,1,0,0,0,2.192,6.59178Q2.21541,6.6213,2.241,6.649L4.684,9.5,2.241,12.35A1,1,0,0,0,3.71,13.70722q0.02557-.02768.049-0.05722L6,11.036,8.241,13.65a1,1,0,1,0,1.567-1.24277Q9.78459,12.3777,9.759,12.35L7.316,9.5,9.759,6.651A1,1,0,0,0,9.65,5.241Z\\\"/></svg>\";\nconst superscriptIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><path class=\\\"ql-fill\\\" d=\\\"M15.5,7H13.861a4.015,4.015,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.922,1.922,0,0,0,12.021,3.7a0.5,0.5,0,1,0,.957.291,0.917,0.917,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.077-1.164,1.925-1.934,2.486A1.423,1.423,0,0,0,12,7.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,7Z\\\"/><path class=\\\"ql-fill\\\" d=\\\"M9.651,5.241a1,1,0,0,0-1.41.108L6,7.964,3.759,5.349a1,1,0,1,0-1.519,1.3L4.683,9.5,2.241,12.35a1,1,0,1,0,1.519,1.3L6,11.036,8.241,13.65a1,1,0,0,0,1.519-1.3L7.317,9.5,9.759,6.651A1,1,0,0,0,9.651,5.241Z\\\"/></svg>\";\nconst strikeIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><line class=\\\"ql-stroke ql-thin\\\" x1=\\\"15.5\\\" x2=\\\"2.5\\\" y1=\\\"8.5\\\" y2=\\\"9.5\\\"/><path class=\\\"ql-fill\\\" d=\\\"M9.007,8C6.542,7.791,6,7.519,6,6.5,6,5.792,7.283,5,9,5c1.571,0,2.765.679,2.969,1.309a1,1,0,0,0,1.9-.617C13.356,4.106,11.354,3,9,3,6.2,3,4,4.538,4,6.5a3.2,3.2,0,0,0,.5,1.843Z\\\"/><path class=\\\"ql-fill\\\" d=\\\"M8.984,10C11.457,10.208,12,10.479,12,11.5c0,0.708-1.283,1.5-3,1.5-1.571,0-2.765-.679-2.969-1.309a1,1,0,1,0-1.9.617C4.644,13.894,6.646,15,9,15c2.8,0,5-1.538,5-3.5a3.2,3.2,0,0,0-.5-1.843Z\\\"/></svg>\";\nconst tableIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><rect class=\\\"ql-stroke\\\" height=\\\"12\\\" width=\\\"12\\\" x=\\\"3\\\" y=\\\"3\\\"/><rect class=\\\"ql-fill\\\" height=\\\"2\\\" width=\\\"3\\\" x=\\\"5\\\" y=\\\"5\\\"/><rect class=\\\"ql-fill\\\" height=\\\"2\\\" width=\\\"4\\\" x=\\\"9\\\" y=\\\"5\\\"/><g class=\\\"ql-fill ql-transparent\\\"><rect height=\\\"2\\\" width=\\\"3\\\" x=\\\"5\\\" y=\\\"8\\\"/><rect height=\\\"2\\\" width=\\\"4\\\" x=\\\"9\\\" y=\\\"8\\\"/><rect height=\\\"2\\\" width=\\\"3\\\" x=\\\"5\\\" y=\\\"11\\\"/><rect height=\\\"2\\\" width=\\\"4\\\" x=\\\"9\\\" y=\\\"11\\\"/></g></svg>\";\nconst underlineIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><path class=\\\"ql-stroke\\\" d=\\\"M5,3V9a4.012,4.012,0,0,0,4,4H9a4.012,4.012,0,0,0,4-4V3\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1\\\" rx=\\\"0.5\\\" ry=\\\"0.5\\\" width=\\\"12\\\" x=\\\"3\\\" y=\\\"15\\\"/></svg>\";\nconst videoIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><rect class=\\\"ql-stroke\\\" height=\\\"12\\\" width=\\\"12\\\" x=\\\"3\\\" y=\\\"3\\\"/><rect class=\\\"ql-fill\\\" height=\\\"12\\\" width=\\\"1\\\" x=\\\"5\\\" y=\\\"3\\\"/><rect class=\\\"ql-fill\\\" height=\\\"12\\\" width=\\\"1\\\" x=\\\"12\\\" y=\\\"3\\\"/><rect class=\\\"ql-fill\\\" height=\\\"2\\\" width=\\\"8\\\" x=\\\"5\\\" y=\\\"8\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1\\\" width=\\\"3\\\" x=\\\"3\\\" y=\\\"5\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1\\\" width=\\\"3\\\" x=\\\"3\\\" y=\\\"7\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1\\\" width=\\\"3\\\" x=\\\"3\\\" y=\\\"10\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1\\\" width=\\\"3\\\" x=\\\"3\\\" y=\\\"12\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1\\\" width=\\\"3\\\" x=\\\"12\\\" y=\\\"5\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1\\\" width=\\\"3\\\" x=\\\"12\\\" y=\\\"7\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1\\\" width=\\\"3\\\" x=\\\"12\\\" y=\\\"10\\\"/><rect class=\\\"ql-fill\\\" height=\\\"1\\\" width=\\\"3\\\" x=\\\"12\\\" y=\\\"12\\\"/></svg>\";\nexport default {\n align: {\n '': alignLeftIcon,\n center: alignCenterIcon,\n right: alignRightIcon,\n justify: alignJustifyIcon\n },\n background: backgroundIcon,\n blockquote: blockquoteIcon,\n bold: boldIcon,\n clean: cleanIcon,\n code: codeIcon,\n 'code-block': codeIcon,\n color: colorIcon,\n direction: {\n '': directionLeftToRightIcon,\n rtl: directionRightToLeftIcon\n },\n formula: formulaIcon,\n header: {\n '1': headerIcon,\n '2': header2Icon,\n '3': header3Icon,\n '4': header4Icon,\n '5': header5Icon,\n '6': header6Icon\n },\n italic: italicIcon,\n image: imageIcon,\n indent: {\n '+1': indentIcon,\n '-1': outdentIcon\n },\n link: linkIcon,\n list: {\n bullet: listBulletIcon,\n check: listCheckIcon,\n ordered: listOrderedIcon\n },\n script: {\n sub: subscriptIcon,\n super: superscriptIcon\n },\n strike: strikeIcon,\n table: tableIcon,\n underline: underlineIcon,\n video: videoIcon\n};\n//# sourceMappingURL=icons.js.map","const DropdownIcon = \"<svg viewbox=\\\"0 0 18 18\\\"><polygon class=\\\"ql-stroke\\\" points=\\\"7 11 9 13 11 11 7 11\\\"/><polygon class=\\\"ql-stroke\\\" points=\\\"7 7 9 5 11 7 7 7\\\"/></svg>\";\nlet optionsCounter = 0;\nfunction toggleAriaAttribute(element, attribute) {\n element.setAttribute(attribute, `${!(element.getAttribute(attribute) === 'true')}`);\n}\nclass Picker {\n constructor(select) {\n this.select = select;\n this.container = document.createElement('span');\n this.buildPicker();\n this.select.style.display = 'none';\n // @ts-expect-error Fix me later\n this.select.parentNode.insertBefore(this.container, this.select);\n this.label.addEventListener('mousedown', () => {\n this.togglePicker();\n });\n this.label.addEventListener('keydown', event => {\n switch (event.key) {\n case 'Enter':\n this.togglePicker();\n break;\n case 'Escape':\n this.escape();\n event.preventDefault();\n break;\n default:\n }\n });\n this.select.addEventListener('change', this.update.bind(this));\n }\n togglePicker() {\n this.container.classList.toggle('ql-expanded');\n // Toggle aria-expanded and aria-hidden to make the picker accessible\n toggleAriaAttribute(this.label, 'aria-expanded');\n // @ts-expect-error\n toggleAriaAttribute(this.options, 'aria-hidden');\n }\n buildItem(option) {\n const item = document.createElement('span');\n // @ts-expect-error\n item.tabIndex = '0';\n item.setAttribute('role', 'button');\n item.classList.add('ql-picker-item');\n const value = option.getAttribute('value');\n if (value) {\n item.setAttribute('data-value', value);\n }\n if (option.textContent) {\n item.setAttribute('data-label', option.textContent);\n }\n item.addEventListener('click', () => {\n this.selectItem(item, true);\n });\n item.addEventListener('keydown', event => {\n switch (event.key) {\n case 'Enter':\n this.selectItem(item, true);\n event.preventDefault();\n break;\n case 'Escape':\n this.escape();\n event.preventDefault();\n break;\n default:\n }\n });\n return item;\n }\n buildLabel() {\n const label = document.createElement('span');\n label.classList.add('ql-picker-label');\n label.innerHTML = DropdownIcon;\n // @ts-expect-error\n label.tabIndex = '0';\n label.setAttribute('role', 'button');\n label.setAttribute('aria-expanded', 'false');\n this.container.appendChild(label);\n return label;\n }\n buildOptions() {\n const options = document.createElement('span');\n options.classList.add('ql-picker-options');\n\n // Don't want screen readers to read this until options are visible\n options.setAttribute('aria-hidden', 'true');\n // @ts-expect-error\n options.tabIndex = '-1';\n\n // Need a unique id for aria-controls\n options.id = `ql-picker-options-${optionsCounter}`;\n optionsCounter += 1;\n this.label.setAttribute('aria-controls', options.id);\n\n // @ts-expect-error\n this.options = options;\n Array.from(this.select.options).forEach(option => {\n const item = this.buildItem(option);\n options.appendChild(item);\n if (option.selected === true) {\n this.selectItem(item);\n }\n });\n this.container.appendChild(options);\n }\n buildPicker() {\n Array.from(this.select.attributes).forEach(item => {\n this.container.setAttribute(item.name, item.value);\n });\n this.container.classList.add('ql-picker');\n this.label = this.buildLabel();\n this.buildOptions();\n }\n escape() {\n // Close menu and return focus to trigger label\n this.close();\n // Need setTimeout for accessibility to ensure that the browser executes\n // focus on the next process thread and after any DOM content changes\n setTimeout(() => this.label.focus(), 1);\n }\n close() {\n this.container.classList.remove('ql-expanded');\n this.label.setAttribute('aria-expanded', 'false');\n // @ts-expect-error\n this.options.setAttribute('aria-hidden', 'true');\n }\n selectItem(item) {\n let trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n const selected = this.container.querySelector('.ql-selected');\n if (item === selected) return;\n if (selected != null) {\n selected.classList.remove('ql-selected');\n }\n if (item == null) return;\n item.classList.add('ql-selected');\n // @ts-expect-error Fix me later\n this.select.selectedIndex = Array.from(item.parentNode.children).indexOf(item);\n if (item.hasAttribute('data-value')) {\n // @ts-expect-error Fix me later\n this.label.setAttribute('data-value', item.getAttribute('data-value'));\n } else {\n this.label.removeAttribute('data-value');\n }\n if (item.hasAttribute('data-label')) {\n // @ts-expect-error Fix me later\n this.label.setAttribute('data-label', item.getAttribute('data-label'));\n } else {\n this.label.removeAttribute('data-label');\n }\n if (trigger) {\n this.select.dispatchEvent(new Event('change'));\n this.close();\n }\n }\n update() {\n let option;\n if (this.select.selectedIndex > -1) {\n const item =\n // @ts-expect-error Fix me later\n this.container.querySelector('.ql-picker-options').children[this.select.selectedIndex];\n option = this.select.options[this.select.selectedIndex];\n // @ts-expect-error\n this.selectItem(item);\n } else {\n this.selectItem(null);\n }\n const isActive = option != null && option !== this.select.querySelector('option[selected]');\n this.label.classList.toggle('ql-active', isActive);\n }\n}\nexport default Picker;\n//# sourceMappingURL=picker.js.map","import Picker from './picker.js';\nclass ColorPicker extends Picker {\n constructor(select, label) {\n super(select);\n this.label.innerHTML = label;\n this.container.classList.add('ql-color-picker');\n Array.from(this.container.querySelectorAll('.ql-picker-item')).slice(0, 7).forEach(item => {\n item.classList.add('ql-primary');\n });\n }\n buildItem(option) {\n const item = super.buildItem(option);\n item.style.backgroundColor = option.getAttribute('value') || '';\n return item;\n }\n selectItem(item, trigger) {\n super.selectItem(item, trigger);\n const colorLabel = this.label.querySelector('.ql-color-label');\n const value = item ? item.getAttribute('data-value') || '' : '';\n if (colorLabel) {\n if (colorLabel.tagName === 'line') {\n colorLabel.style.stroke = value;\n } else {\n colorLabel.style.fill = value;\n }\n }\n }\n}\nexport default ColorPicker;\n//# sourceMappingURL=color-picker.js.map","import Picker from './picker.js';\nclass IconPicker extends Picker {\n constructor(select, icons) {\n super(select);\n this.container.classList.add('ql-icon-picker');\n Array.from(this.container.querySelectorAll('.ql-picker-item')).forEach(item => {\n item.innerHTML = icons[item.getAttribute('data-value') || ''];\n });\n this.defaultItem = this.container.querySelector('.ql-selected');\n this.selectItem(this.defaultItem);\n }\n selectItem(target, trigger) {\n super.selectItem(target, trigger);\n const item = target || this.defaultItem;\n if (item != null) {\n if (this.label.innerHTML === item.innerHTML) return;\n this.label.innerHTML = item.innerHTML;\n }\n }\n}\nexport default IconPicker;\n//# sourceMappingURL=icon-picker.js.map","const isScrollable = el => {\n const {\n overflowY\n } = getComputedStyle(el, null);\n return overflowY !== 'visible' && overflowY !== 'clip';\n};\nclass Tooltip {\n constructor(quill, boundsContainer) {\n this.quill = quill;\n this.boundsContainer = boundsContainer || document.body;\n this.root = quill.addContainer('ql-tooltip');\n // @ts-expect-error\n this.root.innerHTML = this.constructor.TEMPLATE;\n if (isScrollable(this.quill.root)) {\n this.quill.root.addEventListener('scroll', () => {\n this.root.style.marginTop = `${-1 * this.quill.root.scrollTop}px`;\n });\n }\n this.hide();\n }\n hide() {\n this.root.classList.add('ql-hidden');\n }\n position(reference) {\n const left = reference.left + reference.width / 2 - this.root.offsetWidth / 2;\n // root.scrollTop should be 0 if scrollContainer !== root\n const top = reference.bottom + this.quill.root.scrollTop;\n this.root.style.left = `${left}px`;\n this.root.style.top = `${top}px`;\n this.root.classList.remove('ql-flip');\n const containerBounds = this.boundsContainer.getBoundingClientRect();\n const rootBounds = this.root.getBoundingClientRect();\n let shift = 0;\n if (rootBounds.right > containerBounds.right) {\n shift = containerBounds.right - rootBounds.right;\n this.root.style.left = `${left + shift}px`;\n }\n if (rootBounds.left < containerBounds.left) {\n shift = containerBounds.left - rootBounds.left;\n this.root.style.left = `${left + shift}px`;\n }\n if (rootBounds.bottom > containerBounds.bottom) {\n const height = rootBounds.bottom - rootBounds.top;\n const verticalShift = reference.bottom - reference.top + height;\n this.root.style.top = `${top - verticalShift}px`;\n this.root.classList.add('ql-flip');\n }\n return shift;\n }\n show() {\n this.root.classList.remove('ql-editing');\n this.root.classList.remove('ql-hidden');\n }\n}\nexport default Tooltip;\n//# sourceMappingURL=tooltip.js.map","import { merge } from 'lodash-es';\nimport Emitter from '../core/emitter.js';\nimport Theme from '../core/theme.js';\nimport ColorPicker from '../ui/color-picker.js';\nimport IconPicker from '../ui/icon-picker.js';\nimport Picker from '../ui/picker.js';\nimport Tooltip from '../ui/tooltip.js';\nconst ALIGNS = [false, 'center', 'right', 'justify'];\nconst COLORS = ['#000000', '#e60000', '#ff9900', '#ffff00', '#008a00', '#0066cc', '#9933ff', '#ffffff', '#facccc', '#ffebcc', '#ffffcc', '#cce8cc', '#cce0f5', '#ebd6ff', '#bbbbbb', '#f06666', '#ffc266', '#ffff66', '#66b966', '#66a3e0', '#c285ff', '#888888', '#a10000', '#b26b00', '#b2b200', '#006100', '#0047b2', '#6b24b2', '#444444', '#5c0000', '#663d00', '#666600', '#003700', '#002966', '#3d1466'];\nconst FONTS = [false, 'serif', 'monospace'];\nconst HEADERS = ['1', '2', '3', false];\nconst SIZES = ['small', false, 'large', 'huge'];\nclass BaseTheme extends Theme {\n constructor(quill, options) {\n super(quill, options);\n const listener = e => {\n if (!document.body.contains(quill.root)) {\n document.body.removeEventListener('click', listener);\n return;\n }\n if (this.tooltip != null &&\n // @ts-expect-error\n !this.tooltip.root.contains(e.target) &&\n // @ts-expect-error\n document.activeElement !== this.tooltip.textbox && !this.quill.hasFocus()) {\n this.tooltip.hide();\n }\n if (this.pickers != null) {\n this.pickers.forEach(picker => {\n // @ts-expect-error\n if (!picker.container.contains(e.target)) {\n picker.close();\n }\n });\n }\n };\n quill.emitter.listenDOM('click', document.body, listener);\n }\n addModule(name) {\n const module = super.addModule(name);\n if (name === 'toolbar') {\n // @ts-expect-error\n this.extendToolbar(module);\n }\n return module;\n }\n buildButtons(buttons, icons) {\n Array.from(buttons).forEach(button => {\n const className = button.getAttribute('class') || '';\n className.split(/\\s+/).forEach(name => {\n if (!name.startsWith('ql-')) return;\n name = name.slice('ql-'.length);\n if (icons[name] == null) return;\n if (name === 'direction') {\n // @ts-expect-error\n button.innerHTML = icons[name][''] + icons[name].rtl;\n } else if (typeof icons[name] === 'string') {\n // @ts-expect-error\n button.innerHTML = icons[name];\n } else {\n // @ts-expect-error\n const value = button.value || '';\n // @ts-expect-error\n if (value != null && icons[name][value]) {\n // @ts-expect-error\n button.innerHTML = icons[name][value];\n }\n }\n });\n });\n }\n buildPickers(selects, icons) {\n this.pickers = Array.from(selects).map(select => {\n if (select.classList.contains('ql-align')) {\n if (select.querySelector('option') == null) {\n fillSelect(select, ALIGNS);\n }\n if (typeof icons.align === 'object') {\n return new IconPicker(select, icons.align);\n }\n }\n if (select.classList.contains('ql-background') || select.classList.contains('ql-color')) {\n const format = select.classList.contains('ql-background') ? 'background' : 'color';\n if (select.querySelector('option') == null) {\n fillSelect(select, COLORS, format === 'background' ? '#ffffff' : '#000000');\n }\n return new ColorPicker(select, icons[format]);\n }\n if (select.querySelector('option') == null) {\n if (select.classList.contains('ql-font')) {\n fillSelect(select, FONTS);\n } else if (select.classList.contains('ql-header')) {\n fillSelect(select, HEADERS);\n } else if (select.classList.contains('ql-size')) {\n fillSelect(select, SIZES);\n }\n }\n return new Picker(select);\n });\n const update = () => {\n this.pickers.forEach(picker => {\n picker.update();\n });\n };\n this.quill.on(Emitter.events.EDITOR_CHANGE, update);\n }\n}\nBaseTheme.DEFAULTS = merge({}, Theme.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n formula() {\n this.quill.theme.tooltip.edit('formula');\n },\n image() {\n let fileInput = this.container.querySelector('input.ql-image[type=file]');\n if (fileInput == null) {\n fileInput = document.createElement('input');\n fileInput.setAttribute('type', 'file');\n fileInput.setAttribute('accept', this.quill.uploader.options.mimetypes.join(', '));\n fileInput.classList.add('ql-image');\n fileInput.addEventListener('change', () => {\n const range = this.quill.getSelection(true);\n this.quill.uploader.upload(range, fileInput.files);\n fileInput.value = '';\n });\n this.container.appendChild(fileInput);\n }\n fileInput.click();\n },\n video() {\n this.quill.theme.tooltip.edit('video');\n }\n }\n }\n }\n});\nclass BaseTooltip extends Tooltip {\n constructor(quill, boundsContainer) {\n super(quill, boundsContainer);\n this.textbox = this.root.querySelector('input[type=\"text\"]');\n this.listen();\n }\n listen() {\n // @ts-expect-error Fix me later\n this.textbox.addEventListener('keydown', event => {\n if (event.key === 'Enter') {\n this.save();\n event.preventDefault();\n } else if (event.key === 'Escape') {\n this.cancel();\n event.preventDefault();\n }\n });\n }\n cancel() {\n this.hide();\n this.restoreFocus();\n }\n edit() {\n let mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'link';\n let preview = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n this.root.classList.remove('ql-hidden');\n this.root.classList.add('ql-editing');\n if (this.textbox == null) return;\n if (preview != null) {\n this.textbox.value = preview;\n } else if (mode !== this.root.getAttribute('data-mode')) {\n this.textbox.value = '';\n }\n const bounds = this.quill.getBounds(this.quill.selection.savedRange);\n if (bounds != null) {\n this.position(bounds);\n }\n this.textbox.select();\n this.textbox.setAttribute('placeholder', this.textbox.getAttribute(`data-${mode}`) || '');\n this.root.setAttribute('data-mode', mode);\n }\n restoreFocus() {\n this.quill.focus({\n preventScroll: true\n });\n }\n save() {\n // @ts-expect-error Fix me later\n let {\n value\n } = this.textbox;\n switch (this.root.getAttribute('data-mode')) {\n case 'link':\n {\n const {\n scrollTop\n } = this.quill.root;\n if (this.linkRange) {\n this.quill.formatText(this.linkRange, 'link', value, Emitter.sources.USER);\n delete this.linkRange;\n } else {\n this.restoreFocus();\n this.quill.format('link', value, Emitter.sources.USER);\n }\n this.quill.root.scrollTop = scrollTop;\n break;\n }\n case 'video':\n {\n value = extractVideoUrl(value);\n }\n // eslint-disable-next-line no-fallthrough\n case 'formula':\n {\n if (!value) break;\n const range = this.quill.getSelection(true);\n if (range != null) {\n const index = range.index + range.length;\n this.quill.insertEmbed(index,\n // @ts-expect-error Fix me later\n this.root.getAttribute('data-mode'), value, Emitter.sources.USER);\n if (this.root.getAttribute('data-mode') === 'formula') {\n this.quill.insertText(index + 1, ' ', Emitter.sources.USER);\n }\n this.quill.setSelection(index + 2, Emitter.sources.USER);\n }\n break;\n }\n default:\n }\n // @ts-expect-error Fix me later\n this.textbox.value = '';\n this.hide();\n }\n}\nfunction extractVideoUrl(url) {\n let match = url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtube\\.com\\/watch.*v=([a-zA-Z0-9_-]+)/) || url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtu\\.be\\/([a-zA-Z0-9_-]+)/);\n if (match) {\n return `${match[1] || 'https'}://www.youtube.com/embed/${match[2]}?showinfo=0`;\n }\n // eslint-disable-next-line no-cond-assign\n if (match = url.match(/^(?:(https?):\\/\\/)?(?:www\\.)?vimeo\\.com\\/(\\d+)/)) {\n return `${match[1] || 'https'}://player.vimeo.com/video/${match[2]}/`;\n }\n return url;\n}\nfunction fillSelect(select, values) {\n let defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n values.forEach(value => {\n const option = document.createElement('option');\n if (value === defaultValue) {\n option.setAttribute('selected', 'selected');\n } else {\n option.setAttribute('value', String(value));\n }\n select.appendChild(option);\n });\n}\nexport { BaseTooltip, BaseTheme as default };\n//# sourceMappingURL=base.js.map","import { merge } from 'lodash-es';\nimport Emitter from '../core/emitter.js';\nimport BaseTheme, { BaseTooltip } from './base.js';\nimport { Range } from '../core/selection.js';\nimport icons from '../ui/icons.js';\nimport Quill from '../core/quill.js';\nconst TOOLBAR_CONFIG = [['bold', 'italic', 'link'], [{\n header: 1\n}, {\n header: 2\n}, 'blockquote']];\nclass BubbleTooltip extends BaseTooltip {\n static TEMPLATE = ['<span class=\"ql-tooltip-arrow\"></span>', '<div class=\"ql-tooltip-editor\">', '<input type=\"text\" data-formula=\"e=mc^2\" data-link=\"https://quilljs.com\" data-video=\"Embed URL\">', '<a class=\"ql-close\"></a>', '</div>'].join('');\n constructor(quill, bounds) {\n super(quill, bounds);\n this.quill.on(Emitter.events.EDITOR_CHANGE, (type, range, oldRange, source) => {\n if (type !== Emitter.events.SELECTION_CHANGE) return;\n if (range != null && range.length > 0 && source === Emitter.sources.USER) {\n this.show();\n // Lock our width so we will expand beyond our offsetParent boundaries\n this.root.style.left = '0px';\n this.root.style.width = '';\n this.root.style.width = `${this.root.offsetWidth}px`;\n const lines = this.quill.getLines(range.index, range.length);\n if (lines.length === 1) {\n const bounds = this.quill.getBounds(range);\n if (bounds != null) {\n this.position(bounds);\n }\n } else {\n const lastLine = lines[lines.length - 1];\n const index = this.quill.getIndex(lastLine);\n const length = Math.min(lastLine.length() - 1, range.index + range.length - index);\n const indexBounds = this.quill.getBounds(new Range(index, length));\n if (indexBounds != null) {\n this.position(indexBounds);\n }\n }\n } else if (document.activeElement !== this.textbox && this.quill.hasFocus()) {\n this.hide();\n }\n });\n }\n listen() {\n super.listen();\n // @ts-expect-error Fix me later\n this.root.querySelector('.ql-close').addEventListener('click', () => {\n this.root.classList.remove('ql-editing');\n });\n this.quill.on(Emitter.events.SCROLL_OPTIMIZE, () => {\n // Let selection be restored by toolbar handlers before repositioning\n setTimeout(() => {\n if (this.root.classList.contains('ql-hidden')) return;\n const range = this.quill.getSelection();\n if (range != null) {\n const bounds = this.quill.getBounds(range);\n if (bounds != null) {\n this.position(bounds);\n }\n }\n }, 1);\n });\n }\n cancel() {\n this.show();\n }\n position(reference) {\n const shift = super.position(reference);\n const arrow = this.root.querySelector('.ql-tooltip-arrow');\n // @ts-expect-error\n arrow.style.marginLeft = '';\n if (shift !== 0) {\n // @ts-expect-error\n arrow.style.marginLeft = `${-1 * shift - arrow.offsetWidth / 2}px`;\n }\n return shift;\n }\n}\nclass BubbleTheme extends BaseTheme {\n constructor(quill, options) {\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n super(quill, options);\n this.quill.container.classList.add('ql-bubble');\n }\n extendToolbar(toolbar) {\n // @ts-expect-error\n this.tooltip = new BubbleTooltip(this.quill, this.options.bounds);\n if (toolbar.container != null) {\n this.tooltip.root.appendChild(toolbar.container);\n this.buildButtons(toolbar.container.querySelectorAll('button'), icons);\n this.buildPickers(toolbar.container.querySelectorAll('select'), icons);\n }\n }\n}\nBubbleTheme.DEFAULTS = merge({}, BaseTheme.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link(value) {\n if (!value) {\n this.quill.format('link', false, Quill.sources.USER);\n } else {\n // @ts-expect-error\n this.quill.theme.tooltip.edit();\n }\n }\n }\n }\n }\n});\nexport { BubbleTooltip, BubbleTheme as default };\n//# sourceMappingURL=bubble.js.map","import { merge } from 'lodash-es';\nimport Emitter from '../core/emitter.js';\nimport BaseTheme, { BaseTooltip } from './base.js';\nimport LinkBlot from '../formats/link.js';\nimport { Range } from '../core/selection.js';\nimport icons from '../ui/icons.js';\nimport Quill from '../core/quill.js';\nconst TOOLBAR_CONFIG = [[{\n header: ['1', '2', '3', false]\n}], ['bold', 'italic', 'underline', 'link'], [{\n list: 'ordered'\n}, {\n list: 'bullet'\n}], ['clean']];\nclass SnowTooltip extends BaseTooltip {\n static TEMPLATE = ['<a class=\"ql-preview\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"about:blank\"></a>', '<input type=\"text\" data-formula=\"e=mc^2\" data-link=\"https://quilljs.com\" data-video=\"Embed URL\">', '<a class=\"ql-action\"></a>', '<a class=\"ql-remove\"></a>'].join('');\n preview = this.root.querySelector('a.ql-preview');\n listen() {\n super.listen();\n // @ts-expect-error Fix me later\n this.root.querySelector('a.ql-action').addEventListener('click', event => {\n if (this.root.classList.contains('ql-editing')) {\n this.save();\n } else {\n // @ts-expect-error Fix me later\n this.edit('link', this.preview.textContent);\n }\n event.preventDefault();\n });\n // @ts-expect-error Fix me later\n this.root.querySelector('a.ql-remove').addEventListener('click', event => {\n if (this.linkRange != null) {\n const range = this.linkRange;\n this.restoreFocus();\n this.quill.formatText(range, 'link', false, Emitter.sources.USER);\n delete this.linkRange;\n }\n event.preventDefault();\n this.hide();\n });\n this.quill.on(Emitter.events.SELECTION_CHANGE, (range, oldRange, source) => {\n if (range == null) return;\n if (range.length === 0 && source === Emitter.sources.USER) {\n const [link, offset] = this.quill.scroll.descendant(LinkBlot, range.index);\n if (link != null) {\n this.linkRange = new Range(range.index - offset, link.length());\n const preview = LinkBlot.formats(link.domNode);\n // @ts-expect-error Fix me later\n this.preview.textContent = preview;\n // @ts-expect-error Fix me later\n this.preview.setAttribute('href', preview);\n this.show();\n const bounds = this.quill.getBounds(this.linkRange);\n if (bounds != null) {\n this.position(bounds);\n }\n return;\n }\n } else {\n delete this.linkRange;\n }\n this.hide();\n });\n }\n show() {\n super.show();\n this.root.removeAttribute('data-mode');\n }\n}\nclass SnowTheme extends BaseTheme {\n constructor(quill, options) {\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n super(quill, options);\n this.quill.container.classList.add('ql-snow');\n }\n extendToolbar(toolbar) {\n if (toolbar.container != null) {\n toolbar.container.classList.add('ql-snow');\n this.buildButtons(toolbar.container.querySelectorAll('button'), icons);\n this.buildPickers(toolbar.container.querySelectorAll('select'), icons);\n // @ts-expect-error\n this.tooltip = new SnowTooltip(this.quill, this.options.bounds);\n if (toolbar.container.querySelector('.ql-link')) {\n this.quill.keyboard.addBinding({\n key: 'k',\n shortKey: true\n }, (_range, context) => {\n toolbar.handlers.link.call(toolbar, !context.format.link);\n });\n }\n }\n }\n}\nSnowTheme.DEFAULTS = merge({}, BaseTheme.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link(value) {\n if (value) {\n const range = this.quill.getSelection();\n if (range == null || range.length === 0) return;\n let preview = this.quill.getText(range);\n if (/^\\S+@\\S+\\.\\S+$/.test(preview) && preview.indexOf('mailto:') !== 0) {\n preview = `mailto:${preview}`;\n }\n // @ts-expect-error\n const {\n tooltip\n } = this.quill.theme;\n tooltip.edit('link', preview);\n } else {\n this.quill.format('link', false, Quill.sources.USER);\n }\n }\n }\n }\n }\n});\nexport default SnowTheme;\n//# sourceMappingURL=snow.js.map","import Quill, { Parchment, Range } from './core.js';\nimport { AlignClass, AlignStyle } from './formats/align.js';\nimport { DirectionAttribute, DirectionClass, DirectionStyle } from './formats/direction.js';\nimport Indent from './formats/indent.js';\nimport Blockquote from './formats/blockquote.js';\nimport Header from './formats/header.js';\nimport List from './formats/list.js';\nimport { BackgroundClass, BackgroundStyle } from './formats/background.js';\nimport { ColorClass, ColorStyle } from './formats/color.js';\nimport { FontClass, FontStyle } from './formats/font.js';\nimport { SizeClass, SizeStyle } from './formats/size.js';\nimport Bold from './formats/bold.js';\nimport Italic from './formats/italic.js';\nimport Link from './formats/link.js';\nimport Script from './formats/script.js';\nimport Strike from './formats/strike.js';\nimport Underline from './formats/underline.js';\nimport Formula from './formats/formula.js';\nimport Image from './formats/image.js';\nimport Video from './formats/video.js';\nimport CodeBlock, { Code as InlineCode } from './formats/code.js';\nimport Syntax from './modules/syntax.js';\nimport Table from './modules/table.js';\nimport Toolbar from './modules/toolbar.js';\nimport Icons from './ui/icons.js';\nimport Picker from './ui/picker.js';\nimport ColorPicker from './ui/color-picker.js';\nimport IconPicker from './ui/icon-picker.js';\nimport Tooltip from './ui/tooltip.js';\nimport BubbleTheme from './themes/bubble.js';\nimport SnowTheme from './themes/snow.js';\nQuill.register({\n 'attributors/attribute/direction': DirectionAttribute,\n 'attributors/class/align': AlignClass,\n 'attributors/class/background': BackgroundClass,\n 'attributors/class/color': ColorClass,\n 'attributors/class/direction': DirectionClass,\n 'attributors/class/font': FontClass,\n 'attributors/class/size': SizeClass,\n 'attributors/style/align': AlignStyle,\n 'attributors/style/background': BackgroundStyle,\n 'attributors/style/color': ColorStyle,\n 'attributors/style/direction': DirectionStyle,\n 'attributors/style/font': FontStyle,\n 'attributors/style/size': SizeStyle\n}, true);\nQuill.register({\n 'formats/align': AlignClass,\n 'formats/direction': DirectionClass,\n 'formats/indent': Indent,\n 'formats/background': BackgroundStyle,\n 'formats/color': ColorStyle,\n 'formats/font': FontClass,\n 'formats/size': SizeClass,\n 'formats/blockquote': Blockquote,\n 'formats/code-block': CodeBlock,\n 'formats/header': Header,\n 'formats/list': List,\n 'formats/bold': Bold,\n 'formats/code': InlineCode,\n 'formats/italic': Italic,\n 'formats/link': Link,\n 'formats/script': Script,\n 'formats/strike': Strike,\n 'formats/underline': Underline,\n 'formats/formula': Formula,\n 'formats/image': Image,\n 'formats/video': Video,\n 'modules/syntax': Syntax,\n 'modules/table': Table,\n 'modules/toolbar': Toolbar,\n 'themes/bubble': BubbleTheme,\n 'themes/snow': SnowTheme,\n 'ui/icons': Icons,\n 'ui/picker': Picker,\n 'ui/icon-picker': IconPicker,\n 'ui/color-picker': ColorPicker,\n 'ui/tooltip': Tooltip\n}, true);\nexport { Module } from './core.js';\nexport { Parchment, Range };\nexport default Quill;\n//# sourceMappingURL=quill.js.map","import Bold from './bold.js';\nclass Italic extends Bold {\n static blotName = 'italic';\n static tagName = ['EM', 'I'];\n}\nexport default Italic;\n//# sourceMappingURL=italic.js.map","import Bold from './bold.js';\nclass Strike extends Bold {\n static blotName = 'strike';\n static tagName = ['S', 'STRIKE'];\n}\nexport default Strike;\n//# sourceMappingURL=strike.js.map","import m from 'mithril';\nimport { MeiosisComponent, t } from '../../services';\nimport { ID, Narrative, ScenarioComponent } from '../../models';\nimport { joinListWithAnd } from '../../utils';\n\n// Define interfaces for our data structure\nexport type KeyDriver = {\n key: string;\n possibleValues: string[];\n selectedValue: string;\n};\n\nexport type ScenarioParagraphAttrs = {\n template: string;\n};\n\n// Helper function to replace placeholders with select elements\nconst replacePlaceholders = (\n text: string,\n keyDrivers: ScenarioComponent[] = [],\n components: { [key: ID]: ID[] } = {}\n): Array<string | m.Vnode> => {\n const lookup = keyDrivers.reduce((acc, cur, idx) => {\n acc[cur.id] = idx;\n return acc;\n }, {} as Record<ID, number>);\n\n // console.log(keyDrivers.map((k) => [k.label, k.id]).join('\\n'));\n\n const parseTextWithPlaceholders = (input: string): string[] => {\n const regex = /({[^}]+})|([^{}]+)/g;\n const matches = input.match(regex);\n return matches ? matches : [];\n };\n\n const parts = parseTextWithPlaceholders(text).map((s) => {\n console.log(s);\n if (s.startsWith('{') && s.endsWith('}')) {\n const id = s.substring(1, s.length - 1);\n console.log(id);\n const c = keyDrivers[lookup[id]];\n if (!c) return id;\n const resolvedLabel =\n c.values && components[c.id]\n ? `${joinListWithAnd(\n c.values\n .filter((v) => components[c.id].includes(v.id))\n .map((v) => v.label),\n t('AND'),\n '',\n false\n )}`\n : ' ... ';\n return m('strong', resolvedLabel);\n } else {\n return s;\n }\n });\n\n return parts;\n};\n\n// The main component\nexport const ScenarioParagraph: MeiosisComponent<\n ScenarioParagraphAttrs\n> = () => {\n return {\n view: ({ attrs }) => {\n const {\n template,\n state: { model, curNarrative = {} as Narrative },\n } = attrs;\n const {\n scenario: { components: modelComps = [] },\n } = model;\n\n const { components = {} } = curNarrative;\n const extractIds = /{(\\d+)}/g;\n const idBasedTemplate = template\n .split(extractIds)\n .map((t) =>\n t.replace(/\\d+/, (i) =>\n +i < modelComps.length\n ? `{${modelComps[+i - 1].id}}`\n : `??? ${i} ???`\n )\n )\n .join('');\n return idBasedTemplate\n .split(/\\n/g)\n .map((t) => t.trim())\n .filter(Boolean)\n .map((t) =>\n m('.scenario-paragraph', [\n replacePlaceholders(t, modelComps, components),\n ])\n );\n },\n };\n};\n","import m, { FactoryComponent } from 'mithril';\nimport Quill from 'quill';\nimport {\n FlatButton,\n ISelectOptions,\n Icon,\n InputCheckbox,\n ModalPanel,\n Select,\n TextInput,\n uniqueId,\n} from 'mithril-materialized';\nimport { Dashboards, ID, Narrative } from '../models';\nimport {\n MeiosisComponent,\n saveModel,\n saveNarrative,\n setPage,\n t,\n updateNarrative,\n} from '../services';\nimport {\n deepCopy,\n generateNarrative,\n generateUniqueTitle,\n narrativesToOptions,\n} from '../utils';\nimport { range } from 'mithril-ui-form';\nimport { ScenarioParagraph } from './ui/scenario-paragraph';\n\nconst ToggleIcon: FactoryComponent<{\n on: string;\n off: string;\n value: boolean;\n disabled?: boolean;\n callback: (newValue: boolean) => void;\n}> = () => {\n return {\n view: ({ attrs: { on, off, value, disabled, callback } }) => {\n const iconName = value ? on : off;\n return m(Icon, {\n className: `clickable${disabled ? ' grey-text' : ''}`,\n iconName,\n disabled,\n onclick: disabled ? {} : () => callback(!value),\n });\n },\n };\n};\n\nconst calculateRisk = (narrative: Narrative) => {\n const { probability, impact } = narrative;\n if (typeof probability !== 'string' || typeof impact !== 'string') return;\n const p = +probability.replace(/[a-zA-Z_]/g, '');\n const i = +impact.replace(/[a-zA-Z_]/g, '');\n const riskMatrix: number[][] = [\n [0, 0, 1, 2, 3],\n [0, 1, 2, 3, 4],\n [1, 2, 3, 4, 4],\n [2, 3, 4, 4, 4],\n [3, 4, 4, 4, 4],\n ];\n narrative.risk = 'risk_' + riskMatrix[p][i];\n console.log(\n `Risk = probability x impact: ${probability} x ${impact} = ${narrative.risk}`\n );\n};\n\nexport const CategoryTable: MeiosisComponent<{\n catId: ID;\n excluded: Set<string>;\n}> = () => {\n let lockState = false;\n\n return {\n view: ({ attrs }) => {\n const {\n catId,\n excluded,\n state: {\n model,\n excludedComps = {},\n lockedComps = {},\n curNarrative = {} as Narrative,\n },\n } = attrs;\n const {\n scenario: { categories = [], components: modelComps = [] },\n } = model;\n const multipleCategories = categories.length > 1;\n const category = categories.filter((c) => c.id === catId).shift();\n const componentIds = category?.componentIds;\n const comps =\n componentIds &&\n modelComps.filter((c) => componentIds.indexOf(c.id) >= 0);\n\n const { components = {} } = curNarrative;\n\n return (\n category &&\n comps &&\n m('.scenario-table.row', [\n m('.col.s11', multipleCategories && m('h5', category.label)),\n m('.col.s1.icons', [\n // m(ToggleIcon, {\n // on: 'visibility',\n // off: 'visibility_off',\n // value: true,\n // callback: () => {\n // attrs.update({\n // excludedComps: (e = {}) => {\n // category?.componentIds.forEach((id) => delete e[id]);\n // return e;\n // },\n // });\n // },\n // }),\n m(ToggleIcon, {\n on: 'lock_open',\n off: 'lock',\n value: lockState,\n callback: (v) => {\n lockState = v;\n attrs.update({\n lockedComps: (l = {}) => {\n category?.componentIds?.forEach(\n (id) => (l[id] = lockState)\n );\n return l;\n },\n });\n },\n }),\n ]),\n comps.map((c) => [\n [\n m(Select, {\n label: c.label,\n key: `key_${c.id}_${excludedComps[c.id]}`,\n className: 'col s11',\n multiple: true,\n disabled:\n typeof excludedComps[c.id] !== 'undefined' &&\n excludedComps[c.id],\n initialValue: components[c.id],\n options: c.values?.filter((c) => !excluded.has(c.id)),\n placeholder: t('i18n', 'pick'),\n onchange: (ids) => {\n if (!curNarrative.components) {\n curNarrative.components = {};\n }\n curNarrative.components[c.id] = ids;\n updateNarrative(attrs, curNarrative);\n },\n } as ISelectOptions<string>),\n ],\n m('.col.s1.icons', [\n // m(ToggleIcon, {\n // on: 'visibility',\n // off: 'visibility_off',\n // disabled: c.manual,\n // value: excludedComps[c.id] ? false : true,\n // callback: (v) => {\n // attrs.update({\n // excludedComps: (e = {}) => {\n // e[c.id] = !v;\n // return e;\n // },\n // });\n // },\n // }),\n m(ToggleIcon, {\n on: 'lock_open',\n off: 'lock',\n disabled: c.manual,\n value: c.manual || lockedComps[c.id] ? false : true,\n callback: (v) => {\n attrs.update({\n lockedComps: (e = {}) => {\n e[c.id] = !v;\n return e;\n },\n });\n },\n }),\n ]),\n ]),\n ])\n );\n },\n };\n};\n\nexport const CreateScenarioPage: MeiosisComponent = () => {\n let editor: Quill;\n let lockState = false;\n let version = 0;\n\n return {\n oninit: ({ attrs }) => setPage(attrs, Dashboards.CREATE_SCENARIO),\n view: ({ attrs }) => {\n const {\n state: { model, curNarrative = {} as Narrative, lockedComps = {} },\n } = attrs;\n const {\n template,\n categories = [],\n inconsistencies = {},\n hideInconsistentValues = false,\n } = model.scenario;\n const narratives = model.scenario && model.scenario.narratives;\n const excluded =\n curNarrative.components && hideInconsistentValues\n ? Object.keys(curNarrative.components)\n .filter((cur) => curNarrative.components[cur])\n .reduce((acc, cur) => {\n curNarrative.components[cur].forEach(\n (v) =>\n inconsistencies[v] &&\n Object.keys(inconsistencies[v]).forEach(\n (id) => inconsistencies[v][id] && acc.add(id)\n )\n );\n return acc;\n }, new Set<string>())\n : new Set<string>();\n const selectOptions = narrativesToOptions(model.scenario.narratives);\n\n return m('.create-scenario.row', [\n m('.col.s12', [\n m(FlatButton, {\n label: t('GENERATE_NARRATIVE'),\n iconName: 'refresh',\n onclick: () => {\n const { components = {} } = curNarrative;\n const locked = components\n ? Object.keys(lockedComps).reduce((acc, cur) => {\n if (lockedComps[cur]) {\n acc[cur] = components[cur];\n }\n return acc;\n }, {} as Record<ID, ID[]>)\n : ({} as Record<ID, ID[]>);\n model.scenario.components\n .filter((c) => c.manual)\n .forEach((c) => {\n locked[c.id] = components[c.id];\n });\n const narrative = generateNarrative(model.scenario, locked);\n if (!narrative) {\n alert(t('NO_NARRATIVE'));\n } else {\n version++;\n attrs.update({ curNarrative: () => narrative });\n }\n },\n }),\n m(FlatButton, {\n label: t('CLEAR_NARRATIVE'),\n iconName: 'clear',\n style: 'margin-left: 10px;',\n onclick: () => {\n version = version === 0 ? 1 : 0;\n editor.setContents([] as any);\n attrs.update({\n lockedComps: () => ({}),\n curNarrative: () =>\n ({ included: false, components: {} } as Narrative),\n });\n },\n }),\n curNarrative.saved\n ? [\n m(FlatButton, {\n label: t('CLONE_NARRATIVE'),\n iconName: 'content_copy',\n style: 'margin-left: 10px;',\n onclick: () => {\n const newNarrative: Narrative = deepCopy(curNarrative);\n newNarrative.id = uniqueId();\n newNarrative.saved = false;\n newNarrative.label = generateUniqueTitle(\n curNarrative.label,\n model.scenario.narratives?.map((n) => n.label)\n );\n saveNarrative(attrs, newNarrative);\n },\n }),\n m(FlatButton, {\n label: t('DELETE'),\n iconName: 'delete',\n modalId: 'deleteSavedNarrative',\n }),\n m(ModalPanel, {\n id: 'deleteSavedNarrative',\n title: t('DELETE_ITEM', 'title', { item: t('NARRATIVE') }),\n description: t('DELETE_ITEM', 'description', {\n item: t('NARRATIVE'),\n }),\n buttons: [\n {\n label: t('CANCEL'),\n },\n {\n label: t('OK'),\n onclick: () => {\n version = 0;\n model.scenario.narratives =\n model.scenario.narratives.filter(\n (n) => n.id !== curNarrative.id\n );\n lockState = true;\n editor.setContents([]);\n lockState = false;\n attrs.update({\n curNarrative: () =>\n ({ included: false, components: {} } as Narrative),\n lockedComps: () => undefined,\n });\n saveModel(attrs, model);\n },\n },\n ],\n }),\n ]\n : [\n m(FlatButton, {\n label: t('SAVE_NARRATIVE'),\n iconName: 'save',\n disabled:\n !curNarrative.label ||\n !curNarrative.components ||\n Object.keys(curNarrative.components).length === 0,\n onclick: () => {\n saveNarrative(attrs, curNarrative);\n },\n }),\n ],\n narratives && [\n m(Select, {\n key: Date.now(),\n className: 'right mb0 w30',\n label: t('SELECT_NARRATIVE'),\n checkedId: curNarrative.saved ? curNarrative.id : undefined,\n placeholder: t('i18n', 'pickOne'),\n options: selectOptions,\n onchange: (v) => {\n if (v && v.length > 0) {\n version++;\n const newNarrative = narratives\n .filter((n) => n.id === v[0])\n .shift();\n lockState = true;\n editor.setContents(\n newNarrative && newNarrative.desc\n ? JSON.parse(newNarrative.desc)\n : []\n );\n lockState = false;\n // if (newNarrative) newNarrative.included = true;\n attrs.update({\n curNarrative: () => newNarrative,\n lockedComps: () =>\n model.scenario.components.reduce((acc, cur) => {\n acc[cur.id] = true;\n return acc;\n }, {} as Record<ID, boolean>),\n });\n }\n },\n } as ISelectOptions<string>),\n ],\n ]),\n template\n ? m(ScenarioParagraph, {\n ...attrs,\n template,\n })\n : '',\n categories.map((c, i) =>\n m(\n '.col.s12',\n {\n className: `m${Math.round(12 / categories.length)}`,\n key: 10000 * version + i,\n },\n m(CategoryTable, {\n ...attrs,\n catId: c.id,\n excluded,\n })\n )\n ),\n m('.col.s12', [\n m('.row', [\n m(TextInput, {\n className: 'col s6 m3',\n initialValue: curNarrative.label,\n label: t('NAME_NARRATIVE'),\n required: true,\n onchange: (n) => {\n curNarrative.label = n;\n updateNarrative(attrs, curNarrative);\n },\n }),\n m(InputCheckbox, {\n className: 'col s6 m3 mt25',\n checked: curNarrative.included,\n label: t('INCLUDE_NARRATIVE'),\n onchange: (n) => {\n curNarrative.included = n;\n updateNarrative(attrs, curNarrative);\n },\n }),\n model.scenario.includeDecisionSupport && [\n m(Select, {\n key: `prob${curNarrative.id}`,\n placeholder: t('i18n', 'pick'),\n className: 'col s6 m2',\n label: t('PROBABILITY'),\n initialValue: curNarrative.probability,\n options: range(0, 4).map((id) => ({\n id: `probability_${id}`,\n label: t('PROB5', id),\n })),\n onchange: (n) => {\n curNarrative.probability = n[0];\n calculateRisk(curNarrative);\n updateNarrative(attrs, curNarrative);\n },\n } as ISelectOptions<string>),\n m(Select, {\n key: `imp${curNarrative.id}`,\n placeholder: t('i18n', 'pick'),\n className: 'col s6 m2',\n label: t('IMPACT'),\n initialValue: curNarrative.impact,\n options: range(0, 4).map((id) => ({\n id: `impact_${id}`,\n label: t('IMP5', id),\n })),\n onchange: (n) => {\n curNarrative.impact = n[0];\n calculateRisk(curNarrative);\n updateNarrative(attrs, curNarrative);\n },\n } as ISelectOptions<string>),\n m(Select, {\n key: `${curNarrative.id}-${curNarrative.probability}-${curNarrative.impact}`,\n placeholder: t('RISK_PLACEHOLDER'),\n className: 'col s6 m2',\n label: t('RISK'),\n initialValue: curNarrative.risk,\n options: range(0, 4).map((id) => ({\n id: `risk_${id}`,\n label: t('RISK5', id),\n // img: 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMi4zNzggNTAuMDEzQTQ3Ljc0NSA0Ny42NjMgMCAwMTUwLjE0NCAyLjM3OGE0Ny43NDUgNDcuNjYzIDAgMDE0Ny43MjMgNDcuNjc3IDQ3Ljc0NSA0Ny42NjMgMCAwMS00Ny43NTEgNDcuNjQ5QTQ3Ljc0NSA0Ny42NjMgMCAwMTIuMzc4IDUwLjA0IiBmaWxsPSIjZDcxOTFjIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSI0LjA3MiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+',\n // img: svgToDataURI(createCircleSVG(trafficLight[id], 30)),\n })),\n disabled: true,\n } as ISelectOptions<string>),\n ],\n ]),\n // m('#toolbar'),\n [\n m('#editor', {\n oncreate: () => {\n editor = new Quill('#editor', {\n // debug: 'info',\n modules: {\n // table: true,\n toolbar: [\n [{ header: [1, 2, false] }],\n ['bold', 'italic', 'underline', 'strike'],\n [{ list: 'ordered' }, { list: 'bullet' }],\n [{ script: 'sub' }, { script: 'super' }], // superscript/subscript\n [{ indent: '-1' }, { indent: '+1' }], // outdent/indent\n [\n { color: [] },\n // , { background: [] }\n ], // dropdown with defaults from theme\n // [{ font: [] }],\n [{ align: [] }],\n // [{ size: ['small', false, 'large', 'huge'] }],\n ['image', 'code-block'],\n ],\n },\n placeholder: t('EDITOR_PLACEHOLDER'),\n readOnly: false,\n theme: 'snow',\n });\n editor.on('text-change', () => {\n if (lockState) return;\n const { curNarrative } = attrs.getState();\n if (!curNarrative) return;\n curNarrative.desc = JSON.stringify(editor.getContents());\n updateNarrative(attrs, curNarrative);\n });\n if (curNarrative) {\n editor.setContents(\n curNarrative.desc ? JSON.parse(curNarrative.desc) : []\n );\n }\n },\n }),\n ],\n ]),\n ]);\n },\n };\n};\n","export const htmlTemplate = ({\n body,\n lang,\n css = cssTable,\n}: {\n body: string;\n lang: string;\n css?: string;\n}): string => `\n<!doctype html>\n<html lang=\"${lang}\">\n<head>\n ${css}\n</head>\n\n<body>\n ${body}\n</body>\n</html>\n`;\n\nexport const cssTable = `<style>\ntd, th {\n text-align: left;\n border: 1px solid black;\n padding: 0.5rem;\n}\nth {\n background-color:#999;\n}\ntable {\n font-family: Calibri;\n font-size: 11pt;\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0.5rem;\n}\n</style>`;\n","import m, { FactoryComponent } from 'mithril';\nimport {\n Dashboards,\n DataModel,\n ID,\n Narrative,\n ScenarioComponent,\n} from '../models';\nimport { MeiosisComponent, i18n, setPage, t } from '../services';\nimport {\n Select,\n ISelectOptions,\n FlatButton,\n InputCheckbox,\n uniqueId,\n} from 'mithril-materialized';\nimport { deepCopy } from 'mithril-ui-form';\nimport Quill from 'quill';\nimport { generateWord } from 'quill-to-word';\nimport {\n createCircleSVG,\n modelToSaveName,\n narrativesToOptions,\n svgToDataURI,\n trafficLight,\n} from '../utils';\nimport { htmlTemplate } from '../assets/html-styles';\nimport { ScenarioParagraph } from './ui/scenario-paragraph';\n\nconst CategoryTable: FactoryComponent<{\n curNarrative?: Narrative;\n comps?: ScenarioComponent[];\n}> = () => {\n let id: string;\n return {\n oninit: () => (id = uniqueId()),\n view: ({ attrs: { curNarrative = {} as Narrative, comps } }) => {\n const { components } = curNarrative;\n const lookup =\n comps &&\n comps.reduce((acc, cur) => {\n cur.values &&\n cur.values.forEach((v) => {\n acc[cur.id + v.id] = v.label;\n });\n return acc;\n }, {} as Record<string, string>);\n return [\n m('table.highlight', { id }, [\n m(\n 'thead',\n m('tr', [m('th', t('DIMENSION')), m('th', t('KEY_VALUE'))])\n ),\n m(\n 'tbody',\n components &&\n comps &&\n lookup &&\n comps\n .filter((c) => components[c.id])\n .map((c) => {\n return m('tr', [\n m('th', c.label),\n m(\n 'td',\n components[c.id].map((id) => lookup[c.id + id]).join(', ')\n ),\n ]);\n })\n ),\n ]),\n\n m(FlatButton, {\n label: t('COPY_TO_CLIPBOARD'),\n className: 'right',\n iconName: 'content_copy',\n onclick: () => {\n function listener(e: ClipboardEvent) {\n if (!e.clipboardData) return;\n const table = document.getElementById(id);\n if (!table) return;\n console.log(table.outerHTML);\n e.clipboardData.setData(\n 'text/html',\n htmlTemplate({\n body: table.outerHTML,\n lang: i18n.currentLocale,\n })\n );\n // e.clipboardData.setData('text/plain', md);\n e.preventDefault();\n }\n document.addEventListener('copy', listener);\n document.execCommand('copy');\n document.removeEventListener('copy', listener);\n },\n }),\n ];\n },\n };\n};\n\nexport const ShowScenarioPage: MeiosisComponent = () => {\n let editor: Quill;\n\n const exportToWord = async (model: DataModel, narrativeName?: string) => {\n const delta = editor.getContents();\n const blob = await generateWord(delta, {\n exportAs: 'blob',\n paragraphStyles: {\n normal: {\n paragraph: {\n spacing: {\n before: 0,\n after: 12,\n },\n },\n run: {\n font: 'Calibri',\n size: 24,\n },\n },\n },\n });\n\n const dlAnchorElem = document.getElementById('downloadAnchorElem');\n if (!dlAnchorElem) {\n return;\n }\n model.version = model.version ? model.version++ : 1;\n dlAnchorElem.setAttribute('href', URL.createObjectURL(blob as Blob));\n dlAnchorElem.setAttribute(\n 'download',\n `${modelToSaveName(model, narrativeName)}.docx`\n );\n dlAnchorElem.click();\n };\n\n return {\n oninit: ({ attrs }) => setPage(attrs, Dashboards.SHOW_SCENARIO),\n view: ({ attrs }) => {\n const { state } = attrs;\n const { model, curNarrative } = state;\n\n const {\n scenario: { template, categories = [], components: modelComps = [] },\n } = model;\n const multipleCategories = categories.length > 1;\n if (\n (!curNarrative || !curNarrative.saved) &&\n model.scenario.narratives &&\n model.scenario.narratives.length > 0\n ) {\n const newNarrative = model.scenario.narratives[0];\n attrs.update({\n curNarrative: () => deepCopy(newNarrative),\n });\n return;\n }\n\n const selectOptions = narrativesToOptions(model.scenario.narratives);\n\n return m('.show-scenario.row', [\n m('a#downloadAnchorElem', { style: 'display:none' }),\n m('.col.s12', { style: 'font-size: 24px' }, [\n model.scenario &&\n model.scenario.narratives &&\n model.scenario.narratives.length > 0 && [\n m(Select, {\n className: 'left mb0 mw30',\n label: t('SELECT_NARRATIVE'),\n checkedId:\n curNarrative && curNarrative.saved\n ? curNarrative.id\n : undefined,\n placeholder: t('i18n', 'pickOne'),\n options: selectOptions,\n onchange: (v) => {\n if (v && v.length > 0) {\n const newNarrative = model.scenario.narratives\n .filter((n) => n.id === v[0])\n .shift();\n if (newNarrative) {\n editor.setContents(\n newNarrative.desc ? JSON.parse(newNarrative.desc) : []\n );\n }\n attrs.update({\n curNarrative: () => deepCopy(newNarrative),\n lockedComps: () =>\n model.scenario.components.reduce((acc, cur) => {\n acc[cur.id] = true;\n return acc;\n }, {} as Record<ID, boolean>),\n });\n }\n },\n } as ISelectOptions<string>),\n curNarrative && [\n curNarrative.risk &&\n m('img[title=risk-status].right', {\n src: svgToDataURI(\n createCircleSVG(\n trafficLight[+curNarrative.risk.replace('risk_', '')],\n 48\n )\n ),\n }),\n m(FlatButton, {\n label: t('EXPORT2WORD'),\n iconName: 'download',\n className: 'right mt5',\n disabled: !curNarrative.desc,\n onclick: () => exportToWord(model, curNarrative.label),\n }),\n m(InputCheckbox, {\n checked: curNarrative.included,\n label: t('NARRATIVE_INCLUDED'),\n disabled: true,\n className: 'right',\n }),\n ],\n ],\n ]),\n curNarrative && [\n m(\n '.col.s12',\n {\n oncreate: () => {\n editor = new Quill('#editor', {\n modules: {\n toolbar: false,\n },\n readOnly: true,\n theme: 'snow',\n });\n editor.setContents(\n curNarrative.desc ? JSON.parse(curNarrative.desc) : []\n );\n },\n },\n [m('.col.s12', [m('#editor.row', {})])]\n ),\n template\n ? m(\n '.col.s12',\n m(ScenarioParagraph, {\n ...attrs,\n template,\n })\n )\n : '',\n m(\n '.col.s12',\n m('.row', [\n categories.map((category) => {\n const componentIds = category && category.componentIds;\n const comps =\n componentIds &&\n modelComps.filter((c) => componentIds.indexOf(c.id) >= 0);\n return m(\n '.col',\n {\n className: `s${12 / categories.length}`,\n },\n multipleCategories && m('h5', category.label),\n m(CategoryTable, { curNarrative, comps })\n );\n }),\n ])\n ),\n ],\n ]);\n },\n };\n};\n","import m from 'mithril';\nimport {\n Dashboards,\n DataModel,\n ID,\n Item,\n Narrative,\n ScenarioComponent,\n} from '../models';\nimport { MeiosisComponent, setPage, t } from '../services';\nimport { TableView } from './home-page';\nimport { range } from 'mithril-ui-form';\n\nexport const DecisionSupportPage: MeiosisComponent = () => {\n let comps: ScenarioComponent[];\n\n const toComponent = (\n id: string,\n label: string,\n values: Item[]\n ): ScenarioComponent => {\n const comp: ScenarioComponent = {\n id,\n label,\n values,\n };\n\n return comp;\n };\n\n const riskComponentIds = ['probability', 'impact', 'risk'];\n\n const setupComponents = (model: DataModel) => {\n const {\n scenario: { components, categories },\n } = model;\n comps = categories\n .filter((c) => c.decisionSupport)\n .reduce(\n (acc, c) => {\n acc.push(\n ...components.filter(\n (comp) => c.componentIds && c.componentIds.includes(comp.id)\n )\n );\n return acc;\n },\n [\n toComponent(\n 'probability',\n t('PROBABILITY'),\n range(0, 4).map((id) => ({\n id: `probability_${id}`,\n label: t('PROB5', id),\n }))\n ),\n toComponent(\n 'impact',\n t('IMPACT'),\n range(0, 4).map((id) => ({\n id: `impact_${id}`,\n label: t('IMP5', id),\n }))\n ),\n toComponent(\n 'risk',\n t('RISK'),\n range(0, 4).map((id) => ({\n id: `risk_${id}`,\n label: t('RISK5', id),\n }))\n ),\n ] as ScenarioComponent[]\n );\n };\n\n return {\n oninit: ({ attrs }) => {\n setPage(attrs, Dashboards.DECISION_SUPPORT);\n },\n // oncreate: () => {\n // const match = /#([a-zA-Z]*)/.exec(m.route.get());\n // if (match && match.length > 0) {\n // setTimeout(() => scrollToSection(match[1]), 100);\n // }\n // },\n view: ({ attrs }) => {\n const { model } = attrs.state;\n const {\n scenario: { narratives = [] },\n } = model;\n setupComponents(model);\n\n const selectedNarratives = narratives\n .filter((n) => n.included)\n .sort((a, b) => (a.label || '').localeCompare(b.label));\n\n /** Weights is a value between 1 (very low risk) and 5 (very high risk) */\n const weights = selectedNarratives\n .map((n) => n.risk || '0')\n .map((s) => +s.replace('risk_', '') + 1);\n\n const suggestedApproach: Narrative = {\n id: 'suggested_approach',\n included: true,\n saved: false,\n label: t('SUGGESTED_APPROACH', 'TITLE'),\n desc: t('SUGGESTED_APPROACH', 'DESC'),\n components: comps\n .filter((c) => !riskComponentIds.includes(c.id))\n .reduce((acc, c) => {\n const measures = selectedNarratives\n .map((n) => n.components && n.components[c.id])\n .reduce((acc, c, i) => {\n if (!c || c.length === 0) return acc;\n c.filter((c) => c).forEach((id) =>\n acc.set(id, (acc.get(id) || 0) + weights[i])\n );\n return acc;\n }, new Map<ID, number>());\n const highScore = Math.max(...Array.from(measures.values()));\n acc[c.id] = Array.from(measures.entries())\n .filter(([_, count]) => count === highScore)\n .map(([id, _]) => id);\n return acc;\n }, {} as { [key: ID]: ID[] }),\n };\n\n selectedNarratives.push(suggestedApproach);\n\n return m('.row.decision-support', [\n // categories.map((c) =>\n m(TableView, {\n ...attrs,\n narratives: selectedNarratives,\n components: comps,\n }),\n // ),\n ]);\n },\n };\n};\n","import m, { RouteDefs } from 'mithril';\nimport { Dashboards, IDashboard } from '../models';\nimport { Layout } from '../components/layout';\nimport {\n AboutPage,\n CreateBoxPage,\n CreateScenarioPage,\n DecisionSupportPage,\n HomePage,\n SettingsPage,\n ShowScenarioPage,\n} from '../components';\nimport { cells } from './state-mgmt';\nimport { t } from './translations';\n\nclass RoutingService {\n private dashboards!: ReadonlyArray<IDashboard>;\n\n constructor() {}\n\n public init() {\n const routes: IDashboard[] = [\n {\n id: Dashboards.HOME,\n icon: 'home',\n title: t('HOME', 'TITLE'),\n route: t('HOME', 'ROUTE'),\n visible: true,\n default: true,\n component: HomePage,\n },\n {\n id: Dashboards.DEFINE_BOX,\n icon: 'grid_view',\n title: t('DEFINE_BOX', 'TITLE'),\n route: t('DEFINE_BOX', 'ROUTE'),\n visible: true,\n component: CreateBoxPage,\n },\n {\n id: Dashboards.CREATE_SCENARIO,\n icon: 'edit',\n title: t('CREATE_SCENARIO', 'TITLE'),\n route: t('CREATE_SCENARIO', 'ROUTE'),\n visible: true,\n component: CreateScenarioPage,\n },\n {\n id: Dashboards.DECISION_SUPPORT,\n icon: 'assistant_direction',\n title: t('DECISION_SUPPORT', 'TITLE'),\n route: t('DECISION_SUPPORT', 'ROUTE'),\n visible: (scenario) =>\n scenario ? scenario.includeDecisionSupport : false,\n component: DecisionSupportPage,\n },\n {\n id: Dashboards.SHOW_SCENARIO,\n icon: 'visibility',\n title: t('SHOW_SCENARIO', 'TITLE'),\n route: t('SHOW_SCENARIO', 'ROUTE'),\n visible: true,\n component: ShowScenarioPage,\n },\n {\n id: Dashboards.ABOUT,\n icon: 'info',\n title: t('ABOUT', 'TITLE'),\n route: t('ABOUT', 'ROUTE'),\n visible: true,\n component: AboutPage,\n },\n {\n id: Dashboards.SETTINGS,\n icon: 'settings',\n iconClass: 'blue-text',\n title: t('SETTINGS', 'TITLE'),\n route: t('SETTINGS', 'ROUTE'),\n visible: true,\n component: SettingsPage,\n },\n ];\n // console.log(JSON.stringify(routes, null, 2));\n this.setList(routes);\n // console.log(JSON.stringify(this.dashboards, null, 2));\n }\n\n public getList() {\n return this.dashboards;\n }\n\n public setList(list: IDashboard[]) {\n this.dashboards = Object.freeze(list);\n }\n\n public get defaultRoute() {\n const dashboard = this.dashboards.filter((d) => d.default).shift();\n return dashboard ? dashboard.route : this.dashboards[0].route;\n }\n\n public route(\n dashboardId: Dashboards,\n query?: { [key: string]: string | number | undefined }\n ) {\n const dashboard = this.dashboards\n .filter((d) => d.id === dashboardId)\n .shift();\n return dashboard\n ? '#!' + dashboard.route + (query ? '?' + m.buildQueryString(query) : '')\n : this.defaultRoute;\n }\n\n public href(dashboardId: Dashboards, params = '' as string | number) {\n const dashboard = this.dashboards\n .filter((d) => d.id === dashboardId)\n .shift();\n return dashboard\n ? `#!${dashboard.route.replace(/:\\w*/, '')}${params}`\n : this.defaultRoute;\n }\n\n public switchTo(\n dashboardId: Dashboards,\n params?: { [key: string]: string | number | undefined },\n query?: { [key: string]: string | number | undefined }\n ) {\n const dashboard = this.dashboards\n .filter((d) => d.id === dashboardId)\n .shift();\n if (dashboard) {\n const url =\n dashboard.route + (query ? '?' + m.buildQueryString(query) : '');\n m.route.set(url, params);\n }\n }\n\n public routingTable() {\n return this.dashboards.reduce((p, c) => {\n p[c.route] =\n c.hasNavBar === false\n ? {\n render: () => m(c.component, cells()),\n }\n : {\n // onmatch:\n // c.id === Dashboards.LOGIN\n // ? undefined\n // : () => {\n // if (c.id !== Dashboards.HOME && !Auth.isLoggedIn()) m.route.set('/login');\n // },\n render: () => m(Layout, cells(), m(c.component, cells())),\n };\n return p;\n }, {} as RouteDefs);\n }\n}\n\nexport const routingSvc: RoutingService = new RoutingService();\n","import m from 'mithril';\nimport 'material-icons/iconfont/filled.css';\nimport 'materialize-css/dist/css/materialize.min.css';\nimport 'materialize-css/dist/js/materialize.min.js';\nimport './css/style.css';\nimport 'quill/dist/quill.snow.css';\nimport { routingSvc } from './services/routing-service';\nimport { Languages, i18n } from './services';\nimport { LANGUAGE, SAVED } from './utils';\n\nwindow.onbeforeunload = (e) => {\n if (localStorage.getItem(SAVED) === 'true') return;\n localStorage.setItem(SAVED, 'true');\n e.preventDefault(); // This is necessary for older browsers\n e.returnValue = ''; // For modern browsers\n};\n\ni18n.addOnChangeListener((_locale: string) => {\n console.log(`Language loaded`);\n routingSvc.init();\n m.route(document.body, routingSvc.defaultRoute, routingSvc.routingTable());\n});\ni18n.init(\n {\n en: { name: 'English', fqn: 'en-UK', default: true },\n nl: { name: 'Nederlands', fqn: 'nl-NL' },\n },\n (window.localStorage.getItem(LANGUAGE) || 'nl') as Languages\n);\n"],"names":["root","factory","self","modules","installedModules","moduleId","module","exports","name","getter","Object","object","property","__export","m","p","g","Function","eval","e","window","pna","objectKeys","obj","keys","key","Duplex","util","Readable","Writable","v","method","options","onend","onEndNT","undefined","value","err","cb","global","base64","ieee754","isArray","Buffer","length","typedArraySupport","arr","Uint8Array","kMaxLength","createBuffer","that","RangeError","arg","encodingOrOffset","Error","allocUnsafe","from","TypeError","ArrayBuffer","fromArrayBuffer","array","byteOffset","fromArrayLike","fromString","string","encoding","byteLength","actual","fromObject","len","checked","isnan","val","assertSize","size","Symbol","i","fill","loweredCase","utf8ToBytes","base64ToBytes","slowToString","start","end","hexSlice","buf","out","toHex","n","utf8Slice","asciiSlice","ret","Math","String","latin1Slice","base64Slice","utf16leSlice","bytes","res","swap","b","bidirectionalIndexOf","buffer","dir","isNaN","arrayIndexOf","indexSize","arrLength","valLength","read","foundIndex","found","j","a","x","y","list","pos","arguments","str","max","target","thisStart","thisEnd","thisCopy","targetCopy","asciiWrite","offset","blitBuffer","asciiToBytes","isFinite","remaining","hexWrite","Number","strLen","parsed","parseInt","latin1Write","utf16leToBytes","units","c","hi","lo","byteArray","Array","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","codePoints","checkOffset","ext","checkInt","min","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","mul","maxBytes","limit","sub","targetStart","code","INVALID_BASE64_RE","Infinity","leadSurrogate","base64clean","stringtrim","src","dst","ctor","superCtor","TempCtor","__webpack_require__","SpaceType","xml_components_1","emphasis_mark_1","formatting_1","run_fonts_1","script_1","style_1","underline_1","RunProperties","szCs","highlightCs","shading","shdCs","item","DocumentAttributes","cachedSetTimeout","cachedClearTimeout","currentQueue","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","runClearTimeout","marker","Item","noop","args","objectToString","re","d","o","fn","arg1","arg2","arg3","copyProps","SafeBuffer","PageNumber","break_1","field_1","page_number_1","properties_1","text_1","Run","child","FieldCharacterType","FidCharAttrs","Begin","dirty","Separate","End","UnderlineType","BaseUnderline","underlineType","color","Underline","DashUnderline","DashDotDotHeavyUnderline","DashDotHeavyUnderline","DashLongUnderline","DashLongHeavyUnderline","DotDashUnderline","DotDotDashUnderline","DottedUnderline","DottedHeavyUnderline","DoubleUnderline","SingleUnderline","ThickUnderline","WaveUnderline","WavyDoubleUnderline","WavyHeavyUnderline","WordsUnderline","alphabet","previousSeed","shuffled","randomFromSeed","ORIGINAL","reset","setCharacters","_alphabet_","unique","ind","getShuffled","shuffle","characterIndex","sourceArray","targetArray","r","seed","index","alphabetShuffled","alignment_1","bidirectional_1","border_1","indent_1","keep_1","page_break_1","spacing_1","tab_stop_1","unordered_list_1","links_1","ParagraphProperties","tabStop","math_beginning_character_1","math_ending_char_1","MathBracketProperties","LevelFormat","LevelSuffix","properties_2","LevelAttributes","Start","NumberFormat","LevelText","LevelJc","Suffix","LevelBase","level","format","text","alignment","style","suffix","Level","LevelForOverride","BaseXmlComponent","rootKey","xml2js","xml2json","js2xml","json2xml","ReflectOwnKeys","R","Reflect","ReflectApply","receiver","NumberIsNaN","EventEmitter","defaultMaxListeners","$getMaxListeners","_addListener","type","listener","prepend","events","existing","warning","w","console","onceWrapper","_onceWrap","state","wrapped","_listeners","unwrap","evlistener","unwrapListeners","arrayClone","listenerCount","copy","doError","er","handler","listeners","position","originalListener","spliceOne","emitter","setImmediate","realHasInstance","CorkedRequest","_this","onCorkedFinish","corkReq","entry","asyncWrite","WritableState","internalUtil","Stream","OurUint8Array","destroyImpl","nop","stream","isDuplex","hwm","writableHwm","defaultHwm","noDecode","onwrite","sync","onwriteError","finishMaybe","finished","needFinish","clearBuffer","afterWrite","current","_","chunk","valid","isBuf","writeAfterEnd","writeOrBuffer","newChunk","last","doWrite","writev","onwriteDrain","holder","count","allBuffers","callFinal","endWritable","need","isEncoding","StringDecoder","nb","normalizeEncoding","enc","nenc","_normalizeEncoding","retried","utf16Text","utf16End","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","utf8CheckByte","byte","total","utf8CheckIncomplete","utf8CheckExtraBytes","EmphasisMarkType","BaseEmphasisMark","emphasisMarkType","EmphasisMark","DotEmphasisMark","RunFontAttributes","RunFonts","nameOrAttrs","hint","HorizontalPositionRelativeFrom","VerticalPositionRelativeFrom","HorizontalPositionAlign","VerticalPositionAlign","VerticalMergeType","VerticalAlign","TextDirection","WidthType","CellBorderAttributes","BaseTableCellBorder","attrs","TableCellBorders","top","bottom","left","right","GridSpanAttributes","GridSpan","VerticalMergeAttributes","VerticalMerge","VAlignAttributes","VAlign","TDirectionAttributes","TDirection","TableCellWidthAttributes","TableCellWidth","components_1","StyleAttributes","Style","attributes","ComponentAttributes","Name","BasedOn","Next","Link","UiPriority","UnhideWhenUsed","QuickFormat","TableProperties","RsId","SemiHidden","paragraph_1","StyleForParagraph","StyleForCharacter","millimeters","inches","PageOrientation","PageSizeAttributes","footer_1","relationships_1","FooterWrapper","media","referenceId","initContent","childElement","TargetModeType","relationship_attributes_1","Relationship","id","targetMode","header_1","HeaderWrapper","AlignmentType","AlignmentAttributes","Alignment","base_1","XmlAttributeComponent","properties","currentElement","sax","expat","helper","nativeType","nValue","bValue","addField","temp","element","manipulateAttributes","onInstruction","instruction","match","attrsRegExp","onStartElement","onText","onComment","comment","onEndElement","parentElement","onCdata","cdata","onDoctype","doctype","onError","error","xml","userOptions","parser","result","toString","EE","inherits","dest","source","ondata","ondrain","onclose","didOnEnd","onerror","cleanup","ReadableState","EElistenerCount","debugUtil","debug","BufferList","kProxyEvents","readableHwm","readableAddChunk","addToFront","skipChunkCheck","onEofChunk","emitReadable","chunkInvalid","addChunk","maybeReadMore","needMoreData","howMuchToRead","nOrig","endReadable","doRead","fromList","emitReadable_","flow","maybeReadMore_","pipeOpts","endFn","doEnd","unpipe","onunpipe","readable","unpipeInfo","onfinish","cleanedUp","pipeOnDrain","increasedAwaitDrain","indexOf","prependListener","event","nReadingNextTick","dests","ev","resume","resume_","fromListPartial","hasStrings","copyFromBufferString","copyFromBuffer","paused","endReadableNT","xs","l","emitErrorNT","readableDestroyed","writableDestroyed","scope","apply","Timeout","clearFn","setInterval","clearInterval","msecs","Transform","afterTransform","data","ts","rs","prefinish","done","_this2","err2","currentElementName","writeIndentation","depth","firstLine","writeAttributes","attr","attrName","quote","writeDeclaration","declaration","writeInstruction","instructionName","instructionValue","writeComment","writeCdata","writeDoctype","writeText","writeElements","elements","elementName","withClosingTag","indent","hasContent","hasContentCompact","anyContent","writeElementsCompact","nodes","writeElementCompact","js","border_attributes_1","BorderProperty","Border","borderProperty","ThematicBreak","IndentAttributes","Indent","KeepLines","KeepNext","run_1","Break","PageBreak","PageBreakBefore","Bold","BoldComplexScript","CharacterSpacing","Italics","ItalicsComplexScript","Caps","Color","DoubleStrike","Emboss","Imprint","SmallCaps","Strike","Size","SizeComplexScript","RightToLeft","Highlight","HighlightComplexScript","Shading","ShadowComplexScript","SuperScript","SubScript","styleId","space_type_1","TextAttributes","Text","Align","PositionOffset","offsetValue","doc_properties_attributes_1","DocProperties","effect_extent_attributes_1","EffectExtent","extent_attributes_1","Extent","graphic_frame_locks_1","GraphicFrameProperties","AnchorAttributes","SpacingAttributes","Spacing","ContextualSpacing","HeadingLevel","TabStopType","LeaderType","TabStopPosition","TabStop","leader","TabStopItem","TabAttributes","NumberProperties","numberId","indentLevel","IndentLevel","NumberId","MathDenominator","children","MathNumerator","MathAccentCharacterAttributes","MathAccentCharacter","accent","MathBase","MathLimitLocationAttributes","MathLimitLocation","math_accent_character_1","math_limit_location_1","math_sub_script_hide_1","math_super_script_hide_1","MathNArayProperties","hasSuperScript","hasSubScript","MathSubScriptElement","MathSuperScriptElement","MathSuperScriptProperties","MathSubScriptProperties","MathSubSuperScriptProperties","MathPreSubSuperScriptProperties","MathDegree","math_degree_hide_1","MathRadicalProperties","hasDegree","MathFunctionName","MathFunctionProperties","styles_1","TableBorders","TableBordersElement","space","TableBordersAttributes","ParagraphPropertiesDefaults","RunPropertiesDefaults","TableAnchorType","RelativeHorizontalPosition","RelativeVerticalPosition","table_overlap_1","TableFloatOptionsAttributes","TableFloatProperties","OverlapType","TableOverlapAttributes","TableOverlap","TableLayoutType","TableLayoutAttributes","TableLayout","table_row_height_1","TableRowProperties","CantSplit","TableHeader","height","rule","CantSplitAttributes","TableHeaderAttributes","HeightRule","TableRowHeightAttributes","TableRowHeight","convenience_functions_1","columns_1","doc_grid_1","footer_reference_1","footer_reference_2","header_reference_1","header_reference_2","line_number_1","page_border_1","page_margin_1","page_size_1","page_size_attributes_1","title_page_1","vertical_align_1","SectionProperties","width","header","footer","gutter","mirror","column","linePitch","orientation","headers","footers","pageNumberFormatType","pageNumberStart","lineNumberCountBy","lineNumberStart","lineNumberRestart","lineNumberDistance","pageBorders","pageBorderTop","pageBorderRight","pageBorderBottom","pageBorderLeft","titlePage","verticalAlign","footer_reference_attributes_1","FooterReference","FooterReferenceType","FooterReferenceAttributes","header_reference_attributes_1","HeaderReference","HeaderReferenceType","HeaderReferenceAttributes","PageSize","flip","SectionVerticalAlignAttributes","Header","Footer","level_1","multi_level_type_1","AbstractNumberingAttributes","AbstractNumbering","levelOptions","option","AbstractNumId","NumAttributes","ConcreteNumbering","numId","abstractNumId","reference","num","olvl","LevelOverride","LevelOverrideAttributes","levelNum","StartOverride","StartOverrideAttributes","UpdateFieldsAttributes","UpdateFields","enabled","ChangeAttributes","require","t","s","h","u","f","Promise","Uint16Array","Uint32Array","A","O","I","k","S","z","C","B","E","Date","Blob","FileReader","Int32Array","T","D","F","N","U","P","L","Z","W","M","H","G","K","Y","X","V","q","J","file_1","XmlComponent","file","comp","IgnoreIfEmptyXmlComponent","default_attributes_1","Attributes","xml_js_1","_1","convertToXmlComponent","xmlComponent","ImportedXmlComponent","childElm","ImportedXmlComponentAttributes","importedContent","_attr","ImportedRootElementAttributes","strict","opt","SAXParser","SAXStream","stringFromCharCode","floor","fromCodePoint","buffers","clearBuffers","rootNS","emit","charAt","beginWhiteSpace","returnState","starti","isWhitespace","strictFail","isMatch","nameStart","emitNode","isQuote","textopts","nameBody","newTag","parent","tag","openTag","closeTag","attrib","parseEntity","entity","entityLC","numStr","entityBody","entityStart","checkBufferLength","maxAllowed","maxActual","closeText","ex","streamWraps","me","SD","XML_NAMESPACE","XMLNS_NAMESPACE","regex","nodeType","message","qname","attribute","qualName","prefix","local","qn","selfClosing","JSON","nv","uri","tagName","closeTo","close","highSurrogate","lowSurrogate","codeUnits","b64","lens","getLens","validLen","placeHoldersLen","tmp","Arr","curByte","revLookup","uint8","extraBytes","parts","len2","encodeChunk","output","lookup","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","_classCallCheck","instance","Constructor","copyBuffer","messagePrefix","onGlobalMessage","channel","html","registerImmediate","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","handle","runIfPresent","canUsePostMessage","postMessageIsAsynchronous","oldOnMessage","MessageChannel","script","callback","task","clearImmediate","run","msg","config","warned","PassThrough","json","parentKey","InitializableXmlComponent","initComponent","BorderAttributes","Page","NumberOfPages","NumberOfPagesSection","TextRun","symbol_1","SymbolRun","SymbolAttributes","char","symbolfont","drawing_1","PictureRun","imageData","drawingOptions","drawing","anchor_1","inline_1","Drawing","factorX","factorY","floating_1","graphic_1","text_wrap_1","doc_properties_1","effect_extent_1","extent_1","graphic_frame_properties_1","anchor_attributes_1","Anchor","mediaData","dimensions","floating","SimplePosAttributes","SimplePos","align_1","floating_position_1","position_offset_1","HorizontalPositionAttributes","HorizontalPosition","horizontalPosition","VerticalPositionAttributes","VerticalPosition","verticalPosition","graphic_data_1","GraphicAttributes","Graphic","graphic_data_attribute_1","pic_1","GraphicData","GraphicDataAttributes","blip_fill_1","non_visual_pic_properties_1","pic_attributes_1","shape_properties_1","Pic","blip_1","source_rectangle_1","stretch_1","BlipFill","BlipAttributes","Blip","SourceRectangle","FillRectangle","Stretch","child_non_visual_pic_properties_1","non_visual_properties_1","NonVisualPicProperties","pic_locks_1","ChildNonVisualProperties","pic_locks_attributes_1","PicLocks","PicLocksAttributes","non_visual_properties_attributes_1","NonVisualProperties","NonVisualPropertiesAttributes","PicAttributes","form_1","preset_geometry_1","shape_properties_attributes_1","ShapeProperties","extents_1","off_1","Form","extents_attributes_1","Extents","ExtentsAttributes","off_attributes_1","Offset","OffsetAttributes","adjustment_values_1","preset_geometry_attributes_1","PresetGeometry","AdjustmentValues","PresetGeometryAttributes","ShapePropertiesAttributes","TextWrappingType","TextWrappingSide","WrapNone","WrapSquareAttributes","WrapSquare","textWrapping","margins","WrapTightAttributes","WrapTight","WrapTopAndBottomAttributes","WrapTopAndBottom","DocPropertiesAttributes","EffectExtentAttributes","ExtentAttributes","graphic_frame_lock_attributes_1","GraphicFrameLocks","GraphicFrameLockAttributes","inline_attributes_1","Inline","newX","newY","InlineAttributes","sequential_identifier_instruction_1","SequentialIdentifier","identifier","SequentialIdentifierInstruction","Tab","Paragraph","HyperlinkType","hyperlink_attributes_1","HyperlinkRef","Hyperlink","relationshipId","anchor","props","HyperlinkAttributes","shortid","bookmark_attributes_1","Bookmark","linkId","BookmarkStart","BookmarkEnd","build","isValid","clusterWorkerId","generate","seedValue","workerId","newCharacters","_seed_","counter","previousSeconds","seconds","random","number","loopCounter","randomByte","crypto","mask","step","nonAlphabetic","RegExp","BookmarkStartAttributes","BookmarkEndAttributes","OutlineLevel","Bidirectional","math_text_1","MathRun","MathText","math_denominator_1","math_numerator_1","MathFraction","MathSubScriptHideAttributes","MathSubScriptHide","MathSuperScriptHideAttributes","MathSuperScriptHide","math_base_1","math_naray_properties_1","math_sub_script_1","math_super_script_1","MathSum","n_ary_1","math_super_script_function_properties_1","MathSuperScript","math_sub_script_function_properties_1","MathSubScript","math_sub_super_script_function_properties_1","MathSubSuperScript","math_pre_sub_super_script_function_properties_1","MathPreSubSuperScript","math_degree_1","math_radical_properties_1","MathRadical","MathDegreeHideAttributes","MathDegreeHide","math_function_name_1","math_function_properties_1","MathFunction","math_bracket_properties_1","MathRoundBrackets","MathBeginningCharacterAttributes","MathBeginningCharacter","character","MathEndingCharacterAttributes","MathEndingCharacter","MathSquareBrackets","MathCurlyBrackets","MathAngledBrackets","grid_1","table_cell_1","table_properties_1","Table","rows","columnWidths","row","marginUnitType","float","layout","borders","rowIndex","columnIndex","cell","continueCell","TableGrid","widths","GridCol","GridColAttributes","table_cell_components_1","table_cell_properties_1","TableCell","shading_1","table_cell_margins_1","TableCellProperties","cellSpan","ShadingType","TableShadingAttributes","TableShading","cell_margin_1","TableCellMargin","CellMarginAttributes","TopCellMargin","BottomCellMargin","LeftCellMargin","RightCellMargin","table_borders_1","table_cell_margin_1","table_float_properties_1","table_layout_1","table_width_1","borderOptions","tableFloatOptions","Styles","character_style_1","paragraph_style_1","HeadingStyle","TitleStyle","Heading1Style","Heading2Style","Heading3Style","Heading4Style","Heading5Style","Heading6Style","StrongStyle","ListParagraph","FootnoteText","FootnoteReferenceStyle","FootnoteTextChar","HyperlinkStyle","BorderStyle","paragraph_properties_1","run_properties_1","DocumentDefaults","TableCellMarginAttributes","BaseTableCellMargin","TableWidthAttributes","PreferredTableWidth","table_row_properties_1","TableRow","rootIndex","colIdx","rootIdx","allowEndNewCell","app_properties_1","content_types_1","core_properties_1","document_1","section_properties_1","footer_wrapper_1","footnotes_1","header_wrapper_1","media_1","numbering_1","relationship_1","settings_1","external_styles_factory_1","factory_1","File","fileProperties","sections","stylesFactory","defaultStyles","templateHeader","templateFooter","section","hyperlink","paragraph","cache","hyperlinkRef","link","wrapper","app_properties_attributes_1","AppProperties","AppPropertiesAttributes","content_types_attributes_1","default_1","override_1","ContentTypes","ContentTypeAttributes","Default","contentType","extension","DefaultAttributes","override_attributes_1","Override","partName","OverrideAttributes","document_attributes_1","CoreProperties","Title","Subject","Creator","Keywords","Description","LastModifiedBy","Revision","DateComponent","date","year","month","day","hours","minutes","Created","Modified","body_1","document_background_1","Document","__1","Body","currentSection","component","columns_attributes_1","Columns","ColumnsAttributes","doc_grid_attributes_1","DocumentGrid","DocGridAttributes","LineNumberRestartFormat","LineNumberAttributes","LineNumberType","countBy","restart","dist","PageBorderDisplay","PageBorderOffsetFrom","PageBorderZOrder","PageBordeAttributes","PageBorder","PageBordersAttributes","PageBorders","pageBordersAttributes","page_margin_attributes_1","PageMargin","PageMarginAttributes","PageNumberFormat","PageNumberTypeAttributes","PageNumberType","numberFormat","title_page_attributes_1","TitlePage","TitlePageAttributes","SectionVerticalAlignValue","vertical_align_attributes_1","SectionVerticalAlign","DocumentBackgroundAttributes","DocumentBackground","footer_attributes_1","referenceNumber","FooterAttributes","attributes_1","Relationships","relationship","RelationshipsAttributes","RelationshipAttributes","footnote_1","continuation_seperator_run_1","seperator_run_1","footnotes_attributes_1","FootNotes","begin","spacing","footnote","FootnoteType","footnote_attributes_1","footnote_ref_run_1","Footnote","FootnoteAttributes","footnote_ref_1","FootnoteRefRun","FootnoteRef","continuation_seperator_1","ContinuationSeperatorRun","ContinuationSeperator","seperator_1","SeperatorRun","Seperator","FootnotesAttributes","FootNoteReferenceRunAttributes","FootnoteReference","FootnoteReferenceRun","header_attributes_1","HeaderAttributes","Media","Map","filePath","dataURI","BASE64_MARKER","base64Index","atob","abstract_numbering_1","num_1","Numbering","abstractNumbering","con","currentAbstractNumbering","MultiLevelType","compatibility_1","display_background_shape_1","track_revisions_1","update_fields_1","SettingsAttributes","Settings","DoNotExpandShiftReturn","Compatibility","DisplayBackgroundShape","TrackRevisions","ExternalStylesFactory","xmlData","stylesXmlElement","xmlElm","xmlObj","stylesElements","defaults_1","DefaultStylesFactory","field_instruction_1","sdt_content_1","sdt_properties_1","TableOfContents","alias","content","beginParagraph","endParagraph","FieldInstruction","styles","sl","StructuredDocumentTagContent","alias_1","StructuredDocumentTagProperties","AliasAttributes","Alias","StyleLevel","styleName","index_1","track_revision_1","InsertedTextRun","deleted_page_number_1","deleted_text_1","DeletedTextRun","DeletedTextRunWrapper","DeletedPage","DeletedNumberOfPages","DeletedNumberOfPagesSection","DeletedText","__awaiter","thisArg","_arguments","generator","resolve","reject","fulfilled","rejected","next_compiler_1","Packer","prettify","zip","JSZip","formatter_1","image_replacer_1","numbering_replacer_1","Compiler","prettifyXml","xmlifiedFileMapping","subFile","documentRelationshipCount","documentXmlData","documentMediaDatas","headerWrapper","mediaDatas","footerWrapper","tempXmlData","escapeForXML","indent_count","isStringContent","indent_spaces","values","get_attributes","_name","append","elem","proceed","interrupt","input","interrupted","instant","delay","func","add","XML_CHARACTER_MAP","Formatter","ImageReplacer","currentXmlData","image","NumberingReplacer","concreteNumberings","concreteNumbering","RelationshipType","schemeToType","ImportDotx","zipContent","documentContent","relationshipContent","documentRefs","documentRelationships","startingRelationshipId","relationshipFileInfo","rel","xmlElement","acc","importedComp","relationhipFile","refFile","xmlRef","wrapperImagesReferences","hyperLinkReferences","relationXmlArray","headersXmlArray","footersXmlArray","sectionProp","headerProps","footerProps","has","Events","context","once","addListener","evt","clearEvent","names","handlers","ee","a1","a2","a3","a4","a5","diff_main","text1","text2","cursor_pos","_fix_unicode","editdiff","find_cursor_edit_diff","oldText","newText","oldRange","newRange","oldLength","newLength","oldCursor","oldBefore","oldAfter","maybeNewCursor","editBefore","newCursor","newBefore","newAfter","prefixLength","oldPrefix","newPrefix","oldMiddle","newMiddle","make_edit_splice","editAfter","suffixLength","oldSuffix","newSuffix","replaceRange","commonlength","diff_commonPrefix","commonprefix","diff_commonSuffix","commonsuffix","diffs","diff_compute_","longtext","shorttext","hm","diff_halfMatch_","text1_a","text1_b","text2_a","text2_b","diff_halfMatchI_","best_longtext_a","best_longtext_b","best_shorttext_a","best_shorttext_b","best_common","hm1","hm2","mid_common","diffs_a","diffs_b","diff_bisect_","text1_length","text2_length","max_d","v_length","v1","v2","v_offset","delta","front","k1start","k1end","k2start","k2end","k1","x1","k1_offset","y1","k2_offset","x2","diff_bisectSplit_","k2","y2","diff_cleanupMerge","diff_cleanupSemantic","changes","equalities","equalitiesLength","lastequality","pointer","length_insertions1","length_deletions1","length_insertions2","length_deletions2","diff_cleanupSemanticLossless","diff_cleanupSemanticScore_","one","two","char1","char2","nonAlphaNumeric1","nonAlphaNumericRegex_","nonAlphaNumeric2","whitespace1","whitespaceRegex_","whitespace2","lineBreak1","linebreakRegex_","lineBreak2","blankLine1","blanklineEndRegex_","blankLine2","blanklineStartRegex_","equality1","edit","equality2","commonOffset","commonString","bestEquality1","bestEdit","bestEquality2","bestScore","score","deletion","insertion","overlap_length1","diff_commonOverlap_","overlap_length2","text1a","text2a","text1b","text2b","diffsb","pointermin","pointermax","pointermid","pointerstart","is_surrogate_pair_start","text_length","best","pattern","pointerend","is_surrogate_pair_end","fix_unicode","count_delete","count_insert","text_delete","text_insert","previous_equality","ends_with_pair_start","stray","starts_with_pair_end","charCode","before","after","remove_empty_tuples","tuples","diff","uid","HASH_UNDEFINED","argsTag","boolTag","dateTag","funcTag","genTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reFlags","reIsHostCtor","reIsUint","cloneableTags","freeGlobal","freeSelf","freeExports","freeModule","moduleExports","addMapEntry","map","pair","addSetEntry","set","arrayReduce","iteratee","accumulator","initAccum","isHostObject","mapToArray","overArg","transform","setToArray","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","funcToString","hasOwnProperty","reIsNative","getPrototype","objectCreate","propertyIsEnumerable","splice","nativeGetSymbols","nativeIsBuffer","nativeKeys","DataView","getNative","Set","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","Hash","entries","ListCache","MapCache","assocIndexOf","Stack","getMapData","pairs","LARGE_ARRAY_SIZE","assignValue","objValue","eq","cloneArrayBuffer","arrayBuffer","copyObject","customizer","newValue","isKeyable","baseIsNative","isObject","isMasked","isFunction","getSymbols","getTag","Ctor","ctorString","isPrototype","other","isArrayLike","isLength","isBuffer","arrayLikeKeys","inherited","isArguments","isArrayLikeObject","isObjectLike","baseTimes","skipIndexes","isIndex","baseKeys","baseClone","isDeep","isFull","stack","isArr","initCloneArray","copyArray","isFunc","cloneBuffer","initCloneObject","proto","copySymbols","initCloneByTag","cloneFunc","dataView","typedArray","regexp","symbol","stacked","getAllKeys","keysFunc","symbolsFunc","arrayPush","arrayEach","subValue","arrayTag","errorTag","typedArrayTags","freeProcess","nodeUtil","nodeIsTypedArray","nativeObjectToString","symToStringTag","SetCache","baseGetTag","getRawTag","isOwn","unmasked","baseIsArguments","equalArrays","bitmask","equalFunc","isPartial","othLength","seen","arrValue","othValue","compared","arraySome","predicate","othIndex","arrayFilter","resIndex","isTypedArray","isArg","isBuff","isType","baseIsEqual","baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalByTag","convert","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","objProps","objLength","othProps","skipCtor","objCtor","othCtor","_get","_createClass","_possibleConstructorReturn","ReferenceError","_inherits","document","parseFloat","$","encodeURIComponent","Component","Element","cash","NodeList","define","jQuery","getComputedStyle","getTime","$jscomp","$jscomp$this","HTMLCollection","SVGElement","Float32Array","requestAnimationFrame","cancelAnimationFrame","location","HTMLElement","navigator","setup_1","__importDefault","mod","simple_stream_1","util_1","mergerino_1","assoc","prop","concatIfPresent","assembleInitialState","nestedComponents","getInitialState","app","assembleView","nestedApp","view","getView","assembleServices","getCell","getState","_a","nextGetCell","nextGetState","service","getServices","baseSetup","safeApp","initial","createStream","scan","update","states","patch","nestPatch","nestUpdate","parentUpdate","nestCell","components","nestedStates","getNestedState","nestedUpdate","nest","dropRepeats","mapFunctions","latestValue","createdStream","mapFunction","newStream","mappedFunction","_value","idx","sourceStream","accumulated","onchange","prev","next","path","intoPath","toPath","pathOrProp","updateParseValue","parseFn","Vnode","render","schedule","subscriptions","pending","redraw","buildPathname","parsePathname","compileTemplate","censor","sentinel","decodeURIComponentSave","decodeURIComponent","$window","mountRedraw","callAsync","scheduled","ready","compiled","fallbackRoute","currentPath","lastUpdate","currentResolver","RouterRoot","fireAsync","resolveRoute","vnode","SKIP","route","setPath","loop","payload","matchedRoute","localComp","title","defaultRoute","routes","SyntaxError","defaultData","onclick","href","Boolean","hyperscript","request","domFor","buildQueryString","template","params","queryIndex","hashIndex","queryEnd","pathEnd","query","resolved","variadic","newQueryIndex","newHashIndex","newQueryEnd","newPathEnd","querystring","templateData","templateKeys","extra","parseQueryString","url","destructure","counters","levels","cursor","nextLevel","isNumber","desc","delayedRemoval","dom","domSize","generation","nextSibling","hyperscriptVnode","hasOwn","selectorParser","selectorCache","selector","hasClass","className","compileSelector","classes","attrValue","isEmpty","df","currentRedraw","currentRender","currentDOM","nameSpace","getDocument","getNameSpace","checkState","original","callHook","activeElement","createNodes","vnodes","hooks","ns","createNode","initLifecycle","createText","insertDOM","createHTML","createFragment","fragment","createElement","is","setAttrs","setAttr","maybeSetContentEditable","setLateSelectAttrs","normalized","createComponent","possibleParents","updateNodes","old","removeNodes","isOldKeyed","isKeyed","oldStart","oe","ve","topSibling","oldEnd","updateNode","getNextSibling","moveDOM","lisIndices","originalNextSibling","vnodesLength","oldIndices","li","matched","getKeyMap","oldIndex","makeLisIndices","il","lisTemp","commonLength","removeNode","oldTag","shouldNotUpdate","force","updateLifecycle","updateText","updateHTML","removeDOM","updateFragment","updateElement","updateAttrs","removeAttr","isLifecycleMethod","updateEvent","updateStyle","hasPropertyKey","nsLastIndex","updateComponent","stateResult","attrsResult","onremove","isFormAttribute","isFileInput","EventDict","prevRedraw","prevDOM","active","namespace","node","oncompletion","PromiseProxy","executor","hasHeader","promise","body","assumeJSON","responseType","xhr","aborted","isTimeout","replacedAbort","abort","success","response","completeErrorResponse","complete","wrap","then","magic","extras","AttributeMap","cloneDeep","isEqual","keepNull","base","baseInverted","memo","priority","AttributeMap_1","Op_1","OpIterator_1","getEmbedTypeAndData","embedType","Delta","ops","newOp","lastOp","passed","failed","op","initialValue","iter","nextOp","thisIter","otherIter","firstOther","firstLeft","thisOp","otherOp","action","thisData","otherData","rest","strings","retDelta","diffResult","opLength","newline","line","inverted","baseIndex","slice","baseOp","opData","baseOpData","transformedData","nextType","Op","Iterator","retOp","p_ne_1","Scope2","Dashboards","fromRight","lastCalled","assigner","ce","ge","xe","Ae","Oe","Ve","Le","thresholdColors","defaultModel","newScenario","uniqueId","emptyModel","defaultModels","OsmTypeList","OsmTypes","ldb","dbFact","db","win","indexedDB","store","localDb","txn","URLSearchParams","Q","te","ae","De","ie","ne","URL","FormData","LANGUAGE","SAVED","formatDate","padLeft","joinListWithAnd","and","lowercase","terms","term","generateNumbers","getRandomValue","randomIndex","deepCopy","_instanceof","cp","_type_of","cp1","contrastingColor","backgroundColor","backgroundRgb","luminance","modelToSaveName","model","narrativeName","_model_scenario","isCollection","generateNarrative","scenario","locked","categories","inconsistencies","tries","components1","chosen","_iteratorError","category","catComps","inc","cur","excluded","catComp","chosenValue","valuesToChooseFrom","scrollToSection","scrollToTop","validateNarrative","narrativeComps","newNarrative","_c_values","narrativesToOptions","narratives","trafficLight","svgToDataURI","svg","svgBase64","btoa","createCircleSVG","diameter","strokeWidth","generateUniqueTitle","otherTitles","newTitle","MODEL_KEY","setTitle","setPage","page","changePage","routingSvc","saveModel","localStorage","alert","selectScenarioFromCollection","selectedScenarioId","oldScenario","scenarios","saveNarrative","curNarrative","updateNarrative","mutateScenarioComponent","scenarioComponentId","mutation","moveScenarioComponent","componentId","moveId","dropId","moveBefore","itemToMove","setLanguage","locale","i18n","initialize","ds","_state_model_scenario","_cell_state_model_scenario","cells","meiosisSetup","translateToArray","opts","normalArrayOption","translatejs","messageObject","replCache","tFunc","translationKey","subKey","replacements","translate","translation","translationIsObject","complex","propValue","plFunc","mappedCount","replacePlaceholders","assemble","part","translations","keysInProcess","resolveAliases","token","keyParts","messages","messagesNL","onChangeLocale","init","locales","selectedLocale","_init","addOnChangeListener","loadAndSetLocale","defaultLocale","_loadAndSetLocale","newLocale","resolvedLocale","supported","language","plural_EN","Layout","_attrs_state_model_scenario","isActive","_attrs_state_model","logo","Icon","DutchFlag","EnglishFlag","elems","background","process_flow","howToUse","menu_tabs","menu","settings","menu_generate","menu_settings","menu_tabs2","AboutPage","TableView","HomePage","readerAvailable","selectedId","removeAllKeyValues","_attrs_state","label","selectedNarratives","Tabs","Select","FlatButton","dlAnchorElem","version","dataStr","fileInput","files","isJson","reader","_model_scenarios","Button","to","narrative","included","componentValues","contexts","newContext","locationType","_ref","lat","lon","locationTypeType","osmTypeId","_ref1","order","compIds","_cur_componentIds","ModalPanel","RadioButtons","InputCheckbox","InconsistencyCheckbox","rowId","colId","iconName","SettingsPage","form","comps","rowComp","colComp","rValues","cValues","LayoutForm","ids","getContrastColor","hex","brightness","LegendComponent","items","BoxItem","contextAwareForm","hasContext","_ev_dataTransfer","_JSON_parse","itemId","dropTarget","dropY","dropHeight","BoxHeader","sc","BoxRow","_sc_values","compColor","BoxView","categoryId","scs","CreateBoxPage","activeTooltip","_Math","componentUsage","compValue","count2color","tc","SlimdownView","defineProperty","iterable","baseCreate","objectCtorString","types","isNew","isProto","srcIndex","mergeFunc","srcValue","isCommon","isTyped","isPlainObject","keysIn","baseMerge","nativeMax","nativeNow","setToString","identity","stamp","HOT_SPAN","otherArgs","merge","sources","guard","Scope","Attributor","keyName","attributeBit","_node","ParchmentError","_Registry","bubble","parentNode","scroll","match2","Node","blotClass","blot","definitions","definition","isBlot","isAttr","Registry","ClassAttributor$1","ClassAttributor","camelize","StyleAttributor$1","StyleAttributor","AttributorStore$1","AttributorStore","domNode","_ShadowBlot","rawValue","def","ref","_context","replacement","_force","_mutations","ShadowBlot","_domNode","_inclusive","LeafBlot$1","LinkedList","refNode","curNode","inclusive","startNode","curIndex","curLength","makeAttachedBlot","_ParentBlot","childLength","criteria","descendants","lengthLeft","childIndex","childBlot","refBlot","refDomNode","targetParent","_length","split","mutations","addedNodes","removedNodes","ParentBlot$1","_InlineBlot","formats","obj1","obj2","InlineBlot$1","_BlockBlot","BlockBlot$1","ContainerBlot$1","EmbedBlot$1","EmbedBlot","_scroll","OBSERVER_CONFIG","registry","MutationObserver","mutationsMap","records","mark","markParent","optimize","grandChild","ScrollBlot$1","_TextBlot","TextBlot$1","stubArray","getSymbolsIn","nodeIsMap","nodeIsSet","isSet","isFlat","isMap","arrStacked","othStacked","objStacked","escapeText","entityMap","selfIndex","otherIndex","Block","blockDelta","lines","block","lineIndex","head","clone","BlockEmbed","blocks","filter","leaf","bubbleFormats","Cursor","selection","mergedTextBlot","range","prevTextBlot","prevTextLength","nextTextBlot","nextText","textNode","newTextNode","remapOffset","_len","_key","logger","newLevel","EVENTS","eventName","quill","instances","Emitter","_len2","_key2","_len3","_key3","Range","contains","descendant","Selection","native","triggeredByTyping","ignored","startOffset","endNode","endOffset","nativeRange","rect","scrollLength","nextLine","side","positions","indexes","getPosition","leafOffset","lastRange","ASCII","convertHTML","isRoot","convertListHTML","lastIndent","endTag","getListType","previousType","outerHTML","innerHTML","normalizeDelta","normalizedDelta","shiftRange","amount","Editor","deleteDelta","normalizedOps","splitOpLines","isImplicitNewlinePrepended","isImplicitNewlineAppended","isInlineEmbed","prependedLength","addedLength","leaves","lineFormats","leafFormats","blots","combineFormats","combined","merged","combinedValue","lineOffset","lineLength","isWithinLine","contents","change","embed","selectionInfo","oldDelta","textBlot","oldValue","relativeSelectionInfo","diffDelta","Module","Embed","childNode","prevLength","Composition","queueMicrotask","Theme","ModuleClass","getParentElement","getElementRect","scaleX","scaleY","paddingValueToInt","getScrollDistance","targetEnd","scrollStart","scrollEnd","scrollPaddingStart","scrollPaddingEnd","targetRect","isDocumentBody","bounding","scrollDistanceX","scrollDistanceY","scrollLeft","scrollTop","scrolledLeft","scrolledTop","CORE_FORMATS","sourceRegistry","coreBlot","iterations","globalRegistry","Quill","overwrite","container","expandConfig","containerOrSelector","resolveSelector","theme","shouldUseDefaultTheme","quillModuleDefaults","quillDefaults","themeModuleDefaults","themeDefaults","userModuleOptions","expandModuleConfig","omitUndefinedValuesFromOptions","createRegistryWithFormats","modulesWithDefaults","_ref2","moduleClass","scrollBlotName","ScrollBlot","modify","overload","modifier","bounds","containerBounds","focus","scrollRectIntoView","delete1","applied","delete2","expanded","shift","lengthOrSource","Container","isLine","isUpdatable","insertInlineContents","inlineContents","Scroll","first","renderBlocks","shouldInsertNewlineChar","newlineCharLength","lineEndIndex","refBlotOffset","renderBlock","blockEmbed","getLines","blotIndex","blotLength","currentBlockDelta","insert","splitted","blotName","_ref3","_ref4","AlignAttribute","AlignClass","AlignStyle","ColorAttributor","ColorClass","ColorStyle","BackgroundClass","BackgroundStyle","CodeBlockContainer","Code","DirectionAttribute","DirectionClass","DirectionStyle","FontClass","FontStyle","FontStyleAttributor","SizeClass","SizeStyle","SHORTKEY","Keyboard","binding","keyBinding","singleBinding","matches","bindings","leafStart","offsetStart","leafEnd","offsetEnd","prefixText","suffixText","curContext","curFormats","prevFormats","formatDelta","nextFormats","deleteRange","defaultOptions","makeFormatHandler","makeCodeBlockHandler","table","tableSide","_table","numLines","makeEmbedArrowHandler","makeTableArrowHandler","TAB","shiftKey","up","targetRow","targetCell","targetLine","firstFormats","lastFormats","normalWeightRegexp","blockTagNames","isBlockElement","normalizeEmptyLines","br","normalizeFontWeight","ignoreRegexp","idRegexp","indentRegexp","parseListItem","idMatch","indentMatch","typeRegexp","typeMatch","normalizeListItem","msoList","others","listItems","childListItems","ul","listItem","NORMALIZERS","normalize","CLIPBOARD_CONFIG","isPre","preNodes","replacer","collapse","replaced","matchNewline","deltaEndsWith","applyFormat","ATTRIBUTE_ATTRIBUTORS","STYLE_ATTRIBUTORS","newDelta","_ref5","composed","checkedAttr","createMatchAlias","endText","traverse","elementMatchers","textMatchers","nodeMatches","matcher","childrenDelta","reducedDelta","HTMLParagraphElement","transformStack","remoteDelta","oldItem","transformRange","Uploader","uploads","images","INSERT_TYPES","Input","staticRange","getPlainTextFromInputEvent","isMac","canMoveCaretBeforeUINode","UINode","isRTL","Clipboard","normalizeExternalHTML","DOMParser","paste","isCut","urlList","pastedDelta","History","inverseDelta","changeDelta","undoDelta","undoRange","timestamp","stackItem","getLastChangeIndex","deleteLength","changeIndex","endsWithNewlineChange","IndentClass","IndentAttributor","normalizedValue","Blockquote","ListContainer","ListItem","ui","listEventHandler","sanitize","protocols","protocol","Script","Formula","formula","ATTRIBUTES","Image","Video","video","TokenAttributor","CodeToken","SyntaxCodeBlock","SyntaxCodeBlockContainer","highlight","forced","retain","codeBlock","lib","Syntax","select","timer","nodeText","tableId","thisHead","thisTail","nextHead","nextTail","childFormats","TableBody","TableContainer","maxColumns","columns","Toolbar","addControls","groups","controls","group","control","addButton","addSelect","selected","prompt","align","codeIcon","optionsCounter","toggleAriaAttribute","Picker","trigger","Event","ColorPicker","colorLabel","IconPicker","icons","isScrollable","el","overflowY","Tooltip","boundsContainer","rootBounds","verticalShift","ALIGNS","COLORS","FONTS","HEADERS","SIZES","BaseTheme","picker","buttons","button","selects","fillSelect","BaseTooltip","mode","preview","extractVideoUrl","defaultValue","TOOLBAR_CONFIG","BubbleTooltip","lastLine","indexBounds","arrow","BubbleTheme","toolbar","SnowTooltip","SnowTheme","_range","tooltip","Italic","keyDrivers","parseTextWithPlaceholders","resolvedLabel","ScenarioParagraph","idBasedTemplate","modelComps","ToggleIcon","on","off","disabled","calculateRisk","probability","impact","riskMatrix","CategoryTable","lockState","catId","excludedComps","lockedComps","multipleCategories","componentIds","_category_componentIds","CreateScenarioPage","editor","hideInconsistentValues","selectOptions","_model_scenario_narratives","TextInput","htmlTemplate","lang","css","cssTable","ShowScenarioPage","exportToWord","blob","generateWord","DecisionSupportPage","toComponent","riskComponentIds","setupComponents","_acc","weights","suggestedApproach","measures","highScore","RoutingService","getList","setList","dashboard","dashboardId","switchTo","routingTable","_locale"],"mappings":"kCAA2CA,EAAMC,EAAND,EASxC,AAAgB,aAAhB,OAAOE,MAAuBA,KATgBD,EASH,WAC9C,OAAgB,AAAC,SAASE,CAAO,EAEvB,IAAIC,EAAmB,CAAC,EAGxB,SAAS,EAAoBC,CAAQ,EAGpC,GAAGD,CAAgB,CAACC,EAAS,CAC5B,OAAOD,CAAgB,CAACC,EAAS,CAAC,OAAO,CAG1C,IAAIC,EAASF,CAAgB,CAACC,EAAS,CAAG,CACzC,EAAGA,EACH,EAAG,GACH,QAAS,CAAC,CACX,EASA,OANAF,CAAO,CAACE,EAAS,CAAC,IAAI,CAACC,EAAO,OAAO,CAAEA,EAAQA,EAAO,OAAO,CAAE,GAG/DA,EAAO,CAAC,CAAG,GAGJA,EAAO,OAAO,AACtB,CAoCA,OAhCA,EAAoB,CAAC,CAAGH,EAGxB,EAAoB,CAAC,CAAGC,EAGxB,EAAoB,CAAC,CAAG,SAASG,CAAO,CAAEC,CAAI,CAAEC,CAAM,EAClD,CAAC,EAAoB,CAAC,CAACF,EAASC,IAClCE,OAAO,cAAc,CAACH,EAASC,EAAM,CACpC,aAAc,GACd,WAAY,GACZ,IAAKC,CACN,EAEF,EAGA,EAAoB,CAAC,CAAG,SAASH,CAAM,EACtC,IAAIG,EAASH,GAAUA,EAAO,UAAU,CACvC,WAAwB,OAAOA,EAAO,OAAU,AAAE,EAClD,WAA8B,OAAOA,CAAQ,EAE9C,OADA,EAAoB,CAAC,CAACG,EAAQ,IAAKA,GAC5BA,CACR,EAGA,EAAoB,CAAC,CAAG,SAASE,CAAM,CAAEC,CAAQ,EAAI,OAAOF,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACC,EAAQC,EAAW,EAGpH,EAAoB,CAAC,CAAG,GAGjB,EAAoB,EAAoB,CAAC,CAAG,IACpD,EAEC,CAEH,SAASN,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,IAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,IAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,IAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,IAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,EAE/B,IAAIS,EAGJA,EAAI,AAAC,WACJ,OAAO,IAAI,AACZ,IAEA,GAAI,CAEHA,EAAIA,GAAKC,SAAS,kBAAoB,AAAC,GAAEC,IAAG,EAAG,OAChD,CAAE,MAAMC,EAAG,CAEW,UAAlB,OAAOC,QACTJ,CAAAA,EAAII,MAAK,CACX,CAMAd,EAAO,OAAO,CAAGU,CAGX,EAEC,SAASV,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aA+BA,IAAIc,EAAM,EAAoB,IAI1BC,EAAaZ,OAAO,IAAI,EAAI,SAAUa,CAAG,EAC3C,IAAIC,EAAO,EAAE,CACb,IAAK,IAAIC,KAAOF,EACdC,EAAK,IAAI,CAACC,GACX,OAAOD,CACV,CAGAlB,CAAAA,EAAO,OAAO,CAAGoB,EAGjB,IAAIC,EAAO,EAAoB,GAC/BA,CAAAA,EAAK,QAAQ,CAAG,EAAoB,GAGpC,IAAIC,EAAW,EAAoB,IAC/BC,EAAW,EAAoB,IAEnCF,EAAK,QAAQ,CAACD,EAAQE,GAKpB,IAAK,IADDJ,EAAOF,EAAWO,EAAS,SAAS,EAC/BC,EAAI,EAAGA,EAAIN,EAAK,MAAM,CAAEM,IAAK,CACpC,IAAIC,EAASP,CAAI,CAACM,EAAE,AAChB,EAACJ,EAAO,SAAS,CAACK,EAAO,EAAEL,CAAAA,EAAO,SAAS,CAACK,EAAO,CAAGF,EAAS,SAAS,CAACE,EAAO,AAAD,CACrF,CAGF,SAASL,EAAOM,CAAO,EACrB,GAAI,CAAE,KAAI,YAAYN,CAAK,EAAI,OAAO,IAAIA,EAAOM,GAEjDJ,EAAS,IAAI,CAAC,IAAI,CAAEI,GACpBH,EAAS,IAAI,CAAC,IAAI,CAAEG,GAEhBA,GAAWA,AAAqB,KAArBA,EAAQ,QAAQ,EAAY,KAAI,CAAC,QAAQ,CAAG,EAAI,EAE3DA,GAAWA,AAAqB,KAArBA,EAAQ,QAAQ,EAAY,KAAI,CAAC,QAAQ,CAAG,EAAI,EAE/D,IAAI,CAAC,aAAa,CAAG,GACjBA,GAAWA,AAA0B,KAA1BA,EAAQ,aAAa,EAAY,KAAI,CAAC,aAAa,CAAG,EAAI,EAEzE,IAAI,CAAC,IAAI,CAAC,MAAOC,EACnB,CAaA,SAASA,KAGH,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAInDZ,EAAI,QAAQ,CAACa,EAAS,IAAI,CAC5B,CAEA,SAASA,EAAQhC,CAAI,EACnBA,EAAK,GAAG,EACV,CAvBAQ,OAAO,cAAc,CAACgB,EAAO,SAAS,CAAE,wBAAyB,CAI/D,WAAY,GACZ,IAAK,WACH,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,AAC1C,CACF,GAiBAhB,OAAO,cAAc,CAACgB,EAAO,SAAS,CAAE,YAAa,CACnD,IAAK,kBACH,AAA4BS,KAAAA,IAAxB,IAAI,CAAC,cAAc,EAAkB,AAAwBA,KAAAA,IAAxB,IAAI,CAAC,cAAc,EAGrD,IAAI,CAAC,cAAc,CAAC,SAAS,EAAI,IAAI,CAAC,cAAc,CAAC,SAAS,AACvE,EACA,IAAK,SAAUC,CAAK,EAGlB,GAAI,AAAwBD,KAAAA,IAAxB,IAAI,CAAC,cAAc,EAAkB,AAAwBA,KAAAA,IAAxB,IAAI,CAAC,cAAc,CAM5D,IAAI,CAAC,cAAc,CAAC,SAAS,CAAGC,EAChC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAGA,CAClC,CACF,GAEAV,EAAO,SAAS,CAAC,QAAQ,CAAG,SAAUW,CAAG,CAAEC,CAAE,EAC3C,IAAI,CAAC,IAAI,CAAC,MACV,IAAI,CAAC,GAAG,GAERjB,EAAI,QAAQ,CAACiB,EAAID,EACnB,CAEM,EAEC,SAAS/B,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAC4B,UAASgC,CAAM,EAU3C,IAAIC,EAAS,EAAoB,KAC7BC,EAAU,EAAoB,KAC9BC,EAAU,EAAoB,GAElCnC,CAAAA,EAAQ,MAAM,CAAGoC,EACjBpC,EAAQ,UAAU,CAoTlB,SAAqBqC,CAAM,EAIzB,MAHI,CAACA,GAAUA,GACbA,CAAAA,EAAS,GAEJD,EAAO,KAAK,CAAC,CAACC,EACvB,EAxTArC,EAAQ,iBAAiB,CAAG,GA0B5BoC,EAAO,mBAAmB,CAAGJ,AAA+BJ,KAAAA,IAA/BI,EAAO,mBAAmB,CACnDA,EAAO,mBAAmB,CAC1BM,AAOJ,WACE,GAAI,CACF,IAAIC,EAAM,IAAIC,WAAW,GAEzB,OADAD,EAAI,SAAS,CAAG,CAAC,UAAWC,WAAW,SAAS,CAAE,IAAK,WAAc,OAAO,EAAG,CAAC,EACzED,AAAc,KAAdA,EAAI,GAAG,IACV,AAAwB,YAAxB,OAAOA,EAAI,QAAQ,EACnBA,AAAkC,IAAlCA,EAAI,QAAQ,CAAC,EAAG,GAAG,UAAU,AACnC,CAAE,MAAO3B,EAAG,CACV,MAAO,EACT,CACF,IAZAZ,EAAQ,UAAU,CAAGyC,IAcrB,SAASA,IACP,OAAOL,EAAO,mBAAmB,CAC7B,WACA,UACN,CAEA,SAASM,EAAcC,CAAI,CAAEN,CAAM,EACjC,GAAII,IAAeJ,EACjB,MAAM,AAAIO,WAAW,8BAcvB,OAZIR,EAAO,mBAAmB,CAG5BO,AADAA,CAAAA,EAAO,IAAIH,WAAWH,EAAM,EACvB,SAAS,CAAGD,EAAO,SAAS,EAGpB,OAATO,GACFA,CAAAA,EAAO,IAAIP,EAAOC,EAAM,EAE1BM,EAAK,MAAM,CAAGN,GAGTM,CACT,CAYA,SAASP,EAAQS,CAAG,CAAEC,CAAgB,CAAET,CAAM,EAC5C,GAAI,CAACD,EAAO,mBAAmB,EAAI,CAAE,KAAI,YAAYA,CAAK,EACxD,OAAO,IAAIA,EAAOS,EAAKC,EAAkBT,GAI3C,GAAI,AAAe,UAAf,OAAOQ,EAAkB,CAC3B,GAAI,AAA4B,UAA5B,OAAOC,EACT,MAAM,AAAIC,MACR,qEAGJ,OAAOC,EAAY,IAAI,CAAEH,EAC3B,CACA,OAAOI,EAAK,IAAI,CAAEJ,EAAKC,EAAkBT,EAC3C,CAUA,SAASY,EAAMN,CAAI,CAAEd,CAAK,CAAEiB,CAAgB,CAAET,CAAM,EAClD,GAAI,AAAiB,UAAjB,OAAOR,EACT,MAAM,AAAIqB,UAAU,+CAGtB,AAAI,AAAuB,aAAvB,OAAOC,aAA+BtB,aAAiBsB,YAClDC,AA4HX,SAA0BT,CAAI,CAAEU,CAAK,CAAEC,CAAU,CAAEjB,CAAM,EAGvD,GAFAgB,EAAM,UAAU,CAEZC,EAAa,GAAKD,EAAM,UAAU,CAAGC,EACvC,MAAM,AAAIV,WAAW,6BAGvB,GAAIS,EAAM,UAAU,CAAGC,EAAcjB,CAAAA,GAAU,GAC7C,MAAM,AAAIO,WAAW,6BAmBvB,OAfES,EADEC,AAAe1B,KAAAA,IAAf0B,GAA4BjB,AAAWT,KAAAA,IAAXS,EACtB,IAAIG,WAAWa,GACdhB,AAAWT,KAAAA,IAAXS,EACD,IAAIG,WAAWa,EAAOC,GAEtB,IAAId,WAAWa,EAAOC,EAAYjB,GAGxCD,EAAO,mBAAmB,CAG5BO,AADAA,CAAAA,EAAOU,CAAI,EACN,SAAS,CAAGjB,EAAO,SAAS,CAGjCO,EAAOY,EAAcZ,EAAMU,GAEtBV,CACT,EAxJ2BA,EAAMd,EAAOiB,EAAkBT,GAGpD,AAAiB,UAAjB,OAAOR,EACF2B,AAuFX,SAAqBb,CAAI,CAAEc,CAAM,CAAEC,CAAQ,EAKzC,GAJI,CAAoB,UAApB,OAAOA,GAAyBA,AAAa,KAAbA,CAAc,GAChDA,CAAAA,EAAW,MAAK,EAGd,CAACtB,EAAO,UAAU,CAACsB,GACrB,MAAM,AAAIR,UAAU,8CAGtB,IAAIb,EAASsB,AAA+B,EAA/BA,EAAWF,EAAQC,GAG5BE,EAASjB,AAFbA,CAAAA,EAAOD,EAAaC,EAAMN,EAAM,EAEd,KAAK,CAACoB,EAAQC,GAShC,OAPIE,IAAWvB,GAIbM,CAAAA,EAAOA,EAAK,KAAK,CAAC,EAAGiB,EAAM,EAGtBjB,CACT,EA7GsBA,EAAMd,EAAOiB,GAG1Be,AAmJT,SAAqBlB,CAAI,CAAE3B,CAAG,EAC5B,GAAIoB,EAAO,QAAQ,CAACpB,GAAM,CACxB,IAAI8C,EAAMC,AAAsB,EAAtBA,EAAQ/C,EAAI,MAAM,SAG5B,AAAI2B,AAAgB,IAAhBA,AAFJA,CAAAA,EAAOD,EAAaC,EAAMmB,EAAG,EAEpB,MAAM,CACNnB,GAGT3B,EAAI,IAAI,CAAC2B,EAAM,EAAG,EAAGmB,GACdnB,EACT,CAEA,GAAI3B,EAAK,CACP,GAAI,AAAwB,aAAvB,OAAOmC,aACRnC,EAAI,MAAM,YAAYmC,aAAgB,WAAYnC,QACpD,AAAI,AAAsB,UAAtB,OAAOA,EAAI,MAAM,EAAiBgD,AA+8C5C,SAAgBC,CAAG,EACjB,OAAOA,GAAQA,CACjB,EAj9CkDjD,EAAI,MAAM,EAC7C0B,EAAaC,EAAM,GAErBY,EAAcZ,EAAM3B,GAG7B,GAAIA,AAAa,WAAbA,EAAI,IAAI,EAAiBmB,EAAQnB,EAAI,IAAI,EAC3C,OAAOuC,EAAcZ,EAAM3B,EAAI,IAAI,CAEvC,CAEA,MAAM,AAAIkC,UAAU,qFACtB,EA/KoBP,EAAMd,EAC1B,CA2BA,SAASqC,EAAYC,CAAI,EACvB,GAAI,AAAgB,UAAhB,OAAOA,EACT,MAAM,AAAIjB,UAAU,oCACf,GAAIiB,EAAO,EAChB,MAAM,AAAIvB,WAAW,uCAEzB,CAvDAR,EAAO,QAAQ,CAAG,KAGlBA,EAAO,QAAQ,CAAG,SAAUG,CAAG,EAE7B,OADAA,EAAI,SAAS,CAAGH,EAAO,SAAS,CACzBG,CACT,EA0BAH,EAAO,IAAI,CAAG,SAAUP,CAAK,CAAEiB,CAAgB,CAAET,CAAM,EACrD,OAAOY,EAAK,KAAMpB,EAAOiB,EAAkBT,EAC7C,EAEID,EAAO,mBAAmB,GAC5BA,EAAO,SAAS,CAAC,SAAS,CAAGI,WAAW,SAAS,CACjDJ,EAAO,SAAS,CAAGI,WACG,aAAlB,OAAO4B,QAA0BA,OAAO,OAAO,EAC/ChC,CAAM,CAACgC,OAAO,OAAO,CAAC,GAAKhC,GAE7BjC,OAAO,cAAc,CAACiC,EAAQgC,OAAO,OAAO,CAAE,CAC5C,MAAO,KACP,aAAc,EAChB,IAoCJ,SAASpB,EAAaL,CAAI,CAAEwB,CAAI,EAG9B,GAFAD,EAAWC,GACXxB,EAAOD,EAAaC,EAAMwB,EAAO,EAAI,EAAIJ,AAAgB,EAAhBA,EAAQI,IAC7C,CAAC/B,EAAO,mBAAmB,CAC7B,IAAK,IAAIiC,EAAI,EAAGA,EAAIF,EAAM,EAAEE,EAC1B1B,CAAI,CAAC0B,EAAE,CAAG,EAGd,OAAO1B,CACT,CAbAP,EAAO,KAAK,CAAG,SAAU+B,CAAI,CAAEG,CAAI,CAAEZ,CAAQ,MApB7Bf,EAAMwB,EAAMG,EAAMZ,EAqBhC,OArBcf,EAqBD,KArBOwB,EAqBDA,EArBOG,EAqBDA,EArBOZ,EAqBDA,EAnB/B,CADAQ,EAAWC,GACPA,GAAQ,GACHzB,EAkBI,KAlBeyB,GAExBG,AAAS1C,KAAAA,IAAT0C,EAIK,AAAoB,UAApB,OAAOZ,EACVhB,EAAaC,EAAMwB,GAAM,IAAI,CAACG,EAAMZ,GACpChB,EAAaC,EAAMwB,GAAM,IAAI,CAACG,GAE7B5B,EAAaC,EAAMwB,EAS5B,EAgBA/B,EAAO,WAAW,CAAG,SAAU+B,CAAI,EACjC,OAAOnB,EAAY,KAAMmB,EAC3B,EAIA/B,EAAO,eAAe,CAAG,SAAU+B,CAAI,EACrC,OAAOnB,EAAY,KAAMmB,EAC3B,EA0BA,SAASZ,EAAeZ,CAAI,CAAEU,CAAK,EACjC,IAAIhB,EAASgB,EAAM,MAAM,CAAG,EAAI,EAAIU,AAAwB,EAAxBA,EAAQV,EAAM,MAAM,EACxDV,EAAOD,EAAaC,EAAMN,GAC1B,IAAK,IAAIgC,EAAI,EAAGA,EAAIhC,EAAQgC,GAAK,EAC/B1B,CAAI,CAAC0B,EAAE,CAAGhB,AAAW,IAAXA,CAAK,CAACgB,EAAE,CAEpB,OAAO1B,CACT,CA8DA,SAASoB,EAAS1B,CAAM,EAGtB,GAAIA,GAAUI,IACZ,MAAM,AAAIG,WAAW,0DACaH,IAAa,QAAQ,CAAC,IAAM,UAEhE,OAAOJ,AAAS,EAATA,CACT,CAqFA,SAASsB,EAAYF,CAAM,CAAEC,CAAQ,EACnC,GAAItB,EAAO,QAAQ,CAACqB,GAClB,OAAOA,EAAO,MAAM,CAEtB,GAAI,AAAuB,aAAvB,OAAON,aAA+B,AAA8B,YAA9B,OAAOA,YAAY,MAAM,EAC9DA,CAAAA,YAAY,MAAM,CAACM,IAAWA,aAAkBN,WAAU,EAC7D,OAAOM,EAAO,UAAU,AAEJ,WAAlB,OAAOA,GACTA,CAAAA,EAAS,GAAKA,CAAK,EAGrB,IAAIK,EAAML,EAAO,MAAM,CACvB,GAAIK,AAAQ,IAARA,EAAW,OAAO,EAItB,IADA,IAAIS,EAAc,KAEhB,OAAQb,GACN,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAOI,CACT,KAAK,OACL,IAAK,QACL,KAAKlC,KAAAA,EACH,OAAO4C,EAAYf,GAAQ,MAAM,AACnC,KAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOK,AAAM,EAANA,CACT,KAAK,MACH,OAAOA,IAAQ,CACjB,KAAK,SACH,OAAOW,EAAchB,GAAQ,MAAM,AACrC,SACE,GAAIc,EAAa,OAAOC,EAAYf,GAAQ,MAAM,CAClDC,EAAW,AAAC,IAAKA,CAAO,EAAG,WAAW,GACtCa,EAAc,EAClB,CAEJ,CAGA,SAASG,EAAchB,CAAQ,CAAEiB,CAAK,CAAEC,CAAG,EACzC,IAAIL,EAAc,GAclB,GALII,CAAAA,AAAU/C,KAAAA,IAAV+C,GAAuBA,EAAQ,IACjCA,CAAAA,EAAQ,GAINA,EAAQ,IAAI,CAAC,MAAM,CACrB,MAAO,GAOT,GAJIC,CAAAA,AAAQhD,KAAAA,IAARgD,GAAqBA,EAAM,IAAI,CAAC,MAAM,AAAD,GACvCA,CAAAA,EAAM,IAAI,CAAC,MAAM,AAAD,EAGdA,GAAO,GAQPA,AAHJA,CAAAA,KAAS,IACTD,CAAAA,KAAW,GALT,MAAO,GAaT,IAFI,CAACjB,GAAUA,CAAAA,EAAW,MAAK,IAG7B,OAAQA,GACN,IAAK,MACH,OAAOmB,AA+hBf,SAAmBC,CAAG,CAAEH,CAAK,CAAEC,CAAG,EAChC,IAAId,EAAMgB,EAAI,MAAM,CAEhB,EAACH,GAASA,EAAQ,IAAGA,CAAAA,EAAQ,GAC7B,EAACC,GAAOA,EAAM,GAAKA,EAAMd,CAAE,GAAGc,CAAAA,EAAMd,CAAE,EAG1C,IAAK,IADDiB,EAAM,GACDV,EAAIM,EAAON,EAAIO,EAAK,EAAEP,EAC7BU,GAAOC,AA8mBX,SAAgBC,CAAC,SACf,AAAIA,EAAI,GAAW,IAAMA,EAAE,QAAQ,CAAC,IAC7BA,EAAE,QAAQ,CAAC,GACpB,EAjnBiBH,CAAG,CAACT,EAAE,EAErB,OAAOU,CACT,EA1iBwB,IAAI,CAAEJ,EAAOC,EAE/B,KAAK,OACL,IAAK,QACH,OAAOM,EAAU,IAAI,CAAEP,EAAOC,EAEhC,KAAK,QACH,OAAOO,AAogBf,SAAqBL,CAAG,CAAEH,CAAK,CAAEC,CAAG,EAClC,IAAIQ,EAAM,GACVR,EAAMS,KAAK,GAAG,CAACP,EAAI,MAAM,CAAEF,GAE3B,IAAK,IAAIP,EAAIM,EAAON,EAAIO,EAAK,EAAEP,EAC7Be,GAAOE,OAAO,YAAY,CAACR,AAAS,IAATA,CAAG,CAACT,EAAE,EAEnC,OAAOe,CACT,EA5gB0B,IAAI,CAAET,EAAOC,EAEjC,KAAK,SACL,IAAK,SACH,OAAOW,AA0gBf,SAAsBT,CAAG,CAAEH,CAAK,CAAEC,CAAG,EACnC,IAAIQ,EAAM,GACVR,EAAMS,KAAK,GAAG,CAACP,EAAI,MAAM,CAAEF,GAE3B,IAAK,IAAIP,EAAIM,EAAON,EAAIO,EAAK,EAAEP,EAC7Be,GAAOE,OAAO,YAAY,CAACR,CAAG,CAACT,EAAE,EAEnC,OAAOe,CACT,EAlhB2B,IAAI,CAAET,EAAOC,EAElC,KAAK,SACH,OAAOY,AAqZf,SAAsBV,CAAG,CAAEH,CAAK,CAAEC,CAAG,SACnC,AAAID,AAAU,IAAVA,GAAeC,IAAQE,EAAI,MAAM,CAC5B7C,EAAO,aAAa,CAAC6C,GAErB7C,EAAO,aAAa,CAAC6C,EAAI,KAAK,CAACH,EAAOC,GAEjD,EA3Z2B,IAAI,CAAED,EAAOC,EAElC,KAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOa,AAwhBf,SAAuBX,CAAG,CAAEH,CAAK,CAAEC,CAAG,EAGpC,IAAK,IAFDc,EAAQZ,EAAI,KAAK,CAACH,EAAOC,GACzBe,EAAM,GACDtB,EAAI,EAAGA,EAAIqB,EAAM,MAAM,CAAErB,GAAK,EACrCsB,GAAOL,OAAO,YAAY,CAACI,CAAK,CAACrB,EAAE,CAAGqB,AAAe,IAAfA,CAAK,CAACrB,EAAI,EAAE,EAEpD,OAAOsB,CACT,EA/hB4B,IAAI,CAAEhB,EAAOC,EAEnC,SACE,GAAIL,EAAa,MAAM,AAAIrB,UAAU,qBAAuBQ,GAC5DA,EAAW,AAACA,CAAAA,EAAW,EAAC,EAAG,WAAW,GACtCa,EAAc,EAClB,CAEJ,CAMA,SAASqB,EAAMC,CAAC,CAAEZ,CAAC,CAAE1E,CAAC,EACpB,IAAI8D,EAAIwB,CAAC,CAACZ,EAAE,AACZY,CAAAA,CAAC,CAACZ,EAAE,CAAGY,CAAC,CAACtF,EAAE,CACXsF,CAAC,CAACtF,EAAE,CAAG8D,CACT,CAkIA,SAASyB,EAAsBC,CAAM,CAAE9B,CAAG,CAAEX,CAAU,CAAEI,CAAQ,CAAEsC,CAAG,EAEnE,GAAID,AAAkB,IAAlBA,EAAO,MAAM,CAAQ,OAAO,GAmBhC,GAhBI,AAAsB,UAAtB,OAAOzC,GACTI,EAAWJ,EACXA,EAAa,GACJA,EAAa,WACtBA,EAAa,WACJA,EAAa,aACtBA,CAAAA,EAAa,WAAU,EAGrB2C,MADJ3C,EAAa,CAACA,IAGZA,CAAAA,EAAa0C,EAAM,EAAKD,EAAO,MAAM,CAAG,CAAC,EAIvCzC,EAAa,GAAGA,CAAAA,EAAayC,EAAO,MAAM,CAAGzC,CAAS,EACtDA,GAAcyC,EAAO,MAAM,CAAE,CAC/B,GAAIC,EAAK,OAAO,GACX1C,EAAayC,EAAO,MAAM,CAAG,CACpC,MAAO,GAAIzC,EAAa,EAAG,CACzB,IAAI0C,EACC,OAAO,GADH1C,EAAa,CAExB,CAQA,GALmB,UAAf,OAAOW,GACTA,CAAAA,EAAM7B,EAAO,IAAI,CAAC6B,EAAKP,EAAQ,EAI7BtB,EAAO,QAAQ,CAAC6B,UAElB,AAAIA,AAAe,IAAfA,EAAI,MAAM,CACL,GAEFiC,EAAaH,EAAQ9B,EAAKX,EAAYI,EAAUsC,GAClD,GAAI,AAAe,UAAf,OAAO/B,EAAkB,CAElC,GADAA,GAAY,IACR7B,EAAO,mBAAmB,EAC1B,AAAwC,YAAxC,OAAOI,WAAW,SAAS,CAAC,OAAO,QACrC,AAAIwD,EACKxD,WAAW,SAAS,CAAC,OAAO,CAAC,IAAI,CAACuD,EAAQ9B,EAAKX,GAE/Cd,WAAW,SAAS,CAAC,WAAW,CAAC,IAAI,CAACuD,EAAQ9B,EAAKX,GAG9D,OAAO4C,EAAaH,EAAQ,CAAE9B,EAAK,CAAEX,EAAYI,EAAUsC,EAC7D,CAEA,MAAM,AAAI9C,UAAU,uCACtB,CAEA,SAASgD,EAAc3D,CAAG,CAAE0B,CAAG,CAAEX,CAAU,CAAEI,CAAQ,CAAEsC,CAAG,EACxD,IA0BI3B,EA1BA8B,EAAY,EACZC,EAAY7D,EAAI,MAAM,CACtB8D,EAAYpC,EAAI,MAAM,CAE1B,GAAIP,AAAa9B,KAAAA,IAAb8B,GAEEA,CAAAA,AAAa,SADjBA,CAAAA,EAAW4B,OAAO5B,GAAU,WAAW,EAAC,GACbA,AAAa,UAAbA,GACvBA,AAAa,YAAbA,GAA0BA,AAAa,aAAbA,CAAsB,EAAG,CACrD,GAAInB,EAAI,MAAM,CAAG,GAAK0B,EAAI,MAAM,CAAG,EACjC,OAAO,GAETkC,EAAY,EACZC,GAAa,EACbC,GAAa,EACb/C,GAAc,CAChB,CAGF,SAASgD,EAAMxB,CAAG,CAAET,CAAC,SACnB,AAAI8B,AAAc,IAAdA,EACKrB,CAAG,CAACT,EAAE,CAENS,EAAI,YAAY,CAACT,EAAI8B,EAEhC,CAGA,GAAIH,EAAK,CACP,IAAIO,EAAa,GACjB,IAAKlC,EAAIf,EAAYe,EAAI+B,EAAW/B,IAClC,GAAIiC,EAAK/D,EAAK8B,KAAOiC,EAAKrC,EAAKsC,AAAe,KAAfA,EAAoB,EAAIlC,EAAIkC,GAEzD,IADmB,KAAfA,GAAmBA,CAAAA,EAAalC,CAAAA,EAChCA,EAAIkC,EAAa,IAAMF,EAAW,OAAOE,EAAaJ,CAAQ,MAE/C,KAAfI,GAAmBlC,CAAAA,GAAKA,EAAIkC,CAAS,EACzCA,EAAa,EAGnB,MAEE,IADIjD,EAAa+C,EAAYD,GAAW9C,CAAAA,EAAa8C,EAAYC,CAAQ,EACpEhC,EAAIf,EAAYe,GAAK,EAAGA,IAAK,CAEhC,IAAK,IADDmC,EAAQ,GACHC,EAAI,EAAGA,EAAIJ,EAAWI,IAC7B,GAAIH,EAAK/D,EAAK8B,EAAIoC,KAAOH,EAAKrC,EAAKwC,GAAI,CACrCD,EAAQ,GACR,KACF,CAEF,GAAIA,EAAO,OAAOnC,CACpB,CAGF,OAAO,EACT,CAxbAjC,EAAO,QAAQ,CAAG,SAAmByD,CAAC,EACpC,MAAO,CAAC,CAAEA,CAAAA,AAAK,MAALA,GAAaA,EAAE,SAAS,AAAD,CACnC,EAEAzD,EAAO,OAAO,CAAG,SAAkBsE,CAAC,CAAEb,CAAC,EACrC,GAAI,CAACzD,EAAO,QAAQ,CAACsE,IAAM,CAACtE,EAAO,QAAQ,CAACyD,GAC1C,MAAM,AAAI3C,UAAU,6BAGtB,GAAIwD,IAAMb,EAAG,OAAO,EAKpB,IAAK,IAHDc,EAAID,EAAE,MAAM,CACZE,EAAIf,EAAE,MAAM,CAEPxB,EAAI,EAAGP,EAAMuB,KAAK,GAAG,CAACsB,EAAGC,GAAIvC,EAAIP,EAAK,EAAEO,EAC/C,GAAIqC,CAAC,CAACrC,EAAE,GAAKwB,CAAC,CAACxB,EAAE,CAAE,CACjBsC,EAAID,CAAC,CAACrC,EAAE,CACRuC,EAAIf,CAAC,CAACxB,EAAE,CACR,KACF,QAGF,AAAIsC,EAAIC,EAAU,GACdA,EAAID,EAAU,EACX,CACT,EAEAvE,EAAO,UAAU,CAAG,SAAqBsB,CAAQ,EAC/C,OAAQ4B,OAAO5B,GAAU,WAAW,IAClC,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAO,EACT,SACE,MAAO,EACX,CACF,EAEAtB,EAAO,MAAM,CAAG,SAAiByE,CAAI,CAAExE,CAAM,EAC3C,GAAI,CAACF,EAAQ0E,GACX,MAAM,AAAI3D,UAAU,+CAGtB,GAAI2D,AAAgB,IAAhBA,EAAK,MAAM,CACb,OAAOzE,EAAO,KAAK,CAAC,GAItB,GAAIC,AAAWT,KAAAA,IAAXS,EAEF,IAAKgC,EAAI,EADThC,EAAS,EACGgC,EAAIwC,EAAK,MAAM,CAAE,EAAExC,EAC7BhC,GAAUwE,CAAI,CAACxC,EAAE,CAAC,MAAM,CAI5B,IARIA,EAQA0B,EAAS3D,EAAO,WAAW,CAACC,GAC5ByE,EAAM,EACV,IAAKzC,EAAI,EAAGA,EAAIwC,EAAK,MAAM,CAAE,EAAExC,EAAG,CAChC,IAAIS,EAAM+B,CAAI,CAACxC,EAAE,CACjB,GAAI,CAACjC,EAAO,QAAQ,CAAC0C,GACnB,MAAM,AAAI5B,UAAU,+CAEtB4B,EAAI,IAAI,CAACiB,EAAQe,GACjBA,GAAOhC,EAAI,MAAM,AACnB,CACA,OAAOiB,CACT,EA6CA3D,EAAO,UAAU,CAAGuB,EA0EpBvB,EAAO,SAAS,CAAC,SAAS,CAAG,GAQ7BA,EAAO,SAAS,CAAC,MAAM,CAAG,WACxB,IAAI0B,EAAM,IAAI,CAAC,MAAM,CACrB,GAAIA,EAAM,GAAM,EACd,MAAM,AAAIlB,WAAW,6CAEvB,IAAK,IAAIyB,EAAI,EAAGA,EAAIP,EAAKO,GAAK,EAC5BuB,EAAK,IAAI,CAAEvB,EAAGA,EAAI,GAEpB,OAAO,IAAI,AACb,EAEAjC,EAAO,SAAS,CAAC,MAAM,CAAG,WACxB,IAAI0B,EAAM,IAAI,CAAC,MAAM,CACrB,GAAIA,EAAM,GAAM,EACd,MAAM,AAAIlB,WAAW,6CAEvB,IAAK,IAAIyB,EAAI,EAAGA,EAAIP,EAAKO,GAAK,EAC5BuB,EAAK,IAAI,CAAEvB,EAAGA,EAAI,GAClBuB,EAAK,IAAI,CAAEvB,EAAI,EAAGA,EAAI,GAExB,OAAO,IAAI,AACb,EAEAjC,EAAO,SAAS,CAAC,MAAM,CAAG,WACxB,IAAI0B,EAAM,IAAI,CAAC,MAAM,CACrB,GAAIA,EAAM,GAAM,EACd,MAAM,AAAIlB,WAAW,6CAEvB,IAAK,IAAIyB,EAAI,EAAGA,EAAIP,EAAKO,GAAK,EAC5BuB,EAAK,IAAI,CAAEvB,EAAGA,EAAI,GAClBuB,EAAK,IAAI,CAAEvB,EAAI,EAAGA,EAAI,GACtBuB,EAAK,IAAI,CAAEvB,EAAI,EAAGA,EAAI,GACtBuB,EAAK,IAAI,CAAEvB,EAAI,EAAGA,EAAI,GAExB,OAAO,IAAI,AACb,EAEAjC,EAAO,SAAS,CAAC,QAAQ,CAAG,WAC1B,IAAIC,EAAS,AAAc,EAAd,IAAI,CAAC,MAAM,QACxB,AAAIA,AAAW,IAAXA,EAAqB,GACrB0E,AAAqB,GAArBA,UAAU,MAAM,CAAe7B,EAAU,IAAI,CAAE,EAAG7C,GAC/CqC,EAAa,KAAK,CAAC,IAAI,CAAEqC,UAClC,EAEA3E,EAAO,SAAS,CAAC,MAAM,CAAG,SAAiByD,CAAC,EAC1C,GAAI,CAACzD,EAAO,QAAQ,CAACyD,GAAI,MAAM,AAAI3C,UAAU,oCAC7C,AAAI,IAAI,GAAK2C,GACNzD,AAA4B,IAA5BA,EAAO,OAAO,CAAC,IAAI,CAAEyD,EAC9B,EAEAzD,EAAO,SAAS,CAAC,OAAO,CAAG,WACzB,IAAI4E,EAAM,GACNC,EAAMjH,EAAQ,iBAAiB,CAKnC,OAJI,IAAI,CAAC,MAAM,CAAG,IAChBgH,EAAM,IAAI,CAAC,QAAQ,CAAC,MAAO,EAAGC,GAAK,KAAK,CAAC,SAAS,IAAI,CAAC,KACnD,IAAI,CAAC,MAAM,CAAGA,GAAKD,CAAAA,GAAO,OAAM,GAE/B,WAAaA,EAAM,GAC5B,EAEA5E,EAAO,SAAS,CAAC,OAAO,CAAG,SAAkB8E,CAAM,CAAEvC,CAAK,CAAEC,CAAG,CAAEuC,CAAS,CAAEC,CAAO,EACjF,GAAI,CAAChF,EAAO,QAAQ,CAAC8E,GACnB,MAAM,AAAIhE,UAAU,6BAgBtB,GAbctB,KAAAA,IAAV+C,GACFA,CAAAA,EAAQ,GAEE/C,KAAAA,IAARgD,GACFA,CAAAA,EAAMsC,EAASA,EAAO,MAAM,CAAG,GAEftF,KAAAA,IAAduF,GACFA,CAAAA,EAAY,GAEEvF,KAAAA,IAAZwF,GACFA,CAAAA,EAAU,IAAI,CAAC,MAAM,AAAD,EAGlBzC,EAAQ,GAAKC,EAAMsC,EAAO,MAAM,EAAIC,EAAY,GAAKC,EAAU,IAAI,CAAC,MAAM,CAC5E,MAAM,AAAIxE,WAAW,sBAGvB,GAAIuE,GAAaC,GAAWzC,GAASC,EACnC,OAAO,EAET,GAAIuC,GAAaC,EACf,OAAO,GAET,GAAIzC,GAASC,EACX,OAAO,EAQT,GALAD,KAAW,EACXC,KAAS,EACTuC,KAAe,EACfC,KAAa,EAET,IAAI,GAAKF,EAAQ,OAAO,EAS5B,IAAK,IAPDP,EAAIS,EAAUD,EACdP,EAAIhC,EAAMD,EACVb,EAAMuB,KAAK,GAAG,CAACsB,EAAGC,GAElBS,EAAW,IAAI,CAAC,KAAK,CAACF,EAAWC,GACjCE,EAAaJ,EAAO,KAAK,CAACvC,EAAOC,GAE5BP,EAAI,EAAGA,EAAIP,EAAK,EAAEO,EACzB,GAAIgD,CAAQ,CAAChD,EAAE,GAAKiD,CAAU,CAACjD,EAAE,CAAE,CACjCsC,EAAIU,CAAQ,CAAChD,EAAE,CACfuC,EAAIU,CAAU,CAACjD,EAAE,CACjB,KACF,QAGF,AAAIsC,EAAIC,EAAU,GACdA,EAAID,EAAU,EACX,CACT,EA4HAvE,EAAO,SAAS,CAAC,QAAQ,CAAG,SAAmB6B,CAAG,CAAEX,CAAU,CAAEI,CAAQ,EACtE,OAAO,AAA4C,KAA5C,IAAI,CAAC,OAAO,CAACO,EAAKX,EAAYI,EACvC,EAEAtB,EAAO,SAAS,CAAC,OAAO,CAAG,SAAkB6B,CAAG,CAAEX,CAAU,CAAEI,CAAQ,EACpE,OAAOoC,EAAqB,IAAI,CAAE7B,EAAKX,EAAYI,EAAU,GAC/D,EAEAtB,EAAO,SAAS,CAAC,WAAW,CAAG,SAAsB6B,CAAG,CAAEX,CAAU,CAAEI,CAAQ,EAC5E,OAAOoC,EAAqB,IAAI,CAAE7B,EAAKX,EAAYI,EAAU,GAC/D,EAiCA,SAAS6D,EAAYzC,CAAG,CAAErB,CAAM,CAAE+D,CAAM,CAAEnF,CAAM,EAC9C,OAAOoF,EAAWC,EAAajE,GAASqB,EAAK0C,EAAQnF,EACvD,CAcAD,EAAO,SAAS,CAAC,KAAK,CAAG,SAAgBqB,CAAM,CAAE+D,CAAM,CAAEnF,CAAM,CAAEqB,CAAQ,EAEvE,GAAI8D,AAAW5F,KAAAA,IAAX4F,EACF9D,EAAW,OACXrB,EAAS,IAAI,CAAC,MAAM,CACpBmF,EAAS,OAEJ,GAAInF,AAAWT,KAAAA,IAAXS,GAAwB,AAAkB,UAAlB,OAAOmF,EACxC9D,EAAW8D,EACXnF,EAAS,IAAI,CAAC,MAAM,CACpBmF,EAAS,OAEJ,GAAIG,SAASH,GAClBA,GAAkB,EACdG,SAAStF,IACXA,GAAkB,EACDT,KAAAA,IAAb8B,GAAwBA,CAAAA,EAAW,MAAK,IAE5CA,EAAWrB,EACXA,EAAST,KAAAA,QAIX,MAAM,AAAImB,MACR,2EAIJ,IAhDkB+B,EAAKrB,EAAQ+D,EAAQnF,EAIpByC,EAAKrB,EAAQ+D,EAAQnF,EAQpByC,EAAKrB,EAAQ+D,EAAQnF,EAIvByC,EAAKrB,EAAQ+D,EAAQnF,EAgCnCuF,EAAY,IAAI,CAAC,MAAM,CAAGJ,EAG9B,GAFInF,CAAAA,AAAWT,KAAAA,IAAXS,GAAwBA,EAASuF,CAAQ,GAAGvF,CAAAA,EAASuF,CAAQ,EAE7D,AAACnE,EAAO,MAAM,CAAG,GAAMpB,CAAAA,EAAS,GAAKmF,EAAS,IAAOA,EAAS,IAAI,CAAC,MAAM,CAC3E,MAAM,AAAI5E,WAAW,yCAGnB,EAACc,GAAUA,CAAAA,EAAW,MAAK,EAG/B,IADA,IAAIa,EAAc,KAEhB,OAAQb,GACN,IAAK,MACH,OAAOmE,AAxFf,SAAmB/C,CAAG,CAAErB,CAAM,CAAE+D,CAAM,CAAEnF,CAAM,EAC5CmF,EAASM,OAAON,IAAW,EAC3B,IAAII,EAAY9C,EAAI,MAAM,CAAG0C,EACxBnF,EAGHA,CAAAA,EAASyF,OAAOzF,EAAM,EACTuF,GACXvF,CAAAA,EAASuF,CAAQ,EAJnBvF,EAASuF,EASX,IAAIG,EAAStE,EAAO,MAAM,CAC1B,GAAIsE,EAAS,GAAM,EAAG,MAAM,AAAI7E,UAAU,sBAEtCb,EAAS0F,EAAS,GACpB1F,CAAAA,EAAS0F,EAAS,GAEpB,IAAK,IAAI1D,EAAI,EAAGA,EAAIhC,EAAQ,EAAEgC,EAAG,CAC/B,IAAI2D,EAASC,SAASxE,EAAO,MAAM,CAACY,AAAI,EAAJA,EAAO,GAAI,IAC/C,GAAI4B,MAAM+B,GAAS,KACnBlD,CAAAA,CAAG,CAAC0C,EAASnD,EAAE,CAAG2D,CACpB,CACA,OAAO3D,CACT,EA+DwB,IAAI,CAAEZ,EAAQ+D,EAAQnF,EAExC,KAAK,OACL,IAAK,SACH,OAjEYyC,EAiEK,IAAI,CAjEJrB,EAiEMA,EAjEE+D,EAiEMA,EAjEEnF,EAiEMA,EAhEtCoF,EAAWjD,EAAYf,EAAQqB,EAAI,MAAM,CAAG0C,GAAS1C,EAAK0C,EAAQnF,EAkErE,KAAK,SACH,OAhEayC,EAgEK,IAAI,CAhEJrB,EAgEMA,EAhEE+D,EAgEMA,EAhEEnF,EAgEMA,EA/DvCoF,EAAWC,EAAajE,GAASqB,EAAK0C,EAAQnF,EAiEjD,KAAK,SACL,IAAK,SACH,OAAO6F,AAhEf,SAAsBpD,CAAG,CAAErB,CAAM,CAAE+D,CAAM,CAAEnF,CAAM,MAJ5ByC,EAAKrB,EAAQ+D,EAAQnF,EAKxC,OALmByC,EAKDA,EALMrB,EAKDA,EALS+D,EAKDA,EALSnF,EAKDA,EAJhCoF,EAAWC,EAAajE,GAASqB,EAAK0C,EAAQnF,EAKvD,EA8D2B,IAAI,CAAEoB,EAAQ+D,EAAQnF,EAE3C,KAAK,UAEH,OAhEcyC,EAgEK,IAAI,CAhEJrB,EAgEMA,EAhEE+D,EAgEMA,EAhEEnF,EAgEMA,EA/DxCoF,EAAWhD,EAAchB,GAASqB,EAAK0C,EAAQnF,EAiElD,KAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,YACH,OAlEYyC,EAkEK,IAAI,CAlEJrB,EAkEMA,EAlEE+D,EAkEMA,EAlEEnF,EAkEMA,EAjEtCoF,EAAWU,AAk6BpB,SAAyBnB,CAAG,CAAEoB,CAAK,EAGjC,IAAK,IAFDC,EAAGC,EAAIC,EACPC,EAAY,EAAE,CACTnE,EAAI,EACX,AADcA,EAAI2C,EAAI,MAAM,GACxB,CAACoB,CAAAA,GAAS,GAAK,GADW,EAAE/D,EAIhCiE,EAAKD,AADLA,CAAAA,EAAIrB,EAAI,UAAU,CAAC3C,EAAC,GACV,EACVkE,EAAKF,EAAI,IACTG,EAAU,IAAI,CAACD,GACfC,EAAU,IAAI,CAACF,GAGjB,OAAOE,CACT,EAh7BmC/E,EAAQqB,EAAI,MAAM,CAAG0C,GAAS1C,EAAK0C,EAAQnF,EAmExE,SACE,GAAIkC,EAAa,MAAM,AAAIrB,UAAU,qBAAuBQ,GAC5DA,EAAW,AAAC,IAAKA,CAAO,EAAG,WAAW,GACtCa,EAAc,EAClB,CAEJ,EAEAnC,EAAO,SAAS,CAAC,MAAM,CAAG,WACxB,MAAO,CACL,KAAM,SACN,KAAMqG,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAI,IAAI,CAAE,EACtD,CACF,EAUA,SAASvD,EAAWJ,CAAG,CAAEH,CAAK,CAAEC,CAAG,EACjCA,EAAMS,KAAK,GAAG,CAACP,EAAI,MAAM,CAAEF,GAI3B,IAHA,IAAIe,EAAM,EAAE,CAERtB,EAAIM,EACDN,EAAIO,GAAK,CACd,IAQM8D,EAAYC,EAAWC,EAAYC,EARrCC,EAAYhE,CAAG,CAACT,EAAE,CAClB0E,EAAY,KACZC,EAAmB,AAACF,EAAY,IAAQ,EACxC,AAACA,EAAY,IAAQ,EACrB,AAACA,EAAY,IAAQ,EACrB,EAEJ,GAAIzE,EAAI2E,GAAoBpE,EAG1B,OAAQoE,GACN,KAAK,EACCF,EAAY,KACdC,CAAAA,EAAYD,CAAQ,EAEtB,KACF,MAAK,EAEEJ,CAAAA,AAAa,IADlBA,CAAAA,EAAa5D,CAAG,CAACT,EAAI,EAAE,AAAD,CACD,GAAO,KAC1BwE,CAAAA,EAAgB,AAACC,CAAAA,AAAY,GAAZA,CAAe,GAAM,EAAOJ,AAAa,GAAbA,CAAiB,EAC1C,KAClBK,CAAAA,EAAYF,CAAY,EAG5B,KACF,MAAK,EACHH,EAAa5D,CAAG,CAACT,EAAI,EAAE,CACvBsE,EAAY7D,CAAG,CAACT,EAAI,EAAE,CACjBqE,CAAAA,AAAa,IAAbA,CAAgB,GAAO,KAAQ,AAACC,CAAAA,AAAY,IAAZA,CAAe,GAAO,KACzDE,CAAAA,EAAgB,AAACC,CAAAA,AAAY,GAAZA,CAAc,GAAM,GAAM,AAACJ,CAAAA,AAAa,GAAbA,CAAgB,GAAM,EAAOC,AAAY,GAAZA,CAAgB,EACrE,MAAUE,CAAAA,EAAgB,OAAUA,EAAgB,KAAK,GAC3EE,CAAAA,EAAYF,CAAY,EAG5B,KACF,MAAK,EACHH,EAAa5D,CAAG,CAACT,EAAI,EAAE,CACvBsE,EAAY7D,CAAG,CAACT,EAAI,EAAE,CACtBuE,EAAa9D,CAAG,CAACT,EAAI,EAAE,CAClBqE,CAAAA,AAAa,IAAbA,CAAgB,GAAO,KAAQ,AAACC,CAAAA,AAAY,IAAZA,CAAe,GAAO,KAAQ,AAACC,CAAAA,AAAa,IAAbA,CAAgB,GAAO,KACzFC,CAAAA,EAAgB,AAACC,CAAAA,AAAY,GAAZA,CAAc,GAAM,GAAO,AAACJ,CAAAA,AAAa,GAAbA,CAAgB,GAAM,GAAM,AAACC,CAAAA,AAAY,GAAZA,CAAe,GAAM,EAAOC,AAAa,GAAbA,CAAiB,EACnG,OAAUC,EAAgB,SAC5CE,CAAAA,EAAYF,CAAY,CAGhC,CAGEE,AAAc,OAAdA,GAGFA,EAAY,MACZC,EAAmB,GACVD,EAAY,QAErBA,GAAa,MACbpD,EAAI,IAAI,CAACoD,IAAc,GAAK,KAAQ,OACpCA,EAAY,MAASA,AAAY,KAAZA,GAGvBpD,EAAI,IAAI,CAACoD,GACT1E,GAAK2E,CACP,CAEA,OAAOC,AAQT,SAAgCC,CAAU,EACxC,IAAIpF,EAAMoF,EAAW,MAAM,CAC3B,GAAIpF,GAJqB,KAKvB,OAAOwB,OAAO,YAAY,CAAC,KAAK,CAACA,OAAQ4D,GAM3C,IAFA,IAAIvD,EAAM,GACNtB,EAAI,EACDA,EAAIP,GACT6B,GAAOL,OAAO,YAAY,CAAC,KAAK,CAC9BA,OACA4D,EAAW,KAAK,CAAC7E,EAAGA,GAdC,OAiBzB,OAAOsB,CACT,EAxB+BA,EAC/B,CA0GA,SAASwD,EAAa3B,CAAM,CAAE4B,CAAG,CAAE/G,CAAM,EACvC,GAAI,AAACmF,EAAS,GAAO,GAAKA,EAAS,EAAG,MAAM,AAAI5E,WAAW,sBAC3D,GAAI4E,EAAS4B,EAAM/G,EAAQ,MAAM,AAAIO,WAAW,wCAClD,CA8JA,SAASyG,EAAUvE,CAAG,CAAEjD,CAAK,CAAE2F,CAAM,CAAE4B,CAAG,CAAEnC,CAAG,CAAEqC,CAAG,EAClD,GAAI,CAAClH,EAAO,QAAQ,CAAC0C,GAAM,MAAM,AAAI5B,UAAU,+CAC/C,GAAIrB,EAAQoF,GAAOpF,EAAQyH,EAAK,MAAM,AAAI1G,WAAW,qCACrD,GAAI4E,EAAS4B,EAAMtE,EAAI,MAAM,CAAE,MAAM,AAAIlC,WAAW,qBACtD,CAiDA,SAAS2G,EAAmBzE,CAAG,CAAEjD,CAAK,CAAE2F,CAAM,CAAEgC,CAAY,EACtD3H,EAAQ,GAAGA,CAAAA,EAAQ,MAASA,EAAQ,GACxC,IAAK,IAAIwC,EAAI,EAAGoC,EAAIpB,KAAK,GAAG,CAACP,EAAI,MAAM,CAAG0C,EAAQ,GAAInD,EAAIoC,EAAG,EAAEpC,EAC7DS,CAAG,CAAC0C,EAASnD,EAAE,CAAG,AAACxC,CAAAA,EAAS,KAAS,EAAK2H,CAAAA,EAAenF,EAAI,EAAIA,CAAAA,CAAG,IAClE,AAACmF,CAAAA,EAAenF,EAAI,EAAIA,CAAAA,EAAK,CAEnC,CA4BA,SAASoF,EAAmB3E,CAAG,CAAEjD,CAAK,CAAE2F,CAAM,CAAEgC,CAAY,EACtD3H,EAAQ,GAAGA,CAAAA,EAAQ,WAAaA,EAAQ,GAC5C,IAAK,IAAIwC,EAAI,EAAGoC,EAAIpB,KAAK,GAAG,CAACP,EAAI,MAAM,CAAG0C,EAAQ,GAAInD,EAAIoC,EAAG,EAAEpC,EAC7DS,CAAG,CAAC0C,EAASnD,EAAE,CAAG,AAACxC,IAAU,AAAC2H,CAAAA,EAAenF,EAAI,EAAIA,CAAAA,EAAK,EAAK,GAEnE,CAiJA,SAASqF,EAAc5E,CAAG,CAAEjD,CAAK,CAAE2F,CAAM,CAAE4B,CAAG,CAAEnC,CAAG,CAAEqC,CAAG,EACtD,GAAI9B,EAAS4B,EAAMtE,EAAI,MAAM,EACzB0C,EAAS,EADkB,MAAM,AAAI5E,WAAW,qBAEtD,CAEA,SAAS+G,EAAY7E,CAAG,CAAEjD,CAAK,CAAE2F,CAAM,CAAEgC,CAAY,CAAEI,CAAQ,EAK7D,MAJI,CAACA,GACHF,EAAa5E,EAAKjD,EAAO2F,EAAQ,EAAG,qBAAwB,uBAE9DtF,EAAQ,KAAK,CAAC4C,EAAKjD,EAAO2F,EAAQgC,EAAc,GAAI,GAC7ChC,EAAS,CAClB,CAUA,SAASqC,EAAa/E,CAAG,CAAEjD,CAAK,CAAE2F,CAAM,CAAEgC,CAAY,CAAEI,CAAQ,EAK9D,MAJI,CAACA,GACHF,EAAa5E,EAAKjD,EAAO2F,EAAQ,EAAG,sBAAyB,wBAE/DtF,EAAQ,KAAK,CAAC4C,EAAKjD,EAAO2F,EAAQgC,EAAc,GAAI,GAC7ChC,EAAS,CAClB,CAhdApF,EAAO,SAAS,CAAC,KAAK,CAAG,SAAgBuC,CAAK,CAAEC,CAAG,EACjD,IAoBIkF,EApBAhG,EAAM,IAAI,CAAC,MAAM,CAqBrB,GApBAa,EAAQ,CAAC,CAACA,EACVC,EAAMA,AAAQhD,KAAAA,IAARgD,EAAoBd,EAAM,CAAC,CAACc,EAE9BD,EAAQ,EACVA,CAAAA,GAASb,CAAE,EACC,GAAGa,CAAAA,EAAQ,GACdA,EAAQb,GACjBa,CAAAA,EAAQb,CAAE,EAGRc,EAAM,EACRA,CAAAA,GAAOd,CAAE,EACC,GAAGc,CAAAA,EAAM,GACVA,EAAMd,GACfc,CAAAA,EAAMd,CAAE,EAGNc,EAAMD,GAAOC,CAAAA,EAAMD,CAAI,EAGvBvC,EAAO,mBAAmB,CAE5B0H,AADAA,CAAAA,EAAS,IAAI,CAAC,QAAQ,CAACnF,EAAOC,EAAG,EAC1B,SAAS,CAAGxC,EAAO,SAAS,KAC9B,CACL,IAAI2H,EAAWnF,EAAMD,EACrBmF,EAAS,IAAI1H,EAAO2H,EAAUnI,KAAAA,GAC9B,IAAK,IAAIyC,EAAI,EAAGA,EAAI0F,EAAU,EAAE1F,EAC9ByF,CAAM,CAACzF,EAAE,CAAG,IAAI,CAACA,EAAIM,EAAM,AAE/B,CAEA,OAAOmF,CACT,EAUA1H,EAAO,SAAS,CAAC,UAAU,CAAG,SAAqBoF,CAAM,CAAE7D,CAAU,CAAEiG,CAAQ,EAC7EpC,GAAkB,EAClB7D,GAA0B,EACtB,CAACiG,GAAUT,EAAY3B,EAAQ7D,EAAY,IAAI,CAAC,MAAM,EAK1D,IAHA,IAAIM,EAAM,IAAI,CAACuD,EAAO,CAClBwC,EAAM,EACN3F,EAAI,EACD,EAAEA,EAAIV,GAAeqG,CAAAA,GAAO,GAAI,GACrC/F,GAAO,IAAI,CAACuD,EAASnD,EAAE,CAAG2F,EAG5B,OAAO/F,CACT,EAEA7B,EAAO,SAAS,CAAC,UAAU,CAAG,SAAqBoF,CAAM,CAAE7D,CAAU,CAAEiG,CAAQ,EAC7EpC,GAAkB,EAClB7D,GAA0B,EACtB,CAACiG,GACHT,EAAY3B,EAAQ7D,EAAY,IAAI,CAAC,MAAM,EAK7C,IAFA,IAAIM,EAAM,IAAI,CAACuD,EAAS,EAAE7D,EAAW,CACjCqG,EAAM,EACHrG,EAAa,GAAMqG,CAAAA,GAAO,GAAI,GACnC/F,GAAO,IAAI,CAACuD,EAAS,EAAE7D,EAAW,CAAGqG,EAGvC,OAAO/F,CACT,EAEA7B,EAAO,SAAS,CAAC,SAAS,CAAG,SAAoBoF,CAAM,CAAEoC,CAAQ,EAE/D,MADI,CAACA,GAAUT,EAAY3B,EAAQ,EAAG,IAAI,CAAC,MAAM,EAC1C,IAAI,CAACA,EAAO,AACrB,EAEApF,EAAO,SAAS,CAAC,YAAY,CAAG,SAAuBoF,CAAM,CAAEoC,CAAQ,EAErE,MADI,CAACA,GAAUT,EAAY3B,EAAQ,EAAG,IAAI,CAAC,MAAM,EAC1C,IAAI,CAACA,EAAO,CAAI,IAAI,CAACA,EAAS,EAAE,EAAI,CAC7C,EAEApF,EAAO,SAAS,CAAC,YAAY,CAAG,SAAuBoF,CAAM,CAAEoC,CAAQ,EAErE,MADI,CAACA,GAAUT,EAAY3B,EAAQ,EAAG,IAAI,CAAC,MAAM,EAC1C,AAAC,IAAI,CAACA,EAAO,EAAI,EAAK,IAAI,CAACA,EAAS,EAAE,AAC/C,EAEApF,EAAO,SAAS,CAAC,YAAY,CAAG,SAAuBoF,CAAM,CAAEoC,CAAQ,EAGrE,MAFI,CAACA,GAAUT,EAAY3B,EAAQ,EAAG,IAAI,CAAC,MAAM,EAE1C,AAAC,CAAC,IAAI,CAACA,EAAO,CAChB,IAAI,CAACA,EAAS,EAAE,EAAI,EACpB,IAAI,CAACA,EAAS,EAAE,EAAI,EAAE,EACtB,AAAmB,UAAnB,IAAI,CAACA,EAAS,EAAE,AACvB,EAEApF,EAAO,SAAS,CAAC,YAAY,CAAG,SAAuBoF,CAAM,CAAEoC,CAAQ,EAGrE,MAFI,CAACA,GAAUT,EAAY3B,EAAQ,EAAG,IAAI,CAAC,MAAM,EAE1C,AAAgB,UAAf,IAAI,CAACA,EAAO,CACjB,CAAC,IAAI,CAACA,EAAS,EAAE,EAAI,GACrB,IAAI,CAACA,EAAS,EAAE,EAAI,EACrB,IAAI,CAACA,EAAS,EAAE,AAAD,CACnB,EAEApF,EAAO,SAAS,CAAC,SAAS,CAAG,SAAoBoF,CAAM,CAAE7D,CAAU,CAAEiG,CAAQ,EAC3EpC,GAAkB,EAClB7D,GAA0B,EACtB,CAACiG,GAAUT,EAAY3B,EAAQ7D,EAAY,IAAI,CAAC,MAAM,EAK1D,IAHA,IAAIM,EAAM,IAAI,CAACuD,EAAO,CAClBwC,EAAM,EACN3F,EAAI,EACD,EAAEA,EAAIV,GAAeqG,CAAAA,GAAO,GAAI,GACrC/F,GAAO,IAAI,CAACuD,EAASnD,EAAE,CAAG2F,EAM5B,OAFI/F,GAFJ+F,CAAAA,GAAO,GAAG,GAEM/F,CAAAA,GAAOoB,KAAK,GAAG,CAAC,EAAG,EAAI1B,EAAU,EAE1CM,CACT,EAEA7B,EAAO,SAAS,CAAC,SAAS,CAAG,SAAoBoF,CAAM,CAAE7D,CAAU,CAAEiG,CAAQ,EAC3EpC,GAAkB,EAClB7D,GAA0B,EACtB,CAACiG,GAAUT,EAAY3B,EAAQ7D,EAAY,IAAI,CAAC,MAAM,EAK1D,IAHA,IAAIU,EAAIV,EACJqG,EAAM,EACN/F,EAAM,IAAI,CAACuD,EAAS,EAAEnD,EAAE,CACrBA,EAAI,GAAM2F,CAAAA,GAAO,GAAI,GAC1B/F,GAAO,IAAI,CAACuD,EAAS,EAAEnD,EAAE,CAAG2F,EAM9B,OAFI/F,GAFJ+F,CAAAA,GAAO,GAAG,GAEM/F,CAAAA,GAAOoB,KAAK,GAAG,CAAC,EAAG,EAAI1B,EAAU,EAE1CM,CACT,EAEA7B,EAAO,SAAS,CAAC,QAAQ,CAAG,SAAmBoF,CAAM,CAAEoC,CAAQ,QAE7D,CADI,CAACA,GAAUT,EAAY3B,EAAQ,EAAG,IAAI,CAAC,MAAM,EAC3C,AAAe,IAAf,IAAI,CAACA,EAAO,EACV,EAAC,KAAO,IAAI,CAACA,EAAO,CAAG,GAAK,CAAC,EADD,IAAI,CAACA,EAAO,AAElD,EAEApF,EAAO,SAAS,CAAC,WAAW,CAAG,SAAsBoF,CAAM,CAAEoC,CAAQ,EAC/D,CAACA,GAAUT,EAAY3B,EAAQ,EAAG,IAAI,CAAC,MAAM,EACjD,IAAIvD,EAAM,IAAI,CAACuD,EAAO,CAAI,IAAI,CAACA,EAAS,EAAE,EAAI,EAC9C,OAAO,AAACvD,AAAM,MAANA,EAAgBA,AAAM,WAANA,EAAmBA,CAC7C,EAEA7B,EAAO,SAAS,CAAC,WAAW,CAAG,SAAsBoF,CAAM,CAAEoC,CAAQ,EAC/D,CAACA,GAAUT,EAAY3B,EAAQ,EAAG,IAAI,CAAC,MAAM,EACjD,IAAIvD,EAAM,IAAI,CAACuD,EAAS,EAAE,CAAI,IAAI,CAACA,EAAO,EAAI,EAC9C,OAAO,AAACvD,AAAM,MAANA,EAAgBA,AAAM,WAANA,EAAmBA,CAC7C,EAEA7B,EAAO,SAAS,CAAC,WAAW,CAAG,SAAsBoF,CAAM,CAAEoC,CAAQ,EAGnE,MAFI,CAACA,GAAUT,EAAY3B,EAAQ,EAAG,IAAI,CAAC,MAAM,EAE1C,AAAC,IAAI,CAACA,EAAO,CACjB,IAAI,CAACA,EAAS,EAAE,EAAI,EACpB,IAAI,CAACA,EAAS,EAAE,EAAI,GACpB,IAAI,CAACA,EAAS,EAAE,EAAI,EACzB,EAEApF,EAAO,SAAS,CAAC,WAAW,CAAG,SAAsBoF,CAAM,CAAEoC,CAAQ,EAGnE,MAFI,CAACA,GAAUT,EAAY3B,EAAQ,EAAG,IAAI,CAAC,MAAM,EAE1C,AAAC,IAAI,CAACA,EAAO,EAAI,GACrB,IAAI,CAACA,EAAS,EAAE,EAAI,GACpB,IAAI,CAACA,EAAS,EAAE,EAAI,EACpB,IAAI,CAACA,EAAS,EAAE,AACrB,EAEApF,EAAO,SAAS,CAAC,WAAW,CAAG,SAAsBoF,CAAM,CAAEoC,CAAQ,EAEnE,MADI,CAACA,GAAUT,EAAY3B,EAAQ,EAAG,IAAI,CAAC,MAAM,EAC1CtF,EAAQ,IAAI,CAAC,IAAI,CAAEsF,EAAQ,GAAM,GAAI,EAC9C,EAEApF,EAAO,SAAS,CAAC,WAAW,CAAG,SAAsBoF,CAAM,CAAEoC,CAAQ,EAEnE,MADI,CAACA,GAAUT,EAAY3B,EAAQ,EAAG,IAAI,CAAC,MAAM,EAC1CtF,EAAQ,IAAI,CAAC,IAAI,CAAEsF,EAAQ,GAAO,GAAI,EAC/C,EAEApF,EAAO,SAAS,CAAC,YAAY,CAAG,SAAuBoF,CAAM,CAAEoC,CAAQ,EAErE,MADI,CAACA,GAAUT,EAAY3B,EAAQ,EAAG,IAAI,CAAC,MAAM,EAC1CtF,EAAQ,IAAI,CAAC,IAAI,CAAEsF,EAAQ,GAAM,GAAI,EAC9C,EAEApF,EAAO,SAAS,CAAC,YAAY,CAAG,SAAuBoF,CAAM,CAAEoC,CAAQ,EAErE,MADI,CAACA,GAAUT,EAAY3B,EAAQ,EAAG,IAAI,CAAC,MAAM,EAC1CtF,EAAQ,IAAI,CAAC,IAAI,CAAEsF,EAAQ,GAAO,GAAI,EAC/C,EAQApF,EAAO,SAAS,CAAC,WAAW,CAAG,SAAsBP,CAAK,CAAE2F,CAAM,CAAE7D,CAAU,CAAEiG,CAAQ,EAItF,GAHA/H,EAAQ,CAACA,EACT2F,GAAkB,EAClB7D,GAA0B,EACtB,CAACiG,EAAU,CACb,IAAIK,EAAW5E,KAAK,GAAG,CAAC,EAAG,EAAI1B,GAAc,EAC7C0F,EAAS,IAAI,CAAExH,EAAO2F,EAAQ7D,EAAYsG,EAAU,EACtD,CAEA,IAAID,EAAM,EACN3F,EAAI,EAER,IADA,IAAI,CAACmD,EAAO,CAAG3F,AAAQ,IAARA,EACR,EAAEwC,EAAIV,GAAeqG,CAAAA,GAAO,GAAI,GACrC,IAAI,CAACxC,EAASnD,EAAE,CAAG,AAACxC,EAAQmI,EAAO,IAGrC,OAAOxC,EAAS7D,CAClB,EAEAvB,EAAO,SAAS,CAAC,WAAW,CAAG,SAAsBP,CAAK,CAAE2F,CAAM,CAAE7D,CAAU,CAAEiG,CAAQ,EAItF,GAHA/H,EAAQ,CAACA,EACT2F,GAAkB,EAClB7D,GAA0B,EACtB,CAACiG,EAAU,CACb,IAAIK,EAAW5E,KAAK,GAAG,CAAC,EAAG,EAAI1B,GAAc,EAC7C0F,EAAS,IAAI,CAAExH,EAAO2F,EAAQ7D,EAAYsG,EAAU,EACtD,CAEA,IAAI5F,EAAIV,EAAa,EACjBqG,EAAM,EAEV,IADA,IAAI,CAACxC,EAASnD,EAAE,CAAGxC,AAAQ,IAARA,EACZ,EAAEwC,GAAK,GAAM2F,CAAAA,GAAO,GAAI,GAC7B,IAAI,CAACxC,EAASnD,EAAE,CAAG,AAACxC,EAAQmI,EAAO,IAGrC,OAAOxC,EAAS7D,CAClB,EAEAvB,EAAO,SAAS,CAAC,UAAU,CAAG,SAAqBP,CAAK,CAAE2F,CAAM,CAAEoC,CAAQ,EAMxE,OALA/H,EAAQ,CAACA,EACT2F,GAAkB,EACd,CAACoC,GAAUP,EAAS,IAAI,CAAExH,EAAO2F,EAAQ,EAAG,IAAM,GAClD,CAACpF,EAAO,mBAAmB,EAAEP,CAAAA,EAAQwD,KAAK,KAAK,CAACxD,EAAK,EACzD,IAAI,CAAC2F,EAAO,CAAI3F,AAAQ,IAARA,EACT2F,EAAS,CAClB,EAUApF,EAAO,SAAS,CAAC,aAAa,CAAG,SAAwBP,CAAK,CAAE2F,CAAM,CAAEoC,CAAQ,EAU9E,OATA/H,EAAQ,CAACA,EACT2F,GAAkB,EACd,CAACoC,GAAUP,EAAS,IAAI,CAAExH,EAAO2F,EAAQ,EAAG,MAAQ,GACpDpF,EAAO,mBAAmB,EAC5B,IAAI,CAACoF,EAAO,CAAI3F,AAAQ,IAARA,EAChB,IAAI,CAAC2F,EAAS,EAAE,CAAI3F,IAAU,GAE9B0H,EAAkB,IAAI,CAAE1H,EAAO2F,EAAQ,IAElCA,EAAS,CAClB,EAEApF,EAAO,SAAS,CAAC,aAAa,CAAG,SAAwBP,CAAK,CAAE2F,CAAM,CAAEoC,CAAQ,EAU9E,OATA/H,EAAQ,CAACA,EACT2F,GAAkB,EACd,CAACoC,GAAUP,EAAS,IAAI,CAAExH,EAAO2F,EAAQ,EAAG,MAAQ,GACpDpF,EAAO,mBAAmB,EAC5B,IAAI,CAACoF,EAAO,CAAI3F,IAAU,EAC1B,IAAI,CAAC2F,EAAS,EAAE,CAAI3F,AAAQ,IAARA,GAEpB0H,EAAkB,IAAI,CAAE1H,EAAO2F,EAAQ,IAElCA,EAAS,CAClB,EASApF,EAAO,SAAS,CAAC,aAAa,CAAG,SAAwBP,CAAK,CAAE2F,CAAM,CAAEoC,CAAQ,EAY9E,OAXA/H,EAAQ,CAACA,EACT2F,GAAkB,EACd,CAACoC,GAAUP,EAAS,IAAI,CAAExH,EAAO2F,EAAQ,EAAG,WAAY,GACxDpF,EAAO,mBAAmB,EAC5B,IAAI,CAACoF,EAAS,EAAE,CAAI3F,IAAU,GAC9B,IAAI,CAAC2F,EAAS,EAAE,CAAI3F,IAAU,GAC9B,IAAI,CAAC2F,EAAS,EAAE,CAAI3F,IAAU,EAC9B,IAAI,CAAC2F,EAAO,CAAI3F,AAAQ,IAARA,GAEhB4H,EAAkB,IAAI,CAAE5H,EAAO2F,EAAQ,IAElCA,EAAS,CAClB,EAEApF,EAAO,SAAS,CAAC,aAAa,CAAG,SAAwBP,CAAK,CAAE2F,CAAM,CAAEoC,CAAQ,EAY9E,OAXA/H,EAAQ,CAACA,EACT2F,GAAkB,EACd,CAACoC,GAAUP,EAAS,IAAI,CAAExH,EAAO2F,EAAQ,EAAG,WAAY,GACxDpF,EAAO,mBAAmB,EAC5B,IAAI,CAACoF,EAAO,CAAI3F,IAAU,GAC1B,IAAI,CAAC2F,EAAS,EAAE,CAAI3F,IAAU,GAC9B,IAAI,CAAC2F,EAAS,EAAE,CAAI3F,IAAU,EAC9B,IAAI,CAAC2F,EAAS,EAAE,CAAI3F,AAAQ,IAARA,GAEpB4H,EAAkB,IAAI,CAAE5H,EAAO2F,EAAQ,IAElCA,EAAS,CAClB,EAEApF,EAAO,SAAS,CAAC,UAAU,CAAG,SAAqBP,CAAK,CAAE2F,CAAM,CAAE7D,CAAU,CAAEiG,CAAQ,EAGpF,GAFA/H,EAAQ,CAACA,EACT2F,GAAkB,EACd,CAACoC,EAAU,CACb,IAAIM,EAAQ7E,KAAK,GAAG,CAAC,EAAG,EAAI1B,EAAa,GAEzC0F,EAAS,IAAI,CAAExH,EAAO2F,EAAQ7D,EAAYuG,EAAQ,EAAG,CAACA,EACxD,CAEA,IAAI7F,EAAI,EACJ2F,EAAM,EACNG,EAAM,EAEV,IADA,IAAI,CAAC3C,EAAO,CAAG3F,AAAQ,IAARA,EACR,EAAEwC,EAAIV,GAAeqG,CAAAA,GAAO,GAAI,GACjCnI,EAAQ,GAAKsI,AAAQ,IAARA,GAAa,AAAyB,IAAzB,IAAI,CAAC3C,EAASnD,EAAI,EAAE,EAChD8F,CAAAA,EAAM,GAER,IAAI,CAAC3C,EAASnD,EAAE,CAAG,AAAC,CAACxC,EAAQmI,GAAQ,GAAKG,EAAM,IAGlD,OAAO3C,EAAS7D,CAClB,EAEAvB,EAAO,SAAS,CAAC,UAAU,CAAG,SAAqBP,CAAK,CAAE2F,CAAM,CAAE7D,CAAU,CAAEiG,CAAQ,EAGpF,GAFA/H,EAAQ,CAACA,EACT2F,GAAkB,EACd,CAACoC,EAAU,CACb,IAAIM,EAAQ7E,KAAK,GAAG,CAAC,EAAG,EAAI1B,EAAa,GAEzC0F,EAAS,IAAI,CAAExH,EAAO2F,EAAQ7D,EAAYuG,EAAQ,EAAG,CAACA,EACxD,CAEA,IAAI7F,EAAIV,EAAa,EACjBqG,EAAM,EACNG,EAAM,EAEV,IADA,IAAI,CAAC3C,EAASnD,EAAE,CAAGxC,AAAQ,IAARA,EACZ,EAAEwC,GAAK,GAAM2F,CAAAA,GAAO,GAAI,GACzBnI,EAAQ,GAAKsI,AAAQ,IAARA,GAAa,AAAyB,IAAzB,IAAI,CAAC3C,EAASnD,EAAI,EAAE,EAChD8F,CAAAA,EAAM,GAER,IAAI,CAAC3C,EAASnD,EAAE,CAAG,AAAC,CAACxC,EAAQmI,GAAQ,GAAKG,EAAM,IAGlD,OAAO3C,EAAS7D,CAClB,EAEAvB,EAAO,SAAS,CAAC,SAAS,CAAG,SAAoBP,CAAK,CAAE2F,CAAM,CAAEoC,CAAQ,EAOtE,OANA/H,EAAQ,CAACA,EACT2F,GAAkB,EACd,CAACoC,GAAUP,EAAS,IAAI,CAAExH,EAAO2F,EAAQ,EAAG,IAAM,MAClD,CAACpF,EAAO,mBAAmB,EAAEP,CAAAA,EAAQwD,KAAK,KAAK,CAACxD,EAAK,EACrDA,EAAQ,GAAGA,CAAAA,EAAQ,IAAOA,EAAQ,GACtC,IAAI,CAAC2F,EAAO,CAAI3F,AAAQ,IAARA,EACT2F,EAAS,CAClB,EAEApF,EAAO,SAAS,CAAC,YAAY,CAAG,SAAuBP,CAAK,CAAE2F,CAAM,CAAEoC,CAAQ,EAU5E,OATA/H,EAAQ,CAACA,EACT2F,GAAkB,EACd,CAACoC,GAAUP,EAAS,IAAI,CAAExH,EAAO2F,EAAQ,EAAG,MAAQ,QACpDpF,EAAO,mBAAmB,EAC5B,IAAI,CAACoF,EAAO,CAAI3F,AAAQ,IAARA,EAChB,IAAI,CAAC2F,EAAS,EAAE,CAAI3F,IAAU,GAE9B0H,EAAkB,IAAI,CAAE1H,EAAO2F,EAAQ,IAElCA,EAAS,CAClB,EAEApF,EAAO,SAAS,CAAC,YAAY,CAAG,SAAuBP,CAAK,CAAE2F,CAAM,CAAEoC,CAAQ,EAU5E,OATA/H,EAAQ,CAACA,EACT2F,GAAkB,EACd,CAACoC,GAAUP,EAAS,IAAI,CAAExH,EAAO2F,EAAQ,EAAG,MAAQ,QACpDpF,EAAO,mBAAmB,EAC5B,IAAI,CAACoF,EAAO,CAAI3F,IAAU,EAC1B,IAAI,CAAC2F,EAAS,EAAE,CAAI3F,AAAQ,IAARA,GAEpB0H,EAAkB,IAAI,CAAE1H,EAAO2F,EAAQ,IAElCA,EAAS,CAClB,EAEApF,EAAO,SAAS,CAAC,YAAY,CAAG,SAAuBP,CAAK,CAAE2F,CAAM,CAAEoC,CAAQ,EAY5E,OAXA/H,EAAQ,CAACA,EACT2F,GAAkB,EACd,CAACoC,GAAUP,EAAS,IAAI,CAAExH,EAAO2F,EAAQ,EAAG,WAAY,aACxDpF,EAAO,mBAAmB,EAC5B,IAAI,CAACoF,EAAO,CAAI3F,AAAQ,IAARA,EAChB,IAAI,CAAC2F,EAAS,EAAE,CAAI3F,IAAU,EAC9B,IAAI,CAAC2F,EAAS,EAAE,CAAI3F,IAAU,GAC9B,IAAI,CAAC2F,EAAS,EAAE,CAAI3F,IAAU,IAE9B4H,EAAkB,IAAI,CAAE5H,EAAO2F,EAAQ,IAElCA,EAAS,CAClB,EAEApF,EAAO,SAAS,CAAC,YAAY,CAAG,SAAuBP,CAAK,CAAE2F,CAAM,CAAEoC,CAAQ,EAa5E,OAZA/H,EAAQ,CAACA,EACT2F,GAAkB,EACd,CAACoC,GAAUP,EAAS,IAAI,CAAExH,EAAO2F,EAAQ,EAAG,WAAY,aACxD3F,EAAQ,GAAGA,CAAAA,EAAQ,WAAaA,EAAQ,GACxCO,EAAO,mBAAmB,EAC5B,IAAI,CAACoF,EAAO,CAAI3F,IAAU,GAC1B,IAAI,CAAC2F,EAAS,EAAE,CAAI3F,IAAU,GAC9B,IAAI,CAAC2F,EAAS,EAAE,CAAI3F,IAAU,EAC9B,IAAI,CAAC2F,EAAS,EAAE,CAAI3F,AAAQ,IAARA,GAEpB4H,EAAkB,IAAI,CAAE5H,EAAO2F,EAAQ,IAElCA,EAAS,CAClB,EAeApF,EAAO,SAAS,CAAC,YAAY,CAAG,SAAuBP,CAAK,CAAE2F,CAAM,CAAEoC,CAAQ,EAC5E,OAAOD,EAAW,IAAI,CAAE9H,EAAO2F,EAAQ,GAAMoC,EAC/C,EAEAxH,EAAO,SAAS,CAAC,YAAY,CAAG,SAAuBP,CAAK,CAAE2F,CAAM,CAAEoC,CAAQ,EAC5E,OAAOD,EAAW,IAAI,CAAE9H,EAAO2F,EAAQ,GAAOoC,EAChD,EAUAxH,EAAO,SAAS,CAAC,aAAa,CAAG,SAAwBP,CAAK,CAAE2F,CAAM,CAAEoC,CAAQ,EAC9E,OAAOC,EAAY,IAAI,CAAEhI,EAAO2F,EAAQ,GAAMoC,EAChD,EAEAxH,EAAO,SAAS,CAAC,aAAa,CAAG,SAAwBP,CAAK,CAAE2F,CAAM,CAAEoC,CAAQ,EAC9E,OAAOC,EAAY,IAAI,CAAEhI,EAAO2F,EAAQ,GAAOoC,EACjD,EAGAxH,EAAO,SAAS,CAAC,IAAI,CAAG,SAAe8E,CAAM,CAAEkD,CAAW,CAAEzF,CAAK,CAAEC,CAAG,EAQpE,GAPI,CAACD,GAAOA,CAAAA,EAAQ,GAChB,CAACC,GAAOA,AAAQ,IAARA,GAAWA,CAAAA,EAAM,IAAI,CAAC,MAAM,AAAD,EACnCwF,GAAelD,EAAO,MAAM,EAAEkD,CAAAA,EAAclD,EAAO,MAAM,AAAD,EACxD,CAACkD,GAAaA,CAAAA,EAAc,GAC5BxF,EAAM,GAAKA,EAAMD,GAAOC,CAAAA,EAAMD,CAAI,EAGlCC,IAAQD,GACRuC,AAAkB,IAAlBA,EAAO,MAAM,EAAU,AAAgB,IAAhB,IAAI,CAAC,MAAM,CADnB,OAAO,EAI1B,GAAIkD,EAAc,EAChB,MAAM,AAAIxH,WAAW,6BAEvB,GAAI+B,EAAQ,GAAKA,GAAS,IAAI,CAAC,MAAM,CAAE,MAAM,AAAI/B,WAAW,6BAC5D,GAAIgC,EAAM,EAAG,MAAM,AAAIhC,WAAW,2BAG9BgC,EAAM,IAAI,CAAC,MAAM,EAAEA,CAAAA,EAAM,IAAI,CAAC,MAAM,AAAD,EACnCsC,EAAO,MAAM,CAAGkD,EAAcxF,EAAMD,GACtCC,CAAAA,EAAMsC,EAAO,MAAM,CAAGkD,EAAczF,CAAI,EAG1C,IACIN,EADAP,EAAMc,EAAMD,EAGhB,GAAI,IAAI,GAAKuC,GAAUvC,EAAQyF,GAAeA,EAAcxF,EAE1D,IAAKP,EAAIP,EAAM,EAAGO,GAAK,EAAG,EAAEA,EAC1B6C,CAAM,CAAC7C,EAAI+F,EAAY,CAAG,IAAI,CAAC/F,EAAIM,EAAM,MAEtC,GAAIb,EAAM,KAAQ,CAAC1B,EAAO,mBAAmB,CAElD,IAAKiC,EAAI,EAAGA,EAAIP,EAAK,EAAEO,EACrB6C,CAAM,CAAC7C,EAAI+F,EAAY,CAAG,IAAI,CAAC/F,EAAIM,EAAM,MAG3CnC,WAAW,SAAS,CAAC,GAAG,CAAC,IAAI,CAC3B0E,EACA,IAAI,CAAC,QAAQ,CAACvC,EAAOA,EAAQb,GAC7BsG,GAIJ,OAAOtG,CACT,EAMA1B,EAAO,SAAS,CAAC,IAAI,CAAG,SAAe6B,CAAG,CAAEU,CAAK,CAAEC,CAAG,CAAElB,CAAQ,EAE9D,GAAI,AAAe,UAAf,OAAOO,EAAkB,CAS3B,GARI,AAAiB,UAAjB,OAAOU,GACTjB,EAAWiB,EACXA,EAAQ,EACRC,EAAM,IAAI,CAAC,MAAM,EACO,UAAf,OAAOA,IAChBlB,EAAWkB,EACXA,EAAM,IAAI,CAAC,MAAM,EAEfX,AAAe,IAAfA,EAAI,MAAM,CAAQ,CACpB,IA6BAI,EA7BIgG,EAAOpG,EAAI,UAAU,CAAC,GACtBoG,EAAO,KACTpG,CAAAA,EAAMoG,CAAG,CAEb,CACA,GAAI3G,AAAa9B,KAAAA,IAAb8B,GAA0B,AAAoB,UAApB,OAAOA,EACnC,MAAM,AAAIR,UAAU,6BAEtB,GAAI,AAAoB,UAApB,OAAOQ,GAAyB,CAACtB,EAAO,UAAU,CAACsB,GACrD,MAAM,AAAIR,UAAU,qBAAuBQ,EAE/C,KAA0B,UAAf,OAAOO,GAChBA,CAAAA,GAAY,GAAE,EAIhB,GAAIU,EAAQ,GAAK,IAAI,CAAC,MAAM,CAAGA,GAAS,IAAI,CAAC,MAAM,CAAGC,EACpD,MAAM,AAAIhC,WAAW,sBAGvB,GAAIgC,GAAOD,EACT,OAAO,IAAI,CASb,GANAA,KAAkB,EAClBC,EAAMA,AAAQhD,KAAAA,IAARgD,EAAoB,IAAI,CAAC,MAAM,CAAGA,IAAQ,EAE5C,CAACX,GAAKA,CAAAA,EAAM,GAGZ,AAAe,UAAf,OAAOA,EACT,IAAKI,EAAIM,EAAON,EAAIO,EAAK,EAAEP,EACzB,IAAI,CAACA,EAAE,CAAGJ,MAEP,CACL,IAAIyB,EAAQtD,EAAO,QAAQ,CAAC6B,GACxBA,EACAO,EAAY,IAAIpC,EAAO6B,EAAKP,GAAU,QAAQ,IAC9CI,EAAM4B,EAAM,MAAM,CACtB,IAAKrB,EAAI,EAAGA,EAAIO,EAAMD,EAAO,EAAEN,EAC7B,IAAI,CAACA,EAAIM,EAAM,CAAGe,CAAK,CAACrB,EAAIP,EAAI,AAEpC,CAEA,OAAO,IAAI,AACb,EAKA,IAAIwG,EAAoB,qBAwBxB,SAAS9F,EAAaf,CAAM,CAAE2E,CAAK,EACjCA,EAAQA,GAASmC,IAMjB,IAAK,IALDxB,EACA1G,EAASoB,EAAO,MAAM,CACtB+G,EAAgB,KAChB9E,EAAQ,EAAE,CAELrB,EAAI,EAAGA,EAAIhC,EAAQ,EAAEgC,EAAG,CAI/B,GAAI0E,AAHJA,CAAAA,EAAYtF,EAAO,UAAU,CAACY,EAAC,EAGf,OAAU0E,EAAY,MAAQ,CAE5C,GAAI,CAACyB,EAAe,CAElB,GAAIzB,EAAY,MAAQ,CAEjBX,CAAAA,GAAS,GAAK,IAAI1C,EAAM,IAAI,CAAC,IAAM,IAAM,KAC9C,QACF,CAAO,GAAIrB,EAAI,IAAMhC,EAAQ,CAEtB+F,CAAAA,GAAS,GAAK,IAAI1C,EAAM,IAAI,CAAC,IAAM,IAAM,KAC9C,QACF,CAGA8E,EAAgBzB,EAEhB,QACF,CAGA,GAAIA,EAAY,MAAQ,CACjBX,CAAAA,GAAS,GAAK,IAAI1C,EAAM,IAAI,CAAC,IAAM,IAAM,KAC9C8E,EAAgBzB,EAChB,QACF,CAGAA,EAAY,AAACyB,CAAAA,EAAgB,OAAU,GAAKzB,EAAY,KAAK,EAAK,KACpE,MAAWyB,GAEJpC,CAAAA,GAAS,GAAK,IAAI1C,EAAM,IAAI,CAAC,IAAM,IAAM,KAMhD,GAHA8E,EAAgB,KAGZzB,EAAY,IAAM,CACpB,GAAI,AAACX,CAAAA,GAAS,GAAK,EAAG,MACtB1C,EAAM,IAAI,CAACqD,EACb,MAAO,GAAIA,EAAY,KAAO,CAC5B,GAAI,AAACX,CAAAA,GAAS,GAAK,EAAG,MACtB1C,EAAM,IAAI,CACRqD,GAAa,EAAM,IACnBA,AAAY,GAAZA,EAAmB,IAEvB,MAAO,GAAIA,EAAY,MAAS,CAC9B,GAAI,AAACX,CAAAA,GAAS,GAAK,EAAG,MACtB1C,EAAM,IAAI,CACRqD,GAAa,GAAM,IACnBA,GAAa,EAAM,GAAO,IAC1BA,AAAY,GAAZA,EAAmB,IAEvB,MAAO,GAAIA,EAAY,QAAU,CAC/B,GAAI,AAACX,CAAAA,GAAS,GAAK,EAAG,MACtB1C,EAAM,IAAI,CACRqD,GAAa,GAAO,IACpBA,GAAa,GAAM,GAAO,IAC1BA,GAAa,EAAM,GAAO,IAC1BA,AAAY,GAAZA,EAAmB,IAEvB,MACE,MAAM,AAAIhG,MAAM,qBAEpB,CAEA,OAAO2C,CACT,CAEA,SAASgC,EAAcV,CAAG,EAExB,IAAK,IADDwB,EAAY,EAAE,CACTnE,EAAI,EAAGA,EAAI2C,EAAI,MAAM,CAAE,EAAE3C,EAEhCmE,EAAU,IAAI,CAACxB,AAAoB,IAApBA,EAAI,UAAU,CAAC3C,IAEhC,OAAOmE,CACT,CAkBA,SAAS/D,EAAeuC,CAAG,EACzB,OAAO/E,EAAO,WAAW,CAACwI,AAhI5B,SAAsBzD,CAAG,EAIvB,GAAIA,AAFJA,CAAAA,EAAM0D,AAUR,UAAqB1D,CAAG,SACtB,AAAIA,EAAI,IAAI,CAASA,EAAI,IAAI,GACtBA,EAAI,OAAO,CAAC,aAAc,GACnC,GAbmBA,GAAK,OAAO,CAACsD,EAAmB,GAAE,EAE3C,MAAM,CAAG,EAAG,MAAO,GAE3B,KAAOtD,EAAI,MAAM,CAAG,GAAM,GACxBA,GAAY,IAEd,OAAOA,CACT,EAsHwCA,GACxC,CAEA,SAASS,EAAYkD,CAAG,CAAEC,CAAG,CAAEpD,CAAM,CAAEnF,CAAM,EAC3C,IAAK,IAAIgC,EAAI,EACX,AADcA,EAAIhC,IACbgC,CAAAA,EAAImD,GAAUoD,EAAI,MAAM,AAAD,IAAOvG,CAAAA,GAAKsG,EAAI,MAAM,AAAD,EADvB,EAAEtG,EAE5BuG,CAAG,CAACvG,EAAImD,EAAO,CAAGmD,CAAG,CAACtG,EAAE,CAE1B,OAAOA,CACT,CAM2B,GAAE,IAAI,CAACrE,EAAS,EAAoB,GAEzD,EAEC,SAASD,CAAM,CAAEC,CAAO,EAE3B,AAAyB,YAAzB,OAAOG,OAAO,MAAM,CAEtBJ,EAAO,OAAO,CAAG,SAAkB8K,CAAI,CAAEC,CAAS,EAC5CA,IACFD,EAAK,MAAM,CAAGC,EACdD,EAAK,SAAS,CAAG1K,OAAO,MAAM,CAAC2K,EAAU,SAAS,CAAE,CAClD,YAAa,CACX,MAAOD,EACP,WAAY,GACZ,SAAU,GACV,aAAc,EAChB,CACF,GAEJ,EAGA9K,EAAO,OAAO,CAAG,SAAkB8K,CAAI,CAAEC,CAAS,EAChD,GAAIA,EAAW,CACbD,EAAK,MAAM,CAAGC,EACd,IAAIC,EAAW,WAAa,CAC5BA,CAAAA,EAAS,SAAS,CAAGD,EAAU,SAAS,CACxCD,EAAK,SAAS,CAAG,IAAIE,EACrBF,EAAK,SAAS,CAAC,WAAW,CAAGA,CAC/B,CACF,CAII,EAEC,SAAS9K,CAAM,CAAEC,CAAO,CAAEgL,CAAmB,EAEpD,iBAGIC,EACOA,EAFX9K,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAGvDiL,CADOA,EAGIjL,EAAQ,SAAS,EAAKA,CAAAA,EAAQ,SAAS,CAAG,CAAC,IAF5C,OAAU,CAAG,UACvBiL,EAAU,QAAW,CAAG,UAItB,EAEC,SAASlL,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCC,EAAkB,EAAoB,IACtCC,EAAe,EAAoB,IACnCC,EAAc,EAAoB,IAClCC,EAAW,EAAoB,IAC/BC,EAAU,EAAoB,IAC9BC,EAAc,EAAoB,GACxC,OAAMC,UAAsBP,EAAiB,yBAAyB,CAClE,YAAYzJ,CAAO,CAAE,CAEjB,GADA,KAAK,CAAC,SACF,CAACA,EACD,MAEAA,CAAAA,EAAQ,IAAI,EACZ,IAAI,CAAC,IAAI,CAAC,IAAI2J,EAAa,IAAI,EAE/B,CAA+BxJ,KAAAA,IAA9BH,EAAQ,iBAAiB,EAAkBA,EAAQ,IAAI,EAAKA,EAAQ,iBAAiB,AAAD,GACrF,IAAI,CAAC,IAAI,CAAC,IAAI2J,EAAa,iBAAiB,EAE5C3J,EAAQ,OAAO,EACf,IAAI,CAAC,IAAI,CAAC,IAAI2J,EAAa,OAAO,EAElC,CAAkCxJ,KAAAA,IAAjCH,EAAQ,oBAAoB,EAAkBA,EAAQ,OAAO,EAAKA,EAAQ,oBAAoB,AAAD,GAC9F,IAAI,CAAC,IAAI,CAAC,IAAI2J,EAAa,oBAAoB,EAE/C3J,EAAQ,SAAS,EACjB,IAAI,CAAC,IAAI,CAAC,IAAI+J,EAAY,SAAS,CAAC/J,EAAQ,SAAS,CAAC,IAAI,CAAEA,EAAQ,SAAS,CAAC,KAAK,GAEnFA,EAAQ,YAAY,EACpB,IAAI,CAAC,IAAI,CAAC,IAAI0J,EAAgB,YAAY,CAAC1J,EAAQ,YAAY,CAAC,IAAI,GAEpEA,EAAQ,KAAK,EACb,IAAI,CAAC,IAAI,CAAC,IAAI2J,EAAa,KAAK,CAAC3J,EAAQ,KAAK,GAE9CA,EAAQ,IAAI,EACZ,IAAI,CAAC,IAAI,CAAC,IAAI2J,EAAa,IAAI,CAAC3J,EAAQ,IAAI,GAEhD,IAAMiK,EAAOjK,AAA8BG,KAAAA,IAA9BH,EAAQ,iBAAiB,EAAkBA,AAA8B,KAA9BA,EAAQ,iBAAiB,CAAYA,EAAQ,IAAI,CAAGA,EAAQ,iBAAiB,CACjIiK,GACA,IAAI,CAAC,IAAI,CAAC,IAAIN,EAAa,iBAAiB,CAACM,IAE7CjK,EAAQ,WAAW,EACnB,IAAI,CAAC,IAAI,CAAC,IAAI2J,EAAa,WAAW,EAEtC3J,EAAQ,SAAS,EACjB,IAAI,CAAC,IAAI,CAAC,IAAI2J,EAAa,SAAS,EAEpC3J,EAAQ,OAAO,EACf,IAAI,CAAC,IAAI,CAAC,IAAI2J,EAAa,IAAI,EAE/B3J,EAAQ,MAAM,EACd,IAAI,CAAC,IAAI,CAAC,IAAI2J,EAAa,MAAM,EAEjC3J,EAAQ,YAAY,EACpB,IAAI,CAAC,IAAI,CAAC,IAAI2J,EAAa,YAAY,EAEvC3J,EAAQ,SAAS,EACjB,IAAI,CAAC,IAAI,CAAC,IAAI6J,EAAS,SAAS,EAEhC7J,EAAQ,WAAW,EACnB,IAAI,CAAC,IAAI,CAAC,IAAI6J,EAAS,WAAW,EAElC7J,EAAQ,KAAK,EACb,IAAI,CAAC,IAAI,CAAC,IAAI8J,EAAQ,KAAK,CAAC9J,EAAQ,KAAK,GAEzCA,EAAQ,IAAI,GACR,AAAwB,UAAxB,OAAOA,EAAQ,IAAI,CACnB,IAAI,CAAC,IAAI,CAAC,IAAI4J,EAAY,QAAQ,CAAC5J,EAAQ,IAAI,GAE1C,SAAUA,EAAQ,IAAI,CAC3B,IAAI,CAAC,IAAI,CAAC,IAAI4J,EAAY,QAAQ,CAAC5J,EAAQ,IAAI,CAAC,IAAI,CAAEA,EAAQ,IAAI,CAAC,IAAI,GAGvE,IAAI,CAAC,IAAI,CAAC,IAAI4J,EAAY,QAAQ,CAAC5J,EAAQ,IAAI,IAGnDA,EAAQ,SAAS,EACjB,IAAI,CAAC,IAAI,CAAC,IAAI2J,EAAa,SAAS,CAAC3J,EAAQ,SAAS,GAE1D,IAAMkK,EAAclK,AAAmCG,KAAAA,IAAnCH,EAAQ,sBAAsB,EAAkBA,AAAmC,KAAnCA,EAAQ,sBAAsB,CAC5FA,EAAQ,SAAS,CACjBA,EAAQ,sBAAsB,CAChCkK,GACA,IAAI,CAAC,IAAI,CAAC,IAAIP,EAAa,sBAAsB,CAACO,IAElDlK,EAAQ,gBAAgB,EACxB,IAAI,CAAC,IAAI,CAAC,IAAI2J,EAAa,gBAAgB,CAAC3J,EAAQ,gBAAgB,GAExE,IAAMmK,EAAUnK,EAAQ,OAAO,EAAIA,EAAQ,MAAM,CAC7CmK,GACA,IAAI,CAAC,IAAI,CAAC,IAAIR,EAAa,OAAO,CAACQ,EAAQ,IAAI,CAAEA,EAAQ,IAAI,CAAEA,EAAQ,KAAK,GAEhF,IAAMC,EAAQpK,AAAiCG,KAAAA,IAAjCH,EAAQ,oBAAoB,EAAkBA,AAAiC,KAAjCA,EAAQ,oBAAoB,CAAYmK,EAAUnK,EAAQ,oBAAoB,CACtIoK,GACA,IAAI,CAAC,IAAI,CAAC,IAAIT,EAAa,mBAAmB,CAACS,EAAM,IAAI,CAAEA,EAAM,IAAI,CAAEA,EAAM,KAAK,EAE1F,CACA,KAAKC,CAAI,CAAE,CACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EACnB,CACJ,CACA9L,EAAQ,aAAa,CAAGyL,CAGlB,EAEC,SAAS1L,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,IAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMa,UAA2Bb,EAAiB,qBAAqB,CACnE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,IAAK,YACL,GAAI,WACJ,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,KAAM,aACN,GAAI,WACJ,IAAK,YACL,EAAG,UACH,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,UAAW,eACX,GAAI,WACJ,GAAI,WACJ,QAAS,gBACT,SAAU,iBACV,IAAK,YACL,KAAM,UACV,CACJ,CACJ,CACA/G,EAAQ,kBAAkB,CAAG+L,CAGvB,EAEC,SAAShM,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,IAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,IAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,EAG/B,IAOIgM,EACAC,EAkFAC,EA1FAC,EAAUpM,EAAO,OAAO,CAAG,CAAC,EAUhC,SAASqM,IACL,MAAM,AAAIrJ,MAAM,kCACpB,CACA,SAASsJ,IACL,MAAM,AAAItJ,MAAM,oCACpB,CAqBA,SAASuJ,EAAWC,CAAG,EACnB,GAAIP,IAAqBQ,WAErB,OAAOA,WAAWD,EAAK,GAG3B,GAAI,AAACP,CAAAA,IAAqBI,GAAoB,CAACJ,CAAe,GAAMQ,WAEhE,OADAR,EAAmBQ,WACZA,WAAWD,EAAK,GAE3B,GAAI,CAEA,OAAOP,EAAiBO,EAAK,EACjC,CAAE,MAAM3L,EAAE,CACN,GAAI,CAEA,OAAOoL,EAAiB,IAAI,CAAC,KAAMO,EAAK,EAC5C,CAAE,MAAM3L,EAAE,CAEN,OAAOoL,EAAiB,IAAI,CAAC,IAAI,CAAEO,EAAK,EAC5C,CACJ,CAGJ,EA5CC,WACG,GAAI,CAEIP,EADA,AAAsB,YAAtB,OAAOQ,WACYA,WAEAJ,CAE3B,CAAE,MAAOxL,EAAG,CACRoL,EAAmBI,CACvB,CACA,GAAI,CAEIH,EADA,AAAwB,YAAxB,OAAOQ,aACcA,aAEAJ,CAE7B,CAAE,MAAOzL,EAAG,CACRqL,EAAqBI,CACzB,CACJ,IAqDA,IAAIK,EAAQ,EAAE,CACVC,EAAW,GAEXC,EAAa,GAEjB,SAASC,IACL,GAAI,EAACF,IAAY,CAACT,EAGlBS,EAAW,GACPT,EAAa,MAAM,CACnBQ,EAAQR,EAAa,MAAM,CAACQ,GAE5BE,EAAa,GAEbF,EAAM,MAAM,EACZI,GAER,CAEA,SAASA,IACL,IAAIH,GAGJ,IAAII,EAAUT,EAAWO,GACzBF,EAAW,GAGX,IADA,IAAI7I,EAAM4I,EAAM,MAAM,CAChB5I,GAAK,CAGP,IAFAoI,EAAeQ,EACfA,EAAQ,EAAE,CACH,EAAEE,EAAa9I,GACdoI,GACAA,CAAY,CAACU,EAAW,CAAC,GAAG,GAGpCA,EAAa,GACb9I,EAAM4I,EAAM,MAAM,AACtB,CACAR,EAAe,KACfS,EAAW,IACXK,AApEJ,SAAyBC,CAAM,EAC3B,GAAIhB,IAAuBQ,aAEvB,OAAOA,aAAaQ,GAGxB,GAAI,AAAChB,CAAAA,IAAuBI,GAAuB,CAACJ,CAAiB,GAAMQ,aAEvE,OADAR,EAAqBQ,aACdA,aAAaQ,GAExB,GAAI,CAEOhB,EAAmBgB,EAC9B,CAAE,MAAOrM,EAAE,CACP,GAAI,CAEA,OAAOqL,EAAmB,IAAI,CAAC,KAAMgB,EACzC,CAAE,MAAOrM,EAAE,CAGP,OAAOqL,EAAmB,IAAI,CAAC,IAAI,CAAEgB,EACzC,CACJ,CAIJ,EA0CoBF,GACpB,CAgBA,SAASG,EAAKX,CAAG,CAAElJ,CAAK,EACpB,IAAI,CAAC,GAAG,CAAGkJ,EACX,IAAI,CAAC,KAAK,CAAGlJ,CACjB,CAWA,SAAS8J,IAAQ,CA5BjBhB,EAAQ,QAAQ,CAAG,SAAUI,CAAG,EAC5B,IAAIa,EAAO,AAAI3E,MAAM1B,UAAU,MAAM,CAAG,GACxC,GAAIA,UAAU,MAAM,CAAG,EACnB,IAAK,IAAI1C,EAAI,EAAGA,EAAI0C,UAAU,MAAM,CAAE1C,IAClC+I,CAAI,CAAC/I,EAAI,EAAE,CAAG0C,SAAS,CAAC1C,EAAE,CAGlCqI,EAAM,IAAI,CAAC,IAAIQ,EAAKX,EAAKa,IACJ,IAAjBV,EAAM,MAAM,EAAU,CAACC,GACvBL,EAAWQ,EAEnB,EAOAI,EAAK,SAAS,CAAC,GAAG,CAAG,WACjB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAM,IAAI,CAAC,KAAK,CACnC,EACAf,EAAQ,KAAK,CAAG,UAChBA,EAAQ,OAAO,CAAG,GAClBA,EAAQ,GAAG,CAAG,CAAC,EACfA,EAAQ,IAAI,CAAG,EAAE,CACjBA,EAAQ,OAAO,CAAG,GAClBA,EAAQ,QAAQ,CAAG,CAAC,EAIpBA,EAAQ,EAAE,CAAGgB,EACbhB,EAAQ,WAAW,CAAGgB,EACtBhB,EAAQ,IAAI,CAAGgB,EACfhB,EAAQ,GAAG,CAAGgB,EACdhB,EAAQ,cAAc,CAAGgB,EACzBhB,EAAQ,kBAAkB,CAAGgB,EAC7BhB,EAAQ,IAAI,CAAGgB,EACfhB,EAAQ,eAAe,CAAGgB,EAC1BhB,EAAQ,mBAAmB,CAAGgB,EAE9BhB,EAAQ,SAAS,CAAG,SAAUlM,CAAI,EAAI,MAAO,EAAE,AAAC,EAEhDkM,EAAQ,OAAO,CAAG,SAAUlM,CAAI,EAC5B,MAAM,AAAI8C,MAAM,mCACpB,EAEAoJ,EAAQ,GAAG,CAAG,WAAc,MAAO,GAAI,EACvCA,EAAQ,KAAK,CAAG,SAAUnG,CAAG,EACzB,MAAM,AAAIjD,MAAM,iCACpB,EACAoJ,EAAQ,KAAK,CAAG,WAAa,OAAO,CAAG,CAGjC,EAEC,SAASpM,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAExB,UAASoC,CAAM,EA8B3CpC,EAAQ,OAAO,CANf,SAAiB6C,CAAG,SAClB,AAAI4F,MAAM,OAAO,CACRA,MAAM,OAAO,CAAC5F,GAEhBwK,AAAwB,mBAAxBA,EAAexK,EACxB,CAMA7C,CAAAA,EAAQ,SAAS,CAHjB,SAAmB6C,CAAG,EACpB,MAAO,AAAe,WAAf,OAAOA,CAChB,CAMA7C,CAAAA,EAAQ,MAAM,CAHd,SAAgB6C,CAAG,EACjB,OAAOA,AAAQ,OAARA,CACT,CAMA7C,CAAAA,EAAQ,iBAAiB,CAHzB,SAA2B6C,CAAG,EAC5B,OAAOA,AAAO,MAAPA,CACT,CAMA7C,CAAAA,EAAQ,QAAQ,CAHhB,SAAkB6C,CAAG,EACnB,MAAO,AAAe,UAAf,OAAOA,CAChB,CAMA7C,CAAAA,EAAQ,QAAQ,CAHhB,SAAkB6C,CAAG,EACnB,MAAO,AAAe,UAAf,OAAOA,CAChB,CAMA7C,CAAAA,EAAQ,QAAQ,CAHhB,SAAkB6C,CAAG,EACnB,MAAO,AAAe,UAAf,OAAOA,CAChB,CAMA7C,CAAAA,EAAQ,WAAW,CAHnB,SAAqB6C,CAAG,EACtB,OAAOA,AAAQ,KAAK,IAAbA,CACT,CAMA7C,CAAAA,EAAQ,QAAQ,CAHhB,SAAkBsN,CAAE,EAClB,MAAOD,AAAuB,oBAAvBA,EAAeC,EACxB,CAMAtN,CAAAA,EAAQ,QAAQ,CAHhB,SAAkB6C,CAAG,EACnB,MAAO,AAAe,UAAf,OAAOA,GAAoBA,AAAQ,OAARA,CACpC,CAMA7C,CAAAA,EAAQ,MAAM,CAHd,SAAgBuN,CAAC,EACf,MAAOF,AAAsB,kBAAtBA,EAAeE,EACxB,CAMAvN,CAAAA,EAAQ,OAAO,CAHf,SAAiBY,CAAC,EAChB,MAAQyM,AAAsB,mBAAtBA,EAAezM,IAA2BA,aAAamC,KACjE,CAMA/C,CAAAA,EAAQ,UAAU,CAHlB,SAAoB6C,CAAG,EACrB,MAAO,AAAe,YAAf,OAAOA,CAChB,EAeA,SAASwK,EAAeG,CAAC,EACvB,OAAOrN,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAACqN,EACxC,CANAxN,EAAQ,WAAW,CARnB,SAAqB6C,CAAG,EACtB,OAAOA,AAAQ,OAARA,GACA,AAAe,WAAf,OAAOA,GACP,AAAe,UAAf,OAAOA,GACP,AAAe,UAAf,OAAOA,GACP,AAAe,UAAf,OAAOA,GACP,AAAe,SAARA,CAChB,EAGA7C,EAAQ,QAAQ,CAAGoC,EAAO,QAAQ,AAMP,GAAE,IAAI,CAACpC,EAAS,EAAoB,GAAG,MAAM,CAElE,EAEC,SAASD,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAC4B,UAASmM,CAAO,EAExC,AAAmB,SAAZA,GACNA,EAAQ,OAAO,EAChBA,AAAmC,IAAnCA,EAAQ,OAAO,CAAC,OAAO,CAAC,QACxBA,CAAAA,AAAmC,IAAnCA,EAAQ,OAAO,CAAC,OAAO,CAAC,QAAgBA,AAAqC,IAArCA,EAAQ,OAAO,CAAC,OAAO,CAAC,QAAa,EAG/EpM,EAAO,OAAO,CAAGoM,EAFjBpM,EAAO,OAAO,CAAG,CAAE,SAKrB,SAAkB0N,CAAE,CAAEC,CAAI,CAAEC,CAAI,CAAEC,CAAI,EACpC,GAAI,AAAc,YAAd,OAAOH,EACT,MAAM,AAAIvK,UAAU,0CAEtB,IACIkK,EAAM/I,EADNP,EAAMiD,UAAU,MAAM,CAE1B,OAAQjD,GACR,KAAK,EACL,KAAK,EACH,OAAOqI,EAAQ,QAAQ,CAACsB,EAC1B,MAAK,EACH,OAAOtB,EAAQ,QAAQ,CAAC,WACtBsB,EAAG,IAAI,CAAC,KAAMC,EAChB,EACF,MAAK,EACH,OAAOvB,EAAQ,QAAQ,CAAC,WACtBsB,EAAG,IAAI,CAAC,KAAMC,EAAMC,EACtB,EACF,MAAK,EACH,OAAOxB,EAAQ,QAAQ,CAAC,WACtBsB,EAAG,IAAI,CAAC,KAAMC,EAAMC,EAAMC,EAC5B,EACF,SAGE,IAFAR,EAAO,AAAI3E,MAAM3E,EAAM,GACvBO,EAAI,EACGA,EAAI+I,EAAK,MAAM,EACpBA,CAAI,CAAC/I,IAAI,CAAG0C,SAAS,CAAC1C,EAAE,CAE1B,OAAO8H,EAAQ,QAAQ,CAAC,WACtBsB,EAAG,KAAK,CAAC,KAAML,EACjB,EACF,CACF,CArCwC,CAwCb,GAAE,IAAI,CAACpN,EAAS,EAAoB,IAEzD,EAEC,SAASD,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAGpD,IAAI+F,EAAS,EAAoB,GAC7B3D,EAAS2D,EAAO,MAAM,CAG1B,SAAS8H,EAAWlD,CAAG,CAAEC,CAAG,EAC1B,IAAK,IAAI1J,KAAOyJ,EACdC,CAAG,CAAC1J,EAAI,CAAGyJ,CAAG,CAACzJ,EAAI,AAEvB,CASA,SAAS4M,EAAYjL,CAAG,CAAEC,CAAgB,CAAET,CAAM,EAChD,OAAOD,EAAOS,EAAKC,EAAkBT,EACvC,CAVID,EAAO,IAAI,EAAIA,EAAO,KAAK,EAAIA,EAAO,WAAW,EAAIA,EAAO,eAAe,CAC7ErC,EAAO,OAAO,CAAGgG,GAGjB8H,EAAU9H,EAAQ/F,GAClBA,EAAQ,MAAM,CAAG8N,GAQnBD,EAAUzL,EAAQ0L,GAElBA,EAAW,IAAI,CAAG,SAAUjL,CAAG,CAAEC,CAAgB,CAAET,CAAM,EACvD,GAAI,AAAe,UAAf,OAAOQ,EACT,MAAM,AAAIK,UAAU,iCAEtB,OAAOd,EAAOS,EAAKC,EAAkBT,EACvC,EAEAyL,EAAW,KAAK,CAAG,SAAU3J,CAAI,CAAEG,CAAI,CAAEZ,CAAQ,EAC/C,GAAI,AAAgB,UAAhB,OAAOS,EACT,MAAM,AAAIjB,UAAU,6BAEtB,IAAI4B,EAAM1C,EAAO+B,GAUjB,OATIG,AAAS1C,KAAAA,IAAT0C,EACE,AAAoB,UAApB,OAAOZ,EACToB,EAAI,IAAI,CAACR,EAAMZ,GAEfoB,EAAI,IAAI,CAACR,GAGXQ,EAAI,IAAI,CAAC,GAEJA,CACT,EAEAgJ,EAAW,WAAW,CAAG,SAAU3J,CAAI,EACrC,GAAI,AAAgB,UAAhB,OAAOA,EACT,MAAM,AAAIjB,UAAU,6BAEtB,OAAOd,EAAO+B,EAChB,EAEA2J,EAAW,eAAe,CAAG,SAAU3J,CAAI,EACzC,GAAI,AAAgB,UAAhB,OAAOA,EACT,MAAM,AAAIjB,UAAU,6BAEtB,OAAO6C,EAAO,UAAU,CAAC5B,EAC3B,CAGM,EAEC,SAASpE,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBASI+N,EACOA,EARX5N,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC8C,EAAU,EAAoB,IAC9BC,EAAU,EAAoB,IAC9BC,EAAgB,EAAoB,KACpCC,EAAe,EAAoB,GACnCC,EAAS,EAAoB,GAG/BL,EADOA,EAIRA,EAAa/N,EAAQ,UAAU,EAAKA,CAAAA,EAAQ,UAAU,CAAG,CAAC,IAH9C,OAAU,CAAG,UACxB+N,EAAW,WAAc,CAAG,cAC5BA,EAAW,sBAAyB,CAAG,wBAE3C,OAAMM,UAAYnD,EAAiB,YAAY,CAC3C,YAAYzJ,CAAO,CAAE,CAIjB,GAHA,KAAK,CAAC,OACN,IAAI,CAAC,UAAU,CAAG,IAAI0M,EAAa,aAAa,CAAC1M,GACjD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAC1BA,EAAQ,QAAQ,CAChB,IAAK,IAAM6M,KAAS7M,EAAQ,QAAQ,CAAE,CAClC,GAAI,AAAiB,UAAjB,OAAO6M,EAAoB,CAC3B,OAAQA,GACJ,KAAKP,EAAW,OAAO,CACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIE,EAAQ,KAAK,EAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIC,EAAc,IAAI,EACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAID,EAAQ,QAAQ,EACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAQ,GAAG,EAC9B,KACJ,MAAKF,EAAW,WAAW,CACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIE,EAAQ,KAAK,EAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIC,EAAc,aAAa,EAC9C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAID,EAAQ,QAAQ,EACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAQ,GAAG,EAC9B,KACJ,MAAKF,EAAW,sBAAsB,CAClC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIE,EAAQ,KAAK,EAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIC,EAAc,oBAAoB,EACrD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAID,EAAQ,QAAQ,EACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAQ,GAAG,EAC9B,KACJ,SACI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIG,EAAO,IAAI,CAACE,GAEvC,CACA,QACJ,CACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EACnB,MAEK7M,EAAQ,IAAI,EACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI2M,EAAO,IAAI,CAAC3M,EAAQ,IAAI,GAE/C,GAAIA,EAAQ,KAAK,CACb,IAAK,IAAI4C,EAAI,EAAGA,EAAI5C,EAAQ,KAAK,CAAE4C,IAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAG,EAAG,IAAI2J,EAAQ,KAAK,CAGpD,CACJ,CACAhO,EAAQ,GAAG,CAAGqO,CAGR,EAEC,SAAStO,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAIIuO,EACOA,EAHXpO,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAGzCqD,EADOA,EAIRA,GAAuBA,CAAAA,EAAqB,CAAC,IAHzB,KAAQ,CAAG,QAC9BA,EAAmB,GAAM,CAAG,MAC5BA,EAAmB,QAAW,CAAG,UAErC,OAAMC,UAAqBtD,EAAiB,qBAAqB,CAC7D,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,KAAM,gBAAiB,MAAO,SAAU,CAC7D,CACJ,CACA,MAAM0H,UAAcvD,EAAiB,YAAY,CAC7C,YAAYwD,CAAK,CAAE,CACf,KAAK,CAAC,aACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIF,EAAa,CAAE,KAAMD,EAAmB,KAAK,CAAEG,MAAAA,CAAM,GAC5E,CACJ,CACA1O,EAAQ,KAAK,CAAGyO,CAChB,OAAME,UAAiBzD,EAAiB,YAAY,CAChD,YAAYwD,CAAK,CAAE,CACf,KAAK,CAAC,aACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIF,EAAa,CAAE,KAAMD,EAAmB,QAAQ,CAAEG,MAAAA,CAAM,GAC/E,CACJ,CACA1O,EAAQ,QAAQ,CAAG2O,CACnB,OAAMC,UAAY1D,EAAiB,YAAY,CAC3C,YAAYwD,CAAK,CAAE,CACf,KAAK,CAAC,aACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIF,EAAa,CAAE,KAAMD,EAAmB,GAAG,CAAEG,MAAAA,CAAM,GAC1E,CACJ,CACA1O,EAAQ,GAAG,CAAG4O,CAGR,EAEC,SAAS7O,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAII6O,EACOA,EAHX1O,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAGzC2D,EADOA,EAkBRA,EAAgB7O,EAAQ,aAAa,EAAKA,CAAAA,EAAQ,aAAa,CAAG,CAAC,IAjBpD,MAAS,CAAG,SAC1B6O,EAAc,KAAQ,CAAG,QACzBA,EAAc,MAAS,CAAG,SAC1BA,EAAc,KAAQ,CAAG,QACzBA,EAAc,MAAS,CAAG,SAC1BA,EAAc,WAAc,CAAG,cAC/BA,EAAc,IAAO,CAAG,OACxBA,EAAc,WAAc,CAAG,cAC/BA,EAAc,QAAW,CAAG,WAC5BA,EAAc,aAAgB,CAAG,gBACjCA,EAAc,OAAU,CAAG,UAC3BA,EAAc,YAAe,CAAG,eAChCA,EAAc,UAAa,CAAG,aAC9BA,EAAc,eAAkB,CAAG,kBACnCA,EAAc,IAAO,CAAG,OACxBA,EAAc,SAAY,CAAG,YAC7BA,EAAc,UAAa,CAAG,YAElC,OAAMC,UAAsB5D,EAAiB,YAAY,CACrD,YAAY6D,CAAa,CAAEC,CAAK,CAAE,CAC9B,KAAK,CAAC,OACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI9D,EAAiB,UAAU,CAAC,CAC3C,IAAK6D,EACL,MAAOC,CACX,GACJ,CACJ,CACAhP,EAAQ,aAAa,CAAG8O,CAMxB9O,CAAAA,EAAQ,SAAS,CALjB,MAAMiP,UAAkBH,EACpB,YAAYC,EAAgBF,EAAc,MAAM,CAAEG,CAAK,CAAE,CACrD,KAAK,CAACD,EAAeC,EACzB,CACJ,CAOAhP,CAAAA,EAAQ,aAAa,CALrB,MAAMkP,UAAsBJ,EACxB,aAAc,CACV,KAAK,CAAC,OACV,CACJ,CAOA9O,CAAAA,EAAQ,wBAAwB,CALhC,MAAMmP,UAAiCL,EACnC,aAAc,CACV,KAAK,CAAC,kBACV,CACJ,CAOA9O,CAAAA,EAAQ,qBAAqB,CAL7B,MAAMoP,UAA8BN,EAChC,aAAc,CACV,KAAK,CAAC,eACV,CACJ,CAOA9O,CAAAA,EAAQ,iBAAiB,CALzB,MAAMqP,UAA0BP,EAC5B,aAAc,CACV,KAAK,CAAC,WACV,CACJ,CAOA9O,CAAAA,EAAQ,sBAAsB,CAL9B,MAAMsP,UAA+BR,EACjC,aAAc,CACV,KAAK,CAAC,gBACV,CACJ,CAOA9O,CAAAA,EAAQ,gBAAgB,CALxB,MAAMuP,UAAyBT,EAC3B,aAAc,CACV,KAAK,CAAC,UACV,CACJ,CAOA9O,CAAAA,EAAQ,mBAAmB,CAL3B,MAAMwP,UAA4BV,EAC9B,aAAc,CACV,KAAK,CAAC,aACV,CACJ,CAOA9O,CAAAA,EAAQ,eAAe,CALvB,MAAMyP,UAAwBX,EAC1B,aAAc,CACV,KAAK,CAAC,SACV,CACJ,CAOA9O,CAAAA,EAAQ,oBAAoB,CAL5B,MAAM0P,UAA6BZ,EAC/B,aAAc,CACV,KAAK,CAAC,cACV,CACJ,CAOA9O,CAAAA,EAAQ,eAAe,CALvB,MAAM2P,UAAwBb,EAC1B,aAAc,CACV,KAAK,CAAC,SACV,CACJ,CAOA9O,CAAAA,EAAQ,eAAe,CALvB,MAAM4P,UAAwBd,EAC1B,aAAc,CACV,KAAK,CAAC,SACV,CACJ,CAOA9O,CAAAA,EAAQ,cAAc,CALtB,MAAM6P,UAAuBf,EACzB,aAAc,CACV,KAAK,CAAC,QACV,CACJ,CAOA9O,CAAAA,EAAQ,aAAa,CALrB,MAAM8P,UAAsBhB,EACxB,aAAc,CACV,KAAK,CAAC,OACV,CACJ,CAOA9O,CAAAA,EAAQ,mBAAmB,CAL3B,MAAM+P,UAA4BjB,EAC9B,aAAc,CACV,KAAK,CAAC,aACV,CACJ,CAOA9O,CAAAA,EAAQ,kBAAkB,CAL1B,MAAMgQ,UAA2BlB,EAC7B,aAAc,CACV,KAAK,CAAC,YACV,CACJ,CAOA9O,CAAAA,EAAQ,cAAc,CALtB,MAAMiQ,UAAuBnB,EACzB,aAAc,CACV,KAAK,CAAC,QACV,CACJ,CAIM,EAEC,SAAS/O,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAGA,IAGIkQ,EACAC,EAEAC,EANAC,EAAiB,EAAoB,KAErCC,EAAW,mEAMf,SAASC,IACLH,EAAW,EACf,CAEA,SAASI,EAAcC,CAAU,EAC7B,GAAI,CAACA,EAAY,CACTP,IAAaI,IACbJ,EAAWI,EANnBF,EAAW,IASP,MACJ,CAEA,GAAIK,IAAeP,GAInB,GAAIO,EAAW,MAAM,GAAKH,EAAS,MAAM,CACrC,MAAM,AAAIvN,MAAM,uCAAyCuN,EAAS,MAAM,CAAG,qCAAuCG,EAAW,MAAM,CAAG,gBAAkBA,GAG5J,IAAIC,EAASD,EAAW,KAAK,CAAC,IAAI,MAAM,CAAC,SAAS3E,CAAI,CAAE6E,CAAG,CAAEpO,CAAG,EAC7D,OAAOoO,IAAQpO,EAAI,WAAW,CAACuJ,EAClC,GAEA,GAAI4E,EAAO,MAAM,CACb,MAAM,AAAI3N,MAAM,uCAAyCuN,EAAS,MAAM,CAAG,yDAA2DI,EAAO,IAAI,CAAC,OAGtJR,EAAWO,EA5BXL,EAAW,GA8Bf,CAiCA,SAASQ,WACL,AAAIR,EACOA,EAEXA,EAAWS,AAtBf,WACQ,CAACX,GACDM,EAAcF,GAQlB,IALA,IAGIQ,EAHAC,EAAcb,EAAS,KAAK,CAAC,IAC7Bc,EAAc,EAAE,CAChBC,EAAIZ,EAAe,SAAS,GAGzBU,EAAY,MAAM,CAAG,GAExBD,EAAiBzL,KAAK,KAAK,CAAC4L,AAD5BA,CAAAA,EAAIZ,EAAe,SAAS,EAAC,EACGU,EAAY,MAAM,EAClDC,EAAY,IAAI,CAACD,EAAY,MAAM,CAACD,EAAgB,EAAE,CAAC,EAAE,EAE7D,OAAOE,EAAY,IAAI,CAAC,GAC5B,GAQA,CAgBAjR,EAAO,OAAO,CAAG,CACb,IALJ,WACE,OAAOmQ,GAAYI,CACrB,EAII,WAvDJ,SAAoBG,CAAU,EAE1B,OADAD,EAAcC,GACPP,CACX,EAqDI,KAnDJ,SAAiBgB,CAAI,EACjBb,EAAe,IAAI,CAACa,GAChBf,IAAiBe,IAvCrBd,EAAW,GAyCPD,EAAee,EAEvB,EA8CI,OAbJ,SAAgBC,CAAK,EAEjB,OAAOC,AADgBR,GACA,CAACO,EAAM,AAClC,EAWI,SAAUP,CACd,CAGM,EAEC,SAAS7Q,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCmG,EAAc,EAAoB,IAClCC,EAAkB,EAAoB,KACtCC,EAAW,EAAoB,IAC/BC,EAAW,EAAoB,IAC/BC,EAAS,EAAoB,IAC7BC,EAAe,EAAoB,IACnCC,EAAY,EAAoB,IAChCpG,EAAU,EAAoB,IAC9BqG,EAAa,EAAoB,IACjCC,EAAmB,EAAoB,IACvCC,EAAU,EAAoB,IAC9B1G,EAAe,EAAoB,GACzC,OAAM2G,UAA4B7G,EAAiB,yBAAyB,CACxE,YAAYzJ,CAAO,CAAE,CAEjB,GADA,KAAK,CAAC,SACF,CAACA,EACD,OAsCJ,GApCIA,EAAQ,MAAM,EACd,IAAI,CAAC,IAAI,CAAC,IAAI8P,EAAS,MAAM,CAAC9P,EAAQ,MAAM,GAE5CA,EAAQ,OAAO,EACf,IAAI,CAAC,IAAI,CAAC,IAAIkQ,EAAU,OAAO,CAAClQ,EAAQ,OAAO,GAEtBG,KAAAA,IAAzBH,EAAQ,YAAY,EACpB,IAAI,CAAC,IAAI,CAAC,IAAIqQ,EAAQ,YAAY,CAACrQ,EAAQ,YAAY,GAEvDA,EAAQ,SAAS,EACjB,IAAI,CAAC,IAAI,CAAC,IAAI4P,EAAY,SAAS,CAAC5P,EAAQ,SAAS,GAErDA,EAAQ,OAAO,EACf,IAAI,CAAC,IAAI,CAAC,IAAI8J,EAAQ,KAAK,CAAC9J,EAAQ,OAAO,GAE3CA,EAAQ,aAAa,EACrB,IAAI,CAAC,IAAI,CAAC,IAAI6P,EAAgB,aAAa,EAE3C7P,EAAQ,aAAa,EACrB,IAAI,CAAC,IAAI,CAAC,IAAI8P,EAAS,aAAa,EAEpC9P,EAAQ,eAAe,EACvB,IAAI,CAAC,IAAI,CAAC,IAAIiQ,EAAa,eAAe,EAE1CjQ,EAAQ,iBAAiB,EACzB,IAAI,CAAC,IAAI,CAAC,IAAIkQ,EAAU,iBAAiB,CAAClQ,EAAQ,iBAAiB,GAEnEA,EAAQ,MAAM,EACd,IAAI,CAAC,IAAI,CAAC,IAAI+P,EAAS,MAAM,CAAC/P,EAAQ,MAAM,GAE5CA,EAAQ,SAAS,EACjB,IAAI,CAAC,IAAI,CAAC,IAAIgQ,EAAO,SAAS,EAE9BhQ,EAAQ,QAAQ,EAChB,IAAI,CAAC,IAAI,CAAC,IAAIgQ,EAAO,QAAQ,EAE7BhQ,EAAQ,QAAQ,CAChB,IAAK,IAAMuQ,KAAWvQ,EAAQ,QAAQ,CAClC,IAAI,CAAC,IAAI,CAAC,IAAImQ,EAAW,OAAO,CAACI,EAAQ,IAAI,CAAEA,EAAQ,QAAQ,CAAEA,EAAQ,MAAM,EAGnFvQ,CAAAA,EAAQ,KAAK,EACb,IAAI,CAAC,IAAI,CAAC,IAAI8J,EAAQ,KAAK,CAAC9J,EAAQ,KAAK,GAEzCA,EAAQ,MAAM,GACd,IAAI,CAAC,IAAI,CAAC,IAAI8J,EAAQ,KAAK,CAAC,kBAC5B,IAAI,CAAC,IAAI,CAAC,IAAIsG,EAAiB,gBAAgB,CAAC,EAAGpQ,EAAQ,MAAM,CAAC,KAAK,IAEvEA,EAAQ,SAAS,GACb,CAACA,EAAQ,SAAS,CAAC,MAAM,EACzB,IAAI,CAAC,IAAI,CAAC,IAAI8J,EAAQ,KAAK,CAAC,kBAEhC,IAAI,CAAC,IAAI,CAAC,IAAIsG,EAAiB,gBAAgB,CAACpQ,EAAQ,SAAS,CAAC,SAAS,CAAEA,EAAQ,SAAS,CAAC,KAAK,IAEpGA,EAAQ,YAAY,EACpB,IAAI,CAAC,IAAI,CAAC,IAAImQ,EAAW,OAAO,CAACA,EAAW,WAAW,CAAC,KAAK,CAAEnQ,EAAQ,YAAY,GAEnFA,EAAQ,WAAW,EACnB,IAAI,CAAC,IAAI,CAAC,IAAImQ,EAAW,OAAO,CAACA,EAAW,WAAW,CAAC,IAAI,CAAEnQ,EAAQ,WAAW,GAEjFA,EAAQ,OAAO,EACf,IAAI,CAAC,IAAI,CAAC,IAAI2J,EAAa,OAAO,CAAC3J,EAAQ,OAAO,CAAC,IAAI,CAAEA,EAAQ,OAAO,CAAC,IAAI,CAAEA,EAAQ,OAAO,CAAC,KAAK,EAE5G,CACA,KAAKqK,CAAI,CAAE,CACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EACnB,CACJ,CACA9L,EAAQ,mBAAmB,CAAG+R,CAGxB,EAEC,SAAShS,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC+G,EAA6B,EAAoB,KACjDC,EAAqB,EAAoB,IAC/C,OAAMC,UAA8BjH,EAAiB,YAAY,CAC7D,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,SACAA,IACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIwQ,EAA2B,sBAAsB,CAACxQ,EAAQ,kBAAkB,GAC/F,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIyQ,EAAmB,mBAAmB,CAACzQ,EAAQ,eAAe,GAEzF,CACJ,CACAzB,EAAQ,qBAAqB,CAAGmS,CAG1B,EAEC,SAASpS,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAOIoS,EA0DAC,EAzDOD,EA0DAC,EAhEXlS,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCE,EAAe,EAAoB,IACnC+C,EAAe,EAAoB,IACnCmE,EAAe,EAAoB,EAGrCF,EADOA,EAeMpS,EAAQ,WAAW,EAAKA,CAAAA,EAAQ,WAAW,CAAG,CAAC,IAdhD,MAAS,CAAG,SACxBoS,EAAY,aAAgB,CAAG,eAC/BA,EAAY,OAAU,CAAG,UACzBA,EAAY,OAAU,CAAG,UACzBA,EAAY,uBAA0B,CAAG,wBACzCA,EAAY,yBAA4B,CAAG,0BAC3CA,EAAY,4BAA+B,CAAG,uBAC9CA,EAAY,YAAe,CAAG,cAC9BA,EAAY,YAAe,CAAG,cAC9BA,EAAY,WAAc,CAAG,aAC7BA,EAAY,IAAO,CAAG,OACtBA,EAAY,YAAe,CAAG,cAC9BA,EAAY,YAAe,CAAG,cAC9BA,EAAY,WAAc,CAAG,YAEjC,OAAMG,UAAwBrH,EAAiB,qBAAqB,CAChE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,KAAM,SACN,UAAW,eACf,CACJ,CACJ,CACA,MAAMyL,UAActH,EAAiB,YAAY,CAC7C,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,WACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIqJ,EAAiB,UAAU,CAAC,CAC3C,IAAKrJ,CACT,GACJ,CACJ,CACA,MAAM4Q,UAAqBvH,EAAiB,YAAY,CACpD,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIqJ,EAAiB,UAAU,CAAC,CAC3C,IAAKrJ,CACT,GACJ,CACJ,CACA,MAAM6Q,UAAkBxH,EAAiB,YAAY,CACjD,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,aACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIqJ,EAAiB,UAAU,CAAC,CAC3C,IAAKrJ,CACT,GACJ,CACJ,CACA,MAAM8Q,UAAgBzH,EAAiB,YAAY,CAC/C,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,WACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIqJ,EAAiB,UAAU,CAAC,CAC3C,IAAKrJ,CACT,GACJ,CACJ,CAGIwQ,CADOA,EAIMrS,EAAQ,WAAW,EAAKA,CAAAA,EAAQ,WAAW,CAAG,CAAC,IAHhD,OAAU,CAAG,UACzBqS,EAAY,KAAQ,CAAG,QACvBA,EAAY,GAAM,CAAG,KAEzB,OAAMO,UAAe1H,EAAiB,YAAY,CAC9C,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,UACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIqJ,EAAiB,UAAU,CAAC,CAC3C,IAAKrJ,CACT,GACJ,CACJ,CACA,MAAMgR,UAAkB3H,EAAiB,YAAY,CACjD,YAAY,CAAE4H,MAAAA,CAAK,CAAEC,OAAAA,CAAM,CAAEC,KAAAA,CAAI,CAAEC,UAAAA,EAAY7H,EAAa,aAAa,CAAC,KAAK,CAAEzG,MAAAA,EAAQ,CAAC,CAAEuO,MAAAA,CAAK,CAAEC,OAAAA,CAAM,CAAE,CAAE,CACzG,KAAK,CAAC,SACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIZ,EAAgB,CAC/B,KAAMO,EACN,UAAW,CACf,IACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIN,EAAM7N,IACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIgO,EAAQM,IACvBF,GACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIN,EAAaM,IAEhCC,GACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIN,EAAUM,IAEjC,IAAI,CAAC,mBAAmB,CAAG,IAAI7E,EAAa,mBAAmB,CAAC+E,GAASA,EAAM,SAAS,EACxF,IAAI,CAAC,aAAa,CAAG,IAAIZ,EAAa,aAAa,CAACY,GAASA,EAAM,GAAG,EACtE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAC7BC,GACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIP,EAAOO,GAElC,CACJ,CACAnT,EAAQ,SAAS,CAAG6S,CAMpB7S,CAAAA,EAAQ,KAAK,CALb,MAAMoT,UAAcP,EAChB,YAAYpR,CAAO,CAAE,CACjB,KAAK,CAACA,EACV,CACJ,CAIAzB,CAAAA,EAAQ,gBAAgB,CAFxB,MAAMqT,UAAyBR,EAC/B,CAIM,EAEC,SAAS9S,CAAM,CAAEC,CAAO,CAAEgL,CAAmB,EAEpD,aAEA7K,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,EAU3DA,CAAAA,EAAQ,gBAAgB,CATxB,MAAMsT,EACF,YAAYC,CAAO,CAAE,CACjB,IAAI,CAAC,OAAO,CAAG,GACf,IAAI,CAAC,OAAO,CAAGA,CACnB,CACA,IAAI,WAAY,CACZ,OAAO,IAAI,CAAC,OAAO,AACvB,CACJ,CAIM,EAEC,SAASxT,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAIpD,IAAIwT,EAAS,EAAoB,IAC7BC,EAAW,EAAoB,KAC/BC,EAAS,EAAoB,IAC7BC,EAAW,EAAoB,IAEnC5T,CAAAA,EAAO,OAAO,CAAG,CACf,OAAQyT,EACR,SAAUC,EACV,OAAQC,EACR,SAAUC,CACZ,CAGM,EAEC,SAAS5T,CAAM,CAAEC,CAAO,CAAEgL,CAAmB,EAEpD,aAwBA,IAOI4I,EAPAC,EAAI,AAAmB,UAAnB,OAAOC,QAAuBA,QAAU,KAC5CC,EAAeF,GAAK,AAAmB,YAAnB,OAAOA,EAAE,KAAK,CAClCA,EAAE,KAAK,CACP,SAAsB3M,CAAM,CAAE8M,CAAQ,CAAE5G,CAAI,EAC5C,OAAO1M,SAAS,SAAS,CAAC,KAAK,CAAC,IAAI,CAACwG,EAAQ8M,EAAU5G,EACzD,EAIAwG,EADEC,GAAK,AAAqB,YAArB,OAAOA,EAAE,OAAO,CACNA,EAAE,OAAO,CACjB1T,OAAO,qBAAqB,CACpB,SAAwB+G,CAAM,EAC7C,OAAO/G,OAAO,mBAAmB,CAAC+G,GAC/B,MAAM,CAAC/G,OAAO,qBAAqB,CAAC+G,GACzC,EAEiB,SAAwBA,CAAM,EAC7C,OAAO/G,OAAO,mBAAmB,CAAC+G,EACpC,EAOF,IAAI+M,EAAcnM,OAAO,KAAK,EAAI,SAAqBjG,CAAK,EAC1D,OAAOA,GAAUA,CACnB,EAEA,SAASqS,IACPA,EAAa,IAAI,CAAC,IAAI,CAAC,IAAI,CAC7B,CACAnU,EAAO,OAAO,CAAGmU,EAGjBA,EAAa,YAAY,CAAGA,EAE5BA,EAAa,SAAS,CAAC,OAAO,CAAGtS,KAAAA,EACjCsS,EAAa,SAAS,CAAC,YAAY,CAAG,EACtCA,EAAa,SAAS,CAAC,aAAa,CAAGtS,KAAAA,EAIvC,IAAIuS,EAAsB,GAoC1B,SAASC,EAAiBzR,CAAI,SAC5B,AAAIA,AAAuBf,KAAAA,IAAvBe,EAAK,aAAa,CACbuR,EAAa,mBAAmB,CAClCvR,EAAK,aAAa,AAC3B,CAkDA,SAAS0R,EAAanN,CAAM,CAAEoN,CAAI,CAAEC,CAAQ,CAAEC,CAAO,EAKnD,GAAI,AAAoB,YAApB,OAAOD,EACT,MAAM,AAAIrR,UAAU,mEAAqE,OAAOqR,GAqBlG,GAjBIE,AAAW7S,KAAAA,IADf6S,CAAAA,EAASvN,EAAO,OAAO,AAAD,GAEpBuN,EAASvN,EAAO,OAAO,CAAG/G,OAAO,MAAM,CAAC,MACxC+G,EAAO,YAAY,CAAG,IAIKtF,KAAAA,IAAvB6S,EAAO,WAAW,GACpBvN,EAAO,IAAI,CAAC,cAAeoN,EACfC,EAAS,QAAQ,CAAGA,EAAS,QAAQ,CAAGA,GAIpDE,EAASvN,EAAO,OAAO,EAEzBwN,EAAWD,CAAM,CAACH,EAAK,EAGrBI,AAAa9S,KAAAA,IAAb8S,EAEFA,EAAWD,CAAM,CAACH,EAAK,CAAGC,EAC1B,EAAErN,EAAO,YAAY,MAerB,GAbI,AAAoB,YAApB,OAAOwN,EAETA,EAAWD,CAAM,CAACH,EAAK,CACrBE,EAAU,CAACD,EAAUG,EAAS,CAAG,CAACA,EAAUH,EAAS,CAE9CC,EACTE,EAAS,OAAO,CAACH,GAEjBG,EAAS,IAAI,CAACH,GAKZhU,AADJA,CAAAA,EAAI6T,EAAiBlN,EAAM,EACnB,GAAKwN,EAAS,MAAM,CAAGnU,GAAK,CAACmU,EAAS,MAAM,CAAE,CACpDA,EAAS,MAAM,CAAG,GAGlB,IAjKsBC,EAiHtBpU,EACAkU,EACAC,EA8CIE,EAAI,AAAI7R,MAAM,+CACE2R,EAAS,MAAM,CAAG,IAAMpP,OAAOgP,GADjC,oEAIlBM,CAAAA,EAAE,IAAI,CAAG,8BACTA,EAAE,OAAO,CAAG1N,EACZ0N,EAAE,IAAI,CAAGN,EACTM,EAAE,KAAK,CAAGF,EAAS,MAAM,CAxKHC,EAyKHC,EAxKnBC,SAAWA,QAAQ,IAAI,EAAEA,QAAQ,IAAI,CAACF,EAyKxC,CAGF,OAAOzN,CACT,CAaA,SAAS4N,IAEP,IAAK,IADD1H,EAAO,EAAE,CACJ/I,EAAI,EAAGA,EAAI0C,UAAU,MAAM,CAAE1C,IAAK+I,EAAK,IAAI,CAACrG,SAAS,CAAC1C,EAAE,CAC7D,EAAC,IAAI,CAAC,KAAK,GACb,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAE,IAAI,CAAC,MAAM,EACjD,IAAI,CAAC,KAAK,CAAG,GACb0P,EAAa,IAAI,CAAC,QAAQ,CAAE,IAAI,CAAC,MAAM,CAAE3G,GAE7C,CAEA,SAAS2H,EAAU7N,CAAM,CAAEoN,CAAI,CAAEC,CAAQ,EACvC,IAAIS,EAAQ,CAAE,MAAO,GAAO,OAAQpT,KAAAA,EAAW,OAAQsF,EAAQ,KAAMoN,EAAM,SAAUC,CAAS,EAC1FU,EAAUH,EAAY,IAAI,CAACE,GAG/B,OAFAC,EAAQ,QAAQ,CAAGV,EACnBS,EAAM,MAAM,CAAGC,EACRA,CACT,CA+HA,SAASC,EAAWhO,CAAM,CAAEoN,CAAI,CAAEa,CAAM,EACtC,IAAIV,EAASvN,EAAO,OAAO,CAE3B,GAAIuN,AAAW7S,KAAAA,IAAX6S,EACF,MAAO,EAAE,CAEX,IAAIW,EAAaX,CAAM,CAACH,EAAK,QAC7B,AAAIc,AAAexT,KAAAA,IAAfwT,EACK,EAAE,CAEP,AAAsB,YAAtB,OAAOA,EACFD,EAAS,CAACC,EAAW,QAAQ,EAAIA,EAAW,CAAG,CAACA,EAAW,CAE7DD,EACLE,AAqDJ,SAAyB9S,CAAG,EAE1B,IAAK,IADD6C,EAAM,AAAIqD,MAAMlG,EAAI,MAAM,EACrB8B,EAAI,EAAGA,EAAIe,EAAI,MAAM,CAAE,EAAEf,EAChCe,CAAG,CAACf,EAAE,CAAG9B,CAAG,CAAC8B,EAAE,CAAC,QAAQ,EAAI9B,CAAG,CAAC8B,EAAE,CAEpC,OAAOe,CACT,EA3DoBgQ,GAAcE,EAAWF,EAAYA,EAAW,MAAM,CAC1E,CAmBA,SAASG,EAAcjB,CAAI,EACzB,IAAIG,EAAS,IAAI,CAAC,OAAO,CAEzB,GAAIA,AAAW7S,KAAAA,IAAX6S,EAAsB,CACxB,IAAIW,EAAaX,CAAM,CAACH,EAAK,CAE7B,GAAI,AAAsB,YAAtB,OAAOc,EACT,OAAO,EACF,GAAIA,AAAexT,KAAAA,IAAfwT,EACT,OAAOA,EAAW,MAAM,AAE5B,CAEA,OAAO,CACT,CAMA,SAASE,EAAW/S,CAAG,CAAE0C,CAAC,EAExB,IAAK,IADDuQ,EAAO,AAAI/M,MAAMxD,GACZZ,EAAI,EAAGA,EAAIY,EAAG,EAAEZ,EACvBmR,CAAI,CAACnR,EAAE,CAAG9B,CAAG,CAAC8B,EAAE,CAClB,OAAOmR,CACT,CA7WArV,OAAO,cAAc,CAAC+T,EAAc,sBAAuB,CACzD,WAAY,GACZ,IAAK,WACH,OAAOC,CACT,EACA,IAAK,SAAStR,CAAG,EACf,GAAI,AAAe,UAAf,OAAOA,GAAoBA,EAAM,GAAKoR,EAAYpR,GACpD,MAAM,AAAID,WAAW,kGAAoGC,EAAM,KAEjIsR,EAAsBtR,CACxB,CACF,GAEAqR,EAAa,IAAI,CAAG,WAEd,CAAiBtS,KAAAA,IAAjB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,GAAKzB,OAAO,cAAc,CAAC,IAAI,EAAE,OAAO,AAAD,IACrD,IAAI,CAAC,OAAO,CAAGA,OAAO,MAAM,CAAC,MAC7B,IAAI,CAAC,YAAY,CAAG,GAGtB,IAAI,CAAC,aAAa,CAAG,IAAI,CAAC,aAAa,EAAIyB,KAAAA,CAC7C,EAIAsS,EAAa,SAAS,CAAC,eAAe,CAAG,SAAyBjP,CAAC,EACjE,GAAI,AAAa,UAAb,OAAOA,GAAkBA,EAAI,GAAKgP,EAAYhP,GAChD,MAAM,AAAIrC,WAAW,gFAAkFqC,EAAI,KAG7G,OADA,IAAI,CAAC,aAAa,CAAGA,EACd,IAAI,AACb,EAQAiP,EAAa,SAAS,CAAC,eAAe,CAAG,WACvC,OAAOE,EAAiB,IAAI,CAC9B,EAEAF,EAAa,SAAS,CAAC,IAAI,CAAG,SAAcI,CAAI,EAE9C,IAAK,IADDlH,EAAO,EAAE,CACJ/I,EAAI,EAAGA,EAAI0C,UAAU,MAAM,CAAE1C,IAAK+I,EAAK,IAAI,CAACrG,SAAS,CAAC1C,EAAE,EADjE,IAEIoR,EAAWnB,AAAS,UAATA,EAEXG,EAAS,IAAI,CAAC,OAAO,CACzB,GAAIA,AAAW7S,KAAAA,IAAX6S,EACFgB,EAAWA,GAAWhB,AAAiB7S,KAAAA,IAAjB6S,EAAO,KAAK,MAC/B,GAAI,CAACgB,EACR,MAAO,GAGT,GAAIA,EAAS,CAIX,GAFIrI,EAAK,MAAM,CAAG,GAChBsI,CAAAA,EAAKtI,CAAI,CAAC,EAAE,AAAD,EACTsI,aAAc3S,MAGhB,MAAM2S,EAGR,IATIA,EASA5T,EAAM,AAAIiB,MAAM,mBAAsB2S,CAAAA,EAAK,KAAOA,EAAG,OAAO,CAAG,IAAM,EAAC,EAE1E,OADA5T,EAAI,OAAO,CAAG4T,EACR5T,CACR,CAEA,IAAI6T,EAAUlB,CAAM,CAACH,EAAK,CAE1B,GAAIqB,AAAY/T,KAAAA,IAAZ+T,EACF,MAAO,GAET,GAAI,AAAmB,YAAnB,OAAOA,EACT5B,EAAa4B,EAAS,IAAI,CAAEvI,OACvB,CAGL,IAAK,IAFDtJ,EAAM6R,EAAQ,MAAM,CACpBC,EAAYN,EAAWK,EAAS7R,GAC3BO,EAAI,EAAGA,EAAIP,EAAK,EAAEO,EACzB0P,EAAa6B,CAAS,CAACvR,EAAE,CAAE,IAAI,CAAE+I,EACrC,CAEA,MAAO,EACT,EAkEA8G,EAAa,SAAS,CAAC,WAAW,CAAG,SAAqBI,CAAI,CAAEC,CAAQ,EACtE,OAAOF,EAAa,IAAI,CAAEC,EAAMC,EAAU,GAC5C,EAEAL,EAAa,SAAS,CAAC,EAAE,CAAGA,EAAa,SAAS,CAAC,WAAW,CAE9DA,EAAa,SAAS,CAAC,eAAe,CAClC,SAAyBI,CAAI,CAAEC,CAAQ,EACrC,OAAOF,EAAa,IAAI,CAAEC,EAAMC,EAAU,GAC5C,EAoBJL,EAAa,SAAS,CAAC,IAAI,CAAG,SAAcI,CAAI,CAAEC,CAAQ,EACxD,GAAI,AAAoB,YAApB,OAAOA,EACT,MAAM,AAAIrR,UAAU,mEAAqE,OAAOqR,GAGlG,OADA,IAAI,CAAC,EAAE,CAACD,EAAMS,EAAU,IAAI,CAAET,EAAMC,IAC7B,IAAI,AACb,EAEAL,EAAa,SAAS,CAAC,mBAAmB,CACtC,SAA6BI,CAAI,CAAEC,CAAQ,EACzC,GAAI,AAAoB,YAApB,OAAOA,EACT,MAAM,AAAIrR,UAAU,mEAAqE,OAAOqR,GAGlG,OADA,IAAI,CAAC,eAAe,CAACD,EAAMS,EAAU,IAAI,CAAET,EAAMC,IAC1C,IAAI,AACb,EAGJL,EAAa,SAAS,CAAC,cAAc,CACjC,SAAwBI,CAAI,CAAEC,CAAQ,EACpC,IAAI1N,EAAM4N,EAAQoB,EAAUxR,EAAGyR,EAE/B,GAAI,AAAoB,YAApB,OAAOvB,EACT,MAAM,AAAIrR,UAAU,mEAAqE,OAAOqR,GAIlG,GAAe3S,KAAAA,IADf6S,CAAAA,EAAS,IAAI,CAAC,OAAO,AAAD,GAKhB5N,AAASjF,KAAAA,IADbiF,CAAAA,EAAO4N,CAAM,CAACH,EAAK,AAAD,EAFhB,OAAO,IAAI,CAMb,GAAIzN,IAAS0N,GAAY1N,EAAK,QAAQ,GAAK0N,EACrC,AAAwB,GAAxB,EAAE,IAAI,CAAC,YAAY,CACrB,IAAI,CAAC,OAAO,CAAGpU,OAAO,MAAM,CAAC,OAE7B,OAAOsU,CAAM,CAACH,EAAK,CACfG,EAAO,cAAc,EACvB,IAAI,CAAC,IAAI,CAAC,iBAAkBH,EAAMzN,EAAK,QAAQ,EAAI0N,SAElD,GAAI,AAAgB,YAAhB,OAAO1N,EAAqB,CAGrC,IAFAgP,EAAW,GAENxR,EAAIwC,EAAK,MAAM,CAAG,EAAGxC,GAAK,EAAGA,IAChC,GAAIwC,CAAI,CAACxC,EAAE,GAAKkQ,GAAY1N,CAAI,CAACxC,EAAE,CAAC,QAAQ,GAAKkQ,EAAU,CACzDuB,EAAmBjP,CAAI,CAACxC,EAAE,CAAC,QAAQ,CACnCwR,EAAWxR,EACX,KACF,CAGF,GAAIwR,EAAW,EACb,OAAO,IAAI,AAETA,AAAa,KAAbA,EACFhP,EAAK,KAAK,GAEVkP,AA+HV,SAAmBlP,CAAI,CAAEsK,CAAK,EAC5B,KAAOA,EAAQ,EAAItK,EAAK,MAAM,CAAEsK,IAC9BtK,CAAI,CAACsK,EAAM,CAAGtK,CAAI,CAACsK,EAAQ,EAAE,CAC/BtK,EAAK,GAAG,EACV,EAnIoBA,EAAMgP,GAGE,IAAhBhP,EAAK,MAAM,EACb4N,CAAAA,CAAM,CAACH,EAAK,CAAGzN,CAAI,CAAC,EAAE,AAAD,EAEOjF,KAAAA,IAA1B6S,EAAO,cAAc,EACvB,IAAI,CAAC,IAAI,CAAC,iBAAkBH,EAAMwB,GAAoBvB,EAC1D,CAEA,OAAO,IAAI,AACb,EAEJL,EAAa,SAAS,CAAC,GAAG,CAAGA,EAAa,SAAS,CAAC,cAAc,CAElEA,EAAa,SAAS,CAAC,kBAAkB,CACrC,SAA4BI,CAAI,EAC9B,IAAIsB,EAAWnB,EAAQpQ,EAGvB,GAAIoQ,AAAW7S,KAAAA,IADf6S,CAAAA,EAAS,IAAI,CAAC,OAAO,AAAD,EAElB,OAAO,IAAI,CAGb,GAAIA,AAA0B7S,KAAAA,IAA1B6S,EAAO,cAAc,CAUvB,OATI1N,AAAqB,GAArBA,UAAU,MAAM,EAClB,IAAI,CAAC,OAAO,CAAG5G,OAAO,MAAM,CAAC,MAC7B,IAAI,CAAC,YAAY,CAAG,GACMyB,KAAAA,IAAjB6S,CAAM,CAACH,EAAK,GACjB,AAAwB,GAAxB,EAAE,IAAI,CAAC,YAAY,CACrB,IAAI,CAAC,OAAO,CAAGnU,OAAO,MAAM,CAAC,MAE7B,OAAOsU,CAAM,CAACH,EAAK,EAEhB,IAAI,CAIb,GAAIvN,AAAqB,GAArBA,UAAU,MAAM,CAAQ,CAC1B,IACI7F,EADAD,EAAOd,OAAO,IAAI,CAACsU,GAEvB,IAAKpQ,EAAI,EAAGA,EAAIpD,EAAK,MAAM,CAAE,EAAEoD,EAEjB,mBADZnD,CAAAA,EAAMD,CAAI,CAACoD,EAAE,AAAD,GAEZ,IAAI,CAAC,kBAAkB,CAACnD,GAK1B,OAHA,IAAI,CAAC,kBAAkB,CAAC,kBACxB,IAAI,CAAC,OAAO,CAAGf,OAAO,MAAM,CAAC,MAC7B,IAAI,CAAC,YAAY,CAAG,EACb,IAAI,AACb,CAIA,GAAI,AAAqB,YAArB,MAFJyV,CAAAA,EAAYnB,CAAM,CAACH,EAAK,AAAD,EAGrB,IAAI,CAAC,cAAc,CAACA,EAAMsB,QACrB,GAAIA,AAAchU,KAAAA,IAAdgU,EAET,IAAKvR,EAAIuR,EAAU,MAAM,CAAG,EAAGvR,GAAK,EAAGA,IACrC,IAAI,CAAC,cAAc,CAACiQ,EAAMsB,CAAS,CAACvR,EAAE,EAI1C,OAAO,IAAI,AACb,EAmBJ6P,EAAa,SAAS,CAAC,SAAS,CAAG,SAAmBI,CAAI,EACxD,OAAOY,EAAW,IAAI,CAAEZ,EAAM,GAChC,EAEAJ,EAAa,SAAS,CAAC,YAAY,CAAG,SAAsBI,CAAI,EAC9D,OAAOY,EAAW,IAAI,CAAEZ,EAAM,GAChC,EAEAJ,EAAa,aAAa,CAAG,SAAS8B,CAAO,CAAE1B,CAAI,QACjD,AAAI,AAAiC,YAAjC,OAAO0B,EAAQ,aAAa,CACvBA,EAAQ,aAAa,CAAC1B,GAEtBiB,EAAc,IAAI,CAACS,EAAS1B,EAEvC,EAEAJ,EAAa,SAAS,CAAC,aAAa,CAAGqB,EAiBvCrB,EAAa,SAAS,CAAC,UAAU,CAAG,WAClC,OAAO,IAAI,CAAC,YAAY,CAAG,EAAIN,EAAe,IAAI,CAAC,OAAO,EAAI,EAAE,AAClE,CAwBM,EAEC,SAAS7T,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAGpDA,AADAA,CAAAA,EAAUD,EAAO,OAAO,CAAG,EAAoB,GAAE,EACzC,MAAM,CAAGC,EACjBA,EAAQ,QAAQ,CAAGA,EACnBA,EAAQ,QAAQ,CAAG,EAAoB,IACvCA,EAAQ,MAAM,CAAG,EAAoB,GACrCA,EAAQ,SAAS,CAAG,EAAoB,IACxCA,EAAQ,WAAW,CAAG,EAAoB,IAGpC,EAEC,SAASD,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAC4B,UAASmM,CAAO,CAAE8J,CAAY,CAAEjU,CAAM,EA6BlE,IA+BIb,EA4KA+U,EA3MApV,EAAM,EAAoB,IAe9B,SAASqV,EAAcnB,CAAK,EAC1B,IAAIoB,EAAQ,IAAI,AAEhB,KAAI,CAAC,IAAI,CAAG,KACZ,IAAI,CAAC,KAAK,CAAG,KACb,IAAI,CAAC,MAAM,CAAG,WACZC,AAmlBJ,UAAwBC,CAAO,CAAEtB,CAAK,CAAElT,CAAG,EACzC,IAAIyU,EAAQD,EAAQ,KAAK,CAEzB,IADAA,EAAQ,KAAK,CAAG,KACTC,GAAO,CACZ,IAAIxU,EAAKwU,EAAM,QAAQ,AACvBvB,CAAAA,EAAM,SAAS,GACfjT,EAAGD,GACHyU,EAAQA,EAAM,IAAI,AACpB,CACIvB,EAAM,kBAAkB,CAC1BA,EAAM,kBAAkB,CAAC,IAAI,CAAGsB,EAEhCtB,EAAM,kBAAkB,CAAGsB,CAE/B,GAjmBmBF,EAAOpB,EACxB,CACF,CApBAjV,EAAO,OAAO,CAAGuB,EAwBjB,IAAIkV,EAAa,CAACrK,EAAQ,OAAO,EAAI,CAAC,QAAS,QAAQ,CAAC,OAAO,CAACA,EAAQ,OAAO,CAAC,KAAK,CAAC,EAAG,IAAM,GAAK8J,EAAenV,EAAI,QAAQ,AAO/HQ,CAAAA,EAAS,aAAa,CAAGmV,EAGzB,IAAIrV,EAAO,EAAoB,GAC/BA,CAAAA,EAAK,QAAQ,CAAG,EAAoB,GAIpC,IAAIsV,EAAe,CACjB,UAAW,EAAoB,IACjC,EAIIC,EAAS,EAAoB,IAK7BvU,EAAS,EAAoB,IAAI,MAAM,CACvCwU,EAAgB5U,EAAO,UAAU,EAAI,WAAa,EAUlD6U,EAAc,EAAoB,IAItC,SAASC,IAAO,CAEhB,SAASL,EAAchV,CAAO,CAAEsV,CAAM,EACpC5V,EAASA,GAAU,EAAoB,GAEvCM,EAAUA,GAAW,CAAC,EAOtB,IAAIuV,EAAWD,aAAkB5V,CAIjC,KAAI,CAAC,UAAU,CAAG,CAAC,CAACM,EAAQ,UAAU,CAElCuV,GAAU,KAAI,CAAC,UAAU,CAAG,IAAI,CAAC,UAAU,EAAI,CAAC,CAACvV,EAAQ,kBAAkB,AAAD,EAK9E,IAAIwV,EAAMxV,EAAQ,aAAa,CAC3ByV,EAAczV,EAAQ,qBAAqB,CAC3C0V,EAAa,IAAI,CAAC,UAAU,CAAG,GAAK,KAEpCF,CAAAA,GAAOA,AAAQ,IAARA,EAAW,IAAI,CAAC,aAAa,CAAGA,EAAaD,GAAaE,CAAAA,GAAeA,AAAgB,IAAhBA,CAAgB,EAAI,IAAI,CAAC,aAAa,CAAGA,EAAiB,IAAI,CAAC,aAAa,CAAGC,EAGnK,IAAI,CAAC,aAAa,CAAG9R,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,EAGlD,IAAI,CAAC,WAAW,CAAG,GAGnB,IAAI,CAAC,SAAS,CAAG,GAEjB,IAAI,CAAC,MAAM,CAAG,GAEd,IAAI,CAAC,KAAK,CAAG,GAEb,IAAI,CAAC,QAAQ,CAAG,GAGhB,IAAI,CAAC,SAAS,CAAG,GAKjB,IAAI+R,EAAW3V,AAA0B,KAA1BA,EAAQ,aAAa,AACpC,KAAI,CAAC,aAAa,CAAG,CAAC2V,EAKtB,IAAI,CAAC,eAAe,CAAG3V,EAAQ,eAAe,EAAI,OAKlD,IAAI,CAAC,MAAM,CAAG,EAGd,IAAI,CAAC,OAAO,CAAG,GAGf,IAAI,CAAC,MAAM,CAAG,EAMd,IAAI,CAAC,IAAI,CAAG,GAKZ,IAAI,CAAC,gBAAgB,CAAG,GAGxB,IAAI,CAAC,OAAO,CAAG,SAAUiU,CAAE,EACzB2B,AA2RJ,UAAiBN,CAAM,CAAErB,CAAE,EACzB,IAR0BV,EAxBN+B,EAAQ/B,EAAOsC,EAAM5B,EAAI3T,EAgCzCiT,EAAQ+B,EAAO,cAAc,CAC7BO,EAAOtC,EAAM,IAAI,CACjBjT,EAAKiT,EAAM,OAAO,CAItB,GAbAA,CAD0BA,EAYPA,GAXb,OAAO,CAAG,GAChBA,EAAM,OAAO,CAAG,KAChBA,EAAM,MAAM,EAAIA,EAAM,QAAQ,CAC9BA,EAAM,QAAQ,CAAG,EAUbU,EAAI6B,EAtCYR,EAsCCA,EAtCO/B,EAsCCA,EAtCMsC,EAsCCA,EAtCK5B,EAsCCA,EAtCG3T,EAsCCA,EArC9C,EAAEiT,EAAM,SAAS,CAEbsC,GAGFxW,EAAI,QAAQ,CAACiB,EAAI2T,GAGjB5U,EAAI,QAAQ,CAAC0W,EAAaT,EAAQ/B,GAClC+B,EAAO,cAAc,CAAC,YAAY,CAAG,GACrCA,EAAO,IAAI,CAAC,QAASrB,KAIrB3T,EAAG2T,GACHqB,EAAO,cAAc,CAAC,YAAY,CAAG,GACrCA,EAAO,IAAI,CAAC,QAASrB,GAGrB8B,EAAYT,EAAQ/B,GAkB2B,KAAM,CAErD,IAAIyC,EAAWC,EAAW1C,EAEtB,EAACyC,GAAY,CAACzC,EAAM,MAAM,EAAI,CAACA,EAAM,gBAAgB,EAAIA,EAAM,eAAe,EAChF2C,EAAYZ,EAAQ/B,GAGlBsC,EAEFd,EAAWoB,EAAYb,EAAQ/B,EAAOyC,EAAU1V,GAGhD6V,EAAWb,EAAQ/B,EAAOyC,EAAU1V,EAExC,CACF,GAlTYgV,EAAQrB,EAClB,EAGA,IAAI,CAAC,OAAO,CAAG,KAGf,IAAI,CAAC,QAAQ,CAAG,EAEhB,IAAI,CAAC,eAAe,CAAG,KACvB,IAAI,CAAC,mBAAmB,CAAG,KAI3B,IAAI,CAAC,SAAS,CAAG,EAIjB,IAAI,CAAC,WAAW,CAAG,GAGnB,IAAI,CAAC,YAAY,CAAG,GAGpB,IAAI,CAAC,oBAAoB,CAAG,EAI5B,IAAI,CAAC,kBAAkB,CAAG,IAAIS,EAAc,IAAI,CAClD,CAyCA,SAAS7U,EAASG,CAAO,EAUvB,GATAN,EAASA,GAAU,EAAoB,GASnC,CAAC+U,EAAgB,IAAI,CAAC5U,EAAU,IAAI,GAAK,CAAE,KAAI,YAAYH,CAAK,EAClE,OAAO,IAAIG,EAASG,EAGtB,KAAI,CAAC,cAAc,CAAG,IAAIgV,EAAchV,EAAS,IAAI,EAGrD,IAAI,CAAC,QAAQ,CAAG,GAEZA,IAC2B,YAAzB,OAAOA,EAAQ,KAAK,EAAiB,KAAI,CAAC,MAAM,CAAGA,EAAQ,KAAK,AAAD,EAErC,YAA1B,OAAOA,EAAQ,MAAM,EAAiB,KAAI,CAAC,OAAO,CAAGA,EAAQ,MAAM,AAAD,EAEvC,YAA3B,OAAOA,EAAQ,OAAO,EAAiB,KAAI,CAAC,QAAQ,CAAGA,EAAQ,OAAO,AAAD,EAE5C,YAAzB,OAAOA,EAAQ,KAAK,EAAiB,KAAI,CAAC,MAAM,CAAGA,EAAQ,KAAK,AAAD,GAGrEkV,EAAO,IAAI,CAAC,IAAI,CAClB,CAxLAvV,EAAK,QAAQ,CAACE,EAAUqV,GAmHxBF,EAAc,SAAS,CAAC,SAAS,CAAG,WAGlC,IAFA,IAAIoB,EAAU,IAAI,CAAC,eAAe,CAC9B9S,EAAM,EAAE,CACL8S,GACL9S,EAAI,IAAI,CAAC8S,GACTA,EAAUA,EAAQ,IAAI,CAExB,OAAO9S,CACT,GAEA,AAAC,WACC,GAAI,CACF5E,OAAO,cAAc,CAACsW,EAAc,SAAS,CAAE,SAAU,CACvD,IAAKC,EAAa,SAAS,CAAC,WAC1B,OAAO,IAAI,CAAC,SAAS,EACvB,EAAG,6EAAmF,UACxF,EACF,CAAE,MAAOoB,EAAG,CAAC,CACf,IAKI,AAAkB,YAAlB,OAAO1T,QAAyBA,OAAO,WAAW,EAAI,AAAkD,YAAlD,OAAO1D,SAAS,SAAS,CAAC0D,OAAO,WAAW,CAAC,EACrG8R,EAAkBxV,SAAS,SAAS,CAAC0D,OAAO,WAAW,CAAC,CACxDjE,OAAO,cAAc,CAACmB,EAAU8C,OAAO,WAAW,CAAE,CAClD,MAAO,SAAUhE,CAAM,QACrB,EAAI8V,EAAgB,IAAI,CAAC,IAAI,CAAE9V,IAC3B,IAAI,GAAKkB,GAENlB,GAAUA,EAAO,cAAc,YAAYqW,CACpD,CACF,IAEAP,EAAkB,SAAU9V,CAAM,EAChC,OAAOA,aAAkB,IAAI,AAC/B,EAoCFkB,EAAS,SAAS,CAAC,IAAI,CAAG,WACxB,IAAI,CAAC,IAAI,CAAC,QAAS,AAAIyB,MAAM,6BAC/B,CA6BAzB,CAAAA,EAAS,SAAS,CAAC,KAAK,CAAG,SAAUyW,CAAK,CAAErU,CAAQ,CAAE3B,CAAE,EACtD,IAnOqBf,EAHM+W,EA0MNhB,EAAQhV,EACzB2T,EAScqB,EAAQ/B,EAAO+C,EAAOhW,EACpCiW,EACAtC,EAgBAV,EAAQ,IAAI,CAAC,cAAc,CAC3B5P,EAAM,GACV,IAAI6S,EAAQ,CAACjD,EAAM,UAAU,GArORhU,EAqO0B+W,EApOxC3V,EAAO,QAAQ,CAACpB,IAAQA,aAAe4V,GAsO9C,GAAIqB,GAAS,CAAC7V,EAAO,QAAQ,CAAC2V,GAAQ,EA1OXA,EA2OGA,EAA5BA,EA1OK3V,EAAO,IAAI,CAAC2V,EA2OnB,CAWA,GATwB,YAApB,OAAOrU,IACT3B,EAAK2B,EACLA,EAAW,MAGTuU,EAAOvU,EAAW,SAAkB,CAACA,GAAUA,CAAAA,EAAWsR,EAAM,eAAe,AAAD,EAEhE,YAAd,OAAOjT,GAAmBA,CAAAA,EAAK+U,CAAE,EAEjC9B,EAAM,KAAK,CAAEkD,EA7CInB,EA6CU,IAAI,CA7CNhV,EA6CQA,EA5CjC2T,EAAK,AAAI3S,MAAM,mBAEnBgU,EAAO,IAAI,CAAC,QAASrB,GACrB5U,EAAI,QAAQ,CAACiB,EAAI2T,EAyCuB,KAAM,KAAIuC,IAnChClB,EAmCoD,IAAI,CAnChD/B,EAmCkDA,EAnC3C+C,EAmCkDA,EAnC3ChW,EAmCkDA,EAlCtFiW,EAAQ,GACRtC,EAAK,GAELqC,AAAU,OAAVA,EACFrC,EAAK,AAAIxS,UAAU,uCACO,UAAjB,OAAO6U,GAAsBA,AAAUnW,KAAAA,IAAVmW,GAAuB,CAAC/C,EAAM,UAAU,EAC9EU,CAAAA,EAAK,AAAIxS,UAAU,kCAAiC,EAElDwS,IACFqB,EAAO,IAAI,CAAC,QAASrB,GACrB5U,EAAI,QAAQ,CAACiB,EAAI2T,GACjBsC,EAAQ,IAEHA,GAsBLhD,EAAM,SAAS,GACf5P,EAAM+S,AAkDV,SAAuBpB,CAAM,CAAE/B,CAAK,CAAEiD,CAAK,CAAEF,CAAK,CAAErU,CAAQ,CAAE3B,CAAE,EAC9D,GAAI,CAACkW,EAAO,CACV,IAtBiBjD,EAAO+C,EAAOrU,EAsB3B0U,GAtBapD,EAsBUA,EAtBH+C,EAsBUA,EAtBHrU,EAsBUA,EArBvC,CAACsR,EAAM,UAAU,EAAIA,AAAwB,KAAxBA,EAAM,aAAa,EAAc,AAAiB,UAAjB,OAAO+C,GAC/DA,CAAAA,EAAQ3V,EAAO,IAAI,CAAC2V,EAAOrU,EAAQ,EAE9BqU,GAmBDA,IAAUK,IACZH,EAAQ,GACRvU,EAAW,SACXqU,EAAQK,EAEZ,CACA,IAAItU,EAAMkR,EAAM,UAAU,CAAG,EAAI+C,EAAM,MAAM,AAE7C/C,CAAAA,EAAM,MAAM,EAAIlR,EAEhB,IAAIsB,EAAM4P,EAAM,MAAM,CAAGA,EAAM,aAAa,CAI5C,GAFI,CAAC5P,GAAK4P,CAAAA,EAAM,SAAS,CAAG,EAAG,EAE3BA,EAAM,OAAO,EAAIA,EAAM,MAAM,CAAE,CACjC,IAAIqD,EAAOrD,EAAM,mBAAmB,AACpCA,CAAAA,EAAM,mBAAmB,CAAG,CAC1B,MAAO+C,EACP,SAAUrU,EACV,MAAOuU,EACP,SAAUlW,EACV,KAAM,IACR,EACIsW,EACFA,EAAK,IAAI,CAAGrD,EAAM,mBAAmB,CAErCA,EAAM,eAAe,CAAGA,EAAM,mBAAmB,CAEnDA,EAAM,oBAAoB,EAAI,CAChC,MACEsD,EAAQvB,EAAQ/B,EAAO,GAAOlR,EAAKiU,EAAOrU,EAAU3B,GAGtD,OAAOqD,CACT,EAvFwB,IAAI,CAAE4P,EAAOiD,EAAOF,EAAOrU,EAAU3B,EAC3D,CAEA,OAAOqD,CACT,EAEA9D,EAAS,SAAS,CAAC,IAAI,CAAG,WACxB,IAAI0T,EAAQ,IAAI,CAAC,cAAc,AAE/BA,CAAAA,EAAM,MAAM,EACd,EAEA1T,EAAS,SAAS,CAAC,MAAM,CAAG,WAC1B,IAAI0T,EAAQ,IAAI,CAAC,cAAc,AAE3BA,CAAAA,EAAM,MAAM,GACdA,EAAM,MAAM,GAER,CAACA,EAAM,OAAO,EAAI,CAACA,EAAM,MAAM,EAAI,CAACA,EAAM,QAAQ,EAAI,CAACA,EAAM,gBAAgB,EAAIA,EAAM,eAAe,EAAE2C,EAAY,IAAI,CAAE3C,GAElI,EAEA1T,EAAS,SAAS,CAAC,kBAAkB,CAAG,SAA4BoC,CAAQ,EAG1E,GADwB,UAApB,OAAOA,GAAuBA,CAAAA,EAAWA,EAAS,WAAW,EAAC,EAC9D,CAAE,EAAC,MAAO,OAAQ,QAAS,QAAS,SAAU,SAAU,OAAQ,QAAS,UAAW,WAAY,MAAM,CAAC,OAAO,CAAC,AAACA,CAAAA,EAAW,EAAC,EAAG,WAAW,IAAM,EAAC,EAAI,MAAM,AAAIR,UAAU,qBAAuBQ,GAEpM,OADA,IAAI,CAAC,cAAc,CAAC,eAAe,CAAGA,EAC/B,IAAI,AACb,EASAvD,OAAO,cAAc,CAACmB,EAAS,SAAS,CAAE,wBAAyB,CAIjE,WAAY,GACZ,IAAK,WACH,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,AAC1C,CACF,GA4CA,SAASgX,EAAQvB,CAAM,CAAE/B,CAAK,CAAEuD,CAAM,CAAEzU,CAAG,CAAEiU,CAAK,CAAErU,CAAQ,CAAE3B,CAAE,EAC9DiT,EAAM,QAAQ,CAAGlR,EACjBkR,EAAM,OAAO,CAAGjT,EAChBiT,EAAM,OAAO,CAAG,GAChBA,EAAM,IAAI,CAAG,GACTuD,EAAQxB,EAAO,OAAO,CAACgB,EAAO/C,EAAM,OAAO,EAAO+B,EAAO,MAAM,CAACgB,EAAOrU,EAAUsR,EAAM,OAAO,EAClGA,EAAM,IAAI,CAAG,EACf,CA0DA,SAAS4C,EAAWb,CAAM,CAAE/B,CAAK,CAAEyC,CAAQ,CAAE1V,CAAE,EACzC,CAAC0V,GAAUe,AASjB,SAAsBzB,CAAM,CAAE/B,CAAK,EACZ,IAAjBA,EAAM,MAAM,EAAUA,EAAM,SAAS,GACvCA,EAAM,SAAS,CAAG,GAClB+B,EAAO,IAAI,CAAC,SAEhB,EAd8BA,EAAQ/B,GACpCA,EAAM,SAAS,GACfjT,IACAyV,EAAYT,EAAQ/B,EACtB,CAaA,SAAS2C,EAAYZ,CAAM,CAAE/B,CAAK,EAChCA,EAAM,gBAAgB,CAAG,GACzB,IAAIuB,EAAQvB,EAAM,eAAe,CAEjC,GAAI+B,EAAO,OAAO,EAAIR,GAASA,EAAM,IAAI,CAAE,CAGzC,IAAIxQ,EAAS,AAAI0C,MADTuM,EAAM,oBAAoB,EAE9ByD,EAASzD,EAAM,kBAAkB,AACrCyD,CAAAA,EAAO,KAAK,CAAGlC,EAIf,IAFA,IAAImC,EAAQ,EACRC,EAAa,GACVpC,GACLxQ,CAAM,CAAC2S,EAAM,CAAGnC,EACZ,CAACA,EAAM,KAAK,EAAEoC,CAAAA,EAAa,EAAI,EACnCpC,EAAQA,EAAM,IAAI,CAClBmC,GAAS,CAEX3S,CAAAA,EAAO,UAAU,CAAG4S,EAEpBL,EAAQvB,EAAQ/B,EAAO,GAAMA,EAAM,MAAM,CAAEjP,EAAQ,GAAI0S,EAAO,MAAM,EAIpEzD,EAAM,SAAS,GACfA,EAAM,mBAAmB,CAAG,KACxByD,EAAO,IAAI,EACbzD,EAAM,kBAAkB,CAAGyD,EAAO,IAAI,CACtCA,EAAO,IAAI,CAAG,MAEdzD,EAAM,kBAAkB,CAAG,IAAImB,EAAcnB,GAE/CA,EAAM,oBAAoB,CAAG,CAC/B,KAAO,CAEL,KAAOuB,GAAO,CACZ,IAAIwB,EAAQxB,EAAM,KAAK,CACnB7S,EAAW6S,EAAM,QAAQ,CACzBxU,EAAKwU,EAAM,QAAQ,CACnBzS,EAAMkR,EAAM,UAAU,CAAG,EAAI+C,EAAM,MAAM,CAS7C,GAPAO,EAAQvB,EAAQ/B,EAAO,GAAOlR,EAAKiU,EAAOrU,EAAU3B,GACpDwU,EAAQA,EAAM,IAAI,CAClBvB,EAAM,oBAAoB,GAKtBA,EAAM,OAAO,CACf,KAEJ,CAEc,OAAVuB,GAAgBvB,CAAAA,EAAM,mBAAmB,CAAG,IAAG,CACrD,CAEAA,EAAM,eAAe,CAAGuB,EACxBvB,EAAM,gBAAgB,CAAG,EAC3B,CAgCA,SAAS0C,EAAW1C,CAAK,EACvB,OAAOA,EAAM,MAAM,EAAIA,AAAiB,IAAjBA,EAAM,MAAM,EAAUA,AAA0B,OAA1BA,EAAM,eAAe,EAAa,CAACA,EAAM,QAAQ,EAAI,CAACA,EAAM,OAAO,AAClH,CACA,SAAS4D,EAAU7B,CAAM,CAAE/B,CAAK,EAC9B+B,EAAO,MAAM,CAAC,SAAUjV,CAAG,EACzBkT,EAAM,SAAS,GACXlT,GACFiV,EAAO,IAAI,CAAC,QAASjV,GAEvBkT,EAAM,WAAW,CAAG,GACpB+B,EAAO,IAAI,CAAC,aACZS,EAAYT,EAAQ/B,EACtB,EACF,CA3CA1T,EAAS,SAAS,CAAC,MAAM,CAAG,SAAUyW,CAAK,CAAErU,CAAQ,CAAE3B,CAAE,EACvDA,EAAG,AAAIgB,MAAM,+BACf,EAEAzB,EAAS,SAAS,CAAC,OAAO,CAAG,KAE7BA,EAAS,SAAS,CAAC,GAAG,CAAG,SAAUyW,CAAK,CAAErU,CAAQ,CAAE3B,CAAE,EACpD,IAAIiT,EAAQ,IAAI,CAAC,cAAc,AAE3B,AAAiB,aAAjB,OAAO+C,GACThW,EAAKgW,EACLA,EAAQ,KACRrU,EAAW,MACkB,YAApB,OAAOA,IAChB3B,EAAK2B,EACLA,EAAW,YAGTqU,GAAuC,IAAI,CAAC,KAAK,CAACA,EAAOrU,GAGzDsR,EAAM,MAAM,GACdA,EAAM,MAAM,CAAG,EACf,IAAI,CAAC,MAAM,IAIT,CAACA,EAAM,MAAM,EAAI,CAACA,EAAM,QAAQ,EAAE6D,AA0CxC,SAAqB9B,CAAM,CAAE/B,CAAK,CAAEjT,CAAE,EACpCiT,EAAM,MAAM,CAAG,GACfwC,EAAYT,EAAQ/B,GAChBjT,IACEiT,EAAM,QAAQ,CAAElU,EAAI,QAAQ,CAACiB,GAASgV,EAAO,IAAI,CAAC,SAAUhV,IAElEiT,EAAM,KAAK,CAAG,GACd+B,EAAO,QAAQ,CAAG,EACpB,EAlDoD,IAAI,CAAE/B,EAAOjT,EACjE,EA6BA,SAASyV,EAAYT,CAAM,CAAE/B,CAAK,EAChC,IAdiB+B,EAAQ/B,EAcrB8D,EAAOpB,EAAW1C,GACtB,GAAI8D,EAAM,EAfO/B,EAgBLA,EAfP/B,CADoBA,EAgBLA,GAfT,WAAW,EAAKA,EAAM,WAAW,GACtC,AAAyB,YAAzB,OAAO+B,EAAO,MAAM,EACtB/B,EAAM,SAAS,GACfA,EAAM,WAAW,CAAG,GACpBlU,EAAI,QAAQ,CAAC8X,EAAW7B,EAAQ/B,KAEhCA,EAAM,WAAW,CAAG,GACpB+B,EAAO,IAAI,CAAC,eASU,IAApB/B,EAAM,SAAS,GACjBA,EAAM,QAAQ,CAAG,GACjB+B,EAAO,IAAI,CAAC,UAEhB,CACA,OAAO+B,CACT,CA4BA3Y,OAAO,cAAc,CAACmB,EAAS,SAAS,CAAE,YAAa,CACrD,IAAK,kBACH,AAA4BM,KAAAA,IAAxB,IAAI,CAAC,cAAc,EAGhB,IAAI,CAAC,cAAc,CAAC,SAAS,AACtC,EACA,IAAK,SAAUC,CAAK,EAGlB,IAAI,CAAC,IAAI,CAAC,cAAc,CAMxB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAGA,CAClC,CACF,GAEAP,EAAS,SAAS,CAAC,OAAO,CAAGuV,EAAY,OAAO,CAChDvV,EAAS,SAAS,CAAC,UAAU,CAAGuV,EAAY,SAAS,CACrDvV,EAAS,SAAS,CAAC,QAAQ,CAAG,SAAUQ,CAAG,CAAEC,CAAE,EAC7C,IAAI,CAAC,GAAG,GACRA,EAAGD,EACL,CAC2B,GAAE,IAAI,CAAC9B,EAAS,EAAoB,IAAK,EAAoB,IAAI,YAAY,CAAE,EAAoB,GAExH,EAEC,SAASD,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aA0BA,IAAIoC,EAAS,EAAoB,IAAI,MAAM,CAGvC2W,EAAa3W,EAAO,UAAU,EAAI,SAAUsB,CAAQ,EAEtD,OAAQA,AADRA,CAAAA,EAAW,GAAKA,CAAO,GACHA,EAAS,WAAW,IACtC,IAAK,MAAM,IAAK,OAAO,IAAK,QAAQ,IAAK,QAAQ,IAAK,SAAS,IAAK,SAAS,IAAK,OAAO,IAAK,QAAQ,IAAK,UAAU,IAAK,WAAW,IAAK,MACxI,MAAO,EACT,SACE,MAAO,EACX,CACF,EA0CA,SAASsV,EAActV,CAAQ,MAEzBuV,EACJ,OAFA,IAAI,CAAC,QAAQ,CAAGC,AAXlB,SAA2BC,CAAG,EAC5B,IAAIC,EAAOC,AA/Bb,SAA4BF,CAAG,MAEzBG,EADJ,GAAI,CAACH,EAAK,MAAO,OAEjB,OACE,OAAQA,GACN,IAAK,OACL,IAAK,QACH,MAAO,MACT,KAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAO,SACT,KAAK,SACL,IAAK,SACH,MAAO,QACT,KAAK,SACL,IAAK,QACL,IAAK,MACH,OAAOA,CACT,SACE,GAAIG,EAAS,OACbH,EAAM,AAAC,IAAKA,CAAE,EAAG,WAAW,GAC5BG,EAAU,EACd,CAEJ,EAKgCH,GAC9B,GAAI,AAAgB,UAAhB,OAAOC,GAAsBhX,CAAAA,EAAO,UAAU,GAAK2W,GAAc,CAACA,EAAWI,EAAG,EAAI,MAAM,AAAIpW,MAAM,qBAAuBoW,GAC/H,OAAOC,GAAQD,CACjB,EAOoCzV,GAE1B,IAAI,CAAC,QAAQ,EACnB,IAAK,UACH,IAAI,CAAC,IAAI,CAAG6V,EACZ,IAAI,CAAC,GAAG,CAAGC,EACXP,EAAK,EACL,KACF,KAAK,OACH,IAAI,CAAC,QAAQ,CAAGQ,EAChBR,EAAK,EACL,KACF,KAAK,SACH,IAAI,CAAC,IAAI,CAAGS,EACZ,IAAI,CAAC,GAAG,CAAGC,EACXV,EAAK,EACL,KACF,SACE,IAAI,CAAC,KAAK,CAAGW,EACb,IAAI,CAAC,GAAG,CAAGC,EACX,MACJ,CACA,IAAI,CAAC,QAAQ,CAAG,EAChB,IAAI,CAAC,SAAS,CAAG,EACjB,IAAI,CAAC,QAAQ,CAAGzX,EAAO,WAAW,CAAC6W,EACrC,CAmCA,SAASa,EAAcC,CAAI,EACzB,GAAIA,GAAQ,IAAM,OAAO,EAAO,GAAIA,GAAQ,GAAM,EAAM,OAAO,EAAO,GAAIA,GAAQ,GAAM,GAAM,OAAO,OAAO,GAAIA,GAAQ,GAAM,GAAM,OAAO,EAC3I,OAAOA,GAAQ,GAAM,EAAO,GAAK,EACnC,CAjEA/Z,EAAQ,aAAa,CAAGgZ,EA6BxBA,EAAc,SAAS,CAAC,KAAK,CAAG,SAAUlU,CAAG,MAEvCmM,EACA5M,EAFJ,GAAIS,AAAe,IAAfA,EAAI,MAAM,CAAQ,MAAO,GAG7B,GAAI,IAAI,CAAC,QAAQ,CAAE,CAEjB,GAAImM,AAAMrP,KAAAA,IADVqP,CAAAA,EAAI,IAAI,CAAC,QAAQ,CAACnM,EAAG,EACA,MAAO,GAC5BT,EAAI,IAAI,CAAC,QAAQ,CACjB,IAAI,CAAC,QAAQ,CAAG,CAClB,MACEA,EAAI,SAEN,AAAIA,EAAIS,EAAI,MAAM,CAASmM,EAAIA,EAAI,IAAI,CAAC,IAAI,CAACnM,EAAKT,GAAK,IAAI,CAAC,IAAI,CAACS,EAAKT,GAC/D4M,GAAK,EACd,EAEA+H,EAAc,SAAS,CAAC,GAAG,CAwG3B,SAAiBlU,CAAG,EAClB,IAAImM,EAAInM,GAAOA,EAAI,MAAM,CAAG,IAAI,CAAC,KAAK,CAACA,GAAO,UAC9C,AAAI,IAAI,CAAC,QAAQ,CAASmM,EAAI,IACvBA,CACT,EAzGA+H,EAAc,SAAS,CAAC,IAAI,CA0F5B,SAAkBlU,CAAG,CAAET,CAAC,EACtB,IAAI2V,EAAQC,AArEd,SAA6Bta,CAAI,CAAEmF,CAAG,CAAET,CAAC,EACvC,IAAIoC,EAAI3B,EAAI,MAAM,CAAG,EACrB,GAAI2B,EAAIpC,EAAG,OAAO,EAClB,IAAI4U,EAAKa,EAAchV,CAAG,CAAC2B,EAAE,SAC7B,AAAIwS,GAAM,GACJA,EAAK,GAAGtZ,CAAAA,EAAK,QAAQ,CAAGsZ,EAAK,GAC1BA,GAEL,EAAExS,EAAIpC,GAAK4U,AAAO,KAAPA,EAAkB,EAE7BA,AADJA,CAAAA,EAAKa,EAAchV,CAAG,CAAC2B,EAAE,IACf,GACJwS,EAAK,GAAGtZ,CAAAA,EAAK,QAAQ,CAAGsZ,EAAK,GAC1BA,GAEL,EAAExS,EAAIpC,GAAK4U,AAAO,KAAPA,EAAkB,EAE7BA,AADJA,CAAAA,EAAKa,EAAchV,CAAG,CAAC2B,EAAE,IACf,GACJwS,EAAK,IACHA,AAAO,IAAPA,EAAUA,EAAK,EAAOtZ,EAAK,QAAQ,CAAGsZ,EAAK,GAE1CA,GAEF,CACT,EA8CkC,IAAI,CAAEnU,EAAKT,GAC3C,GAAI,CAAC,IAAI,CAAC,QAAQ,CAAE,OAAOS,EAAI,QAAQ,CAAC,OAAQT,EAChD,KAAI,CAAC,SAAS,CAAG2V,EACjB,IAAIpV,EAAME,EAAI,MAAM,CAAIkV,CAAAA,EAAQ,IAAI,CAAC,QAAQ,AAAD,EAE5C,OADAlV,EAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAE,EAAGF,GACpBE,EAAI,QAAQ,CAAC,OAAQT,EAAGO,EACjC,EA9FAoU,EAAc,SAAS,CAAC,QAAQ,CAAG,SAAUlU,CAAG,EAC9C,GAAI,IAAI,CAAC,QAAQ,EAAIA,EAAI,MAAM,CAE7B,OADAA,EAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAE,IAAI,CAAC,SAAS,CAAG,IAAI,CAAC,QAAQ,CAAE,EAAG,IAAI,CAAC,QAAQ,EACjE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAE,EAAG,IAAI,CAAC,SAAS,EAEhEA,EAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAE,IAAI,CAAC,SAAS,CAAG,IAAI,CAAC,QAAQ,CAAE,EAAGA,EAAI,MAAM,EACrE,IAAI,CAAC,QAAQ,EAAIA,EAAI,MAAM,AAC7B,EAiEA,SAAS2U,EAAa3U,CAAG,EACvB,IAAItE,EAAI,IAAI,CAAC,SAAS,CAAG,IAAI,CAAC,QAAQ,CAClCyQ,EAAIiJ,AAtBV,SAA6Bva,CAAI,CAAEmF,CAAG,CAAEtE,CAAC,EACvC,GAAI,AAACsE,CAAAA,AAAS,IAATA,CAAG,CAAC,EAAE,AAAM,GAAO,IAEtB,OADAnF,EAAK,QAAQ,CAAG,EACT,IAET,GAAIA,EAAK,QAAQ,CAAG,GAAKmF,EAAI,MAAM,CAAG,EAAG,CACvC,GAAI,AAACA,CAAAA,AAAS,IAATA,CAAG,CAAC,EAAE,AAAM,GAAO,IAEtB,OADAnF,EAAK,QAAQ,CAAG,EACT,IAET,GAAIA,EAAK,QAAQ,CAAG,GAAKmF,EAAI,MAAM,CAAG,GAChC,AAACA,CAAAA,AAAS,IAATA,CAAG,CAAC,EAAE,AAAM,GAAO,IAEtB,OADAnF,EAAK,QAAQ,CAAG,EACT,GAGb,CACF,EAK8B,IAAI,CAAEmF,EAAKtE,UACvC,AAAIyQ,AAAMrP,KAAAA,IAANqP,EAAwBA,EACxB,IAAI,CAAC,QAAQ,EAAInM,EAAI,MAAM,EAC7BA,EAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAEtE,EAAG,EAAG,IAAI,CAAC,QAAQ,EACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAE,EAAG,IAAI,CAAC,SAAS,QAEhEsE,EAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAEtE,EAAG,EAAGsE,EAAI,MAAM,EACxC,IAAI,CAAC,QAAQ,EAAIA,EAAI,MAAM,CAC7B,CA0BA,SAASyU,EAAUzU,CAAG,CAAET,CAAC,EACvB,GAAI,AAACS,CAAAA,EAAI,MAAM,CAAGT,CAAAA,EAAK,GAAM,EAAG,CAC9B,IAAI4M,EAAInM,EAAI,QAAQ,CAAC,UAAWT,GAChC,GAAI4M,EAAG,CACL,IAAI5I,EAAI4I,EAAE,UAAU,CAACA,EAAE,MAAM,CAAG,GAChC,GAAI5I,GAAK,OAAUA,GAAK,MAKtB,OAJA,IAAI,CAAC,QAAQ,CAAG,EAChB,IAAI,CAAC,SAAS,CAAG,EACjB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAGvD,CAAG,CAACA,EAAI,MAAM,CAAG,EAAE,CACtC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAGA,CAAG,CAACA,EAAI,MAAM,CAAG,EAAE,CAC/BmM,EAAE,KAAK,CAAC,EAAG,GAEtB,CACA,OAAOA,CACT,CAIA,OAHA,IAAI,CAAC,QAAQ,CAAG,EAChB,IAAI,CAAC,SAAS,CAAG,EACjB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAGnM,CAAG,CAACA,EAAI,MAAM,CAAG,EAAE,CAC/BA,EAAI,QAAQ,CAAC,UAAWT,EAAGS,EAAI,MAAM,CAAG,EACjD,CAIA,SAAS0U,EAAS1U,CAAG,EACnB,IAAImM,EAAInM,GAAOA,EAAI,MAAM,CAAG,IAAI,CAAC,KAAK,CAACA,GAAO,GAC9C,GAAI,IAAI,CAAC,QAAQ,CAAE,CACjB,IAAIF,EAAM,IAAI,CAAC,SAAS,CAAG,IAAI,CAAC,QAAQ,CACxC,OAAOqM,EAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAW,EAAGrM,EAClD,CACA,OAAOqM,CACT,CAEA,SAASyI,EAAW5U,CAAG,CAAET,CAAC,EACxB,IAAIY,EAAI,AAACH,CAAAA,EAAI,MAAM,CAAGT,CAAAA,EAAK,SAC3B,AAAIY,AAAM,IAANA,EAAgBH,EAAI,QAAQ,CAAC,SAAUT,IAC3C,IAAI,CAAC,QAAQ,CAAG,EAAIY,EACpB,IAAI,CAAC,SAAS,CAAG,EACbA,AAAM,IAANA,EACF,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAGH,CAAG,CAACA,EAAI,MAAM,CAAG,EAAE,EAEtC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAGA,CAAG,CAACA,EAAI,MAAM,CAAG,EAAE,CACtC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAGA,CAAG,CAACA,EAAI,MAAM,CAAG,EAAE,EAEjCA,EAAI,QAAQ,CAAC,SAAUT,EAAGS,EAAI,MAAM,CAAGG,GAChD,CAEA,SAAS0U,EAAU7U,CAAG,EACpB,IAAImM,EAAInM,GAAOA,EAAI,MAAM,CAAG,IAAI,CAAC,KAAK,CAACA,GAAO,UAC9C,AAAI,IAAI,CAAC,QAAQ,CAASmM,EAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAU,EAAG,EAAI,IAAI,CAAC,QAAQ,EAC5EA,CACT,CAGA,SAAS2I,EAAY9U,CAAG,EACtB,OAAOA,EAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CACnC,CAEA,SAAS+U,EAAU/U,CAAG,EACpB,OAAOA,GAAOA,EAAI,MAAM,CAAG,IAAI,CAAC,KAAK,CAACA,GAAO,EAC/C,CAEM,EAEC,SAAS/E,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,IAAImC,EAAU,EAAoB,IAAI,OAAO,AAE7CpC,CAAAA,EAAO,OAAO,CAAG,CAEf,YAAa,SAAU0B,CAAO,EAC5B,IAAIP,EAAKsU,EAAO,CAAC,EACjB,IAAKtU,KAAOO,EACNA,EAAQ,cAAc,CAACP,IACzBsU,CAAAA,CAAI,CAACtU,EAAI,CAAGO,CAAO,CAACP,EAAI,AAAD,EAG3B,OAAOsU,CACT,EAEA,iBAAkB,SAAU1J,CAAI,CAAErK,CAAO,EACnC,EAAEqK,CAAAA,KAAQrK,CAAM,GAAM,AAAyB,WAAzB,OAAOA,CAAO,CAACqK,EAAK,AAAa,GACzDrK,CAAAA,CAAO,CAACqK,EAAK,CAAG,EAAI,CAExB,EAEA,mBAAoB,SAAUrK,CAAO,EAC/B,EAAE,YAAYA,CAAM,GAAO,AAA0B,UAA1B,OAAOA,EAAQ,MAAM,EAAiB,AAA0B,UAA1B,OAAOA,EAAQ,MAAM,AAAa,GACrGA,CAAAA,EAAQ,MAAM,CAAG,EAErB,EAEA,wBAAyB,SAAUA,CAAO,EACpC,EAAE,iBAAiBA,CAAM,GAAO,AAA+B,WAA/B,OAAOA,EAAQ,WAAW,EAAkB,CAACU,EAAQV,EAAQ,WAAW,CAAC,GAC3GA,CAAAA,EAAQ,WAAW,CAAG,EAAI,CAE9B,EAEA,gBAAiB,SAAUP,CAAG,CAAEO,CAAO,EACjC,EAAEP,CAAAA,EAAM,QAASO,CAAM,GAAM,AAAgC,UAAhC,OAAOA,CAAO,CAACP,EAAM,MAAM,AAAY,GACtEO,CAAAA,CAAO,CAACP,EAAM,MAAM,CAAGO,EAAQ,OAAO,CAAG,IAAMP,EAAMA,CAAE,CAE3D,EAEA,cAAe,SAAUA,CAAG,CAAEO,CAAO,EACnC,OAAOP,EAAM,OAAQO,CACvB,CAEF,CAGM,EAEC,SAAS1B,CAAM,CAAEC,CAAO,EAE/BD,EAAO,OAAO,CAAG,CAEf,QAAS,SAAS8B,CAAK,SACrB,AAAI4G,MAAM,OAAO,CACRA,MAAM,OAAO,CAAC5G,GAGhB1B,AAA4C,mBAA5CA,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAE0B,EACzC,CAEF,CAGM,EAEC,SAAS9B,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAIIma,EAFJha,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAGzCiP,CACDA,CAAAA,EAAmBna,EAAQ,gBAAgB,EAAKA,CAAAA,EAAQ,gBAAgB,CAAG,CAAC,EAAC,EAD3D,GAAM,CAAG,KAE9B,OAAMoa,UAAyBlP,EAAiB,YAAY,CACxD,YAAYmP,CAAgB,CAAE,CAC1B,KAAK,CAAC,QACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAInP,EAAiB,UAAU,CAAC,CAC3C,IAAKmP,CACT,GACJ,CACJ,CACAra,EAAQ,gBAAgB,CAAGoa,CAM3Bpa,CAAAA,EAAQ,YAAY,CALpB,MAAMsa,UAAqBF,EACvB,YAAYC,EAAmBF,EAAiB,GAAG,CAAE,CACjD,KAAK,CAACE,EACV,CACJ,CAOAra,CAAAA,EAAQ,eAAe,CALvB,MAAMua,UAAwBH,EAC1B,aAAc,CACV,KAAK,CAACD,EAAiB,GAAG,CAC9B,CACJ,CAIM,EAEC,SAASpa,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMsP,UAA0BtP,EAAiB,qBAAqB,CAClE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,MAAO,UACP,GAAI,OACJ,SAAU,aACV,MAAO,UACP,KAAM,QACV,CACJ,CACJ,CACA,MAAM0T,UAAiBvP,EAAiB,YAAY,CAChD,YAAYwP,CAAW,CAAEC,CAAI,CAAE,CAC3B,KAAK,CAAC,YACF,AAAuB,UAAvB,OAAOD,EAEP,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIF,EAAkB,CACjC,MAFSE,EAGT,GAHSA,EAIT,SAJSA,EAKT,MALSA,EAMT,KAAMC,CACV,IAIA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIH,EADLE,GAGtB,CACJ,CACA1a,EAAQ,QAAQ,CAAGya,CAGb,EAEC,SAAS1a,CAAM,CAAEC,CAAO,CAAEgL,CAAmB,EAEpD,iBAGI4P,EAWAC,EAWAC,EAQAC,EA7BOH,EAWAC,EAWAC,EAQAC,EAhCX5a,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAGvD4a,CADOA,EASyB5a,EAAQ,8BAA8B,EAAKA,CAAAA,EAAQ,8BAA8B,CAAG,CAAC,IARtF,SAAY,CAAG,YAC9C4a,EAA+B,MAAS,CAAG,SAC3CA,EAA+B,aAAgB,CAAG,eAClDA,EAA+B,WAAc,CAAG,aAChDA,EAA+B,MAAS,CAAG,SAC3CA,EAA+B,cAAiB,CAAG,gBACnDA,EAA+B,IAAO,CAAG,OACzCA,EAA+B,YAAe,CAAG,cAIjDC,CADOA,EASuB7a,EAAQ,4BAA4B,EAAKA,CAAAA,EAAQ,4BAA4B,CAAG,CAAC,IARlF,aAAgB,CAAG,eAChD6a,EAA6B,aAAgB,CAAG,eAChDA,EAA6B,IAAO,CAAG,OACvCA,EAA6B,MAAS,CAAG,SACzCA,EAA6B,cAAiB,CAAG,gBACjDA,EAA6B,IAAO,CAAG,OACvCA,EAA6B,SAAY,CAAG,YAC5CA,EAA6B,UAAa,CAAG,YAI7CC,CADOA,EAMkB9a,EAAQ,uBAAuB,EAAKA,CAAAA,EAAQ,uBAAuB,CAAG,CAAC,IALxE,MAAS,CAAG,SACpC8a,EAAwB,MAAS,CAAG,SACpCA,EAAwB,IAAO,CAAG,OAClCA,EAAwB,OAAU,CAAG,UACrCA,EAAwB,KAAQ,CAAG,QAInCC,CADOA,EAMgB/a,EAAQ,qBAAqB,EAAKA,CAAAA,EAAQ,qBAAqB,CAAG,CAAC,IALpE,MAAS,CAAG,SAClC+a,EAAsB,MAAS,CAAG,SAClCA,EAAsB,MAAS,CAAG,SAClCA,EAAsB,OAAU,CAAG,UACnCA,EAAsB,GAAM,CAAG,KAI7B,EAEC,SAAShb,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBA8EIgb,EAoBAC,EAqBAC,EAqBAC,EA7DOH,EAoBAC,EAqBAC,EAqBAC,EA3IXhb,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMkQ,UAA6BlQ,EAAiB,qBAAqB,CACrE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,MAAO,QAAS,KAAM,OAAQ,MAAO,SAAU,CACpE,CACJ,CACA,MAAMsU,UAA4BnQ,EAAiB,YAAY,CAC3D,cAAcgI,CAAK,CAAE/O,CAAI,CAAE6K,CAAK,CAAE,CAC9B,IAAMsM,EAAQ,IAAIF,EAAqB,CACnC,MAAOlI,EACP,KAAM/O,EACN,MAAO6K,CACX,GAEA,OADA,IAAI,CAAC,IAAI,CAAC,IAAI,CAACsM,GACR,IAAI,AACf,CACJ,CACA,MAAMC,UAAyBrQ,EAAiB,yBAAyB,CACrE,aAAc,CACV,KAAK,CAAC,cACV,CACA,aAAagI,CAAK,CAAE/O,CAAI,CAAE6K,CAAK,CAAE,CAC7B,IAAMwM,EAAM,IAAIH,EAAoB,SAGpC,OAFAG,EAAI,aAAa,CAACtI,EAAO/O,EAAM6K,GAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAACwM,GACR,IAAI,AACf,CACA,eAAetI,CAAK,CAAE/O,CAAI,CAAE6K,CAAK,CAAE,CAC/B,IAAMrK,EAAQ,IAAI0W,EAAoB,WAGtC,OAFA1W,EAAM,aAAa,CAACuO,EAAO/O,EAAM6K,GACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAACrK,GACR,IAAI,AACf,CACA,gBAAgBuO,CAAK,CAAE/O,CAAI,CAAE6K,CAAK,CAAE,CAChC,IAAMyM,EAAS,IAAIJ,EAAoB,YAGvC,OAFAI,EAAO,aAAa,CAACvI,EAAO/O,EAAM6K,GAClC,IAAI,CAAC,IAAI,CAAC,IAAI,CAACyM,GACR,IAAI,AACf,CACA,aAAavI,CAAK,CAAE/O,CAAI,CAAE6K,CAAK,CAAE,CAC7B,IAAMpK,EAAM,IAAIyW,EAAoB,SAGpC,OAFAzW,EAAI,aAAa,CAACsO,EAAO/O,EAAM6K,GAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAACpK,GACR,IAAI,AACf,CACA,cAAcsO,CAAK,CAAE/O,CAAI,CAAE6K,CAAK,CAAE,CAC9B,IAAM0M,EAAO,IAAIL,EAAoB,UAGrC,OAFAK,EAAK,aAAa,CAACxI,EAAO/O,EAAM6K,GAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC0M,GACR,IAAI,AACf,CACA,eAAexI,CAAK,CAAE/O,CAAI,CAAE6K,CAAK,CAAE,CAC/B,IAAM2M,EAAQ,IAAIN,EAAoB,WAGtC,OAFAM,EAAM,aAAa,CAACzI,EAAO/O,EAAM6K,GACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC2M,GACR,IAAI,AACf,CACJ,CACA3b,EAAQ,gBAAgB,CAAGub,CAC3B,OAAMK,UAA2B1Q,EAAiB,qBAAqB,CACnE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,IAAK,OAAQ,CAClC,CACJ,CACA,MAAM8U,UAAiB3Q,EAAiB,YAAY,CAChD,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,cACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI+Z,EAAmB,CAClC,IAAK/Z,CACT,GACJ,CACJ,CACA7B,EAAQ,QAAQ,CAAG6b,EAGfb,CADOA,EAGYhb,EAAQ,iBAAiB,EAAKA,CAAAA,EAAQ,iBAAiB,CAAG,CAAC,IAF5D,QAAW,CAAG,WAChCgb,EAAkB,OAAU,CAAG,SAEnC,OAAMc,UAAgC5Q,EAAiB,qBAAqB,CACxE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,IAAK,OAAQ,CAClC,CACJ,CACA,MAAMgV,UAAsB7Q,EAAiB,YAAY,CACrD,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIia,EAAwB,CACvC,IAAKja,CACT,GACJ,CACJ,CACA7B,EAAQ,aAAa,CAAG+b,EAGpBd,CADOA,EAIQjb,EAAQ,aAAa,EAAKA,CAAAA,EAAQ,aAAa,CAAG,CAAC,IAHpD,MAAS,CAAG,SAC1Bib,EAAc,MAAS,CAAG,SAC1BA,EAAc,GAAM,CAAG,KAE3B,OAAMe,UAAyB9Q,EAAiB,qBAAqB,CACjE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,IAAK,OAAQ,CAClC,CACJ,CACA,MAAMkV,UAAe/Q,EAAiB,YAAY,CAC9C,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIma,EAAiB,CAChC,IAAKna,CACT,GACJ,CACJ,CACA7B,EAAQ,MAAM,CAAGic,EAGbf,CADOA,EAIQlb,EAAQ,aAAa,EAAKA,CAAAA,EAAQ,aAAa,CAAG,CAAC,IAHpD,2BAA8B,CAAG,OAC/Ckb,EAAc,2BAA8B,CAAG,OAC/CA,EAAc,2BAA8B,CAAG,MAEnD,OAAMgB,UAA6BhR,EAAiB,qBAAqB,CACrE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,IAAK,OAAQ,CAClC,CACJ,CACA,MAAMoV,UAAmBjR,EAAiB,YAAY,CAClD,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,mBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIqa,EAAqB,CACpC,IAAKra,CACT,GACJ,CACJ,CACA7B,EAAQ,UAAU,CAAGmc,EAGjBhB,CADOA,EAKInb,EAAQ,SAAS,EAAKA,CAAAA,EAAQ,SAAS,CAAG,CAAC,IAJ5C,IAAO,CAAG,OACpBmb,EAAU,GAAM,CAAG,MACnBA,EAAU,GAAM,CAAG,MACnBA,EAAU,UAAa,CAAG,KAE9B,OAAMiB,UAAiClR,EAAiB,qBAAqB,CACzE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,MAAO,MAAO,KAAM,QAAS,CAClD,CACJ,CACA,MAAMsV,UAAuBnR,EAAiB,YAAY,CACtD,YAAYrJ,CAAK,CAAEyS,CAAI,CAAE,CACrB,KAAK,CAAC,SACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI8H,EAAyB,CACxC,MAAOva,EACP,KAAMyS,CACV,GACJ,CACJ,CACAtU,EAAQ,cAAc,CAAGqc,CAGnB,EAEC,SAAStc,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAKAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,IAC3DM,AAJA,SAAkBC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,EAES,EAAoB,KAGvB,EAEC,SAAST,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCoR,EAAe,EAAoB,GACzC,OAAMC,UAAwBrR,EAAiB,qBAAqB,CAChE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,KAAM,SACN,QAAS,YACT,QAAS,YACT,YAAa,eACjB,CACJ,CACJ,CACA,MAAMyV,UAActR,EAAiB,YAAY,CAC7C,YAAYuR,CAAU,CAAExc,CAAI,CAAE,CAC1B,KAAK,CAAC,WACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIsc,EAAgBE,IAC/Bxc,GACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIqc,EAAa,IAAI,CAACrc,GAE7C,CACJ,CACAD,EAAQ,KAAK,CAAGwc,CAGV,EAEC,SAASzc,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMwR,UAA4BxR,EAAiB,qBAAqB,CACpE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,IAAK,OAAQ,CAClC,CACJ,CACA,MAAM4V,UAAazR,EAAiB,YAAY,CAC5C,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,UACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAoB,CAAE,IAAK7a,CAAM,GACxD,CACJ,CACA7B,EAAQ,IAAI,CAAG2c,CACf,OAAMC,UAAgB1R,EAAiB,YAAY,CAC/C,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,aACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAoB,CAAE,IAAK7a,CAAM,GACxD,CACJ,CACA7B,EAAQ,OAAO,CAAG4c,CAClB,OAAMC,UAAa3R,EAAiB,YAAY,CAC5C,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,UACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAoB,CAAE,IAAK7a,CAAM,GACxD,CACJ,CACA7B,EAAQ,IAAI,CAAG6c,CACf,OAAMC,UAAa5R,EAAiB,YAAY,CAC5C,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,UACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAoB,CAAE,IAAK7a,CAAM,GACxD,CACJ,CACA7B,EAAQ,IAAI,CAAG8c,CACf,OAAMC,UAAmB7R,EAAiB,YAAY,CAClD,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAoB,CAAE,IAAK7a,CAAM,GACxD,CACJ,CACA7B,EAAQ,UAAU,CAAG+c,CACrB,OAAMC,UAAuB9R,EAAiB,YAAY,CACtD,aAAc,CACV,KAAK,CAAC,mBACV,CACJ,CACAlL,EAAQ,cAAc,CAAGgd,CACzB,OAAMC,UAAoB/R,EAAiB,YAAY,CACnD,aAAc,CACV,KAAK,CAAC,YACV,CACJ,CACAlL,EAAQ,WAAW,CAAGid,CACtB,OAAMC,UAAwBhS,EAAiB,YAAY,CAC3D,CACAlL,EAAQ,eAAe,CAAGkd,CAC1B,OAAMC,UAAajS,EAAiB,YAAY,CAChD,CACAlL,EAAQ,IAAI,CAAGmd,CACf,OAAMC,UAAmBlS,EAAiB,YAAY,CAClD,aAAc,CACV,KAAK,CAAC,eACV,CACJ,CACAlL,EAAQ,UAAU,CAAGod,CAGf,EAEC,SAASrd,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMqd,EAAc,EAAoB,GAClClP,EAAe,EAAoB,GACnCmO,EAAe,EAAoB,IACnC/Q,EAAU,EAAoB,GACpC,OAAM+R,UAA0B/R,EAAQ,KAAK,CACzC,YAAY9J,CAAO,CAAE,CACjB,KAAK,CAAC,CAAE,KAAM,YAAa,QAASA,EAAQ,EAAE,AAAC,EAAGA,EAAQ,IAAI,EAC9D,IAAI,CAAC,mBAAmB,CAAG,IAAI4b,EAAY,mBAAmB,CAAC5b,EAAQ,SAAS,EAChF,IAAI,CAAC,aAAa,CAAG,IAAI0M,EAAa,aAAa,CAAC1M,EAAQ,GAAG,EAC/D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAC7BA,EAAQ,OAAO,EACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAa,OAAO,CAAC7a,EAAQ,OAAO,GAEvDA,EAAQ,IAAI,EACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAa,IAAI,CAAC7a,EAAQ,IAAI,GAEjDA,EAAQ,WAAW,EACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAa,WAAW,EAE3C7a,EAAQ,IAAI,EACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAa,IAAI,CAAC7a,EAAQ,IAAI,GAEjDA,EAAQ,UAAU,EAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAa,UAAU,EAE1C7a,EAAQ,UAAU,EAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAa,UAAU,CAAC7a,EAAQ,UAAU,GAE7DA,EAAQ,cAAc,EACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAa,cAAc,CAEtD,CACJ,CACAtc,EAAQ,iBAAiB,CAAGsd,CAGtB,EAEC,SAASvd,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMmO,EAAe,EAAoB,GACnCmO,EAAe,EAAoB,IACnC/Q,EAAU,EAAoB,GACpC,OAAMgS,UAA0BhS,EAAQ,KAAK,CACzC,YAAY9J,CAAO,CAAE,CACjB,KAAK,CAAC,CAAE,KAAM,YAAa,QAASA,EAAQ,EAAE,AAAC,EAAGA,EAAQ,IAAI,EAC9D,IAAI,CAAC,aAAa,CAAG,IAAI0M,EAAa,aAAa,CAAC1M,EAAQ,GAAG,EAC/D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAa,UAAU,CAAC,KAC3C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAa,cAAc,EAC1C7a,EAAQ,OAAO,EACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAa,OAAO,CAAC7a,EAAQ,OAAO,GAEvDA,EAAQ,IAAI,EACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAa,IAAI,CAAC7a,EAAQ,IAAI,GAEjDA,EAAQ,UAAU,EAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAa,UAAU,CAElD,CACJ,CACAtc,EAAQ,iBAAiB,CAAGud,CAGtB,EAEC,SAASxd,CAAM,CAAEC,CAAO,CAAEgL,CAAmB,EAEpD,aAEA7K,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DA,EAAQ,wBAAwB,CAAG,AAACwd,GACzBnY,KAAK,KAAK,CAAC,AAACmY,EAAc,KAAf,MAEtBxd,EAAQ,mBAAmB,CAAG,AAACyd,GACpBpY,KAAK,KAAK,CAACoY,KAAAA,EAIhB,EAEC,SAAS1d,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAII0d,EACOA,EAHXvd,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAGzCwS,EADOA,EAGU1d,EAAQ,eAAe,EAAKA,CAAAA,EAAQ,eAAe,CAAG,CAAC,IAFxD,QAAW,CAAG,WAC9B0d,EAAgB,SAAY,CAAG,WAEnC,OAAMC,UAA2BzS,EAAiB,qBAAqB,CACnE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,MAAO,MACP,OAAQ,MACR,YAAa,UACjB,CACJ,CACJ,CACA/G,EAAQ,kBAAkB,CAAG2d,CAGvB,EAEC,SAAS5d,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAM4d,EAAW,EAAoB,KAC/BC,EAAkB,EAAoB,GAuB5C7d,CAAAA,EAAQ,aAAa,CAtBrB,MAAM8d,EACF,YAAYC,CAAK,CAAEC,CAAW,CAAEC,CAAW,CAAE,CACzC,IAAI,CAAC,KAAK,CAAGF,EACb,IAAI,CAAC,MAAM,CAAG,IAAIH,EAAS,MAAM,CAACI,EAAaC,GAC/C,IAAI,CAAC,aAAa,CAAG,IAAIJ,EAAgB,aAAa,AAC1D,CACA,IAAI/R,CAAI,CAAE,CACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAACA,EACpB,CACA,gBAAgBoS,CAAY,CAAE,CAC1B,IAAI,CAAC,MAAM,CAAC,eAAe,CAACA,EAChC,CACA,IAAI,QAAS,CACT,OAAO,IAAI,CAAC,MAAM,AACtB,CACA,IAAI,eAAgB,CAChB,OAAO,IAAI,CAAC,aAAa,AAC7B,CACA,IAAI,OAAQ,CACR,OAAO,IAAI,CAAC,KAAK,AACrB,CACJ,CAIM,EAEC,SAASne,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAKAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,IAC3DM,AAJA,SAAkBC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,EAES,EAAoB,KAGvB,EAEC,SAAST,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAKIme,EAHJhe,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCkT,EAA4B,EAAoB,IAGlDD,CACgBne,CAAAA,EAAQ,cAAc,EAAKA,CAAAA,EAAQ,cAAc,CAAG,CAAC,EAAC,EADvD,QAAW,CAAG,UAEjC,OAAMqe,UAAqBnT,EAAiB,YAAY,CACpD,YAAYoT,CAAE,CAAEhK,CAAI,CAAEpN,CAAM,CAAEqX,CAAU,CAAE,CACtC,KAAK,CAAC,gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIH,EAA0B,sBAAsB,CAAC,CAChEE,GAAAA,EACAhK,KAAAA,EACApN,OAAAA,EACAqX,WAAAA,CACJ,GACJ,CACJ,CACAve,EAAQ,YAAY,CAAGqe,CAGjB,EAEC,SAASte,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMwe,EAAW,EAAoB,KAC/BX,EAAkB,EAAoB,GAwB5C7d,CAAAA,EAAQ,aAAa,CAvBrB,MAAMye,EACF,YAAYV,CAAK,CAAEC,CAAW,CAAEC,CAAW,CAAE,CACzC,IAAI,CAAC,KAAK,CAAGF,EACb,IAAI,CAAC,MAAM,CAAG,IAAIS,EAAS,MAAM,CAACR,EAAaC,GAC/C,IAAI,CAAC,aAAa,CAAG,IAAIJ,EAAgB,aAAa,AAC1D,CACA,IAAI/R,CAAI,CAAE,CAEN,OADA,IAAI,CAAC,MAAM,CAAC,GAAG,CAACA,GACT,IAAI,AACf,CACA,gBAAgBoS,CAAY,CAAE,CAC1B,IAAI,CAAC,MAAM,CAAC,eAAe,CAACA,EAChC,CACA,IAAI,QAAS,CACT,OAAO,IAAI,CAAC,MAAM,AACtB,CACA,IAAI,eAAgB,CAChB,OAAO,IAAI,CAAC,aAAa,AAC7B,CACA,IAAI,OAAQ,CACR,OAAO,IAAI,CAAC,KAAK,AACrB,CACJ,CAIM,EAEC,SAASne,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,IAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAII0e,EACOA,EAHXve,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAGzCwT,EADOA,EASQ1e,EAAQ,aAAa,EAAKA,CAAAA,EAAQ,aAAa,CAAG,CAAC,IARpD,KAAQ,CAAG,QACzB0e,EAAc,GAAM,CAAG,MACvBA,EAAc,MAAS,CAAG,SAC1BA,EAAc,IAAO,CAAG,OACxBA,EAAc,SAAY,CAAG,OAC7BA,EAAc,UAAa,CAAG,aAC9BA,EAAc,IAAO,CAAG,OACxBA,EAAc,KAAQ,CAAG,OAE7B,OAAMC,UAA4BzT,EAAiB,qBAAqB,CACpE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,IAAK,OAAQ,CAClC,CACJ,CACA/G,EAAQ,mBAAmB,CAAG2e,CAC9B,OAAMC,UAAkB1T,EAAiB,YAAY,CACjD,YAAYoJ,CAAI,CAAE,CACd,KAAK,CAAC,QACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIqK,EAAoB,CAAE,IAAKrK,CAAK,GACvD,CACJ,CACAtU,EAAQ,SAAS,CAAG4e,CAGd,EAEC,SAAS7e,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAM6e,EAAS,EAAoB,GACnC,OAAMC,UAA8BD,EAAO,gBAAgB,CACvD,YAAYE,CAAU,CAAE,CACpB,KAAK,CAAC,SACN,IAAI,CAAC,IAAI,CAAGA,CAChB,CACA,YAAa,CACT,IAAMzD,EAAQ,CAAC,EAQf,OAPAnb,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,AAACe,IAC5B,IAAMW,EAAQ,IAAI,CAAC,IAAI,CAACX,EAAI,AACdU,MAAAA,IAAVC,GAEAyZ,CAAAA,CAAK,CADU,AAAC,IAAI,CAAC,OAAO,EAAI,IAAI,CAAC,OAAO,CAACpa,EAAI,EAAKA,EACzC,CAAGW,CAAI,CAE5B,GACO,CAAE,MAAOyZ,CAAM,CAC1B,CACA,IAAIyD,CAAU,CAAE,CACZ,IAAI,CAAC,IAAI,CAAGA,CAChB,CACJ,CACA/e,EAAQ,qBAAqB,CAAG8e,CAG1B,EAEC,SAAS/e,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,IAKIyB,EAEAud,EAPAC,EAAM,EAAoB,KAC1BC,EAAqC,CAAE,GAAI,WAAc,EAAG,MAAO,WAAc,CAAE,EACnFC,EAAS,EAAoB,IAC7Bhd,EAAU,EAAoB,IAAI,OAAO,CAiD7C,SAASid,EAAWvd,CAAK,EACvB,IAAIwd,EAASvX,OAAOjG,GACpB,GAAI,CAACoE,MAAMoZ,GACT,OAAOA,EAET,IAAIC,EAASzd,EAAM,WAAW,SAC9B,AAAe,SAAXyd,GAEkB,UAAXA,GAGJzd,CACT,CAEA,SAAS0d,EAASjL,CAAI,CAAEzS,CAAK,EAC3B,IAAIX,EACJ,GAAIO,EAAQ,OAAO,CAAE,CAanB,GAXE,CAACud,CAAc,CAACvd,CAAO,CAAC6S,EAAO,MAAM,CAAC,EACrCnS,CAAAA,EAAQV,EAAQ,WAAW,EAAIA,AAAuD,KAAvDA,EAAQ,WAAW,CAAC,OAAO,CAACA,CAAO,CAAC6S,EAAO,MAAM,EAAW7S,EAAQ,WAAW,AAAD,GAE9Gud,CAAAA,CAAc,CAACvd,CAAO,CAAC6S,EAAO,MAAM,CAAC,CAAG,EAAE,AAAD,EAEvC0K,CAAc,CAACvd,CAAO,CAAC6S,EAAO,MAAM,CAAC,EAAI,CAACnS,EAAQ6c,CAAc,CAACvd,CAAO,CAAC6S,EAAO,MAAM,CAAC,GACzF0K,CAAAA,CAAc,CAACvd,CAAO,CAAC6S,EAAO,MAAM,CAAC,CAAG,CAAC0K,CAAc,CAACvd,CAAO,CAAC6S,EAAO,MAAM,CAAC,CAAC,AAAD,EAE5EA,EAAO,OAAQ7S,GAAW,AAAiB,UAAjB,OAAOI,GACnCA,CAAAA,EAAQJ,CAAO,CAAC6S,EAAO,KAAK,CAACzS,EAAOmd,EAAc,EAEhD1K,AAAS,gBAATA,GAA2B,mBAAmB7S,GAAW,sBAAuBA,CAAM,EACxF,KAAKP,KAAOW,EACV,GAAIA,EAAM,cAAc,CAACX,IACvB,GAAI,kBAAmBO,EACrBI,CAAK,CAACX,EAAI,CAAGO,EAAQ,aAAa,CAACI,CAAK,CAACX,EAAI,CAAEA,EAAK8d,OAC/C,CACL,IAAIQ,EAAO3d,CAAK,CAACX,EAAI,AACrB,QAAOW,CAAK,CAACX,EAAI,CACjBW,CAAK,CAACJ,EAAQ,iBAAiB,CAACP,EAAKse,EAAMR,GAAgB,CAAGQ,CAChE,EAEJ,CAEErd,EAAQ6c,CAAc,CAACvd,CAAO,CAAC6S,EAAO,MAAM,CAAC,EAC/C0K,CAAc,CAACvd,CAAO,CAAC6S,EAAO,MAAM,CAAC,CAAC,IAAI,CAACzS,GAE3Cmd,CAAc,CAACvd,CAAO,CAAC6S,EAAO,MAAM,CAAC,CAAGzS,CAE5C,KAAO,CACD,CAACmd,CAAc,CAACvd,EAAQ,WAAW,CAAC,EACtCud,CAAAA,CAAc,CAACvd,EAAQ,WAAW,CAAC,CAAG,EAAE,AAAD,EAEzC,IAAIge,EAAU,CAAC,EAEf,GADAA,CAAO,CAAChe,EAAQ,OAAO,CAAC,CAAG6S,EACvBA,AAAS,gBAATA,EAAwB,CAC1B,IAAKpT,KAAOW,EACV,GAAIA,EAAM,cAAc,CAACX,GACvB,KAGJue,CAAAA,CAAO,CAAChe,EAAQ,OAAO,CAAC,CAAG,sBAAuBA,EAAUA,EAAQ,iBAAiB,CAACP,EAAKW,EAAOmd,GAAkB9d,EAChHO,EAAQ,wBAAwB,EAClCge,CAAO,CAAChe,EAAQ,aAAa,CAAC,CAAGI,CAAK,CAACX,EAAI,CAACO,EAAQ,aAAa,CAAC,CAC9D,kBAAmBA,GACrBge,CAAAA,CAAO,CAAChe,EAAQ,aAAa,CAAC,CAAGA,EAAQ,aAAa,CAACge,CAAO,CAAChe,EAAQ,aAAa,CAAC,CAAEP,EAAK8d,EAAc,IAGxG,kBAAmBvd,GACrBI,CAAAA,CAAK,CAACX,EAAI,CAAGO,EAAQ,aAAa,CAACI,CAAK,CAACX,EAAI,CAAEA,EAAK8d,EAAc,EAEpES,CAAO,CAAChe,EAAQ,cAAc,CAAC,CAAGI,CAAK,CAACX,EAAI,CAEhD,MACMoT,EAAO,OAAQ7S,GACjBI,CAAAA,EAAQJ,CAAO,CAAC6S,EAAO,KAAK,CAACzS,EAAOmd,EAAc,EAEpDS,CAAO,CAAChe,CAAO,CAAC6S,EAAO,MAAM,CAAC,CAAGzS,CAE/BJ,CAAAA,EAAQ,SAAS,EACnBge,CAAAA,CAAO,CAAChe,EAAQ,SAAS,CAAC,CAAGud,CAAa,EAE5CA,CAAc,CAACvd,EAAQ,WAAW,CAAC,CAAC,IAAI,CAACge,EAC3C,CACF,CAEA,SAASC,EAAqBjD,CAAU,EAItC,GAHI,iBAAkBhb,GAAWgb,GAC/BA,CAAAA,EAAahb,EAAQ,YAAY,CAACgb,EAAYuC,EAAc,EAE1D,AAACvd,CAAAA,EAAQ,IAAI,EAAI,qBAAsBA,GAAW,oBAAqBA,GAAWA,EAAQ,oBAAoB,AAAD,GAAMgb,EAAY,CACjI,IAAIvb,EACJ,IAAKA,KAAOub,EACV,GAAIA,EAAW,cAAc,CAACvb,KACxBO,EAAQ,IAAI,EAAEgb,CAAAA,CAAU,CAACvb,EAAI,CAAGub,CAAU,CAACvb,EAAI,CAAC,IAAI,EAAC,EACrDO,EAAQ,oBAAoB,EAC9Bgb,CAAAA,CAAU,CAACvb,EAAI,CAAGke,EAAW3C,CAAU,CAACvb,EAAI,GAE1C,qBAAsBO,GAASgb,CAAAA,CAAU,CAACvb,EAAI,CAAGO,EAAQ,gBAAgB,CAACgb,CAAU,CAACvb,EAAI,CAAEA,EAAK8d,EAAc,EAC9G,oBAAqBvd,GAAS,CAChC,IAAI+d,EAAO/C,CAAU,CAACvb,EAAI,AAC1B,QAAOub,CAAU,CAACvb,EAAI,CACtBub,CAAU,CAAChb,EAAQ,eAAe,CAACP,EAAKub,CAAU,CAACvb,EAAI,CAAE8d,GAAgB,CAAGQ,CAC9E,CAGN,CACA,OAAO/C,CACT,CAEA,SAASkD,EAAcC,CAAW,EAChC,IAAInD,EAAa,CAAC,EAClB,GAAImD,EAAY,IAAI,EAAKA,CAAAA,AAAmC,QAAnCA,EAAY,IAAI,CAAC,WAAW,IAAgBne,EAAQ,wBAAwB,AAAD,EAAI,CAGtG,IAFA,IACIoe,EADAC,EAAc,oDAEX,AAAiD,OAAhDD,CAAAA,EAAQC,EAAY,IAAI,CAACF,EAAY,IAAI,IAC/CnD,CAAU,CAACoD,CAAK,CAAC,EAAE,CAAC,CAAGA,CAAK,CAAC,EAAE,EAAIA,CAAK,CAAC,EAAE,EAAIA,CAAK,CAAC,EAAE,CAEzDpD,EAAaiD,EAAqBjD,EACpC,CACA,GAAImD,AAAmC,QAAnCA,EAAY,IAAI,CAAC,WAAW,GAAc,CAC5C,GAAIne,EAAQ,iBAAiB,CAC3B,MAEFud,CAAAA,CAAc,CAACvd,EAAQ,cAAc,CAAC,CAAG,CAAC,EACtCtB,OAAO,IAAI,CAACsc,GAAY,MAAM,EAChCuC,CAAAA,CAAc,CAACvd,EAAQ,cAAc,CAAC,CAACA,EAAQ,aAAa,CAAC,CAAGgb,CAAS,EAEvEhb,EAAQ,SAAS,EACnBud,CAAAA,CAAc,CAACvd,EAAQ,cAAc,CAAC,CAACA,EAAQ,SAAS,CAAC,CAAGud,CAAa,CAE7E,KAAO,CACL,GAAIvd,EAAQ,iBAAiB,CAC3B,MAEEA,CAAAA,EAAQ,IAAI,EACdme,CAAAA,EAAY,IAAI,CAAGA,EAAY,IAAI,CAAC,IAAI,EAAC,EAE3C,IAAI/d,EAAQ,CAAC,CACTJ,CAAAA,EAAQ,wBAAwB,EAAItB,OAAO,IAAI,CAACsc,GAAY,MAAM,EACpE5a,CAAK,CAAC+d,EAAY,IAAI,CAAC,CAAG,CAAC,EAC3B/d,CAAK,CAAC+d,EAAY,IAAI,CAAC,CAACne,EAAQ,aAAa,CAAC,CAAGgb,GAEjD5a,CAAK,CAAC+d,EAAY,IAAI,CAAC,CAAGA,EAAY,IAAI,CAE5CL,EAAS,cAAe1d,EAC1B,CACF,CAEA,SAASke,EAAe9f,CAAI,CAAEwc,CAAU,MAClCgD,EAaIve,EAJR,GARoB,UAAhB,OAAOjB,IACTwc,EAAaxc,EAAK,UAAU,CAC5BA,EAAOA,EAAK,IAAI,EAElBwc,EAAaiD,EAAqBjD,GAC9B,kBAAmBhb,GACrBxB,CAAAA,EAAOwB,EAAQ,aAAa,CAACxB,EAAM+e,EAAc,EAE/Cvd,EAAQ,OAAO,CAAE,CAEnB,GADAge,EAAU,CAAC,EACP,CAAChe,EAAQ,gBAAgB,EAAIgb,GAActc,OAAO,IAAI,CAACsc,GAAY,MAAM,CAG3E,IAAKvb,KAFLue,CAAO,CAAChe,EAAQ,aAAa,CAAC,CAAG,CAAC,EAEtBgb,EACNA,EAAW,cAAc,CAACvb,IAC5Bue,CAAAA,CAAO,CAAChe,EAAQ,aAAa,CAAC,CAACP,EAAI,CAAGub,CAAU,CAACvb,EAAI,AAAD,CAKxD,EAAEjB,CAAAA,KAAQ+e,CAAa,GACtB7c,CAAAA,EAAQV,EAAQ,WAAW,EAAIA,AAAsC,KAAtCA,EAAQ,WAAW,CAAC,OAAO,CAACxB,GAAewB,EAAQ,WAAW,AAAD,GAE7Fud,CAAAA,CAAc,CAAC/e,EAAK,CAAG,EAAE,AAAD,EAEtB+e,CAAc,CAAC/e,EAAK,EAAI,CAACkC,EAAQ6c,CAAc,CAAC/e,EAAK,GACvD+e,CAAAA,CAAc,CAAC/e,EAAK,CAAG,CAAC+e,CAAc,CAAC/e,EAAK,CAAC,AAAD,EAE1CkC,EAAQ6c,CAAc,CAAC/e,EAAK,EAC9B+e,CAAc,CAAC/e,EAAK,CAAC,IAAI,CAACwf,GAE1BT,CAAc,CAAC/e,EAAK,CAAGwf,CAE3B,KACM,CAACT,CAAc,CAACvd,EAAQ,WAAW,CAAC,EACtCud,CAAAA,CAAc,CAACvd,EAAQ,WAAW,CAAC,CAAG,EAAE,AAAD,EAGzCge,AADAA,CAAAA,EAAU,CAAC,EACJ,CAAChe,EAAQ,OAAO,CAAC,CAAG,UAC3Bge,CAAO,CAAChe,EAAQ,OAAO,CAAC,CAAGxB,EACvB,CAACwB,EAAQ,gBAAgB,EAAIgb,GAActc,OAAO,IAAI,CAACsc,GAAY,MAAM,EAC3EgD,CAAAA,CAAO,CAAChe,EAAQ,aAAa,CAAC,CAAGgb,CAAS,EAExChb,EAAQ,cAAc,EACxBge,CAAAA,CAAO,CAAChe,EAAQ,WAAW,CAAC,CAAG,EAAE,AAAD,EAElCud,CAAc,CAACvd,EAAQ,WAAW,CAAC,CAAC,IAAI,CAACge,EAE3CA,CAAAA,CAAO,CAAChe,EAAQ,SAAS,CAAC,CAAGud,EAC7BA,EAAiBS,CACnB,CAEA,SAASO,EAAOhN,CAAI,EAClB,IAAIvR,EAAQ,UAAU,EAGlB,GAACuR,EAAK,IAAI,KAAM,CAACvR,EAAQ,4BAA4B,AAAD,EAGpDA,EAAQ,IAAI,EACduR,CAAAA,EAAOA,EAAK,IAAI,EAAC,EAEfvR,EAAQ,UAAU,EACpBuR,CAAAA,EAAOoM,EAAWpM,EAAI,EAEpBvR,EAAQ,QAAQ,EAClBuR,CAAAA,EAAOA,EAAK,OAAO,CAAC,KAAM,SAAS,OAAO,CAAC,KAAM,QAAQ,OAAO,CAAC,KAAM,OAAM,EAE/EuM,EAAS,OAAQvM,EACnB,CAEA,SAASiN,EAAUC,CAAO,EACxB,IAAIze,EAAQ,aAAa,CAGrBA,EAAQ,IAAI,EACdye,CAAAA,EAAUA,EAAQ,IAAI,EAAC,EAEzBX,EAAS,UAAWW,EACtB,CAEA,SAASC,EAAalgB,CAAI,EACxB,IAAImgB,EAAgBpB,CAAc,CAACvd,EAAQ,SAAS,CAAC,AACjD,EAACA,EAAQ,SAAS,EACpB,OAAOud,CAAc,CAACvd,EAAQ,SAAS,CAAC,CAE1Cud,EAAiBoB,CACnB,CAEA,SAASC,EAAQC,CAAK,EACpB,IAAI7e,EAAQ,WAAW,CAGnBA,EAAQ,IAAI,EACd6e,CAAAA,EAAQA,EAAM,IAAI,EAAC,EAErBf,EAAS,QAASe,EACpB,CAEA,SAASC,EAAUC,CAAO,EACxB,IAAI/e,EAAQ,aAAa,CAGzB+e,EAAUA,EAAQ,OAAO,CAAC,KAAM,IAC5B/e,EAAQ,IAAI,EACd+e,CAAAA,EAAUA,EAAQ,IAAI,EAAC,EAEzBjB,EAAS,UAAWiB,EACtB,CAEA,SAASC,EAAQC,CAAK,EACpBA,EAAM,IAAI,CAAGA,CACf,CAEA3gB,EAAO,OAAO,CAAG,SAAU4gB,CAAG,CAAEC,CAAW,EAEzC,IApTuBA,EAoTnBC,EAAwB5B,EAAI,MAAM,CAAC,GAAM,CAAC,GAC1C6B,EAAS,CAAC,EACd9B,EAAiB8B,EAtTMF,EAwTGA,EAvT1Bnf,EAAU0d,EAAO,WAAW,CAACyB,GAC7BzB,EAAO,gBAAgB,CAAC,oBAAqB1d,GAC7C0d,EAAO,gBAAgB,CAAC,oBAAqB1d,GAC7C0d,EAAO,gBAAgB,CAAC,mBAAoB1d,GAC5C0d,EAAO,gBAAgB,CAAC,aAAc1d,GACtC0d,EAAO,gBAAgB,CAAC,gBAAiB1d,GACzC0d,EAAO,gBAAgB,CAAC,cAAe1d,GACvC0d,EAAO,gBAAgB,CAAC,gBAAiB1d,GACzC0d,EAAO,gBAAgB,CAAC,UAAW1d,GACnC0d,EAAO,gBAAgB,CAAC,iBAAkB1d,GAC1C0d,EAAO,gBAAgB,CAAC,YAAa1d,GACrC0d,EAAO,gBAAgB,CAAC,OAAQ1d,GAChC0d,EAAO,gBAAgB,CAAC,aAAc1d,GACtC0d,EAAO,gBAAgB,CAAC,uBAAwB1d,GAChD0d,EAAO,gBAAgB,CAAC,WAAY1d,GACpC0d,EAAO,gBAAgB,CAAC,2BAA4B1d,GACpD0d,EAAO,gBAAgB,CAAC,+BAAgC1d,GACxD0d,EAAO,uBAAuB,CAAC1d,GAC/B0d,EAAO,eAAe,CAAC,cAAe1d,GACtC0d,EAAO,eAAe,CAAC,cAAe1d,GACtC0d,EAAO,eAAe,CAAC,aAAc1d,GACrC0d,EAAO,eAAe,CAAC,OAAQ1d,GAC/B0d,EAAO,eAAe,CAAC,UAAW1d,GAClC0d,EAAO,eAAe,CAAC,QAAS1d,GAChC0d,EAAO,eAAe,CAAC,UAAW1d,GAClC0d,EAAO,eAAe,CAAC,OAAQ1d,GAC/B0d,EAAO,eAAe,CAAC,OAAQ1d,GAC/B0d,EAAO,eAAe,CAAC,WAAY1d,GACnC0d,EAAO,eAAe,CAAC,SAAU1d,GACjC0d,EAAO,aAAa,CAAC,UAAW1d,GAChC0d,EAAO,aAAa,CAAC,cAAe1d,GACpC0d,EAAO,aAAa,CAAC,QAAS1d,GAC9B0d,EAAO,aAAa,CAAC,UAAW1d,GAChC0d,EAAO,aAAa,CAAC,OAAQ1d,GAC7B0d,EAAO,aAAa,CAAC,kBAAmB1d,GACxC0d,EAAO,aAAa,CAAC,cAAe1d,GACpC0d,EAAO,aAAa,CAAC,gBAAiB1d,GACtC0d,EAAO,aAAa,CAAC,iBAAkB1d,GACvC0d,EAAO,aAAa,CAAC,aAAc1d,GAoRjCof,EAAO,GAAG,CAAG,CAAC,eAAgB,EAAI,EAClCA,EAAO,SAAS,CAAGd,EACnBc,EAAO,MAAM,CAAGb,EAChBa,EAAO,SAAS,CAAGZ,EACnBY,EAAO,UAAU,CAAGV,EACpBU,EAAO,OAAO,CAAGJ,EACjBI,EAAO,OAAO,CAAGR,EACjBQ,EAAO,SAAS,CAAGN,EACnBM,EAAO,uBAAuB,CAAGlB,EAajCkB,EAAO,KAAK,CAACF,GAAK,KAAK,GAOzB,GAAIG,CAAM,CAACrf,EAAQ,WAAW,CAAC,CAAE,CAC/B,IAAI+d,EAAOsB,CAAM,CAACrf,EAAQ,WAAW,CAAC,AACtC,QAAOqf,CAAM,CAACrf,EAAQ,WAAW,CAAC,CAClCqf,CAAM,CAACrf,EAAQ,WAAW,CAAC,CAAG+d,EAC9B,OAAOsB,EAAO,IAAI,AACpB,CAEA,OAAOA,CAET,CAGM,EAEC,SAAS/gB,CAAM,CAAEC,CAAO,EAE/B,IAAI+gB,EAAW,CAAC,EAAE,QAAQ,AAE1BhhB,CAAAA,EAAO,OAAO,CAAG0I,MAAM,OAAO,EAAI,SAAUlG,CAAG,EAC7C,MAAOwe,AAAsB,kBAAtBA,EAAS,IAAI,CAACxe,EACvB,CAGM,EAEC,SAASxC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAuBpDD,EAAO,OAAO,CAAG4W,EAEjB,IAAIqK,EAAK,EAAoB,IAAI,YAAY,CAkB7C,SAASrK,IACPqK,EAAG,IAAI,CAAC,IAAI,CACd,CAjBAC,AAFe,EAAoB,GAE1BtK,EAAQqK,GACjBrK,EAAO,QAAQ,CAAG,EAAoB,IACtCA,EAAO,QAAQ,CAAG,EAAoB,KACtCA,EAAO,MAAM,CAAG,EAAoB,KACpCA,EAAO,SAAS,CAAG,EAAoB,KACvCA,EAAO,WAAW,CAAG,EAAoB,KAGzCA,EAAO,MAAM,CAAGA,EAWhBA,EAAO,SAAS,CAAC,IAAI,CAAG,SAASuK,CAAI,CAAEzf,CAAO,EAC5C,IAAI0f,EAAS,IAAI,CAEjB,SAASC,EAAOrJ,CAAK,EACfmJ,EAAK,QAAQ,EACX,KAAUA,EAAK,KAAK,CAACnJ,IAAUoJ,EAAO,KAAK,EAC7CA,EAAO,KAAK,EAGlB,CAIA,SAASE,IACHF,EAAO,QAAQ,EAAIA,EAAO,MAAM,EAClCA,EAAO,MAAM,EAEjB,CANAA,EAAO,EAAE,CAAC,OAAQC,GAQlBF,EAAK,EAAE,CAAC,QAASG,GAIb,CAACH,EAAK,QAAQ,EAAK,EAACzf,GAAWA,AAAgB,KAAhBA,EAAQ,GAAG,AAAS,IACrD0f,EAAO,EAAE,CAAC,MAAOzf,GACjByf,EAAO,EAAE,CAAC,QAASG,IAGrB,IAAIC,EAAW,GACf,SAAS7f,KACH6f,IACJA,EAAW,GAEXL,EAAK,GAAG,GACV,CAGA,SAASI,KACHC,IACJA,EAAW,GAEiB,YAAxB,OAAOL,EAAK,OAAO,EAAiBA,EAAK,OAAO,GACtD,CAGA,SAASM,EAAQ9L,CAAE,EAEjB,GADA+L,IACIT,AAAoC,IAApCA,EAAG,aAAa,CAAC,IAAI,CAAE,SACzB,MAAMtL,CAEV,CAMA,SAAS+L,IACPN,EAAO,cAAc,CAAC,OAAQC,GAC9BF,EAAK,cAAc,CAAC,QAASG,GAE7BF,EAAO,cAAc,CAAC,MAAOzf,GAC7Byf,EAAO,cAAc,CAAC,QAASG,GAE/BH,EAAO,cAAc,CAAC,QAASK,GAC/BN,EAAK,cAAc,CAAC,QAASM,GAE7BL,EAAO,cAAc,CAAC,MAAOM,GAC7BN,EAAO,cAAc,CAAC,QAASM,GAE/BP,EAAK,cAAc,CAAC,QAASO,EAC/B,CAUA,OA5BAN,EAAO,EAAE,CAAC,QAASK,GACnBN,EAAK,EAAE,CAAC,QAASM,GAmBjBL,EAAO,EAAE,CAAC,MAAOM,GACjBN,EAAO,EAAE,CAAC,QAASM,GAEnBP,EAAK,EAAE,CAAC,QAASO,GAEjBP,EAAK,IAAI,CAAC,OAAQC,GAGXD,CACT,CAGM,EAEC,SAASnhB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAC4B,UAASgC,CAAM,CAAEmK,CAAO,EAyBpD,IAUIhL,EA+CA6X,EAzDAlY,EAAM,EAAoB,GAG9Bf,CAAAA,EAAO,OAAO,CAAGsB,EAGjB,IAAIc,EAAU,EAAoB,GAOlCd,CAAAA,EAAS,aAAa,CAAGqgB,EAGhB,EAAoB,IAAI,YAAY,CAE7C,IAAIC,EAAkB,SAAU3L,CAAO,CAAE1B,CAAI,EAC3C,OAAO0B,EAAQ,SAAS,CAAC1B,GAAM,MAAM,AACvC,EAIIqC,EAAS,EAAoB,IAK7BvU,EAAS,EAAoB,IAAI,MAAM,CACvCwU,EAAgB5U,EAAO,UAAU,EAAI,WAAa,EAWlDZ,EAAO,EAAoB,GAC/BA,CAAAA,EAAK,QAAQ,CAAG,EAAoB,GAIpC,IAAIwgB,EAAY,EAAoB,KAChCC,EAAQ,KAAK,EAEfA,EADED,GAAaA,EAAU,QAAQ,CACzBA,EAAU,QAAQ,CAAC,UAEnB,WAAa,EAIvB,IAAIE,EAAa,EAAoB,KACjCjL,EAAc,EAAoB,IAGtCzV,EAAK,QAAQ,CAACC,EAAUsV,GAExB,IAAIoL,EAAe,CAAC,QAAS,QAAS,UAAW,QAAS,SAAS,CAcnE,SAASL,EAAcjgB,CAAO,CAAEsV,CAAM,EACpC5V,EAASA,GAAU,EAAoB,GAEvCM,EAAUA,GAAW,CAAC,EAOtB,IAAIuV,EAAWD,aAAkB5V,CAIjC,KAAI,CAAC,UAAU,CAAG,CAAC,CAACM,EAAQ,UAAU,CAElCuV,GAAU,KAAI,CAAC,UAAU,CAAG,IAAI,CAAC,UAAU,EAAI,CAAC,CAACvV,EAAQ,kBAAkB,AAAD,EAI9E,IAAIwV,EAAMxV,EAAQ,aAAa,CAC3BugB,EAAcvgB,EAAQ,qBAAqB,CAC3C0V,EAAa,IAAI,CAAC,UAAU,CAAG,GAAK,KAEpCF,CAAAA,GAAOA,AAAQ,IAARA,EAAW,IAAI,CAAC,aAAa,CAAGA,EAAaD,GAAagL,CAAAA,GAAeA,AAAgB,IAAhBA,CAAgB,EAAI,IAAI,CAAC,aAAa,CAAGA,EAAiB,IAAI,CAAC,aAAa,CAAG7K,EAGnK,IAAI,CAAC,aAAa,CAAG9R,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,EAKlD,IAAI,CAAC,MAAM,CAAG,IAAIyc,EAClB,IAAI,CAAC,MAAM,CAAG,EACd,IAAI,CAAC,KAAK,CAAG,KACb,IAAI,CAAC,UAAU,CAAG,EAClB,IAAI,CAAC,OAAO,CAAG,KACf,IAAI,CAAC,KAAK,CAAG,GACb,IAAI,CAAC,UAAU,CAAG,GAClB,IAAI,CAAC,OAAO,CAAG,GAMf,IAAI,CAAC,IAAI,CAAG,GAIZ,IAAI,CAAC,YAAY,CAAG,GACpB,IAAI,CAAC,eAAe,CAAG,GACvB,IAAI,CAAC,iBAAiB,CAAG,GACzB,IAAI,CAAC,eAAe,CAAG,GAGvB,IAAI,CAAC,SAAS,CAAG,GAKjB,IAAI,CAAC,eAAe,CAAGrgB,EAAQ,eAAe,EAAI,OAGlD,IAAI,CAAC,UAAU,CAAG,EAGlB,IAAI,CAAC,WAAW,CAAG,GAEnB,IAAI,CAAC,OAAO,CAAG,KACf,IAAI,CAAC,QAAQ,CAAG,KACZA,EAAQ,QAAQ,GACd,CAACuX,GAAeA,CAAAA,EAAgB,EAAoB,IAAI,aAAa,AAAD,EACxE,IAAI,CAAC,OAAO,CAAG,IAAIA,EAAcvX,EAAQ,QAAQ,EACjD,IAAI,CAAC,QAAQ,CAAGA,EAAQ,QAAQ,CAEpC,CAEA,SAASJ,EAASI,CAAO,EAGvB,GAFAN,EAASA,GAAU,EAAoB,GAEnC,CAAE,KAAI,YAAYE,CAAO,EAAI,OAAO,IAAIA,EAASI,EAErD,KAAI,CAAC,cAAc,CAAG,IAAIigB,EAAcjgB,EAAS,IAAI,EAGrD,IAAI,CAAC,QAAQ,CAAG,GAEZA,IAC0B,YAAxB,OAAOA,EAAQ,IAAI,EAAiB,KAAI,CAAC,KAAK,CAAGA,EAAQ,IAAI,AAAD,EAEjC,YAA3B,OAAOA,EAAQ,OAAO,EAAiB,KAAI,CAAC,QAAQ,CAAGA,EAAQ,OAAO,AAAD,GAG3EkV,EAAO,IAAI,CAAC,IAAI,CAClB,CA0DA,SAASsL,EAAiBlL,CAAM,CAAEgB,CAAK,CAAErU,CAAQ,CAAEwe,CAAU,CAAEC,CAAc,EAC3E,IArM2BpK,EA0MrBrC,EALFV,EAAQ+B,EAAO,cAAc,CACjC,GAAIgB,AAAU,OAAVA,EACF/C,EAAM,OAAO,CAAG,GAChBoN,AAyNJ,SAAoBrL,CAAM,CAAE/B,CAAK,EAC/B,IAAIA,EAAM,KAAK,EACf,GAAIA,EAAM,OAAO,CAAE,CACjB,IAAI+C,EAAQ/C,EAAM,OAAO,CAAC,GAAG,GACzB+C,GAASA,EAAM,MAAM,GACvB/C,EAAM,MAAM,CAAC,IAAI,CAAC+C,GAClB/C,EAAM,MAAM,EAAIA,EAAM,UAAU,CAAG,EAAI+C,EAAM,MAAM,CAEvD,CACA/C,EAAM,KAAK,CAAG,GAGdqN,EAAatL,GACf,EAtOeA,EAAQ/B,QAInB,GADI,CAACmN,GAAgBzM,CAAAA,EAAK4M,AA2C9B,SAAsBtN,CAAK,CAAE+C,CAAK,MAC5BrC,EApPiB1U,EAqPrB,GAAI,AArPiBA,EAqPF+W,EAAf,CApPG3V,EAAO,QAAQ,CAACpB,KAAQA,CAAAA,aAAe4V,CAAY,GAoP7B,AAAiB,UAAjB,OAAOmB,GAAsBA,AAAUnW,KAAAA,IAAVmW,GAAuB,CAAC/C,EAAM,UAAU,CAChGU,EAAK,AAAIxS,UAAU,mCAErB,OAAOwS,CACT,EAjD2CV,EAAO+C,EAAK,EAC/CrC,EACFqB,EAAO,IAAI,CAAC,QAASrB,QAChB,GAAIV,EAAM,UAAU,EAAI+C,GAASA,EAAM,MAAM,CAAG,EAAG,CACxD,GAAI,AAAiB,UAAjB,OAAOA,GAAsB,CAAC/C,EAAM,UAAU,EAAI7U,OAAO,cAAc,CAAC4X,KAAW3V,EAAO,SAAS,CAAE,EA/MlF2V,EAgNOA,EAA5BA,EA/MC3V,EAAO,IAAI,CAAC2V,EAgNf,CAEImK,EACElN,EAAM,UAAU,CAAE+B,EAAO,IAAI,CAAC,QAAS,AAAIhU,MAAM,qCAA0Cwf,EAASxL,EAAQ/B,EAAO+C,EAAO,IACrH/C,EAAM,KAAK,CACpB+B,EAAO,IAAI,CAAC,QAAS,AAAIhU,MAAM,6BAE/BiS,EAAM,OAAO,CAAG,GACZA,EAAM,OAAO,EAAI,CAACtR,GACpBqU,EAAQ/C,EAAM,OAAO,CAAC,KAAK,CAAC+C,GACxB/C,EAAM,UAAU,EAAI+C,AAAiB,IAAjBA,EAAM,MAAM,CAAQwK,EAASxL,EAAQ/B,EAAO+C,EAAO,IAAYyK,EAAczL,EAAQ/B,IAE7GuN,EAASxL,EAAQ/B,EAAO+C,EAAO,IAGrC,KAAW,CAACmK,GACVlN,CAAAA,EAAM,OAAO,CAAG,EAAI,EAIxB,OAAOyN,AAgCT,SAAsBzN,CAAK,EACzB,MAAO,CAACA,EAAM,KAAK,EAAKA,CAAAA,EAAM,YAAY,EAAIA,EAAM,MAAM,CAAGA,EAAM,aAAa,EAAIA,AAAiB,IAAjBA,EAAM,MAAM,AAAK,CACvG,EAlCsBA,EACtB,CAEA,SAASuN,EAASxL,CAAM,CAAE/B,CAAK,CAAE+C,CAAK,CAAEmK,CAAU,EAC5ClN,EAAM,OAAO,EAAIA,AAAiB,IAAjBA,EAAM,MAAM,EAAU,CAACA,EAAM,IAAI,EACpD+B,EAAO,IAAI,CAAC,OAAQgB,GACpBhB,EAAO,IAAI,CAAC,KAGZ/B,EAAM,MAAM,EAAIA,EAAM,UAAU,CAAG,EAAI+C,EAAM,MAAM,CAC/CmK,EAAYlN,EAAM,MAAM,CAAC,OAAO,CAAC+C,GAAY/C,EAAM,MAAM,CAAC,IAAI,CAAC+C,GAE/D/C,EAAM,YAAY,EAAEqN,EAAatL,IAEvCyL,EAAczL,EAAQ/B,EACxB,CAxGA7U,OAAO,cAAc,CAACkB,EAAS,SAAS,CAAE,YAAa,CACrD,IAAK,kBACH,AAA4BO,KAAAA,IAAxB,IAAI,CAAC,cAAc,EAGhB,IAAI,CAAC,cAAc,CAAC,SAAS,AACtC,EACA,IAAK,SAAUC,CAAK,EAGlB,IAAI,CAAC,IAAI,CAAC,cAAc,CAMxB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAGA,CAClC,CACF,GAEAR,EAAS,SAAS,CAAC,OAAO,CAAGwV,EAAY,OAAO,CAChDxV,EAAS,SAAS,CAAC,UAAU,CAAGwV,EAAY,SAAS,CACrDxV,EAAS,SAAS,CAAC,QAAQ,CAAG,SAAUS,CAAG,CAAEC,CAAE,EAC7C,IAAI,CAAC,IAAI,CAAC,MACVA,EAAGD,EACL,EAMAT,EAAS,SAAS,CAAC,IAAI,CAAG,SAAU0W,CAAK,CAAErU,CAAQ,EACjD,IACIye,EADAnN,EAAQ,IAAI,CAAC,cAAc,CAgB/B,OAbKA,EAAM,UAAU,CAUnBmN,EAAiB,GATI,UAAjB,OAAOpK,IACTrU,CAAAA,EAAWA,GAAYsR,EAAM,eAAe,AAAD,IAC1BA,EAAM,QAAQ,GAC7B+C,EAAQ3V,EAAO,IAAI,CAAC2V,EAAOrU,GAC3BA,EAAW,IAEbye,EAAiB,IAMdF,EAAiB,IAAI,CAAElK,EAAOrU,EAAU,GAAOye,EACxD,EAGA9gB,EAAS,SAAS,CAAC,OAAO,CAAG,SAAU0W,CAAK,EAC1C,OAAOkK,EAAiB,IAAI,CAAElK,EAAO,KAAM,GAAM,GACnD,CAuEA1W,CAAAA,EAAS,SAAS,CAAC,QAAQ,CAAG,WAC5B,MAAO,AAAgC,KAAhC,IAAI,CAAC,cAAc,CAAC,OAAO,AACpC,EAGAA,EAAS,SAAS,CAAC,WAAW,CAAG,SAAU8X,CAAG,EAI5C,MAHI,CAACH,GAAeA,CAAAA,EAAgB,EAAoB,IAAI,aAAa,AAAD,EACxE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAG,IAAIA,EAAcG,GAChD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAGA,EACxB,IAAI,AACb,EAuBA,SAASuJ,EAAczd,CAAC,CAAE+P,CAAK,EAC7B,GAAI/P,GAAK,GAAK+P,AAAiB,IAAjBA,EAAM,MAAM,EAAUA,EAAM,KAAK,CAAE,OAAO,EACxD,GAAIA,EAAM,UAAU,CAAE,OAAO,EAC7B,GAAI/P,GAAMA,SAER,AAAI+P,EAAM,OAAO,EAAIA,EAAM,MAAM,CAASA,EAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAaA,EAAM,MAAM,CAGlG,GAAI/P,EAAI+P,EAAM,aAAa,CAAEA,KA3BE/P,CA2BF+P,CAAAA,EAAM,aAAa,EA1B5C/P,CAD2BA,EA2B4CA,IA5B/D,QAGVA,EAHU,SAOVA,IACAA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,GACXA,KAEKA,EAasE,QAC7E,AAAIA,GAAK+P,EAAM,MAAM,CAAS/P,EAEzB+P,EAAM,KAAK,CAITA,EAAM,MAAM,EAHjBA,EAAM,YAAY,CAAG,GACd,EAGX,CAGA3T,EAAS,SAAS,CAAC,IAAI,CAAG,SAAU4D,CAAC,EACnC4c,EAAM,OAAQ5c,GACdA,EAAIgD,SAAShD,EAAG,IAChB,IAyEIG,EAzEA4P,EAAQ,IAAI,CAAC,cAAc,CAC3B2N,EAAQ1d,EAOZ,GALU,IAANA,GAAS+P,CAAAA,EAAM,eAAe,CAAG,EAAI,EAKrC/P,AAAM,IAANA,GAAW+P,EAAM,YAAY,EAAKA,CAAAA,EAAM,MAAM,EAAIA,EAAM,aAAa,EAAIA,EAAM,KAAK,AAAD,EAGrF,OAFA6M,EAAM,qBAAsB7M,EAAM,MAAM,CAAEA,EAAM,KAAK,EACjDA,AAAiB,IAAjBA,EAAM,MAAM,EAAUA,EAAM,KAAK,CAAE4N,EAAY,IAAI,EAAOP,EAAa,IAAI,EACxE,KAMT,GAAIpd,AAAM,IAHVA,CAAAA,EAAIyd,EAAczd,EAAG+P,EAAK,GAGXA,EAAM,KAAK,CAExB,OADqB,IAAjBA,EAAM,MAAM,EAAQ4N,EAAY,IAAI,EACjC,KA0BT,IAAIC,EAAS7N,EAAM,YAAY,CAiD/B,OAhDA6M,EAAM,gBAAiBgB,GAGnB7N,CAAAA,AAAiB,IAAjBA,EAAM,MAAM,EAAUA,EAAM,MAAM,CAAG/P,EAAI+P,EAAM,aAAa,AAAD,GAE7D6M,EAAM,6BADNgB,EAAS,IAMP7N,EAAM,KAAK,EAAIA,EAAM,OAAO,CAE9B6M,EAAM,mBADNgB,EAAS,IAEAA,IACThB,EAAM,WACN7M,EAAM,OAAO,CAAG,GAChBA,EAAM,IAAI,CAAG,GAEQ,IAAjBA,EAAM,MAAM,EAAQA,CAAAA,EAAM,YAAY,CAAG,EAAG,EAEhD,IAAI,CAAC,KAAK,CAACA,EAAM,aAAa,EAC9BA,EAAM,IAAI,CAAG,GAGT,CAACA,EAAM,OAAO,EAAE/P,CAAAA,EAAIyd,EAAcC,EAAO3N,EAAK,GAMhD5P,AAAQ,QAFDA,EAAPH,EAAI,EAAS6d,EAAS7d,EAAG+P,GAAkB,OAG7CA,EAAM,YAAY,CAAG,GACrB/P,EAAI,GAEJ+P,EAAM,MAAM,EAAI/P,EAGG,IAAjB+P,EAAM,MAAM,GAGV,CAACA,EAAM,KAAK,EAAEA,CAAAA,EAAM,YAAY,CAAG,EAAG,EAGtC2N,IAAU1d,GAAK+P,EAAM,KAAK,EAAE4N,EAAY,IAAI,GAGtC,OAARxd,GAAc,IAAI,CAAC,IAAI,CAAC,OAAQA,GAE7BA,CACT,EAoBA,SAASid,EAAatL,CAAM,EAC1B,IAAI/B,EAAQ+B,EAAO,cAAc,AACjC/B,CAAAA,EAAM,YAAY,CAAG,GACjB,CAACA,EAAM,eAAe,GACxB6M,EAAM,eAAgB7M,EAAM,OAAO,EACnCA,EAAM,eAAe,CAAG,GACpBA,EAAM,IAAI,CAAElU,EAAI,QAAQ,CAACiiB,EAAehM,GAAagM,EAAchM,GAE3E,CAEA,SAASgM,EAAchM,CAAM,EAC3B8K,EAAM,iBACN9K,EAAO,IAAI,CAAC,YACZiM,EAAKjM,EACP,CAQA,SAASyL,EAAczL,CAAM,CAAE/B,CAAK,EAC9B,CAACA,EAAM,WAAW,GACpBA,EAAM,WAAW,CAAG,GACpBlU,EAAI,QAAQ,CAACmiB,EAAgBlM,EAAQ/B,GAEzC,CAEA,SAASiO,EAAelM,CAAM,CAAE/B,CAAK,EAEnC,IADA,IAAIlR,EAAMkR,EAAM,MAAM,CAIpB,AAHK,CAACA,EAAM,OAAO,EAAI,CAACA,EAAM,OAAO,EAAI,CAACA,EAAM,KAAK,EAAIA,EAAM,MAAM,CAAGA,EAAM,aAAa,GAC3F6M,EAAM,wBACN9K,EAAO,IAAI,CAAC,GACRjT,IAAQkR,EAAM,MAAM,GAHqE,EAKhFlR,EAAMkR,EAAM,MAAM,AACjC,CACAA,EAAM,WAAW,CAAG,EACtB,CAMA3T,EAAS,SAAS,CAAC,KAAK,CAAG,SAAU4D,CAAC,EACpC,IAAI,CAAC,IAAI,CAAC,QAAS,AAAIlC,MAAM,8BAC/B,EAEA1B,EAAS,SAAS,CAAC,IAAI,CAAG,SAAU6f,CAAI,CAAEgC,CAAQ,EAChD,IAAIvY,EAAM,IAAI,CACVqK,EAAQ,IAAI,CAAC,cAAc,CAE/B,OAAQA,EAAM,UAAU,EACtB,KAAK,EACHA,EAAM,KAAK,CAAGkM,EACd,KACF,MAAK,EACHlM,EAAM,KAAK,CAAG,CAACA,EAAM,KAAK,CAAEkM,EAAK,CACjC,KACF,SACElM,EAAM,KAAK,CAAC,IAAI,CAACkM,EAErB,CACAlM,EAAM,UAAU,EAAI,EACpB6M,EAAM,wBAAyB7M,EAAM,UAAU,CAAEkO,GAIjD,IAAIC,EAAQC,AAFA,AAAEF,GAAYA,AAAiB,KAAjBA,EAAS,GAAG,EAAehC,IAAS/U,EAAQ,MAAM,EAAI+U,IAAS/U,EAAQ,MAAM,CAE3EkX,EAAR3hB,EAIpB,SAAS4hB,EAASC,CAAQ,CAAEC,CAAU,EACpC3B,EAAM,YACF0B,IAAa5Y,GACX6Y,GAAcA,AAA0B,KAA1BA,EAAW,UAAU,GACrCA,EAAW,UAAU,CAAG,GACxB/B,AAkBN,WACEI,EAAM,WAENX,EAAK,cAAc,CAAC,QAASI,GAC7BJ,EAAK,cAAc,CAAC,SAAUuC,GAC9BvC,EAAK,cAAc,CAAC,QAASG,GAC7BH,EAAK,cAAc,CAAC,QAASM,GAC7BN,EAAK,cAAc,CAAC,SAAUoC,GAC9B3Y,EAAI,cAAc,CAAC,MAAOjJ,GAC1BiJ,EAAI,cAAc,CAAC,MAAO0Y,GAC1B1Y,EAAI,cAAc,CAAC,OAAQyW,GAE3BsC,EAAY,GAOR1O,EAAM,UAAU,EAAK,EAACkM,EAAK,cAAc,EAAIA,EAAK,cAAc,CAAC,SAAS,AAAD,GAAIG,GACnF,IAnCA,CAEA,SAAS3f,IACPmgB,EAAM,SACNX,EAAK,GAAG,EACV,CAhBIlM,EAAM,UAAU,CAAElU,EAAI,QAAQ,CAACqiB,GAAYxY,EAAI,IAAI,CAAC,MAAOwY,GAE/DjC,EAAK,EAAE,CAAC,SAAUoC,GAoBlB,IAAIjC,EAAUsC,AA4FhB,SAAqBhZ,CAAG,EACtB,OAAO,WACL,IAAIqK,EAAQrK,EAAI,cAAc,CAC9BkX,EAAM,cAAe7M,EAAM,UAAU,EACjCA,EAAM,UAAU,EAAEA,EAAM,UAAU,GACb,IAArBA,EAAM,UAAU,EAAU2M,EAAgBhX,EAAK,UACjDqK,EAAM,OAAO,CAAG,GAChBgO,EAAKrY,GAET,CACF,EAtG4BA,GAC1BuW,EAAK,EAAE,CAAC,QAASG,GAEjB,IAAIqC,EAAY,GA2BZE,EAAsB,GAE1B,SAASxC,EAAOrJ,CAAK,EACnB8J,EAAM,UACN+B,EAAsB,GAElB,KADM1C,EAAK,KAAK,CAACnJ,IACA,CAAC6L,IAKf5O,CAAAA,AAAqB,IAArBA,EAAM,UAAU,EAAUA,EAAM,KAAK,GAAKkM,GAAQlM,EAAM,UAAU,CAAG,GAAK6O,AAA+B,KAA/BA,EAAQ7O,EAAM,KAAK,CAAEkM,EAAW,GAAM,CAACwC,IACpH7B,EAAM,8BAA+BlX,EAAI,cAAc,CAAC,UAAU,EAClEA,EAAI,cAAc,CAAC,UAAU,GAC7BiZ,EAAsB,IAExBjZ,EAAI,KAAK,GAEb,CAIA,SAAS6W,EAAQ9L,CAAE,EACjBmM,EAAM,UAAWnM,GACjB2N,IACAnC,EAAK,cAAc,CAAC,QAASM,GACU,IAAnCG,EAAgBT,EAAM,UAAgBA,EAAK,IAAI,CAAC,QAASxL,EAC/D,CAMA,SAAS4L,IACPJ,EAAK,cAAc,CAAC,SAAUuC,GAC9BJ,GACF,CAEA,SAASI,IACP5B,EAAM,YACNX,EAAK,cAAc,CAAC,QAASI,GAC7B+B,GACF,CAGA,SAASA,IACPxB,EAAM,UACNlX,EAAI,MAAM,CAACuW,EACb,CAWA,OA1DAvW,EAAI,EAAE,CAAC,OAAQyW,IA6Bf0C,AA3iBF,SAAyB9N,CAAO,CAAE+N,CAAK,CAAEtW,CAAE,EAGzC,GAAI,AAAmC,YAAnC,OAAOuI,EAAQ,eAAe,CAAiB,OAAOA,EAAQ,eAAe,CAAC+N,EAAOtW,EAMrF,AAACuI,CAAAA,EAAQ,OAAO,EAAKA,EAAQ,OAAO,CAAC+N,EAAM,CAAiC5hB,EAAQ6T,EAAQ,OAAO,CAAC+N,EAAM,EAAG/N,EAAQ,OAAO,CAAC+N,EAAM,CAAC,OAAO,CAACtW,GAASuI,EAAQ,OAAO,CAAC+N,EAAM,CAAG,CAACtW,EAAIuI,EAAQ,OAAO,CAAC+N,EAAM,CAAC,CAA7J/N,EAAQ,EAAE,CAAC+N,EAAOtW,EACrE,EAiiBkByT,EAAM,QAASM,GAO/BN,EAAK,IAAI,CAAC,QAASI,GAMnBJ,EAAK,IAAI,CAAC,SAAUuC,GAQpBvC,EAAK,IAAI,CAAC,OAAQvW,GAGd,CAACqK,EAAM,OAAO,GAChB6M,EAAM,eACNlX,EAAI,MAAM,IAGLuW,CACT,EAyFA,SAAS8C,EAAiBrkB,CAAI,EAC5BkiB,EAAM,4BACNliB,EAAK,IAAI,CAAC,EACZ,CA9EA0B,EAAS,SAAS,CAAC,MAAM,CAAG,SAAU6f,CAAI,EACxC,IAAIlM,EAAQ,IAAI,CAAC,cAAc,CAC3BwO,EAAa,CAAE,WAAY,EAAM,EAGrC,GAAIxO,AAAqB,IAArBA,EAAM,UAAU,CAAQ,OAAO,IAAI,CAGvC,GAAIA,AAAqB,IAArBA,EAAM,UAAU,QAElB,AAAIkM,GAAQA,IAASlM,EAAM,KAAK,CAAS,IAAI,EAEzC,CAACkM,GAAMA,CAAAA,EAAOlM,EAAM,KAAK,AAAD,EAG5BA,EAAM,KAAK,CAAG,KACdA,EAAM,UAAU,CAAG,EACnBA,EAAM,OAAO,CAAG,GACZkM,GAAMA,EAAK,IAAI,CAAC,SAAU,IAAI,CAAEsC,GAC7B,IAAI,EAKb,GAAI,CAACtC,EAAM,CAET,IAAI+C,EAAQjP,EAAM,KAAK,CACnBlR,EAAMkR,EAAM,UAAU,AAC1BA,CAAAA,EAAM,KAAK,CAAG,KACdA,EAAM,UAAU,CAAG,EACnBA,EAAM,OAAO,CAAG,GAEhB,IAAK,IAAI3Q,EAAI,EAAGA,EAAIP,EAAKO,IACvB4f,CAAK,CAAC5f,EAAE,CAAC,IAAI,CAAC,SAAU,IAAI,CAAEmf,GAC/B,OAAO,IAAI,AACd,CAGA,IAAIrS,EAAQ0S,EAAQ7O,EAAM,KAAK,CAAEkM,UACjC,AAAI/P,AAAU,KAAVA,EAAqB,IAAI,EAE7B6D,EAAM,KAAK,CAAC,MAAM,CAAC7D,EAAO,GAC1B6D,EAAM,UAAU,EAAI,EACK,IAArBA,EAAM,UAAU,EAAQA,CAAAA,EAAM,KAAK,CAAGA,EAAM,KAAK,CAAC,EAAE,AAAD,EAEvDkM,EAAK,IAAI,CAAC,SAAU,IAAI,CAAEsC,GAEnB,IAAI,CACb,EAIAniB,EAAS,SAAS,CAAC,EAAE,CAAG,SAAU6iB,CAAE,CAAEzW,CAAE,EACtC,IAAI9H,EAAMgR,EAAO,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAEuN,EAAIzW,GAE7C,GAAIyW,AAAO,SAAPA,EAEkC,KAAhC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAY,IAAI,CAAC,MAAM,QACjD,GAAIA,AAAO,aAAPA,EAAmB,CAC5B,IAAIlP,EAAQ,IAAI,CAAC,cAAc,AAC3B,EAACA,EAAM,UAAU,EAAI,CAACA,EAAM,iBAAiB,GAC/CA,EAAM,iBAAiB,CAAGA,EAAM,YAAY,CAAG,GAC/CA,EAAM,eAAe,CAAG,GACnBA,EAAM,OAAO,CAEPA,EAAM,MAAM,EACrBqN,EAAa,IAAI,EAFjBvhB,EAAI,QAAQ,CAACkjB,EAAkB,IAAI,EAKzC,CAEA,OAAOre,CACT,EACAtE,EAAS,SAAS,CAAC,WAAW,CAAGA,EAAS,SAAS,CAAC,EAAE,CAStDA,EAAS,SAAS,CAAC,MAAM,CAAG,WAC1B,IAAI2T,EAAQ,IAAI,CAAC,cAAc,CAM/B,MALI,CAACA,EAAM,OAAO,GAChB6M,EAAM,UACN7M,EAAM,OAAO,CAAG,GAChBmP,AAKJ,SAAgBpN,CAAM,CAAE/B,CAAK,EACvB,CAACA,EAAM,eAAe,GACxBA,EAAM,eAAe,CAAG,GACxBlU,EAAI,QAAQ,CAACsjB,EAASrN,EAAQ/B,GAElC,EAVW,IAAI,CAAEA,IAER,IAAI,AACb,EASA,SAASoP,EAAQrN,CAAM,CAAE/B,CAAK,EACxB,CAACA,EAAM,OAAO,GAChB6M,EAAM,iBACN9K,EAAO,IAAI,CAAC,IAGd/B,EAAM,eAAe,CAAG,GACxBA,EAAM,UAAU,CAAG,EACnB+B,EAAO,IAAI,CAAC,UACZiM,EAAKjM,GACD/B,EAAM,OAAO,EAAI,CAACA,EAAM,OAAO,EAAE+B,EAAO,IAAI,CAAC,EACnD,CAYA,SAASiM,EAAKjM,CAAM,EAClB,IAAI/B,EAAQ+B,EAAO,cAAc,CAEjC,IADA8K,EAAM,OAAQ7M,EAAM,OAAO,EACpBA,EAAM,OAAO,EAAI+B,AAAkB,OAAlBA,EAAO,IAAI,KACrC,CAkFA,SAAS+L,EAAS7d,CAAC,CAAE+P,CAAK,MAIpB5P,SAFJ,AAAI4P,AAAiB,IAAjBA,EAAM,MAAM,CAAe,MAG3BA,EAAM,UAAU,CAAE5P,EAAM4P,EAAM,MAAM,CAAC,KAAK,GAAY,CAAC/P,GAAKA,GAAK+P,EAAM,MAAM,EAE5D5P,EAAf4P,EAAM,OAAO,CAAQA,EAAM,MAAM,CAAC,IAAI,CAAC,IAAaA,AAAwB,IAAxBA,EAAM,MAAM,CAAC,MAAM,CAAcA,EAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAYA,EAAM,MAAM,CAAC,MAAM,CAACA,EAAM,MAAM,EAC3JA,EAAM,MAAM,CAAC,KAAK,IAGlB5P,EAAMif,AASV,SAAyBpf,CAAC,CAAE4B,CAAI,CAAEyd,CAAU,EAC1C,IAAIlf,EAYJ,OAXIH,EAAI4B,EAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAE3BzB,EAAMyB,EAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAG5B,GAC9B4B,EAAK,IAAI,CAAC,IAAI,CAAGA,EAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC5B,IAGtCG,EAFSH,IAAM4B,EAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAE9BA,EAAK,KAAK,GAGVyd,EAAaC,AASvB,SAA8Btf,CAAC,CAAE4B,CAAI,EACnC,IAAIrG,EAAIqG,EAAK,IAAI,CACbwB,EAAI,EACJjD,EAAM5E,EAAE,IAAI,CAEhB,IADAyE,GAAKG,EAAI,MAAM,CACR5E,EAAIA,EAAE,IAAI,EAAE,CACjB,IAAIwG,EAAMxG,EAAE,IAAI,CACZyY,EAAKhU,EAAI+B,EAAI,MAAM,CAAGA,EAAI,MAAM,CAAG/B,EAGvC,GAFIgU,IAAOjS,EAAI,MAAM,CAAE5B,GAAO4B,EAAS5B,GAAO4B,EAAI,KAAK,CAAC,EAAG/B,GAEvDA,AAAM,GADVA,CAAAA,GAAKgU,CAAC,EACO,CACPA,IAAOjS,EAAI,MAAM,EACnB,EAAEqB,EACE7H,EAAE,IAAI,CAAEqG,EAAK,IAAI,CAAGrG,EAAE,IAAI,CAAMqG,EAAK,IAAI,CAAGA,EAAK,IAAI,CAAG,OAE5DA,EAAK,IAAI,CAAGrG,EACZA,EAAE,IAAI,CAAGwG,EAAI,KAAK,CAACiS,IAErB,KACF,CACA,EAAE5Q,CACJ,CAEA,OADAxB,EAAK,MAAM,EAAIwB,EACRjD,CACT,EAjC4CH,EAAG4B,GAAQ2d,AAsCvD,SAAwBvf,CAAC,CAAE4B,CAAI,EAC7B,IAAIzB,EAAMhD,EAAO,WAAW,CAAC6C,GACzBzE,EAAIqG,EAAK,IAAI,CACbwB,EAAI,EAGR,IAFA7H,EAAE,IAAI,CAAC,IAAI,CAAC4E,GACZH,GAAKzE,EAAE,IAAI,CAAC,MAAM,CACXA,EAAIA,EAAE,IAAI,EAAE,CACjB,IAAIsE,EAAMtE,EAAE,IAAI,CACZyY,EAAKhU,EAAIH,EAAI,MAAM,CAAGA,EAAI,MAAM,CAAGG,EAGvC,GAFAH,EAAI,IAAI,CAACM,EAAKA,EAAI,MAAM,CAAGH,EAAG,EAAGgU,GAE7BhU,AAAM,GADVA,CAAAA,GAAKgU,CAAC,EACO,CACPA,IAAOnU,EAAI,MAAM,EACnB,EAAEuD,EACE7H,EAAE,IAAI,CAAEqG,EAAK,IAAI,CAAGrG,EAAE,IAAI,CAAMqG,EAAK,IAAI,CAAGA,EAAK,IAAI,CAAG,OAE5DA,EAAK,IAAI,CAAGrG,EACZA,EAAE,IAAI,CAAGsE,EAAI,KAAK,CAACmU,IAErB,KACF,CACA,EAAE5Q,CACJ,CAEA,OADAxB,EAAK,MAAM,EAAIwB,EACRjD,CACT,EA/DsEH,EAAG4B,GAEhEzB,CACT,EAvB0BH,EAAG+P,EAAM,MAAM,CAAEA,EAAM,OAAO,EAG/C5P,EACT,CA/GA/D,EAAS,SAAS,CAAC,KAAK,CAAG,WAOzB,OANAwgB,EAAM,wBAAyB,IAAI,CAAC,cAAc,CAAC,OAAO,EACtD,KAAU,IAAI,CAAC,cAAc,CAAC,OAAO,GACvCA,EAAM,SACN,IAAI,CAAC,cAAc,CAAC,OAAO,CAAG,GAC9B,IAAI,CAAC,IAAI,CAAC,UAEL,IAAI,AACb,EAWAxgB,EAAS,SAAS,CAAC,IAAI,CAAG,SAAU0V,CAAM,EACxC,IAAIX,EAAQ,IAAI,CAEZpB,EAAQ,IAAI,CAAC,cAAc,CAC3ByP,EAAS,GA4Bb,IAAK,IAAIpgB,KA1BT0S,EAAO,EAAE,CAAC,MAAO,WAEf,GADA8K,EAAM,eACF7M,EAAM,OAAO,EAAI,CAACA,EAAM,KAAK,CAAE,CACjC,IAAI+C,EAAQ/C,EAAM,OAAO,CAAC,GAAG,GACzB+C,GAASA,EAAM,MAAM,EAAE3B,EAAM,IAAI,CAAC2B,EACxC,CAEA3B,EAAM,IAAI,CAAC,KACb,GAEAW,EAAO,EAAE,CAAC,OAAQ,SAAUgB,CAAK,EAK/B,GAJA8J,EAAM,gBACF7M,EAAM,OAAO,EAAE+C,CAAAA,EAAQ/C,EAAM,OAAO,CAAC,KAAK,CAAC+C,EAAK,EAGhD/C,EAAM,UAAU,EAAK+C,MAAAA,EAAwC,OAAY,GAAI,EAAC/C,EAAM,UAAU,EAAK,EAAC+C,IAAS,CAACA,EAAM,MAAM,CAG1H,CADM3B,EAAM,IAAI,CAAC2B,KAEnB0M,EAAS,GACT1N,EAAO,KAAK,GAEhB,GAIcA,EACInV,KAAAA,IAAZ,IAAI,CAACyC,EAAE,EAAkB,AAAqB,YAArB,OAAO0S,CAAM,CAAC1S,EAAE,EAC3C,KAAI,CAACA,EAAE,CAAG,SAAU7C,CAAM,EACxB,OAAO,WACL,OAAOuV,CAAM,CAACvV,EAAO,CAAC,KAAK,CAACuV,EAAQhQ,UACtC,CACF,EAAE1C,EAAC,EAKP,IAAK,IAAIY,EAAI,EAAGA,EAAI8c,EAAa,MAAM,CAAE9c,IACvC8R,EAAO,EAAE,CAACgL,CAAY,CAAC9c,EAAE,CAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAE8c,CAAY,CAAC9c,EAAE,GAajE,OARA,IAAI,CAAC,KAAK,CAAG,SAAUA,CAAC,EACtB4c,EAAM,gBAAiB5c,GACnBwf,IACFA,EAAS,GACT1N,EAAO,MAAM,GAEjB,EAEO,IAAI,AACb,EAEA5W,OAAO,cAAc,CAACkB,EAAS,SAAS,CAAE,wBAAyB,CAIjE,WAAY,GACZ,IAAK,WACH,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,AAC1C,CACF,GAGAA,EAAS,SAAS,CAAGyhB,EAsGrB,SAASF,EAAY7L,CAAM,EACzB,IAAI/B,EAAQ+B,EAAO,cAAc,CAIjC,GAAI/B,EAAM,MAAM,CAAG,EAAG,MAAM,AAAIjS,MAAM,6CAElC,EAACiS,EAAM,UAAU,GACnBA,EAAM,KAAK,CAAG,GACdlU,EAAI,QAAQ,CAAC4jB,EAAe1P,EAAO+B,GAEvC,CAEA,SAAS2N,EAAc1P,CAAK,CAAE+B,CAAM,EAE9B,CAAC/B,EAAM,UAAU,EAAIA,AAAiB,IAAjBA,EAAM,MAAM,GACnCA,EAAM,UAAU,CAAG,GACnB+B,EAAO,QAAQ,CAAG,GAClBA,EAAO,IAAI,CAAC,OAEhB,CAEA,SAAS8M,EAAQc,CAAE,CAAEhe,CAAC,EACpB,IAAK,IAAItC,EAAI,EAAGugB,EAAID,EAAG,MAAM,CAAEtgB,EAAIugB,EAAGvgB,IACpC,GAAIsgB,CAAE,CAACtgB,EAAE,GAAKsC,EAAG,OAAOtC,EAE1B,OAAO,EACT,CAC2B,GAAE,IAAI,CAACrE,EAAS,EAAoB,GAAI,EAAoB,IAEjF,EAEC,SAASD,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpDD,EAAO,OAAO,CAAG,EAAoB,IAAI,YAAY,AAG/C,EAEC,SAASA,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAKA,IAAIc,EAAM,EAAoB,IA8D9B,SAAS+jB,EAAYllB,CAAI,CAAEmC,CAAG,EAC5BnC,EAAK,IAAI,CAAC,QAASmC,EACrB,CAEA/B,EAAO,OAAO,CAAG,CACf,QA/DF,SAAiB+B,CAAG,CAAEC,CAAE,EACtB,IAAIqU,EAAQ,IAAI,CAEZ0O,EAAoB,IAAI,CAAC,cAAc,EAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CACxEC,EAAoB,IAAI,CAAC,cAAc,EAAI,IAAI,CAAC,cAAc,CAAC,SAAS,QAE5E,AAAID,GAAqBC,GACnBhjB,EACFA,EAAGD,GACMA,GAAQ,EAAC,IAAI,CAAC,cAAc,EAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,AAAD,GACzEhB,EAAI,QAAQ,CAAC+jB,EAAa,IAAI,CAAE/iB,GAE3B,IAAI,GAMT,IAAI,CAAC,cAAc,EACrB,KAAI,CAAC,cAAc,CAAC,SAAS,CAAG,EAAG,EAIjC,IAAI,CAAC,cAAc,EACrB,KAAI,CAAC,cAAc,CAAC,SAAS,CAAG,EAAG,EAGrC,IAAI,CAAC,QAAQ,CAACA,GAAO,KAAM,SAAUA,CAAG,EAClC,CAACC,GAAMD,GACThB,EAAI,QAAQ,CAAC+jB,EAAazO,EAAOtU,GAC7BsU,EAAM,cAAc,EACtBA,CAAAA,EAAM,cAAc,CAAC,YAAY,CAAG,EAAG,GAEhCrU,GACTA,EAAGD,EAEP,GAEO,IAAI,CACb,EAyBE,UAvBF,WACM,IAAI,CAAC,cAAc,GACrB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAG,GAChC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAG,GAC9B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAG,GAC5B,IAAI,CAAC,cAAc,CAAC,UAAU,CAAG,IAG/B,IAAI,CAAC,cAAc,GACrB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAG,GAChC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAG,GAC5B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAG,GAC7B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAG,GAC/B,IAAI,CAAC,cAAc,CAAC,YAAY,CAAG,GAEvC,CASA,CAEM,EAEC,SAAS/B,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAExB,UAASgC,CAAM,EAAG,IAAIgjB,EAAQ,AAAmB,SAAXhjB,GAA0BA,GAC/E,AAAgB,aAAhB,OAAOrC,MAAwBA,MAChCkB,OACRokB,EAAQvkB,SAAS,SAAS,CAAC,KAAK,CAiBpC,SAASwkB,EAAQ5G,CAAE,CAAE6G,CAAO,EAC1B,IAAI,CAAC,GAAG,CAAG7G,EACX,IAAI,CAAC,QAAQ,CAAG6G,CAClB,CAhBAnlB,EAAQ,UAAU,CAAG,WACnB,OAAO,IAAIklB,EAAQD,EAAM,IAAI,CAACzY,WAAYwY,EAAOje,WAAY0F,aAC/D,EACAzM,EAAQ,WAAW,CAAG,WACpB,OAAO,IAAIklB,EAAQD,EAAM,IAAI,CAACG,YAAaJ,EAAOje,WAAYse,cAChE,EACArlB,EAAQ,YAAY,CACpBA,EAAQ,aAAa,CAAG,SAAS+M,CAAO,EAClCA,GACFA,EAAQ,KAAK,EAEjB,EAMAmY,EAAQ,SAAS,CAAC,KAAK,CAAGA,EAAQ,SAAS,CAAC,GAAG,CAAG,WAAY,EAC9DA,EAAQ,SAAS,CAAC,KAAK,CAAG,WACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAACF,EAAO,IAAI,CAAC,GAAG,CACpC,EAGAhlB,EAAQ,MAAM,CAAG,SAAS8L,CAAI,CAAEwZ,CAAK,EACnC7Y,aAAaX,EAAK,cAAc,EAChCA,EAAK,YAAY,CAAGwZ,CACtB,EAEAtlB,EAAQ,QAAQ,CAAG,SAAS8L,CAAI,EAC9BW,aAAaX,EAAK,cAAc,EAChCA,EAAK,YAAY,CAAG,EACtB,EAEA9L,EAAQ,YAAY,CAAGA,EAAQ,MAAM,CAAG,SAAS8L,CAAI,EACnDW,aAAaX,EAAK,cAAc,EAEhC,IAAIwZ,EAAQxZ,EAAK,YAAY,CACzBwZ,GAAS,GACXxZ,CAAAA,EAAK,cAAc,CAAGU,WAAW,WAC3BV,EAAK,UAAU,EACjBA,EAAK,UAAU,EACnB,EAAGwZ,EAAK,CAEZ,EAGA,EAAoB,KAIpBtlB,EAAQ,YAAY,CAAG,AAAiB,aAAhB,OAAOL,MAAwBA,KAAK,YAAY,EAChD,AAAkB,SAAXqC,GAA0BA,EAAO,YAAY,EACpD,IAAI,EAAI,IAAI,CAAC,YAAY,CACjDhC,EAAQ,cAAc,CAAG,AAAiB,aAAhB,OAAOL,MAAwBA,KAAK,cAAc,EAClD,AAAkB,SAAXqC,GAA0BA,EAAO,cAAc,EACtD,IAAI,EAAI,IAAI,CAAC,cAAc,AAE1B,GAAE,IAAI,CAAChC,EAAS,EAAoB,GAEzD,EAEC,SAASD,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,YAkEAD,CAAAA,EAAO,OAAO,CAAGwlB,EAEjB,IAAIpkB,EAAS,EAAoB,GAG7BC,EAAO,EAAoB,IAM/B,SAASokB,EAAe9P,CAAE,CAAE+P,CAAI,EAC9B,IAAIC,EAAK,IAAI,CAAC,eAAe,AAC7BA,CAAAA,EAAG,YAAY,CAAG,GAElB,IAAI3jB,EAAK2jB,EAAG,OAAO,CAEnB,GAAI,CAAC3jB,EACH,OAAO,IAAI,CAAC,IAAI,CAAC,QAAS,AAAIgB,MAAM,wCAGtC2iB,CAAAA,EAAG,UAAU,CAAG,KAChBA,EAAG,OAAO,CAAG,KAED,MAARD,GACF,IAAI,CAAC,IAAI,CAACA,GAEZ1jB,EAAG2T,GAEH,IAAIiQ,EAAK,IAAI,CAAC,cAAc,AAC5BA,CAAAA,EAAG,OAAO,CAAG,GACTA,CAAAA,EAAG,YAAY,EAAIA,EAAG,MAAM,CAAGA,EAAG,aAAa,AAAD,GAChD,IAAI,CAAC,KAAK,CAACA,EAAG,aAAa,CAE/B,CAEA,SAASJ,EAAU9jB,CAAO,EACxB,GAAI,CAAE,KAAI,YAAY8jB,CAAQ,EAAI,OAAO,IAAIA,EAAU9jB,GAEvDN,EAAO,IAAI,CAAC,IAAI,CAAEM,GAElB,IAAI,CAAC,eAAe,CAAG,CACrB,eAAgB+jB,EAAe,IAAI,CAAC,IAAI,EACxC,cAAe,GACf,aAAc,GACd,QAAS,KACT,WAAY,KACZ,cAAe,IACjB,EAGA,IAAI,CAAC,cAAc,CAAC,YAAY,CAAG,GAKnC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAG,GAEvB/jB,IAC+B,YAA7B,OAAOA,EAAQ,SAAS,EAAiB,KAAI,CAAC,UAAU,CAAGA,EAAQ,SAAS,AAAD,EAElD,YAAzB,OAAOA,EAAQ,KAAK,EAAiB,KAAI,CAAC,MAAM,CAAGA,EAAQ,KAAK,AAAD,GAIrE,IAAI,CAAC,EAAE,CAAC,YAAamkB,EACvB,CAEA,SAASA,IACP,IAAIxP,EAAQ,IAAI,AAEZ,AAAuB,aAAvB,OAAO,IAAI,CAAC,MAAM,CACpB,IAAI,CAAC,MAAM,CAAC,SAAUV,CAAE,CAAE+P,CAAI,EAC5BI,EAAKzP,EAAOV,EAAI+P,EAClB,GAEAI,EAAK,IAAI,CAAE,KAAM,KAErB,CAyDA,SAASA,EAAK9O,CAAM,CAAErB,CAAE,CAAE+P,CAAI,EAC5B,GAAI/P,EAAI,OAAOqB,EAAO,IAAI,CAAC,QAASrB,GAOpC,GALY,MAAR+P,GACF1O,EAAO,IAAI,CAAC0O,GAIV1O,EAAO,cAAc,CAAC,MAAM,CAAE,MAAM,AAAIhU,MAAM,8CAElD,GAAIgU,EAAO,eAAe,CAAC,YAAY,CAAE,MAAM,AAAIhU,MAAM,kDAEzD,OAAOgU,EAAO,IAAI,CAAC,KACrB,CA9IA3V,EAAK,QAAQ,CAAG,EAAoB,GAGpCA,EAAK,QAAQ,CAACmkB,EAAWpkB,GAuEzBokB,EAAU,SAAS,CAAC,IAAI,CAAG,SAAUxN,CAAK,CAAErU,CAAQ,EAElD,OADA,IAAI,CAAC,eAAe,CAAC,aAAa,CAAG,GAC9BvC,EAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAE4W,EAAOrU,EACjD,EAYA6hB,EAAU,SAAS,CAAC,UAAU,CAAG,SAAUxN,CAAK,CAAErU,CAAQ,CAAE3B,CAAE,EAC5D,MAAM,AAAIgB,MAAM,kCAClB,EAEAwiB,EAAU,SAAS,CAAC,MAAM,CAAG,SAAUxN,CAAK,CAAErU,CAAQ,CAAE3B,CAAE,EACxD,IAAI2jB,EAAK,IAAI,CAAC,eAAe,CAI7B,GAHAA,EAAG,OAAO,CAAG3jB,EACb2jB,EAAG,UAAU,CAAG3N,EAChB2N,EAAG,aAAa,CAAGhiB,EACf,CAACgiB,EAAG,YAAY,CAAE,CACpB,IAAIC,EAAK,IAAI,CAAC,cAAc,CACxBD,CAAAA,EAAG,aAAa,EAAIC,EAAG,YAAY,EAAIA,EAAG,MAAM,CAAGA,EAAG,aAAa,AAAD,GAAG,IAAI,CAAC,KAAK,CAACA,EAAG,aAAa,CACtG,CACF,EAKAJ,EAAU,SAAS,CAAC,KAAK,CAAG,SAAUtgB,CAAC,EACrC,IAAIygB,EAAK,IAAI,CAAC,eAAe,AAEzBA,AAAkB,QAAlBA,EAAG,UAAU,EAAaA,EAAG,OAAO,EAAI,CAACA,EAAG,YAAY,EAC1DA,EAAG,YAAY,CAAG,GAClB,IAAI,CAAC,UAAU,CAACA,EAAG,UAAU,CAAEA,EAAG,aAAa,CAAEA,EAAG,cAAc,GAIlEA,EAAG,aAAa,CAAG,EAEvB,EAEAH,EAAU,SAAS,CAAC,QAAQ,CAAG,SAAUzjB,CAAG,CAAEC,CAAE,EAC9C,IAAI+jB,EAAS,IAAI,CAEjB3kB,EAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAEW,EAAK,SAAUikB,CAAI,EACtDhkB,EAAGgkB,GACHD,EAAO,IAAI,CAAC,QACd,EACF,CAiBM,EAEC,SAAS/lB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,IAGIgf,EAAgBgH,EAHhB7G,EAAS,EAAoB,IAC7Bhd,EAAU,EAAoB,IAAI,OAAO,CAgD7C,SAAS8jB,EAAiBxkB,CAAO,CAAEykB,CAAK,CAAEC,CAAS,EACjD,MAAO,AAAC,EAACA,GAAa1kB,EAAQ,MAAM,CAAG,KAAO,EAAC,EAAKgH,MAAMyd,EAAQ,GAAG,IAAI,CAACzkB,EAAQ,MAAM,CAC1F,CAEA,SAAS2kB,EAAgB3J,CAAU,CAAEhb,CAAO,CAAEykB,CAAK,EACjD,GAAIzkB,EAAQ,gBAAgB,CAC1B,MAAO,EAEL,kBAAkBA,GACpBgb,CAAAA,EAAahb,EAAQ,YAAY,CAACgb,EAAYuJ,EAAoBhH,EAAc,EAElF,IAAI9d,EAAKmlB,EAAMC,EAAUC,EAAOzF,EAAS,EAAE,CAC3C,IAAK5f,KAAOub,EACNA,EAAW,cAAc,CAACvb,IAAQub,AAAoB,OAApBA,CAAU,CAACvb,EAAI,EAAaub,AAAoB7a,KAAAA,IAApB6a,CAAU,CAACvb,EAAI,GAC/EqlB,EAAQ9kB,EAAQ,2BAA2B,EAAI,AAA2B,UAA3B,OAAOgb,CAAU,CAACvb,EAAI,CAAgB,GAAK,IAE1FmlB,EAAOA,AADPA,CAAAA,EAAO,GAAK5J,CAAU,CAACvb,EAAI,AAAD,EACd,OAAO,CAAC,KAAM,UAC1BolB,EAAW,oBAAqB7kB,EAAUA,EAAQ,eAAe,CAACP,EAAKmlB,EAAML,EAAoBhH,GAAkB9d,EACnH4f,EAAO,IAAI,CAAErf,EAAQ,MAAM,EAAIA,EAAQ,gBAAgB,CAAEwkB,EAAiBxkB,EAASykB,EAAM,EAAG,IAAS,KACrGpF,EAAO,IAAI,CAACwF,EAAW,IAAMC,EAAS,sBAAsB9kB,EAAUA,EAAQ,gBAAgB,CAAC4kB,EAAMnlB,EAAK8kB,EAAoBhH,GAAkBqH,CAAG,EAAKE,IAM5J,OAHI9J,GAActc,OAAO,IAAI,CAACsc,GAAY,MAAM,EAAIhb,EAAQ,MAAM,EAAIA,EAAQ,gBAAgB,EAC5Fqf,EAAO,IAAI,CAACmF,EAAiBxkB,EAASykB,EAAO,KAExCpF,EAAO,IAAI,CAAC,GACrB,CAEA,SAAS0F,EAAiBC,CAAW,CAAEhlB,CAAO,CAAEykB,CAAK,EAGnD,OAFAlH,EAAiByH,EACjBT,EAAqB,MACdvkB,EAAQ,iBAAiB,CAAG,GAAM,QAAe2kB,EAAgBK,CAAW,CAAChlB,EAAQ,aAAa,CAAC,CAAEA,EAASykB,GAAS,IAChI,CAEA,SAASQ,EAAiB9G,CAAW,CAAEne,CAAO,CAAEykB,CAAK,EACnD,GAAIzkB,EAAQ,iBAAiB,CAC3B,MAAO,GAGT,IAAKP,KAAO0e,EACV,GAAIA,EAAY,cAAc,CAAC1e,GAC7B,MAGJ,IANIA,EAMAylB,EAAkB,sBAAuBllB,EAAUA,EAAQ,iBAAiB,CAACP,EAAK0e,CAAW,CAAC1e,EAAI,CAAE8kB,EAAoBhH,GAAkB9d,EAC9I,GAAI,AAA4B,UAA5B,OAAO0e,CAAW,CAAC1e,EAAI,CAGzB,OAFA8d,EAAiBY,EACjBoG,EAAqBW,EACd,KAAOA,EAAkBP,EAAgBxG,CAAW,CAAC1e,EAAI,CAACO,EAAQ,aAAa,CAAC,CAAEA,EAASykB,GAAS,KAE3G,IAAIU,EAAmBhH,CAAW,CAAC1e,EAAI,CAAG0e,CAAW,CAAC1e,EAAI,CAAG,GAE7D,MADI,kBAAmBO,GAASmlB,CAAAA,EAAmBnlB,EAAQ,aAAa,CAACmlB,EAAkB1lB,EAAK8kB,EAAoBhH,EAAc,EAC3H,KAAO2H,EAAmBC,CAAAA,EAAmB,IAAMA,EAAmB,EAAC,EAAK,IAEvF,CAEA,SAASC,EAAa3G,CAAO,CAAEze,CAAO,EACpC,OAAOA,EAAQ,aAAa,CAAG,GAAK,UAAU,eAAeA,EAAUA,EAAQ,SAAS,CAACye,EAAS8F,EAAoBhH,GAAkBkB,CAAM,EAAK,QACrJ,CAEA,SAAS4G,EAAWxG,CAAK,CAAE7e,CAAO,EAChC,OAAOA,EAAQ,WAAW,CAAG,GAAK,YAAe,aAAaA,EAAUA,EAAQ,OAAO,CAAC6e,EAAO0F,EAAoBhH,GAAkBsB,EAAM,OAAO,CAAC,MAAO,kBAAiB,EAAK,KAClL,CAEA,SAASyG,EAAavG,CAAO,CAAE/e,CAAO,EACpC,OAAOA,EAAQ,aAAa,CAAG,GAAK,aAAgB,eAAeA,EAAUA,EAAQ,SAAS,CAAC+e,EAASwF,EAAoBhH,GAAkBwB,CAAM,EAAK,GAC3J,CAEA,SAASwG,EAAUhU,CAAI,CAAEvR,CAAO,SAC9B,AAAIA,EAAQ,UAAU,CAAS,IAG/BuR,EAAOA,AADPA,CAAAA,EAAOA,AADPA,CAAAA,EAAO,GAAKA,CAAG,EACH,OAAO,CAAC,SAAU,IAAG,EACrB,OAAO,CAAC,KAAM,SAAS,OAAO,CAAC,KAAM,QAAQ,OAAO,CAAC,KAAM,QAChE,WAAYvR,EAAUA,EAAQ,MAAM,CAACuR,EAAMgT,EAAoBhH,GAAkBhM,EAC1F,CAiEA,SAASiU,EAAcC,CAAQ,CAAEzlB,CAAO,CAAEykB,CAAK,CAAEC,CAAS,EACxD,OAAOe,EAAS,MAAM,CAAC,SAAUvG,CAAG,CAAElB,CAAO,EAC3C,IAjCkBA,EAAShe,EAASykB,EAGlCvF,EAAUwG,EAKVC,EAyBEC,EAASpB,EAAiBxkB,EAASykB,EAAOC,GAAa,CAACxF,GAC5D,OAAQlB,EAAQ,IAAI,EACpB,IAAK,WAAW,OAAOkB,EAAM0G,GAnCX5H,EAmCiCA,EAnCxBhe,EAmCiCA,EAnCxBykB,EAmCiCA,EAlCvElH,EAAiBS,EACjBuG,EAAqBvG,EAAQ,IAAI,CAC7BkB,EAAM,EAAE,CAAEwG,EAAc,kBAAmB1lB,EAAUA,EAAQ,aAAa,CAACge,EAAQ,IAAI,CAAEA,GAAWA,EAAQ,IAAI,CACpHkB,EAAI,IAAI,CAAC,IAAMwG,GACX1H,CAAO,CAAChe,EAAQ,aAAa,CAAC,EAChCkf,EAAI,IAAI,CAACyF,EAAgB3G,CAAO,CAAChe,EAAQ,aAAa,CAAC,CAAEA,EAASykB,IAGhE,EADAkB,EAAiB3H,CAAO,CAAChe,EAAQ,WAAW,CAAC,EAAIge,CAAO,CAAChe,EAAQ,WAAW,CAAC,CAAC,MAAM,EAAIge,CAAO,CAAChe,EAAQ,aAAa,CAAC,EAAIge,AAAgD,aAAhDA,CAAO,CAAChe,EAAQ,aAAa,CAAC,CAAC,YAAY,IAGrK2lB,EADE,0BAA2B3lB,EACZA,EAAQ,qBAAqB,CAACge,EAAQ,IAAI,CAAEA,GAE5Che,EAAQ,mBAAmB,EAG5C2lB,GACFzG,EAAI,IAAI,CAAC,KACLlB,CAAO,CAAChe,EAAQ,WAAW,CAAC,EAAIge,CAAO,CAAChe,EAAQ,WAAW,CAAC,CAAC,MAAM,GACrEkf,EAAI,IAAI,CAACsG,EAAcxH,CAAO,CAAChe,EAAQ,WAAW,CAAC,CAAEA,EAASykB,EAAQ,IACtElH,EAAiBS,EACjBuG,EAAqBvG,EAAQ,IAAI,EAEnCkB,EAAI,IAAI,CAAClf,EAAQ,MAAM,EAAI6lB,AAvD/B,SAAoB7H,CAAO,CAAEhe,CAAO,EAClC,IAAI4C,EACJ,GAAIob,EAAQ,QAAQ,EAAIA,EAAQ,QAAQ,CAAC,MAAM,CAC7C,IAAKpb,EAAI,EAAGA,EAAIob,EAAQ,QAAQ,CAAC,MAAM,CAAE,EAAEpb,EACzC,OAAQob,EAAQ,QAAQ,CAACpb,EAAE,CAAC5C,EAAQ,OAAO,CAAC,EAC5C,IAAK,OACH,GAAIA,EAAQ,UAAU,CACpB,MAAO,GAET,KACF,KAAK,QACH,GAAIA,EAAQ,WAAW,CACrB,MAAO,GAET,KACF,KAAK,cACH,GAAIA,EAAQ,iBAAiB,CAC3B,MAAO,GAET,KACF,SAGE,MAAO,EAGT,CAGJ,MAAO,EACT,EAyB0Cge,EAAShe,GAAW,KAAOgH,MAAMyd,EAAQ,GAAG,IAAI,CAACzkB,EAAQ,MAAM,EAAI,IACzGkf,EAAI,IAAI,CAAC,KAAOwG,EAAc,MAE9BxG,EAAI,IAAI,CAAC,MAEJA,EAAI,IAAI,CAAC,IAQd,KAAK,UAAW,OAAOA,EAAM0G,EAASR,EAAapH,CAAO,CAAChe,EAAQ,UAAU,CAAC,CAAEA,EAChF,KAAK,UAAW,OAAOkf,EAAM0G,EAASN,EAAatH,CAAO,CAAChe,EAAQ,UAAU,CAAC,CAAEA,EAChF,KAAK,QAAS,OAAOkf,EAAOlf,CAAAA,EAAQ,WAAW,CAAG4lB,EAAS,EAAC,EAAKP,EAAWrH,CAAO,CAAChe,EAAQ,QAAQ,CAAC,CAAEA,EACvG,KAAK,OAAQ,OAAOkf,EAAOlf,CAAAA,EAAQ,UAAU,CAAG4lB,EAAS,EAAC,EAAKL,EAAUvH,CAAO,CAAChe,EAAQ,OAAO,CAAC,CAAEA,EACnG,KAAK,cACH,IAAIme,EAAc,CAAC,EAEnB,OADAA,CAAW,CAACH,CAAO,CAAChe,EAAQ,OAAO,CAAC,CAAC,CAAGge,CAAO,CAAChe,EAAQ,aAAa,CAAC,CAAGge,EAAUA,CAAO,CAAChe,EAAQ,cAAc,CAAC,CAC3Gkf,EAAOlf,CAAAA,EAAQ,iBAAiB,CAAG4lB,EAAS,EAAC,EAAKX,EAAiB9G,EAAane,EAASykB,EAClG,CACF,EAAG,GACL,CAEA,SAASqB,EAAkB9H,CAAO,CAAEhe,CAAO,CAAE+lB,CAAU,EACrD,IAAItmB,EACJ,IAAKA,KAAOue,EACV,GAAIA,EAAQ,cAAc,CAACve,GACzB,OAAQA,GACR,KAAKO,EAAQ,SAAS,CACtB,KAAKA,EAAQ,aAAa,CACxB,KACF,MAAKA,EAAQ,OAAO,CAClB,GAAIA,EAAQ,UAAU,EAAI+lB,EACxB,MAAO,GAET,KACF,MAAK/lB,EAAQ,QAAQ,CACnB,GAAIA,EAAQ,WAAW,EAAI+lB,EACzB,MAAO,GAET,KACF,MAAK/lB,EAAQ,cAAc,CACzB,GAAIA,EAAQ,iBAAiB,EAAI+lB,EAC/B,MAAO,GAET,KACF,MAAK/lB,EAAQ,UAAU,CACvB,KAAKA,EAAQ,UAAU,CAEvB,QADE,MAAO,EAGT,CAGJ,MAAO,EACT,CA2CA,SAASgmB,EAAqBhI,CAAO,CAAEhe,CAAO,CAAEykB,CAAK,CAAEC,CAAS,EAC9D,IAAI9hB,EAAGnD,EAAKwmB,EAAO/G,EAAM,EAAE,CAC3B,IAAKzf,KAAOue,EACV,GAAIA,EAAQ,cAAc,CAACve,GAEzB,IAAKmD,EAAI,EADTqjB,EAAQvlB,EAAQsd,CAAO,CAACve,EAAI,EAAIue,CAAO,CAACve,EAAI,CAAG,CAACue,CAAO,CAACve,EAAI,CAAC,CACjDmD,EAAIqjB,EAAM,MAAM,CAAE,EAAErjB,EAAG,CACjC,OAAQnD,GACR,KAAKO,EAAQ,cAAc,CAAEkf,EAAI,IAAI,CAAC6F,EAAiBkB,CAAK,CAACrjB,EAAE,CAAE5C,EAASykB,IAAS,KACnF,MAAKzkB,EAAQ,cAAc,CAAEkf,EAAI,IAAI,CAAC,AAAClf,CAAAA,EAAQ,iBAAiB,CAAGwkB,EAAiBxkB,EAASykB,EAAOC,GAAa,EAAC,EAAKO,EAAiBgB,CAAK,CAACrjB,EAAE,CAAE5C,EAASykB,IAAS,KACpK,MAAKzkB,EAAQ,aAAa,CAAE,KAAKA,EAAQ,SAAS,CAAE,KACpD,MAAKA,EAAQ,OAAO,CAAEkf,EAAI,IAAI,CAAC,AAAClf,CAAAA,EAAQ,UAAU,CAAGwkB,EAAiBxkB,EAASykB,EAAOC,GAAa,EAAC,EAAKa,EAAUU,CAAK,CAACrjB,EAAE,CAAE5C,IAAW,KACxI,MAAKA,EAAQ,QAAQ,CAAEkf,EAAI,IAAI,CAAC,AAAClf,CAAAA,EAAQ,WAAW,CAAGwkB,EAAiBxkB,EAASykB,EAAOC,GAAa,EAAC,EAAKW,EAAWY,CAAK,CAACrjB,EAAE,CAAE5C,IAAW,KAC3I,MAAKA,EAAQ,UAAU,CAAEkf,EAAI,IAAI,CAACsF,EAAiBxkB,EAASykB,EAAOC,GAAaY,EAAaW,CAAK,CAACrjB,EAAE,CAAE5C,IAAW,KAClH,MAAKA,EAAQ,UAAU,CAAEkf,EAAI,IAAI,CAACsF,EAAiBxkB,EAASykB,EAAOC,GAAaU,EAAaa,CAAK,CAACrjB,EAAE,CAAE5C,IAAW,KAClH,SAASkf,EAAI,IAAI,CAACsF,EAAiBxkB,EAASykB,EAAOC,GAAawB,AAvDxE,SAA6BlI,CAAO,CAAExf,CAAI,CAAEwB,CAAO,CAAEykB,CAAK,CAAEmB,CAAM,EAChErI,EAAiBS,EACjBuG,EAAqB/lB,EACrB,IAAIknB,EAAc,kBAAmB1lB,EAAUA,EAAQ,aAAa,CAACxB,EAAMwf,GAAWxf,EACtF,GAAI,MAAOwf,GAA+CA,AAAY,KAAZA,EACxD,MAAO,0BAA2Bhe,GAAWA,EAAQ,qBAAqB,CAACxB,EAAMwf,IAAYhe,EAAQ,mBAAmB,CAAG,IAAM0lB,EAAc,MAAQA,EAAc,IAAM,IAAMA,EAAc,KAEjM,IAAIxG,EAAM,EAAE,CACZ,GAAI1gB,EAAM,CAER,GADA0gB,EAAI,IAAI,CAAC,IAAMwG,GACX,AAAmB,UAAnB,OAAO1H,EAET,OADAkB,EAAI,IAAI,CAAC,IAAMqG,EAAUvH,EAAQhe,GAAW,KAAO0lB,EAAc,KAC1DxG,EAAI,IAAI,CAAC,GAEdlB,CAAAA,CAAO,CAAChe,EAAQ,aAAa,CAAC,EAChCkf,EAAI,IAAI,CAACyF,EAAgB3G,CAAO,CAAChe,EAAQ,aAAa,CAAC,CAAEA,EAASykB,IAEpE,IAAIkB,EAAiBG,EAAkB9H,EAAShe,EAAS,KAASge,CAAO,CAAChe,EAAQ,aAAa,CAAC,EAAIge,AAAgD,aAAhDA,CAAO,CAAChe,EAAQ,aAAa,CAAC,CAAC,YAAY,CAQ/I,GAPI,CAAC2lB,IAEDA,EADE,0BAA2B3lB,EACZA,EAAQ,qBAAqB,CAACxB,EAAMwf,GAEpChe,EAAQ,mBAAmB,GAG5C2lB,EAIF,OADAzG,EAAI,IAAI,CAAC,MACFA,EAAI,IAAI,CAAC,IAHhBA,EAAI,IAAI,CAAC,IAKb,CAOA,OANAA,EAAI,IAAI,CAAC8G,EAAqBhI,EAAShe,EAASykB,EAAQ,EAAG,KAC3DlH,EAAiBS,EACjBuG,EAAqB/lB,EACjBA,GACF0gB,EAAI,IAAI,CAAC,AAAC0G,CAAAA,EAASpB,EAAiBxkB,EAASykB,EAAO,IAAS,EAAC,EAAK,KAAOiB,EAAc,KAEnFxG,EAAI,IAAI,CAAC,GAClB,EAgB4F+G,CAAK,CAACrjB,EAAE,CAAEnD,EAAKO,EAASykB,EAAOqB,EAAkBG,CAAK,CAACrjB,EAAE,CAAE5C,IAC/I,CACA0kB,EAAYA,GAAa,CAACxF,EAAI,MAAM,AACtC,CAGJ,OAAOA,EAAI,IAAI,CAAC,GAClB,CAEA5gB,EAAO,OAAO,CAAG,SAAU6nB,CAAE,CAAEnmB,CAAO,EA1Sbmf,EA2SGnf,EA1StBA,EAAU0d,EAAO,WAAW,CAACyB,GACjCzB,EAAO,gBAAgB,CAAC,oBAAqB1d,GAC7C0d,EAAO,gBAAgB,CAAC,oBAAqB1d,GAC7C0d,EAAO,gBAAgB,CAAC,mBAAoB1d,GAC5C0d,EAAO,gBAAgB,CAAC,aAAc1d,GACtC0d,EAAO,gBAAgB,CAAC,gBAAiB1d,GACzC0d,EAAO,gBAAgB,CAAC,cAAe1d,GACvC0d,EAAO,gBAAgB,CAAC,gBAAiB1d,GACzC0d,EAAO,gBAAgB,CAAC,UAAW1d,GACnC0d,EAAO,gBAAgB,CAAC,aAAc1d,GACtC0d,EAAO,gBAAgB,CAAC,cAAe1d,GACvC0d,EAAO,gBAAgB,CAAC,mBAAoB1d,GAC5C0d,EAAO,gBAAgB,CAAC,oBAAqB1d,GAC7C0d,EAAO,gBAAgB,CAAC,sBAAuB1d,GAC/C0d,EAAO,gBAAgB,CAAC,8BAA+B1d,GACvD0d,EAAO,kBAAkB,CAAC1d,GACI,UAA1B,OAAOA,EAAQ,MAAM,EACvBA,CAAAA,EAAQ,MAAM,CAAGgH,MAAMhH,EAAQ,MAAM,CAAG,GAAG,IAAI,CAAC,IAAG,EAErD0d,EAAO,eAAe,CAAC,cAAe1d,GACtC0d,EAAO,eAAe,CAAC,cAAe1d,GACtC0d,EAAO,eAAe,CAAC,aAAc1d,GACrC0d,EAAO,eAAe,CAAC,OAAQ1d,GAC/B0d,EAAO,eAAe,CAAC,UAAW1d,GAClC0d,EAAO,eAAe,CAAC,QAAS1d,GAChC0d,EAAO,eAAe,CAAC,UAAW1d,GAClC0d,EAAO,eAAe,CAAC,OAAQ1d,GAC/B0d,EAAO,eAAe,CAAC,OAAQ1d,GAC/B0d,EAAO,eAAe,CAAC,WAAY1d,GACnC0d,EAAO,aAAa,CAAC,UAAW1d,GAChC0d,EAAO,aAAa,CAAC,cAAe1d,GACpC0d,EAAO,aAAa,CAAC,QAAS1d,GAC9B0d,EAAO,aAAa,CAAC,UAAW1d,GAChC0d,EAAO,aAAa,CAAC,OAAQ1d,GAC7B0d,EAAO,aAAa,CAAC,kBAAmB1d,GACxC0d,EAAO,aAAa,CAAC,cAAe1d,GACpC0d,EAAO,aAAa,CAAC,gBAAiB1d,GACtC0d,EAAO,aAAa,CAAC,iBAAkB1d,GACvC0d,EAAO,aAAa,CAAC,aAAc1d,GACnC0d,EAAO,aAAa,CAAC,sBAAuB1d,GAmQ5CA,EAlQOA,EAmQP,IA5SuBmf,EACnBnf,EA2SAkf,EAAM,EAAE,CAaZ,OAZA3B,EAAiB4I,EACjB5B,EAAqB,SACjBvkB,EAAQ,OAAO,CACjBkf,EAAI,IAAI,CAAC8G,EAAqBG,EAAInmB,EAAS,EAAG,MAE1CmmB,CAAE,CAACnmB,EAAQ,cAAc,CAAC,EAC5Bkf,EAAI,IAAI,CAAC6F,EAAiBoB,CAAE,CAACnmB,EAAQ,cAAc,CAAC,CAAEA,EAAS,IAE7DmmB,CAAE,CAACnmB,EAAQ,WAAW,CAAC,EAAImmB,CAAE,CAACnmB,EAAQ,WAAW,CAAC,CAAC,MAAM,EAC3Dkf,EAAI,IAAI,CAACsG,EAAcW,CAAE,CAACnmB,EAAQ,WAAW,CAAC,CAAEA,EAAS,EAAG,CAACkf,EAAI,MAAM,IAGpEA,EAAI,IAAI,CAAC,GAClB,CAGM,EAEC,SAAS5gB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC2c,EAAsB,EAAoB,IAChD,OAAMC,UAAuB5c,EAAiB,YAAY,CACtD,YAAYqI,CAAO,CAAE9R,EAAU,CAAE,MAAO,OAAQ,MAAO,EAAG,MAAO,SAAU,KAAM,CAAE,CAAC,CAAE,CAClF,KAAK,CAAC8R,GACN,IAAM+H,EAAQ,IAAIuM,EAAoB,gBAAgB,CAAC,CACnD,MAAOpmB,EAAQ,KAAK,CACpB,MAAOA,EAAQ,KAAK,CACpB,IAAKA,EAAQ,KAAK,CAClB,GAAIA,EAAQ,IAAI,AACpB,GACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC6Z,EACnB,CACJ,CACA,MAAMyM,UAAe7c,EAAiB,YAAY,CAC9C,YAAYzJ,CAAO,CAAE,CAEjB,GADA,KAAK,CAAC,UACFA,AAAgBG,KAAAA,IAAhBH,EAAQ,GAAG,CAAgB,CAC3B,IAAMumB,EAAiB,IAAIF,EAAe,QAASrmB,EAAQ,GAAG,EAC9D,IAAI,CAAC,IAAI,CAAC,IAAI,CAACumB,EACnB,CACA,GAAIvmB,AAAmBG,KAAAA,IAAnBH,EAAQ,MAAM,CAAgB,CAC9B,IAAMumB,EAAiB,IAAIF,EAAe,WAAYrmB,EAAQ,MAAM,EACpE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACumB,EACnB,CACA,GAAIvmB,AAAiBG,KAAAA,IAAjBH,EAAQ,IAAI,CAAgB,CAC5B,IAAMumB,EAAiB,IAAIF,EAAe,SAAUrmB,EAAQ,IAAI,EAChE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACumB,EACnB,CACA,GAAIvmB,AAAkBG,KAAAA,IAAlBH,EAAQ,KAAK,CAAgB,CAC7B,IAAMumB,EAAiB,IAAIF,EAAe,UAAWrmB,EAAQ,KAAK,EAClE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACumB,EACnB,CACJ,CACJ,CACAhoB,EAAQ,MAAM,CAAG+nB,CACjB,OAAME,UAAsB/c,EAAiB,YAAY,CACrD,aAAc,CACV,KAAK,CAAC,UACN,IAAMuQ,EAAS,IAAIqM,EAAe,WAAY,CAC1C,MAAO,OACP,MAAO,EACP,MAAO,SACP,KAAM,CACV,GACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAACrM,EACnB,CACJ,CACAzb,EAAQ,aAAa,CAAGioB,CAGlB,EAEC,SAASloB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMgd,UAAyBhd,EAAiB,qBAAqB,CACjE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,KAAM,SACN,QAAS,YACT,UAAW,cACX,MAAO,UACP,IAAK,QACL,MAAO,OACX,CACJ,CACJ,CACA,MAAMohB,UAAejd,EAAiB,YAAY,CAC9C,YAAYoQ,CAAK,CAAE,CACf,KAAK,CAAC,SACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI4M,EAAiB5M,GACxC,CACJ,CACAtb,EAAQ,MAAM,CAAGmoB,CAGX,EAEC,SAASpoB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMkd,UAAkBld,EAAiB,YAAY,CACjD,aAAc,CACV,KAAK,CAAC,cACV,CACJ,CACAlL,EAAQ,SAAS,CAAGooB,CACpB,OAAMC,UAAiBnd,EAAiB,YAAY,CAChD,aAAc,CACV,KAAK,CAAC,aACV,CACJ,CACAlL,EAAQ,QAAQ,CAAGqoB,CAGb,EAEC,SAAStoB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCod,EAAQ,EAAoB,EAClC,OAAMC,UAAcrd,EAAiB,YAAY,CAC7C,aAAc,CACV,KAAK,CAAC,QACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAiB,UAAU,CAAC,CAC3C,KAAM,MACV,GACJ,CACJ,CACA,MAAMsd,UAAkBF,EAAM,GAAG,CAC7B,aAAc,CACV,KAAK,CAAC,CAAC,GACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIC,EACvB,CACJ,CACAvoB,EAAQ,SAAS,CAAGwoB,CACpB,OAAMC,UAAwBvd,EAAiB,YAAY,CACvD,aAAc,CACV,KAAK,CAAC,oBACV,CACJ,CACAlL,EAAQ,eAAe,CAAGyoB,CAGpB,EAEC,SAAS1oB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMqd,UAAcrd,EAAiB,YAAY,CAC7C,aAAc,CACV,KAAK,CAAC,OACV,CACJ,CACAlL,EAAQ,KAAK,CAAGuoB,CAGV,EAEC,SAASxoB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GAC7C,IAAIM,EAAc,EAAoB,GACtCxL,CAAAA,EAAQ,SAAS,CAAGwL,EAAY,SAAS,CACzC,IAAIL,EAAkB,EAAoB,GAC1CnL,CAAAA,EAAQ,YAAY,CAAGmL,EAAgB,YAAY,CACnD,IAAIG,EAAW,EAAoB,GACnCtL,CAAAA,EAAQ,SAAS,CAAGsL,EAAS,SAAS,CACtCtL,EAAQ,WAAW,CAAGsL,EAAS,WAAW,CAC1C,IAAID,EAAc,EAAoB,GACtCrL,CAAAA,EAAQ,QAAQ,CAAGqL,EAAY,QAAQ,AACvC,OAAMqd,UAAaxd,EAAiB,YAAY,CAC5C,aAAc,CACV,KAAK,CAAC,OACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAiB,UAAU,CAAC,CAC3C,IAAK,EACT,GACJ,CACJ,CACAlL,EAAQ,IAAI,CAAG0oB,CACf,OAAMC,UAA0Bzd,EAAiB,YAAY,CACzD,aAAc,CACV,KAAK,CAAC,SACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAiB,UAAU,CAAC,CAC3C,IAAK,EACT,GACJ,CACJ,CACAlL,EAAQ,iBAAiB,CAAG2oB,CAC5B,OAAMC,UAAyB1d,EAAiB,YAAY,CACxD,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,aACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIqJ,EAAiB,UAAU,CAAC,CAC3C,IAAKrJ,CACT,GACJ,CACJ,CACA7B,EAAQ,gBAAgB,CAAG4oB,CAC3B,OAAMC,UAAgB3d,EAAiB,YAAY,CAC/C,aAAc,CACV,KAAK,CAAC,OACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAiB,UAAU,CAAC,CAC3C,IAAK,EACT,GACJ,CACJ,CACAlL,EAAQ,OAAO,CAAG6oB,CAClB,OAAMC,UAA6B5d,EAAiB,YAAY,CAC5D,aAAc,CACV,KAAK,CAAC,SACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAiB,UAAU,CAAC,CAC3C,IAAK,EACT,GACJ,CACJ,CACAlL,EAAQ,oBAAoB,CAAG8oB,CAC/B,OAAMC,UAAa7d,EAAiB,YAAY,CAC5C,aAAc,CACV,KAAK,CAAC,UACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAiB,UAAU,CAAC,CAC3C,IAAK,EACT,GACJ,CACJ,CACAlL,EAAQ,IAAI,CAAG+oB,CACf,OAAMC,UAAc9d,EAAiB,YAAY,CAC7C,YAAY8D,CAAK,CAAE,CACf,KAAK,CAAC,WACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI9D,EAAiB,UAAU,CAAC,CAC3C,IAAK8D,CACT,GACJ,CACJ,CACAhP,EAAQ,KAAK,CAAGgpB,CAChB,OAAMC,UAAqB/d,EAAiB,YAAY,CACpD,aAAc,CACV,KAAK,CAAC,aACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAiB,UAAU,CAAC,CAC3C,IAAK,EACT,GACJ,CACJ,CACAlL,EAAQ,YAAY,CAAGipB,CACvB,OAAMC,UAAehe,EAAiB,YAAY,CAC9C,aAAc,CACV,KAAK,CAAC,YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAiB,UAAU,CAAC,CAC3C,IAAK,EACT,GACJ,CACJ,CACAlL,EAAQ,MAAM,CAAGkpB,CACjB,OAAMC,UAAgBje,EAAiB,YAAY,CAC/C,aAAc,CACV,KAAK,CAAC,aACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAiB,UAAU,CAAC,CAC3C,IAAK,EACT,GACJ,CACJ,CACAlL,EAAQ,OAAO,CAAGmpB,CAClB,OAAMC,UAAkBle,EAAiB,YAAY,CACjD,aAAc,CACV,KAAK,CAAC,eACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAiB,UAAU,CAAC,CAC3C,IAAK,EACT,GACJ,CACJ,CACAlL,EAAQ,SAAS,CAAGopB,CACpB,OAAMC,UAAene,EAAiB,YAAY,CAC9C,aAAc,CACV,KAAK,CAAC,YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAiB,UAAU,CAAC,CAC3C,IAAK,EACT,GACJ,CACJ,CACAlL,EAAQ,MAAM,CAAGqpB,CACjB,OAAMC,UAAape,EAAiB,YAAY,CAC5C,YAAY/G,CAAI,CAAE,CACd,KAAK,CAAC,QACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI+G,EAAiB,UAAU,CAAC,CAC3C,IAAK/G,CACT,GACJ,CACJ,CACAnE,EAAQ,IAAI,CAAGspB,CACf,OAAMC,UAA0Bre,EAAiB,YAAY,CACzD,YAAY/G,CAAI,CAAE,CACd,KAAK,CAAC,UACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI+G,EAAiB,UAAU,CAAC,CAC3C,IAAK/G,CACT,GACJ,CACJ,CACAnE,EAAQ,iBAAiB,CAAGupB,CAC5B,OAAMC,UAAoBte,EAAiB,YAAY,CACnD,aAAc,CACV,KAAK,CAAC,SACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAiB,UAAU,CAAC,CAC3C,IAAK,EACT,GACJ,CACJ,CACAlL,EAAQ,WAAW,CAAGwpB,CACtB,OAAMC,UAAkBve,EAAiB,YAAY,CACjD,YAAY8D,CAAK,CAAE,CACf,KAAK,CAAC,eACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI9D,EAAiB,UAAU,CAAC,CAC3C,IAAK8D,CACT,GACJ,CACJ,CACAhP,EAAQ,SAAS,CAAGypB,CACpB,OAAMC,UAA+Bxe,EAAiB,YAAY,CAC9D,YAAY8D,CAAK,CAAE,CACf,KAAK,CAAC,iBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI9D,EAAiB,UAAU,CAAC,CAC3C,IAAK8D,CACT,GACJ,CACJ,CACAhP,EAAQ,sBAAsB,CAAG0pB,CACjC,OAAMC,UAAgBze,EAAiB,YAAY,CAC/C,YAAYrJ,CAAK,CAAEyC,CAAI,CAAE0K,CAAK,CAAE,CAC5B,KAAK,CAAC,SACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI9D,EAAiB,UAAU,CAAC,CAC3C,IAAKrJ,EACL,KAAMyC,EACN,MAAO0K,CACX,GACJ,CACJ,CACAhP,EAAQ,OAAO,CAAG2pB,CAClB,OAAMC,UAA4B1e,EAAiB,YAAY,CAC3D,YAAYrJ,CAAK,CAAEyC,CAAI,CAAE0K,CAAK,CAAE,CAC5B,KAAK,CAAC,WACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI9D,EAAiB,UAAU,CAAC,CAC3C,IAAKrJ,EACL,KAAMyC,EACN,MAAO0K,CACX,GACJ,CACJ,CACAhP,EAAQ,mBAAmB,CAAG4pB,CAGxB,EAEC,SAAS7pB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM+P,UAAsB/P,EAAiB,YAAY,CACrD,YAAYoJ,CAAI,CAAE,CACd,KAAK,CAAC,eACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIpJ,EAAiB,UAAU,CAAC,CAC3C,IAAKoJ,CACT,GACJ,CACJ,CACAtU,EAAQ,aAAa,CAAGib,CAMxBjb,CAAAA,EAAQ,WAAW,CALnB,MAAM6pB,UAAoB5O,EACtB,aAAc,CACV,KAAK,CAAC,cACV,CACJ,CAOAjb,CAAAA,EAAQ,SAAS,CALjB,MAAM8pB,UAAkB7O,EACpB,aAAc,CACV,KAAK,CAAC,YACV,CACJ,CAIM,EAEC,SAASlb,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMqR,UAAwBrR,EAAiB,qBAAqB,CAChE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,IAAK,OAAQ,CAClC,CACJ,CACA,MAAMyV,UAActR,EAAiB,YAAY,CAC7C,YAAY6e,CAAO,CAAE,CACjB,KAAK,CAAC,YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIxN,EAAgB,CAAE,IAAKwN,CAAQ,GACtD,CACJ,CACA/pB,EAAQ,KAAK,CAAGwc,CAGV,EAEC,SAASzc,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMgqB,EAAe,EAAoB,GACnC9e,EAAmB,EAAoB,EAC7C,OAAM+e,UAAuB/e,EAAiB,qBAAqB,CAC/D,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,MAAO,WAAY,CACxC,CACJ,CACA,MAAMmjB,UAAahf,EAAiB,YAAY,CAC5C,YAAY8H,CAAI,CAAE,CACd,KAAK,CAAC,OACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIiX,EAAe,CAAE,MAAOD,EAAa,SAAS,CAAC,QAAQ,AAAC,IAC3E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAChX,EACnB,CACJ,CACAhT,EAAQ,IAAI,CAAGkqB,CAGT,EAEC,SAASnqB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,IAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMif,UAAcjf,EAAiB,YAAY,CAC7C,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EACnB,CACJ,CACA7B,EAAQ,KAAK,CAAGmqB,CAGV,EAEC,SAASpqB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMkf,UAAuBlf,EAAiB,YAAY,CACtD,YAAYmf,CAAW,CAAE,CACrB,KAAK,CAAC,gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EAAY,QAAQ,GACvC,CACJ,CACArqB,EAAQ,cAAc,CAAGoqB,CAGnB,EAEC,SAASrqB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAKAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,IAC3DM,AAJA,SAAkBC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,EAES,EAAoB,KAGvB,EAEC,SAAST,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCof,EAA8B,EAAoB,IACxD,OAAMC,UAAsBrf,EAAiB,YAAY,CACrD,aAAc,CACV,KAAK,CAAC,YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIof,EAA4B,uBAAuB,CAAC,CACnE,GAAI,EACJ,KAAM,GACN,MAAO,EACX,GACJ,CACJ,CACAtqB,EAAQ,aAAa,CAAGuqB,CAGlB,EAEC,SAASxqB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCsf,EAA6B,EAAoB,IACvD,OAAMC,UAAqBvf,EAAiB,YAAY,CACpD,aAAc,CACV,KAAK,CAAC,mBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIsf,EAA2B,sBAAsB,CAAC,CACjE,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,CACP,GACJ,CACJ,CACAxqB,EAAQ,YAAY,CAAGyqB,CAGjB,EAEC,SAAS1qB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCwf,EAAsB,EAAoB,IAChD,OAAMC,UAAezf,EAAiB,YAAY,CAC9C,YAAYvE,CAAC,CAAEC,CAAC,CAAE,CACd,KAAK,CAAC,aACN,IAAI,CAAC,UAAU,CAAG,IAAI8jB,EAAoB,gBAAgB,CAAC,CACvD,GAAI/jB,EACJ,GAAIC,CACR,GACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAClC,CACA,MAAMD,CAAC,CAAEC,CAAC,CAAE,CACR,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAChB,GAAID,EACJ,GAAIC,CACR,EACJ,CACJ,CACA5G,EAAQ,MAAM,CAAG2qB,CAGX,EAEC,SAAS5qB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC0f,EAAwB,EAAoB,IAClD,OAAMC,UAA+B3f,EAAiB,YAAY,CAC9D,aAAc,CACV,KAAK,CAAC,wBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI0f,EAAsB,iBAAiB,CAC9D,CACJ,CACA5qB,EAAQ,sBAAsB,CAAG6qB,CAG3B,EAEC,SAAS9qB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM4f,UAAyB5f,EAAiB,qBAAqB,CACjE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,MAAO,QACP,MAAO,QACP,MAAO,QACP,MAAO,QACP,aAAc,eACd,UAAW,YACX,aAAc,eACd,OAAQ,SACR,eAAgB,iBAChB,UAAW,WACf,CACJ,CACJ,CACA/G,EAAQ,gBAAgB,CAAG8qB,CAGrB,EAEC,SAAS/qB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM6f,UAA0B7f,EAAiB,qBAAqB,CAClE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,MAAO,UACP,OAAQ,WACR,KAAM,SACN,SAAU,YACd,CACJ,CACJ,CACA,MAAMikB,UAAgB9f,EAAiB,YAAY,CAC/C,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,aACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIspB,EAAkBtpB,GACzC,CACJ,CACAzB,EAAQ,OAAO,CAAGgrB,CAClB,OAAMC,UAA0B/f,EAAiB,YAAY,CACzD,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,uBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIqJ,EAAiB,UAAU,CAAC,CAC3C,IAAKrJ,AAAU,KAAVA,EAAkB,EAAI,CAC/B,GACJ,CACJ,CACA7B,EAAQ,iBAAiB,CAAGirB,CAGtB,EAEC,SAASlrB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAIIkrB,EACOA,EAHX/qB,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAGzCggB,EADOA,EAQOlrB,EAAQ,YAAY,EAAKA,CAAAA,EAAQ,YAAY,CAAG,CAAC,IAPlD,SAAY,CAAG,WAC5BkrB,EAAa,SAAY,CAAG,WAC5BA,EAAa,SAAY,CAAG,WAC5BA,EAAa,SAAY,CAAG,WAC5BA,EAAa,SAAY,CAAG,WAC5BA,EAAa,SAAY,CAAG,WAC5BA,EAAa,KAAQ,CAAG,OAE5B,OAAM1O,UAActR,EAAiB,YAAY,CAC7C,YAAY6e,CAAO,CAAE,CACjB,KAAK,CAAC,YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI7e,EAAiB,UAAU,CAAC,CAC3C,IAAK6e,CACT,GACJ,CACJ,CACA/pB,EAAQ,KAAK,CAAGwc,CAGV,EAEC,SAASzc,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAWImrB,EAYAC,EAQAC,EAnBOF,EAYAC,EAQAC,EA9BXlrB,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMogB,UAAgBpgB,EAAiB,YAAY,CAC/C,YAAYoJ,CAAI,CAAEuB,CAAQ,CAAE0V,CAAM,CAAE,CAChC,KAAK,CAAC,UACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIC,EAAYlX,EAAMuB,EAAU0V,GACnD,CACJ,CACAvrB,EAAQ,OAAO,CAAGsrB,EAGdH,CADOA,EAUMnrB,EAAQ,WAAW,EAAKA,CAAAA,EAAQ,WAAW,CAAG,CAAC,IAThD,IAAO,CAAG,OACtBmrB,EAAY,KAAQ,CAAG,QACvBA,EAAY,MAAS,CAAG,SACxBA,EAAY,GAAM,CAAG,MACrBA,EAAY,KAAQ,CAAG,QACvBA,EAAY,OAAU,CAAG,UACzBA,EAAY,GAAM,CAAG,MACrBA,EAAY,GAAM,CAAG,MACrBA,EAAY,KAAQ,CAAG,QAIvBC,CADOA,EAMKprB,EAAQ,UAAU,EAAKA,CAAAA,EAAQ,UAAU,CAAG,CAAC,IAL9C,GAAM,CAAG,MACpBorB,EAAW,MAAS,CAAG,SACvBA,EAAW,UAAa,CAAG,YAC3BA,EAAW,IAAO,CAAG,OACrBA,EAAW,UAAa,CAAG,aAI3BC,CADOA,EAEUrrB,EAAQ,eAAe,EAAKA,CAAAA,EAAQ,eAAe,CAAG,CAAC,GADzD,CAACqrB,EAAgB,GAAM,CAAG,KAAK,CAAG,KAErD,OAAMI,UAAsBvgB,EAAiB,qBAAqB,CAC9D,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,IAAK,QAAS,IAAK,QAAS,OAAQ,UAAW,CACpE,CACJ,CACA/G,EAAQ,aAAa,CAAGyrB,CACxB,OAAMD,UAAoBtgB,EAAiB,YAAY,CACnD,YAAYrJ,CAAK,CAAEgU,CAAQ,CAAE0V,CAAM,CAAE,CACjC,KAAK,CAAC,SACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIE,EAAc,CAC7B,IAAK5pB,EACL,IAAKgU,EACL0V,OAAAA,CACJ,GACJ,CACJ,CACAvrB,EAAQ,WAAW,CAAGwrB,CAGhB,EAEC,SAASzrB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMwgB,UAAyBxgB,EAAiB,YAAY,CACxD,YAAYygB,CAAQ,CAAEC,CAAW,CAAE,CAC/B,KAAK,CAAC,WACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIC,EAAYD,IAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIE,EAASH,GAChC,CACJ,CACA3rB,EAAQ,gBAAgB,CAAG0rB,CAC3B,OAAMG,UAAoB3gB,EAAiB,YAAY,CACnD,YAAY4H,CAAK,CAAE,CACf,KAAK,CAAC,UACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI5H,EAAiB,UAAU,CAAC,CAC3C,IAAK4H,CACT,GACJ,CACJ,CACA,MAAMgZ,UAAiB5gB,EAAiB,YAAY,CAChD,YAAYoT,CAAE,CAAE,CACZ,KAAK,CAAC,WACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIpT,EAAiB,UAAU,CAAC,CAC3C,IAAK,AAAc,UAAd,OAAOoT,EAAkB,CAAC,CAAC,EAAEA,EAAG,CAAC,CAAC,CAAGA,CAC9C,GACJ,CACJ,CAGM,EAEC,SAASve,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,YAEAD,CAAAA,EAAO,OAAO,CAAG,EAAoB,IAG/B,EAEC,SAASA,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM6gB,UAAwB7gB,EAAiB,YAAY,CACvD,YAAY8gB,CAAQ,CAAE,CAElB,IAAK,IAAM1d,KADX,KAAK,CAAC,SACc0d,GAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC1d,EAEvB,CACJ,CACAtO,EAAQ,eAAe,CAAG+rB,CAGpB,EAEC,SAAShsB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM+gB,UAAsB/gB,EAAiB,YAAY,CACrD,YAAY8gB,CAAQ,CAAE,CAElB,IAAK,IAAM1d,KADX,KAAK,CAAC,SACc0d,GAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC1d,EAEvB,CACJ,CACAtO,EAAQ,aAAa,CAAGisB,CAGlB,EAEC,SAASlsB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMghB,UAAsChhB,EAAiB,qBAAqB,CAC9E,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,OAAQ,OAAQ,CACrC,CACJ,CACA,MAAMolB,UAA4BjhB,EAAiB,YAAY,CAC3D,YAAYkhB,CAAM,CAAE,CAChB,KAAK,CAAC,SACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIF,EAA8B,CAAEE,OAAAA,CAAO,GAC9D,CACJ,CACApsB,EAAQ,mBAAmB,CAAGmsB,CAGxB,EAEC,SAASpsB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMmhB,UAAiBnhB,EAAiB,YAAY,CAChD,YAAY8gB,CAAQ,CAAE,CAElB,IAAK,IAAM1d,KADX,KAAK,CAAC,OACc0d,GAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC1d,EAEvB,CACJ,CACAtO,EAAQ,QAAQ,CAAGqsB,CAGb,EAEC,SAAStsB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMohB,UAAoCphB,EAAiB,qBAAqB,CAC5E,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,MAAO,OAAQ,CACpC,CACJ,CACA,MAAMwlB,UAA0BrhB,EAAiB,YAAY,CACzD,aAAc,CACV,KAAK,CAAC,YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIohB,EAA4B,CAAE,MAAO,QAAS,GACrE,CACJ,CACAtsB,EAAQ,iBAAiB,CAAGusB,CAGtB,EAEC,SAASxsB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCshB,EAA0B,EAAoB,IAC9CC,EAAwB,EAAoB,IAC5CC,EAAyB,EAAoB,KAC7CC,EAA2B,EAAoB,IACrD,OAAMC,UAA4B1hB,EAAiB,YAAY,CAC3D,YAAYkhB,CAAM,CAAES,CAAc,CAAEC,CAAY,CAAE,CAC9C,KAAK,CAAC,YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIN,EAAwB,mBAAmB,CAACJ,IAC/D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIK,EAAsB,iBAAiB,EACtD,CAACI,GACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIF,EAAyB,mBAAmB,EAE/D,CAACG,GACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIJ,EAAuB,iBAAiB,CAEnE,CACJ,CACA1sB,EAAQ,mBAAmB,CAAG4sB,CAGxB,EAEC,SAAS7sB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM6hB,UAA6B7hB,EAAiB,YAAY,CAC5D,YAAY8gB,CAAQ,CAAE,CAElB,IAAK,IAAM1d,KADX,KAAK,CAAC,SACc0d,GAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC1d,EAEvB,CACJ,CACAtO,EAAQ,oBAAoB,CAAG+sB,CAGzB,EAEC,SAAShtB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM8hB,UAA+B9hB,EAAiB,YAAY,CAC9D,YAAY8gB,CAAQ,CAAE,CAElB,IAAK,IAAM1d,KADX,KAAK,CAAC,SACc0d,GAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC1d,EAEvB,CACJ,CACAtO,EAAQ,sBAAsB,CAAGgtB,CAG3B,EAEC,SAASjtB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM+hB,UAAkC/hB,EAAiB,YAAY,CACjE,aAAc,CACV,KAAK,CAAC,WACV,CACJ,CACAlL,EAAQ,yBAAyB,CAAGitB,CAG9B,EAEC,SAASltB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMgiB,UAAgChiB,EAAiB,YAAY,CAC/D,aAAc,CACV,KAAK,CAAC,WACV,CACJ,CACAlL,EAAQ,uBAAuB,CAAGktB,CAG5B,EAEC,SAASntB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMiiB,UAAqCjiB,EAAiB,YAAY,CACpE,aAAc,CACV,KAAK,CAAC,cACV,CACJ,CACAlL,EAAQ,4BAA4B,CAAGmtB,CAGjC,EAEC,SAASptB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMkiB,UAAwCliB,EAAiB,YAAY,CACvE,aAAc,CACV,KAAK,CAAC,WACV,CACJ,CACAlL,EAAQ,+BAA+B,CAAGotB,CAGpC,EAEC,SAASrtB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMmiB,UAAmBniB,EAAiB,YAAY,CAClD,YAAY8gB,CAAQ,CAAE,CAElB,GADA,KAAK,CAAC,SACAA,EACF,IAAK,IAAM1d,KAAS0d,EAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC1d,EAG3B,CACJ,CACAtO,EAAQ,UAAU,CAAGqtB,CAGf,EAEC,SAASttB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCoiB,EAAqB,EAAoB,IAC/C,OAAMC,UAA8BriB,EAAiB,YAAY,CAC7D,YAAYsiB,CAAS,CAAE,CACnB,KAAK,CAAC,WACF,CAACA,GACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIF,EAAmB,cAAc,CAE5D,CACJ,CACAttB,EAAQ,qBAAqB,CAAGutB,CAG1B,EAEC,SAASxtB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMuiB,UAAyBviB,EAAiB,YAAY,CACxD,YAAY8gB,CAAQ,CAAE,CAElB,IAAK,IAAM1d,KADX,KAAK,CAAC,WACc0d,GAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC1d,EAEvB,CACJ,CACAtO,EAAQ,gBAAgB,CAAGytB,CAGrB,EAEC,SAAS1tB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMwiB,UAA+BxiB,EAAiB,YAAY,CAC9D,aAAc,CACV,KAAK,CAAC,WACV,CACJ,CACAlL,EAAQ,sBAAsB,CAAG0tB,CAG3B,EAEC,SAAS3tB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAM2tB,EAAW,EAAoB,IAC/BziB,EAAmB,EAAoB,EAC7C,OAAM0iB,UAAqB1iB,EAAiB,YAAY,CACpD,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,gBACFA,EAAQ,GAAG,CACX,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIosB,EAAoB,QAASpsB,EAAQ,GAAG,CAAC,KAAK,CAAEA,EAAQ,GAAG,CAAC,IAAI,CAAE,EAAGA,EAAQ,GAAG,CAAC,KAAK,GAGzG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIosB,EAAoB,QAASF,EAAS,WAAW,CAAC,MAAM,CAAE,EAAG,EAAG,SAEnFlsB,EAAQ,IAAI,CACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIosB,EAAoB,SAAUpsB,EAAQ,IAAI,CAAC,KAAK,CAAEA,EAAQ,IAAI,CAAC,IAAI,CAAE,EAAGA,EAAQ,IAAI,CAAC,KAAK,GAG7G,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIosB,EAAoB,SAAUF,EAAS,WAAW,CAAC,MAAM,CAAE,EAAG,EAAG,SAEpFlsB,EAAQ,MAAM,CACd,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIosB,EAAoB,WAAYpsB,EAAQ,MAAM,CAAC,KAAK,CAAEA,EAAQ,MAAM,CAAC,IAAI,CAAE,EAAGA,EAAQ,MAAM,CAAC,KAAK,GAGrH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIosB,EAAoB,WAAYF,EAAS,WAAW,CAAC,MAAM,CAAE,EAAG,EAAG,SAEtFlsB,EAAQ,KAAK,CACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIosB,EAAoB,UAAWpsB,EAAQ,KAAK,CAAC,KAAK,CAAEA,EAAQ,KAAK,CAAC,IAAI,CAAE,EAAGA,EAAQ,KAAK,CAAC,KAAK,GAGjH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIosB,EAAoB,UAAWF,EAAS,WAAW,CAAC,MAAM,CAAE,EAAG,EAAG,SAErFlsB,EAAQ,gBAAgB,CACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIosB,EAAoB,YAAapsB,EAAQ,gBAAgB,CAAC,KAAK,CAAEA,EAAQ,gBAAgB,CAAC,IAAI,CAAE,EAAGA,EAAQ,gBAAgB,CAAC,KAAK,GAGpJ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIosB,EAAoB,YAAaF,EAAS,WAAW,CAAC,MAAM,CAAE,EAAG,EAAG,SAEvFlsB,EAAQ,cAAc,CACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIosB,EAAoB,YAAapsB,EAAQ,cAAc,CAAC,KAAK,CAAEA,EAAQ,cAAc,CAAC,IAAI,CAAE,EAAGA,EAAQ,cAAc,CAAC,KAAK,GAG9I,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIosB,EAAoB,YAAaF,EAAS,WAAW,CAAC,MAAM,CAAE,EAAG,EAAG,QAE/F,CACJ,CACAC,EAAa,IAAI,CAAG,CAChB,IAAK,CACD,MAAOD,EAAS,WAAW,CAAC,IAAI,CAChC,KAAM,EACN,MAAO,MACX,EACA,OAAQ,CACJ,MAAOA,EAAS,WAAW,CAAC,IAAI,CAChC,KAAM,EACN,MAAO,MACX,EACA,KAAM,CACF,MAAOA,EAAS,WAAW,CAAC,IAAI,CAChC,KAAM,EACN,MAAO,MACX,EACA,MAAO,CACH,MAAOA,EAAS,WAAW,CAAC,IAAI,CAChC,KAAM,EACN,MAAO,MACX,EACA,iBAAkB,CACd,MAAOA,EAAS,WAAW,CAAC,IAAI,CAChC,KAAM,EACN,MAAO,MACX,EACA,eAAgB,CACZ,MAAOA,EAAS,WAAW,CAAC,IAAI,CAChC,KAAM,EACN,MAAO,MACX,CACJ,EACA3tB,EAAQ,YAAY,CAAG4tB,CACvB,OAAMC,UAA4B3iB,EAAiB,YAAY,CAC3D,YAAYic,CAAW,CAAEtlB,CAAK,CAAEsC,CAAI,CAAE2pB,CAAK,CAAE9e,CAAK,CAAE,CAChD,KAAK,CAACmY,GACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI4G,EAAuB,CACtClsB,MAAAA,EACAsC,KAAAA,EACA2pB,MAAAA,EACA9e,MAAAA,CACJ,GACJ,CACJ,CACA,MAAM+e,UAA+B7iB,EAAiB,qBAAqB,CACvE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,MAAO,QACP,KAAM,OACN,MAAO,UACP,MAAO,SACX,CACJ,CACJ,CAGM,EAEC,SAAShH,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMmO,EAAe,EAAoB,IACnCjD,EAAmB,EAAoB,EAC7C,OAAM8iB,UAAoC9iB,EAAiB,YAAY,CACnE,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI0M,EAAa,mBAAmB,CAAC1M,GACxD,CACJ,CACAzB,EAAQ,2BAA2B,CAAGguB,CAGhC,EAEC,SAASjuB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMmO,EAAe,EAAoB,GACnCjD,EAAmB,EAAoB,EAC7C,OAAM+iB,UAA8B/iB,EAAiB,YAAY,CAC7D,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,gBACN,IAAI,CAAC,UAAU,CAAG,IAAI0M,EAAa,aAAa,CAAC1M,GACjD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAClC,CACJ,CACAzB,EAAQ,qBAAqB,CAAGiuB,CAG1B,EAEC,SAASluB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAKIkuB,EAMAC,EAQAC,EAbOF,EAMAC,EAQAC,EAlBXjuB,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCmjB,EAAkB,EAAoB,IAGxCH,EADOA,EAIUluB,EAAQ,eAAe,EAAKA,CAAAA,EAAQ,eAAe,CAAG,CAAC,IAHxD,MAAS,CAAG,SAC5BkuB,EAAgB,IAAO,CAAG,OAC1BA,EAAgB,IAAO,CAAG,OAI1BC,CADOA,EAMqBnuB,EAAQ,0BAA0B,EAAKA,CAAAA,EAAQ,0BAA0B,CAAG,CAAC,IAL9E,MAAS,CAAG,SACvCmuB,EAA2B,MAAS,CAAG,SACvCA,EAA2B,IAAO,CAAG,OACrCA,EAA2B,OAAU,CAAG,UACxCA,EAA2B,KAAQ,CAAG,QAItCC,CADOA,EAOmBpuB,EAAQ,wBAAwB,EAAKA,CAAAA,EAAQ,wBAAwB,CAAG,CAAC,IAN1E,MAAS,CAAG,SACrCouB,EAAyB,MAAS,CAAG,SACrCA,EAAyB,MAAS,CAAG,SACrCA,EAAyB,OAAU,CAAG,UACtCA,EAAyB,MAAS,CAAG,SACrCA,EAAyB,GAAM,CAAG,KAEtC,OAAME,UAAoCpjB,EAAiB,qBAAqB,CAC5E,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,iBAAkB,eAClB,eAAgB,eAChB,2BAA4B,UAC5B,2BAA4B,cAC5B,yBAA0B,UAC1B,yBAA0B,cAC1B,eAAgB,mBAChB,YAAa,gBACb,aAAc,iBACd,cAAe,iBACnB,CACJ,CACJ,CACA/G,EAAQ,2BAA2B,CAAGsuB,CACtC,OAAMC,UAA6BrjB,EAAiB,YAAY,CAC5D,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6sB,EAA4B7sB,IAC3CA,EAAQ,OAAO,EACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI4sB,EAAgB,YAAY,CAAC5sB,EAAQ,OAAO,EAEvE,CACJ,CACAzB,EAAQ,oBAAoB,CAAGuuB,CAGzB,EAEC,SAASxuB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAIIwuB,EACOA,EAHXruB,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAGzCsjB,EADOA,EAGMxuB,EAAQ,WAAW,EAAKA,CAAAA,EAAQ,WAAW,CAAG,CAAC,IAFhD,KAAQ,CAAG,QACvBwuB,EAAY,OAAU,CAAG,SAE7B,OAAMC,UAA+BvjB,EAAiB,qBAAqB,CACvE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,IAAK,OAAQ,CAClC,CACJ,CACA,MAAM2nB,UAAqBxjB,EAAiB,YAAY,CACpD,YAAYoJ,CAAI,CAAE,CACd,KAAK,CAAC,gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIma,EAAuB,CAAE,IAAKna,CAAK,GAC1D,CACJ,CACAtU,EAAQ,YAAY,CAAG0uB,CAGjB,EAEC,SAAS3uB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAII2uB,EACOA,EAHXxuB,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAGzCyjB,EADOA,EAGU3uB,EAAQ,eAAe,EAAKA,CAAAA,EAAQ,eAAe,CAAG,CAAC,IAFxD,OAAU,CAAG,UAC7B2uB,EAAgB,KAAQ,CAAG,OAE/B,OAAMC,UAA8B1jB,EAAiB,qBAAqB,CACtE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,KAAM,QAAS,CACpC,CACJ,CACA,MAAM8nB,UAAoB3jB,EAAiB,YAAY,CACnD,YAAYoJ,CAAI,CAAE,CACd,KAAK,CAAC,eACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIsa,EAAsB,CAAEta,KAAAA,CAAK,GACpD,CACJ,CACAtU,EAAQ,WAAW,CAAG6uB,CAGhB,EAEC,SAAS9uB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC4jB,EAAqB,EAAoB,IAC/C,OAAMC,UAA2B7jB,EAAiB,yBAAyB,CACvE,aAAc,CACV,KAAK,CAAC,SACV,CACA,cAAe,CAEX,OADA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI8jB,GACZ,IAAI,AACf,CACA,gBAAiB,CAEb,OADA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIC,GACZ,IAAI,AACf,CACA,UAAUC,CAAM,CAAEC,CAAI,CAAE,CAEpB,OADA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIL,EAAmB,cAAc,CAACI,EAAQC,IACtD,IAAI,AACf,CACJ,CACAnvB,EAAQ,kBAAkB,CAAG+uB,CAC7B,OAAMK,UAA4BlkB,EAAiB,qBAAqB,CACpE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,IAAK,OAAQ,CAClC,CACJ,CACA,MAAMioB,UAAkB9jB,EAAiB,YAAY,CACjD,aAAc,CACV,KAAK,CAAC,eACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIkkB,EAAoB,CAAE,IAAK,EAAK,GACvD,CACJ,CACApvB,EAAQ,SAAS,CAAGgvB,CACpB,OAAMK,UAA8BnkB,EAAiB,qBAAqB,CACtE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,IAAK,OAAQ,CAClC,CACJ,CACA,MAAMkoB,UAAoB/jB,EAAiB,YAAY,CACnD,aAAc,CACV,KAAK,CAAC,eACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAImkB,EAAsB,CAAE,IAAK,EAAK,GACzD,CACJ,CACArvB,EAAQ,WAAW,CAAGivB,CAGhB,EAEC,SAASlvB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAIIsvB,EACOA,EAHXnvB,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAGzCokB,EADOA,EAIKtvB,EAAQ,UAAU,EAAKA,CAAAA,EAAQ,UAAU,CAAG,CAAC,IAH9C,IAAO,CAAG,OACrBsvB,EAAW,OAAU,CAAG,UACxBA,EAAW,KAAQ,CAAG,OAE1B,OAAMC,UAAiCrkB,EAAiB,qBAAqB,CACzE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,OAAQ,QAAS,KAAM,SAAU,CACtD,CACJ,CACA/G,EAAQ,wBAAwB,CAAGuvB,CACnC,OAAMC,UAAuBtkB,EAAiB,YAAY,CACtD,YAAYrJ,CAAK,CAAEstB,CAAI,CAAE,CACrB,KAAK,CAAC,cACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAII,EAAyB,CACxC,OAAQ1tB,EACR,KAAMstB,CACV,GACJ,CACJ,CACAnvB,EAAQ,cAAc,CAAGwvB,CAGnB,EAEC,SAASzvB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMyvB,EAA0B,EAAoB,IAC9CvkB,EAAmB,EAAoB,GACvCwkB,EAAY,EAAoB,KAChCC,EAAa,EAAoB,KACjCC,EAAqB,EAAoB,KACzCC,EAAqB,EAAoB,KACzCC,EAAqB,EAAoB,KACzCC,EAAqB,EAAoB,KACzCC,EAAgB,EAAoB,KACpCC,EAAgB,EAAoB,KACpCC,EAAgB,EAAoB,KACpChiB,EAAgB,EAAoB,KACpCiiB,EAAc,EAAoB,KAClCC,EAAyB,EAAoB,IAC7CC,EAAe,EAAoB,KACnCC,EAAmB,EAAoB,IAC7C,OAAMC,UAA0BrlB,EAAiB,YAAY,CACzD,YAAYzJ,EAAU,CAAE,OAAQ,CAAC,CAAE,CAAC,CAAE,CAClC,KAAK,CAAC,YACN,GAAM,CAAE+uB,MAAAA,EAAQ,KAAK,CAAEtB,OAAAA,EAAS,KAAK,CAAE1T,IAAAA,EAAMiU,EAAwB,mBAAmB,CAAC,EAAE,CAAE9T,MAAAA,EAAQ8T,EAAwB,mBAAmB,CAAC,EAAE,CAAEhU,OAAAA,EAASgU,EAAwB,mBAAmB,CAAC,EAAE,CAAE/T,KAAAA,EAAO+T,EAAwB,mBAAmB,CAAC,EAAE,CAAEgB,OAAAA,EAAS,GAAG,CAAEC,OAAAA,EAAS,GAAG,CAAEC,OAAAA,EAAS,CAAC,CAAEC,OAAAA,EAAS,EAAK,CAAEC,OAAAA,EAAS,CAAC,CAAC,CAAEC,UAAAA,EAAY,GAAG,CAAEC,YAAAA,EAAcX,EAAuB,eAAe,CAAC,QAAQ,CAAEY,QAAAA,CAAO,CAAEC,QAAAA,CAAO,CAAEC,qBAAAA,CAAoB,CAAEC,gBAAAA,CAAe,CAAEC,kBAAAA,CAAiB,CAAEC,gBAAAA,CAAe,CAAEC,kBAAAA,CAAiB,CAAEC,mBAAAA,CAAkB,CAAEC,YAAAA,CAAW,CAAEC,cAAAA,CAAa,CAAEC,gBAAAA,CAAe,CAAEC,iBAAAA,CAAgB,CAAEC,eAAAA,CAAc,CAAEC,UAAAA,EAAY,EAAK,CAAEC,cAAAA,CAAa,CAAG,CAAGrwB,CACnpB,KAAI,CAAC,OAAO,CAAGA,EACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI0uB,EAAY,QAAQ,CAACK,EAAOtB,EAAQ6B,IACvD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIb,EAAc,UAAU,CAAC1U,EAAKG,EAAOF,EAAQC,EAAM+U,EAAQC,EAAQC,EAAQC,IAC9F,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIlB,EAAU,OAAO,CAACmB,EAAO,KAAK,CAAGA,EAAO,KAAK,CAAG,IAAKA,EAAO,KAAK,CAAGA,EAAO,KAAK,CAAG,IACtG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIlB,EAAW,YAAY,CAACmB,IAC3C,IAAI,CAAC,UAAU,CAACE,GAChB,IAAI,CAAC,UAAU,CAACC,GACZE,CAAAA,GAAmBD,CAAmB,GACtC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIhjB,EAAc,cAAc,CAACijB,EAAiBD,IAEjEE,CAAAA,GAAqBC,GAAmBC,GAAqBC,CAAiB,GAC9E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIvB,EAAc,cAAc,CAACoB,EAAmBC,EAAiBC,EAAmBC,IAEvGC,CAAAA,GAAeC,GAAiBC,GAAmBC,GAAoBC,CAAa,GACpF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI3B,EAAc,WAAW,CAAC,CACzC,YAAauB,EACb,cAAeC,EACf,gBAAiBC,EACjB,iBAAkBC,EAClB,eAAgBC,CACpB,IAEAC,GACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIxB,EAAa,SAAS,EAEzCyB,GACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIxB,EAAiB,oBAAoB,CAACwB,GAEjE,CACA,WAAWd,CAAO,CAAE,CACZA,IACIA,EAAQ,OAAO,EACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIjB,EAAmB,eAAe,CAAC,CAClD,WAAYD,EAAmB,mBAAmB,CAAC,OAAO,CAC1D,SAAUkB,EAAQ,OAAO,CAAC,MAAM,CAAC,WAAW,AAChD,IAEAA,EAAQ,KAAK,EACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIjB,EAAmB,eAAe,CAAC,CAClD,WAAYD,EAAmB,mBAAmB,CAAC,KAAK,CACxD,SAAUkB,EAAQ,KAAK,CAAC,MAAM,CAAC,WAAW,AAC9C,IAEAA,EAAQ,IAAI,EACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIjB,EAAmB,eAAe,CAAC,CAClD,WAAYD,EAAmB,mBAAmB,CAAC,IAAI,CACvD,SAAUkB,EAAQ,IAAI,CAAC,MAAM,CAAC,WAAW,AAC7C,IAGZ,CACA,WAAWC,CAAO,CAAE,CACZA,IACIA,EAAQ,OAAO,EACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIpB,EAAmB,eAAe,CAAC,CAClD,WAAYD,EAAmB,mBAAmB,CAAC,OAAO,CAC1D,SAAUqB,EAAQ,OAAO,CAAC,MAAM,CAAC,WAAW,AAChD,IAEAA,EAAQ,KAAK,EACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIpB,EAAmB,eAAe,CAAC,CAClD,WAAYD,EAAmB,mBAAmB,CAAC,KAAK,CACxD,SAAUqB,EAAQ,KAAK,CAAC,MAAM,CAAC,WAAW,AAC9C,IAEAA,EAAQ,IAAI,EACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIpB,EAAmB,eAAe,CAAC,CAClD,WAAYD,EAAmB,mBAAmB,CAAC,IAAI,CACvD,SAAUqB,EAAQ,IAAI,CAAC,MAAM,CAAC,WAAW,AAC7C,IAGZ,CACA,IAAI,SAAU,CACV,OAAO,IAAI,CAAC,OAAO,AACvB,CACJ,CACAjxB,EAAQ,iBAAiB,CAAGuwB,CAGtB,EAEC,SAASxwB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC6mB,EAAgC,EAAoB,IAC1D,OAAMC,UAAwB9mB,EAAiB,YAAY,CACvD,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,qBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIswB,EAA8B,yBAAyB,CAAC,CACvE,KAAMtwB,EAAQ,UAAU,EAAIswB,EAA8B,mBAAmB,CAAC,OAAO,CACrF,GAAI,CAAC,GAAG,EAAEtwB,EAAQ,QAAQ,CAAC,CAAC,AAChC,GACJ,CACJ,CACAzB,EAAQ,eAAe,CAAGgyB,CAGpB,EAEC,SAASjyB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAIIiyB,EACOA,EAHX9xB,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAGzC+mB,EADOA,EAIcjyB,EAAQ,mBAAmB,EAAKA,CAAAA,EAAQ,mBAAmB,CAAG,CAAC,IAHhE,OAAU,CAAG,UACjCiyB,EAAoB,KAAQ,CAAG,QAC/BA,EAAoB,IAAO,CAAG,MAElC,OAAMC,UAAkChnB,EAAiB,qBAAqB,CAC1E,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,KAAM,SACN,GAAI,MACR,CACJ,CACJ,CACA/G,EAAQ,yBAAyB,CAAGkyB,CAG9B,EAEC,SAASnyB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCinB,EAAgC,EAAoB,IAC1D,OAAMC,UAAwBlnB,EAAiB,YAAY,CACvD,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,qBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI0wB,EAA8B,yBAAyB,CAAC,CACvE,KAAM1wB,EAAQ,UAAU,EAAI0wB,EAA8B,mBAAmB,CAAC,OAAO,CACrF,GAAI,CAAC,GAAG,EAAE1wB,EAAQ,QAAQ,CAAC,CAAC,AAChC,GACJ,CACJ,CACAzB,EAAQ,eAAe,CAAGoyB,CAGpB,EAEC,SAASryB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAIIqyB,EACOA,EAHXlyB,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAGzCmnB,EADOA,EAIcryB,EAAQ,mBAAmB,EAAKA,CAAAA,EAAQ,mBAAmB,CAAG,CAAC,IAHhE,OAAU,CAAG,UACjCqyB,EAAoB,KAAQ,CAAG,QAC/BA,EAAoB,IAAO,CAAG,MAElC,OAAMC,UAAkCpnB,EAAiB,qBAAqB,CAC1E,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,KAAM,SACN,GAAI,MACR,CACJ,CACJ,CACA/G,EAAQ,yBAAyB,CAAGsyB,CAG9B,EAEC,SAASvyB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAKAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,IAC3DM,AAJA,SAAkBC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,EAES,EAAoB,KAGvB,EAEC,SAAST,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAKAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,IAC3DM,AAJA,SAAkBC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,EAES,EAAoB,KAGvB,EAEC,SAAST,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAKAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,IAC3DM,AAJA,SAAkBC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,EAES,EAAoB,KAGvB,EAEC,SAAST,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCklB,EAAyB,EAAoB,GACnD,OAAMmC,UAAiBrnB,EAAiB,YAAY,CAChD,YAAYslB,CAAK,CAAEtB,CAAM,CAAE6B,CAAW,CAAE,CACpC,KAAK,CAAC,UACN,IAAMyB,EAAOzB,IAAgBX,EAAuB,eAAe,CAAC,SAAS,CAC7E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAuB,kBAAkB,CAAC,CACzD,MAAOoC,EAAOtD,EAASsB,EACvB,OAAQgC,EAAOhC,EAAQtB,EACvB,YAAa6B,CACjB,GACJ,CACJ,CACA/wB,EAAQ,QAAQ,CAAGuyB,CAGb,EAEC,SAASxyB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMunB,UAAuCvnB,EAAiB,qBAAqB,CAC/E,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,cAAe,OACnB,CACJ,CACJ,CACA/G,EAAQ,8BAA8B,CAAGyyB,CAGnC,EAEC,SAAS1yB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAKAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,IAC3DM,AAJA,SAAkBC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,EAES,EAAoB,KAGvB,EAEC,SAAST,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAEgL,CAAmB,EAEpD,aAEA7K,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,EAM3DA,CAAAA,EAAQ,MAAM,CALd,MAAM0yB,EACF,YAAYjxB,EAAU,CAAE,SAAU,EAAE,AAAC,CAAC,CAAE,CACpC,IAAI,CAAC,OAAO,CAAGA,CACnB,CACJ,CAOAzB,CAAAA,EAAQ,MAAM,CALd,MAAM2yB,EACF,YAAYlxB,EAAU,CAAE,SAAU,EAAE,AAAC,CAAC,CAAE,CACpC,IAAI,CAAC,OAAO,CAAGA,CACnB,CACJ,CAIM,EAEC,SAAS1B,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC0nB,EAAU,EAAoB,IAC9BC,EAAqB,EAAoB,IAC/C,OAAMC,UAAoC5nB,EAAiB,qBAAqB,CAC5E,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,cAAe,kBACf,2BAA4B,gCAChC,CACJ,CACJ,CACA,MAAMgsB,UAA0B7nB,EAAiB,YAAY,CACzD,YAAYoT,CAAE,CAAE0U,CAAY,CAAE,CAQ1B,IAAK,IAAMC,KAPX,KAAK,CAAC,iBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIH,EAA4B,CAC3C,cAAexU,EACf,2BAA4B,CAChC,IACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIuU,EAAmB,cAAc,CAAC,qBACrD,IAAI,CAAC,EAAE,CAAGvU,EACW0U,GACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIJ,EAAQ,KAAK,CAACK,GAEzC,CACJ,CACAjzB,EAAQ,iBAAiB,CAAG+yB,CAGtB,EAEC,SAAShzB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC0nB,EAAU,EAAoB,GACpC,OAAMM,UAAsBhoB,EAAiB,YAAY,CACrD,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,mBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIqJ,EAAiB,UAAU,CAAC,CAC3C,IAAKrJ,CACT,GACJ,CACJ,CACA,MAAMsxB,UAAsBjoB,EAAiB,qBAAqB,CAC9D,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,MAAO,SAAU,CACtC,CACJ,CACA,MAAMqsB,UAA0BloB,EAAiB,YAAY,CACzD,YAAYmoB,CAAK,CAAEC,CAAa,CAAEC,CAAS,CAAE,CACzC,KAAK,CAAC,SACN,IAAI,CAAC,SAAS,CAAGA,EACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIJ,EAAc,CAC7B,MAAOE,CACX,IACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIH,EAAcI,IACjC,IAAI,CAAC,EAAE,CAAGD,CACd,CACA,cAAcG,CAAG,CAAE7uB,CAAK,CAAE,CACtB,IAAM8uB,EAAO,IAAIC,EAAcF,EAAK7uB,GAEpC,OADA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC8uB,GACRA,CACX,CACJ,CACAzzB,EAAQ,iBAAiB,CAAGozB,CAC5B,OAAMO,UAAgCzoB,EAAiB,qBAAqB,CACxE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,KAAM,QAAS,CACpC,CACJ,CACA,MAAM2sB,UAAsBxoB,EAAiB,YAAY,CACrD,YAAY0oB,CAAQ,CAAEjvB,CAAK,CAAE,CACzB,KAAK,CAAC,iBACN,IAAI,CAAC,QAAQ,CAAGivB,EAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAID,EAAwB,CAAE,KAAMC,CAAS,IAC9ChyB,KAAAA,IAAV+C,GACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIkvB,EAAclvB,IAErC,IAAI,CAAC,GAAG,CAAG,IAAIiuB,EAAQ,gBAAgB,CAAC,CACpC,MAAO,IAAI,CAAC,QAAQ,AACxB,GACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC3B,CACA,IAAI,OAAQ,CACR,OAAO,IAAI,CAAC,GAAG,AACnB,CACJ,CACA5yB,EAAQ,aAAa,CAAG0zB,CACxB,OAAMI,UAAgC5oB,EAAiB,qBAAqB,CACxE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,IAAK,OAAQ,CAClC,CACJ,CACA,MAAM8sB,UAAsB3oB,EAAiB,YAAY,CACrD,YAAYvG,CAAK,CAAE,CACf,KAAK,CAAC,mBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAImvB,EAAwB,CAAE,IAAKnvB,CAAM,GAC5D,CACJ,CAGM,EAEC,SAAS5E,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM6oB,UAA+B7oB,EAAiB,qBAAqB,CACvE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,QAAS,OACb,CACJ,CACJ,CACA/G,EAAQ,sBAAsB,CAAG+zB,CACjC,OAAMC,UAAqB9oB,EAAiB,YAAY,CACpD,YAAY+oB,EAAU,EAAI,CAAE,CACxB,KAAK,CAAC,kBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIF,EAAuB,CACtCE,QAAAA,CACJ,GACJ,CACJ,CACAj0B,EAAQ,YAAY,CAAGg0B,CAGjB,EAEC,SAASj0B,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMgpB,UAAyBhpB,EAAiB,qBAAqB,CACjE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,GAAI,OACJ,OAAQ,WACR,KAAM,QACV,CACJ,CACJ,CACA/G,EAAQ,gBAAgB,CAAGk0B,CAGrB,EAEC,SAASn0B,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAExB,UAASoC,CAAM,CAAEJ,CAAM,CAAEiU,CAAY,MAAmBke,EAY1EC,EAAAA,EAAmN,WAAW,MAAO,UAASC,EAAE3tB,CAAC,CAAC8G,CAAC,CAAC8mB,CAAC,EAAE,SAASC,EAAEtjB,CAAC,CAACmjB,CAAC,EAAE,GAAG,CAAC5mB,CAAC,CAACyD,EAAE,CAAC,CAAC,GAAG,CAACvK,CAAC,CAACuK,EAAE,CAAC,CAA2C,GAAG,CAACmjB,GAAxC,YAAY,OAAOD,GAASA,EAAiB,OAAOA,EAAQljB,EAAE,CAAC,GAAG,GAAG2T,EAAE,OAAOA,EAAE3T,EAAE,CAAC,GAAG,IAAI5M,EAAE,AAAItB,MAAM,uBAAuBkO,EAAE,IAAK,OAAM5M,EAAE,IAAI,CAAC,mBAAmBA,CAAC,CAAC,IAAIY,EAAEuI,CAAC,CAACyD,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAEvK,CAAC,CAACuK,EAAE,CAAC,EAAE,CAAC,IAAI,CAAChM,EAAE,OAAO,CAAC,SAASmvB,CAAC,EAAmB,OAAOG,EAAE3zB,AAApB8F,CAAC,CAACuK,EAAE,CAAC,EAAE,CAACmjB,EAAE,EAAaA,EAAE,EAAEnvB,EAAEA,EAAE,OAAO,CAACovB,EAAE3tB,EAAE8G,EAAE8mB,EAAE,CAAC,OAAO9mB,CAAC,CAACyD,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI2T,EAAE,YAAY,OAAOuP,GAASA,EAAQC,EAAE,EAAEA,EAAEE,EAAE,MAAM,CAACF,IAAIG,EAAED,CAAC,CAACF,EAAE,EAAE,OAAOG,CAAC,GAAE,CAAC,EAAE,CAAC,SAASH,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5I,EAAE+rB,EAAE,WAAW7mB,EAAE6mB,EAAE,aAAa5zB,EAAE,mEAAoEyQ,CAAAA,EAAE,MAAM,CAAC,SAASmjB,CAAC,EAAE,IAAI,IAAIxzB,EAAEqQ,EAAE5M,EAAEY,EAAEovB,EAAE3tB,EAAE8G,EAAE8mB,EAAE,EAAE,CAACC,EAAE,EAAE3P,EAAEwP,EAAE,MAAM,CAACI,EAAE5P,EAAErX,EAAE,WAAWlF,EAAE,SAAS,CAAC+rB,GAAGG,EAAEH,EAAE,MAAM,EAAEI,EAAE5P,EAAE2P,EAAElwB,EAAEkJ,EAAG3M,CAAAA,EAAEwzB,CAAC,CAACG,IAAI,CAACtjB,EAAEsjB,EAAE3P,EAAEwP,CAAC,CAACG,IAAI,CAAC,EAAEA,EAAE3P,EAAEwP,CAAC,CAACG,IAAI,CAAC,GAAI3zB,CAAAA,EAAEwzB,EAAE,UAAU,CAACG,KAAKtjB,EAAEsjB,EAAE3P,EAAEwP,EAAE,UAAU,CAACG,KAAK,EAAEA,EAAE3P,EAAEwP,EAAE,UAAU,CAACG,KAAK,GAAGtvB,EAAErE,GAAG,EAAEyzB,EAAE,AAAC,GAAEzzB,CAAAA,GAAI,EAAEqQ,GAAG,EAAEvK,EAAE,EAAE8tB,EAAE,AAAC,IAAGvjB,CAAAA,GAAI,EAAE5M,GAAG,EAAE,GAAGmJ,EAAE,EAAEgnB,EAAE,GAAGnwB,EAAE,GAAGiwB,EAAE,IAAI,CAAC9zB,EAAE,MAAM,CAACyE,GAAGzE,EAAE,MAAM,CAAC6zB,GAAG7zB,EAAE,MAAM,CAACkG,GAAGlG,EAAE,MAAM,CAACgN,IAAI,OAAO8mB,EAAE,IAAI,CAAC,GAAG,EAAErjB,EAAE,MAAM,CAAC,SAASmjB,CAAC,EAAE,IAAIxzB,EAAEqQ,EAAE5M,EAAEY,EAAEovB,EAAE3tB,EAAE8G,EAAE,EAAE8mB,EAAE,EAAEC,EAAE,QAAQ,GAAGH,EAAE,MAAM,CAAC,EAAEG,EAAE,MAAM,IAAIA,EAAE,MAAM,AAAIxxB,MAAM,mDAAmD,IAAI6hB,EAAE4P,EAAE,EAAE,AAACJ,CAAAA,EAAEA,EAAE,OAAO,CAAC,sBAAsB,GAAE,EAAG,MAAM,CAAC,EAAE,GAAGA,EAAE,MAAM,CAACA,EAAE,MAAM,CAAC,KAAK5zB,EAAE,MAAM,CAAC,KAAKg0B,IAAIJ,EAAE,MAAM,CAACA,EAAE,MAAM,CAAC,KAAK5zB,EAAE,MAAM,CAAC,KAAKg0B,IAAIA,EAAE,GAAG,EAAE,MAAM,AAAIzxB,MAAM,6CAA6C,IAAI6hB,EAAErX,EAAE,UAAU,CAAC,IAAI/K,WAAW,EAAEgyB,GAAG,AAAI/rB,MAAM,EAAE+rB,GAAGhnB,EAAE4mB,EAAE,MAAM,EAAExzB,EAAEJ,EAAE,OAAO,CAAC4zB,EAAE,MAAM,CAAC5mB,OAAO,EAAE,AAACvI,CAAAA,EAAEzE,EAAE,OAAO,CAAC4zB,EAAE,MAAM,CAAC5mB,KAAI,GAAI,EAAEyD,EAAE,AAAC,IAAGhM,CAAAA,GAAI,EAAE,AAACovB,CAAAA,EAAE7zB,EAAE,OAAO,CAAC4zB,EAAE,MAAM,CAAC5mB,KAAI,GAAI,EAAEnJ,EAAE,AAAC,GAAEgwB,CAAAA,GAAI,EAAG3tB,CAAAA,EAAElG,EAAE,OAAO,CAAC4zB,EAAE,MAAM,CAAC5mB,KAAI,EAAGoX,CAAC,CAAC0P,IAAI,CAAC1zB,EAAE,KAAKyzB,GAAIzP,CAAAA,CAAC,CAAC0P,IAAI,CAACrjB,CAAAA,EAAG,KAAKvK,GAAIke,CAAAA,CAAC,CAAC0P,IAAI,CAACjwB,CAAAA,EAAG,OAAOugB,CAAC,CAAC,EAAE,CAAC,YAAY,GAAG,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,SAASwP,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5M,EAAE+vB,EAAE,cAAcnvB,EAAEmvB,EAAE,uBAAuBC,EAAED,EAAE,4BAA4B1tB,EAAE0tB,EAAE,uBAAuD,SAAS5mB,EAAE4mB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,CAAC5M,CAAC,CAACY,CAAC,EAAE,IAAI,CAAC,cAAc,CAACmvB,EAAE,IAAI,CAAC,gBAAgB,CAACxzB,EAAE,IAAI,CAAC,KAAK,CAACqQ,EAAE,IAAI,CAAC,WAAW,CAAC5M,EAAE,IAAI,CAAC,iBAAiB,CAACY,CAAC,CAA5JovB,EAAED,EAAE,4BAAyJ5mB,EAAE,SAAS,CAAC,CAAC,iBAAiB,WAAW,IAAI4mB,EAAE,IAAInvB,EAAEZ,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAIgwB,EAAE,gBAAgBzzB,EAAE,IAAI,CAAC,OAAOwzB,EAAE,EAAE,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,GAAGxzB,EAAE,gBAAgB,CAAC,MAAM,AAAImC,MAAM,wCAAwC,GAAGqxB,CAAC,EAAE,oBAAoB,WAAW,OAAO,IAAInvB,EAAEZ,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC,iBAAiB,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,mBAAmB,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,QAAQ,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,cAAc,IAAI,CAAC,WAAW,CAAC,CAAC,EAAEmJ,EAAE,gBAAgB,CAAC,SAAS4mB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,OAAOmjB,EAAE,IAAI,CAAC,IAAI1tB,GAAG,IAAI,CAAC,IAAI2tB,EAAE,qBAAqB,IAAI,CAACzzB,EAAE,cAAc,CAACqQ,IAAI,IAAI,CAAC,IAAIojB,EAAE,mBAAmB,cAAc,CAAC,cAAczzB,EAAE,EAAEA,EAAE,OAAO,CAAC4M,CAAC,EAAE,CAAC,aAAa,EAAE,sBAAsB,GAAG,2BAA2B,GAAG,sBAAsB,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS4mB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5M,EAAE+vB,EAAE,yBAA0BnjB,CAAAA,EAAE,KAAK,CAAC,CAAC,MAAM,OAAO,eAAe,SAASmjB,CAAC,EAAE,OAAO,IAAI/vB,EAAE,oBAAoB,EAAE,iBAAiB,WAAW,OAAO,IAAIA,EAAE,sBAAsB,CAAC,EAAE4M,EAAE,OAAO,CAACmjB,EAAE,UAAU,EAAE,CAAC,UAAU,EAAE,yBAAyB,EAAE,EAAE,CAAC,EAAE,CAAC,SAASA,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5M,EAAE+vB,EAAE,WAAe5mB,EAAE,WAAW,IAAI,IAAI4mB,EAAExzB,EAAE,EAAE,CAACqQ,EAAE,EAAEA,EAAE,IAAIA,IAAI,CAACmjB,EAAEnjB,EAAE,IAAI,IAAI5M,EAAE,EAAEA,EAAE,EAAEA,IAAI+vB,EAAE,EAAEA,EAAE,WAAWA,IAAI,EAAEA,IAAI,CAAExzB,CAAAA,CAAC,CAACqQ,EAAE,CAACmjB,CAAC,CAAC,OAAOxzB,CAAC,GAAIA,CAAAA,EAAE,OAAO,CAAC,SAASwzB,CAAC,CAACxzB,CAAC,EAAE,OAAO,KAAK,IAAIwzB,GAAGA,EAAE,MAAM,CAAC,WAAW/vB,EAAE,SAAS,CAAC+vB,GAAG,SAASA,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,CAAC5M,CAAC,EAAE,IAAQgwB,EAAEhwB,AAAiF,EAA/E4M,EAAEmjB,GAAG,GAAG,IAAI,IAAI1tB,EAAErC,EAAEqC,EAAE2tB,EAAE3tB,IAAI0tB,EAAEA,IAAI,EAAEnvB,AAA1CuI,CAA2C,CAAC,IAAK4mB,CAAAA,EAAExzB,CAAC,CAAC8F,EAAE,AAAD,EAAG,CAAC,OAAM,GAAG0tB,CAAC,EAAE,EAAExzB,EAAEwzB,EAAEA,EAAE,MAAM,CAAC,GAAG,SAASA,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,CAAC5M,CAAC,EAAE,IAAQgwB,EAAEhwB,AAA4F,EAA1F4M,EAAEmjB,GAAG,GAAG,IAAI,IAAI1tB,EAAErC,EAAEqC,EAAE2tB,EAAE3tB,IAAI0tB,EAAEA,IAAI,EAAEnvB,AAA1CuI,CAA2C,CAAC,IAAK4mB,CAAAA,EAAExzB,EAAE,UAAU,CAAC8F,EAAC,EAAG,CAAC,OAAM,GAAG0tB,CAAC,EAAE,EAAExzB,EAAEwzB,EAAEA,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,SAASA,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,YAAaA,CAAAA,EAAE,MAAM,CAAC,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,EAAEA,EAAE,GAAG,CAAC,CAAC,EAAEA,EAAE,aAAa,CAAC,CAAC,EAAEA,EAAE,IAAI,CAAC,KAAKA,EAAE,WAAW,CAAC,KAAKA,EAAE,kBAAkB,CAAC,KAAKA,EAAE,OAAO,CAAC,KAAKA,EAAE,eAAe,CAAC,KAAKA,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5M,EAAE,IAAKA,CAAAA,EAAE,aAAa,OAAOowB,QAAQA,QAAQL,EAAE,OAAOxzB,EAAE,OAAO,CAAC,CAAC,QAAQyD,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS+vB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5M,EAAE,aAAa,OAAO7B,YAAY,aAAa,OAAOkyB,aAAa,aAAa,OAAOC,YAAY1vB,EAAEmvB,EAAE,QAAQC,EAAED,EAAE,WAAW1tB,EAAE0tB,EAAE,0BAA0B5mB,EAAEnJ,EAAE,aAAa,QAAQ,SAASiwB,EAAEF,CAAC,CAACxzB,CAAC,EAAE8F,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe0tB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,WAAW,CAACA,EAAE,IAAI,CAAC,YAAY,CAACxzB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAACqQ,EAAE,KAAK,CAAC,OAAOojB,EAAE,QAAQ,CAACC,EAAE5tB,GAAG4tB,EAAE,SAAS,CAAC,YAAY,CAAC,SAASF,CAAC,EAAE,IAAI,CAAC,IAAI,CAACA,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAACC,EAAE,WAAW,CAAC7mB,EAAE4mB,EAAE,IAAI,EAAE,CAAC,EAAE,EAAEE,EAAE,SAAS,CAAC,KAAK,CAAC,WAAW5tB,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE4tB,EAAE,SAAS,CAAC,OAAO,CAAC,WAAW5tB,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE4tB,EAAE,SAAS,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,IAAIrvB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,GAAG,IAAIrE,EAAE,IAAI,AAAC,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAASwzB,CAAC,EAAExzB,EAAE,IAAI,CAAC,CAAC,KAAKwzB,EAAE,KAAKxzB,EAAE,IAAI,EAAE,CAAC,EAAEqQ,EAAE,cAAc,CAAC,SAASmjB,CAAC,EAAE,OAAO,IAAIE,EAAE,UAAUF,EAAE,EAAEnjB,EAAE,gBAAgB,CAAC,WAAW,OAAO,IAAIqjB,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,yBAAyB,GAAG,UAAU,GAAG,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,SAASF,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,SAAS2jB,EAAER,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE5M,EAAE,GAAG,IAAI4M,EAAE,EAAEA,EAAErQ,EAAEqQ,IAAI5M,GAAGiB,OAAO,YAAY,CAAC,IAAI8uB,GAAGA,KAAK,EAAE,OAAO/vB,CAAC,CAAC,SAASA,EAAE+vB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,CAAC5M,CAAC,CAACY,CAAC,CAACovB,CAAC,EAAE,IAA0hBD,EAAExzB,EAAOqQ,EAA/hBvK,EAAE8G,EAAE8mB,EAAEF,EAAE,IAAI,CAACG,EAAEH,EAAE,WAAW,CAACxP,EAAEyP,IAAIQ,EAAE,UAAU,CAACL,EAAEM,EAAE,WAAW,CAAC,SAAST,EAAEC,EAAE,IAAI,GAAG/mB,EAAEunB,EAAE,WAAW,CAAC,SAASD,EAAE,UAAU,CAACP,EAAE,IAAI,GAAGjsB,EAAEisB,EAAE,OAAO,CAAC9zB,EAAEs0B,EAAE,WAAW,CAAC,SAAST,EAAEhsB,IAAI9H,EAAEu0B,EAAE,WAAW,CAAC,SAASD,EAAE,UAAU,CAACxsB,IAAIyP,EAAEvK,EAAE,MAAM,GAAG+mB,EAAE,IAAI,CAAC,MAAM,CAAC7zB,EAAEF,EAAE,MAAM,GAAG8H,EAAE,MAAM,CAACxC,EAAE,GAAGtE,EAAE,GAAGqF,EAAE,GAAGgO,EAAE0f,EAAE,GAAG,CAACS,EAAET,EAAE,IAAI,CAAC3tB,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAE/F,CAAAA,GAAG,CAACqQ,GAAItK,CAAAA,EAAE,KAAK,CAACytB,EAAE,KAAK,CAACztB,EAAE,cAAc,CAACytB,EAAE,cAAc,CAACztB,EAAE,gBAAgB,CAACytB,EAAE,gBAAgB,AAAD,EAAG,IAAIY,EAAE,CAAEp0B,CAAAA,GAAIo0B,CAAAA,GAAG,GAAGpQ,CAAAA,GAAG,CAAC9M,GAAIrX,CAAAA,GAAIu0B,CAAAA,GAAG,IAAG,EAAG,IAAIC,EAAE,EAAEC,EAAE,CAAEtgB,CAAAA,GAAIqgB,CAAAA,GAAG,EAAC,EAAG,SAAShwB,EAAGiwB,CAAAA,EAAE,IAAID,IAAYb,EAAwDE,EAAE,eAAe,CAAvE1zB,EAAwEgU,EAAjE3D,EAAEmjB,EAASA,GAAInjB,CAAAA,EAAErQ,EAAE,MAAM,KAAI,EAAG,AAAC,OAAMqQ,CAAAA,GAAI,GAAuB,EAAIikB,CAAAA,EAAE,GAAGD,GAAsB,GAAIb,CAAAA,AAAOE,EAAE,cAAc,EAApB,EAAoB,EAAsD5tB,GAAjDquB,EAAE,WAAW,IAAO,EAAKA,EAAE,aAAa,KAAO,EAAKA,EAAE,aAAa,GAAG,EAA6DvnB,GAAzDunB,EAAE,cAAc,GAAG,MAAS,EAAKA,EAAE,WAAW,GAAG,IAAM,EAAKA,EAAE,UAAU,GAAGjd,GAAIvW,CAAAA,EAAEqzB,EAAE,EAAE,GAAGA,EAAEO,EAAEX,GAAG,GAAGjnB,EAAE1H,GAAG,KAAK+uB,EAAErzB,EAAE,MAAM,CAAC,GAAGA,CAAAA,EAAGd,GAAImG,CAAAA,EAAEguB,EAAE,EAAE,GAAGA,EAAEO,EAAE30B,GAAG,GAAGD,EAAEsF,GAAG,KAAK+uB,EAAEhuB,EAAE,MAAM,CAAC,GAAGA,CAAAA,EAAG,IAAIwuB,EAAE,GAAG,OAAOA,GAAG,OAAOA,GAAGR,EAAEI,EAAE,GAAGI,GAAGb,EAAE,KAAK,CAACa,GAAGR,EAAEluB,EAAE,GAAG0uB,GAAGR,EAAEpnB,EAAE,GAAG4nB,GAAGR,EAAEjuB,EAAE,KAAK,CAAC,GAAGyuB,GAAGR,EAAEjuB,EAAE,cAAc,CAAC,GAAGyuB,GAAGR,EAAEjuB,EAAE,gBAAgB,CAAC,GAAGyuB,GAAGR,EAAEJ,EAAE,MAAM,CAAC,GAAGY,GAAGR,EAAE/uB,EAAE,MAAM,CAAC,GAAG,CAAC,WAAWgO,EAAE,iBAAiB,CAACuhB,EAAEZ,EAAE3uB,EAAE,UAAUgO,EAAE,mBAAmB,CAAC+gB,EAAEM,EAAE,GAAGE,EAAER,EAAEp0B,EAAE,MAAM,CAAC,GAAG,WAAWo0B,EAAEK,EAAE,GAAGL,EAAEvwB,EAAE,GAAGmwB,EAAE3uB,EAAErF,CAAC,CAAC,CAAC,IAAIs0B,EAAEV,EAAE,YAAYnvB,EAAEmvB,EAAE,2BAA2BS,EAAET,EAAE,WAAWe,EAAEf,EAAE,YAAYvgB,EAAEugB,EAAE,gBAAgB,SAASC,EAAED,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,CAAC5M,CAAC,EAAEY,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,UAAU,CAACrE,EAAE,IAAI,CAAC,WAAW,CAACqQ,EAAE,IAAI,CAAC,cAAc,CAAC5M,EAAE,IAAI,CAAC,WAAW,CAAC+vB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,EAAE,CAACU,EAAE,QAAQ,CAACT,EAAEpvB,GAAGovB,EAAE,SAAS,CAAC,IAAI,CAAC,SAASD,CAAC,EAAE,IAAIxzB,EAAEwzB,EAAE,IAAI,CAAC,OAAO,EAAE,EAAEnjB,EAAE,IAAI,CAAC,YAAY,CAAC5M,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,AAAC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC+vB,GAAI,KAAI,CAAC,YAAY,EAAEA,EAAE,IAAI,CAAC,MAAM,CAACnvB,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAKmvB,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,QAAQnjB,EAAE,AAACrQ,CAAAA,EAAE,IAAKqQ,CAAAA,EAAE5M,EAAE,EAAC,EAAG4M,EAAE,GAAG,CAAC,EAAC,CAAE,EAAEojB,EAAE,SAAS,CAAC,YAAY,CAAC,SAASD,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAACA,EAAE,IAAI,CAAC,IAAI,CAAC,IAAIxzB,EAAE,IAAI,CAAC,WAAW,EAAE,CAACwzB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAGxzB,EAAE,CAAC,IAAIqQ,EAAE5M,EAAE+vB,EAAExzB,EAAE,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAKqQ,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAEojB,EAAE,SAAS,CAAC,YAAY,CAAC,SAASD,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAA8KA,EAA1KxzB,EAAE,IAAI,CAAC,WAAW,EAAE,CAACwzB,EAAE,IAAI,CAAC,GAAG,CAACnjB,EAAE5M,EAAE+vB,EAAExzB,EAAE,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAACqQ,EAAE,SAAS,EAAErQ,EAAE,MAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAUwzB,EAAwFA,EAA9EvgB,EAAE,eAAe,CAAC+gB,EAAER,EAAE,KAAK,CAAC,GAAGQ,EAAER,EAAE,cAAc,CAAC,GAAGQ,EAAER,EAAE,gBAAgB,CAAC,IAAO,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,KAAKnjB,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,GAAI,KAAI,CAAC,WAAW,CAAC,IAAI,EAAEojB,EAAE,SAAS,CAAC,KAAK,CAAC,WAAW,IAAI,IAAsJD,EAAExzB,EAAEqQ,EAAE5M,EAAEY,EAAOovB,EAAjKD,EAAE,IAAI,CAAC,YAAY,CAACxzB,EAAE,EAAEA,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAACA,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,CAACA,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAIqQ,EAAE,IAAI,CAAC,YAAY,CAACmjB,EAAE/vB,GAAW+vB,EAAqI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAzJxzB,EAA0JqQ,EAAxJA,EAA0JmjB,EAAxJ/vB,EAA0J,IAAI,CAAC,UAAU,CAAvKY,EAAwK,IAAI,CAAC,cAAc,CAApLovB,EAAES,EAAE,WAAW,CAAC,SAAS7vB,EAAEZ,IAAWwP,EAAE,qBAAqB,CAAC,WAAW+gB,EAAER,EAAE,GAAGQ,EAAER,EAAE,GAAGQ,EAAEh0B,EAAE,GAAGg0B,EAAE3jB,EAAE,GAAG2jB,EAAEP,EAAE,MAAM,CAAC,GAAGA,GAAmE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAKhwB,EAAE,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,EAAEgwB,EAAE,SAAS,CAAC,iBAAiB,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAEA,EAAE,SAAS,CAAC,gBAAgB,CAAC,SAASD,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAACA,GAAG,IAAIxzB,EAAE,IAAI,CAAC,OAAOwzB,EAAE,EAAE,CAAC,OAAO,SAASA,CAAC,EAAExzB,EAAE,YAAY,CAACwzB,EAAE,GAAGA,EAAE,EAAE,CAAC,MAAM,WAAWxzB,EAAE,YAAY,CAACA,EAAE,QAAQ,CAAC,UAAU,EAAEA,EAAE,QAAQ,CAAC,MAAM,CAACA,EAAE,iBAAiB,GAAGA,EAAE,GAAG,EAAE,GAAGwzB,EAAE,EAAE,CAAC,QAAQ,SAASA,CAAC,EAAExzB,EAAE,KAAK,CAACwzB,EAAE,GAAG,IAAI,EAAEC,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,MAAM,CAAC,CAACpvB,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAI,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAE,KAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAG,KAAI,CAAC,GAAG,GAAG,CAAC,EAAC,CAAE,EAAEovB,EAAE,SAAS,CAAC,KAAK,CAAC,SAASD,CAAC,EAAE,IAAIxzB,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACqE,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAACmvB,GAAG,MAAM,CAAC,EAAE,IAAI,IAAInjB,EAAE,EAAEA,EAAErQ,EAAE,MAAM,CAACqQ,IAAI,GAAG,CAACrQ,CAAC,CAACqQ,EAAE,CAAC,KAAK,CAACmjB,EAAE,CAAC,MAAMA,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAEC,EAAE,SAAS,CAAC,IAAI,CAAC,WAAWpvB,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAImvB,EAAE,IAAI,CAAC,QAAQ,CAACxzB,EAAE,EAAEA,EAAEwzB,EAAE,MAAM,CAACxzB,IAAIwzB,CAAC,CAACxzB,EAAE,CAAC,IAAI,EAAE,EAAEA,EAAE,OAAO,CAACyzB,CAAC,EAAE,CAAC,WAAW,EAAE,eAAe,GAAG,0BAA0B,GAAG,UAAU,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,SAASD,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAIsjB,EAAEH,EAAE,mBAAmB/vB,EAAE+vB,EAAE,kBAAmBnjB,CAAAA,EAAE,cAAc,CAAC,SAASmjB,CAAC,CAAC1tB,CAAC,CAAC9F,CAAC,EAAE,IAAI4M,EAAE,IAAInJ,EAAEqC,EAAE,WAAW,CAAC9F,EAAE8F,EAAE,QAAQ,CAACA,EAAE,cAAc,EAAE4tB,EAAE,EAAE,GAAG,CAACF,EAAE,OAAO,CAAC,SAASA,CAAC,CAACxzB,CAAC,EAAE0zB,IAAI,IAAIrjB,EAAE,SAASmjB,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAEmjB,GAAGxzB,EAAEyD,EAAEkwB,CAAC,CAACtjB,EAAE,CAAC,GAAG,CAAC5M,EAAE,MAAM,AAAItB,MAAMkO,EAAE,wCAAwC,OAAO5M,CAAC,EAAEzD,EAAE,OAAO,CAAC,WAAW,CAAC8F,EAAE,WAAW,EAAErC,EAAEzD,EAAE,OAAO,CAAC,kBAAkB,EAAE8F,EAAE,kBAAkB,EAAE,CAAC,EAAEzB,EAAErE,EAAE,GAAG,CAACyzB,EAAEzzB,EAAE,IAAI,CAACA,EAAE,eAAe,CAACqQ,EAAE5M,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK+vB,EAAE,IAAInvB,EAAE,KAAKovB,EAAE,QAAQzzB,EAAE,OAAO,EAAE,GAAG,gBAAgBA,EAAE,eAAe,CAAC,eAAeA,EAAE,cAAc,GAAG,IAAI,CAAC4M,EAAE,GAAGA,EAAE,YAAY,CAAC8mB,CAAC,CAAC,MAAMF,EAAE,CAAC5mB,EAAE,KAAK,CAAC4mB,EAAE,CAAC,OAAO5mB,CAAC,CAAC,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS4mB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,SAAS5M,IAAI,GAAG,CAAE,KAAI,YAAYA,CAAAA,EAAG,OAAO,IAAIA,EAAE,GAAG0C,UAAU,MAAM,CAAC,MAAM,AAAIhE,MAAM,iGAAkG,KAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,IAAIqxB,EAAE,IAAI/vB,EAAE,IAAI,IAAIzD,KAAK,IAAI,CAAC,YAAY,OAAO,IAAI,CAACA,EAAE,EAAGwzB,CAAAA,CAAC,CAACxzB,EAAE,CAAC,IAAI,CAACA,EAAE,AAAD,EAAG,OAAOwzB,CAAC,CAAC,CAAC,AAAC/vB,CAAAA,EAAE,SAAS,CAAC+vB,EAAE,WAAU,EAAG,SAAS,CAACA,EAAE,UAAU/vB,EAAE,OAAO,CAAC+vB,EAAE,aAAa/vB,EAAE,QAAQ,CAAC+vB,EAAE,cAAc/vB,EAAE,OAAO,CAAC,QAAQA,EAAE,SAAS,CAAC,SAAS+vB,CAAC,CAACxzB,CAAC,EAAE,MAAM,AAAC,KAAIyD,CAAAA,EAAG,SAAS,CAAC+vB,EAAExzB,EAAE,EAAEyD,EAAE,QAAQ,CAAC+vB,EAAE,cAAcxzB,EAAE,OAAO,CAACyD,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,GAAG,WAAW,GAAG,YAAY,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS+vB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5M,EAAE+vB,EAAE,WAAWnvB,EAAEmvB,EAAE,cAAc5mB,EAAE4mB,EAAE,UAAUE,EAAGjwB,CAAAA,EAAE+vB,EAAE,WAAWA,EAAE,eAAc,EAAGC,EAAED,EAAE,uBAAuBG,EAAEH,EAAE,gBAAoRxzB,CAAAA,EAAE,OAAO,CAAC,SAASwzB,CAAC,CAACC,CAAC,EAAE,IAAI3tB,EAAE,IAAI,CAAC,OAAO2tB,EAAEhwB,EAAE,MAAM,CAACgwB,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,sBAAsB,CAAC,EAAE,cAAc,CAAC,EAAE,eAAe7mB,EAAE,UAAU,GAAG+mB,EAAE,MAAM,EAAEA,EAAE,QAAQ,CAACH,GAAGnvB,EAAE,OAAO,CAAC,MAAM,CAAC,AAAIlC,MAAM,yDAAyDsB,EAAE,cAAc,CAAC,sBAAsB+vB,EAAE,CAAC,EAAEC,EAAE,qBAAqB,CAACA,EAAE,MAAM,EAAE,IAAI,CAAC,SAASD,CAAC,EAAE,IAAIxzB,EAAE,IAAI0zB,EAAED,GAAG,OAAOzzB,EAAE,IAAI,CAACwzB,GAAGxzB,CAAC,GAAG,IAAI,CAAC,SAASwzB,CAAC,EAAE,IAAIxzB,EAAE,CAACqE,EAAE,OAAO,CAAC,OAAO,CAACmvB,GAAG,CAACnjB,EAAEmjB,EAAE,KAAK,CAAC,GAAGC,EAAE,UAAU,CAAC,IAAI,IAAIhwB,EAAE,EAAEA,EAAE4M,EAAE,MAAM,CAAC5M,IAAIzD,EAAE,IAAI,CAACgkB,AAAxvB,SAAWvgB,CAAC,EAAE,OAAO,IAAIY,EAAE,OAAO,CAAC,SAASmvB,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE5M,EAAE,YAAY,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAIgwB,GAAGpjB,EAAE,EAAE,CAAC,QAAQ,SAASmjB,CAAC,EAAExzB,EAAEwzB,EAAE,GAAG,EAAE,CAAC,MAAM,WAAWnjB,EAAE,UAAU,CAAC,KAAK,GAAG5M,EAAE,YAAY,CAAC,KAAK,CAACzD,EAAE,AAAImC,MAAM,mCAAmCqxB,GAAG,GAAG,MAAM,EAAE,EAAE,EAAwfnjB,CAAC,CAAC5M,EAAE,GAAG,OAAOY,EAAE,OAAO,CAAC,GAAG,CAACrE,EAAE,GAAG,IAAI,CAAC,SAASwzB,CAAC,EAAE,IAAI,IAAIxzB,EAAEwzB,EAAE,KAAK,GAAGnjB,EAAErQ,EAAE,KAAK,CAACyD,EAAE,EAAEA,EAAE4M,EAAE,MAAM,CAAC5M,IAAI,CAAC,IAAIY,EAAEgM,CAAC,CAAC5M,EAAE,CAACqC,EAAE,IAAI,CAACzB,EAAE,WAAW,CAACA,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC,EAAE,KAAKA,EAAE,IAAI,CAAC,IAAIA,EAAE,GAAG,CAAC,QAAQA,EAAE,cAAc,CAAC,MAAM,CAACA,EAAE,cAAc,CAAC,KAAK,gBAAgBA,EAAE,eAAe,CAAC,eAAeA,EAAE,cAAc,CAAC,cAAcovB,EAAE,aAAa,EAAE,CAAC,OAAOzzB,EAAE,UAAU,CAAC,MAAM,EAAG8F,CAAAA,EAAE,OAAO,CAAC9F,EAAE,UAAU,AAAD,EAAG8F,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,gBAAgB,GAAG,sBAAsB,GAAG,SAAS,GAAG,UAAU,GAAG,eAAe,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS0tB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5M,EAAE+vB,EAAE,YAAYnvB,EAAEmvB,EAAE,2BAA2B,SAASC,EAAED,CAAC,CAACxzB,CAAC,EAAEqE,EAAE,IAAI,CAAC,IAAI,CAAC,mCAAmCmvB,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAACxzB,EAAE,CAACyD,EAAE,QAAQ,CAACgwB,EAAEpvB,GAAGovB,EAAE,SAAS,CAAC,WAAW,CAAC,SAASD,CAAC,EAAE,IAAIxzB,EAAE,IAAI,AAAC,CAAC,KAAI,CAAC,OAAO,CAACwzB,CAAAA,EAAG,KAAK,GAAGA,EAAE,EAAE,CAAC,OAAO,SAASA,CAAC,EAAExzB,EAAE,IAAI,CAAC,CAAC,KAAKwzB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,SAASA,CAAC,EAAExzB,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,CAACwzB,EAAExzB,EAAE,KAAK,CAACwzB,EAAE,GAAG,EAAE,CAAC,MAAM,WAAWxzB,EAAE,QAAQ,CAACA,EAAE,cAAc,CAAC,CAAC,EAAEA,EAAE,GAAG,EAAE,EAAE,EAAEyzB,EAAE,SAAS,CAAC,KAAK,CAAC,WAAW,MAAM,CAAC,CAACpvB,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAI,KAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,EAAEovB,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,MAAM,CAAC,CAACpvB,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAI,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,EAAErE,EAAE,OAAO,CAACyzB,CAAC,EAAE,CAAC,0BAA0B,GAAG,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,SAASD,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAIhM,EAAEmvB,EAAE,mBAAmB,QAAQ,CAAC,SAAS/vB,EAAE+vB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAEhM,EAAE,IAAI,CAAC,IAAI,CAACrE,GAAG,IAAI,CAAC,OAAO,CAACwzB,EAAE,IAAI/vB,EAAE,IAAI,CAAC+vB,EAAE,EAAE,CAAC,OAAO,SAASA,CAAC,CAACxzB,CAAC,EAAEyD,EAAE,IAAI,CAAC+vB,IAAI/vB,EAAE,OAAO,CAAC,KAAK,GAAG4M,GAAGA,EAAErQ,EAAE,GAAG,EAAE,CAAC,QAAQ,SAASwzB,CAAC,EAAE/vB,EAAE,IAAI,CAAC,QAAQ+vB,EAAE,GAAG,EAAE,CAAC,MAAM,WAAW/vB,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC+vB,EAAE,YAAY,QAAQ,CAAC/vB,EAAEY,GAAGZ,EAAE,SAAS,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAEzD,EAAE,OAAO,CAACyD,CAAC,EAAE,CAAC,WAAW,GAAG,kBAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS+vB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,YAAarQ,CAAAA,EAAE,OAAO,CAAC,CAAC,OAAO,SAAoBwB,EAAO,cAAc,SAASgyB,CAAC,CAACxzB,CAAC,EAAE,GAAGwB,EAAO,IAAI,EAAEA,EAAO,IAAI,GAAGI,WAAW,IAAI,CAAC,OAAOJ,EAAO,IAAI,CAACgyB,EAAExzB,GAAG,GAAG,UAAU,OAAOwzB,EAAE,MAAM,AAAIrxB,MAAM,4CAA4C,OAAO,IAAIX,EAAOgyB,EAAExzB,EAAE,EAAE,YAAY,SAASwzB,CAAC,EAAE,GAAGhyB,EAAO,KAAK,CAAC,OAAOA,EAAO,KAAK,CAACgyB,GAAG,IAAIxzB,EAAE,IAAIwB,EAAOgyB,GAAG,OAAOxzB,EAAE,IAAI,CAAC,GAAGA,CAAC,EAAE,SAAS,SAASwzB,CAAC,EAAE,OAAOhyB,EAAO,QAAQ,CAACgyB,EAAE,EAAE,SAAS,SAASA,CAAC,EAAE,OAAOA,GAAG,YAAY,OAAOA,EAAE,EAAE,EAAE,YAAY,OAAOA,EAAE,KAAK,EAAE,YAAY,OAAOA,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAASA,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,SAASojB,EAAED,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,IAAI5M,EAAEY,EAAEsvB,EAAE,SAAS,CAAC3zB,GAAGyzB,EAAEE,EAAE,MAAM,CAACtjB,GAAG,CAAC,EAAEujB,EAAGH,CAAAA,EAAE,IAAI,CAACA,EAAE,IAAI,EAAE,IAAIgB,KAAK,OAAOhB,EAAE,WAAW,EAAGA,CAAAA,EAAE,WAAW,CAACA,EAAE,WAAW,CAAC,WAAW,EAAC,EAAG,UAAU,OAAOA,EAAE,eAAe,EAAGA,CAAAA,EAAE,eAAe,CAACpsB,SAASosB,EAAE,eAAe,CAAC,EAAC,EAAGA,EAAE,eAAe,EAAE,MAAMA,EAAE,eAAe,EAAGA,CAAAA,EAAE,GAAG,CAAC,CAAC,GAAGA,EAAE,cAAc,EAAE,GAAGA,EAAE,cAAc,EAAGA,CAAAA,EAAE,GAAG,CAAC,CAAC,GAAGA,EAAE,GAAG,EAAGD,CAAAA,EAAE3zB,EAAE2zB,EAAC,EAAGC,EAAE,aAAa,EAAGhwB,CAAAA,EAAEyT,EAAEsc,EAAC,GAAIvuB,EAAE,IAAI,CAAC,IAAI,CAACxB,EAAE,CAAC,GAAG,IAAIqC,EAAE,WAAWzB,GAAG,CAAC,IAAIovB,EAAE,MAAM,EAAE,CAAC,IAAIA,EAAE,MAAM,AAACpjB,CAAAA,GAAG,KAAK,IAAIA,EAAE,MAAM,EAAGojB,CAAAA,EAAE,MAAM,CAAC,CAAC3tB,CAAAA,EAAG,AAAC9F,CAAAA,aAAa2M,GAAG,IAAI3M,EAAE,gBAAgB,EAAEyzB,EAAE,GAAG,EAAE,CAACzzB,GAAG,IAAIA,EAAE,MAAM,AAAD,GAAKyzB,CAAAA,EAAE,MAAM,CAAC,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,EAAEzzB,EAAE,GAAGyzB,EAAE,WAAW,CAAC,QAAQpvB,EAAE,QAAO,EAAG,IAAIuI,EAAE,KAAKA,EAAE5M,aAAa2M,GAAG3M,aAAagkB,EAAEhkB,EAAEJ,EAAE,MAAM,EAAEA,EAAE,QAAQ,CAACI,GAAG,IAAIL,EAAE6zB,EAAExzB,GAAG2zB,EAAE,cAAc,CAACH,EAAExzB,EAAEyzB,EAAE,MAAM,CAACA,EAAE,qBAAqB,CAACA,EAAE,MAAM,EAAE,IAAIC,EAAE,IAAIjsB,EAAE+rB,EAAE5mB,EAAE6mB,EAAG,KAAI,CAAC,KAAK,CAACD,EAAE,CAACE,CAAC,CAAC,IAAIrvB,EAAEmvB,EAAE,UAAUG,EAAEH,EAAE,WAAWxP,EAAEwP,EAAE,0BAA0B1tB,EAAE0tB,EAAE,yBAAyBI,EAAEJ,EAAE,cAAc7mB,EAAE6mB,EAAE,sBAAsB/rB,EAAE+rB,EAAE,eAAe5mB,EAAE4mB,EAAE,cAAc5zB,EAAE4zB,EAAE,iBAAiB7zB,EAAE6zB,EAAE,qCAAqCtc,EAAE,SAASsc,CAAC,EAAE,MAAMA,EAAE,KAAK,CAAC,KAAMA,CAAAA,EAAEA,EAAE,SAAS,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAC,EAAG,IAAIxzB,EAAEwzB,EAAE,WAAW,CAAC,KAAK,OAAO,EAAExzB,EAAEwzB,EAAE,SAAS,CAAC,EAAExzB,GAAG,EAAE,EAAEH,EAAE,SAAS2zB,CAAC,EAAE,MAAM,MAAMA,EAAE,KAAK,CAAC,KAAMA,CAAAA,GAAG,GAAE,EAAGA,CAAC,EAAEvuB,EAAE,SAASuuB,CAAC,CAACxzB,CAAC,EAAE,OAAOA,EAAE,KAAK,IAAIA,EAAEA,EAAE4zB,EAAE,aAAa,CAACJ,EAAE3zB,EAAE2zB,GAAG,IAAI,CAAC,KAAK,CAACA,EAAE,EAAEC,EAAE,IAAI,CAAC,IAAI,CAACD,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,cAAcxzB,CAAC,GAAG,IAAI,CAAC,KAAK,CAACwzB,EAAE,EAAE,SAASE,EAAEF,CAAC,EAAE,MAAM,oBAAoBj0B,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAACi0B,EAAE,CAAojExzB,EAAE,OAAO,CAAtjE,CAAC,KAAK,WAAW,MAAM,AAAImC,MAAM,6EAA6E,EAAE,QAAQ,SAASqxB,CAAC,EAAE,IAAIxzB,EAAEqQ,EAAE5M,EAAE,IAAIzD,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAACA,IAAKyD,CAAAA,EAAE,IAAI,CAAC,KAAK,CAACzD,EAAE,CAAC,AAACqQ,CAAAA,EAAErQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAACA,EAAE,MAAM,IAAIA,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAEwzB,EAAEnjB,EAAE5M,EAAC,CAAE,EAAE,OAAO,SAAS4M,CAAC,EAAE,IAAI5M,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS+vB,CAAC,CAACxzB,CAAC,EAAEqQ,EAAEmjB,EAAExzB,IAAIyD,EAAE,IAAI,CAACzD,EAAE,GAAGyD,CAAC,EAAE,KAAK,SAAS+vB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,GAAG,GAAIlK,UAAU,MAAM,CAAC,OAAOqtB,EAAE,IAAI,CAAC,IAAI,CAACA,EAAEC,EAAE,IAAI,CAAC,IAAI,CAACD,EAAExzB,EAAEqQ,GAAG,IAAI,CAAC,GAAGqjB,EAAEF,GAAG,CAAC,IAAI/vB,EAAE+vB,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,SAASA,CAAC,CAACxzB,CAAC,EAAE,MAAM,CAACA,EAAE,GAAG,EAAEyD,EAAE,IAAI,CAAC+vB,EAAE,EAAE,CAAC,IAAInvB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAACmvB,EAAE,CAAC,OAAOnvB,GAAG,CAACA,EAAE,GAAG,CAACA,EAAE,IAAI,EAAE,OAAO,SAASgM,CAAC,EAAE,GAAG,CAACA,EAAE,OAAO,IAAI,CAAC,GAAGqjB,EAAErjB,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,EAAE,OAAOA,EAAE,GAAG,EAAEqQ,EAAE,IAAI,CAACmjB,EAAE,GAAG,IAAIA,EAAE,IAAI,CAAC,IAAI,CAACnjB,EAAErQ,EAAEiF,EAAE,IAAI,CAAC,IAAI,CAACuuB,GAAG/vB,EAAE,IAAI,CAAC,KAAK,GAAG,OAAOA,EAAE,IAAI,CAACzD,EAAE,IAAI,CAACyD,CAAC,EAAE,OAAO,SAAS4M,CAAC,EAAEA,EAAE,IAAI,CAAC,IAAI,CAACA,EAAE,IAAImjB,EAAE,IAAI,CAAC,KAAK,CAACnjB,EAAE,CAAC,GAAGmjB,GAAI,OAAMnjB,EAAE,KAAK,CAAC,KAAMA,CAAAA,GAAG,GAAE,EAAGmjB,EAAE,IAAI,CAAC,KAAK,CAACnjB,EAAE,AAAD,EAAGmjB,GAAG,CAACA,EAAE,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,CAACnjB,EAAE,MAAM,IAAI,IAAIrQ,EAAE,IAAI,CAAC,MAAM,CAAC,SAASwzB,CAAC,CAACxzB,CAAC,EAAE,OAAOA,EAAE,IAAI,CAAC,KAAK,CAAC,EAAEqQ,EAAE,MAAM,IAAIA,CAAC,GAAG5M,EAAE,EAAEA,EAAEzD,EAAE,MAAM,CAACyD,IAAI,OAAO,IAAI,CAAC,KAAK,CAACzD,CAAC,CAACyD,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,SAAS,SAAS+vB,CAAC,EAAE,MAAM,AAAIrxB,MAAM,6EAA6E,EAAE,uBAAuB,SAASqxB,CAAC,EAAE,IAAIxzB,EAAEqQ,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,AAACA,CAAAA,EAAEsjB,EAAE,MAAM,CAACH,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,YAAY,QAAQ,mBAAmB,KAAK,KAAK,GAAG,SAAS,MAAM,QAAQ,KAAK,SAAS,kBAAkB,eAAenvB,EAAE,UAAU,EAAC,EAAG,IAAI,CAACgM,EAAE,IAAI,CAAC,WAAW,GAAGA,EAAE,WAAW,CAACA,EAAE,WAAW,CAAC,WAAW,GAAG,iBAAiBA,EAAE,IAAI,EAAGA,CAAAA,EAAE,IAAI,CAAC,QAAO,EAAG,CAACA,EAAE,IAAI,CAAC,MAAM,AAAIlO,MAAM,4BAA6BwxB,CAAAA,EAAE,YAAY,CAACtjB,EAAE,IAAI,EAAE,WAAWA,EAAE,QAAQ,EAAE,YAAYA,EAAE,QAAQ,EAAE,UAAUA,EAAE,QAAQ,EAAE,UAAUA,EAAE,QAAQ,EAAGA,CAAAA,EAAE,QAAQ,CAAC,MAAK,EAAG,UAAUA,EAAE,QAAQ,EAAGA,CAAAA,EAAE,QAAQ,CAAC,KAAI,EAAG,IAAI5M,EAAE4M,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAGrQ,EAAE4M,EAAE,cAAc,CAAC,IAAI,CAACyD,EAAE5M,EAAE,CAAC,MAAM+vB,EAAE,CAAC,AAACxzB,CAAAA,EAAE,IAAIgkB,EAAE,QAAO,EAAG,KAAK,CAACwP,EAAE,CAAC,OAAO,IAAI1tB,EAAE9F,EAAEqQ,EAAE,IAAI,EAAE,SAASA,EAAE,QAAQ,CAAC,EAAE,cAAc,SAASmjB,CAAC,CAACxzB,CAAC,EAAE,OAAO,IAAI,CAAC,sBAAsB,CAACwzB,GAAG,UAAU,CAACxzB,EAAE,EAAE,mBAAmB,SAASwzB,CAAC,CAACxzB,CAAC,EAAE,MAAM,AAACwzB,CAAAA,EAAEA,GAAG,CAAC,GAAG,IAAI,EAAGA,CAAAA,EAAE,IAAI,CAAC,YAAW,EAAG,IAAI,CAAC,sBAAsB,CAACA,GAAG,cAAc,CAACxzB,EAAE,CAAC,CAAa,EAAE,CAAC,qBAAqB,EAAE,aAAa,EAAE,aAAa,EAAE,oCAAoC,GAAG,gBAAgB,GAAG,yBAAyB,GAAG,wBAAwB,GAAG,SAAS,GAAG,UAAU,GAAG,cAAc,EAAE,EAAE,CAAC,GAAG,CAAC,SAASwzB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAErQ,EAAE,OAAO,CAACwzB,EAAE,SAAS,EAAE,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,SAASA,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5M,EAAE+vB,EAAE,gBAAgB,SAASnvB,EAAEmvB,CAAC,EAAE/vB,EAAE,IAAI,CAAC,IAAI,CAAC+vB,GAAG,IAAI,IAAIxzB,EAAE,EAAEA,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAACA,IAAIwzB,CAAC,CAACxzB,EAAE,CAAC,IAAIwzB,CAAC,CAACxzB,EAAE,CAACwzB,EAAE,YAAY,QAAQ,CAACnvB,EAAEZ,GAAGY,EAAE,SAAS,CAAC,MAAM,CAAC,SAASmvB,CAAC,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EAAE,EAAEnvB,EAAE,SAAS,CAAC,oBAAoB,CAAC,SAASmvB,CAAC,EAAE,IAAI,IAAIxzB,EAAEwzB,EAAE,UAAU,CAAC,GAAGnjB,EAAEmjB,EAAE,UAAU,CAAC,GAAG/vB,EAAE+vB,EAAE,UAAU,CAAC,GAAGnvB,EAAEmvB,EAAE,UAAU,CAAC,GAAGC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,GAAGA,EAAE,EAAEA,EAAE,GAAG,IAAI,CAAC,IAAI,CAACA,EAAE,GAAGzzB,GAAG,IAAI,CAAC,IAAI,CAACyzB,EAAE,EAAE,GAAGpjB,GAAG,IAAI,CAAC,IAAI,CAACojB,EAAE,EAAE,GAAGhwB,GAAG,IAAI,CAAC,IAAI,CAACgwB,EAAE,EAAE,GAAGpvB,EAAE,OAAOovB,EAAE,IAAI,CAAC,IAAI,CAAC,OAAM,EAAE,EAAEpvB,EAAE,SAAS,CAAC,qBAAqB,CAAC,SAASmvB,CAAC,EAAE,IAAIxzB,EAAEwzB,EAAE,UAAU,CAAC,GAAGnjB,EAAEmjB,EAAE,UAAU,CAAC,GAAG/vB,EAAE+vB,EAAE,UAAU,CAAC,GAAGnvB,EAAEmvB,EAAE,UAAU,CAAC,GAAGC,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAOzzB,IAAIyzB,CAAC,CAAC,EAAE,EAAEpjB,IAAIojB,CAAC,CAAC,EAAE,EAAEhwB,IAAIgwB,CAAC,CAAC,EAAE,EAAEpvB,IAAIovB,CAAC,CAAC,EAAE,EAAEpvB,EAAE,SAAS,CAAC,QAAQ,CAAC,SAASmvB,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,CAACA,GAAG,IAAIA,EAAE,MAAM,EAAE,CAAC,IAAIxzB,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAACwzB,GAAG,OAAO,IAAI,CAAC,KAAK,EAAEA,EAAExzB,CAAC,EAAEA,EAAE,OAAO,CAACqE,CAAC,EAAE,CAAC,WAAW,GAAG,eAAe,EAAE,EAAE,CAAC,GAAG,CAAC,SAASmvB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5M,EAAE+vB,EAAE,YAAY,SAASnvB,EAAEmvB,CAAC,EAAE,IAAI,CAAC,IAAI,CAACA,EAAE,IAAI,CAAC,MAAM,CAACA,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAACnvB,EAAE,SAAS,CAAC,CAAC,YAAY,SAASmvB,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAACA,EAAE,EAAE,WAAW,SAASA,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAACA,GAAGA,EAAE,EAAE,MAAM,AAAIrxB,MAAM,sCAAsC,IAAI,CAAC,MAAM,CAAC,mBAAmBqxB,EAAE,qBAAqB,EAAE,SAAS,SAASA,CAAC,EAAE,IAAI,CAAC,UAAU,CAACA,GAAG,IAAI,CAAC,KAAK,CAACA,CAAC,EAAE,KAAK,SAASA,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAACA,EAAE,EAAE,OAAO,SAASA,CAAC,EAAE,EAAE,QAAQ,SAASA,CAAC,EAAE,IAAIxzB,EAAEqQ,EAAE,EAAE,IAAI,IAAI,CAAC,WAAW,CAACmjB,GAAGxzB,EAAE,IAAI,CAAC,KAAK,CAACwzB,EAAE,EAAExzB,GAAG,IAAI,CAAC,KAAK,CAACA,IAAIqQ,EAAE,AAACA,CAAAA,GAAG,GAAG,IAAI,CAAC,MAAM,CAACrQ,GAAG,OAAO,IAAI,CAAC,KAAK,EAAEwzB,EAAEnjB,CAAC,EAAE,WAAW,SAASmjB,CAAC,EAAE,OAAO/vB,EAAE,WAAW,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC+vB,GAAG,EAAE,SAAS,SAASA,CAAC,EAAE,EAAE,qBAAqB,SAASA,CAAC,EAAE,EAAE,sBAAsB,SAASA,CAAC,EAAE,EAAE,SAAS,WAAW,IAAIA,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,OAAO,IAAIiB,KAAKA,KAAK,GAAG,CAAC,KAAMjB,CAAAA,GAAG,GAAG,GAAE,EAAG,AAACA,CAAAA,GAAG,GAAG,EAAC,EAAG,EAAEA,GAAG,GAAG,GAAGA,GAAG,GAAG,GAAGA,GAAG,EAAE,GAAG,AAAC,IAAGA,CAAAA,GAAI,GAAG,CAAC,EAAExzB,EAAE,OAAO,CAACqE,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,SAASmvB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5M,EAAE+vB,EAAE,sBAAsB,SAASnvB,EAAEmvB,CAAC,EAAE/vB,EAAE,IAAI,CAAC,IAAI,CAAC+vB,EAAE,CAACA,EAAE,YAAY,QAAQ,CAACnvB,EAAEZ,GAAGY,EAAE,SAAS,CAAC,QAAQ,CAAC,SAASmvB,CAAC,EAAE,IAAI,CAAC,WAAW,CAACA,GAAG,IAAIxzB,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAACwzB,GAAG,OAAO,IAAI,CAAC,KAAK,EAAEA,EAAExzB,CAAC,EAAEA,EAAE,OAAO,CAACqE,CAAC,EAAE,CAAC,WAAW,GAAG,qBAAqB,EAAE,EAAE,CAAC,GAAG,CAAC,SAASmvB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5M,EAAE+vB,EAAE,gBAAgB,SAASnvB,EAAEmvB,CAAC,EAAE/vB,EAAE,IAAI,CAAC,IAAI,CAAC+vB,EAAE,CAACA,EAAE,YAAY,QAAQ,CAACnvB,EAAEZ,GAAGY,EAAE,SAAS,CAAC,MAAM,CAAC,SAASmvB,CAAC,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAACA,EAAE,EAAEnvB,EAAE,SAAS,CAAC,oBAAoB,CAAC,SAASmvB,CAAC,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAACA,GAAG,IAAI,CAAC,IAAI,EAAEnvB,EAAE,SAAS,CAAC,qBAAqB,CAAC,SAASmvB,CAAC,EAAE,OAAOA,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAEnvB,EAAE,SAAS,CAAC,QAAQ,CAAC,SAASmvB,CAAC,EAAE,IAAI,CAAC,WAAW,CAACA,GAAG,IAAIxzB,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAACwzB,GAAG,OAAO,IAAI,CAAC,KAAK,EAAEA,EAAExzB,CAAC,EAAEA,EAAE,OAAO,CAACqE,CAAC,EAAE,CAAC,WAAW,GAAG,eAAe,EAAE,EAAE,CAAC,GAAG,CAAC,SAASmvB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5M,EAAE+vB,EAAE,iBAAiB,SAASnvB,EAAEmvB,CAAC,EAAE/vB,EAAE,IAAI,CAAC,IAAI,CAAC+vB,EAAE,CAACA,EAAE,YAAY,QAAQ,CAACnvB,EAAEZ,GAAGY,EAAE,SAAS,CAAC,QAAQ,CAAC,SAASmvB,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,CAACA,GAAG,IAAIA,EAAE,OAAO,IAAI5xB,WAAW,GAAG,IAAI5B,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAACwzB,GAAG,OAAO,IAAI,CAAC,KAAK,EAAEA,EAAExzB,CAAC,EAAEA,EAAE,OAAO,CAACqE,CAAC,EAAE,CAAC,WAAW,GAAG,gBAAgB,EAAE,EAAE,CAAC,GAAG,CAAC,SAASmvB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5M,EAAE+vB,EAAE,YAAYnvB,EAAEmvB,EAAE,cAAcC,EAAED,EAAE,iBAAiB1tB,EAAE0tB,EAAE,kBAAkB5mB,EAAE4mB,EAAE,sBAAsBE,EAAEF,EAAE,qBAAsBxzB,CAAAA,EAAE,OAAO,CAAC,SAASwzB,CAAC,EAAE,IAAIxzB,EAAEyD,EAAE,SAAS,CAAC+vB,GAAG,OAAO/vB,EAAE,YAAY,CAACzD,GAAG,WAAWA,GAAGqE,EAAE,UAAU,CAAC,eAAerE,EAAE,IAAI4M,EAAE4mB,GAAGnvB,EAAE,UAAU,CAAC,IAAIqvB,EAAEjwB,EAAE,WAAW,CAAC,aAAa+vB,IAAI,IAAIC,EAAEhwB,EAAE,WAAW,CAAC,QAAQ+vB,IAAI,IAAI1tB,EAAE0tB,EAAE,CAAC,EAAE,CAAC,aAAa,GAAG,WAAW,GAAG,gBAAgB,GAAG,qBAAqB,GAAG,iBAAiB,GAAG,qBAAqB,EAAE,EAAE,CAAC,GAAG,CAAC,SAASA,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,YAAaA,CAAAA,EAAE,iBAAiB,CAAC,aAAOA,EAAE,mBAAmB,CAAC,aAAOA,EAAE,qBAAqB,CAAC,aAAOA,EAAE,+BAA+B,CAAC,aAAOA,EAAE,2BAA2B,CAAC,aAAOA,EAAE,eAAe,CAAC,UAAO,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5M,EAAE+vB,EAAE,mBAAmBnvB,EAAEmvB,EAAE,YAAY,SAASC,EAAED,CAAC,EAAE/vB,EAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB+vB,GAAG,IAAI,CAAC,QAAQ,CAACA,CAAC,CAACnvB,EAAE,QAAQ,CAACovB,EAAEhwB,GAAGgwB,EAAE,SAAS,CAAC,YAAY,CAAC,SAASD,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAKnvB,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAACmvB,EAAE,IAAI,EAAE,KAAKA,EAAE,IAAI,EAAE,EAAExzB,EAAE,OAAO,CAACyzB,CAAC,EAAE,CAAC,WAAW,GAAG,kBAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,SAASD,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5M,EAAE+vB,EAAE,mBAAmBnvB,EAAEmvB,EAAE,YAAY,SAASC,IAAIhwB,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC+vB,EAAE,YAAY,QAAQ,CAACC,EAAEhwB,GAAGgwB,EAAE,SAAS,CAAC,YAAY,CAAC,SAASD,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAACnvB,EAAEmvB,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAACA,EAAE,EAAExzB,EAAE,OAAO,CAACyzB,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,kBAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,SAASD,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5M,EAAE+vB,EAAE,YAAYnvB,EAAEmvB,EAAE,mBAAmB,SAASC,EAAED,CAAC,EAAEnvB,EAAE,IAAI,CAAC,IAAI,CAAC,uBAAuBmvB,GAAG,IAAI,CAAC,QAAQ,CAACA,EAAE,IAAI,CAAC,cAAc,CAACA,EAAE,EAAE,CAAC/vB,EAAE,QAAQ,CAACgwB,EAAEpvB,GAAGovB,EAAE,SAAS,CAAC,YAAY,CAAC,SAASD,CAAC,EAAE,GAAGA,EAAE,CAAC,IAAIxzB,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAE,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAACA,EAAEwzB,EAAE,IAAI,CAAC,MAAM,CAACnvB,EAAE,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAACmvB,EAAE,EAAExzB,EAAE,OAAO,CAACyzB,CAAC,EAAE,CAAC,WAAW,GAAG,kBAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,SAASD,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5M,EAAE+vB,EAAE,YAAYnvB,EAAEmvB,EAAE,mBAAmB,SAASC,EAAED,CAAC,EAAEnvB,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,IAAIrE,EAAE,IAAI,AAAC,KAAI,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,EAAEwzB,EAAE,IAAI,CAAC,SAASA,CAAC,EAAExzB,EAAE,WAAW,CAAC,CAAC,EAAEA,EAAE,IAAI,CAACwzB,EAAExzB,EAAE,GAAG,CAACwzB,GAAGA,EAAE,MAAM,EAAE,EAAExzB,EAAE,IAAI,CAACyD,EAAE,SAAS,CAAC+vB,GAAGxzB,EAAE,QAAQ,EAAEA,EAAE,cAAc,EAAE,EAAE,SAASwzB,CAAC,EAAExzB,EAAE,KAAK,CAACwzB,EAAE,EAAE,CAAC/vB,EAAE,QAAQ,CAACgwB,EAAEpvB,GAAGovB,EAAE,SAAS,CAAC,OAAO,CAAC,WAAWpvB,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAEovB,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,MAAM,CAAC,CAACpvB,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAI,EAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,EAAG,KAAI,CAAC,cAAc,CAAC,CAAC,EAAEZ,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,EAAEgwB,EAAE,SAAS,CAAC,cAAc,CAAC,WAAW,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAG,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,EAAGhwB,CAAAA,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,EAAC,CAAE,EAAEgwB,EAAE,SAAS,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAID,EAAE,KAAKxzB,EAAEyE,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,SAAS+uB,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAACxzB,GAAG,KAAM,KAAI,aAAawzB,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAACxzB,GAAG,KAAM,KAAI,QAAQ,IAAI,aAAawzB,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAACxzB,EAAE,CAAC,OAAO,IAAI,CAAC,KAAK,CAACA,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAKwzB,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAExzB,EAAE,OAAO,CAACyzB,CAAC,EAAE,CAAC,WAAW,GAAG,kBAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,SAASD,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,SAAS5M,EAAE+vB,CAAC,EAAE,IAAI,CAAC,IAAI,CAACA,GAAG,UAAU,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC/vB,EAAE,SAAS,CAAC,CAAC,KAAK,SAAS+vB,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAOA,EAAE,EAAE,IAAI,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAMA,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQA,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,SAASA,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,EAAG,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAACA,EAAG,KAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQA,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAACA,GAAG,IAAI,CAAC,OAAO,EAAC,EAAG,CAAC,EAAE,EAAE,GAAG,SAASA,CAAC,CAACxzB,CAAC,EAAE,OAAO,IAAI,CAAC,UAAU,CAACwzB,EAAE,CAAC,IAAI,CAACxzB,GAAG,IAAI,EAAE,QAAQ,WAAW,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,SAASwzB,CAAC,CAACxzB,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAACwzB,EAAE,CAAC,IAAI,IAAInjB,EAAE,EAAEA,EAAE,IAAI,CAAC,UAAU,CAACmjB,EAAE,CAAC,MAAM,CAACnjB,IAAI,IAAI,CAAC,UAAU,CAACmjB,EAAE,CAACnjB,EAAE,CAAC,IAAI,CAAC,IAAI,CAACrQ,EAAE,EAAE,KAAK,SAASwzB,CAAC,EAAE,OAAOA,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,iBAAiB,SAASA,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,AAAIrxB,MAAM,eAAe,IAAI,CAAC,2BAA4B,KAAI,CAAC,UAAU,CAACqxB,EAAE,UAAU,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAACA,EAAE,IAAIxzB,EAAE,IAAI,CAAC,OAAOwzB,EAAE,EAAE,CAAC,OAAO,SAASA,CAAC,EAAExzB,EAAE,YAAY,CAACwzB,EAAE,GAAGA,EAAE,EAAE,CAAC,MAAM,WAAWxzB,EAAE,GAAG,EAAE,GAAGwzB,EAAE,EAAE,CAAC,QAAQ,SAASA,CAAC,EAAExzB,EAAE,KAAK,CAACwzB,EAAE,GAAG,IAAI,EAAE,MAAM,WAAW,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,EAAG,KAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,OAAO,WAAW,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAIA,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,cAAc,EAAG,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAEA,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAACA,CAAC,EAAE,MAAM,WAAW,EAAE,aAAa,SAASA,CAAC,EAAE,IAAI,CAAC,IAAI,CAACA,EAAE,EAAE,eAAe,SAASA,CAAC,CAACxzB,CAAC,EAAE,OAAO,IAAI,CAAC,eAAe,CAACwzB,EAAE,CAACxzB,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,EAAE,gBAAgB,WAAW,IAAI,IAAIwzB,KAAK,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAACA,IAAK,KAAI,CAAC,UAAU,CAACA,EAAE,CAAC,IAAI,CAAC,eAAe,CAACA,EAAE,AAAD,CAAE,EAAE,KAAK,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,AAAIrxB,MAAM,eAAe,IAAI,CAAC,2BAA4B,KAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,SAAS,WAAW,IAAIqxB,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAOA,EAAEA,CAAC,CAAC,EAAExzB,EAAE,OAAO,CAACyD,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS+vB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAIqjB,EAAEF,EAAE,YAAYnvB,EAAEmvB,EAAE,mBAAmBC,EAAED,EAAE,mBAAmBG,EAAEH,EAAE,aAAa/vB,EAAE+vB,EAAE,cAAc1tB,EAAE0tB,EAAE,eAAe5mB,EAAE,KAAK,GAAGnJ,EAAE,UAAU,CAAC,GAAG,CAACmJ,EAAE4mB,EAAE,sCAAsC,CAAC,MAAMA,EAAE,CAAC,CAAyxB,SAASI,EAAEJ,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,IAAI5M,EAAEzD,EAAE,OAAOA,GAAG,IAAI,OAAO,IAAI,cAAcyD,EAAE,aAAa,KAAM,KAAI,SAASA,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAACA,EAAE,IAAI,CAAC,WAAW,CAACzD,EAAE,IAAI,CAAC,SAAS,CAACqQ,EAAEqjB,EAAE,YAAY,CAACjwB,GAAG,IAAI,CAAC,OAAO,CAAC+vB,EAAE,IAAI,CAAC,IAAInvB,EAAEZ,IAAI+vB,EAAE,IAAI,EAAE,CAAC,MAAMA,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAIC,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,KAAK,CAACD,EAAE,CAAC,CAACI,EAAE,SAAS,CAAC,CAAC,WAAW,SAASJ,CAAC,MAA/kCA,EAAE5mB,EAA+kC,OAAjlC4mB,EAA0lC,IAAI,CAA5lC5mB,EAA6lC4mB,EAAnlC,IAAI1tB,EAAE,OAAO,CAAC,SAAS9F,CAAC,CAACqQ,CAAC,EAAE,IAAI5M,EAAE,EAAE,CAACY,EAAEmvB,EAAE,aAAa,CAACC,EAAED,EAAE,WAAW,CAAC1tB,EAAE0tB,EAAE,SAAS,CAACA,EAAE,EAAE,CAAC,OAAO,SAASA,CAAC,CAACxzB,CAAC,EAAEyD,EAAE,IAAI,CAAC+vB,GAAG5mB,GAAGA,EAAE5M,EAAE,GAAG,EAAE,CAAC,QAAQ,SAASwzB,CAAC,EAAE/vB,EAAE,EAAE,CAAC4M,EAAEmjB,EAAE,GAAG,EAAE,CAAC,MAAM,WAAW,GAAG,CAAC,IAAIA,EAAE,SAASA,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,OAAOmjB,GAAG,IAAI,OAAO,OAAOE,EAAE,OAAO,CAACA,EAAE,WAAW,CAAC,cAAc1zB,GAAGqQ,EAAG,KAAI,SAAS,OAAOsjB,EAAE,MAAM,CAAC3zB,EAAG,SAAQ,OAAO0zB,EAAE,WAAW,CAACF,EAAExzB,EAAE,CAAC,EAAEyzB,EAAE,SAASD,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE5M,EAAE,EAAEY,EAAE,KAAKovB,EAAE,EAAE,IAAIpjB,EAAE,EAAEA,EAAErQ,EAAE,MAAM,CAACqQ,IAAIojB,GAAGzzB,CAAC,CAACqQ,EAAE,CAAC,MAAM,CAAC,OAAOmjB,GAAG,IAAI,SAAS,OAAOxzB,EAAE,IAAI,CAAC,GAAI,KAAI,QAAQ,OAAO6H,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC7H,EAAG,KAAI,aAAa,IAAIqE,EAAE,IAAIzC,WAAW6xB,GAAGpjB,EAAE,EAAEA,EAAErQ,EAAE,MAAM,CAACqQ,IAAIhM,EAAE,GAAG,CAACrE,CAAC,CAACqQ,EAAE,CAAC5M,GAAGA,GAAGzD,CAAC,CAACqQ,EAAE,CAAC,MAAM,CAAC,OAAOhM,CAAE,KAAI,aAAa,OAAO7C,EAAO,MAAM,CAACxB,EAAG,SAAQ,MAAM,AAAImC,MAAM,8BAA8BqxB,EAAE,IAAI,CAAC,EAAEnvB,EAAEZ,GAAGqC,GAAG9F,EAAEwzB,EAAE,CAAC,MAAMA,EAAE,CAACnjB,EAAEmjB,EAAE,CAAC/vB,EAAE,EAAE,GAAG,MAAM,EAAE,EAAuV,EAAE,GAAG,SAAS+vB,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE,IAAI,CAAC,MAAM,SAASmjB,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAACA,EAAE,SAASA,CAAC,EAAExzB,EAAE,IAAI,CAACqQ,EAAEmjB,EAAE,IAAI,CAACA,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAACA,EAAE,WAAWE,EAAE,KAAK,CAAC1zB,EAAEmG,UAAUkK,EAAE,GAAG,IAAI,EAAE,OAAO,WAAW,OAAOqjB,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,EAAE,eAAe,SAASF,CAAC,EAAE,GAAGE,EAAE,YAAY,CAAC,cAAc,eAAe,IAAI,CAAC,WAAW,CAAC,MAAM,AAAIvxB,MAAM,IAAI,CAAC,WAAW,CAAC,oCAAoC,OAAO,IAAIyK,EAAE,IAAI,CAAC,CAAC,WAAW,eAAe,IAAI,CAAC,WAAW,EAAE4mB,EAAE,CAAC,EAAExzB,EAAE,OAAO,CAAC4zB,CAAC,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,sCAAsC,GAAG,aAAa,GAAG,WAAW,GAAG,kBAAkB,GAAG,kBAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,SAASJ,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,GAAGA,EAAE,MAAM,CAAC,CAAC,EAAEA,EAAE,KAAK,CAAC,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,EAAEA,EAAE,WAAW,CAAC,aAAa,OAAO9N,aAAa,aAAa,OAAOX,WAAWyO,EAAE,UAAU,CAAC,SAAoB7O,EAAO6O,EAAE,UAAU,CAAC,aAAa,OAAOzO,WAAW,aAAa,OAAOW,YAAY8N,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI5M,EAAE,IAAIlB,YAAY,GAAG,GAAG,CAAC8N,EAAE,IAAI,CAAC,IAAI,IAAIqkB,KAAK,CAACjxB,EAAE,CAAC,CAAC,KAAK,iBAAiB,GAAG,IAAI,CAAC,MAAM+vB,EAAE,CAAC,GAAG,CAAC,IAAInvB,EAAE,GAAItF,CAAAA,KAAK,WAAW,EAAEA,KAAK,iBAAiB,EAAEA,KAAK,cAAc,EAAEA,KAAK,aAAa,AAAD,CAAGsF,CAAAA,EAAE,MAAM,CAACZ,GAAG4M,EAAE,IAAI,CAAC,IAAIhM,EAAE,OAAO,CAAC,mBAAmB,IAAI,CAAC,MAAMmvB,EAAE,CAACnjB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAACA,EAAE,UAAU,CAAC,CAAC,CAACmjB,EAAE,mBAAmB,QAAQ,CAAC,MAAMA,EAAE,CAACnjB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,CAACyzB,CAAC,EAAE,aAAa,IAAI,IAAI7mB,EAAE4mB,EAAE,WAAWE,EAAEF,EAAE,aAAanjB,EAAEmjB,EAAE,iBAAiB/vB,EAAE+vB,EAAE,0BAA0BG,EAAE,AAAI9rB,MAAM,KAAKxD,EAAE,EAAEA,EAAE,IAAIA,IAAIsvB,CAAC,CAACtvB,EAAE,CAAC,KAAKA,EAAE,EAAE,KAAKA,EAAE,EAAE,KAAKA,EAAE,EAAE,KAAKA,EAAE,EAAE,KAAKA,EAAE,EAAE,EAAkB,SAASyB,IAAIrC,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAASugB,IAAIvgB,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAApHkwB,CAAC,CAAC,IAAI,CAACA,CAAC,CAAC,IAAI,CAAC,EAAuGF,EAAE,UAAU,CAAC,SAASD,CAAC,EAAE,OAAOE,EAAE,UAAU,CAACrjB,EAAE,aAAa,CAACmjB,EAAE,SAAS,SAASA,CAAC,EAAE,IAAIxzB,EAAEqQ,EAAE5M,EAAEY,EAAEovB,EAAE3tB,EAAE0tB,EAAE,MAAM,CAAC5mB,EAAE,EAAE,IAAIvI,EAAE,EAAEA,EAAEyB,EAAEzB,IAAI,OAAQ,OAAOgM,CAAAA,EAAEmjB,EAAE,UAAU,CAACnvB,EAAC,CAAC,GAAIA,EAAE,EAAEyB,GAAG,OAAQ,OAAOrC,CAAAA,EAAE+vB,EAAE,UAAU,CAACnvB,EAAE,EAAC,CAAC,GAAKgM,CAAAA,EAAE,MAAOA,CAAAA,EAAE,OAAO,EAAC,EAAI5M,CAAAA,EAAE,KAAI,EAAGY,GAAE,EAAGuI,GAAGyD,EAAE,IAAI,EAAEA,EAAE,KAAK,EAAEA,EAAE,MAAM,EAAE,EAAE,IAAIrQ,EAAE0zB,EAAE,UAAU,CAAC,IAAI9xB,WAAWgL,GAAG,AAAI/E,MAAM+E,GAAGvI,EAAEovB,EAAE,EAAEA,EAAE7mB,EAAEvI,IAAI,OAAQ,OAAOgM,CAAAA,EAAEmjB,EAAE,UAAU,CAACnvB,EAAC,CAAC,GAAIA,EAAE,EAAEyB,GAAG,OAAQ,OAAOrC,CAAAA,EAAE+vB,EAAE,UAAU,CAACnvB,EAAE,EAAC,CAAC,GAAKgM,CAAAA,EAAE,MAAOA,CAAAA,EAAE,OAAO,EAAC,EAAI5M,CAAAA,EAAE,KAAI,EAAGY,GAAE,EAAGgM,EAAE,IAAIrQ,CAAC,CAACyzB,IAAI,CAACpjB,EAAGA,CAAAA,EAAE,KAAKrQ,CAAC,CAACyzB,IAAI,CAAC,IAAIpjB,IAAI,EAAGA,CAAAA,EAAE,MAAMrQ,CAAC,CAACyzB,IAAI,CAAC,IAAIpjB,IAAI,GAAIrQ,CAAAA,CAAC,CAACyzB,IAAI,CAAC,IAAIpjB,IAAI,GAAGrQ,CAAC,CAACyzB,IAAI,CAAC,IAAIpjB,IAAI,GAAG,EAAC,EAAGrQ,CAAC,CAACyzB,IAAI,CAAC,IAAIpjB,IAAI,EAAE,EAAC,EAAGrQ,CAAC,CAACyzB,IAAI,CAAC,IAAI,GAAGpjB,CAAAA,EAAG,OAAOrQ,CAAC,EAAEwzB,EAAE,EAAEC,EAAE,UAAU,CAAC,SAASD,CAAC,EAAE,OAAOE,EAAE,UAAU,CAAC9mB,EAAE,WAAW,CAAC,aAAa4mB,GAAG,QAAQ,CAAC,SAAS,SAASA,CAAC,EAAE,IAAIxzB,EAAEqQ,EAAE5M,EAAEY,EAAEovB,EAAED,EAAE,MAAM,CAAC1tB,EAAE,AAAI+B,MAAM,EAAE4rB,GAAG,IAAIzzB,EAAEqQ,EAAE,EAAErQ,EAAEyzB,GAAG,GAAG,AAAChwB,CAAAA,EAAE+vB,CAAC,CAACxzB,IAAI,AAAD,EAAG,IAAI8F,CAAC,CAACuK,IAAI,CAAC5M,OAAO,GAAG,EAAGY,CAAAA,EAAEsvB,CAAC,CAAClwB,EAAE,AAAD,EAAGqC,CAAC,CAACuK,IAAI,CAAC,MAAMrQ,GAAGqE,EAAE,MAAM,CAAC,IAAIZ,GAAG,IAAIY,EAAE,GAAG,IAAIA,EAAE,GAAG,EAAE,EAAEA,GAAGrE,EAAEyzB,GAAGhwB,EAAEA,GAAG,EAAE,GAAG+vB,CAAC,CAACxzB,IAAI,CAACqE,GAAI,GAAEA,EAAEyB,CAAC,CAACuK,IAAI,CAAC,MAAM5M,EAAE,MAAMqC,CAAC,CAACuK,IAAI,CAAC5M,EAAGA,CAAAA,GAAG,MAAMqC,CAAC,CAACuK,IAAI,CAAC,MAAM5M,GAAG,GAAG,KAAKqC,CAAC,CAACuK,IAAI,CAAC,MAAM,KAAK5M,CAAAA,CAAE,CAAC,OAAOqC,EAAE,MAAM,GAAGuK,GAAIvK,CAAAA,EAAE,QAAQ,CAACA,EAAEA,EAAE,QAAQ,CAAC,EAAEuK,GAAGvK,EAAE,MAAM,CAACuK,CAAAA,EAAGzD,EAAE,iBAAiB,CAAC9G,EAAE,EAAE0tB,EAAE5mB,EAAE,WAAW,CAAC8mB,EAAE,UAAU,CAAC,aAAa,QAAQF,GAAG,EAAE5mB,EAAE,QAAQ,CAAC9G,EAAErC,GAAGqC,EAAE,SAAS,CAAC,YAAY,CAAC,SAAS0tB,CAAC,EAAE,IAAIxzB,EAAE4M,EAAE,WAAW,CAAC8mB,EAAE,UAAU,CAAC,aAAa,QAAQF,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAGE,EAAE,UAAU,CAAC,CAAC,IAAIrjB,EAAErQ,CAAE,CAACA,CAAAA,EAAE,IAAI4B,WAAWyO,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAGrQ,EAAE,GAAG,CAACqQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAMrQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAACA,EAAG,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAIyD,EAAE,SAAS+vB,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE,IAAI,AAACrQ,CAAAA,EAAEA,GAAGwzB,EAAE,MAAM,AAAD,EAAGA,EAAE,MAAM,EAAGxzB,CAAAA,EAAEwzB,EAAE,MAAM,AAAD,EAAGnjB,EAAErQ,EAAE,EAAE,GAAGqQ,GAAG,KAAM,KAAImjB,CAAC,CAACnjB,EAAE,AAAD,GAAIA,IAAI,OAAOA,EAAE,EAAErQ,EAAE,IAAIqQ,EAAErQ,EAAEqQ,EAAEsjB,CAAC,CAACH,CAAC,CAACnjB,EAAE,CAAC,CAACrQ,EAAEqQ,EAAErQ,CAAC,EAAEA,GAAGqE,EAAErE,CAAEyD,CAAAA,IAAIzD,EAAE,MAAM,EAAG0zB,CAAAA,EAAE,UAAU,CAAErvB,CAAAA,EAAErE,EAAE,QAAQ,CAAC,EAAEyD,GAAG,IAAI,CAAC,QAAQ,CAACzD,EAAE,QAAQ,CAACyD,EAAEzD,EAAE,MAAM,GAAIqE,CAAAA,EAAErE,EAAE,KAAK,CAAC,EAAEyD,GAAG,IAAI,CAAC,QAAQ,CAACzD,EAAE,KAAK,CAACyD,EAAEzD,EAAE,MAAM,EAAC,EAAG,IAAI,CAAC,IAAI,CAAC,CAAC,KAAKyzB,EAAE,UAAU,CAACpvB,GAAG,KAAKmvB,EAAE,IAAI,EAAE,EAAE1tB,EAAE,SAAS,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAG,KAAI,CAAC,IAAI,CAAC,CAAC,KAAK2tB,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAG,CAAE,EAAEA,EAAE,gBAAgB,CAAC3tB,EAAE8G,EAAE,QAAQ,CAACoX,EAAEvgB,GAAGugB,EAAE,SAAS,CAAC,YAAY,CAAC,SAASwP,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAKC,EAAE,UAAU,CAACD,EAAE,IAAI,EAAE,KAAKA,EAAE,IAAI,EAAE,EAAEC,EAAE,gBAAgB,CAACzP,CAAC,EAAE,CAAC,gBAAgB,GAAG,yBAAyB,GAAG,YAAY,GAAG,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,SAASwP,CAAC,CAACxzB,CAAC,CAAC8F,CAAC,EAAE,aAAa,IAAI8G,EAAE4mB,EAAE,aAAaE,EAAEF,EAAE,YAAYnjB,EAAEmjB,EAAE,iBAAiB/vB,EAAE+vB,EAAE,sBAAsBG,EAAEH,EAAE,cAAc,SAASnvB,EAAEmvB,CAAC,EAAE,OAAOA,CAAC,CAAC,SAASxP,EAAEwP,CAAC,CAACxzB,CAAC,EAAE,IAAI,IAAIqQ,EAAE,EAAEA,EAAEmjB,EAAE,MAAM,CAAC,EAAEnjB,EAAErQ,CAAC,CAACqQ,EAAE,CAAC,IAAImjB,EAAE,UAAU,CAACnjB,GAAG,OAAOrQ,CAAC,CAAC8F,EAAE,OAAO,CAAC,SAAS9F,CAAC,CAACqQ,CAAC,EAAEvK,EAAE,YAAY,CAAC,QAAQ,GAAG,CAAC,OAAO,IAAI4uB,KAAK,CAAC10B,EAAE,CAAC,CAAC,KAAKqQ,CAAC,EAAE,CAAC,MAAMmjB,EAAE,CAAC,GAAG,CAAC,IAAI/vB,EAAE,GAAI1E,CAAAA,KAAK,WAAW,EAAEA,KAAK,iBAAiB,EAAEA,KAAK,cAAc,EAAEA,KAAK,aAAa,AAAD,EAAG,OAAO0E,EAAE,MAAM,CAACzD,GAAGyD,EAAE,OAAO,CAAC4M,EAAE,CAAC,MAAMmjB,EAAE,CAAC,MAAM,AAAIrxB,MAAM,kCAAkC,CAAC,CAAC,EAAE,IAAIsxB,EAAE,CAAC,iBAAiB,SAASD,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,IAAI5M,EAAE,EAAE,CAACY,EAAE,EAAEovB,EAAED,EAAE,MAAM,CAAC,GAAGC,GAAGpjB,EAAE,OAAO3L,OAAO,YAAY,CAAC,KAAK,CAAC,KAAK8uB,GAAG,KAAKnvB,EAAEovB,GAAG,UAAUzzB,GAAG,eAAeA,EAAEyD,EAAE,IAAI,CAACiB,OAAO,YAAY,CAAC,KAAK,CAAC,KAAK8uB,EAAE,KAAK,CAACnvB,EAAEI,KAAK,GAAG,CAACJ,EAAEgM,EAAEojB,MAAMhwB,EAAE,IAAI,CAACiB,OAAO,YAAY,CAAC,KAAK,CAAC,KAAK8uB,EAAE,QAAQ,CAACnvB,EAAEI,KAAK,GAAG,CAACJ,EAAEgM,EAAEojB,MAAMpvB,GAAGgM,EAAE,OAAO5M,EAAE,IAAI,CAAC,GAAG,EAAE,gBAAgB,SAAS+vB,CAAC,EAAE,IAAI,IAAIxzB,EAAE,GAAGqQ,EAAE,EAAEA,EAAEmjB,EAAE,MAAM,CAACnjB,IAAIrQ,GAAG0E,OAAO,YAAY,CAAC8uB,CAAC,CAACnjB,EAAE,EAAE,OAAOrQ,CAAC,EAAE,eAAe,CAAC,WAAW,WAAW,GAAG,CAAC,OAAO4M,EAAE,UAAU,EAAE,IAAIlI,OAAO,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI9C,WAAW,IAAI,MAAM,CAAC,MAAM4xB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,WAAW,WAAW,GAAG,CAAC,OAAO5mB,EAAE,UAAU,EAAE,IAAIlI,OAAO,YAAY,CAAC,KAAK,CAAC,KAAK2L,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,MAAMmjB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,SAASI,EAAEJ,CAAC,EAAE,IAAIxzB,EAAE,MAAMqQ,EAAEvK,EAAE,SAAS,CAAC0tB,GAAG/vB,EAAE,CAAC,EAAE,GAAG,eAAe4M,EAAE5M,EAAEgwB,EAAE,cAAc,CAAC,UAAU,CAAC,eAAepjB,GAAI5M,CAAAA,EAAEgwB,EAAE,cAAc,CAAC,UAAU,AAAD,EAAGhwB,EAAE,KAAK,EAAEzD,GAAG,GAAG,CAAC,OAAOyzB,EAAE,gBAAgB,CAACD,EAAEnjB,EAAErQ,EAAE,CAAC,MAAMwzB,EAAE,CAACxzB,EAAEyE,KAAK,KAAK,CAACzE,EAAE,EAAE,CAAC,OAAOyzB,EAAE,eAAe,CAACD,EAAE,CAAC,SAAS7mB,EAAE6mB,CAAC,CAACxzB,CAAC,EAAE,IAAI,IAAIqQ,EAAE,EAAEA,EAAEmjB,EAAE,MAAM,CAACnjB,IAAIrQ,CAAC,CAACqQ,EAAE,CAACmjB,CAAC,CAACnjB,EAAE,CAAC,OAAOrQ,CAAC,CAAC8F,EAAE,iBAAiB,CAAC8tB,EAAE,IAAInsB,EAAE,CAAC,CAAEA,CAAAA,EAAE,MAAM,CAAC,CAAC,OAAOpD,EAAE,MAAM,SAASmvB,CAAC,EAAE,OAAOxP,EAAEwP,EAAE,AAAI3rB,MAAM2rB,EAAE,MAAM,EAAE,EAAE,YAAY,SAASA,CAAC,EAAE,OAAO/rB,EAAE,MAAM,CAAC,UAAU,CAAC+rB,GAAG,MAAM,EAAE,WAAW,SAASA,CAAC,EAAE,OAAOxP,EAAEwP,EAAE,IAAI5xB,WAAW4xB,EAAE,MAAM,EAAE,EAAE,WAAW,SAASA,CAAC,EAAE,OAAOxP,EAAEwP,EAAEnjB,EAAE,WAAW,CAACmjB,EAAE,MAAM,EAAE,CAAC,EAAE/rB,EAAE,KAAK,CAAC,CAAC,OAAOmsB,EAAE,MAAMvvB,EAAE,YAAY,SAASmvB,CAAC,EAAE,OAAO,IAAI5xB,WAAW4xB,GAAG,MAAM,EAAE,WAAW,SAASA,CAAC,EAAE,OAAO,IAAI5xB,WAAW4xB,EAAE,EAAE,WAAW,SAASA,CAAC,EAAE,OAAOnjB,EAAE,aAAa,CAACmjB,EAAE,CAAC,EAAE/rB,EAAE,WAAW,CAAC,CAAC,OAAO,SAAS+rB,CAAC,EAAE,OAAOI,EAAE,IAAIhyB,WAAW4xB,GAAG,EAAE,MAAM,SAASA,CAAC,EAAE,OAAO7mB,EAAE,IAAI/K,WAAW4xB,GAAG,AAAI3rB,MAAM2rB,EAAE,UAAU,EAAE,EAAE,YAAYnvB,EAAE,WAAW,SAASmvB,CAAC,EAAE,OAAO,IAAI5xB,WAAW4xB,EAAE,EAAE,WAAW,SAASA,CAAC,EAAE,OAAOnjB,EAAE,aAAa,CAAC,IAAIzO,WAAW4xB,GAAG,CAAC,EAAE/rB,EAAE,UAAU,CAAC,CAAC,OAAOmsB,EAAE,MAAM,SAASJ,CAAC,EAAE,OAAO7mB,EAAE6mB,EAAE,AAAI3rB,MAAM2rB,EAAE,MAAM,EAAE,EAAE,YAAY,SAASA,CAAC,EAAE,OAAOA,EAAE,MAAM,EAAE,WAAWnvB,EAAE,WAAW,SAASmvB,CAAC,EAAE,OAAOnjB,EAAE,aAAa,CAACmjB,EAAE,CAAC,EAAE/rB,EAAE,UAAU,CAAC,CAAC,OAAOmsB,EAAE,MAAM,SAASJ,CAAC,EAAE,OAAO7mB,EAAE6mB,EAAE,AAAI3rB,MAAM2rB,EAAE,MAAM,EAAE,EAAE,YAAY,SAASA,CAAC,EAAE,OAAO/rB,EAAE,UAAU,CAAC,UAAU,CAAC+rB,GAAG,MAAM,EAAE,WAAW,SAASA,CAAC,EAAE,OAAO7mB,EAAE6mB,EAAE,IAAI5xB,WAAW4xB,EAAE,MAAM,EAAE,EAAE,WAAWnvB,CAAC,EAAEyB,EAAE,WAAW,CAAC,SAAS0tB,CAAC,CAACxzB,CAAC,QAAE,AAAGA,CAAAA,EAAEA,GAAG,GAAIwzB,CAAAA,GAAW1tB,EAAE,YAAY,CAAC0tB,GAA+B/rB,CAAC,CAAvB3B,EAAE,SAAS,CAAC9F,GAAc,CAACwzB,EAAE,CAACxzB,IAAxDA,CAA0D,EAAE8F,EAAE,SAAS,CAAC,SAAS0tB,CAAC,EAAE,MAAM,UAAU,OAAOA,EAAE,SAAS,mBAAmBj0B,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAACi0B,GAAG,QAAQ5mB,EAAE,UAAU,EAAEyD,EAAE,QAAQ,CAACmjB,GAAG,aAAa5mB,EAAE,UAAU,EAAE4mB,aAAa5xB,WAAW,aAAagL,EAAE,WAAW,EAAE4mB,aAAajxB,YAAY,cAAc,KAAK,CAAC,EAAEuD,EAAE,YAAY,CAAC,SAAS0tB,CAAC,EAAE,GAAG,CAAC5mB,CAAC,CAAC4mB,EAAE,WAAW,GAAG,CAAC,MAAM,AAAIrxB,MAAMqxB,EAAE,qCAAqC,EAAE1tB,EAAE,gBAAgB,CAAC,MAAMA,EAAE,gBAAgB,CAAC,GAAGA,EAAE,MAAM,CAAC,SAAS0tB,CAAC,EAAE,IAAIxzB,EAAEqQ,EAAE5M,EAAE,GAAG,IAAI4M,EAAE,EAAEA,EAAE,AAACmjB,CAAAA,GAAG,EAAC,EAAG,MAAM,CAACnjB,IAAI5M,GAAG,MAAO,CAACzD,CAAAA,EAAEwzB,EAAE,UAAU,CAACnjB,EAAC,EAAG,GAAG,IAAI,EAAC,EAAGrQ,EAAE,QAAQ,CAAC,IAAI,WAAW,GAAG,OAAOyD,CAAC,EAAEqC,EAAE,KAAK,CAAC,SAAS0tB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE5M,EAAE,WAAW+vB,EAAE,KAAK,CAACnjB,GAAG,KAAKrQ,GAAG,EAAE,CAAC,EAAE,EAAE8F,EAAE,QAAQ,CAAC,SAAS0tB,CAAC,CAACxzB,CAAC,EAAE,SAASqQ,IAAI,CAACA,EAAE,SAAS,CAACrQ,EAAE,SAAS,CAACwzB,EAAE,SAAS,CAAC,IAAInjB,CAAC,EAAEvK,EAAE,MAAM,CAAC,WAAW,IAAI0tB,EAAExzB,EAAEqQ,EAAE,CAAC,EAAE,IAAImjB,EAAE,EAAEA,EAAErtB,UAAU,MAAM,CAACqtB,IAAI,IAAIxzB,KAAKmG,SAAS,CAACqtB,EAAE,CAACrtB,SAAS,CAACqtB,EAAE,CAAC,cAAc,CAACxzB,IAAI,KAAK,IAAIqQ,CAAC,CAACrQ,EAAE,EAAGqQ,CAAAA,CAAC,CAACrQ,EAAE,CAACmG,SAAS,CAACqtB,EAAE,CAACxzB,EAAE,AAAD,EAAG,OAAOqQ,CAAC,EAAEvK,EAAE,cAAc,CAAC,SAASuK,CAAC,CAACmjB,CAAC,CAAC/vB,CAAC,CAACY,CAAC,CAACovB,CAAC,EAAE,OAAOE,EAAE,OAAO,CAAC,OAAO,CAACH,GAAG,IAAI,CAAC,SAAS/vB,CAAC,EAAE,OAAOmJ,EAAE,IAAI,EAAGnJ,CAAAA,aAAaixB,MAAM,KAAK,CAAC,gBAAgB,gBAAgB,CAAC,OAAO,CAACn1B,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAACkE,GAAE,GAAI,aAAa,OAAOkxB,WAAW,IAAIhB,EAAE,OAAO,CAAC,SAAS3zB,CAAC,CAACqQ,CAAC,EAAE,IAAImjB,EAAE,IAAImB,UAAWnB,CAAAA,EAAE,MAAM,CAAC,SAASA,CAAC,EAAExzB,EAAEwzB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAEA,EAAE,OAAO,CAAC,SAASA,CAAC,EAAEnjB,EAAEmjB,EAAE,MAAM,CAAC,KAAK,CAAC,EAAEA,EAAE,iBAAiB,CAAC/vB,EAAE,GAAGA,CAAC,GAAG,IAAI,CAAC,SAAS+vB,CAAC,EAAE,IAAuIA,EAAnIxzB,EAAE8F,EAAE,SAAS,CAAC0tB,GAAG,OAAOxzB,EAAG,iBAAgBA,EAAEwzB,EAAE1tB,EAAE,WAAW,CAAC,aAAa0tB,GAAG,WAAWxzB,GAAIyzB,CAAAA,EAAED,EAAEE,EAAE,MAAM,CAACF,GAAG/vB,GAAG,CAAC,IAAIY,GAAImvB,CAAAA,EAAqBxP,EAAVwP,EAA0EA,EAA5D5mB,EAAE,UAAU,CAAC,IAAIhL,WAAW4xB,EAAE,MAAM,EAAE,AAAI3rB,MAAM2rB,EAAE,MAAM,EAAK,CAAC,EAAGA,CAAAA,EAAGG,EAAE,OAAO,CAAC,MAAM,CAAC,AAAIxxB,MAAM,2BAA2BkO,EAAE,8EAA8E,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,gBAAgB,GAAG,YAAY,GAAG,qBAAqB,EAAE,EAAE,CAAC,GAAG,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5M,EAAE+vB,EAAE,sBAAsBnvB,EAAEmvB,EAAE,WAAWC,EAAED,EAAE,eAAe1tB,EAAE0tB,EAAE,cAAc5mB,EAAG4mB,CAAAA,EAAE,UAAUA,EAAE,YAAW,EAAG,SAASE,EAAEF,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAACA,CAAC,CAACE,EAAE,SAAS,CAAC,CAAC,eAAe,SAASF,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAACA,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAIxzB,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAG,OAAM,AAAImC,MAAM,+CAA+CkC,EAAE,MAAM,CAACrE,GAAG,cAAcqE,EAAE,MAAM,CAACmvB,GAAG,IAAI,CAAC,EAAE,YAAY,SAASA,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAACmjB,GAAG,IAAI/vB,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAKzD,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAACqQ,GAAG5M,CAAC,EAAE,sBAAsB,WAAW,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI+vB,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAExzB,EAAE4M,EAAE,UAAU,CAAC,aAAa,QAAQyD,EAAEhM,EAAE,WAAW,CAACrE,EAAEwzB,EAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAACnjB,EAAE,EAAE,2BAA2B,WAAW,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,IAAImjB,EAAExzB,EAAEqQ,EAAE5M,EAAE,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAEA,GAAG+vB,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAGxzB,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAGqQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAACrQ,GAAG,IAAI,CAAC,mBAAmB,CAACwzB,EAAE,CAAC,CAAC,GAAGA,EAAE,OAAOxzB,EAAE,MAAMqQ,CAAC,CAAC,EAAE,kCAAkC,WAAW,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,AAAIlO,MAAM,sCAAsC,EAAE,eAAe,WAAW,IAAIqxB,EAAExzB,EAAE,IAAIwzB,EAAE,EAAEA,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAACA,IAAIxzB,EAAE,IAAI,CAAC,KAAK,CAACwzB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAACxzB,EAAE,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAACyzB,EAAE,iBAAiB,EAAEzzB,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,EAAEA,EAAE,UAAU,GAAGA,EAAE,iBAAiB,EAAE,EAAE,eAAe,WAAW,IAAIwzB,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAACC,EAAE,mBAAmB,GAAG,AAACD,CAAAA,EAAE,IAAI1tB,EAAE,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC0tB,GAAG,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,AAAIrxB,MAAM,kCAAkC,IAAI,CAAC,iBAAiB,CAAC,gCAAgC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,iBAAiB,WAAW,IAAIqxB,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAACC,EAAE,qBAAqB,EAAE,GAAGD,EAAE,EAAE,MAAK,AAAC,IAAI,CAAC,WAAW,CAAC,EAAEC,EAAE,iBAAiB,EAAuJ,AAAItxB,MAAM,sDAA/J,AAAIA,MAAM,2IAA2M,IAAI,CAAC,MAAM,CAAC,QAAQ,CAACqxB,GAAG,IAAIxzB,EAAEwzB,EAAE,GAAG,IAAI,CAAC,cAAc,CAACC,EAAE,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,UAAU,GAAGpvB,EAAE,gBAAgB,EAAE,IAAI,CAAC,uBAAuB,GAAGA,EAAE,gBAAgB,EAAE,IAAI,CAAC,2BAA2B,GAAGA,EAAE,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,GAAGA,EAAE,gBAAgB,EAAE,IAAI,CAAC,cAAc,GAAGA,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,GAAGA,EAAE,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,AAACmvB,CAAAA,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAACC,EAAE,+BAA+B,GAAG,EAAE,MAAM,AAAItxB,MAAM,wEAAwE,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAACqxB,GAAG,IAAI,CAAC,cAAc,CAACC,EAAE,+BAA+B,EAAE,IAAI,CAAC,iCAAiC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,kCAAkC,CAACA,EAAE,2BAA2B,GAAI,KAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAACA,EAAE,2BAA2B,EAAE,IAAI,CAAC,kCAAkC,CAAC,GAAG,MAAM,AAAItxB,MAAM,+DAAgE,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,kCAAkC,EAAE,IAAI,CAAC,cAAc,CAACsxB,EAAE,2BAA2B,EAAE,IAAI,CAAC,0BAA0B,EAAE,CAAC,IAAIpjB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,AAAC,KAAI,CAAC,KAAK,EAAGA,CAAAA,GAAG,GAAGA,GAAG,GAAG,IAAI,CAAC,qBAAqB,AAAD,EAAG,IAAI5M,EAAEzD,EAAEqQ,EAAE,GAAG,EAAE5M,EAAE,IAAI,CAAC,WAAW,CAACzD,EAAEyzB,EAAE,mBAAmB,GAAI,KAAI,CAAC,MAAM,CAAC,IAAI,CAAChwB,CAAAA,OAAQ,GAAGA,EAAE,EAAE,MAAM,AAAItB,MAAM,0BAA0BsC,KAAK,GAAG,CAAChB,GAAG,UAAU,EAAE,cAAc,SAAS+vB,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC/vB,EAAE+vB,EAAE,EAAE,KAAK,SAASA,CAAC,EAAE,IAAI,CAAC,aAAa,CAACA,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,EAAExzB,EAAE,OAAO,CAAC0zB,CAAC,EAAE,CAAC,qBAAqB,GAAG,cAAc,GAAG,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,EAAE,EAAE,CAAC,GAAG,CAAC,SAASF,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5M,EAAE+vB,EAAE,sBAAsBC,EAAED,EAAE,WAAWnvB,EAAEmvB,EAAE,sBAAsB1tB,EAAE0tB,EAAE,WAAW5mB,EAAE4mB,EAAE,UAAUE,EAAEF,EAAE,kBAAkBG,EAAEH,EAAE,aAAa,SAASxP,EAAEwP,CAAC,CAACxzB,CAAC,EAAE,IAAI,CAAC,OAAO,CAACwzB,EAAE,IAAI,CAAC,WAAW,CAACxzB,CAAC,CAACgkB,EAAE,SAAS,CAAC,CAAC,YAAY,WAAW,OAAO,GAAI,GAAE,IAAI,CAAC,OAAO,AAAD,CAAE,EAAE,QAAQ,WAAW,OAAO,MAAO,MAAK,IAAI,CAAC,OAAO,AAAD,CAAE,EAAE,cAAc,SAASwP,CAAC,EAAE,IAAIxzB,EAAEqQ,EAAE,GAAGmjB,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,CAACA,EAAE,OAAO,CAAC,GAAGnjB,EAAEmjB,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAACA,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAEA,EAAE,IAAI,CAACnjB,GAAG,KAAK,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,CAAC,gBAAgB,CAAC,MAAM,AAAIlO,MAAM,sIAAsI,GAAG,OAAQnC,CAAAA,EAAE,SAASwzB,CAAC,EAAE,IAAI,IAAIxzB,KAAK0zB,EAAE,GAAGA,EAAE,cAAc,CAAC1zB,IAAI0zB,CAAC,CAAC1zB,EAAE,CAAC,KAAK,GAAGwzB,EAAE,OAAOE,CAAC,CAAC1zB,EAAE,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC,iBAAiB,GAAG,MAAM,AAAImC,MAAM,+BAA+BsxB,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,0BAA0BA,EAAE,WAAW,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,IAAK,KAAI,CAAC,YAAY,CAAC,IAAIpvB,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAACrE,EAAEwzB,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,gBAAgB,SAASA,CAAC,EAAE,IAAI,CAAC,aAAa,CAACA,EAAE,OAAO,CAAC,GAAGA,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAACA,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAACA,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAACA,EAAE,QAAQ,GAAG,IAAI,CAAC,KAAK,CAACA,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,cAAc,CAACA,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAACA,EAAE,OAAO,CAAC,GAAG,IAAIxzB,EAAEwzB,EAAE,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAACA,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAACA,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,eAAe,CAACA,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAACA,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAACA,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAACA,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,MAAM,AAAIrxB,MAAM,kCAAmCqxB,CAAAA,EAAE,IAAI,CAACxzB,GAAG,IAAI,CAAC,eAAe,CAACwzB,GAAG,IAAI,CAAC,oBAAoB,CAACA,GAAG,IAAI,CAAC,WAAW,CAACA,EAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,kBAAkB,WAAW,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,KAAK,IAAIA,EAAE,IAAI,CAAC,aAAa,EAAE,CAAE,KAAI,CAAC,GAAG,CAAC,CAAC,CAAE,IAAG,IAAI,CAAC,sBAAsB,AAAD,EAAG,GAAGA,GAAI,KAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,sBAAsB,AAAD,EAAG,GAAGA,GAAI,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,KAAI,EAAG,IAAI,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAM,KAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,qBAAqB,SAASA,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAIxzB,EAAEyD,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAE,KAAI,CAAC,gBAAgB,GAAGgwB,EAAE,gBAAgB,EAAG,KAAI,CAAC,gBAAgB,CAACzzB,EAAE,OAAO,CAAC,EAAC,EAAG,IAAI,CAAC,cAAc,GAAGyzB,EAAE,gBAAgB,EAAG,KAAI,CAAC,cAAc,CAACzzB,EAAE,OAAO,CAAC,EAAC,EAAG,IAAI,CAAC,iBAAiB,GAAGyzB,EAAE,gBAAgB,EAAG,KAAI,CAAC,iBAAiB,CAACzzB,EAAE,OAAO,CAAC,EAAC,EAAG,IAAI,CAAC,eAAe,GAAGyzB,EAAE,gBAAgB,EAAG,KAAI,CAAC,eAAe,CAACzzB,EAAE,OAAO,CAAC,EAAC,CAAE,CAAC,EAAE,gBAAgB,SAASwzB,CAAC,EAAE,IAAIxzB,EAAEqQ,EAAE5M,EAAEY,EAAEmvB,EAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,WAAW,EAAG,KAAI,CAAC,WAAW,CAAC,CAAC,GAAGA,EAAE,KAAK,CAAC,EAAEnvB,GAAGrE,EAAEwzB,EAAE,OAAO,CAAC,GAAGnjB,EAAEmjB,EAAE,OAAO,CAAC,GAAG/vB,EAAE+vB,EAAE,QAAQ,CAACnjB,GAAG,IAAI,CAAC,WAAW,CAACrQ,EAAE,CAAC,CAAC,GAAGA,EAAE,OAAOqQ,EAAE,MAAM5M,CAAC,EAAE+vB,EAAE,QAAQ,CAACnvB,EAAE,EAAE,WAAW,WAAW,IAAImvB,EAAEG,EAAE,UAAU,CAAC,aAAa,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC/mB,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAACA,EAAE,UAAU,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,IAAI5M,EAAE,IAAI,CAAC,yBAAyB,GAAG,GAAG,OAAOA,EAAE,IAAI,CAAC,WAAW,CAACA,MAAM,CAAC,IAAIqQ,EAAEojB,EAAE,WAAW,CAACD,EAAE,IAAI,CAAC,QAAQ,CAAE,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAACnjB,EAAE,CAAC,IAAI5M,EAAE,IAAI,CAAC,4BAA4B,GAAG,GAAG,OAAOA,EAAE,IAAI,CAAC,cAAc,CAACA,MAAM,CAAC,IAAIY,EAAEovB,EAAE,WAAW,CAACD,EAAE,IAAI,CAAC,WAAW,CAAE,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAACnvB,EAAE,CAAC,CAAC,EAAE,0BAA0B,WAAW,IAAImvB,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAGA,EAAE,CAAC,IAAIxzB,EAAEyD,EAAE+vB,EAAE,KAAK,EAAE,OAAO,IAAIxzB,EAAE,OAAO,CAAC,GAAG,KAAK8F,EAAE,IAAI,CAAC,QAAQ,IAAI9F,EAAE,OAAO,CAAC,GAAG,KAAK4M,EAAE,UAAU,CAAC5M,EAAE,QAAQ,CAACwzB,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,6BAA6B,WAAW,IAAIA,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAGA,EAAE,CAAC,IAAIxzB,EAAEyD,EAAE+vB,EAAE,KAAK,EAAE,OAAO,IAAIxzB,EAAE,OAAO,CAAC,GAAG,KAAK8F,EAAE,IAAI,CAAC,WAAW,IAAI9F,EAAE,OAAO,CAAC,GAAG,KAAK4M,EAAE,UAAU,CAAC5M,EAAE,QAAQ,CAACwzB,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,EAAExzB,EAAE,OAAO,CAACgkB,CAAC,EAAE,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,UAAU,EAAE,qBAAqB,GAAG,YAAY,GAAG,SAAS,GAAG,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,SAASwP,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,SAAS5M,EAAE+vB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,IAAI,CAAC,IAAI,CAACmjB,EAAE,IAAI,CAAC,GAAG,CAACnjB,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAACA,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAACA,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAACA,EAAE,eAAe,CAAC,IAAI,CAAC,cAAc,CAACA,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAACrQ,EAAE,IAAI,CAAC,WAAW,CAACqQ,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,YAAYA,EAAE,WAAW,CAAC,mBAAmBA,EAAE,kBAAkB,CAAC,CAAC,IAAIojB,EAAED,EAAE,yBAAyBnvB,EAAEmvB,EAAE,uBAAuB1tB,EAAE0tB,EAAE,UAAU5mB,EAAE4mB,EAAE,sBAAsBE,EAAEF,EAAE,yBAA0B/vB,CAAAA,EAAE,SAAS,CAAC,CAAC,eAAe,SAAS+vB,CAAC,EAAE,IAAIxzB,EAAE,KAAKqQ,EAAE,SAAS,GAAG,CAAC,GAAG,CAACmjB,EAAE,MAAM,AAAIrxB,MAAM,6BAA6B,IAAIsB,EAAE,WAAY4M,CAAAA,EAAEmjB,EAAE,WAAW,EAAC,GAAI,SAASnjB,CAAE,kBAAiBA,GAAG,SAASA,GAAIA,CAAAA,EAAE,QAAO,EAAGrQ,EAAE,IAAI,CAAC,iBAAiB,GAAG,IAAIqE,EAAE,CAAC,IAAI,CAAC,WAAW,AAACA,CAAAA,GAAG,CAACZ,GAAIzD,CAAAA,EAAEA,EAAE,IAAI,CAAC,IAAI8F,EAAE,gBAAgB,GAAG,CAACzB,GAAGZ,GAAIzD,CAAAA,EAAEA,EAAE,IAAI,CAAC,IAAI8F,EAAE,gBAAgB,EAAE,CAAC,MAAM0tB,EAAE,CAAC,AAACxzB,CAAAA,EAAE,IAAI0zB,EAAE,QAAO,EAAG,KAAK,CAACF,EAAE,CAAC,OAAO,IAAIC,EAAEzzB,EAAEqQ,EAAE,GAAG,EAAE,MAAM,SAASmjB,CAAC,CAACxzB,CAAC,EAAE,OAAO,IAAI,CAAC,cAAc,CAACwzB,GAAG,UAAU,CAACxzB,EAAE,EAAE,WAAW,SAASwzB,CAAC,CAACxzB,CAAC,EAAE,OAAO,IAAI,CAAC,cAAc,CAACwzB,GAAG,cAAc,cAAc,CAACxzB,EAAE,EAAE,gBAAgB,SAASwzB,CAAC,CAACxzB,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,YAAY4M,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,GAAG4mB,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,IAAInjB,EAAE,IAAI,CAAC,iBAAiB,GAAG,OAAO,IAAI,CAAC,WAAW,EAAGA,CAAAA,EAAEA,EAAE,IAAI,CAAC,IAAIvK,EAAE,gBAAgB,GAAG8G,EAAE,gBAAgB,CAACyD,EAAEmjB,EAAExzB,EAAE,EAAE,kBAAkB,WAAW,OAAO,IAAI,CAAC,KAAK,YAAY4M,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,YAAY8mB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAIrvB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,IAAIsvB,EAAE,CAAC,SAAS,WAAW,eAAe,eAAe,gBAAgB,CAAC3P,EAAE,WAAW,MAAM,AAAI7hB,MAAM,6EAA6E,EAAEyxB,EAAE,EAAEA,EAAED,EAAE,MAAM,CAACC,IAAInwB,EAAE,SAAS,CAACkwB,CAAC,CAACC,EAAE,CAAC,CAAC5P,CAAEhkB,CAAAA,EAAE,OAAO,CAACyD,CAAC,EAAE,CAAC,qBAAqB,EAAE,sBAAsB,GAAG,yBAAyB,GAAG,wBAAwB,GAAG,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS+vB,CAAC,CAACxP,CAAC,CAAChkB,CAAC,EAAE,AAAC,UAASA,CAAC,EAAE,aAAa,IAAIqQ,EAAE5M,EAAE+vB,EAAExzB,EAAE,gBAAgB,EAAEA,EAAE,sBAAsB,CAAC,GAAGwzB,EAAE,CAAC,IAAInvB,EAAE,EAAEovB,EAAE,IAAID,EAAEG,GAAG7tB,EAAE9F,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAIyzB,CAAAA,EAAE,OAAO,CAAC3tB,EAAE,CAAC,cAAc,CAAC,CAAC,GAAGuK,EAAE,WAAWvK,EAAE,IAAI,CAACzB,EAAE,EAAEA,EAAE,CAAC,CAAC,MAAM,GAAGrE,EAAE,YAAY,EAAE,KAAK,IAAIA,EAAE,cAAc,CAACqQ,EAAE,aAAarQ,GAAG,uBAAuBA,EAAE,QAAQ,CAAC,aAAa,CAAC,UAAU,WAAW,IAAIwzB,EAAExzB,EAAE,QAAQ,CAAC,aAAa,CAAC,SAAUwzB,CAAAA,EAAE,kBAAkB,CAAC,WAAWG,IAAIH,EAAE,kBAAkB,CAAC,KAAKA,EAAE,UAAU,CAAC,WAAW,CAACA,GAAGA,EAAE,IAAI,EAAExzB,EAAE,QAAQ,CAAC,eAAe,CAAC,WAAW,CAACwzB,EAAE,EAAE,WAAW5nB,WAAW+nB,EAAE,EAAE,MAAM,CAAC,IAAI/mB,EAAE,IAAI5M,EAAE,cAAc,AAAC4M,CAAAA,EAAE,KAAK,CAAC,SAAS,CAAC+mB,EAAEtjB,EAAE,WAAWzD,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI8mB,EAAE,EAAE,CAAC,SAASC,IAAI,IAAIH,EAAExzB,EAAEyD,EAAE,CAAC,EAAE,IAAI,IAAI4M,EAAEqjB,EAAE,MAAM,CAACrjB,GAAG,CAAC,IAAIrQ,EAAE0zB,EAAEA,EAAE,EAAE,CAACF,EAAE,GAAG,EAAEA,EAAEnjB,GAAGrQ,CAAC,CAACwzB,EAAE,GAAGnjB,EAAEqjB,EAAE,MAAM,CAACjwB,EAAE,CAAC,CAAC,CAACugB,EAAE,OAAO,CAAC,SAASwP,CAAC,EAAE,IAAIE,EAAE,IAAI,CAACF,IAAI/vB,GAAG4M,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAoBjP,EAAOA,EAAO,aAAa,OAAOrC,KAAKA,KAAK,aAAa,OAAOkB,OAAOA,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAASuzB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAIhM,EAAEmvB,EAAE,aAAa,SAASG,IAAI,CAAC,IAAI3P,EAAE,CAAC,EAAEyP,EAAE,CAAC,WAAW,CAAC3tB,EAAE,CAAC,YAAY,CAACrC,EAAE,CAAC,UAAU,CAAC,SAASmJ,EAAE4mB,CAAC,EAAE,GAAG,YAAY,OAAOA,EAAE,MAAM,AAAIlxB,UAAU,8BAA+B,KAAI,CAAC,KAAK,CAACmB,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE+vB,IAAIG,GAAGlsB,EAAE,IAAI,CAAC+rB,EAAE,CAAC,SAASE,EAAEF,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,IAAI,CAAC,OAAO,CAACmjB,EAAE,YAAY,OAAOxzB,GAAI,KAAI,CAAC,WAAW,CAACA,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,AAAD,EAAG,YAAY,OAAOqQ,GAAI,KAAI,CAAC,UAAU,CAACA,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,AAAD,CAAE,CAAC,SAASujB,EAAE5zB,CAAC,CAACqQ,CAAC,CAAC5M,CAAC,EAAEY,EAAE,WAAW,IAAImvB,EAAE,GAAG,CAACA,EAAEnjB,EAAE5M,EAAE,CAAC,MAAM+vB,EAAE,CAAC,OAAOxP,EAAE,MAAM,CAAChkB,EAAEwzB,EAAE,CAACA,IAAIxzB,EAAEgkB,EAAE,MAAM,CAAChkB,EAAE,AAAIsC,UAAU,uCAAuC0hB,EAAE,OAAO,CAAChkB,EAAEwzB,EAAE,EAAE,CAAC,SAAS7mB,EAAE6mB,CAAC,EAAE,IAAIxzB,EAAEwzB,GAAGA,EAAE,IAAI,CAAC,GAAGA,GAAI,WAAU,OAAOA,GAAG,YAAY,OAAOA,CAAAA,GAAI,YAAY,OAAOxzB,EAAE,OAAO,WAAWA,EAAE,KAAK,CAACwzB,EAAErtB,UAAU,CAAC,CAAC,SAASsB,EAAEzH,CAAC,CAACwzB,CAAC,EAAE,IAAInjB,EAAE,CAAC,EAAE,SAAS5M,EAAE+vB,CAAC,EAAEnjB,GAAIA,CAAAA,EAAE,CAAC,EAAE2T,EAAE,MAAM,CAAChkB,EAAEwzB,EAAC,CAAE,CAAC,SAASnvB,EAAEmvB,CAAC,EAAEnjB,GAAIA,CAAAA,EAAE,CAAC,EAAE2T,EAAE,OAAO,CAAChkB,EAAEwzB,EAAC,CAAE,CAAC,IAAIC,EAAE7zB,EAAE,WAAW4zB,EAAEnvB,EAAEZ,EAAE,EAAG,WAAUgwB,EAAE,MAAM,EAAEhwB,EAAEgwB,EAAE,KAAK,CAAC,CAAC,SAAS7zB,EAAE4zB,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE,CAAC,EAAE,GAAG,CAACA,EAAE,KAAK,CAACmjB,EAAExzB,GAAGqQ,EAAE,MAAM,CAAC,SAAS,CAAC,MAAMmjB,EAAE,CAACnjB,EAAE,MAAM,CAAC,QAAQA,EAAE,KAAK,CAACmjB,CAAC,CAAC,OAAOnjB,CAAC,CAAC,AAACrQ,CAAAA,EAAE,OAAO,CAAC4M,CAAAA,EAAG,SAAS,CAAC,OAAO,CAAC,SAAS5M,CAAC,EAAE,GAAG,YAAY,OAAOA,EAAE,OAAO,IAAI,CAAC,IAAIqQ,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAASmjB,CAAC,EAAE,OAAOnjB,EAAE,OAAO,CAACrQ,KAAK,IAAI,CAAC,WAAW,OAAOwzB,CAAC,EAAE,EAAE,SAASA,CAAC,EAAE,OAAOnjB,EAAE,OAAO,CAACrQ,KAAK,IAAI,CAAC,WAAW,MAAMwzB,CAAC,EAAE,EAAE,EAAE5mB,EAAE,SAAS,CAAC,KAAK,CAAC,SAAS4mB,CAAC,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAKA,EAAE,EAAE5mB,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS4mB,CAAC,CAACxzB,CAAC,EAAE,GAAG,YAAY,OAAOwzB,GAAG,IAAI,CAAC,KAAK,GAAG1tB,GAAG,YAAY,OAAO9F,GAAG,IAAI,CAAC,KAAK,GAAGyzB,EAAE,OAAO,IAAI,CAAC,IAAIpjB,EAAE,IAAI,IAAI,CAAC,WAAW,CAACsjB,GAAqF,OAAlF,IAAI,CAAC,KAAK,GAAGlwB,EAAEmwB,EAAEvjB,EAAE,IAAI,CAAC,KAAK,GAAGvK,EAAE0tB,EAAExzB,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI0zB,EAAErjB,EAAEmjB,EAAExzB,IAAWqQ,CAAC,EAAEqjB,EAAE,SAAS,CAAC,aAAa,CAAC,SAASF,CAAC,EAAExP,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAACwP,EAAE,EAAEE,EAAE,SAAS,CAAC,kBAAkB,CAAC,SAASF,CAAC,EAAEI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAACJ,EAAE,EAAEE,EAAE,SAAS,CAAC,YAAY,CAAC,SAASF,CAAC,EAAExP,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAACwP,EAAE,EAAEE,EAAE,SAAS,CAAC,iBAAiB,CAAC,SAASF,CAAC,EAAEI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAACJ,EAAE,EAAExP,EAAE,OAAO,CAAC,SAASwP,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAEzQ,EAAE+M,EAAE3M,GAAG,GAAG,UAAUqQ,EAAE,MAAM,CAAC,OAAO2T,EAAE,MAAM,CAACwP,EAAEnjB,EAAE,KAAK,EAAE,IAAI5M,EAAE4M,EAAE,KAAK,CAAC,GAAG5M,EAAEgE,EAAE+rB,EAAE/vB,OAAO,CAAC+vB,EAAE,KAAK,CAAC1tB,EAAE0tB,EAAE,OAAO,CAACxzB,EAAE,IAAI,IAAIqE,EAAE,GAAGovB,EAAED,EAAE,KAAK,CAAC,MAAM,CAAC,EAAEnvB,EAAEovB,GAAGD,EAAE,KAAK,CAACnvB,EAAE,CAAC,aAAa,CAACrE,EAAE,CAAC,OAAOwzB,CAAC,EAAExP,EAAE,MAAM,CAAC,SAASwP,CAAC,CAACxzB,CAAC,EAAEwzB,EAAE,KAAK,CAACC,EAAED,EAAE,OAAO,CAACxzB,EAAE,IAAI,IAAIqQ,EAAE,GAAG5M,EAAE+vB,EAAE,KAAK,CAAC,MAAM,CAAC,EAAEnjB,EAAE5M,GAAG+vB,EAAE,KAAK,CAACnjB,EAAE,CAAC,YAAY,CAACrQ,GAAG,OAAOwzB,CAAC,EAAE5mB,EAAE,OAAO,CAAC,SAAS4mB,CAAC,SAAE,AAAGA,aAAa,IAAI,CAAQA,EAASxP,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC2P,GAAGH,EAAE,EAAE5mB,EAAE,MAAM,CAAC,SAAS4mB,CAAC,EAAE,IAAIxzB,EAAE,IAAI,IAAI,CAAC2zB,GAAG,OAAO3P,EAAE,MAAM,CAAChkB,EAAEwzB,EAAE,EAAE5mB,EAAE,GAAG,CAAC,SAAS4mB,CAAC,EAAE,IAAInjB,EAAE,IAAI,CAAC,GAAG,mBAAmB9Q,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAACi0B,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,AAAIlxB,UAAU,qBAAqB,IAAImB,EAAE+vB,EAAE,MAAM,CAACnvB,EAAE,CAAC,EAAE,GAAG,CAACZ,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAA4C,IAA1C,IAAIgwB,EAAE,AAAI5rB,MAAMpE,GAAGqC,EAAE,EAAE9F,EAAE,GAAG4M,EAAE,IAAI,IAAI,CAAC+mB,GAAQ,EAAE3zB,EAAEyD,GAAGiwB,AAAmB,UAAWF,CAAC,CAACxzB,CAAC,EAAEqQ,EAAE,OAAO,CAACmjB,GAAG,IAAI,CAAC,SAASA,CAAC,EAAEC,CAAC,CAACzzB,EAAE,CAACwzB,EAAE,EAAE1tB,IAAIrC,GAAGY,GAAIA,CAAAA,EAAE,CAAC,EAAE2f,EAAE,OAAO,CAACpX,EAAE6mB,EAAC,CAAE,EAAE,SAASD,CAAC,EAAEnvB,GAAIA,CAAAA,EAAE,CAAC,EAAE2f,EAAE,MAAM,CAACpX,EAAE4mB,EAAC,CAAE,EAAE,GAA9IA,CAAC,CAACxzB,EAAE,CAACA,GAAG,OAAO4M,CAAgI,EAAEA,EAAE,IAAI,CAAC,SAAS4mB,CAAC,EAAa,GAAG,mBAAmBj0B,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAACi0B,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,AAAIlxB,UAAU,qBAAqB,IAA8LwD,EAA1LuK,EAAEmjB,EAAE,MAAM,CAAC/vB,EAAE,CAAC,EAAE,GAAG,CAAC4M,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAyB,IAAvB,IAAIhM,EAAE,GAAGovB,EAAE,IAAI,IAAI,CAACE,GAAQ,EAAEtvB,EAAEgM,GAAGvK,EAAE0tB,CAAC,CAACnvB,EAAE,CAACrE,AAA/M,IAAI,CAA6M,OAAO,CAAC8F,GAAG,IAAI,CAAC,SAAS0tB,CAAC,EAAE/vB,GAAIA,CAAAA,EAAE,CAAC,EAAEugB,EAAE,OAAO,CAACyP,EAAED,EAAC,CAAE,EAAE,SAASA,CAAC,EAAE/vB,GAAIA,CAAAA,EAAE,CAAC,EAAEugB,EAAE,MAAM,CAACyP,EAAED,EAAC,CAAE,GAAS,OAAOC,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,SAASD,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5M,EAAE,CAAC,CAAE,CAAC,GAAE+vB,EAAE,sBAAsB,MAAM,AAAD,EAAG/vB,EAAE+vB,EAAE,iBAAiBA,EAAE,iBAAiBA,EAAE,yBAAyBxzB,EAAE,OAAO,CAACyD,CAAC,EAAE,CAAC,gBAAgB,GAAG,gBAAgB,GAAG,qBAAqB,GAAG,uBAAuB,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS+vB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAIvK,EAAE0tB,EAAE,kBAAkB5mB,EAAE4mB,EAAE,kBAAkBE,EAAEF,EAAE,mBAAmBnvB,EAAEmvB,EAAE,mBAAmBC,EAAED,EAAE,kBAAkBG,EAAEp0B,OAAO,SAAS,CAAC,QAAQ,CAAkB,SAASK,EAAE4zB,CAAC,EAAE,GAAG,CAAE,KAAI,YAAY5zB,CAAAA,EAAG,OAAO,IAAIA,EAAE4zB,EAAG,KAAI,CAAC,OAAO,CAAC5mB,EAAE,MAAM,CAAC,CAAC,MAAxF,GAAgG,OAAvF,EAAgG,UAAU,MAAM,WAAW,GAAG,SAAS,EAAE,SAA7I,EAAwJ,GAAG,EAAE,EAAE4mB,GAAG,CAAC,GAAG,IAAmZ/vB,EAA/YzD,EAAE,IAAI,CAAC,OAAO,AAACA,CAAAA,EAAE,GAAG,EAAE,EAAEA,EAAE,UAAU,CAACA,EAAE,UAAU,CAAC,CAACA,EAAE,UAAU,CAACA,EAAE,IAAI,EAAE,EAAEA,EAAE,UAAU,EAAEA,EAAE,UAAU,CAAC,IAAKA,CAAAA,EAAE,UAAU,EAAE,EAAC,EAAG,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIyzB,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAIpjB,EAAEvK,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC9F,EAAE,KAAK,CAACA,EAAE,MAAM,CAACA,EAAE,UAAU,CAACA,EAAE,QAAQ,CAACA,EAAE,QAAQ,EAAE,GAAGqQ,AAAhe,IAAgeA,EAAM,MAAM,AAAIlO,MAAMkC,CAAC,CAACgM,EAAE,EAAE,GAAGrQ,EAAE,MAAM,EAAE8F,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC9F,EAAE,MAAM,EAAEA,EAAE,UAAU,CAAC,CAAO,GAAGyD,EAAE,UAAU,OAAOzD,EAAE,UAAU,CAAC0zB,EAAE,UAAU,CAAC1zB,EAAE,UAAU,EAAE,yBAAyB2zB,EAAE,IAAI,CAAC3zB,EAAE,UAAU,EAAE,IAAI4B,WAAW5B,EAAE,UAAU,EAAEA,EAAE,UAAU,CAAC,AAA1tB,IAA2tBqQ,CAAAA,EAAEvK,EAAE,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAACrC,EAAC,EAAO,MAAM,AAAItB,MAAMkC,CAAC,CAACgM,EAAE,CAAE,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS5M,EAAE+vB,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE,IAAIzQ,EAAEI,GAAG,GAAGqQ,EAAE,IAAI,CAACmjB,EAAE,CAAC,GAAGnjB,EAAE,GAAG,CAAC,MAAMA,EAAE,GAAG,EAAEhM,CAAC,CAACgM,EAAE,GAAG,CAAC,CAAC,OAAOA,EAAE,MAAM,CAACzQ,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS4zB,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE5M,EAAEY,EAAE,IAAI,CAAC,IAAI,CAACovB,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAEhwB,CAAAA,EAAEzD,IAAI,CAAC,CAACA,EAAEA,EAAE,CAAC,IAAIA,EAAE,EAAE,EAAE,UAAU,OAAOwzB,EAAEnvB,EAAE,KAAK,CAACqvB,EAAE,UAAU,CAACF,GAAG,yBAAyBG,EAAE,IAAI,CAACH,GAAGnvB,EAAE,KAAK,CAAC,IAAIzC,WAAW4xB,GAAGnvB,EAAE,KAAK,CAACmvB,EAAEnvB,EAAE,OAAO,CAAC,EAAEA,EAAE,QAAQ,CAACA,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAIA,EAAE,SAAS,EAAGA,CAAAA,EAAE,MAAM,CAAC,IAAIuI,EAAE,IAAI,CAAC6mB,GAAGpvB,EAAE,QAAQ,CAAC,EAAEA,EAAE,SAAS,CAACovB,CAAAA,EAAG,IAAKpjB,CAAAA,EAAEvK,EAAE,OAAO,CAACzB,EAAEZ,EAAC,GAAI4M,AAA/vC,IAA+vCA,EAAM,OAAO,IAAI,CAAC,KAAK,CAACA,GAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAd,EAAiB,KAAIhM,EAAE,SAAS,EAAG,KAAIA,EAAE,QAAQ,EAAE,IAAIZ,GAAG,IAAIA,CAAAA,GAAK,YAAW,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAACiwB,EAAE,aAAa,CAAC9mB,EAAE,SAAS,CAACvI,EAAE,MAAM,CAACA,EAAE,QAAQ,IAAI,IAAI,CAAC,MAAM,CAACuI,EAAE,SAAS,CAACvI,EAAE,MAAM,CAACA,EAAE,QAAQ,EAAC,CAAE,OAAO,AAAC,GAAEA,EAAE,QAAQ,EAAE,IAAIA,EAAE,SAAS,AAAD,GAAI,IAAIgM,EAAG,QAAO,IAAI5M,EAAG4M,CAAAA,EAAEvK,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAACuK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAEA,AAAxlD,IAAwlDA,CAAI2T,EAAG,IAAIvgB,GAAI,KAAI,CAAC,KAAK,CAAjnD,GAAunDY,EAAE,SAAS,CAAC,EAAd,EAAe,CAAE,EAAEzE,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS4zB,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAACA,EAAE,EAAE5zB,EAAE,SAAS,CAAC,KAAK,CAAC,SAAS4zB,CAAC,EAAEA,AAA1tD,IAA0tDA,GAAQ,YAAW,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC5mB,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC4mB,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAEnjB,EAAE,OAAO,CAACzQ,EAAEyQ,EAAE,OAAO,CAAC5M,EAAE4M,EAAE,UAAU,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAEA,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,EAAEyD,EAAE+vB,EAAExzB,EAAE,EAAEqQ,EAAE,IAAI,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAEA,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,EAAEyD,EAAE+vB,EAAExzB,EAAE,CAAC,EAAE,CAAC,iBAAiB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,iBAAiB,EAAE,EAAE,CAAC,GAAG,CAAC,SAASwzB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI1D,EAAE6mB,EAAE,kBAAkB/rB,EAAE+rB,EAAE,kBAAkB5zB,EAAE4zB,EAAE,mBAAmB7zB,EAAE6zB,EAAE,oBAAoB/vB,EAAE+vB,EAAE,mBAAmBnvB,EAAEmvB,EAAE,kBAAkBC,EAAED,EAAE,mBAAmBtc,EAAE3X,OAAO,SAAS,CAAC,QAAQ,CAAC,SAASuG,EAAE0tB,CAAC,EAAE,GAAG,CAAE,KAAI,YAAY1tB,CAAAA,EAAG,OAAO,IAAIA,EAAE0tB,EAAG,KAAI,CAAC,OAAO,CAAC/rB,EAAE,MAAM,CAAC,CAAC,UAAU,MAAM,WAAW,EAAE,GAAG,EAAE,EAAE+rB,GAAG,CAAC,GAAG,IAAIxzB,EAAE,IAAI,CAAC,OAAO,AAACA,CAAAA,EAAE,GAAG,EAAE,GAAGA,EAAE,UAAU,EAAEA,EAAE,UAAU,CAAC,IAAKA,CAAAA,EAAE,UAAU,CAAC,CAACA,EAAE,UAAU,CAAC,IAAIA,EAAE,UAAU,EAAGA,CAAAA,EAAE,UAAU,CAAC,GAAE,CAAC,EAAG,CAAE,IAAGA,EAAE,UAAU,EAAEA,EAAE,UAAU,CAAC,EAAC,GAAIwzB,GAAGA,EAAE,UAAU,EAAGxzB,CAAAA,EAAE,UAAU,EAAE,EAAC,EAAG,GAAGA,EAAE,UAAU,EAAEA,EAAE,UAAU,CAAC,IAAI,GAAI,IAAGA,EAAE,UAAU,AAAD,GAAKA,CAAAA,EAAE,UAAU,EAAE,EAAC,EAAG,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIqE,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAIgM,EAAE1D,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC3M,EAAE,UAAU,EAAE,GAAGqQ,IAAI1Q,EAAE,IAAI,CAAC,MAAM,AAAIwC,MAAMsB,CAAC,CAAC4M,EAAE,CAAE,KAAI,CAAC,MAAM,CAAC,IAAIojB,EAAE9mB,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAASC,EAAE4mB,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE,IAAIvK,EAAE9F,GAAG,GAAGqQ,EAAE,IAAI,CAACmjB,EAAE,CAAC,GAAGnjB,EAAE,GAAG,CAAC,MAAMA,EAAE,GAAG,EAAE5M,CAAC,CAAC4M,EAAE,GAAG,CAAC,CAAC,OAAOA,EAAE,MAAM,CAACvK,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS0tB,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE5M,EAAEY,EAAEovB,EAAE3tB,EAAE8G,EAAE8mB,EAAE,IAAI,CAAC,IAAI,CAACC,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC3P,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC4P,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAEnwB,CAAAA,EAAEzD,IAAI,CAAC,CAACA,EAAEA,EAAE,CAAC,IAAIA,EAAEL,EAAE,QAAQ,CAACA,EAAE,UAAU,CAAC,UAAU,OAAO6zB,EAAEE,EAAE,KAAK,CAAC9zB,EAAE,aAAa,CAAC4zB,GAAG,yBAAyBtc,EAAE,IAAI,CAACsc,GAAGE,EAAE,KAAK,CAAC,IAAI9xB,WAAW4xB,GAAGE,EAAE,KAAK,CAACF,EAAEE,EAAE,OAAO,CAAC,EAAEA,EAAE,QAAQ,CAACA,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAIA,EAAE,SAAS,EAAGA,CAAAA,EAAE,MAAM,CAAC,IAAIjsB,EAAE,IAAI,CAACksB,GAAGD,EAAE,QAAQ,CAAC,EAAEA,EAAE,SAAS,CAACC,CAAAA,EAAG,AAACtjB,CAAAA,EAAE1D,EAAE,OAAO,CAAC+mB,EAAE/zB,EAAE,UAAU,KAAKA,EAAE,WAAW,EAAEqkB,GAAIpX,CAAAA,EAAE,UAAU,OAAOoX,EAAEpkB,EAAE,UAAU,CAACokB,GAAG,yBAAyB9M,EAAE,IAAI,CAAC8M,GAAG,IAAIpiB,WAAWoiB,GAAGA,EAAE3T,EAAE1D,EAAE,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAACC,EAAC,EAAGyD,IAAI1Q,EAAE,WAAW,EAAE,CAAC,IAAIi0B,GAAIvjB,CAAAA,EAAE1Q,EAAE,IAAI,CAACi0B,EAAE,CAAC,GAAGvjB,IAAI1Q,EAAE,YAAY,EAAE0Q,IAAI1Q,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC0Q,GAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAd,EAAiBqjB,CAAAA,EAAE,QAAQ,EAAG,KAAIA,EAAE,SAAS,EAAErjB,IAAI1Q,EAAE,YAAY,EAAG,KAAI+zB,EAAE,QAAQ,EAAEjwB,IAAI9D,EAAE,QAAQ,EAAE8D,IAAI9D,EAAE,YAAY,AAAD,GAAK,YAAW,IAAI,CAAC,OAAO,CAAC,EAAE,CAAE0E,CAAAA,EAAEzE,EAAE,UAAU,CAAC8zB,EAAE,MAAM,CAACA,EAAE,QAAQ,EAAED,EAAEC,EAAE,QAAQ,CAACrvB,EAAEyB,EAAElG,EAAE,UAAU,CAAC8zB,EAAE,MAAM,CAACrvB,GAAGqvB,EAAE,QAAQ,CAACD,EAAEC,EAAE,SAAS,CAACC,EAAEF,EAAEA,GAAGhsB,EAAE,QAAQ,CAACisB,EAAE,MAAM,CAACA,EAAE,MAAM,CAACrvB,EAAEovB,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC3tB,EAAC,EAAG,IAAI,CAAC,MAAM,CAAC2B,EAAE,SAAS,CAACisB,EAAE,MAAM,CAACA,EAAE,QAAQ,EAAC,CAAC,EAAG,IAAIA,EAAE,QAAQ,EAAE,IAAIA,EAAE,SAAS,EAAGE,CAAAA,EAAE,CAAC,EAAE,OAAO,AAAC,GAAEF,EAAE,QAAQ,EAAE,IAAIA,EAAE,SAAS,AAAD,GAAIrjB,IAAI1Q,EAAE,YAAY,CAAE,QAAO0Q,IAAI1Q,EAAE,YAAY,EAAG8D,CAAAA,EAAE9D,EAAE,QAAQ,AAAD,EAAG8D,IAAI9D,EAAE,QAAQ,CAAE0Q,CAAAA,EAAE1D,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC0D,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAEA,IAAI1Q,EAAE,IAAI,AAAD,EAAG8D,IAAI9D,EAAE,YAAY,EAAG,KAAI,CAAC,KAAK,CAACA,EAAE,IAAI,EAAI+zB,EAAE,SAAS,CAAC,EAAd,EAAe,CAAE,EAAE5tB,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS0tB,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAACA,EAAE,EAAE1tB,EAAE,SAAS,CAAC,KAAK,CAAC,SAAS0tB,CAAC,EAAEA,IAAI7zB,EAAE,IAAI,EAAG,YAAW,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC8H,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC+rB,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAEnjB,EAAE,OAAO,CAACvK,EAAEuK,EAAE,OAAO,CAACzD,EAAEyD,EAAE,UAAU,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAEA,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE4M,EAAE4mB,EAAExzB,EAAE,EAAEqQ,EAAE,MAAM,CAACzD,CAAC,EAAE,CAAC,iBAAiB,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,iBAAiB,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS4mB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI5M,EAAE,aAAa,OAAO7B,YAAY,aAAa,OAAOkyB,aAAa,aAAa,OAAOc,UAAWvkB,CAAAA,EAAE,MAAM,CAAC,SAASmjB,CAAC,EAAE,IAAI,IAAIxzB,EAAE6H,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC1B,UAAU,GAAGnG,EAAE,MAAM,EAAE,CAAC,IAAIqQ,EAAErQ,EAAE,KAAK,GAAG,GAAGqQ,EAAE,CAAC,GAAG,UAAU,OAAOA,EAAE,MAAM,AAAI/N,UAAU+N,EAAE,sBAAsB,IAAI,IAAI5M,KAAK4M,EAAEA,EAAE,cAAc,CAAC5M,IAAK+vB,CAAAA,CAAC,CAAC/vB,EAAE,CAAC4M,CAAC,CAAC5M,EAAE,AAAD,CAAE,CAAC,CAAC,OAAO+vB,CAAC,EAAEnjB,EAAE,SAAS,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,EAAE,OAAOwzB,EAAE,MAAM,GAAGxzB,EAAEwzB,EAAEA,EAAE,QAAQ,CAACA,EAAE,QAAQ,CAAC,EAAExzB,GAAIwzB,CAAAA,EAAE,MAAM,CAACxzB,EAAEwzB,CAAAA,CAAE,EAAE,IAAInvB,EAAE,CAAC,SAAS,SAASmvB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,CAAC5M,CAAC,CAACY,CAAC,EAAE,GAAGrE,EAAE,QAAQ,EAAEwzB,EAAE,QAAQ,CAACA,EAAE,GAAG,CAACxzB,EAAE,QAAQ,CAACqQ,EAAEA,EAAE5M,GAAGY,QAAQ,IAAI,IAAIovB,EAAE,EAAEA,EAAEhwB,EAAEgwB,IAAID,CAAC,CAACnvB,EAAEovB,EAAE,CAACzzB,CAAC,CAACqQ,EAAEojB,EAAE,EAAE,cAAc,SAASD,CAAC,EAAE,IAAIxzB,EAAEqQ,EAAE5M,EAAEY,EAAEovB,EAAE3tB,EAAE,IAAI9F,EAAEyD,EAAE,EAAE4M,EAAEmjB,EAAE,MAAM,CAACxzB,EAAEqQ,EAAErQ,IAAIyD,GAAG+vB,CAAC,CAACxzB,EAAE,CAAC,MAAM,CAAC,IAAI8F,EAAE,IAAIlE,WAAW6B,GAAGzD,EAAEqE,EAAE,EAAEgM,EAAEmjB,EAAE,MAAM,CAACxzB,EAAEqQ,EAAErQ,IAAIyzB,EAAED,CAAC,CAACxzB,EAAE,CAAC8F,EAAE,GAAG,CAAC2tB,EAAEpvB,GAAGA,GAAGovB,EAAE,MAAM,CAAC,OAAO3tB,CAAC,CAAC,EAAE2tB,EAAE,CAAC,SAAS,SAASD,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,CAAC5M,CAAC,CAACY,CAAC,EAAE,IAAI,IAAIovB,EAAE,EAAEA,EAAEhwB,EAAEgwB,IAAID,CAAC,CAACnvB,EAAEovB,EAAE,CAACzzB,CAAC,CAACqQ,EAAEojB,EAAE,EAAE,cAAc,SAASD,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAACA,EAAE,CAAC,CAAEnjB,CAAAA,EAAE,QAAQ,CAAC,SAASmjB,CAAC,EAAEA,EAAGnjB,CAAAA,EAAE,IAAI,CAACzO,WAAWyO,EAAE,KAAK,CAACyjB,YAAYzjB,EAAE,KAAK,CAACukB,WAAWvkB,EAAE,MAAM,CAACA,EAAEhM,EAAC,EAAIgM,CAAAA,EAAE,IAAI,CAACxI,MAAMwI,EAAE,KAAK,CAACxI,MAAMwI,EAAE,KAAK,CAACxI,MAAMwI,EAAE,MAAM,CAACA,EAAEojB,EAAC,CAAE,EAAEpjB,EAAE,QAAQ,CAAC5M,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS+vB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAIqjB,EAAEF,EAAE,YAAYnvB,EAAE,CAAC,EAAEovB,EAAE,CAAC,EAAE,GAAG,CAAC/uB,OAAO,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM8uB,EAAE,CAACnvB,EAAE,CAAC,CAAC,CAAC,GAAG,CAACK,OAAO,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI9C,WAAW,GAAG,CAAC,MAAM4xB,EAAE,CAACC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAIE,EAAE,IAAID,EAAE,IAAI,CAAC,KAAKjwB,EAAE,EAAEA,EAAE,IAAIA,IAAIkwB,CAAC,CAAClwB,EAAE,CAAC,KAAKA,EAAE,EAAE,KAAKA,EAAE,EAAE,KAAKA,EAAE,EAAE,KAAKA,EAAE,EAAE,KAAKA,EAAE,EAAE,EAAE,SAASugB,EAAEwP,CAAC,CAACxzB,CAAC,EAAE,GAAGA,EAAE,OAAQwzB,CAAAA,EAAE,QAAQ,EAAEC,GAAG,CAACD,EAAE,QAAQ,EAAEnvB,CAAAA,EAAG,OAAOK,OAAO,YAAY,CAAC,KAAK,CAAC,KAAKgvB,EAAE,SAAS,CAACF,EAAExzB,IAAI,IAAI,IAAIqQ,EAAE,GAAG5M,EAAE,EAAEA,EAAEzD,EAAEyD,IAAI4M,GAAG3L,OAAO,YAAY,CAAC8uB,CAAC,CAAC/vB,EAAE,EAAE,OAAO4M,CAAC,CAACsjB,CAAC,CAAC,IAAI,CAACA,CAAC,CAAC,IAAI,CAAC,EAAEtjB,EAAE,UAAU,CAAC,SAASmjB,CAAC,EAAE,IAAIxzB,EAAEqQ,EAAE5M,EAAEY,EAAEovB,EAAE3tB,EAAE0tB,EAAE,MAAM,CAAC5mB,EAAE,EAAE,IAAIvI,EAAE,EAAEA,EAAEyB,EAAEzB,IAAI,OAAQ,OAAOgM,CAAAA,EAAEmjB,EAAE,UAAU,CAACnvB,EAAC,CAAC,GAAIA,EAAE,EAAEyB,GAAG,OAAQ,OAAOrC,CAAAA,EAAE+vB,EAAE,UAAU,CAACnvB,EAAE,EAAC,CAAC,GAAKgM,CAAAA,EAAE,MAAOA,CAAAA,EAAE,OAAO,EAAC,EAAI5M,CAAAA,EAAE,KAAI,EAAGY,GAAE,EAAGuI,GAAGyD,EAAE,IAAI,EAAEA,EAAE,KAAK,EAAEA,EAAE,MAAM,EAAE,EAAE,IAAIrQ,EAAE,IAAI0zB,EAAE,IAAI,CAAC9mB,GAAGvI,EAAEovB,EAAE,EAAEA,EAAE7mB,EAAEvI,IAAI,OAAQ,OAAOgM,CAAAA,EAAEmjB,EAAE,UAAU,CAACnvB,EAAC,CAAC,GAAIA,EAAE,EAAEyB,GAAG,OAAQ,OAAOrC,CAAAA,EAAE+vB,EAAE,UAAU,CAACnvB,EAAE,EAAC,CAAC,GAAKgM,CAAAA,EAAE,MAAOA,CAAAA,EAAE,OAAO,EAAC,EAAI5M,CAAAA,EAAE,KAAI,EAAGY,GAAE,EAAGgM,EAAE,IAAIrQ,CAAC,CAACyzB,IAAI,CAACpjB,EAAGA,CAAAA,EAAE,KAAKrQ,CAAC,CAACyzB,IAAI,CAAC,IAAIpjB,IAAI,EAAGA,CAAAA,EAAE,MAAMrQ,CAAC,CAACyzB,IAAI,CAAC,IAAIpjB,IAAI,GAAIrQ,CAAAA,CAAC,CAACyzB,IAAI,CAAC,IAAIpjB,IAAI,GAAGrQ,CAAC,CAACyzB,IAAI,CAAC,IAAIpjB,IAAI,GAAG,EAAC,EAAGrQ,CAAC,CAACyzB,IAAI,CAAC,IAAIpjB,IAAI,EAAE,EAAC,EAAGrQ,CAAC,CAACyzB,IAAI,CAAC,IAAI,GAAGpjB,CAAAA,EAAG,OAAOrQ,CAAC,EAAEqQ,EAAE,aAAa,CAAC,SAASmjB,CAAC,EAAE,OAAOxP,EAAEwP,EAAEA,EAAE,MAAM,CAAC,EAAEnjB,EAAE,aAAa,CAAC,SAASmjB,CAAC,EAAE,IAAI,IAAIxzB,EAAE,IAAI0zB,EAAE,IAAI,CAACF,EAAE,MAAM,EAAEnjB,EAAE,EAAE5M,EAAEzD,EAAE,MAAM,CAACqQ,EAAE5M,EAAE4M,IAAIrQ,CAAC,CAACqQ,EAAE,CAACmjB,EAAE,UAAU,CAACnjB,GAAG,OAAOrQ,CAAC,EAAEqQ,EAAE,UAAU,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE5M,EAAEY,EAAEovB,EAAE3tB,EAAE9F,GAAGwzB,EAAE,MAAM,CAAC5mB,EAAE,AAAI/E,MAAM,EAAE/B,GAAG,IAAIuK,EAAE5M,EAAE,EAAE4M,EAAEvK,GAAG,GAAG,AAACzB,CAAAA,EAAEmvB,CAAC,CAACnjB,IAAI,AAAD,EAAG,IAAIzD,CAAC,CAACnJ,IAAI,CAACY,OAAO,GAAG,EAAGovB,CAAAA,EAAEE,CAAC,CAACtvB,EAAE,AAAD,EAAGuI,CAAC,CAACnJ,IAAI,CAAC,MAAM4M,GAAGojB,EAAE,MAAM,CAAC,IAAIpvB,GAAG,IAAIovB,EAAE,GAAG,IAAIA,EAAE,GAAG,EAAE,EAAEA,GAAGpjB,EAAEvK,GAAGzB,EAAEA,GAAG,EAAE,GAAGmvB,CAAC,CAACnjB,IAAI,CAACojB,GAAI,GAAEA,EAAE7mB,CAAC,CAACnJ,IAAI,CAAC,MAAMY,EAAE,MAAMuI,CAAC,CAACnJ,IAAI,CAACY,EAAGA,CAAAA,GAAG,MAAMuI,CAAC,CAACnJ,IAAI,CAAC,MAAMY,GAAG,GAAG,KAAKuI,CAAC,CAACnJ,IAAI,CAAC,MAAM,KAAKY,CAAAA,CAAE,CAAC,OAAO2f,EAAEpX,EAAEnJ,EAAE,EAAE4M,EAAE,UAAU,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE,IAAI,AAACrQ,CAAAA,EAAEA,GAAGwzB,EAAE,MAAM,AAAD,EAAGA,EAAE,MAAM,EAAGxzB,CAAAA,EAAEwzB,EAAE,MAAM,AAAD,EAAGnjB,EAAErQ,EAAE,EAAE,GAAGqQ,GAAG,KAAM,KAAImjB,CAAC,CAACnjB,EAAE,AAAD,GAAIA,IAAI,OAAOA,EAAE,EAAErQ,EAAE,IAAIqQ,EAAErQ,EAAEqQ,EAAEsjB,CAAC,CAACH,CAAC,CAACnjB,EAAE,CAAC,CAACrQ,EAAEqQ,EAAErQ,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,SAASwzB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,YAAarQ,CAAAA,EAAE,OAAO,CAAC,SAASwzB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,CAAC5M,CAAC,EAAE,IAAI,IAAIY,EAAE,MAAMmvB,EAAE,EAAEC,EAAED,IAAI,GAAG,MAAM,EAAE1tB,EAAE,EAAE,IAAIuK,GAAG,CAAC,IAAIA,GAAGvK,EAAE,IAAIuK,EAAE,IAAIA,EAAEojB,EAAEA,EAAGpvB,CAAAA,EAAEA,EAAErE,CAAC,CAACyD,IAAI,CAAC,GAAG,EAAE,EAAEqC,IAAIzB,GAAG,MAAMovB,GAAG,KAAK,CAAC,OAAOpvB,EAAEovB,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAASD,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,YAAarQ,CAAAA,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,GAAG,eAAe,GAAG,aAAa,GAAG,YAAY,GAAG,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,EAAE,sBAAsB,GAAG,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAASwzB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAIzD,EAAE,WAAW,IAAI,IAAI4mB,EAAExzB,EAAE,EAAE,CAACqQ,EAAE,EAAEA,EAAE,IAAIA,IAAI,CAACmjB,EAAEnjB,EAAE,IAAI,IAAI5M,EAAE,EAAEA,EAAE,EAAEA,IAAI+vB,EAAE,EAAEA,EAAE,WAAWA,IAAI,EAAEA,IAAI,CAAExzB,CAAAA,CAAC,CAACqQ,EAAE,CAACmjB,CAAC,CAAC,OAAOxzB,CAAC,GAAIA,CAAAA,EAAE,OAAO,CAAC,SAASwzB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,CAAC5M,CAAC,EAAE,IAAQgwB,EAAEhwB,EAAE4M,EAAEmjB,GAAG,GAAG,IAAI,IAAI1tB,EAAErC,EAAEqC,EAAE2tB,EAAE3tB,IAAI0tB,EAAEA,IAAI,EAAEnvB,AAA1CuI,CAA2C,CAAC,IAAK4mB,CAAAA,EAAExzB,CAAC,CAAC8F,EAAE,AAAD,EAAG,CAAC,OAAM,GAAG0tB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAASA,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAIqjB,EAAE/mB,EAAE6mB,EAAE,mBAAmBG,EAAEH,EAAE,WAAW/rB,EAAE+rB,EAAE,aAAa5zB,EAAE4zB,EAAE,WAAW/vB,EAAE+vB,EAAE,cAAoExf,EAAE,IAAqBqgB,EAAED,IAAiC,SAASnhB,EAAEugB,CAAC,CAACxzB,CAAC,EAAE,OAAOwzB,EAAE,GAAG,CAAC/vB,CAAC,CAACzD,EAAE,CAACA,CAAC,CAAC,SAAS60B,EAAErB,CAAC,EAAE,MAAM,AAACA,CAAAA,GAAG,GAAI,GAAEA,EAAE,EAAE,EAAE,CAAC,SAASsB,EAAEtB,CAAC,EAAE,IAAI,IAAIxzB,EAAEwzB,EAAE,MAAM,CAAC,GAAG,EAAExzB,GAAGwzB,CAAC,CAACxzB,EAAE,CAAC,CAAC,CAAC,SAAS+0B,EAAEvB,CAAC,EAAE,IAAIxzB,EAAEwzB,EAAE,KAAK,CAACnjB,EAAErQ,EAAE,OAAO,AAACqQ,CAAAA,EAAEmjB,EAAE,SAAS,EAAGnjB,CAAAA,EAAEmjB,EAAE,SAAS,AAAD,EAAG,IAAInjB,GAAI1D,CAAAA,EAAE,QAAQ,CAAC6mB,EAAE,MAAM,CAACxzB,EAAE,WAAW,CAACA,EAAE,WAAW,CAACqQ,EAAEmjB,EAAE,QAAQ,EAAEA,EAAE,QAAQ,EAAEnjB,EAAErQ,EAAE,WAAW,EAAEqQ,EAAEmjB,EAAE,SAAS,EAAEnjB,EAAEmjB,EAAE,SAAS,EAAEnjB,EAAErQ,EAAE,OAAO,EAAEqQ,EAAE,IAAIrQ,EAAE,OAAO,EAAGA,CAAAA,EAAE,WAAW,CAAC,EAAC,CAAE,CAAC,SAASg1B,EAAExB,CAAC,CAACxzB,CAAC,EAAE2zB,EAAE,eAAe,CAACH,EAAE,GAAGA,EAAE,WAAW,CAACA,EAAE,WAAW,CAAC,GAAGA,EAAE,QAAQ,CAACA,EAAE,WAAW,CAACxzB,GAAGwzB,EAAE,WAAW,CAACA,EAAE,QAAQ,CAACuB,EAAEvB,EAAE,IAAI,CAAC,CAAC,SAASyB,EAAEzB,CAAC,CAACxzB,CAAC,EAAEwzB,EAAE,WAAW,CAACA,EAAE,OAAO,GAAG,CAACxzB,CAAC,CAAC,SAASk1B,EAAE1B,CAAC,CAACxzB,CAAC,EAAEwzB,EAAE,WAAW,CAACA,EAAE,OAAO,GAAG,CAACxzB,IAAI,EAAE,IAAIwzB,EAAE,WAAW,CAACA,EAAE,OAAO,GAAG,CAAC,IAAIxzB,CAAC,CAAC,SAASm1B,EAAE3B,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE5M,EAAEY,EAAEmvB,EAAE,gBAAgB,CAACC,EAAED,EAAE,QAAQ,CAAC1tB,EAAE0tB,EAAE,WAAW,CAAC5mB,EAAE4mB,EAAE,UAAU,CAACE,EAAEF,EAAE,QAAQ,CAACA,EAAE,MAAM,CAACa,EAAEb,EAAE,QAAQ,CAAEA,CAAAA,EAAE,MAAM,CAACa,CAAAA,EAAG,EAAEV,EAAEH,EAAE,MAAM,CAACxP,EAAEwP,EAAE,MAAM,CAACI,EAAEJ,EAAE,IAAI,CAAC7mB,EAAE6mB,EAAE,QAAQ,CAAv1B,IAA01B/rB,EAAEksB,CAAC,CAACF,EAAE3tB,EAAE,EAAE,CAAClG,EAAE+zB,CAAC,CAACF,EAAE3tB,EAAE,AAAC0tB,CAAAA,EAAE,WAAW,EAAEA,EAAE,UAAU,EAAGnvB,CAAAA,IAAI,GAAGuI,EAAE4mB,EAAE,SAAS,EAAG5mB,CAAAA,EAAE4mB,EAAE,SAAS,AAAD,EAAG,GAAG,GAAGG,CAAC,CAAC,AAACtjB,CAAAA,EAAErQ,CAAAA,EAAG8F,EAAE,GAAGlG,GAAG+zB,CAAC,CAACtjB,EAAEvK,EAAE,EAAE,GAAG2B,GAAGksB,CAAC,CAACtjB,EAAE,GAAGsjB,CAAC,CAACF,EAAE,EAAEE,CAAC,CAAC,EAAEtjB,EAAE,GAAGsjB,CAAC,CAACF,EAAE,EAAE,CAAC,CAACA,GAAG,EAAEpjB,IAAI,SAAUsjB,CAAC,CAAC,EAAEF,EAAE,GAAGE,CAAC,CAAC,EAAEtjB,EAAE,EAAEsjB,CAAC,CAAC,EAAEF,EAAE,GAAGE,CAAC,CAAC,EAAEtjB,EAAE,EAAEsjB,CAAC,CAAC,EAAEF,EAAE,GAAGE,CAAC,CAAC,EAAEtjB,EAAE,EAAEsjB,CAAC,CAAC,EAAEF,EAAE,GAAGE,CAAC,CAAC,EAAEtjB,EAAE,EAAEsjB,CAAC,CAAC,EAAEF,EAAE,GAAGE,CAAC,CAAC,EAAEtjB,EAAE,EAAEsjB,CAAC,CAAC,EAAEF,EAAE,GAAGE,CAAC,CAAC,EAAEtjB,EAAE,EAAEsjB,CAAC,CAAC,EAAEF,EAAE,GAAGE,CAAC,CAAC,EAAEtjB,EAAE,EAAEsjB,CAAC,CAAC,EAAEF,EAAE,GAAGE,CAAC,CAAC,EAAEtjB,EAAE,EAAEojB,EAAE9mB,EAAG,IAAGlJ,EAAE2wB,AAAzpC,IAA4pCznB,CAAAA,EAAE8mB,CAAAA,EAAGA,EAAE9mB,EAAnqC,IAAuqC7G,EAAErC,EAAE,CAAC,GAAG+vB,EAAE,WAAW,CAACxzB,EAAE4M,GAAI9G,CAAAA,EAAErC,CAAAA,EAAG,KAAMgE,CAAAA,EAAEksB,CAAC,CAACF,EAAE3tB,EAAE,EAAE,CAAClG,EAAE+zB,CAAC,CAACF,EAAE3tB,EAAE,CAAC,OAAQ,AAAC9F,CAAAA,EAAE4zB,CAAC,CAAC5zB,EAAEgkB,EAAE,AAAD,EAAG0P,GAAG,GAAG,EAAErvB,EAAG,QAAOyB,GAAG0tB,EAAE,SAAS,CAAC1tB,EAAE0tB,EAAE,SAAS,CAAC,SAAS3tB,EAAE2tB,CAAC,EAAE,IAAIxzB,EAAEqQ,EAAE5M,EAAEY,EAAEovB,EAAE3tB,EAAE8G,EAAE8mB,EAAEC,EAAE3P,EAAE4P,EAAEJ,EAAE,MAAM,CAAC,EAAE,CAAC,GAAGnvB,EAAEmvB,EAAE,WAAW,CAACA,EAAE,SAAS,CAACA,EAAE,QAAQ,CAACA,EAAE,QAAQ,EAAEI,EAAGA,CAAAA,EAAES,CAAAA,EAAG,CAAC,IAAI1nB,EAAE,QAAQ,CAAC6mB,EAAE,MAAM,CAACA,EAAE,MAAM,CAACI,EAAEA,EAAE,GAAGJ,EAAE,WAAW,EAAEI,EAAEJ,EAAE,QAAQ,EAAEI,EAAEJ,EAAE,WAAW,EAAEI,EAAE5zB,EAAEqQ,EAAEmjB,EAAE,SAAS,CAAC/vB,EAAE+vB,EAAE,IAAI,CAAC,EAAExzB,EAAE,CAACwzB,EAAE,IAAI,CAACxzB,EAAE,CAAC4zB,GAAGnwB,EAAEA,EAAEmwB,EAAE,EAAE,EAAEvjB,IAAI,IAAIrQ,EAAEqQ,EAAEujB,EAAEnwB,EAAE+vB,EAAE,IAAI,CAAC,EAAExzB,EAAE,CAACwzB,EAAE,IAAI,CAACxzB,EAAE,CAAC4zB,GAAGnwB,EAAEA,EAAEmwB,EAAE,EAAE,EAAEvjB,IAAIhM,GAAGuvB,CAAC,CAAC,GAAG,IAAIJ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG1tB,EAAE0tB,EAAE,IAAI,CAAC5mB,EAAE4mB,EAAE,MAAM,CAACE,EAAEF,EAAE,QAAQ,CAACA,EAAE,SAAS,CAAKxP,EAAE,KAAK,EAAe2P,AAA1BA,CAAAA,EAAEtvB,CAAAA,EAAW2f,CAAAA,EAAEle,EAAE,QAAQ,AAAD,GAAQke,CAAAA,EAAE2P,CAAAA,EAAGtjB,EAAE,IAAI2T,EAAE,EAAGle,CAAAA,EAAE,QAAQ,EAAEke,EAAErX,EAAE,QAAQ,CAACC,EAAE9G,EAAE,KAAK,CAACA,EAAE,OAAO,CAACke,EAAE0P,GAAG,IAAI5tB,EAAE,KAAK,CAAC,IAAI,CAACA,EAAE,KAAK,CAAC2B,EAAE3B,EAAE,KAAK,CAAC8G,EAAEoX,EAAE0P,GAAG,IAAI5tB,EAAE,KAAK,CAAC,IAAI,EAAGA,CAAAA,EAAE,KAAK,CAAClG,EAAEkG,EAAE,KAAK,CAAC8G,EAAEoX,EAAE0P,EAAC,EAAG5tB,EAAE,OAAO,EAAEke,EAAEle,EAAE,QAAQ,EAAEke,EAAEA,CAAAA,EAAGwP,EAAE,SAAS,EAAEnjB,EAAEmjB,EAAE,SAAS,CAACA,EAAE,MAAM,EAA36D,EAA+6D,IAAIC,EAAED,EAAE,QAAQ,CAACA,EAAE,MAAM,CAACA,EAAE,KAAK,CAACA,EAAE,MAAM,CAACC,EAAE,CAACD,EAAE,KAAK,CAAC,AAACA,CAAAA,EAAE,KAAK,EAAEA,EAAE,UAAU,CAACA,EAAE,MAAM,CAACC,EAAE,EAAE,AAAD,EAAGD,EAAE,SAAS,CAACA,EAAE,MAAM,EAAGA,CAAAA,EAAE,KAAK,CAAC,AAACA,CAAAA,EAAE,KAAK,EAAEA,EAAE,UAAU,CAACA,EAAE,MAAM,CAACC,EAA1kE,EAA8kE,EAAE,AAAD,EAAGD,EAAE,SAAS,CAACA,EAAE,IAAI,CAACC,EAAED,EAAE,MAAM,CAAC,CAACA,EAAE,IAAI,CAACA,EAAE,KAAK,CAAC,CAACA,EAAE,IAAI,CAACA,EAAE,KAAK,CAAC,CAACC,EAAEA,IAAID,EAAE,MAAM,GAAG,CAAEA,CAAAA,EAAE,SAAS,CAACA,EAAE,MAAM,CAAxrE,CAAyrEztB,CAAC,IAAK,OAAOytB,EAAE,SAAS,CAACa,GAAG,IAAIb,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS4B,EAAE5B,CAAC,CAACxzB,CAAC,EAAE,IAAI,IAAIqQ,EAAE5M,IAAI,CAAC,GAAG+vB,EAAE,SAAS,CAACa,EAAE,CAAC,GAAGxuB,EAAE2tB,GAAGA,EAAE,SAAS,CAACa,GAAGr0B,AAAr3E,IAAq3EA,EAAM,OAA3xE,EAAoyE,GAAG,IAAIwzB,EAAE,SAAS,CAAC,KAAK,CAAC,GAAGnjB,EAAE,EAAEmjB,EAAE,SAAS,EAA52E,GAAk3EA,CAAAA,EAAE,KAAK,CAAC,AAACA,CAAAA,EAAE,KAAK,EAAEA,EAAE,UAAU,CAACA,EAAE,MAAM,CAACA,EAAE,QAAQ,CAAp6E,EAAu6E,EAAE,AAAD,EAAGA,EAAE,SAAS,CAACnjB,EAAEmjB,EAAE,IAAI,CAACA,EAAE,QAAQ,CAACA,EAAE,MAAM,CAAC,CAACA,EAAE,IAAI,CAACA,EAAE,KAAK,CAAC,CAACA,EAAE,IAAI,CAACA,EAAE,KAAK,CAAC,CAACA,EAAE,QAAQ,AAAD,EAAG,IAAInjB,GAAGmjB,EAAE,QAAQ,CAACnjB,GAAGmjB,EAAE,MAAM,CAACa,GAAIb,CAAAA,EAAE,YAAY,CAAC2B,EAAE3B,EAAEnjB,EAAC,EAAGmjB,EAAE,YAAY,EAAxkF,GAA4kF,GAAG/vB,EAAEkwB,EAAE,SAAS,CAACH,EAAEA,EAAE,QAAQ,CAACA,EAAE,WAAW,CAACA,EAAE,YAAY,CAAtoF,GAA0oFA,EAAE,SAAS,EAAEA,EAAE,YAAY,CAACA,EAAE,YAAY,EAAEA,EAAE,cAAc,EAAEA,EAAE,SAAS,EAAntF,EAAutF,CAAC,IAAIA,EAAE,YAAY,GAAGA,EAAE,QAAQ,GAAGA,EAAE,KAAK,CAAC,AAACA,CAAAA,EAAE,KAAK,EAAEA,EAAE,UAAU,CAACA,EAAE,MAAM,CAACA,EAAE,QAAQ,CAA5yF,EAA+yF,EAAE,AAAD,EAAGA,EAAE,SAAS,CAACnjB,EAAEmjB,EAAE,IAAI,CAACA,EAAE,QAAQ,CAACA,EAAE,MAAM,CAAC,CAACA,EAAE,IAAI,CAACA,EAAE,KAAK,CAAC,CAACA,EAAE,IAAI,CAACA,EAAE,KAAK,CAAC,CAACA,EAAE,QAAQ,CAAC,GAAG,EAAEA,EAAE,YAAY,GAAGA,EAAE,QAAQ,EAAE,MAAMA,EAAE,QAAQ,EAAEA,EAAE,YAAY,CAACA,EAAE,YAAY,CAAC,EAAEA,EAAE,KAAK,CAACA,EAAE,MAAM,CAACA,EAAE,QAAQ,CAAC,CAACA,EAAE,KAAK,CAAC,AAACA,CAAAA,EAAE,KAAK,EAAEA,EAAE,UAAU,CAACA,EAAE,MAAM,CAACA,EAAE,QAAQ,CAAC,EAAE,AAAD,EAAGA,EAAE,SAAS,MAAM/vB,EAAEkwB,EAAE,SAAS,CAACH,EAAE,EAAEA,EAAE,MAAM,CAACA,EAAE,QAAQ,CAAC,EAAEA,EAAE,SAAS,GAAGA,EAAE,QAAQ,GAAG,GAAG/vB,GAAIuxB,CAAAA,EAAExB,EAAE,CAAC,GAAG,IAAIA,EAAE,IAAI,CAAC,SAAS,AAAD,EAAG,OAA5oG,CAAopG,CAAC,OAAOA,EAAE,MAAM,CAACA,EAAE,QAAQ,CAACztB,EAAIytB,EAAE,QAAQ,CAACztB,EAAI/F,AAA/xG,IAA+xGA,EAAOg1B,CAAAA,EAAExB,EAAE,CAAC,GAAG,IAAIA,EAAE,IAAI,CAAC,SAAS,CAA9tG,EAAI,CAA6tGe,EAAGf,EAAE,QAAQ,EAAGwB,CAAAA,EAAExB,EAAE,CAAC,GAAG,IAAIA,EAAE,IAAI,CAAC,SAAS,AAAD,EAApxG,EAAI,CAAsxG,CAAC,SAAS6B,EAAE7B,CAAC,CAACxzB,CAAC,EAAE,IAAI,IAAIqQ,EAAE5M,EAAEY,IAAI,CAAC,GAAGmvB,EAAE,SAAS,CAACa,EAAE,CAAC,GAAGxuB,EAAE2tB,GAAGA,EAAE,SAAS,CAACa,GAAGr0B,AAAr8G,IAAq8GA,EAAM,OAA32G,EAAo3G,GAAG,IAAIwzB,EAAE,SAAS,CAAC,KAAK,CAAC,GAAGnjB,EAAE,EAAEmjB,EAAE,SAAS,EAA57G,GAAk8GA,CAAAA,EAAE,KAAK,CAAC,AAACA,CAAAA,EAAE,KAAK,EAAEA,EAAE,UAAU,CAACA,EAAE,MAAM,CAACA,EAAE,QAAQ,CAAp/G,EAAu/G,EAAE,AAAD,EAAGA,EAAE,SAAS,CAACnjB,EAAEmjB,EAAE,IAAI,CAACA,EAAE,QAAQ,CAACA,EAAE,MAAM,CAAC,CAACA,EAAE,IAAI,CAACA,EAAE,KAAK,CAAC,CAACA,EAAE,IAAI,CAACA,EAAE,KAAK,CAAC,CAACA,EAAE,QAAQ,AAAD,EAAGA,EAAE,WAAW,CAACA,EAAE,YAAY,CAACA,EAAE,UAAU,CAACA,EAAE,WAAW,CAACA,EAAE,YAAY,CAACztB,EAAI,IAAIsK,GAAGmjB,EAAE,WAAW,CAACA,EAAE,cAAc,EAAEA,EAAE,QAAQ,CAACnjB,GAAGmjB,EAAE,MAAM,CAACa,GAAIb,CAAAA,EAAE,YAAY,CAAC2B,EAAE3B,EAAEnjB,GAAGmjB,EAAE,YAAY,EAAE,GAAI,KAAIA,EAAE,QAAQ,EAAEA,AAAxxH,IAAwxHA,EAAE,YAAY,EAAM,KAAKA,EAAE,QAAQ,CAACA,EAAE,WAAW,AAAD,GAAKA,CAAAA,EAAE,YAAY,CAACztB,CAAE,CAAC,EAAGytB,EAAE,WAAW,EAA/2H,GAAo3HA,EAAE,YAAY,EAAEA,EAAE,WAAW,CAAC,CAAC,IAAInvB,EAAEmvB,EAAE,QAAQ,CAACA,EAAE,SAAS,CAA/6H,EAAk7H/vB,EAAEkwB,EAAE,SAAS,CAACH,EAAEA,EAAE,QAAQ,CAAC,EAAEA,EAAE,UAAU,CAACA,EAAE,WAAW,CAAz+H,GAA6+HA,EAAE,SAAS,EAAEA,EAAE,WAAW,CAAC,EAAEA,EAAE,WAAW,EAAE,EAAE,EAAEA,EAAE,QAAQ,EAAEnvB,GAAImvB,CAAAA,EAAE,KAAK,CAAC,AAACA,CAAAA,EAAE,KAAK,EAAEA,EAAE,UAAU,CAACA,EAAE,MAAM,CAACA,EAAE,QAAQ,CAA/lI,EAAkmI,EAAE,AAAD,EAAGA,EAAE,SAAS,CAACnjB,EAAEmjB,EAAE,IAAI,CAACA,EAAE,QAAQ,CAACA,EAAE,MAAM,CAAC,CAACA,EAAE,IAAI,CAACA,EAAE,KAAK,CAAC,CAACA,EAAE,IAAI,CAACA,EAAE,KAAK,CAAC,CAACA,EAAE,QAAQ,AAAD,EAAG,GAAG,EAAEA,EAAE,WAAW,GAAG,GAAGA,EAAE,eAAe,CAAC,EAAEA,EAAE,YAAY,CAACztB,EAAIytB,EAAE,QAAQ,GAAG/vB,GAAIuxB,CAAAA,EAAExB,EAAE,CAAC,GAAG,IAAIA,EAAE,IAAI,CAAC,SAAS,AAAD,EAAG,OAA7wI,CAAqxI,MAAM,GAAGA,EAAE,eAAe,CAAE,IAAG,AAAC/vB,CAAAA,EAAEkwB,EAAE,SAAS,CAACH,EAAE,EAAEA,EAAE,MAAM,CAACA,EAAE,QAAQ,CAAC,EAAE,IAAIwB,EAAExB,EAAE,CAAC,GAAGA,EAAE,QAAQ,GAAGA,EAAE,SAAS,GAAG,IAAIA,EAAE,IAAI,CAAC,SAAS,CAAC,OAAz5I,CAAg6IQ,MAAOR,EAAE,eAAe,CAAC,EAAEA,EAAE,QAAQ,GAAGA,EAAE,SAAS,EAAE,CAAC,OAAOA,EAAE,eAAe,EAAG/vB,CAAAA,EAAEkwB,EAAE,SAAS,CAACH,EAAE,EAAEA,EAAE,MAAM,CAACA,EAAE,QAAQ,CAAC,EAAE,EAAEA,EAAE,eAAe,CAAC,GAAGA,EAAE,MAAM,CAACA,EAAE,QAAQ,CAACztB,EAAIytB,EAAE,QAAQ,CAACztB,EAAI/F,AAAnrJ,IAAmrJA,EAAOg1B,CAAAA,EAAExB,EAAE,CAAC,GAAG,IAAIA,EAAE,IAAI,CAAC,SAAS,CAAlnJ,EAAI,CAAinJe,EAAGf,EAAE,QAAQ,EAAGwB,CAAAA,EAAExB,EAAE,CAAC,GAAG,IAAIA,EAAE,IAAI,CAAC,SAAS,AAAD,EAAxqJ,EAAI,CAA0qJ,CAAC,SAAS8B,EAAE9B,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,CAAC5M,CAAC,CAACY,CAAC,EAAE,IAAI,CAAC,WAAW,CAACmvB,EAAE,IAAI,CAAC,QAAQ,CAACxzB,EAAE,IAAI,CAAC,WAAW,CAACqQ,EAAE,IAAI,CAAC,SAAS,CAAC5M,EAAE,IAAI,CAAC,IAAI,CAACY,CAAC,CAAC,SAASkxB,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAA3gK,EAA8gK,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI5oB,EAAE,KAAK,CAAC,EAAEqH,GAAG,IAAI,CAAC,SAAS,CAAC,IAAIrH,EAAE,KAAK,CAAC,KAAW,IAAI,CAAC,OAAO,CAAC,IAAIA,EAAE,KAAK,CAAC,IAAWmoB,EAAE,IAAI,CAAC,SAAS,EAAEA,EAAE,IAAI,CAAC,SAAS,EAAEA,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAInoB,EAAE,KAAK,CAACwnB,IAAK,IAAI,CAAC,IAAI,CAAC,IAAIxnB,EAAE,KAAK,CAAC,KAAOmoB,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAInoB,EAAE,KAAK,CAAC,KAAOmoB,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAASU,EAAEhC,CAAC,EAAE,IAAIxzB,EAAE,OAAOwzB,GAAGA,EAAE,KAAK,CAAEA,CAAAA,EAAE,QAAQ,CAACA,EAAE,SAAS,CAAC,EAAEA,EAAE,SAAS,CAApjM,EAAujM,AAACxzB,CAAAA,EAAEwzB,EAAE,KAAK,AAAD,EAAG,OAAO,CAAC,EAAExzB,EAAE,WAAW,CAAC,EAAEA,EAAE,IAAI,CAAC,GAAIA,CAAAA,EAAE,IAAI,CAAC,CAACA,EAAE,IAAI,AAAD,EAAGA,EAAE,MAAM,CAACA,EAAE,IAAI,CAA5kM,GAAK,IAA4kMwzB,EAAE,KAAK,CAAC,IAAIxzB,EAAE,IAAI,CAAC,EAAE,EAAEA,EAAE,UAAU,CAAzsM,EAA4sM2zB,EAAE,QAAQ,CAAC3zB,GAA/sM,CAAktML,EAAGsT,EAAEugB,EAAntM,GAAutM,CAAC,SAASiC,EAAEjC,CAAC,EAAE,IAAkCA,EAA9BxzB,EAAEw1B,EAAEhC,GAAG,OAAOxzB,AAA5vM,IAA4vMA,GAAmBwzB,CAAAA,CAAHA,EAAiTA,EAAE,KAAK,EAAnT,WAAW,CAAC,EAAEA,EAAE,MAAM,CAACsB,EAAEtB,EAAE,IAAI,EAAEA,EAAE,cAAc,CAACE,CAAC,CAACF,EAAE,KAAK,CAAC,CAAC,QAAQ,CAACA,EAAE,UAAU,CAACE,CAAC,CAACF,EAAE,KAAK,CAAC,CAAC,WAAW,CAACA,EAAE,UAAU,CAACE,CAAC,CAACF,EAAE,KAAK,CAAC,CAAC,WAAW,CAACA,EAAE,gBAAgB,CAACE,CAAC,CAACF,EAAE,KAAK,CAAC,CAAC,SAAS,CAACA,EAAE,QAAQ,CAAC,EAAEA,EAAE,WAAW,CAAC,EAAEA,EAAE,SAAS,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,YAAY,CAACA,EAAE,WAAW,CAACztB,EAAIytB,EAAE,eAAe,CAAC,EAAEA,EAAE,KAAK,CAAC,GAAYxzB,CAAC,CAAC,SAAS01B,EAAElC,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,CAAC5M,CAAC,CAACY,CAAC,CAACovB,CAAC,EAAE,GAAG,CAACD,EAAE,OAAlmN,GAA2mN,IAAI1tB,EAAE,EAAE,GAAG9F,AAAjnN,KAAinNA,GAAQA,CAAAA,EAAE,GAAGyD,EAAE,EAAGqC,CAAAA,EAAE,EAAErC,EAAE,CAACA,CAAAA,EAAG,GAAGA,GAAIqC,CAAAA,EAAE,EAAErC,GAAG,EAAC,EAAGY,EAAE,GAAG2B,AAAnpN,EAAqpN3B,GAAGgM,AAA5pN,IAA4pNA,GAAO5M,EAAE,GAAG,GAAGA,GAAGzD,EAAE,GAAG,EAAEA,GAAGyzB,EAAE,GAAGxuB,AAArsN,EAAusNwuB,EAAE,OAAOxgB,EAAEugB,EAA5tN,GAAiuN,KAAI/vB,GAAIA,CAAAA,EAAE,GAAG,IAAImJ,EAAE,IAAI2oB,EAAE,MAAM,AAAC/B,CAAAA,EAAE,KAAK,CAAC5mB,CAAAA,EAAG,IAAI,CAAC4mB,EAAE5mB,EAAE,IAAI,CAAC9G,EAAE8G,EAAE,MAAM,CAAC,KAAKA,EAAE,MAAM,CAACnJ,EAAEmJ,EAAE,MAAM,CAAC,GAAGA,EAAE,MAAM,CAACA,EAAE,MAAM,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,SAAS,CAACvI,EAAE,EAAEuI,EAAE,SAAS,CAAC,GAAGA,EAAE,SAAS,CAACA,EAAE,SAAS,CAACA,EAAE,SAAS,CAAC,EAAEA,EAAE,UAAU,CAAC,CAAC,CAAE,CAACA,CAAAA,EAAE,SAAS,CAAx4N,EAA24N,GAA34N,CAA84N7G,EAAG6G,EAAE,MAAM,CAAC,IAAID,EAAE,IAAI,CAAC,EAAEC,EAAE,MAAM,EAAEA,EAAE,IAAI,CAAC,IAAID,EAAE,KAAK,CAACC,EAAE,SAAS,EAAEA,EAAE,IAAI,CAAC,IAAID,EAAE,KAAK,CAACC,EAAE,MAAM,EAAEA,EAAE,WAAW,CAAC,GAAGvI,EAAE,EAAEuI,EAAE,gBAAgB,CAAC,EAAEA,EAAE,WAAW,CAACA,EAAE,WAAW,CAAC,IAAID,EAAE,IAAI,CAACC,EAAE,gBAAgB,EAAEA,EAAE,KAAK,CAAC,EAAEA,EAAE,WAAW,CAACA,EAAE,KAAK,CAAC,EAAEA,EAAE,WAAW,CAACA,EAAE,KAAK,CAAC5M,EAAE4M,EAAE,QAAQ,CAAC6mB,EAAE7mB,EAAE,MAAM,CAACyD,EAAEolB,EAAEjC,EAAE,CAACE,EAAE,CAAC,IAAI4B,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS9B,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE,MAAM,IAAIA,AAAV,MAAYmjB,EAAE,gBAAgB,CAAC,GAAInjB,CAAAA,EAAEmjB,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAGA,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG3tB,EAAE2tB,GAAG,IAAIA,EAAE,SAAS,EAAExzB,AAA53O,IAA43OA,EAAM,OAAlyO,EAA2yO,GAAG,IAAIwzB,EAAE,SAAS,CAAC,KAAK,CAACA,EAAE,QAAQ,EAAEA,EAAE,SAAS,CAACA,EAAE,SAAS,CAAC,EAAE,IAAI/vB,EAAE+vB,EAAE,WAAW,CAACnjB,EAAE,GAAI,KAAImjB,EAAE,QAAQ,EAAEA,EAAE,QAAQ,EAAE/vB,CAAAA,GAAK+vB,CAAAA,EAAE,SAAS,CAACA,EAAE,QAAQ,CAAC/vB,EAAE+vB,EAAE,QAAQ,CAAC/vB,EAAEuxB,EAAExB,EAAE,CAAC,GAAG,IAAIA,EAAE,IAAI,CAAC,SAAS,AAAD,GAAeA,EAAE,QAAQ,CAACA,EAAE,WAAW,EAAEA,EAAE,MAAM,CAACa,GAAIW,CAAAA,EAAExB,EAAE,CAAC,GAAG,IAAIA,EAAE,IAAI,CAAC,SAAS,AAAD,EAA9E,OAAz+O,CAAkkP,CAAC,OAAOA,EAAE,MAAM,CAAC,EAAExzB,AAAjrP,IAAirPA,EAAOg1B,CAAAA,EAAExB,EAAE,CAAC,GAAG,IAAIA,EAAE,IAAI,CAAC,SAAS,CAAhnP,EAAI,CAA+mPe,EAAIf,CAAAA,EAAE,QAAQ,CAACA,EAAE,WAAW,EAAGwB,CAAAA,EAAExB,EAAE,CAAC,GAAGA,EAAE,IAAI,CAAC,SAAS,AAAD,EAAjrP,CAAorPQ,CAAE,GAAG,IAAIsB,EAAE,EAAE,EAAE,EAAE,EAAEF,GAAG,IAAIE,EAAE,EAAE,EAAE,GAAG,EAAEF,GAAG,IAAIE,EAAE,EAAE,EAAE,GAAG,GAAGF,GAAG,IAAIE,EAAE,EAAE,EAAE,GAAG,GAAGD,GAAG,IAAIC,EAAE,EAAE,GAAG,GAAG,GAAGD,GAAG,IAAIC,EAAE,EAAE,GAAG,IAAI,IAAID,GAAG,IAAIC,EAAE,EAAE,GAAG,IAAI,IAAID,GAAG,IAAIC,EAAE,GAAG,IAAI,IAAI,KAAKD,GAAG,IAAIC,EAAE,GAAG,IAAI,IAAI,KAAKD,GAAG,CAAChlB,EAAE,WAAW,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,EAAE,OAAO01B,EAAElC,EAAExzB,EAA99P,EAAk+P,GAAG,EAAE,EAAE,EAAEqQ,EAAE,YAAY,CAACqlB,EAAErlB,EAAE,YAAY,CAAColB,EAAEplB,EAAE,gBAAgB,CAACmlB,EAAEnlB,EAAE,gBAAgB,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,EAAE,OAAOwzB,GAAGA,EAAE,KAAK,CAAC,IAAIA,EAAE,KAAK,CAAC,IAAI,CAAvnQ,GAA2nQA,CAAAA,EAAE,KAAK,CAAC,MAAM,CAACxzB,EAA9oQ,CAAgpQL,EAA5oQ,EAAgpQ,EAAE0Q,EAAE,OAAO,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE5M,EAAEY,EAAEovB,EAAE,GAAG,CAACD,GAAG,CAACA,EAAE,KAAK,EAAE,EAAExzB,GAAGA,EAAE,EAAE,OAAOwzB,EAAEvgB,EAAEugB,EAA3tQ,OAAkuQ,GAAG/vB,EAAE+vB,EAAE,KAAK,CAAC,CAACA,EAAE,MAAM,EAAE,CAACA,EAAE,KAAK,EAAE,IAAIA,EAAE,QAAQ,EAAE,MAAM/vB,EAAE,MAAM,EAAEzD,AAA5yQ,IAA4yQA,EAAM,OAAOiT,EAAEugB,EAAE,IAAIA,EAAE,SAAS,CAAC,GAAr0Q,IAA20Q,GAAG/vB,EAAE,IAAI,CAAC+vB,EAAEnjB,EAAE5M,EAAE,UAAU,CAACA,EAAE,UAAU,CAACzD,EAAEyD,AAA5yQ,KAA4yQA,EAAE,MAAM,EAAK,GAAG,IAAIA,EAAE,IAAI,CAAC+vB,EAAE,KAAK,CAAC,EAAEyB,EAAExxB,EAAE,IAAIwxB,EAAExxB,EAAE,KAAKwxB,EAAExxB,EAAE,GAAGA,EAAE,MAAM,CAAEwxB,CAAAA,EAAExxB,EAAE,AAACA,CAAAA,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,GAAIA,CAAAA,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,GAAIA,CAAAA,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,GAAIA,CAAAA,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,GAAIA,CAAAA,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,IAAIwxB,EAAExxB,EAAE,IAAIA,EAAE,MAAM,CAAC,IAAI,EAAEwxB,EAAExxB,EAAEA,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,KAAKwxB,EAAExxB,EAAEA,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,KAAKwxB,EAAExxB,EAAEA,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,KAAKwxB,EAAExxB,EAAE,IAAIA,EAAE,KAAK,CAAC,EAAE,GAAGA,EAAE,QAAQ,EAAEA,EAAE,KAAK,CAAC,EAAE,EAAE,GAAGwxB,EAAExxB,EAAE,IAAIA,EAAE,MAAM,CAAC,EAAE,EAAEA,EAAE,MAAM,CAAC,KAAK,EAAEA,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAGwxB,CAAAA,EAAExxB,EAAE,IAAIA,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAEwxB,EAAExxB,EAAEA,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,IAAG,EAAGA,EAAE,MAAM,CAAC,IAAI,EAAG+vB,CAAAA,EAAE,KAAK,CAAC5zB,EAAE4zB,EAAE,KAAK,CAAC/vB,EAAE,WAAW,CAACA,EAAE,OAAO,CAAC,EAAC,EAAGA,EAAE,OAAO,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAC,EAAIwxB,CAAAA,EAAExxB,EAAE,GAAGwxB,EAAExxB,EAAE,GAAGwxB,EAAExxB,EAAE,GAAGwxB,EAAExxB,EAAE,GAAGwxB,EAAExxB,EAAE,GAAGwxB,EAAExxB,EAAE,IAAIA,EAAE,KAAK,CAAC,EAAE,GAAGA,EAAE,QAAQ,EAAEA,EAAE,KAAK,CAAC,EAAE,EAAE,GAAGwxB,EAAExxB,EAAE,GAAGA,EAAE,MAAM,CAA56R,GAA66R+wB,MAAO,CAAC,IAAI1uB,EAAEnF,AAAv/R,EAA0/R8C,CAAAA,EAAE,MAAM,CAAC,GAAG,IAAI,CAAEqC,CAAAA,GAAG,AAAC,IAAGrC,EAAE,QAAQ,EAAEA,EAAE,KAAK,CAAC,EAAE,EAAEA,EAAE,KAAK,CAAC,EAAE,EAAE,IAAIA,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,IAAIA,EAAE,QAAQ,EAAGqC,CAAAA,GAAG,EAAC,EAAGA,GAAG,GAAGA,EAAE,GAAGrC,EAAE,MAAM,CAA1jS,IAA6jSyxB,EAAEzxB,EAAEqC,GAAG,IAAIrC,EAAE,QAAQ,EAAGyxB,CAAAA,EAAEzxB,EAAE+vB,EAAE,KAAK,GAAG,IAAI0B,EAAEzxB,EAAE,MAAM+vB,EAAE,KAAK,GAAGA,EAAE,KAAK,CAAC,CAAC,EAAC,GAAG,KAAK/vB,EAAE,MAAM,EAAC,GAAGA,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAIY,EAAEZ,EAAE,OAAO,CAACA,EAAE,OAAO,CAAE,OAAMA,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,AAAD,GAAKA,CAAAA,EAAE,OAAO,GAAGA,EAAE,gBAAgB,EAAGA,CAAAA,EAAE,MAAM,CAAC,IAAI,EAAEA,EAAE,OAAO,CAACY,GAAImvB,CAAAA,EAAE,KAAK,CAAC5zB,EAAE4zB,EAAE,KAAK,CAAC/vB,EAAE,WAAW,CAACA,EAAE,OAAO,CAACY,EAAEA,EAAC,EAAG0wB,EAAEvB,GAAGnvB,EAAEZ,EAAE,OAAO,CAACA,EAAE,OAAO,GAAGA,EAAE,gBAAgB,AAAD,CAAC,GAAIwxB,EAAExxB,EAAE,IAAIA,EAAE,MAAM,CAAC,KAAK,CAACA,EAAE,OAAO,CAAC,EAAEA,EAAE,OAAO,EAAGA,CAAAA,EAAE,MAAM,CAAC,IAAI,EAAEA,EAAE,OAAO,CAACY,GAAImvB,CAAAA,EAAE,KAAK,CAAC5zB,EAAE4zB,EAAE,KAAK,CAAC/vB,EAAE,WAAW,CAACA,EAAE,OAAO,CAACY,EAAEA,EAAC,EAAGZ,EAAE,OAAO,GAAGA,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAGA,CAAAA,EAAE,OAAO,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAC,CAAE,MAAMA,EAAE,MAAM,CAAC,GAAG,GAAG,KAAKA,EAAE,MAAM,EAAC,GAAGA,EAAE,MAAM,CAAC,IAAI,CAAC,CAACY,EAAEZ,EAAE,OAAO,CAAC,EAAE,CAAC,GAAGA,EAAE,OAAO,GAAGA,EAAE,gBAAgB,EAAGA,CAAAA,EAAE,MAAM,CAAC,IAAI,EAAEA,EAAE,OAAO,CAACY,GAAImvB,CAAAA,EAAE,KAAK,CAAC5zB,EAAE4zB,EAAE,KAAK,CAAC/vB,EAAE,WAAW,CAACA,EAAE,OAAO,CAACY,EAAEA,EAAC,EAAG0wB,EAAEvB,GAAGnvB,EAAEZ,EAAE,OAAO,CAACA,EAAE,OAAO,GAAGA,EAAE,gBAAgB,AAAD,EAAG,CAACgwB,EAAE,EAAE,KAAK,CAACA,EAAEhwB,EAAE,OAAO,CAACA,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAIA,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAACA,EAAE,OAAO,IAAI,EAAEwxB,EAAExxB,EAAEgwB,EAAE,OAAO,IAAIA,EAAGhwB,CAAAA,EAAE,MAAM,CAAC,IAAI,EAAEA,EAAE,OAAO,CAACY,GAAImvB,CAAAA,EAAE,KAAK,CAAC5zB,EAAE4zB,EAAE,KAAK,CAAC/vB,EAAE,WAAW,CAACA,EAAE,OAAO,CAACY,EAAEA,EAAC,EAAG,IAAIovB,GAAIhwB,CAAAA,EAAE,OAAO,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAC,CAAE,MAAMA,EAAE,MAAM,CAAC,GAAG,GAAG,KAAKA,EAAE,MAAM,EAAC,GAAGA,EAAE,MAAM,CAAC,OAAO,CAAC,CAACY,EAAEZ,EAAE,OAAO,CAAC,EAAE,CAAC,GAAGA,EAAE,OAAO,GAAGA,EAAE,gBAAgB,EAAGA,CAAAA,EAAE,MAAM,CAAC,IAAI,EAAEA,EAAE,OAAO,CAACY,GAAImvB,CAAAA,EAAE,KAAK,CAAC5zB,EAAE4zB,EAAE,KAAK,CAAC/vB,EAAE,WAAW,CAACA,EAAE,OAAO,CAACY,EAAEA,EAAC,EAAG0wB,EAAEvB,GAAGnvB,EAAEZ,EAAE,OAAO,CAACA,EAAE,OAAO,GAAGA,EAAE,gBAAgB,AAAD,EAAG,CAACgwB,EAAE,EAAE,KAAK,CAACA,EAAEhwB,EAAE,OAAO,CAACA,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAIA,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAACA,EAAE,OAAO,IAAI,EAAEwxB,EAAExxB,EAAEgwB,EAAE,OAAO,IAAIA,EAAGhwB,CAAAA,EAAE,MAAM,CAAC,IAAI,EAAEA,EAAE,OAAO,CAACY,GAAImvB,CAAAA,EAAE,KAAK,CAAC5zB,EAAE4zB,EAAE,KAAK,CAAC/vB,EAAE,WAAW,CAACA,EAAE,OAAO,CAACY,EAAEA,EAAC,EAAG,IAAIovB,GAAIhwB,CAAAA,EAAE,MAAM,CAAC,GAAE,CAAE,MAAMA,EAAE,MAAM,CAAC,IAAI,GAAG,MAAMA,EAAE,MAAM,EAAGA,CAAAA,EAAE,MAAM,CAAC,IAAI,CAAEA,CAAAA,EAAE,OAAO,CAAC,EAAEA,EAAE,gBAAgB,EAAEsxB,EAAEvB,GAAG/vB,EAAE,OAAO,CAAC,GAAGA,EAAE,gBAAgB,EAAGwxB,CAAAA,EAAExxB,EAAE,IAAI+vB,EAAE,KAAK,EAAEyB,EAAExxB,EAAE+vB,EAAE,KAAK,EAAE,EAAE,KAAKA,EAAE,KAAK,CAAC,EAAE/vB,EAAE,MAAM,CAA5mV,GAA6mV+wB,CAAC,EAAG/wB,EAAE,MAAM,CAAznV,GAA0nV+wB,EAAG,IAAI/wB,EAAE,OAAO,CAAE,IAAGsxB,EAAEvB,GAAG,IAAIA,EAAE,SAAS,CAAC,OAAO/vB,EAAE,UAAU,CAAC,GAA1wV,CAA6wV9D,MAAO,GAAG,IAAI6zB,EAAE,QAAQ,EAAEqB,EAAE70B,IAAI60B,EAAExkB,IAAIrQ,AAAvzV,IAAuzVA,EAAM,OAAOiT,EAAEugB,EAAE,IAAI,GAAG,MAAM/vB,EAAE,MAAM,EAAE,IAAI+vB,EAAE,QAAQ,CAAC,OAAOvgB,EAAEugB,EAAE,IAAI,GAAG,IAAIA,EAAE,QAAQ,EAAE,IAAI/vB,EAAE,SAAS,EAAEzD,AAAr6V,IAAq6VA,GAAO,MAAMyD,EAAE,MAAM,CAAC,CAAC,IAAImJ,EAAE,IAAInJ,EAAE,QAAQ,CAAC,SAAS+vB,CAAC,CAACxzB,CAAC,EAAE,IAAI,IAAIqQ,IAAI,CAAC,GAAG,IAAImjB,EAAE,SAAS,EAAG3tB,CAAAA,EAAE2tB,GAAG,IAAIA,EAAE,SAAS,AAAD,EAAG,CAAC,GAAGxzB,AAA3hW,IAA2hWA,EAAM,OAAj8V,EAA08V,KAAK,CAAC,GAAGwzB,EAAE,YAAY,CAAC,EAAEnjB,EAAEsjB,EAAE,SAAS,CAACH,EAAE,EAAEA,EAAE,MAAM,CAACA,EAAE,QAAQ,CAAC,EAAEA,EAAE,SAAS,GAAGA,EAAE,QAAQ,GAAGnjB,GAAI2kB,CAAAA,EAAExB,EAAE,CAAC,GAAG,IAAIA,EAAE,IAAI,CAAC,SAAS,AAAD,EAAG,OAAzkW,CAAilW,CAAC,OAAOA,EAAE,MAAM,CAAC,EAAExzB,AAAhsW,IAAgsWA,EAAOg1B,CAAAA,EAAExB,EAAE,CAAC,GAAG,IAAIA,EAAE,IAAI,CAAC,SAAS,CAA/nW,EAAI,CAA8nWe,EAAGf,EAAE,QAAQ,EAAGwB,CAAAA,EAAExB,EAAE,CAAC,GAAG,IAAIA,EAAE,IAAI,CAAC,SAAS,AAAD,EAArrW,EAAI,CAAurW,EAAE/vB,EAAEzD,GAAG,IAAIyD,EAAE,QAAQ,CAAC,SAAS+vB,CAAC,CAACxzB,CAAC,EAAE,IAAI,IAAIqQ,EAAE5M,EAAEY,EAAEovB,EAAE3tB,EAAE0tB,EAAE,MAAM,GAAG,CAAC,GAAGA,EAAE,SAAS,EAApyW,IAAwyW,CAAC,GAAG3tB,EAAE2tB,GAAGA,EAAE,SAAS,EAA5zW,KAAi0WxzB,AAAx4W,IAAw4WA,EAAM,OAA9yW,EAAuzW,GAAG,IAAIwzB,EAAE,SAAS,CAAC,KAAK,CAAC,GAAGA,EAAE,YAAY,CAAC,EAAEA,EAAE,SAAS,EAA54W,GAAi5W,EAAEA,EAAE,QAAQ,EAAE,AAAC/vB,CAAAA,EAAEqC,CAAC,CAACzB,EAAEmvB,EAAE,QAAQ,CAAC,EAAE,AAAD,IAAK1tB,CAAC,CAAC,EAAEzB,EAAE,EAAEZ,IAAIqC,CAAC,CAAC,EAAEzB,EAAE,EAAEZ,IAAIqC,CAAC,CAAC,EAAEzB,EAAE,CAAC,CAACovB,EAAED,EAAE,QAAQ,CAA/9W,IAAk+W,SAAU/vB,IAAIqC,CAAC,CAAC,EAAEzB,EAAE,EAAEZ,IAAIqC,CAAC,CAAC,EAAEzB,EAAE,EAAEZ,IAAIqC,CAAC,CAAC,EAAEzB,EAAE,EAAEZ,IAAIqC,CAAC,CAAC,EAAEzB,EAAE,EAAEZ,IAAIqC,CAAC,CAAC,EAAEzB,EAAE,EAAEZ,IAAIqC,CAAC,CAAC,EAAEzB,EAAE,EAAEZ,IAAIqC,CAAC,CAAC,EAAEzB,EAAE,EAAEZ,IAAIqC,CAAC,CAAC,EAAEzB,EAAE,EAAEA,EAAEovB,EAAGD,CAAAA,EAAE,YAAY,CAACY,AAAhmX,IAAmmXX,CAAAA,EAAEpvB,CAAAA,EAAGmvB,EAAE,YAAY,CAACA,EAAE,SAAS,EAAGA,CAAAA,EAAE,YAAY,CAACA,EAAE,SAAS,AAAD,CAAE,CAAC,GAAGA,EAAE,YAAY,EAAtrX,EAA2rXnjB,CAAAA,EAAEsjB,EAAE,SAAS,CAACH,EAAE,EAAEA,EAAE,YAAY,CAA3tX,GAA+tXA,EAAE,SAAS,EAAEA,EAAE,YAAY,CAACA,EAAE,QAAQ,EAAEA,EAAE,YAAY,CAACA,EAAE,YAAY,CAAC,GAAInjB,CAAAA,EAAEsjB,EAAE,SAAS,CAACH,EAAE,EAAEA,EAAE,MAAM,CAACA,EAAE,QAAQ,CAAC,EAAEA,EAAE,SAAS,GAAGA,EAAE,QAAQ,EAAC,EAAGnjB,GAAI2kB,CAAAA,EAAExB,EAAE,CAAC,GAAG,IAAIA,EAAE,IAAI,CAAC,SAAS,AAAD,EAAG,OAAl3X,CAA03X,CAAC,OAAOA,EAAE,MAAM,CAAC,EAAExzB,AAAz+X,IAAy+XA,EAAOg1B,CAAAA,EAAExB,EAAE,CAAC,GAAG,IAAIA,EAAE,IAAI,CAAC,SAAS,CAAx6X,EAAI,CAAu6Xe,EAAGf,EAAE,QAAQ,EAAGwB,CAAAA,EAAExB,EAAE,CAAC,GAAG,IAAIA,EAAE,IAAI,CAAC,SAAS,AAAD,EAA99X,EAAI,CAAg+X,EAAE/vB,EAAEzD,GAAG0zB,CAAC,CAACjwB,EAAE,KAAK,CAAC,CAAC,IAAI,CAACA,EAAEzD,GAAG,GAAG4M,AAA3/X,IAA2/XA,GAAOA,AAA9/X,IAA8/XA,GAAQnJ,CAAAA,EAAE,MAAM,CAAC,GAAE,EAAGmJ,AAAhiY,IAAgiYA,GAAOA,AAA/hY,IAA+hYA,EAAM,OAAO,IAAI4mB,EAAE,SAAS,EAAG/vB,CAAAA,EAAE,UAAU,CAAC,EAAC,EAA5qY,EAAirY,GAAGmJ,AAAxlY,IAAwlYA,GAAQ,KAAI5M,EAAE2zB,EAAE,SAAS,CAAClwB,GAAG,IAAIzD,GAAI2zB,CAAAA,EAAE,gBAAgB,CAAClwB,EAAE,EAAE,EAAE,CAAC,GAAG,IAAIzD,GAAI80B,CAAAA,EAAErxB,EAAE,IAAI,EAAE,IAAIA,EAAE,SAAS,EAAGA,CAAAA,EAAE,QAAQ,CAAC,EAAEA,EAAE,WAAW,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAC,CAAC,EAAGsxB,EAAEvB,GAAG,IAAIA,EAAE,SAAS,AAAD,EAAG,OAAO/vB,EAAE,UAAU,CAAC,GAA/2Y,CAAm3Y,CAAC,OAAOzD,AAA/3Y,IAA+3YA,EAA33Y,EAAm4YyD,EAAE,IAAI,EAAE,EAAE,EAAG,KAAIA,EAAE,IAAI,CAAEwxB,CAAAA,EAAExxB,EAAE,IAAI+vB,EAAE,KAAK,EAAEyB,EAAExxB,EAAE+vB,EAAE,KAAK,EAAE,EAAE,KAAKyB,EAAExxB,EAAE+vB,EAAE,KAAK,EAAE,GAAG,KAAKyB,EAAExxB,EAAE+vB,EAAE,KAAK,EAAE,GAAG,KAAKyB,EAAExxB,EAAE,IAAI+vB,EAAE,QAAQ,EAAEyB,EAAExxB,EAAE+vB,EAAE,QAAQ,EAAE,EAAE,KAAKyB,EAAExxB,EAAE+vB,EAAE,QAAQ,EAAE,GAAG,KAAKyB,EAAExxB,EAAE+vB,EAAE,QAAQ,EAAE,GAAG,IAAG,EAAI0B,CAAAA,EAAEzxB,EAAE+vB,EAAE,KAAK,GAAG,IAAI0B,EAAEzxB,EAAE,MAAM+vB,EAAE,KAAK,GAAGuB,EAAEvB,GAAG,EAAE/vB,EAAE,IAAI,EAAGA,CAAAA,EAAE,IAAI,CAAC,CAACA,EAAE,IAAI,AAAD,EAAG,IAAIA,EAAE,OAAO,CAA3pZ,EAA8pZ,EAAE,EAAE4M,EAAE,UAAU,CAAC,SAASmjB,CAAC,EAAE,IAAIxzB,EAAE,OAAOwzB,GAAGA,EAAE,KAAK,CAAC,AAAtoZ,KAAuoZxzB,CAAAA,EAAEwzB,EAAE,KAAK,CAAC,MAAM,AAAD,GAAQ,KAAKxzB,GAAG,KAAKA,GAAG,KAAKA,GAAG,MAAMA,GAAGA,AAA1rZ,MAA0rZA,GAAO,MAAMA,EAAEiT,EAAEugB,EAAzxZ,IAA+xZA,CAAAA,EAAE,KAAK,CAAC,KAAKxzB,AAA9tZ,MAA8tZA,EAAMiT,EAAEugB,EAAE,IAA1zZ,CAA8zZ7zB,EAA1zZ,EAA8zZ,EAAE0Q,EAAE,oBAAoB,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE5M,EAAEY,EAAEovB,EAAE3tB,EAAE8G,EAAE8mB,EAAEC,EAAE3P,EAAEhkB,EAAE,MAAM,CAAC,GAAG,CAACwzB,GAAG,CAACA,EAAE,KAAK,EAAa,IAAKC,CAAAA,EAAE,AAACpjB,CAAAA,EAAEmjB,EAAE,KAAK,AAAD,EAAG,IAAI,AAAD,GAAI,IAAIC,GAAGpjB,AAAx3Z,KAAw3ZA,EAAE,MAAM,EAAMA,EAAE,SAAS,CAAtE,OAAp5Z,GAAo+Z,IAAI,IAAIojB,GAAID,CAAAA,EAAE,KAAK,CAAC/rB,EAAE+rB,EAAE,KAAK,CAACxzB,EAAEgkB,EAAE,EAAC,EAAG3T,EAAE,IAAI,CAAC,EAAE2T,GAAG3T,EAAE,MAAM,EAAG,KAAIojB,GAAIqB,CAAAA,EAAEzkB,EAAE,IAAI,EAAEA,EAAE,QAAQ,CAAC,EAAEA,EAAE,WAAW,CAAC,EAAEA,EAAE,MAAM,CAAC,GAAGsjB,EAAE,IAAIhnB,EAAE,IAAI,CAAC0D,EAAE,MAAM,EAAE1D,EAAE,QAAQ,CAACgnB,EAAE3zB,EAAEgkB,EAAE3T,EAAE,MAAM,CAACA,EAAE,MAAM,CAAC,GAAGrQ,EAAE2zB,EAAE3P,EAAE3T,EAAE,MAAM,AAAD,EAAGvK,EAAE0tB,EAAE,QAAQ,CAAC5mB,EAAE4mB,EAAE,OAAO,CAACE,EAAEF,EAAE,KAAK,CAACA,EAAE,QAAQ,CAACxP,EAAEwP,EAAE,OAAO,CAAC,EAAEA,EAAE,KAAK,CAACxzB,EAAE6F,EAAEwK,GAAGA,EAAE,SAAS,EAAxsa,GAA6sa,CAAC,IAAI5M,EAAE4M,EAAE,QAAQ,CAAChM,EAAEgM,EAAE,SAAS,CAAEtK,EAAKsK,EAAE,KAAK,CAAC,AAACA,CAAAA,EAAE,KAAK,EAAEA,EAAE,UAAU,CAACA,EAAE,MAAM,CAAC5M,EAA3xa,EAA+xa,EAAE,AAAD,EAAG4M,EAAE,SAAS,CAACA,EAAE,IAAI,CAAC5M,EAAE4M,EAAE,MAAM,CAAC,CAACA,EAAE,IAAI,CAACA,EAAE,KAAK,CAAC,CAACA,EAAE,IAAI,CAACA,EAAE,KAAK,CAAC,CAAC5M,EAAEA,IAAI,EAAEY,IAAIgM,EAAE,QAAQ,CAAC5M,EAAE4M,EAAE,SAAS,CAACtK,EAAIF,EAAEwK,EAAE,CAAC,OAAOA,EAAE,QAAQ,EAAEA,EAAE,SAAS,CAACA,EAAE,WAAW,CAACA,EAAE,QAAQ,CAACA,EAAE,MAAM,CAACA,EAAE,SAAS,CAACA,EAAE,SAAS,CAAC,EAAEA,EAAE,YAAY,CAACA,EAAE,WAAW,CAACtK,EAAIsK,EAAE,eAAe,CAAC,EAAEmjB,EAAE,OAAO,CAAC5mB,EAAE4mB,EAAE,KAAK,CAACE,EAAEF,EAAE,QAAQ,CAAC1tB,EAAEuK,EAAE,IAAI,CAACojB,EAArob,CAAwob,EAAEpjB,EAAE,WAAW,CAAC,oCAAoC,EAAE,CAAC,kBAAkB,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,YAAarQ,CAAAA,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAASwzB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,YAAarQ,CAAAA,EAAE,OAAO,CAAC,SAASwzB,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE5M,EAAEY,EAAEovB,EAAE3tB,EAAE8G,EAAE8mB,EAAEC,EAAE3P,EAAE4P,EAAEjnB,EAAElF,EAAE7H,EAAED,EAAEuX,EAAErX,EAAEoF,EAAEtE,EAAEqF,EAAEgO,EAAEmgB,EAAEpuB,EAAEquB,EAAEC,EAAEC,CAAEjkB,CAAAA,EAAEmjB,EAAE,KAAK,CAAC/vB,EAAE+vB,EAAE,OAAO,CAACa,EAAEb,EAAE,KAAK,CAACnvB,EAAEZ,EAAG+vB,CAAAA,EAAE,QAAQ,CAAC,GAAGC,EAAED,EAAE,QAAQ,CAACc,EAAEd,EAAE,MAAM,CAAC1tB,EAAE2tB,EAAGzzB,CAAAA,EAAEwzB,EAAE,SAAS,AAAD,EAAG5mB,EAAE6mB,EAAGD,CAAAA,EAAE,SAAS,CAAC,GAAE,EAAGE,EAAErjB,EAAE,IAAI,CAACsjB,EAAEtjB,EAAE,KAAK,CAAC2T,EAAE3T,EAAE,KAAK,CAACujB,EAAEvjB,EAAE,KAAK,CAAC1D,EAAE0D,EAAE,MAAM,CAAC5I,EAAE4I,EAAE,IAAI,CAACzQ,EAAEyQ,EAAE,IAAI,CAAC1Q,EAAE0Q,EAAE,OAAO,CAAC6G,EAAE7G,EAAE,QAAQ,CAACxQ,EAAE,AAAC,IAAGwQ,EAAE,OAAO,AAAD,EAAG,EAAEpL,EAAE,AAAC,IAAGoL,EAAE,QAAQ,AAAD,EAAG,EAAEmjB,EAAE,GAA0D,IAAvD5zB,EAAE,IAAK6H,CAAAA,GAAG4sB,CAAC,CAAC5wB,IAAI,EAAE7D,EAAEA,GAAG,EAAE6H,GAAG4sB,CAAC,CAAC5wB,IAAI,EAAE7D,EAAEA,GAAG,GAAGe,EAAEhB,CAAC,CAAC8H,EAAE5H,EAAE,GAAU,CAAC,GAAG4H,KAAKzB,EAAErF,IAAI,GAAGf,GAAGoG,EAAE,GAAKA,CAAAA,EAAErF,IAAI,GAAG,GAAE,EAAG2zB,CAAC,CAACb,IAAI,CAAC,MAAM9yB,MAAM,CAAC,GAAG,CAAE,IAAGqF,CAAAA,EAAG,CAAC,GAAG,GAAI,IAAGA,CAAAA,EAAG,CAACrF,EAAEhB,CAAC,CAAC,AAAC,OAAMgB,CAAAA,EAAI8G,CAAAA,EAAE,AAAC,IAAGzB,CAAAA,EAAG,GAAG,CAAC,QAAU,CAAC,GAAG,GAAGA,EAAE,CAACqK,EAAE,IAAI,CAAC,GAAG,MAAMmjB,CAAC,CAACA,EAAE,GAAG,CAAC,8BAA8BnjB,EAAE,IAAI,CAAC,GAAG,MAAMmjB,CAAC,CAAgI,IAA/Hxf,EAAE,MAAMrT,EAAE,AAACqF,CAAAA,GAAG,EAAC,GAAKpG,CAAAA,EAAEoG,GAAIyB,CAAAA,GAAG4sB,CAAC,CAAC5wB,IAAI,EAAE7D,EAAEA,GAAG,GAAGoU,GAAGvM,EAAE,AAAC,IAAGzB,CAAAA,EAAG,EAAEyB,KAAKzB,EAAEpG,GAAGoG,CAAAA,EAAGpG,EAAE,IAAK6H,CAAAA,GAAG4sB,CAAC,CAAC5wB,IAAI,EAAE7D,EAAEA,GAAG,EAAE6H,GAAG4sB,CAAC,CAAC5wB,IAAI,EAAE7D,EAAEA,GAAG,GAAGe,EAAEuW,CAAC,CAACzP,EAAExC,EAAE,GAAU,CAAC,GAAGwC,KAAKzB,EAAErF,IAAI,GAAGf,GAAGoG,EAAE,CAAE,IAAIA,CAAAA,EAAErF,IAAI,GAAG,GAAE,CAAC,EAAG,CAAC,GAAG,GAAI,IAAGqF,CAAAA,EAAG,CAACrF,EAAEuW,CAAC,CAAC,AAAC,OAAMvW,CAAAA,EAAI8G,CAAAA,EAAE,AAAC,IAAGzB,CAAAA,EAAG,GAAG,CAAC,QAAU,CAACwtB,EAAE,GAAG,CAAC,wBAAwBnjB,EAAE,IAAI,CAAC,GAAG,MAAMmjB,CAAC,CAAC,GAAGW,EAAE,MAAMxzB,EAAEf,EAAGoG,CAAAA,GAAG,EAAC,GAAKyB,CAAAA,GAAG4sB,CAAC,CAAC5wB,IAAI,EAAE7D,EAAE,AAACA,CAAAA,GAAG,GAAGoG,GAAIyB,CAAAA,GAAG4sB,CAAC,CAAC5wB,IAAI,EAAE7D,EAAEA,GAAG,EAAC,EAAG8zB,EAAGS,CAAAA,GAAG1sB,EAAE,AAAC,IAAGzB,CAAAA,EAAG,GAAG,CAACwtB,EAAE,GAAG,CAAC,gCAAgCnjB,EAAE,IAAI,CAAC,GAAG,MAAMmjB,CAAC,CAAC,GAAG/rB,KAAKzB,EAAEpG,GAAGoG,EAAE,AAACA,CAAAA,EAAEytB,EAAE3tB,CAAAA,EAAGquB,EAAE,CAAC,GAAGnQ,EAAGhe,CAAAA,EAAEmuB,EAAEnuB,CAAAA,GAAIqK,EAAE,IAAI,CAAC,CAACmjB,EAAE,GAAG,CAAC,gCAAgCnjB,EAAE,IAAI,CAAC,GAAG,MAAMmjB,CAAC,CAAC,GAAGY,EAAEznB,EAAE,AAAC5G,CAAAA,EAAE,KAAK6tB,EAAG,IAAG7tB,GAAG4tB,EAAE3tB,EAAEA,EAAEgO,EAAE,CAAC,IAAIA,GAAGhO,EAAEsuB,CAAC,CAACb,IAAI,CAAC9mB,CAAC,CAAC5G,IAAI,CAAC,EAAEC,IAAID,EAAE0tB,EAAEU,EAAEC,EAAEE,CAAC,OAAO,GAAGV,EAAE5tB,EAAG,IAAGD,GAAG4tB,EAAEC,EAAE5tB,EAAE,AAACA,CAAAA,GAAG4tB,CAAAA,EAAG5f,EAAE,CAAC,IAAIA,GAAGhO,EAAEsuB,CAAC,CAACb,IAAI,CAAC9mB,CAAC,CAAC5G,IAAI,CAAC,EAAEC,IAAI,GAAGD,EAAE,EAAE6tB,EAAE5f,EAAE,CAAC,IAAIA,GAAGhO,EAAE4tB,EAAEU,CAAC,CAACb,IAAI,CAAC9mB,CAAC,CAAC5G,IAAI,CAAC,EAAEC,IAAID,EAAE0tB,EAAEU,EAAEC,EAAEE,CAAC,CAAC,OAAO,GAAGvuB,GAAG6tB,EAAE5tB,EAAEA,EAAEgO,EAAE,CAAC,IAAIA,GAAGhO,EAAEsuB,CAAC,CAACb,IAAI,CAAC9mB,CAAC,CAAC5G,IAAI,CAAC,EAAEC,IAAID,EAAE0tB,EAAEU,EAAEC,EAAEE,CAAC,CAAC,KAAK,EAAEtgB,GAAGsgB,CAAC,CAACb,IAAI,CAACW,CAAC,CAACruB,IAAI,CAACuuB,CAAC,CAACb,IAAI,CAACW,CAAC,CAACruB,IAAI,CAACuuB,CAAC,CAACb,IAAI,CAACW,CAAC,CAACruB,IAAI,CAACiO,GAAG,CAAEA,CAAAA,GAAIsgB,CAAAA,CAAC,CAACb,IAAI,CAACW,CAAC,CAACruB,IAAI,CAAC,EAAEiO,GAAIsgB,CAAAA,CAAC,CAACb,IAAI,CAACW,CAAC,CAACruB,IAAI,AAAD,CAAC,CAAE,KAAK,CAAC,IAAIA,EAAE0tB,EAAEU,EAAEG,CAAC,CAACb,IAAI,CAACa,CAAC,CAACvuB,IAAI,CAACuuB,CAAC,CAACb,IAAI,CAACa,CAAC,CAACvuB,IAAI,CAACuuB,CAAC,CAACb,IAAI,CAACa,CAAC,CAACvuB,IAAI,CAAC,EAAGiO,CAAAA,GAAG,KAAKA,GAAIsgB,CAAAA,CAAC,CAACb,IAAI,CAACa,CAAC,CAACvuB,IAAI,CAAC,EAAEiO,GAAIsgB,CAAAA,CAAC,CAACb,IAAI,CAACa,CAAC,CAACvuB,IAAI,AAAD,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,KAAK,OAAQtC,EAAEY,GAAGovB,EAAE7mB,EAAGnJ,CAAAA,GAAGuQ,EAAEpU,GAAG,EAAE6H,GAAG,AAAC,IAAI7H,CAAAA,GAAGoU,GAAG,EAAC,EAAG,EAAEwf,EAAE,OAAO,CAAC/vB,EAAE+vB,EAAE,QAAQ,CAACC,EAAED,EAAE,QAAQ,CAAC/vB,EAAEY,EAAEA,EAAEZ,EAAE,EAAE,EAAGA,CAAAA,EAAEY,CAAAA,EAAGmvB,EAAE,SAAS,CAACC,EAAE7mB,EAAEA,EAAE6mB,EAAE,IAAI,IAAKA,CAAAA,EAAE7mB,CAAAA,EAAGyD,EAAE,IAAI,CAAC5I,EAAE4I,EAAE,IAAI,CAACzQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS4zB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAI6jB,EAAEV,EAAE,mBAAmBS,EAAET,EAAE,aAAae,EAAEf,EAAE,WAAWvgB,EAAEugB,EAAE,aAAaqB,EAAErB,EAAE,cAA+C,SAAS2B,EAAE3B,CAAC,EAAE,MAAM,AAACA,CAAAA,IAAI,GAAG,GAAE,EAAIA,CAAAA,IAAI,EAAE,KAAI,EAAI,CAAC,OAAMA,CAAAA,GAAI,GAAI,CAAC,KAAIA,CAAAA,GAAI,EAAC,CAAE,CAAC,SAASC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAIS,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAASpuB,EAAE0tB,CAAC,EAAE,IAAIxzB,EAAE,OAAOwzB,GAAGA,EAAE,KAAK,CAAExzB,CAAAA,EAAEwzB,EAAE,KAAK,CAACA,EAAE,QAAQ,CAACA,EAAE,SAAS,CAACxzB,EAAE,KAAK,CAAC,EAAEwzB,EAAE,GAAG,CAAC,GAAGxzB,EAAE,IAAI,EAAGwzB,CAAAA,EAAE,KAAK,CAAC,EAAExzB,EAAE,IAAI,AAAD,EAAGA,EAAE,IAAI,CAAluB,EAAquBA,EAAE,IAAI,CAAC,EAAEA,EAAE,QAAQ,CAAC,EAAEA,EAAE,IAAI,CAAC,MAAMA,EAAE,IAAI,CAAC,KAAKA,EAAE,IAAI,CAAC,EAAEA,EAAE,IAAI,CAAC,EAAEA,EAAE,OAAO,CAACA,EAAE,MAAM,CAAC,IAAIk0B,EAAE,KAAK,CAAh0B,KAAo0Bl0B,EAAE,QAAQ,CAACA,EAAE,OAAO,CAAC,IAAIk0B,EAAE,KAAK,CAA91B,KAAk2Bl0B,EAAE,IAAI,CAAC,EAAEA,EAAE,IAAI,CAAC,GAAr4B,CAAw4Bg1B,EAAp4B,EAAw4B,CAAC,SAASpoB,EAAE4mB,CAAC,EAAE,IAAIxzB,EAAE,OAAOwzB,GAAGA,EAAE,KAAK,CAAE,CAACxzB,CAAAA,EAAEwzB,EAAE,KAAK,AAAD,EAAG,KAAK,CAAC,EAAExzB,EAAE,KAAK,CAAC,EAAEA,EAAE,KAAK,CAAC,EAAE8F,EAAE0tB,EAAC,EAA39B,EAA+9B,CAAC,SAASE,EAAEF,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE5M,EAAE,OAAO+vB,GAAGA,EAAE,KAAK,CAAE/vB,CAAAA,EAAE+vB,EAAE,KAAK,CAACxzB,EAAE,EAAGqQ,CAAAA,EAAE,EAAErQ,EAAE,CAACA,CAAAA,EAAIqQ,CAAAA,EAAE,EAAGrQ,CAAAA,GAAG,GAAGA,EAAE,IAAKA,CAAAA,GAAG,EAAC,CAAC,EAAGA,GAAIA,CAAAA,EAAE,GAAG,GAAGA,CAAAA,EAA3kC,GAAilC,QAAOyD,EAAE,MAAM,EAAEA,EAAE,KAAK,GAAGzD,GAAIyD,CAAAA,EAAE,MAAM,CAAC,IAAG,EAAGA,EAAE,IAAI,CAAC4M,EAAE5M,EAAE,KAAK,CAACzD,EAAE4M,EAAE4mB,EAAC,CAAC,EAAtpC,EAA0pC,CAAC,SAASG,EAAEH,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE5M,EAAE,OAAO+vB,EAAG/vB,CAAAA,EAAE,IAAIgwB,EAAE,AAACD,CAAAA,EAAE,KAAK,CAAC/vB,CAAAA,EAAG,MAAM,CAAC,KAAK,AAAjuC,IAAkuC4M,CAAAA,EAAEqjB,EAAEF,EAAExzB,EAAC,GAASwzB,CAAAA,EAAE,KAAK,CAAC,IAAG,EAAGnjB,CAAAA,EAA5vC,EAAgwC,CAAC,IAAI2T,EAAE4P,EAAEjnB,EAAE,CAAC,EAA0U,SAASyoB,EAAE5B,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,CAAC5M,CAAC,EAAE,IAAIY,EAAEovB,EAAED,EAAE,KAAK,CAAC,OAAO,OAAOC,EAAE,MAAM,EAAGA,CAAAA,EAAE,KAAK,CAAC,GAAGA,EAAE,KAAK,CAACA,EAAE,KAAK,CAAC,EAAEA,EAAE,KAAK,CAAC,EAAEA,EAAE,MAAM,CAAC,IAAIS,EAAE,IAAI,CAACT,EAAE,KAAK,GAAGhwB,GAAGgwB,EAAE,KAAK,CAAES,CAAAA,EAAE,QAAQ,CAACT,EAAE,MAAM,CAACzzB,EAAEqQ,EAAEojB,EAAE,KAAK,CAACA,EAAE,KAAK,CAAC,GAAGA,EAAE,KAAK,CAAC,EAAEA,EAAE,KAAK,CAACA,EAAE,KAAK,AAAD,EAAIhwB,CAAAA,EAAGY,CAAAA,EAAEovB,EAAE,KAAK,CAACA,EAAE,KAAK,AAAD,GAAKpvB,CAAAA,EAAEZ,CAAAA,EAAGywB,EAAE,QAAQ,CAACT,EAAE,MAAM,CAACzzB,EAAEqQ,EAAE5M,EAAEY,EAAEovB,EAAE,KAAK,EAAE,AAAChwB,CAAAA,GAAGY,CAAAA,EAAI6vB,CAAAA,EAAE,QAAQ,CAACT,EAAE,MAAM,CAACzzB,EAAEqQ,EAAE5M,EAAEA,EAAE,GAAGgwB,EAAE,KAAK,CAAChwB,EAAEgwB,EAAE,KAAK,CAACA,EAAE,KAAK,AAAD,EAAIA,CAAAA,EAAE,KAAK,EAAEpvB,EAAEovB,EAAE,KAAK,GAAGA,EAAE,KAAK,EAAGA,CAAAA,EAAE,KAAK,CAAC,GAAGA,EAAE,KAAK,CAACA,EAAE,KAAK,EAAGA,CAAAA,EAAE,KAAK,EAAEpvB,CAAAA,CAAC,CAAC,EAAG,CAAC,CAACgM,EAAE,YAAY,CAACzD,EAAEyD,EAAE,aAAa,CAACqjB,EAAErjB,EAAE,gBAAgB,CAACvK,EAAEuK,EAAE,WAAW,CAAC,SAASmjB,CAAC,EAAE,OAAOG,EAAEH,EAAE,GAAG,EAAEnjB,EAAE,YAAY,CAACsjB,EAAEtjB,EAAE,OAAO,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE5M,EAAEY,EAAEovB,EAAE3tB,EAAE8G,EAAE8mB,EAAEC,EAAE3P,EAAE4P,EAAEjnB,EAAElF,EAAE7H,EAAED,EAAEuX,EAAErX,EAAEoF,EAAEtE,EAAEqF,EAAEgO,EAAEmgB,EAAEpuB,EAAEquB,EAAEC,EAAEC,EAAE,EAAEE,EAAE,IAAIN,EAAE,IAAI,CAAC,GAAGF,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAACR,GAAG,CAACA,EAAE,KAAK,EAAE,CAACA,EAAE,MAAM,EAAE,CAACA,EAAE,KAAK,EAAE,IAAIA,EAAE,QAAQ,CAAC,OAAvzE,EAAg0E,MAAK,AAACnjB,CAAAA,EAAEmjB,EAAE,KAAK,AAAD,EAAG,IAAI,EAAGnjB,CAAAA,EAAE,IAAI,CAAC,EAAC,EAAGvK,EAAE0tB,EAAE,QAAQ,CAACnvB,EAAEmvB,EAAE,MAAM,CAACE,EAAEF,EAAE,SAAS,CAACC,EAAED,EAAE,OAAO,CAAC/vB,EAAE+vB,EAAE,KAAK,CAAC5mB,EAAE4mB,EAAE,QAAQ,CAACG,EAAEtjB,EAAE,IAAI,CAAC2T,EAAE3T,EAAE,IAAI,CAACujB,EAAEhnB,EAAED,EAAE+mB,EAAE3tB,EAA18E,EAA88EytB,EAAE,OAAO,OAAOnjB,EAAE,IAAI,EAAE,KAA79E,EAAo+E,GAAG,IAAIA,EAAE,IAAI,CAAC,CAACA,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK2T,EAAE,IAAI,CAAC,GAAG,IAAIpX,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAAC,GAAG,EAAE3T,EAAE,IAAI,EAAE,QAAQsjB,EAAE,CAACa,CAAC,CAACnkB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAIsjB,EAAEa,CAAC,CAAC,EAAE,CAACb,IAAI,EAAE,IAAItjB,EAAE,KAAK,CAACkkB,EAAElkB,EAAE,KAAK,CAACmkB,EAAE,EAAE,GAAGxQ,EAAE2P,EAAE,EAAEtjB,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,GAAGA,EAAE,KAAK,CAAC,EAAEA,EAAE,IAAI,EAAGA,CAAAA,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAE,GAAEA,EAAE,IAAI,AAAD,GAAI,AAAC,CAAC,CAAC,KAAIsjB,CAAAA,GAAI,GAAIA,CAAAA,GAAG,EAAC,EAAG,GAAG,CAACH,EAAE,GAAG,CAAC,yBAAyBnjB,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,GAAI,IAAGsjB,CAAAA,EAAG,CAACH,EAAE,GAAG,CAAC,6BAA6BnjB,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG2T,GAAG,EAAEmQ,EAAE,EAAG,IAAIR,CAAAA,KAAK,EAAC,EAAG,IAAItjB,EAAE,KAAK,CAACA,EAAE,KAAK,CAAC8jB,OAAO,GAAGA,EAAE9jB,EAAE,KAAK,CAAC,CAACmjB,EAAE,GAAG,CAAC,sBAAsBnjB,EAAE,IAAI,CAAC,GAAG,KAAK,CAACA,EAAE,IAAI,CAAC,GAAG8jB,EAAEX,EAAE,KAAK,CAACnjB,EAAE,KAAK,CAAC,EAAEA,EAAE,IAAI,CAAC,IAAIsjB,EAAE,GAAG,GAAG3P,EAAE2P,EAAE,EAAE,KAAM,MAAK,EAAE,KAAK3P,EAAE,IAAI,CAAC,GAAG,IAAIpX,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAAC,GAAG3T,EAAE,KAAK,CAACsjB,EAAE,GAAI,KAAItjB,EAAE,KAAK,AAAD,EAAG,CAACmjB,EAAE,GAAG,CAAC,6BAA6BnjB,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,MAAMA,EAAE,KAAK,CAAC,CAACmjB,EAAE,GAAG,CAAC,2BAA2BnjB,EAAE,IAAI,CAAC,GAAG,KAAK,CAACA,EAAE,IAAI,EAAGA,CAAAA,EAAE,IAAI,CAAC,IAAI,CAACsjB,GAAG,EAAE,GAAG,IAAItjB,EAAE,KAAK,EAAGmkB,CAAAA,CAAC,CAAC,EAAE,CAAC,IAAIb,EAAEa,CAAC,CAAC,EAAE,CAACb,IAAI,EAAE,IAAItjB,EAAE,KAAK,CAACkkB,EAAElkB,EAAE,KAAK,CAACmkB,EAAE,EAAE,EAAC,EAAGxQ,EAAE2P,EAAE,EAAEtjB,EAAE,IAAI,CAAC,CAAE,MAAK,EAAE,KAAK2T,EAAE,IAAI,CAAC,GAAG,IAAIpX,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAAC3T,EAAE,IAAI,EAAGA,CAAAA,EAAE,IAAI,CAAC,IAAI,CAACsjB,CAAAA,EAAG,IAAItjB,EAAE,KAAK,EAAGmkB,CAAAA,CAAC,CAAC,EAAE,CAAC,IAAIb,EAAEa,CAAC,CAAC,EAAE,CAACb,IAAI,EAAE,IAAIa,CAAC,CAAC,EAAE,CAACb,IAAI,GAAG,IAAIa,CAAC,CAAC,EAAE,CAACb,IAAI,GAAG,IAAItjB,EAAE,KAAK,CAACkkB,EAAElkB,EAAE,KAAK,CAACmkB,EAAE,EAAE,EAAC,EAAGxQ,EAAE2P,EAAE,EAAEtjB,EAAE,IAAI,CAAC,CAAE,MAAK,EAAE,KAAK2T,EAAE,IAAI,CAAC,GAAG,IAAIpX,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAAC3T,EAAE,IAAI,EAAGA,CAAAA,EAAE,IAAI,CAAC,MAAM,CAAC,IAAIsjB,EAAEtjB,EAAE,IAAI,CAAC,EAAE,CAACsjB,GAAG,GAAG,IAAItjB,EAAE,KAAK,EAAGmkB,CAAAA,CAAC,CAAC,EAAE,CAAC,IAAIb,EAAEa,CAAC,CAAC,EAAE,CAACb,IAAI,EAAE,IAAItjB,EAAE,KAAK,CAACkkB,EAAElkB,EAAE,KAAK,CAACmkB,EAAE,EAAE,EAAC,EAAGxQ,EAAE2P,EAAE,EAAEtjB,EAAE,IAAI,CAAC,CAAE,MAAK,EAAE,GAAG,KAAKA,EAAE,KAAK,CAAC,CAAC,KAAK2T,EAAE,IAAI,CAAC,GAAG,IAAIpX,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAAC3T,EAAE,MAAM,CAACsjB,EAAEtjB,EAAE,IAAI,EAAGA,CAAAA,EAAE,IAAI,CAAC,SAAS,CAACsjB,CAAAA,EAAG,IAAItjB,EAAE,KAAK,EAAGmkB,CAAAA,CAAC,CAAC,EAAE,CAAC,IAAIb,EAAEa,CAAC,CAAC,EAAE,CAACb,IAAI,EAAE,IAAItjB,EAAE,KAAK,CAACkkB,EAAElkB,EAAE,KAAK,CAACmkB,EAAE,EAAE,EAAC,EAAGxQ,EAAE2P,EAAE,CAAC,MAAMtjB,EAAE,IAAI,EAAGA,CAAAA,EAAE,IAAI,CAAC,KAAK,CAAC,IAAG,CAAGA,CAAAA,EAAE,IAAI,CAAC,CAAE,MAAK,EAAE,GAAG,KAAKA,EAAE,KAAK,EAAGzD,CAAAA,EAAGnF,CAAAA,EAAE4I,EAAE,MAAM,AAAD,GAAK5I,CAAAA,EAAEmF,CAAAA,EAAGnF,GAAI4I,CAAAA,EAAE,IAAI,EAAG8jB,CAAAA,EAAE9jB,EAAE,IAAI,CAAC,SAAS,CAACA,EAAE,MAAM,CAACA,EAAE,IAAI,CAAC,KAAK,EAAGA,CAAAA,EAAE,IAAI,CAAC,KAAK,CAAC,AAAIxI,MAAMwI,EAAE,IAAI,CAAC,SAAS,GAAG6jB,EAAE,QAAQ,CAAC7jB,EAAE,IAAI,CAAC,KAAK,CAAC5M,EAAEgwB,EAAEhsB,EAAE0sB,EAAC,EAAG,IAAI9jB,EAAE,KAAK,EAAGA,CAAAA,EAAE,KAAK,CAACkkB,EAAElkB,EAAE,KAAK,CAAC5M,EAAEgE,EAAEgsB,EAAC,EAAG7mB,GAAGnF,EAAEgsB,GAAGhsB,EAAE4I,EAAE,MAAM,EAAE5I,CAAAA,EAAG4I,EAAE,MAAM,AAAD,EAAG,MAAMmjB,CAAEnjB,CAAAA,EAAE,MAAM,CAAC,EAAEA,EAAE,IAAI,CAAC,CAAE,MAAK,EAAE,GAAG,KAAKA,EAAE,KAAK,CAAC,CAAC,GAAG,IAAIzD,EAAE,MAAM4mB,EAAE,IAAI/rB,EAAE,EAAE0sB,EAAE1wB,CAAC,CAACgwB,EAAEhsB,IAAI,CAAC4I,EAAE,IAAI,EAAE8jB,GAAG9jB,EAAE,MAAM,CAAC,OAAQA,CAAAA,EAAE,IAAI,CAAC,IAAI,EAAE3L,OAAO,YAAY,CAACyvB,EAAC,EAAGA,GAAG1sB,EAAEmF,IAAI,GAAG,IAAIyD,EAAE,KAAK,EAAGA,CAAAA,EAAE,KAAK,CAACkkB,EAAElkB,EAAE,KAAK,CAAC5M,EAAEgE,EAAEgsB,EAAC,EAAG7mB,GAAGnF,EAAEgsB,GAAGhsB,EAAE0sB,EAAE,MAAMX,CAAC,MAAMnjB,EAAE,IAAI,EAAGA,CAAAA,EAAE,IAAI,CAAC,IAAI,CAAC,IAAG,CAAGA,CAAAA,EAAE,MAAM,CAAC,EAAEA,EAAE,IAAI,CAAC,CAAE,MAAK,EAAE,GAAG,KAAKA,EAAE,KAAK,CAAC,CAAC,GAAG,IAAIzD,EAAE,MAAM4mB,EAAE,IAAI/rB,EAAE,EAAE0sB,EAAE1wB,CAAC,CAACgwB,EAAEhsB,IAAI,CAAC4I,EAAE,IAAI,EAAE8jB,GAAG9jB,EAAE,MAAM,CAAC,OAAQA,CAAAA,EAAE,IAAI,CAAC,OAAO,EAAE3L,OAAO,YAAY,CAACyvB,EAAC,EAAGA,GAAG1sB,EAAEmF,IAAI,GAAG,IAAIyD,EAAE,KAAK,EAAGA,CAAAA,EAAE,KAAK,CAACkkB,EAAElkB,EAAE,KAAK,CAAC5M,EAAEgE,EAAEgsB,EAAC,EAAG7mB,GAAGnF,EAAEgsB,GAAGhsB,EAAE0sB,EAAE,MAAMX,CAAC,MAAMnjB,EAAE,IAAI,EAAGA,CAAAA,EAAE,IAAI,CAAC,OAAO,CAAC,IAAG,CAAGA,CAAAA,EAAE,IAAI,CAAC,CAAE,MAAK,EAAE,GAAG,IAAIA,EAAE,KAAK,CAAC,CAAC,KAAK2T,EAAE,IAAI,CAAC,GAAG,IAAIpX,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAAC,GAAG2P,IAAK,OAAMtjB,EAAE,KAAK,AAAD,EAAG,CAACmjB,EAAE,GAAG,CAAC,sBAAsBnjB,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC2T,EAAE2P,EAAE,CAAC,CAACtjB,EAAE,IAAI,EAAGA,CAAAA,EAAE,IAAI,CAAC,IAAI,CAACA,EAAE,KAAK,EAAE,EAAE,EAAEA,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAGmjB,EAAE,KAAK,CAACnjB,EAAE,KAAK,CAAC,EAAEA,EAAE,IAAI,CAAC,GAAG,KAAM,MAAK,GAAG,KAAK2T,EAAE,IAAI,CAAC,GAAG,IAAIpX,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAACwP,EAAE,KAAK,CAACnjB,EAAE,KAAK,CAAC8kB,EAAExB,GAAG3P,EAAE2P,EAAE,EAAEtjB,EAAE,IAAI,CAAC,EAAG,MAAK,GAAG,GAAG,IAAIA,EAAE,QAAQ,CAAC,OAAOmjB,EAAE,QAAQ,CAAC1tB,EAAE0tB,EAAE,SAAS,CAACE,EAAEF,EAAE,OAAO,CAACC,EAAED,EAAE,QAAQ,CAAC5mB,EAAEyD,EAAE,IAAI,CAACsjB,EAAEtjB,EAAE,IAAI,CAAC2T,EAAE,CAAEwP,CAAAA,EAAE,KAAK,CAACnjB,EAAE,KAAK,CAAC,EAAEA,EAAE,IAAI,CAAC,EAAG,MAAK,GAAG,GAAG,IAAIrQ,GAAG,IAAIA,EAAE,MAAMwzB,CAAE,MAAK,GAAG,GAAGnjB,EAAE,IAAI,CAAC,CAACsjB,KAAK,EAAE3P,EAAEA,GAAG,EAAEA,EAAE3T,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK2T,EAAE,GAAG,CAAC,GAAG,IAAIpX,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAAC,OAAO3T,EAAE,IAAI,CAAC,EAAEsjB,EAAE3P,GAAG,EAAE,EAAG2P,CAAAA,KAAK,IAAI,KAAK,EAAEtjB,EAAE,IAAI,CAAC,GAAG,KAAM,MAAK,EAAE,GAAGxK,AAAtjI,SAAW2tB,CAAC,EAAE,GAAG7mB,EAAE,CAAC,IAAI3M,EAAE,IAAIgkB,EAAE,IAAIkQ,EAAE,KAAK,CAAC,KAAKN,EAAE,IAAIM,EAAE,KAAK,CAAC,IAAIl0B,EAAE,EAAEA,EAAE,KAAKwzB,EAAE,IAAI,CAACxzB,IAAI,CAAC,EAAE,KAAKA,EAAE,KAAKwzB,EAAE,IAAI,CAACxzB,IAAI,CAAC,EAAE,KAAKA,EAAE,KAAKwzB,EAAE,IAAI,CAACxzB,IAAI,CAAC,EAAE,KAAKA,EAAE,KAAKwzB,EAAE,IAAI,CAACxzB,IAAI,CAAC,EAAE,IAAI60B,EAAx8C,EAA48CrB,EAAE,IAAI,CAAC,EAAE,IAAIxP,EAAE,EAAEwP,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAGxzB,EAAE,EAAEA,EAAE,IAAIwzB,EAAE,IAAI,CAACxzB,IAAI,CAAC,CAAE60B,CAAAA,EAAlgD,EAAsgDrB,EAAE,IAAI,CAAC,EAAE,GAAGI,EAAE,EAAEJ,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG7mB,EAAE,CAAC,CAAC,CAAC6mB,EAAE,OAAO,CAACxP,EAAEwP,EAAE,OAAO,CAAC,EAAEA,EAAE,QAAQ,CAACI,EAAEJ,EAAE,QAAQ,CAAC,CAAC,EAAivHnjB,GAAGA,EAAE,IAAI,CAAC,GAAG,IAAIrQ,EAAE,KAAM2zB,CAAAA,KAAK,EAAE3P,GAAG,EAAE,MAAMwP,CAAE,MAAK,EAAEnjB,EAAE,IAAI,CAAC,GAAG,KAAM,MAAK,EAAEmjB,EAAE,GAAG,CAAC,qBAAqBnjB,EAAE,IAAI,CAAC,EAAE,CAACsjB,KAAK,EAAE3P,GAAG,EAAE,KAAM,MAAK,GAAG,IAAI2P,KAAK,EAAE3P,EAAEA,GAAG,EAAEA,EAAEA,EAAE,IAAI,CAAC,GAAG,IAAIpX,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAAC,GAAG,AAAC,OAAM2P,CAAAA,GAAKA,CAAAA,IAAI,GAAG,KAAI,EAAG,CAACH,EAAE,GAAG,CAAC,+BAA+BnjB,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,MAAM,CAAC,MAAMsjB,EAAE3P,EAAE2P,EAAE,EAAEtjB,EAAE,IAAI,CAAC,GAAG,IAAIrQ,EAAE,MAAMwzB,CAAE,MAAK,GAAGnjB,EAAE,IAAI,CAAC,EAAG,MAAK,GAAG,GAAG5I,EAAE4I,EAAE,MAAM,CAAC,CAAC,GAAGzD,EAAEnF,GAAIA,CAAAA,EAAEmF,CAAAA,EAAG8mB,EAAEjsB,GAAIA,CAAAA,EAAEisB,CAAAA,EAAG,IAAIjsB,EAAE,MAAM+rB,CAAEU,CAAAA,EAAE,QAAQ,CAAC7vB,EAAEZ,EAAEgwB,EAAEhsB,EAAE3B,GAAG8G,GAAGnF,EAAEgsB,GAAGhsB,EAAEisB,GAAGjsB,EAAE3B,GAAG2B,EAAE4I,EAAE,MAAM,EAAE5I,EAAE,KAAK,CAAC4I,EAAE,IAAI,CAAC,GAAG,KAAM,MAAK,GAAG,KAAK2T,EAAE,IAAI,CAAC,GAAG,IAAIpX,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAAC,GAAG3T,EAAE,IAAI,CAAC,IAAK,IAAGsjB,CAAAA,EAAGA,KAAK,EAAE3P,GAAG,EAAE3T,EAAE,KAAK,CAAC,EAAG,IAAGsjB,CAAAA,EAAGA,KAAK,EAAE3P,GAAG,EAAE3T,EAAE,KAAK,CAAC,EAAG,IAAGsjB,CAAAA,EAAGA,KAAK,EAAE3P,GAAG,EAAE,IAAI3T,EAAE,IAAI,EAAE,GAAGA,EAAE,KAAK,CAAC,CAACmjB,EAAE,GAAG,CAAC,sCAAsCnjB,EAAE,IAAI,CAAC,GAAG,KAAK,CAACA,EAAE,IAAI,CAAC,EAAEA,EAAE,IAAI,CAAC,EAAG,MAAK,GAAG,KAAKA,EAAE,IAAI,CAACA,EAAE,KAAK,EAAE,CAAC,KAAK2T,EAAE,GAAG,CAAC,GAAG,IAAIpX,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAAC3T,EAAE,IAAI,CAAC2jB,CAAC,CAAC3jB,EAAE,IAAI,GAAG,CAAC,CAAC,EAAEsjB,EAAEA,KAAK,EAAE3P,GAAG,CAAC,CAAC,KAAK3T,EAAE,IAAI,CAAC,IAAIA,EAAE,IAAI,CAAC2jB,CAAC,CAAC3jB,EAAE,IAAI,GAAG,CAAC,CAAC,EAAE,GAAGA,EAAE,OAAO,CAACA,EAAE,MAAM,CAACA,EAAE,OAAO,CAAC,EAAE+jB,EAAE,CAAC,KAAK/jB,EAAE,OAAO,EAAEtK,EAAE8uB,EAAE,EAAExkB,EAAE,IAAI,CAAC,EAAE,GAAGA,EAAE,OAAO,CAAC,EAAEA,EAAE,IAAI,CAAC+jB,GAAG/jB,EAAE,OAAO,CAAC+jB,EAAE,IAAI,CAACruB,EAAE,CAACytB,EAAE,GAAG,CAAC,2BAA2BnjB,EAAE,IAAI,CAAC,GAAG,KAAK,CAACA,EAAE,IAAI,CAAC,EAAEA,EAAE,IAAI,CAAC,EAAG,MAAK,GAAG,KAAKA,EAAE,IAAI,CAACA,EAAE,IAAI,CAACA,EAAE,KAAK,EAAE,CAAC,KAAKxQ,EAAE,AAACy0B,CAAAA,EAAEjkB,EAAE,OAAO,CAACsjB,EAAE,AAAC,IAAGtjB,EAAE,OAAO,AAAD,EAAG,EAAE,AAAD,IAAK,GAAG,IAAIpL,EAAE,MAAMqvB,EAAE,CAAE,CAACpd,CAAAA,EAAEod,IAAI,EAAC,GAAItQ,CAAAA,GAAI,CAAC,GAAG,IAAIpX,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAAC,GAAG/e,EAAE,GAAG0uB,KAAKzc,EAAE8M,GAAG9M,EAAE7G,EAAE,IAAI,CAACA,EAAE,IAAI,GAAG,CAACpL,MAAM,CAAC,GAAG,KAAKA,EAAE,CAAC,IAAIovB,EAAEnd,EAAE,EAAE8M,EAAEqQ,GAAG,CAAC,GAAG,IAAIznB,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAAC,GAAG2P,KAAKzc,EAAE8M,GAAG9M,EAAE,IAAI7G,EAAE,IAAI,CAAC,CAACmjB,EAAE,GAAG,CAAC,4BAA4BnjB,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC8jB,EAAE9jB,EAAE,IAAI,CAACA,EAAE,IAAI,CAAC,EAAE,CAAC5I,EAAE,EAAG,GAAEksB,CAAAA,EAAGA,KAAK,EAAE3P,GAAG,CAAC,MAAM,GAAG,KAAK/e,EAAE,CAAC,IAAIovB,EAAEnd,EAAE,EAAE8M,EAAEqQ,GAAG,CAAC,GAAG,IAAIznB,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAACA,GAAG9M,EAAEid,EAAE,EAAE1sB,EAAE,EAAG,GAAGksB,CAAAA,KAAKzc,CAAAA,CAAC,EAAGyc,KAAK,EAAE3P,GAAG,CAAC,KAAK,CAAC,IAAIqQ,EAAEnd,EAAE,EAAE8M,EAAEqQ,GAAG,CAAC,GAAG,IAAIznB,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAACA,GAAG9M,EAAEid,EAAE,EAAE1sB,EAAE,GAAI,KAAKksB,CAAAA,KAAKzc,CAAAA,CAAC,EAAGyc,KAAK,EAAE3P,GAAG,CAAC,CAAC,GAAG3T,EAAE,IAAI,CAAC5I,EAAE4I,EAAE,IAAI,CAACA,EAAE,KAAK,CAAC,CAACmjB,EAAE,GAAG,CAAC,4BAA4BnjB,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK5I,KAAK4I,EAAE,IAAI,CAACA,EAAE,IAAI,GAAG,CAAC8jB,CAAC,CAAC,CAAC,GAAG,KAAK9jB,EAAE,IAAI,CAAC,MAAM,GAAG,IAAIA,EAAE,IAAI,CAAC,IAAI,CAAC,CAACmjB,EAAE,GAAG,CAAC,uCAAuCnjB,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,OAAO,CAAC,EAAE+jB,EAAE,CAAC,KAAK/jB,EAAE,OAAO,EAAEtK,EAAE8uB,EAAltO,EAAstOxkB,EAAE,IAAI,CAAC,EAAEA,EAAE,IAAI,CAACA,EAAE,OAAO,CAAC,EAAEA,EAAE,IAAI,CAAC+jB,GAAG/jB,EAAE,OAAO,CAAC+jB,EAAE,IAAI,CAACruB,EAAE,CAACytB,EAAE,GAAG,CAAC,8BAA8BnjB,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,QAAQ,CAAC,EAAEA,EAAE,QAAQ,CAACA,EAAE,OAAO,CAAC+jB,EAAE,CAAC,KAAK/jB,EAAE,QAAQ,EAAEtK,EAAE8uB,EAA33O,EAA+3OxkB,EAAE,IAAI,CAACA,EAAE,IAAI,CAACA,EAAE,KAAK,CAACA,EAAE,QAAQ,CAAC,EAAEA,EAAE,IAAI,CAAC+jB,GAAG/jB,EAAE,QAAQ,CAAC+jB,EAAE,IAAI,CAACruB,EAAE,CAACytB,EAAE,GAAG,CAAC,wBAAwBnjB,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,IAAI,CAAC,GAAG,IAAIrQ,EAAE,MAAMwzB,CAAE,MAAK,GAAGnjB,EAAE,IAAI,CAAC,EAAG,MAAK,GAAG,GAAG,GAAGzD,GAAG,KAAK8mB,EAAE,CAACF,EAAE,QAAQ,CAAC1tB,EAAE0tB,EAAE,SAAS,CAACE,EAAEF,EAAE,OAAO,CAACC,EAAED,EAAE,QAAQ,CAAC5mB,EAAEyD,EAAE,IAAI,CAACsjB,EAAEtjB,EAAE,IAAI,CAAC2T,EAAE/Q,EAAEugB,EAAE7mB,GAAG7G,EAAE0tB,EAAE,QAAQ,CAACnvB,EAAEmvB,EAAE,MAAM,CAACE,EAAEF,EAAE,SAAS,CAACC,EAAED,EAAE,OAAO,CAAC/vB,EAAE+vB,EAAE,KAAK,CAAC5mB,EAAE4mB,EAAE,QAAQ,CAACG,EAAEtjB,EAAE,IAAI,CAAC2T,EAAE3T,EAAE,IAAI,CAAC,KAAKA,EAAE,IAAI,EAAGA,CAAAA,EAAE,IAAI,CAAC,EAAC,EAAG,KAAK,CAAC,IAAIA,EAAE,IAAI,CAAC,EAAExQ,EAAE,AAACy0B,CAAAA,EAAEjkB,EAAE,OAAO,CAACsjB,EAAE,AAAC,IAAGtjB,EAAE,OAAO,AAAD,EAAG,EAAE,AAAD,IAAK,GAAG,IAAIpL,EAAE,MAAMqvB,EAAE,CAAE,CAACpd,CAAAA,EAAEod,IAAI,EAAC,GAAItQ,CAAAA,GAAI,CAAC,GAAG,IAAIpX,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAAC,GAAGnkB,GAAG,GAAI,KAAIA,CAAAA,EAAG,CAAC,IAAIc,EAAEuW,EAAElR,EAAEnG,EAAEmU,EAAE/O,EAAEpF,EAAE,AAACy0B,CAAAA,EAAEjkB,EAAE,OAAO,CAAC2D,EAAG,CAAC2f,CAAAA,EAAE,AAAC,IAAGhzB,EAAEqF,CAAAA,EAAG,IAAIrF,CAAAA,EAAG,AAAD,IAAK,GAAG,IAAIsE,EAAE,MAAMqvB,EAAE,CAAE3zB,CAAAA,EAAGuW,CAAAA,EAAEod,IAAI,EAAC,GAAItQ,CAAAA,GAAI,CAAC,GAAG,IAAIpX,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAAC2P,KAAKhzB,EAAEqjB,GAAGrjB,EAAE0P,EAAE,IAAI,EAAE1P,CAAC,CAAC,GAAGgzB,KAAKzc,EAAE8M,GAAG9M,EAAE7G,EAAE,IAAI,EAAE6G,EAAE7G,EAAE,MAAM,CAACpL,EAAE,IAAIpF,EAAE,CAACwQ,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,GAAGxQ,EAAE,CAACwQ,EAAE,IAAI,CAAC,GAAGA,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,GAAGxQ,EAAE,CAAC2zB,EAAE,GAAG,CAAC,8BAA8BnjB,EAAE,IAAI,CAAC,GAAG,KAAK,CAACA,EAAE,KAAK,CAAC,GAAGxQ,EAAEwQ,EAAE,IAAI,CAAC,EAAG,MAAK,GAAG,GAAGA,EAAE,KAAK,CAAC,CAAC,IAAIgkB,EAAEhkB,EAAE,KAAK,CAAC2T,EAAEqQ,GAAG,CAAC,GAAG,IAAIznB,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAAC3T,EAAE,MAAM,EAAEsjB,EAAE,AAAC,IAAGtjB,EAAE,KAAK,AAAD,EAAG,EAAEsjB,KAAKtjB,EAAE,KAAK,CAAC2T,GAAG3T,EAAE,KAAK,CAACA,EAAE,IAAI,EAAEA,EAAE,KAAK,CAACA,EAAE,GAAG,CAACA,EAAE,MAAM,CAACA,EAAE,IAAI,CAAC,EAAG,MAAK,GAAG,KAAKxQ,EAAE,AAACy0B,CAAAA,EAAEjkB,EAAE,QAAQ,CAACsjB,EAAE,AAAC,IAAGtjB,EAAE,QAAQ,AAAD,EAAG,EAAE,AAAD,IAAK,GAAG,IAAIpL,EAAE,MAAMqvB,EAAE,CAAE,CAACpd,CAAAA,EAAEod,IAAI,EAAC,GAAItQ,CAAAA,GAAI,CAAC,GAAG,IAAIpX,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAAC,GAAG,GAAI,KAAInkB,CAAAA,EAAG,CAAC,IAAIc,EAAEuW,EAAElR,EAAEnG,EAAEmU,EAAE/O,EAAEpF,EAAE,AAACy0B,CAAAA,EAAEjkB,EAAE,QAAQ,CAAC2D,EAAG,CAAC2f,CAAAA,EAAE,AAAC,IAAGhzB,EAAEqF,CAAAA,EAAG,IAAIrF,CAAAA,EAAG,AAAD,IAAK,GAAG,IAAIsE,EAAE,MAAMqvB,EAAE,CAAE3zB,CAAAA,EAAGuW,CAAAA,EAAEod,IAAI,EAAC,GAAItQ,CAAAA,GAAI,CAAC,GAAG,IAAIpX,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAAC2P,KAAKhzB,EAAEqjB,GAAGrjB,EAAE0P,EAAE,IAAI,EAAE1P,CAAC,CAAC,GAAGgzB,KAAKzc,EAAE8M,GAAG9M,EAAE7G,EAAE,IAAI,EAAE6G,EAAE,GAAGrX,EAAE,CAAC2zB,EAAE,GAAG,CAAC,wBAAwBnjB,EAAE,IAAI,CAAC,GAAG,KAAK,CAACA,EAAE,MAAM,CAACpL,EAAEoL,EAAE,KAAK,CAAC,GAAGxQ,EAAEwQ,EAAE,IAAI,CAAC,EAAG,MAAK,GAAG,GAAGA,EAAE,KAAK,CAAC,CAAC,IAAIgkB,EAAEhkB,EAAE,KAAK,CAAC2T,EAAEqQ,GAAG,CAAC,GAAG,IAAIznB,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAAC3T,EAAE,MAAM,EAAEsjB,EAAE,AAAC,IAAGtjB,EAAE,KAAK,AAAD,EAAG,EAAEsjB,KAAKtjB,EAAE,KAAK,CAAC2T,GAAG3T,EAAE,KAAK,CAACA,EAAE,IAAI,EAAEA,EAAE,KAAK,CAAC,GAAGA,EAAE,MAAM,CAACA,EAAE,IAAI,CAAC,CAACmjB,EAAE,GAAG,CAAC,gCAAgCnjB,EAAE,IAAI,CAAC,GAAG,KAAK,CAACA,EAAE,IAAI,CAAC,EAAG,MAAK,GAAG,GAAG,IAAIqjB,EAAE,MAAMF,EAAE,GAAG/rB,EAAEkF,EAAE+mB,EAAErjB,EAAE,MAAM,CAAC5I,EAAE,CAAC,GAAG,AAACA,CAAAA,EAAE4I,EAAE,MAAM,CAAC5I,CAAAA,EAAG4I,EAAE,KAAK,EAAEA,EAAE,IAAI,CAAC,CAACmjB,EAAE,GAAG,CAAC,gCAAgCnjB,EAAE,IAAI,CAAC,GAAG,KAAK,CAACzQ,EAAE6H,EAAE4I,EAAE,KAAK,CAAE5I,CAAAA,GAAG4I,EAAE,KAAK,CAACA,EAAE,KAAK,CAAC5I,CAAAA,EAAG4I,EAAE,KAAK,CAAC5I,EAAEA,EAAE4I,EAAE,MAAM,EAAG5I,CAAAA,EAAE4I,EAAE,MAAM,AAAD,EAAG1Q,EAAE0Q,EAAE,MAAM,MAAM1Q,EAAE0E,EAAEzE,EAAEkG,EAAEuK,EAAE,MAAM,CAAC5I,EAAE4I,EAAE,MAAM,CAAC,IAAIqjB,EAAEjsB,GAAIA,CAAAA,EAAEisB,CAAAA,EAAGA,GAAGjsB,EAAE4I,EAAE,MAAM,EAAE5I,EAAEpD,CAAC,CAACyB,IAAI,CAACnG,CAAC,CAACC,IAAI,CAAC,EAAE6H,IAAI,IAAI4I,EAAE,MAAM,EAAGA,CAAAA,EAAE,IAAI,CAAC,EAAC,EAAG,KAAM,MAAK,GAAG,GAAG,IAAIqjB,EAAE,MAAMF,CAAEnvB,CAAAA,CAAC,CAACyB,IAAI,CAACuK,EAAE,MAAM,CAACqjB,IAAIrjB,EAAE,IAAI,CAAC,GAAG,KAAM,MAAK,GAAG,GAAGA,EAAE,IAAI,CAAC,CAAC,KAAK2T,EAAE,IAAI,CAAC,GAAG,IAAIpX,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAAC,GAAGrX,GAAG+mB,EAAEF,EAAE,SAAS,EAAE7mB,EAAE0D,EAAE,KAAK,EAAE1D,EAAEA,GAAI6mB,CAAAA,EAAE,KAAK,CAACnjB,EAAE,KAAK,CAACA,EAAE,KAAK,CAACkkB,EAAElkB,EAAE,KAAK,CAAChM,EAAEsI,EAAE7G,EAAE6G,GAAGsnB,EAAE5jB,EAAE,KAAK,CAAChM,EAAEsI,EAAE7G,EAAE6G,EAAC,EAAGA,EAAE+mB,EAAE,AAACrjB,CAAAA,EAAE,KAAK,CAACsjB,EAAEwB,EAAExB,EAAC,IAAKtjB,EAAE,KAAK,CAAC,CAACmjB,EAAE,GAAG,CAAC,uBAAuBnjB,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC2T,EAAE2P,EAAE,CAAC,CAACtjB,EAAE,IAAI,CAAC,EAAG,MAAK,GAAG,GAAGA,EAAE,IAAI,EAAEA,EAAE,KAAK,CAAC,CAAC,KAAK2T,EAAE,IAAI,CAAC,GAAG,IAAIpX,EAAE,MAAM4mB,CAAE5mB,CAAAA,IAAI+mB,GAAGlwB,CAAC,CAACgwB,IAAI,EAAEzP,EAAEA,GAAG,CAAC,CAAC,GAAG2P,IAAK,YAAWtjB,EAAE,KAAK,AAAD,EAAG,CAACmjB,EAAE,GAAG,CAAC,yBAAyBnjB,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC2T,EAAE2P,EAAE,CAAC,CAACtjB,EAAE,IAAI,CAAC,EAAG,MAAK,GAAGtK,EAAE,EAAE,MAAMytB,CAAE,MAAK,GAAGztB,EAAE,GAAG,MAAMytB,CAAE,MAAK,GAAG,OAAM,EAAG,SAAgB,OAAr4T,EAA64T,CAAC,OAAOA,EAAE,QAAQ,CAAC1tB,EAAE0tB,EAAE,SAAS,CAACE,EAAEF,EAAE,OAAO,CAACC,EAAED,EAAE,QAAQ,CAAC5mB,EAAEyD,EAAE,IAAI,CAACsjB,EAAEtjB,EAAE,IAAI,CAAC2T,EAAE,AAAC3T,CAAAA,EAAE,KAAK,EAAE1D,IAAI6mB,EAAE,SAAS,EAAEnjB,EAAE,IAAI,CAAC,IAAKA,CAAAA,EAAE,IAAI,CAAC,IAAI,IAAIrQ,CAAAA,CAAC,GAAIo1B,EAAE5B,EAAEA,EAAE,MAAM,CAACA,EAAE,QAAQ,CAAC7mB,EAAE6mB,EAAE,SAAS,EAAGnjB,CAAAA,EAAE,IAAI,CAAC,GAAG,EAAC,EAAIujB,CAAAA,GAAGJ,EAAE,QAAQ,CAAC7mB,GAAG6mB,EAAE,SAAS,CAACA,EAAE,QAAQ,EAAEI,EAAEJ,EAAE,SAAS,EAAE7mB,EAAE0D,EAAE,KAAK,EAAE1D,EAAE0D,EAAE,IAAI,EAAE1D,GAAI6mB,CAAAA,EAAE,KAAK,CAACnjB,EAAE,KAAK,CAACA,EAAE,KAAK,CAACkkB,EAAElkB,EAAE,KAAK,CAAChM,EAAEsI,EAAE6mB,EAAE,QAAQ,CAAC7mB,GAAGsnB,EAAE5jB,EAAE,KAAK,CAAChM,EAAEsI,EAAE6mB,EAAE,QAAQ,CAAC7mB,EAAC,EAAG6mB,EAAE,SAAS,CAACnjB,EAAE,IAAI,CAAEA,CAAAA,EAAE,IAAI,CAAC,GAAG,GAAI,MAAKA,EAAE,IAAI,CAAC,IAAI,GAAI,MAAKA,EAAE,IAAI,EAAE,KAAKA,EAAE,IAAI,CAAC,IAAI,GAAG,AAAC,IAAGujB,GAAG,IAAIjnB,GAAG,IAAI3M,CAAAA,GAAI+F,AAA/1U,IAA+1UA,GAAQA,CAAAA,EAAE,EAAC,EAAGA,CAAAA,CAAE,EAAEsK,EAAE,UAAU,CAAC,SAASmjB,CAAC,EAAE,GAAG,CAACA,GAAG,CAACA,EAAE,KAAK,CAAC,OAAt5U,GAA+5U,IAAIxzB,EAAEwzB,EAAE,KAAK,CAAC,OAAOxzB,EAAE,MAAM,EAAGA,CAAAA,EAAE,MAAM,CAAC,IAAG,EAAGwzB,EAAE,KAAK,CAAC,KAA19U,CAAg+U,EAAEnjB,EAAE,gBAAgB,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE,OAAOmjB,GAAGA,EAAE,KAAK,CAAC,GAAI,GAAE,AAACnjB,CAAAA,EAAEmjB,EAAE,KAAK,AAAD,EAAG,IAAI,AAAD,EAA5iV,GAAkjV,CAACnjB,CAAAA,EAAE,IAAI,CAACrQ,CAAAA,EAAG,IAAI,CAAC,CAAC,EAAvkV,CAAykVg1B,EAArkV,EAAykV,EAAE3kB,EAAE,oBAAoB,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE5M,EAAEzD,EAAE,MAAM,CAAC,OAAOwzB,GAAGA,EAAE,KAAK,CAAC,IAAI,AAACnjB,CAAAA,EAAEmjB,EAAE,KAAK,AAAD,EAAG,IAAI,EAAE,KAAKnjB,EAAE,IAAI,CAAprV,GAAurV,KAAKA,EAAE,IAAI,EAAE4jB,EAAE,EAAEj0B,EAAEyD,EAAE,KAAK4M,EAAE,KAAK,CAAC,GAAG+kB,EAAE5B,EAAExzB,EAAEyD,EAAEA,GAAI4M,CAAAA,EAAE,IAAI,CAAC,GAAG,EAAC,EAAIA,CAAAA,EAAE,QAAQ,CAAC,EAAtwV,CAAwwV2kB,EAApwV,EAAwwV,EAAE3kB,EAAE,WAAW,CAAC,oCAAoC,EAAE,CAAC,kBAAkB,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,aAAa,EAAE,EAAE,CAAC,GAAG,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAIykB,EAAEtB,EAAE,mBAAmBuB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,CAACC,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAACC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,EAAE,EAAE,CAACC,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,AAACl1B,CAAAA,EAAE,OAAO,CAAC,SAASwzB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,CAAC5M,CAAC,CAACY,CAAC,CAACovB,CAAC,CAAC3tB,CAAC,CAAC8G,CAAC,EAAE,IAAI8mB,EAAEC,EAAE3P,EAAE4P,EAAEjnB,EAAElF,EAAE7H,EAAED,EAAEuX,EAAErX,EAAE+M,EAAE,IAAI,CAAC3H,EAAE,EAAEtE,EAAE,EAAEqF,EAAE,EAAEgO,EAAE,EAAEmgB,EAAE,EAAEpuB,EAAE,EAAEquB,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEE,EAAE,EAAER,EAAE,KAAKE,EAAE,EAAED,EAAE,IAAIa,EAAE,KAAK,CAAC,IAAIP,EAAE,IAAIO,EAAE,KAAK,CAAC,IAAI7hB,EAAE,KAAK4hB,EAAE,EAAE,IAAI5vB,EAAE,EAAEA,GAAG,GAAGA,IAAIgvB,CAAC,CAAChvB,EAAE,CAAC,EAAE,IAAItE,EAAE,EAAEA,EAAE8C,EAAE9C,IAAIszB,CAAC,CAACj0B,CAAC,CAACqQ,EAAE1P,EAAE,CAAC,GAAG,IAAIwzB,EAAEt0B,EAAEmU,EAAE,GAAG,GAAGA,GAAG,IAAIigB,CAAC,CAACjgB,EAAE,CAACA,KAAK,GAAGA,EAAEmgB,GAAIA,CAAAA,EAAEngB,CAAAA,EAAG,IAAIA,EAAE,OAAO3P,CAAC,CAACovB,IAAI,CAAC,UAASpvB,CAAC,CAACovB,IAAI,CAAC,UAAS7mB,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI5G,EAAE,EAAEA,EAAEgO,GAAG,IAAIigB,CAAC,CAACjuB,EAAE,CAACA,KAAK,IAAImuB,EAAEnuB,GAAImuB,CAAAA,EAAEnuB,CAAAA,EAAGf,EAAEovB,EAAE,EAAEpvB,GAAG,GAAGA,IAAI,GAAGovB,IAAI,EAAE,AAACA,CAAAA,GAAGJ,CAAC,CAAChvB,EAAE,AAAD,EAAG,EAAE,OAAM,GAAG,GAAG,EAAEovB,GAAI,KAAIb,GAAG,IAAIxf,CAAAA,EAAG,OAAM,GAAG,IAAIugB,CAAC,CAAC,EAAE,CAAC,EAAEtvB,EAAE,EAAEA,EAAE,GAAGA,IAAIsvB,CAAC,CAACtvB,EAAE,EAAE,CAACsvB,CAAC,CAACtvB,EAAE,CAACgvB,CAAC,CAAChvB,EAAE,CAAC,IAAItE,EAAE,EAAEA,EAAE8C,EAAE9C,IAAI,IAAIX,CAAC,CAACqQ,EAAE1P,EAAE,EAAGmF,CAAAA,CAAC,CAACyuB,CAAC,CAACv0B,CAAC,CAACqQ,EAAE1P,EAAE,CAAC,GAAG,CAACA,CAAAA,EAAG,GAAG8G,EAAE,IAAI+rB,EAAGQ,CAAAA,EAAE/gB,EAAEnN,EAAE,EAAC,EAAG,IAAI0tB,EAAGQ,CAAAA,EAAEe,EAAEb,GAAG,IAAIjhB,EAAE+hB,EAAEH,GAAG,IAAI,GAAE,EAAIb,CAAAA,EAAEiB,EAAEhiB,EAAEiiB,EAAE,EAAC,EAAGjwB,EAAEe,EAAE2G,EAAE8mB,EAAEW,EAAEzzB,EAAE6zB,EAAE,EAAExQ,EAAE,GAAG4P,EAAE,AAACU,CAAAA,EAAE,GAAIvuB,CAAAA,EAAEouB,CAAAA,CAAC,EAAG,EAAE,IAAIX,GAAG,IAAIc,GAAG,IAAId,GAAG,IAAIc,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI10B,EAAEqF,EAAEmvB,EAAEld,EAAEpR,CAAC,CAACnF,EAAE,CAAC8G,EAAG9H,CAAAA,EAAE,EAAEmG,CAAC,CAACnF,EAAE,AAAD,EAAGmF,CAAC,CAACnF,EAAE,CAAC8G,EAAG9H,CAAAA,EAAEsT,CAAC,CAAC4hB,EAAE/uB,CAAC,CAACnF,EAAE,CAAC,CAACqzB,CAAC,CAACE,EAAEpuB,CAAC,CAACnF,EAAE,CAAC,AAAD,EAAIhB,CAAAA,EAAE,GAAG,GAAG+zB,EAAE,GAAGzuB,EAAEmvB,EAAEpuB,EAAE2tB,EAAE,GAAG5tB,EAAE1B,CAAC,CAACsI,EAAG6nB,CAAAA,GAAGJ,CAAAA,EAAIT,CAAAA,GAAGD,CAAAA,EAAG,CAAC9zB,GAAG,GAAGD,GAAG,GAAGuX,EAAE,EAAE,IAAIyc,IAAI,IAAID,EAAE,GAAGzuB,EAAE,EAAEuvB,EAAEd,GAAGA,IAAI,EAAE,GAAG,IAAIA,EAAGc,CAAAA,GAAGd,EAAE,EAAEc,GAAGd,CAAAA,EAAGc,EAAE,EAAE7zB,IAAI,GAAG,EAAEszB,CAAC,CAAChvB,EAAE,CAAC,CAAC,GAAGA,IAAI+O,EAAE,MAAM/O,EAAEjF,CAAC,CAACqQ,EAAEvK,CAAC,CAACnF,EAAE,CAAC,CAAC,GAAGwzB,EAAElvB,GAAG,AAACuvB,CAAAA,EAAEZ,CAAAA,IAAK5P,EAAE,CAAC,IAAI,IAAIoQ,GAAIA,CAAAA,EAAED,CAAAA,EAAGxnB,GAAG3G,EAAEquB,EAAE,GAAItuB,CAAAA,EAAEd,EAAEmvB,CAAAA,EAAGruB,EAAEquB,EAAEpgB,GAAG,CAAE,CAACqgB,CAAAA,GAAGJ,CAAC,CAACluB,EAAEquB,EAAE,AAAD,GAAI,IAAIruB,IAAIsuB,IAAI,EAAE,GAAGC,GAAG,GAAGvuB,EAAE,IAAIytB,GAAG,IAAIc,GAAG,IAAId,GAAG,IAAIc,EAAE,OAAO,CAAEjwB,CAAAA,CAAC,CAAC2f,EAAEwQ,EAAEZ,EAAE,CAACO,GAAG,GAAGpuB,GAAG,GAAG4G,EAAE8mB,EAAE,CAAC,CAAC,CAAC,OAAO,IAAIe,GAAInwB,CAAAA,CAAC,CAACsI,EAAE6nB,EAAE,CAACvvB,EAAEmvB,GAAG,GAALnvB,OAAe,EAAG2H,EAAE,IAAI,CAACunB,EAAE,CAAC,CAAC,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,SAASX,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,YAAarQ,CAAAA,EAAE,OAAO,CAAC,CAAC,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,KAAK,aAAa,KAAK,eAAe,KAAK,aAAa,KAAK,sBAAsB,KAAK,eAAe,KAAK,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAASwzB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,aAAa,IAAIhM,EAAEmvB,EAAE,mBAA2B,SAAS/vB,EAAE+vB,CAAC,EAAE,IAAI,IAAIxzB,EAAEwzB,EAAE,MAAM,CAAC,GAAG,EAAExzB,GAAGwzB,CAAC,CAACxzB,EAAE,CAAC,CAAC,CAAC,IAAmBgkB,EAAE2P,IAAgBzc,EAAE,IAAyClD,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAACmgB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAACpuB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAACquB,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAACC,EAAE,AAAIxsB,MAAM,KAASpE,EAAE4wB,GAAG,IAAIC,EAAE,AAAIzsB,MAAM,IAAKpE,EAAE6wB,GAAG,IAAIE,EAAE,AAAI3sB,MAAM,KAAKpE,EAAE+wB,GAAG,IAAIR,EAAE,AAAInsB,MAAM,KAAKpE,EAAEuwB,GAAG,IAAIE,EAAE,AAAIrsB,MAA3Z,IAAoapE,EAAEywB,GAAG,IAAID,EAAEM,EAAEthB,EAAE4hB,EAAE,AAAIhtB,MAAta,IAA+a,SAASitB,EAAEtB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,CAAC5M,CAAC,CAACY,CAAC,EAAE,IAAI,CAAC,WAAW,CAACmvB,EAAE,IAAI,CAAC,UAAU,CAACxzB,EAAE,IAAI,CAAC,UAAU,CAACqQ,EAAE,IAAI,CAAC,KAAK,CAAC5M,EAAE,IAAI,CAAC,UAAU,CAACY,EAAE,IAAI,CAAC,SAAS,CAACmvB,GAAGA,EAAE,MAAM,CAAC,SAASuB,EAAEvB,CAAC,CAACxzB,CAAC,EAAE,IAAI,CAAC,QAAQ,CAACwzB,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,CAACxzB,CAAC,CAAC,SAASg1B,EAAExB,CAAC,EAAE,OAAOA,EAAE,IAAIgB,CAAC,CAAChB,EAAE,CAACgB,CAAC,CAAC,IAAKhB,CAAAA,IAAI,GAAG,CAAC,SAASyB,EAAEzB,CAAC,CAACxzB,CAAC,EAAEwzB,EAAE,WAAW,CAACA,EAAE,OAAO,GAAG,CAAC,IAAIxzB,EAAEwzB,EAAE,WAAW,CAACA,EAAE,OAAO,GAAG,CAACxzB,IAAI,EAAE,GAAG,CAAC,SAASk1B,EAAE1B,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAEmjB,EAAE,QAAQ,CAAC/rB,AAAlwB,GAAowB4I,EAAGmjB,CAAAA,EAAE,MAAM,EAAExzB,GAAGwzB,EAAE,QAAQ,CAAC,MAAMyB,EAAEzB,EAAEA,EAAE,MAAM,EAAEA,EAAE,MAAM,CAACxzB,GAAGyH,AAA/zB,GAAi0B+rB,EAAE,QAAQ,CAACA,EAAE,QAAQ,EAAEnjB,EAAx1B,EAA01B5I,EAAI+rB,CAAAA,EAAE,MAAM,EAAExzB,GAAGwzB,EAAE,QAAQ,CAAC,MAAMA,EAAE,QAAQ,EAAEnjB,CAAAA,CAAE,CAAC,SAAS8kB,EAAE3B,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE6kB,EAAE1B,EAAEnjB,CAAC,CAAC,EAAErQ,EAAE,CAACqQ,CAAC,CAAC,EAAErQ,EAAE,EAAE,CAAC,CAAC,SAAS6F,EAAE2tB,CAAC,CAACxzB,CAAC,EAAE,IAAI,IAAIqQ,EAAE,EAAEA,GAAG,EAAEmjB,EAAEA,KAAK,EAAEnjB,IAAI,EAAE,EAAE,EAAErQ,IAAI,OAAOqQ,IAAI,CAAC,CAAC,SAAS+kB,EAAE5B,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,IAAI5M,EAAEY,EAAEovB,EAAE,AAAI5rB,MAAMhI,IAAKiG,EAAE,EAAE,IAAIrC,EAAE,EAAEA,GAAnjC,GAAwjCA,IAAIgwB,CAAC,CAAChwB,EAAE,CAACqC,EAAEA,EAAEuK,CAAC,CAAC5M,EAAE,EAAE,EAAE,EAAE,IAAIY,EAAE,EAAEA,GAAGrE,EAAEqE,IAAI,CAAC,IAAIuI,EAAE4mB,CAAC,CAAC,EAAEnvB,EAAE,EAAE,AAAC,KAAIuI,GAAI4mB,CAAAA,CAAC,CAAC,EAAEnvB,EAAE,CAACwB,EAAE4tB,CAAC,CAAC7mB,EAAE,GAAGA,EAAC,CAAE,CAAC,CAAC,SAASyoB,EAAE7B,CAAC,EAAE,IAAIxzB,EAAE,IAAIA,EAAE,EAAEA,EAAEgkB,EAAEhkB,IAAIwzB,EAAE,SAAS,CAAC,EAAExzB,EAAE,CAAC,EAAE,IAAIA,EAAE,EAAEA,EAA9tC,GAAkuCA,IAAIwzB,EAAE,SAAS,CAAC,EAAExzB,EAAE,CAAC,EAAE,IAAIA,EAAE,EAAEA,EAA5vC,GAAgwCA,IAAIwzB,EAAE,OAAO,CAAC,EAAExzB,EAAE,CAAC,CAAEwzB,CAAAA,EAAE,SAAS,CAAC,IAAI,CAAC,EAAEA,EAAE,OAAO,CAACA,EAAE,UAAU,CAAC,EAAEA,EAAE,QAAQ,CAACA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS8B,EAAE9B,CAAC,EAAE,EAAEA,EAAE,QAAQ,CAACyB,EAAEzB,EAAEA,EAAE,MAAM,EAAE,EAAEA,EAAE,QAAQ,EAAGA,CAAAA,EAAE,WAAW,CAACA,EAAE,OAAO,GAAG,CAACA,EAAE,MAAM,AAAD,EAAGA,EAAE,MAAM,CAAC,EAAEA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS+B,EAAE/B,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,CAAC5M,CAAC,EAAE,IAAIY,EAAE,EAAErE,EAAEyzB,EAAE,EAAEpjB,EAAE,OAAOmjB,CAAC,CAACnvB,EAAE,CAACmvB,CAAC,CAACC,EAAE,EAAED,CAAC,CAACnvB,EAAE,GAAGmvB,CAAC,CAACC,EAAE,EAAEhwB,CAAC,CAACzD,EAAE,EAAEyD,CAAC,CAAC4M,EAAE,CAAC,SAASmlB,EAAEhC,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,IAAI,IAAI5M,EAAE+vB,EAAE,IAAI,CAACnjB,EAAE,CAAChM,EAAEgM,GAAG,EAAEhM,GAAGmvB,EAAE,QAAQ,EAAGnvB,CAAAA,EAAEmvB,EAAE,QAAQ,EAAE+B,EAAEv1B,EAAEwzB,EAAE,IAAI,CAACnvB,EAAE,EAAE,CAACmvB,EAAE,IAAI,CAACnvB,EAAE,CAACmvB,EAAE,KAAK,GAAGnvB,IAAI,CAACkxB,EAAEv1B,EAAEyD,EAAE+vB,EAAE,IAAI,CAACnvB,EAAE,CAACmvB,EAAE,KAAK,IAAIA,EAAE,IAAI,CAACnjB,EAAE,CAACmjB,EAAE,IAAI,CAACnvB,EAAE,CAACgM,EAAEhM,EAAEA,IAAI,CAAEmvB,CAAAA,EAAE,IAAI,CAACnjB,EAAE,CAAC5M,CAAC,CAAC,SAASgyB,EAAEjC,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,IAAI5M,EAAEY,EAAEovB,EAAE3tB,EAAE8G,EAAE,EAAE,GAAG,IAAI4mB,EAAE,QAAQ,CAAC,KAAK/vB,EAAE+vB,EAAE,WAAW,CAACA,EAAE,KAAK,CAAC,EAAE5mB,EAAE,EAAE,EAAE4mB,EAAE,WAAW,CAACA,EAAE,KAAK,CAAC,EAAE5mB,EAAE,EAAE,CAACvI,EAAEmvB,EAAE,WAAW,CAACA,EAAE,KAAK,CAAC5mB,EAAE,CAACA,IAAI,IAAInJ,EAAE0xB,EAAE3B,EAAEnvB,EAAErE,GAAIm1B,CAAAA,EAAE3B,EAAE,AAACC,CAAAA,EAAEO,CAAC,CAAC3vB,EAAE,AAAD,EAAt5D,IAA25D,EAAErE,GAAG,IAAK8F,CAAAA,EAAEkO,CAAC,CAACyf,EAAE,AAAD,GAAIyB,EAAE1B,EAAEnvB,GAAG6vB,CAAC,CAACT,EAAE,CAAC3tB,GAAGqvB,EAAE3B,EAAEC,EAAEuB,EAAE,EAAEvxB,GAAG4M,GAAG,IAAKvK,CAAAA,EAAEquB,CAAC,CAACV,EAAE,AAAD,GAAIyB,EAAE1B,EAAE/vB,GAAGoxB,CAAC,CAACpB,EAAE,CAAC3tB,EAAC,EAAG8G,EAAE4mB,EAAE,QAAQ,GAAG2B,EAAE3B,EAA98D,IAAk9DxzB,EAAE,CAAC,SAAS01B,EAAElC,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE5M,EAAEY,EAAEovB,EAAEzzB,EAAE,QAAQ,CAAC8F,EAAE9F,EAAE,SAAS,CAAC,WAAW,CAAC4M,EAAE5M,EAAE,SAAS,CAAC,SAAS,CAAC0zB,EAAE1zB,EAAE,SAAS,CAAC,KAAK,CAAC2zB,EAAE,GAAG,IAAIH,EAAE,QAAQ,CAAC,EAAEA,EAAE,QAAQ,CAACtc,EAAE7G,EAAE,EAAEA,EAAEqjB,EAAErjB,IAAI,IAAIojB,CAAC,CAAC,EAAEpjB,EAAE,CAAEmjB,CAAAA,EAAE,IAAI,CAAC,EAAEA,EAAE,QAAQ,CAAC,CAACG,EAAEtjB,EAAEmjB,EAAE,KAAK,CAACnjB,EAAE,CAAC,GAAGojB,CAAC,CAAC,EAAEpjB,EAAE,EAAE,CAAC,EAAE,KAAKmjB,EAAE,QAAQ,CAAC,GAAGC,CAAC,CAAC,EAAGpvB,CAAAA,EAAEmvB,EAAE,IAAI,CAAC,EAAEA,EAAE,QAAQ,CAAC,CAACG,EAAE,EAAE,EAAEA,EAAE,GAAG,CAAC,EAAEH,EAAE,KAAK,CAACnvB,EAAE,CAAC,EAAEmvB,EAAE,OAAO,GAAG5mB,GAAI4mB,CAAAA,EAAE,UAAU,EAAE1tB,CAAC,CAAC,EAAEzB,EAAE,EAAE,AAAD,EAAG,IAAIrE,EAAE,QAAQ,CAAC2zB,EAAEtjB,EAAEmjB,EAAE,QAAQ,EAAE,EAAE,GAAGnjB,EAAEA,IAAImlB,EAAEhC,EAAEC,EAAEpjB,GAAG,IAAIhM,EAAEqvB,EAAErjB,EAAEmjB,EAAE,IAAI,CAAC,EAAE,CAACA,EAAE,IAAI,CAAC,EAAE,CAACA,EAAE,IAAI,CAACA,EAAE,QAAQ,GAAG,CAACgC,EAAEhC,EAAEC,EAAE,GAAGhwB,EAAE+vB,EAAE,IAAI,CAAC,EAAE,CAACA,EAAE,IAAI,CAAC,EAAEA,EAAE,QAAQ,CAAC,CAACnjB,EAAEmjB,EAAE,IAAI,CAAC,EAAEA,EAAE,QAAQ,CAAC,CAAC/vB,EAAEgwB,CAAC,CAAC,EAAEpvB,EAAE,CAACovB,CAAC,CAAC,EAAEpjB,EAAE,CAACojB,CAAC,CAAC,EAAEhwB,EAAE,CAAC+vB,EAAE,KAAK,CAACnvB,EAAE,CAAC,AAACmvB,CAAAA,EAAE,KAAK,CAACnjB,EAAE,EAAEmjB,EAAE,KAAK,CAAC/vB,EAAE,CAAC+vB,EAAE,KAAK,CAACnjB,EAAE,CAACmjB,EAAE,KAAK,CAAC/vB,EAAE,AAAD,EAAG,EAAEgwB,CAAC,CAAC,EAAEpjB,EAAE,EAAE,CAACojB,CAAC,CAAC,EAAEhwB,EAAE,EAAE,CAACY,EAAEmvB,EAAE,IAAI,CAAC,EAAE,CAACnvB,IAAImxB,EAAEhC,EAAEC,EAAE,GAAG,GAAGD,EAAE,QAAQ,GAAGA,EAAE,IAAI,CAAC,EAAEA,EAAE,QAAQ,CAAC,CAACA,EAAE,IAAI,CAAC,EAAE,CAAC,SAASA,CAAC,CAACxzB,CAAC,EAAE,IAAIqQ,EAAE5M,EAAEY,EAAEovB,EAAE3tB,EAAE8G,EAAE8mB,EAAE1zB,EAAE,QAAQ,CAAC2zB,EAAE3zB,EAAE,QAAQ,CAACgkB,EAAEhkB,EAAE,SAAS,CAAC,WAAW,CAAC4zB,EAAE5zB,EAAE,SAAS,CAAC,SAAS,CAAC2M,EAAE3M,EAAE,SAAS,CAAC,UAAU,CAACyH,EAAEzH,EAAE,SAAS,CAAC,UAAU,CAACJ,EAAEI,EAAE,SAAS,CAAC,UAAU,CAACL,EAAE,EAAE,IAAI8zB,EAAE,EAAEA,GAAp0F,GAAy0FA,IAAID,EAAE,QAAQ,CAACC,EAAE,CAAC,EAAE,IAAIC,CAAC,CAAC,EAAEF,EAAE,IAAI,CAACA,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAEnjB,EAAEmjB,EAAE,QAAQ,CAAC,EAAEnjB,EAAE6G,EAAE7G,IAAIzQ,EAAG6zB,CAAAA,EAAEC,CAAC,CAAC,EAAEA,CAAC,CAAC,EAAGjwB,CAAAA,EAAE+vB,EAAE,IAAI,CAACnjB,EAAE,AAAD,EAAG,EAAE,CAAC,EAAE,CAAC,IAAKojB,CAAAA,EAAE7zB,EAAED,GAAE,EAAG+zB,CAAC,CAAC,EAAEjwB,EAAE,EAAE,CAACgwB,EAAEE,EAAElwB,GAAI+vB,CAAAA,EAAE,QAAQ,CAACC,EAAE,GAAG3tB,EAAE,EAAE2B,GAAGhE,GAAIqC,CAAAA,EAAE6G,CAAC,CAAClJ,EAAEgE,EAAE,AAAD,EAAGmF,EAAE8mB,CAAC,CAAC,EAAEjwB,EAAE,CAAC+vB,EAAE,OAAO,EAAE5mB,EAAG6mB,CAAAA,EAAE3tB,CAAAA,EAAG8tB,GAAIJ,CAAAA,EAAE,UAAU,EAAE5mB,EAAGoX,CAAAA,CAAC,CAAC,EAAEvgB,EAAE,EAAE,CAACqC,CAAAA,CAAC,CAAC,EAAG,GAAG,IAAInG,EAAE,CAAC,EAAE,CAAC,IAAI8zB,EAAE7zB,EAAE,EAAE,IAAI4zB,EAAE,QAAQ,CAACC,EAAE,EAAEA,GAAID,CAAAA,EAAE,QAAQ,CAACC,EAAE,GAAGD,EAAE,QAAQ,CAACC,EAAE,EAAE,EAAE,EAAED,EAAE,QAAQ,CAAC5zB,EAAE,GAAGD,GAAG,CAAC,OAAO,EAAEA,EAAG,KAAI8zB,EAAE7zB,EAAE,IAAI6zB,EAAEA,IAAI,IAAIhwB,EAAE+vB,EAAE,QAAQ,CAACC,EAAE,CAAC,IAAIhwB,GAAGkwB,EAAGtvB,CAAAA,EAAEmvB,EAAE,IAAI,CAAC,EAAEnjB,EAAE,AAAD,GAAKqjB,CAAAA,CAAC,CAAC,EAAErvB,EAAE,EAAE,GAAGovB,GAAID,CAAAA,EAAE,OAAO,EAAE,AAACC,CAAAA,EAAEC,CAAC,CAAC,EAAErvB,EAAE,EAAE,AAAD,EAAGqvB,CAAC,CAAC,EAAErvB,EAAE,CAACqvB,CAAC,CAAC,EAAErvB,EAAE,EAAE,CAACovB,CAAAA,EAAGhwB,GAAE,CAAE,CAAC,EAAE+vB,EAAExzB,GAAGo1B,EAAE3B,EAAEE,EAAEH,EAAE,QAAQ,CAAC,CAAC,SAASmC,EAAEnC,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,IAAI5M,EAAEY,EAAEovB,EAAE,GAAG3tB,EAAE9F,CAAC,CAAC,EAAE,CAAC4M,EAAE,EAAE8mB,EAAE,EAAEC,EAAE,EAAE,IAAI,IAAI7tB,GAAI4tB,CAAAA,EAAE,IAAIC,EAAE,GAAG3zB,CAAC,CAAC,EAAGqQ,CAAAA,EAAE,GAAG,EAAE,CAAC,MAAM5M,EAAE,EAAEA,GAAG4M,EAAE5M,IAAIY,EAAEyB,EAAEA,EAAE9F,CAAC,CAAC,EAAGyD,CAAAA,EAAE,GAAG,EAAE,CAAC,EAAEmJ,EAAE8mB,GAAGrvB,IAAIyB,GAAI8G,CAAAA,EAAE+mB,EAAEH,EAAE,OAAO,CAAC,EAAEnvB,EAAE,EAAEuI,EAAE,IAAIvI,EAAGA,CAAAA,IAAIovB,GAAGD,EAAE,OAAO,CAAC,EAAEnvB,EAAE,GAAGmvB,EAAE,OAAO,CAAC,GAAI,EAAC,EAAG5mB,GAAG,GAAG4mB,EAAE,OAAO,CAAC,GAAI,GAAGA,EAAE,OAAO,CAAC,GAAI,GAAGC,EAAEpvB,EAAEsvB,EAAE,AAAC/mB,CAAAA,EAAE,KAAK9G,EAAG4tB,CAAAA,EAAE,IAAI,GAAGrvB,IAAIyB,EAAG4tB,CAAAA,EAAE,EAAE,GAAIA,CAAAA,EAAE,EAAE,EAAC,CAAE,CAAC,SAASkC,EAAEpC,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,IAAI5M,EAAEY,EAAEovB,EAAE,GAAG3tB,EAAE9F,CAAC,CAAC,EAAE,CAAC4M,EAAE,EAAE8mB,EAAE,EAAEC,EAAE,EAAE,IAAI,IAAI7tB,GAAI4tB,CAAAA,EAAE,IAAIC,EAAE,GAAGlwB,EAAE,EAAEA,GAAG4M,EAAE5M,IAAI,GAAGY,EAAEyB,EAAEA,EAAE9F,CAAC,CAAC,EAAGyD,CAAAA,EAAE,GAAG,EAAE,CAAC,CAAE,GAAEmJ,EAAE8mB,GAAGrvB,IAAIyB,CAAAA,EAAG,CAAC,GAAG8G,EAAE+mB,EAAE,KAAKwB,EAAE3B,EAAEnvB,EAAEmvB,EAAE,OAAO,EAAE,GAAG,EAAE5mB,SAAS,IAAIvI,EAAGA,CAAAA,IAAIovB,GAAI0B,CAAAA,EAAE3B,EAAEnvB,EAAEmvB,EAAE,OAAO,EAAE5mB,GAAE,EAAGuoB,EAAE3B,EAAxyH,GAA4yHA,EAAE,OAAO,EAAE0B,EAAE1B,EAAE5mB,EAAE,EAAE,EAAC,EAAGA,GAAG,GAAIuoB,CAAAA,EAAE3B,EAAv0H,GAA20HA,EAAE,OAAO,EAAE0B,EAAE1B,EAAE5mB,EAAE,EAAE,EAAC,EAAIuoB,CAAAA,EAAE3B,EAAh2H,GAAo2HA,EAAE,OAAO,EAAE0B,EAAE1B,EAAE5mB,EAAE,GAAG,EAAC,CAAG6mB,CAAAA,EAAEpvB,EAAEsvB,EAAE,AAAC/mB,CAAAA,EAAE,KAAK9G,EAAG4tB,CAAAA,EAAE,IAAI,GAAGrvB,IAAIyB,EAAG4tB,CAAAA,EAAE,EAAE,GAAIA,CAAAA,EAAE,EAAE,EAAE,CAAC,CAACjwB,EAAEoxB,GAAG,IAAIgB,EAAE,CAAC,EAAE,SAASC,EAAEtC,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,CAAC5M,CAAC,MAAiC+vB,EAAExzB,EAAEqQ,EAAE5M,CAArCyxB,CAAAA,EAAE1B,EAAE,AAACC,EAAOhwB,CAAAA,EAAE,EAAE,GAAG,GAAY+vB,EAAiGA,EAA/FxzB,EAAiGA,EAA/FqQ,EAAiGA,EAA/F5M,EAAiG,CAAC,EAA/F6xB,EAAE9B,GAAG/vB,GAAIwxB,CAAAA,EAAEzB,EAAEnjB,GAAG4kB,EAAEzB,EAAE,CAACnjB,EAAC,EAAGhM,EAAE,QAAQ,CAACmvB,EAAE,WAAW,CAACA,EAAE,MAAM,CAACxzB,EAAEqQ,EAAEmjB,EAAE,OAAO,EAAEA,EAAE,OAAO,EAAEnjB,CAAY,CAACA,EAAE,QAAQ,CAAC,SAASmjB,CAAC,EAAEqC,GAAI,YAAW,IAAIrC,EAAExzB,EAAEqQ,EAAE5M,EAAEY,EAAEovB,EAAE,AAAI5rB,MAAMhI,IAAK,IAAI4D,EAAE4M,EAAE,EAAE5M,EAAEqC,GAAIrC,IAAI,IAAIywB,CAAC,CAACzwB,EAAE,CAAC4M,EAAEmjB,EAAE,EAAEA,EAAE,GAAGxf,CAAC,CAACvQ,EAAE,CAAC+vB,IAAIQ,CAAC,CAAC3jB,IAAI,CAAC5M,EAAE,IAAIuwB,CAAC,CAAC3jB,EAAE,EAAE,CAAC5M,EAAEA,EAAEY,EAAE,EAAEZ,EAAE,GAAGA,IAAI,IAAIoxB,CAAC,CAACpxB,EAAE,CAACY,EAAEmvB,EAAE,EAAEA,EAAE,GAAGW,CAAC,CAAC1wB,EAAE,CAAC+vB,IAAIgB,CAAC,CAACnwB,IAAI,CAACZ,EAAE,IAAIY,IAAI,EAAEZ,EAAp1I,GAAw1IA,IAAI,IAAIoxB,CAAC,CAACpxB,EAAE,CAACY,GAAG,EAAEmvB,EAAE,EAAEA,EAAE,GAAGW,CAAC,CAAC1wB,EAAE,CAAC,EAAE+vB,IAAIgB,CAAC,CAAC,IAAInwB,IAAI,CAACZ,EAAE,IAAIzD,EAAE,EAAEA,GAAj4I,GAAs4IA,IAAIyzB,CAAC,CAACzzB,EAAE,CAAC,EAAE,IAAIwzB,EAAE,EAAEA,GAAG,KAAKa,CAAC,CAAC,EAAEb,EAAE,EAAE,CAAC,EAAEA,IAAIC,CAAC,CAAC,EAAE,GAAG,KAAKD,GAAG,KAAKa,CAAC,CAAC,EAAEb,EAAE,EAAE,CAAC,EAAEA,IAAIC,CAAC,CAAC,EAAE,GAAG,KAAKD,GAAG,KAAKa,CAAC,CAAC,EAAEb,EAAE,EAAE,CAAC,EAAEA,IAAIC,CAAC,CAAC,EAAE,GAAG,KAAKD,GAAG,KAAKa,CAAC,CAAC,EAAEb,EAAE,EAAE,CAAC,EAAEA,IAAIC,CAAC,CAAC,EAAE,GAAG,IAAI2B,EAAEf,EAAErQ,EAAE,EAAEyP,GAAGD,EAAE,EAAEA,EAArkJ,GAAykJA,IAAIc,CAAC,CAAC,EAAEd,EAAE,EAAE,CAAC,EAAEc,CAAC,CAAC,EAAEd,EAAE,CAAC3tB,EAAE2tB,EAAE,EAAGS,CAAAA,EAAE,IAAIa,EAAET,EAAErgB,EAAE2f,IAAI3P,EAApmJ,IAAymJuQ,EAAE,IAAIO,EAAER,EAAEH,EAAE,EAAvoJ,GAAkB,IAA4nJlhB,EAAE,IAAI6hB,EAAE,EAAY,CAAC/uB,EAAE,EAAhqJ,GAAuB,EAA+oJ,IAAI8vB,EAAE,CAAC,GAAGrC,EAAE,MAAM,CAAC,IAAIuB,EAAEvB,EAAE,SAAS,CAACS,GAAGT,EAAE,MAAM,CAAC,IAAIuB,EAAEvB,EAAE,SAAS,CAACe,GAAGf,EAAE,OAAO,CAAC,IAAIuB,EAAEvB,EAAE,OAAO,CAACvgB,GAAGugB,EAAE,MAAM,CAAC,EAAEA,EAAE,QAAQ,CAAC,EAAE6B,EAAE7B,EAAE,EAAEnjB,EAAE,gBAAgB,CAACylB,EAAEzlB,EAAE,eAAe,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,CAAC5M,CAAC,EAAE,IAAIY,EAAEovB,EAAE3tB,EAAE,CAAE,GAAE0tB,EAAE,KAAK,CAAE,KAAIA,EAAE,IAAI,CAAC,SAAS,EAAGA,CAAAA,EAAE,IAAI,CAAC,SAAS,CAAC,SAASA,CAAC,EAAE,IAAIxzB,EAAEqQ,EAAE,WAAW,IAAIrQ,EAAE,EAAEA,GAAG,GAAGA,IAAIqQ,KAAK,EAAE,GAAG,EAAEA,GAAG,IAAImjB,EAAE,SAAS,CAAC,EAAExzB,EAAE,CAAC,OAA5kK,EAAqlK,GAAG,IAAIwzB,EAAE,SAAS,CAAC,GAAG,EAAE,IAAIA,EAAE,SAAS,CAAC,GAAG,EAAE,IAAIA,EAAE,SAAS,CAAC,GAAG,CAAC,OAAlpK,EAA2pK,IAAIxzB,EAAE,GAAGA,EAAnmK,IAAumKA,IAAI,GAAG,IAAIwzB,EAAE,SAAS,CAAC,EAAExzB,EAAE,CAAC,OAApsK,EAA6sK,OAAjtK,CAAytK,EAAEwzB,EAAC,EAAGkC,EAAElC,EAAEA,EAAE,MAAM,EAAEkC,EAAElC,EAAEA,EAAE,MAAM,EAAE1tB,EAAE,SAAS0tB,CAAC,EAAE,IAAIxzB,EAAE,IAAI21B,EAAEnC,EAAEA,EAAE,SAAS,CAACA,EAAE,MAAM,CAAC,QAAQ,EAAEmC,EAAEnC,EAAEA,EAAE,SAAS,CAACA,EAAE,MAAM,CAAC,QAAQ,EAAEkC,EAAElC,EAAEA,EAAE,OAAO,EAAExzB,EAAE2M,GAAI,GAAG3M,GAAG,IAAIwzB,EAAE,OAAO,CAAC,EAAEY,CAAC,CAACp0B,EAAE,CAAC,EAAE,CAACA,KAAK,OAAOwzB,EAAE,OAAO,EAAE,EAAGxzB,CAAAA,EAAE,GAAG,EAAE,EAAE,EAAEA,CAAC,EAAEwzB,GAAGnvB,EAAEmvB,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,AAACC,CAAAA,EAAED,EAAE,UAAU,CAAC,EAAE,IAAI,IAAInvB,GAAIA,CAAAA,EAAEovB,CAAAA,CAAC,EAAGpvB,EAAEovB,EAAEpjB,EAAE,EAAEA,EAAE,GAAGhM,GAAG,KAAKrE,EAAE81B,EAAEtC,EAAExzB,EAAEqQ,EAAE5M,GAAG,IAAI+vB,EAAE,QAAQ,EAAEC,IAAIpvB,EAAG6wB,CAAAA,EAAE1B,EAAE,EAAG/vB,CAAAA,EAAE,EAAE,GAAG,GAAGgyB,EAAEjC,EAAEa,EAAEC,EAAC,EAAIY,CAAAA,EAAE1B,EAAE,EAAG/vB,CAAAA,EAAE,EAAE,GAAG,GAAG,SAAS+vB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,CAAC5M,CAAC,EAAE,IAAIY,EAAE,IAAI6wB,EAAE1B,EAAExzB,EAAE,IAAI,GAAGk1B,EAAE1B,EAAEnjB,EAAE,EAAE,GAAG6kB,EAAE1B,EAAE/vB,EAAE,EAAE,GAAGY,EAAE,EAAEA,EAAEZ,EAAEY,IAAI6wB,EAAE1B,EAAEA,EAAE,OAAO,CAAC,EAAEY,CAAC,CAAC/vB,EAAE,CAAC,EAAE,CAAC,EAAGuxB,CAAAA,EAAEpC,EAAEA,EAAE,SAAS,CAACxzB,EAAE,GAAG41B,EAAEpC,EAAEA,EAAE,SAAS,CAACnjB,EAAE,EAAE,EAAEmjB,EAAEA,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAEA,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE1tB,EAAE,GAAG2vB,EAAEjC,EAAEA,EAAE,SAAS,CAACA,EAAE,SAAS,GAAG6B,EAAE7B,GAAG/vB,GAAG6xB,EAAE9B,EAAE,EAAEnjB,EAAE,SAAS,CAAC,SAASmjB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,OAAOmjB,EAAE,WAAW,CAACA,EAAE,KAAK,CAAC,EAAEA,EAAE,QAAQ,CAAC,CAACxzB,IAAI,EAAE,IAAIwzB,EAAE,WAAW,CAACA,EAAE,KAAK,CAAC,EAAEA,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAIxzB,EAAEwzB,EAAE,WAAW,CAACA,EAAE,KAAK,CAACA,EAAE,QAAQ,CAAC,CAAC,IAAInjB,EAAEmjB,EAAE,QAAQ,GAAG,IAAIxzB,EAAEwzB,EAAE,SAAS,CAAC,EAAEnjB,EAAE,GAAImjB,CAAAA,EAAE,OAAO,GAAGxzB,IAAIwzB,EAAE,SAAS,CAAC,EAAGQ,CAAAA,CAAC,CAAC3jB,EAAE,CAA3+L,IAA8+L,GAAG,GAAGmjB,EAAE,SAAS,CAAC,EAAEwB,EAAEh1B,GAAG,EAAC,EAAGwzB,EAAE,QAAQ,GAAGA,EAAE,WAAW,CAAC,CAAC,EAAEnjB,EAAE,SAAS,CAAC,SAASmjB,CAAC,MAA6BA,CAA3B0B,CAAAA,EAAE1B,EAAE,EAAE,GAAG2B,EAAE3B,EAA9hM,IAAkiMa,GAAe,KAAKb,CAARA,EAAgJA,GAAtI,QAAQ,CAAEyB,CAAAA,EAAEzB,EAAEA,EAAE,MAAM,EAAEA,EAAE,MAAM,CAAC,EAAEA,EAAE,QAAQ,CAAC,GAAG,GAAGA,EAAE,QAAQ,EAAGA,CAAAA,EAAE,WAAW,CAACA,EAAE,OAAO,GAAG,CAAC,IAAIA,EAAE,MAAM,CAACA,EAAE,MAAM,GAAG,EAAEA,EAAE,QAAQ,EAAE,EAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,SAASA,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,YAAarQ,CAAAA,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAASwzB,CAAC,CAACxzB,CAAC,CAACqQ,CAAC,EAAE,YAAarQ,CAAAA,EAAE,OAAO,CAAC,YAAY,OAAOqV,EAAaA,EAAa,WAAW,IAAIme,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAACrtB,UAAWqtB,CAAAA,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG5nB,WAAW,KAAK,CAAC,KAAK4nB,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAA7p6Fr0B,EAAO,OAAO,CAACq0B,GACT,GAAE,IAAI,CAACp0B,EAAS,EAAoB,GAAG,MAAM,CAAE,EAAoB,GAAI,EAAoB,IAAI,YAAY,CAEhI,EAEC,SAASD,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAI22B,EAAS,EAAoB,GACjC32B,CAAAA,EAAQ,QAAQ,CAAG22B,EAAO,IAAI,CAC9Br2B,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,IAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAM6e,EAAS,EAAoB,GACnC7e,CAAAA,EAAQ,YAAY,CAAGG,OAAO,IAAI,CAAC,CAAC,EACpC,OAAMy2B,UAAqB/X,EAAO,gBAAgB,CAC9C,YAAYtL,CAAO,CAAE,CACjB,KAAK,CAACA,GACN,IAAI,CAAC,IAAI,CAAG,EAAW,AAC3B,CACA,WAAWsjB,CAAI,CAAE,CACb,IAcmBxuB,EAdb2jB,EAAW,IAAI,CAAC,IAAI,CACrB,MAAM,CAAC,AAAC3jB,GACT,AAAIA,aAAawW,EAAO,gBAAgB,CAC7B,CAACxW,EAAE,SAAS,CAEhBA,AAAMzG,KAAAA,IAANyG,GAEN,GAAG,CAAC,AAACyuB,GACN,AAAIA,aAAgBjY,EAAO,gBAAgB,CAChCiY,EAAK,UAAU,CAACD,GAEpBC,GAEN,MAAM,CAAC,AAACA,GAASA,AAASl1B,KAAAA,IAATk1B,GAEtB,MAAO,CACH,CAAC,IAAI,CAAC,OAAO,CAAC,CAAE9K,EAAS,MAAM,CAAIA,AAAoB,IAApBA,EAAS,MAAM,EAF7B,AAAa,UAAb,OAAN3jB,EAEuD2jB,CAAQ,CAAC,EAAE,GAFnC3jB,EAAE,KAAK,CAEgC2jB,CAAQ,CAAC,EAAE,CAAGA,EAAYhsB,EAAQ,YAAY,AACvI,CACJ,CACA,gBAAgBsO,CAAK,CAAE,CAEnB,OADA,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,GACR,IAAI,AACf,CACA,QAAS,CACL,IAAI,CAAC,OAAO,CAAG,EACnB,CACJ,CACAtO,EAAQ,YAAY,CAAG42B,CASvB52B,CAAAA,EAAQ,yBAAyB,CARjC,MAAM+2B,UAAkCH,EACpC,YAAa,CACT,IAAM9V,EAAS,KAAK,CAAC,aACrB,GAAIA,GAAW,CAAgC,UAAhC,OAAOA,CAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAiB3gB,OAAO,IAAI,CAAC2gB,CAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,AAAD,EAC9F,OAAOA,CAEf,CACJ,CAIM,EAEC,SAAS/gB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMg3B,EAAuB,EAAoB,GACjD,OAAMC,UAAmBD,EAAqB,qBAAqB,CAC/D,aAAc,CACV,KAAK,IAAIjwB,WACT,IAAI,CAAC,OAAO,CAAG,CACX,IAAK,QACL,MAAO,UACP,KAAM,SACN,MAAO,UACP,GAAI,OACJ,KAAM,SACN,MAAO,UACP,QAAS,YACT,SAAU,aACV,EAAG,MACH,EAAG,MACH,IAAK,QACL,MAAO,UACP,OAAQ,WACR,KAAM,SACN,OAAQ,WACR,OAAQ,WACR,OAAQ,WACR,UAAW,cACX,IAAK,OACT,CACJ,CACJ,CACA/G,EAAQ,UAAU,CAAGi3B,CAGf,EAEC,SAASl3B,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMk3B,EAAW,EAAoB,IAC/BC,EAAK,EAAoB,GAC/B,SAASC,EAAsB3X,CAAO,EAClC,OAAQA,EAAQ,IAAI,EAChB,KAAK7d,KAAAA,EACL,IAAK,UACD,IAAMy1B,EAAe,IAAIC,EAAqB7X,EAAQ,IAAI,CAAEA,EAAQ,UAAU,EAE9E,IAAK,IAAM8X,KADU9X,EAAQ,QAAQ,EAAI,EAAE,CACN,CACjC,IAAMnR,EAAQ8oB,EAAsBG,EACtB31B,MAAAA,IAAV0M,GACA+oB,EAAa,IAAI,CAAC/oB,EAE1B,CACA,OAAO+oB,CACX,KAAK,OACD,OAAO5X,EAAQ,IAAI,AACvB,SACI,MACR,CACJ,CACAzf,EAAQ,qBAAqB,CAAGo3B,CAChC,OAAMI,UAAuCL,EAAG,qBAAqB,CACrE,CACA,MAAMG,UAA6BH,EAAG,YAAY,CAC9C,OAAO,cAAcM,CAAe,CAAE,CAElC,OAAOL,EADQF,EAAS,MAAM,CAACO,EAAiB,CAAE,QAAS,EAAM,GAErE,CACA,YAAYlkB,CAAO,CAAEmkB,CAAK,CAAE,CACxB,KAAK,CAACnkB,GACFmkB,GACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIF,EAA+BE,GAE1D,CACA,KAAKL,CAAY,CAAE,CACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EACnB,CACJ,CACAr3B,EAAQ,oBAAoB,CAAGs3B,CAC/B,OAAMK,UAAsCR,EAAG,YAAY,CACvD,YAAYO,CAAK,CAAE,CACf,KAAK,CAAC,IACN,IAAI,CAAC,KAAK,CAAGA,CACjB,CACA,YAAa,CACT,MAAO,CACH,MAAO,IAAI,CAAC,KAAK,AACrB,CACJ,CACJ,CACA13B,EAAQ,6BAA6B,CAAG23B,CAGlC,EAEC,SAAS53B,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAExB,UAASoC,CAAM,GAAI,AAAC,SAAU6c,CAAG,EAC3DA,EAAI,MAAM,CAAG,SAAU2Y,CAAM,CAAEC,CAAG,EAAI,OAAO,IAAIC,EAAUF,EAAQC,EAAK,EACxE5Y,EAAI,SAAS,CAAG6Y,EAChB7Y,EAAI,SAAS,CAAG8Y,EAChB9Y,EAAI,YAAY,CAuKhB,SAAuB2Y,CAAM,CAAEC,CAAG,EAChC,OAAO,IAAIE,EAAUH,EAAQC,EAC/B,EA9JA5Y,EAAI,iBAAiB,CAAG,MAExB,IAw9CQ+Y,EACAC,EACAC,EA30CJvhB,EA/IAwhB,EAAU,CACZ,UAAW,WAAY,WAAY,UAAW,UAC9C,eAAgB,eAAgB,SAAU,aAC1C,cAAe,QAAS,SACzB,CAuBD,SAASL,EAAWF,CAAM,CAAEC,CAAG,EAC7B,GAAI,CAAE,KAAI,YAAYC,CAAQ,EAC5B,OAAO,IAAIA,EAAUF,EAAQC,GAI/BO,AAoFF,UAAuBvX,CAAM,EAC3B,IAAK,IAAIxc,EAAI,EAAGugB,EAAIuT,EAAQ,MAAM,CAAE9zB,EAAIugB,EAAGvgB,IACzCwc,CAAM,CAACsX,CAAO,CAAC9zB,EAAE,CAAC,CAAG,EAEzB,GAzFe,IAAI,EAEjBwc,AAFa,IAAI,CAEV,CAAC,CAAGA,AAFE,IAAI,CAEC,CAAC,CAAG,GACtBA,AAHa,IAAI,CAGV,mBAAmB,CAAG5B,EAAI,iBAAiB,CAClD4B,AAJa,IAAI,CAIV,GAAG,CAAGgX,GAAO,CAAC,EACrBhX,AALa,IAAI,CAKV,GAAG,CAAC,SAAS,CAAGA,AALV,IAAI,CAKa,GAAG,CAAC,SAAS,EAAIA,AALlC,IAAI,CAKqC,GAAG,CAAC,aAAa,CACvEA,AANa,IAAI,CAMV,SAAS,CAAGA,AANN,IAAI,CAMS,GAAG,CAAC,SAAS,CAAG,cAAgB,cAC1DA,AAPa,IAAI,CAOV,IAAI,CAAG,EAAE,CAChBA,AARa,IAAI,CAQV,MAAM,CAAGA,AARH,IAAI,CAQM,UAAU,CAAGA,AARvB,IAAI,CAQ0B,OAAO,CAAG,GACrDA,AATa,IAAI,CASV,GAAG,CAAGA,AATA,IAAI,CASG,KAAK,CAAG,KAC5BA,AAVa,IAAI,CAUV,MAAM,CAAG,CAAC,CAAC+W,EAClB/W,AAXa,IAAI,CAWV,QAAQ,CAAG,CAAC,CAAE+W,CAAAA,GAAU/W,AAXlB,IAAI,CAWqB,GAAG,CAAC,QAAQ,AAAD,EACjDA,AAZa,IAAI,CAYV,KAAK,CAAGmU,EAAE,KAAK,CACtBnU,AAba,IAAI,CAaV,cAAc,CAAGA,AAbX,IAAI,CAac,GAAG,CAAC,cAAc,CACjDA,AAda,IAAI,CAcV,QAAQ,CAAGA,AAdL,IAAI,CAcQ,cAAc,CAAG1gB,OAAO,MAAM,CAAC8e,EAAI,YAAY,EAAI9e,OAAO,MAAM,CAAC8e,EAAI,QAAQ,EACtG4B,AAfa,IAAI,CAeV,UAAU,CAAG,EAAE,CAKlBA,AApBS,IAAI,CAoBN,GAAG,CAAC,KAAK,EAClBA,CAAAA,AArBW,IAAI,CAqBR,EAAE,CAAG1gB,OAAO,MAAM,CAACk4B,EAAM,EAIlCxX,AAzBa,IAAI,CAyBV,aAAa,CAAGA,AAAwB,KAAxBA,AAzBV,IAAI,CAyBa,GAAG,CAAC,QAAQ,CACtCA,AA1BS,IAAI,CA0BN,aAAa,EACtBA,CAAAA,AA3BW,IAAI,CA2BR,QAAQ,CAAGA,AA3BP,IAAI,CA2BU,IAAI,CAAGA,AA3BrB,IAAI,CA2BwB,MAAM,CAAG,GAElDyX,EA7Ba,IAAI,CA6BJ,UACf,CAxDArZ,EAAI,MAAM,CAAG,CACX,OACA,wBACA,kBACA,UACA,UACA,eACA,YACA,UACA,WACA,YACA,QACA,aACA,QACA,MACA,QACA,SACA,gBACA,iBACD,CAuCG,CAAC9e,OAAO,MAAM,EAChBA,CAAAA,OAAO,MAAM,CAAG,SAAUqN,CAAC,EACzB,SAASmoB,IAAM,CAGf,OAFAA,EAAE,SAAS,CAAGnoB,EACH,IAAImoB,CAEjB,GAGE,CAACx1B,OAAO,IAAI,EACdA,CAAAA,OAAO,IAAI,CAAG,SAAUqN,CAAC,EACvB,IAAI9G,EAAI,EAAE,CACV,IAAK,IAAIrC,KAAKmJ,EAAOA,EAAE,cAAc,CAACnJ,IAAIqC,EAAE,IAAI,CAACrC,GACjD,OAAOqC,CACT,EAyDFoxB,CAAAA,EAAU,SAAS,CAAG,CACpB,IAAK,WAAclzB,EAAI,IAAI,CAAE,EAC7B,MA0yBF,SAAgBmT,CAAK,EAEnB,GAAI,IAAI,CAAC,KAAK,CACZ,MAAM,IAAI,CAAC,KAAK,CAElB,GAAI8I,AAJS,IAAI,CAIN,MAAM,CACf,OAAOH,EALI,IAAI,CAMb,wDAEJ,GAAI3I,AAAU,OAAVA,EACF,OAAOnT,EATI,IAAI,CAWI,WAAjB,OAAOmT,GACTA,CAAAA,EAAQA,EAAM,QAAQ,EAAC,EAIzB,IAFA,IAAI1T,EAAI,EACJgE,EAAI,GAENA,EAAIkwB,EAAOxgB,EAAO1T,KAClBwc,AAlBW,IAAI,CAkBR,CAAC,CAAGxY,EAENA,GAJM,EAkBX,OAVIwY,AAxBO,IAAI,CAwBJ,aAAa,GACtBA,AAzBS,IAAI,CAyBN,QAAQ,GACXxY,AAAM,OAANA,GACFwY,AA3BO,IAAI,CA2BJ,IAAI,GACXA,AA5BO,IAAI,CA4BJ,MAAM,CAAG,GAEhBA,AA9BO,IAAI,CA8BJ,MAAM,IAITA,AAlCG,IAAI,CAkCA,KAAK,EAClB,KAAKmU,EAAE,KAAK,CAEV,GADAnU,AApCO,IAAI,CAoCJ,KAAK,CAAGmU,EAAE,gBAAgB,CAC7B3sB,AAAM,WAANA,EACF,SAEFmwB,EAxCO,IAAI,CAwCanwB,GACxB,QAEF,MAAK2sB,EAAE,gBAAgB,CACrBwD,EA5CO,IAAI,CA4CanwB,GACxB,QAEF,MAAK2sB,EAAE,IAAI,CACT,GAAInU,AAhDG,IAAI,CAgDA,OAAO,EAAI,CAACA,AAhDhB,IAAI,CAgDmB,UAAU,CAAE,CAExC,IADA,IAjtBYxY,EAmpCVowB,EACA1yB,EAncE2yB,EAASr0B,EAAI,EACVgE,GAAKA,AAAM,MAANA,GAAaA,AAAM,MAANA,GACvBA,CAAAA,EAAIkwB,EAAOxgB,EAAO1T,IAAG,GACZwc,AApDN,IAAI,CAoDS,aAAa,GAC3BA,AArDC,IAAI,CAqDE,QAAQ,GACXxY,AAAM,OAANA,GACFwY,AAvDD,IAAI,CAuDI,IAAI,GACXA,AAxDD,IAAI,CAwDI,MAAM,CAAG,GAEhBA,AA1DD,IAAI,CA0DI,MAAM,GAInBA,CA9DK,IAAI,CA8DF,QAAQ,EAAI9I,EAAM,SAAS,CAAC2gB,EAAQr0B,EAAI,EACjD,CACIgE,AAAM,MAANA,GAAewY,AAhEZ,IAAI,CAgEe,OAAO,EAAIA,AAhE9B,IAAI,CAgEiC,UAAU,EAAI,CAACA,AAhEpD,IAAI,CAgEuD,MAAM,EAIlE,CAAC8X,EAAatwB,IAAO,EAACwY,AApErB,IAAI,CAoEwB,OAAO,EAAIA,AApEvC,IAAI,CAoE0C,UAAU,AAAD,GAC1D+X,EArEG,IAAI,CAqEY,mCAEjBvwB,AAAM,MAANA,EACFwY,AAxEG,IAAI,CAwEA,KAAK,CAAGmU,EAAE,WAAW,CAE5BnU,AA1EG,IAAI,CA0EA,QAAQ,EAAIxY,IATrBwY,AAjEK,IAAI,CAiEF,KAAK,CAAGmU,EAAE,SAAS,CAC1BnU,AAlEK,IAAI,CAkEF,gBAAgB,CAAGA,AAlErB,IAAI,CAkEwB,QAAQ,EAW3C,QAEF,MAAKmU,EAAE,MAAM,CAEP3sB,AAAM,MAANA,EACFwY,AAlFK,IAAI,CAkFF,KAAK,CAAGmU,EAAE,aAAa,CAE9BnU,AApFK,IAAI,CAoFF,MAAM,EAAIxY,EAEnB,QAEF,MAAK2sB,EAAE,aAAa,CACd3sB,AAAM,MAANA,EACFwY,AA1FK,IAAI,CA0FF,KAAK,CAAGmU,EAAE,SAAS,EAE1BnU,AA5FK,IAAI,CA4FF,MAAM,EAAI,IAAMxY,EACvBwY,AA7FK,IAAI,CA6FF,KAAK,CAAGmU,EAAE,MAAM,EAEzB,QAEF,MAAKA,EAAE,SAAS,CAEV3sB,AAAM,MAANA,GACFwY,AApGK,IAAI,CAoGF,KAAK,CAAGmU,EAAE,SAAS,CAC1BnU,AArGK,IAAI,CAqGF,QAAQ,CAAG,IACT8X,EAAatwB,KAEbwwB,EAAQC,EAAWzwB,IAC5BwY,AAzGK,IAAI,CAyGF,KAAK,CAAGmU,EAAE,QAAQ,CACzBnU,AA1GK,IAAI,CA0GF,OAAO,CAAGxY,GACRA,AAAM,MAANA,GACTwY,AA5GK,IAAI,CA4GF,KAAK,CAAGmU,EAAE,SAAS,CAC1BnU,AA7GK,IAAI,CA6GF,OAAO,CAAG,IACRxY,AAAM,MAANA,GACTwY,AA/GK,IAAI,CA+GF,KAAK,CAAGmU,EAAE,SAAS,CAC1BnU,AAhHK,IAAI,CAgHF,YAAY,CAAGA,AAhHjB,IAAI,CAgHoB,YAAY,CAAG,KAE5C+X,EAlHK,IAAI,CAkHU,eAEf/X,AApHC,IAAI,CAoHE,gBAAgB,CAAG,EAAIA,AApH7B,IAAI,CAoHgC,QAAQ,EAE/CxY,CAAAA,EAAI,AAAII,MADEoY,AArHP,IAAI,CAqHU,QAAQ,CAAGA,AArHzB,IAAI,CAqH4B,gBAAgB,EAChC,IAAI,CAAC,KAAOxY,CAAAA,EAEjCwY,AAxHK,IAAI,CAwHF,QAAQ,EAAI,IAAMxY,EACzBwY,AAzHK,IAAI,CAyHF,KAAK,CAAGmU,EAAE,IAAI,GAEvB,QAEF,MAAKA,EAAE,SAAS,CACV,AAzzBA,YAyzBA,AAACnU,CAAAA,AA9HE,IAAI,CA8HC,QAAQ,CAAGxY,CAAAA,EAAG,WAAW,IACnC0wB,EA/HK,IAAI,CA+HQ,eACjBlY,AAhIK,IAAI,CAgIF,KAAK,CAAGmU,EAAE,KAAK,CACtBnU,AAjIK,IAAI,CAiIF,QAAQ,CAAG,GAClBA,AAlIK,IAAI,CAkIF,KAAK,CAAG,IACNA,AAnIJ,IAAI,CAmIO,QAAQ,CAAGxY,IAAM,MACjCwY,AApIK,IAAI,CAoIF,KAAK,CAAGmU,EAAE,OAAO,CACxBnU,AArIK,IAAI,CAqIF,OAAO,CAAG,GACjBA,AAtIK,IAAI,CAsIF,QAAQ,CAAG,IACT,AAj0BL,YAi0BK,AAACA,CAAAA,AAvIL,IAAI,CAuIQ,QAAQ,CAAGxY,CAAAA,EAAG,WAAW,IAC1CwY,AAxIK,IAAI,CAwIF,KAAK,CAAGmU,EAAE,OAAO,CACpBnU,CAAAA,AAzIC,IAAI,CAyIE,OAAO,EAAIA,AAzIjB,IAAI,CAyIoB,OAAO,AAAD,GACjC+X,EA1IG,IAAI,CA2IL,+CAEJ/X,AA7IK,IAAI,CA6IF,OAAO,CAAG,GACjBA,AA9IK,IAAI,CA8IF,QAAQ,CAAG,IACTxY,AAAM,MAANA,GACT0wB,EAhJK,IAAI,CAgJQ,oBAAqBlY,AAhJjC,IAAI,CAgJoC,QAAQ,EACrDA,AAjJK,IAAI,CAiJF,QAAQ,CAAG,GAClBA,AAlJK,IAAI,CAkJF,KAAK,CAAGmU,EAAE,IAAI,GACZgE,EAAQ3wB,IACjBwY,CAAAA,AApJK,IAAI,CAoJF,KAAK,CAAGmU,EAAE,gBAAgB,AAAD,EAGhCnU,AAvJK,IAAI,CAuJF,QAAQ,EAAIxY,GAErB,QAEF,MAAK2sB,EAAE,gBAAgB,CACjB3sB,IAAMwY,AA5JH,IAAI,CA4JM,CAAC,GAChBA,AA7JK,IAAI,CA6JF,KAAK,CAAGmU,EAAE,SAAS,CAC1BnU,AA9JK,IAAI,CA8JF,CAAC,CAAG,IAEbA,AAhKO,IAAI,CAgKJ,QAAQ,EAAIxY,EACnB,QAEF,MAAK2sB,EAAE,OAAO,CACR3sB,AAAM,MAANA,GACFwY,AArKK,IAAI,CAqKF,KAAK,CAAGmU,EAAE,IAAI,CACrB+D,EAtKK,IAAI,CAsKQ,YAAalY,AAtKzB,IAAI,CAsK4B,OAAO,EAC5CA,AAvKK,IAAI,CAuKF,OAAO,CAAG,KAEjBA,AAzKK,IAAI,CAyKF,OAAO,EAAIxY,EACdA,AAAM,MAANA,EACFwY,AA3KG,IAAI,CA2KA,KAAK,CAAGmU,EAAE,WAAW,CACnBgE,EAAQ3wB,KACjBwY,AA7KG,IAAI,CA6KA,KAAK,CAAGmU,EAAE,cAAc,CAC/BnU,AA9KG,IAAI,CA8KA,CAAC,CAAGxY,IAGf,QAEF,MAAK2sB,EAAE,cAAc,CACnBnU,AApLO,IAAI,CAoLJ,OAAO,EAAIxY,EACdA,IAAMwY,AArLH,IAAI,CAqLM,CAAC,GAChBA,AAtLK,IAAI,CAsLF,CAAC,CAAG,GACXA,AAvLK,IAAI,CAuLF,KAAK,CAAGmU,EAAE,OAAO,EAE1B,QAEF,MAAKA,EAAE,WAAW,CAChBnU,AA5LO,IAAI,CA4LJ,OAAO,EAAIxY,EACdA,AAAM,MAANA,EACFwY,AA9LK,IAAI,CA8LF,KAAK,CAAGmU,EAAE,OAAO,CACfgE,EAAQ3wB,KACjBwY,AAhMK,IAAI,CAgMF,KAAK,CAAGmU,EAAE,kBAAkB,CACnCnU,AAjMK,IAAI,CAiMF,CAAC,CAAGxY,GAEb,QAEF,MAAK2sB,EAAE,kBAAkB,CACvBnU,AAtMO,IAAI,CAsMJ,OAAO,EAAIxY,EACdA,IAAMwY,AAvMH,IAAI,CAuMM,CAAC,GAChBA,AAxMK,IAAI,CAwMF,KAAK,CAAGmU,EAAE,WAAW,CAC5BnU,AAzMK,IAAI,CAyMF,CAAC,CAAG,IAEb,QAEF,MAAKmU,EAAE,OAAO,CACR3sB,AAAM,MAANA,EACFwY,AA/MK,IAAI,CA+MF,KAAK,CAAGmU,EAAE,cAAc,CAE/BnU,AAjNK,IAAI,CAiNF,OAAO,EAAIxY,EAEpB,QAEF,MAAK2sB,EAAE,cAAc,CACf3sB,AAAM,MAANA,GACFwY,AAvNK,IAAI,CAuNF,KAAK,CAAGmU,EAAE,aAAa,CAC9BnU,AAxNK,IAAI,CAwNF,OAAO,CAAGoY,EAASpY,AAxNrB,IAAI,CAwNwB,GAAG,CAAEA,AAxNjC,IAAI,CAwNoC,OAAO,EAChDA,AAzNC,IAAI,CAyNE,OAAO,EAChBkY,EA1NG,IAAI,CA0NU,YAAalY,AA1N3B,IAAI,CA0N8B,OAAO,EAE9CA,AA5NK,IAAI,CA4NF,OAAO,CAAG,KAEjBA,AA9NK,IAAI,CA8NF,OAAO,EAAI,IAAMxY,EACxBwY,AA/NK,IAAI,CA+NF,KAAK,CAAGmU,EAAE,OAAO,EAE1B,QAEF,MAAKA,EAAE,aAAa,CACd3sB,AAAM,MAANA,GACFuwB,EArOK,IAAI,CAqOU,qBAGnB/X,AAxOK,IAAI,CAwOF,OAAO,EAAI,KAAOxY,EACzBwY,AAzOK,IAAI,CAyOF,KAAK,CAAGmU,EAAE,OAAO,EAExBnU,AA3OK,IAAI,CA2OF,KAAK,CAAGmU,EAAE,IAAI,CAEvB,QAEF,MAAKA,EAAE,KAAK,CACN3sB,AAAM,MAANA,EACFwY,AAjPK,IAAI,CAiPF,KAAK,CAAGmU,EAAE,YAAY,CAE7BnU,AAnPK,IAAI,CAmPF,KAAK,EAAIxY,EAElB,QAEF,MAAK2sB,EAAE,YAAY,CACb3sB,AAAM,MAANA,EACFwY,AAzPK,IAAI,CAyPF,KAAK,CAAGmU,EAAE,cAAc,EAE/BnU,AA3PK,IAAI,CA2PF,KAAK,EAAI,IAAMxY,EACtBwY,AA5PK,IAAI,CA4PF,KAAK,CAAGmU,EAAE,KAAK,EAExB,QAEF,MAAKA,EAAE,cAAc,CACf3sB,AAAM,MAANA,GACEwY,AAlQC,IAAI,CAkQE,KAAK,EACdkY,EAnQG,IAAI,CAmQU,UAAWlY,AAnQzB,IAAI,CAmQ4B,KAAK,EAE1CkY,EArQK,IAAI,CAqQQ,gBACjBlY,AAtQK,IAAI,CAsQF,KAAK,CAAG,GACfA,AAvQK,IAAI,CAuQF,KAAK,CAAGmU,EAAE,IAAI,EACZ3sB,AAAM,MAANA,EACTwY,AAzQK,IAAI,CAyQF,KAAK,EAAI,KAEhBA,AA3QK,IAAI,CA2QF,KAAK,EAAI,KAAOxY,EACvBwY,AA5QK,IAAI,CA4QF,KAAK,CAAGmU,EAAE,KAAK,EAExB,QAEF,MAAKA,EAAE,SAAS,CACV3sB,AAAM,MAANA,EACFwY,AAlRK,IAAI,CAkRF,KAAK,CAAGmU,EAAE,gBAAgB,CACxB2D,EAAatwB,GACtBwY,AApRK,IAAI,CAoRF,KAAK,CAAGmU,EAAE,cAAc,CAE/BnU,AAtRK,IAAI,CAsRF,YAAY,EAAIxY,EAEzB,QAEF,MAAK2sB,EAAE,cAAc,CACf,CAACnU,AA3RE,IAAI,CA2RC,YAAY,EAAI8X,EAAatwB,KAE9BA,AAAM,MAANA,EACTwY,AA9RK,IAAI,CA8RF,KAAK,CAAGmU,EAAE,gBAAgB,CAEjCnU,AAhSK,IAAI,CAgSF,YAAY,EAAIxY,GAEzB,QAEF,MAAK2sB,EAAE,gBAAgB,CACjB3sB,AAAM,MAANA,GACF0wB,EAtSK,IAAI,CAsSQ,0BAA2B,CAC1C,KAAMlY,AAvSH,IAAI,CAuSM,YAAY,CACzB,KAAMA,AAxSH,IAAI,CAwSM,YAAY,AAC3B,GACAA,AA1SK,IAAI,CA0SF,YAAY,CAAGA,AA1SjB,IAAI,CA0SoB,YAAY,CAAG,GAC5CA,AA3SK,IAAI,CA2SF,KAAK,CAAGmU,EAAE,IAAI,GAErBnU,AA7SK,IAAI,CA6SF,YAAY,EAAI,IAAMxY,EAC7BwY,AA9SK,IAAI,CA8SF,KAAK,CAAGmU,EAAE,cAAc,EAEjC,QAEF,MAAKA,EAAE,QAAQ,CACT6D,EAAQK,EAAU7wB,GACpBwY,AApTK,IAAI,CAoTF,OAAO,EAAIxY,IAElB8wB,AAnlBV,SAAiBtY,CAAM,EACjB,CAACA,EAAO,MAAM,EAAEA,CAAAA,EAAO,OAAO,CAAGA,EAAO,OAAO,CAACA,EAAO,SAAS,CAAC,EAAC,EACtE,IAAIuY,EAASvY,EAAO,IAAI,CAACA,EAAO,IAAI,CAAC,MAAM,CAAG,EAAE,EAAIA,EAChDwY,EAAMxY,EAAO,GAAG,CAAG,CAAE,KAAMA,EAAO,OAAO,CAAE,WAAY,CAAC,CAAE,CAG1DA,CAAAA,EAAO,GAAG,CAAC,KAAK,EAClBwY,CAAAA,EAAI,EAAE,CAAGD,EAAO,EAAE,AAAD,EAEnBvY,EAAO,UAAU,CAAC,MAAM,CAAG,EAC3BkY,EAASlY,EAAQ,iBAAkBwY,EACrC,EAkRe,IAAI,EAuTLhxB,AAAM,MAANA,EACFixB,EAxTG,IAAI,EAyTEjxB,AAAM,MAANA,EACTwY,AA1TG,IAAI,CA0TA,KAAK,CAAGmU,EAAE,cAAc,EAE3B,CAAC2D,EAAatwB,IAChBuwB,EA7TC,IAAI,CA6Tc,iCAErB/X,AA/TG,IAAI,CA+TA,KAAK,CAAGmU,EAAE,MAAM,GAG3B,QAEF,MAAKA,EAAE,cAAc,CACf3sB,AAAM,MAANA,GACFixB,EAtUK,IAAI,CAsUO,IAChBC,EAvUK,IAAI,IAyUTX,EAzUK,IAAI,CAyUU,kDACnB/X,AA1UK,IAAI,CA0UF,KAAK,CAAGmU,EAAE,MAAM,EAEzB,QAEF,MAAKA,EAAE,MAAM,CAEP2D,EAAatwB,KAENA,AAAM,MAANA,EACTixB,EAnVK,IAAI,EAoVAjxB,AAAM,MAANA,EACTwY,AArVK,IAAI,CAqVF,KAAK,CAAGmU,EAAE,cAAc,CACtB6D,EAAQC,EAAWzwB,IAC5BwY,AAvVK,IAAI,CAuVF,UAAU,CAAGxY,EACpBwY,AAxVK,IAAI,CAwVF,WAAW,CAAG,GACrBA,AAzVK,IAAI,CAyVF,KAAK,CAAGmU,EAAE,WAAW,EAE5B4D,EA3VK,IAAI,CA2VU,2BAErB,QAEF,MAAK5D,EAAE,WAAW,CACZ3sB,AAAM,MAANA,EACFwY,AAjWK,IAAI,CAiWF,KAAK,CAAGmU,EAAE,YAAY,CACpB3sB,AAAM,MAANA,GACTuwB,EAnWK,IAAI,CAmWU,2BACnB/X,AApWK,IAAI,CAoWF,WAAW,CAAGA,AApWhB,IAAI,CAoWmB,UAAU,CACtC2Y,EArWK,IAAI,EAsWTF,EAtWK,IAAI,GAuWAX,EAAatwB,GACtBwY,AAxWK,IAAI,CAwWF,KAAK,CAAGmU,EAAE,qBAAqB,CAC7B6D,EAAQK,EAAU7wB,GAC3BwY,AA1WK,IAAI,CA0WF,UAAU,EAAIxY,EAErBuwB,EA5WK,IAAI,CA4WU,0BAErB,QAEF,MAAK5D,EAAE,qBAAqB,CACtB3sB,AAAM,MAANA,EACFwY,AAlXK,IAAI,CAkXF,KAAK,CAAGmU,EAAE,YAAY,CACpB2D,EAAatwB,KAGtBuwB,EAtXK,IAAI,CAsXU,2BACnB/X,AAvXK,IAAI,CAuXF,GAAG,CAAC,UAAU,CAACA,AAvXjB,IAAI,CAuXoB,UAAU,CAAC,CAAG,GAC3CA,AAxXK,IAAI,CAwXF,WAAW,CAAG,GACrBkY,EAzXK,IAAI,CAyXQ,cAAe,CAC9B,KAAMlY,AA1XH,IAAI,CA0XM,UAAU,CACvB,MAAO,EACT,GACAA,AA7XK,IAAI,CA6XF,UAAU,CAAG,GAChBxY,AAAM,MAANA,EACFixB,EA/XG,IAAI,EAgYET,EAAQC,EAAWzwB,IAC5BwY,AAjYG,IAAI,CAiYA,UAAU,CAAGxY,EACpBwY,AAlYG,IAAI,CAkYA,KAAK,CAAGmU,EAAE,WAAW,GAE5B4D,EApYG,IAAI,CAoYY,0BACnB/X,AArYG,IAAI,CAqYA,KAAK,CAAGmU,EAAE,MAAM,GAG3B,QAEF,MAAKA,EAAE,YAAY,CACb2D,EAAatwB,KAEN2wB,EAAQ3wB,IACjBwY,AA9YK,IAAI,CA8YF,CAAC,CAAGxY,EACXwY,AA/YK,IAAI,CA+YF,KAAK,CAAGmU,EAAE,mBAAmB,GAEpC4D,EAjZK,IAAI,CAiZU,4BACnB/X,AAlZK,IAAI,CAkZF,KAAK,CAAGmU,EAAE,qBAAqB,CACtCnU,AAnZK,IAAI,CAmZF,WAAW,CAAGxY,IAEvB,QAEF,MAAK2sB,EAAE,mBAAmB,CACxB,GAAI3sB,IAAMwY,AAxZH,IAAI,CAwZM,CAAC,CAAE,CACdxY,AAAM,MAANA,EACFwY,AA1ZG,IAAI,CA0ZA,KAAK,CAAGmU,EAAE,qBAAqB,CAEtCnU,AA5ZG,IAAI,CA4ZA,WAAW,EAAIxY,EAExB,QACF,CACAmxB,EAhaO,IAAI,EAiaX3Y,AAjaO,IAAI,CAiaJ,CAAC,CAAG,GACXA,AAlaO,IAAI,CAkaJ,KAAK,CAAGmU,EAAE,mBAAmB,CACpC,QAEF,MAAKA,EAAE,mBAAmB,CACpB2D,EAAatwB,GACfwY,AAvaK,IAAI,CAuaF,KAAK,CAAGmU,EAAE,MAAM,CACd3sB,AAAM,MAANA,EACTixB,EAzaK,IAAI,EA0aAjxB,AAAM,MAANA,EACTwY,AA3aK,IAAI,CA2aF,KAAK,CAAGmU,EAAE,cAAc,CACtB6D,EAAQC,EAAWzwB,IAC5BuwB,EA7aK,IAAI,CA6aU,oCACnB/X,AA9aK,IAAI,CA8aF,UAAU,CAAGxY,EACpBwY,AA/aK,IAAI,CA+aF,WAAW,CAAG,GACrBA,AAhbK,IAAI,CAgbF,KAAK,CAAGmU,EAAE,WAAW,EAE5B4D,EAlbK,IAAI,CAkbU,0BAErB,QAEF,MAAK5D,EAAE,qBAAqB,EAC1B,GAAI,CAtlCH3sB,CAAAA,AAAM,OADOA,EAulCGA,IAtlCHswB,EAAatwB,EAAC,EAslCP,CACfA,AAAM,MAANA,EACFwY,AAzbG,IAAI,CAybA,KAAK,CAAGmU,EAAE,qBAAqB,CAEtCnU,AA3bG,IAAI,CA2bA,WAAW,EAAIxY,EAExB,QACF,CACAmxB,EA/bO,IAAI,EAgcPnxB,AAAM,MAANA,EACFixB,EAjcK,IAAI,EAmcTzY,AAncK,IAAI,CAmcF,KAAK,CAAGmU,EAAE,MAAM,CAEzB,QAEF,MAAKA,EAAE,SAAS,CACd,GAAKnU,AAxcE,IAAI,CAwcC,OAAO,CAaRxY,AAAM,MAANA,EACTkxB,EAtdK,IAAI,EAudAV,EAAQK,EAAU7wB,GAC3BwY,AAxdK,IAAI,CAwdF,OAAO,EAAIxY,EACTwY,AAzdJ,IAAI,CAydO,MAAM,EACtBA,AA1dK,IAAI,CA0dF,MAAM,EAAI,KAAOA,AA1dnB,IAAI,CA0dsB,OAAO,CACtCA,AA3dK,IAAI,CA2dF,OAAO,CAAG,GACjBA,AA5dK,IAAI,CA4dF,KAAK,CAAGmU,EAAE,MAAM,GAEnB,CAAC2D,EAAatwB,IAChBuwB,EA/dG,IAAI,CA+dY,kCAErB/X,AAjeK,IAAI,CAieF,KAAK,CAAGmU,EAAE,mBAAmB,OAxBpC,GAAI2D,EAAatwB,SAEV,GAlmCPwwB,EAkmCoBC,EAAWzwB,GAQ7BwY,AAndG,IAAI,CAmdA,OAAO,CAAGxY,OAPbwY,AA5cD,IAAI,CA4cI,MAAM,EACfA,AA7cC,IAAI,CA6cE,MAAM,EAAI,KAAOxY,EACxBwY,AA9cC,IAAI,CA8cE,KAAK,CAAGmU,EAAE,MAAM,EAEvB4D,EAhdC,IAAI,CAgdc,mCAmBzB,QAEF,MAAK5D,EAAE,mBAAmB,CACxB,GAAI2D,EAAatwB,GACf,QAEEA,AAAM,OAANA,EACFkxB,EA1eK,IAAI,EA4eTX,EA5eK,IAAI,CA4eU,qCAErB,QAEF,MAAK5D,EAAE,WAAW,CAClB,KAAKA,EAAE,qBAAqB,CAC5B,KAAKA,EAAE,qBAAqB,CAG1B,OAAQnU,AArfD,IAAI,CAqfI,KAAK,EAClB,KAAKmU,EAAE,WAAW,CAChByD,EAAczD,EAAE,IAAI,CACpBjvB,EAAS,WACT,KAEF,MAAKivB,EAAE,qBAAqB,CAC1ByD,EAAczD,EAAE,mBAAmB,CACnCjvB,EAAS,cACT,KAEF,MAAKivB,EAAE,qBAAqB,CAC1ByD,EAAczD,EAAE,qBAAqB,CACrCjvB,EAAS,aAEb,CAEIsC,AAAM,MAANA,GACFwY,AAvgBK,IAAI,AAugBH,CAAC9a,EAAO,EAAI0zB,AA9jB5B,SAAsB5Y,CAAM,EAC1B,IAEI2S,EAFAkG,EAAS7Y,EAAO,MAAM,CACtB8Y,EAAWD,EAAO,WAAW,GAE7BE,EAAS,UAEb,AAAI/Y,EAAO,QAAQ,CAAC6Y,EAAO,CAClB7Y,EAAO,QAAQ,CAAC6Y,EAAO,CAE5B7Y,EAAO,QAAQ,CAAC8Y,EAAS,CACpB9Y,EAAO,QAAQ,CAAC8Y,EAAS,EAGT,MAArBD,AADJA,CAAAA,EAASC,CAAO,EACL,MAAM,CAAC,KAIdC,EAHEF,AAAqB,MAArBA,EAAO,MAAM,CAAC,GAGPlG,AADTA,CAAAA,EAAMvrB,SADNyxB,EAASA,EAAO,KAAK,CAAC,GACC,GAAE,EACZ,QAAQ,CAAC,IAIblG,AADTA,CAAAA,EAAMvrB,SADNyxB,EAASA,EAAO,KAAK,CAAC,GACC,GAAE,EACZ,QAAQ,CAAC,KAG1BA,EAASA,EAAO,OAAO,CAAC,MAAO,IAC3BzzB,MAAMutB,IAAQoG,EAAO,WAAW,KAAOF,IACzCd,EAAW/X,EAAQ,4BACZ,IAAMA,EAAO,MAAM,CAAG,KAGxBvb,OAAO,aAAa,CAACkuB,EAC9B,EAwBe,IAAI,EAwgBT3S,AAxgBK,IAAI,CAwgBF,MAAM,CAAG,GAChBA,AAzgBK,IAAI,CAygBF,KAAK,CAAG4X,GACNI,EAAQhY,AA1gBZ,IAAI,CA0gBe,MAAM,CAAC,MAAM,CAAGgZ,EAAaC,EAAazxB,GAClEwY,AA3gBK,IAAI,CA2gBF,MAAM,EAAIxY,GAEjBuwB,EA7gBK,IAAI,CA6gBU,oCACnB/X,AA9gBK,IAAI,AA8gBH,CAAC9a,EAAO,EAAI,IAAM8a,AA9gBnB,IAAI,CA8gBsB,MAAM,CAAGxY,EACxCwY,AA/gBK,IAAI,CA+gBF,MAAM,CAAG,GAChBA,AAhhBK,IAAI,CAghBF,KAAK,CAAG4X,GAGjB,QAEF,SACE,MAAM,AAAI11B,MAthBH,IAAI,CAshBa,kBAAoB8d,AAthBrC,IAAI,CAshBwC,KAAK,CAC5D,CACF,CAKA,OAHIA,AA1hBS,IAAI,CA0hBN,QAAQ,EAAIA,AA1hBV,IAAI,CA0hBa,mBAAmB,GAC/CkZ,AA93CJ,SAA4BlZ,CAAM,EAGhC,IAAK,IAFDmZ,EAAa30B,KAAK,GAAG,CAAC4Z,EAAI,iBAAiB,CAAE,IAC7Cgb,EAAY,EACP51B,EAAI,EAAGugB,EAAIuT,EAAQ,MAAM,CAAE9zB,EAAIugB,EAAGvgB,IAAK,CAC9C,IAAIP,EAAM+c,CAAM,CAACsX,CAAO,CAAC9zB,EAAE,CAAC,CAAC,MAAM,CACnC,GAAIP,EAAMk2B,EAKR,OAAQ7B,CAAO,CAAC9zB,EAAE,EAChB,IAAK,WACH61B,EAAUrZ,GACV,KAEF,KAAK,QACHkY,EAASlY,EAAQ,UAAWA,EAAO,KAAK,EACxCA,EAAO,KAAK,CAAG,GACf,KAEF,KAAK,SACHkY,EAASlY,EAAQ,WAAYA,EAAO,MAAM,EAC1CA,EAAO,MAAM,CAAG,GAChB,KAEF,SACEH,EAAMG,EAAQ,+BAAiCsX,CAAO,CAAC9zB,EAAE,CAC7D,CAEF41B,EAAY50B,KAAK,GAAG,CAAC40B,EAAWn2B,EAClC,CA7BA,IA+BIvD,EAAI0e,EAAI,iBAAiB,CAAGgb,CAChCpZ,CAAAA,EAAO,mBAAmB,CAAGtgB,EAAIsgB,EAAO,QAAQ,AAClD,EAi0Be,IAAI,EAAJ,IAAI,AA8hBnB,EAx0CE,OAAQ,WAAiC,OAAnB,IAAI,CAAC,KAAK,CAAG,KAAa,IAAI,AAAC,EACrD,MAAO,WAAc,OAAO,IAAI,CAAC,KAAK,CAAC,KAAM,EAC7C,MAAO,eAjBcA,EAAAA,EAiBa,IAAI,CAhBtCqZ,EAAUrZ,GACW,KAAjBA,EAAO,KAAK,GACdkY,EAASlY,EAAQ,UAAWA,EAAO,KAAK,EACxCA,EAAO,KAAK,CAAG,IAEK,KAAlBA,EAAO,MAAM,GACfkY,EAASlY,EAAQ,WAAYA,EAAO,MAAM,EAC1CA,EAAO,MAAM,CAAG,GASsB,CAC1C,EAGA,GAAI,CACFlK,EAAS,EAAoB,IAAI,MAAM,AACzC,CAAE,MAAOwjB,EAAI,CACXxjB,EAAS,WAAa,CACxB,CAEA,IAAIyjB,EAAcnb,EAAI,MAAM,CAAC,MAAM,CAAC,SAAUiF,CAAE,EAC9C,MAAOA,AAAO,UAAPA,GAAkBA,AAAO,QAAPA,CAC3B,GAMA,SAAS6T,EAAWH,CAAM,CAAEC,CAAG,EAC7B,GAAI,CAAE,KAAI,YAAYE,CAAQ,EAC5B,OAAO,IAAIA,EAAUH,EAAQC,GAG/BlhB,EAAO,KAAK,CAAC,IAAI,EAEjB,IAAI,CAAC,OAAO,CAAG,IAAImhB,EAAUF,EAAQC,GACrC,IAAI,CAAC,QAAQ,CAAG,GAChB,IAAI,CAAC,QAAQ,CAAG,GAEhB,IAAIwC,EAAK,IAAI,AAEb,KAAI,CAAC,OAAO,CAAC,KAAK,CAAG,WACnBA,EAAG,IAAI,CAAC,MACV,EAEA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAG,SAAU3kB,CAAE,EACjC2kB,EAAG,IAAI,CAAC,QAAS3kB,GAIjB2kB,EAAG,OAAO,CAAC,KAAK,CAAG,IACrB,EAEA,IAAI,CAAC,QAAQ,CAAG,KAEhBD,EAAY,OAAO,CAAC,SAAUlW,CAAE,EAC9B/jB,OAAO,cAAc,CAACk6B,EAAI,KAAOnW,EAAI,CACnC,IAAK,WACH,OAAOmW,EAAG,OAAO,CAAC,KAAOnW,EAAG,AAC9B,EACA,IAAK,SAAUoQ,CAAC,EACd,GAAI,CAACA,EAGH,OAFA+F,EAAG,kBAAkB,CAACnW,GACtBmW,EAAG,OAAO,CAAC,KAAOnW,EAAG,CAAGoQ,EACjBA,EAET+F,EAAG,EAAE,CAACnW,EAAIoQ,EACZ,EACA,WAAY,GACZ,aAAc,EAChB,EACF,EACF,CAEAyD,EAAU,SAAS,CAAG53B,OAAO,MAAM,CAACwW,EAAO,SAAS,CAAE,CACpD,YAAa,CACX,MAAOohB,CACT,CACF,GAEAA,EAAU,SAAS,CAAC,KAAK,CAAG,SAAUtS,CAAI,EACxC,GAAI,AAAkB,YAAlB,OAAOrjB,GACT,AAA2B,YAA3B,OAAOA,EAAO,QAAQ,EACtBA,EAAO,QAAQ,CAACqjB,GAAO,CACvB,GAAI,CAAC,IAAI,CAAC,QAAQ,CAAE,CAClB,IAAI6U,EAAK,EAAoB,IAAI,aAAa,AAC9C,KAAI,CAAC,QAAQ,CAAG,IAAIA,EAAG,OACzB,CACA7U,EAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAACA,EAC7B,CAIA,OAFA,IAAI,CAAC,OAAO,CAAC,KAAK,CAACA,EAAK,QAAQ,IAChC,IAAI,CAAC,IAAI,CAAC,OAAQA,GACX,EACT,EAEAsS,EAAU,SAAS,CAAC,GAAG,CAAG,SAAUhgB,CAAK,EAKvC,OAJIA,GAASA,EAAM,MAAM,EACvB,IAAI,CAAC,KAAK,CAACA,GAEb,IAAI,CAAC,OAAO,CAAC,GAAG,GACT,EACT,EAEAggB,EAAU,SAAS,CAAC,EAAE,CAAG,SAAU7T,CAAE,CAAEvO,CAAO,EAC5C,IAAI0kB,EAAK,IAAI,CASb,MARI,CAACA,EAAG,OAAO,CAAC,KAAOnW,EAAG,EAAIkW,AAA4B,KAA5BA,EAAY,OAAO,CAAClW,IAChDmW,CAAAA,EAAG,OAAO,CAAC,KAAOnW,EAAG,CAAG,WACtB,IAAI9W,EAAOrG,AAAqB,GAArBA,UAAU,MAAM,CAAS,CAACA,SAAS,CAAC,EAAE,CAAC,CAAG0B,MAAM,KAAK,CAAC,KAAM1B,WACvEqG,EAAK,MAAM,CAAC,EAAG,EAAG8W,GAClBmW,EAAG,IAAI,CAAC,KAAK,CAACA,EAAIjtB,EACpB,GAGKuJ,EAAO,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC0jB,EAAInW,EAAIvO,EAC1C,EAMA,IAAI4kB,EAAgB,uCAChBC,EAAkB,gCAClBnC,EAAS,CAAE,IAAKkC,EAAe,MAAOC,CAAgB,EAQtD1B,EAAY,4JAEZI,EAAW,gMAEXY,EAAc,6JACdD,EAAa,iMAEjB,SAASlB,EAActwB,CAAC,EACtB,MAAOA,AAAM,MAANA,GAAaA,AAAM,OAANA,GAAcA,AAAM,OAANA,GAAcA,AAAM,MAANA,CAClD,CAEA,SAAS2wB,EAAS3wB,CAAC,EACjB,MAAOA,AAAM,MAANA,GAAaA,AAAM,MAANA,CACtB,CAMA,SAASwwB,EAAS4B,CAAK,CAAEpyB,CAAC,EACxB,OAAOoyB,EAAM,IAAI,CAACpyB,EACpB,CAMA,IAAI2sB,EAAI,EAsTR,IAAK,IAAIX,KArTTpV,EAAI,KAAK,CAAG,CACV,MAAO+V,IACP,iBAAkBA,IAClB,KAAMA,IACN,YAAaA,IACb,UAAWA,IACX,UAAWA,IACX,iBAAkBA,IAClB,QAASA,IACT,eAAgBA,IAChB,YAAaA,IACb,mBAAoBA,IACpB,iBAAkBA,IAClB,QAASA,IACT,eAAgBA,IAChB,cAAeA,IACf,MAAOA,IACP,aAAcA,IACd,eAAgBA,IAChB,UAAWA,IACX,eAAgBA,IAChB,iBAAkBA,IAClB,SAAUA,IACV,eAAgBA,IAChB,OAAQA,IACR,YAAaA,IACb,sBAAuBA,IACvB,aAAcA,IACd,oBAAqBA,IACrB,oBAAqBA,IACrB,sBAAuBA,IACvB,sBAAuBA,IACvB,sBAAuBA,IACvB,UAAWA,IACX,oBAAqBA,IACrB,OAAQA,IACR,cAAeA,GACjB,EAEA/V,EAAI,YAAY,CAAG,CACjB,IAAO,IACP,GAAM,IACN,GAAM,IACN,KAAQ,IACR,KAAQ,GACV,EAEAA,EAAI,QAAQ,CAAG,CACb,IAAO,IACP,GAAM,IACN,GAAM,IACN,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,OAAU,IACV,MAAS,IACT,OAAU,IACV,MAAS,IACT,OAAU,IACV,KAAQ,IACR,OAAU,IACV,IAAO,IACP,OAAU,IACV,MAAS,IACT,OAAU,IACV,KAAQ,IACR,OAAU,IACV,MAAS,IACT,OAAU,IACV,KAAQ,IACR,OAAU,IACV,OAAU,IACV,MAAS,IACT,OAAU,IACV,OAAU,IACV,OAAU,IACV,KAAQ,IACR,MAAS,IACT,OAAU,IACV,MAAS,IACT,OAAU,IACV,KAAQ,IACR,OAAU,IACV,OAAU,IACV,MAAS,IACT,MAAS,IACT,OAAU,IACV,MAAS,IACT,OAAU,IACV,KAAQ,IACR,OAAU,IACV,OAAU,IACV,MAAS,IACT,OAAU,IACV,IAAO,IACP,KAAQ,IACR,OAAU,IACV,MAAS,IACT,OAAU,IACV,KAAQ,IACR,OAAU,IACV,OAAU,IACV,MAAS,IACT,OAAU,IACV,OAAU,IACV,OAAU,IACV,KAAQ,IACR,MAAS,IACT,MAAS,IACT,OAAU,IACV,MAAS,IACT,OAAU,IACV,KAAQ,IACR,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,IAAO,IACP,KAAQ,IACR,MAAS,IACT,KAAQ,IACR,MAAS,IACT,OAAU,IACV,IAAO,IACP,OAAU,IACV,KAAQ,IACR,IAAO,IACP,KAAQ,IACR,MAAS,IACT,IAAO,IACP,IAAO,IACP,KAAQ,IACR,IAAO,IACP,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,MAAS,IACT,KAAQ,IACR,OAAU,IACV,MAAS,IACT,KAAQ,IACR,MAAS,IACT,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,MAAS,IACT,OAAU,IACV,MAAS,IACT,MAAS,IACT,OAAU,IACV,OAAU,IACV,KAAQ,IACR,KAAQ,IACR,KAAQ,IACR,MAAS,IACT,MAAS,IACT,KAAQ,IACR,MAAS,IACT,MAAS,IACT,QAAW,IACX,KAAQ,IACR,IAAO,IACP,MAAS,IACT,KAAQ,IACR,MAAS,IACT,OAAU,IACV,GAAM,IACN,GAAM,IACN,GAAM,IACN,QAAW,IACX,GAAM,IACN,IAAO,IACP,MAAS,IACT,IAAO,IACP,QAAW,IACX,IAAO,IACP,IAAO,IACP,IAAO,IACP,MAAS,IACT,MAAS,IACT,KAAQ,IACR,MAAS,IACT,MAAS,IACT,QAAW,IACX,KAAQ,IACR,IAAO,IACP,MAAS,IACT,KAAQ,IACR,MAAS,IACT,OAAU,IACV,GAAM,IACN,GAAM,IACN,GAAM,IACN,QAAW,IACX,GAAM,IACN,IAAO,IACP,OAAU,IACV,MAAS,IACT,IAAO,IACP,QAAW,IACX,IAAO,IACP,IAAO,IACP,IAAO,IACP,MAAS,IACT,SAAY,IACZ,MAAS,IACT,IAAO,IACP,KAAQ,KACR,KAAQ,KACR,OAAU,KACV,KAAQ,KACR,IAAO,KACP,IAAO,KACP,IAAO,KACP,MAAS,KACT,MAAS,KACT,MAAS,KACT,MAAS,KACT,MAAS,KACT,MAAS,KACT,MAAS,KACT,MAAS,KACT,OAAU,KACV,OAAU,KACV,KAAQ,KACR,OAAU,KACV,OAAU,KACV,MAAS,KACT,MAAS,KACT,OAAU,KACV,OAAU,KACV,MAAS,KACT,MAAS,KACT,KAAQ,KACR,MAAS,KACT,OAAU,KACV,KAAQ,KACR,MAAS,KACT,QAAW,KACX,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,MAAS,KACT,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,OAAU,KACV,KAAQ,KACR,MAAS,KACT,MAAS,KACT,MAAS,KACT,KAAQ,KACR,MAAS,KACT,GAAM,KACN,KAAQ,KACR,IAAO,KACP,MAAS,KACT,OAAU,KACV,MAAS,KACT,KAAQ,KACR,MAAS,KACT,IAAO,KACP,IAAO,KACP,GAAM,KACN,IAAO,KACP,IAAO,KACP,IAAO,KACP,OAAU,KACV,IAAO,KACP,KAAQ,KACR,MAAS,KACT,GAAM,KACN,MAAS,KACT,GAAM,KACN,GAAM,KACN,IAAO,KACP,IAAO,KACP,KAAQ,KACR,KAAQ,KACR,KAAQ,KACR,MAAS,KACT,OAAU,KACV,KAAQ,KACR,KAAQ,KACR,MAAS,KACT,MAAS,KACT,OAAU,KACV,OAAU,KACV,KAAQ,KACR,KAAQ,KACR,IAAO,KACP,OAAU,KACV,MAAS,KACT,OAAU,KACV,MAAS,IACX,EAEA9e,OAAO,IAAI,CAAC8e,EAAI,QAAQ,EAAE,OAAO,CAAC,SAAU/d,CAAG,EAC7C,IAAIN,EAAIqe,EAAI,QAAQ,CAAC/d,EAAI,CACrBmzB,EAAI,AAAa,UAAb,OAAOzzB,EAAiB0E,OAAO,YAAY,CAAC1E,GAAKA,CACzDqe,CAAAA,EAAI,QAAQ,CAAC/d,EAAI,CAAGmzB,CACtB,GAEcpV,EAAI,KAAK,CACrBA,EAAI,KAAK,CAACA,EAAI,KAAK,CAACoV,EAAE,CAAC,CAAGA,EAM5B,SAASiE,EAAMzX,CAAM,CAAEkD,CAAK,CAAE0B,CAAI,EAChC5E,CAAM,CAACkD,EAAM,EAAIlD,CAAM,CAACkD,EAAM,CAAC0B,EACjC,CAEA,SAASsT,EAAUlY,CAAM,CAAE6Z,CAAQ,CAAEjV,CAAI,EACnC5E,EAAO,QAAQ,EAAEqZ,EAAUrZ,GAC/ByX,EAAKzX,EAAQ6Z,EAAUjV,EACzB,CAEA,SAASyU,EAAWrZ,CAAM,EACxBA,EAAO,QAAQ,CAAGoY,EAASpY,EAAO,GAAG,CAAEA,EAAO,QAAQ,EAClDA,EAAO,QAAQ,EAAEyX,EAAKzX,EAAQ,SAAUA,EAAO,QAAQ,EAC3DA,EAAO,QAAQ,CAAG,EACpB,CAEA,SAASoY,EAAUpB,CAAG,CAAE7kB,CAAI,EAG1B,OAFI6kB,EAAI,IAAI,EAAE7kB,CAAAA,EAAOA,EAAK,IAAI,EAAC,EAC3B6kB,EAAI,SAAS,EAAE7kB,CAAAA,EAAOA,EAAK,OAAO,CAAC,OAAQ,IAAG,EAC3CA,CACT,CAEA,SAAS0N,EAAOG,CAAM,CAAEnL,CAAE,EAUxB,OATAwkB,EAAUrZ,GACNA,EAAO,aAAa,EACtBnL,CAAAA,GAAM,WAAamL,EAAO,IAAI,CAC5B,aAAeA,EAAO,MAAM,CAC5B,WAAaA,EAAO,CAAC,AAAD,EAExBnL,EAAK,AAAI3S,MAAM2S,GACfmL,EAAO,KAAK,CAAGnL,EACf4iB,EAAKzX,EAAQ,UAAWnL,GACjBmL,CACT,CAEA,SAASjc,EAAKic,CAAM,EAYlB,OAXIA,EAAO,OAAO,EAAI,CAACA,EAAO,UAAU,EAAE+X,EAAW/X,EAAQ,qBACxDA,EAAO,KAAK,GAAKmU,EAAE,KAAK,EAC1BnU,EAAO,KAAK,GAAKmU,EAAE,gBAAgB,EACnCnU,EAAO,KAAK,GAAKmU,EAAE,IAAI,EACxBtU,EAAMG,EAAQ,kBAEhBqZ,EAAUrZ,GACVA,EAAO,CAAC,CAAG,GACXA,EAAO,MAAM,CAAG,GAChByX,EAAKzX,EAAQ,SACbiX,EAAU,IAAI,CAACjX,EAAQA,EAAO,MAAM,CAAEA,EAAO,GAAG,EACzCA,CACT,CAEA,SAAS+X,EAAY/X,CAAM,CAAE8Z,CAAO,EAClC,GAAI,AAAkB,UAAlB,OAAO9Z,GAAuB,CAAEA,CAAAA,aAAkBiX,CAAQ,EAC5D,MAAM,AAAI/0B,MAAM,yBAEd8d,CAAAA,EAAO,MAAM,EACfH,EAAMG,EAAQ8Z,EAElB,CA1DA3F,EAAI/V,EAAI,KAAK,CAyEb,SAAS2b,EAAO36B,CAAI,CAAE46B,CAAS,EAE7B,IAAIC,EAAWz2B,AAAI,EADXpE,EAAK,OAAO,CAAC,KACE,CAAE,GAAIA,EAAM,CAAGA,EAAK,KAAK,CAAC,KAC7C86B,EAASD,CAAQ,CAAC,EAAE,CACpBE,EAAQF,CAAQ,CAAC,EAAE,CAQvB,OALID,GAAa56B,AAAS,UAATA,IACf86B,EAAS,QACTC,EAAQ,IAGH,CAAE,OAAQD,EAAQ,MAAOC,CAAM,CACxC,CAEA,SAASxB,EAAQ3Y,CAAM,EAKrB,GAJI,CAACA,EAAO,MAAM,EAChBA,CAAAA,EAAO,UAAU,CAAGA,EAAO,UAAU,CAACA,EAAO,SAAS,CAAC,EAAC,EAGtDA,AAAiD,KAAjDA,EAAO,UAAU,CAAC,OAAO,CAACA,EAAO,UAAU,GAC7CA,EAAO,GAAG,CAAC,UAAU,CAAC,cAAc,CAACA,EAAO,UAAU,EAAG,CACzDA,EAAO,UAAU,CAAGA,EAAO,WAAW,CAAG,GACzC,MACF,CAEA,GAAIA,EAAO,GAAG,CAAC,KAAK,CAAE,CACpB,IAAIoa,EAAKL,EAAM/Z,EAAO,UAAU,CAAE,IAC9Bka,EAASE,EAAG,MAAM,CAClBD,EAAQC,EAAG,KAAK,CAEpB,GAAIF,AAAW,UAAXA,GAEF,GAAIC,AAAU,QAAVA,GAAmBna,EAAO,WAAW,GAAK0Z,EAC5C3B,EAAW/X,EACT,gCAAkC0Z,EAAlC,aACa1Z,EAAO,WAAW,OAC5B,GAAIma,AAAU,UAAVA,GAAqBna,EAAO,WAAW,GAAK2Z,EACrD5B,EAAW/X,EACT,kCAAoC2Z,EAApC,aACa3Z,EAAO,WAAW,MAC5B,CACL,IAAIwY,EAAMxY,EAAO,GAAG,CAChBuY,EAASvY,EAAO,IAAI,CAACA,EAAO,IAAI,CAAC,MAAM,CAAG,EAAE,EAAIA,CAChDwY,CAAAA,EAAI,EAAE,GAAKD,EAAO,EAAE,EACtBC,CAAAA,EAAI,EAAE,CAAGl5B,OAAO,MAAM,CAACi5B,EAAO,EAAE,GAElCC,EAAI,EAAE,CAAC2B,EAAM,CAAGna,EAAO,WAAW,AACpC,EAMFA,EAAO,UAAU,CAAC,IAAI,CAAC,CAACA,EAAO,UAAU,CAAEA,EAAO,WAAW,CAAC,CAChE,MAEEA,EAAO,GAAG,CAAC,UAAU,CAACA,EAAO,UAAU,CAAC,CAAGA,EAAO,WAAW,CAC7DkY,EAASlY,EAAQ,cAAe,CAC9B,KAAMA,EAAO,UAAU,CACvB,MAAOA,EAAO,WAAW,AAC3B,EAGFA,CAAAA,EAAO,UAAU,CAAGA,EAAO,WAAW,CAAG,EAC3C,CAEA,SAASyY,EAASzY,CAAM,CAAEqa,CAAW,EACnC,GAAIra,EAAO,GAAG,CAAC,KAAK,CAAE,CAEpB,IAAIwY,EAAMxY,EAAO,GAAG,CAGhBoa,EAAKL,EAAM/Z,EAAO,OAAO,CAC7BwY,CAAAA,EAAI,MAAM,CAAG4B,EAAG,MAAM,CACtB5B,EAAI,KAAK,CAAG4B,EAAG,KAAK,CACpB5B,EAAI,GAAG,CAAGA,EAAI,EAAE,CAAC4B,EAAG,MAAM,CAAC,EAAI,GAE3B5B,EAAI,MAAM,EAAI,CAACA,EAAI,GAAG,GACxBT,EAAW/X,EAAQ,6BACjBsa,KAAK,SAAS,CAACta,EAAO,OAAO,GAC/BwY,EAAI,GAAG,CAAG4B,EAAG,MAAM,EAGrB,IAAI7B,EAASvY,EAAO,IAAI,CAACA,EAAO,IAAI,CAAC,MAAM,CAAG,EAAE,EAAIA,CAChDwY,CAAAA,EAAI,EAAE,EAAID,EAAO,EAAE,GAAKC,EAAI,EAAE,EAChCl5B,OAAO,IAAI,CAACk5B,EAAI,EAAE,EAAE,OAAO,CAAC,SAAU74B,CAAC,EACrCu4B,EAASlY,EAAQ,kBAAmB,CAClC,OAAQrgB,EACR,IAAK64B,EAAI,EAAE,CAAC74B,EAAE,AAChB,EACF,GAMF,IAAK,IAAI6D,EAAI,EAAGugB,EAAI/D,EAAO,UAAU,CAAC,MAAM,CAAExc,EAAIugB,EAAGvgB,IAAK,CACxD,IAAI+2B,EAAKva,EAAO,UAAU,CAACxc,EAAE,CACzBpE,EAAOm7B,CAAE,CAAC,EAAE,CACZv5B,EAAQu5B,CAAE,CAAC,EAAE,CACbN,EAAWF,EAAM36B,EAAM,IACvB86B,EAASD,EAAS,MAAM,CACxBE,EAAQF,EAAS,KAAK,CACtBO,EAAMN,AAAW,KAAXA,EAAgB,GAAM1B,EAAI,EAAE,CAAC0B,EAAO,EAAI,GAC9Cr0B,EAAI,CACN,KAAMzG,EACN,MAAO4B,EACP,OAAQk5B,EACR,MAAOC,EACP,IAAKK,CACP,EAIIN,GAAUA,AAAW,UAAXA,GAAsB,CAACM,IACnCzC,EAAW/X,EAAQ,6BACjBsa,KAAK,SAAS,CAACJ,IACjBr0B,EAAE,GAAG,CAAGq0B,GAEVla,EAAO,GAAG,CAAC,UAAU,CAAC5gB,EAAK,CAAGyG,EAC9BqyB,EAASlY,EAAQ,cAAena,EAClC,CACAma,EAAO,UAAU,CAAC,MAAM,CAAG,CAC7B,CAEAA,EAAO,GAAG,CAAC,aAAa,CAAG,CAAC,CAACqa,EAG7Bra,EAAO,OAAO,CAAG,GACjBA,EAAO,IAAI,CAAC,IAAI,CAACA,EAAO,GAAG,EAC3BkY,EAASlY,EAAQ,YAAaA,EAAO,GAAG,EACpC,CAACqa,IAEC,AAACra,EAAO,QAAQ,EAAIA,AAAiC,WAAjCA,EAAO,OAAO,CAAC,WAAW,GAGhDA,EAAO,KAAK,CAAGmU,EAAE,IAAI,CAFrBnU,EAAO,KAAK,CAAGmU,EAAE,MAAM,CAIzBnU,EAAO,GAAG,CAAG,KACbA,EAAO,OAAO,CAAG,IAEnBA,EAAO,UAAU,CAAGA,EAAO,WAAW,CAAG,GACzCA,EAAO,UAAU,CAAC,MAAM,CAAG,CAC7B,CAEA,SAAS0Y,EAAU1Y,CAAM,EACvB,GAAI,CAACA,EAAO,OAAO,CAAE,CACnB+X,EAAW/X,EAAQ,0BACnBA,EAAO,QAAQ,EAAI,MACnBA,EAAO,KAAK,CAAGmU,EAAE,IAAI,CACrB,MACF,CAEA,GAAInU,EAAO,MAAM,CAAE,CACjB,GAAIA,AAAmB,WAAnBA,EAAO,OAAO,CAAe,CAC/BA,EAAO,MAAM,EAAI,KAAOA,EAAO,OAAO,CAAG,IACzCA,EAAO,OAAO,CAAG,GACjBA,EAAO,KAAK,CAAGmU,EAAE,MAAM,CACvB,MACF,CACA+D,EAASlY,EAAQ,WAAYA,EAAO,MAAM,EAC1CA,EAAO,MAAM,CAAG,EAClB,CAIA,IAAIuT,EAAIvT,EAAO,IAAI,CAAC,MAAM,CACtBya,EAAUza,EAAO,OAAO,AACxB,EAACA,EAAO,MAAM,EAChBya,CAAAA,EAAUA,CAAO,CAACza,EAAO,SAAS,CAAC,EAAC,EAGtC,IADA,IAAI0a,EAAUD,EACPlH,KAEL,GAAIoH,AADQ3a,EAAO,IAAI,CAACuT,EAAE,CAChB,IAAI,GAAKmH,EAEjB3C,EAAW/X,EAAQ,6BAEnB,MAKJ,GAAIuT,EAAI,EAAG,CACTwE,EAAW/X,EAAQ,0BAA4BA,EAAO,OAAO,EAC7DA,EAAO,QAAQ,EAAI,KAAOA,EAAO,OAAO,CAAG,IAC3CA,EAAO,KAAK,CAAGmU,EAAE,IAAI,CACrB,MACF,CACAnU,EAAO,OAAO,CAAGya,EAEjB,IADA,IAAIjH,EAAIxT,EAAO,IAAI,CAAC,MAAM,CACnBwT,KAAMD,GAAG,CACd,IAAIiF,EAAMxY,EAAO,GAAG,CAAGA,EAAO,IAAI,CAAC,GAAG,EACtCA,CAAAA,EAAO,OAAO,CAAGA,EAAO,GAAG,CAAC,IAAI,CAChCkY,EAASlY,EAAQ,aAAcA,EAAO,OAAO,EAE7C,IAAIla,EAAI,CAAC,EACT,IAAK,IAAItC,KAAKg1B,EAAI,EAAE,CAClB1yB,CAAC,CAACtC,EAAE,CAAGg1B,EAAI,EAAE,CAACh1B,EAAE,CAGlB,IAAI+0B,EAASvY,EAAO,IAAI,CAACA,EAAO,IAAI,CAAC,MAAM,CAAG,EAAE,EAAIA,CAChDA,CAAAA,EAAO,GAAG,CAAC,KAAK,EAAIwY,EAAI,EAAE,GAAKD,EAAO,EAAE,EAE1Cj5B,OAAO,IAAI,CAACk5B,EAAI,EAAE,EAAE,OAAO,CAAC,SAAU74B,CAAC,EACrC,IAAIyE,EAAIo0B,EAAI,EAAE,CAAC74B,EAAE,CACjBu4B,EAASlY,EAAQ,mBAAoB,CAAE,OAAQrgB,EAAG,IAAKyE,CAAE,EAC3D,EAEJ,CACU,IAANmvB,GAASvT,CAAAA,EAAO,UAAU,CAAG,EAAG,EACpCA,EAAO,OAAO,CAAGA,EAAO,WAAW,CAAGA,EAAO,UAAU,CAAG,GAC1DA,EAAO,UAAU,CAAC,MAAM,CAAG,EAC3BA,EAAO,KAAK,CAAGmU,EAAE,IAAI,AACvB,CAmCA,SAASwD,EAAiB3X,CAAM,CAAExY,CAAC,EAC7BA,AAAM,MAANA,GACFwY,EAAO,KAAK,CAAGmU,EAAE,SAAS,CAC1BnU,EAAO,gBAAgB,CAAGA,EAAO,QAAQ,EAChC,CAAC8X,EAAatwB,KAGvBuwB,EAAW/X,EAAQ,oCACnBA,EAAO,QAAQ,CAAGxY,EAClBwY,EAAO,KAAK,CAAGmU,EAAE,IAAI,CAEzB,CAEA,SAASuD,EAAQxgB,CAAK,CAAE1T,CAAC,EACvB,IAAIyc,EAAS,GAIb,OAHIzc,EAAI0T,EAAM,MAAM,EAClB+I,CAAAA,EAAS/I,EAAM,MAAM,CAAC1T,EAAC,EAElByc,CACT,CAqiBA,GAAI,CAACxb,OAAO,aAAa,CAAE,EAEnB0yB,EAAqB1yB,OAAO,YAAY,CACxC2yB,EAAQ5yB,KAAK,KAAK,CAClB6yB,EAAgB,WAElB,IACIuD,EACAC,EAFAC,EAAY,EAAE,CAGdxqB,EAAQ,GACR9O,EAAS0E,UAAU,MAAM,CAC7B,GAAI,CAAC1E,EACH,MAAO,GAGT,IADA,IAAIye,EAAS,GACN,EAAE3P,EAAQ9O,GAAQ,CACvB,IAAI0G,EAAYjB,OAAOf,SAAS,CAACoK,EAAM,EACvC,GACE,CAACxJ,SAASoB,IACVA,EAAY,GACZA,EAAY,SACZkvB,EAAMlvB,KAAeA,EAErB,MAAMnG,WAAW,uBAAyBmG,EAExCA,CAAAA,GAAa,MACf4yB,EAAU,IAAI,CAAC5yB,IAGfA,GAAa,MACb0yB,EAAgB,AAAC1yB,CAAAA,GAAa,EAAC,EAAK,MACpC2yB,EAAe,AAAC3yB,EAAY,KAAS,MACrC4yB,EAAU,IAAI,CAACF,EAAeC,IAE5BvqB,CAAAA,EAAQ,IAAM9O,GAAUs5B,EAAU,MAAM,CA7B/B,KA6ByC,IACpD7a,GAAUkX,EAAmB,KAAK,CAAC,KAAM2D,GACzCA,EAAU,MAAM,CAAG,EAEvB,CACA,OAAO7a,CACT,EAEI3gB,OAAO,cAAc,CACvBA,OAAO,cAAc,CAACmF,OAAQ,gBAAiB,CAC7C,MAAO4yB,EACP,aAAc,GACd,SAAU,EACZ,GAEA5yB,OAAO,aAAa,CAAG4yB,CAG7B,CACF,EAA4Bl4B,EAED,GAAE,IAAI,CAACA,EAAS,EAAoB,GAAG,MAAM,CAElE,EAEC,SAASD,CAAM,CAAEC,CAAO,CAAEgL,CAAmB,EAEpD,YAGAhL,CAAAA,EAAQ,UAAU,CAuClB,SAAqB47B,CAAG,EACtB,IAAIC,EAAOC,EAAQF,GACfG,EAAWF,CAAI,CAAC,EAAE,CAClBG,EAAkBH,CAAI,CAAC,EAAE,CAC7B,MAAO,AAAEE,CAAAA,EAAWC,CAAc,EAAK,EAAI,EAAKA,CAClD,EA3CAh8B,EAAQ,WAAW,CAiDnB,SAAsB47B,CAAG,EAEvB,IANoBA,EAAeI,EAK/BC,EACAJ,EAAOC,EAAQF,GACfG,EAAWF,CAAI,CAAC,EAAE,CAClBG,EAAkBH,CAAI,CAAC,EAAE,CAW7B,IAAK,IATDt5B,EAAM,IAAI25B,GAVMN,EAUUA,EATvB,AAAEG,CAAAA,AAS0BA,GAVAC,EAUUA,EATX,EAAK,EAAI,EAAKA,IAW5CG,EAAU,EAGVr4B,EAAMk4B,EAAkB,EACxBD,EAAW,EACXA,EAEK13B,EAAI,EAAGA,EAAIP,EAAKO,GAAK,EAC5B43B,EACE,AAACG,CAAS,CAACR,EAAI,UAAU,CAACv3B,GAAG,EAAI,GAChC+3B,CAAS,CAACR,EAAI,UAAU,CAACv3B,EAAI,GAAG,EAAI,GACpC+3B,CAAS,CAACR,EAAI,UAAU,CAACv3B,EAAI,GAAG,EAAI,EACrC+3B,CAAS,CAACR,EAAI,UAAU,CAACv3B,EAAI,GAAG,CAClC9B,CAAG,CAAC45B,IAAU,CAAG,AAACF,GAAO,GAAM,IAC/B15B,CAAG,CAAC45B,IAAU,CAAG,AAACF,GAAO,EAAK,IAC9B15B,CAAG,CAAC45B,IAAU,CAAGF,AAAM,IAANA,EAmBnB,OAhBwB,IAApBD,IACFC,EACE,AAACG,CAAS,CAACR,EAAI,UAAU,CAACv3B,GAAG,EAAI,EAChC+3B,CAAS,CAACR,EAAI,UAAU,CAACv3B,EAAI,GAAG,EAAI,EACvC9B,CAAG,CAAC45B,IAAU,CAAGF,AAAM,IAANA,GAGK,IAApBD,IACFC,EACE,AAACG,CAAS,CAACR,EAAI,UAAU,CAACv3B,GAAG,EAAI,GAChC+3B,CAAS,CAACR,EAAI,UAAU,CAACv3B,EAAI,GAAG,EAAI,EACpC+3B,CAAS,CAACR,EAAI,UAAU,CAACv3B,EAAI,GAAG,EAAI,EACvC9B,CAAG,CAAC45B,IAAU,CAAG,AAACF,GAAO,EAAK,IAC9B15B,CAAG,CAAC45B,IAAU,CAAGF,AAAM,IAANA,GAGZ15B,CACT,EA3FAvC,EAAQ,aAAa,CAiHrB,SAAwBq8B,CAAK,EAQ3B,IAAK,IAPDJ,EACAn4B,EAAMu4B,EAAM,MAAM,CAClBC,EAAax4B,EAAM,EACnBy4B,EAAQ,EAAE,CAILl4B,EAAI,EAAGm4B,EAAO14B,EAAMw4B,EAAYj4B,EAAIm4B,EAAMn4B,GAH9B,MAInBk4B,EAAM,IAAI,CAACE,AAtBf,SAAsBJ,CAAK,CAAE13B,CAAK,CAAEC,CAAG,EAGrC,IAAK,IAVmB4uB,EAQpByI,EACAS,EAAS,EAAE,CACNr4B,EAAIM,EAAON,EAAIO,EAAKP,GAAK,EAAG,EACnC43B,EACE,AAAC,CAACI,CAAK,CAACh4B,EAAE,EAAI,GAAM,QAAO,EAC1B,CAACg4B,CAAK,CAACh4B,EAAI,EAAE,EAAI,EAAK,KAAK,EAC3Bg4B,CAAAA,AAAe,IAAfA,CAAK,CAACh4B,EAAI,EAAE,AAAM,EACrBq4B,EAAO,IAAI,CAdNC,CAAM,CAACnJ,CADUA,EAeMyI,IAdT,GAAK,GAAK,CAC7BU,CAAM,CAACnJ,GAAO,GAAK,GAAK,CACxBmJ,CAAM,CAACnJ,GAAO,EAAI,GAAK,CACvBmJ,CAAM,CAACnJ,AAAM,GAANA,EAAW,CAYpB,CACA,OAAOkJ,EAAO,IAAI,CAAC,GACrB,EAYML,EAAOh4B,EAAG,AAACA,EALM,MAKgBm4B,EAAOA,EAAQn4B,EAL/B,QA2BrB,OAjBIi4B,AAAe,IAAfA,GACFL,EAAMI,CAAK,CAACv4B,EAAM,EAAE,CACpBy4B,EAAM,IAAI,CACRI,CAAM,CAACV,GAAO,EAAE,CAChBU,CAAM,CAAC,AAACV,GAAO,EAAK,GAAK,CACzB,OAEsB,IAAfK,IACTL,EAAM,AAACI,CAAAA,CAAK,CAACv4B,EAAM,EAAE,EAAI,GAAKu4B,CAAK,CAACv4B,EAAM,EAAE,CAC5Cy4B,EAAM,IAAI,CACRI,CAAM,CAACV,GAAO,GAAG,CACjBU,CAAM,CAAC,AAACV,GAAO,EAAK,GAAK,CACzBU,CAAM,CAAC,AAACV,GAAO,EAAK,GAAK,CACzB,MAIGM,EAAM,IAAI,CAAC,GACpB,EA3IA,IAAK,IALDI,EAAS,EAAE,CACXP,EAAY,EAAE,CACdF,EAAM,AAAsB,aAAtB,OAAO15B,WAA6BA,WAAaiG,MAEvD4B,EAAO,mEACFhG,EAAI,EAAGP,EAAMuG,EAAK,MAAM,CAAEhG,EAAIP,EAAK,EAAEO,EAC5Cs4B,CAAM,CAACt4B,EAAE,CAAGgG,CAAI,CAAChG,EAAE,CACnB+3B,CAAS,CAAC/xB,EAAK,UAAU,CAAChG,GAAG,CAAGA,EAQlC,SAASy3B,EAASF,CAAG,EACnB,IAAI93B,EAAM83B,EAAI,MAAM,CAEpB,GAAI93B,EAAM,EAAI,EACZ,MAAM,AAAIf,MAAM,kDAKlB,IAAIg5B,EAAWH,EAAI,OAAO,CAAC,IACV,MAAbG,GAAiBA,CAAAA,EAAWj4B,CAAE,EAElC,IAAIk4B,EAAkBD,IAAaj4B,EAC/B,EACA,EAAKi4B,EAAW,EAEpB,MAAO,CAACA,EAAUC,EAAgB,AACpC,CApBAI,CAAS,CAAC,IAAI,UAAU,CAAC,GAAG,CAAG,GAC/BA,CAAS,CAAC,IAAI,UAAU,CAAC,GAAG,CAAG,EAsIzB,EAEC,SAASr8B,CAAM,CAAEC,CAAO,EAE/BA,EAAQ,IAAI,CAAG,SAAU+F,CAAM,CAAEyB,CAAM,CAAEo1B,CAAI,CAAEC,CAAI,CAAEC,CAAM,EAEzD,IADIl8B,EAAGL,EACHw8B,EAAO,AAAU,EAATD,EAAcD,EAAO,EAC7BG,EAAO,AAAC,IAAKD,CAAG,EAAK,EACrBE,EAAQD,GAAQ,EAChBE,EAAQ,GACR74B,EAAIu4B,EAAQE,EAAS,EAAK,EAC1BvvB,EAAIqvB,EAAO,GAAK,EAChBvI,EAAItuB,CAAM,CAACyB,EAASnD,EAAE,CAO1B,IALAA,GAAKkJ,EAEL3M,EAAIyzB,EAAK,AAAC,IAAM,CAAC6I,CAAK,EAAK,EAC3B7I,IAAO,CAAC6I,EACRA,GAASH,EACFG,EAAQ,EAAGt8B,EAAI,AAAK,IAAJA,EAAWmF,CAAM,CAACyB,EAASnD,EAAE,CAAEA,GAAKkJ,EAAG2vB,GAAS,GAKvE,IAHA38B,EAAIK,EAAK,AAAC,IAAM,CAACs8B,CAAK,EAAK,EAC3Bt8B,IAAO,CAACs8B,EACRA,GAASL,EACFK,EAAQ,EAAG38B,EAAI,AAAK,IAAJA,EAAWwF,CAAM,CAACyB,EAASnD,EAAE,CAAEA,GAAKkJ,EAAG2vB,GAAS,GAEvE,GAAIt8B,AAAM,IAANA,EACFA,EAAI,EAAIq8B,OACH,GAAIr8B,IAAMo8B,EACf,OAAOz8B,EAAI48B,IAAO,IAAC9I,CAAAA,EAAI,GAAK,GAE5B9zB,GAAQ8E,KAAK,GAAG,CAAC,EAAGw3B,GACpBj8B,GAAQq8B,EAEV,MAAO,AAAC5I,CAAAA,EAAI,GAAK,GAAK9zB,EAAI8E,KAAK,GAAG,CAAC,EAAGzE,EAAIi8B,EAC5C,EAEA78B,EAAQ,KAAK,CAAG,SAAU+F,CAAM,CAAElE,CAAK,CAAE2F,CAAM,CAAEo1B,CAAI,CAAEC,CAAI,CAAEC,CAAM,EAEjE,IADIl8B,EAAGL,EAAG8H,EACN00B,EAAO,AAAU,EAATD,EAAcD,EAAO,EAC7BG,EAAO,AAAC,IAAKD,CAAG,EAAK,EACrBE,EAAQD,GAAQ,EAChBI,EAAMP,AAAS,KAATA,EAAcx3B,qBAAsC,EAC1DhB,EAAIu4B,EAAO,EAAKE,EAAS,EACzBvvB,EAAIqvB,EAAO,EAAI,GACfvI,EAAIxyB,EAAQ,GAAMA,AAAU,IAAVA,GAAe,EAAIA,EAAQ,EAAK,EAAI,EAmC1D,IA/BIoE,MAFJpE,EAAQwD,KAAK,GAAG,CAACxD,KAEGA,IAAU0I,KAC5BhK,EAAI0F,MAAMpE,GAAS,EAAI,EACvBjB,EAAIo8B,IAEJp8B,EAAIyE,KAAK,KAAK,CAACA,KAAK,GAAG,CAACxD,GAASwD,KAAK,GAAG,EACrCxD,EAASwG,CAAAA,EAAIhD,KAAK,GAAG,CAAC,EAAG,CAACzE,EAAC,EAAK,IAClCA,IACAyH,GAAK,GAEHzH,EAAIq8B,GAAS,EACfp7B,GAASu7B,EAAK/0B,EAEdxG,GAASu7B,EAAK/3B,KAAK,GAAG,CAAC,EAAG,EAAI43B,GAE5Bp7B,EAAQwG,GAAK,IACfzH,IACAyH,GAAK,GAGHzH,EAAIq8B,GAASD,GACfz8B,EAAI,EACJK,EAAIo8B,GACKp8B,EAAIq8B,GAAS,GACtB18B,EAAI,AAAC,CAACsB,EAAQwG,EAAK,GAAKhD,KAAK,GAAG,CAAC,EAAGw3B,GACpCj8B,GAAQq8B,IAER18B,EAAIsB,EAAQwD,KAAK,GAAG,CAAC,EAAG43B,EAAQ,GAAK53B,KAAK,GAAG,CAAC,EAAGw3B,GACjDj8B,EAAI,IAIDi8B,GAAQ,EAAG92B,CAAM,CAACyB,EAASnD,EAAE,CAAG9D,AAAI,IAAJA,EAAU8D,GAAKkJ,EAAGhN,GAAK,IAAKs8B,GAAQ,GAI3E,IAFAj8B,EAAI,AAACA,GAAKi8B,EAAQt8B,EAClBw8B,GAAQF,EACDE,EAAO,EAAGh3B,CAAM,CAACyB,EAASnD,EAAE,CAAGzD,AAAI,IAAJA,EAAUyD,GAAKkJ,EAAG3M,GAAK,IAAKm8B,GAAQ,GAE1Eh3B,CAAM,CAACyB,EAASnD,EAAIkJ,EAAE,EAAI8mB,AAAI,IAAJA,CAC5B,CAGM,EAEC,SAASt0B,CAAM,CAAEC,CAAO,EAIzB,EAEC,SAASD,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAKA,IAAIoC,EAAS,EAAoB,IAAI,MAAM,CACvChB,EAAO,EAAoB,IAM/BrB,CAAAA,EAAO,OAAO,CAAG,WACf,SAAS+hB,KACPub,AAXJ,SAAyBC,CAAQ,CAAEC,CAAW,EAAI,GAAI,CAAED,CAAAA,aAAoBC,CAAU,EAAM,MAAM,AAAIr6B,UAAU,oCAAwC,EAWpI,IAAI,CAAE4e,GAEtB,IAAI,CAAC,IAAI,CAAG,KACZ,IAAI,CAAC,IAAI,CAAG,KACZ,IAAI,CAAC,MAAM,CAAG,CAChB,CAoDA,OAlDAA,EAAW,SAAS,CAAC,IAAI,CAAG,SAAcvgB,CAAC,EACzC,IAAIgV,EAAQ,CAAE,KAAMhV,EAAG,KAAM,IAAK,CAC9B,KAAI,CAAC,MAAM,CAAG,EAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAGgV,EAAW,IAAI,CAAC,IAAI,CAAGA,EAC7D,IAAI,CAAC,IAAI,CAAGA,EACZ,EAAE,IAAI,CAAC,MAAM,AACf,EAEAuL,EAAW,SAAS,CAAC,OAAO,CAAG,SAAiBvgB,CAAC,EAC/C,IAAIgV,EAAQ,CAAE,KAAMhV,EAAG,KAAM,IAAI,CAAC,IAAI,AAAC,CACnB,KAAhB,IAAI,CAAC,MAAM,EAAQ,KAAI,CAAC,IAAI,CAAGgV,CAAI,EACvC,IAAI,CAAC,IAAI,CAAGA,EACZ,EAAE,IAAI,CAAC,MAAM,AACf,EAEAuL,EAAW,SAAS,CAAC,KAAK,CAAG,WAC3B,GAAI,AAAgB,IAAhB,IAAI,CAAC,MAAM,EACf,IAAI1c,EAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAGxB,OAFI,AAAgB,IAAhB,IAAI,CAAC,MAAM,CAAQ,IAAI,CAAC,IAAI,CAAG,IAAI,CAAC,IAAI,CAAG,KAAU,IAAI,CAAC,IAAI,CAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CACnF,EAAE,IAAI,CAAC,MAAM,CACNA,EACT,EAEA0c,EAAW,SAAS,CAAC,KAAK,CAAG,WAC3B,IAAI,CAAC,IAAI,CAAG,IAAI,CAAC,IAAI,CAAG,KACxB,IAAI,CAAC,MAAM,CAAG,CAChB,EAEAA,EAAW,SAAS,CAAC,IAAI,CAAG,SAAcuS,CAAC,EACzC,GAAI,AAAgB,IAAhB,IAAI,CAAC,MAAM,CAAQ,MAAO,GAG9B,IAFA,IAAI7zB,EAAI,IAAI,CAAC,IAAI,CACb4E,EAAM,GAAK5E,EAAE,IAAI,CACdA,EAAIA,EAAE,IAAI,EACf4E,GAAOivB,EAAI7zB,EAAE,IAAI,CAClB,OAAO4E,CACV,EAEA0c,EAAW,SAAS,CAAC,MAAM,CAAG,SAAgB7c,CAAC,EAC7C,GAAI,AAAgB,IAAhB,IAAI,CAAC,MAAM,CAAQ,OAAO7C,EAAO,KAAK,CAAC,GAC3C,GAAI,AAAgB,IAAhB,IAAI,CAAC,MAAM,CAAQ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAI5C,IAHA,IAAIgD,EAAMhD,EAAO,WAAW,CAAC6C,IAAM,GAC/BzE,EAAI,IAAI,CAAC,IAAI,CACb6D,EAAI,EACD7D,IACLg9B,AAxDN,SAAoB7yB,CAAG,CAAEzD,CAAM,CAAEM,CAAM,EACrCmD,EAAI,IAAI,CAACzD,EAAQM,EACnB,EAsDiBhH,EAAE,IAAI,CAAE4E,EAAKf,GACxBA,GAAK7D,EAAE,IAAI,CAAC,MAAM,CAClBA,EAAIA,EAAE,IAAI,CAEZ,OAAO4E,CACT,EAEO0c,CACT,IAEI1gB,GAAQA,EAAK,OAAO,EAAIA,EAAK,OAAO,CAAC,MAAM,EAC7CrB,CAAAA,EAAO,OAAO,CAAC,SAAS,CAACqB,EAAK,OAAO,CAAC,MAAM,CAAC,CAAG,WAC9C,IAAIJ,EAAMI,EAAK,OAAO,CAAC,CAAE,OAAQ,IAAI,CAAC,MAAM,AAAC,GAC7C,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAG,IAAMJ,CACvC,EAGI,EAEC,SAASjB,CAAM,CAAEC,CAAO,EAIzB,EAEC,SAASD,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAExB,UAASgC,CAAM,CAAEmK,CAAO,GAAI,SAAUnK,CAAM,CAAEJ,CAAS,EAC/E,aAEA,IAAII,EAAO,YAAY,EAIvB,IAgGQy7B,EACAC,EAoBAC,EAYAC,EA7HJC,EAJAC,EAAa,EACbC,EAAgB,CAAC,EACjBC,EAAwB,GACxBC,EAAMj8B,EAAO,QAAQ,CAoJzB,IAAIk8B,EAAW/9B,OAAO,cAAc,EAAIA,OAAO,cAAc,CAAC6B,GAI9D,GAHAk8B,EAAWA,GAAYA,EAAS,UAAU,CAAGA,EAAWl8B,EAGpD,AAAqC,qBAArC,EAAC,GAAE,QAAQ,CAAC,IAAI,CAACA,EAAO,OAAO,EApF/B67B,EAAoB,SAASM,CAAM,EAC/BhyB,EAAQ,QAAQ,CAAC,WAAciyB,EAAaD,EAAS,EACzD,OAsFG,GAAIE,AAnFX,WAGI,GAAIr8B,EAAO,WAAW,EAAI,CAACA,EAAO,aAAa,CAAE,CAC7C,IAAIs8B,EAA4B,GAC5BC,EAAev8B,EAAO,SAAS,CAMnC,OALAA,EAAO,SAAS,CAAG,WACfs8B,EAA4B,EAChC,EACAt8B,EAAO,WAAW,CAAC,GAAI,KACvBA,EAAO,SAAS,CAAGu8B,EACZD,CACX,CACJ,IAsEgC,EA/DxBb,EAAgB,gBAAkBp4B,KAAK,MAAM,GAAK,IAClDq4B,EAAkB,SAAS3Z,CAAK,EAC5BA,EAAM,MAAM,GAAK/hB,GACjB,AAAsB,UAAtB,OAAO+hB,EAAM,IAAI,EACjBA,AAAsC,IAAtCA,EAAM,IAAI,CAAC,OAAO,CAAC0Z,IACnBW,EAAa,CAACra,EAAM,IAAI,CAAC,KAAK,CAAC0Z,EAAc,MAAM,EAE3D,EAEIz7B,EAAO,gBAAgB,CACvBA,EAAO,gBAAgB,CAAC,UAAW07B,EAAiB,IAEpD17B,EAAO,WAAW,CAAC,YAAa07B,GAGpCG,EAAoB,SAASM,CAAM,EAC/Bn8B,EAAO,WAAW,CAACy7B,EAAgBU,EAAQ,IAC/C,CAkDJ,MAAO,GAAIn8B,EAAO,cAAc,CAAE,EA7C9B27B,CADIA,EAAU,IAAIa,gBACV,KAAK,CAAC,SAAS,CAAG,SAASza,CAAK,EAEpCqa,EADara,EAAM,IAAI,CAE3B,EAEA8Z,EAAoB,SAASM,CAAM,EAC/BR,EAAQ,KAAK,CAAC,WAAW,CAACQ,EAC9B,CA0CJ,MAAO,GAAIF,GAAO,uBAAwBA,EAAI,aAAa,CAAC,UAAW,EAtC/DL,EAAOK,EAAI,eAAe,CAC9BJ,EAAoB,SAASM,CAAM,EAG/B,IAAIM,EAASR,EAAI,aAAa,CAAC,SAC/BQ,CAAAA,EAAO,kBAAkB,CAAG,WACxBL,EAAaD,GACbM,EAAO,kBAAkB,CAAG,KAC5Bb,EAAK,WAAW,CAACa,GACjBA,EAAS,IACb,EACAb,EAAK,WAAW,CAACa,EACrB,CA8BJ,MA1BIZ,EAAoB,SAASM,CAAM,EAC/B3xB,WAAW4xB,EAAc,EAAGD,EAChC,CA6BJD,CAAAA,EAAS,YAAY,CA1KrB,SAAsBQ,CAAQ,EAEJ,YAApB,OAAOA,GACTA,CAAAA,EAAW,AAAIh+B,SAAS,GAAKg+B,EAAQ,EAIvC,IAAK,IADDtxB,EAAO,AAAI3E,MAAM1B,UAAU,MAAM,CAAG,GAC/B1C,EAAI,EAAGA,EAAI+I,EAAK,MAAM,CAAE/I,IAC7B+I,CAAI,CAAC/I,EAAE,CAAG0C,SAAS,CAAC1C,EAAI,EAAE,CAF9B,IAKIs6B,EAAO,CAAE,SAAUD,EAAU,KAAMtxB,CAAK,EAG5C,OAFA2wB,CAAa,CAACD,EAAW,CAAGa,EAC5Bd,EAAkBC,GACXA,GACT,EA4JAI,EAAS,cAAc,CAAGU,EA1J1B,SAASA,EAAeT,CAAM,EAC1B,OAAOJ,CAAa,CAACI,EAAO,AAChC,CAwBA,SAASC,EAAaD,CAAM,EAGxB,GAAIH,EAGAxxB,WAAW4xB,EAAc,EAAGD,OACzB,CACH,IAAIQ,EAAOZ,CAAa,CAACI,EAAO,CAChC,GAAIQ,EAAM,CACNX,EAAwB,GACxB,GAAI,EACAa,AAlChB,SAAaF,CAAI,EACb,IAAID,EAAWC,EAAK,QAAQ,CACxBvxB,EAAOuxB,EAAK,IAAI,CACpB,OAAQvxB,EAAK,MAAM,EACnB,KAAK,EACDsxB,IACA,KACJ,MAAK,EACDA,EAAStxB,CAAI,CAAC,EAAE,EAChB,KACJ,MAAK,EACDsxB,EAAStxB,CAAI,CAAC,EAAE,CAAEA,CAAI,CAAC,EAAE,EACzB,KACJ,MAAK,EACDsxB,EAAStxB,CAAI,CAAC,EAAE,CAAEA,CAAI,CAAC,EAAE,CAAEA,CAAI,CAAC,EAAE,EAClC,KACJ,SACIsxB,EAAS,KAAK,CAAC98B,EAAWwL,EAE9B,CACJ,EAcoBuxB,EACR,QAAU,CACNC,EAAeT,GACfH,EAAwB,EAC5B,CACJ,CACJ,CACJ,CA8GJ,EAAE,AAAgB,aAAhB,OAAOr+B,KAAuB,AAAkB,SAAXqC,EAAyB,IAAI,CAAGA,EAASrC,KAErD,GAAE,IAAI,CAACK,EAAS,EAAoB,GAAI,EAAoB,IAEjF,EAEC,SAASD,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAExB,UAASgC,CAAM,EAK3CjC,EAAO,OAAO,CAoBd,SAAoB0N,CAAE,CAAEqxB,CAAG,EACzB,GAAIC,EAAO,iBACT,OAAOtxB,EAGT,IAAIuxB,EAAS,GAeb,OAdA,WACE,GAAI,CAACA,EAAQ,CACX,GAAID,EAAO,oBACT,MAAM,AAAIh8B,MAAM+7B,GACPC,EAAO,oBAChBlqB,QAAQ,KAAK,CAACiqB,GAEdjqB,QAAQ,IAAI,CAACiqB,GAEfE,EAAS,EACX,CACA,OAAOvxB,EAAG,KAAK,CAAC,IAAI,CAAE1G,UACxB,CAGF,EAUA,SAASg4B,EAAQ9+B,CAAI,EAEnB,GAAI,CACF,GAAI,CAAC+B,EAAO,YAAY,CAAE,MAAO,EACnC,CAAE,MAAO8V,EAAG,CACV,MAAO,EACT,CACA,IAAI7T,EAAMjC,EAAO,YAAY,CAAC/B,EAAK,QACnC,AAAI,MAAQgE,GACLqB,AAA8B,SAA9BA,OAAOrB,GAAK,WAAW,EAChC,CAE2B,GAAE,IAAI,CAACjE,EAAS,EAAoB,GAEzD,EAEC,SAASD,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,YA4BAD,CAAAA,EAAO,OAAO,CAAGk/B,EAEjB,IAAI1Z,EAAY,EAAoB,IAGhCnkB,EAAO,EAAoB,IAM/B,SAAS69B,EAAYx9B,CAAO,EAC1B,GAAI,CAAE,KAAI,YAAYw9B,CAAU,EAAI,OAAO,IAAIA,EAAYx9B,GAE3D8jB,EAAU,IAAI,CAAC,IAAI,CAAE9jB,EACvB,CATAL,EAAK,QAAQ,CAAG,EAAoB,GAGpCA,EAAK,QAAQ,CAAC69B,EAAa1Z,GAQ3B0Z,EAAY,SAAS,CAAC,UAAU,CAAG,SAAUlnB,CAAK,CAAErU,CAAQ,CAAE3B,CAAE,EAC9DA,EAAG,KAAMgW,EACX,CAEM,EAEC,SAAShY,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpDD,EAAO,OAAO,CAAG,EAAoB,GAG/B,EAEC,SAASA,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpDD,EAAO,OAAO,CAAG,EAAoB,EAG/B,EAEC,SAASA,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpDD,EAAO,OAAO,CAAG,EAAoB,IAAI,SAAS,AAG5C,EAEC,SAASA,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpDD,EAAO,OAAO,CAAG,EAAoB,IAAI,WAAW,AAG9C,EAEC,SAASA,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,IAAImf,EAAS,EAAoB,IAC7B3L,EAAS,EAAoB,GAQjCzT,CAAAA,EAAO,OAAO,CAAG,SAAS4gB,CAAG,CAAEC,CAAW,MACpCnf,EAASmmB,EAAIsX,EAAMC,EAPCve,EACpBnf,EAgBJ,OAjBwBmf,EAQEA,EAPtBnf,EAAU0d,EAAO,WAAW,CAACyB,GACjCzB,EAAO,kBAAkB,CAAC1d,GAO1BmmB,EAAKpU,EAAOmN,EADZlf,EALOA,GAOP09B,EAAY,YAAa19B,GAAWA,EAAQ,OAAO,CAAG,UAAY,SAO3Dy9B,CAJLA,EADE,cAAez9B,GAAWA,EAAQ,SAAS,CACtC05B,KAAK,SAAS,CAACvT,EAAI,SAAUmN,CAAC,CAAExzB,CAAC,EAAI,OAAOwzB,IAAMoK,EAAW,IAAM59B,CAAG,EAAGE,EAAQ,MAAM,EAEvF05B,KAAK,SAAS,CAACvT,EAAI,KAAMnmB,EAAQ,MAAM,GAEpC,OAAO,CAAC,UAAW,WAAW,OAAO,CAAC,UAAW,UAC/D,CAGM,EAEC,SAAS1B,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAExB,UAASoC,CAAM,EAAG,IAAIsR,EAAS,EAAoB,GAE/E3T,CAAAA,EAAO,OAAO,CAAG,SAAUm/B,CAAI,CAAEz9B,CAAO,EAClCy9B,aAAgB98B,GAClB88B,CAAAA,EAAOA,EAAK,QAAQ,EAAC,EAEvB,IAAItX,EAAK,KACT,GAAI,AAAkB,UAAlB,OAAQsX,EACV,GAAI,CACFtX,EAAKuT,KAAK,KAAK,CAAC+D,EAClB,CAAE,MAAOt+B,EAAG,CACV,MAAM,AAAImC,MAAM,gCAClB,MAEA6kB,EAAKsX,EAEP,OAAOxrB,EAAOkU,EAAInmB,EACpB,CAE2B,GAAE,IAAI,CAACzB,EAAS,EAAoB,GAAG,MAAM,CAElE,EAEC,SAASD,CAAM,CAAEC,CAAO,CAAEgL,CAAmB,EAEpD,aAEA7K,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DA,EAAQ,WAAW,CAAG,EAGhB,EAEC,SAASD,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMk0B,UAAkCl0B,EAAiB,YAAY,CACjE,YAAYqI,CAAO,CAAE8rB,CAAa,CAAE,CAChC,KAAK,CAAC9rB,GACF8rB,GACA,KAAI,CAAC,IAAI,CAAGA,EAAc,IAAI,AAAD,CAErC,CACJ,CACAr/B,EAAQ,yBAAyB,CAAGo/B,CAG9B,EAEC,SAASr/B,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMo0B,UAAyBp0B,EAAiB,qBAAqB,CACjE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,IAAK,QACL,MAAO,UACP,MAAO,UACP,GAAI,MACR,CACJ,CACJ,CACA/G,EAAQ,gBAAgB,CAAGs/B,CAGrB,EAEC,SAASv/B,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMgqB,EAAe,EAAoB,GACnC9e,EAAmB,EAAoB,EAC7C,OAAM+e,UAAuB/e,EAAiB,qBAAqB,CAC/D,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,MAAO,WAAY,CACxC,CACJ,CACA,MAAMw4B,UAAar0B,EAAiB,YAAY,CAC5C,aAAc,CACV,KAAK,CAAC,eACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI+e,EAAe,CAAE,MAAOD,EAAa,SAAS,CAAC,QAAQ,AAAC,IAC3E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OACnB,CACJ,CACAhqB,EAAQ,IAAI,CAAGu/B,CACf,OAAMC,UAAsBt0B,EAAiB,YAAY,CACrD,aAAc,CACV,KAAK,CAAC,eACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI+e,EAAe,CAAE,MAAOD,EAAa,SAAS,CAAC,QAAQ,AAAC,IAC3E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WACnB,CACJ,CACAhqB,EAAQ,aAAa,CAAGw/B,CACxB,OAAMC,UAA6Bv0B,EAAiB,YAAY,CAC5D,aAAc,CACV,KAAK,CAAC,eACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI+e,EAAe,CAAE,MAAOD,EAAa,SAAS,CAAC,QAAQ,AAAC,IAC3E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eACnB,CACJ,CACAhqB,EAAQ,oBAAoB,CAAGy/B,CAGzB,EAEC,SAAS1/B,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMsoB,EAAQ,EAAoB,IAC5Bla,EAAS,EAAoB,GACnC,OAAMsxB,UAAgBpX,EAAM,GAAG,CAC3B,YAAY7mB,CAAO,CAAE,CACjB,GAAI,AAAmB,UAAnB,OAAOA,EAAsB,CAC7B,KAAK,CAAC,CAAC,GACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI2M,EAAO,IAAI,CAAC3M,IAC/B,MACJ,CACA,KAAK,CAACA,EACV,CACJ,CACAzB,EAAQ,OAAO,CAAG0/B,CAGZ,EAEC,SAAS3/B,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMsoB,EAAQ,EAAoB,IAC5BqX,EAAW,EAAoB,IACrC,OAAMC,UAAkBtX,EAAM,GAAG,CAC7B,YAAY7mB,CAAO,CAAE,CACjB,GAAI,AAAmB,UAAnB,OAAOA,EAAsB,CAC7B,KAAK,CAAC,CAAC,GACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIk+B,EAAS,MAAM,CAACl+B,IACnC,MACJ,CACA,KAAK,CAACA,GACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIk+B,EAAS,MAAM,CAACl+B,EAAQ,IAAI,CAAEA,EAAQ,UAAU,EACvE,CACJ,CACAzB,EAAQ,SAAS,CAAG4/B,CAGd,EAEC,SAAS7/B,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM20B,UAAyB30B,EAAiB,qBAAqB,CACjE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,KAAM,SACN,WAAY,QAChB,CACJ,CACJ,CACA,MAAM3C,UAAe8G,EAAiB,YAAY,CAC9C,YAAY40B,EAAO,EAAE,CAAEC,EAAa,WAAW,CAAE,CAC7C,KAAK,CAAC,SACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIF,EAAiB,CAAE,KAAMC,EAAM,WAAYC,CAAW,GAC7E,CACJ,CACA//B,EAAQ,MAAM,CAAGoE,CAGX,EAEC,SAASrE,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMggC,EAAY,EAAoB,IAChC1X,EAAQ,EAAoB,EAClC,OAAM2X,UAAmB3X,EAAM,GAAG,CAC9B,YAAY4X,CAAS,CAAEC,CAAc,CAAE,CACnC,KAAK,CAAC,CAAC,GACP,IAAMC,EAAU,IAAIJ,EAAU,OAAO,CAACE,EAAWC,GACjD,IAAI,CAAC,IAAI,CAAC,IAAI,CAACC,EACnB,CACJ,CACApgC,EAAQ,UAAU,CAAGigC,CAGf,EAEC,SAASlgC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCm1B,EAAW,EAAoB,KAC/BC,EAAW,EAAoB,IACrC,OAAMC,UAAgBr1B,EAAiB,YAAY,CAC/C,YAAYg1B,CAAS,CAAEC,EAAiB,CAAC,CAAC,CAAE,CACxC,KAAK,CAAC,aACDA,EAAe,QAAQ,CAKxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIE,EAAS,MAAM,CAACH,EAAWA,EAAU,UAAU,CAAEC,KAJpE,IAAI,CAAC,MAAM,CAAG,IAAIG,EAAS,MAAM,CAACJ,EAAWA,EAAU,UAAU,EACjE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAKlC,CACA,MAAMM,CAAO,CAAEC,CAAO,CAAE,CACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAACD,EAASC,EAC/B,CACJ,CACAzgC,EAAQ,OAAO,CAAGugC,CAGZ,EAEC,SAASxgC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,IAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCw1B,EAAa,EAAoB,IACjCC,EAAY,EAAoB,IAChCC,EAAc,EAAoB,IAClCC,EAAmB,EAAoB,IACvCC,EAAkB,EAAoB,IACtCC,EAAW,EAAoB,IAC/BC,EAA6B,EAAoB,IACjDC,EAAsB,EAAoB,GAChD,OAAMC,UAAeh2B,EAAiB,YAAY,CAC9C,YAAYi2B,CAAS,CAAEC,CAAU,CAAEjB,CAAc,CAAE,CAC/C,KAAK,CAAC,aACN,IAAMkB,EAAWlhC,OAAO,MAAM,CAAC,CAAE,aAAc,GAAM,eAAgB,GAAO,WAAY,GAAO,aAAc,GAAM,iBAAkB,CAAC,EAAG,mBAAoB,CAAC,CAAE,EAAGggC,EAAe,QAAQ,EAkB1L,GAjBA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIc,EAAoB,gBAAgB,CAAC,CACpD,MAAOI,EAAS,OAAO,EAAGA,EAAS,OAAO,CAAC,GAAG,EAAI,EAClD,MAAOA,EAAS,OAAO,EAAGA,EAAS,OAAO,CAAC,MAAM,EAAI,EACrD,MAAOA,EAAS,OAAO,EAAGA,EAAS,OAAO,CAAC,IAAI,EAAI,EACnD,MAAOA,EAAS,OAAO,EAAGA,EAAS,OAAO,CAAC,KAAK,EAAI,EACpD,UAAW,IACX,aAAcA,AAA0B,KAA1BA,EAAS,YAAY,CAAY,IAAM,IACrD,UAAWA,AAA4B,KAA5BA,EAAS,cAAc,CAAY,IAAM,IACpD,OAAQA,AAAwB,KAAxBA,EAAS,UAAU,CAAY,IAAM,IAC7C,aAAcA,AAA0B,KAA1BA,EAAS,YAAY,CAAY,IAAM,IACrD,eAAgBA,EAAS,MAAM,CAAGA,EAAS,MAAM,CAAGD,EAAW,IAAI,CAAC,CAAC,AACzE,IACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIV,EAAW,SAAS,EACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAW,kBAAkB,CAACW,EAAS,kBAAkB,GAC5E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIX,EAAW,gBAAgB,CAACW,EAAS,gBAAgB,GACxE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIN,EAAS,MAAM,CAACK,EAAW,IAAI,CAAC,CAAC,CAAEA,EAAW,IAAI,CAAC,CAAC,GACvE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIN,EAAgB,YAAY,EAC3CX,AAA4Bv+B,KAAAA,IAA5Bu+B,EAAe,QAAQ,EAAkBA,AAAiCv+B,KAAAA,IAAjCu+B,EAAe,QAAQ,CAAC,IAAI,CACrE,OAAQA,EAAe,QAAQ,CAAC,IAAI,CAAC,IAAI,EACrC,KAAKS,EAAY,gBAAgB,CAAC,MAAM,CACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAY,UAAU,CAACT,EAAe,QAAQ,CAAC,IAAI,CAAEA,EAAe,QAAQ,CAAC,OAAO,GACvG,KACJ,MAAKS,EAAY,gBAAgB,CAAC,KAAK,CACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAY,SAAS,CAACT,EAAe,QAAQ,CAAC,OAAO,GACxE,KACJ,MAAKS,EAAY,gBAAgB,CAAC,cAAc,CAC5C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAY,gBAAgB,CAACT,EAAe,QAAQ,CAAC,OAAO,GAC/E,KACJ,MAAKS,EAAY,gBAAgB,CAAC,IAAI,CACtC,QACI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAY,QAAQ,CAC/C,MAGA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAY,QAAQ,EAE3C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIC,EAAiB,aAAa,EACjD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIG,EAA2B,sBAAsB,EACpE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIL,EAAU,OAAO,CAACQ,EAAWC,EAAW,IAAI,CAAC,CAAC,CAAEA,EAAW,IAAI,CAAC,CAAC,EACxF,CACJ,CACAphC,EAAQ,MAAM,CAAGkhC,CAGX,EAEC,SAASnhC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMo2B,UAA4Bp2B,EAAiB,qBAAqB,CACpE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,EAAG,IACH,EAAG,GACP,CACJ,CACJ,CACA,MAAMw6B,UAAkBr2B,EAAiB,YAAY,CACjD,aAAc,CACV,KAAK,CAAC,gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIo2B,EAAoB,CACnC,EAAG,EACH,EAAG,CACP,GACJ,CACJ,CACAthC,EAAQ,SAAS,CAAGuhC,CAGd,EAEC,SAASxhC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCs2B,EAAU,EAAoB,IAC9BC,EAAsB,EAAoB,IAC1CC,EAAoB,EAAoB,GAC9C,OAAMC,UAAqCz2B,EAAiB,qBAAqB,CAC7E,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,aAAc,cAClB,CACJ,CACJ,CACA,MAAM66B,UAA2B12B,EAAiB,YAAY,CAC1D,YAAY22B,CAAkB,CAAE,CAK5B,GAJA,KAAK,CAAC,gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIF,EAA6B,CAC5C,aAAcE,EAAmB,QAAQ,EAAIJ,EAAoB,8BAA8B,CAAC,IAAI,AACxG,IACII,EAAmB,KAAK,CACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIL,EAAQ,KAAK,CAACK,EAAmB,KAAK,QAExD,GAAIA,AAA8BjgC,KAAAA,IAA9BigC,EAAmB,MAAM,CAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIH,EAAkB,cAAc,CAACG,EAAmB,MAAM,QAG7E,MAAM,AAAI9+B,MAAM,6EAExB,CACJ,CACA/C,EAAQ,kBAAkB,CAAG4hC,CAGvB,EAEC,SAAS7hC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCs2B,EAAU,EAAoB,IAC9BC,EAAsB,EAAoB,IAC1CC,EAAoB,EAAoB,GAC9C,OAAMI,UAAmC52B,EAAiB,qBAAqB,CAC3E,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,aAAc,cAClB,CACJ,CACJ,CACA,MAAMg7B,UAAyB72B,EAAiB,YAAY,CACxD,YAAY82B,CAAgB,CAAE,CAK1B,GAJA,KAAK,CAAC,gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIF,EAA2B,CAC1C,aAAcE,EAAiB,QAAQ,EAAIP,EAAoB,4BAA4B,CAAC,IAAI,AACpG,IACIO,EAAiB,KAAK,CACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIR,EAAQ,KAAK,CAACQ,EAAiB,KAAK,QAEtD,GAAIA,AAA4BpgC,KAAAA,IAA5BogC,EAAiB,MAAM,CAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIN,EAAkB,cAAc,CAACM,EAAiB,MAAM,QAG3E,MAAM,AAAIj/B,MAAM,6EAExB,CACJ,CACA/C,EAAQ,gBAAgB,CAAG+hC,CAGrB,EAEC,SAAShiC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC+2B,EAAiB,EAAoB,IAC3C,OAAMC,UAA0Bh3B,EAAiB,qBAAqB,CAClE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,EAAG,SACP,CACJ,CACJ,CACA,MAAMo7B,UAAgBj3B,EAAiB,YAAY,CAC/C,YAAYi2B,CAAS,CAAEx6B,CAAC,CAAEC,CAAC,CAAE,CACzB,KAAK,CAAC,aACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIs7B,EAAkB,CACjC,EAAG,uDACP,IACA,IAAI,CAAC,IAAI,CAAG,IAAID,EAAe,WAAW,CAACd,EAAWx6B,EAAGC,GACzD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC5B,CACA,MAAMD,CAAC,CAAEC,CAAC,CAAE,CACR,IAAI,CAAC,IAAI,CAAC,KAAK,CAACD,EAAGC,EACvB,CACJ,CACA5G,EAAQ,OAAO,CAAGmiC,CAGZ,EAEC,SAASpiC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAKAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,IAC3DM,AAJA,SAAkBC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,EAES,EAAoB,KAGvB,EAEC,SAAST,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCk3B,EAA2B,EAAoB,KAC/CC,EAAQ,EAAoB,IAClC,OAAMC,UAAoBp3B,EAAiB,YAAY,CACnD,YAAYi2B,CAAS,CAAEx6B,CAAC,CAAEC,CAAC,CAAE,CACzB,KAAK,CAAC,iBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIw7B,EAAyB,qBAAqB,CAAC,CAC9D,IAAK,0DACT,IACA,IAAI,CAAC,GAAG,CAAG,IAAIC,EAAM,GAAG,CAAClB,EAAWx6B,EAAGC,GACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC3B,CACA,MAAMD,CAAC,CAAEC,CAAC,CAAE,CACR,IAAI,CAAC,GAAG,CAAC,KAAK,CAACD,EAAGC,EACtB,CACJ,CACA5G,EAAQ,WAAW,CAAGsiC,CAGhB,EAEC,SAASviC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMq3B,UAA8Br3B,EAAiB,qBAAqB,CACtE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,IAAK,KACT,CACJ,CACJ,CACA/G,EAAQ,qBAAqB,CAAGuiC,CAG1B,EAEC,SAASxiC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAKAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,IAC3DM,AAJA,SAAkBC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,EAES,EAAoB,KAGvB,EAEC,SAAST,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCs3B,EAAc,EAAoB,KAClCC,EAA8B,EAAoB,KAClDC,EAAmB,EAAoB,KACvCC,EAAqB,EAAoB,IAC/C,OAAMC,UAAY13B,EAAiB,YAAY,CAC3C,YAAYi2B,CAAS,CAAEx6B,CAAC,CAAEC,CAAC,CAAE,CACzB,KAAK,CAAC,WACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI87B,EAAiB,aAAa,CAAC,CAC9C,MAAO,0DACX,IACA,IAAI,CAAC,eAAe,CAAG,IAAIC,EAAmB,eAAe,CAACh8B,EAAGC,GACjE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI67B,EAA4B,sBAAsB,EACrE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAID,EAAY,QAAQ,CAACrB,IACxC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIwB,EAAmB,eAAe,CAACh8B,EAAGC,GAC7D,CACA,MAAMD,CAAC,CAAEC,CAAC,CAAE,CACR,IAAI,CAAC,eAAe,CAAC,KAAK,CAACD,EAAGC,EAClC,CACJ,CACA5G,EAAQ,GAAG,CAAG4iC,CAGR,EAEC,SAAS7iC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC23B,EAAS,EAAoB,KAC7BC,EAAqB,EAAoB,KACzCC,EAAY,EAAoB,IACtC,OAAMC,UAAiB93B,EAAiB,YAAY,CAChD,YAAYi2B,CAAS,CAAE,CACnB,KAAK,CAAC,gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI0B,EAAO,IAAI,CAAC1B,IAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI2B,EAAmB,eAAe,EACrD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIC,EAAU,OAAO,CACxC,CACJ,CACA/iC,EAAQ,QAAQ,CAAGgjC,CAGb,EAEC,SAASjjC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM+3B,UAAuB/3B,EAAiB,qBAAqB,CAC/D,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,MAAO,UACP,OAAQ,QACZ,CACJ,CACJ,CACA,MAAMm8B,UAAah4B,EAAiB,YAAY,CAC5C,YAAYi2B,CAAS,CAAE,CACnB,KAAK,CAAC,UACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI8B,EAAe,CAC9B,MAAO,CAAC,IAAI,EAAE9B,EAAU,QAAQ,CAAC,CAAC,CAAC,CACnC,OAAQ,MACZ,GACJ,CACJ,CACAnhC,EAAQ,IAAI,CAAGkjC,CAGT,EAEC,SAASnjC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMi4B,UAAwBj4B,EAAiB,YAAY,CACvD,aAAc,CACV,KAAK,CAAC,YACV,CACJ,CACAlL,EAAQ,eAAe,CAAGmjC,CAGpB,EAEC,SAASpjC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMk4B,UAAsBl4B,EAAiB,YAAY,CACrD,aAAc,CACV,KAAK,CAAC,aACV,CACJ,CACA,MAAMm4B,UAAgBn4B,EAAiB,YAAY,CAC/C,aAAc,CACV,KAAK,CAAC,aACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIk4B,EACvB,CACJ,CACApjC,EAAQ,OAAO,CAAGqjC,CAGZ,EAEC,SAAStjC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCo4B,EAAoC,EAAoB,KACxDC,EAA0B,EAAoB,IACpD,OAAMC,UAA+Bt4B,EAAiB,YAAY,CAC9D,aAAc,CACV,KAAK,CAAC,eACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIq4B,EAAwB,mBAAmB,EAC9D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAID,EAAkC,wBAAwB,CACjF,CACJ,CACAtjC,EAAQ,sBAAsB,CAAGwjC,CAG3B,EAEC,SAASzjC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCu4B,EAAc,EAAoB,IACxC,OAAMC,UAAiCx4B,EAAiB,YAAY,CAChE,aAAc,CACV,KAAK,CAAC,gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIu4B,EAAY,QAAQ,CAC3C,CACJ,CACAzjC,EAAQ,wBAAwB,CAAG0jC,CAG7B,EAEC,SAAS3jC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCy4B,EAAyB,EAAoB,IACnD,OAAMC,UAAiB14B,EAAiB,YAAY,CAChD,aAAc,CACV,KAAK,CAAC,cACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIy4B,EAAuB,kBAAkB,CAAC,CACzD,eAAgB,EAChB,mBAAoB,CACxB,GACJ,CACJ,CACA3jC,EAAQ,QAAQ,CAAG4jC,CAGb,EAEC,SAAS7jC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM24B,UAA2B34B,EAAiB,qBAAqB,CACnE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,eAAgB,iBAChB,mBAAoB,oBACxB,CACJ,CACJ,CACA/G,EAAQ,kBAAkB,CAAG6jC,CAGvB,EAEC,SAAS9jC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC44B,EAAqC,EAAoB,IAC/D,OAAMC,UAA4B74B,EAAiB,YAAY,CAC3D,aAAc,CACV,KAAK,CAAC,aACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI44B,EAAmC,6BAA6B,CAAC,CAChF,GAAI,EACJ,KAAM,GACN,MAAO,EACX,GACJ,CACJ,CACA9jC,EAAQ,mBAAmB,CAAG+jC,CAGxB,EAEC,SAAShkC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM84B,UAAsC94B,EAAiB,qBAAqB,CAC9E,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,GAAI,KACJ,KAAM,OACN,MAAO,MACX,CACJ,CACJ,CACA/G,EAAQ,6BAA6B,CAAGgkC,CAGlC,EAEC,SAASjkC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM+4B,UAAsB/4B,EAAiB,qBAAqB,CAC9D,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,MAAO,WACX,CACJ,CACJ,CACA/G,EAAQ,aAAa,CAAGikC,CAGlB,EAEC,SAASlkC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCg5B,EAAS,EAAoB,KAC7BC,EAAoB,EAAoB,KACxCC,EAAgC,EAAoB,IAC1D,OAAMC,UAAwBn5B,EAAiB,YAAY,CACvD,YAAYvE,CAAC,CAAEC,CAAC,CAAE,CACd,KAAK,CAAC,YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIw9B,EAA8B,yBAAyB,CAAC,CACvE,OAAQ,MACZ,IACA,IAAI,CAAC,IAAI,CAAG,IAAIF,EAAO,IAAI,CAACv9B,EAAGC,GAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIu9B,EAAkB,cAAc,CACvD,CACA,MAAMx9B,CAAC,CAAEC,CAAC,CAAE,CACR,IAAI,CAAC,IAAI,CAAC,KAAK,CAACD,EAAGC,EACvB,CACJ,CACA5G,EAAQ,eAAe,CAAGqkC,CAGpB,EAEC,SAAStkC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAKAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,IAC3DM,AAJA,SAAkBC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,EAES,EAAoB,KAGvB,EAEC,SAAST,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCo5B,EAAY,EAAoB,KAChCC,EAAQ,EAAoB,IAClC,OAAMC,UAAat5B,EAAiB,YAAY,CAC5C,YAAYvE,CAAC,CAAEC,CAAC,CAAE,CACd,KAAK,CAAC,UACN,IAAI,CAAC,OAAO,CAAG,IAAI09B,EAAU,OAAO,CAAC39B,EAAGC,GACxC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI29B,EAAM,MAAM,CACnC,CACA,MAAM59B,CAAC,CAAEC,CAAC,CAAE,CACR,IAAI,CAAC,OAAO,CAAC,KAAK,CAACD,EAAGC,EAC1B,CACJ,CACA5G,EAAQ,IAAI,CAAGwkC,CAGT,EAEC,SAASzkC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCu5B,EAAuB,EAAoB,IACjD,OAAMC,UAAgBx5B,EAAiB,YAAY,CAC/C,YAAYvE,CAAC,CAAEC,CAAC,CAAE,CACd,KAAK,CAAC,SACN,IAAI,CAAC,UAAU,CAAG,IAAI69B,EAAqB,iBAAiB,CAAC,CACzD,GAAI99B,EACJ,GAAIC,CACR,GACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAClC,CACA,MAAMD,CAAC,CAAEC,CAAC,CAAE,CACR,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAChB,GAAID,EACJ,GAAIC,CACR,EACJ,CACJ,CACA5G,EAAQ,OAAO,CAAG0kC,CAGZ,EAEC,SAAS3kC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMy5B,UAA0Bz5B,EAAiB,qBAAqB,CAClE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,GAAI,KACJ,GAAI,IACR,CACJ,CACJ,CACA/G,EAAQ,iBAAiB,CAAG2kC,CAGtB,EAEC,SAAS5kC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC05B,EAAmB,EAAoB,IAC7C,OAAMC,UAAe35B,EAAiB,YAAY,CAC9C,aAAc,CACV,KAAK,CAAC,SACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI05B,EAAiB,gBAAgB,CAAC,CACjD,EAAG,EACH,EAAG,CACP,GACJ,CACJ,CACA5kC,EAAQ,MAAM,CAAG6kC,CAGX,EAEC,SAAS9kC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM45B,UAAyB55B,EAAiB,qBAAqB,CACjE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,EAAG,IACH,EAAG,GACP,CACJ,CACJ,CACA/G,EAAQ,gBAAgB,CAAG8kC,CAGrB,EAEC,SAAS/kC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC65B,EAAsB,EAAoB,KAC1CC,EAA+B,EAAoB,IACzD,OAAMC,UAAuB/5B,EAAiB,YAAY,CACtD,aAAc,CACV,KAAK,CAAC,cACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI85B,EAA6B,wBAAwB,CAAC,CACrE,KAAM,MACV,IACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAID,EAAoB,gBAAgB,CAC3D,CACJ,CACA/kC,EAAQ,cAAc,CAAGilC,CAGnB,EAEC,SAASllC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMg6B,UAAyBh6B,EAAiB,YAAY,CACxD,aAAc,CACV,KAAK,CAAC,UACV,CACJ,CACAlL,EAAQ,gBAAgB,CAAGklC,CAGrB,EAEC,SAASnlC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMi6B,UAAiCj6B,EAAiB,qBAAqB,CACzE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,KAAM,MACV,CACJ,CACJ,CACA/G,EAAQ,wBAAwB,CAAGmlC,CAG7B,EAEC,SAASplC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMk6B,UAAkCl6B,EAAiB,qBAAqB,CAC1E,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,OAAQ,QACZ,CACJ,CACJ,CACA/G,EAAQ,yBAAyB,CAAGolC,CAG9B,EAEC,SAASrlC,CAAM,CAAEC,CAAO,CAAEgL,CAAmB,EAEpD,iBAGIq6B,EAOAC,EANOD,EAOAC,EATXnlC,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAGvDqlC,CADOA,EAKWrlC,EAAQ,gBAAgB,EAAKA,CAAAA,EAAQ,gBAAgB,CAAG,CAAC,GAJ3D,CAACqlC,EAAiB,IAAO,CAAG,EAAE,CAAG,OACjDA,CAAgB,CAACA,EAAiB,MAAS,CAAG,EAAE,CAAG,SACnDA,CAAgB,CAACA,EAAiB,KAAQ,CAAG,EAAE,CAAG,QAClDA,CAAgB,CAACA,EAAiB,cAAiB,CAAG,EAAE,CAAG,iBAI3DC,CADOA,EAKWtlC,EAAQ,gBAAgB,EAAKA,CAAAA,EAAQ,gBAAgB,CAAG,CAAC,IAJ1D,UAAa,CAAG,YACjCslC,EAAiB,IAAO,CAAG,OAC3BA,EAAiB,KAAQ,CAAG,QAC5BA,EAAiB,OAAU,CAAG,SAI5B,EAEC,SAASvlC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMq6B,UAAiBr6B,EAAiB,YAAY,CAChD,aAAc,CACV,KAAK,CAAC,cACV,CACJ,CACAlL,EAAQ,QAAQ,CAAGulC,CAGb,EAEC,SAASxlC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCisB,EAAK,EAAoB,GAC/B,OAAMqO,UAA6Bt6B,EAAiB,qBAAqB,CACrE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,MAAO,QACP,MAAO,QACP,MAAO,QACP,MAAO,QACP,SAAU,UACd,CACJ,CACJ,CACA,MAAM0+B,UAAmBv6B,EAAiB,YAAY,CAClD,YAAYw6B,CAAY,CAAEC,EAAU,CAChC,IAAK,EACL,OAAQ,EACR,KAAM,EACN,MAAO,CACX,CAAC,CAAE,CACC,KAAK,CAAC,iBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIH,EAAqB,CACpC,SAAUE,EAAa,IAAI,EAAIvO,EAAG,gBAAgB,CAAC,UAAU,CAC7D,MAAOwO,EAAQ,GAAG,CAClB,MAAOA,EAAQ,MAAM,CACrB,MAAOA,EAAQ,IAAI,CACnB,MAAOA,EAAQ,KAAK,AACxB,GACJ,CACJ,CACA3lC,EAAQ,UAAU,CAAGylC,CAGf,EAEC,SAAS1lC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM06B,UAA4B16B,EAAiB,qBAAqB,CACpE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,MAAO,QACP,MAAO,OACX,CACJ,CACJ,CACA,MAAM8+B,UAAkB36B,EAAiB,YAAY,CACjD,YAAYy6B,EAAU,CAClB,IAAK,EACL,OAAQ,CACZ,CAAC,CAAE,CACC,KAAK,CAAC,gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIC,EAAoB,CACnC,MAAOD,EAAQ,GAAG,CAClB,MAAOA,EAAQ,MAAM,AACzB,GACJ,CACJ,CACA3lC,EAAQ,SAAS,CAAG6lC,CAGd,EAEC,SAAS9lC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM46B,UAAmC56B,EAAiB,qBAAqB,CAC3E,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,MAAO,QACP,MAAO,OACX,CACJ,CACJ,CACA,MAAMg/B,UAAyB76B,EAAiB,YAAY,CACxD,YAAYy6B,EAAU,CAClB,IAAK,EACL,OAAQ,CACZ,CAAC,CAAE,CACC,KAAK,CAAC,uBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIG,EAA2B,CAC1C,MAAOH,EAAQ,GAAG,CAClB,MAAOA,EAAQ,MAAM,AACzB,GACJ,CACJ,CACA3lC,EAAQ,gBAAgB,CAAG+lC,CAGrB,EAEC,SAAShmC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM86B,UAAgC96B,EAAiB,qBAAqB,CACxE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,GAAI,KACJ,KAAM,OACN,MAAO,OACX,CACJ,CACJ,CACA/G,EAAQ,uBAAuB,CAAGgmC,CAG5B,EAEC,SAASjmC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM+6B,UAA+B/6B,EAAiB,qBAAqB,CACvE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,GACP,CACJ,CACJ,CACA/G,EAAQ,sBAAsB,CAAGimC,CAG3B,EAEC,SAASlmC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMg7B,UAAyBh7B,EAAiB,qBAAqB,CACjE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,GAAI,KACJ,GAAI,IACR,CACJ,CACJ,CACA/G,EAAQ,gBAAgB,CAAGkmC,CAGrB,EAEC,SAASnmC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCi7B,EAAkC,EAAoB,IAC5D,OAAMC,UAA0Bl7B,EAAiB,YAAY,CACzD,aAAc,CACV,KAAK,CAAC,uBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIi7B,EAAgC,0BAA0B,CAAC,CAC1E,MAAO,wDACP,eAAgB,CACpB,GACJ,CACJ,CACAnmC,EAAQ,iBAAiB,CAAGomC,CAGtB,EAEC,SAASrmC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMm7B,UAAmCn7B,EAAiB,qBAAqB,CAC3E,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,MAAO,UACP,eAAgB,gBACpB,CACJ,CACJ,CACA/G,EAAQ,0BAA0B,CAAGqmC,CAG/B,EAEC,SAAStmC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAKAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,IAC3DM,AAJA,SAAkBC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,EAES,EAAoB,KAGvB,EAEC,SAAST,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC21B,EAAmB,EAAoB,IACvCC,EAAkB,EAAoB,IACtCC,EAAW,EAAoB,IAC/BC,EAA6B,EAAoB,IACjDL,EAAY,EAAoB,IAChC2F,EAAsB,EAAoB,IAChD,OAAMC,UAAer7B,EAAiB,YAAY,CAC9C,YAAYi2B,CAAS,CAAEC,CAAU,CAAE,CAC/B,KAAK,CAAC,aACN,IAAI,CAAC,UAAU,CAAGA,EAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIkF,EAAoB,gBAAgB,CAAC,CACpD,MAAO,EACP,MAAO,EACP,MAAO,EACP,MAAO,CACX,IACA,IAAI,CAAC,MAAM,CAAG,IAAIvF,EAAS,MAAM,CAACK,EAAW,IAAI,CAAC,CAAC,CAAEA,EAAW,IAAI,CAAC,CAAC,EACtE,IAAI,CAAC,OAAO,CAAG,IAAIT,EAAU,OAAO,CAACQ,EAAWC,EAAW,IAAI,CAAC,CAAC,CAAEA,EAAW,IAAI,CAAC,CAAC,EACpF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIN,EAAgB,YAAY,EAC/C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAID,EAAiB,aAAa,EACjD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIG,EAA2B,sBAAsB,EACpE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAC/B,CACA,MAAMR,CAAO,CAAEC,CAAO,CAAE,CACpB,IAAM+F,EAAOnhC,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAGm7B,GAC3CiG,EAAOphC,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAGo7B,GACjD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC+F,EAAMC,GACxB,IAAI,CAAC,OAAO,CAAC,KAAK,CAACD,EAAMC,EAC7B,CACJ,CACAzmC,EAAQ,MAAM,CAAGumC,CAGX,EAEC,SAASxmC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMw7B,UAAyBx7B,EAAiB,qBAAqB,CACjE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,MAAO,QACP,MAAO,QACP,MAAO,QACP,MAAO,OACX,CACJ,CACJ,CACA/G,EAAQ,gBAAgB,CAAG0mC,CAGrB,EAEC,SAAS3mC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMsoB,EAAQ,EAAoB,GAC5Bra,EAAU,EAAoB,IAC9B04B,EAAsC,EAAoB,IAChE,OAAMC,UAA6Bte,EAAM,GAAG,CACxC,YAAYue,CAAU,CAAE,CACpB,KAAK,CAAC,CAAC,GACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI54B,EAAQ,KAAK,CAAC,KACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI04B,EAAoC,+BAA+B,CAACE,IACvF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI54B,EAAQ,QAAQ,EACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAQ,GAAG,CAClC,CACJ,CACAjO,EAAQ,oBAAoB,CAAG4mC,CAGzB,EAEC,SAAS7mC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMgqB,EAAe,EAAoB,GACnC9e,EAAmB,EAAoB,EAC7C,OAAM+e,UAAuB/e,EAAiB,qBAAqB,CAC/D,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,MAAO,WAAY,CACxC,CACJ,CACA,MAAM+/B,UAAwC57B,EAAiB,YAAY,CACvE,YAAY27B,CAAU,CAAE,CACpB,KAAK,CAAC,eACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI5c,EAAe,CAAE,MAAOD,EAAa,SAAS,CAAC,QAAQ,AAAC,IAC3E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE6c,EAAW,CAAC,CACtC,CACJ,CACA7mC,EAAQ,+BAA+B,CAAG8mC,CAGpC,EAEC,SAAS/mC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM67B,UAAY77B,EAAiB,YAAY,CAC3C,aAAc,CACV,KAAK,CAAC,QACV,CACJ,CACAlL,EAAQ,GAAG,CAAG+mC,CAGR,EAEC,SAAShnC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC4G,EAAU,EAAoB,IAC9B3D,EAAe,EAAoB,IACnCma,EAAQ,EAAoB,EAClC,OAAM0e,UAAkB97B,EAAiB,YAAY,CACjD,YAAYzJ,CAAO,CAAE,CAEjB,GADA,KAAK,CAAC,OACF,AAAmB,UAAnB,OAAOA,EAAsB,CAC7B,IAAI,CAAC,UAAU,CAAG,IAAI0M,EAAa,mBAAmB,CAAC,CAAC,GACxD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIma,EAAM,OAAO,CAAC7mB,IACjC,MACJ,CACA,GAAIA,aAAmB6mB,EAAM,UAAU,CAAE,CACrC,IAAI,CAAC,UAAU,CAAG,IAAIna,EAAa,mBAAmB,CAAC,CAAC,GACxD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC1M,GACf,MACJ,CAMA,GALA,IAAI,CAAC,UAAU,CAAG,IAAI0M,EAAa,mBAAmB,CAAC1M,GACvD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAC1BA,EAAQ,IAAI,EACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6mB,EAAM,OAAO,CAAC7mB,EAAQ,IAAI,GAE7CA,EAAQ,QAAQ,CAChB,IAAK,IAAM6M,KAAS7M,EAAQ,QAAQ,CAAE,CAClC,GAAI6M,aAAiBwD,EAAQ,QAAQ,CAAE,CACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAACxD,EAAM,KAAK,EAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EAAM,IAAI,EACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EAAM,GAAG,EACxB,QACJ,CACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EACnB,CAER,CACA,WAAWuoB,CAAI,CAAE,CACb,IAAK,IAAMpX,KAAW,IAAI,CAAC,IAAI,CAC3B,GAAIA,aAAmB3N,EAAQ,YAAY,CAAE,CACzC,IAAMX,EAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAACsO,EAChC,KAAI,CAAC,IAAI,CAACtO,EAAM,CAAG0lB,EAAK,cAAc,CAACpX,EAAQ,EAAE,CAAC,AACtD,CAEJ,OAAO,KAAK,CAAC,YACjB,CACA,cAAcof,CAAG,CAAE,CAEf,OADA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAG,EAAGA,GAChB,IAAI,AACf,CACJ,CACA7+B,EAAQ,SAAS,CAAGgnC,CAGd,EAEC,SAASjnC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAMIinC,EACOA,EALX9mC,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCod,EAAQ,EAAoB,GAC5B4e,EAAyB,EAAoB,IAG/CD,EADOA,EAGQjnC,EAAQ,aAAa,EAAKA,CAAAA,EAAQ,aAAa,CAAG,CAAC,IAFpD,QAAW,CAAG,WAC5BinC,EAAc,QAAW,CAAG,UAOhCjnC,CAAAA,EAAQ,YAAY,CALpB,MAAMmnC,EACF,YAAY7oB,CAAE,CAAE,CACZ,IAAI,CAAC,EAAE,CAAGA,CACd,CACJ,CAEA,OAAM8oB,UAAkBl8B,EAAiB,YAAY,CACjD,YAAY8H,CAAI,CAAEq0B,CAAc,CAAEC,CAAM,CAAE,CACtC,KAAK,CAAC,eACN,IAAI,CAAC,MAAM,CAAGD,EACd,IAAME,EAAQ,CACV,QAAS,EACT,OAAQD,GAAkB1lC,KAAAA,EAC1B,GAAI,AAAC0lC,EAA+B1lC,KAAAA,EAAtB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,AACrC,EACM6a,EAAa,IAAIyqB,EAAuB,mBAAmB,CAACK,GAClE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC9qB,GACf,IAAI,CAAC,OAAO,CAAG,IAAI6L,EAAM,OAAO,CAAC,CAC7B,KAAMtV,EACN,MAAO,WACX,GACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAC/B,CACA,IAAI,SAAU,CACV,OAAO,IAAI,CAAC,OAAO,AACvB,CACJ,CACAhT,EAAQ,SAAS,CAAGonC,CAGd,EAEC,SAASrnC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMs8B,UAA4Bt8B,EAAiB,qBAAqB,CACpE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,GAAI,OACJ,QAAS,YACT,OAAQ,UACZ,CACJ,CACJ,CACA/G,EAAQ,mBAAmB,CAAGwnC,CAGxB,EAEC,SAASznC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCu8B,EAAU,EAAoB,IAC9Bnf,EAAQ,EAAoB,GAC5Bof,EAAwB,EAAoB,IASlD1nC,CAAAA,EAAQ,QAAQ,CARhB,MAAM2nC,EACF,YAAY1nC,CAAI,CAAE+S,CAAI,CAAE,CACpB,IAAM40B,EAASH,EAAQ,QAAQ,GAAG,WAAW,EAC7C,KAAI,CAAC,KAAK,CAAG,IAAII,EAAc5nC,EAAM2nC,GACrC,IAAI,CAAC,IAAI,CAAG,IAAItf,EAAM,OAAO,CAACtV,GAC9B,IAAI,CAAC,GAAG,CAAG,IAAI80B,EAAYF,EAC/B,CACJ,CAEA,OAAMC,UAAsB38B,EAAiB,YAAY,CACrD,YAAYjL,CAAI,CAAE2nC,CAAM,CAAE,CACtB,KAAK,CAAC,mBACN,IAAMnrB,EAAa,IAAIirB,EAAsB,uBAAuB,CAAC,CACjEznC,KAAAA,EACA,GAAI2nC,CACR,GACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAACnrB,EACnB,CACJ,CACAzc,EAAQ,aAAa,CAAG6nC,CACxB,OAAMC,UAAoB58B,EAAiB,YAAY,CACnD,YAAY08B,CAAM,CAAE,CAChB,KAAK,CAAC,iBACN,IAAMnrB,EAAa,IAAIirB,EAAsB,qBAAqB,CAAC,CAC/D,GAAIE,CACR,GACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAACnrB,EACnB,CACJ,CACAzc,EAAQ,WAAW,CAAG8nC,CAGhB,EAEC,SAAS/nC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAGA,IAAIkQ,EAAW,EAAoB,IAC/B63B,EAAQ,EAAoB,KAC5BC,EAAU,EAAoB,KAM9BC,EAAkB,EAAoB,MAAQ,EAyClD,SAASC,IACP,OAAOH,EAAME,EACf,CAGAloC,EAAO,OAAO,CAAGmoC,EACjBnoC,EAAO,OAAO,CAAC,QAAQ,CAAGmoC,EAC1BnoC,EAAO,OAAO,CAAC,IAAI,CAxCnB,SAAcooC,CAAS,EAEnB,OADAj4B,EAAS,IAAI,CAACi4B,GACPpoC,EAAO,OAAO,AACzB,EAsCAA,EAAO,OAAO,CAAC,MAAM,CA9BrB,SAAgBqoC,CAAQ,EAEpB,OADAH,EAAkBG,EACXroC,EAAO,OAAO,AACzB,EA4BAA,EAAO,OAAO,CAAC,UAAU,CArBzB,SAAoBsoC,CAAa,EAK7B,OAJsBzmC,KAAAA,IAAlBymC,GACAn4B,EAAS,UAAU,CAACm4B,GAGjBn4B,EAAS,QAAQ,EAC5B,EAgBAnQ,EAAO,OAAO,CAAC,OAAO,CAAGioC,CAGnB,EAEC,SAASjoC,CAAM,CAAEC,CAAO,CAAEgL,CAAmB,EAEpD,aAMA,IAAIkG,EAAO,CAgBXnR,CAAAA,EAAO,OAAO,CAAG,CACb,UAVJ,WAEI,MAAOmR,AADPA,CAAAA,EAAO,AAACA,CAAAA,AAAO,KAAPA,EAAc,KAAI,EAAK,MAAK,EACvB,MACjB,EAQI,KANJ,SAAiBo3B,CAAM,EACnBp3B,EAAOo3B,CACX,CAKA,CAGM,EAEC,SAASvoC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAGA,IAaIuoC,EAGAC,EAhBAN,EAAW,EAAoB,KACpB,EAAoB,GA0CnCnoC,CAAAA,EAAO,OAAO,CArBd,SAAekoC,CAAe,EAC1B,IAAIjhC,EAAM,GAENyhC,EAAUpjC,KAAK,KAAK,CAAC,AAACgwB,CAAAA,KAAK,GAAG,GAnBpB,aAmBmC,EAAK,MAetD,OAbIoT,IAAYD,EACZD,KAEAA,EAAU,EACVC,EAAkBC,GAGtBzhC,GAAYkhC,EAxBF,GAyBVlhC,GAAYkhC,EAASD,GACjBM,EAAU,GACVvhC,CAAAA,GAAYkhC,EAASK,EAAO,EAEhCvhC,GAAYkhC,EAASO,EAEzB,CAKM,EAEC,SAAS1oC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAGA,IAAIkQ,EAAW,EAAoB,IAC/Bw4B,EAAS,EAAoB,KAC7B31B,EAAS,EAAoB,IAgBjChT,CAAAA,EAAO,OAAO,CAdd,SAAkB4oC,CAAM,EAMpB,IALA,IACI9iB,EADA+iB,EAAc,EAGd5hC,EAAM,GAEH,CAAC6e,GACJ7e,GAAY+L,EAAO21B,EAAQx4B,EAAS,GAAG,GAAI,GAC3C2V,EAAO8iB,EAAUtjC,KAAK,GAAG,CAAC,GAAIujC,EAAc,GAC5CA,IAEJ,OAAO5hC,CACX,CAKM,EAEC,SAASjH,CAAM,CAAEC,CAAO,CAAEgL,CAAmB,EAEpD,aAGA,IAEI69B,EAFAC,EAAS,AAAkB,UAAlB,OAAOjoC,QAAwBA,CAAAA,OAAO,MAAM,EAAIA,OAAO,QAAQ,AAAD,EAavEgoC,EATA,AAACC,GAAWA,EAAO,eAAe,CASrB,SAAS3kC,CAAI,EACtB,OAAO2kC,EAAO,eAAe,CAAC,IAAItmC,WAAW2B,GACjD,EAVa,SAASA,CAAI,EAEtB,IAAK,IADDuB,EAAQ,EAAE,CACLrB,EAAI,EAAGA,EAAIF,EAAME,IACtBqB,EAAM,IAAI,CAACL,KAAK,KAAK,CAACA,AAAgB,IAAhBA,KAAK,MAAM,KAErC,OAAOK,CACX,EAOJ3F,EAAO,OAAO,CAAG8oC,CAGX,EAEC,SAAS9oC,CAAM,CAAEC,CAAO,EAE/BD,EAAO,OAAO,CAAG,SAAU2oC,CAAM,CAAEx4B,CAAQ,CAAE/L,CAAI,EAK/C,IAJA,IAAI4kC,EAAO,AAAC,IAAK1jC,KAAK,GAAG,CAAC6K,EAAS,MAAM,CAAG,GAAK7K,KAAK,GAAG,AAAD,EAAK,EACzD2jC,EAAO3jC,KAAK,IAAI,CAAC,IAAM0jC,EAAO5kC,EAAO+L,EAAS,MAAM,EACpDoO,EAAK,KAEI,CAGX,IAFA,IAAIja,EAAI2kC,EACJtjC,EAAQgjC,EAAOrkC,GACZA,KAEL,GAAIia,AADJA,CAAAA,GAAMpO,CAAQ,CAACxK,CAAK,CAACrB,EAAE,CAAG0kC,EAAK,EAAI,EAAC,EAC7B,MAAM,GAAK,CAAC5kC,EAAM,OAAOma,CAEpC,CACF,CAGM,EAEC,SAASve,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,IAAIkQ,EAAW,EAAoB,GAanCnQ,CAAAA,EAAO,OAAO,CAXd,SAAmBue,CAAE,QACjB,CAAI,CAACA,GAAM,AAAc,UAAd,OAAOA,IAAmBA,CAAAA,EAAG,MAAM,CAAG,IAO1C,CAAC2qB,AAHY,AAAIC,OAAO,KAC7Bh5B,EAAS,GAAG,GAAG,OAAO,CAAC,uBAAwB,QACjD,KACsB,IAAI,CAACoO,EAC/B,CAKM,EAEC,SAASve,CAAM,CAAEC,CAAO,CAAEgL,CAAmB,EAEpD,YAGAjL,CAAAA,EAAO,OAAO,CAAG,CAGX,EAEC,SAASA,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMi+B,UAAgCj+B,EAAiB,qBAAqB,CACxE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,GAAI,OACJ,KAAM,QACV,CACJ,CACJ,CACA/G,EAAQ,uBAAuB,CAAGmpC,CAClC,OAAMC,UAA8Bl+B,EAAiB,qBAAqB,CACtE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,GAAI,MACR,CACJ,CACJ,CACA/G,EAAQ,qBAAqB,CAAGopC,CAG1B,EAEC,SAASrpC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMm+B,UAAqBn+B,EAAiB,YAAY,CACpD,YAAY4H,CAAK,CAAE,CACf,KAAK,CAAC,gBACN,IAAI,CAAC,KAAK,CAAGA,EACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI5H,EAAiB,UAAU,CAAC,CAC3C,IAAK4H,CACT,GACJ,CACJ,CACA9S,EAAQ,YAAY,CAAGqpC,CAGjB,EAEC,SAAStpC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMo+B,UAAsBp+B,EAAiB,YAAY,CACrD,aAAc,CACV,KAAK,CAAC,SACV,CACJ,CACAlL,EAAQ,aAAa,CAAGspC,CAGlB,EAEC,SAASvpC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,IAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM7F,UAAa6F,EAAiB,YAAY,CAC5C,YAAYzJ,CAAO,CAAE,CAEjB,IAAK,IAAM6M,KADX,KAAK,CAAC,WACc7M,EAAQ,QAAQ,EAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC6M,EAEvB,CACJ,CACAtO,EAAQ,IAAI,CAAGqF,CAGT,EAEC,SAAStF,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCq+B,EAAc,EAAoB,IACxC,OAAMC,UAAgBt+B,EAAiB,YAAY,CAC/C,YAAY8H,CAAI,CAAE,CACd,KAAK,CAAC,OACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIu2B,EAAY,QAAQ,CAACv2B,GAC5C,CACJ,CACAhT,EAAQ,OAAO,CAAGwpC,CAGZ,EAEC,SAASzpC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMu+B,UAAiBv+B,EAAiB,YAAY,CAChD,YAAY8H,CAAI,CAAE,CACd,KAAK,CAAC,OACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EACnB,CACJ,CACAhT,EAAQ,QAAQ,CAAGypC,CAGb,EAEC,SAAS1pC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,IAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCw+B,EAAqB,EAAoB,IACzCC,EAAmB,EAAoB,GAC7C,OAAMC,UAAqB1+B,EAAiB,YAAY,CACpD,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,OACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIkoC,EAAiB,aAAa,CAACloC,EAAQ,SAAS,GACnE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIioC,EAAmB,eAAe,CAACjoC,EAAQ,WAAW,EAC7E,CACJ,CACAzB,EAAQ,YAAY,CAAG4pC,CAGjB,EAEC,SAAS7pC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM2+B,UAAoC3+B,EAAiB,qBAAqB,CAC5E,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,KAAM,OAAQ,CACnC,CACJ,CACA,MAAM+iC,UAA0B5+B,EAAiB,YAAY,CACzD,aAAc,CACV,KAAK,CAAC,aACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI2+B,EAA4B,CAAE,KAAM,CAAE,GAC7D,CACJ,CACA7pC,EAAQ,iBAAiB,CAAG8pC,CAGtB,EAEC,SAAS/pC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM6+B,UAAsC7+B,EAAiB,qBAAqB,CAC9E,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,KAAM,OAAQ,CACnC,CACJ,CACA,MAAMijC,UAA4B9+B,EAAiB,YAAY,CAC3D,aAAc,CACV,KAAK,CAAC,aACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6+B,EAA8B,CAAE,KAAM,CAAE,GAC/D,CACJ,CACA/pC,EAAQ,mBAAmB,CAAGgqC,CAGxB,EAEC,SAASjqC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC++B,EAAc,EAAoB,IAClCC,EAA0B,EAAoB,IAC9CC,EAAoB,EAAoB,IACxCC,EAAsB,EAAoB,GAChD,OAAMC,UAAgBn/B,EAAiB,YAAY,CAC/C,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,UACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIyoC,EAAwB,mBAAmB,CAAC,IAAK,CAAC,CAACzoC,EAAQ,WAAW,CAAE,CAAC,CAACA,EAAQ,SAAS,GACxGA,EAAQ,SAAS,EACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI0oC,EAAkB,oBAAoB,CAAC1oC,EAAQ,SAAS,GAEzEA,EAAQ,WAAW,EACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI2oC,EAAoB,sBAAsB,CAAC3oC,EAAQ,WAAW,GAErF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIwoC,EAAY,QAAQ,CAACxoC,EAAQ,QAAQ,EAC5D,CACJ,CACAzB,EAAQ,OAAO,CAAGqqC,CAGZ,EAEC,SAAStqC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,IAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCo/B,EAAU,EAAoB,GAC9BC,EAA0C,EAAoB,GACpE,OAAMC,UAAwBt/B,EAAiB,YAAY,CACvD,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,UACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI8oC,EAAwC,yBAAyB,EACpF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAID,EAAQ,QAAQ,CAAC7oC,EAAQ,QAAQ,GACpD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6oC,EAAQ,sBAAsB,CAAC7oC,EAAQ,WAAW,EACzE,CACJ,CACAzB,EAAQ,eAAe,CAAGwqC,CAGpB,EAEC,SAASzqC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,IAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCo/B,EAAU,EAAoB,GAC9BG,EAAwC,EAAoB,GAClE,OAAMC,UAAsBx/B,EAAiB,YAAY,CACrD,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,UACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIgpC,EAAsC,uBAAuB,EAChF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIH,EAAQ,QAAQ,CAAC7oC,EAAQ,QAAQ,GACpD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6oC,EAAQ,oBAAoB,CAAC7oC,EAAQ,SAAS,EACrE,CACJ,CACAzB,EAAQ,aAAa,CAAG0qC,CAGlB,EAEC,SAAS3qC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,IAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCo/B,EAAU,EAAoB,GAC9BK,EAA8C,EAAoB,GACxE,OAAMC,UAA2B1/B,EAAiB,YAAY,CAC1D,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,aACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIkpC,EAA4C,4BAA4B,EAC3F,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIL,EAAQ,QAAQ,CAAC7oC,EAAQ,QAAQ,GACpD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6oC,EAAQ,oBAAoB,CAAC7oC,EAAQ,SAAS,GACjE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6oC,EAAQ,sBAAsB,CAAC7oC,EAAQ,WAAW,EACzE,CACJ,CACAzB,EAAQ,kBAAkB,CAAG4qC,CAGvB,EAEC,SAAS7qC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,IAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCo/B,EAAU,EAAoB,GAC9BO,EAAkD,EAAoB,GAC5E,OAAMC,UAA8B5/B,EAAiB,YAAY,CAC7D,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,UACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIopC,EAAgD,+BAA+B,EAClG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIP,EAAQ,QAAQ,CAAC7oC,EAAQ,QAAQ,GACpD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6oC,EAAQ,oBAAoB,CAAC7oC,EAAQ,SAAS,GACjE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6oC,EAAQ,sBAAsB,CAAC7oC,EAAQ,WAAW,EACzE,CACJ,CACAzB,EAAQ,qBAAqB,CAAG8qC,CAG1B,EAEC,SAAS/qC,CAAM,CAAEC,CAAO,CAAEgL,CAAmB,EAEpD,aAEA7K,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DA,EAAQ,WAAW,CAAG,EAGhB,EAEC,SAASD,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCo/B,EAAU,EAAoB,GAC9BS,EAAgB,EAAoB,IACpCC,EAA4B,EAAoB,IACtD,OAAMC,UAAoB//B,EAAiB,YAAY,CACnD,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,SACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIupC,EAA0B,qBAAqB,CAAC,CAAC,CAACvpC,EAAQ,MAAM,GACnF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIspC,EAAc,UAAU,CAACtpC,EAAQ,MAAM,GAC1D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6oC,EAAQ,QAAQ,CAAC7oC,EAAQ,QAAQ,EACxD,CACJ,CACAzB,EAAQ,WAAW,CAAGirC,CAGhB,EAEC,SAASlrC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMggC,UAAiChgC,EAAiB,qBAAqB,CACzE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,KAAM,OAAQ,CACnC,CACJ,CACA,MAAMokC,UAAuBjgC,EAAiB,YAAY,CACtD,aAAc,CACV,KAAK,CAAC,aACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIggC,EAAyB,CAAE,KAAM,CAAE,GAC1D,CACJ,CACAlrC,EAAQ,cAAc,CAAGmrC,CAGnB,EAEC,SAASprC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCo/B,EAAU,EAAoB,GAC9Bc,EAAuB,EAAoB,KAC3CC,EAA6B,EAAoB,IACvD,OAAMC,UAAqBpgC,EAAiB,YAAY,CACpD,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,UACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI4pC,EAA2B,sBAAsB,EACpE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAID,EAAqB,gBAAgB,CAAC3pC,EAAQ,IAAI,GACrE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6oC,EAAQ,QAAQ,CAAC7oC,EAAQ,QAAQ,EACxD,CACJ,CACAzB,EAAQ,YAAY,CAAGsrC,CAGjB,EAEC,SAASvrC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCo/B,EAAU,EAAoB,GAC9BiB,EAA4B,EAAoB,GACtD,OAAMC,UAA0BtgC,EAAiB,YAAY,CACzD,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,OACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI8pC,EAA0B,qBAAqB,EAClE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIjB,EAAQ,QAAQ,CAAC7oC,EAAQ,QAAQ,EACxD,CACJ,CACAzB,EAAQ,iBAAiB,CAAGwrC,CAGtB,EAEC,SAASzrC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMugC,UAAyCvgC,EAAiB,qBAAqB,CACjF,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,UAAW,OAAQ,CACxC,CACJ,CACA,MAAM2kC,UAA+BxgC,EAAiB,YAAY,CAC9D,YAAYygC,CAAS,CAAE,CACnB,KAAK,CAAC,YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIF,EAAiC,CAAEE,UAAAA,CAAU,GACpE,CACJ,CACA3rC,EAAQ,sBAAsB,CAAG0rC,CAG3B,EAEC,SAAS3rC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM0gC,UAAsC1gC,EAAiB,qBAAqB,CAC9E,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,UAAW,OAAQ,CACxC,CACJ,CACA,MAAM8kC,UAA4B3gC,EAAiB,YAAY,CAC3D,YAAYygC,CAAS,CAAE,CACnB,KAAK,CAAC,YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIC,EAA8B,CAAED,UAAAA,CAAU,GACjE,CACJ,CACA3rC,EAAQ,mBAAmB,CAAG6rC,CAGxB,EAEC,SAAS9rC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCo/B,EAAU,EAAoB,GAC9BiB,EAA4B,EAAoB,GACtD,OAAMO,UAA2B5gC,EAAiB,YAAY,CAC1D,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,OACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI8pC,EAA0B,qBAAqB,CAAC,CAC/D,mBAAoB,IACpB,gBAAiB,GACrB,IACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIjB,EAAQ,QAAQ,CAAC7oC,EAAQ,QAAQ,EACxD,CACJ,CACAzB,EAAQ,kBAAkB,CAAG8rC,CAGvB,EAEC,SAAS/rC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCo/B,EAAU,EAAoB,GAC9BiB,EAA4B,EAAoB,GACtD,OAAMQ,UAA0B7gC,EAAiB,YAAY,CACzD,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,OACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI8pC,EAA0B,qBAAqB,CAAC,CAC/D,mBAAoB,IACpB,gBAAiB,GACrB,IACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIjB,EAAQ,QAAQ,CAAC7oC,EAAQ,QAAQ,EACxD,CACJ,CACAzB,EAAQ,iBAAiB,CAAG+rC,CAGtB,EAEC,SAAShsC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCo/B,EAAU,EAAoB,GAC9BiB,EAA4B,EAAoB,GACtD,OAAMS,UAA2B9gC,EAAiB,YAAY,CAC1D,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,OACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI8pC,EAA0B,qBAAqB,CAAC,CAC/D,mBAAoB,IACpB,gBAAiB,GACrB,IACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIjB,EAAQ,QAAQ,CAAC7oC,EAAQ,QAAQ,EACxD,CACJ,CACAzB,EAAQ,kBAAkB,CAAGgsC,CAGvB,EAEC,SAASjsC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC+gC,EAAS,EAAoB,KAC7BC,EAAe,EAAoB,IACnCC,EAAqB,EAAoB,IAC/C,OAAMC,UAAclhC,EAAiB,YAAY,CAC7C,YAAY,CAAEmhC,KAAAA,CAAI,CAAE7b,MAAAA,CAAK,CAAE8b,aAAAA,EAAe7jC,MAAMpD,KAAK,GAAG,IAAIgnC,EAAK,GAAG,CAAC,AAACE,GAAQA,EAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAE,QAAS,CAAEC,eAAAA,CAAc,CAAEhxB,IAAAA,CAAG,CAAEC,OAAAA,CAAM,CAAEE,MAAAA,CAAK,CAAED,KAAAA,CAAI,CAAE,CAAG,CAAE,eAAgBwwB,EAAa,SAAS,CAAC,IAAI,CAAE,IAAK,EAAG,OAAQ,EAAG,MAAO,EAAG,KAAM,CAAE,CAAC,CAAEO,MAAAA,CAAK,CAAEC,OAAAA,CAAM,CAAEC,QAAAA,CAAO,CAAE15B,UAAAA,CAAS,CAAG,CAAE,CAqB3R,IAAK,IAAMs5B,KApBX,KAAK,CAAC,SACN,IAAI,CAAC,UAAU,CAAG,IAAIJ,EAAmB,eAAe,CACxD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAC1BQ,EACA,IAAI,CAAC,UAAU,CAAC,SAAS,CAACA,GAG1B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,GAE3Bnc,EACA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAACA,EAAM,IAAI,CAAEA,EAAM,IAAI,EAG/C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAE7B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC/U,GAAU,EAAG+wB,GACxD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAChxB,GAAO,EAAGgxB,GAClD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC9wB,GAAQ,EAAG8wB,GACpD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC7wB,GAAS,EAAG6wB,GACtD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIP,EAAO,SAAS,CAACK,IAClBD,GACd,IAAI,CAAC,IAAI,CAAC,IAAI,CAACE,GAEnBF,EAAK,OAAO,CAAC,CAACE,EAAKK,KACf,GAAIA,IAAaP,EAAK,MAAM,CAAG,EAC3B,OAEJ,IAAIQ,EAAc,EAClBN,EAAI,KAAK,CAAC,OAAO,CAAC,AAACO,IACf,GAAIA,EAAK,OAAO,CAAC,OAAO,EAAIA,EAAK,OAAO,CAAC,OAAO,CAAG,EAAG,CAClD,IAAMC,EAAe,IAAIb,EAAa,SAAS,CAAC,CAC5C,QAASY,EAAK,OAAO,CAAC,OAAO,CAAG,EAChC,WAAYA,EAAK,OAAO,CAAC,UAAU,CACnC,QAASA,EAAK,OAAO,CAAC,OAAO,CAC7B,SAAU,EAAE,CACZ,cAAeZ,EAAa,iBAAiB,CAAC,QAAQ,AAC1D,GACAG,CAAI,CAACO,EAAW,EAAE,CAAC,oBAAoB,CAACG,EAAcF,EAC1D,CACAA,GAAeC,EAAK,OAAO,CAAC,UAAU,EAAI,CAC9C,EACJ,GACIL,GACA,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAACA,GAExCC,GACA,IAAI,CAAC,UAAU,CAAC,SAAS,CAACA,GAE1Bz5B,GACA,IAAI,CAAC,UAAU,CAAC,YAAY,CAACA,EAErC,CACJ,CACAjT,EAAQ,KAAK,CAAGosC,CAGV,EAEC,SAASrsC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM8hC,UAAkB9hC,EAAiB,YAAY,CACjD,YAAY+hC,CAAM,CAAE,CAEhB,IAAK,IAAMzc,KADX,KAAK,CAAC,aACcyc,GAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIC,EAAQ1c,GAEnC,CACJ,CACAxwB,EAAQ,SAAS,CAAGgtC,CACpB,OAAMG,UAA0BjiC,EAAiB,qBAAqB,CAClE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,EAAG,KAAM,CAC9B,CACJ,CACA,MAAMmmC,UAAgBhiC,EAAiB,YAAY,CAC/C,YAAYslB,CAAK,CAAE,CACf,KAAK,CAAC,aACQ5uB,KAAAA,IAAV4uB,GACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI2c,EAAkB,CAAE,EAAG3c,CAAM,GAExD,CACJ,CACAxwB,EAAQ,OAAO,CAAGktC,CAGZ,EAEC,SAASntC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMqd,EAAc,EAAoB,GAClCnS,EAAmB,EAAoB,GACvCkiC,EAA0B,EAAoB,IAC9CC,EAA0B,EAAoB,IACpD,OAAMC,UAAkBpiC,EAAiB,YAAY,CACjD,YAAYzJ,CAAO,CAAE,CAKjB,IAAK,IAAM6M,KAJX,KAAK,CAAC,QACN,IAAI,CAAC,OAAO,CAAG7M,EACf,IAAI,CAAC,UAAU,CAAG,IAAI4rC,EAAwB,mBAAmB,CACjE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EACV5rC,EAAQ,QAAQ,EAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC6M,EAEf7M,CAAAA,EAAQ,aAAa,EACrB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAACA,EAAQ,aAAa,EAEtDA,EAAQ,aAAa,EACrB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAACA,EAAQ,aAAa,EAEtDA,EAAQ,aAAa,CACrB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAACA,EAAQ,aAAa,EAEjDA,EAAQ,OAAO,EAAIA,EAAQ,OAAO,CAAG,GAC1C,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC2rC,EAAwB,iBAAiB,CAAC,OAAO,EAElF3rC,EAAQ,OAAO,EACf,IAAI,CAAC,UAAU,CAAC,UAAU,CAACA,EAAQ,OAAO,EAE1CA,EAAQ,OAAO,EACf,IAAI,CAAC,UAAU,CAAC,UAAU,CAACA,EAAQ,OAAO,EAE1CA,EAAQ,UAAU,EAClB,IAAI,CAAC,UAAU,CAAC,WAAW,CAACA,EAAQ,UAAU,EAE9CA,EAAQ,KAAK,EACb,IAAI,CAAC,UAAU,CAAC,QAAQ,CAACA,EAAQ,KAAK,CAAC,IAAI,CAAEA,EAAQ,KAAK,CAAC,IAAI,EAE/DA,EAAQ,OAAO,GACXA,EAAQ,OAAO,CAAC,GAAG,EACnB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAACA,EAAQ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAEA,EAAQ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAEA,EAAQ,OAAO,CAAC,GAAG,CAAC,KAAK,EAEnHA,EAAQ,OAAO,CAAC,MAAM,EACtB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAACA,EAAQ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAEA,EAAQ,OAAO,CAAC,MAAM,CAAC,IAAI,CAAEA,EAAQ,OAAO,CAAC,MAAM,CAAC,KAAK,EAE/HA,EAAQ,OAAO,CAAC,IAAI,EACpB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAACA,EAAQ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAEA,EAAQ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAEA,EAAQ,OAAO,CAAC,IAAI,CAAC,KAAK,EAEvHA,EAAQ,OAAO,CAAC,KAAK,EACrB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAACA,EAAQ,OAAO,CAAC,KAAK,CAAC,KAAK,CAAEA,EAAQ,OAAO,CAAC,KAAK,CAAC,IAAI,CAAEA,EAAQ,OAAO,CAAC,KAAK,CAAC,KAAK,EAGvI,CACA,WAAWo1B,CAAI,CAAE,CAIb,MAHI,CAAE,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAG,EAAE,WAAYxZ,EAAY,SAAS,AAAD,GACjE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAY,SAAS,CAAC,CAAC,IAEvC,KAAK,CAAC,WAAWwZ,EAC5B,CACJ,CACA72B,EAAQ,SAAS,CAAGstC,CAGd,EAEC,SAASvtC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCqiC,EAAY,EAAoB,IAChCC,EAAuB,EAAoB,KAC3CJ,EAA0B,EAAoB,GACpD,OAAMK,UAA4BviC,EAAiB,yBAAyB,CACxE,aAAc,CACV,KAAK,CAAC,UACN,IAAI,CAAC,UAAU,CAAG,IAAIkiC,EAAwB,gBAAgB,CAC9D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAClC,CACA,IAAI,SAAU,CACV,OAAO,IAAI,CAAC,UAAU,AAC1B,CACA,YAAYM,CAAQ,CAAE,CAElB,OADA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIN,EAAwB,QAAQ,CAACM,IAC7C,IAAI,AACf,CACA,iBAAiBp5B,CAAI,CAAE,CAEnB,OADA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI84B,EAAwB,aAAa,CAAC94B,IAClD,IAAI,AACf,CACA,iBAAiBA,CAAI,CAAE,CAEnB,OADA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI84B,EAAwB,MAAM,CAAC94B,IAC3C,IAAI,AACf,CACA,SAASkc,CAAK,CAAElc,EAAO84B,EAAwB,SAAS,CAAC,IAAI,CAAE,CAE3D,OADA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAwB,cAAc,CAAC5c,EAAOlc,IAC1D,IAAI,AACf,CACA,WAAWgH,CAAK,CAAE,CAEd,OADA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIiyB,EAAU,YAAY,CAACjyB,IACnC,IAAI,AACf,CACA,WAAW7Z,CAAO,CAAE,CAEhB,OADA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI+rC,EAAqB,eAAe,CAAC/rC,IACjD,IAAI,AACf,CACA,iBAAiB6S,CAAI,CAAE,CAEnB,OADA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI84B,EAAwB,UAAU,CAAC94B,IAC/C,IAAI,AACf,CACJ,CACAtU,EAAQ,mBAAmB,CAAGytC,CAGxB,EAEC,SAAS1tC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAqBI2tC,EACOA,EApBXxtC,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM0iC,UAA+B1iC,EAAiB,qBAAqB,CACvE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,KAAM,SACN,MAAO,UACP,IAAK,OACT,CACJ,CACJ,CACA,MAAM8mC,UAAqB3iC,EAAiB,YAAY,CACpD,YAAYoQ,CAAK,CAAE,CACf,KAAK,CAAC,SACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIsyB,EAAuBtyB,GAC9C,CACJ,CACAtb,EAAQ,YAAY,CAAG6tC,EAGnBF,CADOA,EAsCM3tC,EAAQ,WAAW,EAAKA,CAAAA,EAAQ,WAAW,CAAG,CAAC,IArChD,KAAQ,CAAG,QACvB2tC,EAAY,cAAiB,CAAG,YAChCA,EAAY,eAAkB,CAAG,aACjCA,EAAY,gBAAmB,CAAG,YAClCA,EAAY,iBAAoB,CAAG,aACnCA,EAAY,GAAM,CAAG,MACrBA,EAAY,SAAY,CAAG,OAC3BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,UAAa,CAAG,QAC5BA,EAAY,uBAA0B,CAAG,oBACzCA,EAAY,KAAQ,CAAG,QACvBA,EAAY,mBAAsB,CAAG,gBACrCA,EAAY,oBAAuB,CAAG,iBACtCA,EAAY,qBAAwB,CAAG,gBACvCA,EAAY,4BAA+B,CAAG,wBAC9CA,EAAY,oBAAuB,CAAG,iBACtCA,EAAY,eAAkB,CAAG,YAI/B,EAEC,SAAS5tC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC4iC,EAAgB,EAAoB,IAC1C,OAAMC,UAAwB7iC,EAAiB,YAAY,CACvD,YAAY,CAAEsQ,IAAAA,EAAM,CAAC,CAAEE,KAAAA,EAAO,CAAC,CAAEC,MAAAA,EAAQ,CAAC,CAAEF,OAAAA,EAAS,CAAC,CAAE,CAAE,CACtD,KAAK,CAAC,WACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIqyB,EAAc,aAAa,CAACtyB,IAC/C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIsyB,EAAc,gBAAgB,CAACryB,IAClD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIqyB,EAAc,eAAe,CAACnyB,IACjD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAImyB,EAAc,cAAc,CAACpyB,GACpD,CACJ,CACA1b,EAAQ,eAAe,CAAG+tC,CAGpB,EAEC,SAAShuC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM8iC,UAA6B9iC,EAAiB,qBAAqB,CACrE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,MAAO,MAAO,KAAM,QAAS,CAClD,CACJ,CACA,MAAMknC,UAAsB/iC,EAAiB,YAAY,CACrD,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,SACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAImsC,EAAqB,CACpC,MAAOnsC,EACP,KAAM,KACV,GACJ,CACJ,CACA7B,EAAQ,aAAa,CAAGiuC,CACxB,OAAMC,UAAyBhjC,EAAiB,YAAY,CACxD,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAImsC,EAAqB,CACpC,MAAOnsC,EACP,KAAM,KACV,GACJ,CACJ,CACA7B,EAAQ,gBAAgB,CAAGkuC,CAC3B,OAAMC,UAAuBjjC,EAAiB,YAAY,CACtD,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,WACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAImsC,EAAqB,CACpC,MAAOnsC,EACP,KAAM,KACV,GACJ,CACJ,CACA7B,EAAQ,cAAc,CAAGmuC,CACzB,OAAMC,UAAwBljC,EAAiB,YAAY,CACvD,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,SACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAImsC,EAAqB,CACpC,MAAOnsC,EACP,KAAM,KACV,GACJ,CACJ,CACA7B,EAAQ,eAAe,CAAGouC,CAGpB,EAEC,SAASruC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCmS,EAAc,EAAoB,GAClCkwB,EAAY,EAAoB,IAChCrB,EAAe,EAAoB,IACnCmC,EAAkB,EAAoB,KACtCC,EAAsB,EAAoB,KAC1CC,EAA2B,EAAoB,KAC/CC,EAAiB,EAAoB,KACrCC,EAAgB,EAAoB,IAC1C,OAAMvxB,UAAwBhS,EAAiB,yBAAyB,CACpE,aAAc,CACV,KAAK,CAAC,WACN,IAAI,CAAC,UAAU,CAAG,IAAIojC,EAAoB,eAAe,CACzD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAClC,CACA,SAAS9d,CAAK,CAAElc,EAAO43B,EAAa,SAAS,CAAC,IAAI,CAAE,CAEhD,OADA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIuC,EAAc,mBAAmB,CAACn6B,EAAMkc,IACpD,IAAI,AACf,CACA,UAAUlc,CAAI,CAAE,CACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIk6B,EAAe,WAAW,CAACl6B,GAClD,CACA,UAAUo6B,CAAa,CAAE,CAErB,OADA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIL,EAAgB,YAAY,CAACK,IACzC,IAAI,AACf,CACA,IAAI,YAAa,CACb,OAAO,IAAI,CAAC,UAAU,AAC1B,CACA,wBAAwBC,CAAiB,CAAE,CAEvC,OADA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIJ,EAAyB,oBAAoB,CAACI,IAC1D,IAAI,AACf,CACA,WAAWrzB,CAAK,CAAE,CAEd,OADA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIiyB,EAAU,YAAY,CAACjyB,IACnC,IAAI,AACf,CACA,aAAahH,CAAI,CAAE,CACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI+I,EAAY,SAAS,CAAC/I,GAC7C,CACJ,CACAtU,EAAQ,eAAe,CAAGkd,CAGpB,EAEC,SAASnd,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAKAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCK,EAAU,EAAoB,MACpCjL,AANA,SAAkBC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,EAIS,EAAoB,KAC7B,OAAMouC,UAAe1jC,EAAiB,YAAY,CAC9C,YAAYzJ,CAAO,CAAE,CAKjB,GAJA,KAAK,CAAC,YACFA,EAAQ,aAAa,EACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EAAQ,aAAa,EAEpCA,EAAQ,cAAc,CACtB,IAAK,IAAMyR,KAASzR,EAAQ,cAAc,CACtC,IAAI,CAAC,IAAI,CAAC,IAAI,CAACyR,GAGvB,GAAIzR,EAAQ,eAAe,CACvB,IAAK,IAAMyR,KAASzR,EAAQ,eAAe,CACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI8J,EAAQ,iBAAiB,CAAC2H,IAGrD,GAAIzR,EAAQ,eAAe,CACvB,IAAK,IAAMyR,KAASzR,EAAQ,eAAe,CACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI8J,EAAQ,iBAAiB,CAAC2H,GAGzD,CACJ,CACAlT,EAAQ,MAAM,CAAG4uC,CAGX,EAEC,SAAS7uC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMwL,EAAc,EAAoB,IAClCqjC,EAAoB,EAAoB,IACxCC,EAAoB,EAAoB,GAC9C,OAAMC,UAAqBD,EAAkB,iBAAiB,CAC1D,YAAYrtC,CAAO,CAAE,CACjB,KAAK,CAACtB,OAAO,MAAM,CAAC,CAAC,EAAGsB,EAAS,CAAE,QAAS,SAAU,KAAM,SAAU,YAAa,EAAK,GAC5F,CACJ,CACAzB,EAAQ,YAAY,CAAG+uC,CAMvB/uC,CAAAA,EAAQ,UAAU,CALlB,MAAMgvC,UAAmBD,EACrB,YAAYttC,CAAO,CAAE,CACjB,KAAK,CAACtB,OAAO,MAAM,CAAC,CAAC,EAAGsB,EAAS,CAAE,GAAI,QAAS,KAAM,OAAQ,GAClE,CACJ,CAOAzB,CAAAA,EAAQ,aAAa,CALrB,MAAMivC,UAAsBF,EACxB,YAAYttC,CAAO,CAAE,CACjB,KAAK,CAACtB,OAAO,MAAM,CAAC,CAAC,EAAGsB,EAAS,CAAE,GAAI,WAAY,KAAM,WAAY,GACzE,CACJ,CAOAzB,CAAAA,EAAQ,aAAa,CALrB,MAAMkvC,UAAsBH,EACxB,YAAYttC,CAAO,CAAE,CACjB,KAAK,CAACtB,OAAO,MAAM,CAAC,CAAC,EAAGsB,EAAS,CAAE,GAAI,WAAY,KAAM,WAAY,GACzE,CACJ,CAOAzB,CAAAA,EAAQ,aAAa,CALrB,MAAMmvC,UAAsBJ,EACxB,YAAYttC,CAAO,CAAE,CACjB,KAAK,CAACtB,OAAO,MAAM,CAAC,CAAC,EAAGsB,EAAS,CAAE,GAAI,WAAY,KAAM,WAAY,GACzE,CACJ,CAOAzB,CAAAA,EAAQ,aAAa,CALrB,MAAMovC,UAAsBL,EACxB,YAAYttC,CAAO,CAAE,CACjB,KAAK,CAACtB,OAAO,MAAM,CAAC,CAAC,EAAGsB,EAAS,CAAE,GAAI,WAAY,KAAM,WAAY,GACzE,CACJ,CAOAzB,CAAAA,EAAQ,aAAa,CALrB,MAAMqvC,UAAsBN,EACxB,YAAYttC,CAAO,CAAE,CACjB,KAAK,CAACtB,OAAO,MAAM,CAAC,CAAC,EAAGsB,EAAS,CAAE,GAAI,WAAY,KAAM,WAAY,GACzE,CACJ,CAOAzB,CAAAA,EAAQ,aAAa,CALrB,MAAMsvC,UAAsBP,EACxB,YAAYttC,CAAO,CAAE,CACjB,KAAK,CAACtB,OAAO,MAAM,CAAC,CAAC,EAAGsB,EAAS,CAAE,GAAI,WAAY,KAAM,WAAY,GACzE,CACJ,CAOAzB,CAAAA,EAAQ,WAAW,CALnB,MAAMuvC,UAAoBR,EACtB,YAAYttC,CAAO,CAAE,CACjB,KAAK,CAACtB,OAAO,MAAM,CAAC,CAAC,EAAGsB,EAAS,CAAE,GAAI,SAAU,KAAM,QAAS,GACpE,CACJ,CAEA,OAAM+tC,UAAsBV,EAAkB,iBAAiB,CAC3D,YAAYrtC,CAAO,CAAE,CACjB,KAAK,CAACtB,OAAO,MAAM,CAAC,CAAC,EAAGsB,EAAS,CAAE,GAAI,gBAAiB,KAAM,iBAAkB,QAAS,SAAU,YAAa,EAAK,GACzH,CACJ,CACAzB,EAAQ,aAAa,CAAGwvC,CACxB,OAAMC,UAAqBX,EAAkB,iBAAiB,CAC1D,YAAYrtC,CAAO,CAAE,CACjB,KAAK,CAACtB,OAAO,MAAM,CAAC,CAAC,EAAGsB,EAAS,CAAE,GAAI,eAAgB,KAAM,gBAAiB,KAAM,mBAAoB,QAAS,SAAU,WAAY,GAAI,WAAY,GAAM,eAAgB,GAAM,UAAW,CACtL,QAAS,CACL,MAAO,EACP,KAAM,IACN,SAAU,MACd,CACJ,EAAG,IAAK,CACJ,KAAM,EACV,CAAE,GACV,CACJ,CACAzB,EAAQ,YAAY,CAAGyvC,CACvB,OAAMC,UAA+Bb,EAAkB,iBAAiB,CACpE,YAAYptC,CAAO,CAAE,CACjB,KAAK,CAACtB,OAAO,MAAM,CAAC,CAAC,EAAGsB,EAAS,CAAE,GAAI,oBAAqB,KAAM,qBAAsB,QAAS,uBAAwB,WAAY,GAAM,IAAK,CACxI,YAAa,EACjB,CAAE,GACV,CACJ,CACAzB,EAAQ,sBAAsB,CAAG0vC,CACjC,OAAMC,UAAyBd,EAAkB,iBAAiB,CAC9D,YAAYptC,CAAO,CAAE,CACjB,KAAK,CAACtB,OAAO,MAAM,CAAC,CAAC,EAAGsB,EAAS,CAAE,GAAI,mBAAoB,KAAM,qBAAsB,QAAS,uBAAwB,KAAM,eAAgB,WAAY,GAAM,IAAK,CAC7J,KAAM,EACV,CAAE,GACV,CACJ,CACAzB,EAAQ,gBAAgB,CAAG2vC,CAC3B,OAAMC,UAAuBf,EAAkB,iBAAiB,CAC5D,YAAYptC,CAAO,CAAE,CACjB,KAAK,CAACtB,OAAO,MAAM,CAAC,CAAC,EAAGsB,EAAS,CAAE,GAAI,YAAa,KAAM,YAAa,QAAS,uBAAwB,IAAK,CACrG,MAAO,SACP,UAAW,CACP,KAAM+J,EAAY,aAAa,CAAC,MAAM,AAC1C,CACJ,CAAE,GACV,CACJ,CACAxL,EAAQ,cAAc,CAAG4vC,CAGnB,EAEC,SAAS7vC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAKAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,IAC3DM,AAJA,SAAkBC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,EAES,EAAoB,KAGvB,EAEC,SAAST,CAAM,CAAEC,CAAO,CAAEgL,CAAmB,EAEpD,iBAGI6kC,EACOA,EAFX1vC,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAGvD6vC,CADOA,EA4BM7vC,EAAQ,WAAW,EAAKA,CAAAA,EAAQ,WAAW,CAAG,CAAC,IA3BhD,MAAS,CAAG,SACxB6vC,EAAY,gBAAmB,CAAG,iBAClCA,EAAY,MAAS,CAAG,SACxBA,EAAY,cAAiB,CAAG,eAChCA,EAAY,QAAW,CAAG,UAC1BA,EAAY,YAAe,CAAG,aAC9BA,EAAY,MAAS,CAAG,SACxBA,EAAY,MAAS,CAAG,SACxBA,EAAY,WAAc,CAAG,aAC7BA,EAAY,KAAQ,CAAG,QACvBA,EAAY,GAAM,CAAG,MACrBA,EAAY,IAAO,CAAG,OACtBA,EAAY,MAAS,CAAG,SACxBA,EAAY,KAAQ,CAAG,QACvBA,EAAY,oBAAuB,CAAG,oBACtCA,EAAY,qBAAwB,CAAG,qBACvCA,EAAY,oBAAuB,CAAG,oBACtCA,EAAY,oBAAuB,CAAG,oBACtCA,EAAY,qBAAwB,CAAG,qBACvCA,EAAY,oBAAuB,CAAG,oBACtCA,EAAY,yBAA4B,CAAG,wBAC3CA,EAAY,0BAA6B,CAAG,yBAC5CA,EAAY,yBAA4B,CAAG,wBAC3CA,EAAY,cAAiB,CAAG,eAChCA,EAAY,eAAkB,CAAG,gBACjCA,EAAY,MAAS,CAAG,SACxBA,EAAY,IAAO,CAAG,MAIpB,EAEC,SAAS9vC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC4kC,EAAyB,EAAoB,KAC7CC,EAAmB,EAAoB,IAC7C,OAAMC,UAAyB9kC,EAAiB,YAAY,CACxD,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,iBACN,IAAI,CAAC,qBAAqB,CAAG,IAAIsuC,EAAiB,qBAAqB,CAACtuC,GAAWA,EAAQ,GAAG,EAC9F,IAAI,CAAC,2BAA2B,CAAG,IAAIquC,EAAuB,2BAA2B,CAACruC,GAAWA,EAAQ,SAAS,EACtH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CACnD,CACJ,CACAzB,EAAQ,gBAAgB,CAAGgwC,CAGrB,EAEC,SAASjwC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCghC,EAAe,EAAoB,GACzC,OAAM+D,UAAkC/kC,EAAiB,qBAAqB,CAC1E,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,MAAO,MAAO,KAAM,QAAS,CAClD,CACJ,CACA,MAAMmpC,UAA4BhlC,EAAiB,YAAY,CAC3D,cAAcrJ,CAAK,CAAEyS,EAAO43B,EAAa,SAAS,CAAC,GAAG,CAAE,CACpD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI+D,EAA0B,CACzC,KAAM37B,EACN,MAAOzS,CACX,GACJ,CACJ,CACA,MAAMksC,UAAwB7iC,EAAiB,yBAAyB,CACpE,aAAc,CACV,KAAK,CAAC,eACV,CACA,aAAarJ,CAAK,CAAEyS,EAAO43B,EAAa,SAAS,CAAC,GAAG,CAAE,CACnD,IAAM1wB,EAAM,IAAI00B,EAAoB,SACpC10B,EAAI,aAAa,CAAC3Z,EAAOyS,GACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAACkH,EACnB,CACA,cAAc3Z,CAAK,CAAEyS,EAAO43B,EAAa,SAAS,CAAC,GAAG,CAAE,CACpD,IAAMxwB,EAAO,IAAIw0B,EAAoB,UACrCx0B,EAAK,aAAa,CAAC7Z,EAAOyS,GAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAACoH,EACnB,CACA,gBAAgB7Z,CAAK,CAAEyS,EAAO43B,EAAa,SAAS,CAAC,GAAG,CAAE,CACtD,IAAMzwB,EAAS,IAAIy0B,EAAoB,YACvCz0B,EAAO,aAAa,CAAC5Z,EAAOyS,GAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAACmH,EACnB,CACA,eAAe5Z,CAAK,CAAEyS,EAAO43B,EAAa,SAAS,CAAC,GAAG,CAAE,CACrD,IAAMvwB,EAAQ,IAAIu0B,EAAoB,WACtCv0B,EAAM,aAAa,CAAC9Z,EAAOyS,GAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAACqH,EACnB,CACJ,CACA3b,EAAQ,eAAe,CAAG+tC,CAGpB,EAEC,SAAShuC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCghC,EAAe,EAAoB,GACzC,OAAMiE,UAA6BjlC,EAAiB,qBAAqB,CACrE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,KAAM,SAAU,EAAG,KAAM,CAC9C,CACJ,CACA,MAAMqpC,UAA4BllC,EAAiB,YAAY,CAC3D,YAAYoJ,CAAI,CAAEM,CAAC,CAAE,CACjB,KAAK,CAAC,UACN,IAAM4b,EAAQlc,IAAS43B,EAAa,SAAS,CAAC,UAAU,CAAG,CAAC,EAAEt3B,EAAE,CAAC,CAAC,CAAGA,EACrE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIu7B,EAAqB,CAAE,KAAM77B,EAAM,EAAGkc,CAAM,GACnE,CACJ,CACAxwB,EAAQ,mBAAmB,CAAGowC,CAGxB,EAEC,SAASrwC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCghC,EAAe,EAAoB,IACnCmE,EAAyB,EAAoB,IACnD,OAAMC,UAAiBplC,EAAiB,YAAY,CAChD,YAAYzJ,CAAO,CAAE,CAKjB,IAAK,IAAM6M,KAJX,KAAK,CAAC,QACN,IAAI,CAAC,OAAO,CAAG7M,EACf,IAAI,CAAC,UAAU,CAAG,IAAI4uC,EAAuB,kBAAkB,CAC/D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EACV5uC,EAAQ,QAAQ,EAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC6M,EAEf7M,CAAAA,EAAQ,SAAS,EACjB,IAAI,CAAC,UAAU,CAAC,YAAY,GAE5BA,EAAQ,WAAW,EACnB,IAAI,CAAC,UAAU,CAAC,cAAc,GAE9BA,EAAQ,MAAM,EACd,IAAI,CAAC,UAAU,CAAC,SAAS,CAACA,EAAQ,MAAM,CAAC,MAAM,CAAEA,EAAQ,MAAM,CAAC,IAAI,CAE5E,CACA,IAAI,WAAY,CACZ,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,AACvC,CACA,IAAI,UAAW,CACX,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,AAChC,CACA,IAAI,OAAQ,CACR,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,AAAC41B,GAAiBA,aAAwB6U,EAAa,SAAS,CAC5F,CACA,eAAeY,CAAI,CAAE37B,CAAK,CAAE,CACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAACA,EAAQ,EAAG,EAAG27B,EACnC,CACA,qBAAqBA,CAAI,CAAED,CAAW,CAAE,CACpC,IAAM0D,EAAY,IAAI,CAAC,sBAAsB,CAAC1D,EAAa,IAC3D,IAAI,CAAC,cAAc,CAACC,EAAMyD,EAAY,EAC1C,CACA,uBAAuBA,CAAS,CAAE,CAC9B,GAAIA,EAAY,GAAKA,GAAa,IAAI,CAAC,IAAI,CAAC,MAAM,CAC9C,MAAM,AAAIxtC,MAAM,CAAC,qCAAqC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAG,EAAE,CAAC,EAElF,IAAIytC,EAAS,EACb,IAAK,IAAIC,EAAU,EAAGA,EAAUF,EAAWE,IAEvCD,GAAU1D,AADG,IAAI,CAAC,IAAI,CAAC2D,EAAQ,CAChB,OAAO,CAAC,UAAU,EAAI,EAEzC,OAAOD,CACX,CACA,uBAAuB3D,CAAW,CAAE6D,EAAkB,EAAK,CAAE,CACzD,GAAI7D,EAAc,EACd,MAAM,AAAI9pC,MAAM,gDAEpB,IAAIytC,EAAS,EACTC,EAAU,EACd,KAAOD,GAAU3D,GAAa,CAC1B,GAAI4D,GAAW,IAAI,CAAC,IAAI,CAAC,MAAM,CAAE,CAC7B,GAAIC,EACA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,AAGvB,OAAM,AAAI3tC,MAAM,CAAC,yCAAyC,EAAEytC,EAAS,EAAE,CAAC,CAEhF,CACA,IAAM1D,EAAO,IAAI,CAAC,IAAI,CAAC2D,EAAQ,CAC/BA,GAAW,EACXD,GAAU,AAAC1D,GAAQA,EAAK,OAAO,CAAC,UAAU,EAAK,CACnD,CACA,OAAO2D,EAAU,CACrB,CACJ,CACAzwC,EAAQ,QAAQ,CAAGswC,CAGb,EAEC,SAASvwC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMynC,EAAU,EAAoB,IAC9BkJ,EAAmB,EAAoB,KACvCC,EAAkB,EAAoB,KACtCC,EAAoB,EAAoB,KACxCC,EAAa,EAAoB,KACjCC,EAAuB,EAAoB,KAC3CC,EAAmB,EAAoB,IACvCC,EAAc,EAAoB,KAClCzyB,EAAW,EAAoB,KAC/B0yB,EAAmB,EAAoB,IACvCC,EAAU,EAAoB,IAC9BC,EAAc,EAAoB,KAClC/zB,EAAc,EAAoB,GAClCQ,EAAkB,EAAoB,IACtCwzB,EAAiB,EAAoB,IACrCC,EAAa,EAAoB,KACjC3jB,EAAW,EAAoB,IAC/B4jB,EAA4B,EAAoB,KAChDC,EAAY,EAAoB,IA8MtCxxC,CAAAA,EAAQ,IAAI,CA7MZ,MAAMyxC,EACF,YAAYhwC,EAAU,CAClB,QAAS,WACT,SAAU,IACV,eAAgB,UACpB,CAAC,CAAEiwC,EAAiB,CAAC,CAAC,CAAEC,EAAW,EAAE,CAAE,CAsBnC,GArBA,IAAI,CAAC,qBAAqB,CAAG,EAC7B,IAAI,CAAC,OAAO,CAAG,EAAE,CACjB,IAAI,CAAC,OAAO,CAAG,EAAE,CACjB,IAAI,CAAC,cAAc,CAAG,CAAC,EACvB,IAAI,CAAC,cAAc,CAAG,IAAId,EAAkB,cAAc,CAACpvC,GAC3D,IAAI,CAAC,SAAS,CAAG,IAAI2vC,EAAY,SAAS,CAAC3vC,EAAQ,SAAS,CACtDA,EAAQ,SAAS,CACjB,CACE,OAAQ,EAAE,AACd,GACJ,IAAI,CAAC,gBAAgB,CAAG,IAAIoc,EAAgB,aAAa,CACzD,IAAI,CAAC,iBAAiB,CAAG,IAAIA,EAAgB,aAAa,CAC1D,IAAI,CAAC,aAAa,CAAG,IAAI8yB,EAAiB,aAAa,CACvD,IAAI,CAAC,SAAS,CAAG,IAAIM,EAAY,SAAS,CAC1C,IAAI,CAAC,YAAY,CAAG,IAAIL,EAAgB,YAAY,CACpD,IAAI,CAAC,QAAQ,CAAG,IAAIE,EAAW,QAAQ,CAAC,CAAE,WAAYrvC,EAAQ,UAAU,EAAI,CAAC,CAAE,GAC/E,IAAI,CAAC,QAAQ,CAAG,IAAI6vC,EAAW,QAAQ,CACvC,IAAI,CAAC,KAAK,CAAGI,EAAe,QAAQ,EAAIA,EAAe,QAAQ,CAAC,KAAK,CAAGA,EAAe,QAAQ,CAAC,KAAK,CAAG,IAAIP,EAAQ,KAAK,CACrHO,EAAe,QAAQ,EACvB,KAAI,CAAC,qBAAqB,CAAGA,EAAe,QAAQ,CAAC,qBAAqB,CAAG,GAE7EA,EAAe,QAAQ,EAAIjwC,EAAQ,cAAc,CACjD,MAAMsB,MAAM,iDAEhB,GAAI2uC,EAAe,QAAQ,CAAE,CACzB,IAAME,EAAgB,IAAIL,EAA0B,qBAAqB,AACzE,KAAI,CAAC,MAAM,CAAGK,EAAc,WAAW,CAACF,EAAe,QAAQ,CAAC,MAAM,CAC1E,MACK,GAAIjwC,EAAQ,cAAc,CAAE,CAC7B,IAAMmwC,EAAgB,IAAIL,EAA0B,qBAAqB,AACzE,KAAI,CAAC,MAAM,CAAGK,EAAc,WAAW,CAACnwC,EAAQ,cAAc,CAClE,MACK,GAAIA,EAAQ,MAAM,CAAE,CAErB,IAAMowC,EAAgBD,AADA,IAAIJ,EAAU,oBAAoB,GACpB,WAAW,CAAC/vC,EAAQ,MAAM,CAAC,OAAO,CACtE,KAAI,CAAC,MAAM,CAAG,IAAIksB,EAAS,MAAM,CAACxtB,OAAO,MAAM,CAAC,CAAC,EAAG0xC,EAAepwC,EAAQ,MAAM,EACrF,KACK,CACD,IAAMmwC,EAAgB,IAAIJ,EAAU,oBAAoB,AACxD,KAAI,CAAC,MAAM,CAAG,IAAI7jB,EAAS,MAAM,CAACikB,EAAc,WAAW,GAC/D,CAEA,GADA,IAAI,CAAC,uBAAuB,GACxBF,EAAe,QAAQ,EAAIA,EAAe,QAAQ,CAAC,OAAO,CAC1D,IAAK,IAAMI,KAAkBJ,EAAe,QAAQ,CAAC,OAAO,CACxD,IAAI,CAAC,mBAAmB,CAACI,EAAe,MAAM,CAAEA,EAAe,IAAI,EAG3E,GAAIJ,EAAe,QAAQ,EAAIA,EAAe,QAAQ,CAAC,OAAO,CAC1D,IAAK,IAAMK,KAAkBL,EAAe,QAAQ,CAAC,OAAO,CACxD,IAAI,CAAC,mBAAmB,CAACK,EAAe,MAAM,CAAEA,EAAe,IAAI,EAG3E,IAAK,IAAMC,KAAWL,EAElB,IAAK,IAAMrjC,KADX,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC0jC,EAAQ,UAAU,CAAGA,EAAQ,UAAU,CAAG,CAAC,GACrDA,EAAQ,QAAQ,EAAE,CAClC,GAAI1jC,aAAiB+O,EAAY,YAAY,CAAE,CAC3C,IAAM40B,EAAY,IAAI,CAAC,cAAc,CAAC3jC,EAAM,EAAE,CAAC,CAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC2jC,GAClB,QACJ,CACA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC3jC,EACtB,CAEJ,GAAI7M,EAAQ,SAAS,CACjB,IAAK,IAAMywC,KAAazwC,EAAQ,SAAS,CACrC,IAAI,CAAC,SAAS,CAAC,cAAc,CAACywC,GAGtC,GAAIzwC,EAAQ,UAAU,CAAE,CACpB,IAAM0wC,EAAQ,CAAC,EACf,IAAK,IAAMjxC,KAAOO,EAAQ,UAAU,CAAE,CAClC,GAAI,CAACA,EAAQ,UAAU,CAACP,EAAI,CACxB,SAEJ,IAAMkxC,EAAe3wC,EAAQ,UAAU,CAACP,EAAI,CACtC+wC,EAAYG,EAAa,IAAI,GAAK/0B,EAAY,aAAa,CAAC,QAAQ,CACpE,IAAI,CAAC,eAAe,CAAC+0B,EAAa,IAAI,CAAEA,EAAa,IAAI,EACzD,IAAI,CAAC,uBAAuB,CAAClxC,EAAKkxC,EAAa,IAAI,CACzDD,CAAAA,CAAK,CAACjxC,EAAI,CAAG+wC,CACjB,CACA,IAAI,CAAC,cAAc,CAAGE,CAC1B,CACI1wC,EAAQ,QAAQ,EACZA,EAAQ,QAAQ,CAAC,cAAc,EAC/B,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAG3C,CACA,WAAW,CAAEuvB,QAAAA,EAAU,CAAE,QAAS,IAAIxS,EAAS,MAAM,AAAG,CAAC,CAAEyS,QAAAA,EAAU,CAAE,QAAS,IAAIzS,EAAS,MAAM,AAAG,CAAC,CAAEmnB,QAAAA,EAAU,CAAC,CAAC,CAAExhC,KAAAA,EAAO,CAAC,CAAC,CAAE4a,WAAAA,CAAU,CAAEiN,SAAAA,CAAQ,CAAG,CAAE,CAUvJ,IAAK,IAAM1d,KATX,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAACnO,OAAO,MAAM,CAAC,CAAC,EAAG4e,EAAY,CAAE,QAAS,CAC/D,QAASiS,EAAQ,OAAO,CAAG,IAAI,CAAC,YAAY,CAACA,EAAQ,OAAO,EAAI,IAAI,CAAC,YAAY,CAAC,IAAIxS,EAAS,MAAM,EACrG,MAAOwS,EAAQ,KAAK,CAAG,IAAI,CAAC,YAAY,CAACA,EAAQ,KAAK,EAAIpvB,KAAAA,EAC1D,KAAMovB,EAAQ,IAAI,CAAG,IAAI,CAAC,YAAY,CAACA,EAAQ,IAAI,EAAIpvB,KAAAA,CAC3D,EAAG,QAAS,CACR,QAASqvB,EAAQ,OAAO,CAAG,IAAI,CAAC,YAAY,CAACA,EAAQ,OAAO,EAAI,IAAI,CAAC,YAAY,CAAC,IAAIzS,EAAS,MAAM,EACrG,MAAOyS,EAAQ,KAAK,CAAG,IAAI,CAAC,YAAY,CAACA,EAAQ,KAAK,EAAIrvB,KAAAA,EAC1D,KAAMqvB,EAAQ,IAAI,CAAG,IAAI,CAAC,YAAY,CAACA,EAAQ,IAAI,EAAIrvB,KAAAA,CAC3D,CAAE,EAAG+jC,EAASxhC,IACE6nB,GAAU,CAC1B,GAAI1d,aAAiB+O,EAAY,YAAY,CAAE,CAC3C,IAAM40B,EAAY,IAAI,CAAC,cAAc,CAAC3jC,EAAM,EAAE,CAAC,CAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC2jC,GAClB,QACJ,CACA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC3jC,EACtB,CACJ,CACA,oBAAqB,CACb,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,MAAM,EAC1C,IAAI,CAAC,QAAQ,CAAC,eAAe,EAErC,CACA,gBAAgB+jC,CAAI,CAAEr/B,EAAOq/B,CAAI,CAAE,CAC/B,IAAMJ,EAAY,IAAI50B,EAAY,SAAS,CAACrK,EAAMy0B,EAAQ,QAAQ,GAAG,WAAW,IAEhF,OADA,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAACwK,EAAU,MAAM,CAAE,gFAAiFI,EAAMhB,EAAe,cAAc,CAAC,QAAQ,EACjLY,CACX,CACA,wBAAwB3K,CAAM,CAAEt0B,EAAOs0B,CAAM,CAAE,CAE3C,OADkB,IAAIjqB,EAAY,SAAS,CAACrK,EAAMy0B,EAAQ,QAAQ,GAAG,WAAW,GAAIH,EAExF,CACA,aAAa7W,CAAM,CAAE,CACjB,IAAM6hB,EAAU,IAAIpB,EAAiB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,qBAAqB,IACzF,IAAK,IAAM5iC,KAASmiB,EAAO,OAAO,CAAC,QAAQ,CACvC6hB,EAAQ,GAAG,CAAChkC,GAGhB,OADA,IAAI,CAAC,mBAAmB,CAACgkC,GAClBA,CACX,CACA,aAAa5hB,CAAM,CAAE,CACjB,IAAM4hB,EAAU,IAAItB,EAAiB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,qBAAqB,IACzF,IAAK,IAAM1iC,KAASoiB,EAAO,OAAO,CAAC,QAAQ,CACvC4hB,EAAQ,GAAG,CAAChkC,GAGhB,OADA,IAAI,CAAC,mBAAmB,CAACgkC,GAClBA,CACX,CACA,oBAAoB7hB,CAAM,CAAEnc,EAAOy8B,EAAqB,mBAAmB,CAAC,OAAO,CAAE,CACjF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAEtgB,OAAAA,EAAQnc,KAAAA,CAAK,GACjC,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAACmc,EAAO,MAAM,CAAC,WAAW,CAAE,6EAA8E,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EACpL,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CACnD,CACA,oBAAoBC,CAAM,CAAEpc,EAAOy8B,EAAqB,mBAAmB,CAAC,OAAO,CAAE,CACjF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAErgB,OAAAA,EAAQpc,KAAAA,CAAK,GACjC,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAACoc,EAAO,MAAM,CAAC,WAAW,CAAE,6EAA8E,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EACpL,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CACnD,CACA,yBAA0B,CACtB,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAG,qFAAsF,qBACnI,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAG,wFAAyF,qBACtI,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAG,0FAA2F,oBACxI,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,qBAAqB,GAAI,6EAA8E,cACrJ,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,qBAAqB,GAAI,gFAAiF,iBACxJ,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,qBAAqB,GAAI,gFAAiF,iBACxJ,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,qBAAqB,GAAI,+EAAgF,eAC3J,CACA,IAAI,UAAW,CACX,OAAO,IAAI,CAAC,QAAQ,AACxB,CACA,IAAI,QAAS,CACT,OAAO,IAAI,CAAC,MAAM,AACtB,CACA,IAAI,gBAAiB,CACjB,OAAO,IAAI,CAAC,cAAc,AAC9B,CACA,IAAI,WAAY,CACZ,OAAO,IAAI,CAAC,SAAS,AACzB,CACA,IAAI,OAAQ,CACR,OAAO,IAAI,CAAC,KAAK,AACrB,CACA,IAAI,uBAAwB,CACxB,OAAO,IAAI,CAAC,gBAAgB,AAChC,CACA,IAAI,mBAAoB,CACpB,OAAO,IAAI,CAAC,iBAAiB,AACjC,CACA,IAAI,SAAU,CACV,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,AAAC5kB,GAASA,EAAK,MAAM,CACjD,CACA,IAAI,SAAU,CACV,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,AAACA,GAASA,EAAK,MAAM,CACjD,CACA,IAAI,cAAe,CACf,OAAO,IAAI,CAAC,YAAY,AAC5B,CACA,IAAI,eAAgB,CAChB,OAAO,IAAI,CAAC,aAAa,AAC7B,CACA,IAAI,WAAY,CACZ,OAAO,IAAI,CAAC,SAAS,AACzB,CACA,IAAI,UAAW,CACX,OAAO,IAAI,CAAC,QAAQ,AACxB,CACA,IAAI,gBAAiB,CACjB,OAAO,IAAI,CAAC,cAAc,AAC9B,CACJ,CAIM,EAEC,SAAS/L,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCqnC,EAA8B,EAAoB,IACxD,OAAMC,UAAsBtnC,EAAiB,YAAY,CACrD,aAAc,CACV,KAAK,CAAC,cACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIqnC,EAA4B,uBAAuB,CAAC,CACnE,MAAO,4EACP,GAAI,sEACR,GACJ,CACJ,CACAvyC,EAAQ,aAAa,CAAGwyC,CAGlB,EAEC,SAASzyC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMunC,UAAgCvnC,EAAiB,qBAAqB,CACxE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,MAAO,QACP,GAAI,UACR,CACJ,CACJ,CACA/G,EAAQ,uBAAuB,CAAGyyC,CAG5B,EAEC,SAAS1yC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCwnC,EAA6B,EAAoB,KACjDC,EAAY,EAAoB,KAChCC,EAAa,EAAoB,IACvC,OAAMC,UAAqB3nC,EAAiB,YAAY,CACpD,aAAc,CACV,KAAK,CAAC,SACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIwnC,EAA2B,qBAAqB,CAAC,CAChE,MAAO,8DACX,IACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIC,EAAU,OAAO,CAAC,YAAa,QAClD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAU,OAAO,CAAC,aAAc,SACnD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAU,OAAO,CAAC,aAAc,QACnD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAU,OAAO,CAAC,YAAa,QAClD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAU,OAAO,CAAC,YAAa,QAClD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAU,OAAO,CAAC,2DAA4D,SACjG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAU,OAAO,CAAC,kBAAmB,QACxD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIC,EAAW,QAAQ,CAAC,mFAAoF,uBAC3H,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAW,QAAQ,CAAC,4EAA6E,qBACpH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAW,QAAQ,CAAC,6DAA8D,uBACrG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAW,QAAQ,CAAC,wEAAyE,sBAChH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAW,QAAQ,CAAC,+EAAgF,wBACvH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAW,QAAQ,CAAC,+EAAgF,wBACvH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAW,QAAQ,CAAC,8EAA+E,sBAC1H,CACA,UAAUzhC,CAAK,CAAE,CACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIyhC,EAAW,QAAQ,CAAC,4EAA6E,CAAC,YAAY,EAAEzhC,EAAM,IAAI,CAAC,EAClJ,CACA,UAAUA,CAAK,CAAE,CACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIyhC,EAAW,QAAQ,CAAC,4EAA6E,CAAC,YAAY,EAAEzhC,EAAM,IAAI,CAAC,EAClJ,CACJ,CACAnR,EAAQ,YAAY,CAAG6yC,CAGjB,EAEC,SAAS9yC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM4nC,UAA8B5nC,EAAiB,qBAAqB,CACtE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,MAAO,OACX,CACJ,CACJ,CACA/G,EAAQ,qBAAqB,CAAG8yC,CAG1B,EAEC,SAAS/yC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC8rB,EAAuB,EAAoB,IACjD,OAAM+b,UAAgB7nC,EAAiB,YAAY,CAC/C,YAAY8nC,CAAW,CAAEC,CAAS,CAAE,CAChC,KAAK,CAAC,WACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIjc,EAAqB,iBAAiB,CAAC,CACtD,YAAagc,EACb,UAAWC,CACf,GACJ,CACJ,CACAjzC,EAAQ,OAAO,CAAG+yC,CAGZ,EAEC,SAAShzC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMgoC,UAA0BhoC,EAAiB,qBAAqB,CAClE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,YAAa,cACb,UAAW,WACf,CACJ,CACJ,CACA/G,EAAQ,iBAAiB,CAAGkzC,CAGtB,EAEC,SAASnzC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCioC,EAAwB,EAAoB,IAClD,OAAMC,UAAiBloC,EAAiB,YAAY,CAChD,YAAY8nC,CAAW,CAAEK,CAAQ,CAAE,CAC/B,KAAK,CAAC,YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIF,EAAsB,kBAAkB,CAAC,CACxD,YAAaH,EACb,SAAUK,CACd,GACJ,CACJ,CACArzC,EAAQ,QAAQ,CAAGozC,CAGb,EAEC,SAASrzC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMooC,UAA2BpoC,EAAiB,qBAAqB,CACnE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,YAAa,cACb,SAAU,UACd,CACJ,CACJ,CACA/G,EAAQ,kBAAkB,CAAGszC,CAGvB,EAEC,SAASvzC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAKAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,IAC3DM,AAJA,SAAkBC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,EAES,EAAoB,KAGvB,EAEC,SAAST,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCqoC,EAAwB,EAAoB,IAC5Cj3B,EAAe,EAAoB,IACzC,OAAMk3B,UAAuBtoC,EAAiB,YAAY,CACtD,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,qBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI8xC,EAAsB,kBAAkB,CAAC,CACxD,GAAI,0EACJ,GAAI,mCACJ,QAAS,4BACT,SAAU,+BACV,IAAK,2CACT,IACI9xC,EAAQ,KAAK,EACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAa,KAAK,CAAC7a,EAAQ,KAAK,GAEnDA,EAAQ,OAAO,EACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAa,OAAO,CAAC7a,EAAQ,OAAO,GAEvDA,EAAQ,OAAO,EACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAa,OAAO,CAAC7a,EAAQ,OAAO,GAEvDA,EAAQ,QAAQ,EAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAa,QAAQ,CAAC7a,EAAQ,QAAQ,GAEzDA,EAAQ,WAAW,EACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAa,WAAW,CAAC7a,EAAQ,WAAW,GAE/DA,EAAQ,cAAc,EACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAa,cAAc,CAAC7a,EAAQ,cAAc,GAErEA,EAAQ,QAAQ,EAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAa,QAAQ,CAAC7a,EAAQ,QAAQ,GAE7D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI6a,EAAa,OAAO,EACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAa,QAAQ,CAC5C,CACJ,CACAtc,EAAQ,cAAc,CAAGwzC,CAGnB,EAEC,SAASzzC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCqoC,EAAwB,EAAoB,GAClD,OAAME,UAAcvoC,EAAiB,YAAY,CAC7C,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EACnB,CACJ,CACA7B,EAAQ,KAAK,CAAGyzC,CAChB,OAAMC,UAAgBxoC,EAAiB,YAAY,CAC/C,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,cACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EACnB,CACJ,CACA7B,EAAQ,OAAO,CAAG0zC,CAClB,OAAMC,UAAgBzoC,EAAiB,YAAY,CAC/C,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,cACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EACnB,CACJ,CACA7B,EAAQ,OAAO,CAAG2zC,CAClB,OAAMC,UAAiB1oC,EAAiB,YAAY,CAChD,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,eACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EACnB,CACJ,CACA7B,EAAQ,QAAQ,CAAG4zC,CACnB,OAAMC,UAAoB3oC,EAAiB,YAAY,CACnD,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,kBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EACnB,CACJ,CACA7B,EAAQ,WAAW,CAAG6zC,CACtB,OAAMC,UAAuB5oC,EAAiB,YAAY,CACtD,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,qBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EACnB,CACJ,CACA7B,EAAQ,cAAc,CAAG8zC,CACzB,OAAMC,UAAiB7oC,EAAiB,YAAY,CAChD,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,eACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EACnB,CACJ,CACA7B,EAAQ,QAAQ,CAAG+zC,CACnB,OAAMC,UAAsB9oC,EAAiB,YAAY,CACrD,gBAAiB,CACb,IAAM+oC,EAAO,IAAI5e,KACX6e,EAAOD,EAAK,WAAW,GACvBE,EAAQ,AAAC,KAAOF,CAAAA,EAAK,QAAQ,GAAK,EAAC,EAAG,KAAK,CAAC,IAC5CG,EAAM,AAAC,KAAMH,EAAK,OAAO,EAAC,EAAG,KAAK,CAAC,IACnCI,EAAQ,AAAC,KAAMJ,EAAK,QAAQ,EAAC,EAAG,KAAK,CAAC,IACtCK,EAAU,AAAC,KAAML,EAAK,UAAU,EAAC,EAAG,KAAK,CAAC,IAEhD,OAAOC,EAAO,IAAMC,EAAQ,IAAMC,EAAM,IAAMC,EAAQ,IAAMC,EAAU,IADtD,AAAC,KAAML,EAAK,UAAU,EAAC,EAAG,KAAK,CAAC,IACsC,GAC1F,CACJ,CACAj0C,EAAQ,aAAa,CAAGg0C,CAUxBh0C,CAAAA,EAAQ,OAAO,CATf,MAAMu0C,UAAgBP,EAClB,aAAc,CACV,KAAK,CAAC,mBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIT,EAAsB,kBAAkB,CAAC,CACxD,KAAM,gBACV,IACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,GACtC,CACJ,CAWAvzC,CAAAA,EAAQ,QAAQ,CAThB,MAAMw0C,UAAiBR,EACnB,aAAc,CACV,KAAK,CAAC,oBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIT,EAAsB,kBAAkB,CAAC,CACxD,KAAM,gBACV,IACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,GACtC,CACJ,CAIM,EAEC,SAASxzC,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCupC,EAAS,EAAoB,KAC7BlB,EAAwB,EAAoB,IAC5CmB,EAAwB,EAAoB,IAClD,OAAMC,UAAiBzpC,EAAiB,YAAY,CAChD,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,cACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI8xC,EAAsB,kBAAkB,CAAC,CACxD,IAAK,qEACL,GAAI,8DACJ,EAAG,0CACH,EAAG,sEACH,EAAG,6DACH,EAAG,gCACH,KAAM,sEACN,GAAI,yEACJ,IAAK,wCACL,EAAG,+DACH,IAAK,uDACL,IAAK,uDACL,IAAK,oEACL,IAAK,kEACL,IAAK,uDACL,IAAK,oEACL,UAAW,cACf,IACA,IAAI,CAAC,IAAI,CAAG,IAAIkB,EAAO,IAAI,CAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIC,EAAsB,kBAAkB,CAACjzC,EAAQ,UAAU,GAC9E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC5B,CACA,IAAIqK,CAAI,CAAE,CAEN,OADA,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,GACR,IAAI,AACf,CACA,IAAI,MAAO,CACP,OAAO,IAAI,CAAC,IAAI,AACpB,CACA,qBAAsB,CAClB,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,EACxC,CACJ,CACA9L,EAAQ,QAAQ,CAAG20C,CAGb,EAEC,SAAS50C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC0pC,EAAM,EAAoB,IAC1B7D,EAAuB,EAAoB,IACjD,OAAM8D,UAAa3pC,EAAiB,YAAY,CAC5C,aAAc,CACV,KAAK,CAAC,UACN,IAAI,CAAC,QAAQ,CAAG,EAAE,AACtB,CACA,WAAWzJ,CAAO,CAAE,CAChB,IAAMqzC,EAAiB,IAAI,CAAC,QAAQ,CAAC,GAAG,GACxC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAACA,IAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI/D,EAAqB,iBAAiB,CAACtvC,GAClE,CACA,WAAWo1B,CAAI,CAAE,CAKb,OAJ6B,IAAzB,IAAI,CAAC,QAAQ,CAAC,MAAM,GACpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAG,GACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,KAE7B,KAAK,CAAC,WAAWA,EAC5B,CACA,KAAKke,CAAS,CAAE,CACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EACnB,CACA,qBAAsB,CAClB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,AAACzmC,GAAUA,aAAiBsmC,EAAI,eAAe,CAC3E,CACA,uBAAuB5C,CAAO,CAAE,CAC5B,IAAME,EAAY,IAAI0C,EAAI,SAAS,CAAC,CAAC,GAC/B71B,EAAa,IAAI61B,EAAI,mBAAmB,CAAC,CAAC,GAGhD,OAFA71B,EAAW,IAAI,CAACizB,GAChBE,EAAU,eAAe,CAACnzB,GACnBmzB,CACX,CACJ,CACAlyC,EAAQ,IAAI,CAAG60C,CAGT,EAEC,SAAS90C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC8pC,EAAuB,EAAoB,IACjD,OAAMC,UAAgB/pC,EAAiB,YAAY,CAC/C,YAAY4iB,CAAK,CAAE0F,CAAG,CAAE,CACpB,KAAK,CAAC,UACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIwhB,EAAqB,iBAAiB,CAAC,CACtD,MAAOlnB,EACP,IAAK0F,CACT,GACJ,CACJ,CACAxzB,EAAQ,OAAO,CAAGi1C,CAGZ,EAEC,SAASl1C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMgqC,UAA0BhqC,EAAiB,qBAAqB,CAClE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,MAAO,UACP,IAAK,OACT,CACJ,CACJ,CACA/G,EAAQ,iBAAiB,CAAGk1C,CAGtB,EAEC,SAASn1C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCiqC,EAAwB,EAAoB,IAClD,OAAMC,UAAqBlqC,EAAiB,YAAY,CACpD,YAAY4lB,CAAS,CAAE,CACnB,KAAK,CAAC,aACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIqkB,EAAsB,iBAAiB,CAAC,CACvD,UAAWrkB,CACf,GACJ,CACJ,CACA9wB,EAAQ,YAAY,CAAGo1C,CAGjB,EAEC,SAASr1C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMmqC,UAA0BnqC,EAAiB,qBAAqB,CAClE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,UAAW,aACf,CACJ,CACJ,CACA/G,EAAQ,iBAAiB,CAAGq1C,CAGtB,EAEC,SAASt1C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAIIs1C,EACOA,EAHXn1C,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAGzCoqC,EADOA,EAIkBt1C,EAAQ,uBAAuB,EAAKA,CAAAA,EAAQ,uBAAuB,CAAG,CAAC,IAHxE,UAAa,CAAG,aACxCs1C,EAAwB,WAAc,CAAG,aACzCA,EAAwB,QAAW,CAAG,SAE1C,OAAMC,UAA6BrqC,EAAiB,qBAAqB,CACrE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,kBAAmB,YACnB,gBAAiB,UACjB,kBAAmB,YACnB,mBAAoB,YACxB,CACJ,CACJ,CACA/G,EAAQ,oBAAoB,CAAGu1C,CAC/B,OAAMC,UAAuBtqC,EAAiB,YAAY,CACtD,YAAYuqC,CAAO,CAAE9wC,CAAK,CAAE+wC,CAAO,CAAEC,CAAI,CAAE,CACvC,KAAK,CAAC,eACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIJ,EAAqB,CACpC,kBAAmBE,EACnB,gBAAiB9wC,EACjB,kBAAmB+wC,EACnB,mBAAoBC,CACxB,GACJ,CACJ,CACA31C,EAAQ,cAAc,CAAGw1C,CAGnB,EAEC,SAASz1C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAII41C,EAMAC,EAKAC,EAVOF,EAMAC,EAKAC,EAdX31C,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAGzC0qC,EADOA,EAIY51C,EAAQ,iBAAiB,EAAKA,CAAAA,EAAQ,iBAAiB,CAAG,CAAC,IAH5D,SAAY,CAAG,WACjC41C,EAAkB,UAAa,CAAG,YAClCA,EAAkB,cAAiB,CAAG,eAItCC,CADOA,EAGe71C,EAAQ,oBAAoB,EAAKA,CAAAA,EAAQ,oBAAoB,CAAG,CAAC,IAFlE,IAAO,CAAG,OAC/B61C,EAAqB,IAAO,CAAG,OAI/BC,CADOA,EAGW91C,EAAQ,gBAAgB,EAAKA,CAAAA,EAAQ,gBAAgB,CAAG,CAAC,IAF1D,IAAO,CAAG,OAC3B81C,EAAiB,KAAQ,CAAG,OAEhC,OAAMC,UAA4B7qC,EAAiB,qBAAqB,CACpE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,MAAO,QACP,KAAM,SACN,MAAO,UACP,MAAO,SACX,CACJ,CACJ,CACA,MAAMivC,UAAmB9qC,EAAiB,YAAY,CAClD,YAAYhK,CAAG,CAAEO,CAAO,CAAE,CACtB,KAAK,CAACP,GACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI60C,EAAoBt0C,GAC3C,CACJ,CACA,MAAMw0C,UAA8B/qC,EAAiB,qBAAqB,CACtE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,QAAS,YACT,WAAY,eACZ,OAAQ,UACZ,CACJ,CACJ,CACA,MAAMmvC,UAAoBhrC,EAAiB,yBAAyB,CAChE,YAAYzJ,CAAO,CAAE,CAEjB,GADA,KAAK,CAAC,eACF,CAACA,EACD,OAEJ,IAAI00C,EAAwB,CAAC,CACzB10C,CAAAA,EAAQ,WAAW,EACnB00C,CAAAA,EAAwB,CACpB,QAAS10C,EAAQ,WAAW,CAAC,OAAO,CACpC,WAAYA,EAAQ,WAAW,CAAC,UAAU,CAC1C,OAAQA,EAAQ,WAAW,CAAC,MAAM,AACtC,GAEJ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIw0C,EAAsBE,IACrC10C,EAAQ,aAAa,EACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIu0C,EAAW,QAASv0C,EAAQ,aAAa,GAE5DA,EAAQ,eAAe,EACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIu0C,EAAW,UAAWv0C,EAAQ,eAAe,GAEhEA,EAAQ,gBAAgB,EACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIu0C,EAAW,WAAYv0C,EAAQ,gBAAgB,GAElEA,EAAQ,cAAc,EACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIu0C,EAAW,SAAUv0C,EAAQ,cAAc,EAEtE,CACJ,CACAzB,EAAQ,WAAW,CAAGk2C,CAGhB,EAEC,SAASn2C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCkrC,EAA2B,EAAoB,IACrD,OAAMC,UAAmBnrC,EAAiB,YAAY,CAClD,YAAYsQ,CAAG,CAAEG,CAAK,CAAEF,CAAM,CAAEC,CAAI,CAAE+U,CAAM,CAAEC,CAAM,CAAEC,CAAM,CAAEC,CAAM,CAAE,CAClE,KAAK,CAAC,WACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIwlB,EAAyB,oBAAoB,CAAC,CAC7D,IAAK56B,EACL,MAAOG,EACP,OAAQF,EACR,KAAMC,EACN,OAAQ+U,EACR,OAAQC,EACR,OAAQC,EACR,OAAQC,CACZ,GACJ,CACJ,CACA5wB,EAAQ,UAAU,CAAGq2C,CAGf,EAEC,SAASt2C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMorC,UAA6BprC,EAAiB,qBAAqB,CACrE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,IAAK,QACL,MAAO,UACP,OAAQ,WACR,KAAM,SACN,OAAQ,WACR,OAAQ,WACR,OAAQ,WACR,OAAQ,iBACZ,CACJ,CACJ,CACA/G,EAAQ,oBAAoB,CAAGs2C,CAGzB,EAEC,SAASv2C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAIIu2C,EACOA,EAHXp2C,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAGzCqrC,EADOA,EAcWv2C,EAAQ,gBAAgB,EAAKA,CAAAA,EAAQ,gBAAgB,CAAG,CAAC,IAb1D,aAAgB,CAAG,eACpCu2C,EAAiB,OAAU,CAAG,UAC9BA,EAAiB,uBAA0B,CAAG,wBAC9CA,EAAiB,0BAA6B,CAAG,0BACjDA,EAAiB,sBAAyB,CAAG,uBAC7CA,EAAiB,YAAe,CAAG,cACnCA,EAAiB,YAAe,CAAG,cACnCA,EAAiB,WAAc,CAAG,aAClCA,EAAiB,IAAO,CAAG,OAC3BA,EAAiB,YAAe,CAAG,cACnCA,EAAiB,YAAe,CAAG,cACnCA,EAAiB,WAAc,CAAG,aAClCA,EAAiB,kBAAqB,CAAG,kBAE7C,OAAMC,UAAiCtrC,EAAiB,qBAAqB,CACzE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,gBAAiB,UACjB,qBAAsB,OAC1B,CACJ,CACJ,CACA/G,EAAQ,wBAAwB,CAAGw2C,CACnC,OAAMC,UAAuBvrC,EAAiB,YAAY,CACtD,YAAYvG,CAAK,CAAE+xC,CAAY,CAAE,CAC7B,KAAK,CAAC,eACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIF,EAAyB,CACxC,gBAAiB7xC,EACjB,qBAAsB+xC,CAC1B,GACJ,CACJ,CACA12C,EAAQ,cAAc,CAAGy2C,CAGnB,EAEC,SAAS12C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCyrC,EAA0B,EAAoB,IACpD,OAAMC,UAAkB1rC,EAAiB,YAAY,CACjD,aAAc,CACV,KAAK,CAAC,aACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIyrC,EAAwB,mBAAmB,CAAC,CAC3D,MAAO,GACX,GACJ,CACJ,CACA32C,EAAQ,SAAS,CAAG42C,CAGd,EAEC,SAAS72C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM2rC,UAA4B3rC,EAAiB,qBAAqB,CACpE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,MAAO,OACX,CACJ,CACJ,CACA/G,EAAQ,mBAAmB,CAAG62C,CAGxB,EAEC,SAAS92C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAKI82C,EACOA,EAJX32C,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvC6rC,EAA8B,EAAoB,IAGpDD,EADOA,EAKoB92C,EAAQ,yBAAyB,EAAKA,CAAAA,EAAQ,yBAAyB,CAAG,CAAC,IAJ5E,IAAO,CAAG,OACpC82C,EAA0B,MAAS,CAAG,SACtCA,EAA0B,MAAS,CAAG,SACtCA,EAA0B,GAAM,CAAG,KAEvC,OAAME,UAA6B9rC,EAAiB,YAAY,CAC5D,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,YACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIk1C,EAA4B,8BAA8B,CAAC,CAAE,cAAel1C,CAAM,GACzG,CACJ,CACA7B,EAAQ,oBAAoB,CAAGg3C,CAGzB,EAEC,SAASj3C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,IAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM+rC,UAAqC/rC,EAAiB,qBAAqB,CAC7E,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,MAAO,UACP,WAAY,eACZ,WAAY,eACZ,UAAW,aACf,CACJ,CACJ,CACA/G,EAAQ,4BAA4B,CAAGi3C,CACvC,OAAMC,UAA2BhsC,EAAiB,YAAY,CAC1D,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIw1C,EAA6B,CAC5C,MAAOx1C,EAAQ,KAAK,CAAGA,EAAQ,KAAK,CAAG,SACvC,WAAYA,EAAQ,UAAU,CAC9B,WAAYA,EAAQ,UAAU,CAC9B,UAAWA,EAAQ,SAAS,AAChC,GACJ,CACJ,CACAzB,EAAQ,kBAAkB,CAAGk3C,CAGvB,EAEC,SAASn3C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCisC,EAAsB,EAAoB,IAChD,OAAMxkB,UAAeznB,EAAiB,yBAAyB,CAC3D,YAAYksC,CAAe,CAAEn5B,CAAW,CAAE,CACtC,KAAK,CAAC,QAASA,GACf,IAAI,CAAC,KAAK,CAAGm5B,EACT,CAACn5B,GACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIk5B,EAAoB,gBAAgB,CAAC,CACpD,IAAK,qEACL,GAAI,8DACJ,EAAG,0CACH,EAAG,sEACH,EAAG,6DACH,EAAG,gCACH,KAAM,sEACN,GAAI,yEACJ,IAAK,wCACL,EAAG,+DACH,IAAK,uDACL,IAAK,uDACL,IAAK,oEACL,IAAK,kEACL,IAAK,uDACL,IAAK,mEACT,GAER,CACA,IAAI,aAAc,CACd,OAAO,IAAI,CAAC,KAAK,AACrB,CACA,IAAIrrC,CAAI,CAAE,CACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EACnB,CACJ,CACA9L,EAAQ,MAAM,CAAG2yB,CAGX,EAEC,SAAS5yB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMmsC,UAAyBnsC,EAAiB,qBAAqB,CACjE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,IAAK,YACL,GAAI,WACJ,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,KAAM,aACN,GAAI,WACJ,IAAK,YACL,EAAG,UACH,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,GAAI,WACJ,GAAI,WACJ,QAAS,gBACT,SAAU,iBACV,IAAK,YACL,KAAM,UACV,CACJ,CACJ,CACA/G,EAAQ,gBAAgB,CAAGq3C,CAGrB,EAEC,SAASt3C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCosC,EAAe,EAAoB,KACnCjG,EAAiB,EAAoB,GAC3C,OAAMkG,UAAsBrsC,EAAiB,YAAY,CACrD,aAAc,CACV,KAAK,CAAC,iBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIosC,EAAa,uBAAuB,CAAC,CACpD,MAAO,8DACX,GACJ,CACA,gBAAgBE,CAAY,CAAE,CAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EACnB,CACA,mBAAmBl5B,CAAE,CAAEhK,CAAI,CAAEpN,CAAM,CAAEqX,CAAU,CAAE,CAC7C,IAAMi5B,EAAe,IAAInG,EAAe,YAAY,CAAC,CAAC,GAAG,EAAE/yB,EAAG,CAAC,CAAEhK,EAAMpN,EAAQqX,GAE/E,OADA,IAAI,CAAC,eAAe,CAACi5B,GACdA,CACX,CACA,IAAI,mBAAoB,CACpB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAG,CAC9B,CACJ,CACAx3C,EAAQ,aAAa,CAAGu3C,CAGlB,EAEC,SAASx3C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMusC,UAAgCvsC,EAAiB,qBAAqB,CACxE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,MAAO,OACX,CACJ,CACJ,CACA/G,EAAQ,uBAAuB,CAAGy3C,CAG5B,EAEC,SAAS13C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMwsC,UAA+BxsC,EAAiB,qBAAqB,CACvE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,GAAI,KACJ,KAAM,OACN,OAAQ,SACR,WAAY,YAChB,CACJ,CACJ,CACA/G,EAAQ,sBAAsB,CAAG03C,CAG3B,EAEC,SAAS33C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCmS,EAAc,EAAoB,GAClCs6B,EAAa,EAAoB,KACjCC,EAA+B,EAAoB,KACnDC,EAAkB,EAAoB,KACtCC,EAAyB,EAAoB,IACnD,OAAMC,UAAkB7sC,EAAiB,YAAY,CACjD,aAAc,CACV,KAAK,CAAC,eACN,IAAI,CAAC,SAAS,CAAG,EACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI4sC,EAAuB,mBAAmB,CAAC,CAC1D,IAAK,qEACL,GAAI,8DACJ,EAAG,0CACH,EAAG,sEACH,EAAG,6DACH,EAAG,gCACH,KAAM,sEACN,GAAI,yEACJ,IAAK,wCACL,EAAG,+DACH,IAAK,uDACL,IAAK,uDACL,IAAK,oEACL,IAAK,kEACL,IAAK,uDACL,IAAK,oEACL,UAAW,cACf,IACA,IAAME,EAAQ,IAAIL,EAAW,QAAQ,CAAC,GAAIA,EAAW,YAAY,CAAC,SAAS,EAC3EK,EAAM,GAAG,CAAC,IAAI36B,EAAY,SAAS,CAAC,CAChC,QAAS,CACL,MAAO,EACP,KAAM,IACN,SAAU,MACd,EACA,SAAU,CAAC,IAAIw6B,EAAgB,YAAY,CAAG,AAClD,IACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAACG,GACf,IAAMC,EAAU,IAAIN,EAAW,QAAQ,CAAC,EAAGA,EAAW,YAAY,CAAC,sBAAsB,EACzFM,EAAQ,GAAG,CAAC,IAAI56B,EAAY,SAAS,CAAC,CAClC,QAAS,CACL,MAAO,EACP,KAAM,IACN,SAAU,MACd,EACA,SAAU,CAAC,IAAIu6B,EAA6B,wBAAwB,CAAG,AAC3E,IACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAACK,EACnB,CACA,eAAe/F,CAAS,CAAE,CACtB,IAAMgG,EAAW,IAAIP,EAAW,QAAQ,CAAC,IAAI,CAAC,SAAS,EACvDO,EAAS,GAAG,CAAChG,GACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAACgG,GACf,IAAI,CAAC,SAAS,EAClB,CACJ,CACAl4C,EAAQ,SAAS,CAAG+3C,CAGd,EAEC,SAASh4C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,iBAMIm4C,EACOA,EALXh4C,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCktC,EAAwB,EAAoB,KAC5CC,EAAqB,EAAoB,IAG3CF,EADOA,EAGOn4C,EAAQ,YAAY,EAAKA,CAAAA,EAAQ,YAAY,CAAG,CAAC,IAFlD,SAAY,CAAG,YAC5Bm4C,EAAa,sBAAyB,CAAG,uBAE7C,OAAMG,UAAiBptC,EAAiB,YAAY,CAChD,YAAYoT,CAAE,CAAEhK,CAAI,CAAE,CAClB,KAAK,CAAC,cACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI8jC,EAAsB,kBAAkB,CAAC,CACxD,KAAM9jC,EACN,GAAIgK,CACR,GACJ,CACA,IAAI4zB,CAAS,CAAE,CACXA,EAAU,aAAa,CAAC,IAAImG,EAAmB,cAAc,EAC7D,IAAI,CAAC,IAAI,CAAC,IAAI,CAACnG,EACnB,CACJ,CACAlyC,EAAQ,QAAQ,CAAGs4C,CAGb,EAEC,SAASv4C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMqtC,UAA2BrtC,EAAiB,qBAAqB,CACnE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,KAAM,SACN,GAAI,MACR,CACJ,CACJ,CACA/G,EAAQ,kBAAkB,CAAGu4C,CAGvB,EAEC,SAASx4C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMqd,EAAc,EAAoB,GAClCm7B,EAAiB,EAAoB,IAC3C,OAAMC,UAAuBp7B,EAAY,GAAG,CACxC,aAAc,CACV,KAAK,CAAC,CACF,MAAO,mBACX,GACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIm7B,EAAe,WAAW,CACjD,CACJ,CACAx4C,EAAQ,cAAc,CAAGy4C,CAGnB,EAEC,SAAS14C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMwtC,UAAoBxtC,EAAiB,YAAY,CACnD,aAAc,CACV,KAAK,CAAC,gBACV,CACJ,CACAlL,EAAQ,WAAW,CAAG04C,CAGhB,EAEC,SAAS34C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMqd,EAAc,EAAoB,GAClCs7B,EAA2B,EAAoB,IACrD,OAAMC,UAAiCv7B,EAAY,GAAG,CAClD,aAAc,CACV,KAAK,CAAC,CAAC,GACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIs7B,EAAyB,qBAAqB,CACrE,CACJ,CACA34C,EAAQ,wBAAwB,CAAG44C,CAG7B,EAEC,SAAS74C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM2tC,UAA8B3tC,EAAiB,YAAY,CAC7D,aAAc,CACV,KAAK,CAAC,0BACV,CACJ,CACAlL,EAAQ,qBAAqB,CAAG64C,CAG1B,EAEC,SAAS94C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMqd,EAAc,EAAoB,GAClCy7B,EAAc,EAAoB,IACxC,OAAMC,UAAqB17B,EAAY,GAAG,CACtC,aAAc,CACV,KAAK,CAAC,CAAC,GACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIy7B,EAAY,SAAS,CAC5C,CACJ,CACA94C,EAAQ,YAAY,CAAG+4C,CAGjB,EAEC,SAASh5C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM8tC,UAAkB9tC,EAAiB,YAAY,CACjD,aAAc,CACV,KAAK,CAAC,cACV,CACJ,CACAlL,EAAQ,SAAS,CAAGg5C,CAGd,EAEC,SAASj5C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM+tC,UAA4B/tC,EAAiB,qBAAqB,CACpE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,IAAK,YACL,GAAI,WACJ,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,KAAM,aACN,GAAI,WACJ,IAAK,YACL,EAAG,UACH,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,UAAW,cACf,CACJ,CACJ,CACA/G,EAAQ,mBAAmB,CAAGi5C,CAGxB,EAEC,SAASl5C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAKAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,IAC3DM,AAJA,SAAkBC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,EAES,EAAoB,KAGvB,EAEC,SAAST,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAKAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,IAC3DM,AAJA,SAAkBC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,EAES,EAAoB,KAGvB,EAEC,SAAST,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMsoB,EAAQ,EAAoB,GAC5B/c,EAAU,EAAoB,IAC9BL,EAAmB,EAAoB,EAC7C,OAAMguC,UAAuChuC,EAAiB,qBAAqB,CAC/E,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,GAAI,MACR,CACJ,CACJ,CACA/G,EAAQ,8BAA8B,CAAGk5C,CACzC,OAAMC,UAA0BjuC,EAAiB,YAAY,CACzD,YAAYoT,CAAE,CAAE,CACZ,KAAK,CAAC,uBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI46B,EAA+B,CAC9C,GAAI56B,CACR,GACJ,CACJ,CACAte,EAAQ,iBAAiB,CAAGm5C,CAC5B,OAAMC,UAA6B9wB,EAAM,GAAG,CACxC,YAAYhK,CAAE,CAAE,CACZ,KAAK,CAAC,CAAC,GACP,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI/S,EAAQ,KAAK,CAAC,sBACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI4tC,EAAkB76B,GACzC,CACJ,CACAte,EAAQ,oBAAoB,CAAGo5C,CAGzB,EAEC,SAASr5C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCmuC,EAAsB,EAAoB,IAChD,OAAM3mB,UAAexnB,EAAiB,yBAAyB,CAC3D,YAAYksC,CAAe,CAAEn5B,CAAW,CAAE,CACtC,KAAK,CAAC,QAASA,GACf,IAAI,CAAC,KAAK,CAAGm5B,EACT,CAACn5B,GACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIo7B,EAAoB,gBAAgB,CAAC,CACpD,IAAK,qEACL,GAAI,8DACJ,EAAG,0CACH,EAAG,sEACH,EAAG,6DACH,EAAG,gCACH,KAAM,sEACN,GAAI,yEACJ,IAAK,wCACL,EAAG,+DACH,IAAK,uDACL,IAAK,uDACL,IAAK,oEACL,IAAK,kEACL,IAAK,uDACL,IAAK,oEACL,GAAI,2DACJ,IAAK,+DACL,IAAK,iEACL,IAAK,+DACL,IAAK,gEACL,IAAK,gEACL,IAAK,gEACL,IAAK,gEACL,IAAK,gEACL,OAAQ,2DACR,MAAO,4DACX,GAER,CACA,IAAI,aAAc,CACd,OAAO,IAAI,CAAC,KAAK,AACrB,CACA,IAAIvtC,CAAI,CAAE,CACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EACnB,CACJ,CACA9L,EAAQ,MAAM,CAAG0yB,CAGX,EAEC,SAAS3yB,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMouC,UAAyBpuC,EAAiB,qBAAqB,CACjE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,IAAK,YACL,GAAI,WACJ,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,KAAM,aACN,GAAI,WACJ,IAAK,YACL,EAAG,UACH,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,GAAI,WACJ,GAAI,WACJ,QAAS,gBACT,SAAU,iBACV,IAAK,YACL,KAAM,WACN,GAAI,WACJ,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,OAAQ,eACR,MAAO,aACX,CACJ,CACJ,CACA/G,EAAQ,gBAAgB,CAAGs5C,CAGrB,EAEC,SAASv5C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMqd,EAAc,EAAoB,EACxC,OAAMk8B,EACF,OAAO,SAAS1iB,CAAI,CAAE9wB,CAAM,CAAEyqB,CAAK,CAAEtB,CAAM,CAAEiR,CAAc,CAAE,CACzD,IAAMgB,EAAYtK,EAAK,KAAK,CAAC,QAAQ,CAAC9wB,EAAQyqB,EAAOtB,GACrD,OAAO,IAAI7R,EAAY,UAAU,CAAC8jB,EAAWhB,EACjD,CACA,OAAO,YAAa,CAChB,OAAO96B,KAAK,MAAM,GAAG,QAAQ,CAAC,IAAI,SAAS,CAAC,EAAG,IAAMA,KAAK,MAAM,GAAG,QAAQ,CAAC,IAAI,SAAS,CAAC,EAAG,GACjG,CACA,aAAc,CACV,IAAI,CAAC,GAAG,CAAG,IAAIm0C,GACnB,CACA,SAASt4C,CAAG,CAAE,CACV,IAAMukB,EAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAACvkB,GAC1B,GAAIukB,AAAS7jB,KAAAA,IAAT6jB,EACA,MAAM,AAAI1iB,MAAM,CAAC,+BAA+B,EAAE7B,EAAI,CAAC,EAE3D,OAAOukB,CACX,CACA,SAAS1f,CAAM,CAAEyqB,EAAQ,GAAG,CAAEtB,EAAS,GAAG,CAAE,CACxC,IAAMhuB,EAAM,CAAC,EAAEq4C,EAAM,UAAU,GAAG,IAAI,CAAC,CACvC,OAAO,IAAI,CAAC,WAAW,CAACr4C,EAAK,CACzB,MAAOsvB,EACP,OAAQtB,CACZ,EAAGnpB,EACP,CACA,YAAY7E,CAAG,CAAEkgC,CAAU,CAAE3b,CAAI,CAAEg0B,CAAQ,CAAE,CAEzC,IAAMvZ,EAAY,CACd,OAFY,AAAgB,UAAhB,OAAOza,EAAoB,IAAI,CAAC,sBAAsB,CAACA,GAAQA,EAG3E,KAAMg0B,EACN,SAAUv4C,EACV,WAAY,CACR,OAAQ,CACJ,EAAGmE,KAAK,KAAK,CAAC+7B,EAAW,KAAK,EAC9B,EAAG/7B,KAAK,KAAK,CAAC+7B,EAAW,MAAM,CACnC,EACA,KAAM,CACF,EAAG/7B,KAAK,KAAK,CAAC+7B,AAAmB,KAAnBA,EAAW,KAAK,EAC9B,EAAG/7B,KAAK,KAAK,CAAC+7B,AAAoB,KAApBA,EAAW,MAAM,CACnC,CACJ,CACJ,EAEA,OADA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAClgC,EAAKg/B,GACXA,CACX,CACA,IAAI,OAAQ,CACR,IAAM78B,EAAQ,EAAW,CAIzB,OAHA,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,AAACoiB,IACdpiB,EAAM,IAAI,CAACoiB,EACf,GACOpiB,CACX,CACA,uBAAuBq2C,CAAO,CAAE,CAC5B,IAAMC,EAAgB,WAChBC,EAAcF,EAAQ,OAAO,CAACC,GAAiBA,EAAc,MAAM,OACzE,AAAI,AAAgB,YAAhB,OAAOE,KACA,IAAIr3C,WAAWq3C,KAAKH,EAAQ,SAAS,CAACE,IACxC,KAAK,CAAC,IACN,GAAG,CAAC,AAACvxC,GAAMA,EAAE,UAAU,CAAC,KAItB,GAAIxC,AADD,GAAoB,EAAC,EAClB,MAAM,CAAC6zC,EAAS,SAErC,CACJ,CACA15C,EAAQ,KAAK,CAAGu5C,CAGV,EAEC,SAASx5C,CAAM,CAAEC,CAAO,CAAEgL,CAAmB,EAEpD,aAEA7K,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DA,EAAQ,WAAW,CAAG,EAGhB,EAEC,SAASD,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMyvB,EAA0B,EAAoB,IAC9CpS,EAAc,EAAoB,GAClCnS,EAAmB,EAAoB,GACvCqoC,EAAwB,EAAoB,IAC5CuG,EAAuB,EAAoB,KAC3ClnB,EAAU,EAAoB,IAC9BmnB,EAAQ,EAAoB,IAClC,OAAMC,UAAkB9uC,EAAiB,YAAY,CACjD,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,eACN,IAAI,CAAC,iBAAiB,CAAG,EAAE,CAC3B,IAAI,CAAC,iBAAiB,CAAG,EAAE,CAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI8xC,EAAsB,kBAAkB,CAAC,CACxD,IAAK,qEACL,GAAI,8DACJ,EAAG,0CACH,EAAG,sEACH,EAAG,6DACH,EAAG,gCACH,KAAM,sEACN,GAAI,yEACJ,IAAK,wCACL,EAAG,+DACH,IAAK,uDACL,IAAK,uDACL,IAAK,oEACL,IAAK,kEACL,IAAK,uDACL,IAAK,oEACL,UAAW,cACf,IACA,IAAI,CAAC,MAAM,CAAG,EACd,IAAM0G,EAAoB,IAAI,CAAC,uBAAuB,CAAC,CACnD,CACI,MAAO,EACP,OAAQrnB,EAAQ,WAAW,CAAC,MAAM,CAClC,KAAM,IACN,UAAWvV,EAAY,aAAa,CAAC,IAAI,CACzC,MAAO,CACH,UAAW,CACP,OAAQ,CAAE,KAAMoS,EAAwB,mBAAmB,CAAC,IAAM,QAASA,EAAwB,mBAAmB,CAAC,IAAM,CACjI,CACJ,CACJ,EACA,CACI,MAAO,EACP,OAAQmD,EAAQ,WAAW,CAAC,MAAM,CAClC,KAAM,IACN,UAAWvV,EAAY,aAAa,CAAC,IAAI,CACzC,MAAO,CACH,UAAW,CACP,OAAQ,CAAE,KAAMoS,EAAwB,mBAAmB,CAAC,GAAI,QAASA,EAAwB,mBAAmB,CAAC,IAAM,CAC/H,CACJ,CACJ,EACA,CACI,MAAO,EACP,OAAQmD,EAAQ,WAAW,CAAC,MAAM,CAClC,KAAM,IACN,UAAWvV,EAAY,aAAa,CAAC,IAAI,CACzC,MAAO,CACH,UAAW,CACP,OAAQ,CAAE,KAAM,KAAM,QAASoS,EAAwB,mBAAmB,CAAC,IAAM,CACrF,CACJ,CACJ,EACA,CACI,MAAO,EACP,OAAQmD,EAAQ,WAAW,CAAC,MAAM,CAClC,KAAM,IACN,UAAWvV,EAAY,aAAa,CAAC,IAAI,CACzC,MAAO,CACH,UAAW,CACP,OAAQ,CAAE,KAAM,KAAM,QAASoS,EAAwB,mBAAmB,CAAC,IAAM,CACrF,CACJ,CACJ,EACA,CACI,MAAO,EACP,OAAQmD,EAAQ,WAAW,CAAC,MAAM,CAClC,KAAM,IACN,UAAWvV,EAAY,aAAa,CAAC,IAAI,CACzC,MAAO,CACH,UAAW,CACP,OAAQ,CAAE,KAAM,KAAM,QAASoS,EAAwB,mBAAmB,CAAC,IAAM,CACrF,CACJ,CACJ,EACA,CACI,MAAO,EACP,OAAQmD,EAAQ,WAAW,CAAC,MAAM,CAClC,KAAM,IACN,UAAWvV,EAAY,aAAa,CAAC,IAAI,CACzC,MAAO,CACH,UAAW,CACP,OAAQ,CAAE,KAAM,KAAM,QAASoS,EAAwB,mBAAmB,CAAC,IAAM,CACrF,CACJ,CACJ,EACA,CACI,MAAO,EACP,OAAQmD,EAAQ,WAAW,CAAC,MAAM,CAClC,KAAM,IACN,UAAWvV,EAAY,aAAa,CAAC,IAAI,CACzC,MAAO,CACH,UAAW,CACP,OAAQ,CAAE,KAAM,KAAM,QAASoS,EAAwB,mBAAmB,CAAC,IAAM,CACrF,CACJ,CACJ,EACA,CACI,MAAO,EACP,OAAQmD,EAAQ,WAAW,CAAC,MAAM,CAClC,KAAM,IACN,UAAWvV,EAAY,aAAa,CAAC,IAAI,CACzC,MAAO,CACH,UAAW,CACP,OAAQ,CAAE,KAAM,KAAM,QAASoS,EAAwB,mBAAmB,CAAC,IAAM,CACrF,CACJ,CACJ,EACA,CACI,MAAO,EACP,OAAQmD,EAAQ,WAAW,CAAC,MAAM,CAClC,KAAM,IACN,UAAWvV,EAAY,aAAa,CAAC,IAAI,CACzC,MAAO,CACH,UAAW,CACP,OAAQ,CAAE,KAAM,KAAM,QAASoS,EAAwB,mBAAmB,CAAC,IAAM,CACrF,CACJ,CACJ,EACH,EAED,IAAK,IAAMyqB,KADX,IAAI,CAAC,uBAAuB,CAACD,GACXx4C,EAAQ,MAAM,EAAE,CAC9B,IAAM04C,EAA2B,IAAI,CAAC,uBAAuB,CAACD,EAAI,MAAM,EACxE,IAAI,CAAC,uBAAuB,CAACC,EAA0BD,EAAI,SAAS,CACxE,CACJ,CACA,YAAa,CAGT,OAFA,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,AAACvzC,GAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,IACrD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,AAACA,GAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,IAC9C,KAAK,CAAC,YACjB,CACA,wBAAwBszC,CAAiB,CAAE1mB,CAAS,CAAE,CAClD,IAAMC,EAAM,IAAIumB,EAAM,iBAAiB,CAAC,IAAI,CAAC,MAAM,GAAIE,EAAkB,EAAE,CAAE1mB,GAE7E,OADA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAACC,GACrBA,CACX,CACA,wBAAwB/xB,CAAO,CAAE,CAC7B,IAAM+xB,EAAM,IAAIsmB,EAAqB,iBAAiB,CAAC,IAAI,CAAC,MAAM,GAAIr4C,GAEtE,OADA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC+xB,GACrBA,CACX,CACA,IAAI,mBAAoB,CACpB,OAAO,IAAI,CAAC,iBAAiB,AACjC,CACJ,CACAxzB,EAAQ,SAAS,CAAGg6C,CAGd,EAEC,SAASj6C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMkvC,UAAuBlvC,EAAiB,YAAY,CACtD,YAAYrJ,CAAK,CAAE,CACf,KAAK,CAAC,oBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIqJ,EAAiB,UAAU,CAAC,CAC3C,IAAKrJ,CACT,GACJ,CACJ,CACA7B,EAAQ,cAAc,CAAGo6C,CAGnB,EAEC,SAASr6C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCmvC,EAAkB,EAAoB,KACtCC,EAA6B,EAAoB,KACjDC,EAAoB,EAAoB,KACxCC,EAAkB,EAAoB,IAC5C,OAAMC,UAA2BvvC,EAAiB,qBAAqB,CACnE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CACX,IAAK,YACL,GAAI,WACJ,EAAG,UACH,EAAG,UACH,EAAG,UACH,EAAG,UACH,KAAM,aACN,GAAI,WACJ,IAAK,YACL,EAAG,UACH,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,UAAW,cACf,CACJ,CACJ,CACA/G,EAAQ,kBAAkB,CAAGy6C,CAC7B,OAAMC,UAAiBxvC,EAAiB,YAAY,CAChD,aAAc,CACV,KAAK,CAAC,cACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIuvC,EAAmB,CAClC,IAAK,qEACL,GAAI,8DACJ,EAAG,0CACH,EAAG,sEACH,EAAG,6DACH,EAAG,gCACH,KAAM,sEACN,GAAI,yEACJ,IAAK,wCACL,EAAG,+DACH,IAAK,uDACL,IAAK,uDACL,IAAK,oEACL,IAAK,kEACL,IAAK,uDACL,IAAK,oEACL,UAAW,cACf,IACA,IAAI,CAAC,aAAa,CAAG,IAAIJ,EAAgB,aAAa,CACtD,IAAI,CAAC,cAAc,CAAG,IAAIE,EAAkB,cAAc,CAC1D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAID,EAA2B,sBAAsB,CACxE,CACA,iBAAkB,CACV,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,AAAChsC,GAAUA,aAAiBksC,EAAgB,YAAY,GACxE,IAAI,CAAC,eAAe,CAAC,IAAIA,EAAgB,YAAY,CAE7D,CACA,kBAAmB,CAIf,MAHI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,AAAClsC,GAAUA,aAAiB+rC,EAAgB,aAAa,GACzE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,EAEpC,IAAI,CAAC,aAAa,AAC7B,CACA,mBAAoB,CAIhB,MAHI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,AAAC/rC,GAAUA,aAAiBisC,EAAkB,cAAc,GAC5E,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,EAErC,IAAI,CAAC,cAAc,AAC9B,CACJ,CACAv6C,EAAQ,QAAQ,CAAG06C,CAGb,EAEC,SAAS36C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMyvC,UAA+BzvC,EAAiB,YAAY,CAC9D,aAAc,CACV,KAAK,CAAC,2BACV,CACJ,CACA,MAAM0vC,UAAsB1vC,EAAiB,YAAY,CACrD,aAAc,CACV,KAAK,CAAC,WACV,CACA,wBAAyB,CAErB,OADA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIyvC,GACZ,IAAI,AACf,CACJ,CACA36C,EAAQ,aAAa,CAAG46C,CAGlB,EAEC,SAAS76C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM2vC,UAA+B3vC,EAAiB,YAAY,CAC9D,aAAc,CACV,KAAK,CAAC,2BACV,CACJ,CACAlL,EAAQ,sBAAsB,CAAG66C,CAG3B,EAEC,SAAS96C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAM4vC,UAAuB5vC,EAAiB,YAAY,CACtD,aAAc,CACV,KAAK,CAAC,mBACV,CACJ,CACAlL,EAAQ,cAAc,CAAG86C,CAGnB,EAEC,SAAS/6C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCgsB,EAAW,EAAoB,IAC/BC,EAAK,EAAoB,GAqB/Bn3B,CAAAA,EAAQ,qBAAqB,CApB7B,MAAM+6C,EACF,YAAYC,CAAO,CAAE,KAEbC,EACJ,IAAK,IAAMC,KAAUC,AAFNjkB,EAAS,MAAM,CAAC8jB,EAAS,CAAE,QAAS,EAAM,GAE7B,QAAQ,EAAI,EAAE,CAClB,aAAhBE,EAAO,IAAI,EACXD,CAAAA,EAAmBC,CAAK,EAGhC,GAAID,AAAqBr5C,KAAAA,IAArBq5C,EACA,MAAM,AAAIl4C,MAAM,+BAEpB,IAAMq4C,EAAiBH,EAAiB,QAAQ,EAAI,EAAE,CAKtD,OAJsB,IAAI9jB,EAAG,MAAM,CAAC,CAChC,cAAe,IAAIjsB,EAAiB,6BAA6B,CAAC+vC,EAAiB,UAAU,EAC7F,eAAgBG,EAAe,GAAG,CAAC,AAAC7jB,GAAarsB,EAAiB,qBAAqB,CAACqsB,GAC5F,EAEJ,CACJ,CAIM,EAEC,SAASx3B,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMuzC,EAAwB,EAAoB,IAC5C8H,EAAa,EAAoB,KACjC9vC,EAAU,EAAoB,IAoDpCvL,CAAAA,EAAQ,oBAAoB,CAnD5B,MAAMs7C,EACF,YAAY75C,EAAU,CAAC,CAAC,CAAE,CAStB,MAAO,CACH,cATuB,IAAI8xC,EAAsB,kBAAkB,CAAC,CACpE,GAAI,8DACJ,EAAG,sEACH,EAAG,+DACH,IAAK,uDACL,IAAK,uDACL,UAAW,SACf,GAGI,eAAgB,CACZ,IAAI8H,EAAW,gBAAgB,CAAC55C,EAAQ,QAAQ,EAChD,IAAI8J,EAAQ,UAAU,CAACpL,OAAO,MAAM,CAAC,CAAE,IAAK,CACpC,KAAM,EACV,CAAE,EAAGsB,EAAQ,KAAK,GACtB,IAAI8J,EAAQ,aAAa,CAACpL,OAAO,MAAM,CAAC,CAAE,IAAK,CACvC,MAAO,SACP,KAAM,EACV,CAAE,EAAGsB,EAAQ,QAAQ,GACzB,IAAI8J,EAAQ,aAAa,CAACpL,OAAO,MAAM,CAAC,CAAE,IAAK,CACvC,MAAO,SACP,KAAM,EACV,CAAE,EAAGsB,EAAQ,QAAQ,GACzB,IAAI8J,EAAQ,aAAa,CAACpL,OAAO,MAAM,CAAC,CAAE,IAAK,CACvC,MAAO,SACP,KAAM,EACV,CAAE,EAAGsB,EAAQ,QAAQ,GACzB,IAAI8J,EAAQ,aAAa,CAACpL,OAAO,MAAM,CAAC,CAAE,IAAK,CACvC,MAAO,SACP,QAAS,EACb,CAAE,EAAGsB,EAAQ,QAAQ,GACzB,IAAI8J,EAAQ,aAAa,CAACpL,OAAO,MAAM,CAAC,CAAE,IAAK,CACvC,MAAO,QACX,CAAE,EAAGsB,EAAQ,QAAQ,GACzB,IAAI8J,EAAQ,aAAa,CAACpL,OAAO,MAAM,CAAC,CAAE,IAAK,CACvC,MAAO,QACX,CAAE,EAAGsB,EAAQ,QAAQ,GACzB,IAAI8J,EAAQ,WAAW,CAACpL,OAAO,MAAM,CAAC,CAAE,IAAK,CACrC,KAAM,EACV,CAAE,EAAGsB,EAAQ,MAAM,GACvB,IAAI8J,EAAQ,aAAa,CAAC9J,EAAQ,aAAa,EAAI,CAAC,GACpD,IAAI8J,EAAQ,cAAc,CAAC9J,EAAQ,SAAS,EAAI,CAAC,GACjD,IAAI8J,EAAQ,sBAAsB,CAAC9J,EAAQ,iBAAiB,EAAI,CAAC,GACjE,IAAI8J,EAAQ,YAAY,CAAC9J,EAAQ,YAAY,EAAI,CAAC,GAClD,IAAI8J,EAAQ,gBAAgB,CAAC9J,EAAQ,gBAAgB,EAAI,CAAC,GAC7D,AACL,CACJ,CACJ,CAIM,EAEC,SAAS1B,CAAM,CAAEC,CAAO,CAAEgL,CAAmB,EAEpD,aAEA7K,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DA,EAAQ,UAAU,CAAG,EAGf,EAEC,SAASD,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMqd,EAAc,EAAoB,GAClCiL,EAAQ,EAAoB,GAC5Bra,EAAU,EAAoB,IAC9B/C,EAAmB,EAAoB,GACvCqwC,EAAsB,EAAoB,KAC1CC,EAAgB,EAAoB,KACpCC,EAAmB,EAAoB,IAC7C,OAAMC,UAAwBxwC,EAAiB,YAAY,CACvD,YAAYywC,EAAQ,mBAAmB,CAAE58B,CAAU,CAAE,CACjD,KAAK,CAAC,SACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI08B,EAAiB,+BAA+B,CAACE,IACpE,IAAMC,EAAU,IAAIJ,EAAc,4BAA4B,CACxDK,EAAiB,IAAIx+B,EAAY,SAAS,CAAC,CAC7C,SAAU,CACN,IAAIiL,EAAM,GAAG,CAAC,CACV,SAAU,CAAC,IAAIra,EAAQ,KAAK,CAAC,IAAO,IAAIstC,EAAoB,gBAAgB,CAACx8B,GAAa,IAAI9Q,EAAQ,QAAQ,CAAG,AACrH,GACH,AACL,GACA2tC,EAAQ,eAAe,CAACC,GACxB,IAAMC,EAAe,IAAIz+B,EAAY,SAAS,CAAC,CAC3C,SAAU,CACN,IAAIiL,EAAM,GAAG,CAAC,CACV,SAAU,CAAC,IAAIra,EAAQ,GAAG,CAAG,AACjC,GACH,AACL,GACA2tC,EAAQ,eAAe,CAACE,GACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAACF,EACnB,CACJ,CACA57C,EAAQ,eAAe,CAAG07C,CAGpB,EAEC,SAAS37C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMgqB,EAAe,EAAoB,GACnC9e,EAAmB,EAAoB,EAC7C,OAAM+e,UAAuB/e,EAAiB,qBAAqB,CAC/D,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,MAAO,WAAY,CACxC,CACJ,CACA,MAAMg1C,UAAyB7wC,EAAiB,YAAY,CACxD,YAAY6T,EAAa,CAAC,CAAC,CAAE,CACzB,KAAK,CAAC,eACN,IAAI,CAAC,UAAU,CAAGA,EAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIkL,EAAe,CAAE,MAAOD,EAAa,SAAS,CAAC,QAAQ,AAAC,IAC3E,IAAIpK,EAAc,MAkClB,GAjCI,IAAI,CAAC,UAAU,CAAC,YAAY,EAC5BA,CAAAA,EAAc,CAAC,EAAEA,EAAY,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,AAAD,EAEnE,IAAI,CAAC,UAAU,CAAC,mBAAmB,EACnCA,CAAAA,EAAc,CAAC,EAAEA,EAAY,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,AAAD,EAE1E,IAAI,CAAC,UAAU,CAAC,4BAA4B,EAC5CA,CAAAA,EAAc,CAAC,EAAEA,EAAY,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC,CAAC,AAAD,EAEnF,IAAI,CAAC,UAAU,CAAC,+BAA+B,EAC/CA,CAAAA,EAAc,CAAC,EAAEA,EAAY,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,+BAA+B,CAAC,CAAC,CAAC,AAAD,EAEtF,IAAI,CAAC,UAAU,CAAC,iBAAiB,EACjCA,CAAAA,EAAc,CAAC,EAAEA,EAAY,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,AAAD,EAExE,IAAI,CAAC,UAAU,CAAC,SAAS,EACzBA,CAAAA,EAAc,CAAC,EAAEA,EAAY,IAAI,CAAC,AAAD,EAEjC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EACjCA,CAAAA,EAAc,CAAC,EAAEA,EAAY,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,AAAD,EAExE,IAAI,CAAC,UAAU,CAAC,2BAA2B,EAC3CA,CAAAA,EAAc,CAAC,EAAEA,EAAY,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC,CAAC,AAAD,EAElF,IAAI,CAAC,UAAU,CAAC,iBAAiB,EACjCA,CAAAA,EAAc,CAAC,EAAEA,EAAY,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,AAAD,EAExE,IAAI,CAAC,UAAU,CAAC,2BAA2B,EAC3CA,CAAAA,EAAc,CAAC,EAAEA,EAAY,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC,CAAC,AAAD,EAElF,IAAI,CAAC,UAAU,CAAC,2BAA2B,EAC3CA,CAAAA,EAAc,CAAC,EAAEA,EAAY,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC,CAAC,AAAD,EAElF,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAE,CAC7E,IAAMo8B,EAAS,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,AAACC,GAAO,CAAC,EAAEA,EAAG,SAAS,CAAC,CAAC,EAAEA,EAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAChGr8B,EAAc,CAAC,EAAEA,EAAY,MAAM,EAAEo8B,EAAO,CAAC,CAAC,AAClD,CACI,IAAI,CAAC,UAAU,CAAC,+BAA+B,EAC/Cp8B,CAAAA,EAAc,CAAC,EAAEA,EAAY,IAAI,CAAC,AAAD,EAEjC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EACpCA,CAAAA,EAAc,CAAC,EAAEA,EAAY,IAAI,CAAC,AAAD,EAEjC,IAAI,CAAC,UAAU,CAAC,wBAAwB,EACxCA,CAAAA,EAAc,CAAC,EAAEA,EAAY,IAAI,CAAC,AAAD,EAEjC,IAAI,CAAC,UAAU,CAAC,8BAA8B,EAC9CA,CAAAA,EAAc,CAAC,EAAEA,EAAY,IAAI,CAAC,AAAD,EAErC,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EACnB,CACJ,CACA5f,EAAQ,gBAAgB,CAAG+7C,CAGrB,EAEC,SAASh8C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMgxC,UAAqChxC,EAAiB,YAAY,CACpE,aAAc,CACV,KAAK,CAAC,eACV,CACJ,CACAlL,EAAQ,4BAA4B,CAAGk8C,CAGjC,EAEC,SAASn8C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCixC,EAAU,EAAoB,IACpC,OAAMC,UAAwClxC,EAAiB,YAAY,CACvE,YAAYywC,CAAK,CAAE,CACf,KAAK,CAAC,WACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIQ,EAAQ,KAAK,CAACR,GACrC,CACJ,CACA37C,EAAQ,+BAA+B,CAAGo8C,CAGpC,EAEC,SAASr8C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,EAC7C,OAAMmxC,UAAwBnxC,EAAiB,qBAAqB,CAChE,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,MAAO,OAAQ,CACpC,CACJ,CACA,MAAMu1C,UAAcpxC,EAAiB,YAAY,CAC7C,YAAYywC,CAAK,CAAE,CACf,KAAK,CAAC,WACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIU,EAAgB,CAAEV,MAAAA,CAAM,GAC/C,CACJ,CACA37C,EAAQ,KAAK,CAAGs8C,CAGV,EAEC,SAASv8C,CAAM,CAAEC,CAAO,CAAEgL,CAAmB,EAEpD,aAEA7K,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,EAO3DA,CAAAA,EAAQ,UAAU,CANlB,MAAMu8C,EACF,YAAYC,CAAS,CAAE1pC,CAAK,CAAE,CAC1B,IAAI,CAAC,SAAS,CAAG0pC,EACjB,IAAI,CAAC,KAAK,CAAG1pC,CACjB,CACJ,CAIM,EAEC,SAAS/S,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,SAASM,EAASC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,CACAL,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DM,EAAS,EAAoB,MAC7BA,EAAS,EAAoB,KAGvB,EAEC,SAASP,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCuxC,EAAU,EAAoB,IAC9BC,EAAmB,EAAoB,IAC7C,OAAMC,UAAwBzxC,EAAiB,YAAY,CACvD,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,SACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIi7C,EAAiB,gBAAgB,CAAC,CACjD,GAAIj7C,EAAQ,EAAE,CACd,OAAQA,EAAQ,MAAM,CACtB,KAAMA,EAAQ,IAAI,AACtB,IACA,IAAI,CAAC,eAAe,CAAC,IAAIg7C,EAAQ,OAAO,CAACh7C,GAC7C,CACJ,CACAzB,EAAQ,eAAe,CAAG28C,CAGpB,EAEC,SAAS58C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMkL,EAAmB,EAAoB,GACvCuxC,EAAU,EAAoB,IAC9BzuC,EAAU,EAAoB,IAC9BC,EAAU,EAAoB,IAC9Bqa,EAAQ,EAAoB,IAC5Bo0B,EAAmB,EAAoB,KACvCE,EAAwB,EAAoB,KAC5CC,EAAiB,EAAoB,IAC3C,OAAMC,UAAuB5xC,EAAiB,YAAY,CACtD,YAAYzJ,CAAO,CAAE,CACjB,KAAK,CAAC,SACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIi7C,EAAiB,gBAAgB,CAAC,CACjD,GAAIj7C,EAAQ,EAAE,CACd,OAAQA,EAAQ,MAAM,CACtB,KAAMA,EAAQ,IAAI,AACtB,IACA,IAAI,CAAC,qBAAqB,CAAG,IAAIs7C,EAAsBt7C,GACvD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,qBAAqB,CACnD,CACJ,CACAzB,EAAQ,cAAc,CAAG88C,CACzB,OAAMC,UAA8B7xC,EAAiB,YAAY,CAC7D,YAAYzJ,CAAO,CAAE,CAGjB,GAFA,KAAK,CAAC,OACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIg7C,EAAQ,aAAa,CAACh7C,IACrCA,EAAQ,QAAQ,CAChB,IAAK,IAAM6M,KAAS7M,EAAQ,QAAQ,CAAE,CAClC,GAAI,AAAiB,UAAjB,OAAO6M,EAAoB,CAC3B,OAAQA,GACJ,KAAKga,EAAM,UAAU,CAAC,OAAO,CACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIra,EAAQ,KAAK,EAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI2uC,EAAsB,WAAW,EACpD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI3uC,EAAQ,QAAQ,EACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAQ,GAAG,EAC9B,KACJ,MAAKqa,EAAM,UAAU,CAAC,WAAW,CAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIra,EAAQ,KAAK,EAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI2uC,EAAsB,oBAAoB,EAC7D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI3uC,EAAQ,QAAQ,EACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAQ,GAAG,EAC9B,KACJ,MAAKqa,EAAM,UAAU,CAAC,sBAAsB,CACxC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIra,EAAQ,KAAK,EAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI2uC,EAAsB,2BAA2B,EACpE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI3uC,EAAQ,QAAQ,EACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIA,EAAQ,GAAG,EAC9B,KACJ,SACI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI4uC,EAAe,WAAW,CAACvuC,GAEtD,CACA,QACJ,CACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,EACnB,MAEK7M,EAAQ,IAAI,EACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIo7C,EAAe,WAAW,CAACp7C,EAAQ,IAAI,GAE9D,GAAIA,EAAQ,KAAK,CACb,IAAK,IAAI4C,EAAI,EAAGA,EAAI5C,EAAQ,KAAK,CAAE4C,IAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAG,EAAG,IAAI2J,EAAQ,KAAK,CAGpD,CACJ,CAGM,EAEC,SAASjO,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMgqB,EAAe,EAAoB,GACnC9e,EAAmB,EAAoB,EAC7C,OAAM+e,UAAuB/e,EAAiB,qBAAqB,CAC/D,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,MAAO,WAAY,CACxC,CACJ,CACA,MAAMi2C,UAAoB9xC,EAAiB,YAAY,CACnD,aAAc,CACV,KAAK,CAAC,kBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI+e,EAAe,CAAE,MAAOD,EAAa,SAAS,CAAC,QAAQ,AAAC,IAC3E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OACnB,CACJ,CACAhqB,EAAQ,WAAW,CAAGg9C,CACtB,OAAMC,UAA6B/xC,EAAiB,YAAY,CAC5D,aAAc,CACV,KAAK,CAAC,kBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI+e,EAAe,CAAE,MAAOD,EAAa,SAAS,CAAC,QAAQ,AAAC,IAC3E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WACnB,CACJ,CACAhqB,EAAQ,oBAAoB,CAAGi9C,CAC/B,OAAMC,UAAoChyC,EAAiB,YAAY,CACnE,aAAc,CACV,KAAK,CAAC,kBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI+e,EAAe,CAAE,MAAOD,EAAa,SAAS,CAAC,QAAQ,AAAC,IAC3E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eACnB,CACJ,CACAhqB,EAAQ,2BAA2B,CAAGk9C,CAGhC,EAEC,SAASn9C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMgqB,EAAe,EAAoB,GACnC9e,EAAmB,EAAoB,EAC7C,OAAM+e,UAAuB/e,EAAiB,qBAAqB,CAC/D,aAAc,CACV,KAAK,IAAInE,WACT,IAAI,CAAC,OAAO,CAAG,CAAE,MAAO,WAAY,CACxC,CACJ,CACA,MAAMo2C,UAAoBjyC,EAAiB,YAAY,CACnD,YAAY8H,CAAI,CAAE,CACd,KAAK,CAAC,aACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIiX,EAAe,CAAE,MAAOD,EAAa,SAAS,CAAC,QAAQ,AAAC,IAC3E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAChX,EACnB,CACJ,CACAhT,EAAQ,WAAW,CAAGm9C,CAGhB,EAEC,SAASp9C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAKAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,IAC3DM,AAJA,SAAkBC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,EAES,EAAoB,KAGvB,EAEC,SAAST,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,IAAIo9C,EAAY,AAAC,IAAI,EAAI,IAAI,CAAC,SAAS,EAAK,SAAUC,CAAO,CAAEC,CAAU,CAAExnB,CAAC,CAAEynB,CAAS,EACnF,OAAO,GAAKznB,CAAAA,GAAMA,CAAAA,EAAIrB,OAAM,CAAC,EAAG,SAAU+oB,CAAO,CAAEC,CAAM,EACrD,SAASC,EAAU77C,CAAK,EAAI,GAAI,CAAEmnC,EAAKuU,EAAU,IAAI,CAAC17C,GAAS,CAAE,MAAOjB,EAAG,CAAE68C,EAAO78C,EAAI,CAAE,CAC1F,SAAS+8C,EAAS97C,CAAK,EAAI,GAAI,CAAEmnC,EAAKuU,EAAU,KAAQ,CAAC17C,GAAS,CAAE,MAAOjB,EAAG,CAAE68C,EAAO78C,EAAI,CAAE,CAC7F,SAASooC,EAAKloB,CAAM,EAAIA,EAAO,IAAI,CAAG08B,EAAQ18B,EAAO,KAAK,EAAI,IAAIgV,EAAE,SAAU0nB,CAAO,EAAIA,EAAQ18B,EAAO,KAAK,CAAG,GAAG,IAAI,CAAC48B,EAAWC,EAAW,CAC9I3U,EAAK,AAACuU,CAAAA,EAAYA,EAAU,KAAK,CAACF,EAASC,GAAc,EAAE,GAAG,IAAI,GACtE,EACJ,EACAn9C,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAM49C,EAAkB,EAAoB,IAC5C,OAAMC,EACF,OAAO,SAAShnB,CAAI,CAAEinB,CAAQ,CAAE,CAC5B,OAAOV,EAAU,IAAI,CAAE,KAAK,EAAG,KAAK,EAAG,YACnC,IAAMW,EAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAClnB,EAAMinB,GAMxC,OALgB,MAAMC,EAAI,aAAa,CAAC,CACpC,KAAM,aACN,SAAU,0EACV,YAAa,SACjB,EAEJ,EACJ,CACA,OAAO,eAAelnB,CAAI,CAAEinB,CAAQ,CAAE,CAClC,OAAOV,EAAU,IAAI,CAAE,KAAK,EAAG,KAAK,EAAG,YACnC,IAAMW,EAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAClnB,EAAMinB,GAMxC,OALgB,MAAMC,EAAI,aAAa,CAAC,CACpC,KAAM,SACN,SAAU,0EACV,YAAa,SACjB,EAEJ,EACJ,CACA,OAAO,OAAOlnB,CAAI,CAAEinB,CAAQ,CAAE,CAC1B,OAAOV,EAAU,IAAI,CAAE,KAAK,EAAG,KAAK,EAAG,YACnC,IAAMW,EAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAClnB,EAAMinB,GAMxC,OALgB,MAAMC,EAAI,aAAa,CAAC,CACpC,KAAM,OACN,SAAU,0EACV,YAAa,SACjB,EAEJ,EACJ,CACJ,CACAF,EAAO,QAAQ,CAAG,IAAID,EAAgB,QAAQ,CAC9C59C,EAAQ,MAAM,CAAG69C,CAGX,EAEC,SAAS99C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMg+C,EAAQ,EAAoB,KAC5Br9B,EAAM,EAAoB,KAC1Bs9B,EAAc,EAAoB,KAClCC,EAAmB,EAAoB,KACvCC,EAAuB,EAAoB,IAqIjDn+C,CAAAA,EAAQ,QAAQ,CApIhB,MAAMo+C,EACF,aAAc,CACV,IAAI,CAAC,SAAS,CAAG,IAAIH,EAAY,SAAS,CAC1C,IAAI,CAAC,aAAa,CAAG,IAAIC,EAAiB,aAAa,CACvD,IAAI,CAAC,iBAAiB,CAAG,IAAIC,EAAqB,iBAAiB,AACvE,CACA,QAAQtnB,CAAI,CAAEwnB,CAAW,CAAE,CACvB,IAAMN,EAAM,IAAIC,EACVM,EAAsB,IAAI,CAAC,UAAU,CAACznB,EAAMwnB,GAClD,IAAK,IAAMn9C,KAAOo9C,EAAqB,CACnC,GAAI,CAACA,CAAmB,CAACp9C,EAAI,CACzB,SAEJ,IAAMF,EAAMs9C,CAAmB,CAACp9C,EAAI,CACpC,GAAIuH,MAAM,OAAO,CAACzH,GACd,IAAK,IAAMu9C,KAAWv9C,EAClB+8C,EAAI,IAAI,CAACQ,EAAQ,IAAI,CAAEA,EAAQ,IAAI,OAIvCR,EAAI,IAAI,CAAC/8C,EAAI,IAAI,CAAEA,EAAI,IAAI,CAEnC,CACA,IAAK,IAAMykB,KAAQoR,EAAK,KAAK,CAAC,KAAK,CAAE,CACjC,IAAMsK,EAAY1b,EAAK,MAAM,CAC7Bs4B,EAAI,IAAI,CAAC,CAAC,WAAW,EAAEt4B,EAAK,QAAQ,CAAC,CAAC,CAAE0b,EAC5C,CACA,OAAO4c,CACX,CACA,WAAWlnB,CAAI,CAAEinB,CAAQ,CAAE,CACvBjnB,EAAK,kBAAkB,GACvB,IAAM2nB,EAA4B3nB,EAAK,qBAAqB,CAAC,iBAAiB,CAAG,EAC3E4nB,EAAkB99B,EAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAACkW,EAAK,QAAQ,CAAEA,GAAOinB,GAClEY,EAAqB,IAAI,CAAC,aAAa,CAAC,YAAY,CAACD,EAAiB5nB,EAAK,KAAK,EACtF,MAAO,CACH,cAAe,CACX,KAAM,AAAC,MACH6nB,EAAmB,OAAO,CAAC,CAACvd,EAAW98B,KACnCwyB,EAAK,qBAAqB,CAAC,kBAAkB,CAAC2nB,EAA4Bn6C,EAAG,4EAA6E,CAAC,MAAM,EAAE88B,EAAU,QAAQ,CAAC,CAAC,CAC3L,GACOxgB,EAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAACkW,EAAK,qBAAqB,CAAEA,GAAOinB,GACxE,IACA,KAAM,8BACV,EACA,SAAU,CACN,KAAM,AAAC,MACH,IAAM9C,EAAU,IAAI,CAAC,aAAa,CAAC,OAAO,CAACyD,EAAiBC,EAAoBF,GAEhF,OADyB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAACxD,EAASnkB,EAAK,SAAS,CAAC,iBAAiB,CAErG,KACA,KAAM,mBACV,EACA,OAAQ,CACJ,KAAMlW,EAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAACkW,EAAK,MAAM,CAAEA,GAAOinB,GACpD,KAAM,iBACV,EACA,WAAY,CACR,KAAMn9B,EAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAACkW,EAAK,cAAc,CAAEA,GAAO,CACxD,YAAa,CACT,WAAY,MACZ,SAAU,OACd,CACJ,GACA,KAAM,mBACV,EACA,UAAW,CACP,KAAMlW,EAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAACkW,EAAK,SAAS,CAAEA,GAAOinB,GACvD,KAAM,oBACV,EACA,kBAAmB,CACf,KAAMn9B,EAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAACkW,EAAK,iBAAiB,CAAEA,GAAOinB,GAC/D,KAAM,aACV,EACA,oBAAqBjnB,EAAK,OAAO,CAAC,GAAG,CAAC,CAAC8nB,EAAextC,KAClD,IAAM6pC,EAAUr6B,EAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAACg+B,EAAc,MAAM,CAAE9nB,GAAOinB,GAKvE,OAHAc,AADmB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC5D,EAASnkB,EAAK,KAAK,EAC3D,OAAO,CAAC,CAACsK,EAAW98B,KAC3Bs6C,EAAc,aAAa,CAAC,kBAAkB,CAACt6C,EAAG,4EAA6E,CAAC,MAAM,EAAE88B,EAAU,QAAQ,CAAC,CAAC,CAChK,GACO,CACH,KAAMxgB,EAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAACg+B,EAAc,aAAa,CAAE9nB,GAAOinB,GACpE,KAAM,CAAC,iBAAiB,EAAE3sC,EAAQ,EAAE,SAAS,CAAC,AAClD,CACJ,GACA,oBAAqB0lB,EAAK,OAAO,CAAC,GAAG,CAAC,CAACgoB,EAAe1tC,KAClD,IAAM6pC,EAAUr6B,EAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAACk+B,EAAc,MAAM,CAAEhoB,GAAOinB,GAKvE,OAHAc,AADmB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC5D,EAASnkB,EAAK,KAAK,EAC3D,OAAO,CAAC,CAACsK,EAAW98B,KAC3Bw6C,EAAc,aAAa,CAAC,kBAAkB,CAACx6C,EAAG,4EAA6E,CAAC,MAAM,EAAE88B,EAAU,QAAQ,CAAC,CAAC,CAChK,GACO,CACH,KAAMxgB,EAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAACk+B,EAAc,aAAa,CAAEhoB,GAAOinB,GACpE,KAAM,CAAC,iBAAiB,EAAE3sC,EAAQ,EAAE,SAAS,CAAC,AAClD,CACJ,GACA,QAAS0lB,EAAK,OAAO,CAAC,GAAG,CAAC,CAAC8nB,EAAextC,KACtC,IAAM2tC,EAAcn+B,EAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAACg+B,EAAc,MAAM,CAAE9nB,GAAOinB,GACrEc,EAAa,IAAI,CAAC,aAAa,CAAC,YAAY,CAACE,EAAajoB,EAAK,KAAK,EAE1E,MAAO,CACH,KAFY,IAAI,CAAC,aAAa,CAAC,OAAO,CAACioB,EAAaF,EAAY,GAGhE,KAAM,CAAC,WAAW,EAAEztC,EAAQ,EAAE,IAAI,CAAC,AACvC,CACJ,GACA,QAAS0lB,EAAK,OAAO,CAAC,GAAG,CAAC,CAACgoB,EAAe1tC,KACtC,IAAM2tC,EAAcn+B,EAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAACk+B,EAAc,MAAM,CAAEhoB,GAAOinB,GACrEc,EAAa,IAAI,CAAC,aAAa,CAAC,YAAY,CAACE,EAAajoB,EAAK,KAAK,EAE1E,MAAO,CACH,KAFY,IAAI,CAAC,aAAa,CAAC,OAAO,CAACioB,EAAaF,EAAY,GAGhE,KAAM,CAAC,WAAW,EAAEztC,EAAQ,EAAE,IAAI,CAAC,AACvC,CACJ,GACA,aAAc,CACV,KAAMwP,EAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAACkW,EAAK,YAAY,CAAEA,GAAOinB,GAC1D,KAAM,qBACV,EACA,cAAe,CACX,KAAMn9B,EAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAACkW,EAAK,aAAa,CAAEA,GAAOinB,GAC3D,KAAM,kBACV,EACA,UAAW,CACP,KAAMn9B,EAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAACkW,EAAK,SAAS,CAAEA,GAAOinB,GACvD,KAAM,oBACV,EACA,SAAU,CACN,KAAMn9B,EAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAACkW,EAAK,QAAQ,CAAEA,GAAOinB,GACtD,KAAM,mBACV,CACJ,CACJ,CACJ,CAIM,EAEC,SAAS/9C,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAExB,UAASmM,CAAO,EAAG,IAAI4yC,EAAe,EAAoB,KAClFpoC,EAAS,EAAoB,IAAI,MAAM,CAkI3C,SAAS6mC,EAAQ/3B,CAAI,CAAE4B,CAAM,CAAE23B,CAAY,EACvCA,EAAeA,GAAgB,EAC/B,IANmBrT,EAOf1rC,EAsBAg/C,EAvBAC,GANevT,EAMetkB,EAL1B,AAAI5e,MAAMiQ,AAKwBsmC,GALf,GAAG,IAAI,CAACrT,GAAa,KAO5CwT,EAAS15B,EAGb,GAAI,AAAgB,UAAhB,OAAOA,IAEPxlB,EAAOgB,AADId,OAAO,IAAI,CAACslB,EACZ,CAAC,EAAE,CAGV05B,AAFJA,CAAAA,EAAS15B,CAAI,CAACxlB,EAAK,AAAD,GAEJk/C,EAAO,KAAK,EAMtB,OALAA,EAAO,KAAK,CAAC,IAAI,CAAGl/C,EACpBk/C,EAAO,KAAK,CAAC,MAAM,CAAGH,EACtBG,EAAO,KAAK,CAAC,MAAM,CAAG93B,EACtB83B,EAAO,KAAK,CAAC,OAAO,CAAGD,EACvBC,EAAO,KAAK,CAAC,SAAS,CAAGA,EAClBA,EAAO,KAAK,CAI3B,IAAI1iC,EAAa,EAAE,CACfm/B,EAAU,EAAE,CAIhB,SAASwD,EAAep+C,CAAG,EAEvBC,AADWd,OAAO,IAAI,CAACa,GAClB,OAAO,CAAC,SAASE,CAAG,EACrBub,EAAW,IAAI,CAACoe,AAmH5B,SAAmB35B,CAAG,CAAEW,CAAK,EACzB,OAAOX,EAAAA,KAAkB69C,EAAal9C,GAAS,GACnD,EArHsCX,EAAKF,CAAG,CAACE,EAAI,EAC3C,EACJ,CAEA,OAAO,OAAOi+C,GACV,IAAK,SACD,GAAIA,AAAW,OAAXA,EAAiB,KAEjBA,CAAAA,EAAO,KAAK,EACZC,EAAeD,EAAO,KAAK,EAG3BA,EAAO,MAAM,EACbvD,EAAQ,IAAI,CACR,AAAC,aAAcuD,EAAO,MAAM,AAAD,EAAG,OAAO,CAAC,SAAU,mBAAqB,OAIzEA,EAAO,OAAO,GACdF,EAAkB,GAClBrD,EAAQ,IAAI,CAAC,IACbuD,EAAO,OAAO,CAAC,SAASt9C,CAAK,EACrB,AAAgB,UAAhB,OAAOA,EAGHw9C,AAAS,SAFDl/C,OAAO,IAAI,CAAC0B,EAAM,CAAC,EAAE,CAG7Bu9C,EAAev9C,EAAM,KAAK,EAE1B+5C,EAAQ,IAAI,CAAC4B,EACT37C,EAAOwlB,EAAQ23B,EAAe,KAItCpD,EAAQ,GAAG,GACXqD,EAAgB,GAChBrD,EAAQ,IAAI,CAACmD,EAAal9C,IAGlC,GACI,CAACo9C,GACDrD,EAAQ,IAAI,CAAC,KAGzB,KAEA,SAEIA,EAAQ,IAAI,CAACmD,EAAaI,GAElC,CAEA,MAAO,CACH,KAAYl/C,EACZ,UA9EY,GA+EZ,WAAYwc,EACZ,QAAYm/B,EACZ,OAAYoD,EACZ,QAAYE,EACZ,OAAY73B,CAChB,CACJ,CAEA,SAAStU,EAAOusC,CAAM,CAAEC,CAAI,CAAE36C,CAAG,EAE7B,GAAI,AAAe,UAAf,OAAO26C,EACP,OAAOD,EAAO,GAAOC,GAGzB,IAAIz7C,EAAMy7C,EAAK,SAAS,CAAG,EAAIA,EAAK,OAAO,CAAC,MAAM,CAElD,SAASC,IACL,KAAOD,EAAK,OAAO,CAAC,MAAM,EAAE,CACxB,IAAI19C,EAAQ09C,EAAK,OAAO,CAAC,KAAK,GAE9B,GAAI19C,AAAUD,KAAAA,IAAVC,GACJ,GAAI49C,EAAU59C,GAAQ,OAEtBkR,EAAOusC,EAAQz9C,GACnB,CAEAy9C,EAAO,GAAO,AAACx7C,CAAAA,EAAM,EAAIy7C,EAAK,OAAO,CAAG,EAAC,EAClCA,CAAAA,EAAK,IAAI,CAAG,KAAOA,EAAK,IAAI,CAAG,IAAM,EAAC,EACtCA,CAAAA,EAAK,MAAM,EAAI,CAAC36C,EAAM,KAAO,EAAC,GAEjCA,GACAA,GAER,CAEA,SAAS66C,EAAU59C,CAAK,QACrB,EAAIA,EAAM,SAAS,GACfA,EAAM,SAAS,CAAC,MAAM,CAAGy9C,EACzBz9C,EAAM,SAAS,CAAC,GAAG,CAAG29C,EACtB39C,EAAM,SAAS,CAAG,GAClBy9C,EAAO,IACA,GAGd,CAQA,GANAA,EAAO,GAAOC,EAAK,OAAO,CACnBA,CAAAA,EAAK,IAAI,CAAG,IAAMA,EAAK,IAAI,CAAG,EAAC,EAC/BA,CAAAA,EAAK,UAAU,CAAC,MAAM,CAAG,IAAMA,EAAK,UAAU,CAAC,IAAI,CAAC,KAAO,EAAC,EAC5Dz7C,CAAAA,EAAOy7C,EAAK,IAAI,CAAG,IAAM,GAAOA,EAAK,IAAI,CAAG,KAAO,EAAE,EACrDA,CAAAA,EAAK,MAAM,EAAIz7C,EAAM,EAAI,KAAO,EAAC,GAEpC,CAACA,EACD,OAAOw7C,EAAO,GAAOC,EAAK,MAAM,CAAG,KAAO,GAG1C,EAACE,EAAUF,IACXC,GAER,CAMAz/C,EAAO,OAAO,CAnRd,SAAa2/C,CAAK,CAAEj+C,CAAO,EAEA,UAAnB,OAAOA,GACPA,CAAAA,EAAU,CACN,OAAQA,CACZ,GAGJ,IAgD2BglB,EAEnBJ,EAlDJtP,EAActV,EAAQ,MAAM,CAAG,IAAIkV,EAAW,KAC9C+lB,EAAc,GACdijB,EAAc,GACdt4B,EAAc,AAAC5lB,EAAQ,MAAM,CACXA,AAAmB,KAAnBA,EAAQ,MAAM,CAdnB,OAeSA,EAAQ,MAAM,CAFJ,GAGhCm+C,EAAc,GAGlB,SAASC,EAAOC,CAAI,EACXF,EAGDzzC,EAAQ,QAAQ,CAAC2zC,GAFjBA,GAIR,CAEA,SAASR,EAAQG,CAAS,CAAE16C,CAAG,EAQ3B,GAPYnD,KAAAA,IAARmD,GACA23B,CAAAA,GAAU33B,CAAE,EAEZ06C,GAAa,CAACE,IACd5oC,EAASA,GAAU,IAAIJ,EACvBgpC,EAAc,IAEdF,GAAaE,EAAa,CAC1B,IAAIl6B,EAAOiX,EACXmjB,EAAM,WAAc9oC,EAAO,IAAI,CAAC,OAAQ0O,EAAM,GAC9CiX,EAAS,EACb,CACJ,CAEA,SAASqjB,EAAKl+C,CAAK,CAAEwW,CAAI,EACrBtF,EAAOusC,EAAQ9B,EAAQ37C,EAAOwlB,EAAQA,EAAS,EAAI,GAAIhP,EAC3D,CAEA,SAASzT,IACL,GAAImS,EAAQ,CACR,IAAI0O,EAAOiX,EACXmjB,EAAM,WACJ9oC,EAAO,IAAI,CAAC,OAAQ0O,GACpB1O,EAAO,IAAI,CAAC,OACZA,EAAO,QAAQ,CAAG,GAClBA,EAAO,IAAI,CAAC,QACd,EACJ,CACJ,CAiBA,GAFA8oC,EAAM,WAAcD,EAAU,EAAM,GAEhCn+C,EAAQ,WAAW,CAAE,EAbjB4kB,EAAQ,CAAE,QAAS,MAAO,SADfI,CADQA,EAgBLhlB,EAAQ,WAAW,EAfV,QAAQ,EAAI,OACU,EAE7CglB,EAAY,UAAU,EACtBJ,CAAAA,EAAK,UAAU,CAAGI,EAAY,UAAU,AAAD,EAG3Cs5B,EAAI,CAAC,OAAQ,CAAE,MAAO15B,CAAK,CAAE,GAC7BqW,EAASA,EAAO,OAAO,CAAC,KAAM,KAQlC,OAaA,CAXIgjB,GAASA,EAAM,OAAO,CACtBA,EAAM,OAAO,CAAC,SAAU79C,CAAK,CAAEwC,CAAC,EAC5B,IAAIgU,EACAhU,EAAI,IAAMq7C,EAAM,MAAM,EACtBrnC,CAAAA,EAAOzT,CAAE,EACbm7C,EAAIl+C,EAAOwW,EACf,GAEA0nC,EAAIL,EAAO96C,GAGXmS,IACAA,EAAO,QAAQ,CAAG,GACXA,GAEJ2lB,CACX,EAyLA38B,EAAO,OAAO,CAAC,OAAO,CAAGA,EAAO,OAAO,CAAC,OAAO,CAvL/C,WACI,IAAI2/C,EAAQj3C,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC1B,WACnCpH,EAAO,CACH,MAAQ69C,EAAQkC,EACpB,EAsBJ,OApBA//C,EAAK,IAAI,CAAG,SAAU+/C,CAAK,EACvB,GAAI,CAAC,IAAI,CAAC,MAAM,CACZ,MAAM,AAAI38C,MAAM,6BAEpB,IAAIJ,EAAO,IAAI,CACX0kB,EAAS,IAAI,CAAC,KAAK,CAAC,MAAM,CAC9BtU,EAAO,IAAI,CAAC,MAAM,CAAEyqC,EAChBkC,EAAOr4B,EAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAIA,CAAAA,EAAS,EAAI,IACjD,WAAc1kB,EAAK,MAAM,CAAC,GAAM,EACxC,EAEAhD,EAAK,KAAK,CAAG,SAAU+/C,CAAK,EACV99C,KAAAA,IAAV89C,GACA,IAAI,CAAC,IAAI,CAACA,GAEV,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,GAAG,EAEhB,EAEO//C,CACX,CA8J2B,GAAE,IAAI,CAACK,EAAS,EAAoB,IAEzD,EAEC,SAASD,CAAM,CAAEC,CAAO,EAG/B,IAAIggD,EAAoB,CACpB,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,MACT,CAUAjgD,CAAAA,EAAO,OAAO,CARd,SAAsB0D,CAAM,EACxB,OAAOA,GAAUA,EAAO,OAAO,CACzBA,EAAO,OAAO,CAAC,aAAc,SAASuD,CAAG,CAAE8E,CAAI,EAC7C,OAAOk0C,CAAiB,CAACl0C,EAAK,AAChC,GACArI,CACV,CAKM,EAEC,SAAS1D,CAAM,CAAEC,CAAO,CAAEgL,CAAmB,EAEpD,aAEA7K,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,EAY3DA,CAAAA,EAAQ,SAAS,CAXjB,MAAMigD,EACF,OAAOP,CAAK,CAAE7oB,CAAI,CAAE,CAChB,IAAM6F,EAASgjB,EAAM,UAAU,CAAC7oB,GAChC,GAAI6F,EACA,OAAOA,CAGP,OAAM35B,MAAM,wCAEpB,CACJ,CAIM,EAEC,SAAShD,CAAM,CAAEC,CAAO,CAAEgL,CAAmB,EAEpD,aAEA7K,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,EAa3DA,CAAAA,EAAQ,aAAa,CAZrB,MAAMkgD,EACF,QAAQlF,CAAO,CAAE7Z,CAAS,CAAE35B,CAAM,CAAE,CAChC,IAAI24C,EAAiBnF,EAIrB,OAHA7Z,EAAU,OAAO,CAAC,CAACif,EAAO/7C,KACtB87C,EAAiBA,EAAe,OAAO,CAAC,AAAIjX,OAAO,CAAC,CAAC,EAAEkX,EAAM,QAAQ,CAAC,CAAC,CAAC,CAAE,KAAM,AAAC54C,CAAAA,EAASnD,CAAAA,EAAG,QAAQ,GACzG,GACO87C,CACX,CACA,aAAanF,CAAO,CAAEj9B,CAAK,CAAE,CACzB,OAAOA,EAAM,KAAK,CAAC,MAAM,CAAC,AAACqiC,GAAUpF,EAAQ,MAAM,CAAC,CAAC,CAAC,EAAEoF,EAAM,QAAQ,CAAC,CAAC,CAAC,EAAI,EACjF,CACJ,CAIM,EAEC,SAASrgD,CAAM,CAAEC,CAAO,CAAEgL,CAAmB,EAEpD,aAEA7K,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,EAa3DA,CAAAA,EAAQ,iBAAiB,CAZzB,MAAMqgD,EACF,QAAQrF,CAAO,CAAEsF,CAAkB,CAAE,CACjC,IAAIH,EAAiBnF,EACrB,IAAK,IAAMuF,KAAqBD,EAAoB,CAChD,IAAI,CAACC,EAAkB,SAAS,CAGhCJ,EAAiBA,EAAe,OAAO,CAAC,AAAIjX,OAAO,CAAC,CAAC,EAAEqX,EAAkB,SAAS,CAAC,CAAC,CAAC,CAAE,KAAMA,EAAkB,EAAE,CAAC,QAAQ,GAC9H,CACA,OAAOJ,CACX,CACJ,CAIM,EAEC,SAASpgD,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAKAG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,IAC3DM,AAJA,SAAkBC,CAAC,EACf,IAAK,IAAIC,KAAKD,EAAO,CAACP,EAAQ,cAAc,CAACQ,IAAIR,CAAAA,CAAO,CAACQ,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CACrE,EAES,EAAoB,KAGvB,EAEC,SAAST,CAAM,CAAEC,CAAO,CAAE,CAAmB,EAEpD,aAEA,IAuBWwgD,EADPA,EAtBApD,EAAY,AAAC,IAAI,EAAI,IAAI,CAAC,SAAS,EAAK,SAAUC,CAAO,CAAEC,CAAU,CAAExnB,CAAC,CAAEynB,CAAS,EACnF,OAAO,GAAKznB,CAAAA,GAAMA,CAAAA,EAAIrB,OAAM,CAAC,EAAG,SAAU+oB,CAAO,CAAEC,CAAM,EACrD,SAASC,EAAU77C,CAAK,EAAI,GAAI,CAAEmnC,EAAKuU,EAAU,IAAI,CAAC17C,GAAS,CAAE,MAAOjB,EAAG,CAAE68C,EAAO78C,EAAI,CAAE,CAC1F,SAAS+8C,EAAS97C,CAAK,EAAI,GAAI,CAAEmnC,EAAKuU,EAAU,KAAQ,CAAC17C,GAAS,CAAE,MAAOjB,EAAG,CAAE68C,EAAO78C,EAAI,CAAE,CAC7F,SAASooC,EAAKloB,CAAM,EAAIA,EAAO,IAAI,CAAG08B,EAAQ18B,EAAO,KAAK,EAAI,IAAIgV,EAAE,SAAU0nB,CAAO,EAAIA,EAAQ18B,EAAO,KAAK,CAAG,GAAG,IAAI,CAAC48B,EAAWC,EAAW,CAC9I3U,EAAK,AAACuU,CAAAA,EAAYA,EAAU,KAAK,CAACF,EAASC,GAAc,EAAE,GAAG,IAAI,GACtE,EACJ,EACAn9C,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMg+C,EAAQ,EAAoB,KAC5B9mB,EAAW,EAAoB,IAC/B8Z,EAAmB,EAAoB,IACvCE,EAAmB,EAAoB,IACvCC,EAAU,EAAoB,IAC9BE,EAAiB,EAAoB,IACrCnmC,EAAmB,EAAoB,GACvCu1C,EAAe,CACjB,6EAA8E,SAC9E,6EAA8E,SAC9E,4EAA6E,QAC7E,gFAAiF,WACrF,CAGID,EADOA,EAKRA,GAAqBA,CAAAA,EAAmB,CAAC,IAJvB,MAAS,CAAG,SAC7BA,EAAiB,MAAS,CAAG,SAC7BA,EAAiB,KAAQ,CAAG,QAC5BA,EAAiB,SAAY,CAAG,WAoKpCxgD,CAAAA,EAAQ,UAAU,CAlKlB,MAAM0gD,EACF,QAAQj7B,CAAI,CAAE,CACV,OAAO23B,EAAU,IAAI,CAAE,KAAK,EAAG,KAAK,EAAG,YACnC,IAAMuD,EAAa,MAAM3C,EAAM,SAAS,CAACv4B,GACnCm7B,EAAkB,MAAMD,EAAW,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,QACpEE,EAAsB,MAAMF,EAAW,KAAK,CAAC,+BAA+B,CAAC,KAAK,CAAC,QACnFG,EAAe,IAAI,CAAC,mBAAmB,CAACF,GACxCG,EAAwB,IAAI,CAAC,kBAAkB,CAACF,GAChD9iC,EAAQ,IAAIozB,EAAQ,KAAK,CAS/B,MARyB,CACrB,QAAS,MAAM,IAAI,CAAC,aAAa,CAACwP,EAAYG,EAAcC,EAAuBhjC,EAAO,GAC1F,QAAS,MAAM,IAAI,CAAC,aAAa,CAAC4iC,EAAYG,EAAcC,EAAuBhjC,EAAO+iC,EAAa,OAAO,CAAC,MAAM,EACrH,sBAAuBA,EAAa,OAAO,CAAC,MAAM,CAAGA,EAAa,OAAO,CAAC,MAAM,CAChF,OAAQ,MAAMH,EAAW,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,QACxD,mBAAoB,IAAI,CAAC,yBAAyB,CAACC,GACnD,MAAO7iC,CACX,CAEJ,EACJ,CACA,cAAc4iC,CAAU,CAAEG,CAAY,CAAEC,CAAqB,CAAEhjC,CAAK,CAAEijC,CAAsB,CAAE,CAC1F,OAAO5D,EAAU,IAAI,CAAE,KAAK,EAAG,KAAK,EAAG,YAmBnC,OAAO3oB,QAAQ,GAAG,CAlBHqsB,EAAa,OAAO,CAC9B,GAAG,CAAC,CAACvtB,EAAWlvB,IAAM+4C,EAAU,IAAI,CAAE,KAAK,EAAG,KAAK,EAAG,YACvD,IAAM6D,EAAuBF,EAAsB,IAAI,CAAC,AAACG,GAAQA,EAAI,EAAE,GAAK3tB,EAAU,EAAE,EACxF,GAAI0tB,AAAyB,OAAzBA,GAAiC,CAACA,EAClC,MAAM,AAAIl+C,MAAM,CAAC,gCAAgC,EAAEwwB,EAAU,EAAE,CAAC,CAAC,EAErE,IAAMynB,EAAU,MAAM2F,EAAW,KAAK,CAAC,CAAC,KAAK,EAAEM,EAAqB,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAC9E9F,EAASjkB,EAAS,MAAM,CAAC8jB,EAAS,CAAE,QAAS,GAAO,6BAA8B,EAAK,GAC7F,GAAI,CAACG,EAAO,QAAQ,CAChB,OAEJ,IAAMgG,EAAahG,EAAO,QAAQ,CAAC,MAAM,CAAC,CAACiG,EAAKvpC,IAAaA,AAAiB,UAAjBA,EAAQ,IAAI,CAAeA,EAAUupC,GAC5FC,EAAen2C,EAAiB,qBAAqB,CAACi2C,GACtD7O,EAAU,IAAItB,EAAiB,aAAa,CAACjzB,EAAOijC,EAAyB38C,EAAGg9C,GAEtF,OADA,MAAM,IAAI,CAAC,wBAAwB,CAACJ,EAAsBN,EAAYrO,EAASv0B,GACxE,CAAE,KAAMwV,EAAU,IAAI,CAAE,OAAQ+e,CAAQ,CACnD,IACK,MAAM,CAAC,AAAC3rC,GAAM,CAAC,CAACA,GAEzB,EACJ,CACA,cAAcg6C,CAAU,CAAEG,CAAY,CAAEC,CAAqB,CAAEhjC,CAAK,CAAEijC,CAAsB,CAAE,CAC1F,OAAO5D,EAAU,IAAI,CAAE,KAAK,EAAG,KAAK,EAAG,YAmBnC,OAAO3oB,QAAQ,GAAG,CAlBHqsB,EAAa,OAAO,CAC9B,GAAG,CAAC,CAACvtB,EAAWlvB,IAAM+4C,EAAU,IAAI,CAAE,KAAK,EAAG,KAAK,EAAG,YACvD,IAAM6D,EAAuBF,EAAsB,IAAI,CAAC,AAACG,GAAQA,EAAI,EAAE,GAAK3tB,EAAU,EAAE,EACxF,GAAI0tB,AAAyB,OAAzBA,GAAiC,CAACA,EAClC,MAAM,AAAIl+C,MAAM,CAAC,gCAAgC,EAAEwwB,EAAU,EAAE,CAAC,CAAC,EAErE,IAAMynB,EAAU,MAAM2F,EAAW,KAAK,CAAC,CAAC,KAAK,EAAEM,EAAqB,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAC9E9F,EAASjkB,EAAS,MAAM,CAAC8jB,EAAS,CAAE,QAAS,GAAO,6BAA8B,EAAK,GAC7F,GAAI,CAACG,EAAO,QAAQ,CAChB,OAEJ,IAAMgG,EAAahG,EAAO,QAAQ,CAAC,MAAM,CAAC,CAACiG,EAAKvpC,IAAaA,AAAiB,UAAjBA,EAAQ,IAAI,CAAeA,EAAUupC,GAC5FC,EAAen2C,EAAiB,qBAAqB,CAACi2C,GACtD7O,EAAU,IAAIpB,EAAiB,aAAa,CAACnzB,EAAOijC,EAAyB38C,EAAGg9C,GAEtF,OADA,MAAM,IAAI,CAAC,wBAAwB,CAACJ,EAAsBN,EAAYrO,EAASv0B,GACxE,CAAE,KAAMwV,EAAU,IAAI,CAAE,OAAQ+e,CAAQ,CACnD,IACK,MAAM,CAAC,AAAC3rC,GAAM,CAAC,CAACA,GAEzB,EACJ,CACA,yBAAyB26C,CAAe,CAAEX,CAAU,CAAErO,CAAO,CAAEv0B,CAAK,CAAE,CAClE,OAAOq/B,EAAU,IAAI,CAAE,KAAK,EAAG,KAAK,EAAG,YACnC,IAAMmE,EAAUZ,EAAW,KAAK,CAAC,CAAC,WAAW,EAAEW,EAAgB,MAAM,CAAC,KAAK,CAAC,CAAC,CAC7E,GAAI,CAACC,EACD,OAEJ,IAAMC,EAAS,MAAMD,EAAQ,KAAK,CAAC,QAC7BE,EAA0B,IAAI,CAAC,kBAAkB,CAACD,GAAQ,MAAM,CAAC,AAACvwC,GAAMA,EAAE,IAAI,GAAKuvC,EAAiB,KAAK,EACzGkB,EAAsB,IAAI,CAAC,kBAAkB,CAACF,GAAQ,MAAM,CAAC,AAACvwC,GAAMA,EAAE,IAAI,GAAKuvC,EAAiB,SAAS,EAC/G,IAAK,IAAMvvC,KAAKwwC,EAAyB,CACrC,IAAM17C,EAAS,MAAM46C,EAAW,KAAK,CAAC,CAAC,KAAK,EAAE1vC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAC1DkwB,EAAYpjB,EAAM,QAAQ,CAAChY,GACjCusC,EAAQ,aAAa,CAAC,kBAAkB,CAACrhC,EAAE,EAAE,CAAE,4EAA6E,CAAC,MAAM,EAAEkwB,EAAU,QAAQ,CAAC,CAAC,CAC7J,CACA,IAAK,IAAMlwB,KAAKywC,EACZpP,EAAQ,aAAa,CAAC,kBAAkB,CAACrhC,EAAE,EAAE,CAAE,gFAAiFA,EAAE,MAAM,CAAEogC,EAAe,cAAc,CAAC,QAAQ,CAExL,EACJ,CACA,mBAAmB2J,CAAO,CAAE,CACxB,IAAMG,EAASjkB,EAAS,MAAM,CAAC8jB,EAAS,CAAE,QAAS,EAAK,GAgBxD,MAZsB2G,AAHGl5C,CAAAA,MAAM,OAAO,CAAC0yC,EAAO,aAAa,CAAC,YAAY,EAClEA,EAAO,aAAa,CAAC,YAAY,CACjC,CAACA,EAAO,aAAa,CAAC,YAAY,CAAC,AAAD,EAEnC,GAAG,CAAC,AAACrvC,IACN,GAAIA,AAAqBlK,KAAAA,IAArBkK,EAAK,WAAW,CAChB,MAAM/I,MAAM,0CAEhB,MAAO,CACH,GAAI,IAAI,CAAC,UAAU,CAAC+I,EAAK,WAAW,CAAC,EAAE,EACvC,KAAM20C,CAAY,CAAC30C,EAAK,WAAW,CAAC,IAAI,CAAC,CACzC,OAAQA,EAAK,WAAW,CAAC,MAAM,AACnC,CACJ,GACK,MAAM,CAAC,AAACA,GAASA,AAAc,OAAdA,EAAK,IAAI,CAEnC,CACA,oBAAoBkvC,CAAO,CAAE,KAIrB4G,EAoBAC,EAtBJ,IAAMC,EAAc3G,AADLjkB,EAAS,MAAM,CAAC8jB,EAAS,CAAE,QAAS,EAAK,EAC9B,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,CACxD+G,EAAcD,CAAW,CAAC,oBAAoB,CAW9C9wB,EAAU4wB,CARZA,EADAG,AAAgBngD,KAAAA,IAAhBmgD,EACkB,EAAE,CAEft5C,MAAM,OAAO,CAACs5C,GACDA,EAGA,CAACA,EAAY,EAEH,GAAG,CAAC,AAACj2C,IACjC,GAAIA,AAAqBlK,KAAAA,IAArBkK,EAAK,WAAW,CAChB,MAAM/I,MAAM,8CAEhB,MAAO,CACH,KAAM+I,EAAK,WAAW,CAAC,SAAS,CAChC,GAAI,IAAI,CAAC,UAAU,CAACA,EAAK,WAAW,CAAC,OAAO,CAChD,CACJ,GACMk2C,EAAcF,CAAW,CAAC,oBAAoB,CAoBpD,MAAO,CAAE9wB,QAAAA,EAASC,QATF4wB,CARZA,EADAG,AAAgBpgD,KAAAA,IAAhBogD,EACkB,EAAE,CAEfv5C,MAAM,OAAO,CAACu5C,GACDA,EAGA,CAACA,EAAY,EAEH,GAAG,CAAC,AAACl2C,IACjC,GAAIA,AAAqBlK,KAAAA,IAArBkK,EAAK,WAAW,CAChB,MAAM/I,MAAM,8CAEhB,MAAO,CACH,KAAM+I,EAAK,WAAW,CAAC,SAAS,CAChC,GAAI,IAAI,CAAC,UAAU,CAACA,EAAK,WAAW,CAAC,OAAO,CAChD,CACJ,EAC0B,CAC9B,CACA,0BAA0BkvC,CAAO,CAAE,CAG/B,OAAO8G,AAA6BlgD,KAAAA,IAA7BkgD,AADa3G,AADLjkB,EAAS,MAAM,CAAC8jB,EAAS,CAAE,QAAS,EAAK,EAC9B,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,AAC5C,CAAC,YAAY,AACnC,CACA,WAAWh0C,CAAG,CAAE,CACZ,IAAM6Y,EAAQ,aAAa,IAAI,CAAC7Y,GAChC,GAAI6Y,AAAU,OAAVA,EACA,MAAM,AAAI9c,MAAM,kBAEpB,OAAOkF,SAAS4X,CAAK,CAAC,EAAE,CAAE,GAC9B,CACJ,CAIM,EACI,CACV,EAt1lBE9f,EAAO,OAAO,CAAGL,G,gCCAnB,IAAIuiD,EAAM9hD,OAAO,SAAS,CAAC,cAAc,CACrC46B,EAAS,IASb,SAASmnB,IAAU,CA4BnB,SAASlhC,EAAGvT,CAAE,CAAE00C,CAAO,CAAEC,CAAI,EAC3B,IAAI,CAAC,EAAE,CAAG30C,EACV,IAAI,CAAC,OAAO,CAAG00C,EACf,IAAI,CAAC,IAAI,CAAGC,GAAQ,EACtB,CAaA,SAASC,EAAYrsC,CAAO,CAAE+N,CAAK,CAAEtW,CAAE,CAAE00C,CAAO,CAAEC,CAAI,EACpD,GAAI,AAAc,YAAd,OAAO30C,EACT,MAAM,AAAIvK,UAAU,mCAGtB,IAAIqR,EAAW,IAAIyM,EAAGvT,EAAI00C,GAAWnsC,EAASosC,GAC1CE,EAAMvnB,EAASA,EAAShX,EAAQA,EAMpC,OAJK/N,EAAQ,OAAO,CAACssC,EAAI,CACftsC,EAAQ,OAAO,CAACssC,EAAI,CAAC,EAAE,CAC5BtsC,EAAQ,OAAO,CAACssC,EAAI,CAAG,CAACtsC,EAAQ,OAAO,CAACssC,EAAI,CAAE/tC,EAAS,CADzByB,EAAQ,OAAO,CAACssC,EAAI,CAAC,IAAI,CAAC/tC,GADlCyB,CAAAA,EAAQ,OAAO,CAACssC,EAAI,CAAG/tC,EAAUyB,EAAQ,YAAY,EAAC,EAI1EA,CACT,CASA,SAASusC,EAAWvsC,CAAO,CAAEssC,CAAG,EAC1B,AAA2B,GAA3B,EAAEtsC,EAAQ,YAAY,CAAQA,EAAQ,OAAO,CAAG,IAAIksC,EACnD,OAAOlsC,EAAQ,OAAO,CAACssC,EAAI,AAClC,CASA,SAASpuC,IACP,IAAI,CAAC,OAAO,CAAG,IAAIguC,EACnB,IAAI,CAAC,YAAY,CAAG,CACtB,CAzEI/hD,OAAO,MAAM,GACf+hD,EAAO,SAAS,CAAG/hD,OAAO,MAAM,CAAC,MAM7B,CAAC,IAAI+hD,IAAS,SAAS,EAAEnnB,CAAAA,EAAS,EAAI,GA2E5C7mB,EAAa,SAAS,CAAC,UAAU,CAAG,WAClC,IACIO,EACAxU,EAFAuiD,EAAQ,EAAE,CAId,GAAI,AAAsB,IAAtB,IAAI,CAAC,YAAY,CAAQ,OAAOA,EAEpC,IAAKviD,KAASwU,EAAS,IAAI,CAAC,OAAO,CAC7BwtC,EAAI,IAAI,CAACxtC,EAAQxU,IAAOuiD,EAAM,IAAI,CAACznB,EAAS96B,EAAK,KAAK,CAAC,GAAKA,UAGlE,AAAIE,OAAO,qBAAqB,CACvBqiD,EAAM,MAAM,CAACriD,OAAO,qBAAqB,CAACsU,IAG5C+tC,CACT,EASAtuC,EAAa,SAAS,CAAC,SAAS,CAAG,SAAmB6P,CAAK,EACzD,IAAIu+B,EAAMvnB,EAASA,EAAShX,EAAQA,EAChC0+B,EAAW,IAAI,CAAC,OAAO,CAACH,EAAI,CAEhC,GAAI,CAACG,EAAU,MAAO,EAAE,CACxB,GAAIA,EAAS,EAAE,CAAE,MAAO,CAACA,EAAS,EAAE,CAAC,CAErC,IAAK,IAAIp+C,EAAI,EAAGugB,EAAI69B,EAAS,MAAM,CAAEC,EAAK,AAAIj6C,MAAMmc,GAAIvgB,EAAIugB,EAAGvgB,IAC7Dq+C,CAAE,CAACr+C,EAAE,CAAGo+C,CAAQ,CAACp+C,EAAE,CAAC,EAAE,CAGxB,OAAOq+C,CACT,EASAxuC,EAAa,SAAS,CAAC,aAAa,CAAG,SAAuB6P,CAAK,EACjE,IAAIu+B,EAAMvnB,EAASA,EAAShX,EAAQA,EAChCnO,EAAY,IAAI,CAAC,OAAO,CAAC0sC,EAAI,QAEjC,AAAK1sC,EACDA,EAAU,EAAE,CAAS,EAClBA,EAAU,MAAM,CAFA,CAGzB,EASA1B,EAAa,SAAS,CAAC,IAAI,CAAG,SAAc6P,CAAK,CAAE4+B,CAAE,CAAEC,CAAE,CAAEC,CAAE,CAAEC,CAAE,CAAEC,CAAE,EACnE,IAAIT,EAAMvnB,EAASA,EAAShX,EAAQA,EAEpC,GAAI,CAAC,IAAI,CAAC,OAAO,CAACu+B,EAAI,CAAE,MAAO,GAE/B,IAEIl1C,EACA/I,EAHAuR,EAAY,IAAI,CAAC,OAAO,CAAC0sC,EAAI,CAC7Bx+C,EAAMiD,UAAU,MAAM,CAI1B,GAAI6O,EAAU,EAAE,CAAE,CAGhB,OAFIA,EAAU,IAAI,EAAE,IAAI,CAAC,cAAc,CAACmO,EAAOnO,EAAU,EAAE,CAAEhU,KAAAA,EAAW,IAEhEkC,GACN,KAAK,EAAG,OAAO8R,EAAU,EAAE,CAAC,IAAI,CAACA,EAAU,OAAO,EAAG,EACrD,MAAK,EAAG,OAAOA,EAAU,EAAE,CAAC,IAAI,CAACA,EAAU,OAAO,CAAE+sC,GAAK,EACzD,MAAK,EAAG,OAAO/sC,EAAU,EAAE,CAAC,IAAI,CAACA,EAAU,OAAO,CAAE+sC,EAAIC,GAAK,EAC7D,MAAK,EAAG,OAAOhtC,EAAU,EAAE,CAAC,IAAI,CAACA,EAAU,OAAO,CAAE+sC,EAAIC,EAAIC,GAAK,EACjE,MAAK,EAAG,OAAOjtC,EAAU,EAAE,CAAC,IAAI,CAACA,EAAU,OAAO,CAAE+sC,EAAIC,EAAIC,EAAIC,GAAK,EACrE,MAAK,EAAG,OAAOltC,EAAU,EAAE,CAAC,IAAI,CAACA,EAAU,OAAO,CAAE+sC,EAAIC,EAAIC,EAAIC,EAAIC,GAAK,EAC3E,CAEA,IAAK1+C,EAAI,EAAG+I,EAAO,AAAI3E,MAAM3E,EAAK,GAAIO,EAAIP,EAAKO,IAC7C+I,CAAI,CAAC/I,EAAI,EAAE,CAAG0C,SAAS,CAAC1C,EAAE,CAG5BuR,EAAU,EAAE,CAAC,KAAK,CAACA,EAAU,OAAO,CAAExI,EACxC,KAAO,CACL,IACI3G,EADApE,EAASuT,EAAU,MAAM,CAG7B,IAAKvR,EAAI,EAAGA,EAAIhC,EAAQgC,IAGtB,OAFIuR,CAAS,CAACvR,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC0f,EAAOnO,CAAS,CAACvR,EAAE,CAAC,EAAE,CAAEzC,KAAAA,EAAW,IAEtEkC,GACN,KAAK,EAAG8R,CAAS,CAACvR,EAAE,CAAC,EAAE,CAAC,IAAI,CAACuR,CAAS,CAACvR,EAAE,CAAC,OAAO,EAAG,KACpD,MAAK,EAAGuR,CAAS,CAACvR,EAAE,CAAC,EAAE,CAAC,IAAI,CAACuR,CAAS,CAACvR,EAAE,CAAC,OAAO,CAAEs+C,GAAK,KACxD,MAAK,EAAG/sC,CAAS,CAACvR,EAAE,CAAC,EAAE,CAAC,IAAI,CAACuR,CAAS,CAACvR,EAAE,CAAC,OAAO,CAAEs+C,EAAIC,GAAK,KAC5D,MAAK,EAAGhtC,CAAS,CAACvR,EAAE,CAAC,EAAE,CAAC,IAAI,CAACuR,CAAS,CAACvR,EAAE,CAAC,OAAO,CAAEs+C,EAAIC,EAAIC,GAAK,KAChE,SACE,GAAI,CAACz1C,EAAM,IAAK3G,EAAI,EAAG2G,EAAO,AAAI3E,MAAM3E,EAAK,GAAI2C,EAAI3C,EAAK2C,IACxD2G,CAAI,CAAC3G,EAAI,EAAE,CAAGM,SAAS,CAACN,EAAE,CAG5BmP,CAAS,CAACvR,EAAE,CAAC,EAAE,CAAC,KAAK,CAACuR,CAAS,CAACvR,EAAE,CAAC,OAAO,CAAE+I,EAChD,CAEJ,CAEA,MAAO,EACT,EAWA8G,EAAa,SAAS,CAAC,EAAE,CAAG,SAAY6P,CAAK,CAAEtW,CAAE,CAAE00C,CAAO,EACxD,OAAOE,EAAY,IAAI,CAAEt+B,EAAOtW,EAAI00C,EAAS,GAC/C,EAWAjuC,EAAa,SAAS,CAAC,IAAI,CAAG,SAAc6P,CAAK,CAAEtW,CAAE,CAAE00C,CAAO,EAC5D,OAAOE,EAAY,IAAI,CAAEt+B,EAAOtW,EAAI00C,EAAS,GAC/C,EAYAjuC,EAAa,SAAS,CAAC,cAAc,CAAG,SAAwB6P,CAAK,CAAEtW,CAAE,CAAE00C,CAAO,CAAEC,CAAI,EACtF,IAAIE,EAAMvnB,EAASA,EAAShX,EAAQA,EAEpC,GAAI,CAAC,IAAI,CAAC,OAAO,CAACu+B,EAAI,CAAE,OAAO,IAAI,CACnC,GAAI,CAAC70C,EAEH,OADA80C,EAAW,IAAI,CAAED,GACV,IAAI,CAGb,IAAI1sC,EAAY,IAAI,CAAC,OAAO,CAAC0sC,EAAI,CAEjC,GAAI1sC,EAAU,EAAE,CAEZA,EAAU,EAAE,GAAKnI,GAChB,EAAC20C,GAAQxsC,EAAU,IAAI,AAAD,GACtB,EAACusC,GAAWvsC,EAAU,OAAO,GAAKusC,CAAM,GAEzCI,EAAW,IAAI,CAAED,OAEd,CACL,IAAK,IAAIj+C,EAAI,EAAGoQ,EAAS,EAAE,CAAEpS,EAASuT,EAAU,MAAM,CAAEvR,EAAIhC,EAAQgC,IAEhEuR,CAAAA,CAAS,CAACvR,EAAE,CAAC,EAAE,GAAKoJ,GACnB20C,GAAQ,CAACxsC,CAAS,CAACvR,EAAE,CAAC,IAAI,EAC1B89C,GAAWvsC,CAAS,CAACvR,EAAE,CAAC,OAAO,GAAK89C,CAAO,GAE5C1tC,EAAO,IAAI,CAACmB,CAAS,CAACvR,EAAE,CAOxBoQ,CAAAA,EAAO,MAAM,CAAE,IAAI,CAAC,OAAO,CAAC6tC,EAAI,CAAG7tC,AAAkB,IAAlBA,EAAO,MAAM,CAASA,CAAM,CAAC,EAAE,CAAGA,EACpE8tC,EAAW,IAAI,CAAED,EACxB,CAEA,OAAO,IAAI,AACb,EASApuC,EAAa,SAAS,CAAC,kBAAkB,CAAG,SAA4B6P,CAAK,EAC3E,IAAIu+B,EAUJ,OARIv+B,GACFu+B,EAAMvnB,EAASA,EAAShX,EAAQA,EAC5B,IAAI,CAAC,OAAO,CAACu+B,EAAI,EAAEC,EAAW,IAAI,CAAED,KAExC,IAAI,CAAC,OAAO,CAAG,IAAIJ,EACnB,IAAI,CAAC,YAAY,CAAG,GAGf,IAAI,AACb,EAKAhuC,EAAa,SAAS,CAAC,GAAG,CAAGA,EAAa,SAAS,CAAC,cAAc,CAClEA,EAAa,SAAS,CAAC,WAAW,CAAGA,EAAa,SAAS,CAAC,EAAE,CAK9DA,EAAa,QAAQ,CAAG6mB,EAKxB7mB,EAAa,YAAY,CAAGA,CAM1BnU,CAAAA,EAAO,OAAO,CAAGmU,C,mBCnSnB,SAAS8uC,EAAUC,CAAK,CAAEC,CAAK,CAAEC,CAAU,CAAE1hC,CAAO,CAAE2hC,CAAY,EAEhE,GAAIH,IAAUC,SACZ,AAAID,EACK,CAAC,CAfG,EAeUA,EAAM,CAAC,CAEvB,EAAE,CAGX,GAAIE,AAAc,MAAdA,EAAoB,CACtB,IAAIE,EAAWC,AAy9BnB,SAA+BC,CAAO,CAAEC,CAAO,CAAEL,CAAU,EAEzD,IAAIM,EACF,AAAsB,UAAtB,OAAON,EACH,CAAE,MAAOA,EAAY,OAAQ,CAAE,EAC/BA,EAAW,QAAQ,CACrBO,EAAW,AAAsB,UAAtB,OAAOP,EAA0B,KAAOA,EAAW,QAAQ,CAKtEQ,EAAYJ,EAAQ,MAAM,CAC1BK,EAAYJ,EAAQ,MAAM,CAC9B,GAAIC,AAAoB,IAApBA,EAAS,MAAM,EAAWC,CAAAA,AAAa,OAAbA,GAAqBA,AAAoB,IAApBA,EAAS,MAAM,AAAK,EAAI,CAEzE,IAAIG,EAAYJ,EAAS,KAAK,CAC1BK,EAAYP,EAAQ,KAAK,CAAC,EAAGM,GAC7BE,EAAWR,EAAQ,KAAK,CAACM,GACzBG,EAAiBN,EAAWA,EAAS,KAAK,CAAG,KACjDO,EAAY,CAEV,IAAIC,EAAYL,EAAYD,EAAYD,EACxC,GAAuB,OAAnBK,GAA2BA,IAAmBE,GAG9CA,EAAY,GAAKA,EAAYN,EAF/B,MAAMK,EAKR,IAAIE,EAAYX,EAAQ,KAAK,CAAC,EAAGU,GAC7BE,EAAWZ,EAAQ,KAAK,CAACU,GAC7B,GAAIE,IAAaL,EACf,MAAME,EAER,IAAII,EAAeh/C,KAAK,GAAG,CAACw+C,EAAWK,GACnCI,EAAYR,EAAU,KAAK,CAAC,EAAGO,GAC/BE,EAAYJ,EAAU,KAAK,CAAC,EAAGE,GACnC,GAAIC,IAAcC,EAChB,MAAMN,EAER,IAAIO,EAAYV,EAAU,KAAK,CAACO,GAC5BI,EAAYN,EAAU,KAAK,CAACE,GAChC,OAAOK,EAAiBJ,EAAWE,EAAWC,EAAWV,EAC3D,CACAY,EAAAA,GAEMX,AAAmB,OAAnBA,GAA2BA,IAAmBH,EAFzC,CAMT,IAAIM,EAAYX,EAAQ,KAAK,CAAC,EADjBK,GAETO,EAAWZ,EAAQ,KAAK,CAFfK,GAGb,GAAIM,IAAcL,EAChB,MAAMa,EAER,IAAIC,EAAev/C,KAAK,GAAG,CAACs+C,EANfE,EAMmCD,EANnCC,GAOTgB,EAAYd,EAAS,KAAK,CAACA,EAAS,MAAM,CAAGa,GAC7CE,EAAYV,EAAS,KAAK,CAACA,EAAS,MAAM,CAAGQ,GACjD,GAAIC,IAAcC,EAChB,MAAMH,EAER,IAAIH,EAAYT,EAAS,KAAK,CAAC,EAAGA,EAAS,MAAM,CAAGa,GAChDH,EAAYL,EAAS,KAAK,CAAC,EAAGA,EAAS,MAAM,CAAGQ,GACpD,OAAOF,EAAiBZ,EAAWU,EAAWC,EAAWI,EAC3D,CACF,CACA,GAAIpB,EAAS,MAAM,CAAG,GAAKC,GAAYA,AAAoB,IAApBA,EAAS,MAAM,CACpDqB,EAAc,CAEZ,IAAIT,EAAYf,EAAQ,KAAK,CAAC,EAAGE,EAAS,KAAK,EAC3CoB,EAAYtB,EAAQ,KAAK,CAACE,EAAS,KAAK,CAAGA,EAAS,MAAM,EAC1DY,EAAeC,EAAU,MAAM,CAC/BM,EAAeC,EAAU,MAAM,CACnC,GAAIjB,EAAYS,EAAeO,EAC7B,MAAMG,EAER,IAAIR,EAAYf,EAAQ,KAAK,CAAC,EAAGa,GAC7BS,EAAYtB,EAAQ,KAAK,CAACI,EAAYgB,GAC1C,GAAIN,IAAcC,GAAaM,IAAcC,EAC3C,MAAMC,EAER,IAAIP,EAAYjB,EAAQ,KAAK,CAACc,EAAcV,EAAYiB,GACpDH,EAAYjB,EAAQ,KAAK,CAACa,EAAcT,EAAYgB,GACxD,OAAOF,EAAiBJ,EAAWE,EAAWC,EAAWI,EAC3D,CAGF,OAAO,IACT,EAhjCyC5B,EAAOC,EAAOC,GACnD,GAAIE,EACF,OAAOA,CAEX,CAGA,IAAI2B,EAAeC,EAAkBhC,EAAOC,GACxCgC,EAAejC,EAAM,SAAS,CAAC,EAAG+B,GACtC/B,EAAQA,EAAM,SAAS,CAAC+B,GAIxBA,EAAeG,EAAkBlC,EAHjCC,EAAQA,EAAM,SAAS,CAAC8B,IAIxB,IAAII,EAAenC,EAAM,SAAS,CAACA,EAAM,MAAM,CAAG+B,GAClD/B,EAAQA,EAAM,SAAS,CAAC,EAAGA,EAAM,MAAM,CAAG+B,GAI1C,IAAIK,EAAQC,AAuBd,SAAuBrC,CAAK,CAAEC,CAAK,EAGjC,GAAI,CAACD,EAEH,MAAO,CAAC,CArEM,EAqEQC,EAAM,CAAC,CAG/B,GAAI,CAACA,EAEH,MAAO,CAAC,CA3EM,GA2EQD,EAAM,CAAC,CAG/B,IAZIoC,EAYAE,EAAWtC,EAAM,MAAM,CAAGC,EAAM,MAAM,CAAGD,EAAQC,EACjDsC,EAAYvC,EAAM,MAAM,CAAGC,EAAM,MAAM,CAAGA,EAAQD,EAClD5+C,EAAIkhD,EAAS,OAAO,CAACC,GACzB,GAAInhD,AAAM,KAANA,EAWF,OATAghD,EAAQ,CACN,CAnFY,EAmFEE,EAAS,SAAS,CAAC,EAAGlhD,GAAG,CACvC,CAnFW,EAmFEmhD,EAAU,CACvB,CArFY,EAqFED,EAAS,SAAS,CAAClhD,EAAImhD,EAAU,MAAM,EAAE,CACxD,CAEGvC,EAAM,MAAM,CAAGC,EAAM,MAAM,EAC7BmC,CAAAA,CAAK,CAAC,EAAE,CAAC,EAAE,CAAGA,CAAK,CAAC,EAAE,CAAC,EAAE,CA1Fb,EA0F0B,EAEjCA,EAGT,GAAIG,AAAqB,IAArBA,EAAU,MAAM,CAGlB,MAAO,CACL,CAnGY,GAmGEvC,EAAM,CACpB,CAnGY,EAmGEC,EAAM,CACrB,CAIH,IAAIuC,EAAKC,AA2SX,SAAyBzC,CAAK,CAAEC,CAAK,EACnC,IAoEIuC,EAaAE,EAASC,EAASC,EAASC,EAjF3BP,EAAWtC,EAAM,MAAM,CAAGC,EAAM,MAAM,CAAGD,EAAQC,EACjDsC,EAAYvC,EAAM,MAAM,CAAGC,EAAM,MAAM,CAAGA,EAAQD,EACtD,GAAIsC,EAAS,MAAM,CAAG,GAAKC,AAAmB,EAAnBA,EAAU,MAAM,CAAOD,EAAS,MAAM,CAC/D,OAAO,KAeT,SAASQ,EAAiBR,CAAQ,CAAEC,CAAS,CAAEnhD,CAAC,EAM9C,IAJA,IAGI2hD,EAAiBC,EAAiBC,EAAkBC,EAHpDj1C,EAAOq0C,EAAS,SAAS,CAAClhD,EAAGA,EAAIgB,KAAK,KAAK,CAACkgD,EAAS,MAAM,CAAG,IAC9D9+C,EAAI,GACJ2/C,EAAc,GAEX,AAAyC,KAAxC3/C,CAAAA,EAAI++C,EAAU,OAAO,CAACt0C,EAAMzK,EAAI,EAAC,GAAW,CAClD,IAAI49C,EAAeY,EACjBM,EAAS,SAAS,CAAClhD,GACnBmhD,EAAU,SAAS,CAAC/+C,IAElBm+C,EAAeO,EACjBI,EAAS,SAAS,CAAC,EAAGlhD,GACtBmhD,EAAU,SAAS,CAAC,EAAG/+C,GAErB2/C,CAAAA,EAAY,MAAM,CAAGxB,EAAeP,IACtC+B,EACEZ,EAAU,SAAS,CAAC/+C,EAAIm+C,EAAcn+C,GACtC++C,EAAU,SAAS,CAAC/+C,EAAGA,EAAI49C,GAC7B2B,EAAkBT,EAAS,SAAS,CAAC,EAAGlhD,EAAIugD,GAC5CqB,EAAkBV,EAAS,SAAS,CAAClhD,EAAIggD,GACzC6B,EAAmBV,EAAU,SAAS,CAAC,EAAG/+C,EAAIm+C,GAC9CuB,EAAmBX,EAAU,SAAS,CAAC/+C,EAAI49C,GAE/C,QACA,AAAI+B,AAAqB,EAArBA,EAAY,MAAM,EAAQb,EAAS,MAAM,CACpC,CACLS,EACAC,EACAC,EACAC,EACAC,EACD,CAEM,IAEX,CAGA,IAAIC,EAAMN,EACRR,EACAC,EACAngD,KAAK,IAAI,CAACkgD,EAAS,MAAM,CAAG,IAG1Be,EAAMP,EACRR,EACAC,EACAngD,KAAK,IAAI,CAACkgD,EAAS,MAAM,CAAG,WAG9B,AAAI,AAACc,GAAQC,GAQXb,EANUa,EAEAD,EAILA,CAAG,CAAC,EAAE,CAAC,MAAM,CAAGC,CAAG,CAAC,EAAE,CAAC,MAAM,CAAGD,EAAMC,EAHtCA,EAFAD,EAUHpD,EAAM,MAAM,CAAGC,EAAM,MAAM,EAC7ByC,EAAUF,CAAE,CAAC,EAAE,CACfG,EAAUH,CAAE,CAAC,EAAE,CACfI,EAAUJ,CAAE,CAAC,EAAE,CACfK,EAAUL,CAAE,CAAC,EAAE,GAEfI,EAAUJ,CAAE,CAAC,EAAE,CACfK,EAAUL,CAAE,CAAC,EAAE,CACfE,EAAUF,CAAE,CAAC,EAAE,CACfG,EAAUH,CAAE,CAAC,EAAE,EAGV,CAACE,EAASC,EAASC,EAASC,EADlBL,CAAE,CAAC,EAAE,CACiC,EAxB9C,IAyBX,EA3Y2BxC,EAAOC,GAChC,GAAIuC,EAAI,CAEN,IAAIE,EAAUF,CAAE,CAAC,EAAE,CACfG,EAAUH,CAAE,CAAC,EAAE,CACfI,EAAUJ,CAAE,CAAC,EAAE,CACfK,EAAUL,CAAE,CAAC,EAAE,CACfc,EAAad,CAAE,CAAC,EAAE,CAElBe,EAAUxD,EAAU2C,EAASE,GAC7BY,EAAUzD,EAAU4C,EAASE,GAEjC,OAAOU,EAAQ,MAAM,CAAC,CAAC,CAnHV,EAmHuBD,EAAW,CAAC,CAAEE,EACpD,CAEA,OAAOC,AAYT,SAAsBzD,CAAK,CAAEC,CAAK,EAWhC,IAAK,IATDyD,EAAe1D,EAAM,MAAM,CAC3B2D,EAAe1D,EAAM,MAAM,CAC3B2D,EAAQxhD,KAAK,IAAI,CAAC,AAACshD,CAAAA,EAAeC,CAAW,EAAK,GAElDE,EAAW,EAAID,EACfE,EAAK,AAAIt+C,MAAMq+C,GACfE,EAAK,AAAIv+C,MAAMq+C,GAGVngD,EAAI,EAAGA,EAAImgD,EAAUngD,IAC5BogD,CAAE,CAACpgD,EAAE,CAAG,GACRqgD,CAAE,CAACrgD,EAAE,CAAG,EAEVogD,CAAAA,CAAE,CAACE,AAVYJ,EAUD,EAAE,CAAG,EACnBG,CAAE,CAACC,AAXYJ,EAWD,EAAE,CAAG,EAWnB,IAAK,IAVDK,EAAQP,EAAeC,EAGvBO,EAAQD,EAAQ,GAAM,EAGtBE,EAAU,EACVC,EAAQ,EACRC,EAAU,EACVC,EAAQ,EACHh6C,EAAI,EAAGA,EAAIs5C,EAAOt5C,IAAK,CAE9B,IAAK,IAAIi6C,EAAK,CAACj6C,EAAI65C,EAASI,GAAMj6C,EAAI85C,EAAOG,GAAM,EAAG,CASpD,IARA,IACIC,EADAC,EAAYT,AAzBLJ,EAyBgBW,EAOvBG,EAAKF,CAJPA,EADED,IAAO,CAACj6C,GAAMi6C,IAAOj6C,GAAKw5C,CAAE,CAACW,EAAY,EAAE,CAAGX,CAAE,CAACW,EAAY,EAAE,CAC5DX,CAAE,CAACW,EAAY,EAAE,CAEjBX,CAAE,CAACW,EAAY,EAAE,CAAG,GAEbF,EAEZC,EAAKd,GACLgB,EAAKf,GACL3D,EAAM,MAAM,CAACwE,KAAQvE,EAAM,MAAM,CAACyE,IAElCF,IACAE,IAGF,GADAZ,CAAE,CAACW,EAAU,CAAGD,EACZA,EAAKd,EAEPU,GAAS,OACJ,GAAIM,EAAKf,EAEdQ,GAAW,OACN,GAAID,EAAO,CAChB,IAAIS,EAAYX,AAjDPJ,EAiDkBK,EAAQM,EACnC,GAAII,GAAa,GAAKA,EAAYd,GAAYE,AAAkB,KAAlBA,CAAE,CAACY,EAAU,CAAS,CAElE,IAAIC,EAAKlB,EAAeK,CAAE,CAACY,EAAU,CACrC,GAAIH,GAAMI,EAER,OAAOC,EAAkB7E,EAAOC,EAAOuE,EAAIE,EAE/C,CACF,CACF,CAGA,IAAK,IAAII,EAAK,CAACx6C,EAAI+5C,EAASS,GAAMx6C,EAAIg6C,EAAOQ,GAAM,EAAG,CASpD,IARA,IACIF,EADAD,EAAYX,AA/DLJ,EA+DgBkB,EAOvBC,EAAKH,CAJPA,EADEE,IAAO,CAACx6C,GAAMw6C,IAAOx6C,GAAKy5C,CAAE,CAACY,EAAY,EAAE,CAAGZ,CAAE,CAACY,EAAY,EAAE,CAC5DZ,CAAE,CAACY,EAAY,EAAE,CAEjBZ,CAAE,CAACY,EAAY,EAAE,CAAG,GAEbG,EAEZF,EAAKlB,GACLqB,EAAKpB,GACL3D,EAAM,MAAM,CAAC0D,EAAekB,EAAK,KAC/B3E,EAAM,MAAM,CAAC0D,EAAeoB,EAAK,IAEnCH,IACAG,IAGF,GADAhB,CAAE,CAACY,EAAU,CAAGC,EACZA,EAAKlB,EAEPY,GAAS,OACJ,GAAIS,EAAKpB,EAEdU,GAAW,OACN,GAAI,CAACH,EAAO,CACjB,IAAIO,EAAYT,AAxFPJ,EAwFkBK,EAAQa,EACnC,GAAIL,GAAa,GAAKA,EAAYZ,GAAYC,AAAkB,KAAlBA,CAAE,CAACW,EAAU,CAAS,CAClE,IAAID,EAAKV,CAAE,CAACW,EAAU,CAClBC,EAAKV,AA3FFJ,EA2FaY,EAAKC,EAGzB,GAAID,GADJI,CAAAA,EAAKlB,EAAekB,CAAC,EAGnB,OAAOC,EAAkB7E,EAAOC,EAAOuE,EAAIE,EAE/C,CACF,CACF,CACF,CAGA,MAAO,CACL,CAlPc,GAkPA1E,EAAM,CACpB,CAlPc,EAkPAC,EAAM,CACrB,AACH,EA7HsBD,EAAOC,EAC7B,EA/E4BD,EAH1BC,EAAQA,EAAM,SAAS,CAAC,EAAGA,EAAM,MAAM,CAAG8B,IAgB1C,OAVIE,GACFG,EAAM,OAAO,CAAC,CA5CD,EA4CcH,EAAa,EAEtCE,GACFC,EAAM,IAAI,CAAC,CA/CE,EA+CWD,EAAa,EAEvC6C,EAAkB5C,EAAOjC,GACrB3hC,GACFymC,AAqcJ,SAA8B7C,CAAK,EAcjC,IAbA,IAAI8C,EAAU,GACVC,EAAa,EAAE,CACfC,EAAmB,EAEnBC,EAAe,KAEfC,EAAU,EAEVC,EAAqB,EACrBC,EAAoB,EAEpBC,EAAqB,EACrBC,EAAoB,EACjBJ,EAAUlD,EAAM,MAAM,EACvBA,AAvgBS,GAugBTA,CAAK,CAACkD,EAAQ,CAAC,EAAE,EAEnBH,CAAU,CAACC,IAAmB,CAAGE,EACjCC,EAAqBE,EACrBD,EAAoBE,EACpBD,EAAqB,EACrBC,EAAoB,EACpBL,EAAejD,CAAK,CAACkD,EAAQ,CAAC,EAAE,GAG5BlD,AAlhBQ,GAkhBRA,CAAK,CAACkD,EAAQ,CAAC,EAAE,CACnBG,GAAsBrD,CAAK,CAACkD,EAAQ,CAAC,EAAE,CAAC,MAAM,CAE9CI,GAAqBtD,CAAK,CAACkD,EAAQ,CAAC,EAAE,CAAC,MAAM,CAK7CD,GACAA,EAAa,MAAM,EACjBjjD,KAAK,GAAG,CAACmjD,EAAoBC,IAC/BH,EAAa,MAAM,EAAIjjD,KAAK,GAAG,CAACqjD,EAAoBC,KAGpDtD,EAAM,MAAM,CAAC+C,CAAU,CAACC,EAAmB,EAAE,CAAE,EAAG,CAjiBxC,GAmiBRC,EACD,EAEDjD,CAAK,CAAC+C,CAAU,CAACC,EAAmB,EAAE,CAAG,EAAE,CAAC,EAAE,CAriBpC,EAuiBVA,IAGAE,EAAUF,EAAAA,EAAmB,EAAID,CAAU,CAACC,EAAmB,EAAE,CAAG,GACpEG,EAAqB,EACrBC,EAAoB,EACpBC,EAAqB,EACrBC,EAAoB,EACpBL,EAAe,KACfH,EAAU,KAGdI,IAgBF,IAZIJ,GACFF,EAAkB5C,GAEpBuD,AA0EF,SAAsCvD,CAAK,EAWzC,SAASwD,EAA2BC,CAAG,CAAEC,CAAG,EAC1C,GAAI,CAACD,GAAO,CAACC,EAEX,OAAO,EAQT,IAAIC,EAAQF,EAAI,MAAM,CAACA,EAAI,MAAM,CAAG,GAChCG,EAAQF,EAAI,MAAM,CAAC,GACnBG,EAAmBF,EAAM,KAAK,CAACG,GAC/BC,EAAmBH,EAAM,KAAK,CAACE,GAC/BE,EAAcH,GAAoBF,EAAM,KAAK,CAACM,GAC9CC,EAAcH,GAAoBH,EAAM,KAAK,CAACK,GAC9CE,EAAaH,GAAeL,EAAM,KAAK,CAACS,GACxCC,EAAaH,GAAeN,EAAM,KAAK,CAACQ,GACxCE,EAAaH,GAAcV,EAAI,KAAK,CAACc,GACrCC,EAAaH,GAAcX,EAAI,KAAK,CAACe,GAEzC,GAAIH,GAAcE,EAEhB,OAAO,EACF,GAAIL,GAAcE,EAEvB,OAAO,EACF,GAAIR,GAAoB,CAACG,GAAeE,EAE7C,OAAO,OACF,GAAIF,GAAeE,EAExB,OAAO,OACF,GAAIL,GAAoBE,EAE7B,OAAO,EAET,OAAO,CACT,CAIA,IAFA,IAAIb,EAAU,EAEPA,EAAUlD,EAAM,MAAM,CAAG,GAAG,CACjC,GACEA,AA3rBW,GA2rBXA,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,EACrBlD,AA5rBW,GA4rBXA,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CACrB,CAEA,IAAIwB,EAAY1E,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CACjCyB,EAAO3E,CAAK,CAACkD,EAAQ,CAAC,EAAE,CACxB0B,EAAY5E,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CAGjC2B,EAAe/E,EAAkB4E,EAAWC,GAChD,GAAIE,EAAc,CAChB,IAAIC,EAAeH,EAAK,SAAS,CAACA,EAAK,MAAM,CAAGE,GAChDH,EAAYA,EAAU,SAAS,CAAC,EAAGA,EAAU,MAAM,CAAGG,GACtDF,EAAOG,EAAeH,EAAK,SAAS,CAAC,EAAGA,EAAK,MAAM,CAAGE,GACtDD,EAAYE,EAAeF,CAC7B,CASA,IANA,IAAIG,EAAgBL,EAChBM,EAAWL,EACXM,EAAgBL,EAChBM,EACF1B,EAA2BkB,EAAWC,GACtCnB,EAA2BmB,EAAMC,GAC5BD,EAAK,MAAM,CAAC,KAAOC,EAAU,MAAM,CAAC,IAAI,CAC7CF,GAAaC,EAAK,MAAM,CAAC,GACzBA,EAAOA,EAAK,SAAS,CAAC,GAAKC,EAAU,MAAM,CAAC,GAC5CA,EAAYA,EAAU,SAAS,CAAC,GAChC,IAAIO,EACF3B,EAA2BkB,EAAWC,GACtCnB,EAA2BmB,EAAMC,GAE/BO,GAASD,IACXA,EAAYC,EACZJ,EAAgBL,EAChBM,EAAWL,EACXM,EAAgBL,EAEpB,CAEI5E,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,EAAI6B,IAEvBA,EACF/E,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CAAG6B,GAExB/E,EAAM,MAAM,CAACkD,EAAU,EAAG,GAC1BA,KAEFlD,CAAK,CAACkD,EAAQ,CAAC,EAAE,CAAG8B,EAChBC,EACFjF,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CAAG+B,GAExBjF,EAAM,MAAM,CAACkD,EAAU,EAAG,GAC1BA,KAGN,CACAA,GACF,CACF,EA7L+BlD,GAQ7BkD,EAAU,EACHA,EAAUlD,EAAM,MAAM,EAAE,CAC7B,GACEA,AAtkBY,IAskBZA,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,EACrBlD,AAtkBY,GAskBZA,CAAK,CAACkD,EAAQ,CAAC,EAAE,CACjB,CACA,IAAIkC,EAAWpF,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CAChCmC,EAAYrF,CAAK,CAACkD,EAAQ,CAAC,EAAE,CAC7BoC,EAAkBC,EAAoBH,EAAUC,GAChDG,EAAkBD,EAAoBF,EAAWD,EACjDE,CAAAA,GAAmBE,EAEnBF,CAAAA,GAAmBF,EAAS,MAAM,CAAG,GACrCE,GAAmBD,EAAU,MAAM,CAAG,KAGtCrF,EAAM,MAAM,CAACkD,EAAS,EAAG,CAjlBlB,EAmlBLmC,EAAU,SAAS,CAAC,EAAGC,GACxB,EACDtF,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CAAGkC,EAAS,SAAS,CACxC,EACAA,EAAS,MAAM,CAAGE,GAEpBtF,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CAAGmC,EAAU,SAAS,CAACC,GAC5CpC,KAIAsC,CAAAA,GAAmBJ,EAAS,MAAM,CAAG,GACrCI,GAAmBH,EAAU,MAAM,CAAG,KAItCrF,EAAM,MAAM,CAACkD,EAAS,EAAG,CAnmBlB,EAqmBLkC,EAAS,SAAS,CAAC,EAAGI,GACvB,EACDxF,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CAxmBb,EAymBRlD,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CAAGmC,EAAU,SAAS,CACzC,EACAA,EAAU,MAAM,CAAGG,GAErBxF,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CA9mBb,GA+mBRlD,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CAAGkC,EAAS,SAAS,CAACI,GAC3CtC,KAGJA,GACF,CACAA,GACF,CACF,EAlkByBlD,GAEhBA,CACT,CAwMA,SAASyC,EAAkB7E,CAAK,CAAEC,CAAK,CAAEv8C,CAAC,CAAEC,CAAC,EAC3C,IAAIkkD,EAAS7H,EAAM,SAAS,CAAC,EAAGt8C,GAC5BokD,EAAS7H,EAAM,SAAS,CAAC,EAAGt8C,GAC5BokD,EAAS/H,EAAM,SAAS,CAACt8C,GACzBskD,EAAS/H,EAAM,SAAS,CAACt8C,GAGzBy+C,EAAQrC,EAAU8H,EAAQC,GAC1BG,EAASlI,EAAUgI,EAAQC,GAE/B,OAAO5F,EAAM,MAAM,CAAC6F,EACtB,CASA,SAASjG,EAAkBhC,CAAK,CAAEC,CAAK,EAErC,GAAI,CAACD,GAAS,CAACC,GAASD,EAAM,MAAM,CAAC,KAAOC,EAAM,MAAM,CAAC,GACvD,OAAO,EAQT,IAJA,IAAIiI,EAAa,EACbC,EAAa/lD,KAAK,GAAG,CAAC49C,EAAM,MAAM,CAAEC,EAAM,MAAM,EAChDmI,EAAaD,EACbE,EAAe,EACZH,EAAaE,GAEhBpI,EAAM,SAAS,CAACqI,EAAcD,IAC9BnI,EAAM,SAAS,CAACoI,EAAcD,GAG9BC,EADAH,EAAaE,EAGbD,EAAaC,EAEfA,EAAahmD,KAAK,KAAK,CAAC,AAAC+lD,CAAAA,EAAaD,CAAS,EAAK,EAAIA,GAO1D,OAJII,EAAwBtI,EAAM,UAAU,CAACoI,EAAa,KACxDA,IAGKA,CACT,CAUA,SAAST,EAAoB3H,CAAK,CAAEC,CAAK,EAEvC,IAAIyD,EAAe1D,EAAM,MAAM,CAC3B2D,EAAe1D,EAAM,MAAM,CAE/B,GAAIyD,AAAgB,GAAhBA,GAAqBC,AAAgB,GAAhBA,EACvB,OAAO,CAGLD,CAAAA,EAAeC,EACjB3D,EAAQA,EAAM,SAAS,CAAC0D,EAAeC,GAC9BD,EAAeC,GACxB1D,CAAAA,EAAQA,EAAM,SAAS,CAAC,EAAGyD,EAAY,EAEzC,IAAI6E,EAAcnmD,KAAK,GAAG,CAACshD,EAAcC,GAEzC,GAAI3D,GAASC,EACX,OAAOsI,EAQT,IAFA,IAAIC,EAAO,EACPppD,EAAS,IACA,CACX,IAAIqpD,EAAUzI,EAAM,SAAS,CAACuI,EAAcnpD,GACxCmE,EAAQ08C,EAAM,OAAO,CAACwI,GAC1B,GAAIllD,AAAS,IAATA,EACF,OAAOilD,EAETppD,GAAUmE,EAERA,CAAAA,AAAS,GAATA,GACAy8C,EAAM,SAAS,CAACuI,EAAcnpD,IAAW6gD,EAAM,SAAS,CAAC,EAAG7gD,EAAM,IAElEopD,EAAOppD,EACPA,IAEJ,CACF,CAQA,SAAS8iD,EAAkBlC,CAAK,CAAEC,CAAK,EAErC,GAAI,CAACD,GAAS,CAACC,GAASD,EAAM,KAAK,CAAC,MAAQC,EAAM,KAAK,CAAC,IACtD,OAAO,EAQT,IAJA,IAAIiI,EAAa,EACbC,EAAa/lD,KAAK,GAAG,CAAC49C,EAAM,MAAM,CAAEC,EAAM,MAAM,EAChDmI,EAAaD,EACbO,EAAa,EACVR,EAAaE,GAEhBpI,EAAM,SAAS,CAACA,EAAM,MAAM,CAAGoI,EAAYpI,EAAM,MAAM,CAAG0I,IAC1DzI,EAAM,SAAS,CAACA,EAAM,MAAM,CAAGmI,EAAYnI,EAAM,MAAM,CAAGyI,GAG1DA,EADAR,EAAaE,EAGbD,EAAaC,EAEfA,EAAahmD,KAAK,KAAK,CAAC,AAAC+lD,CAAAA,EAAaD,CAAS,EAAK,EAAIA,GAO1D,OAJIS,EAAsB3I,EAAM,UAAU,CAACA,EAAM,MAAM,CAAGoI,KACxDA,IAGKA,CACT,CAiPA,IAAIlC,EAAwB,eACxBG,EAAmB,KACnBG,EAAkB,SAClBG,EAAqB,WACrBE,EAAuB,cAmI3B,SAAS7B,EAAkB5C,CAAK,CAAEwG,CAAW,EAC3CxG,EAAM,IAAI,CAAC,CA/vBI,EA+vBS,GAAG,EAO3B,IANA,IAKIL,EALAuD,EAAU,EACVuD,EAAe,EACfC,EAAe,EACfC,EAAc,GACdC,EAAc,GAEX1D,EAAUlD,EAAM,MAAM,EAAE,CAC7B,GAAIkD,EAAUlD,EAAM,MAAM,CAAG,GAAK,CAACA,CAAK,CAACkD,EAAQ,CAAC,EAAE,CAAE,CACpDlD,EAAM,MAAM,CAACkD,EAAS,GACtB,QACF,CACA,OAAQlD,CAAK,CAACkD,EAAQ,CAAC,EAAE,EACvB,KA7wBY,EA8wBVwD,IACAE,GAAe5G,CAAK,CAACkD,EAAQ,CAAC,EAAE,CAChCA,IACA,KACF,MAnxBY,GAoxBVuD,IACAE,GAAe3G,CAAK,CAACkD,EAAQ,CAAC,EAAE,CAChCA,IACA,KACF,MAtxBW,EAuxBT,IAAI2D,EAAoB3D,EAAUwD,EAAeD,EAAe,EAChE,GAAID,EAAa,CAWf,GACEK,GAAqB,GACrBC,EAAqB9G,CAAK,CAAC6G,EAAkB,CAAC,EAAE,EAChD,CACA,IAAIE,EAAQ/G,CAAK,CAAC6G,EAAkB,CAAC,EAAE,CAAC,KAAK,CAAC,IAO9C,GANA7G,CAAK,CAAC6G,EAAkB,CAAC,EAAE,CAAG7G,CAAK,CAAC6G,EAAkB,CAAC,EAAE,CAAC,KAAK,CAC7D,EACA,IAEFF,EAAcI,EAAQJ,EACtBC,EAAcG,EAAQH,EAClB,CAAC5G,CAAK,CAAC6G,EAAkB,CAAC,EAAE,CAAE,CAEhC7G,EAAM,MAAM,CAAC6G,EAAmB,GAChC3D,IACA,IAAIxzB,EAAIm3B,EAAoB,CACxB7G,CAAAA,CAAK,CAACtwB,EAAE,EAAIswB,AApzBZ,IAozBYA,CAAK,CAACtwB,EAAE,CAAC,EAAE,GACzBg3B,IACAE,EAAc5G,CAAK,CAACtwB,EAAE,CAAC,EAAE,CAAGk3B,EAC5Bl3B,KAEEswB,CAAK,CAACtwB,EAAE,EAAIswB,AA1zBZ,KA0zBYA,CAAK,CAACtwB,EAAE,CAAC,EAAE,GACzB+2B,IACAE,EAAc3G,CAAK,CAACtwB,EAAE,CAAC,EAAE,CAAGi3B,EAC5Bj3B,KAEFm3B,EAAoBn3B,CACtB,CACF,CACA,GAAIs3B,EAAqBhH,CAAK,CAACkD,EAAQ,CAAC,EAAE,EAAG,CAC3C,IAAI6D,EAAQ/G,CAAK,CAACkD,EAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EACrClD,CAAAA,CAAK,CAACkD,EAAQ,CAAC,EAAE,CAAGlD,CAAK,CAACkD,EAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,GAC5CyD,GAAeI,EACfH,GAAeG,CACjB,CACF,CACA,GAAI7D,EAAUlD,EAAM,MAAM,CAAG,GAAK,CAACA,CAAK,CAACkD,EAAQ,CAAC,EAAE,CAAE,CAEpDlD,EAAM,MAAM,CAACkD,EAAS,GACtB,KACF,CACA,GAAIyD,EAAY,MAAM,CAAG,GAAKC,EAAY,MAAM,CAAG,EAAG,CAEhDD,EAAY,MAAM,CAAG,GAAKC,EAAY,MAAM,CAAG,IAG5B,IADrBjH,CAAAA,EAAeC,EAAkBgH,EAAaD,EAAW,IAEnDE,GAAqB,EACvB7G,CAAK,CAAC6G,EAAkB,CAAC,EAAE,EAAID,EAAY,SAAS,CAClD,EACAjH,IAGFK,EAAM,MAAM,CAAC,EAAG,EAAG,CAx1BlB,EA01BC4G,EAAY,SAAS,CAAC,EAAGjH,GAC1B,EACDuD,KAEF0D,EAAcA,EAAY,SAAS,CAACjH,GACpCgH,EAAcA,EAAY,SAAS,CAAChH,IAIjB,IADrBA,CAAAA,EAAeG,EAAkB8G,EAAaD,EAAW,IAEvD3G,CAAK,CAACkD,EAAQ,CAAC,EAAE,CACf0D,EAAY,SAAS,CAACA,EAAY,MAAM,CAAGjH,GAC3CK,CAAK,CAACkD,EAAQ,CAAC,EAAE,CACnB0D,EAAcA,EAAY,SAAS,CACjC,EACAA,EAAY,MAAM,CAAGjH,GAEvBgH,EAAcA,EAAY,SAAS,CACjC,EACAA,EAAY,MAAM,CAAGhH,KAK3B,IAAI//C,EAAI8mD,EAAeD,CACnBE,AAAuB,KAAvBA,EAAY,MAAM,EAAUC,AAAuB,IAAvBA,EAAY,MAAM,EAChD5G,EAAM,MAAM,CAACkD,EAAUtjD,EAAGA,GAC1BsjD,GAAoBtjD,GACX+mD,AAAuB,IAAvBA,EAAY,MAAM,EAC3B3G,EAAM,MAAM,CAACkD,EAAUtjD,EAAGA,EAAG,CAx3BvB,EAw3BqCgnD,EAAY,EACvD1D,EAAUA,EAAUtjD,EAAI,GACfgnD,AAAuB,IAAvBA,EAAY,MAAM,EAC3B5G,EAAM,MAAM,CAACkD,EAAUtjD,EAAGA,EAAG,CA53BvB,GA43BqC+mD,EAAY,EACvDzD,EAAUA,EAAUtjD,EAAI,IAExBogD,EAAM,MAAM,CACVkD,EAAUtjD,EACVA,EACA,CAl4BI,GAk4BU+mD,EAAY,CAC1B,CAl4BI,EAk4BUC,EAAY,EAE5B1D,EAAUA,EAAUtjD,EAAI,EAE5B,CACIsjD,AAAY,IAAZA,GAAiBlD,AAt4BZ,IAs4BYA,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,EAExClD,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,EAAIlD,CAAK,CAACkD,EAAQ,CAAC,EAAE,CAC1ClD,EAAM,MAAM,CAACkD,EAAS,IAEtBA,IAEFwD,EAAe,EACfD,EAAe,EACfE,EAAc,GACdC,EAAc,EAElB,CACF,CACmC,KAA/B5G,CAAK,CAACA,EAAM,MAAM,CAAG,EAAE,CAAC,EAAE,EAC5BA,EAAM,GAAG,GAMX,IAAI8C,EAAU,GAGd,IAFAI,EAAU,EAEHA,EAAUlD,EAAM,MAAM,CAAG,GA95BjB,IAg6BXA,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,EACrBlD,AAj6BW,IAi6BXA,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,GAInBlD,CAAK,CAACkD,EAAQ,CAAC,EAAE,CAAC,SAAS,CACzBlD,CAAK,CAACkD,EAAQ,CAAC,EAAE,CAAC,MAAM,CAAGlD,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CAAC,MAAM,IACnDlD,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,EAG3BlD,CAAK,CAACkD,EAAQ,CAAC,EAAE,CACflD,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CACrBlD,CAAK,CAACkD,EAAQ,CAAC,EAAE,CAAC,SAAS,CACzB,EACAlD,CAAK,CAACkD,EAAQ,CAAC,EAAE,CAAC,MAAM,CAAGlD,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CAAC,MAAM,EAE3DlD,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CAAGlD,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CAAGlD,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CACrElD,EAAM,MAAM,CAACkD,EAAU,EAAG,GAC1BJ,EAAU,IAEV9C,CAAK,CAACkD,EAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,EAAGlD,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CAAC,MAAM,GAC3DlD,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,GAGrBlD,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,EAAIlD,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CAC9ClD,CAAK,CAACkD,EAAQ,CAAC,EAAE,CACflD,CAAK,CAACkD,EAAQ,CAAC,EAAE,CAAC,SAAS,CAAClD,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CAAC,MAAM,EACxDlD,CAAK,CAACkD,EAAU,EAAE,CAAC,EAAE,CACvBlD,EAAM,MAAM,CAACkD,EAAU,EAAG,GAC1BJ,EAAU,KAGdI,IAGEJ,GACFF,EAAkB5C,EAAOwG,EAE7B,CAEA,SAASN,EAAwBe,CAAQ,EACvC,OAAOA,GAAY,OAAUA,GAAY,KAC3C,CAEA,SAASV,EAAsBU,CAAQ,EACrC,OAAOA,GAAY,OAAUA,GAAY,KAC3C,CAEA,SAASD,EAAqBrlD,CAAG,EAC/B,OAAO4kD,EAAsB5kD,EAAI,UAAU,CAAC,GAC9C,CAEA,SAASmlD,EAAqBnlD,CAAG,EAC/B,OAAOukD,EAAwBvkD,EAAI,UAAU,CAACA,EAAI,MAAM,CAAG,GAC7D,CAYA,SAAS09C,EAAiB6H,CAAM,CAAE/H,CAAS,CAAEC,CAAS,CAAE+H,CAAK,SAC3D,AAAIL,EAAqBI,IAAWF,EAAqBG,GAChD,KAEFC,AAdT,SAA6BC,CAAM,EAEjC,IAAK,IADDtnD,EAAM,EAAE,CACHf,EAAI,EAAGA,EAAIqoD,EAAO,MAAM,CAAEroD,IAC7BqoD,CAAM,CAACroD,EAAE,CAAC,EAAE,CAAC,MAAM,CAAG,GACxBe,EAAI,IAAI,CAACsnD,CAAM,CAACroD,EAAE,EAGtB,OAAOe,CACT,EAM6B,CACzB,CAv+Ba,EAu+BAmnD,EAAO,CACpB,CA1+Bc,GA0+BA/H,EAAU,CACxB,CA1+Bc,EA0+BAC,EAAU,CACxB,CA1+Ba,EA0+BA+H,EAAM,CACpB,CACH,CA2FA,SAASG,EAAK1J,CAAK,CAAEC,CAAK,CAAEC,CAAU,CAAE1hC,CAAO,EAG7C,OAAOuhC,EAAUC,EAAOC,EAAOC,EAAY1hC,EAAS,GACtD,CAEAkrC,EAAK,MAAM,CA9kCO,EA+kClBA,EAAK,MAAM,CAhlCO,GAilClBA,EAAK,KAAK,CA/kCO,EAilCjB5sD,EAAO,OAAO,CAAG4sD,C,kCCpmCjB,IA6RMC,EA7RFC,EAAiB,4BAMjBC,EAAU,qBAEVC,EAAU,mBACVC,EAAU,gBAEVC,EAAU,oBACVC,EAAS,6BACTC,EAAS,eACTC,EAAY,kBACZC,EAAY,kBACZC,EAAa,mBACbC,EAAY,kBACZC,EAAS,eACTC,EAAY,kBACZC,EAAY,kBACZC,EAAa,mBAEbC,EAAiB,uBACjBC,EAAc,oBACdC,EAAa,wBACbC,EAAa,wBACbC,EAAU,qBACVC,EAAW,sBACXC,EAAW,sBACXC,EAAW,sBACXC,EAAkB,6BAClBC,EAAY,uBACZC,EAAY,uBASZC,EAAU,OAGVC,EAAe,8BAGfC,EAAW,mBAGXC,EAAgB,CAAC,CACrBA,CAAAA,CAAa,CAAC5B,EAAQ,CAAG4B,CAAa,CA7CvB,iBA6CiC,CAChDA,CAAa,CAACd,EAAe,CAAGc,CAAa,CAACb,EAAY,CAC1Da,CAAa,CAAC3B,EAAQ,CAAG2B,CAAa,CAAC1B,EAAQ,CAC/C0B,CAAa,CAACZ,EAAW,CAAGY,CAAa,CAACX,EAAW,CACrDW,CAAa,CAACV,EAAQ,CAAGU,CAAa,CAACT,EAAS,CAChDS,CAAa,CAACR,EAAS,CAAGQ,CAAa,CAACvB,EAAO,CAC/CuB,CAAa,CAACtB,EAAU,CAAGsB,CAAa,CAACrB,EAAU,CACnDqB,CAAa,CAACnB,EAAU,CAAGmB,CAAa,CAAClB,EAAO,CAChDkB,CAAa,CAACjB,EAAU,CAAGiB,CAAa,CAAChB,EAAU,CACnDgB,CAAa,CAACP,EAAS,CAAGO,CAAa,CAACN,EAAgB,CACxDM,CAAa,CAACL,EAAU,CAAGK,CAAa,CAACJ,EAAU,CAAG,GACtDI,CAAa,CArDE,iBAqDQ,CAAGA,CAAa,CAACzB,EAAQ,CAChDyB,CAAa,CAACf,EAAW,CAAG,GAG5B,IAAIgB,EAAa,AAAiB,UAAjB,OAAO,GAAM,EAAgB,GAAM,EAAI,GAAM,CAAC,MAAM,GAAKxuD,QAAU,GAAM,CAGtFyuD,EAAW,AAAe,UAAf,OAAOjvD,MAAoBA,MAAQA,KAAK,MAAM,GAAKQ,QAAUR,KAGxEF,EAAOkvD,GAAcC,GAAYluD,SAAS,iBAG1CmuD,EAAc,AAA8B7uD,GAAW,CAACA,EAAQ,QAAQ,EAAIA,EAG5E8uD,EAAaD,GAA4C9uD,GAAU,CAACA,EAAO,QAAQ,EAAIA,EAGvFgvD,EAAgBD,GAAcA,EAAW,OAAO,GAAKD,EAUzD,SAASG,EAAYC,CAAG,CAAEC,CAAI,EAG5B,OADAD,EAAI,GAAG,CAACC,CAAI,CAAC,EAAE,CAAEA,CAAI,CAAC,EAAE,EACjBD,CACT,CAUA,SAASE,EAAYC,CAAG,CAAEvtD,CAAK,EAG7B,OADAutD,EAAI,GAAG,CAACvtD,GACDutD,CACT,CAsDA,SAASC,EAAYhsD,CAAK,CAAEisD,CAAQ,CAAEC,CAAW,CAAEC,CAAS,EAC1D,IAAIr+C,EAAQ,GACR9O,EAASgB,EAAQA,EAAM,MAAM,CAAG,EAKpC,IAHImsD,GAAantD,GACfktD,CAAAA,EAAclsD,CAAK,CAAC,EAAE8N,EAAM,AAAD,EAEtB,EAAEA,EAAQ9O,GACfktD,EAAcD,EAASC,EAAalsD,CAAK,CAAC8N,EAAM,CAAEA,EAAO9N,GAE3D,OAAOksD,CACT,CAwCA,SAASE,EAAa5tD,CAAK,EAGzB,IAAIif,EAAS,GACb,GAAIjf,AAAS,MAATA,GAAiB,AAAyB,YAAzB,OAAOA,EAAM,QAAQ,CACxC,GAAI,CACFif,EAAS,CAAC,CAAEjf,CAAAA,EAAQ,EAAC,CACvB,CAAE,MAAOjB,EAAG,CAAC,CAEf,OAAOkgB,CACT,CASA,SAAS4uC,EAAWT,CAAG,EACrB,IAAI99C,EAAQ,GACR2P,EAASrY,MAAMwmD,EAAI,IAAI,EAK3B,OAHAA,EAAI,OAAO,CAAC,SAASptD,CAAK,CAAEX,CAAG,EAC7B4f,CAAM,CAAC,EAAE3P,EAAM,CAAG,CAACjQ,EAAKW,EAAM,AAChC,GACOif,CACT,CAUA,SAAS6uC,EAAQ7P,CAAI,CAAE8P,CAAS,EAC9B,OAAO,SAAS/sD,CAAG,EACjB,OAAOi9C,EAAK8P,EAAU/sD,GACxB,CACF,CASA,SAASgtD,EAAWT,CAAG,EACrB,IAAIj+C,EAAQ,GACR2P,EAASrY,MAAM2mD,EAAI,IAAI,EAK3B,OAHAA,EAAI,OAAO,CAAC,SAASvtD,CAAK,EACxBif,CAAM,CAAC,EAAE3P,EAAM,CAAGtP,CACpB,GACOif,CACT,CAGA,IAAIgvC,EAAarnD,MAAM,SAAS,CAC5BsnD,EAAYrvD,SAAS,SAAS,CAC9BsvD,EAAc7vD,OAAO,SAAS,CAG9B8vD,EAAaxwD,CAAI,CAAC,qBAAqB,CAG3C,IAAIywD,EAEKtD,CADHA,EAAM,SAAS,IAAI,CAACqD,GAAcA,EAAW,IAAI,EAAIA,EAAW,IAAI,CAAC,QAAQ,EAAI,KACvE,iBAAmBrD,EAAO,GAItCuD,GAAeJ,EAAU,QAAQ,CAGjCK,GAAiBJ,EAAY,cAAc,CAO3C3iD,GAAiB2iD,EAAY,QAAQ,CAGrCK,GAAannB,OAAO,IACtBinB,GAAa,IAAI,CAACC,IAAgB,OAAO,CAzQxB,sBAyQuC,QACvD,OAAO,CAAC,yDAA0D,SAAW,KAI5EhuD,GAAS2sD,EAAgBtvD,EAAK,MAAM,CAAGmC,KAAAA,EACvCwC,GAAS3E,EAAK,MAAM,CACpB+C,GAAa/C,EAAK,UAAU,CAC5B6wD,GAAeX,EAAQxvD,OAAO,cAAc,CAAEA,QAC9CowD,GAAepwD,OAAO,MAAM,CAC5BqwD,GAAuBR,EAAY,oBAAoB,CACvDS,GAASX,EAAW,MAAM,CAG1BY,GAAmBvwD,OAAO,qBAAqB,CAC/CwwD,GAAiBvuD,GAASA,GAAO,QAAQ,CAAGR,KAAAA,EAC5CgvD,GAAajB,EAAQxvD,OAAO,IAAI,CAAEA,QAGlC0wD,GAAWC,GAAUrxD,EAAM,YAC3B+5C,GAAMsX,GAAUrxD,EAAM,OACtBg1B,GAAUq8B,GAAUrxD,EAAM,WAC1BsxD,GAAMD,GAAUrxD,EAAM,OACtBuxD,GAAUF,GAAUrxD,EAAM,WAC1BwxD,GAAeH,GAAU3wD,OAAQ,UAGjC+wD,GAAqBC,GAASN,IAC9BO,GAAgBD,GAAS3X,IACzB6X,GAAoBF,GAAS18B,IAC7B68B,GAAgBH,GAASJ,IACzBQ,GAAoBJ,GAASH,IAG7BQ,GAAcptD,GAASA,GAAO,SAAS,CAAGxC,KAAAA,EAC1C6vD,GAAgBD,GAAcA,GAAY,OAAO,CAAG5vD,KAAAA,EASxD,SAAS8vD,GAAKC,CAAO,EACnB,IAAIxgD,EAAQ,GACR9O,EAASsvD,EAAUA,EAAQ,MAAM,CAAG,EAGxC,IADA,IAAI,CAAC,KAAK,GACH,EAAExgD,EAAQ9O,GAAQ,CACvB,IAAIkU,EAAQo7C,CAAO,CAACxgD,EAAM,CAC1B,IAAI,CAAC,GAAG,CAACoF,CAAK,CAAC,EAAE,CAAEA,CAAK,CAAC,EAAE,CAC7B,CACF,CAyFA,SAASq7C,GAAUD,CAAO,EACxB,IAAIxgD,EAAQ,GACR9O,EAASsvD,EAAUA,EAAQ,MAAM,CAAG,EAGxC,IADA,IAAI,CAAC,KAAK,GACH,EAAExgD,EAAQ9O,GAAQ,CACvB,IAAIkU,EAAQo7C,CAAO,CAACxgD,EAAM,CAC1B,IAAI,CAAC,GAAG,CAACoF,CAAK,CAAC,EAAE,CAAEA,CAAK,CAAC,EAAE,CAC7B,CACF,CAtBAm7C,GAAK,SAAS,CAAC,KAAK,CAnEpB,WACE,IAAI,CAAC,QAAQ,CAAGT,GAAeA,GAAa,MAAQ,CAAC,CACvD,EAkEAS,GAAK,SAAS,CAAC,MAAS,CAtDxB,SAAoBxwD,CAAG,EACrB,OAAO,IAAI,CAAC,GAAG,CAACA,IAAQ,OAAO,IAAI,CAAC,QAAQ,CAACA,EAAI,AACnD,EAqDAwwD,GAAK,SAAS,CAAC,GAAG,CA1ClB,SAAiBxwD,CAAG,EAClB,IAAIukB,EAAO,IAAI,CAAC,QAAQ,CACxB,GAAIwrC,GAAc,CAChB,IAAInwC,EAAS2E,CAAI,CAACvkB,EAAI,CACtB,OAAO4f,IAAW+rC,EAAiBjrD,KAAAA,EAAYkf,CACjD,CACA,OAAOsvC,GAAe,IAAI,CAAC3qC,EAAMvkB,GAAOukB,CAAI,CAACvkB,EAAI,CAAGU,KAAAA,CACtD,EAoCA8vD,GAAK,SAAS,CAAC,GAAG,CAzBlB,SAAiBxwD,CAAG,EAClB,IAAIukB,EAAO,IAAI,CAAC,QAAQ,CACxB,OAAOwrC,GAAexrC,AAAc7jB,KAAAA,IAAd6jB,CAAI,CAACvkB,EAAI,CAAiBkvD,GAAe,IAAI,CAAC3qC,EAAMvkB,EAC5E,EAuBAwwD,GAAK,SAAS,CAAC,GAAG,CAXlB,SAAiBxwD,CAAG,CAAEW,CAAK,EAGzB,OADA4jB,AADW,IAAI,CAAC,QAAQ,AACpB,CAACvkB,EAAI,CAAG,AAAC+vD,IAAgBpvD,AAAUD,KAAAA,IAAVC,EAAuBgrD,EAAiBhrD,EAC9D,IAAI,AACb,EAgIA,SAASgwD,GAASF,CAAO,EACvB,IAAIxgD,EAAQ,GACR9O,EAASsvD,EAAUA,EAAQ,MAAM,CAAG,EAGxC,IADA,IAAI,CAAC,KAAK,GACH,EAAExgD,EAAQ9O,GAAQ,CACvB,IAAIkU,EAAQo7C,CAAO,CAACxgD,EAAM,CAC1B,IAAI,CAAC,GAAG,CAACoF,CAAK,CAAC,EAAE,CAAEA,CAAK,CAAC,EAAE,CAC7B,CACF,CAtBAq7C,GAAU,SAAS,CAAC,KAAK,CAjFzB,WACE,IAAI,CAAC,QAAQ,CAAG,EAAE,AACpB,EAgFAA,GAAU,SAAS,CAAC,MAAS,CArE7B,SAAyB1wD,CAAG,EAC1B,IAAIukB,EAAO,IAAI,CAAC,QAAQ,CACpBtU,EAAQ2gD,GAAarsC,EAAMvkB,SAE/B,CAAIiQ,CAAAA,EAAQ,KAIRA,GADYsU,EAAK,MAAM,CAAG,EAE5BA,EAAK,GAAG,GAERgrC,GAAO,IAAI,CAAChrC,EAAMtU,EAAO,GAEpB,GACT,EAwDAygD,GAAU,SAAS,CAAC,GAAG,CA7CvB,SAAsB1wD,CAAG,EACvB,IAAIukB,EAAO,IAAI,CAAC,QAAQ,CACpBtU,EAAQ2gD,GAAarsC,EAAMvkB,GAE/B,OAAOiQ,EAAQ,EAAIvP,KAAAA,EAAY6jB,CAAI,CAACtU,EAAM,CAAC,EAAE,AAC/C,EAyCAygD,GAAU,SAAS,CAAC,GAAG,CA9BvB,SAAsB1wD,CAAG,EACvB,OAAO4wD,GAAa,IAAI,CAAC,QAAQ,CAAE5wD,GAAO,EAC5C,EA6BA0wD,GAAU,SAAS,CAAC,GAAG,CAjBvB,SAAsB1wD,CAAG,CAAEW,CAAK,EAC9B,IAAI4jB,EAAO,IAAI,CAAC,QAAQ,CACpBtU,EAAQ2gD,GAAarsC,EAAMvkB,GAO/B,OALIiQ,EAAQ,EACVsU,EAAK,IAAI,CAAC,CAACvkB,EAAKW,EAAM,EAEtB4jB,CAAI,CAACtU,EAAM,CAAC,EAAE,CAAGtP,EAEZ,IAAI,AACb,EA8GA,SAASkwD,GAAMJ,CAAO,EACpB,IAAI,CAAC,QAAQ,CAAG,IAAIC,GAAUD,EAChC,CAfAE,GAAS,SAAS,CAAC,KAAK,CA/DxB,WACE,IAAI,CAAC,QAAQ,CAAG,CACd,KAAQ,IAAIH,GACZ,IAAO,GAAKlY,CAAAA,IAAOoY,EAAQ,EAC3B,OAAU,IAAIF,EAChB,CACF,EA0DAG,GAAS,SAAS,CAAC,MAAS,CA/C5B,SAAwB3wD,CAAG,EACzB,OAAO8wD,GAAW,IAAI,CAAE9wD,GAAK,MAAS,CAACA,EACzC,EA8CA2wD,GAAS,SAAS,CAAC,GAAG,CAnCtB,SAAqB3wD,CAAG,EACtB,OAAO8wD,GAAW,IAAI,CAAE9wD,GAAK,GAAG,CAACA,EACnC,EAkCA2wD,GAAS,SAAS,CAAC,GAAG,CAvBtB,SAAqB3wD,CAAG,EACtB,OAAO8wD,GAAW,IAAI,CAAE9wD,GAAK,GAAG,CAACA,EACnC,EAsBA2wD,GAAS,SAAS,CAAC,GAAG,CAVtB,SAAqB3wD,CAAG,CAAEW,CAAK,EAE7B,OADAmwD,GAAW,IAAI,CAAE9wD,GAAK,GAAG,CAACA,EAAKW,GACxB,IAAI,AACb,CA+FAkwD,CAAAA,GAAM,SAAS,CAAC,KAAK,CApErB,WACE,IAAI,CAAC,QAAQ,CAAG,IAAIH,EACtB,EAmEAG,GAAM,SAAS,CAAC,MAAS,CAxDzB,SAAqB7wD,CAAG,EACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAS,CAACA,EACjC,EAuDA6wD,GAAM,SAAS,CAAC,GAAG,CA5CnB,SAAkB7wD,CAAG,EACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACA,EAC3B,EA2CA6wD,GAAM,SAAS,CAAC,GAAG,CAhCnB,SAAkB7wD,CAAG,EACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACA,EAC3B,EA+BA6wD,GAAM,SAAS,CAAC,GAAG,CAnBnB,SAAkB7wD,CAAG,CAAEW,CAAK,EAC1B,IAAIswC,EAAQ,IAAI,CAAC,QAAQ,CACzB,GAAIA,aAAiByf,GAAW,CAC9B,IAAIK,EAAQ9f,EAAM,QAAQ,CAC1B,GAAI,CAACqH,IAAQyY,EAAM,MAAM,CAAGC,IAE1B,OADAD,EAAM,IAAI,CAAC,CAAC/wD,EAAKW,EAAM,EAChB,IAAI,CAEbswC,EAAQ,IAAI,CAAC,QAAQ,CAAG,IAAI0f,GAASI,EACvC,CAEA,OADA9f,EAAM,GAAG,CAACjxC,EAAKW,GACR,IAAI,AACb,EA8CA,SAASswD,GAAY/xD,CAAM,CAAEc,CAAG,CAAEW,CAAK,EACrC,IAAIuwD,EAAWhyD,CAAM,CAACc,EAAI,CACtB,EAAEkvD,CAAAA,GAAe,IAAI,CAAChwD,EAAQc,IAAQmxD,GAAGD,EAAUvwD,EAAK,GACvDA,AAAUD,KAAAA,IAAVC,GAAuB,CAAEX,CAAAA,KAAOd,CAAK,CAAE,GAC1CA,CAAAA,CAAM,CAACc,EAAI,CAAGW,CAAI,CAEtB,CAUA,SAASiwD,GAAazuD,CAAK,CAAEnC,CAAG,EAE9B,IADA,IAAImB,EAASgB,EAAM,MAAM,CAClBhB,KACL,GAAIgwD,GAAGhvD,CAAK,CAAChB,EAAO,CAAC,EAAE,CAAEnB,GACvB,OAAOmB,EAGX,OAAO,EACT,CA6LA,SAASiwD,GAAiBC,CAAW,EACnC,IAAIzxC,EAAS,IAAIyxC,EAAY,WAAW,CAACA,EAAY,UAAU,EAE/D,OADA,IAAI/vD,GAAWse,GAAQ,GAAG,CAAC,IAAIte,GAAW+vD,IACnCzxC,CACT,CA6GA,SAAS0xC,GAAWrxC,CAAM,CAAEomB,CAAK,CAAEnnC,CAAM,CAAEqyD,CAAU,EACnDryD,GAAWA,CAAAA,EAAS,CAAC,GAKrB,IAHA,IAAI+Q,EAAQ,GACR9O,EAASklC,EAAM,MAAM,CAElB,EAAEp2B,EAAQ9O,GAAQ,CACvB,IAAInB,EAAMqmC,CAAK,CAACp2B,EAAM,CAElBuhD,EAAWD,EACXA,EAAWryD,CAAM,CAACc,EAAI,CAAEigB,CAAM,CAACjgB,EAAI,CAAEA,EAAKd,EAAQ+gB,GAClDvf,KAAAA,EAEJuwD,GAAY/xD,EAAQc,EAAKwxD,AAAa9wD,KAAAA,IAAb8wD,EAAyBvxC,CAAM,CAACjgB,EAAI,CAAGwxD,EAClE,CACA,OAAOtyD,CACT,CAiCA,SAAS4xD,GAAW/C,CAAG,CAAE/tD,CAAG,EAC1B,IAAIukB,EAAOwpC,EAAI,QAAQ,CACvB,OAAO0D,AAoKT,SAAmB9wD,CAAK,EACtB,IAAIyS,EAAO,OAAOzS,EAClB,MAAO,AAACyS,AAAQ,UAARA,GAAoBA,AAAQ,UAARA,GAAoBA,AAAQ,UAARA,GAAoBA,AAAQ,WAARA,EAC/DzS,AAAU,cAAVA,EACAA,AAAU,OAAVA,CACP,EAzKmBX,GACbukB,CAAI,CAAC,AAAc,UAAd,OAAOvkB,EAAkB,SAAW,OAAO,CAChDukB,EAAK,GAAG,AACd,CAUA,SAASqrC,GAAU1wD,CAAM,CAAEc,CAAG,EAC5B,IAj8BgBd,EAAQc,EA2tBJW,EAsOhBA,GAj8BYzB,EAi8BKA,EAj8BGc,EAi8BKA,EAh8BtBd,AAAU,MAAVA,EAAiBwB,KAAAA,EAAYxB,CAAM,CAACc,EAAI,EAi8B/C,MAAO0xD,AAtOP,CAAI,EAACC,GADehxD,EAuOAA,IAtOIixD,AAyY1B,SAAkBhT,CAAI,EACpB,MAAO,CAAC,CAACoQ,GAAeA,KAAcpQ,CACxC,EA3YmCj+C,EAAK,GAI/B6pD,AADO,CAACqH,GAAWlxD,IAAU4tD,EAAa5tD,GAAUwuD,GAAa7B,CAAW,EACpE,IAAI,CAAC2C,GAAStvD,IAkOAA,EAAQD,KAAAA,CACvC,CASA,IAAIoxD,GAAatC,GAAmBf,EAAQe,GAAkBvwD,QAyhB9D,WACE,MAAO,EAAE,AACX,EAlhBI8yD,GAtQJ,SAAoBpxD,CAAK,EACvB,OAAOwL,GAAe,IAAI,CAACxL,EAC7B,EAwQI,CAACgvD,IAAYoC,GAAO,IAAIpC,GAAS,IAAI1tD,YAAY,MAAQ0qD,GACxDrU,IAAOyZ,GAAO,IAAIzZ,KAAQ2T,GAC1B14B,IAAWw+B,GAAOx+B,GAAQ,OAAO,KAAO64B,GACxCyD,IAAOkC,GAAO,IAAIlC,KAAQvD,GAC1BwD,IAAWiC,GAAO,IAAIjC,KAAYrD,CAAU,GAC/CsF,CAAAA,GAAS,SAASpxD,CAAK,EACrB,IAAIif,EAASzT,GAAe,IAAI,CAACxL,GAC7BqxD,EAAOpyC,GAAUusC,EAAYxrD,EAAM,WAAW,CAAGD,KAAAA,EACjDuxD,EAAaD,EAAO/B,GAAS+B,GAAQtxD,KAAAA,EAEzC,GAAIuxD,EACF,OAAQA,GACN,KAAKjC,GAAoB,OAAOrD,CAChC,MAAKuD,GAAe,OAAOjE,CAC3B,MAAKkE,GAAmB,OAAO/D,CAC/B,MAAKgE,GAAe,OAAO9D,CAC3B,MAAK+D,GAAmB,OAAO5D,CACjC,CAEF,OAAO7sC,CACT,GAmIF,SAASsyC,GAAYvxD,CAAK,EACxB,IAAIqxD,EAAOrxD,GAASA,EAAM,WAAW,CAGrC,OAAOA,IAFK,CAAgB,YAAf,OAAOqxD,GAAsBA,EAAK,SAAS,EAAKlD,CAAU,CAGzE,CASA,SAASmB,GAASrR,CAAI,EACpB,GAAIA,AAAQ,MAARA,EAAc,CAChB,GAAI,CACF,OAAOqQ,GAAa,IAAI,CAACrQ,EAC3B,CAAE,MAAOl/C,EAAG,CAAC,CACb,GAAI,CACF,OAAQk/C,EAAO,EACjB,CAAE,MAAOl/C,EAAG,CAAC,CACf,CACA,MAAO,EACT,CAwDA,SAASyxD,GAAGxwD,CAAK,CAAEwxD,CAAK,EACtB,OAAOxxD,IAAUwxD,GAAUxxD,GAAUA,GAASwxD,GAAUA,CAC1D,CAiDA,IAAIlxD,GAAUsG,MAAM,OAAO,CA2B3B,SAAS6qD,GAAYzxD,CAAK,EACxB,OAAOA,AAAS,MAATA,GAAiB0xD,AAqG1B,SAAkB1xD,CAAK,EACrB,MAAO,AAAgB,UAAhB,OAAOA,GACZA,EAAQ,IAAMA,EAAQ,GAAK,GAAKA,GA/jDb,gBAgkDvB,EAxGmCA,EAAM,MAAM,GAAK,CAACkxD,GAAWlxD,EAChE,CAgDA,IAAI2xD,GAAW7C,IAsLf,WACE,MAAO,EACT,EArKA,SAASoC,GAAWlxD,CAAK,EAGvB,IAAIw3B,EAAMw5B,GAAShxD,GAASwL,GAAe,IAAI,CAACxL,GAAS,GACzD,OAAOw3B,GAAO4zB,GAAW5zB,GAAO6zB,CAClC,CA0DA,SAAS2F,GAAShxD,CAAK,EACrB,IAAIyS,EAAO,OAAOzS,EAClB,MAAO,CAAC,CAACA,GAAUyS,CAAAA,AAAQ,UAARA,GAAoBA,AAAQ,YAARA,CAAiB,CAC1D,CA0DA,SAASrT,GAAKb,CAAM,EAClB,OAAOkzD,GAAYlzD,GAAUqzD,AAn7B/B,SAAuB5xD,CAAK,CAAE6xD,CAAS,EAGrC,IAAI5yC,EAAS,AAAC3e,GAAQN,IAAU8xD,AAsrBlC,SAAqB9xD,CAAK,EAExB,OAAO+xD,AAmFT,SAA2B/xD,CAAK,EAC9B,OAAOgyD,AAmIT,SAAsBhyD,CAAK,EACzB,MAAO,CAAC,CAACA,GAAS,AAAgB,UAAhB,OAAOA,CAC3B,EArIsBA,IAAUyxD,GAAYzxD,EAC5C,EArF2BA,IAAUuuD,GAAe,IAAI,CAACvuD,EAAO,WAC3D,EAAC2uD,GAAqB,IAAI,CAAC3uD,EAAO,WAAawL,GAAe,IAAI,CAACxL,IAAUirD,CAAM,CACxF,EA1rB8CjrD,GACxCiyD,AAnjBN,SAAmB7uD,CAAC,CAAEqqD,CAAQ,EAI5B,IAHA,IAAIn+C,EAAQ,GACR2P,EAASrY,MAAMxD,GAEZ,EAAEkM,EAAQlM,GACf6b,CAAM,CAAC3P,EAAM,CAAGm+C,EAASn+C,GAE3B,OAAO2P,CACT,EA2iBgBjf,EAAM,MAAM,CAAEyD,QACxB,EAAE,CAEFjD,EAASye,EAAO,MAAM,CACtBizC,EAAc,CAAC,CAAC1xD,EAEpB,IAAK,IAAInB,KAAOW,EACIuuD,GAAe,IAAI,CAACvuD,EAAOX,IACzC,CAAE6yD,CAAAA,GAAgB7yD,CAAAA,AAAO,UAAPA,GAAmB8yD,AAgiB7C,SAAiBnyD,CAAK,CAAEQ,CAAM,EAE5B,MAAO,CAAC,CADRA,CAAAA,EAASA,AAAU,MAAVA,EAnxCY,iBAmxCwBA,CAAK,GAE/C,CAAgB,UAAhB,OAAOR,GAAqB4sD,EAAS,IAAI,CAAC5sD,EAAK,GAC/CA,EAAQ,IAAMA,EAAQ,GAAK,GAAKA,EAAQQ,CAC7C,EAriBqDnB,EAAKmB,EAAM,CAAC,GAC3Dye,EAAO,IAAI,CAAC5f,GAGhB,OAAO4f,CACT,EAk6B6C1gB,GAAU6zD,AAtuBvD,SAAkB7zD,CAAM,EACtB,GAAI,CAACgzD,GAAYhzD,GACf,OAAOwwD,GAAWxwD,GAEpB,IAAI0gB,EAAS,EAAE,CACf,IAAK,IAAI5f,KAAOf,OAAOC,GACjBgwD,GAAe,IAAI,CAAChwD,EAAQc,IAAQA,AAAO,eAAPA,GACtC4f,EAAO,IAAI,CAAC5f,GAGhB,OAAO4f,CACT,EA2tBgE1gB,EAChE,CAyCAL,EAAO,OAAO,CA9Vd,SAAmB8B,CAAK,EACtB,OAAOqyD,AA9iBT,SAASA,EAAUryD,CAAK,CAAEsyD,CAAM,CAAEC,CAAM,CAAE3B,CAAU,CAAEvxD,CAAG,CAAEd,CAAM,CAAEi0D,CAAK,EAKtE,GAHI5B,GACF3xC,CAAAA,EAAS1gB,EAASqyD,EAAW5wD,EAAOX,EAAKd,EAAQi0D,GAAS5B,EAAW5wD,EAAK,EAExEif,AAAWlf,KAAAA,IAAXkf,EACF,OAAOA,EAET,GAAI,CAAC+xC,GAAShxD,GACZ,OAAOA,EAET,IAVIif,EAUAwzC,EAAQnyD,GAAQN,GACpB,GAAIyyD,EAEF,IADAxzC,EAASyzC,AA2Xb,SAAwBlxD,CAAK,EAC3B,IAAIhB,EAASgB,EAAM,MAAM,CACrByd,EAASzd,EAAM,WAAW,CAAChB,GAO/B,OAJIA,GAAU,AAAmB,UAAnB,OAAOgB,CAAK,CAAC,EAAE,EAAgB+sD,GAAe,IAAI,CAAC/sD,EAAO,WACtEyd,EAAO,KAAK,CAAGzd,EAAM,KAAK,CAC1Byd,EAAO,KAAK,CAAGzd,EAAM,KAAK,EAErByd,CACT,EArY4Bjf,GACpB,CAACsyD,EACH,OAAOK,AA6Ob,SAAmBrzC,CAAM,CAAE9d,CAAK,EAC9B,IAAI8N,EAAQ,GACR9O,EAAS8e,EAAO,MAAM,CAG1B,IADA9d,GAAUA,CAAAA,EAAQoF,MAAMpG,EAAM,EACvB,EAAE8O,EAAQ9O,GACfgB,CAAK,CAAC8N,EAAM,CAAGgQ,CAAM,CAAChQ,EAAM,CAE9B,OAAO9N,CACT,EAtPuBxB,EAAOif,EAC1B,KACK,CACL,IApCgB1gB,EAAQ+gB,EAoCpBkY,EAAM45B,GAAOpxD,GACb4yD,EAASp7B,GAAO4zB,GAAW5zB,GAAO6zB,EAEtC,GAAIsG,GAAS3xD,GACX,OAAO6yD,AA0Hb,SAAqB3uD,CAAM,CAAEouD,CAAM,EACjC,GAAIA,EACF,OAAOpuD,EAAO,KAAK,GAErB,IAAI+a,EAAS,IAAI/a,EAAO,WAAW,CAACA,EAAO,MAAM,EAEjD,OADAA,EAAO,IAAI,CAAC+a,GACLA,CACT,EAjIyBjf,EAAOsyD,GAE5B,GAAI96B,GAAOg0B,GAAah0B,GAAOyzB,GAAY2H,GAAU,CAACr0D,EAAS,CAC7D,GAAIqvD,EAAa5tD,GACf,OAAOzB,EAASyB,EAAQ,CAAC,EAG3B,GADAif,EAAS6zC,AA+Xf,SAAyBv0D,CAAM,MAtVXw0D,EAuVlB,MAAO,AAAC,AAA6B,YAA7B,OAAOx0D,EAAO,WAAW,EAAmBgzD,GAAYhzD,GAE5D,CAAC,EAxVEyyD,GADW+B,EAwVHtE,GAAalwD,IAvVHmwD,GAAaqE,GAAS,CAAC,CAyVlD,EAnY+BH,EAAS,CAAC,EAAI5yD,GACnC,CAACsyD,EAAQ,EACX,OAAOU,AA6Qf,SAAqB1zC,CAAM,CAAE/gB,CAAM,EACjC,OAAOoyD,GAAWrxC,EAAQ6xC,GAAW7xC,GAAS/gB,EAChD,EA/Q2ByB,GAhDPzB,EAgDyB0gB,EAhDjBK,EAgDyBtf,EA/C5CzB,GAAUoyD,GAAWrxC,EAAQlgB,GAAKkgB,GAAS/gB,IAgD9C,CACF,KAAO,CACL,GAAI,CAACsuD,CAAa,CAACr1B,EAAI,CACrB,OAAOj5B,EAASyB,EAAQ,CAAC,EAE3Bif,EAASg0C,AA0Yf,SAAwB10D,CAAM,CAAEi5B,CAAG,CAAE07B,CAAS,CAAEZ,CAAM,EACpD,IAjQqBa,EACjBjvD,EAgEmBkvD,EACnBlvD,EApDYkpD,EAAKkF,EAAQY,EAYVG,EACfp0C,EAcYsuC,EAAK+E,EAAQY,EAYVI,EA4MfjC,EAAO9yD,EAAO,WAAW,CAC7B,OAAQi5B,GACN,KAAKu0B,EACH,OAAO0E,GAAiBlyD,EAE1B,MAAK2sD,EACL,KAAKC,EACH,OAAO,IAAIkG,EAAK,CAAC9yD,EAEnB,MAAKytD,GACH,OA3QiBmH,EA2QI50D,EA1QrB2F,EAASouD,AA0QoBA,EA1QX7B,GAAiB0C,EAAS,MAAM,EAAIA,EAAS,MAAM,CAClE,IAAIA,EAAS,WAAW,CAACjvD,EAAQivD,EAAS,UAAU,CAAEA,EAAS,UAAU,CA2Q9E,MAAKlH,EAAY,KAAKC,EACtB,KAAKC,EAAS,KAAKC,EAAU,KAAKC,EAClC,KAAKC,EAAU,KAAKC,EAAiB,KAAKC,EAAW,KAAKC,GACxD,OA/MmB2G,EA+MI70D,EA9MvB2F,EAASouD,AA8MsBA,EA9Mb7B,GAAiB2C,EAAW,MAAM,EAAIA,EAAW,MAAM,CACtE,IAAIA,EAAW,WAAW,CAAClvD,EAAQkvD,EAAW,UAAU,CAAEA,EAAW,MAAM,CA+MhF,MAAK9H,GACH,OArQY8B,EAqQI7uD,EArQC+zD,EAqQOA,EArQCY,EAqQOA,EAnQ7B1F,EADK8E,EAASY,EAAUrF,EAAWT,GAAM,IAAQS,EAAWT,GACzCD,EAAa,IAAIC,EAAI,WAAW,CAqQxD,MAAK7B,EACL,KAAKK,EACH,OAAO,IAAIyF,EAAK9yD,EAElB,MAAKmtD,GACH,MA9PJzsC,CADIA,EAAS,GAAIo0C,CADEA,EAgQI90D,GA/PC,WAAW,CAAC80D,EAAO,MAAM,CAAE3G,EAAQ,IAAI,CAAC2G,KACzD,SAAS,CAAGA,EAAO,SAAS,CAC5Bp0C,CA+PL,MAAK0sC,GACH,OApPY4B,EAoPIhvD,EApPC+zD,EAoPOA,EApPCY,EAoPOA,EAlP7B1F,EADK8E,EAASY,EAAUlF,EAAWT,GAAM,IAAQS,EAAWT,GACzCD,EAAa,IAAIC,EAAI,WAAW,CAoPxD,MAAK1B,GACH,OA3OeyH,EA2OI/0D,EA1OhBqxD,GAAgBtxD,OAAOsxD,GAAc,IAAI,CAAC0D,IAAW,CAAC,CA2O7D,CACF,EA5a8BtzD,EAAOw3B,EAAK66B,EAAWC,EACjD,CACF,CAEAE,GAAUA,CAAAA,EAAQ,IAAItC,EAAI,EAC1B,IAAIqD,EAAUf,EAAM,GAAG,CAACxyD,GACxB,GAAIuzD,EACF,OAAOA,EAIT,GAFAf,EAAM,GAAG,CAACxyD,EAAOif,GAEb,CAACwzC,EACH,IAAI/sB,EAAQ6sB,EAASiB,AAsQzB,SAAoBj1D,CAAM,MAlOFA,EAAQk1D,EAAUC,EACpCz0C,EAkOJ,OAnOsB1gB,EAmOAA,EAnOQk1D,EAmOAr0D,GAnOUs0D,EAmOJvC,GAlOhClyC,EAASw0C,EAASl1D,GACf+B,GAAQ/B,GAAU0gB,EAAS00C,AApwBpC,SAAmBnyD,CAAK,CAAE87C,CAAM,EAK9B,IAJA,IAAIhuC,EAAQ,GACR9O,EAAS88C,EAAO,MAAM,CACtB33C,EAASnE,EAAM,MAAM,CAElB,EAAE8N,EAAQ9O,GACfgB,CAAK,CAACmE,EAAS2J,EAAM,CAAGguC,CAAM,CAAChuC,EAAM,CAEvC,OAAO9N,CACT,EA2vB8Cyd,EAAQy0C,EAAYn1D,GAkOlE,EAxQoCyB,GAASZ,GAAKY,GAUhD,OARA4zD,AApvBF,SAAmBpyD,CAAK,CAAEisD,CAAQ,EAIhC,IAHA,IAAIn+C,EAAQ,GACR9O,EAASgB,EAAQA,EAAM,MAAM,CAAG,EAE7B,EAAE8N,EAAQ9O,GACXitD,AAAyC,KAAzCA,EAASjsD,CAAK,CAAC8N,EAAM,CAAEA,EAAO9N,MAKtC,EA0uBYkkC,GAAS1lC,EAAO,SAAS6zD,CAAQ,CAAEx0D,CAAG,EAC1CqmC,GAEFmuB,CAAAA,EAAW7zD,CAAK,CADhBX,EAAMw0D,EACe,AAAD,EAGtBvD,GAAYrxC,EAAQ5f,EAAKgzD,EAAUwB,EAAUvB,EAAQC,EAAQ3B,EAAYvxD,EAAKW,EAAOwyD,GACvF,GACOvzC,CACT,EAmfmBjf,EAAO,GAAM,GAChC,C,kCC12CA,IA+RM+qD,EAvCW9M,EAAM8P,EAvDJ9P,EAjMf+M,EAAiB,4BAUjBC,EAAU,qBACV6I,EAAW,iBAEX5I,EAAU,mBACVC,EAAU,gBACV4I,EAAW,iBACX3I,EAAU,oBAEVE,EAAS,eACTC,EAAY,kBAEZC,EAAY,kBACZC,EAAa,mBAEbC,EAAY,kBACZC,EAAS,eACTC,EAAY,kBAGZE,EAAa,mBAEbC,EAAiB,uBACjBC,EAAc,oBAkBdW,EAAe,8BAGfC,EAAW,mBAGXoH,EAAiB,CAAC,CACtBA,CAAAA,CAAc,CAxBG,wBAwBS,CAAGA,CAAc,CAvB1B,wBAuBsC,CACvDA,CAAc,CAvBA,qBAuBS,CAAGA,CAAc,CAtBzB,sBAsBmC,CAClDA,CAAc,CAtBC,sBAsBS,CAAGA,CAAc,CArB1B,sBAqBoC,CACnDA,CAAc,CArBQ,6BAqBS,CAAGA,CAAc,CApBhC,uBAoB2C,CAC3DA,CAAc,CApBE,uBAoBS,CAAG,GAC5BA,CAAc,CAAC/I,EAAQ,CAAG+I,CAAc,CAACF,EAAS,CAClDE,CAAc,CAACjI,EAAe,CAAGiI,CAAc,CAAC9I,EAAQ,CACxD8I,CAAc,CAAChI,EAAY,CAAGgI,CAAc,CAAC7I,EAAQ,CACrD6I,CAAc,CAACD,EAAS,CAAGC,CAAc,CAAC5I,EAAQ,CAClD4I,CAAc,CAAC1I,EAAO,CAAG0I,CAAc,CAACzI,EAAU,CAClDyI,CAAc,CAACxI,EAAU,CAAGwI,CAAc,CAACtI,EAAU,CACrDsI,CAAc,CAACrI,EAAO,CAAGqI,CAAc,CAACpI,EAAU,CAClDoI,CAAc,CAAClI,EAAW,CAAG,GAG7B,IAAIgB,EAAa,AAAiB,UAAjB,OAAO,GAAM,EAAgB,GAAM,EAAI,GAAM,CAAC,MAAM,GAAKxuD,QAAU,GAAM,CAGtFyuD,EAAW,AAAe,UAAf,OAAOjvD,MAAoBA,MAAQA,KAAK,MAAM,GAAKQ,QAAUR,KAGxEF,EAAOkvD,GAAcC,GAAYluD,SAAS,iBAG1CmuD,EAAc,AAA8B7uD,GAAW,CAACA,EAAQ,QAAQ,EAAIA,EAG5E8uD,EAAaD,GAA4C9uD,GAAU,CAACA,EAAO,QAAQ,EAAIA,EAGvFgvD,EAAgBD,GAAcA,EAAW,OAAO,GAAKD,EAGrDiH,EAAc/G,GAAiBJ,EAAW,OAAO,CAGjDoH,EAAY,WACd,GAAI,CACF,OAAOD,GAAeA,EAAY,OAAO,EAAIA,EAAY,OAAO,CAAC,OACnE,CAAE,MAAOl1D,EAAG,CAAC,CACf,IAGIo1D,EAAmBD,GAAYA,EAAS,YAAY,CAkIxD,SAASrG,EAAWT,CAAG,EACrB,IAAI99C,EAAQ,GACR2P,EAASrY,MAAMwmD,EAAI,IAAI,EAK3B,OAHAA,EAAI,OAAO,CAAC,SAASptD,CAAK,CAAEX,CAAG,EAC7B4f,CAAM,CAAC,EAAE3P,EAAM,CAAG,CAACjQ,EAAKW,EAAM,AAChC,GACOif,CACT,CAuBA,SAAS+uC,EAAWT,CAAG,EACrB,IAAIj+C,EAAQ,GACR2P,EAASrY,MAAM2mD,EAAI,IAAI,EAK3B,OAHAA,EAAI,OAAO,CAAC,SAASvtD,CAAK,EACxBif,CAAM,CAAC,EAAE3P,EAAM,CAAGtP,CACpB,GACOif,CACT,CAGA,IAAIgvC,EAAarnD,MAAM,SAAS,CAC5BsnD,EAAYrvD,SAAS,SAAS,CAC9BsvD,EAAc7vD,OAAO,SAAS,CAG9B8vD,EAAaxwD,CAAI,CAAC,qBAAqB,CAGvC0wD,EAAeJ,EAAU,QAAQ,CAGjCK,EAAiBJ,EAAY,cAAc,CAG/C,IAAIE,EAEKtD,CADHA,EAAM,SAAS,IAAI,CAACqD,GAAcA,EAAW,IAAI,EAAIA,EAAW,IAAI,CAAC,QAAQ,EAAI,KACvE,iBAAmBrD,EAAO,GAQtCqJ,EAAuBjG,EAAY,QAAQ,CAG3CK,EAAannB,OAAO,IACtBinB,EAAa,IAAI,CAACC,GAAgB,OAAO,CA7PxB,sBA6PuC,QACvD,OAAO,CAAC,yDAA0D,SAAW,KAI5EhuD,EAAS2sD,EAAgBtvD,EAAK,MAAM,CAAGmC,KAAAA,EACvCwC,EAAS3E,EAAK,MAAM,CACpB+C,EAAa/C,EAAK,UAAU,CAC5B+wD,EAAuBR,EAAY,oBAAoB,CACvDS,EAASX,EAAW,MAAM,CAC1BoG,GAAiB9xD,EAASA,EAAO,WAAW,CAAGxC,KAAAA,EAGnD,IAAI8uD,GAAmBvwD,OAAO,qBAAqB,CAC/CwwD,GAAiBvuD,EAASA,EAAO,QAAQ,CAAGR,KAAAA,EAC5CgvD,IAnEa9Q,EAmEQ3/C,OAAO,IAAI,CAnEbyvD,EAmEezvD,OAlE7B,SAAS0C,CAAG,EACjB,OAAOi9C,EAAK8P,EAAU/sD,GACxB,GAmEEguD,GAAWC,GAAUrxD,EAAM,YAC3B+5C,GAAMsX,GAAUrxD,EAAM,OACtBg1B,GAAUq8B,GAAUrxD,EAAM,WAC1BsxD,GAAMD,GAAUrxD,EAAM,OACtBuxD,GAAUF,GAAUrxD,EAAM,WAC1BwxD,GAAeH,GAAU3wD,OAAQ,UAGjC+wD,GAAqBC,GAASN,IAC9BO,GAAgBD,GAAS3X,IACzB6X,GAAoBF,GAAS18B,IAC7B68B,GAAgBH,GAASJ,IACzBQ,GAAoBJ,GAASH,IAG7BQ,GAAcptD,EAASA,EAAO,SAAS,CAAGxC,KAAAA,EAC1C6vD,GAAgBD,GAAcA,GAAY,OAAO,CAAG5vD,KAAAA,EASxD,SAAS8vD,GAAKC,CAAO,EACnB,IAAIxgD,EAAQ,GACR9O,EAASsvD,AAAW,MAAXA,EAAkB,EAAIA,EAAQ,MAAM,CAGjD,IADA,IAAI,CAAC,KAAK,GACH,EAAExgD,EAAQ9O,GAAQ,CACvB,IAAIkU,EAAQo7C,CAAO,CAACxgD,EAAM,CAC1B,IAAI,CAAC,GAAG,CAACoF,CAAK,CAAC,EAAE,CAAEA,CAAK,CAAC,EAAE,CAC7B,CACF,CA6FA,SAASq7C,GAAUD,CAAO,EACxB,IAAIxgD,EAAQ,GACR9O,EAASsvD,AAAW,MAAXA,EAAkB,EAAIA,EAAQ,MAAM,CAGjD,IADA,IAAI,CAAC,KAAK,GACH,EAAExgD,EAAQ9O,GAAQ,CACvB,IAAIkU,EAAQo7C,CAAO,CAACxgD,EAAM,CAC1B,IAAI,CAAC,GAAG,CAACoF,CAAK,CAAC,EAAE,CAAEA,CAAK,CAAC,EAAE,CAC7B,CACF,CAtBAm7C,GAAK,SAAS,CAAC,KAAK,CAvEpB,WACE,IAAI,CAAC,QAAQ,CAAGT,GAAeA,GAAa,MAAQ,CAAC,EACrD,IAAI,CAAC,IAAI,CAAG,CACd,EAqEAS,GAAK,SAAS,CAAC,MAAS,CAzDxB,SAAoBxwD,CAAG,EACrB,IAAI4f,EAAS,IAAI,CAAC,GAAG,CAAC5f,IAAQ,OAAO,IAAI,CAAC,QAAQ,CAACA,EAAI,CAEvD,OADA,IAAI,CAAC,IAAI,EAAI4f,EAAS,EAAI,EACnBA,CACT,EAsDA4wC,GAAK,SAAS,CAAC,GAAG,CA3ClB,SAAiBxwD,CAAG,EAClB,IAAIukB,EAAO,IAAI,CAAC,QAAQ,CACxB,GAAIwrC,GAAc,CAChB,IAAInwC,EAAS2E,CAAI,CAACvkB,EAAI,CACtB,OAAO4f,IAAW+rC,EAAiBjrD,KAAAA,EAAYkf,CACjD,CACA,OAAOsvC,EAAe,IAAI,CAAC3qC,EAAMvkB,GAAOukB,CAAI,CAACvkB,EAAI,CAAGU,KAAAA,CACtD,EAqCA8vD,GAAK,SAAS,CAAC,GAAG,CA1BlB,SAAiBxwD,CAAG,EAClB,IAAIukB,EAAO,IAAI,CAAC,QAAQ,CACxB,OAAOwrC,GAAgBxrC,AAAc7jB,KAAAA,IAAd6jB,CAAI,CAACvkB,EAAI,CAAkBkvD,EAAe,IAAI,CAAC3qC,EAAMvkB,EAC9E,EAwBAwwD,GAAK,SAAS,CAAC,GAAG,CAZlB,SAAiBxwD,CAAG,CAAEW,CAAK,EACzB,IAAI4jB,EAAO,IAAI,CAAC,QAAQ,CAGxB,OAFA,IAAI,CAAC,IAAI,EAAI,IAAI,CAAC,GAAG,CAACvkB,GAAO,EAAI,EACjCukB,CAAI,CAACvkB,EAAI,CAAG,AAAC+vD,IAAgBpvD,AAAUD,KAAAA,IAAVC,EAAuBgrD,EAAiBhrD,EAC9D,IAAI,AACb,EAmIA,SAASgwD,GAASF,CAAO,EACvB,IAAIxgD,EAAQ,GACR9O,EAASsvD,AAAW,MAAXA,EAAkB,EAAIA,EAAQ,MAAM,CAGjD,IADA,IAAI,CAAC,KAAK,GACH,EAAExgD,EAAQ9O,GAAQ,CACvB,IAAIkU,EAAQo7C,CAAO,CAACxgD,EAAM,CAC1B,IAAI,CAAC,GAAG,CAACoF,CAAK,CAAC,EAAE,CAAEA,CAAK,CAAC,EAAE,CAC7B,CACF,CAtBAq7C,GAAU,SAAS,CAAC,KAAK,CApFzB,WACE,IAAI,CAAC,QAAQ,CAAG,EAAE,CAClB,IAAI,CAAC,IAAI,CAAG,CACd,EAkFAA,GAAU,SAAS,CAAC,MAAS,CAvE7B,SAAyB1wD,CAAG,EAC1B,IAAIukB,EAAO,IAAI,CAAC,QAAQ,CACpBtU,EAAQ2gD,GAAarsC,EAAMvkB,SAE/B,CAAIiQ,CAAAA,EAAQ,KAIRA,GADYsU,EAAK,MAAM,CAAG,EAE5BA,EAAK,GAAG,GAERgrC,EAAO,IAAI,CAAChrC,EAAMtU,EAAO,GAE3B,EAAE,IAAI,CAAC,IAAI,CACJ,GACT,EAyDAygD,GAAU,SAAS,CAAC,GAAG,CA9CvB,SAAsB1wD,CAAG,EACvB,IAAIukB,EAAO,IAAI,CAAC,QAAQ,CACpBtU,EAAQ2gD,GAAarsC,EAAMvkB,GAE/B,OAAOiQ,EAAQ,EAAIvP,KAAAA,EAAY6jB,CAAI,CAACtU,EAAM,CAAC,EAAE,AAC/C,EA0CAygD,GAAU,SAAS,CAAC,GAAG,CA/BvB,SAAsB1wD,CAAG,EACvB,OAAO4wD,GAAa,IAAI,CAAC,QAAQ,CAAE5wD,GAAO,EAC5C,EA8BA0wD,GAAU,SAAS,CAAC,GAAG,CAlBvB,SAAsB1wD,CAAG,CAAEW,CAAK,EAC9B,IAAI4jB,EAAO,IAAI,CAAC,QAAQ,CACpBtU,EAAQ2gD,GAAarsC,EAAMvkB,GAQ/B,OANIiQ,EAAQ,GACV,EAAE,IAAI,CAAC,IAAI,CACXsU,EAAK,IAAI,CAAC,CAACvkB,EAAKW,EAAM,GAEtB4jB,CAAI,CAACtU,EAAM,CAAC,EAAE,CAAGtP,EAEZ,IAAI,AACb,EAsHA,SAASs0D,GAAShX,CAAM,EACtB,IAAIhuC,EAAQ,GACR9O,EAAS88C,AAAU,MAAVA,EAAiB,EAAIA,EAAO,MAAM,CAG/C,IADA,IAAI,CAAC,QAAQ,CAAG,IAAI0S,GACb,EAAE1gD,EAAQ9O,GACf,IAAI,CAAC,GAAG,CAAC88C,CAAM,CAAChuC,EAAM,CAE1B,CAtBA0gD,GAAS,SAAS,CAAC,KAAK,CAtExB,WACE,IAAI,CAAC,IAAI,CAAG,EACZ,IAAI,CAAC,QAAQ,CAAG,CACd,KAAQ,IAAIH,GACZ,IAAO,GAAKlY,CAAAA,IAAOoY,EAAQ,EAC3B,OAAU,IAAIF,EAChB,CACF,EAgEAG,GAAS,SAAS,CAAC,MAAS,CArD5B,SAAwB3wD,CAAG,EACzB,IAAI4f,EAASkxC,GAAW,IAAI,CAAE9wD,GAAK,MAAS,CAACA,GAE7C,OADA,IAAI,CAAC,IAAI,EAAI4f,EAAS,EAAI,EACnBA,CACT,EAkDA+wC,GAAS,SAAS,CAAC,GAAG,CAvCtB,SAAqB3wD,CAAG,EACtB,OAAO8wD,GAAW,IAAI,CAAE9wD,GAAK,GAAG,CAACA,EACnC,EAsCA2wD,GAAS,SAAS,CAAC,GAAG,CA3BtB,SAAqB3wD,CAAG,EACtB,OAAO8wD,GAAW,IAAI,CAAE9wD,GAAK,GAAG,CAACA,EACnC,EA0BA2wD,GAAS,SAAS,CAAC,GAAG,CAdtB,SAAqB3wD,CAAG,CAAEW,CAAK,EAC7B,IAAI4jB,EAAOusC,GAAW,IAAI,CAAE9wD,GACxBiD,EAAOshB,EAAK,IAAI,CAIpB,OAFAA,EAAK,GAAG,CAACvkB,EAAKW,GACd,IAAI,CAAC,IAAI,EAAI4jB,EAAK,IAAI,EAAIthB,EAAO,EAAI,EAC9B,IAAI,AACb,EAkEA,SAAS4tD,GAAMJ,CAAO,EACpB,IAAIlsC,EAAO,IAAI,CAAC,QAAQ,CAAG,IAAImsC,GAAUD,EACzC,KAAI,CAAC,IAAI,CAAGlsC,EAAK,IAAI,AACvB,CAbA0wC,GAAS,SAAS,CAAC,GAAG,CAAGA,GAAS,SAAS,CAAC,IAAI,CAnBhD,SAAqBt0D,CAAK,EAExB,OADA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACA,EAAOgrD,GAClB,IAAI,AACb,EAiBAsJ,GAAS,SAAS,CAAC,GAAG,CANtB,SAAqBt0D,CAAK,EACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACA,EAC3B,CAoGAkwD,CAAAA,GAAM,SAAS,CAAC,KAAK,CA3ErB,WACE,IAAI,CAAC,QAAQ,CAAG,IAAIH,GACpB,IAAI,CAAC,IAAI,CAAG,CACd,EAyEAG,GAAM,SAAS,CAAC,MAAS,CA9DzB,SAAqB7wD,CAAG,EACtB,IAAIukB,EAAO,IAAI,CAAC,QAAQ,CACpB3E,EAAS2E,EAAK,MAAS,CAACvkB,GAG5B,OADA,IAAI,CAAC,IAAI,CAAGukB,EAAK,IAAI,CACd3E,CACT,EAyDAixC,GAAM,SAAS,CAAC,GAAG,CA9CnB,SAAkB7wD,CAAG,EACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACA,EAC3B,EA6CA6wD,GAAM,SAAS,CAAC,GAAG,CAlCnB,SAAkB7wD,CAAG,EACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACA,EAC3B,EAiCA6wD,GAAM,SAAS,CAAC,GAAG,CArBnB,SAAkB7wD,CAAG,CAAEW,CAAK,EAC1B,IAAI4jB,EAAO,IAAI,CAAC,QAAQ,CACxB,GAAIA,aAAgBmsC,GAAW,CAC7B,IAAIK,EAAQxsC,EAAK,QAAQ,CACzB,GAAI,CAAC+zB,IAAQyY,EAAM,MAAM,CAAGC,IAG1B,OAFAD,EAAM,IAAI,CAAC,CAAC/wD,EAAKW,EAAM,EACvB,IAAI,CAAC,IAAI,CAAG,EAAE4jB,EAAK,IAAI,CAChB,IAAI,CAEbA,EAAO,IAAI,CAAC,QAAQ,CAAG,IAAIosC,GAASI,EACtC,CAGA,OAFAxsC,EAAK,GAAG,CAACvkB,EAAKW,GACd,IAAI,CAAC,IAAI,CAAG4jB,EAAK,IAAI,CACd,IAAI,AACb,EAoDA,SAASqsC,GAAazuD,CAAK,CAAEnC,CAAG,EAE9B,IADA,IAAImB,EAASgB,EAAM,MAAM,CAClBhB,KACL,GAAIgwD,GAAGhvD,CAAK,CAAChB,EAAO,CAAC,EAAE,CAAEnB,GACvB,OAAOmB,EAGX,OAAO,EACT,CAyBA,SAAS+zD,GAAWv0D,CAAK,SACvB,AAAIA,AAAS,MAATA,EACKA,AAAUD,KAAAA,IAAVC,EAt1BQ,qBARL,gBAg2BL,AAACq0D,IAAkBA,MAAkB/1D,OAAO0B,GAC/Cw0D,AAyaN,SAAmBx0D,CAAK,EACtB,IAAIy0D,EAAQlG,EAAe,IAAI,CAACvuD,EAAOq0D,IACnC78B,EAAMx3B,CAAK,CAACq0D,GAAe,CAE/B,GAAI,CACFr0D,CAAK,CAACq0D,GAAe,CAAGt0D,KAAAA,EACxB,IAAI20D,EAAW,EACjB,CAAE,MAAO31D,EAAG,CAAC,CAEb,IAAIkgB,EAASm1C,EAAqB,IAAI,CAACp0D,GAQvC,OAPI00D,IACED,EACFz0D,CAAK,CAACq0D,GAAe,CAAG78B,EAExB,OAAOx3B,CAAK,CAACq0D,GAAe,EAGzBp1C,CACT,EA3bgBjf,GACVwL,AA2iBN,SAAwBxL,CAAK,EAC3B,OAAOo0D,EAAqB,IAAI,CAACp0D,EACnC,EA7iBqBA,EACrB,CASA,SAAS20D,GAAgB30D,CAAK,EAC5B,OAAOgyD,GAAahyD,IAAUu0D,GAAWv0D,IAAUirD,CACrD,CAkJA,SAAS2J,GAAYpzD,CAAK,CAAEgwD,CAAK,CAAEqD,CAAO,CAAEjE,CAAU,CAAEkE,CAAS,CAAEtC,CAAK,EACtE,IAAIuC,EAAYF,AAlhCS,EAkhCTA,EACZtwD,EAAY/C,EAAM,MAAM,CACxBwzD,EAAYxD,EAAM,MAAM,CAE5B,GAAIjtD,GAAaywD,GAAa,CAAED,CAAAA,GAAaC,EAAYzwD,CAAQ,EAC/D,MAAO,GAGT,IAAIgvD,EAAUf,EAAM,GAAG,CAAChxD,GACxB,GAAI+xD,GAAWf,EAAM,GAAG,CAAChB,GACvB,OAAO+B,GAAW/B,EAEpB,IAAIliD,EAAQ,GACR2P,EAAS,GACTg2C,EAAO,AAACJ,AA/hCe,EA+hCfA,EAAoC,IAAIP,GAAWv0D,KAAAA,EAM/D,IAJAyyD,EAAM,GAAG,CAAChxD,EAAOgwD,GACjBgB,EAAM,GAAG,CAAChB,EAAOhwD,GAGV,EAAE8N,EAAQ/K,GAAW,CAC1B,IAAI2wD,EAAW1zD,CAAK,CAAC8N,EAAM,CACvB6lD,EAAW3D,CAAK,CAACliD,EAAM,CAE3B,GAAIshD,EACF,IAAIwE,EAAWL,EACXnE,EAAWuE,EAAUD,EAAU5lD,EAAOkiD,EAAOhwD,EAAOgxD,GACpD5B,EAAWsE,EAAUC,EAAU7lD,EAAO9N,EAAOgwD,EAAOgB,GAE1D,GAAI4C,AAAar1D,KAAAA,IAAbq1D,EAAwB,CAC1B,GAAIA,EACF,SAEFn2C,EAAS,GACT,KACF,CAEA,GAAIg2C,EACF,IAAI,CAACI,AAh6BX,SAAmB7zD,CAAK,CAAE8zD,CAAS,EAIjC,IAHA,IAAIhmD,EAAQ,GACR9O,EAASgB,AAAS,MAATA,EAAgB,EAAIA,EAAM,MAAM,CAEtC,EAAE8N,EAAQ9O,GACf,GAAI80D,EAAU9zD,CAAK,CAAC8N,EAAM,CAAEA,EAAO9N,GACjC,MAAO,GAGX,MAAO,EACT,EAs5BqBgwD,EAAO,SAAS2D,CAAQ,CAAEI,CAAQ,MA52BrCjlB,EAAOjxC,EA62Bb,GAAI,AA72BEixC,EA62BQ2kB,EA72BD51D,EA62BOk2D,GA52BvBjlB,EAAM,GAAG,CAACjxC,IA62BF61D,CAAAA,IAAaC,GAAYL,EAAUI,EAAUC,EAAUN,EAASjE,EAAY4B,EAAK,EACpF,OAAOyC,EAAK,IAAI,CAACM,EAErB,GAAI,CACNt2C,EAAS,GACT,KACF,OACK,GAAI,CACLi2C,CAAAA,IAAaC,GACXL,EAAUI,EAAUC,EAAUN,EAASjE,EAAY4B,EAAK,EACzD,CACLvzC,EAAS,GACT,KACF,CACF,CAGA,OAFAuzC,EAAM,MAAS,CAAChxD,GAChBgxD,EAAM,MAAS,CAAChB,GACTvyC,CACT,CAwKA,SAASu0C,GAAWj1D,CAAM,MAnZFA,EAAQk1D,EAAUC,EACpCz0C,EAmZJ,OApZsB1gB,EAoZAA,EApZQk1D,EAoZAr0D,GApZUs0D,EAoZJvC,GAnZhClyC,EAASw0C,EAASl1D,GACf+B,GAAQ/B,GAAU0gB,EAAS00C,AAhuBpC,SAAmBnyD,CAAK,CAAE87C,CAAM,EAK9B,IAJA,IAAIhuC,EAAQ,GACR9O,EAAS88C,EAAO,MAAM,CACtB33C,EAASnE,EAAM,MAAM,CAElB,EAAE8N,EAAQ9O,GACfgB,CAAK,CAACmE,EAAS2J,EAAM,CAAGguC,CAAM,CAAChuC,EAAM,CAEvC,OAAO9N,CACT,EAutB8Cyd,EAAQy0C,EAAYn1D,GAmZlE,CAUA,SAAS4xD,GAAW/C,CAAG,CAAE/tD,CAAG,EAC1B,IAAIukB,EAAOwpC,EAAI,QAAQ,CACvB,OAAO0D,AAqHT,SAAmB9wD,CAAK,EACtB,IAAIyS,EAAO,OAAOzS,EAClB,MAAO,AAACyS,AAAQ,UAARA,GAAoBA,AAAQ,UAARA,GAAoBA,AAAQ,UAARA,GAAoBA,AAAQ,WAARA,EAC/DzS,AAAU,cAAVA,EACAA,AAAU,OAAVA,CACP,EA1HmBX,GACbukB,CAAI,CAAC,AAAc,UAAd,OAAOvkB,EAAkB,SAAW,OAAO,CAChDukB,EAAK,GAAG,AACd,CAUA,SAASqrC,GAAU1wD,CAAM,CAAEc,CAAG,EAC5B,IAxjCgBd,EAAQc,EAowBJW,EAoThBA,GAxjCYzB,EAwjCKA,EAxjCGc,EAwjCKA,EAvjCtBd,AAAU,MAAVA,EAAiBwB,KAAAA,EAAYxB,CAAM,CAACc,EAAI,EAwjC/C,MAAO0xD,AApTP,CAAI,EAACC,GADehxD,EAqTAA,IApTIixD,AAwa1B,SAAkBhT,CAAI,EACpB,MAAO,CAAC,CAACoQ,GAAeA,KAAcpQ,CACxC,EA1amCj+C,EAAK,GAI/B6pD,AADOqH,CAAAA,GAAWlxD,GAASwuD,EAAa7B,CAAW,EAC3C,IAAI,CAAC2C,GAAStvD,IAgTAA,EAAQD,KAAAA,CACvC,CAoCA,IAAIoxD,GAAa,AAACtC,GAA+B,SAAStwD,CAAM,SAC9D,AAAIA,AAAU,MAAVA,EACK,EAAE,CAGJi3D,AA/sCT,SAAqBh0D,CAAK,CAAE8zD,CAAS,EAMnC,IALA,IAAIhmD,EAAQ,GACR9O,EAASgB,AAAS,MAATA,EAAgB,EAAIA,EAAM,MAAM,CACzCi0D,EAAW,EACXx2C,EAAS,EAAE,CAER,EAAE3P,EAAQ9O,GAAQ,CACvB,IAAIR,EAAQwB,CAAK,CAAC8N,EAAM,CACpBgmD,EAAUt1D,EAAOsP,EAAO9N,IAC1Byd,CAAAA,CAAM,CAACw2C,IAAW,CAAGz1D,CAAI,CAE7B,CACA,OAAOif,CACT,EAksCqB4vC,GADnBtwD,EAASD,OAAOC,IAC6B,SAAS+0D,CAAM,EAC1D,OAAO3E,EAAqB,IAAI,CAACpwD,EAAQ+0D,EAC3C,EACF,EAodA,WACE,MAAO,EAAE,AACX,EA7cIlC,GAASmD,GAGT,CAACvF,IAAYoC,GAAO,IAAIpC,GAAS,IAAI1tD,YAAY,MAAQ0qD,GACxDrU,IAAOyZ,GAAO,IAAIzZ,KAAQ2T,GAC1B14B,IAAWw+B,GAAOx+B,GAAQ,OAAO,KAAO64B,GACxCyD,IAAOkC,GAAO,IAAIlC,KAAQvD,GAC1BwD,IAAWiC,GAAO,IAAIjC,KAAYrD,CAAU,GAC/CsF,CAAAA,GAAS,SAASpxD,CAAK,EACrB,IAAIif,EAASs1C,GAAWv0D,GACpBqxD,EAAOpyC,GAAUusC,EAAYxrD,EAAM,WAAW,CAAGD,KAAAA,EACjDuxD,EAAaD,EAAO/B,GAAS+B,GAAQ,GAEzC,GAAIC,EACF,OAAQA,GACN,KAAKjC,GAAoB,OAAOrD,CAChC,MAAKuD,GAAe,OAAOjE,CAC3B,MAAKkE,GAAmB,OAAO/D,CAC/B,MAAKgE,GAAe,OAAO9D,CAC3B,MAAK+D,GAAmB,OAAO5D,CACjC,CAEF,OAAO7sC,CACT,GA2EF,SAASqwC,GAASrR,CAAI,EACpB,GAAIA,AAAQ,MAARA,EAAc,CAChB,GAAI,CACF,OAAOqQ,EAAa,IAAI,CAACrQ,EAC3B,CAAE,MAAOl/C,EAAG,CAAC,CACb,GAAI,CACF,OAAQk/C,EAAO,EACjB,CAAE,MAAOl/C,EAAG,CAAC,CACf,CACA,MAAO,EACT,CAkCA,SAASyxD,GAAGxwD,CAAK,CAAEwxD,CAAK,EACtB,OAAOxxD,IAAUwxD,GAAUxxD,GAAUA,GAASwxD,GAAUA,CAC1D,CAoBA,IAAIM,GAAc6C,GAAgB,WAAa,OAAOzvD,SAAW,KAAOyvD,GAAkB,SAAS30D,CAAK,EACtG,OAAOgyD,GAAahyD,IAAUuuD,EAAe,IAAI,CAACvuD,EAAO,WACvD,CAAC2uD,EAAqB,IAAI,CAAC3uD,EAAO,SACtC,EAyBIM,GAAUsG,MAAM,OAAO,CAgDvB+qD,GAAW7C,IA4Of,WACE,MAAO,EACT,EA3LA,SAASoC,GAAWlxD,CAAK,EACvB,GAAI,CAACgxD,GAAShxD,GACZ,MAAO,GAIT,IAAIw3B,EAAM+8B,GAAWv0D,GACrB,OAAOw3B,GAAO4zB,GAAW5zB,AAnmDd,8BAmmDcA,GAAiBA,AAxmD7B,0BAwmD6BA,GAAmBA,AA7lDhD,kBA6lDgDA,CAC/D,CA4BA,SAASk6B,GAAS1xD,CAAK,EACrB,MAAO,AAAgB,UAAhB,OAAOA,GACZA,EAAQ,IAAMA,EAAQ,GAAK,GAAKA,GA5oDb,gBA6oDvB,CA2BA,SAASgxD,GAAShxD,CAAK,EACrB,IAAIyS,EAAO,OAAOzS,EAClB,OAAOA,AAAS,MAATA,GAAkByS,CAAAA,AAAQ,UAARA,GAAoBA,AAAQ,YAARA,CAAiB,CAChE,CA0BA,SAASu/C,GAAahyD,CAAK,EACzB,OAAOA,AAAS,MAATA,GAAiB,AAAgB,UAAhB,OAAOA,CACjC,CAmBA,IAAI01D,GAAevB,GAhiDAlW,EAgiD6BkW,EA/hDvC,SAASn0D,CAAK,EACnB,OAAOi+C,EAAKj+C,EACd,GA0yBF,SAA0BA,CAAK,EAC7B,OAAOgyD,GAAahyD,IAClB0xD,GAAS1xD,EAAM,MAAM,GAAK,CAAC,CAACg0D,CAAc,CAACO,GAAWv0D,GAAO,AACjE,EA8wBA,SAASZ,GAAKb,CAAM,MA1NCyB,EA2NnB,OAAOyxD,AA1NAzxD,AAAS,OADGA,EA2NAzB,IA1NKmzD,GAAS1xD,EAAM,MAAM,GAAK,CAACkxD,GAAWlxD,GA0NjC4xD,AAp9B/B,SAAuB5xD,CAAK,CAAE6xD,CAAS,EACrC,IAAIY,EAAQnyD,GAAQN,GAChB21D,EAAQ,CAAClD,GAASX,GAAY9xD,GAC9B41D,EAAS,CAACnD,GAAS,CAACkD,GAAShE,GAAS3xD,GACtC61D,EAAS,CAACpD,GAAS,CAACkD,GAAS,CAACC,GAAUF,GAAa11D,GACrDkyD,EAAcO,GAASkD,GAASC,GAAUC,EAC1C52C,EAASizC,EAAcD,AAloB7B,SAAmB7uD,CAAC,CAAEqqD,CAAQ,EAI5B,IAHA,IAAIn+C,EAAQ,GACR2P,EAASrY,MAAMxD,GAEZ,EAAEkM,EAAQlM,GACf6b,CAAM,CAAC3P,EAAM,CAAGm+C,EAASn+C,GAE3B,OAAO2P,CACT,EA0nBuCjf,EAAM,MAAM,CAAEyD,QAAU,EAAE,CAC3DjD,EAASye,EAAO,MAAM,CAE1B,IAAK,IAAI5f,KAAOW,EACIuuD,EAAe,IAAI,CAACvuD,EAAOX,IACzC,CAAE6yD,CAAAA,GAEC7yD,CAAAA,AAAO,UAAPA,GAECu2D,GAAWv2D,CAAAA,AAAO,UAAPA,GAAmBA,AAAO,UAAPA,CAAc,GAE5Cw2D,GAAWx2D,CAAAA,AAAO,UAAPA,GAAmBA,AAAO,cAAPA,GAAuBA,AAAO,cAAPA,CAAkB,GAExE8yD,AA6iBX,SAAiBnyD,CAAK,CAAEQ,CAAM,EAE5B,MAAO,CAAC,CADRA,CAAAA,EAASA,AAAU,MAAVA,EAt2CY,iBAs2CwBA,CAAK,GAE/C,CAAgB,UAAhB,OAAOR,GAAqB4sD,EAAS,IAAI,CAAC5sD,EAAK,GAC/CA,EAAQ,IAAMA,EAAQ,GAAK,GAAKA,EAAQQ,CAC7C,EAljBmBnB,EAAKmB,EAAM,CACtB,GACFye,EAAO,IAAI,CAAC5f,GAGhB,OAAO4f,CACT,EA27B6C1gB,GAAU6zD,AAtwBvD,SAAkB7zD,CAAM,EACtB,GAAI,CAACgzD,AAwZP,SAAqBvxD,CAAK,EACxB,IAAIqxD,EAAOrxD,GAASA,EAAM,WAAW,CAGrC,OAAOA,IAFK,CAAgB,YAAf,OAAOqxD,GAAsBA,EAAK,SAAS,EAAKlD,CAAU,CAGzE,EA7ZmB5vD,GACf,OAAOwwD,GAAWxwD,GAEpB,IAAI0gB,EAAS,EAAE,CACf,IAAK,IAAI5f,KAAOf,OAAOC,GACjBgwD,EAAe,IAAI,CAAChwD,EAAQc,IAAQA,AAAO,eAAPA,GACtC4f,EAAO,IAAI,CAAC5f,GAGhB,OAAO4f,CACT,EA2vBgE1gB,EAChE,CAyCAL,EAAO,OAAO,CAlNd,SAAiB8B,CAAK,CAAEwxD,CAAK,EAC3B,OAAOsE,AAvsBT,SAASA,EAAY91D,CAAK,CAAEwxD,CAAK,CAAEqD,CAAO,CAAEjE,CAAU,CAAE4B,CAAK,SAC3D,AAAIxyD,IAAUwxD,IAGVxxD,AAAS,MAATA,GAAiBwxD,AAAS,MAATA,GAAkB,CAACQ,GAAahyD,IAAWgyD,GAAaR,EAAK,EAG3EuE,AAiBT,SAAyBx3D,CAAM,CAAEizD,CAAK,CAAEqD,CAAO,CAAEjE,CAAU,CAAEkE,CAAS,CAAEtC,CAAK,EAC3E,IAAIwD,EAAW11D,GAAQ/B,GACnB03D,EAAW31D,GAAQkxD,GACnB0E,EAASF,EAAWlC,EAAW1C,GAAO7yD,GACtC43D,EAASF,EAAWnC,EAAW1C,GAAOI,GAE1C0E,EAASA,GAAUjL,EAAUO,EAAY0K,EACzCC,EAASA,GAAUlL,EAAUO,EAAY2K,EAEzC,IAAIC,EAAWF,GAAU1K,EACrB6K,EAAWF,GAAU3K,EACrB8K,EAAYJ,GAAUC,EAE1B,GAAIG,GAAa3E,GAASpzD,GAAS,CACjC,GAAI,CAACozD,GAASH,GACZ,MAAO,GAETwE,EAAW,GACXI,EAAW,EACb,CACA,GAAIE,GAAa,CAACF,EAEhB,OADA5D,GAAUA,CAAAA,EAAQ,IAAItC,EAAI,EACnB,AAAC8F,GAAYN,GAAan3D,GAC7Bq2D,GAAYr2D,EAAQizD,EAAOqD,EAASjE,EAAYkE,EAAWtC,GAC3D+D,AAgKR,SAAoBh4D,CAAM,CAAEizD,CAAK,CAAEh6B,CAAG,CAAEq9B,CAAO,CAAEjE,CAAU,CAAEkE,CAAS,CAAEtC,CAAK,EAC3E,OAAQh7B,GACN,KAAKw0B,EACH,GAAI,AAACztD,EAAO,UAAU,EAAIizD,EAAM,UAAU,EACrCjzD,EAAO,UAAU,EAAIizD,EAAM,UAAU,CACxC,MAEFjzD,EAASA,EAAO,MAAM,CACtBizD,EAAQA,EAAM,MAAM,AAEtB,MAAKzF,EACH,GAAI,AAACxtD,EAAO,UAAU,EAAIizD,EAAM,UAAU,EACtC,CAACsD,EAAU,IAAIn0D,EAAWpC,GAAS,IAAIoC,EAAW6wD,IACpD,MAEF,MAAO,EAET,MAAKtG,EACL,KAAKC,EACL,KAAKI,EAGH,OAAOiF,GAAG,CAACjyD,EAAQ,CAACizD,EAEtB,MAAKuC,EACH,OAAOx1D,EAAO,IAAI,EAAIizD,EAAM,IAAI,EAAIjzD,EAAO,OAAO,EAAIizD,EAAM,OAAO,AAErE,MAAK9F,EACL,KAAKE,EAIH,OAAOrtD,GAAWizD,EAAQ,EAE5B,MAAKlG,EACH,IAAIkL,EAAU3I,CAEhB,MAAKlC,EACH,IAAIoJ,EAAYF,AAroCK,EAqoCLA,EAGhB,GAFA2B,GAAYA,CAAAA,EAAUxI,CAAS,EAE3BzvD,EAAO,IAAI,EAAIizD,EAAM,IAAI,EAAI,CAACuD,EAChC,MAGF,IAAIxB,EAAUf,EAAM,GAAG,CAACj0D,GACxB,GAAIg1D,EACF,OAAOA,GAAW/B,EAEpBqD,GA/oCuB,EAkpCvBrC,EAAM,GAAG,CAACj0D,EAAQizD,GAClB,IAAIvyC,EAAS21C,GAAY4B,EAAQj4D,GAASi4D,EAAQhF,GAAQqD,EAASjE,EAAYkE,EAAWtC,GAE1F,OADAA,EAAM,MAAS,CAACj0D,GACT0gB,CAET,KAhoCY,kBAioCV,GAAI2wC,GACF,OAAOA,GAAc,IAAI,CAACrxD,IAAWqxD,GAAc,IAAI,CAAC4B,EAE9D,CACA,MAAO,EACT,EA/NmBjzD,EAAQizD,EAAO0E,EAAQrB,EAASjE,EAAYkE,EAAWtC,GAExE,GAAI,CAAEqC,CAAAA,AAj8BmB,EAi8BnBA,CAA6B,EAAI,CACrC,IAAI4B,EAAeL,GAAY7H,EAAe,IAAI,CAAChwD,EAAQ,eACvDm4D,EAAeL,GAAY9H,EAAe,IAAI,CAACiD,EAAO,eAE1D,GAAIiF,GAAgBC,EAAc,CAChC,IAAIC,EAAeF,EAAel4D,EAAO,KAAK,GAAKA,EAC/Cq4D,EAAeF,EAAelF,EAAM,KAAK,GAAKA,EAGlD,OADAgB,GAAUA,CAAAA,EAAQ,IAAItC,EAAI,EACnB4E,EAAU6B,EAAcC,EAAc/B,EAASjE,EAAY4B,EACpE,CACF,OACA,EAAK8D,IAGL9D,GAAUA,CAAAA,EAAQ,IAAItC,EAAI,EACnB2G,AA4NT,SAAsBt4D,CAAM,CAAEizD,CAAK,CAAEqD,CAAO,CAAEjE,CAAU,CAAEkE,CAAS,CAAEtC,CAAK,EACxE,IAAIuC,EAAYF,AA9qCS,EA8qCTA,EACZiC,EAAWtD,GAAWj1D,GACtBw4D,EAAYD,EAAS,MAAM,CAI/B,GAAIC,GAFYC,AADDxD,GAAWhC,GACD,MAAM,EAED,CAACuD,EAC7B,MAAO,GAGT,IADA,IAAIzlD,EAAQynD,EACLznD,KAAS,CACd,IAAIjQ,EAAMy3D,CAAQ,CAACxnD,EAAM,CACzB,GAAI,CAAEylD,CAAAA,EAAY11D,KAAOmyD,EAAQjD,EAAe,IAAI,CAACiD,EAAOnyD,EAAG,EAC7D,MAAO,EAEX,CAEA,IAAIk0D,EAAUf,EAAM,GAAG,CAACj0D,GACxB,GAAIg1D,GAAWf,EAAM,GAAG,CAAChB,GACvB,OAAO+B,GAAW/B,EAEpB,IAAIvyC,EAAS,GACbuzC,EAAM,GAAG,CAACj0D,EAAQizD,GAClBgB,EAAM,GAAG,CAAChB,EAAOjzD,GAGjB,IADA,IAAI04D,EAAWlC,EACR,EAAEzlD,EAAQynD,GAAW,CAE1B,IAAIxG,EAAWhyD,CAAM,CADrBc,EAAMy3D,CAAQ,CAACxnD,EAAM,CACK,CACtB6lD,EAAW3D,CAAK,CAACnyD,EAAI,CAEzB,GAAIuxD,EACF,IAAIwE,EAAWL,EACXnE,EAAWuE,EAAU5E,EAAUlxD,EAAKmyD,EAAOjzD,EAAQi0D,GACnD5B,EAAWL,EAAU4E,EAAU91D,EAAKd,EAAQizD,EAAOgB,GAGzD,GAAI,CAAE4C,CAAAA,AAAar1D,KAAAA,IAAbq1D,EACG7E,IAAa4E,GAAYL,EAAUvE,EAAU4E,EAAUN,EAASjE,EAAY4B,GAC7E4C,CAAO,EACR,CACLn2C,EAAS,GACT,KACF,CACAg4C,GAAaA,CAAAA,EAAW53D,AAAO,eAAPA,CAAmB,CAC7C,CACA,GAAI4f,GAAU,CAACg4C,EAAU,CACvB,IAAIC,EAAU34D,EAAO,WAAW,CAC5B44D,EAAU3F,EAAM,WAAW,CAG3B0F,GAAWC,GACV,gBAAiB54D,GAAU,gBAAiBizD,GAC7C,CAAE,CAAkB,YAAlB,OAAO0F,GAAyBA,aAAmBA,GACnD,AAAkB,YAAlB,OAAOC,GAAyBA,aAAmBA,CAAM,GAC7Dl4C,CAAAA,EAAS,EAAI,CAEjB,CAGA,OAFAuzC,EAAM,MAAS,CAACj0D,GAChBi0D,EAAM,MAAS,CAAChB,GACTvyC,CACT,EA1RsB1gB,EAAQizD,EAAOqD,EAASjE,EAAYkE,EAAWtC,GACrE,EA5DyBxyD,EAAOwxD,EAAOqD,EAASjE,EAAYkF,EAAatD,GAF9DxyD,GAAUA,GAASwxD,GAAUA,EAGxC,EA+rBqBxxD,EAAOwxD,EAC5B,C,iCClmDA,IAAklXj/B,EAAo2lBnjB,EAAE2T,EAAoBhkB,EAA0HwzB,EAA+lHE,EAAEjwB,EAAoBzD,EAA8NwzB,EAA46RC,EAAEhwB,EAAoBzD,EAAoLwzB,EAAqtJ5mB,EAAE9G,EAAoB9F,EAAqGwzB,EAA80NC,EAAoBzzB,EAA0BwzB,EAA0/E1tB,EAAE2tB,EAAoBzzB,EAAkEwzB,EAA+tL7mB,EAAE3M,EAAoByD,EAAyH+vB,EAAy2R/vB,EAAEY,EAAoBmvB,EAAmHxzB,EAA4zHyzB,EAAE7mB,EAAoB5M,EAAkJwzB,EAAk3R5mB,EAAE9G,EAAoB9F,EAA8GwzB,EAA8yHE,EAAoB1zB,EAAqHwzB,EAAu8M7mB,EAAw2H8mB,EAAE7mB,EAAoB5M,EAAuDwzB,EAAkjLE,EAAoB1zB,GAAuIwzB,GAAw/MC,GAAoBzzB,GAAoDwzB,GAAssEnjB,GAAEojB,GAAoBzzB,GAAkFwzB,GAAssK3zB,GAAoBG,GAAo3BwzB,GAAw/cE,GAAoB1zB,GAA6SwzB,GAAwsYC,GAAoBzzB,GAAKwzB,GAAs8DvuB,GAAoBjF,GAA8GwzB,GAA06VY,GAAoBp0B,GAAiCwzB,GAAs/I7mB,GAAoB3M,GAAkCwzB,GAA2oNC,GAAEzzB,GAAoByD,GAAK+vB,GAAlz3K6kC,GAAK,SAAS7kC,EAAExzB,CAAC,CAACyD,CAAC,CAACY,CAAC,EAAE,OAAOrE,GAAIA,CAAAA,EAAEF,SAAS,SAAS,AAAD,EAAG,IAAI2zB,EAAEl0B,OAAO,wBAAwB,CAACS,EAAEyD,GAAG,GAAG,KAAK,IAAIgwB,EAAE,CAAC,IAAI7mB,EAAErN,OAAO,cAAc,CAACS,GAAG,OAAO,OAAO4M,EAAE,KAAK,EAAE4mB,EAAE5mB,EAAEnJ,EAAEY,EAAE,CAAC,GAAG,UAAUovB,EAAE,OAAOA,EAAE,KAAK,CAAC,IAAI3tB,EAAE2tB,EAAE,GAAG,CAAC,OAAO,KAAK,IAAI3tB,EAAEA,EAAE,IAAI,CAACzB,GAAG,KAAK,CAAC,EAAEi0D,GAAa,WAAW,SAASj0D,EAAEmvB,CAAC,CAACxzB,CAAC,EAAE,IAAI,IAAIyD,EAAE,EAAEA,EAAEzD,EAAE,MAAM,CAACyD,IAAI,CAAC,IAAIY,EAAErE,CAAC,CAACyD,EAAE,AAACY,CAAAA,EAAE,UAAU,CAACA,EAAE,UAAU,EAAE,CAAC,EAAEA,EAAE,YAAY,CAAC,CAAC,EAAE,UAAUA,GAAIA,CAAAA,EAAE,QAAQ,CAAC,CAAC,GAAG9E,OAAO,cAAc,CAACi0B,EAAEnvB,EAAE,GAAG,CAACA,EAAE,CAAC,CAAC,OAAO,SAASmvB,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE,OAAOzD,GAAGqE,EAAEmvB,EAAE,SAAS,CAACxzB,GAAGyD,GAAGY,EAAEmvB,EAAE/vB,GAAG+vB,CAAC,CAAC,IAAI,SAAS+kC,GAA2B/kC,CAAC,CAACxzB,CAAC,EAAE,GAAG,CAACwzB,EAAE,MAAM,AAAIglC,eAAe,6DAA6D,OAAM,AAACx4D,GAAG,WAAU,OAAOA,GAAG,YAAY,OAAOA,CAAAA,EAAIA,EAAFwzB,CAAG,CAAC,SAASilC,GAAUjlC,CAAC,CAACxzB,CAAC,EAAE,GAAG,YAAY,OAAOA,GAAG,OAAOA,EAAE,MAAM,AAAIsC,UAAU,2DAA2D,OAAOtC,EAAGwzB,CAAAA,EAAE,SAAS,CAACj0B,OAAO,MAAM,CAACS,GAAGA,EAAE,SAAS,CAAC,CAAC,YAAY,CAAC,MAAMwzB,EAAE,WAAW,CAAC,EAAE,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAGxzB,GAAIT,CAAAA,OAAO,cAAc,CAACA,OAAO,cAAc,CAACi0B,EAAExzB,GAAGwzB,EAAE,SAAS,CAACxzB,CAAAA,CAAE,CAAC,SAASy8B,GAAgBjJ,CAAC,CAACxzB,CAAC,EAAE,GAAG,CAAEwzB,CAAAA,aAAaxzB,CAAAA,EAAG,MAAM,AAAIsC,UAAU,oCAAoC,CAACrC,OAAO,IAAI,CAAC,WAAW,IAAIwD,EAAEmJ,EAAE8rD,SAAS5yD,EAAE7F,OAAOuzB,EAAE3rB,MAAM,SAAS,CAACwI,EAAEmjB,EAAE,KAAK,CAACnvB,EAAEmvB,EAAE,MAAM,CAACC,EAAED,EAAE,IAAI,CAACxzB,EAAE,WAAW,EAAE0zB,EAAE,SAASF,CAAC,EAAE,OAAO,OAAOA,GAAG,OAAOxzB,GAAGwzB,EAAE,IAAI,EAAE7mB,EAAE,SAAS6mB,CAAC,EAAE,MAAM,UAAU,OAAOA,CAAC,EAAExP,EAAE,YAAY2P,EAAE,aAAalsB,EAAE,OAAO7H,EAAE,QAAQ,SAASe,EAAE6yB,CAAC,CAACxzB,CAAC,EAAwH,OAAtHA,EAAEA,GAAG4M,EAAQ+mB,EAAE,IAAI,CAACH,GAAGxzB,EAAE,sBAAsB,CAACwzB,EAAE,KAAK,CAAC,IAAI5zB,EAAE,IAAI,CAAC4zB,GAAGxzB,EAAE,oBAAoB,CAACwzB,GAAGxzB,EAAE,gBAAgB,CAACwzB,EAAW,CAAC,SAASI,EAAEJ,CAAC,EAAE,GAAG,CAAC/vB,EAAE,CAAC,IAAIzD,EAAE,AAACyD,CAAAA,EAAEmJ,EAAE,cAAc,CAAC,kBAAkB,CAAC,KAAI,EAAG,aAAa,CAAC,OAAQ5M,CAAAA,EAAE,IAAI,CAAC4M,EAAE,QAAQ,CAAC,IAAI,CAACnJ,EAAE,IAAI,CAAC,WAAW,CAACzD,EAAE,CAAC,OAAOyD,EAAE,IAAI,CAAC,SAAS,CAAC+vB,EAAE/vB,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS9D,EAAE6zB,CAAC,EAAE,YAAY5mB,EAAE,UAAU,CAAC4mB,IAAI5mB,EAAE,gBAAgB,CAAC,mBAAmB4mB,EAAE,CAAC,SAAS3zB,EAAE2zB,CAAC,CAACxzB,CAAC,EAAE,GAAG,CAACwzB,EAAE,OAAO,IAAI,CAAC,GAAGA,EAAE,IAAI,EAAEA,IAAI1tB,EAAE,OAAO0tB,EAAE,IAAI/vB,EAAEY,EAAEmvB,EAAEC,EAAE,EAAE,GAAG9mB,EAAE6mB,GAAGnvB,EAAE2f,EAAE,IAAI,CAACwP,GAAG5mB,EAAE,cAAc,CAAC4mB,EAAE,KAAK,CAAC,IAAI/rB,EAAE,IAAI,CAAC+rB,GAAGI,EAAEJ,GAAG7yB,EAAE6yB,EAAExzB,QAAQ,GAAG0zB,EAAEF,GAAG,OAAO7zB,EAAE6zB,GAAG,IAAI,CAAC,GAAG,CAACnvB,EAAE,OAAO,IAAI,CAAC,GAAGA,EAAE,QAAQ,EAAEA,IAAIyB,EAAE,IAAI,CAAC,EAAE,CAACzB,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAIZ,EAAE,IAAI,CAAC,MAAM,CAACY,EAAE,MAAM,CAACovB,EAAEhwB,EAAEgwB,IAAI,IAAI,CAACA,EAAE,CAACpvB,CAAC,CAACovB,EAAE,CAAC,OAAO,IAAI,CAAC,SAASvc,EAAEsc,CAAC,CAACxzB,CAAC,EAAE,OAAO,IAAIH,EAAE2zB,EAAExzB,EAAE,CAAC,IAAIgG,EAAEkR,EAAE,EAAE,CAACA,EAAE,SAAS,CAACrX,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK4zB,EAAE,OAAOD,EAAE,MAAM,CAAC,IAAIA,EAAE,GAAG,CAAC,KAAK3zB,CAAC,EAAE,SAASs0B,EAAEX,CAAC,CAACxzB,CAAC,EAAE,IAAI,IAAIyD,EAAE+vB,EAAE,MAAM,CAACnvB,EAAE,EAAEA,EAAEZ,GAAG,CAAC,IAAIzD,EAAE,IAAI,CAACwzB,CAAC,CAACnvB,EAAE,CAACmvB,CAAC,CAACnvB,EAAE,CAACA,EAAEmvB,GAAGnvB,KAAK,CAAC,SAASY,EAAEuuB,CAAC,CAACxzB,CAAC,EAAE,IAAIyD,EAAE+vB,GAAIA,CAAAA,EAAE,OAAO,EAAEA,EAAE,qBAAqB,EAAEA,EAAE,kBAAkB,EAAEA,EAAE,iBAAiB,EAAEA,EAAE,gBAAgB,AAAD,EAAG,MAAM,CAAC,CAAC/vB,GAAGA,EAAE,IAAI,CAAC+vB,EAAExzB,EAAE,CAAC,SAASgU,EAAEhU,CAAC,EAAE,OAAO2M,EAAE3M,GAAGiF,EAAEjF,EAAE,IAAI,CAAC,SAASwzB,CAAC,EAAE,OAAOxzB,EAAE,EAAE,CAACwzB,EAAE,EAAE,SAASA,CAAC,CAACxzB,CAAC,EAAE,OAAOwzB,IAAIxzB,CAAC,CAAC,CAAC,SAASs0B,EAAEd,CAAC,EAAE,OAAOtc,EAAE7G,EAAE,IAAI,CAACmjB,GAAG,MAAM,CAAC,SAASA,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE,OAAOA,EAAE,OAAO,CAAC+vB,KAAKxzB,CAAC,GAAG,CAACT,OAAO,cAAc,CAACyG,EAAE,cAAc,CAAC,MAAMkR,CAAC,GAAGA,EAAE,SAAS,CAAC0c,EAAE1c,EAAE,IAAI,CAAClX,EAAEkX,EAAE,UAAU,CAACwc,EAAExc,EAAE,QAAQ,CAACvK,EAAEuK,EAAE,MAAM,CAAClR,EAAE,MAAM,CAAC,SAASwtB,CAAC,EAAEA,EAAEA,GAAG,CAAC,EAAE,IAAIxzB,EAAEqQ,EAAE,IAAI,CAAClK,WAAW1C,EAAEzD,EAAE,MAAM,CAACqE,EAAE,EAAE,IAAI,IAAIrE,EAAE,MAAM,EAAGwzB,CAAAA,EAAE,IAAI,CAACnvB,EAAE,GAAGA,EAAEZ,EAAEY,IAAI,GAAGrE,CAAC,CAACqE,EAAE,CAAC,IAAI,IAAIovB,KAAKzzB,CAAC,CAACqE,EAAE,CAACrE,CAAC,CAACqE,EAAE,CAAC,cAAc,CAACovB,IAAKD,CAAAA,CAAC,CAACC,EAAE,CAACzzB,CAAC,CAACqE,EAAE,CAACovB,EAAE,AAAD,EAAG,OAAOD,CAAC,EAAEtc,EAAE,MAAM,CAAC,CAAC,MAAM,SAASsc,CAAC,CAACxzB,CAAC,EAAE,IAAI,IAAIyD,EAAE,CAACzD,EAAE,MAAM,CAACqE,EAAEmvB,EAAE,MAAM,CAACC,EAAE,EAAEA,EAAEhwB,EAAEY,IAAIovB,IAAID,CAAC,CAACnvB,EAAE,CAACrE,CAAC,CAACyzB,EAAE,CAAC,OAAOD,EAAE,MAAM,CAACnvB,EAAEmvB,CAAC,EAAE,KAAKW,EAAE,QAAQlvB,EAAE,OAAOqvB,EAAE,QAAQzsB,MAAM,OAAO,CAAC,UAAU,SAAS2rB,CAAC,EAAE,MAAM,CAACnuB,MAAMszD,WAAWnlC,KAAKzsB,SAASysB,EAAE,CAAC,GAAG,IAAIgB,EAAEtd,EAAE,GAAG,CAAC,QAAQud,KAAK,GAAG,GAAG,SAASa,EAAE9B,CAAC,EAAE,OAAOA,CAAC,CAACgB,EAAE,CAAChB,CAAC,CAACgB,EAAE,EAAE,CAAC,CAAC,CAAC,SAASP,EAAET,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE,OAAO6xB,EAAE9B,EAAE,CAACxzB,EAAE,CAACyD,CAAC,CAAC,SAASsC,EAAEytB,CAAC,CAACxzB,CAAC,EAAE,IAAIyD,EAAE6xB,EAAE9B,GAAG,OAAO,KAAK,IAAI/vB,CAAC,CAACzD,EAAE,EAAGyD,CAAAA,CAAC,CAACzD,EAAE,CAACwzB,EAAE,OAAO,CAACA,EAAE,OAAO,CAACxzB,EAAE,CAACkX,EAAEsc,GAAG,IAAI,CAAC,QAAQxzB,EAAC,EAAGyD,CAAC,CAACzD,EAAE,CAACgG,EAAE,MAAM,CAAC,CAAC,KAAK,SAAShG,CAAC,CAACyD,CAAC,EAAE,GAAGkJ,EAAE3M,GAAG,OAAO,KAAK,IAAIyD,EAAEsC,EAAE,IAAI,CAAC,EAAE,CAAC/F,GAAG,IAAI,CAAC,IAAI,CAAC,SAASwzB,CAAC,MAAzNA,EAAExzB,EAAEyD,EAAuN,OAA3N+vB,EAAoOA,EAAlOxzB,EAAoOA,EAAlOyD,EAAoOA,EAA1N6xB,EAAE9B,EAAE,CAACxzB,EAAE,CAACyD,CAAoN,GAAG,IAAI,IAAI+vB,KAAKxzB,EAAE,IAAI,CAAC,IAAI,CAACwzB,EAAExzB,CAAC,CAACwzB,EAAE,EAAE,OAAO,IAAI,EAAE,WAAW,SAASC,CAAC,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,SAASD,CAAC,MAA8GnvB,CAA5F,CAACA,CAAAA,EAAEixB,EAAI9B,EAAC,EAAG,OAAOnvB,CAAC,CAA1BovB,EAA6B,CAACzzB,AAAhBwzB,EAAkB,OAAO,CAAC,OAAOxzB,AAAjCwzB,EAAmC,OAAO,CAAxDC,EAA2D,CAACvc,EAA9Csc,GAAmD,UAAU,CAAC,QAAQn0B,KAAgB,EAAE,CAAC,GAAG,IAAI81B,EAAE,OAAO,SAASN,EAAErB,CAAC,EAAE,OAAO7mB,EAAE6mB,IAAIA,EAAE,KAAK,CAAC2B,EAAE,CAAC,SAASyjC,EAAEplC,CAAC,CAACxzB,CAAC,EAAE,OAAOwzB,EAAE,SAAS,CAACA,EAAE,SAAS,CAAC,QAAQ,CAACxzB,GAAG,AAAIsoC,OAAO,QAAQtoC,EAAE,QAAQ,MAAM,IAAI,CAACwzB,EAAE,SAAS,CAAC,CAAC,SAASe,EAAEf,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE+vB,EAAE,SAAS,CAACA,EAAE,SAAS,CAAC,GAAG,CAACxzB,GAAGyD,EAAE,OAAO,CAAC,IAAIzD,EAAE,MAAOwzB,CAAAA,EAAE,SAAS,EAAE,IAAIxzB,CAAAA,CAAE,CAAC,SAAS80B,EAAEtB,CAAC,CAACxzB,CAAC,EAAEwzB,EAAE,SAAS,CAACA,EAAE,SAAS,CAAC,MAAM,CAACxzB,GAAGwzB,EAAE,SAAS,CAACA,EAAE,SAAS,CAAC,OAAO,CAACxzB,EAAE,GAAG,CAACgG,EAAE,MAAM,CAAC,CAAC,SAAS,SAASwtB,CAAC,EAAE,IAAInvB,EAAEwwB,EAAErB,GAAG,OAAOnvB,EAAE,IAAI,CAAC,IAAI,CAAC,SAASrE,CAAC,EAAE,IAAIyD,EAAE,IAAIzD,EAAE,SAAS,CAAC,IAAIm0B,EAAE9vB,EAAE,SAASmvB,CAAC,EAAEe,EAAEv0B,EAAEwzB,EAAE/vB,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,SAASzD,CAAC,CAACyD,CAAC,EAAE,GAAGzD,EAAE,CAAC,GAAG2M,EAAE3M,GAAG,OAAO,KAAK,IAAIyD,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAACzD,GAAG,IAAI,CAAC,EAAE,CAACA,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,SAASwzB,CAAC,EAAEA,EAAE,YAAY,CAACA,EAAE,YAAY,CAACxzB,EAAEyD,GAAG+vB,CAAC,CAACxzB,EAAE,CAACyD,CAAC,GAAG,IAAI,IAAI+vB,KAAKxzB,EAAE,IAAI,CAAC,IAAI,CAACwzB,EAAExzB,CAAC,CAACwzB,EAAE,EAAE,OAAO,IAAI,CAAC,EAAE,SAAS,SAASA,CAAC,EAAE,IAAIxzB,EAAE,CAAC,EAAEyD,EAAEoxB,EAAErB,GAAG,OAAO/vB,GAAGA,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS+vB,CAAC,EAAE,MAAM,CAAExzB,CAAAA,EAAE44D,EAAEplC,EAAE/vB,CAAC,CAAC,EAAE,EAAE,GAAGzD,CAAC,EAAE,KAAK,SAASA,CAAC,CAACyD,CAAC,EAAE,GAAGkJ,EAAE3M,GAAG,OAAO,KAAK,IAAIyD,EAAE,IAAI,CAAC,EAAE,CAACzD,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAASwzB,CAAC,EAAEA,CAAC,CAACxzB,EAAE,CAACyD,CAAC,GAAG,IAAI,IAAI+vB,KAAKxzB,EAAE,IAAI,CAAC,IAAI,CAACwzB,EAAExzB,CAAC,CAACwzB,EAAE,EAAE,OAAO,IAAI,EAAE,WAAW,SAASxzB,CAAC,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,SAASwzB,CAAC,EAAEA,EAAE,eAAe,CAACA,EAAE,eAAe,CAACxzB,GAAG,OAAOwzB,CAAC,CAACxzB,EAAE,EAAE,EAAE,YAAY,SAASwzB,CAAC,EAAE,GAAG,CAACrtB,UAAU,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI1C,EAAEoxB,EAAErB,GAAG,OAAO/vB,EAAE,IAAI,CAAC,IAAI,CAAC,SAASzD,CAAC,EAAEm0B,EAAE1wB,EAAE,SAAS+vB,CAAC,EAAEsB,EAAE90B,EAAEwzB,EAAE,EAAE,GAAG,IAAI,EAAE,WAAW,SAASxzB,CAAC,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,SAASwzB,CAAC,EAAE,OAAOA,CAAC,CAACxzB,EAAE,EAAE,EAAE,YAAY,SAASwzB,CAAC,CAACxzB,CAAC,EAAE,GAAG,KAAK,IAAIA,EAAE,OAAO,IAAI,CAACA,EAAE,WAAW,cAAc,CAACwzB,GAAG,IAAInvB,EAAEwwB,EAAErB,GAAG,OAAOnvB,EAAE,IAAI,CAAC,IAAI,CAAC,SAASrE,CAAC,EAAE,IAAIyD,EAAE,IAAIzD,EAAE,SAAS,CAAC,IAAIm0B,EAAE9vB,EAAE,SAASmvB,CAAC,EAAEolC,EAAE54D,EAAEwzB,GAAGsB,EAAE90B,EAAEwzB,GAAGe,EAAEv0B,EAAEwzB,EAAE/vB,EAAE,EAAE,GAAG,IAAI,CAAC,GAAGuC,EAAE,MAAM,CAAC,CAAC,IAAI,SAASwtB,CAAC,CAACxzB,CAAC,EAAE,OAAOs0B,EAAEpd,EAAE,KAAK,CAAC,IAAI,CAACA,EAAEsc,EAAExzB,IAAI,EAAE,KAAK,SAASwzB,CAAC,EAAE,OAAOW,EAAE,IAAI,CAACX,GAAG,IAAI,EAAE,GAAG,SAASA,CAAC,EAAE,OAAOtc,EAAE,IAAI,CAAC,GAAG,CAACsc,GAAG,EAAE,OAAO,SAASxzB,CAAC,EAAE,GAAG,CAACA,EAAE,OAAO,IAAI,CAAC,IAAIyD,EAAEiwB,EAAE1zB,GAAGA,EAAEgU,EAAEhU,GAAG,OAAOkX,EAAE7S,EAAE,IAAI,CAAC,IAAI,CAAC,SAASmvB,CAAC,EAAE,OAAO/vB,EAAE+vB,EAAExzB,EAAE,GAAG,EAAE,MAAM,WAAW,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,SAASwzB,CAAC,EAAE,OAAO,KAAK,IAAIA,EAAEnjB,EAAE,IAAI,CAAC,IAAI,EAAEmjB,EAAE,EAAE,IAAI,CAACA,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAACA,EAAE,EAAE,MAAM,SAASA,CAAC,EAAE,IAAIxzB,EAAEwzB,EAAEtc,EAAEsc,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC/vB,EAAE+vB,EAAE,IAAI,CAACtc,EAAElX,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAOqQ,EAAE,IAAI,CAAC5M,GAAG,OAAO,CAACzD,EAAE,EAAE,KAAK,WAAW,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAIo0B,EAAMnhB,EAAEsiB,EAAEL,EAAEG,EAAGE,CAAAA,EAAE,sBAAsBL,EAAE,WAAW,SAAS1B,CAAC,EAAE,OAAOA,EAAE,OAAO,CAAC+B,EAAE,SAAS/B,CAAC,CAACxzB,CAAC,EAAE,OAAOwzB,CAAC,CAAC,IAAIxzB,EAAE,cAAc,cAAc,EAAE,GAAG,OAAO,CAACk1B,EAAE,GAAG,GAAGrvB,EAAGuuB,CAAAA,EAAE,CAAC,EAAsCnhB,EAAE+gB,AAAzBE,AAAXwkC,SAAa,aAAa,CAAC,OAAW,KAAK,CAAC,SAAS14D,CAAC,EAAE,GAAGA,AAAOo0B,CAAC,CAARp0B,EAAEq1B,EAAEr1B,GAAO,CAAC,OAAOo0B,CAAC,CAACp0B,EAAE,CAAC,IAAIwzB,EAAExzB,EAAE,MAAM,CAAC,GAAG,WAAW,GAAGA,EAAE,KAAK,CAAC,GAAgE,OAAOm0B,EAAlE,AAACn0B,CAAAA,EAAE,IAAI,CAAC,SAAS,MAAM,KAAK,IAAI,CAAC,IAAI,CAACwzB,EAAE,KAAKA,CAAAA,EAAG,KAAK,CAAC,KAAgB,SAASA,CAAC,EAAE,GAAGA,KAAKvgB,EAAE,OAAOmhB,CAAC,CAACZ,EAAE,CAACxzB,EAAEo0B,CAAC,CAACp0B,EAAE,CAACwzB,EAAE,CAAC,CAAC,GAAGY,CAAC,CAACp0B,EAAE,GAAG,SAAS+0B,EAAEvB,CAAC,CAACxzB,CAAC,EAAE,OAAOqH,SAASvB,EAAE,gBAAgB,CAAC0tB,CAAC,CAAC,EAAE,CAAC,KAAK,CAACxzB,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS61B,EAAE71B,CAAC,CAACyD,CAAC,CAAC+vB,CAAC,EAAE,IAAInvB,EAAEovB,EAAE1tB,EAAE/F,EAAE,eAAe4M,EAAE6mB,GAAGA,CAAC,CAAChwB,EAAE,AAACmJ,CAAAA,GAAI4mB,CAAAA,EAAGxzB,CAAAA,EAAE,mBAAmB,CAACyD,EAAE+vB,GAAG,GAAInvB,CAAAA,EAAEuI,EAAE,OAAO,CAAC4mB,EAAC,GAAI5mB,EAAE,MAAM,CAACvI,EAAE,EAAC,EAAI8vB,CAAAA,EAAEvnB,EAAE,SAAS4mB,CAAC,EAAExzB,EAAE,mBAAmB,CAACyD,EAAE+vB,EAAE,GAAG5mB,EAAE,EAAE,AAAD,CAAC,CAAE,CAAC,SAASooB,EAAExB,CAAC,CAACxzB,CAAC,EAAE,MAAM,IAAI64D,mBAAmBrlC,GAAG,IAAIqlC,mBAAmB74D,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,SAASq0B,EAAEb,CAAC,EAAE,IAAIxzB,EAAIqE,EAAEovB,EAAED,EAAE,IAAI,CAAC,GAAG,CAACC,EAAE,OAAO,KAAK,OAAOA,EAAE,WAAW,IAAI,IAAI,aAAa,OAAO,GAAIpvB,CAAAA,EAAE,AAAGmvB,EAAG,aAAa,AAAD,EAAG/vB,AAAlB+vB,EAAoB,OAAO,CAACnvB,EAAE,CAAC,KAAK,CAAC,IAAK,KAAI,kBAAkB,OAAOrE,EAAE,EAAE,CAACm0B,EAAEX,EAAE,OAAO,CAAC,SAASA,CAAC,EAAEA,EAAE,QAAQ,EAAExzB,EAAE,IAAI,CAACwzB,EAAE,KAAK,CAAC,GAAGxzB,EAAE,MAAM,CAACA,EAAE,IAAK,KAAI,QAAQ,IAAI,WAAW,OAAOwzB,EAAE,OAAO,CAACA,EAAE,KAAK,CAAC,IAAK,SAAQ,OAAOA,EAAE,KAAK,CAACA,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,SAASoC,EAAE51B,CAAC,CAACyD,CAAC,CAACY,CAAC,EAAE,IAAImvB,EAAE7mB,EAAElJ,EAAG+vB,CAAAA,GAAG,CAAC/vB,EAAE,MAAM,CAAC0wB,EAAEn0B,EAAEwzB,EAAE,SAASA,CAAC,EAAE,OAAOA,EAAE,kBAAkB,CAACnvB,EAAE,aAAa,YAAYZ,EAAE,EAAE,SAAS+vB,CAAC,CAACxzB,CAAC,EAAE,OAAO,SAASwzB,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE,GAAGA,EAAE,CAAC,IAAIY,EAAEmvB,EAAE,UAAU,CAAC,EAAE,CAACA,EAAE,YAAY,CAACxzB,EAAEqE,EAAE,MAAMmvB,EAAE,WAAW,CAACxzB,EAAE,EAAEwzB,EAAE,IAAIxzB,EAAEyD,EAAEA,EAAE,SAAS,CAAC,CAAC,GAAGY,EAAE,GAAG8vB,EAAE1wB,EAAE,SAAS+vB,CAAC,EAAE,OAAOoC,EAAE51B,EAAEwzB,EAAEnvB,EAAE,EAAE,CAAC6S,EAAE,YAAY,CAACrR,EAAEqR,EAAE,SAAS,CAACme,EAAErvB,EAAE,MAAM,CAAC,CAAC,IAAI,SAAShG,CAAC,CAACyD,CAAC,EAAE,GAAGkJ,EAAE3M,GAAG,OAAOA,EAAE6F,EAAE7F,GAAG,EAAEmG,UAAU,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAASqtB,CAAC,EAAE,OAAOA,EAAE,KAAK,CAACxzB,EAAE,CAACyD,CAAC,GAAGqC,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC9F,EAAE,CAAC,IAAI,IAAIwzB,KAAKxzB,EAAE,IAAI,CAAC,GAAG,CAACwzB,EAAExzB,CAAC,CAACwzB,EAAE,EAAE,OAAO,IAAI,CAAC,GAAGW,EAAE,CAAC,QAAQ,SAAS,CAAC,SAASn0B,CAAC,EAAE,IAAIwzB,EAAExzB,EAAE,WAAW,EAAGgG,CAAAA,CAAC,CAACwtB,EAAE,CAAC,WAAW,OAAO,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAACA,EAAE,EAAExtB,CAAC,CAAC,QAAQhG,EAAE,CAAC,WAAW,OAAO,IAAI,CAAC,EAAE,CAAC,SAASA,EAAE,EAAEgG,CAAC,CAAC,QAAQhG,EAAE,CAAC,SAASwzB,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,SAASxzB,EAAE,CAAEwzB,CAAAA,EAAEuB,EAAE,IAAI,CAAC,SAAU,WAAU/0B,EAAE,OAAO,KAAI,GAAI+0B,EAAE,IAAI,CAAC,SAAU,WAAU/0B,EAAE,QAAQ,QAAO,GAAI,EAAE,CAAC,GAAGgG,EAAE,MAAM,CAAC,CAAC,IAAI,SAAShG,CAAC,CAACyD,CAAC,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS+vB,CAAC,EAAE,OAAOqC,EAAErC,EAAExzB,EAAEyD,EAAE,EAAE,EAAE,GAAG,SAASqC,CAAC,CAACrC,CAAC,CAAC4M,CAAC,CAAC2T,CAAC,EAAE,IAAI3f,EAAE,GAAG,CAACsI,EAAE7G,GAAG,CAAC,IAAI,IAAI0tB,KAAK1tB,EAAE,IAAI,CAAC,EAAE,CAAC0tB,EAAE/vB,EAAEqC,CAAC,CAAC0tB,EAAE,EAAE,OAAO,IAAI,CAAC,OAAOE,EAAEjwB,IAAK4M,CAAAA,EAAE5M,EAAEA,EAAE,IAAG,EAAG,UAAUqC,EAAGnG,CAAAA,EAAE0Q,GAAG,IAAI,AAAD,EAAI5M,CAAAA,GAAIY,CAAAA,EAAEgM,EAAEA,EAAE,SAASmjB,CAAC,EAAE,IAAI,IAAIxzB,EAAEwzB,EAAE,MAAM,CAAC,CAACvuB,EAAEjF,EAAEyD,IAAI,CAAC,GAAGzD,IAAI,IAAI,EAAE,OAAOA,EAAE,MAAS,CAAC,EAAEA,EAAEA,EAAE,UAAU,CAACA,GAAGqE,EAAE,IAAI,CAACrE,EAAEwzB,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,SAASA,CAAC,EAAE,IAApnJ/vB,EAA4nJY,EAAEovB,EAAE7mB,EAAEyD,CAAE2T,CAAAA,GAAIpX,CAAAA,EAAE,WAAWyD,EAAE,KAAK,CAAC,IAAI,CAAClK,WAAW0vB,EAAErC,EAAE1tB,EAAE8G,EAAE,GAAOvI,EAAEuI,EAAE,AAAC6mB,CAAAA,EAAE1tB,EAAIytB,EAAE,iBAAzsJ/vB,EAA2uJ,CAAC,EAAluJ6xB,EAA6rJ9B,GAAsB,WAA5sJ,CAAC/vB,EAA2tJ,CAAE,CAArDqC,EAAwD,CAAC2tB,CAAC,CAA1D3tB,EAA6D,EAAE,EAAE,CAAC2tB,CAAC,CAAnE3tB,EAAsE,CAAC,IAAI,CAACzB,GAAGrE,AAAlEwzB,EAAoE,gBAAgB,CAAjG1tB,EAAoGzB,EAAE,EAAC,CAAE,EAAE,IAAI,SAASmvB,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC+vB,EAAExzB,EAAEyD,EAAE,CAAC,EAAE,EAAE,MAAM9D,EAAE,QAAQ,SAAS6zB,CAAC,CAACxzB,CAAC,EAAE,GAAG04D,SAAS,WAAW,CAAC,CAAC,IAAIj1D,EAAEi1D,SAAS,WAAW,CAAC,cAAc,OAAOj1D,EAAE,SAAS,CAAC+vB,EAAE,CAAC,EAAE,CAAC,GAAG/vB,EAAE,IAAI,CAAC,MAAM,CAACA,EAAEzD,GAAG,IAAI,CAAC,IAAI,CAAC,SAASwzB,CAAC,EAAE,OAAOA,EAAE,aAAa,CAAC/vB,EAAE,EAAE,CAAC,CAAC,GAAGuC,EAAE,MAAM,CAAC,CAAC,UAAU,WAAW,IAAIytB,EAAE,GAAG,OAAOU,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,SAASX,CAAC,EAAE,GAAG,CAACA,EAAE,QAAQ,EAAE,aAAaA,EAAE,OAAO,CAAC,CAAC,IAAIxzB,EAAEwzB,EAAE,IAAI,CAAC,OAAOA,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,OAAO,IAAI,QAAQ,IAAI,SAAS,IAAI,SAAS,KAAM,KAAI,kBAAkB,IAAI/vB,EAAE4wB,EAAEb,EAAG,QAAO/vB,GAAG0wB,EAAE1wB,EAAE,SAAS+vB,CAAC,EAAEC,GAAGuB,EAAEh1B,EAAEwzB,EAAE,GAAG,KAAM,SAAQ,IAAInvB,EAAEgwB,EAAEb,EAAG,QAAOnvB,GAAIovB,CAAAA,GAAGuB,EAAEh1B,EAAEqE,EAAC,CAAE,CAAC,CAAC,GAAGovB,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,SAASzzB,CAAC,EAAE,OAAO,KAAK,IAAIA,EAAEq0B,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,SAASb,CAAC,EAAE,OAAOA,EAAE,KAAK,CAACxzB,CAAC,EAAE,CAAC,GAAGgG,EAAE,MAAM,CAAC,CAAC,MAAM,SAASwtB,CAAC,EAAE,OAAOtc,EAAEsc,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,SAASA,CAAC,EAAE,OAAOoC,EAAE,IAAI,CAACpC,GAAG,IAAI,EAAE,SAAS,SAASA,CAAC,EAAE,OAAOoC,EAAE1e,EAAEsc,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,SAASA,CAAC,EAAE,OAAOtc,EAAEsc,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,OAAOtc,EAAE,IAAI,CAAC,GAAG,CAAC,SAASsc,CAAC,EAAE,OAAOA,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,WAAW,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,KAAK,SAASA,CAAC,EAAE,GAAG,KAAK,IAAIA,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAIxzB,EAAEwzB,EAAE,QAAQ,CAACA,CAAC,CAAC,EAAE,CAAC,SAAS,CAACA,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,SAASA,CAAC,EAAE,OAAOA,EAAE,SAAS,CAACxzB,CAAC,EAAE,EAAE,YAAY,SAASwzB,CAAC,EAAE,IAAIC,EAAE,IAAI,CAAC,OAAOvc,EAAEsc,GAAG,IAAI,CAAC,SAASA,CAAC,CAACxzB,CAAC,EAAE,IAAIyD,EAAE+vB,EAAE,UAAU,CAACnvB,EAAEmvB,EAAE,WAAW,CAACC,EAAE,IAAI,CAAC,SAASD,CAAC,EAAE/vB,EAAE,YAAY,CAAC,IAAIzD,EAAEwzB,EAAEA,EAAE,SAAS,CAAC,CAAC,GAAGnvB,EAAE,EAAE,GAAG,IAAI,EAAE,aAAa,SAASmvB,CAAC,EAAE,IAAIC,EAAE,IAAI,CAAC,OAAOvc,EAAEsc,GAAG,IAAI,CAAC,SAASxzB,CAAC,CAACyD,CAAC,EAAE,IAAIY,EAAErE,EAAE,UAAU,CAACyzB,EAAE,IAAI,CAAC,SAASD,CAAC,EAAEnvB,EAAE,YAAY,CAAC,IAAIZ,EAAE+vB,EAAEA,EAAE,SAAS,CAAC,CAAC,GAAGxzB,EAAE,EAAE,GAAG,IAAI,EAAE,QAAQ,SAASwzB,CAAC,EAAE,OAAOoC,EAAE,IAAI,CAACpC,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,SAASA,CAAC,EAAE,OAAOoC,EAAE1e,EAAEsc,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,WAAW,OAAO,IAAI,CAAC,IAAI,CAAC,SAASA,CAAC,EAAE,GAAGA,EAAE,UAAU,CAAC,OAAOA,EAAE,UAAU,CAAC,WAAW,CAACA,EAAE,EAAE,EAAE,KAAK,SAASxzB,CAAC,EAAE,OAAO,KAAK,IAAIA,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAASwzB,CAAC,EAAE,OAAOA,EAAE,WAAW,CAACxzB,CAAC,EAAE,CAAC,GAAG,IAAI21B,EAAE/oB,EAAE,eAAe,CAAC,OAAO5G,EAAE,MAAM,CAAC,CAAC,SAAS,WAAW,IAAIwtB,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAKA,EAAE,UAAU,CAAC,IAAIA,EAAE,SAAS,CAAC,EAAE,OAAO,WAAW,IAAIA,EAAE,IAAI,CAAC,EAAE,CAAC,qBAAqB,GAAG,MAAM,CAAC,IAAIA,EAAE,GAAG,CAAC1tB,EAAE,WAAW,CAAC6vB,EAAE,SAAS,CAAC,KAAKnC,EAAE,IAAI,CAAC1tB,EAAE,WAAW,CAAC6vB,EAAE,UAAU,CAAC,EAAE,aAAa,WAAW,OAAOze,EAAE,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,GAAGlR,EAAE,MAAM,CAAC,CAAC,SAAS,SAAShG,CAAC,EAAE,IAAIyD,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS+vB,CAAC,EAAEC,EAAE,KAAK,CAAChwB,EAAE+vB,EAAE,QAAQ,CAAC,GAAG/vB,EAAE6wB,EAAE7wB,GAAGzD,EAAEyD,EAAE,MAAM,CAAC,SAAS+vB,CAAC,EAAE,OAAOvuB,EAAEuuB,EAAExzB,EAAE,GAAGyD,CAAC,EAAE,QAAQ,SAAS+vB,CAAC,EAAE,MAAM,CAACA,GAAG,IAAI,CAAC,MAAM,CAAC,EAAEtc,IAAI,IAAI,CAAC,EAAE,CAACsc,GAAG,IAAI,CAAC,MAAM,CAACA,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,CAACA,EAAE,EAAE,GAAG,SAASxzB,CAAC,EAAE,GAAG,CAACA,EAAE,MAAM,CAAC,EAAE,IAAIyD,EAAE,CAAC,EAAEY,EAAE2P,EAAEhU,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,SAASwzB,CAAC,EAAE,MAAM,CAAE/vB,CAAAA,EAAEY,EAAEmvB,EAAExzB,EAAC,CAAE,GAAGyD,CAAC,EAAE,KAAK,SAASzD,CAAC,EAAE,GAAG,CAACA,GAAGA,EAAE,QAAQ,CAAC,OAAOkX,EAAElX,GAAG,IAAI,CAAC,GAAG,CAACA,GAAG,MAAM,CAACA,EAAE,MAAM,IAAIyD,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS+vB,CAAC,EAAEC,EAAE,KAAK,CAAChwB,EAAE9C,EAAEX,EAAEwzB,GAAG,GAAGc,EAAE7wB,EAAE,EAAE,IAAI,SAASzD,CAAC,EAAE,IAAIwzB,EAAE7mB,EAAE3M,GAAG,SAASwzB,CAAC,EAAE,OAAO,IAAI7yB,EAAEX,EAAEwzB,GAAG,MAAM,EAAE,SAASA,CAAC,EAAE,OAAOA,EAAE,QAAQ,CAACxzB,EAAE,EAAE,OAAO,IAAI,CAAC,MAAM,CAACwzB,EAAE,EAAE,KAAK,WAAW,OAAOtc,EAAE,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,IAAI,SAASlX,CAAC,EAAE,GAAG,CAACA,EAAE,OAAO,IAAI,CAAC,IAAIyD,EAAEuQ,EAAEhU,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,SAASwzB,CAAC,EAAE,MAAM,CAAC/vB,EAAE+vB,EAAExzB,EAAE,EAAE,EAAE,OAAO,WAAW,IAAIA,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAASwzB,CAAC,EAAEA,GAAGA,EAAE,UAAU,EAAExzB,EAAE,IAAI,CAACwzB,EAAE,UAAU,CAAC,GAAGc,EAAEt0B,EAAE,EAAE,QAAQ,SAASA,CAAC,EAAE,IAAIyD,EAAEY,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAASmvB,CAAC,EAAE,IAAI/vB,EAAE+vB,EAAE/vB,GAAGA,EAAE,UAAU,EAAEA,IAAImJ,EAAE,IAAI,CAAC,UAAU,EAAEnJ,EAAEA,EAAE,UAAU,CAAC,AAAC,EAACzD,GAAGA,GAAGiF,EAAExB,EAAEzD,EAAC,GAAIqE,EAAE,IAAI,CAACZ,EAAE,GAAG6wB,EAAEjwB,EAAE,EAAE,KAAK,WAAW,OAAO6S,EAAE,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,EAAE,SAAS,SAASsc,CAAC,EAAE,IAAIxzB,EAAE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAACwzB,GAAG/vB,EAAE,IAAI,CAAC,EAAE,CAAC,OAAOzD,EAAE,MAAM,CAAC,SAASwzB,CAAC,EAAE,OAAOA,IAAI/vB,CAAC,EAAE,CAAC,GAAGyT,CAAC,IAAI,IAAI4hD,GAAU,WAAW,SAASrlC,EAAED,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAEg5B,GAAgB,IAAI,CAAChJ,GAAGzzB,aAAa+4D,SAAS9kD,QAAQ,KAAK,CAAC9R,MAAMnC,EAAE,4BAA4B,IAAIqE,EAAEmvB,EAAE,WAAW,CAACxzB,EAAGqE,CAAAA,GAAGA,EAAE,OAAO,GAAG,IAAI,CAAC,EAAE,CAACrE,EAAE,IAAI,CAAC,GAAG,CAACg5D,KAAKh5D,EAAE,CAAC,OAAOs4D,GAAa7kC,EAAE,KAAK,CAAC,CAAC,IAAI,OAAO,MAAM,SAASD,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE,IAAIY,EAAE,KAAK,GAAGrE,aAAa+4D,QAAQ10D,EAAE,IAAImvB,EAAExzB,EAAEyD,QAAQ,GAAGzD,GAAIA,CAAAA,EAAE,MAAM,EAAEA,EAAE,IAAI,EAAEA,aAAai5D,QAAO,EAAG,CAAC,IAAI,IAAIxlC,EAAE,EAAE,CAAC7mB,EAAE,EAAEA,EAAE5M,EAAE,MAAM,CAAC4M,IAAI6mB,EAAE,IAAI,CAAC,IAAID,EAAExzB,CAAC,CAAC4M,EAAE,CAACnJ,IAAIY,EAAEovB,CAAC,CAAC,OAAOpvB,CAAC,CAAC,EAAE,EAAEovB,CAAC,GAAI,AAAaD,EAAHA,EAAoDvzB,QAA/C,OAAO,CAACq1B,EAAE,CAAC,EAAE9B,EAAE,CAAC,CAAC,CAAC,EAAE8B,EAAE,YAAY,CAAC,CAAC,CAAC9B,EAAE,MAAM,CAAU,YAAY,OAAO0lC,QAAQA,OAAO,GAAG,CAACA,OAAO,IAAI,EAAE,CAAC,WAAW,OAAO5jC,CAAC,GAAG,AAA6Bl2B,EAAQ,QAAQ,EAAG,CAA4B,CAACD,EAAO,QAAQ,EAAEA,EAAO,OAAO,EAAGC,CAAAA,EAAQD,EAAO,OAAO,CAACm2B,CAAAA,EAAGl2B,EAAA,OAAe,CAACk2B,CAAAA,EAAGA,EAAE,OAAO,CAAC,QAAQA,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,EAAE,EAAEA,EAAE,UAAU,CAAC,CAAC,EAAEA,EAAE,OAAO,CAAC,CAAC,CAA+bojC,CAAAA,SAAS,gBAAgB,CAAC,UAAlc,SAASllC,CAAC,EAAE8B,EAAE,OAAO,CAAC,CAAC,EAAE9B,EAAE,KAAK,GAAG8B,EAAE,IAAI,CAAC,GAAG,EAAE9B,EAAE,KAAK,GAAG8B,EAAE,IAAI,CAAC,UAAU,EAAE9B,EAAE,KAAK,GAAG8B,EAAE,IAAI,CAAC,QAAQ,EAAGA,CAAAA,EAAE,UAAU,CAAC,CAAC,EAAE,EAAqW,CAAC,GAAGojC,SAAS,gBAAgB,CAAC,QAAlX,SAASllC,CAAC,EAAE8B,EAAE,OAAO,CAAC,CAAC,EAAE9B,EAAE,KAAK,GAAG8B,EAAE,IAAI,CAAC,GAAG,EAAE9B,EAAE,KAAK,GAAG8B,EAAE,IAAI,CAAC,UAAU,EAAE9B,EAAE,KAAK,GAAG8B,EAAE,IAAI,CAAC,QAAQ,EAAGA,CAAAA,EAAE,UAAU,CAAC,CAAC,EAAE,EAAiR,CAAC,GAAGojC,SAAS,gBAAgB,CAAC,QAA9R,SAASllC,CAAC,EAAE8B,EAAE,OAAO,EAAEojC,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,EAA+O,CAAC,GAAGA,SAAS,gBAAgB,CAAC,OAA7P,SAASllC,CAAC,EAAEklC,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,EAAoN,CAAC,GAAGpjC,EAAE,uBAAuB,CAAC,SAASjxB,CAAC,CAACovB,CAAC,CAAC7mB,CAAC,EAAEusD,OAAO,EAAE,CAAC1lC,EAAE,CAAC,SAASzzB,CAAC,EAAE,GAAGqE,EAAE,SAAS,CAACrE,EAAE,CAAC,CAAC,IAAIyD,EAAEoE,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC1B,UAAU,GAAG,GAAG,QAAQnG,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,IAAIwzB,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC5mB,EAAE,CAAC,OAAO4mB,CAAC,CAACxzB,EAAE,CAAC,KAAK,CAACwzB,EAAE/vB,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI+vB,EAAE,IAAI,CAAC5mB,EAAE,CAAC4mB,CAAC,CAACxzB,EAAE,CAAC,KAAK,CAACwzB,EAAE/vB,EAAE,EAAE,CAAC,GAAG,UAAU,OAAOzD,GAAG,CAACA,EAAE,OAAOqE,EAAE,IAAI,CAAC,IAAI,CAACrE,GAAG,IAAI,CAACm5D,OAAO,KAAK,CAAC,UAAUn5D,EAAE,6BAA6ByzB,EAAE,CAAC,EAAE6B,EAAE,QAAQ,CAAC,SAAS9B,CAAC,EAAE,IAAIxzB,EAAEwzB,GAAGklC,SAAS,IAAI,CAACj1D,EAAE,CAAC,aAAazD,EAAE,gBAAgB,CAAC,mCAAmC,SAASA,EAAE,gBAAgB,CAAC,+BAA+B,MAAMA,EAAE,gBAAgB,CAAC,4BAA4B,YAAYA,EAAE,gBAAgB,CAAC,kCAAkC,WAAWA,EAAE,gBAAgB,CAAC,iCAAiC,SAASA,EAAE,gBAAgB,CAAC,uCAAuC,YAAYA,EAAE,gBAAgB,CAAC,oCAAoC,MAAMA,EAAE,gBAAgB,CAAC,4BAA4B,SAASA,EAAE,gBAAgB,CAAC,+BAA+B,QAAQA,EAAE,gBAAgB,CAAC,8BAA8B,UAAUA,EAAE,gBAAgB,CAAC,gCAAgC,WAAWA,EAAE,gBAAgB,CAAC,4BAA4B,QAAQA,EAAE,gBAAgB,CAAC,8BAA8B,KAAKA,EAAE,gBAAgB,CAAC,2BAA2B,UAAUA,EAAE,gBAAgB,CAAC,iCAAiC,WAAWA,EAAE,gBAAgB,CAAC,iCAAiC,QAAQA,EAAE,gBAAgB,CAAC,iCAAiC,qBAAqBA,EAAE,gBAAgB,CAAC,sCAAsC,EAAE,IAAI,IAAIqE,KAAKZ,EAAG6xB,CAAC,CAACjxB,EAAE,CAAC,IAAI,CAACZ,CAAC,CAACY,EAAE,CAAE,EAAEixB,EAAE,oBAAoB,CAAC,SAAS9B,CAAC,EAAE,MAAM,AAAC,CAACA,CAAAA,EAAE,IAAI,CAAC,YAAY,EAAC,EAAIA,CAAAA,EAAE,IAAI,CAAC,OAAO,EAAC,EAAIA,CAAAA,EAAE,IAAI,CAAC,UAAU,EAAC,CAAC,EAAG,OAAO,CAAC,MAAM,GAAG,EAAE8B,EAAE,IAAI,CAAC,WAAW,SAAS9B,IAAI,OAAO/uB,KAAK,KAAK,CAAC,MAAO,GAAEA,KAAK,MAAM,EAAC,GAAI,QAAQ,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,OAAO,WAAW,OAAO+uB,IAAIA,IAAI,IAAIA,IAAI,IAAIA,IAAI,IAAIA,IAAI,IAAIA,IAAIA,IAAIA,GAAG,CAAC,IAAI8B,EAAE,UAAU,CAAC,SAAS9B,CAAC,EAAE,OAAOA,EAAE,OAAO,CAAC,uBAAuB,OAAO,EAAE8B,EAAE,sBAAsB,CAAC,SAAS9B,CAAC,EAAE,IAAIxzB,EAAE44D,EAAEplC,GAAG/vB,EAAEzD,EAAE,GAAG,CAACA,EAAE,OAAO,IAAIqE,EAAE,CAAC,EAAE,OAAOZ,EAAE,IAAI,CAAC,WAAW,GAAG,UAAUm1D,EAAE,IAAI,EAAE,GAAG,CAAC,YAAY,OAAM,AAAEv0D,EAAE,CAAC,EAAL,EAAO,GAAGA,CAAC,EAAEixB,EAAE,oBAAoB,CAAC,SAAS9B,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE,IAAIY,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,EAAEovB,EAAED,EAAE,qBAAqB,GAAG5mB,EAAE4mB,IAAIklC,SAAS,IAAI,CAACj0D,KAAK,GAAG,CAACgvB,EAAE,MAAM,CAACxzB,OAAO,WAAW,EAAEwzB,EAAE,MAAM,CAAC3tB,EAAE0tB,EAAE,UAAU,CAACnjB,EAAEmjB,EAAE,SAAS,CAACxP,EAAEhkB,EAAE,IAAI,CAAC8F,EAAE4tB,EAAE1zB,EAAE,GAAG,CAACqQ,EAAE,MAAM,AAAC2T,CAAAA,EAAEyP,EAAE,IAAI,CAAChwB,GAAGugB,EAAEvgB,CAAAA,GAAKY,CAAAA,EAAE,IAAI,CAAC,CAAC,GAAG,AAAC2f,CAAAA,EAAEhkB,EAAE,KAAK,CAACyzB,EAAE,KAAK,CAAChwB,GAAGugB,EAAEhkB,EAAE,KAAK,CAACC,OAAO,UAAU,CAACwD,CAAAA,GAAKY,CAAAA,EAAE,KAAK,CAAC,CAAC,GAAG,AAACqvB,CAAAA,EAAED,EAAE,GAAG,CAAChwB,GAAGiwB,EAAEjwB,CAAAA,GAAKY,CAAAA,EAAE,GAAG,CAAC,CAAC,GAAG,AAACqvB,CAAAA,EAAE1zB,EAAE,MAAM,CAAC4M,EAAEnJ,GAAGiwB,EAAE1zB,EAAE,MAAM,CAACC,OAAO,WAAW,CAACwD,CAAAA,GAAKY,CAAAA,EAAE,MAAM,CAAC,CAAC,GAAGA,CAAC,EAAEixB,EAAE,uBAAuB,CAAC,SAAS9B,CAAC,CAACxzB,CAAC,CAACyD,CAAC,CAACY,CAAC,EAAE,IAAIovB,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,WAAW,KAAK,aAAa,KAAK,cAAc,KAAK,YAAY,IAAI,EAAE7mB,EAAE,YAAYwsD,iBAAiBp5D,GAAG,QAAQ,CAAC8F,EAAE9F,EAAE,qBAAqB,GAAGqQ,EAAE5L,KAAK,GAAG,CAACqB,EAAE,MAAM,CAAC7F,OAAO,WAAW,EAAE+jB,EAAEvf,KAAK,GAAG,CAACqB,EAAE,KAAK,CAAC7F,OAAO,UAAU,EAAEyzB,EAAEF,EAAE,qBAAqB,GAAG7mB,EAAE3M,EAAE,UAAU,CAAC2zB,EAAE3zB,EAAE,SAAS,CAACyH,EAAEhE,EAAE,IAAI,CAACkJ,EAAE/M,EAAE6D,EAAE,GAAG,CAACkwB,EAAEhzB,EAAE8C,EAAE,GAAG,CAACiwB,EAAE,MAAM,CAACC,EAAE,OAAOF,EAAE,YAAY,CAAC7mB,EAAE3M,OAAO,UAAU,CAAEyzB,CAAAA,EAAE,IAAI,CAACjwB,EAAE,KAAK,AAAD,EAAGugB,EAAGvc,CAAAA,EAAEhE,EAAE,KAAK,AAAD,EAAGgwB,EAAE,YAAY,CAAC,GAAIA,CAAAA,EAAE,IAAI,CAAC,CAAC,GAAGA,EAAE,WAAW,CAAC7mB,EAAE8mB,EAAE,KAAK,CAACjwB,EAAE,KAAK,CAACgE,EAAEhE,EAAE,KAAK,CAACiwB,EAAE,KAAK,CAACD,EAAE,WAAW,CAAC,GAAIA,CAAAA,EAAE,KAAK,CAAC,CAAC,GAAGA,EAAE,aAAa,CAAC7mB,EAAE3M,OAAO,WAAW,CAAEyzB,CAAAA,EAAE,GAAG,CAACjwB,EAAE,MAAM,CAACY,CAAAA,EAAGgM,EAAGzQ,CAAAA,EAAE6D,EAAE,MAAM,CAACY,CAAAA,EAAGovB,EAAE,aAAa,CAAC,GAAIA,CAAAA,EAAE,GAAG,CAAC,CAAC,GAAGA,EAAE,UAAU,CAAC7mB,EAAE8mB,EAAE,MAAM,CAAEjwB,CAAAA,EAAE,MAAM,CAACY,CAAAA,EAAG1D,EAAG8C,CAAAA,EAAE,MAAM,CAACY,CAAAA,EAAGovB,EAAE,UAAU,CAAC,GAAIA,CAAAA,EAAE,MAAM,CAAC,CAAC,GAAGA,CAAC,EAAE6B,EAAE,iBAAiB,CAAC,SAAS9B,CAAC,EAAE,OAAO,MAAMA,EAAE,KAAKA,IAAIklC,SAAS,IAAI,EAAE,YAAYU,iBAAiB5lC,GAAG,QAAQ,CAACA,EAAE8B,EAAE,iBAAiB,CAAC9B,EAAE,aAAa,CAAC,EAAE8B,EAAE,gBAAgB,CAAC,SAAS9B,CAAC,EAAE,IAAIxzB,EAAEwzB,EAAE,YAAY,CAAC,eAAe,OAAOxzB,GAAIA,CAAAA,EAAE,AAACA,CAAAA,EAAEwzB,EAAE,YAAY,CAAC,OAAM,EAAGxzB,EAAE,KAAK,CAAC,GAAG,EAAC,EAAGA,CAAC,EAAEs1B,EAAE,oBAAoB,CAAC,WAAW,OAAOr1B,OAAO,WAAW,EAAEy4D,SAAS,eAAe,CAAC,SAAS,EAAEA,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC,EAAEpjC,EAAE,qBAAqB,CAAC,WAAW,OAAOr1B,OAAO,WAAW,EAAEy4D,SAAS,eAAe,CAAC,UAAU,EAAEA,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,IAAIW,GAAQ5kC,KAAK,GAAG,EAAE,WAAW,MAAM,AAAC,KAAIA,IAAG,EAAG,OAAO,EAAE,CAAEa,CAAAA,EAAE,QAAQ,CAAC,SAAS7xB,CAAC,CAACY,CAAC,CAACovB,CAAC,EAAE,IAAI7mB,EAAE,KAAK,EAAE9G,EAAE,KAAK,EAAEuK,EAAE,KAAK,EAAE2T,EAAE,KAAK0P,EAAE,CAAED,CAAAA,GAAIA,CAAAA,EAAE,CAAC,GAAG,IAAI9mB,EAAE,WAAW+mB,EAAE,CAAC,IAAID,EAAE,OAAO,CAAC,EAAE4lC,KAAUr1C,EAAE,KAAK3T,EAAE5M,EAAE,KAAK,CAACmJ,EAAE9G,GAAG8G,EAAE9G,EAAE,IAAI,EAAE,OAAO,WAAW,IAAI0tB,EAAE6lC,IAAU3lC,CAAAA,GAAG,CAAC,IAAID,EAAE,OAAO,EAAGC,CAAAA,EAAEF,CAAAA,EAAG,IAAIxzB,EAAEqE,EAAGmvB,CAAAA,EAAEE,CAAAA,EAAG,OAAO9mB,EAAE,IAAI,CAAC9G,EAAEK,UAAUnG,GAAG,EAAG6L,CAAAA,aAAamY,GAAGA,EAAE,KAAK0P,EAAEF,EAAEnjB,EAAE5M,EAAE,KAAK,CAACmJ,EAAE9G,GAAG8G,EAAE9G,EAAE,IAAG,EAAGke,GAAG,CAAC,IAAIyP,EAAE,QAAQ,EAAGzP,CAAAA,EAAEpY,WAAWe,EAAE3M,EAAC,EAAGqQ,CAAC,CAAC,EAAE,IAAIipD,GAAQ,CAAC,MAAM,CAAC,CAAC,CAAEA,CAAAA,GAAQ,cAAc,CAAC,YAAY,OAAO/5D,OAAO,gBAAgB,CAACA,OAAO,cAAc,CAAC,SAASi0B,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE,GAAGA,EAAE,GAAG,EAAEA,EAAE,GAAG,CAAC,MAAM,AAAInB,UAAU,4CAA6CkxB,CAAAA,GAAG3rB,MAAM,SAAS,EAAE2rB,GAAGj0B,OAAO,SAAS,EAAGi0B,CAAAA,CAAC,CAACxzB,EAAE,CAACyD,EAAE,KAAK,AAAD,CAAE,EAAE61D,GAAQ,SAAS,CAAC,SAAS9lC,CAAC,EAAE,MAAM,aAAa,OAAOvzB,QAAQA,SAASuzB,EAAEA,EAAE,SAAoB,GAAM,EAAE,MAAM,GAAM,CAAC,GAAM,CAACA,CAAC,EAAE8lC,GAAQ,MAAM,CAACA,GAAQ,SAAS,CAAC,IAAI,EAAEA,GAAQ,aAAa,CAAC,iBAAiBA,GAAQ,UAAU,CAAC,WAAWA,GAAQ,UAAU,CAAC,WAAW,EAAEA,GAAQ,MAAM,CAAC,MAAM,EAAGA,CAAAA,GAAQ,MAAM,CAAC,MAAM,CAACA,GAAQ,MAAM,AAAD,CAAE,EAAEA,GAAQ,cAAc,CAAC,EAAEA,GAAQ,MAAM,CAAC,SAAS9lC,CAAC,EAAE,OAAO8lC,GAAQ,aAAa,CAAE9lC,CAAAA,GAAG,EAAC,EAAG8lC,GAAQ,cAAc,EAAE,EAAEA,GAAQ,kBAAkB,CAAC,WAAWA,GAAQ,UAAU,GAAG,IAAI9lC,EAAE8lC,GAAQ,MAAM,CAAC,MAAM,CAAC,QAAQ,AAAC9lC,CAAAA,GAAIA,CAAAA,EAAE8lC,GAAQ,MAAM,CAAC,MAAM,CAAC,QAAQ,CAACA,GAAQ,MAAM,CAAC,MAAM,CAAC,WAAU,EAAG,YAAY,OAAOzxD,MAAM,SAAS,CAAC2rB,EAAE,EAAE8lC,GAAQ,cAAc,CAACzxD,MAAM,SAAS,CAAC2rB,EAAE,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,WAAW,OAAO8lC,GAAQ,aAAa,CAAC,IAAI,CAAC,CAAC,GAAGA,GAAQ,kBAAkB,CAAC,WAAW,CAAC,EAAEA,GAAQ,aAAa,CAAC,SAAS9lC,CAAC,EAAE,IAAIxzB,EAAE,EAAE,OAAOs5D,GAAQ,iBAAiB,CAAC,WAAW,OAAOt5D,EAAEwzB,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,MAAMA,CAAC,CAACxzB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAEs5D,GAAQ,iBAAiB,CAAC,SAAS9lC,CAAC,EAAE,OAAO8lC,GAAQ,kBAAkB,GAAG,AAAC9lC,CAAAA,EAAE,CAAC,KAAKA,CAAC,EAAE,CAAC8lC,GAAQ,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,OAAO,IAAI,EAAE9lC,CAAC,EAAE8lC,GAAQ,KAAK,CAACA,GAAQ,KAAK,EAAE,CAAC,EAAEA,GAAQ,iBAAiB,CAAC,SAASt5D,CAAC,CAACyD,CAAC,EAAE61D,GAAQ,kBAAkB,GAAGt5D,aAAa0E,QAAS1E,CAAAA,GAAG,EAAC,EAAG,IAAIqE,EAAE,EAAEovB,EAAE,CAAC,KAAK,WAAW,GAAGpvB,EAAErE,EAAE,MAAM,CAAC,CAAC,IAAIwzB,EAAEnvB,IAAI,MAAM,CAAC,MAAMZ,EAAE+vB,EAAExzB,CAAC,CAACwzB,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAOC,EAAE,IAAI,CAAC,WAAW,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC,CAAC,EAAEA,EAAE,IAAI,EAAE,CAAC,EAAE,OAAOA,CAAC,CAACjwB,OAAO,QAAQ,CAAC,CAAC,WAAW,OAAOiwB,CAAC,EAAEA,CAAC,EAAE6lC,GAAQ,QAAQ,CAAC,SAAS9lC,CAAC,CAACxzB,CAAC,CAACyD,CAAC,CAACY,CAAC,EAAE,GAAGrE,EAAE,CAAC,IAAIyD,EAAE61D,GAAQ,MAAM,CAAC9lC,EAAEA,EAAE,KAAK,CAAC,KAAKnvB,EAAE,EAAEA,EAAEmvB,EAAE,MAAM,CAAC,EAAEnvB,IAAI,CAAC,IAAIovB,EAAED,CAAC,CAACnvB,EAAE,AAACovB,CAAAA,KAAKhwB,GAAIA,CAAAA,CAAC,CAACgwB,EAAE,CAAC,CAAC,GAAGhwB,EAAEA,CAAC,CAACgwB,EAAE,CAAC,AAACzzB,CAAAA,EAAEA,EAAEqE,EAAEZ,CAAC,CAAC+vB,EAAEA,CAAC,CAACA,EAAE,MAAM,CAAC,EAAE,CAAC,IAAInvB,GAAG,MAAMrE,GAAGs5D,GAAQ,cAAc,CAAC71D,EAAE+vB,EAAE,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,EAAE,MAAMxzB,CAAC,EAAE,CAAC,EAAEs5D,GAAQ,QAAQ,CAAC,uBAAuB,SAAS9lC,CAAC,EAAE,OAAOA,GAAG,WAAW,OAAO8lC,GAAQ,iBAAiB,CAAC,IAAI,CAAC,SAAS9lC,CAAC,EAAE,OAAOA,CAAC,EAAE,CAAC,EAAE,WAAW,OAAO,IAAI+lC,GAAa,IAAI,AAACjkC,CAAAA,EAAE,KAAK,CAAC,WAAW,SAAS7B,EAAED,CAAC,EAAE,GAAG,CAACe,EAAE,GAAG,CAACf,GAAG,GAAG,CAAC,OAAOklC,SAAS,gBAAgB,CAACllC,EAAE,CAAC,MAAMA,EAAE,CAAC,CAAC,CAAC,SAASvuB,EAAEuuB,CAAC,CAACxzB,CAAC,EAAE,IAAI,IAAIyD,EAAE+vB,EAAE,MAAM,CAACnvB,EAAE,GAAG8B,UAAU,MAAM,CAACnG,EAAE,KAAK,EAAEyzB,EAAE,EAAE,CAAC7mB,EAAE,EAAEA,EAAEnJ,EAAEmJ,IAAI,GAAGA,KAAK4mB,EAAE,CAAC,IAAI1tB,EAAE0tB,CAAC,CAAC5mB,EAAE,AAAC5M,CAAAA,EAAE,IAAI,CAACqE,EAAEyB,EAAE8G,EAAE4mB,IAAIC,EAAE,IAAI,CAAC3tB,EAAE,CAAC,OAAO2tB,CAAC,CAAC,SAAS9mB,EAAE6mB,CAAC,EAAE,OAAOA,EAAE,MAAM,CAAC,SAASA,CAAC,CAACxzB,CAAC,EAAE,OAAOwzB,EAAE,MAAM,CAACe,EAAE,GAAG,CAACv0B,GAAG2M,EAAE3M,GAAGA,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS4M,EAAE4mB,CAAC,EAAE,OAAOe,EAAE,GAAG,CAACf,GAAGA,EAAGe,CAAAA,EAAE,GAAG,CAACf,IAAKA,CAAAA,EAAEC,EAAED,IAAIA,CAAAA,EAAGA,aAAaylC,UAAUzlC,aAAagmC,eAAe,EAAE,CAAC,KAAK,CAAC,IAAI,CAAChmC,GAAG,CAACA,EAAE,AAAD,CAAE,CAAC,SAAS1tB,EAAE0tB,CAAC,CAACxzB,CAAC,EAAE,OAAOwzB,EAAE,IAAI,CAAC,SAASA,CAAC,EAAE,OAAOA,IAAIxzB,CAAC,EAAE,CAAC,SAASqQ,EAAEmjB,CAAC,EAAE,IAAIxzB,EAAEyD,EAAE,CAAC,EAAE,IAAIzD,KAAKwzB,EAAE/vB,CAAC,CAACzD,EAAE,CAACwzB,CAAC,CAACxzB,EAAE,CAAC,OAAOyD,CAAC,CAAC,SAASkwB,EAAEH,CAAC,CAACxzB,CAAC,EAAE,IAAIyD,EAAEY,EAAEgM,EAAEmjB,GAAG,IAAI/vB,KAAK+vB,EAAEnvB,CAAC,CAACZ,EAAE,CAACzD,EAAE,cAAc,CAACyD,GAAGzD,CAAC,CAACyD,EAAE,CAAC+vB,CAAC,CAAC/vB,EAAE,CAAC,OAAOY,CAAC,CAAC,SAASoD,EAAE+rB,CAAC,CAACxzB,CAAC,EAAE,IAAIyD,EAAEY,EAAEgM,EAAEmjB,GAAG,IAAI/vB,KAAKzD,EAAEqE,CAAC,CAACZ,EAAE,CAAC8wB,EAAE,GAAG,CAACf,CAAC,CAAC/vB,EAAE,EAAEzD,CAAC,CAACyD,EAAE,CAAC+vB,CAAC,CAAC/vB,EAAE,CAAC,OAAOY,CAAC,CAAC,SAAS2f,EAAEwP,CAAC,EAAE,GAAGA,EAAE,sFAAsF,IAAI,CAACA,GAAG,OAAOA,CAAC,CAAC,EAAE,CAAC,SAASE,EAAEF,CAAC,CAACxzB,CAAC,EAAE,OAAOu0B,EAAE,GAAG,CAACf,GAAGA,EAAExzB,EAAE,MAAM,CAACA,EAAE,EAAE,CAACA,EAAE,KAAK,EAAEwzB,CAAC,CAAC,SAASxf,EAAEwf,CAAC,CAACxzB,CAAC,EAAE,GAAGA,KAAKwzB,EAAE,KAAK,CAAC,OAAO4lC,iBAAiB5lC,GAAG,gBAAgB,CAACxzB,EAAE,OAAO,CAAC,kBAAkB,SAAS,WAAW,KAAK,GAAG,CAAC,SAASJ,EAAE4zB,CAAC,CAACxzB,CAAC,EAAE,OAAOu0B,EAAE,GAAG,CAACf,IAAI1tB,EAAE8yD,EAAE54D,GAAG,YAAYu0B,EAAE,GAAG,CAACf,IAAKA,CAAAA,EAAE,YAAY,CAACxzB,IAAIu0B,EAAE,GAAG,CAACf,IAAIA,CAAC,CAACxzB,EAAE,AAAD,EAAG,YAAYu0B,EAAE,GAAG,CAACf,IAAI,cAAcxzB,GAAGgU,EAAEwf,EAAExzB,GAAG,MAAM,MAAMwzB,CAAC,CAACxzB,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC,SAASW,EAAE6yB,CAAC,CAACxzB,CAAC,EAAE,OAAOJ,EAAE4zB,EAAExzB,IAAI,IAAI,YAAY,OAAO,SAASwzB,CAAC,CAAC/vB,CAAC,EAAE,IAAMY,EAAE,GAAG,AAAGZ,EAAG,OAAO,CAAC,cAAc,gBAAzBA,EAA2C,KAAK,GAAGzD,AAAnDyD,EAAqD,OAAO,CAAC,WAAW,GAAGzD,AAA3EyD,EAA6E,OAAO,CAAC,QAAQ,MAAM,KAAK,EAAEY,EAAE,GAAGZ,EAAE,OAAO,CAAC,SAAS,EAAE,EAAEY,EAAE,GAAG,CAAEmvB,CAAAA,EAAEA,EAAE,KAAK,CAAC,SAAS,AAAD,EAAG,OAAOnvB,EAAE,IAAI,IAAIovB,EAAE,EAAE,CAAC7mB,EAAE,EAAE,CAAC9G,EAAE,EAAE,CAACuK,EAAE,kBAAkBojB,EAAEpjB,EAAE,IAAI,CAACmjB,IAAI5mB,EAAE,IAAI,CAAC6mB,CAAC,CAAC,EAAE,EAAE3tB,EAAE,IAAI,CAAC2tB,CAAC,CAAC,EAAE,EAAE,MAAM,AAACD,CAAAA,EAAEvuB,EAAEa,EAAE,SAAS0tB,CAAC,CAACxzB,CAAC,EAAE,OAAO4M,CAAC,CAAC5M,EAAE,GAAGyD,CAAC,EAAC,EAAG,MAAM,CAAC+vB,CAAC,CAAC,EAAE,CAACnvB,CAAC,EAAEmvB,EAAExzB,EAAG,KAAI,MAAM,OAAOgU,EAAEwf,EAAExzB,EAAG,KAAI,YAAY,OAAOwzB,EAAE,YAAY,CAACxzB,EAAE,CAAC,OAAOwzB,CAAC,CAACxzB,EAAE,EAAE,CAAC,CAAC,SAAS4zB,EAAEJ,CAAC,CAACxzB,CAAC,EAAE,IAAIyD,EAAE,gBAAgB,IAAI,CAAC+vB,GAAG,GAAG,CAAC/vB,EAAE,OAAO+vB,EAAE,IAAInvB,EAAE2f,EAAEwP,IAAI,EAAE,OAAOxzB,EAAE24D,WAAW34D,GAAGwzB,EAAEmlC,WAAWnlC,EAAE,OAAO,CAAC/vB,CAAC,CAAC,EAAE,CAAC,KAAKA,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,OAAOzD,EAAEwzB,EAAEnvB,CAAE,KAAI,IAAI,OAAOrE,EAAEwzB,EAAEnvB,CAAE,KAAI,IAAI,OAAOrE,EAAEwzB,EAAEnvB,CAAC,CAAC,CAAC,SAAS1E,EAAE6zB,CAAC,CAACxzB,CAAC,EAAE,OAAOyE,KAAK,IAAI,CAACA,KAAK,GAAG,CAACzE,EAAE,CAAC,CAACwzB,EAAE,CAAC,CAAC,GAAG/uB,KAAK,GAAG,CAACzE,EAAE,CAAC,CAACwzB,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS/vB,EAAE+vB,CAAC,EAAEA,EAAEA,EAAE,MAAM,CAAC,IAAI,IAAIxzB,EAAEyD,EAAE,EAAEY,EAAE,EAAEA,EAAEmvB,EAAE,aAAa,CAACnvB,IAAI,CAAC,IAAIovB,EAAED,EAAE,OAAO,CAACnvB,EAAG,GAAEA,GAAIZ,CAAAA,GAAG9D,EAAEK,EAAEyzB,EAAC,EAAGzzB,EAAEyzB,CAAC,CAAC,OAAOhwB,CAAC,CAAC,SAAS5D,EAAE2zB,CAAC,EAAE,GAAGA,EAAE,cAAc,CAAC,OAAOA,EAAE,cAAc,GAAG,OAAOA,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI,SAAS,OAAO,EAAE/uB,KAAK,EAAE,CAAC+uB,EAAE,YAAY,CAAC,IAAK,KAAI,OAAO,OAAO,EAAEA,EAAE,YAAY,CAAC,SAAS,EAAEA,EAAE,YAAY,CAAC,SAAU,KAAI,OAAO,OAAO7zB,EAAE,CAAC,EAAE6zB,EAAE,YAAY,CAAC,MAAM,EAAEA,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,EAAEA,EAAE,YAAY,CAAC,MAAM,EAAEA,EAAE,YAAY,CAAC,KAAK,EAAG,KAAI,WAAW,OAAO/vB,EAAE+vB,EAAG,KAAI,UAAU,IAAIxzB,EAAEwzB,EAAE,MAAM,CAAC,OAAO/vB,EAAE+vB,GAAG7zB,EAAEK,EAAE,OAAO,CAACA,EAAE,aAAa,CAAC,GAAGA,EAAE,OAAO,CAAC,GAAG,CAAC,CAAyO,SAASkX,EAAEsc,CAAC,CAACxzB,CAAC,EAAE,IAAIyD,EAAEY,EAAE,eAAe,GAAGZ,EAAE8wB,EAAE,GAAG,CAACf,GAAGA,EAAE,WAAW,CAACA,EAAEe,EAAE,GAAG,CAAC9wB,IAAG,GAAG8wB,EAAE,GAAG,CAAC9wB,GAAG,CAAC,IAAkG+vB,EAA6FxzB,EAA8EyD,EAAoBzD,EAA7RyzB,EAAE,kCAAkC,IAAI,CAAChwB,GAAGA,EAAEgwB,EAAE,QAAQA,CAAC,CAAC,EAAE,CAAC,MAAMhwB,CAAC,KAAMA,EAAAA,EAAE8wB,EAAE,GAAG,CAAC9wB,IAAe+vB,EAAEA,CAALA,EAAsP/vB,GAA/O,OAAO,CAAC,mCAAmC,SAAS+vB,CAAC,CAACxzB,CAAC,CAACyD,CAAC,CAACY,CAAC,EAAE,OAAOrE,EAAEA,EAAEyD,EAAEA,EAAEY,EAAEA,CAAC,GAA6DmvB,EAAEnsB,SAASrH,CAAjEA,EAAE,4CAA4C,IAAI,CAACwzB,GAAe,CAAC,EAAE,CAAC,IAAQ/vB,EAAE4D,SAASrH,CAAC,CAAC,EAAE,CAAC,IAA8B,QAAQwzB,EAAE,IAAI/vB,EAAE,KAA1CzD,EAAEqH,SAASrH,CAAC,CAAC,EAAE,CAAC,KAAgC,OAAUu0B,EAAE,GAAG,CAAC9wB,GAAG,SAAS+vB,CAAC,EAAE,SAASxzB,EAAEwzB,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE,OAAOA,EAAE,GAAIA,CAAAA,GAAG,GAAG,EAAEA,GAAG,EAAEA,EAAEA,EAAE,EAAE,EAAE+vB,EAAE,EAAGxzB,CAAAA,EAAEwzB,CAAAA,EAAG/vB,EAAEA,EAAE,GAAGzD,EAAEyD,EAAE,EAAE,EAAE+vB,EAAE,AAACxzB,CAAAA,EAAEwzB,CAAAA,EAAI,GAAE,EAAE/vB,CAAAA,EAAG,EAAE+vB,CAAC,CAAC,IAAI/vB,EAAE,0CAA0C,IAAI,CAAC+vB,IAAI,uDAAuD,IAAI,CAACA,GAAGA,EAAEnsB,SAAS5D,CAAC,CAAC,EAAE,EAAE,IAAI,IAAIY,EAAEgD,SAAS5D,CAAC,CAAC,EAAE,EAAE,IAAIgwB,EAAEpsB,SAAS5D,CAAC,CAAC,EAAE,EAAE,IAAIA,EAAEA,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,GAAGY,EAAEovB,EAAEpvB,EAAEmvB,EAAEC,MAAM,CAAC,IAAI7mB,EAAE6mB,EAAE,GAAGA,EAAG,GAAEpvB,CAAAA,EAAGovB,EAAEpvB,EAAEovB,EAAEpvB,EAAEyB,EAAE,EAAE2tB,EAAE7mB,EAAE6mB,EAAEzzB,EAAE8F,EAAE8G,EAAE4mB,EAAE,EAAE,GAAGnvB,EAAErE,EAAE8F,EAAE8G,EAAE4mB,GAAGA,EAAExzB,EAAE8F,EAAE8G,EAAE4mB,EAAE,EAAE,EAAE,CAAC,MAAM,QAAQ,IAAIC,EAAE,IAAI,IAAIpvB,EAAE,IAAI,IAAImvB,EAAE,IAAI/vB,EAAE,GAAG,EAAEA,GAAG,KAAK,CAAC,OAAMgwB,EAAE,AAACA,CAAAA,EAAEzP,EAAEvgB,EAAC,EAAGA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAACgwB,EAAE,MAAM,EAAEhwB,EAAEA,EAAEzD,GAAG,CAAC,MAAM,IAAI,CAACyD,GAAGgwB,EAAEzzB,EAAEyzB,EAAE,MAAM,CAAC,SAAShwB,GAAG,GAAG,QAAQA,EAAE,KAAK,CAACY,GAAGZ,EAAE,KAAK,CAACY,GAAG,GAAG,CAAC6C,QAAQ,CAAC,EAAE,CAAC,QAAQqtB,EAAE,GAAG,CAACf,IAAIxzB,EAAEyD,EAAE,KAAK,CAACY,GAAG,EAAE,CAAC,CAAC,SAAS2B,EAAEwtB,CAAC,EAAE,OAAOvuB,EAAEuuB,EAAEA,EAAE7mB,EAAE4nB,EAAE,GAAG,CAACf,GAAGA,EAAE,GAAG,CAAC5mB,GAAGA,EAAE4mB,IAAI,EAAE,CAAC,SAASA,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE,OAAOA,EAAE,OAAO,CAAC+vB,KAAKxzB,CAAC,EAAE,CAAg8B,SAASs1B,EAAEt1B,CAAC,CAACwzB,CAAC,CAAC/vB,CAAC,CAACY,CAAC,EAAE,IAAIovB,EAAE,UAAUzzB,EAAE,OAAOwzB,EAAE,MAAM,CAAC,AAACC,CAAAA,EAAEhvB,KAAK,GAAG,CAACA,KAAK,GAAG,AAAD,EAAG,KAAK,CAACA,KAAK+uB,EAAE,GAAG,CAAC,SAASA,CAAC,EAAE,OAAOA,CAAC,CAACxzB,EAAE,IAAIyzB,EAAEpvB,EAAE,KAAK,CAACZ,EAAE,MAAM,CAACY,EAAE,KAAK,CAACA,EAAE,QAAQ,CAA+kB,SAAS4vB,EAAET,CAAC,EAAE,SAAS7mB,IAAI,OAAO1M,OAAO,OAAO,EAAE,IAAI4zB,QAAQ,SAASL,CAAC,EAAE,OAAOtc,EAAEsc,CAAC,EAAE,CAAC,SAASG,EAAEH,CAAC,EAAE,OAAOW,EAAE,QAAQ,CAACA,EAAE,QAAQ,CAACX,EAAEA,CAAC,CAAC,SAAS/rB,EAAEzH,CAAC,EAAE,IAAI,IAAIwzB,EAAE,EAAE/vB,EAAE,CAAC,EAAEY,EAAE8vB,EAAE,UAAU,CAACV,EAAEpvB,EAAE,MAAM,CAACmvB,EAAEC,GAAG,CAAC,IAAI7mB,EAAEvI,CAAC,CAACmvB,EAAE,CAAC1tB,EAAE8G,EAAE,UAAU,CAACyD,EAAEzD,EAAE,MAAM,CAACoX,EAAE3T,EAAE,MAAM,CAAC,EAAEqjB,EAAErjB,CAAC,CAAC2T,EAAE,AAACA,CAAAA,GAAI0P,CAAAA,EAAEzuB,EAAEoL,EAAE,SAASmjB,CAAC,EAAE,OAAOxzB,EAAEwzB,EAAE,GAAG,EAAE,CAAC,EAAE,EAAEE,CAAAA,EAAG,IAAI,IAAIrjB,EAAE5L,KAAK,GAAG,CAACA,KAAK,GAAG,CAACzE,EAAE0zB,EAAE,KAAK,CAACA,EAAE,KAAK,CAAC,GAAGA,EAAE,QAAQ,EAAEA,EAAE,QAAQ,CAAC/mB,EAAEtH,MAAMgL,GAAG,EAAEqjB,EAAE,MAAM,CAACrjB,EAAEqjB,EAAE,UAAU,EAAErjB,EAAEqjB,EAAE,EAAE,CAAC,OAAO,CAACC,EAAED,EAAE,KAAK,CAAC1P,EAAE,EAAE,CAACvc,EAAE,KAAK,EAAEA,EAAEisB,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC9zB,EAAE,EAAEA,EAAE6H,EAAE7H,IAAI,CAAC,IAAae,EAAE+yB,EAAE,EAAE,CAAC,OAAO,CAAC9zB,EAAE,CAACg0B,EAAEF,EAAE,IAAI,CAAC,OAAO,CAAC9zB,EAAE,CAACe,EAAE+yB,EAAE,MAAM,CAACY,AAAvlH,SAAWt0B,CAAC,CAACyD,CAAC,EAAE,SAAS+vB,EAAEA,CAAC,EAAE,OAAOA,EAAE,KAAK,IAAIA,EAAE,EAAEA,EAAExzB,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAGyD,EAAE+vB,EAAE/vB,EAAE+vB,EAAE,EAAE,CAAC,IAAInvB,EAAEmvB,IAAIC,EAAED,EAAE,IAAI5mB,EAAE4mB,EAAE,GAAG,OAAOxzB,EAAE,QAAQ,EAAE,IAAI,IAAI,OAAOqE,EAAE,CAAC,AAAC,KAAI,IAAI,OAAOA,EAAE,CAAC,AAAC,KAAI,QAAQ,OAAO,IAAII,KAAK,KAAK,CAACmI,EAAE,CAAC,CAAC6mB,EAAE,CAAC,CAAC7mB,EAAE,CAAC,CAAC6mB,EAAE,CAAC,EAAEhvB,KAAK,EAAE,CAAC,EAAk3GivB,EAAE,KAAK,CAAC/mB,EAAEhM,GAAGizB,EAAEjnB,EAAGhM,CAAAA,EAAEizB,CAAAA,CAAGD,CAAAA,GAAID,CAAAA,EAAE,OAAO,EAAE,EAAE9zB,GAAIe,CAAAA,EAAE8D,KAAK,KAAK,CAAC9D,EAAEgzB,GAAGA,CAAAA,CAAC,EAAG3P,EAAE,IAAI,CAACrjB,EAAE,CAAC,GAAG+yB,EAAErjB,EAAE,MAAM,CAAC,IAAI5I,EAAE4I,CAAC,CAAC,EAAE,CAAC1D,EAAE,EAAEA,EAAE+mB,EAAE/mB,IAAIgnB,EAAEtjB,CAAC,CAAC1D,EAAE,EAAE,CAAQtH,MAAPzF,EAAEokB,CAAC,CAACrX,EAAE,GAAYlF,CAAAA,EAAEksB,EAAElsB,EAAG7H,CAAAA,EAAE+zB,CAAAA,EAAGlsB,EAAG7H,CAAAA,EAAE,GAAE,CAAC,OAAQ6H,EAAEuc,CAAC,CAAC,EAAE,AAACkQ,CAAAA,CAAC,CAACtnB,EAAE,IAAI,CAAC,CAAC9G,EAAE,MAAM,CAAC8G,EAAE,QAAQ,CAACnF,EAAEhE,EAAEqC,EAAE,EAAE,EAAE8G,EAAE,YAAY,CAACnF,EAAE+rB,GAAG,CAAC,GAAGA,EAAEj0B,OAAO,IAAI,CAACkE,GAAG,MAAM,CAAC,IAAIY,EAAE,EAAEA,EAAEmvB,EAAEnvB,IAAI0B,GAAIA,CAAAA,EAAEiO,EAAE0kD,SAAS,IAAI,CAAC,aAAa,YAAY,mBAAkB,EAAGvkC,EAAE,WAAW,CAAC9vB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC0B,EAAE,CAACtC,CAAC,CAACY,EAAE,CAAC,IAAI,CAAC,IAAK8vB,CAAAA,EAAE,WAAW,CAACn0B,EAAEm0B,EAAE,QAAQ,CAACn0B,EAAEm0B,EAAE,QAAQ,CAAC,GAAG,CAAC,SAASv0B,EAAE4zB,CAAC,EAAEW,CAAC,CAACX,EAAE,EAAEW,CAAC,CAACX,EAAE,CAACW,EAAE,CAAC,SAASxzB,IAAIwzB,EAAE,SAAS,EAAE,CAAC,IAAIA,EAAE,SAAS,EAAEA,EAAE,SAAS,EAAE,CAAC,SAASn0B,EAAEwzB,CAAC,EAAE,IAAIxzB,EAAEm0B,EAAE,QAAQ,CAAC1wB,EAAE0wB,EAAE,MAAM,CAAC9vB,EAAEZ,EAAE0wB,EAAE,KAAK,CAACV,EAAEU,EAAE,WAAW,CAACvnB,EAAEunB,EAAE,QAAQ,CAACruB,EAAE6tB,EAAEH,GAAG,GAAGW,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI9jB,EAAE8jB,EAAE,QAAQ,CAACnQ,EAAE3T,EAAE,MAAM,CAAC,GAAGvK,GAAGquB,EAAE,WAAW,CAAC,IAAI,IAAIT,EAAE,EAAEA,EAAE1P,EAAE0P,IAAIrjB,CAAC,CAACqjB,EAAE,CAAC,IAAI,CAAC5tB,QAAQ,KAAKke,KAAK3T,CAAC,CAAC2T,EAAE,CAAC,IAAI,CAACle,EAAE,CAAC,AAACzB,CAAAA,GAAGyB,GAAG,CAAC9F,CAAAA,GAAKm0B,CAAAA,EAAE,KAAK,EAAGA,CAAAA,EAAE,KAAK,CAAC,CAAC,EAAEv0B,EAAE,QAAO,EAAGA,EAAE,MAAK,EAAG6D,EAAEqC,GAAGA,EAAE9F,EAAEyH,EAAE3B,GAAIA,CAAAA,GAAGrC,GAAG,IAAIgwB,GAAIhsB,CAAAA,EAAE,GAAGmF,GAAGjM,GAAE,EAAG,AAACX,CAAAA,GAAG8F,GAAG2tB,IAAIzzB,GAAG,CAACA,CAAAA,GAAKyH,CAAAA,EAAEzH,GAAG4M,GAAGjM,GAAE,CAAC,EAAGf,EAAE,UAAUI,GAAGwzB,GAAIW,CAAAA,EAAE,SAAS,CAAEx0B,CAAAA,EAAEi0B,EAAE,cAAcO,EAAE,SAAS,EAAGA,CAAAA,EAAE,QAAQ,CAAC,CAACA,EAAE,QAAQ,AAAD,CAAC,EAAIA,CAAAA,EAAE,KAAK,GAAGA,EAAE,SAAS,EAAGA,CAAAA,EAAE,SAAS,CAAC,CAAC,EAAEv0B,EAAE,YAAY,YAAYK,QAASiX,CAAAA,IAAIlR,EAAE2G,GAAE,CAAC,CAAC,EAAG9M,EAAE,EAAE,CAAC2zB,EAAE,KAAK,IAAIA,EAAE,CAAC,EAAEA,EAAE,IAAII,EAAEj0B,EAAEE,EAAE,EAAEqX,EAAE,KAAKlR,EAAE2G,IAAIwnB,EAAE9vB,AAAnsE,SAAWmvB,CAAC,EAAE,IAAIxzB,EAAIqE,EAAIuI,EAAE+mB,EAAEwB,EAAE3B,GAAG1tB,EAAE6tB,EAAEkB,EAAErB,GAAGnjB,EAAG5M,AAAY,AAACY,CAAAA,EAAE2B,EAAbwtB,EAAE,OAAO,CAAO,EAAG,GAAG,CAAC,SAASA,CAAC,CAACxzB,CAAC,EAAE,MAAM,CAAC,OAAOwzB,EAAE,GAAGxzB,EAAE,MAAMqE,EAAE,MAAM,CAAC,GAAI2f,EAAE,EAAE,CAAC0P,EAAEjsB,EAAEmF,EAAE9G,GAAG,IAAI9F,KAAKwzB,EAAEE,EAAE,cAAc,CAAC1zB,IAAI,YAAYA,GAAGgkB,EAAE,IAAI,CAAC,CAAC,KAAKhkB,EAAE,OAAO0zB,EAAE,MAAM,CAAC,OAAOS,AAA9zC,SAAWX,CAAC,CAAC/vB,CAAC,EAAE,IAAIzD,EAAEqQ,EAAE5M,GAAG,GAAG8wB,EAAE,GAAG,CAACf,GAAG,CAAC,IAAInvB,EAAEmvB,EAAE,MAAM,AAAC,KAAInvB,GAAGkwB,EAAE,GAAG,CAACf,CAAC,CAAC,EAAE,EAAEe,EAAE,GAAG,CAAC9wB,EAAE,QAAQ,GAAIzD,CAAAA,EAAE,QAAQ,CAACyD,EAAE,QAAQ,CAACY,CAAAA,EAAGmvB,EAAE,CAAC,MAAMA,CAAC,CAAC,CAAC,OAAO5mB,EAAE4mB,GAAG,GAAG,CAAC,SAASA,CAAC,CAACxzB,CAAC,EAAE,OAAOA,EAAEA,EAAE,EAAEyD,EAAE,KAAK,CAAC+vB,EAAEe,EAAE,GAAG,CAACf,IAAI,CAACe,EAAE,GAAG,CAACf,GAAGA,EAAE,CAAC,MAAMA,CAAC,EAAEe,EAAE,GAAG,CAACf,EAAE,KAAK,GAAIA,CAAAA,EAAE,KAAK,CAACxzB,CAAAA,EAAGwzB,CAAC,GAAG,GAAG,CAAC,SAASA,CAAC,EAAE,OAAO/rB,EAAE+rB,EAAExzB,EAAE,EAAE,EAAyiCwzB,CAAC,CAACxzB,EAAE,CAAC8F,EAAE,GAAG,OAAO2tB,AAAID,EAAEvuB,EAAE0H,EAAE0D,EAAE,GAAG,CAAC,SAAShM,CAAC,EAAE,OAAOovB,AAAjCzP,EAAmC,GAAG,CAAC,SAASwP,CAAC,EAAE,IAAIxzB,EAAEJ,EAAEyE,EAAE,MAAM,CAACmvB,EAAE,IAAI,EAAE,GAAGxzB,EAAE,CAAC,IAAloC4M,EAAE9G,EAAOuK,EAA6nC5M,GAAtoCmJ,EAA0oC4mB,EAAxoC1tB,EAA0oCzB,EAA1nCuI,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS4mB,CAAC,EAAE,IAAIxzB,EAAE,AAACwzB,CAAAA,EAAE,SAASA,CAAC,CAACxzB,CAAC,EAAE,IAAIyD,EAAEY,EAAE,CAAC,EAAE,IAAIZ,KAAK+vB,EAAE,CAAC,IAAIC,EAAEC,EAAEF,CAAC,CAAC/vB,EAAE,CAACzD,EAAGu0B,CAAAA,EAAE,GAAG,CAACd,IAAI,IAAI,AAACA,CAAAA,EAAEA,EAAE,GAAG,CAAC,SAASD,CAAC,EAAE,OAAOE,EAAEF,EAAExzB,EAAE,EAAC,EAAG,MAAM,EAAGyzB,CAAAA,EAAEA,CAAC,CAAC,EAAE,AAAD,EAAGpvB,CAAC,CAACZ,EAAE,CAACgwB,CAAC,CAAC,OAAOpvB,EAAE,QAAQ,CAACs0D,WAAWt0D,EAAE,QAAQ,EAAEA,EAAE,KAAK,CAACs0D,WAAWt0D,EAAE,KAAK,EAAEA,CAAC,EAAEmvB,EAAE1tB,EAAC,EAAG,KAAK,CAACrC,EAAE9C,EAAEmF,EAAE,MAAM,CAAC8G,EAAE,IAAI,EAAEvI,EAAEgM,EAAEA,EAAE,EAAE,CAAC,QAAQ,CAAC5M,EAAEY,EAAEkwB,EAAE,GAAG,CAACv0B,GAAGA,CAAC,CAAC,EAAE,CAACqE,EAAEovB,EAAEG,EAAEW,EAAE,GAAG,CAACv0B,GAAGA,CAAC,CAAC,EAAE,CAACA,EAAEqE,GAAGZ,EAAEugB,EAAEyP,IAAIzP,EAAE3f,IAAI2f,EAAEvgB,GAAG,OAAO+vB,EAAE,IAAI,CAACtc,EAAE7S,EAAEZ,GAAG+vB,EAAE,EAAE,CAACtc,EAAEuc,EAAEhwB,GAAG+vB,EAAE,KAAK,CAACnjB,EAAEA,EAAE,GAAG,CAACzD,EAAE,MAAM,CAAC4mB,EAAE,GAAG,CAACA,EAAE,KAAK,CAACA,EAAE,KAAK,CAACA,EAAE,QAAQ,CAACA,EAAE,MAAM,CAAC,SAASA,CAAC,EAAE,OAAOe,EAAE,GAAG,CAACf,GAAGsB,EAAE,KAAK,CAAC,IAAI,CAACtB,GAAGY,CAAC,CAACZ,EAAE,EAAEA,EAAE,MAAM,EAAEA,EAAE,UAAU,CAAC,AAAC,KAAI/uB,KAAK,GAAG,CAACA,KAAK,GAAG,CAAC+uB,EAAE,UAAU,CAAC,GAAG,IAAG,EAAG,IAAIA,EAAE,MAAM,CAACe,EAAE,GAAG,CAACv0B,GAAGwzB,EAAE,OAAO,CAACe,EAAE,GAAG,CAACf,EAAE,IAAI,CAAC,QAAQ,EAAEA,EAAE,OAAO,EAAGA,CAAAA,EAAE,KAAK,CAAC,GAAGnjB,EAAEmjB,CAAC,IAAsfA,EAAE,CAAC,KAAKxzB,EAAE,SAASwzB,EAAE,IAAI,CAAC,WAAWnvB,EAAE,OAAOZ,EAAE,SAASA,CAAC,CAACA,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAMA,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM+vB,EAAE,KAAK,EAAE,OAAOA,CAAC,EAAE,IAAI,SAASA,CAAC,EAAE,MAAM,CAACe,EAAE,GAAG,CAACf,EAAE,GAAG/rB,EAAEmF,EAAE,CAAC,SAAS,EAAE,CAAC,YAAYyD,EAAE,WAAWmjB,EAAE,SAAS8B,EAAE,WAAW9B,EAAE5mB,EAAE9G,GAAG,MAAMwvB,EAAE,QAAQ9B,EAAE5mB,EAAE9G,EAAE,EAAE,EAAwnD0tB,GAAG,OAAOW,EAAE,KAAK,CAAC,WAAW,IAAIX,EAAEW,EAAE,SAAS,CAACn0B,EAAEm0B,EAAE,IAAI,CAAC,IAAIA,EAAE,WAAW,CAAC,EAAEA,EAAE,QAAQ,CAAC,EAAEA,EAAE,MAAM,CAAC,CAAC,EAAEA,EAAE,KAAK,CAAC,CAAC,EAAEA,EAAE,SAAS,CAAC,CAAC,EAAEA,EAAE,QAAQ,CAAC,YAAYX,EAAEW,EAAE,SAAS,CAAC,cAAcX,GAAG,IAAIxzB,EAAE,EAAEA,EAAEyH,EAAE,GAAG+rB,EAAEW,EAAE,QAAQ,CAAC,MAAM,CAACX,KAAKW,EAAE,QAAQ,CAACX,EAAE,CAAC,KAAK,EAAE,EAAEW,EAAE,IAAI,CAAC,SAASX,CAAC,EAAEI,EAAEJ,EAAE7zB,GAAIA,CAAAA,EAAEi0B,CAAAA,EAAG5zB,EAAE,AAACH,CAAAA,EAAE+zB,EAAEj0B,CAAAA,EAAGs0B,EAAE,KAAK,CAAC,EAAEE,EAAE,IAAI,CAAC,SAASX,CAAC,EAAExzB,EAAE2zB,EAAEH,GAAG,EAAEW,EAAE,KAAK,CAAC,WAAW,IAAIX,EAAEQ,EAAE,OAAO,CAACG,EAAG,IAAGX,GAAGQ,EAAE,MAAM,CAACR,EAAE,GAAGW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAEA,EAAE,IAAI,CAAC,WAAWA,EAAE,MAAM,EAAGA,CAAAA,EAAE,MAAM,CAAC,CAAC,EAAEx0B,EAAE,EAAEE,EAAE8zB,EAAEQ,EAAE,WAAW,EAAEH,EAAE,IAAI,CAACG,GAAGlhB,GAAGsiB,GAAE,CAAE,EAAEpB,EAAE,OAAO,CAAC,WAAWA,EAAE,QAAQ,CAAC,CAACA,EAAE,QAAQ,CAACx0B,EAAE,EAAEE,EAAE8zB,EAAEQ,EAAE,WAAW,CAAC,EAAEA,EAAE,OAAO,CAAC,WAAWA,EAAE,KAAK,GAAGA,EAAE,KAAK,GAAGA,EAAE,IAAI,EAAE,EAAEA,EAAE,QAAQ,CAACnuB,EAAEmuB,EAAE,KAAK,GAAGA,EAAE,QAAQ,EAAEA,EAAE,IAAI,GAAGA,CAAC,CAAC,IAAIpuB,EAAEovB,EAAE,CAAC,OAAO,KAAK,EAAE,MAAM,KAAK,EAAE,IAAI,KAAK,EAAE,SAAS,KAAK,EAAE,KAAK,EAAE,UAAU,SAAS,SAAS,CAAC,EAAE,OAAO,CAAC,EAAEN,EAAE,CAAC,SAAS,IAAI,MAAM,EAAE,OAAO,iBAAiB,WAAW,IAAI,MAAM,CAAC,EAAE+jC,EAAE,qHAAqH,KAAK,CAAC,KAAKrkC,EAAE,CAAC,IAAI,SAASf,CAAC,EAAE,OAAO3rB,MAAM,OAAO,CAAC2rB,EAAE,EAAE,IAAI,SAASA,CAAC,EAAE,OAAM,GAAGj0B,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAACi0B,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,SAASA,CAAC,EAAE,OAAOe,EAAE,GAAG,CAACf,IAAIA,EAAE,cAAc,CAAC,cAAc,EAAE,IAAI,SAASA,CAAC,EAAE,OAAOA,aAAaimC,UAAU,EAAE,IAAI,SAASjmC,CAAC,EAAE,OAAOA,EAAE,QAAQ,EAAEe,EAAE,GAAG,CAACf,EAAE,EAAE,IAAI,SAASA,CAAC,EAAE,MAAM,UAAU,OAAOA,CAAC,EAAE,IAAI,SAASA,CAAC,EAAE,MAAM,YAAY,OAAOA,CAAC,EAAE,IAAI,SAASA,CAAC,EAAE,OAAO,KAAK,IAAIA,CAAC,EAAE,IAAI,SAASA,CAAC,EAAE,MAAM,qCAAqC,IAAI,CAACA,EAAE,EAAE,IAAI,SAASA,CAAC,EAAE,MAAM,OAAO,IAAI,CAACA,EAAE,EAAE,IAAI,SAASA,CAAC,EAAE,MAAM,OAAO,IAAI,CAACA,EAAE,EAAE,IAAI,SAASA,CAAC,EAAE,OAAOe,EAAE,GAAG,CAACf,IAAIe,EAAE,GAAG,CAACf,IAAIe,EAAE,GAAG,CAACf,EAAE,CAAC,EAAEsB,EAAE,WAAW,SAASnB,EAAEH,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE,MAAM,AAAC,CAAC,CAAC,GAAE,EAAEA,EAAE,EAAEzD,CAAAA,EAAGwzB,EAAG,GAAE/vB,EAAE,EAAEzD,CAAAA,CAAC,EAAGwzB,EAAE,EAAExzB,CAAAA,EAAGwzB,CAAC,CAAC,OAAO,SAAS1tB,CAAC,CAACuK,CAAC,CAAC2T,CAAC,CAAC0P,CAAC,EAAE,GAAG,GAAG5tB,GAAGA,GAAG,GAAG,GAAGke,GAAGA,GAAG,EAAE,CAAC,IAAIrX,EAAE,IAAI+sD,aAAa,IAAI,GAAG5zD,IAAIuK,GAAG2T,IAAI0P,EAAE,IAAI,IAAIF,EAAE,EAAEA,EAAE,GAAG,EAAEA,EAAE7mB,CAAC,CAAC6mB,EAAE,CAACG,EAAE,GAAGH,EAAE1tB,EAAEke,GAAG,OAAO,SAASwP,CAAC,EAAE,GAAG1tB,IAAIuK,GAAG2T,IAAI0P,EAAE,OAAOF,EAAE,GAAG,IAAIA,EAAE,OAAO,EAAE,GAAG,IAAIA,EAAE,OAAO,EAAE,IAAI,IAAIxzB,EAAE,EAAEyD,EAAE,EAAE,KAAKA,GAAGkJ,CAAC,CAAClJ,EAAE,EAAE+vB,EAAE,EAAE/vB,EAAEzD,GAAG,GAAG,IAAIyD,EAAEzD,EAAE,AAACwzB,CAAAA,EAAE7mB,CAAC,CAAC,EAAElJ,EAAE,AAAD,EAAIkJ,CAAAA,CAAC,CAAClJ,EAAE,EAAE,CAACkJ,CAAC,CAAClJ,EAAE,AAAD,EAAG,GAAGY,EAAE,EAAG,GAAE,EAAE2f,EAAE,EAAEle,CAAAA,EAAGrC,EAAEA,EAAE,EAAG,GAAEugB,EAAE,EAAEle,CAAAA,EAAGrC,EAAE,EAAEqC,EAAE,GAAG,MAAMzB,EAAE,CAAC,IAAIrE,EAAE,EAAEA,EAAE,GAAG,GAAIqE,CAAAA,EAAE,EAAG,GAAE,EAAE2f,EAAE,EAAEle,CAAAA,EAAGrC,EAAEA,EAAE,EAAG,GAAEugB,EAAE,EAAEle,CAAAA,EAAGrC,EAAE,EAAEqC,CAAAA,EAAG,EAAE9F,EAAE,IAAIyzB,EAAEE,EAAElwB,EAAEqC,EAAEke,GAAGwP,EAAE/vB,EAAEA,EAAEgwB,EAAEpvB,EAAEmvB,EAAE/vB,CAAC,MAAM,GAAG,IAAIY,EAAEmvB,EAAE/vB,MAAM,CAAC,IAAI,IAAIA,EAAEzD,EAAEA,EAAEA,EAAE,GAAG4M,EAAE,EAAE,EAAGvI,CAAAA,EAAEsvB,EAAEF,EAAEhwB,EAAE,AAACzD,CAAAA,EAAEyD,CAAAA,EAAG,EAAEqC,EAAEke,GAAGwP,CAAAA,EAAGxzB,EAAEyzB,EAAEhwB,EAAEgwB,EAAE,KAAKhvB,KAAK,GAAG,CAACJ,IAAI,EAAEuI,EAAE,KAAK4mB,EAAEC,CAAC,CAAC,OAAOE,EAAEH,EAAEnjB,EAAEqjB,EAAE,CAAC,CAAC,CAAC,IAAIU,EAAE,WAAW,SAAS3wB,EAAE+vB,CAAC,CAACxzB,CAAC,EAAE,OAAO,IAAIwzB,GAAG,IAAIA,EAAEA,EAAE,CAAC/uB,KAAK,GAAG,CAAC,EAAE,GAAI+uB,CAAAA,EAAE,IAAI/uB,KAAK,GAAG,CAAC,EAAG+uB,CAAAA,EAAE,EAAExzB,EAAG,GAAEyE,KAAK,EAAE,AAAD,EAAGA,KAAK,IAAI,CAAC,EAAC,EAAGA,KAAK,EAAE,CAACzE,EAAE,CAAC,IAAIwzB,EAAEnvB,EAAE,qDAAqD,KAAK,CAAC,KAAKrE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,GAAG,KAAK,KAAK,KAAK,CAACyD,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,MAAM,CAAC,SAAS+vB,CAAC,CAACxzB,CAAC,EAAE,OAAO,EAAEyD,EAAE,EAAE+vB,EAAExzB,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,KAAK,CAAC,SAASwzB,CAAC,CAACxzB,CAAC,EAAE,OAAOwzB,EAAE,GAAG/vB,EAAE,EAAE+vB,EAAExzB,GAAG,EAAE,EAAEyD,EAAE,GAAG+vB,EAAE,EAAExzB,GAAG,CAAC,EAAE,EAAEyzB,EAAE,CAAC,OAAOqB,EAAE,IAAI,IAAI,IAAI,IAAI,EAAEloB,EAAE,CAAC,EAAE,IAAI4mB,KAAKxzB,EAAE4M,EAAE,IAAI,CAAC4mB,EAAExzB,CAAC,CAAC4M,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,SAASnJ,CAAC,EAAE,OAAO,SAAS+vB,CAAC,CAACxzB,CAAC,EAAEyzB,CAAC,CAAC,OAAOhwB,EAAE,IAAI,CAACY,CAAC,CAACrE,EAAE,CAAC,CAACu0B,EAAE,GAAG,CAACf,GAAGA,EAAEsB,EAAE,KAAK,CAACykC,GAAa/lC,EAAE,CAAC,EAAE5mB,IAAIA,EAAE,CAAC,KAAKA,EAAE,IAAI,EAAE,OAAO6mB,CAAC,IAAIS,EAAE,CAAC,IAAI,SAASV,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE,OAAO+vB,EAAE,KAAK,CAACxzB,EAAE,CAACyD,CAAC,EAAE,UAAU,SAAS+vB,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE,OAAO+vB,EAAE,YAAY,CAACxzB,EAAEyD,EAAE,EAAE,OAAO,SAAS+vB,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE,OAAO+vB,CAAC,CAACxzB,EAAE,CAACyD,CAAC,EAAE,UAAU,SAAS+vB,CAAC,CAACxzB,CAAC,CAACyD,CAAC,CAACY,CAAC,CAACovB,CAAC,EAAEpvB,CAAC,CAACovB,EAAE,EAAGpvB,CAAAA,CAAC,CAACovB,EAAE,CAAC,EAAE,AAAD,EAAGpvB,CAAC,CAACovB,EAAE,CAAC,IAAI,CAACzzB,EAAE,IAAIyD,EAAE,IAAI,CAAC,EAAEuwB,EAAE,EAAE,CAAC/gB,EAAE,EAAEsiB,EAAE,WAAW,SAASlxB,IAAI4O,EAAE0mD,sBAAsBnmC,EAAE,CAAC,SAASA,EAAEA,CAAC,EAAE,IAAIxzB,EAAEg0B,EAAE,MAAM,CAAC,GAAGh0B,EAAE,CAAC,IAAI,IAAIyD,EAAE,EAAEA,EAAEzD,GAAGg0B,CAAC,CAACvwB,EAAE,EAAEuwB,CAAC,CAACvwB,EAAE,CAAC,IAAI,CAAC+vB,GAAG/vB,IAAIY,GAAG,MAAMu1D,qBAAqB3mD,GAAGA,EAAE,CAAC,CAAC,OAAO5O,CAAC,IAAI,OAAO4vB,EAAE,OAAO,CAAC,QAAQA,EAAE,KAAK,CAAC,EAAEA,EAAE,OAAO,CAACD,EAAEC,EAAE,MAAM,CAAC,SAAST,CAAC,EAAEA,EAAExtB,EAAEwtB,GAAG,IAAI,IAAIxzB,EAAEg0B,EAAE,MAAM,CAACh0B,KAAK,IAAI,IAAIyD,EAAEuwB,CAAC,CAACh0B,EAAE,CAACqE,EAAEZ,EAAE,UAAU,CAACgwB,EAAEpvB,EAAE,MAAM,CAACovB,KAAK3tB,EAAE0tB,EAAEnvB,CAAC,CAACovB,EAAE,CAAC,UAAU,CAAC,MAAM,GAAIpvB,CAAAA,EAAE,MAAM,CAACovB,EAAE,GAAGpvB,EAAE,MAAM,EAAEZ,EAAE,KAAK,EAAC,CAAE,EAAEwwB,EAAE,QAAQ,CAACtzB,EAAEszB,EAAE,IAAI,CAAC,SAAST,CAAC,CAACxzB,CAAC,EAAE,IAAIyD,EAAE8wB,EAAE,GAAG,CAACf,GAAGC,EAAED,EAAE,CAAC,EAAE,CAACA,EAAEnvB,EAAErE,GAAG,IAAI,OAAO,SAASwzB,CAAC,EAAE,MAAM,CAAC,GAAG/vB,EAAE,SAAS+vB,EAAE,YAAY3zB,EAAE4D,GAAIY,CAAAA,EAAE,GAAE,CAAE,CAAC,CAAC,EAAE4vB,EAAE,aAAa,CAAC,SAAST,CAAC,EAAE,IAAIxzB,EAAEH,EAAE2zB,GAAG,OAAOA,EAAE,YAAY,CAAC,mBAAmBxzB,GAAGA,CAAC,EAAEi0B,EAAE,MAAM,CAACa,EAAEb,EAAE,OAAO,CAACG,EAAEH,EAAE,QAAQ,CAAC,SAAS5vB,CAAC,EAAE,IAAIovB,EAAEQ,EAAE5vB,GAAG,OAAOovB,EAAE,KAAK,GAAGA,EAAE,QAAQ,CAAC,EAAEA,EAAE,GAAG,CAAC,SAASD,CAAC,EAAE,OAAOC,EAAE,QAAQ,CAAC,OAAO,CAAC,SAASD,CAAC,EAAEA,EAAE,KAAK,CAAC,CAAC,EAAEA,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG5mB,EAAE4mB,GAAG,OAAO,CAAC,SAASA,CAAC,EAAE,IAAIxzB,EAAEyH,EAAE+rB,EAAEG,EAAEkB,EAAExwB,GAAG,CAAC,GAAIrE,CAAAA,EAAE,OAAO,CAACA,EAAE,OAAO,EAAEqE,EAAE,OAAO,CAACmvB,EAAEC,EAAE,QAAQ,CAAC,IAAIhwB,EAAEzD,EAAE,MAAM,AAACA,CAAAA,EAAE,QAAQ,CAAC,CAAC,EAAEA,EAAE,SAAS,CAACyzB,EAAE,SAAS,CAACzzB,EAAE,MAAM,CAACu0B,EAAE,GAAG,CAAC9wB,GAAG+vB,EAAEI,EAAEnwB,EAAE+vB,GAAGC,EAAE,KAAK,CAAC,CAAC,EAAEA,EAAE,SAAS,CAAC,CAAC,EAAEA,EAAE,IAAI,CAACzzB,EAAE,MAAM,EAAE,AAACA,CAAAA,EAAEi0B,EAAEj0B,EAAC,EAAG,KAAK,CAAC,CAAC,EAAEA,EAAE,SAAS,CAAC,CAAC,EAAEA,EAAE,QAAQ,CAACwzB,GAAIC,CAAAA,EAAE,QAAQ,CAACzzB,EAAE,QAAQ,AAAD,EAAGyzB,EAAE,QAAQ,CAAC,IAAI,CAACzzB,EAAE,GAAGyzB,EAAE,IAAI,CAAC,GAAGA,EAAE,KAAK,GAAGA,EAAE,QAAQ,EAAEA,EAAE,OAAO,GAAGA,CAAC,EAAEA,CAAC,EAAEQ,EAAE,MAAM,CAAC,SAAST,CAAC,CAACxzB,CAAC,EAAE,OAAOyE,KAAK,KAAK,CAACA,KAAK,MAAM,GAAIzE,CAAAA,EAAEwzB,EAAE,IAAIA,CAAC,EAAES,CAAC,IAAa5jB,EAAwtH2oD,KAAttHh1C,EAA2tHsR,EAAE,KAAK,CAA9sHt1B,EAAE,CAAC,UAAU,CAAC,EAAE,YAAY,KAAK,EAAE,UAAU,KAAK,EAAE,aAAa,KAAK,EAAE,WAAW,KAAK,EAAE,WAAW,IAAI,YAAY,GAAG,EAAEwzB,EAAE,SAASA,CAAC,EAAE,SAASC,EAAED,CAAC,CAACxzB,CAAC,EAAEy8B,GAAgB,IAAI,CAAChJ,GAAG,IAAIhwB,EAAE80D,GAA2B,IAAI,CAAC,AAAC9kC,CAAAA,EAAE,SAAS,EAAEl0B,OAAO,cAAc,CAACk0B,EAAC,EAAG,IAAI,CAAC,IAAI,CAACA,EAAED,EAAExzB,GAAI,CAACyD,CAAAA,EAAE,EAAE,CAAC,aAAa,CAACA,CAAAA,EAAG,OAAO,CAAC4M,EAAE,MAAM,CAAC,CAAC,EAAEojB,EAAE,QAAQ,CAACzzB,GAAGyD,EAAE,QAAQ,CAACA,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,QAAQ,CAAC,uBAAuBA,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAGA,EAAE,mBAAmB,GAAG,IAAIY,EAAEZ,EAAE,GAAG,CAAC,QAAQ,CAAC,aAAa,QAAQ,CAAC,qBAAqB,OAAOA,EAAE,OAAO,CAAC,SAAS,CAACY,EAAE,KAAK,GAAG,GAAG,CAAC,UAAU,SAASA,EAAE,GAAG,CAAC,UAAU,SAASZ,CAAC,CAAC,OAAOg1D,GAAUhlC,EAAEqlC,IAAWR,GAAa7kC,EAAE,CAAC,CAAC,IAAI,UAAU,MAAM,WAAW,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAIzzB,EAAE,IAAI,AAAC,KAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAASwzB,CAAC,EAAEA,EAAE,gBAAgB,CAAC,UAAUxzB,EAAE,8BAA8B,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAIA,EAAE,IAAI,AAAC,KAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAASwzB,CAAC,EAAEA,EAAE,mBAAmB,CAAC,UAAUxzB,EAAE,8BAA8B,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,0BAA0B,MAAM,SAASwzB,CAAC,EAAE,IAAIxzB,EAAEqQ,EAAEmjB,EAAE,MAAM,EAAE,OAAO,CAAC,uBAAuB,GAAGA,EAAE,MAAM,EAAExzB,EAAE,MAAM,CAAC,CAAC,IAAIyD,EAAEzD,EAAE,OAAO,CAAC,gBAAgB,GAAGyD,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAIY,EAAErE,EAAE,OAAO,CAAC,MAAMyzB,EAAEhwB,EAAE,QAAQ,CAAC,MAAMmJ,EAAEvI,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAUyB,EAAE2tB,EAAE,KAAK,CAACpvB,EAAGuI,CAAAA,EAAE,IAAI,CAAC,KAAK,CAAC9G,GAAG,IAAI,CAAC,IAAI,CAACA,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,4BAA4B,MAAM,SAAS0tB,CAAC,EAAE,KAAKA,EAAE,OAAO,EAAE,IAAI,CAAC,4BAA4B,CAACA,EAAE,CAAC,EAAE,CAAC,IAAI,aAAa,MAAM,SAASA,CAAC,EAAE,IAAIxzB,EAAE,IAAI,CAACyD,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC+vB,GAAG,GAAG/vB,EAAE,MAAM,CAAC,CAAC,IAAIY,EAAEZ,EAAE,QAAQ,CAAC,oBAAqBugB,CAAAA,EAAE,MAAM,CAAC3f,CAAC,CAAC,EAAE,EAAEA,EAAE,GAAG,CAAC,CAAC,QAAQ,QAAQ,SAAS,SAAS,OAAO,EAAE,WAAW,GAAG,cAAc,EAAE,GAAG,IAAIovB,EAAEpvB,EAAE,GAAG,CAAC,eAAeuI,EAAEvI,EAAE,GAAG,CAAC,kBAAkByB,EAAEzB,CAAC,CAAC,EAAE,CAAC,YAAY,AAACA,CAAAA,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG2f,EAAE,CAAC,QAAQ3f,CAAC,CAAC,EAAE,CAAC,OAAOyB,EAAE,WAAW2tB,EAAE,cAAc7mB,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,iBAAiB,SAAS,SAAS4mB,CAAC,EAAEnvB,EAAE,GAAG,CAAC,CAAC,SAAS,GAAG,WAAW,GAAG,cAAc,GAAG,OAAO,EAAE,GAAG,YAAY,OAAOrE,EAAE,OAAO,CAAC,SAAS,EAAEA,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAACA,EAAEyD,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAAS+vB,CAAC,EAAE,IAAIxzB,EAAE,IAAI,CAACyD,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC+vB,GAAG,GAAG/vB,EAAE,MAAM,CAAC,CAAC,IAAIY,EAAEZ,EAAE,QAAQ,CAAC,oBAAqBugB,CAAAA,EAAE,MAAM,CAAC3f,CAAC,CAAC,EAAE,EAAEA,EAAE,GAAG,CAAC,WAAW,UAAU2f,EAAE,CAAC,QAAQ3f,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,iBAAiB,SAAS,WAAWA,EAAE,GAAG,CAAC,CAAC,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,EAAE,GAAG,YAAY,OAAOrE,EAAE,OAAO,CAAC,UAAU,EAAEA,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAACA,EAAEyD,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,MAAM,SAAS+vB,CAAC,EAAE,IAAI/vB,EAAE,IAAI,CAACzD,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAACwzB,GAAG,GAAGxzB,EAAE,MAAM,EAAE,CAACA,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAACA,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAIqE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,SAASmvB,CAAC,EAAE,IAAIxzB,EAAEqE,EAAE,KAAK,CAACgM,EAAEmjB,IAAI/vB,EAAE,KAAK,CAACzD,EAAE,EAAE,CAACA,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,UAAU,CAACwzB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,MAAM,SAASA,CAAC,EAAE,IAAIxzB,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAACwzB,EAAGxzB,CAAAA,EAAE,MAAM,EAAEA,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAY,aAAY,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAACA,CAAC,CAAC,EAAE,EAAEA,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,WAAW,CAACwzB,EAAC,CAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,SAASA,CAAC,CAACxzB,CAAC,EAAE,OAAOq4D,GAAK5kC,EAAE,SAAS,EAAEl0B,OAAO,cAAc,CAACk0B,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACD,EAAExzB,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASwzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,aAAa,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAOxzB,CAAC,CAAC,EAAE,EAAEyzB,CAAC,IAAI6B,EAAE,WAAW,CAAC9B,EAAE8B,EAAE,YAAY,EAAEA,EAAE,uBAAuB,CAAC9B,EAAE,cAAc,iBAAyCE,EAAyoSslC,KAAvoSv1D,EAA4oS6xB,EAAE,KAAK,CAA/nSt1B,EAAE,CAAC,UAAU,OAAO,UAAU,CAAC,EAAE,eAAe,CAAC,EAAE,UAAU,KAAK,aAAa,CAAC,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,IAAI,YAAY,IAAI,YAAY,KAAK,UAAU,KAAK,aAAa,KAAK,WAAW,KAAK,YAAY,IAAI,EAAozRwzB,CAAlzRA,EAAE,SAASA,CAAC,EAAE,SAASnvB,EAAEmvB,CAAC,CAACxzB,CAAC,EAAEy8B,GAAgB,IAAI,CAACp4B,GAAG,IAAIZ,EAAE80D,GAA2B,IAAI,CAAC,AAACl0D,CAAAA,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,EAAC,EAAG,IAAI,CAAC,IAAI,CAACA,EAAEmvB,EAAExzB,IAAI,OAAOyD,EAAE,EAAE,CAAC,UAAU,CAACA,EAAEY,EAAE,UAAU,CAAC,IAAI,CAACZ,GAAGA,EAAE,EAAE,CAAC6xB,EAAE,gBAAgB,CAAC9B,GAAG/vB,EAAE,UAAU,CAACi1D,SAAS,cAAc,CAACj1D,EAAE,EAAE,EAAEA,EAAE,WAAW,CAACiwB,EAAEjwB,EAAE,UAAU,EAAEA,EAAE,OAAO,CAACiwB,EAAE,MAAM,CAAC,CAAC,EAAErvB,EAAE,QAAQ,CAACrE,GAAGyD,EAAE,MAAM,CAAC,CAAC,EAAEA,EAAE,YAAY,CAAC,CAAC,EAAEA,EAAE,aAAa,CAAC,CAAC,EAAEA,EAAE,YAAY,CAAC,GAAGA,EAAE,WAAW,CAAC,EAAE,CAACA,EAAE,OAAO,CAAC,SAAS,CAACiwB,EAAEjwB,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,CAACA,EAAE,UAAU,EAAEA,EAAE,GAAG,CAAC,KAAK,CAACA,EAAE,UAAU,EAAEA,EAAE,sBAAsB,GAAGA,EAAE,sBAAsB,CAACA,EAAE,iBAAiB,CAAC,IAAI,CAACA,GAAGA,EAAE,yBAAyB,CAACA,EAAE,oBAAoB,CAAC,IAAI,CAACA,GAAGA,EAAE,6BAA6B,CAACA,EAAE,wBAAwB,CAAC,IAAI,CAACA,GAAGA,EAAE,yBAAyB,CAACA,EAAE,oBAAoB,CAAC,IAAI,CAACA,GAAGA,EAAE,2BAA2B,CAACA,EAAE,sBAAsB,CAAC,IAAI,CAACA,GAAGA,EAAE,0BAA0B,CAACA,EAAE,qBAAqB,CAAC,IAAI,CAACA,GAAGA,EAAE,mBAAmB,GAAGA,CAAC,CAAC,OAAOg1D,GAAUp0D,EAAEy0D,IAAWR,GAAaj0D,EAAE,CAAC,CAAC,IAAI,UAAU,MAAM,WAAW,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,GAAGA,EAAE,UAAU,CAAC,MAAM,CAACA,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,UAAU,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAE,KAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,aAAa,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,aAAa,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,aAAa,IAAI,CAAC,sBAAsB,GAAI,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,UAAU,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAE,KAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,aAAa,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,aAAa,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,aAAa,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,IAAI,+BAA+B,MAAM,WAAWq0D,SAAS,IAAI,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,yBAAyB,CAAC,CAAC,GAAGA,SAAS,IAAI,CAAC,gBAAgB,CAAC,WAAW,IAAI,CAAC,yBAAyB,EAAEA,SAAS,IAAI,CAAC,gBAAgB,CAAC,YAAY,IAAI,CAAC,6BAA6B,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,IAAI,CAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC,IAAI,gCAAgC,MAAM,WAAWA,SAAS,IAAI,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,yBAAyB,CAAC,CAAC,GAAGA,SAAS,IAAI,CAAC,mBAAmB,CAAC,WAAW,IAAI,CAAC,yBAAyB,EAAEA,SAAS,IAAI,CAAC,mBAAmB,CAAC,YAAY,IAAI,CAAC,6BAA6B,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,UAAU,IAAI,CAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC,IAAI,eAAe,MAAM,SAASllC,CAAC,EAAEA,EAAE,cAAc,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,SAASA,CAAC,EAAE,IAAIxzB,EAAEwzB,EAAE,SAAS,EAAEA,EAAE,aAAa,CAAC/vB,EAAE,CAAC,CAACiwB,EAAE1zB,GAAG,OAAO,CAAC,qBAAqB,MAAM,CAACqE,EAAE,CAAC,EAAEovB,EAAEC,EAAE1zB,GAAG,OAAO,CAAC,oBAAqByzB,CAAAA,EAAE,MAAM,EAAEA,CAAC,CAAC,EAAE,CAAC,UAAU,EAAEA,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,EAAGpvB,CAAAA,EAAE,CAAC,GAAGA,GAAGZ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,SAAS+vB,CAAC,EAAE,IAAIxzB,EAAE,IAAI,CAACyD,EAAEiwB,EAAEF,EAAE,MAAM,CAAE,KAAI,CAAC,OAAO,CAAC,YAAY,EAAE/vB,EAAE,OAAO,CAAC,qBAAqB,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,CAACmI,WAAW,WAAW5L,EAAE,KAAK,EAAE,EAAE,GAAG,CAACyD,EAAE,OAAO,CAAC,qBAAqB,MAAM,EAAEA,EAAE,OAAO,CAAC,qBAAqB,MAAM,EAAEmI,WAAW,WAAW5L,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,wBAAwB,MAAM,SAASwzB,CAAC,EAAEA,EAAE,KAAK,GAAG8B,EAAE,IAAI,CAAC,UAAU,EAAE9B,EAAE,KAAK,GAAG8B,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAG9B,CAAAA,EAAE,cAAc,GAAG,IAAI,CAAC,IAAI,EAAC,CAAE,CAAC,EAAE,CAAC,IAAI,2BAA2B,MAAM,SAASA,CAAC,EAAEE,EAAEF,EAAE,MAAM,EAAE,OAAO,CAAC,qBAAqB,MAAM,EAAG,KAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,SAASA,CAAC,EAAE,GAAG,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAIxzB,EAAE0zB,EAAEF,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAACxzB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,yBAAyB,MAAM,SAASwzB,CAAC,EAAE,GAAGA,EAAE,KAAK,GAAG8B,EAAE,IAAI,CAAC,GAAG,CAAC9B,EAAE,cAAc,GAAG,IAAI,CAAC,KAAK,QAAQ,GAAGA,CAAAA,EAAE,KAAK,GAAG8B,EAAE,IAAI,CAAC,UAAU,EAAE9B,EAAE,KAAK,GAAG8B,EAAE,IAAI,CAAC,QAAQ,AAAD,GAAI,IAAI,CAAC,MAAM,CAA6O,CAAC9B,EAAE,cAAc,GAAG,IAAInvB,EAAEmvB,EAAE,KAAK,GAAG8B,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG7B,EAAE,IAAI,CAAC,YAAY,CAAC7mB,EAAE,CAAC,EAAE,GAAG,GAAG6mB,GAAGpvB,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAACovB,EAAE,EAAE,KAAK,IAAI,CAAC,UAAU,CAAC,QAAQ,CAACA,EAAE,CAAC,QAAQ,CAAC,CAAC7mB,EAAE,CAAC,EAAE,KAAK,OAAQ6mB,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAGA,EAAG7mB,CAAAA,GAAI,KAAI,CAAC,YAAY,CAAC6mB,EAAE,IAAI,CAAC,iBAAiB,EAAC,CAAE,MAA/f,GAAGD,EAAE,KAAK,GAAG8B,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,IAAIt1B,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAACyD,EAAEiwB,EAAE1zB,GAAG,IAAI,CAAC,aAAa,KAAK,EAAGyD,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAAC,KAAK,GAAGzD,GAAGA,EAAE,KAAK,EAAE,MAAMwzB,EAAE,KAAK,GAAG8B,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAG9B,CAAAA,EAAE,cAAc,GAAG,IAAI,CAAC,KAAK,EAAC,EAA2R,IAAI1tB,EAAEpB,OAAO,YAAY,CAAC8uB,EAAE,KAAK,EAAE,WAAW,GAAG,GAAG1tB,GAAG,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC0tB,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC1tB,GAAG,IAAIuK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI2T,EAAE0P,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,MAAM,CAAC,SAASF,CAAC,EAAE,OAAO,IAAIE,EAAEF,GAAG,IAAI,GAAG,WAAW,GAAG,OAAO,CAACnjB,EAAE,EAAE,CAAC,EAAE,AAAC2T,CAAAA,GAAI,KAAI,CAAC,YAAY,CAAC0P,EAAE1P,GAAG,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAC,CAAE,CAAC,IAAI,CAAC,aAAa,CAACpY,WAAW,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,WAAW,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,IAAI,GAAG,mBAAmB,GAAG,UAAU,GAAG,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,yBAAyB,MAAM,WAAW,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE8nB,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAC,SAASF,CAAC,EAAEA,EAAE,YAAY,CAAC,aAAaA,EAAE,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,qBAAqB,GAAG,IAAIA,EAAE,IAAI,CAAC,EAAE,CAAC,qBAAqB,GAAGxzB,EAAE,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAGyD,EAAEzD,EAAE,MAAM,CAACqE,EAAErE,EAAE,KAAK,CAACyzB,EAAED,EAAE,IAAI,CAACxzB,EAAE,IAAI,CAAC4M,EAAE4mB,EAAE,GAAG,CAACxzB,EAAE,GAAG,CAAC8F,EAAE,CAAC,KAAK2tB,EAAE,IAAI7mB,EAAE,OAAOnJ,EAAE,MAAMY,CAAC,EAAEgM,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC2T,EAAEsR,EAAE,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAACjlB,EAAEvK,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE0tB,EAAE,MAAM,EAAEE,EAAE,MAAM/mB,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAGC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE4mB,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAExP,EAAE,GAAG,EAAGA,CAAAA,EAAE,MAAM,CAAC0P,EAAE,SAAU,KAAI,CAAC,YAAY,CAAC,CAAC,EAAE1P,EAAE,UAAU,CAACA,EAAE,aAAa,CAAE0P,CAAAA,EAAE,SAASjwB,GAAGugB,EAAE,UAAU,CAACpX,GAAGoX,EAAE,UAAU,AAAD,EAAGvgB,GAAGugB,EAAE,aAAa,AAAD,CAAC,EAAG,CAACA,CAAC,CAACrX,EAAE,CAAC,CAAC,IAAIgnB,EAAE,SAAShnB,EAAE,QAAQ,MAAOqX,CAAAA,CAAC,CAAC2P,EAAE,CAAChnB,EAAEgnB,EAAE3P,EAAE,WAAW,CAACA,EAAE,YAAY,CAAErX,CAAAA,EAAE,QAAQtI,GAAG2f,EAAE,WAAW,CAACyP,GAAGzP,EAAE,WAAW,AAAD,EAAIrX,CAAAA,EAAE,OAAOtI,GAAG2f,EAAE,YAAY,AAAD,CAAE,CAAC,MAAM,WAAW0P,GAAI9mB,CAAAA,EAAEA,EAAE5M,EAAE,MAAM,CAAE,KAAI,CAAC,OAAO,CAAC,YAAY,CAACwzB,EAAE,MAAM,CAAC,EAAC,EAAG,UAAU7mB,GAAI8mB,CAAAA,EAAEA,EAAEzzB,EAAE,KAAK,CAACwzB,EAAE,KAAK,AAAD,EAAG,CAAC,EAAEC,EAAE,EAAE7mB,EAAE,kBAAkB8mB,EAAE,oBAAoB/mB,EAAE,OAAOlJ,EAAE,MAAMY,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,aAAa,MAAM,WAAW,IAAIrE,EAAE,IAAI,AAACyD,CAAAA,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,EAAEA,EAAE,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,OAAO,aAAa,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,eAAe,SAAS,SAAS+vB,CAAC,EAAExzB,EAAE,OAAO,CAAC,SAAS,EAAEA,EAAE,UAAU,CAAC,KAAK,GAAG,YAAY,OAAOA,EAAE,OAAO,CAAC,SAAS,EAAEA,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAACA,EAAEA,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,WAAW,IAAIA,EAAE,IAAI,AAACyD,CAAAA,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,EAAEA,EAAE,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,cAAc,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,eAAe,SAAS,SAAS+vB,CAAC,EAAExzB,EAAE,oBAAoB,GAAG,YAAY,OAAOA,EAAE,OAAO,CAAC,UAAU,EAAEA,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAACA,EAAEA,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,iBAAiB,MAAM,WAAW,IAAIwzB,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,KAAK,AAAC,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAACA,EAAE,KAAK,IAAIxzB,EAAE,IAAI,CAAC,oBAAoB,EAAG,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAACA,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAACA,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAACA,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAACA,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,AAAC,UAASA,EAAE,mBAAmB,CAAC,IAAI,MAAK,EAAG,IAAK,SAAQA,EAAE,iBAAiB,CAAC,IAAI,MAAK,CAAE,CAAC,EAAE,CAAC,IAAI,OAAO,MAAM,WAAW,IAAI,CAAC,MAAM,EAAG,KAAI,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,4BAA4B,EAAC,CAAE,CAAC,EAAE,CAAC,IAAI,QAAQ,MAAM,WAAW,IAAI,CAAC,MAAM,EAAG,KAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAC,CAAE,CAAC,EAAE,CAAC,IAAI,wBAAwB,MAAM,WAAW,IAAI,CAAC,MAAM,EAAG,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,IAAI,GAAG,mBAAmB,EAAE,GAAG,IAAI,CAAC,cAAc,EAAC,CAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,SAASwzB,CAAC,CAACxzB,CAAC,EAAE,OAAOq4D,GAAKh0D,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACmvB,EAAExzB,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASwzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,UAAU,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAOxzB,CAAC,CAAC,EAAE,EAAEqE,CAAC,KAAM,UAAU,CAAC,EAAE,CAACixB,EAAE,QAAQ,CAAC9B,EAAE8B,EAAE,YAAY,EAAEA,EAAE,uBAAuB,CAAC9B,EAAE,WAAW,cAAsCC,EAAw4JulC,KAAt4Jv1D,EAA24J6xB,EAAE,KAAK,CAA93Jt1B,EAAE,CAAC,QAAQ,GAAG,WAAW,IAAI,YAAY,IAAI,YAAY,KAAK,UAAU,KAAK,aAAa,KAAK,WAAW,KAAK,iBAAiB,CAAC,EAAE,YAAY,CAAC,EAAE,YAAY,KAAK,UAAU,KAAK,EAA2lJwzB,CAAzlJA,EAAE,SAASA,CAAC,EAAE,SAASnvB,EAAEmvB,CAAC,CAACxzB,CAAC,EAAEy8B,GAAgB,IAAI,CAACp4B,GAAG,IAAIZ,EAAE80D,GAA2B,IAAI,CAAC,AAACl0D,CAAAA,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,EAAC,EAAG,IAAI,CAAC,IAAI,CAACA,EAAEmvB,EAAExzB,IAAI,MAAM,AAACyD,CAAAA,EAAE,EAAE,CAAC,OAAO,CAACA,CAAAA,EAAG,OAAO,CAACgwB,EAAE,MAAM,CAAC,CAAC,EAAEpvB,EAAE,QAAQ,CAACrE,GAAGyD,EAAE,MAAM,CAAC,CAAC,EAAEA,EAAE,EAAE,CAACA,EAAE,GAAG,CAAC,IAAI,CAAC,MAAMA,EAAE,eAAe,CAAC,KAAK,EAAEA,EAAE,QAAQ,CAACgwB,EAAE,qCAAqChwB,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAEA,EAAE,eAAe,CAAC,EAAEY,EAAE,MAAM,GAAGZ,EAAE,mBAAmB,GAAGA,CAAC,CAAC,OAAOg1D,GAAUp0D,EAAEy0D,IAAWR,GAAaj0D,EAAE,CAAC,CAAC,IAAI,UAAU,MAAM,WAAWA,EAAE,MAAM,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAIA,EAAE,MAAM,EAAEq0D,SAAS,IAAI,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAIr0D,EAAE,MAAM,EAAEq0D,SAAS,IAAI,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,SAASllC,CAAC,EAAE,IAAIxzB,EAAEyzB,EAAED,EAAE,MAAM,EAAE,OAAO,CAAC,kBAAkB,GAAGxzB,EAAE,MAAM,CAAC,CAAC,IAAIyD,EAAE6xB,EAAE,gBAAgB,CAACt1B,CAAC,CAAC,EAAE,EAAEqE,EAAEq0D,SAAS,cAAc,CAACj1D,GAAG,OAAO,AAACY,CAAAA,GAAGA,EAAE,IAAI,CAACrE,GAAGwzB,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,yBAAyB,MAAM,SAASA,CAAC,EAAEC,EAAED,EAAE,MAAM,EAAE,OAAO,CAAC,gBAAgB,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,iBAAiB,MAAM,SAASA,CAAC,EAAE,KAAKA,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,eAAe,MAAM,SAASA,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAACA,EAAE,MAAM,GAAG,IAAI,CAAC,eAAe,GAAGnvB,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,aAAa,MAAM,WAAW,IAAImvB,EAAE,IAAI,AAACC,CAAAA,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,QAAQ,QAAQ,CAAC,GAAGA,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,QAAQ,QAAQ,CAAC,GAAGhwB,EAAE,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,aAAa,GAAG,IAAIzD,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,eAAe,SAAS,WAAW,YAAY,OAAOwzB,EAAE,OAAO,CAAC,SAAS,EAAEA,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAACA,EAAEA,EAAE,EAAE,CAACA,EAAE,eAAe,CAAC,CAAC,CAAE,KAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgBC,EAAE,MAAM,CAACzzB,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAGyzB,EAAE,MAAM,CAACzzB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAGyD,EAAEzD,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,WAAW,IAAIwzB,EAAE,IAAI,CAAC/vB,EAAE,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,cAAc,GAAG,IAAIzD,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,eAAe,SAAS,WAAWwzB,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAOA,EAAE,QAAQ,CAAC,MAAM,GAAG,YAAY,OAAOA,EAAE,OAAO,CAAC,UAAU,EAAEA,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAACA,EAAEA,EAAE,EAAE,CAAC,CAAC,CAAE,KAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgBC,EAAE,MAAM,CAACzzB,EAAE,CAAC,OAAO,QAAQ,QAAQ,CAAC,GAAGyzB,EAAE,MAAM,CAACzzB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,EAAE,GAAGyD,EAAEzD,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,MAAM,SAASwzB,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAEnvB,EAAE,WAAW,GAAG,IAAI,CAAC,eAAe,CAACA,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAEA,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAEA,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,eAAe,CAACmvB,EAAEA,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAGklC,CAAAA,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAO,EAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAEA,SAAS,gBAAgB,CAAC,UAAU,IAAI,CAAC,mBAAmB,EAAEA,SAAS,gBAAgB,CAAC,QAAQ,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAC,EAAGj1D,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAEA,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAEY,EAAE,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,IAAIA,EAAE,WAAW,EAAGq0D,CAAAA,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAC,EAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAGA,CAAAA,SAAS,mBAAmB,CAAC,UAAU,IAAI,CAAC,mBAAmB,EAAEA,SAAS,mBAAmB,CAAC,QAAQ,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAC,EAAGj1D,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAEA,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,SAAS+vB,CAAC,CAACxzB,CAAC,EAAE,OAAOq4D,GAAKh0D,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACmvB,EAAExzB,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASwzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,OAAO,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAOxzB,CAAC,CAAC,EAAE,EAAEqE,CAAC,KAAM,WAAW,CAAC,EAAEmvB,EAAE,MAAM,CAAC,EAAE8B,EAAE,KAAK,CAAC9B,EAAE8B,EAAE,YAAY,EAAEA,EAAE,uBAAuB,CAAC9B,EAAE,QAAQ,WAAmC5mB,EAAk7NosD,KAAh7NlzD,EAAq7NwvB,EAAE,KAAK,CAAx6Nt1B,EAAE,CAAC,WAAW,IAAI,YAAY,IAAI,YAAY,KAAK,UAAU,KAAK,aAAa,KAAK,WAAW,IAAI,EAAEwzB,EAAE,SAASA,CAAC,EAAE,SAASnvB,EAAEmvB,CAAC,CAACxzB,CAAC,EAAEy8B,GAAgB,IAAI,CAACp4B,GAAG,IAAIZ,EAAE80D,GAA2B,IAAI,CAAC,AAACl0D,CAAAA,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,EAAC,EAAG,IAAI,CAAC,IAAI,CAACA,EAAEmvB,EAAExzB,IAAI,MAAM,AAACyD,CAAAA,EAAE,EAAE,CAAC,aAAa,CAACA,CAAAA,EAAG,OAAO,CAACmJ,EAAE,MAAM,CAAC,CAAC,EAAEvI,EAAE,QAAQ,CAACrE,GAAGyD,EAAE,aAAa,CAAC,CAAC,EAAEA,EAAE,aAAa,CAAC,CAAC,EAAEA,EAAE,WAAW,CAACmJ,EAAE,eAAe,QAAQ,CAAC,wBAAwBnJ,EAAE,aAAa,CAAC,EAAEA,EAAE,cAAc,CAAC,EAAEA,EAAE,kBAAkB,CAACA,EAAE,GAAG,CAAC,IAAI,CAAC,SAASA,EAAE,OAAO,CAACA,EAAE,EAAE,CAAC,YAAY,CAAC,iBAAiB,GAAGA,EAAE,GAAG,CAAC,MAAM,CAACA,EAAE,WAAW,EAAEA,EAAE,WAAW,CAAC,MAAM,CAACA,EAAE,GAAG,EAAEA,EAAE,mBAAmB,GAAGA,CAAC,CAAC,OAAOg1D,GAAUp0D,EAAEy0D,IAAWR,GAAaj0D,EAAE,CAAC,CAAC,IAAI,UAAU,MAAM,WAAW,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,EAAEuI,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,IAAI,0BAA0B,MAAM,SAAS4mB,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,SAASA,CAAC,EAAE,KAAKA,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,gCAAgC,MAAM,WAAW,IAAI,CAAC,gBAAgB,CAAC5mB,IAAI,IAAI,IAAI4mB,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,OAAOA,GAAG,CAAC5mB,EAAE4mB,GAAG,EAAE,CAACklC,WAAW,CAAC,IAAI14D,EAAE4M,EAAE4mB,EAAG,aAAYxzB,EAAE,GAAG,CAAC,aAAcA,CAAAA,EAAE,GAAG,CAAC,WAAW,WAAW,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAACA,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAACA,EAAC,EAAGwzB,EAAEA,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,kBAAkB,MAAM,WAAW,IAAIA,EAAE,IAAI,CAACxzB,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAKs1B,EAAE,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAIA,EAAE,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,SAAS,WAAW9B,EAAE,aAAa,CAAC,CAAC,EAAE,YAAY,OAAOA,EAAE,OAAO,CAAC,SAAS,EAAEA,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAACA,EAAEA,EAAE,EAAE,CAAC,CAAC,CAAE,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,SAAS,IAAI,CAAC,QAAQ,EAAGxzB,CAAAA,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,AAAD,EAAG,SAAS,IAAI,CAAC,SAAS,EAAGA,CAAAA,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,AAAD,EAAG8F,EAAE9F,EAAE,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,WAAW,IAAIwzB,EAAE,IAAI,CAAslB1tB,EAAnlB,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,cAAc,SAAS,WAAW0tB,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,EAAE,GAAGA,EAAE,SAAS,EAAEA,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQA,EAAE,SAAS,EAAEA,EAAE,UAAU,EAAEA,EAAE,GAAG,CAAC,IAAI,CAAC,SAASA,EAAE,UAAU,EAAEA,EAAE,GAAG,CAAC,UAAU,CAAC,SAASA,EAAE,kBAAkB,EAAEA,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQA,EAAE,kBAAkB,EAAEA,EAAE,GAAG,CAAC,WAAW,CAAC,UAAUA,EAAE,aAAa,CAAC,CAAC,EAAEA,EAAE,gBAAgB,CAAC,MAAM,EAAEA,EAAE,gBAAgB,CAAC,GAAG,CAAC,WAAW,IAAI,YAAY,OAAOA,EAAE,OAAO,CAAC,UAAU,EAAEA,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAACA,EAAEA,EAAE,EAAE,CAAC,CAAC,EAAM,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,WAAW,IAAI,CAAC,WAAW,CAACvzB,OAAO,UAAU,CAAC,IAAI,CAAC,YAAY,CAACA,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,MAAM,WAAW,IAAIuzB,EAAE,IAAI,AAAC,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,qBAAqB,GAAG,KAAK,CAAC,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,qBAAqB,GAAG,MAAM,CAAC,KAAK,SAAS,WAAW,IAAI,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,WAAW,UAAU,IAAI,cAAc,0BAA0B,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,EAAG,KAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAO,EAAG,IAAI,CAAC,UAAU,EAAG,KAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAQ,EAAG,IAAI,CAAC,QAAQ,CAAC5mB,EAAE,wCAAwC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,QAAQ,WAAW4mB,EAAE,aAAa,EAAEA,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAIxzB,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,qBAAqB,EAAG,KAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,KAAK,GAAGA,EAAE,IAAI,CAAC,KAAK,IAAI,GAAGA,EAAE,GAAG,CAAC,IAAI,GAAG8F,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAEA,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAEA,EAAE,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,aAAa,GAAG,KAAK,IAAI,CAAC,OAAO,EAAG,KAAI,CAAC,aAAa,EAAEA,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC8G,EAAE,2CAA2C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAEA,EAAE,QAAQ,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,QAAQ,GAAG9G,EAAE,CAAC,QAAQ,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,aAAa,EAAC,EAAG,IAAIrC,EAAE,EAAEY,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAACovB,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,AAAC,KAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAEA,EAAEpvB,EAAGZ,CAAAA,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,WAAW,CAACA,CAAAA,EAAIA,CAAAA,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,YAAY,CAACA,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,AAAD,EAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAExD,OAAO,gBAAgB,CAAC,SAAS,IAAI,CAAC,wBAAwB,EAAEA,OAAO,gBAAgB,CAAC,SAAS,IAAI,CAAC,wBAAwB,EAAEA,OAAO,gBAAgB,CAAC,QAAQ,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,MAAM,WAAW,IAAIuzB,EAAE,IAAI,AAAC,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE1tB,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAEA,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,OAAO,EAAEA,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE7F,OAAO,mBAAmB,CAAC,SAAS,IAAI,CAAC,wBAAwB,EAAEA,OAAO,mBAAmB,CAAC,SAAS,IAAI,CAAC,wBAAwB,EAAEA,OAAO,mBAAmB,CAAC,QAAQ,IAAI,CAAC,wBAAwB,EAAE6F,EAAE,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,cAAc,SAAS,WAAW0tB,EAAE,aAAa,CAAC,CAAC,EAAEA,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,GAAG,KAAK,IAAI,CAAC,OAAO,EAAE1tB,EAAE,CAAC,QAAQ,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,cAAc,SAAS,WAAW0tB,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,SAASA,CAAC,CAACxzB,CAAC,EAAE,OAAOq4D,GAAKh0D,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACmvB,EAAExzB,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASwzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,aAAa,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAOxzB,CAAC,CAAC,EAAE,EAAEqE,CAAC,IAAIixB,EAAE,WAAW,CAAC9B,EAAE8B,EAAE,YAAY,EAAEA,EAAE,uBAAuB,CAAC9B,EAAE,cAAc,iBAAyCC,EAAyhFulC,KAArgFh5D,EAAE,CAAC,oBAAoB,CAAC,EAAy4EwzB,CAAv4EA,EAAE,SAASA,CAAC,EAAE,SAASnvB,EAAEmvB,CAAC,CAACxzB,CAAC,EAAEy8B,GAAgB,IAAI,CAACp4B,GAAG,IAAIZ,EAAE80D,GAA2B,IAAI,CAAC,AAACl0D,CAAAA,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,EAAC,EAAG,IAAI,CAAC,IAAI,CAACA,EAAEmvB,EAAExzB,IAAI,MAAM,AAACyD,CAAAA,EAAE,EAAE,CAAC,UAAU,CAACA,CAAAA,EAAG,OAAO,CAACgwB,EAAE,MAAM,CAAC,CAAC,EAAEpvB,EAAE,QAAQ,CAACrE,GAAGyD,EAAE,QAAQ,CAACxD,OAAO,UAAU,CAACwD,EAAE,OAAO,CAAC,mBAAmB,CAACA,EAAE,IAAI,CAACA,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,GAAGA,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAEgwB,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,GAAGhwB,EAAE,eAAe,GAAGA,EAAE,mBAAmB,GAAGA,EAAE,YAAY,GAAGY,EAAE,WAAW,CAAC,IAAI,CAACZ,GAAGA,CAAC,CAAC,OAAOg1D,GAAUp0D,EAAEy0D,IAAWR,GAAaj0D,EAAE,CAAC,CAAC,IAAI,UAAU,MAAM,WAAWA,EAAE,WAAW,CAAC,MAAM,CAACA,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,OAAO,IAAI,CAAC,qBAAqB,EAAE,IAAIA,EAAE,WAAW,CAAC,MAAM,EAAGA,CAAAA,EAAE,sBAAsB,CAACixB,EAAE,QAAQ,CAACjxB,EAAE,aAAa,CAAC,GAAGpE,OAAO,gBAAgB,CAAC,SAASoE,EAAE,sBAAsB,EAAEA,EAAE,4BAA4B,CAACixB,EAAE,QAAQ,CAACjxB,EAAE,mBAAmB,CAAC,GAAGpE,OAAO,gBAAgB,CAAC,SAASoE,EAAE,4BAA4B,EAAE,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,OAAO,IAAI,CAAC,qBAAqB,EAAE,IAAIA,EAAE,WAAW,CAAC,MAAM,EAAGpE,CAAAA,OAAO,mBAAmB,CAAC,SAASoE,EAAE,sBAAsB,EAAEpE,OAAO,mBAAmB,CAAC,SAASoE,EAAE,4BAA4B,EAAE,CAAC,EAAE,CAAC,IAAI,eAAe,MAAM,WAAW,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,WAAW,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,IAAI,kBAAkB,MAAM,WAAW,IAAImvB,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAIxzB,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAACwzB,EAAE/vB,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC+vB,EAAEnvB,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAACovB,EAAE6B,EAAE,oBAAoB,GAAG1oB,EAAE3M,OAAO,WAAW,AAAqB,KAAI,CAAC,QAAQ,CAACwzB,EAAEhwB,GAAGY,EAAEovB,EAAE7mB,GAAI,KAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,qBAA1E5M,AAAIyzB,CAAAA,EAAE7mB,EAAEvI,CAAAA,EAAImvB,CAAAA,EAAE5mB,CAAAA,EAAd5M,EAAiG,QAAO,EAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,SAASwzB,CAAC,CAACxzB,CAAC,EAAE,OAAOq4D,GAAKh0D,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACmvB,EAAExzB,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASwzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,UAAU,CAAC,EAAE,CAAC,IAAI,gBAAgB,MAAM,WAAW,IAAI,IAAIA,EAAE,EAAEA,EAAEnvB,EAAE,WAAW,CAAC,MAAM,CAACmvB,IAAI,CAAC,IAAIxzB,EAAEqE,EAAE,WAAW,CAACmvB,EAAE,CAACxzB,EAAE,eAAe,CAAC,IAAI,CAACA,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,IAAIwzB,EAAE,EAAEA,EAAEnvB,EAAE,WAAW,CAAC,MAAM,CAACmvB,IAAI,CAAC,IAAIxzB,EAAEqE,EAAE,WAAW,CAACmvB,EAAE,AAACxzB,CAAAA,EAAE,QAAQ,CAACC,OAAO,UAAU,CAACD,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAOA,CAAC,CAAC,EAAE,EAAEqE,CAAC,KAAM,WAAW,CAAC,EAAE,CAACixB,EAAE,QAAQ,CAAC9B,EAAE8B,EAAE,YAAY,EAAEA,EAAE,uBAAuB,CAAC9B,EAAE,WAAW,cAA8B1tB,EAAgyLkzD,KAA9xLvlC,EAAmyL6B,EAAE,KAAK,CAAtxLt1B,EAAE,CAAC,SAAS,IAAI,OAAO,KAAK,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAEwzB,EAAE,SAASA,CAAC,EAAE,SAASnvB,EAAEmvB,CAAC,CAACxzB,CAAC,EAAEy8B,GAAgB,IAAI,CAACp4B,GAAG,IAAIZ,EAAE80D,GAA2B,IAAI,CAAC,AAACl0D,CAAAA,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,EAAC,EAAG,IAAI,CAAC,IAAI,CAACA,EAAEmvB,EAAExzB,IAAI,MAAM,AAACyD,CAAAA,EAAE,EAAE,CAAC,MAAM,CAACA,CAAAA,EAAG,OAAO,CAACqC,EAAE,MAAM,CAAC,CAAC,EAAEzB,EAAE,QAAQ,CAACrE,GAAGyD,EAAE,SAAS,CAACA,EAAE,GAAG,CAAC,QAAQ,CAAC,UAAU,QAAQ,CAAC,KAAKA,EAAE,KAAK,CAAC,EAAEA,EAAE,mBAAmB,GAAGA,EAAE,OAAO,CAAC,SAAS,CAACA,EAAE,mBAAmB,GAAGA,EAAE,gBAAgB,GAAGA,EAAE,mBAAmB,GAAGA,EAAE,gBAAgB,GAAGA,EAAE,mBAAmB,GAAGA,CAAC,CAAC,OAAOg1D,GAAUp0D,EAAEy0D,IAAWR,GAAaj0D,EAAE,CAAC,CAAC,IAAI,UAAU,MAAM,WAAW,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAEpE,OAAO,gBAAgB,CAAC,SAAS,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAWA,OAAO,mBAAmB,CAAC,SAAS,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,mBAAmB,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,SAAS,EAAG,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAG,CAAE,CAAC,EAAE,CAAC,IAAI,kBAAkB,MAAM,SAASuzB,CAAC,EAAE,IAAIxzB,EAAE,IAAI,CAACyD,EAAEqC,EAAE0tB,EAAE,MAAM,EAAE,OAAO,CAAC,UAAUnvB,EAAEyB,EAAE0tB,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,GAAGnvB,EAAE,MAAM,EAAEA,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAO,GAAGZ,EAAE,QAAQ,CAAC,YAAY+vB,EAAE,cAAc,QAAQ,GAAG,CAACnvB,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,IAAIovB,EAAE,IAAI,CAAC,QAAQ,AAAC,KAAI,CAAC,cAAc,CAACpvB,EAAE,IAAI,CAAC,QAAQ,CAACyB,EAAEwvB,EAAE,UAAU,CAACjxB,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,QAAQ,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,IAAIuI,EAAE,IAAI,CAAC,KAAK,AAAC,KAAI,CAAC,KAAK,CAACnI,KAAK,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAACJ,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,YAAY,OAAOrE,EAAE,OAAO,CAAC,MAAM,EAAEA,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAACA,EAAEA,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAG,KAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAEyzB,EAAE,MAAM,EAAE,CAACA,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAIA,CAAAA,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAOA,EAAE,WAAW,CAAC,SAAQ,CAAC,EAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC7mB,GAAG4mB,EAAE,cAAc,EAAE,EAAC,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,WAAW,IAAIA,EAAE,IAAI,CAACxzB,EAAE04D,SAAS,aAAa,CAAC,KAAM14D,CAAAA,EAAE,SAAS,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC,WAAW,CAACA,GAAG,IAAI,CAAC,UAAU,CAACA,EAAE4L,WAAW,WAAW4nB,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAACA,EAAE,YAAY,CAACA,EAAE,cAAc,EAAE,KAAKA,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAACA,EAAE,aAAa,CAACA,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,cAAc,CAAC1tB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU+zD,SAAS,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,QAAQ,CAAC,YAAY,KAAK,EAAC,EAAG,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,QAAQ,CAAC,KAAK,KAAK,EAAC,EAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,KAAK,CAACp1D,KAAK,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAG,KAAI,CAAC,QAAQ,CAACqB,EAAEwvB,EAAE,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAQ,CAAE,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI7xB,EAAE,IAAI,AAACxD,CAAAA,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAG,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,IAAIoE,EAAEyB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS0tB,CAAC,EAAE,IAAIxzB,EAAE8F,EAAEwvB,EAAE,UAAU,CAAC9B,EAAE,IAAI,EAAGxzB,CAAAA,EAAE,QAAQ,CAAC,iBAAiBqE,EAAEA,EAAE,GAAG,CAACrE,EAAE,GAAG,IAAIwzB,EAAE1tB,EAAE,4DAA6DzB,CAAAA,EAAE,KAAK,GAAG,MAAM,CAACmvB,GAAGA,EAAE,MAAM,CAACnvB,GAAGA,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAIrE,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,KAAK,EAAG,KAAI,CAAC,aAAa,CAACs1B,EAAE,QAAQ,CAAC,IAAI,CAAC9B,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,SAASA,CAAC,EAAE,IAAIxzB,EAAEyD,EAAE,KAAK,AAACA,CAAAA,EAAE,KAAK,CAACqC,EAAE0tB,GAAG,KAAK,GAAG/vB,EAAE,cAAc,CAAC,WAAW,CAAC,UAAUA,EAAE,cAAc,CAACA,EAAE,SAAS,CAAC,EAAE,CAACA,EAAE,KAAK,EAAEA,EAAE,cAAc,CAAC,QAAQ,CAAC,UAAUA,EAAE,iBAAiB,CAACzD,GAAG,YAAY,OAAOyD,EAAE,OAAO,CAAC,MAAM,EAAEA,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAACA,EAAEA,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAACzD,EAAE,CAAC,EAAE,CAAC,IAAI,yBAAyB,MAAM,WAAW,IAAIwzB,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,AAAC,KAAI,CAAC,aAAa,CAAC,OAAO,GAAGA,EAAE,KAAK,CAACA,EAAE,QAAQ,IAAIA,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,WAAW,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAASA,CAAC,EAAE,GAAGA,EAAE,IAAI,CAAC,CAAC,IAAIxzB,EAAE8F,EAAEwvB,EAAE,UAAU,CAAC9B,EAAE,IAAI,EAAGxzB,CAAAA,EAAE,MAAM,EAAGA,CAAAA,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAK,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAASwzB,CAAC,EAAE,GAAGA,EAAE,IAAI,CAAC,CAAC,IAAIxzB,EAAE8F,EAAEwvB,EAAE,UAAU,CAAC9B,EAAE,IAAI,EAAGxzB,CAAAA,EAAE,MAAM,EAAGA,CAAAA,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAC,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAACyE,KAAK,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,gBAAgB,MAAM,SAAS+uB,CAAC,EAAE,OAAO/uB,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC+uB,EAAE,QAAQ,GAAG,IAAI,CAACA,CAAC,CAAC,EAAE,CAAC,qBAAqB,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,eAAe,MAAM,SAASA,CAAC,EAAE,OAAO/uB,KAAK,KAAK,CAAC+uB,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,qBAAqB,MAAM,WAAW,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,SAASA,CAAC,EAAE,IAAIxzB,EAAE,EAAEyD,EAAE,CAAE,IAAG,IAAI,CAAC,KAAK,CAAC+vB,EAAExzB,EAAE,GAAGyD,EAAE,GAAG,IAAIY,EAAE,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,MAAMrE,CAAC,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,MAAMyD,CAAC,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,aAAa,CAAEgwB,CAAAA,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,EAAEA,EAAEpvB,EAAE,CAAC,EAAE,CAAC,IAAI,SAAS,MAAM,SAASmvB,CAAC,EAAE,IAAIxzB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAWwzB,EAAE,KAAMxzB,CAAAA,EAAE,MAAM,EAAEA,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,SAASwzB,CAAC,CAACxzB,CAAC,EAAE,OAAOq4D,GAAKh0D,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACmvB,EAAExzB,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASwzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,MAAM,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAOxzB,CAAC,CAAC,EAAE,EAAEqE,CAAC,IAAIixB,EAAE,IAAI,CAAC9B,EAAE8B,EAAE,YAAY,EAAEA,EAAE,uBAAuB,CAAC9B,EAAE,OAAO,UAAkC7mB,EAAs7JqsD,KAAp7Jh5D,EAAy7Js1B,EAAE,KAAK,CAA56J7xB,EAAE,CAAC,UAAU,IAAI,WAAW,EAAE,KAAK,KAAK,OAAO,EAAE,WAAW,IAAI,YAAY,IAAI,SAAS,SAAS,mBAAmB,EAAE,EAAE+vB,EAAE,SAASA,CAAC,EAAE,SAASnvB,EAAEmvB,CAAC,CAACxzB,CAAC,EAAEy8B,GAAgB,IAAI,CAACp4B,GAAG,IAAIZ,EAAE80D,GAA2B,IAAI,CAAC,AAACl0D,CAAAA,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,EAAC,EAAG,IAAI,CAAC,IAAI,CAACA,EAAEmvB,EAAExzB,IAAI,MAAM,AAACyD,CAAAA,EAAE,EAAE,CAAC,SAAS,CAACA,CAAAA,EAAG,OAAO,CAACkJ,EAAE,MAAM,CAAC,CAAC,EAAEtI,EAAE,QAAQ,CAACrE,GAAGyD,EAAE,MAAM,CAAC,CAAC,EAAEA,EAAE,SAAS,CAAC,CAAC,EAAEA,EAAE,SAAS,CAAC,CAAC,EAAEA,EAAE,gBAAgB,GAAGA,EAAE,mBAAmB,GAAGA,CAAC,CAAC,OAAOg1D,GAAUp0D,EAAEy0D,IAAWR,GAAaj0D,EAAE,CAAC,CAAC,IAAI,UAAU,MAAM,WAAWsI,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,WAAW,IAAI6mB,EAAEklC,SAAS,aAAa,CAAC,MAAOllC,CAAAA,EAAE,SAAS,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAACA,EAAE,IAAIxzB,EAAE04D,SAAS,aAAa,CAAC,MAAO14D,CAAAA,EAAE,SAAS,CAAC,GAAG,CAAC,mBAAmBA,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAACwzB,EAAE,WAAW,CAACxzB,GAAG04D,SAAS,IAAI,CAAC,WAAW,CAACllC,EAAE,CAAC,EAAE,CAAC,IAAI,wBAAwB,MAAM,WAAW,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,oBAAoB,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,aAAa,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,aAAa,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,aAAa,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,aAAa,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,MAAM,SAASA,CAAC,EAAE,IAAI,CAAC,MAAM,EAAGA,CAAAA,EAAE,KAAK,IAAIA,GAAG,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC7mB,EAAE,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC6mB,EAAC,CAAE,CAAC,EAAE,CAAC,IAAI,QAAQ,MAAM,WAAW,IAAI,CAAC,MAAM,EAAG,KAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAC,CAAE,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAIA,EAAE,IAAI,AAAC3nB,CAAAA,aAAa,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAACD,WAAW,WAAW4nB,EAAE,SAAS,EAAEA,EAAE,SAAS,EAAEA,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,wBAAwB,MAAM,SAASA,CAAC,EAAE,IAAIxzB,EAAE,IAAI,AAAC6L,CAAAA,aAAa,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAACD,WAAW,WAAW,AAAC5L,CAAAA,EAAE,SAAS,EAAEA,EAAE,SAAS,EAAEwzB,CAAAA,GAAIxzB,EAAE,UAAU,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,WAAW,IAAIwzB,EAAExzB,EAAE,IAAI,CAAC,EAAE,CAACyD,EAAE,IAAI,CAAC,SAAS,CAACY,EAAErE,EAAE,YAAY,CAACyzB,EAAEzzB,EAAE,WAAW,CAAC4M,EAAEnJ,EAAE,YAAY,CAACqC,EAAErC,EAAE,WAAW,CAAC4M,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC2T,EAAE,KAAK,EAAE0P,EAAE,KAAK,CAAE,KAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE1P,EAAEhkB,EAAE,qBAAqB,GAAG,GAAG,CAACs1B,EAAE,oBAAoB,GAAG5B,EAAE1zB,EAAE,qBAAqB,GAAG,IAAI,CAACs1B,EAAE,qBAAqB,GAAG,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAEtR,CAAAA,GAAG,CAACpX,EAAEyD,EAAEqjB,GAAGD,EAAE,EAAE3tB,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,AAAD,EAAG,UAAU,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAEke,CAAAA,GAAG3f,EAAE,EAAEuI,EAAE,EAAE8mB,GAAGD,EAAEpjB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,AAAD,EAAG,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAE2T,CAAAA,GAAG3f,EAAE,EAAEuI,EAAE,EAAE8mB,GAAG,CAAC5tB,EAAEuK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,AAAD,EAAI2T,CAAAA,GAAG3f,EAAEgM,EAAEqjB,GAAGD,EAAE,EAAE3tB,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,AAAD,EAAG0tB,EAAE,IAAI,CAAC,uBAAuB,CAACE,EAAE1P,EAAEle,EAAE8G,GAAGD,EAAElJ,GAAG,GAAG,CAAC,CAAC,IAAI+vB,EAAE,CAAC,CAAC,KAAK,KAAKA,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,0BAA0B,MAAM,SAASA,CAAC,CAACxzB,CAAC,CAACyD,CAAC,CAACY,CAAC,EAAE,IAAIovB,EAAE6B,EAAE,qBAAqB,GAAG1oB,EAAE0oB,EAAE,oBAAoB,GAAGxvB,EAAE0tB,EAAEC,EAAEpjB,EAAErQ,EAAE4M,EAAEoX,EAAE,CAAC,KAAKle,EAAE,IAAIuK,EAAE,MAAM5M,EAAE,OAAOY,CAAC,EAAEqvB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC/mB,EAAE2oB,EAAE,oBAAoB,CAACojC,SAAS,IAAI,CAAC10C,EAAE0P,GAAG,OAAO/mB,EAAE,IAAI,CAAC7G,EAAE4tB,EAAE/mB,EAAE,KAAK,EAAG7G,CAAAA,GAAGA,EAAErC,EAAExD,OAAO,UAAU,AAAD,EAAG0M,EAAE,GAAG,CAAC0D,EAAEqjB,EAAE/mB,EAAE,MAAM,EAAG0D,CAAAA,GAAGA,EAAEhM,EAAEpE,OAAO,WAAW,AAAD,EAAG,CAAC,EAAE6F,EAAE2tB,EAAE,EAAEpjB,EAAEzD,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,aAAa,MAAM,WAAW,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU5M,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAEA,EAAE,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,WAAWA,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAEA,EAAE,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,cAAc,EAAE,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,eAAe,MAAM,WAAWs1B,EAAE,UAAU,EAAG,KAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAC,CAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAI9B,EAAE,CAAC,EAAExzB,EAAE,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,gBAAgByD,EAAE,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,iBAAiB,OAAOzD,GAAIwzB,CAAAA,EAAE,IAAI,CAACxzB,CAAAA,EAAGyD,GAAI+vB,CAAAA,EAAE,QAAQ,CAAC/vB,CAAAA,EAAG+vB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,SAASA,CAAC,CAACxzB,CAAC,EAAE,OAAOq4D,GAAKh0D,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACmvB,EAAExzB,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASwzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,SAAS,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAO/vB,CAAC,CAAC,EAAE,EAAEY,CAAC,IAAIixB,EAAE,OAAO,CAAC9B,EAAE8B,EAAE,YAAY,EAAEA,EAAE,uBAAuB,CAAC9B,EAAE,UAAU,aAA4B,SAAS/vB,CAAC,EAAE,aAAa,IAAI+vB,EAAEA,GAAG,CAAC,EAAExzB,EAAE04D,SAAS,gBAAgB,CAAC,IAAI,CAACA,UAAU,SAAS/4D,EAAE6zB,CAAC,EAAE,IAAIxzB,EAAE,GAAG,IAAI,IAAIyD,KAAK+vB,EAAEA,EAAE,cAAc,CAAC/vB,IAAKzD,CAAAA,GAAGyD,EAAE,IAAI+vB,CAAC,CAAC/vB,EAAE,CAAC,GAAE,EAAG,OAAOzD,CAAC,CAAC,IAAIH,EAAE,CAAC,SAAS,IAAI,KAAK,SAAS2zB,CAAC,CAACxzB,CAAC,EAAE,GAAG,IAAIwzB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI/vB,EAAEzD,GAAG,IAAI,CAACqE,EAAEq0D,SAAS,aAAa,CAAC,MAAOr0D,CAAAA,EAAE,SAAS,CAAC,eAAeZ,EAAE,WAAW,CAACY,GAAG,IAAMuI,EAAE9G,EAAM4tB,EAAE/mB,EAAEgnB,EAAGD,CAAAA,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAA2B9mB,EAAED,AAA3BA,CAAAA,EAAE,AAAGlJ,GAAIgwB,AAAJhwB,EAAM,aAAa,AAAD,EAAM,eAAe,CAAC,KAAK,IAAIgwB,AAAjDhwB,EAAmD,qBAAqB,EAAGiwB,CAAAA,EAAED,AAA7EhwB,EAA+E,qBAAqB,EAAC,EAAGqC,EAAE,OAAY6G,GAAIqX,AAAJrX,IAAQqX,AAARrX,EAAU,MAAM,CAAhBA,EAAmB,IAAI0D,AAAvB1D,EAAyB,QAAQ,EAAE0D,AAAnC1D,EAAqC,WAAW,CAAC,CAAC,IAAI+mB,EAAE,GAAG,CAAC5tB,EAAE,WAAW,CAAC8G,EAAE,SAAS,CAAC,KAAK8mB,EAAE,IAAI,CAAC5tB,EAAE,WAAW,CAAC8G,EAAE,UAAU,GAAGnF,EAAE+rB,EAAE,KAAK,CAACG,EAAE,GAAG,CAAC/zB,EAAE4zB,EAAE,KAAK,CAACG,EAAE,IAAI,CAAChzB,EAAE,SAAS8C,EAAE,WAAW,CAAC,IAAI,GAAG,GAAI,aAAY+vB,GAAI/rB,CAAAA,EAAE+rB,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,CAACG,EAAE,GAAG,CAAC/zB,EAAE4zB,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,CAACG,EAAE,IAAI,AAAD,EAAGtvB,EAAE,YAAY,CAAC,YAAYowB,KAAK,GAAG,IAAIpwB,EAAE,YAAY,CAAC,aAAa1D,GAAG0D,EAAE,YAAY,CAAC,SAASzE,GAAGyE,EAAE,YAAY,CAAC,SAASoD,GAAG,IAAImsB,EAAE,CAAC,IAAInsB,EAAE,KAAK,KAAK7H,EAAE,IAAI,CAAEyE,CAAAA,EAAE,SAAS,CAACA,EAAE,SAAS,CAAC,sBAAsBA,EAAE,YAAY,CAAC,QAAQ1E,EAAEi0B,IAAIvvB,EAAE,SAAS,CAACA,EAAE,SAAS,CAAC,OAAO,CAAC,qBAAqB,IAAIuvB,CAAC,CAAC,oBAAoB,CAACjzB,EAAEizB,CAAC,CAAC,iBAAiB,CAACjzB,EAAEizB,CAAC,CAAC,gBAAgB,CAACjzB,EAAEizB,CAAC,CAAC,eAAe,CAACjzB,EAAEizB,EAAE,SAAS,CAACjzB,EAAEizB,EAAE,OAAO,CAAC,IAAIA,CAAC,CAAC,8BAA8B,CAAC/zB,EAAE,QAAQ,CAAC,KAAK+zB,CAAC,CAAC,2BAA2B,CAAC/zB,EAAE,QAAQ,CAAC,KAAK+zB,CAAC,CAAC,yBAAyB,CAAC/zB,EAAE,QAAQ,CAAC,KAAK+zB,CAAC,CAAC,sBAAsB,CAAC/zB,EAAE,QAAQ,CAAC,KAAK+zB,CAAC,CAAC,qCAAqC,CAAC,2CAA2CA,CAAC,CAAC,kCAAkC,CAAC,2CAA2CA,CAAC,CAAC,gCAAgC,CAAC,2CAA2CA,CAAC,CAAC,6BAA6B,CAAC,2CAA2CvvB,EAAE,YAAY,CAAC,QAAQ1E,EAAEi0B,GAAG,EAAE,KAAK,SAASJ,CAAC,EAAExP,EAAE,OAAO,CAACwP,GAAG,IAAIxzB,EAAE,IAAI,CAACyD,EAAGzD,CAAAA,EAAE,WAAW,CAAC,IAAG,EAAGqE,EAAErE,EAAE,sBAAsB,CAAC,gBAAgB,GAAG,CAAE,GAAEqE,EAAE,MAAM,AAAD,EAAG,MAAM,CAAC,EAAE,IAAIovB,EAAE,AAAChwB,CAAAA,EAAEY,CAAC,CAACA,EAAE,MAAM,CAAC,EAAE,AAAD,EAAG,YAAY,CAAC,UAAUuI,EAAEnJ,EAAE,YAAY,CAAC,UAAUqC,EAAErC,EAAE,YAAY,CAAC,cAAc4M,EAAE,IAAKokB,CAAAA,KAAK,GAAG,GAAGvtB,OAAOzD,EAAE,YAAY,CAAC,aAAY,CAAG4M,CAAAA,EAAE,GAAIA,CAAAA,EAAE,GAAGzE,WAAW,WAAW,IAAI4nB,EAAE,CAAC,IAAI5mB,EAAE,KAAK,KAAK6mB,EAAE,KAAK,QAAQ,IAAI,8BAA8B5zB,EAAE,QAAQ,CAAC,KAAK,2BAA2BA,EAAE,QAAQ,CAAC,KAAK,yBAAyBA,EAAE,QAAQ,CAAC,KAAK,sBAAsBA,EAAE,QAAQ,CAAC,KAAK,oBAAoBiG,EAAE,iBAAiBA,EAAE,gBAAgBA,EAAE,eAAeA,EAAE,UAAUA,CAAC,CAAErC,CAAAA,EAAE,YAAY,CAAC,QAAQ9D,EAAE6zB,IAAI5nB,WAAW,WAAW,GAAG,CAAC5L,EAAE,WAAW,CAACyD,EAAE,CAAC,MAAM+vB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE3zB,EAAE,QAAQ,CAAC,EAAEwQ,EAAE,EAAE,UAAU,SAASmjB,CAAC,EAAE,IAAI,IAAIxzB,EAAE,EAAEA,EAAEwzB,EAAE,MAAM,CAACxzB,IAAI,CAAC,IAAIyD,EAAE+vB,CAAC,CAACxzB,EAAE,CAAC,GAAG,UAAUyD,EAAE,OAAO,CAAC,WAAW,GAAG,CAAC,IAAIY,EAAEZ,EAAE,UAAU,CAAC,GAAG,MAAMY,EAAE,OAAO,CAAC,WAAW,IAAI,KAAKA,EAAE,SAAS,CAAC,OAAO,CAAC,gBAAgB,SAAS,IAAIovB,EAAEilC,SAAS,aAAa,CAAC,IAAKjlC,CAAAA,EAAE,SAAS,CAAChwB,EAAE,SAAS,CAAC,uBAAuB,IAAImJ,EAAEnJ,EAAE,YAAY,CAAC,QAASmJ,CAAAA,GAAIA,CAAAA,EAAE,EAAC,EAAG6mB,EAAE,YAAY,CAAC,QAAQ7mB,GAAGnJ,EAAE,SAAS,CAAC,qBAAqBA,EAAE,eAAe,CAAC,SAASY,EAAE,YAAY,CAACovB,EAAEhwB,GAAGgwB,EAAE,WAAW,CAAChwB,EAAE,CAAC,CAAC,CAAC,EAAEugB,EAAE,CAAC,QAAQ,EAAE,WAAW,SAASwP,CAAC,EAAE,IAAIxzB,EAAE,CAAC,EAAE,MAAM,eAAewzB,EAAE,IAAI,CAACxP,EAAE,OAAO,EAAE,EAAE,aAAawP,EAAE,IAAI,EAAE,gBAAgBA,EAAE,IAAI,CAAC5nB,WAAW,WAAW,EAAEoY,EAAE,OAAO,EAAGA,CAAAA,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,cAAcwP,EAAE,IAAI,EAAE,EAAExP,EAAE,OAAO,EAAGhkB,CAAAA,EAAE,CAAC,GAAGA,CAAC,EAAE,QAAQ,SAASwzB,CAAC,EAAExP,EAAE,UAAU,CAACwP,EAAE,CAAC,EAAE,SAASnvB,EAAEmvB,CAAC,EAAE,IAAIxzB,EAAE,SAASwzB,CAAC,EAAE,GAAG,CAAC,IAAIxP,EAAE,UAAU,CAACwP,GAAG,OAAO,KAAK,IAAI,IAAIxzB,EAAE,KAAKyD,EAAE+vB,EAAE,MAAM,EAAEA,EAAE,UAAU,CAAC,OAAO/vB,EAAE,UAAU,EAAE,CAAC,GAAG,CAAEA,CAAAA,aAAag2D,UAAS,GAAI,KAAKh2D,EAAE,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAACzD,EAAEyD,EAAE,KAAK,CAACA,EAAEA,EAAE,UAAU,CAAC,OAAOzD,CAAC,EAAEwzB,EAAG,QAAOxzB,GAAIH,CAAAA,EAAE,IAAI,CAAC2zB,EAAExzB,GAAG,iBAAiByD,GAAIzD,CAAAA,EAAE,gBAAgB,CAAC,WAAWH,EAAE,IAAI,CAAC,CAAC,GAAGG,EAAE,gBAAgB,CAAC,cAAcH,EAAE,IAAI,CAAC,CAAC,EAAC,EAAGG,EAAE,gBAAgB,CAAC,UAAUH,EAAE,IAAI,CAAC,CAAC,GAAGG,EAAE,gBAAgB,CAAC,aAAaH,EAAE,IAAI,CAAC,CAAC,GAAGG,EAAE,gBAAgB,CAAC,UAAUH,EAAE,IAAI,CAAC,CAAC,EAAC,CAAE,CAAC2zB,EAAE,aAAa,CAAC,SAASA,CAAC,EAAE,YAAaA,CAAAA,EAAEA,GAAG,CAAC,IAAK3zB,CAAAA,EAAE,QAAQ,CAAC2zB,EAAE,QAAQ,AAAD,EAAG3zB,EAAE,SAAS,CAACG,EAAE,kBAAkB,iBAAiByD,GAAGi1D,SAAS,IAAI,CAAC,gBAAgB,CAAC,aAAar0D,EAAE,CAAC,GAAGq0D,SAAS,IAAI,CAAC,gBAAgB,CAAC,YAAYr0D,EAAE,CAAC,EAAE,EAAEmvB,EAAE,MAAM,CAAC,SAASA,CAAC,EAAE,UAAUA,EAAE,OAAO,CAAC,WAAW,IAAK3zB,CAAAA,EAAE,SAAS,CAAC,CAAC2zB,EAAE,EAAEA,EAAEA,EAAE,UAAU,AAAD,EAAG,iBAAiB/vB,GAAG+vB,EAAE,gBAAgB,CAAC,aAAanvB,EAAE,CAAC,GAAGmvB,EAAE,gBAAgB,CAAC,YAAYnvB,EAAE,CAAC,EAAE,EAAEZ,EAAE,KAAK,CAAC+vB,EAAEklC,SAAS,gBAAgB,CAAC,mBAAmB,WAAWllC,EAAE,aAAa,EAAE,EAAE,CAAC,EAAE,EAAEvzB,QAAiBwD,EAA86Hu1D,KAA56H30D,EAAi7HixB,EAAE,KAAK,CAAp6H9B,EAAE,CAAC,KAAK,GAAG,cAAc,IAAI,WAAW,IAAI,YAAY,IAAI,QAAQ,GAAG,iBAAiB,KAAK,kBAAkB,EAAE,EAAmsHxzB,CAAjsHA,EAAE,WAAW,SAASyzB,EAAED,CAAC,EAAEiJ,GAAgB,IAAI,CAAChJ,GAAG,IAAI,CAAC,OAAO,CAAChwB,EAAE,MAAM,CAAC,CAAC,EAAEgwB,EAAE,QAAQ,CAACD,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAIC,EAAE,OAAO,CAAC,MAAM,EAAEA,EAAE,gBAAgB,GAAGA,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAIzzB,EAAE,IAAI,CAAC,YAAY,EAAG,CAACA,CAAAA,EAAE,OAAO,CAAC,IAAI,AAAD,EAAG,EAAE,CAACA,EAAE,IAAI,CAAC,GAAG,CAACyD,EAAEzD,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,OAAOs4D,GAAa7kC,EAAE,CAAC,CAAC,IAAI,eAAe,MAAM,WAAW,IAAID,EAAEklC,SAAS,aAAa,CAAC,OAAO,OAAOllC,EAAE,SAAS,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE/vB,EAAE+vB,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,AAAC,WAAU,OAAOsmC,YAAY,IAAI,CAAC,OAAO,YAAYA,YAAY,IAAI,CAAC,OAAO,EAAE,UAAU,OAAO,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,AAAD,EAAGtmC,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC/vB,EAAE+vB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAEA,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAACC,EAAE,UAAU,CAAC,WAAW,CAACD,GAAGA,CAAC,CAAC,EAAE,CAAC,IAAI,aAAa,MAAM,WAAWnvB,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,EAAE,CAAC,EAAE,CAAC,IAAI,YAAY,MAAM,WAAW,IAAImvB,EAAE,IAAI,AAAC,KAAI,CAAC,aAAa,GAAG,EAAE,GAAI,KAAI,CAAC,eAAe,CAAChP,YAAY,WAAWgP,EAAE,OAAO,EAAGA,CAAAA,EAAE,aAAa,EAAE,EAAC,EAAGA,EAAE,aAAa,EAAE,GAAGA,EAAE,OAAO,EAAE,EAAE,GAAE,CAAE,CAAC,EAAE,CAAC,IAAI,UAAU,MAAM,WAAW,IAAIA,EAAE,IAAI,CAACvzB,OAAO,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,IAAID,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,AAAC,KAAI,CAAC,SAAS,EAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,+BAA+B,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,cAAcA,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAGqE,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,IAAI,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,cAAc,SAAS,WAAW,YAAY,OAAOmvB,EAAE,OAAO,CAAC,gBAAgB,EAAEA,EAAE,OAAO,CAAC,gBAAgB,GAAGA,EAAE,GAAG,CAAC,MAAM,GAAGC,EAAE,OAAO,CAAC,MAAM,CAACA,EAAE,OAAO,CAAC,OAAO,CAACD,GAAG,GAAG,IAAIC,EAAE,OAAO,CAAC,MAAM,EAAEA,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,MAAM,SAASD,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,OAAO,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,WAAW,IAAIA,EAAEklC,SAAS,aAAa,CAAC,MAAOllC,CAAAA,EAAE,YAAY,CAAC,KAAK,mBAAmBA,EAAE,gBAAgB,CAAC,aAAaC,EAAE,YAAY,EAAED,EAAE,gBAAgB,CAAC,YAAYC,EAAE,WAAW,EAAED,EAAE,gBAAgB,CAAC,WAAWC,EAAE,UAAU,EAAED,EAAE,gBAAgB,CAAC,YAAYC,EAAE,YAAY,EAAEilC,SAAS,gBAAgB,CAAC,YAAYjlC,EAAE,WAAW,EAAEilC,SAAS,gBAAgB,CAAC,UAAUjlC,EAAE,UAAU,EAAEilC,SAAS,IAAI,CAAC,WAAW,CAACllC,GAAGC,EAAE,UAAU,CAACD,CAAC,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,WAAWklC,SAAS,mBAAmB,CAAC,YAAYjlC,EAAE,WAAW,EAAEilC,SAAS,mBAAmB,CAAC,UAAUjlC,EAAE,UAAU,EAAEhwB,EAAEgwB,EAAE,UAAU,EAAE,MAAM,GAAGA,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,eAAe,MAAM,SAASD,CAAC,EAAE,GAAGA,EAAE,MAAM,EAAE/vB,EAAE+vB,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,MAAM,CAAC,CAAC,IAAIxzB,EAAEyD,EAAE+vB,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,AAACxzB,CAAAA,EAAE,OAAO,CAAC,CAAC,EAAE,AAACyzB,CAAAA,EAAE,aAAa,CAACzzB,CAAAA,EAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,WAAWA,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,GAAGA,EAAE,YAAY,CAACyzB,EAAE,KAAK,CAACD,GAAGxzB,EAAE,IAAI,CAACy0B,KAAK,GAAG,GAAGz0B,EAAE,IAAI,CAACyzB,EAAE,KAAK,CAACD,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASA,CAAC,EAAE,GAAGC,EAAE,aAAa,CAAC,CAACD,EAAE,cAAc,GAAG,IAAIxzB,EAAEyzB,EAAE,aAAa,AAACzzB,CAAAA,EAAE,MAAM,CAACyE,KAAK,GAAG,CAACzE,EAAE,IAAI,CAACyzB,EAAE,KAAK,CAACD,IAAIxzB,EAAE,IAAI,CAACyzB,EAAE,KAAK,CAACD,GAAGxzB,EAAE,SAAS,CAACA,EAAE,MAAM,CAAEy0B,CAAAA,KAAK,GAAG,GAAGz0B,EAAE,IAAI,AAAD,EAAGA,EAAE,IAAI,CAACy0B,KAAK,GAAG,GAAG,IAAIhxB,EAAEzD,EAAE,IAAI,CAACA,EAAE,YAAY,CAACqE,EAAErE,EAAE,EAAE,CAAC,WAAW,CAACA,EAAE,OAAO,CAAC,iBAAiB,AAACA,CAAAA,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,cAAcyD,EAAE,MAAMzD,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAEyE,KAAK,GAAG,CAAChB,EAAEY,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,aAAa,MAAM,WAAW,GAAGovB,EAAE,aAAa,CAAC,CAAC,IAAID,EAAEC,EAAE,aAAa,AAACD,CAAAA,EAAE,OAAO,CAAC,CAAC,EAAEA,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,WAAsF/uB,KAAK,GAAG,CAA7E+uB,EAAE,IAAI,CAACA,EAAE,YAAY,EAAGA,EAAE,EAAE,CAAC,WAAW,CAACA,EAAE,OAAO,CAAC,iBAAiB,EAAgB,EAAEA,EAAE,SAAS,CAAEA,CAAAA,EAAE,SAAS,CAAC,CAAC,EAAEA,EAAE,OAAO,EAAC,EAAIA,CAAAA,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,6BAA6BA,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,GAAGA,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAC,EAAGC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,MAAM,SAASD,CAAC,EAAE,OAAOA,EAAE,aAAa,EAAE,GAAGA,EAAE,aAAa,CAAC,MAAM,CAACA,EAAE,aAAa,CAAC,EAAE,CAAC,OAAO,CAACA,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,aAAa,MAAM,WAAW,IAAI,IAAIA,KAAKC,EAAE,OAAO,CAACA,EAAE,OAAO,CAACD,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAOA,CAAC,CAAC,EAAE,EAAEC,CAAC,KAAM,OAAO,CAAC,EAAE,CAACzzB,EAAE,UAAU,CAAC,KAAKA,EAAE,aAAa,CAAC,KAAKs1B,EAAE,KAAK,CAACt1B,EAAEs1B,EAAE,KAAK,CAAC,SAAS9B,CAAC,EAAE,OAAO,IAAIxzB,EAAEwzB,EAAE,EAA0BC,EAAmgSulC,KAAjgSpsD,EAAsgS0oB,EAAE,KAAK,CAAz/Rt1B,EAAE,CAAC,KAAK,OAAO,UAAU,CAAC,EAAE,WAAW,IAAI,YAAY,IAAI,YAAY,KAAK,UAAU,KAAK,aAAa,KAAK,WAAW,KAAK,iBAAiB,CAAC,CAAC,EAA8vRwzB,CAA5vRA,EAAE,SAASA,CAAC,EAAE,SAASnvB,EAAEmvB,CAAC,CAACxzB,CAAC,EAAEy8B,GAAgB,IAAI,CAACp4B,GAAG,IAAIZ,EAAE80D,GAA2B,IAAI,CAAC,AAACl0D,CAAAA,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,EAAC,EAAG,IAAI,CAAC,IAAI,CAACA,EAAEmvB,EAAExzB,IAAI,MAAM,AAACyD,CAAAA,EAAE,EAAE,CAAC,SAAS,CAACA,CAAAA,EAAG,EAAE,CAACA,EAAE,GAAG,CAAC,IAAI,CAAC,MAAMA,EAAE,OAAO,CAACgwB,EAAE,MAAM,CAAC,CAAC,EAAEpvB,EAAE,QAAQ,CAACrE,GAAGyD,EAAE,MAAM,CAAC,CAAC,EAAEA,EAAE,OAAO,CAACA,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiBA,EAAE,SAAS,CAAC,CAAC,EAAEA,EAAE,eAAe,CAACxD,OAAO,UAAU,CAACwD,EAAE,gBAAgB,CAACxD,OAAO,WAAW,CAACwD,EAAE,cAAc,GAAGA,EAAE,iBAAiB,GAAGA,EAAE,mBAAmB,GAAGA,EAAE,aAAa,GAAGA,EAAE,WAAW,GAAGY,EAAE,SAAS,CAAC,IAAI,CAACZ,GAAGA,CAAC,CAAC,OAAOg1D,GAAUp0D,EAAEy0D,IAAWR,GAAaj0D,EAAE,CAAC,CAAC,IAAI,UAAU,MAAM,WAAW,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAImvB,EAAEnvB,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAE,IAAGmvB,GAAGnvB,EAAE,SAAS,CAAC,MAAM,CAACmvB,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,iBAAiB,MAAM,WAAW,IAAIA,EAAEklC,SAAS,aAAa,CAAC,MAAO,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAEllC,EAAE,SAAS,CAAC,GAAG,CAAC,mBAAmBA,EAAE,gBAAgB,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAEklC,SAAS,IAAI,CAAC,WAAW,CAACllC,GAAG,IAAI,CAAC,QAAQ,CAACA,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAInvB,EAAE,SAAS,CAAC,MAAM,EAAEq0D,SAAS,IAAI,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,YAAY,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,IAAI,CAAC,6BAA6B,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,YAAY,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,WAAW,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,6BAA6B,EAAE,IAAI,CAAC,OAAO,EAAG,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAEz4D,OAAO,gBAAgB,CAAC,SAAS,IAAI,CAAC,wBAAwB,EAAE,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAIoE,EAAE,SAAS,CAAC,MAAM,EAAEq0D,SAAS,IAAI,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,YAAY,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,WAAW,IAAI,CAAC,6BAA6B,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,YAAY,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,YAAY,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,6BAA6B,EAAE,IAAI,CAAC,OAAO,EAAEz4D,OAAO,mBAAmB,CAAC,SAAS,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,SAASuzB,CAAC,EAAE,IAAIxzB,EAAEyzB,EAAED,EAAE,MAAM,EAAE,OAAO,CAAC,oBAAoB,GAAGA,EAAE,MAAM,EAAExzB,EAAE,MAAM,CAAC,CAAC,IAAIyD,EAAE6xB,EAAE,gBAAgB,CAACt1B,CAAC,CAAC,EAAE,EAAEqE,EAAEq0D,SAAS,cAAc,CAACj1D,GAAG,SAAS,AAACY,CAAAA,GAAGA,EAAE,IAAI,CAACrE,GAAGwzB,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,aAAa,MAAM,SAASA,CAAC,EAAE,IAAIxzB,EAAEwzB,EAAE,aAAa,CAAC,EAAE,CAAC,OAAO,AAAC,KAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAACxzB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAACy0B,KAAK,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAACa,EAAE,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE1oB,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAEA,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,kBAAkB,MAAM,SAAS4mB,CAAC,EAAE,IAAIxzB,EAAEwzB,EAAE,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC/vB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC6xB,EAAE,oBAAoB,EAAG,KAAI,CAAC,MAAM,CAAC7wB,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAACzE,GAAG,IAAI,CAAC,KAAK,CAACA,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAEy0B,CAAAA,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,AAAD,EAAG,IAAI,CAAC,KAAK,CAACA,KAAK,GAAG,GAAG,IAAI,CAAC,iBAAiB,GAAGhxB,GAAI,KAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,wBAAwB,MAAM,SAAS+vB,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAACA,GAAG,IAAI,CAAC,eAAe,CAACA,GAAG,IAAIxzB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAACyD,EAAE,EAAEzD,EAAE,QAAQ,MAAOA,CAAAA,EAAEyE,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAACA,KAAK,GAAG,CAACzE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAGyD,GAAIzD,CAAAA,EAAE,GAAG,IAAIqE,EAAErE,EAAEyzB,EAAE,mBAAoB,WAAU,IAAI,CAAC,OAAO,CAAC,IAAI,EAAGA,CAAAA,EAAE,mBAAmBpvB,EAAE,CAACA,CAAAA,EAAG,IAAI,CAAC,WAAW,CAACI,KAAK,GAAG,CAAC,EAAEzE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAACyzB,EAAE,eAAepvB,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,2BAA2B,MAAM,WAAW,IAAI,CAAC,SAAS,EAAG,IAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,SAASmvB,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAK,GAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAC,IAAG,IAAI,CAAC,oBAAoB,EAAQ,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAACA,GAAG,IAAI,CAAC,eAAe,CAACA,GAAG,IAAIxzB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAACyD,EAAE,EAAEzD,EAAE,QAAQ,MAAOA,CAAAA,EAAEyE,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAACA,KAAK,GAAG,CAACzE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAGyD,GAAIzD,CAAAA,EAAE,GAAG,IAAIqE,EAAE,CAACrE,CAAE,WAAU,IAAI,CAAC,OAAO,CAAC,IAAI,EAAGqE,CAAAA,EAAE,CAACA,CAAAA,EAAG,IAAI,CAAC,WAAW,CAACI,KAAK,GAAG,CAAC,EAAE,EAAEzE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,cAAcqE,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAG,IAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,2BAA2B,MAAM,SAASmvB,CAAC,EAAEC,EAAED,EAAE,MAAM,EAAE,OAAO,CAAC,kBAAkB,MAAM,EAAE,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,eAAe,GAAGvzB,OAAO,UAAU,EAAG,KAAIA,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,EAAC,EAAG,IAAI,CAAC,eAAe,CAACA,OAAO,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAACA,OAAO,WAAW,CAAC,EAAE,CAAC,IAAI,gBAAgB,MAAM,WAAW,UAAU,IAAI,CAAC,OAAO,CAAC,IAAI,EAAG,KAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAe,CAAE,CAAC,EAAE,CAAC,IAAI,iBAAiB,MAAM,WAAW,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,WAAW,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,WAAW,OAAO,IAAI,CAAC,OAAO,EAAE,IAAIA,OAAO,UAAU,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,WAAW,IAAIuzB,EAAEklC,SAAS,aAAa,CAAC,MAAOllC,CAAAA,EAAE,SAAS,CAAC,GAAG,CAAC,eAAeklC,SAAS,IAAI,CAAC,WAAW,CAACllC,GAAG,IAAI,CAAC,UAAU,CAACA,CAAC,CAAC,EAAE,CAAC,IAAI,wBAAwB,MAAM,WAAWklC,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAWA,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,MAAM,WAAW,CAAC,IAAI,IAAI,CAAC,MAAM,EAAG,KAAI,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,GAAI9rD,CAAAA,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAEA,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,aAAa,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAK,EAAI,KAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,EAAC,CAAC,CAAE,CAAC,EAAE,CAAC,IAAI,QAAQ,MAAM,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI4mB,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,MAAO,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,cAAcA,EAAE,GAAG,MAAM,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,WAAW,GAAE,CAAC,EAAE,CAAC,IAAI,aAAa,MAAM,WAAW,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,WAAW,IAAIA,EAAE,IAAI,CAACxzB,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAE,KAAI,CAAC,SAAS,EAAGA,CAAAA,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,CAACA,EAAE,IAAI,CAAC,WAAW,CAACA,EAAE,IAAI,CAAC,WAAW,AAAD,EAAG4M,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAEA,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI5M,EAAE,IAAI,EAAE,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,SAAS,WAAW,YAAY,OAAOwzB,EAAE,OAAO,CAAC,SAAS,EAAEA,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAACA,EAAEA,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,WAAW,IAAIA,EAAE,CAAE,KAAI,CAAC,SAAS,CAACA,EAAE,IAAI,CAAC,WAAW,CAACC,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,OAAO,GAAG7mB,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAEA,EAAE,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC4mB,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,aAAa,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,WAAW,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,IAAI,qBAAqB,MAAM,WAAW,IAAIA,EAAE,IAAI,CAACxzB,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAEyD,EAAE,CAAE,KAAI,CAAC,SAAS,EAAGA,CAAAA,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,CAACzD,EAAE,IAAI,CAAC,WAAW,CAACA,EAAE,IAAI,CAAC,WAAW,AAAD,EAAG4M,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAEA,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAInJ,EAAE,IAAI,IAAIzD,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,cAAc,SAAS,WAAW,YAAY,OAAOwzB,EAAE,OAAO,CAAC,UAAU,EAAEA,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAACA,EAAEA,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,qBAAqB,MAAM,WAAW,IAAIA,EAAE,IAAI,AAAC5mB,CAAAA,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAEA,EAAE,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,cAAc,SAAS,WAAW6mB,EAAED,EAAE,QAAQ,EAAE,GAAG,CAAC,UAAU,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,SAASA,CAAC,CAACxzB,CAAC,EAAE,OAAOq4D,GAAKh0D,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACmvB,EAAExzB,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASwzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,SAAS,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAOxzB,CAAC,CAAC,EAAE,EAAEqE,CAAC,KAAM,SAAS,CAAC,EAAE,CAACixB,EAAE,OAAO,CAAC9B,EAAE8B,EAAE,YAAY,EAAEA,EAAE,uBAAuB,CAAC9B,EAAE,UAAU,aAAqC5mB,EAA25HosD,KAAz5HlzD,EAA85HwvB,EAAE,KAAK,CAAj5Ht1B,EAAE,CAAC,SAAS,IAAI,aAAa,IAAI,YAAY,SAAS,iBAAiB,SAASwzB,CAAC,EAAE,MAAM,YAAYA,EAAE,IAAI,CAAC,EAAomHA,CAAlmHA,EAAE,SAASA,CAAC,EAAE,SAAS/rB,EAAE+rB,CAAC,CAACxzB,CAAC,EAAEy8B,GAAgB,IAAI,CAACh1B,GAAG,IAAIhE,EAAE80D,GAA2B,IAAI,CAAC,AAAC9wD,CAAAA,EAAE,SAAS,EAAElI,OAAO,cAAc,CAACkI,EAAC,EAAG,IAAI,CAAC,IAAI,CAACA,EAAE+rB,EAAExzB,IAAI,MAAM,AAACyD,CAAAA,EAAE,EAAE,CAAC,WAAW,CAACA,CAAAA,EAAG,OAAO,CAACmJ,EAAE,MAAM,CAAC,CAAC,EAAEnF,EAAE,QAAQ,CAACzH,GAAGyH,EAAE,SAAS,CAAC,IAAI,CAAChE,GAAGgE,EAAE,MAAM,GAAGA,EAAE,UAAU,GAAGhE,EAAE,MAAM,CAAC,GAAGA,EAAE,EAAE,CAACgE,EAAE,UAAU,CAAChE,EAAE,mBAAmB,GAAGA,EAAE,mBAAmB,GAAGA,CAAC,CAAC,OAAOg1D,GAAUhxD,EAAEqxD,IAAWR,GAAa7wD,EAAE,CAAC,CAAC,IAAI,UAAU,MAAM,WAAWA,EAAE,SAAS,CAAC,MAAM,CAACA,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAGA,EAAE,eAAe,CAAC,MAAM,CAACA,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,GAAGA,EAAE,gBAAgB,CAAC,MAAM,CAACA,EAAE,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAGA,EAAE,MAAM,GAAG,IAAI,CAAC,oBAAoB,GAAGmF,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI4mB,EAAE8B,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAK,KAAI,CAAC,2BAA2B,CAAC9B,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI/rB,EAAE,MAAM,EAAGxH,CAAAA,OAAO,gBAAgB,CAAC,SAAS,IAAI,CAAC,wBAAwB,EAAEA,OAAO,gBAAgB,CAAC,SAAS,IAAI,CAAC,2BAA2B,EAAEy4D,SAAS,IAAI,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAIjxD,EAAE,MAAM,EAAGxH,CAAAA,OAAO,mBAAmB,CAAC,SAAS,IAAI,CAAC,wBAAwB,EAAEA,OAAO,mBAAmB,CAAC,SAAS,IAAI,CAAC,2BAA2B,EAAEy4D,SAAS,IAAI,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,SAASllC,CAAC,EAAE,IAAI,IAAIxzB,EAAE4M,EAAE4mB,EAAE,MAAM,EAAE/vB,EAAEgE,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,GAAGhE,EAAEA,IAAI,CAAC,IAAIY,EAAEoD,EAAE,SAAS,CAAChE,EAAE,CAAC,GAAGzD,EAAE,EAAE,CAAC,YAAYqE,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,MAAM,CAACmvB,EAAE,cAAc,GAAG,IAAIC,EAAEpvB,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,EAAEyB,EAAE,CAAC,QAAQ,CAAC4yD,SAAS,eAAe,CAACA,SAAS,IAAI,CAAC,CAAC,UAAUjlC,EAAEpvB,EAAE,OAAO,CAAC,YAAY,CAAC,SAAS,IAAI,OAAO,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAWoD,EAAE,MAAM,GAAG,IAAI,IAAI+rB,EAAE8B,EAAE,oBAAoB,GAAGt1B,EAAEs1B,EAAE,qBAAqB,GAAG7xB,EAAEzD,EAAEC,OAAO,UAAU,CAACoE,EAAEmvB,EAAEvzB,OAAO,WAAW,CAACwzB,EAAEhsB,EAAE,aAAa,CAAC+rB,EAAE/vB,EAAEY,EAAErE,GAAG4M,EAAE,EAAEA,EAAE6mB,EAAE,MAAM,CAAC7mB,IAAI,CAAC,IAAI9G,EAAE2tB,CAAC,CAAC7mB,EAAE,AAAC9G,CAAAA,EAAE,MAAM,CAAC,GAAGA,EAAE,MAAM,GAAGA,EAAE,MAAM,CAAC2B,EAAE,MAAM,CAAC,IAAI,IAAI4I,EAAE,EAAEA,EAAE5I,EAAE,eAAe,CAAC,MAAM,CAAC4I,IAAI,CAAC,IAAI2T,EAAEvc,EAAE,eAAe,CAAC4I,EAAE,CAACqjB,EAAE1P,EAAE,MAAM,AAAC,IAAG0P,GAAGA,IAAIjsB,EAAE,MAAM,EAAGuc,CAAAA,EAAE,KAAK,GAAGA,EAAE,MAAM,CAAC,EAAC,CAAE,CAACvc,EAAE,eAAe,CAACgsB,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS,MAAM,WAAW,AAAChsB,CAAAA,EAAE,gBAAgB,CAACA,EAAE,gBAAgB,CAAC,MAAM,CAAC,SAAS+rB,CAAC,EAAE,OAAO,GAAGA,EAAE,MAAM,EAAE,EAAC,CAAE,CAAC,EAAE,CAAE5mB,CAAAA,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAACnF,EAAE,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAEA,EAAE,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAACA,EAAE,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAACA,EAAE,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAEA,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAGA,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAEmF,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAACnF,EAAE,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,MAAM,WAAW,IAAIzH,EAAE,IAAI,AAAC,CAACyH,CAAAA,EAAE,gBAAgB,CAACA,EAAE,gBAAgB,CAAC,MAAM,CAAC,SAAS+rB,CAAC,EAAE,OAAO,GAAGA,EAAE,MAAM,EAAE,EAAC,CAAE,CAAC,EAAE,EAAG5mB,CAAAA,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAACnF,EAAE,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,AAACA,CAAAA,EAAE,gBAAgB,CAACA,EAAE,gBAAgB,CAAC,MAAM,CAAC,SAAS+rB,CAAC,EAAE,OAAOA,EAAE,IAAI,CAAC,OAAOxzB,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAC,CAAE,CAAC,EAAE,EAAE4M,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAACnF,EAAE,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,SAAS+rB,CAAC,CAACxzB,CAAC,EAAE,OAAOq4D,GAAK5wD,EAAE,SAAS,EAAElI,OAAO,cAAc,CAACkI,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC+rB,EAAExzB,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASwzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,WAAW,CAAC,EAAE,CAAC,IAAI,gBAAgB,MAAM,SAASA,CAAC,CAACxzB,CAAC,CAACyD,CAAC,CAACY,CAAC,EAAE,IAAI,IAAIovB,EAAE,EAAE,CAAC7mB,EAAE,EAAEA,EAAEnF,EAAE,SAAS,CAAC,MAAM,CAACmF,IAAI,CAAC,IAAI9G,EAAE2B,EAAE,SAAS,CAACmF,EAAE,CAACyD,EAAEmjB,EAAE1tB,EAAE,OAAO,CAAC,YAAY,EAAE,IAAI,GAAG,EAAEA,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,IAAIke,EAAEle,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC4tB,EAAE5tB,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC6G,EAAE+mB,EAAE5tB,EAAE,GAAG,CAAC,KAAK,GAAG6tB,EAAE3P,EAAEle,EAAE,GAAG,CAAC,MAAM,EAAG,CAAE9F,EAAE0zB,GAAG/mB,EAAEtI,GAAGZ,EAAEugB,GAAG2P,EAAEtjB,GAAIojB,EAAE,IAAI,CAAC3tB,EAAE,CAAC,CAAC,OAAO2tB,CAAC,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAOzzB,CAAC,CAAC,EAAE,EAAEyH,CAAC,KAAM,SAAS,CAAC,EAAE,CAAC+rB,EAAE,eAAe,CAAC,EAAE,CAACA,EAAE,gBAAgB,CAAC,EAAE,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,UAAU,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAE8B,EAAE,SAAS,CAAC9B,EAAE8B,EAAE,YAAY,EAAEA,EAAE,uBAAuB,CAAC9B,EAAE,YAAY,eAAuCE,EAAikNslC,KAA7iNh5D,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,eAAe,KAAK,UAAU,EAAE,aAAa,SAASwzB,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE,OAAO+vB,EAAE,OAAO,CAAC/vB,GAAGzD,EAAE,OAAO,CAACyD,EAAE,CAAC,EAA60M+vB,CAA30MA,EAAE,SAASA,CAAC,EAAE,SAASC,EAAED,CAAC,CAACxzB,CAAC,EAAEy8B,GAAgB,IAAI,CAAChJ,GAAG,IAAIhwB,EAAE80D,GAA2B,IAAI,CAAC,AAAC9kC,CAAAA,EAAE,SAAS,EAAEl0B,OAAO,cAAc,CAACk0B,EAAC,EAAG,IAAI,CAAC,IAAI,CAACA,EAAED,EAAExzB,IAAI,MAAM,AAACyD,CAAAA,EAAE,EAAE,CAAC,cAAc,CAACA,CAAAA,EAAG,OAAO,CAACiwB,EAAE,MAAM,CAAC,CAAC,EAAED,EAAE,QAAQ,CAACzzB,GAAGyD,EAAE,MAAM,CAAC,CAAC,EAAEA,EAAE,KAAK,CAAC,EAAEA,EAAE,WAAW,CAAC,GAAGA,EAAE,MAAM,CAACA,EAAE,WAAW,CAACA,EAAE,GAAG,CAAC,OAAO,CAAC,gBAAgBA,EAAE,OAAO,CAACiwB,IAAIjwB,EAAE,UAAU,CAAC,CAAC,EAAEA,EAAE,cAAc,GAAGA,EAAE,mBAAmB,GAAGA,CAAC,CAAC,OAAOg1D,GAAUhlC,EAAEqlC,IAAWR,GAAa7kC,EAAE,CAAC,CAAC,IAAI,UAAU,MAAM,WAAW,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,2CAA2C,CAAC,IAAI,CAAC,sCAAsC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,uCAAuC,CAAC,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,OAAO,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,UAAU,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,IAAI,CAAC,2CAA2C,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,UAAU,IAAI,CAAC,uCAAuC,EAAE,KAAK,IAAIxzB,OAAO,YAAY,EAAG,KAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,aAAa,IAAI,CAAC,2CAA2C,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,WAAW,IAAI,CAAC,uCAAuC,EAAE,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,OAAO,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,UAAU,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,YAAY,IAAI,CAAC,2CAA2C,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,UAAU,IAAI,CAAC,uCAAuC,EAAE,KAAK,IAAIA,OAAO,YAAY,EAAG,KAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,aAAa,IAAI,CAAC,2CAA2C,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,WAAW,IAAI,CAAC,uCAAuC,EAAE,CAAC,EAAE,CAAC,IAAI,iBAAiB,MAAM,WAAW,IAAID,EAAE,IAAI,AAAC,KAAI,CAAC,SAAS,CAAC04D,SAAS,aAAa,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,wBAAwBpjC,EAAE,IAAI,GAAG5B,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,yCAAyC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC4B,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,EAAE,aAAa,CAAC,EAAE,YAAY,SAAS9B,CAAC,EAAExzB,EAAE,YAAY,CAAC0zB,EAAEF,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,IAAI,kBAAkB,MAAM,WAAW,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,WAAW,IAAI,CAAC,UAAU,EAAG,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAC,CAAE,CAAC,EAAE,CAAC,IAAI,4BAA4B,MAAM,SAASA,CAAC,EAAE,UAAUA,EAAE,IAAI,EAAGC,CAAAA,EAAE,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,IAAIzzB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAG,MAAKwzB,EAAE,OAAO,EAAE,KAAKA,EAAE,OAAO,EAAE,KAAKA,EAAE,OAAO,EAAG,KAAI,CAAC,MAAM,GAAGxzB,GAAG,CAACs1B,EAAE,UAAU,EAAE,UAAU9B,EAAE,IAAI,AAAD,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAACxzB,CAAAA,CAAE,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,SAASwzB,CAAC,EAAEC,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAIzzB,EAAEwzB,EAAE,OAAO,CAAC/vB,EAAE,KAAK,EAAEY,EAAEqvB,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,MAAM,AAAC1zB,CAAAA,IAAIs1B,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,AAAC7xB,CAAAA,EAAEiwB,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,EAAG,KAAI,CAAC,YAAY,CAACjwB,GAAG+vB,EAAE,cAAc,EAAC,EAAGxzB,IAAIs1B,EAAE,IAAI,CAAC,QAAQ,EAAEt1B,IAAIs1B,EAAE,IAAI,CAAC,UAAU,EAAG9B,CAAAA,EAAE,cAAc,GAAGxzB,IAAIs1B,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,GAAGt1B,IAAIs1B,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAACjxB,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,EAAG,KAAI,CAAC,OAAO,CAACqvB,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAQ,CAAC,CAAE,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,SAASF,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,yCAAyC,MAAM,SAASA,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,qCAAqC,MAAM,SAASA,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,aAAa,MAAM,SAASA,CAAC,CAACxzB,CAAC,EAAE,IAAIyD,EAAEzD,EAAE,IAAI,CAAC,OAAOqE,EAAErE,EAAE,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC,GAAGwzB,EAAE,WAAW,IAAIC,EAAEpvB,EAAEmvB,EAAE,MAAM,CAAC,EAAE5mB,EAAE5M,EAAE,IAAI,GAAG,KAAK,CAAC,EAAEqE,GAAGyB,EAAE9F,EAAE,IAAI,GAAG,KAAK,CAACqE,EAAEovB,EAAE,GAAGpjB,EAAErQ,EAAE,IAAI,GAAG,KAAK,CAACyzB,EAAE,EAAGzzB,CAAAA,EAAE,IAAI,CAAC,SAAS4M,EAAE,2BAA2B9G,EAAE,UAAUuK,EAAE,WAAW5M,EAAE,MAAM,EAAEzD,EAAE,OAAO,CAACyD,EAAE,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,qBAAqB,MAAM,WAAWiwB,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,eAAe,MAAM,SAASF,CAAC,EAAE,IAAIxzB,EAAEwzB,EAAE,IAAI,GAAG,IAAI,EAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAACxzB,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,GAAG,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAACA,EAAE,CAAC,EAAE,CAAC,IAAI,kBAAkB,MAAM,SAASwzB,CAAC,CAAC/vB,CAAC,EAAE,IAAIY,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,GAAG,IAAIrE,EAAE,EAAE,CAAC,IAAI,IAAIyzB,KAAKD,EAAE,GAAGA,EAAE,cAAc,CAACC,IAAI,KAAKA,EAAE,WAAW,GAAG,OAAO,CAAChwB,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,IAAImJ,EAAE,CAAC,KAAK4mB,CAAC,CAACC,EAAE,CAAC,IAAIA,CAAC,CAAEzzB,CAAAA,EAAE,IAAI,CAAC4M,GAAG,IAAI,CAAC,KAAK,EAAE,CAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE5M,EAAE,IAAI,CAAC,SAASwzB,CAAC,CAACxzB,CAAC,EAAE,OAAOqE,EAAE,OAAO,CAAC,YAAY,CAACmvB,EAAE,GAAG,CAAC,WAAW,GAAGxzB,EAAE,GAAG,CAAC,WAAW,GAAGyD,EAAE,WAAW,GAAG,GAAG,IAAI,IAAIqC,EAAE,EAAEA,EAAE9F,EAAE,MAAM,CAAC8F,IAAI,CAAC,IAAIuK,EAAErQ,CAAC,CAAC8F,EAAE,CAACke,EAAE0P,EAAE,YAAarjB,CAAAA,EAAE,IAAI,CAAC2T,EAAE,MAAM,CAAC,aAAa3T,EAAE,IAAI,CAAC,gCAAgCA,EAAE,GAAG,CAAC,WAAW2T,EAAE,MAAM,CAAC,SAAS3T,EAAE,GAAG,CAAC,WAAWqjB,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC1P,GAAG,IAAI,CAAC,UAAU,CAACvgB,EAAEugB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,MAAM,WAAW,IAAIwP,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAG,KAAI,CAAC,kBAAkB,GAAGA,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAG,KAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAACA,EAAC,EAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,QAAQ,MAAM,WAAW,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,aAAa,MAAM,SAASA,CAAC,EAAE,IAAIxzB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAG,KAAI,CAAC,OAAO,CAAC,IAAI,CAACwzB,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAACA,EAAExzB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,SAASwzB,CAAC,CAACxzB,CAAC,EAAE,OAAOq4D,GAAK5kC,EAAE,SAAS,EAAEl0B,OAAO,cAAc,CAACk0B,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACD,EAAExzB,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASwzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,cAAc,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAOxzB,CAAC,CAAC,EAAE,EAAEyzB,CAAC,KAAM,QAAQ,CAAC,CAAC,EAAE6B,EAAE,YAAY,CAAC9B,EAAE8B,EAAE,YAAY,EAAEA,EAAE,uBAAuB,CAAC9B,EAAE,eAAe,kBAAkC7mB,EAAy1HqsD,KAAt1H1jC,EAAE,gBAAgB,CAAC,WAAW3oB,EAAE,qLAAqL,IAAI,CAAC,SAAS6mB,CAAC,CAACxzB,CAAC,EAAE,IAAIyD,EAAEkJ,EAAE,IAAI,CAAE,GAAE6mB,EAAE,KAAK,CAAC,MAAM,EAAE7mB,EAAE6mB,GAAG,EAAE,CAAC,WAAWA,EAAE,SAAS,EAAE,OAAO/vB,EAAE,IAAI,CAAC,eAAeA,EAAE,QAAQ,CAAC,SAAS,QAAQ,CAAC,UAAU+vB,EAAE,QAAQ,CAAC/vB,EAAE,QAAQ,CAAC,SAAS,WAAW,CAAC,SAAS,CAAC,IAAI+vB,EAAE,QAAQ,CAAC,QAAQ,EAAE/vB,EAAE,QAAQ,CAAC,SAAS,WAAW,CAAC,SAAS,EAAE,EAAE6xB,EAAE,cAAc,CAAC,SAAS9B,CAAC,EAAE,IAAIxzB,EAAE,OAAOwzB,EAAE,IAAI,CAAC,eAAe/vB,EAAE4D,SAASmsB,EAAE,IAAI,CAAC,gBAAgBnvB,EAAEmvB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,AAAC,KAAInvB,GAAG,CAAC,IAAImvB,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAEA,EAAE,EAAE,CAAC,aAAaA,EAAE,QAAQ,CAAC,aAAcA,CAAAA,EAAE,EAAE,CAAC,WAAWxzB,GAAGqE,GAAGZ,GAAG+vB,EAAE,EAAE,CAAC,WAAW,CAACxzB,EAAGwzB,CAAAA,EAAE,WAAW,CAAC,WAAWA,EAAE,QAAQ,CAAC,QAAO,EAAIA,CAAAA,EAAE,WAAW,CAAC,SAASA,EAAE,QAAQ,CAAC,UAAS,CAAC,EAAGA,EAAE,QAAQ,CAAC,aAAcA,CAAAA,EAAE,WAAW,CAAC,SAASA,EAAE,WAAW,CAAC,UAAS,CAAE,EAAE8B,EAAE,kBAAkB,CAAC,SAAS9B,CAAC,EAAE,GAAGA,aAAaulC,SAAUvlC,CAAAA,EAAE7mB,EAAE6mB,EAAC,EAAGA,EAAE,MAAM,CAAC,CAAC,IAAIxzB,EAAE2M,EAAE,cAAc,KAAK,EAAG3M,CAAAA,EAAE,MAAM,EAAGA,CAAAA,EAAE2M,EAAE,wCAAwCA,EAAE,QAAQ,MAAM,CAAC3M,EAAC,EAAG,IAAIyD,EAAE+vB,EAAE,GAAG,CAAC,eAAenvB,EAAEmvB,EAAE,GAAG,CAAC,aAAaC,EAAED,EAAE,GAAG,CAAC,eAAe5mB,EAAE4mB,EAAE,GAAG,CAAC,eAAe1tB,EAAE0tB,EAAE,GAAG,CAAC,iBAAiBnjB,EAAEmjB,EAAE,GAAG,CAAC,kBAAkBxP,EAAEwP,EAAE,GAAG,CAAC,eAAgBnvB,CAAAA,GAAGrE,EAAE,GAAG,CAAC,YAAYqE,GAAGZ,GAAGzD,EAAE,GAAG,CAAC,cAAcyD,GAAGgwB,GAAGzzB,EAAE,GAAG,CAAC,cAAcyzB,GAAG7mB,GAAG5M,EAAE,GAAG,CAAC,cAAc4M,GAAG9G,GAAG9F,EAAE,GAAG,CAAC,gBAAgB8F,GAAGuK,GAAGrQ,EAAE,GAAG,CAAC,iBAAiBqQ,GAAG2T,GAAGhkB,EAAE,GAAG,CAAC,eAAegkB,GAAGwP,EAAE,IAAI,CAAC,oBAAoBA,EAAE,IAAI,CAAC,kBAAkBA,EAAE,MAAM,IAAI,QAAQA,EAAE,IAAI,CAAC,SAASxzB,EAAE,GAAG,CAAC,gBAAgB,UAAU,GAAG,CAAC,cAAc,OAAOA,EAAE,IAAI,CAACwzB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,IAAIE,EAAE1zB,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,OAAQA,CAAAA,EAAE,IAAI,CAAC0zB,GAAG,EAAEF,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,EAAEA,CAAC,CAAC,EAAE,CAAC,YAAY,CAACxzB,EAAE,GAAG,CAAC,QAAQwzB,EAAE,KAAK,GAAG,MAAMxzB,EAAE,GAAG,CAAC,QAAQC,OAAO,UAAU,CAAC,EAAE,MAAMuzB,EAAE,IAAI,CAAC,oBAAoBxzB,EAAE,WAAW,GAAGwzB,EAAE,GAAG,CAAC,SAASxzB,EAAE,WAAW,GAAG,MAAMwzB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAACA,EAAE,IAAI,CAAC,oBAAoBA,EAAE,GAAG,CAAC,SAASA,EAAE,IAAI,CAAC,mBAAmB,MAAMA,EAAE,IAAI,CAAC,kBAAkBA,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAMvf,QAAQ,KAAK,CAAC,4BAA4B,EAAEtH,EAAE+rD,UAAU,KAAK,CAAC,WAAW,IAAIr0D,EAAE,oLAAoLsI,EAAE+rD,UAAU,EAAE,CAAC,SAASr0D,EAAE,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAOsI,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgBA,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,QAAQ,CAAC,UAAU2oB,EAAE,cAAc,CAAC3oB,EAAE,IAAI,EAAE,GAAGA,EAAE+rD,UAAU,KAAK,CAAC,WAAWpjC,EAAE,gBAAgB,EAAE,GAAG3oB,EAAE+rD,UAAU,EAAE,CAAC,QAAQ,SAASllC,CAAC,EAAE,IAAIxzB,EAAE2M,EAAE6mB,EAAE,MAAM,CAAExzB,CAAAA,EAAE,EAAE,CAAC,SAAUA,CAAAA,EAAE,IAAI,CAACqE,GAAG,WAAW,CAAC,SAAS,WAAW,CAAC,WAAWrE,EAAE,IAAI,CAACqE,GAAG,IAAI,CAAC,SAASmvB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE7mB,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,WAAW,CAAC,SAAS,GAAGf,WAAW,WAAW5L,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,EAAE2M,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,EAAC,CAAE,GAAG+rD,SAAS,gBAAgB,CAAC,QAAQ,SAASllC,CAAC,EAAE7mB,EAAE6mB,EAAE,MAAM,EAAE,EAAE,CAACnvB,IAAIsI,EAAE6mB,EAAE,MAAM,EAAE,QAAQ,CAAC,kBAAkB,QAAQ,CAAC,SAAS,EAAE,CAAC,GAAGklC,SAAS,gBAAgB,CAAC,OAAO,SAASllC,CAAC,EAAE,IAAIxzB,EAAE2M,EAAE6mB,EAAE,MAAM,EAAE,GAAGxzB,EAAE,EAAE,CAACqE,GAAG,CAAC,IAAIZ,EAAE,SAAU,KAAIzD,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAIA,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAOA,EAAE,IAAI,CAAC,gBAAiByD,CAAAA,GAAG,SAAQ,EAAGzD,EAAE,QAAQ,CAACyD,GAAG,WAAW,CAAC,UAAU6xB,EAAE,cAAc,CAACt1B,EAAE,CAAC,EAAE,CAAC,GAAG2M,EAAE+rD,UAAU,EAAE,CAAC,QAAQ,0CAA0C,SAASllC,CAAC,EAAE,GAAGA,EAAE,KAAK,GAAG8B,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO3oB,EAAE,IAAI,EAAE,QAAQ,CAAC,UAAU,KAAKA,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,SAAS6mB,CAAC,EAAE7mB,EAAE,IAAI,EAAE,WAAW,CAAC,SAAS,EAAE,GAAG,IAAI6mB,EAAE,uBAAwB7mB,CAAAA,EAAE6mB,GAAG,IAAI,CAAC,WAAW,IAAIA,EAAE7mB,EAAE,IAAI,CAAE6mB,CAAAA,EAAE,IAAI,CAAC,kBAAkBA,EAAE,MAAM,IAAIA,EAAE,IAAI,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE8B,EAAE,kBAAkB,CAAC9B,EAAE,GAAG7mB,EAAE+rD,UAAU,EAAE,CAAC,QAAQllC,EAAE,WAAW8B,EAAE,kBAAkB,CAAC3oB,EAAE,IAAI,EAAE,GAAGA,EAAE+rD,UAAU,EAAE,CAAC,UAAUllC,EAAE,WAAW8B,EAAE,kBAAkB,CAAC3oB,EAAE,IAAI,EAAE,GAAGA,EAAE+rD,UAAU,EAAE,CAAC,SAAS,iCAAiC,WAAW,IAAI,IAAIllC,EAAE7mB,EAAE,IAAI,EAAE,OAAO,CAAC,eAAe,IAAI,CAAC,mBAAmB3M,EAAE2M,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAClJ,EAAE,EAAE,CAACY,EAAE,EAAEA,EAAErE,EAAE,MAAM,CAACqE,IAAIZ,EAAE,IAAI,CAACzD,CAAC,CAACqE,EAAE,CAAC,IAAI,CAAEmvB,CAAAA,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC/vB,EAAE,IAAI,CAAC,MAAM+vB,EAAE,OAAO,CAAC,SAAS,EAAE,GAAmBC,EAA+0JulC,KAA70JpsD,EAAk1J0oB,EAAE,KAAK,CAAr0Jt1B,EAAE,CAAC,WAAW,CAAC,EAAE,OAAO,IAAI,SAAS,IAAI,SAAS,GAAG,EAAEwzB,EAAE,SAASA,CAAC,EAAE,SAASnvB,EAAEmvB,CAAC,CAACxzB,CAAC,EAAEy8B,GAAgB,IAAI,CAACp4B,GAAG,IAAIZ,EAAE80D,GAA2B,IAAI,CAAC,AAACl0D,CAAAA,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,EAAC,EAAG,IAAI,CAAC,IAAI,CAACA,EAAEmvB,EAAExzB,IAAI,MAAM,AAACyD,CAAAA,EAAE,EAAE,CAAC,QAAQ,CAACA,CAAAA,EAAG,OAAO,CAACgwB,EAAE,MAAM,CAAC,CAAC,EAAEpvB,EAAE,QAAQ,CAACrE,GAAGyD,EAAE,OAAO,CAACA,EAAE,GAAG,CAAC,IAAI,CAAC,WAAWA,EAAE,OAAO,CAACA,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAMA,EAAE,WAAW,CAACA,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS+vB,CAAC,EAAE,OAAOC,EAAED,GAAG,QAAQ,CAAC,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI/vB,EAAE,WAAW,EAAGA,CAAAA,EAAE,OAAO,CAACA,EAAE,OAAO,CAAC,EAAE,CAACA,EAAE,WAAW,GAAGA,EAAE,gBAAgB,GAAGA,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS+vB,CAAC,EAAE/vB,EAAE,iBAAiB,CAAC+vB,EAAE,EAAE,GAAG/vB,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS+vB,CAAC,EAAE,IAAIxzB,EAAE,oFAAqFyzB,CAAAA,EAAED,GAAG,IAAI,CAAC,SAASxzB,GAAIyzB,CAAAA,EAAED,GAAG,GAAG,CAAC,mBAAmB,QAAQC,EAAED,GAAG,IAAI,CAAC,OAAO,MAAMC,EAAED,GAAG,IAAI,CAAC,MAAMxzB,EAAC,CAAE,GAAGyD,EAAE,gBAAgB,GAAGA,EAAE,OAAO,CAACA,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,SAAUA,CAAAA,EAAE,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,UAAUmJ,EAAE,CAAC,QAAQnJ,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,SAASA,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,aAAa,GAAGA,EAAE,WAAW,CAAC,EAAEA,EAAE,OAAO,CAACA,EAAE,OAAO,CAAC,EAAE,CAACA,EAAE,WAAW,EAAEA,EAAE,OAAO,CAAC,UAAU,EAAEA,EAAE,WAAW,CAAC,EAAE,CAACA,EAAE,WAAW,EAAE,QAAQ,CAAC,SAAQ,EAAGA,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS+vB,CAAC,EAAE5mB,EAAE,CAAC,QAAQnJ,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,SAASA,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,aAAa,EAAE,GAAGA,EAAE,mBAAmB,GAAGA,EAAE,KAAK,GAAGA,CAAC,CAAC,OAAOg1D,GAAUp0D,EAAEy0D,IAAWR,GAAaj0D,EAAE,CAAC,CAAC,IAAI,UAAU,MAAM,WAAW,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAIrE,EAAE,IAAI,AAAC,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAASwzB,CAAC,EAAEA,EAAE,gBAAgB,CAAC,QAAQxzB,EAAE,0BAA0B,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAIA,EAAE,IAAI,AAAC,KAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAASwzB,CAAC,EAAEA,EAAE,mBAAmB,CAAC,QAAQxzB,EAAE,0BAA0B,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,wBAAwB,MAAM,SAASwzB,CAAC,EAAE,IAAIxzB,EAAEyzB,EAAED,EAAE,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAACxzB,EAAE,CAAC,EAAE,CAAC,IAAI,kBAAkB,MAAM,WAAW,IAAIwzB,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,KAAK,EAAG,KAAI,CAAC,OAAO,CAAC,MAAM,GAAGA,EAAE,EAAEA,EAAE,EAAEA,GAAG,EAAE,IAAI,CAAC,GAAG,CAACA,EAAE,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,SAASA,CAAC,CAACxzB,CAAC,EAAE,IAAIyD,EAAE,CAAC,QAAQ+vB,EAAE,QAAQ,EAAE,SAASxzB,EAAE,OAAO,aAAa,CAAEyzB,CAAAA,EAAED,GAAG,QAAQ,CAAC,gBAAgB/vB,EAAE,UAAU,CAAC,KAAKgwB,EAAED,GAAG,QAAQ,CAAC,eAAe/vB,EAAE,UAAU,CAAC,IAAIgwB,EAAED,GAAG,QAAQ,CAAC,eAAgB/vB,CAAAA,EAAE,UAAU,CAAC,IAAG,EAAGmJ,EAAEnJ,EAAE,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,WAAW,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAgB,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAI,CAAE,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,WAAW,IAAIY,EAAE,IAAI,AAAC,KAAI,CAAC,OAAO,CAAC,UAAU,EAAG,KAAI,CAAC,WAAW,CAACovB,EAAE,gCAAgC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAASD,CAAC,CAACxzB,CAAC,EAAE,IAAIyD,EAAEgwB,EAAE,oCAAoCpvB,EAAE,WAAW,CAAC,MAAM,CAACZ,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,oBAAmB,CAAE,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,WAAW,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,MAAM,MAAM,SAAS+vB,CAAC,EAAE,IAAIxzB,EAAE,IAAI,CAAC,GAAGwzB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAACA,EAAE,EAAEA,EAAE,GAAIA,CAAAA,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAEA,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI/vB,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAY,KAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAUmJ,EAAE,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,cAAc,SAAS,WAAW5M,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,SAASwzB,CAAC,EAAE5mB,EAAE,CAAC,QAAQ4mB,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,aAAa,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC/vB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAG,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,UAAU,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC+vB,GAAG,QAAQ,CAAC,SAAQ,EAAG5mB,EAAE,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC4mB,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,aAAa,GAAG5mB,EAAE,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC4mB,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAACA,GAAG,QAAQ,CAAC,UAAU,IAAI,CAAC,WAAW,CAACA,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,MAAM,WAAW/O,cAAc,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,MAAM,WAAWA,cAAc,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAACD,YAAY,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,MAAM,WAAW,IAAIgP,EAAE,IAAI,CAAC,WAAW,CAAC,CAAEA,CAAAA,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAACA,EAAE,EAAEA,EAAE,GAAIA,CAAAA,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAACA,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,MAAM,WAAW,IAAIA,EAAE,IAAI,CAAC,WAAW,CAAC,CAAEA,CAAAA,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAACA,EAAE,EAAEA,EAAE,GAAIA,CAAAA,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAACA,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,SAASA,CAAC,CAACxzB,CAAC,EAAE,OAAOq4D,GAAKh0D,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACmvB,EAAExzB,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASwzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAOxzB,CAAC,CAAC,EAAE,EAAEqE,CAAC,IAAIixB,EAAE,MAAM,CAAC9B,EAAE8B,EAAE,YAAY,EAAEA,EAAE,uBAAuB,CAAC9B,EAAE,SAAS,YAA2B,SAASnvB,CAAC,CAACovB,CAAC,EAAEpvB,EAAEq0D,UAAU,EAAE,CAAC,QAAQ,QAAQ,SAASllC,CAAC,EAAE,GAAGnvB,EAAE,IAAI,EAAE,QAAQ,CAAC,gBAAgB,MAAM,CAAC,CAAC,IAAIZ,EAAEY,EAAEmvB,EAAE,MAAM,EAAE,OAAO,CAAC,QAAS,MAAK,IAAI/vB,EAAE,IAAI,CAAC,oBAAoBA,EAAE,IAAI,CAAC,kBAAkB,KAAK,IAAIA,EAAE,GAAG,CAAC,YAAY,GAAGA,EAAE,GAAG,CAAC,aAAa,IAAIzD,EAAEqE,EAAE,IAAI,EAAE,IAAI,CAAC,eAAgBA,CAAAA,EAAEmvB,EAAE,MAAM,EAAE,EAAE,CAACnvB,EAAE,8BAA8BA,EAAEmvB,EAAE,MAAM,EAAE,EAAE,CAACnvB,EAAE,+BAA+BovB,EAAE,CAAC,QAAQzzB,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,IAAI,OAAO,gBAAgB,SAAS,SAASwzB,CAAC,EAAgCnvB,EAAxBmvB,EAAE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAM,GAAG,CAAC,CAAC,QAAQ,MAAM,GAAG/vB,EAAE,GAAG,CAAC,WAAWA,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,AAACY,CAAAA,EAAEmvB,EAAE,MAAM,EAAE,EAAE,CAACnvB,EAAE,sBAAsBA,EAAEmvB,EAAE,MAAM,EAAE,EAAE,CAACnvB,EAAE,sBAAqB,GAAKZ,CAAAA,EAAE,GAAG,CAAC,WAAW,UAAUzD,EAAE,GAAG,CAAC,CAAC,QAAQ,OAAO,GAAGyzB,EAAE,CAAC,QAAQzzB,CAAC,CAAC,EAAE,CAAC,WAAW,QAAQ,SAAS,IAAI,OAAO,eAAe,EAAC,CAAE,CAAC,EAAE,EAAEg5D,KAAK1jC,EAAE,KAAK,EAAW5B,EAAooNslC,KAAhnNh5D,GAAE,CAAC,KAAK,EAAE,CAAC,YAAY,GAAG,qBAAqB,GAAG,oBAAoB,CAAC,EAAE,MAAM,EAAE,EAAE,UAAU,KAAK,aAAa,KAAK,aAAa,IAAI,EAAkuMwzB,CAAhuMA,GAAE,SAASA,CAAC,EAAE,SAASxP,EAAEwP,CAAC,CAACxzB,CAAC,EAAEy8B,GAAgB,IAAI,CAACzY,GAAG,IAAIvgB,EAAE80D,GAA2B,IAAI,CAAC,AAACv0C,CAAAA,EAAE,SAAS,EAAEzkB,OAAO,cAAc,CAACykB,EAAC,EAAG,IAAI,CAAC,IAAI,CAACA,EAAEwP,EAAExzB,IAAI,MAAM,AAACyD,CAAAA,EAAE,EAAE,CAAC,OAAO,CAACA,CAAAA,EAAG,OAAO,CAACiwB,EAAE,MAAM,CAAC,CAAC,EAAE1P,EAAE,QAAQ,CAAChkB,GAAGyD,EAAE,GAAG,CAAC,QAAQ,CAAC,qBAAqBA,EAAE,SAAS,CAAC,EAAE,CAACA,EAAE,MAAM,CAACiwB,IAAIjwB,EAAE,WAAW,GAAGA,EAAE,eAAe,CAAC,EAAElE,OAAO,IAAI,CAACkE,EAAE,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAACA,EAAE,MAAM,CAAC,IAAI,CAAC,OAAOA,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK6xB,EAAE,IAAI,IAAI7xB,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAGA,CAAAA,EAAE,SAAS,CAACA,EAAE,OAAO,CAAC,IAAI,CAACA,EAAE,YAAY,CAACA,EAAE,SAAS,GAAGA,EAAE,eAAe,EAAEA,EAAE,kBAAkB,GAAGA,EAAE,eAAe,GAAGA,EAAE,WAAW,GAAGA,EAAE,mBAAmB,GAAGA,CAAC,CAAC,OAAOg1D,GAAUz0C,EAAE80C,IAAWR,GAAat0C,EAAE,CAAC,CAAC,IAAI,UAAU,MAAM,WAAW,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,UAAU,MAAM,WAAW,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,qBAAqB,EAAE00C,SAAS,gBAAgB,CAAC,UAAU10C,EAAE,mBAAmB,EAAE00C,SAAS,gBAAgB,CAAC,QAAQ10C,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,OAAOA,EAAE,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,OAAO,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,UAAU,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,qBAAqB,EAAE00C,SAAS,mBAAmB,CAAC,UAAU10C,EAAE,mBAAmB,EAAE00C,SAAS,mBAAmB,CAAC,QAAQ10C,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,OAAOA,EAAE,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC,OAAO,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC,UAAU,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,SAASwP,CAAC,EAAE,IAAIxzB,EAAE0zB,EAAEF,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS/vB,EAAEiwB,EAAEF,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,GAAGxzB,EAAE,MAAM,CAAC,CAAC,IAAIqE,EAAErE,EAAE,KAAK,EAAGyD,CAAAA,EAAG,KAAI,CAAC,UAAU,CAACY,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAC,EAAG,IAAI,CAAC,UAAU,CAACA,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,WAAW,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,WAAW,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,SAASmvB,CAAC,EAAKxP,CAAAA,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAKwP,EAAE,OAAO,AAAD,EAAM,MAAI,CAAC,eAAe,GAAE,IAAI,CAAC,YAAY,GAAE,IAAI,CAAC,YAAY,CAAC,MAAM,AAAD,GAASA,CAAAA,EAAE,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAC,EAAO,KAAIA,EAAE,OAAO,EAAE,KAAKA,EAAE,OAAO,AAAD,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAGA,CAAAA,EAAE,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAC,CAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASA,CAAC,EAAE,GAAGA,EAAE,GAAG,CAAC,CAAC,IAAIxzB,EAAE04D,SAAS,aAAa,CAAC,OAAOj1D,EAAEi1D,SAAS,aAAa,CAAC,KAAK,GAAG14D,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQA,EAAE,WAAW,CAACwzB,EAAE,GAAG,CAACxzB,EAAE,YAAY,CAAC,WAAW,GAAG0zB,EAAEjwB,GAAG,QAAQ,CAAC,wBAAwBA,EAAE,WAAW,CAAC,QAAQ+vB,EAAE,KAAK,CAAC,CAAC,IAAInvB,EAAEq0D,SAAS,aAAa,CAAC,MAAOr0D,CAAAA,EAAE,YAAY,CAAC,MAAMmvB,EAAE,KAAK,EAAExzB,EAAE,YAAY,CAACqE,EAAErE,EAAE,UAAU,CAAC,CAAC,OAAOA,EAAE,WAAW,CAACyD,GAAGzD,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,eAAe,MAAM,WAAW,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,IAAIwzB,EAAE,EAAEA,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAACA,IAAI,CAAC,IAAIxzB,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAACwzB,EAAE,CAAE,KAAI,CAAC,GAAG,CAAC,MAAM,CAACxzB,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAACA,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,qBAAqB,MAAM,WAAW,IAAIA,EAAE,IAAI,AAAC,KAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,cAAc,CAAC,SAASwzB,CAAC,EAAExzB,EAAE,OAAO,CAAC,CAAC,IAAIwzB,CAAC,GAAGxzB,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAGA,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,YAAY,CAACs1B,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,WAAW,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,EAAG,KAAI,CAAC,MAAM,CAAC5B,EAAE,mBAAmB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,WAAW,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,kBAAkB,MAAM,WAAW,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAACA,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,AAAC,MAAK,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,AAAD,GAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAEA,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,IAAI,WAAW,MAAM,SAASF,CAAC,EAAE,GAAGA,EAAE,cAAc,CAAC,QAAQ,KAAKA,EAAE,GAAG,CAAC,CAAC,IAAI,IAAIxzB,EAAE,CAAC,EAAEyD,EAAE,EAAEA,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAACA,IAAI,GAAG,IAAI,CAAC,SAAS,CAACA,EAAE,CAAC,GAAG,GAAG+vB,EAAE,GAAG,CAAC,CAACxzB,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAACA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,UAAU,MAAM,SAASwzB,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAACA,IAAI,CAAE,KAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,AAAD,EAAG,CAAC,IAAIxzB,EAAE,IAAI,CAAC,WAAW,CAACwzB,EAAG,KAAI,CAAC,MAAM,CAAC,GAAG,CAACxzB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAACwzB,GAAGE,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC1zB,GAAG,IAAI,CAAC,eAAe,GAAG,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAACA,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,aAAa,MAAM,SAASwzB,CAAC,EAAE,IAAIxzB,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAACwzB,EAAG,KAAI,CAAC,MAAM,CAAC,EAAE,CAACA,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAASA,CAAC,EAAE,OAAO,GAAGE,EAAEF,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAACA,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAACxzB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,aAAa,MAAM,SAASwzB,CAAC,EAAE,IAAIxzB,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAACwzB,EAAG,CAAC,KAAI,CAAC,aAAa,CAACxzB,CAAAA,CAAE,CAAC,EAAE,CAAC,KAAK,GAAG,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAACA,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,SAASwzB,CAAC,CAACxzB,CAAC,EAAE,OAAOq4D,GAAKr0C,EAAE,SAAS,EAAEzkB,OAAO,cAAc,CAACykB,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACwP,EAAExzB,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASwzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,OAAO,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,SAASA,CAAC,EAAExP,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAIhkB,EAAE0zB,EAAEF,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU/vB,EAAE+vB,EAAE,MAAM,EAAExzB,EAAE,MAAM,CAAC,GAAG,CAAC0zB,EAAEF,EAAE,MAAM,EAAE,EAAE,CAAC,oBAAoB/vB,EAAE,CAAC,IAAIY,EAAErE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,IAAIwzB,EAAE,OAAO,EAAE,KAAKA,EAAE,OAAO,CAAC,CAACA,EAAE,cAAc,GAAG,IAAIC,EAAEpvB,EAAE,SAAS,CAAC,MAAM,CAAC,GAAGA,EAAE,aAAa,CAAC,CAAC,IAAIuI,EAAEvI,EAAE,aAAa,CAAC,KAAK,EAAGA,CAAAA,EAAE,UAAU,CAACuI,GAAGvI,EAAE,aAAa,CAAC,KAAKovB,EAAEhvB,KAAK,GAAG,CAACmI,EAAE,EAAE,EAAE,CAACvI,EAAE,SAAS,CAAC,MAAM,EAAEA,EAAE,UAAU,CAACovB,EAAE,MAAM,GAAG,KAAKD,EAAE,OAAO,CAAE,IAAGnvB,EAAE,aAAa,CAAC,CAAC,IAAIyB,EAAEzB,EAAE,aAAa,CAAC,KAAK,GAAG,EAAE,GAAGyB,EAAE,EAAE,OAAOzB,EAAE,UAAU,CAACyB,EAAE,OAAO,GAAG,KAAK0tB,EAAE,OAAO,EAAEnvB,EAAE,aAAa,CAAC,CAAC,IAAIgM,EAAEhM,EAAE,aAAa,CAAC,KAAK,GAAG,CAAEgM,CAAAA,GAAGhM,EAAE,SAAS,CAAC,MAAM,CAACA,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,GAAGA,EAAE,UAAU,CAACgM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,SAASmjB,CAAC,EAAExP,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,SAASwP,CAAC,EAAExP,EAAE,QAAQ,EAAG0P,CAAAA,EAAEF,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAG,CAAE,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAOxzB,EAAC,CAAC,EAAE,EAAEgkB,CAAC,KAAM,QAAQ,CAAC,CAAC,EAAEsR,EAAE,KAAK,CAAC9B,GAAE8B,EAAE,YAAY,EAAEA,EAAE,uBAAuB,CAAC9B,GAAE,QAAQ,WAAWE,EAAEglC,UAAU,KAAK,CAAC,WAAWhlC,EAAEglC,SAAS,IAAI,EAAE,EAAE,CAAC,QAAQ,eAAe,WAAW,IAAIllC,EAAEE,EAAE,IAAI,EAAE,OAAO,CAAC,SAAUF,CAAAA,EAAE,MAAM,EAAEA,CAAC,CAAC,EAAE,CAAC,OAAO,EAAEE,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,MAAM,EAAE,EAAE,GAAmBD,GAA+vEulC,KAA3uEh5D,GAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,iBAAiB,IAAI,EAA0lEwzB,CAAxlEA,GAAE,SAASA,CAAC,EAAE,SAASnvB,EAAEmvB,CAAC,CAACxzB,CAAC,EAAEy8B,GAAgB,IAAI,CAACp4B,GAAG,IAAIZ,EAAE80D,GAA2B,IAAI,CAAC,AAACl0D,CAAAA,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,EAAC,EAAG,IAAI,CAAC,IAAI,CAACA,EAAEmvB,EAAExzB,IAAI,MAAM,AAACyD,CAAAA,EAAE,EAAE,CAAC,SAAS,CAACA,CAAAA,EAAG,OAAO,CAACgwB,GAAE,MAAM,CAAC,CAAC,EAAEpvB,EAAE,QAAQ,CAACrE,GAAGyD,EAAE,cAAc,CAACA,EAAE,EAAE,CAAC,SAAS,CAACY,EAAE,SAAS,CAAC,IAAI,CAACZ,GAAGA,EAAE,mBAAmB,GAAGA,EAAE,eAAe,GAAGA,CAAC,CAAC,OAAOg1D,GAAUp0D,EAAEy0D,IAAWR,GAAaj0D,EAAE,CAAC,CAAC,IAAI,UAAU,MAAM,WAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAImvB,EAAEnvB,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,EAAEA,EAAE,SAAS,CAAC,MAAM,CAACmvB,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAWklC,SAAS,gBAAgB,CAAC,SAASr0D,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAWq0D,SAAS,mBAAmB,CAAC,SAASr0D,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,kBAAkB,MAAM,WAAW,IAAImvB,EAAE8B,EAAE,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,AAAC,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE9B,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAEA,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAY,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAQ,EAAGA,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAa,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAS,EAAGA,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAgB,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAY,CAAE,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,WAAW,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,SAASA,CAAC,CAACxzB,CAAC,EAAE,OAAOq4D,GAAKh0D,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACmvB,EAAExzB,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASwzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,SAAS,CAAC,EAAE,CAAC,IAAI,kBAAkB,MAAM,WAAW,IAAI,IAAIA,KAAKnvB,EAAE,SAAS,CAAEA,EAAE,SAAS,CAACmvB,EAAE,CAAC,eAAe,EAAG,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAOxzB,EAAC,CAAC,EAAE,EAAEqE,CAAC,KAAM,SAAS,CAAC,EAAE,CAACixB,EAAE,OAAO,CAAC9B,GAAE8B,EAAE,YAAY,EAAEA,EAAE,uBAAuB,CAAC9B,GAAE,UAAU,aAA6BnjB,GAAuxK2oD,KAArxKvlC,GAA0xK6B,EAAE,KAAK,CAA7wKt1B,GAAE,CAAC,UAAU,MAAM,aAAa,CAAC,EAAE,eAAe,CAAC,CAAC,EAAEqQ,GAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAKmjB,GAAE,SAASA,CAAC,EAAE,SAASnvB,EAAEmvB,CAAC,CAACxzB,CAAC,EAAEy8B,GAAgB,IAAI,CAACp4B,GAAG,IAAIZ,EAAE80D,GAA2B,IAAI,CAAC,AAACl0D,CAAAA,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,EAAC,EAAG,IAAI,CAAC,IAAI,CAACA,EAAEmvB,EAAExzB,IAAI,MAAM,AAACyD,CAAAA,EAAE,EAAE,CAAC,sBAAsB,CAACA,CAAAA,EAAG,OAAO,CAAC4M,GAAE,MAAM,CAAC,CAAC,EAAEhM,EAAE,QAAQ,CAACrE,GAAGyD,EAAE,MAAM,CAAC,CAAC,EAAEA,EAAE,OAAO,CAACA,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,GAAGA,EAAE,KAAK,CAACA,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAGA,EAAE,aAAa,CAACA,EAAE,GAAG,CAAC,IAAI,CAAC,oBAAoBA,EAAE,oBAAoB,CAACA,EAAE,GAAG,CAAC,IAAI,CAAC,oBAAoB,OAAO,GAAGA,EAAE,OAAO,CAAC,EAAEA,EAAE,OAAO,CAAC,EAAEA,EAAE,GAAG,CAAC,QAAQ,CAAC,aAAaA,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQA,EAAE,OAAO,CAAC,SAAS,CAACA,EAAE,OAAO,CAAC,GAAG,UAAUA,EAAE,OAAO,CAAC,SAAS,CAACA,EAAE,OAAO,CAAC,IAAI,WAAWA,EAAE,OAAO,CAAC,SAAS,CAACA,EAAE,OAAO,CAAC,IAAIA,EAAE,OAAO,CAAC,GAAGA,EAAE,mBAAmB,GAAGA,CAAC,CAAC,OAAOg1D,GAAUp0D,EAAEy0D,IAAWR,GAAaj0D,EAAE,CAAC,CAAC,IAAI,UAAU,MAAM,WAAW,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAE,KAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,aAAa,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,aAAa,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAE,KAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,aAAa,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,aAAa,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,IAAI,kBAAkB,MAAM,WAAW,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,SAASmvB,CAAC,EAAEnjB,GAAEmjB,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,MAAM,WAAW,IAAI,CAAC,MAAM,EAAG,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,QAAQ,MAAM,WAAW,IAAI,CAAC,MAAM,EAAG,KAAI,CAAC,OAAO,CAAC,cAAc,CAAEvzB,CAAAA,OAAO,mBAAmB,CAAC,SAAS,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAGy4D,SAAS,IAAI,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,yBAAyB,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAC,EAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,gBAAgB,MAAM,WAAW,IAAI14D,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAIyD,EAAE,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS+vB,CAAC,EAAEC,GAAE,CAAC,QAAQD,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAACxzB,EAAE,OAAO,CAAC,EAAE,CAAC,WAAW,CAACA,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,IAAI,MAAMyD,EAAE,OAAO,eAAe,GAAGA,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,iBAAiB,MAAM,WAAW,IAAIzD,EAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAASwzB,CAAC,EAAEC,GAAE,MAAM,CAACD,GAAGC,GAAE,CAAC,QAAQD,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAWxzB,EAAE,OAAO,CAAC,WAAWA,EAAE,OAAO,CAAC,SAAS,IAAI,OAAO,cAAc,SAAS,WAAWA,EAAE,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,WAAW,IAAIwzB,EAAExzB,EAAE,IAAI,CAACyD,EAAExD,OAAO,UAAU,CAACoE,EAAEpE,OAAO,WAAW,CAACwzB,EAAE,IAAI,CAAC,EAAE,CAAC,qBAAqB,GAAG7mB,EAAEyD,GAAE,oCAAoCvK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAoB,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC8G,GAAG,IAAI,CAAC,OAAO,CAAC6mB,EAAE,IAAI,CAAChwB,EAAE,EAAEgwB,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAACpvB,EAAEovB,EAAE,MAAM,CAACD,EAAE/vB,EAAEmJ,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC6mB,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAACA,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAACA,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,aAAa,SAAS,MAAM,OAAO,OAAO,EAAE,KAAK,EAAE,UAAU,cAAc,IAAI,CAAC,OAAO,CAAC,MAAM,WAAW,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,WAAW,MAAM,GAAG7mB,EAAE,GAAG,CAAC,CAAC,mBAAmB9G,CAAC,GAAG8F,WAAW,WAAW5L,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,WAAW,wFAAwF,GAAGA,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,UAAU,UAAU,GAAG,WAAW,eAAe,GAAG4L,WAAW,WAAW5L,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,SAAS,mBAAmB8F,CAAC,GAAG8G,EAAE,GAAG,CAAC,CAAC,UAAU,SAAS4mB,EAAE,IAAI,WAAW,wDAAwD,GAAGxzB,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAGA,EAAE,yBAAyB,CAACA,EAAE,oBAAoB,CAAC,IAAI,CAACA,GAAGC,OAAO,gBAAgB,CAAC,SAASD,EAAE,iBAAiB,CAAC,CAAC,GAAG04D,SAAS,IAAI,CAAC,gBAAgB,CAAC,QAAQ14D,EAAE,yBAAyB,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,qBAAqB,MAAM,WAAW,IAAIwzB,EAAE,IAAI,CAACxzB,EAAEC,OAAO,UAAU,CAACwD,EAAExD,OAAO,WAAW,CAACoE,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiBovB,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAoB,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAACzzB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,OAAO,CAACyD,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,mBAAmB,cAAc,WAAW,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,MAAM,GAAGY,EAAE,GAAG,CAAC,CAAC,UAAU,WAAW,mBAAmBovB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG7nB,WAAW,WAAWvH,EAAE,MAAM,GAAGmvB,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,GAAG,mBAAmB,GAAG,UAAU,eAAe,CAACA,EAAE,OAAO,CAAC,SAAS,GAAGA,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,UAAU,iBAAiBA,EAAE,OAAO,CAAC,OAAO,GAAG5nB,WAAW,WAAW4nB,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,qBAAqB,WAAW,eAAe,GAAGA,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,qBAAqB,WAAW,wDAAwD,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,SAASA,CAAC,CAACxzB,CAAC,EAAE,OAAOq4D,GAAKh0D,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACmvB,EAAExzB,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASwzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,sBAAsB,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAOxzB,EAAC,CAAC,EAAE,EAAEqE,CAAC,IAAIixB,EAAE,oBAAoB,CAAC9B,GAAE8B,EAAE,YAAY,EAAEA,EAAE,uBAAuB,CAAC9B,GAAE,uBAAuB,0BAAkD3zB,GAAi3em5D,KAA71eh5D,GAAE,CAAC,UAAU,CAAC,EAAE,OAAO,eAAe,MAAM,KAAK,YAAY,KAAK,eAAe,CAAC,EAAE,gBAAgB,CAAC,EAAE,aAAa,KAAK,SAAS,EAAE,QAAQ,KAAK,QAAQ,KAAK,UAAU,GAAG,QAAQ,EAAE,QAAQ,KAAK,SAAS,KAAK,EAAE,SAAS,KAAK,EAAE,WAAW,KAAK,SAAS,KAAK,MAAM,CAAC,EAAE,mBAAmB,CAAC,EAAE,gCAAgC,CAAC,EAAE,UAAU,KAAK,aAAa,CAAC,EAAE,KAAK,CAAC,OAAO,SAAS,MAAM,QAAQ,KAAK,KAAK,cAAc,IAAI,UAAU,IAAI,OAAO,CAAC,UAAU,WAAW,QAAQ,QAAQ,MAAM,OAAO,OAAO,SAAS,YAAY,UAAU,WAAW,WAAW,CAAC,YAAY,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,CAAC,SAAS,CAAC,SAAS,SAAS,UAAU,YAAY,WAAW,SAAS,WAAW,CAAC,cAAc,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC,SAAS,KAAK,OAAO,KAAK,QAAQ,KAAK,OAAO,IAAI,EAAmtbwzB,CAAjtbA,GAAE,SAASA,CAAC,EAAE,SAASe,EAAEf,CAAC,CAACxzB,CAAC,EAAEy8B,GAAgB,IAAI,CAAClI,GAAG,IAAI9wB,EAAE80D,GAA2B,IAAI,CAAC,AAAChkC,CAAAA,EAAE,SAAS,EAAEh1B,OAAO,cAAc,CAACg1B,EAAC,EAAG,IAAI,CAAC,IAAI,CAACA,EAAEf,EAAExzB,GAAI,CAACyD,CAAAA,EAAE,EAAE,CAAC,YAAY,CAACA,CAAAA,EAAG,OAAO,CAAC5D,GAAE,MAAM,CAAC,CAAC,EAAE00B,EAAE,QAAQ,CAACv0B,GAAGA,GAAGA,EAAE,cAAc,CAAC,SAAS,UAAU,OAAOA,EAAE,IAAI,EAAGyD,CAAAA,EAAE,OAAO,CAAC,IAAI,CAAC5D,GAAE,MAAM,CAAC,CAAC,EAAE00B,EAAE,QAAQ,CAAC,IAAI,CAACv0B,EAAE,IAAI,GAAGyD,EAAE,OAAO,CAAC,OAAO,EAAEA,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAGA,EAAE,OAAO,CAAC,OAAO,EAAEA,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAGA,EAAE,EAAE,CAAC6xB,EAAE,IAAI,GAAG7xB,EAAE,eAAe,GAAGA,EAAE,kBAAkB,GAAGA,EAAE,WAAW,GAAGA,EAAE,mBAAmB,GAAGA,EAAE,OAAO,CAAC,WAAW,EAAGA,CAAAA,EAAE,OAAO,CAAC,WAAW,CAAC,IAAIgxB,KAAKA,KAAK,KAAK,CAAChxB,EAAE,EAAE,CAAC,KAAK,EAAC,EAAG,IAAIY,EAAEZ,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO8wB,EAAE,OAAO,CAAClwB,GAAGZ,EAAE,OAAO,CAAC,cAAc,CAAEA,CAAAA,EAAE,OAAO,CAACY,EAAE,CAAC,GAAGZ,EAAE,aAAa,EAAC,EAAGA,EAAE,QAAQ,CAACY,GAAGZ,EAAE,QAAQ,CAAC,IAAIgxB,MAAMhxB,EAAE,MAAM,CAAC,CAAC,EAAEA,CAAC,CAAC,OAAOg1D,GAAUlkC,EAAEukC,IAAWR,GAAa/jC,EAAE,CAAC,CAAC,IAAI,UAAU,MAAM,WAAW,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG10B,GAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,iBAAiB,MAAM,WAAW,IAAI2zB,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,oBAAqBA,CAAAA,GAAG8B,EAAE,UAAU,CAAC,WAAW,CAAC9B,GAAG,OAAO,GAAG,IAAIxzB,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAsBA,CAAAA,GAAGs1B,EAAE,UAAU,CAAC,WAAW,CAACt1B,GAAG,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,qBAAqB,MAAM,WAAW,IAAI,CAAC,OAAO,CAAC,YAAY,EAAGH,CAAAA,GAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,AAAD,EAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,WAAW,IAAI2zB,EAAE,IAAI,AAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC8B,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,WAAW9B,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,WAAW,MAAM,SAASA,CAAC,EAAE,IAAIxzB,EAAE,IAAI,CAAC,OAAOwzB,EAAEA,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAACe,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAEf,EAAE,KAAK,CAAC,+BAA+B,GAAG,CAAC,SAASA,CAAC,EAAE,OAAOxzB,EAAE,OAAO,CAACwzB,EAAE,CAACxzB,EAAE,OAAO,CAACwzB,EAAE,GAAGA,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,UAAU,MAAM,SAASA,CAAC,CAACxzB,CAAC,EAAE,GAAG,CAACwzB,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,UAAU,OAAOA,GAAIA,CAAAA,EAAE,IAAIiB,KAAKA,KAAK,KAAK,CAACjB,GAAE,EAAGe,EAAE,OAAO,CAACf,GAAG,CAAC,IAAI/vB,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAACY,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,AAACkwB,CAAAA,EAAE,OAAO,CAAC9wB,IAAI+vB,EAAE/vB,EAAE+vB,EAAE/vB,EAAE8wB,EAAE,OAAO,CAAClwB,IAAIA,EAAEmvB,GAAIA,CAAAA,EAAEnvB,CAAAA,EAAG,IAAI,CAAC,IAAI,CAAC,IAAIowB,KAAKjB,EAAE,OAAO,IAAI,IAAI,CAAC,kBAAkB,GAAGe,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAEv0B,GAAG,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,gBAAgB,MAAM,WAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,qBAAqB,MAAM,WAAW,IAAIwzB,EAAEe,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAIE,KAAKz0B,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAACyD,EAAEzD,EAAE,aAAa,CAACwzB,EAAE,MAAM,GAAG,CAACnvB,EAAErE,EAAE,WAAW,CAACwzB,EAAE,QAAQ,GAAG,CAACC,EAAED,EAAE,OAAO,EAAG,KAAI,CAAC,UAAU,CAAC,SAAS,CAACA,EAAE,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC/vB,EAAE,KAAKY,EAAE,IAAIovB,CAAC,CAAC,EAAE,CAAC,IAAI,WAAW,MAAM,SAASD,CAAC,EAAE,IAAIxzB,EAAE,CAAC,EAAE,GAAGu0B,EAAE,OAAO,CAACf,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI/vB,EAAE,IAAIgxB,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,GAAGpwB,EAAE,IAAIowB,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAGhB,EAAED,EAAE,OAAO,EAAGnvB,CAAAA,EAAE,QAAQ,CAACA,EAAE,QAAQ,GAAG,GAAGA,EAAE,OAAO,CAACA,EAAE,OAAO,GAAG,GAAGrE,EAAEyzB,EAAEhwB,EAAE,OAAO,IAAIY,EAAE,OAAO,GAAGovB,CAAC,CAACzzB,GAAI,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAMwzB,EAAE,QAAQ,GAAG,KAAKA,EAAE,WAAW,EAAE,EAAE,AAAD,EAAG,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,kBAAkB,MAAM,WAAW,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,iBAAiB,MAAM,SAASA,CAAC,EAAE,OAAOA,EAAE,KAAK,CAAC,GAAIA,CAAAA,EAAE,IAAI,EAAE/uB,KAAK,IAAI,CAACA,KAAK,GAAG,CAAC+uB,EAAE,KAAK,EAAE,IAAIA,EAAE,KAAK,EAAE,EAAC,EAAG,GAAGA,EAAE,KAAK,EAAGA,CAAAA,EAAE,IAAI,EAAE/uB,KAAK,KAAK,CAACA,KAAK,GAAG,CAAC+uB,EAAE,KAAK,EAAE,IAAIA,EAAE,KAAK,EAAE,EAAC,EAAGA,CAAC,CAAC,EAAE,CAAC,IAAI,YAAY,MAAM,WAAW,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,IAAI,YAAY,MAAM,WAAW,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,IAAI,SAAS,MAAM,SAASA,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE,IAAIY,EAAE,IAAI,CAAC,OAAO,CAACovB,EAAE,IAAIgB,KAAK7nB,EAAE2nB,EAAE,eAAe,CAACf,EAAExzB,GAAG8F,EAAE,IAAI2uB,KAAKjB,EAAExzB,EAAE,GAAG,MAAM,GAAGqQ,EAAE,EAAE,CAAC2T,EAAE,EAAE,AAACuQ,CAAAA,EAAE,gBAAgB,CAACd,GAAG,EAAEpvB,EAAE,QAAQ,EAAE,AAACyB,CAAAA,GAAGzB,EAAE,QAAQ,AAAD,EAAG,GAAIyB,CAAAA,GAAG,GAAG,IAAI,IAAI4tB,EAAE,IAAI1zB,EAAE,GAAGA,EAAE,EAAE2M,EAAE,KAAK3M,EAAE,EAAEA,EAAE,EAAE2zB,EAAE,IAAI3zB,EAAEwzB,EAAE,EAAEA,EAAE/rB,EAAE,KAAKzH,EAAEwzB,EAAE,EAAEA,EAAE5zB,EAAE20B,EAAE,eAAe,CAACZ,EAAED,GAAG/yB,EAAEiM,EAAE9G,EAAE8tB,EAAEjzB,EAAE,EAAEizB,GAAGA,GAAG,EAAEjzB,GAAG,EAAEizB,EAAE,IAAI,IAAIj0B,EAAE,CAAC,EAAEE,EAAE,EAAEqX,EAAE,EAAErX,EAAEc,EAAEd,IAAI,CAAC,IAAImG,EAAE,IAAIyuB,KAAKjB,EAAExzB,EAAEH,EAAEiG,EAAE,GAAGquB,EAAE,CAAC,CAACI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,GAAGA,EAAE,aAAa,CAACvuB,EAAE,IAAI,CAAC,IAAI,EAAEf,EAAEsvB,EAAE,aAAa,CAACvuB,EAAEytB,GAAGzf,EAAE,KAAK3P,EAAE,MAAM,CAAC,OAAO,CAAC2B,EAAE,YAAY,IAAIsuB,EAAEz0B,EAAEiG,GAAG8G,EAAE9G,GAAGjG,EAAE20B,EAAE30B,EAAEiG,EAAE,EAAEwvB,EAAEt1B,EAAEi0B,EAAET,EAAEztB,EAAE1B,EAAE,UAAU,EAAEkwB,EAAE,aAAa,CAAClwB,EAAE,UAAU,CAAC2B,GAAGmvB,EAAE9wB,EAAE,QAAQ,EAAEkwB,EAAE,aAAa,CAAClwB,EAAE,QAAQ,CAAC2B,GAAG6uB,EAAExwB,EAAE,UAAU,EAAEA,EAAE,QAAQ,EAAEA,EAAE,UAAU,CAAC2B,GAAGA,EAAE3B,EAAE,QAAQ,AAACiwB,CAAAA,GAAIz0B,CAAAA,EAAEiG,EAAG0uB,CAAAA,EAAE50B,EAAE40B,EAAEc,EAAE5B,EAAEO,EAAEN,CAAAA,EAAIa,CAAAA,GAAG5nB,EAAE0oB,EAAE3oB,EAAEsnB,EAAExsB,CAAAA,CAAC,EAAG,IAAImxD,EAAE,CAAC,IAAIpkC,EAAE,MAAMc,EAAE,KAAKrB,EAAE,SAASjgB,EAAE,WAAWmgB,EAAE,QAAQlvB,EAAE,WAAWZ,EAAE,OAAO,EAAE2B,EAAE3B,EAAE,OAAO,EAAEA,EAAE,OAAO,EAAE2B,EAAE3B,EAAE,OAAO,EAAEA,EAAE,eAAe,EAAEkwB,EAAE,UAAU,CAACvuB,IAAI3B,EAAE,YAAY,EAAEA,EAAE,YAAY,CAAC2B,GAAG,QAAQsuB,EAAE,aAAavuB,EAAE,WAAWovB,EAAE,UAAUN,EAAE,gCAAgCxwB,EAAE,+BAA+B,CAAE2f,CAAAA,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC40C,IAAI,GAAG,EAAE1hD,GAAI7G,CAAAA,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC2T,EAAE3f,EAAE,KAAK,CAAC1E,IAAIuX,EAAE,EAAM8M,EAAE,EAAE,CAARrkB,EAAE,EAAM,CAAE,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC0E,EAAEgM,EAAE5M,EAAE,CAAC,EAAE,CAAC,IAAI,YAAY,MAAM,SAAS+vB,CAAC,EAAE,IAAIxzB,EAAE,EAAE,CAACyD,EAAE,QAAQ,GAAG+vB,EAAE,OAAO,CAAC,CAAC,GAAG,CAACA,EAAE,+BAA+B,CAAC,MAAM,4BAA6BxzB,CAAAA,EAAE,IAAI,CAAC,4BAA4BA,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAOwzB,EAAE,UAAU,EAAExzB,EAAE,IAAI,CAAC,eAAewzB,EAAE,OAAO,EAAExzB,EAAE,IAAI,CAAC,YAAYwzB,EAAE,UAAU,EAAGxzB,CAAAA,EAAE,IAAI,CAAC,eAAeyD,EAAE,MAAK,EAAG+vB,EAAE,QAAQ,EAAExzB,EAAE,IAAI,CAAC,aAAawzB,EAAE,SAAS,EAAExzB,EAAE,IAAI,CAAC,cAAcwzB,EAAE,YAAY,EAAExzB,EAAE,IAAI,CAAC,iBAAiBwzB,EAAE,UAAU,EAAExzB,EAAE,IAAI,CAAC,eAAe,iBAAiBwzB,EAAE,GAAG,CAAC,YAAYxzB,EAAE,IAAI,CAAC,KAAK,oBAAoByD,EAAE,oEAAoE+vB,EAAE,IAAI,CAAC,iBAAiBA,EAAE,KAAK,CAAC,eAAeA,EAAE,GAAG,CAAC,KAAKA,EAAE,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,YAAY,MAAM,SAASA,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE,MAAM,4BAA6BA,CAAAA,EAAE,eAAe,EAAC,EAAG,KAAK,AAACzD,CAAAA,EAAEwzB,EAAE,OAAO,GAAGA,CAAAA,EAAG,IAAI,CAAC,IAAI,OAAO,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASA,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE,MAAM,sIAAsIA,EAAE,KAAK,IAAI,CAAC,UAAU,CAAC+vB,GAAG,IAAI,CAAC,UAAU,CAACxzB,GAAG,gBAAgB,CAAC,EAAE,CAAC,IAAI,aAAa,MAAM,SAASwzB,CAAC,EAAE,IAAIxzB,EAAE,KAAK,EAAEyD,EAAE,EAAE,CAAC,IAAIzD,EAAE,EAAEA,EAAE,EAAEA,IAAIyD,EAAE,IAAI,CAAC,gCAAgC,IAAI,CAAC,aAAa,CAAC+vB,EAAExzB,GAAG,KAAK,IAAI,CAAC,aAAa,CAACwzB,EAAExzB,EAAE,CAAC,GAAG,gBAAgB,MAAM,cAAc,AAACwzB,CAAAA,EAAE,KAAK,CAAC/vB,EAAE,OAAO,GAAGA,CAAAA,EAAG,IAAI,CAAC,IAAI,eAAe,CAAC,EAAE,CAAC,IAAI,aAAa,MAAM,SAAS+vB,CAAC,EAAE,MAAM,UAAUA,EAAE,IAAI,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASA,CAAC,CAACxzB,CAAC,CAACyD,CAAC,CAACY,CAAC,CAACovB,CAAC,CAAC7mB,CAAC,EAAE,IAAI9G,EAAEuK,EAAE2T,EAAE,KAAK,EAAE0P,EAAE,KAAK,EAAE/mB,EAAE,KAAK,EAAEgnB,EAAE,IAAI,CAAC,OAAO,CAAClsB,EAAEhE,IAAIkwB,EAAE,OAAO,CAAC/zB,EAAE6D,IAAIkwB,EAAE,OAAO,CAAChzB,EAAE,YAAYiM,EAAE,sEAAsEgnB,EAAE,CAAC,EAAEj0B,EAAE,CAAC,EAAE,IAAIgN,EAAE,EAAE,CAACqX,EAAE,EAAEA,EAAE,GAAGA,IAAIrX,EAAE,IAAI,CAAC,kBAAmBlJ,CAAAA,IAAIgwB,EAAEzP,EAAEhkB,EAAE,GAAGgkB,EAAEhkB,CAAAA,EAAG,IAAKgkB,CAAAA,IAAI3f,EAAE,uBAAuB,EAAC,EAAIoD,CAAAA,GAAGuc,EAAE2P,EAAE,QAAQ,EAAE/zB,GAAGokB,EAAE2P,EAAE,QAAQ,CAAC,sBAAsB,EAAC,EAAG,IAAIA,EAAE,IAAI,CAAC,MAAM,CAAC3P,EAAE,CAAC,aAAa,IAAIle,EAAE,qEAAqE6G,EAAE,IAAI,CAAC,IAAI,YAAY9M,GAAE,OAAO,CAAC8zB,EAAE,SAAS,EAAG3P,CAAAA,EAAE2P,EAAE,SAAS,CAAC,EAAE,CAACD,EAAEC,EAAE,SAAS,CAAC,EAAE,CAAC,GAAI3P,CAAAA,EAAEvgB,EAAEkwB,EAAE,SAAS,CAACD,EAAE,EAAEjwB,EAAEkwB,EAAE,SAAS,AAAD,EAAGhnB,EAAE,EAAE,CAACqX,EAAE0P,GAAG1P,GAAG2P,EAAE,OAAO,CAAC3P,IAAIA,GAAG2P,EAAE,OAAO,EAAEhnB,EAAE,IAAI,CAAC,kBAAkBqX,EAAE,KAAMA,CAAAA,IAAIvgB,EAAE,sBAAsB,EAAC,EAAG,IAAIugB,EAAE,aAAgiB,OAAnhB3T,EAAE,oEAAoE1D,EAAE,IAAI,CAAC,IAAI,YAAYhM,GAAG,4BAA6BizB,CAAAA,EAAE,GAAG,cAAa,EAAG,wOAAwOjzB,GAAG,kCAAkCgzB,EAAE,kBAAkB,CAAChzB,GAAG0P,EAAEvK,EAAEnF,GAAGmF,EAAEuK,EAAE1P,GAAG,SAAS8G,GAAI,KAAIpD,GAAGsvB,EAAE,QAAQ,EAAEtvB,CAAAA,GAAKuvB,CAAAA,EAAE,CAAC,GAAGh0B,GAAI,MAAKyE,GAAGsvB,EAAE,QAAQ,EAAEtvB,CAAAA,GAAK1E,CAAAA,EAAE,CAAC,GAAS,AAACgB,CAAAA,GAAG,4BAA6BhB,CAAAA,EAAE,GAAG,cAAa,EAAG,sOAAqO,EAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,OAAO,MAAM,SAAS6zB,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAEA,EAAE,CAAC,IAAIxzB,EAAEyD,EAAE,IAAI,CAAC,OAAO,CAACY,EAAEZ,EAAE,OAAO,CAACgwB,EAAEhwB,EAAE,OAAO,CAACmJ,EAAEnJ,EAAE,QAAQ,CAACqC,EAAErC,EAAE,QAAQ,CAAC4M,EAAE,EAAG,KAAI,CAAC,EAAE,EAAEhM,GAAI,KAAI,CAAC,EAAE,CAACA,EAAE,CAACgB,MAAMuH,IAAI,IAAI,CAAC,EAAE,CAACA,GAAI,KAAI,CAAC,EAAE,CAACA,CAAAA,CAAC,EAAG,IAAI,CAAC,EAAE,EAAE6mB,GAAI,KAAI,CAAC,EAAE,CAACA,EAAE,CAACpuB,MAAMS,IAAI,IAAI,CAAC,EAAE,CAACA,GAAI,KAAI,CAAC,EAAE,CAACA,CAAAA,CAAC,EAAG9F,EAAE,oBAAoByE,KAAK,MAAM,GAAG,QAAQ,CAAC,IAAI,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,EAAE,GAAG,IAAI,IAAIuf,EAAE,EAAEA,EAAE,EAAEA,IAAI,IAAI,CAAC,kBAAkB,GAAG3T,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC2T,EAAE,IAAI,CAAC,SAAS,CAACA,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAACA,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAChkB,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAACgkB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAACA,EAAE,CAAC,KAAK,CAAChkB,EAAG,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAACqQ,EAAE,IAAIqjB,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB/mB,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAsB2oB,CAAAA,EAAE,UAAU,CAAC,IAAI,CAAC5B,EAAE,CAAC,QAAQ,cAAc,gBAAgB,CAAC,UAAUglC,SAAS,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAGpjC,EAAE,UAAU,CAAC,IAAI,CAAC3oB,EAAE,CAAC,QAAQ,eAAe,gBAAgB,CAAC,UAAU+rD,SAAS,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAGhlC,EAAE,gBAAgB,CAAC,SAAS,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,GAAG/mB,EAAE,gBAAgB,CAAC,SAAS,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,GAAG,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,UAAU,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAG,KAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,sBAAsB,EAAE,CAAC,EAAE,CAAC,IAAI,kBAAkB,MAAM,WAAW,IAAI3M,EAAE,IAAI,AAAC,KAAI,CAAC,QAAQ,CAACH,GAAE00B,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,wBAAwB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,YAAY,EAAG,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAmB,EAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,OAAOv0B,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,WAAW,IAAIwzB,EAAExzB,EAAE,IAAI,CAAC,OAAO,GAAG,MAAM,AAACwzB,CAAAA,EAAE,GAAG,IAAI,EAAC,EAAGA,CAAC,EAAE,IAAI,WAAW,OAAOxzB,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAACA,EAAE,IAAI,CAAC,MAAM,GAAG,EAAE,KAAK,WAAW,OAAOA,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAACA,EAAE,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,WAAW,OAAOA,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,GAAG,WAAW,IAAIwzB,EAAExzB,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,MAAM,AAACwzB,CAAAA,EAAE,GAAG,IAAI,EAAC,EAAGA,CAAC,EAAE,IAAI,WAAW,OAAOxzB,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAACA,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,KAAK,WAAW,OAAOA,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAACA,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,WAAW,MAAM,AAAC,IAAGA,EAAE,IAAI,CAAC,WAAW,EAAC,EAAG,KAAK,CAAC,EAAE,EAAE,KAAK,WAAW,OAAOA,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,UAAU,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,SAAS,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,SAASwzB,CAAC,EAAEA,EAAE,KAAK,GAAG8B,EAAE,IAAI,CAAC,KAAK,EAAG9B,CAAAA,EAAE,cAAc,GAAG,IAAI,CAAC,IAAI,EAAC,CAAE,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,SAASA,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAIxzB,EAAEH,GAAE2zB,EAAE,MAAM,CAAExzB,CAAAA,EAAE,QAAQ,CAAC,gBAAiB,EAACA,EAAE,QAAQ,CAAC,0BAA0BA,EAAE,QAAQ,CAAC,aAAaA,EAAE,MAAM,GAAG,QAAQ,CAAC,eAAeA,EAAE,OAAO,CAAC,eAAe,MAAM,CAAC,IAAI,CAAC,SAAS,GAAGA,EAAE,OAAO,CAAC,eAAe,MAAM,EAAE,IAAI,CAAC,SAAS,GAAI,KAAI,CAAC,OAAO,CAAC,IAAIy0B,KAAKjB,EAAE,MAAM,CAAC,YAAY,CAAC,aAAaA,EAAE,MAAM,CAAC,YAAY,CAAC,cAAcA,EAAE,MAAM,CAAC,YAAY,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAC,CAAC,CAAE,CAAC,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,qBAAqB,MAAM,SAASA,CAAC,EAAE,IAAI,CAAC,SAAS,CAACA,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,SAASA,CAAC,EAAE,IAAI,CAAC,QAAQ,CAACA,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,YAAY,MAAM,SAASA,CAAC,EAAEnuB,MAAMmuB,IAAK,KAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAACnsB,SAASmsB,EAAE,IAAI,IAAI,CAAC,eAAe,EAAC,CAAE,CAAC,EAAE,CAAC,IAAI,WAAW,MAAM,SAASA,CAAC,EAAEnuB,MAAMmuB,IAAK,KAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAACnsB,SAASmsB,EAAE,IAAI,IAAI,CAAC,eAAe,EAAC,CAAE,CAAC,EAAE,CAAC,IAAI,qBAAqB,MAAM,SAASA,CAAC,EAAE,IAAIxzB,EAAE,KAAK,CAAEwzB,CAAAA,EAAE,OAAO,GAAG,IAAI,EAAGxzB,CAAAA,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAIy0B,KAAKA,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,GAAGF,EAAE,OAAO,CAACv0B,IAAI,IAAI,CAAC,OAAO,CAACA,EAAC,CAAE,CAAC,EAAE,CAAC,IAAI,gBAAgB,MAAM,SAASwzB,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE,IAAIzD,GAAGwzB,EAAE,QAAQ,CAAC,GAAGxzB,GAAGA,GAAG,EAAE,OAAOyD,EAAE+vB,EAAE,IAAI,CAAC,cAAc,CAACxzB,EAAE,CAACwzB,EAAE,IAAI,CAAC,QAAQ,CAACxzB,EAAE,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,WAAW,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,SAASwzB,CAAC,CAACxzB,CAAC,EAAE,OAAOq4D,GAAK9jC,EAAE,SAAS,EAAEh1B,OAAO,cAAc,CAACg1B,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACf,EAAExzB,EAAE,CAAC,EAAE,CAAC,IAAI,UAAU,MAAM,SAASwzB,CAAC,EAAE,MAAM,OAAO,IAAI,CAACj0B,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAACi0B,KAAK,CAACnuB,MAAMmuB,EAAE,OAAO,GAAG,CAAC,EAAE,CAAC,IAAI,aAAa,MAAM,SAASA,CAAC,EAAE,IAAIxzB,EAAEwzB,EAAE,MAAM,GAAG,OAAO,IAAIxzB,GAAG,IAAIA,CAAC,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,SAASwzB,CAAC,EAAEe,EAAE,OAAO,CAACf,IAAIA,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,kBAAkB,MAAM,SAASA,CAAC,CAACxzB,CAAC,EAAE,MAAM,CAAC,GAAGu0B,EAAE,WAAW,CAACf,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAACxzB,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASwzB,CAAC,EAAE,OAAOA,EAAE,GAAG,GAAGA,EAAE,KAAK,GAAGA,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,gBAAgB,MAAM,SAASA,CAAC,CAACxzB,CAAC,EAAE,OAAOwzB,EAAE,OAAO,KAAKxzB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,SAASwzB,CAAC,EAAEe,EAAE,OAAO,CAACf,IAAIA,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASA,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,YAAY,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAOxzB,EAAC,CAAC,EAAE,EAAEu0B,CAAC,KAAM,SAAS,CAAC,qnBAAmrBe,EAAE,UAAU,CAAC9B,GAAE8B,EAAE,YAAY,EAAEA,EAAE,uBAAuB,CAAC9B,GAAE,aAAa,gBAAgCE,GAA0/YslC,KAAt+Yh5D,GAAE,CAAC,WAAW,IAAI,YAAY,IAAI,YAAY,GAAG,WAAW,GAAG,SAAS,IAAI,UAAU,KAAK,YAAY,MAAM,QAAQ,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,OAAO,SAAS,MAAM,QAAQ,KAAK,IAAI,EAAE,UAAU,CAAC,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,EAAE,YAAY,KAAK,UAAU,KAAK,aAAa,KAAK,WAAW,KAAK,SAAS,IAAI,EAA4yWwzB,CAA1yWA,GAAE,SAASA,CAAC,EAAE,SAASI,EAAEJ,CAAC,CAACxzB,CAAC,EAAEy8B,GAAgB,IAAI,CAAC7I,GAAG,IAAInwB,EAAE80D,GAA2B,IAAI,CAAC,AAAC3kC,CAAAA,EAAE,SAAS,EAAEr0B,OAAO,cAAc,CAACq0B,EAAC,EAAG,IAAI,CAAC,IAAI,CAACA,EAAEJ,EAAExzB,IAAI,MAAM,AAACyD,CAAAA,EAAE,EAAE,CAAC,YAAY,CAACA,CAAAA,EAAG,OAAO,CAACiwB,GAAE,MAAM,CAAC,CAAC,EAAEE,EAAE,QAAQ,CAAC5zB,GAAGyD,EAAE,EAAE,CAAC6xB,EAAE,IAAI,GAAG7xB,EAAE,kBAAkB,GAAGA,EAAE,WAAW,GAAGA,EAAE,eAAe,GAAGA,EAAE,mBAAmB,GAAGA,EAAE,WAAW,GAAGA,EAAE,YAAY,GAAGA,CAAC,CAAC,OAAOg1D,GAAU7kC,EAAEklC,IAAWR,GAAa1kC,EAAE,CAAC,CAAC,IAAI,UAAU,MAAM,WAAW,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAGF,GAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,UAAU,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,YAAY,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,IAAI,CAAC,2BAA2B,EAAEA,GAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAUA,GAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,UAAU,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,SAASF,CAAC,EAAEA,EAAE,KAAK,GAAG8B,EAAE,IAAI,CAAC,KAAK,EAAG9B,CAAAA,EAAE,cAAc,GAAG,IAAI,CAAC,IAAI,EAAC,CAAE,CAAC,EAAE,CAAC,IAAI,yBAAyB,MAAM,SAASA,CAAC,EAAEA,EAAE,cAAc,GAAG,IAAIxzB,EAAE,IAAI,CAAC,KAAK,CAAC,qBAAqB,GAAGyD,EAAEzD,EAAE,IAAI,CAACqE,EAAErE,EAAE,GAAG,AAAC,KAAI,CAAC,EAAE,CAACyD,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAACY,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAIovB,EAAEG,EAAE,IAAI,CAACJ,EAAG,KAAI,CAAC,EAAE,CAACC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAACA,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAGilC,SAAS,gBAAgB,CAAC,YAAY,IAAI,CAAC,6BAA6B,EAAEA,SAAS,gBAAgB,CAAC,YAAY,IAAI,CAAC,6BAA6B,EAAEA,SAAS,gBAAgB,CAAC,UAAU,IAAI,CAAC,4BAA4B,EAAEA,SAAS,gBAAgB,CAAC,WAAW,IAAI,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,IAAI,2BAA2B,MAAM,SAASllC,CAAC,EAAEA,EAAE,cAAc,GAAG,IAAIxzB,EAAE4zB,EAAE,IAAI,CAACJ,GAAG/vB,EAAEzD,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAACqE,EAAErE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,AAAC,KAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAACyD,EAAEY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,0BAA0B,MAAM,SAASmvB,CAAC,EAAE,IAAIxzB,EAAE,IAAI,AAACwzB,CAAAA,EAAE,cAAc,GAAGklC,SAAS,mBAAmB,CAAC,UAAU,IAAI,CAAC,4BAA4B,EAAEA,SAAS,mBAAmB,CAAC,WAAW,IAAI,CAAC,4BAA4B,EAAE,IAAIj1D,EAAEmwB,EAAE,IAAI,CAACJ,GAAGnvB,EAAEZ,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAACgwB,EAAEhwB,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,AAAC,KAAI,CAAC,KAAK,EAAEY,IAAI,IAAI,CAAC,EAAE,EAAEovB,IAAI,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAACpvB,EAAEovB,GAAG,UAAU,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAGC,CAAAA,GAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,uBAAuB9nB,WAAW,WAAW5L,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAC,EAAG,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE04D,SAAS,mBAAmB,CAAC,YAAY,IAAI,CAAC,6BAA6B,EAAEA,SAAS,mBAAmB,CAAC,YAAY,IAAI,CAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC,IAAI,qBAAqB,MAAM,WAAW,IAAI,CAAC,QAAQ,CAAChlC,GAAEE,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC,IAAIJ,EAAEklC,SAAS,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAE,KAAI,CAAC,OAAO,CAAC,SAAS,EAAEllC,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAACA,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,WAAW,IAAIA,EAAE,IAAI,AAAC,KAAI,CAAC,KAAK,CAAC8B,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,WAAW,YAAY,OAAO9B,EAAE,OAAO,CAAC,UAAU,EAAEA,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAACA,GAAGA,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,kBAAkB,MAAM,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,OAAO,CAACumC,UAAU,OAAO,CAAC,UAAUA,UAAU,aAAa,CAAC,gBAAgB,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,0BAA0B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,4BAA4B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,0BAA0B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,eAAe,MAAM,WAAW,IAAIvmC,EAAEE,GAAE,8GAA+G,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,GAAE,EAAG,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAG,KAAI,CAAC,OAAO,CAAC,YAAY,EAAEF,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,IAAIxzB,EAAE0zB,GAAE,wCAAyCA,CAAAA,GAAE,kFAAmF,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,GAAE,EAAG,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,QAAQ,CAAC1zB,GAAG,EAAE,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG0zB,GAAE,kFAAmF,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,GAAE,EAAG,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC1zB,GAAG,EAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAGA,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,WAAW,IAAI,CAAC,OAAO,CAAC,UAAU,EAAG,KAAI,CAAC,MAAM,CAAC0zB,GAAE,gCAAgC,IAAI,CAAC,MAAM,CAACA,GAAE,gCAAgC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,IAAI,iBAAiB,MAAM,WAAW,IAAIF,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAACxzB,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAACyD,EAAE,EAAE+vB,EAAEnvB,EAAEuvB,EAAE,YAAY,CAAC,MAAOvvB,CAAAA,EAAE,YAAY,CAAC,QAAQ,kBAAkBA,EAAE,YAAY,CAAC,QAAQZ,GAAGY,EAAE,YAAY,CAAC,SAASZ,GAAG,IAAIgwB,EAAEG,EAAE,YAAY,CAAC,KAAKH,EAAE,YAAY,CAAC,YAAY,aAAaD,EAAE,IAAIA,EAAE,KAAK,IAAI5mB,EAAEgnB,EAAE,YAAY,CAAC,SAAUhnB,CAAAA,EAAE,YAAY,CAAC,QAAQ,6BAA6BA,EAAE,YAAY,CAAC,KAAK,GAAGA,EAAE,YAAY,CAAC,KAAK,GAAGA,EAAE,YAAY,CAAC,IAAI,GAAG,IAAI9G,EAAE8tB,EAAE,YAAY,CAAC,OAAQ9tB,CAAAA,EAAE,YAAY,CAAC,KAAK,GAAGA,EAAE,YAAY,CAAC,KAAK,GAAG,IAAIuK,EAAEujB,EAAE,YAAY,CAAC,SAAUvjB,CAAAA,EAAE,YAAY,CAAC,QAAQ,wBAAwBA,EAAE,YAAY,CAAC,IAAIrQ,GAAGyzB,EAAE,WAAW,CAAC3tB,GAAG2tB,EAAE,WAAW,CAACpjB,GAAGojB,EAAE,WAAW,CAAC7mB,GAAGvI,EAAE,WAAW,CAACovB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAACpvB,GAAG,IAAI,CAAC,IAAI,CAACyB,EAAE,IAAI,CAAC,EAAE,CAACuK,EAAE,IAAI,CAAC,OAAO,CAACzD,EAAE,IAAI,CAAC,CAAC,CAAC6mB,CAAC,CAAC,EAAE,CAAC,IAAI,kBAAkB,MAAM,WAAW,IAAID,EAAEE,GAAE,uCAAuC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI1zB,EAAE,EAAEA,EAAE,GAAGA,GAAG,EAAE,CAAC,IAAIyD,EAAE+vB,EAAE,KAAK,GAAGnvB,EAAErE,EAAE,EAAEyE,KAAK,EAAE,CAACgvB,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,AAAChwB,CAAAA,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAACgB,KAAK,GAAG,CAACJ,GAAGovB,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAChvB,KAAK,GAAG,CAACJ,GAAGovB,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,GAAGhwB,EAAE,IAAI,CAAC,IAAIzD,EAAE,KAAKA,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAACyD,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,IAAImJ,EAAE,EAAEA,EAAE,GAAGA,GAAG,EAAE,CAAC,IAAI9G,EAAE0tB,EAAE,KAAK,GAAGnjB,EAAEzD,EAAE,EAAEnI,KAAK,EAAE,CAACuf,EAAE,EAAEpX,GAAGA,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,AAAC9G,CAAAA,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAACrB,KAAK,GAAG,CAAC4L,GAAG2T,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAACvf,KAAK,GAAG,CAAC4L,GAAG2T,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,GAAGle,EAAE,IAAI,CAAC,IAAI8G,EAAE,KAAKA,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC9G,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,WAAW,IAAI,IAAI0tB,EAAEE,GAAE,uCAAuC1zB,EAAE,EAAEA,EAAE,GAAGA,GAAG,EAAE,CAAC,IAAIyD,EAAE+vB,EAAE,KAAK,GAAGnvB,EAAErE,EAAE,GAAGyE,KAAK,EAAE,AAAChB,CAAAA,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAACgB,KAAK,GAAG,CAACJ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAACI,KAAK,GAAG,CAACJ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,GAAGZ,EAAE,IAAI,CAACmwB,EAAE,eAAe,CAAC5zB,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,CAACyD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,SAAS+vB,CAAC,EAAE,IAAIxzB,EAAE0zB,GAAEF,EAAE,MAAM,CAAE,KAAI,CAAC,MAAM,CAACxzB,EAAE,QAAQ,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,IAAI,kBAAkB,MAAM,WAAW,IAAI,CAAC,OAAO,CAAC,UAAU,EAAG,KAAI,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAIwzB,EAAE,AAAC,CAAC,KAAI,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAC,EAAG,EAAC,EAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,IAAIA,CAAC,CAAC,EAAE,EAAG,GAAEA,CAAC,CAAC,EAAE,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAKA,CAAC,CAAC,EAAE,CAACA,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,GAAE,EAAG,QAAQA,CAAC,CAAC,EAAE,CAAC,CAAC,IAAIxzB,EAAE,IAAIy0B,KAAK,CAAC,IAAIA,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAEjB,CAAAA,EAAE,CAACxzB,EAAE,QAAQ,GAAGA,EAAE,UAAU,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAG,KAAI,CAAC,MAAM,CAAC,IAAIwzB,CAAC,CAAC,EAAE,EAAEA,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,IAAG,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAACA,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAACA,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAACI,EAAE,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,IAAI,WAAW,MAAM,SAASJ,CAAC,CAACxzB,CAAC,EAAE,YAAYwzB,GAAGE,GAAE,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,cAAc,IAAIjwB,EAAE,UAAU+vB,EAAEnvB,EAAEZ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAACgwB,EAAEhwB,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,AAAC,KAAI,CAAC,WAAW,CAAC+vB,EAAEE,GAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,eAAejwB,GAAGiwB,GAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,eAAe,CAACjwB,GAAGgwB,EAAE,SAAS,CAAC,GAAG,CAAC,uBAAuBC,GAAErvB,GAAG,GAAG,CAAC,aAAa,WAAW,WAAW,CAAC,uBAAuB,IAAI,CAAC,UAAU,CAACrE,GAAG6L,aAAa,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAACD,WAAW,WAAW8nB,GAAED,GAAG,GAAG,CAAC,aAAa,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,aAAa,MAAM,SAASD,CAAC,EAAE,IAAIxzB,EAAE,IAAI,CAAC,WAAW,CAACyD,EAAE,IAAI,CAACzD,EAAE,CAACqE,EAAE,UAAUrE,EAAEyzB,EAAEhwB,AAAGgB,KAAK,EAAE,CAAEJ,CAAAA,EAAE,EAAE,EAAC,EAAjBZ,EAAqBmJ,EAAEvI,GAAG,EAAEZ,GAAGA,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAACqC,EAAErB,KAAK,GAAG,CAACgvB,GAAG7mB,EAAEyD,EAAE,CAAC5L,KAAK,GAAG,CAACgvB,GAAG7mB,EAAEoX,EAAE,IAAI,AAACwP,CAAAA,EAAGE,CAAAA,GAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,yBAAyB9nB,WAAW,WAAW8nB,GAAE1P,EAAE,MAAM,EAAE,WAAW,CAAC,yBAAyBA,EAAE,OAAO,CAACle,EAAEuK,EAAE,EAAEmjB,EAAC,EAAG,IAAI,CAAC,OAAO,CAAC1tB,EAAEuK,EAAE,CAAC,EAAE,CAAC,IAAI,UAAU,MAAM,SAASmjB,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE,IAAIY,EAAE,IAAI,CAACovB,EAAEhvB,KAAK,KAAK,CAAC+uB,EAAE,CAACxzB,GAAG4M,EAAE,UAAU,IAAI,CAAC,WAAW,CAAC9G,EAAErB,KAAK,EAAE,CAAEmI,CAAAA,GAAGnJ,EAAE,EAAE,EAAC,EAAG4M,EAAE5L,KAAK,IAAI,CAAC+uB,EAAEA,EAAExzB,EAAEA,GAAGgkB,EAAEpX,GAAGyD,EAAE,AAAC,KAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,AAAD,EAAG,EAAEqjB,EAAE1P,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,AAAC,KAAI,CAAC,OAAO,CAAC,UAAU,EAAG0P,CAAAA,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,AAAD,EAAGD,EAAE,GAAIA,CAAAA,EAAE,EAAEhvB,KAAK,EAAE,CAACgvB,CAAAA,EAAG,IAAI9mB,EAAElI,KAAK,KAAK,CAACgvB,EAAE3tB,EAAG2tB,CAAAA,EAAE9mB,EAAE7G,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC8G,EAAE,IAAID,GAAIA,CAAAA,EAAE,EAAC,EAAIlJ,CAAAA,GAAIkJ,CAAAA,GAAG,GAAG,KAAKA,GAAIA,CAAAA,EAAE,EAAC,EAAGC,EAAG,MAAKD,GAAIA,CAAAA,EAAE,GAAGA,EAAEqX,EAAE,IAAIrX,EAAE,GAAGA,EAAE,IAAIA,EAAE,EAAEA,EAAE,EAAC,EAAIlJ,CAAAA,GAAIkJ,CAAAA,GAAG,GAAG,KAAKA,GAAIA,CAAAA,EAAE,EAAC,EAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAGA,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAG,KAAI,CAAC,YAAY,EAAGotD,CAAAA,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAACnuD,WAAW,WAAWvH,EAAE,YAAY,CAAC,IAAI,EAAE,IAAG,CAAC,EAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAACsI,EAAEC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAACD,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAACinB,EAAE,eAAe,CAACjnB,GAAG,IAAIgnB,EAAElvB,KAAK,GAAG,CAACgvB,GAAIC,CAAAA,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,AAAD,EAAGjsB,EAAE,CAAChD,KAAK,GAAG,CAACgvB,GAAIC,CAAAA,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,AAAD,EAAG9zB,EAAE6E,KAAK,GAAG,CAACgvB,GAAGC,EAAE/yB,EAAE,CAAC8D,KAAK,GAAG,CAACgvB,GAAGC,CAAE,KAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAKC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAKlsB,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK7H,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,KAAKe,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,MAAM,WAAW,IAAI,CAAC,MAAM,EAAG,KAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,CAAE,CAAC,EAAE,CAAC,IAAI,QAAQ,MAAM,WAAW,IAAI,CAAC,MAAM,EAAG,KAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAC,CAAE,CAAC,EAAE,CAAC,IAAI,OAAO,MAAM,SAAS6yB,CAAC,CAACxzB,CAAC,EAAE,IAAIyD,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAACY,EAAErE,EAAE,GAAG4zB,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAIA,EAAE,eAAe,CAAC,IAAI,CAAC,OAAO,CAAE,KAAI,CAAC,IAAI,CAACvvB,EAAE,CAACrE,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAGqE,CAAAA,EAAEA,EAAE,IAAI,IAAI,CAAC,MAAM,AAAD,EAAG,AAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAACA,CAAAA,IAAKZ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,QAAQ,MAAM,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,SAAS+vB,CAAC,CAACxzB,CAAC,EAAE,OAAOq4D,GAAKzkC,EAAE,SAAS,EAAEr0B,OAAO,cAAc,CAACq0B,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACJ,EAAExzB,EAAE,CAAC,EAAE,CAAC,IAAI,kBAAkB,MAAM,SAASwzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,GAAG,IAAI,EAAC,EAAGA,CAAC,CAAC,EAAE,CAAC,IAAI,eAAe,MAAM,SAASA,CAAC,EAAE,OAAOklC,SAAS,eAAe,CAAC,6BAA6BllC,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,MAAM,SAASA,CAAC,EAAE,OAAOA,EAAE,aAAa,EAAE,GAAGA,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,EAAEA,EAAE,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC,EAAEA,EAAE,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAEA,EAAE,OAAO,CAAC,EAAEA,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASA,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,YAAY,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAOxzB,EAAC,CAAC,EAAE,EAAE4zB,CAAC,KAAM,SAAS,CAAC,0tBAA0yB0B,EAAE,UAAU,CAAC9B,GAAE8B,EAAE,YAAY,EAAEA,EAAE,uBAAuB,CAAC9B,GAAE,aAAa,gBAAgCC,GAAg9DulC,KAA57Dh5D,GAAE,CAAC,EAAEwzB,GAAE,SAASA,CAAC,EAAE,SAASnvB,EAAEmvB,CAAC,CAACxzB,CAAC,EAAEy8B,GAAgB,IAAI,CAACp4B,GAAG,IAAIZ,EAAE80D,GAA2B,IAAI,CAAC,AAACl0D,CAAAA,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,EAAC,EAAG,IAAI,CAAC,IAAI,CAACA,EAAEmvB,EAAExzB,IAAI,MAAM,AAACyD,CAAAA,EAAE,EAAE,CAAC,kBAAkB,CAACA,CAAAA,EAAG,OAAO,CAACgwB,GAAE,MAAM,CAAC,CAAC,EAAEpvB,EAAE,QAAQ,CAACrE,GAAGyD,EAAE,SAAS,CAAC,CAAC,EAAEA,EAAE,aAAa,CAAC,CAAC,EAAEA,EAAE,aAAa,GAAGA,EAAE,mBAAmB,GAAGA,CAAC,CAAC,OAAOg1D,GAAUp0D,EAAEy0D,IAAWR,GAAaj0D,EAAE,CAAC,CAAC,IAAI,UAAU,MAAM,WAAW,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,yBAAyB,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,yBAAyB,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,gBAAgB,MAAM,WAAW,IAAI,CAAC,SAAS,CAACq0D,SAAS,aAAa,CAAC,QAAQjlC,GAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,qBAAqB,GAAG,CAAC,CAAC,MAAM,QAAQ,YAAY,OAAO,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,iBAAiB,MAAM,WAAWA,GAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,gBAAgB,MAAM,WAAW,IAAID,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAexzB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,AAAC,KAAI,CAAC,aAAa,CAACA,GAAGwzB,EAAE,IAAI/vB,EAAEzD,CAAEwzB,CAAAA,GAAI/vB,CAAAA,GAAG,IAAI+vB,EAAE,IAAI,CAAC,cAAc,EAAC,EAAGC,GAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAChwB,EAAE,CAAC,EAAE,CAAC,IAAI,iBAAiB,MAAM,WAAW,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAE,KAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,UAAS,EAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,EAAG,KAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAS,CAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,SAAS+vB,CAAC,CAACxzB,CAAC,EAAE,OAAOq4D,GAAKh0D,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACmvB,EAAExzB,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASwzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,kBAAkB,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAOxzB,EAAC,CAAC,EAAE,EAAEqE,CAAC,IAAIixB,EAAE,gBAAgB,CAAC9B,GAAE8B,EAAE,YAAY,EAAEA,EAAE,uBAAuB,CAAC9B,GAAE,mBAAmB,sBAAsCvuB,GAA6hW+zD,KAAzgWh5D,GAAE,CAAC,SAAS,IAAI,KAAK,KAAK,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,IAAI,EAAEwzB,GAAE,SAASA,CAAC,EAAE,SAAS/vB,EAAE+vB,CAAC,CAACxzB,CAAC,EAAEy8B,GAAgB,IAAI,CAACh5B,GAAG,IAAIY,EAAEk0D,GAA2B,IAAI,CAAC,AAAC90D,CAAAA,EAAE,SAAS,EAAElE,OAAO,cAAc,CAACkE,EAAC,EAAG,IAAI,CAAC,IAAI,CAACA,EAAE+vB,EAAExzB,IAAI,MAAM,AAACqE,CAAAA,EAAE,EAAE,CAAC,UAAU,CAACA,CAAAA,EAAG,OAAO,CAACY,GAAE,MAAM,CAAC,CAAC,EAAExB,EAAE,QAAQ,CAACzD,GAAGqE,EAAE,iBAAiB,CAAC,EAAEA,EAAE,GAAG,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAACA,EAAE,cAAc,CAACA,EAAE,OAAO,CAAC,UAAU,EAAEA,EAAE,iBAAiB,CAACA,EAAE,MAAM,CAACA,EAAE,OAAO,CAAC,MAAM,EAAE,CAACA,EAAE,iBAAiB,CAACA,EAAE,OAAO,CAAC,CAAC,EAAEA,EAAE,OAAO,CAAC,CAAC,EAAEA,EAAE,MAAM,CAACA,EAAE,MAAM,CAAC,EAAEA,EAAE,MAAM,CAAC,EAAE,CAACA,EAAE,SAAS,CAACA,EAAE,GAAG,CAAC,IAAI,CAAC,kBAAkB,KAAK,GAAG,UAAU,GAAGA,EAAE,UAAU,CAACA,EAAE,GAAG,CAAC,IAAI,CAAC,kBAAkB,KAAK,GAAG,WAAW,GAAGA,EAAE,GAAG,CAAC,EAAEA,EAAE,SAAS,CAACA,EAAE,OAAO,CAAC,OAAO,EAAE,EAAEA,EAAE,gBAAgB,CAACA,EAAE,WAAW,CAAC,IAAI,CAACA,GAAGA,EAAE,WAAW,CAACA,EAAE,MAAM,CAAC,IAAI,CAACA,GAAGA,EAAE,OAAO,CAAC,SAAS,EAAGA,CAAAA,EAAE,OAAO,CAAC,IAAI,CAAC,EAAEA,EAAE,kBAAkB,GAAGA,EAAE,cAAc,EAAEA,EAAE,GAAG,CAAC,IAAI,CAAC,wBAAwB,QAAQ,CAAC,kBAAiB,EAAGA,EAAE,WAAW,CAACY,GAAE,gCAAgCZ,EAAE,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,SAASmvB,CAAC,CAACxzB,CAAC,EAAE,GAAGqE,EAAE,MAAM,CAAC,IAAI,CAACmvB,GAAGnvB,EAAE,cAAc,CAAC,CAAC,IAAIZ,EAAEwB,GAAE,mCAAoC,KAAIjF,GAAGyD,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,UAAUY,EAAE,WAAW,CAAC,MAAM,CAACZ,EAAE,CAAC,GAAGY,EAAE,cAAc,EAAEA,EAAE,GAAG,CAAC,MAAM,CAACA,EAAE,WAAW,EAAEA,EAAE,KAAK,CAACA,EAAE,MAAM,CAAC,MAAM,CAACA,EAAE,OAAO,CAAC,UAAU,CAACI,KAAK,GAAG,CAACJ,EAAE,KAAK,CAACA,EAAE,OAAO,CAAC,UAAU,EAAEA,EAAE,KAAK,CAAC,YAAY,CAAC,SAAS,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,SAASmvB,CAAC,EAAE,IAAIxzB,EAAEwzB,EAAE,YAAY,OAAO,KAAK,IAAIklC,SAAS,IAAI,CAAC,KAAK,CAAC14D,EAAE,EAAGqE,CAAAA,EAAE,KAAK,CAACrE,EAAE,CAAC,EAAE,GAAGqE,EAAE,mBAAmB,GAAGA,EAAE,OAAO,CAACA,EAAE,MAAM,EAAEA,CAAC,CAAC,OAAOo0D,GAAUh1D,EAAEq1D,IAAWR,GAAa70D,EAAE,CAAC,CAAC,IAAI,UAAU,MAAM,WAAW,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAIA,EAAE,IAAI,AAAC,KAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAIxD,OAAO,YAAY,EAAG,KAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,aAAa,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,YAAY,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,WAAW,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,YAAY,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,YAAY,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,UAAU,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,aAAa,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,EAAG,KAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,SAASuzB,CAAC,CAACxzB,CAAC,EAAEwzB,EAAE,gBAAgB,CAAC,QAAQ/vB,EAAE,0BAA0B,CAAC,EAAC,EAAG,IAAI+vB,EAAE8B,EAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,IAAK,KAAI,CAAC,2BAA2B,CAAC9B,EAAE,IAAI,CAAC,IAAI,EAAEvzB,OAAO,gBAAgB,CAAC,SAAS,IAAI,CAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAIwD,EAAE,IAAI,AAAC,MAAK,IAAIxD,OAAO,YAAY,EAAG,KAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,aAAa,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,YAAY,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,YAAY,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,YAAY,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,UAAU,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,aAAa,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,SAASuzB,CAAC,CAACxzB,CAAC,EAAEwzB,EAAE,mBAAmB,CAAC,QAAQ/vB,EAAE,0BAA0B,CAAC,GAAGxD,OAAO,mBAAmB,CAAC,SAAS,IAAI,CAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC,IAAI,qBAAqB,MAAM,SAASuzB,CAAC,EAAE,cAAcA,EAAE,IAAI,EAAEvuB,GAAEuuB,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQA,EAAE,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAACA,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAACA,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAACiB,KAAK,GAAG,GAAGhQ,cAAc,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAACD,YAAY,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,SAASgP,CAAC,EAAE,IAAIxzB,EAAE,KAAK,EAAEyD,EAAE,KAAK,EAAEY,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,EAAC,GAAGrE,EAAE,IAAI,CAAC,KAAK,CAACwzB,GAAG/vB,EAAE,IAAI,CAAC,KAAK,CAAC+vB,GAAGnvB,EAAE,IAAI,CAAC,SAAS,CAACrE,EAAEyE,AAA4B,GAA5BA,KAAK,GAAG,CAAC,IAAI,CAAC,UAAU,CAAChB,IAAO,CAAC,IAAI,CAAC,eAAe,CAAC,AAAC,GAAEY,GAAGA,EAAE,EAAC,GAAK,KAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAACrE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAACqE,EAAC,MAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAOmvB,EAAE,cAAc,GAAGA,EAAE,eAAe,GAAG,CAAC,CAAE,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAOA,EAAE,cAAc,GAAGA,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,yBAAyB,MAAM,SAASA,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE/O,cAAc,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,AAAC,IAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAE,GAAK,KAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,AAAD,EAAG,IAAI,CAAC,MAAM,CAAChgB,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAG,KAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAE,KAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAE,KAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAI,KAAI,CAAC,MAAM,CAAC,EAAC,EAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAACgwB,KAAK,GAAG,GAAGklC,sBAAsB,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,EAAGnmC,CAAAA,EAAE,cAAc,GAAGA,EAAE,eAAe,EAAC,EAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,SAASA,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAOA,EAAE,cAAc,GAAGA,EAAE,eAAe,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAIxzB,EAAEiF,GAAEuuB,EAAE,MAAM,EAAE,OAAO,CAAC,kBAAkB,KAAK,EAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAExzB,GAAIwzB,CAAAA,EAAE,cAAc,GAAGA,EAAE,eAAe,EAAC,EAAG,IAAI,CAAC,QAAQ,CAACxzB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,wBAAwB,MAAM,SAASwzB,CAAC,EAAEA,EAAE,eAAe,GAAG,IAAIxzB,EAAEiF,GAAEuuB,EAAE,MAAM,EAAE,OAAO,CAAC,kBAAmBxzB,CAAAA,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAACA,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,gBAAgB,MAAM,SAASwzB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAE,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAC,EAAG,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,qBAAqB,MAAM,SAASA,CAAC,EAAE,IAAI/vB,EAAE,IAAI,CAACzD,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,KAAK,GAAGqE,EAAErE,EAAE,IAAI,CAAC,OAAO,KAAK,GAAG,GAAGqE,EAAE,MAAM,EAAC,GAAGA,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAIovB,EAAEpvB,EAAE,MAAM,GAAG,GAAG,EAAEovB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAASA,EAAE,UAAU,CAAC,IAAI7mB,EAAEvI,CAAC,CAAC,EAAE,CAAC,YAAY,CAACyB,EAAEzB,CAAC,CAAC,EAAE,CAAC,aAAa,CAACgM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAGzD,EAAE9G,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAASuK,EAAE,KAAK,CAAC,MAAMhM,EAAE,GAAG,CAAC,OAAO,SAASmvB,CAAC,CAACxzB,CAAC,EAAEyD,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS+vB,EAAE,YAAY,CAAC,KAAK,QAAQ,GAAG,CAACA,EAAE,CAAC,IAAIxP,EAAEhkB,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAASgkB,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,MAAM,SAASwP,CAAC,EAAE,OAAOA,EAAE,aAAa,EAAE,GAAGA,EAAE,aAAa,CAAC,MAAM,CAACA,EAAE,aAAa,CAAC,EAAE,CAAC,OAAO,CAACA,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,QAAQ,MAAM,SAASA,CAAC,EAAE,OAAOA,EAAE,aAAa,EAAE,GAAGA,EAAE,aAAa,CAAC,MAAM,CAACA,EAAE,aAAa,CAAC,EAAE,CAAC,OAAO,CAACA,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,QAAQ,MAAM,SAASA,CAAC,EAAE,OAAOA,GAAG,IAAI,CAAC,KAAK,CAACA,EAAE,IAAI,CAAC,KAAK,CAACA,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAACA,EAAE,IAAI,CAAC,KAAK,EAAEA,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS,MAAM,WAAW,IAAIA,EAAExzB,EAAEyD,EAAEY,CAAErE,CAAAA,EAAE,AAACwzB,CAAAA,EAAEiB,KAAK,GAAG,EAAC,EAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAACjB,EAAE/vB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAACY,EAAE,IAAIZ,EAAG,GAAEzD,CAAAA,EAAG,IAAI,CAAC,QAAQ,CAAC,GAAGqE,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,WAAW,IAAImvB,EAAE,KAAK,EAAExzB,EAAE,KAAK,CAAE,KAAI,CAAC,SAAS,EAAGwzB,CAAAA,EAAEiB,KAAK,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,EAAGz0B,CAAAA,EAAE,IAAI,CAAC,SAAS,CAACyE,KAAK,GAAG,CAAC,CAAC+uB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAIxzB,EAAE,GAAI,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAACA,GAAG25D,sBAAsB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,UAAU,MAAM,SAASnmC,CAAC,EAAE,IAAIxzB,EAAE,IAAI,AAAC,KAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,MAAM,IAAI,CAAC,gBAAgB,EAAEC,OAAO,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAACA,OAAO,UAAU,CAAC,WAAWD,EAAE,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAIyD,EAAEY,EAAEovB,EAAE7mB,EAAE9G,EAAE,KAAK,EAAEuK,EAAE,KAAK,EAAE2T,EAAE,KAAK,EAAE0P,EAAE,KAAK,EAAE/mB,EAAE,KAAK,EAAEgnB,EAAE,KAAK,EAAElsB,EAAE,IAAI,CAAC,MAAM,CAAC7H,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,OAAO4zB,EAAEA,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC/uB,KAAK,KAAK,CAAC,AAAC,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAAEmI,EAAE,CAAE6mB,CAAAA,EAAE,AAACpvB,CAAAA,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,AAAD,EAAG,EAAE,EAAE,EAAC,EAAGA,EAAE,EAAE,IAAI,CAAC,GAAG,CAACZ,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAEugB,CAAAA,EAAE,gBAAgB2P,EAAE,GAAI3P,CAAAA,AAA8DA,EAA5D,cAAc,AAAC,KAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,AAAD,EAAG,EAAE,OAAU,eAAc,AAAC,KAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,AAAD,EAAG,EAAE,KAAI,EAAE2P,EAAE,EAAE/zB,EAAEgN,CAAAA,EAAG,IAAI,CAAC,cAAc,CAAC,CAAC,IAAIjM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAACizB,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,yBAA0BA,CAAAA,EAAE,KAAK,KAAKjzB,GAAIizB,CAAAA,EAAE,WAAW,CAAC,UAAU,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAACjzB,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,SAAQ,CAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC0P,AAAuCpL,GAAvCoL,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAM,QAAQ,CAAC,WAAY,KAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,WAAW,CAAC,UAAUA,EAAE,SAAS,CAAC,GAAG,CAAC,SAAQ,EAAG,IAAI1Q,EAAEqkB,EAAE,eAAe,CAAC3f,EAAE,EAAE,kBAAkBovB,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC7mB,EAAE9G,EAAE,kBAAkB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC8G,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAACyD,EAAEsjB,EAAE,EAAEh0B,EAAE,CAAC,IAAImG,EAAE,EAAEA,GAAGrC,EAAE,EAAEqC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAE4tB,CAAAA,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC/mB,EAAE7G,IAAIrC,GAAGY,EAAE,EAAE,EAAEuI,EAAE,GAAI8mB,CAAAA,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAE,GAAE5tB,EAAE8G,EAAE6mB,CAAAA,EAAG9mB,EAAE,EAAE/M,EAAG,GAAEkG,EAAE8G,EAAE6mB,CAAAA,CAAC,EAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC3tB,EAAE,IAAI,CAAC,KAAK,CAAC,CAACuK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAACvK,GAAG,CAAC,IAAIjG,EAAEmkB,EAAE,eAAgB,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,AAAC,KAAI,CAAC,GAAG,CAACle,EAAEzB,CAAAA,EAAG,GAAG,kBAAkBqvB,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAACrjB,EAAE1D,EAAE,CAAC7G,EAAEjG,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAE6zB,CAAAA,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC/mB,EAAE7G,IAAIrC,GAAG,EAAEY,EAAE,EAAEuI,EAAE,GAAI8mB,CAAAA,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAE,GAAE5tB,EAAE8G,EAAE6mB,CAAAA,EAAG9mB,EAAE,EAAE/M,EAAG,GAAEkG,EAAE8G,EAAE6mB,CAAAA,CAAC,EAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC3tB,EAAE,CAACuK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAACvK,GAAG,CAAC,IAAIoR,EAAE8M,EAAE,eAAgB,EAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,AAAC,EAAC,IAAI,CAAC,GAAG,CAACle,EAAEzB,CAAAA,EAAG,GAAG,kBAAkBqvB,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAACrjB,EAAE1D,EAAE,CAAC7G,EAAEoR,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC7G,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAIrK,EAAEge,EAAE,eAAe,CAAC3f,EAAE,EAAE,kBAAkBovB,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC7mB,EAAE,kBAAkB,IAAI,CAAC,OAAO,CAAC,IAAI,CAACA,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAACyD,EAAEsjB,EAAE,EAAE3tB,EAAE,CAAC,IAAImuB,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAG1sB,CAAAA,IAAI,IAAI,CAAC,MAAM,EAAE,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC0sB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,OAAO,IAAI,CAAC,eAAe,EAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAACA,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAG,CAAE,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,SAASX,CAAC,CAACxzB,CAAC,CAACyD,CAAC,CAACY,CAAC,EAAEmvB,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAACnvB,EAAEmvB,EAAE,KAAK,CAAC,MAAM,CAAC/vB,EAAE+vB,EAAE,KAAK,CAAC,OAAO,CAACxzB,EAAEwzB,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,WAAW,MAAM,SAASA,CAAC,CAACxzB,CAAC,EAAE,IAAIyD,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC+vB,CAAE,KAAI,CAAC,MAAM,EAAG/vB,CAAAA,EAAE,EAAEgB,KAAK,GAAG,CAAChB,EAAE,IAAI,CAAC,KAAK,EAAEgB,KAAK,GAAG,CAAChB,IAAKA,CAAAA,GAAG,IAAI,CAAC,KAAK,AAAD,EAAG,EAAEA,GAAGgB,KAAK,GAAG,CAAChB,EAAE,IAAI,CAAC,KAAK,EAAEA,GAAIA,CAAAA,GAAG,IAAI,CAAC,KAAK,AAAD,CAAC,EAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAACgB,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAEhB,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAACgB,KAAK,GAAG,CAAChB,GAAG,EAAEA,GAAI,KAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAACA,CAAAA,EAAG,YAAY,OAAOzD,GAAI,KAAI,CAAC,eAAe,CAACA,CAAAA,EAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAG,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAACy0B,KAAK,GAAG,GAAGklC,sBAAsB,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,MAAM,SAASnmC,CAAC,EAAE,AAAC,MAAK,IAAIA,GAAGnuB,MAAMmuB,EAAC,GAAKA,CAAAA,EAAE,GAAG,IAAIxzB,EAAE,IAAI,CAAC,MAAM,CAACwzB,EAAE,GAAGxzB,GAAG,IAAI,CAAC,KAAK,EAAEA,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAOA,EAAE,IAAI,CAAC,KAAK,CAACA,EAAE,CAAC,IAAI,CAAC,QAAQ,CAACA,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,MAAM,SAASwzB,CAAC,EAAE,AAAC,MAAK,IAAIA,GAAGnuB,MAAMmuB,EAAC,GAAKA,CAAAA,EAAE,GAAG,IAAIxzB,EAAE,IAAI,CAAC,MAAM,CAACwzB,EAAE,GAAGxzB,GAAG,IAAI,CAAC,KAAK,EAAEA,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAOA,EAAE,IAAI,CAAC,KAAK,CAACA,EAAE,CAAC,IAAI,CAAC,QAAQ,CAACA,EAAE,CAAC,EAAE,CAAC,IAAI,MAAM,MAAM,SAASwzB,CAAC,CAACxzB,CAAC,EAAE,GAAG,AAAC,MAAK,IAAIwzB,GAAGnuB,MAAMmuB,EAAC,GAAKA,CAAAA,EAAE,GAAGA,EAAE,IAAI,CAAC,KAAK,EAAEA,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAOA,EAAE,IAAI,CAAC,KAAK,CAACA,EAAE,CAAC,IAAI,CAAC,QAAQ,CAACA,EAAExzB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,SAASwzB,CAAC,CAACxzB,CAAC,EAAE,OAAOq4D,GAAK50D,EAAE,SAAS,EAAElE,OAAO,cAAc,CAACkE,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC+vB,EAAExzB,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASwzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,UAAU,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAOxzB,EAAC,CAAC,EAAE,EAAEyD,CAAC,IAAI6xB,EAAE,QAAQ,CAAC9B,GAAE8B,EAAE,YAAY,EAAEA,EAAE,uBAAuB,CAAC9B,GAAE,WAAW,cAA8BY,GAA4hJ4kC,KAAxgJh5D,GAAE,CAAC,OAAO,KAAK,EAAE,QAAQ,KAAK,CAAC,EAAEwzB,GAAE,SAASA,CAAC,EAAE,SAASnvB,EAAEmvB,CAAC,CAACxzB,CAAC,EAAEy8B,GAAgB,IAAI,CAACp4B,GAAG,IAAIZ,EAAE80D,GAA2B,IAAI,CAAC,AAACl0D,CAAAA,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,EAAC,EAAG,IAAI,CAAC,IAAI,CAACA,EAAEmvB,EAAExzB,IAAI,MAAM,AAACyD,CAAAA,EAAE,EAAE,CAAC,WAAW,CAACA,CAAAA,EAAG,OAAO,CAAC2wB,GAAE,MAAM,CAAC,CAAC,EAAE/vB,EAAE,QAAQ,CAACrE,GAAGyD,EAAE,MAAM,CAAC,CAAC,EAAEA,EAAE,OAAO,CAAC2wB,GAAE,IAAI3wB,EAAE,GAAG,CAAC,IAAI,CAAC,gBAAgBA,EAAE,MAAM,GAAGA,EAAE,qBAAqB,GAAGA,EAAE,mBAAmB,GAAGA,CAAC,CAAC,OAAOg1D,GAAUp0D,EAAEy0D,IAAWR,GAAaj0D,EAAE,CAAC,CAAC,IAAI,UAAU,MAAM,WAAW,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,uBAAuB,EAAE,IAAImvB,EAAE8B,EAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,IAAK,KAAI,CAAC,2BAA2B,CAAC9B,EAAE,IAAI,CAAC,IAAI,EAAEvzB,OAAO,gBAAgB,CAAC,SAAS,IAAI,CAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,uBAAuB,EAAEA,OAAO,mBAAmB,CAAC,SAAS,IAAI,CAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC,IAAI,qBAAqB,MAAM,SAASuzB,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,qBAAqB,MAAM,SAASA,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,gBAAgB,MAAM,SAASA,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,SAASA,CAAC,EAAEY,GAAEZ,EAAE,MAAM,EAAE,OAAO,CAAC,uBAAuB,MAAM,EAAG,KAAI,CAAC,KAAK,GAAGA,EAAE,cAAc,GAAGA,EAAE,eAAe,EAAC,CAAE,CAAC,EAAE,CAAC,IAAI,SAAS,MAAM,WAAW,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAACY,GAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAACA,GAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAACA,GAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,wBAAyB,KAAI,CAAC,OAAO,CAACskC,SAAS,aAAa,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,GAAG,CAAC,MAAM,CAACtkC,GAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,EAAG,KAAI,CAAC,SAAS,CAACskC,SAAS,aAAa,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,EAAG,KAAI,CAAC,MAAM,CAACA,SAAS,aAAa,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,QAAQ,EAAG,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,wBAAwB,MAAM,WAAW,IAAIllC,EAAE,UAAU,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,CAACA,EAAE,IAAI,IAAIxzB,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,GAAGyD,EAAE,EAAEA,EAAEzD,EAAE,MAAM,EAAE,CAAEwzB,CAAAA,EAAE,SAASY,GAAEp0B,CAAC,CAACyD,EAAE,EAAE,GAAG,CAAC,WAAU,EAAGA,KAAK,IAAIY,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,GAAGovB,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG7mB,EAAE4mB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC8B,EAAE,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAACxvB,EAAE0tB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC8B,EAAE,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAACjlB,EAAEpQ,OAAO,UAAU,CAAC+jB,EAAE/jB,OAAO,WAAW,CAACyzB,EAAErjB,EAAE,EAAE1D,EAAEqX,EAAE,EAAE2P,EAAE7tB,GAAG4tB,EAAQ9zB,EAAEgN,GAAGD,EAAEhM,EAAEgM,EAAEC,EAAEgnB,EAAE,IAAIvjB,GAAGvK,GAAGA,GAAG,IAAIuK,EAAE1Q,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,GAAGE,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,GAAGqX,EAAEtK,EAAE6mB,EAAE,EAAE5zB,EAAE,EAAEmG,EAAEF,EAAEzB,EAAE,EAAE1E,EAAE,EAAEw0B,EAAEX,EAAE,QAAQ,WAA8E2B,EAAE,EAAE9wB,EAA0BywB,EAAE,CAAC,CAAEA,CAAAA,EAAE,GAAG,CAACl1B,EAAEsX,EAAE,KAAK,GAAG4d,EAAE,KAAK,CAACrtB,AAAtQisB,EAAE5tB,EAAsQuK,EAAErK,EAAErG,EAAE,KAAK,GAAGm1B,EAAE,MAAM,CAACn0B,EAAEqjB,EAAE9M,EAAErX,EAAE,KAAK,GAAGi1B,EAAE,IAAI,CAACnB,EAAE3tB,EAAE,KAAK,GAAG8uB,EAAE,QAAQ,CAACX,EAAEC,GAAE,IAAI,CAAC,OAAO,EAAE,GAAG,CAACU,GAAGV,GAAE,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,MAAMnvB,AAA3P2uB,CAAAA,EAAEj0B,EAAEA,EAAE,EAAE0E,CAAAA,EAAqP,KAAK,OAAO2P,AAA7PnU,EAAE,EAA6P,KAAK,IAAIy0B,AAAlQ10B,CAAAA,EAAEC,EAAE,EAAE,GAA8P,KAAK,MAAM,MAAM,OAAO,MAAM,KAAK20B,AAA7Rb,CAAAA,GAAG,CAACC,EAAEj0B,EAAE,EAAE0E,EAAE,GAAmR,KAAK,QAAQ4vB,AAA5R5vB,EAA8R,KAAK,cAA/R1D,EAAE,SAAS,KAAmS,GAAGyzB,GAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAIwkC,AAA5S/4D,EAAE,EAAEg1B,AAARM,EAAU,EAAwS,KAAK,KAAKZ,AAA9S50B,EAAE,EAAEw1B,EAAE,EAA0S,KAAK,MAAMA,EAAE,KAAK,OAAON,AAAvVM,EAAyV,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,MAAM,WAAW,IAAI,CAAC,MAAM,EAAG,aAAY,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQujC,SAAS,IAAI,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,yBAAyB,CAAC,CAAC,GAAGA,SAAS,IAAI,CAAC,gBAAgB,CAAC,WAAW,IAAI,CAAC,yBAAyB,EAAE,CAAC,EAAE,CAAC,IAAI,QAAQ,MAAM,WAAW,IAAI,CAAC,MAAM,EAAG,aAAY,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQA,SAAS,IAAI,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,yBAAyB,CAAC,CAAC,GAAGA,SAAS,IAAI,CAAC,mBAAmB,CAAC,WAAW,IAAI,CAAC,yBAAyB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,SAASllC,CAAC,CAACxzB,CAAC,EAAE,OAAOq4D,GAAKh0D,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACmvB,EAAExzB,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASwzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,WAAW,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAOxzB,EAAC,CAAC,EAAE,EAAEqE,CAAC,IAAIixB,EAAE,SAAS,CAAC9B,GAAE8B,EAAE,YAAY,EAAEA,EAAE,uBAAuB,CAAC9B,GAAE,YAAY,eAA+B7mB,GAAkrNqsD,KAA9pNh5D,GAAE,CAAC,QAAQ,GAAG,gBAAgB,CAAC,CAAC,EAAEwzB,GAAE,SAASA,CAAC,EAAE,SAASnvB,EAAEmvB,CAAC,CAACxzB,CAAC,EAAEy8B,GAAgB,IAAI,CAACp4B,GAAG,IAAIZ,EAAE80D,GAA2B,IAAI,CAAC,AAACl0D,CAAAA,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,EAAC,EAAG,IAAI,CAAC,IAAI,CAACA,EAAEmvB,EAAExzB,IAAI,OAAOyD,EAAE,GAAG,CAAC,QAAQ,CAAC,mBAAmB80D,GAA2B90D,GAAI,CAACA,CAAAA,EAAE,EAAE,CAAC,YAAY,CAACA,CAAAA,EAAG,OAAO,CAACkJ,GAAE,MAAM,CAAC,CAAC,EAAEtI,EAAE,QAAQ,CAACrE,GAAGyD,EAAE,UAAU,CAACA,EAAE,GAAG,CAAC,IAAI,CAAC,YAAYA,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAGA,EAAE,aAAa,CAAC,CAAC,EAAEA,EAAE,UAAU,CAAC,CAAC,EAAEA,EAAE,cAAc,GAAGA,EAAE,mBAAmB,GAAGA,CAAAA,CAAE,CAAC,OAAOg1D,GAAUp0D,EAAEy0D,IAAWR,GAAaj0D,EAAE,CAAC,CAAC,IAAI,UAAU,MAAM,WAAW,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAIrE,EAAE,IAAI,AAAC,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE2M,GAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,qBAAqB,IAAI,CAAC,SAAS6mB,CAAC,EAAEA,EAAE,gBAAgB,CAAC,QAAQxzB,EAAE,uBAAuB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAIA,EAAE,IAAI,AAAC2M,CAAAA,GAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,qBAAqB,IAAI,CAAC,SAAS6mB,CAAC,EAAEA,EAAE,mBAAmB,CAAC,QAAQxzB,EAAE,uBAAuB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,SAAS,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,SAASwzB,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,IAAI,qBAAqB,MAAM,SAASA,CAAC,EAAEA,EAAE,cAAc,GAAG,IAAIxzB,EAAE2M,GAAE6mB,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC/vB,EAAEzD,EAAE,EAAE,CAAC,GAAG,CAAC2M,GAAE3M,GAAG,QAAQ,CAAC,aAAa,CAAC2M,GAAE3M,GAAG,QAAQ,CAAC,aAAayD,EAAE,MAAM,CAAC,CAAC,IAAIY,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,IAAIovB,EAAE9mB,GAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,uBAAwB8mB,CAAAA,EAAE,MAAM,EAAGA,CAAAA,EAAE,WAAW,CAAC,YAAYA,EAAE,IAAI,CAAC,0BAA0B,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAACA,CAAC,CAAC,EAAE,CAAC,EAAE,GAAGpvB,EAAE,IAAI,CAAC,qBAAqB,CAACZ,EAAE,MAAMkJ,GAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,WAAW,CAAC,YAAYA,GAAE3M,GAAG,WAAW,CAAC,WAAWqE,EAAGsI,CAAAA,GAAE,IAAI,CAAC,UAAU,CAAClJ,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,cAAcY,GAAIsI,CAAAA,GAAE,IAAI,CAAC,UAAU,CAAClJ,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,WAAWY,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAQ,CAAE,CAACmvB,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,WAAW,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAG,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,EAAC,CAAE,CAAC,EAAE,CAAC,IAAI,iBAAiB,MAAM,WAAW,IAAInvB,EAAE,IAAI,AAAC,KAAI,CAAC,OAAO,CAACq0D,SAAS,aAAa,CAAC,OAAO/rD,GAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAACA,GAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,oBAAoB,IAAI,CAAC,eAAe,CAAC+rD,SAAS,aAAa,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,kBAAkBpjC,EAAE,IAAI,GAAG3oB,GAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,oCAAqC,KAAI,CAAC,UAAU,CAAC,2BAA2B,EAAC,GAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS6mB,CAAC,EAAE,GAAG7mB,GAAE6mB,GAAG,EAAE,CAAC,UAAU,CAAC,IAAIxzB,EAAE,KAAK,CAAEA,CAAAA,EAAEqE,EAAE,UAAU,CAACA,EAAE,qBAAqB,CAACA,EAAE,GAAG,CAACmvB,EAAE,YAAYnvB,EAAE,qBAAqB,CAACA,EAAE,GAAG,CAACmvB,GAAGnvB,EAAE,qBAAqB,CAACmvB,EAAExzB,EAAE,MAAM,GAAG2M,GAAE6mB,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI/vB,EAAEkJ,GAAE6mB,GAAG,QAAQ,CAAC,SAAU7mB,CAAAA,GAAEtI,EAAE,eAAe,EAAE,MAAM,CAACsI,GAAE,8BAA8B6mB,EAAE,YAAY,CAAC,SAAS,eAAe,CAAC,EAAE,EAAE/vB,EAAE,IAAI,CAAC,SAAS+vB,CAAC,EAAE,IAAIxzB,EAAEqE,EAAE,qBAAqB,CAACA,EAAE,GAAG,CAACmvB,EAAE,mBAAmBnvB,EAAE,qBAAqB,CAACmvB,EAAExzB,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC04D,SAAS,aAAa,CAAC,SAAS/rD,GAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,oCAAoC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,QAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,QAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAEA,GAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,QAAQ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI6mB,EAAE7mB,GAAE,0KAA0K,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC6mB,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAIxzB,EAAE2M,GAAE,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAE3M,CAAAA,EAAE,SAAS,CAAC,SAASwzB,CAAC,EAAE,IAAIxzB,EAAE2M,GAAEtI,EAAE,eAAe,EAAE,IAAI,CAAC,aAAa,KAAK,GAAG,GAAGrE,EAAE,MAAM,EAAGs1B,CAAAA,EAAE,OAAO,CAAC,CAAC,EAAEjxB,EAAE,QAAQ,CAAC,YAAY,CAACrE,EAAE,KAAK,GAAGqE,EAAE,QAAQ,CAAC,iBAAiB,GAAGixB,EAAE,OAAO,CAAC,CAAC,EAAEjxB,EAAE,QAAQ,CAAC,YAAY,AAAD,EAAG,CAAC,IAAIZ,EAAEzD,CAAC,CAAC,EAAE,CAAC,qBAAqB,GAAG,GAAG,CAACqE,EAAE,eAAe,CAAC,qBAAqB,GAAG,GAAG,AAACZ,CAAAA,GAAGY,EAAE,eAAe,CAAC,YAAY,CAAC,EAAEA,EAAE,eAAe,CAAC,SAAS,CAACZ,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAGzD,CAAAA,EAAE,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAACs1B,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAACt1B,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,IAAI,wBAAwB,MAAM,SAASwzB,CAAC,CAACxzB,CAAC,EAAE,IAAIyD,EAAElE,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC8E,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAACZ,EAAEgwB,EAAE,CAAC,CAAEzzB,CAAAA,EAAE,EAAE,CAACqE,EAAEovB,EAAE,EAAE,CAACD,EAAEC,EAAE,QAAQ,CAACzzB,EAAE,IAAI,CAAC,UAAU,CAACqE,EAAE,CAACovB,CAAC,CAAC,EAAE,CAAC,IAAI,kBAAkB,MAAM,WAAW9mB,GAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,MAAM,GAAGA,GAAE,IAAI,CAAC,KAAK,EAAE,MAAM,GAAGA,GAAE,IAAI,CAAC,eAAe,EAAE,MAAM,GAAGA,GAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAEA,GAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,wBAAwB,MAAM,SAAS6mB,CAAC,CAACxzB,CAAC,CAACyD,CAAC,EAAE,IAAIY,EAAErE,EAAE,QAAQ,CAAC,YAAY,GAAiD4M,EAAE,IAAI,CAAC,UAAU,CAAC,gCAAgCvI,EAAE,YAAYrE,EAAE,SAAS,CAAC,kBAAkBA,EAAE,SAAS,CAAC8F,EAAE6G,GAAE,aAAa0D,EAAE1D,GAAE,gBAAiB0D,CAAAA,EAAE,IAAI,CAACzD,GAAG9G,EAAE,QAAQ,CAACzB,EAAE,IAAnN,qBAAoBZ,EAAE,mBAAmB,EAAC,GAAgLqC,EAAE,MAAM,CAACuK,GAAG,IAAI2T,EAAEhkB,EAAE,YAAY,CAAC,aAAa,GAAGgkB,EAAE,CAAC,IAAI0P,EAAE/mB,GAAE,oBAAoBqX,EAAE,MAAMle,EAAE,OAAO,CAAC4tB,EAAE,CAAC,OAAO/mB,GAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC7G,CAAC,CAAC,EAAE,EAAEA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,wBAAwB,MAAM,SAAS0tB,CAAC,EAAE,IAAIxzB,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAACwzB,GAAG/vB,EAAEkJ,GAAE,IAAI,CAAC,UAAU,CAAC6mB,EAAE,CAAC,QAAQ,EAAE,OAAOxzB,EAAE,IAAI,CAAC,aAAa,CAACwzB,EAAE,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,aAAa,CAACA,EAAE,CAAC/vB,EAAE,WAAW,CAAC,WAAWzD,GAAGyD,EAAE,IAAI,CAAC,0BAA0B,IAAI,CAAC,UAAUzD,GAAGyD,EAAE,IAAI,CAAC,WAAWzD,GAAGA,CAAC,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,WAAW,IAAIyD,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS+vB,CAAC,EAAE,GAAG7mB,GAAE6mB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAIxzB,EAAE2M,GAAE6mB,GAAG,IAAI,GAAG/vB,EAAE,IAAI,CAACzD,EAAE,CAAC,GAAG,CAACyD,EAAE,MAAM,CAAC,CAAC,IAAI+vB,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,EAAGA,CAAAA,EAAE,MAAM,EAAE,KAAKA,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE/vB,EAAE,IAAI,CAAC+vB,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC/vB,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,qBAAqB,MAAM,WAAW,IAAI,IAAI+vB,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAIxzB,EAAE,IAAI,CAAC,UAAU,CAACwzB,EAAE,CAAC/vB,EAAEkJ,GAAE3M,EAAE,EAAE,EAAE,IAAI,CAAC,WAAY2M,CAAAA,GAAE3M,EAAE,QAAQ,EAAE,IAAI,CAAC,0BAA0B,IAAI,CAAC,UAAUyD,GAAGA,EAAG,KAAI,CAAC,eAAe,CAACkJ,GAAE,IAAI,CAAC,eAAe,EAAEA,GAAE3M,EAAE,QAAQ,GAAG,IAAI,CAAC,aAAa,CAACwzB,EAAE,CAAC,CAAC,GAAG7mB,GAAE3M,EAAE,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,kBAAkB,MAAM,SAASwzB,CAAC,CAACxzB,CAAC,EAAEA,GAAI,KAAI,CAAC,UAAU,EAAEwzB,EAAE,IAAI,CAAC,eAAe,WAAW,CAAC,YAAY7mB,GAAE3M,GAAG,QAAQ,CAAC,WAAU,CAAE,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,WAAW,IAAIwzB,EAAE,EAAE,CAAC,IAAI,IAAIxzB,KAAK,IAAI,CAAC,aAAa,CAACwzB,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAACxzB,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,OAAOwzB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,SAASA,CAAC,CAACxzB,CAAC,EAAE,OAAOq4D,GAAKh0D,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACmvB,EAAExzB,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASwzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,YAAY,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAOxzB,EAAC,CAAC,EAAE,EAAEqE,CAAC,IAAIixB,EAAE,UAAU,CAAC9B,GAAE8B,EAAE,YAAY,EAAEA,EAAE,uBAAuB,CAAC9B,GAAE,aAAa,gBAAgCC,GAAq5JulC,KAAn5Jh5D,GAAw5Js1B,EAAE,KAAK,CAA34J7xB,GAAE,CAAC,EAAE+vB,GAAE,SAASA,CAAC,EAAE,SAASnvB,EAAEmvB,CAAC,CAACxzB,CAAC,EAAEy8B,GAAgB,IAAI,CAACp4B,GAAG,IAAIZ,EAAE80D,GAA2B,IAAI,CAAC,AAACl0D,CAAAA,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,EAAC,EAAG,IAAI,CAAC,IAAI,CAACA,EAAEmvB,EAAExzB,IAAI,MAAM,AAACyD,CAAAA,EAAE,EAAE,CAAC,OAAO,CAACA,CAAAA,EAAG,OAAO,CAACgwB,GAAE,MAAM,CAAC,CAAC,EAAEpvB,EAAE,QAAQ,CAACrE,GAAGyD,EAAE,UAAU,CAAC,CAAC,EAAEA,EAAE,WAAW,GAAGA,EAAE,mBAAmB,GAAGA,CAAC,CAAC,OAAOg1D,GAAUp0D,EAAEy0D,IAAWR,GAAaj0D,EAAE,CAAC,CAAC,IAAI,UAAU,MAAM,WAAW,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,WAAW,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,wCAAwC,CAAC,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,uCAAuC,CAAC,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,YAAY,IAAI,CAAC,oCAAoC,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,aAAa,IAAI,CAAC,oCAAoC,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,wCAAwC,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,YAAY,IAAI,CAAC,wCAAwC,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,YAAY,IAAI,CAAC,wCAAwC,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,UAAU,IAAI,CAAC,gCAAgC,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,WAAW,IAAI,CAAC,gCAAgC,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,OAAO,IAAI,CAAC,uCAAuC,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,WAAW,IAAI,CAAC,uCAAuC,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,aAAa,IAAI,CAAC,uCAAuC,CAAC,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,WAAW,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,SAAS,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,YAAY,IAAI,CAAC,oCAAoC,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,aAAa,IAAI,CAAC,oCAAoC,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,IAAI,CAAC,wCAAwC,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,YAAY,IAAI,CAAC,wCAAwC,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,YAAY,IAAI,CAAC,wCAAwC,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,UAAU,IAAI,CAAC,gCAAgC,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,IAAI,CAAC,gCAAgC,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,OAAO,IAAI,CAAC,uCAAuC,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,IAAI,CAAC,uCAAuC,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,aAAa,IAAI,CAAC,uCAAuC,CAAC,CAAC,EAAE,CAAC,IAAI,qBAAqB,MAAM,WAAWovB,GAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAIA,GAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,IAAI,CAAC,gBAAgB,GAAG,IAAID,EAAE,IAAI,CAAC,gBAAgB,GAAGC,GAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,GAAG,CAAC,OAAOD,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,kCAAkC,MAAM,SAASA,CAAC,EAAE,GAAGC,GAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAUA,GAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,IAAI,CAAC,gBAAgB,GAAG,UAAUD,EAAE,IAAI,CAAC,CAAC,IAAIxzB,EAAE,IAAI,CAAC,gBAAgB,GAAGyzB,GAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,GAAG,CAAC,OAAOzzB,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,sCAAsC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAACyzB,GAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,IAAI,CAAC,gBAAgB,GAAG,IAAID,EAAE,IAAI,CAAC,gBAAgB,EAAGC,CAAAA,GAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,GAAG,CAAC,OAAOD,EAAE,MAAMC,GAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,8BAA8B,MAAM,WAAW,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,qCAAqC,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAID,EAAE,EAAEnsB,SAAS,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,IAAKosB,CAAAA,GAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAYzzB,CAAAA,GAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAEA,GAAE,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,cAAc,WAAWwzB,EAAE,SAAS,GAAG,EAAC,EAAGC,GAAE,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,WAAW,IAAI,CAAC,KAAK,CAACilC,SAAS,aAAa,CAAC,QAAQ,IAAI,CAAC,KAAK,CAACA,SAAS,aAAa,CAAC,QAAQjlC,GAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,SAASA,GAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,SAASA,GAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,eAAe,MAAM,WAAWA,GAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,WAAW,IAAID,EAAE,GAAGnsB,SAASosB,GAAE,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,iBAAiB,IAAKzzB,CAAAA,GAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAEA,GAAE,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI,IAAI,WAAWwzB,EAAE,SAAS,IAAI,OAAO,cAAc,EAAE,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,WAAW,IAAIA,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,GAAGxzB,EAAE24D,WAAW,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAIl1D,EAAEk1D,WAAW,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,AAACA,CAAAA,WAAW,IAAI,CAAC,GAAG,CAAC,GAAG,IAAIl1D,CAAAA,EAAIzD,CAAAA,EAAEyD,CAAAA,EAAG+vB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,SAASA,CAAC,CAACxzB,CAAC,EAAE,OAAOq4D,GAAKh0D,EAAE,SAAS,EAAE9E,OAAO,cAAc,CAAC8E,GAAG,OAAO,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAACmvB,EAAExzB,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,SAASwzB,CAAC,EAAE,MAAM,AAACA,CAAAA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,CAAAA,EAAG,OAAO,CAAC,EAAE,CAAC,IAAI,WAAW,IAAI,WAAW,OAAO/vB,EAAC,CAAC,EAAE,EAAEY,CAAC,IAAIixB,EAAE,KAAK,CAAC9B,GAAE8B,EAAE,YAAY,EAAEA,EAAE,uBAAuB,CAAC9B,GAAE,QAAQ,WAAWA,GAAE,IAAI,CAACC,GAAE,qB,mCCHzphLr0B,CAAAA,EAAQ,YAAY,CAAG,KAAK,EAC5B,IAAI46D,EAAU,EAAQ,MACtBz6D,OAAO,cAAc,CAACH,EAAS,eAAgB,CAAE,WAAY,GAAM,IAAK,WAAc,OAAO46D,EAAQ,YAAY,AAAE,CAAE,E,oCCHrH,IAAIC,EAAkB,AAAC,IAAI,EAAI,IAAI,CAAC,eAAe,EAAK,SAAUC,CAAG,EACjE,OAAO,AAACA,GAAOA,EAAI,UAAU,CAAIA,EAAM,CAAE,QAAWA,CAAI,CAC5D,EACA36D,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DA,EAAQ,YAAY,CAAG,KAAK,EAC5B,IAAM+6D,EAAkB,EAAQ,MAC1BC,EAAS,EAAQ,MACjBC,EAAcJ,EAAgB,EAAQ,OACtCK,EAAQ,CAACC,EAAMt5D,EAAOqF,KACxBA,CAAM,CAACi0D,EAAK,CAAGt5D,EACRqF,GAELk0D,EAAkB,CAACl0D,EAAQia,IAAWA,EAASja,EAAO,MAAM,CAACia,GAAUja,EACvEm0D,EAAuB,AAACC,GAAqBA,EAC7Cn7D,OAAO,IAAI,CAACm7D,GAAkB,MAAM,CAAC,CAACx6C,EAAQ5f,IAAQg6D,EAAMh6D,EAAKf,OAAO,MAAM,CAAC,CAAC,EAAGm7D,CAAgB,CAACp6D,EAAI,CAAC,OAAO,CAAEm6D,EAAqBC,CAAgB,CAACp6D,EAAI,CAAC,MAAM,GAAI4f,GAAS,CAAC,GACjL,CAAC,EACDy6C,EAAkB,AAACC,GAAQr7D,OAAO,MAAM,CAAC,CAAC,EAAGq7D,EAAI,OAAO,CAAEH,EAAqBG,EAAI,MAAM,GACzFC,EAAe,AAACH,GAAqBA,EACrCn7D,OAAO,IAAI,CAACm7D,GAAkB,MAAM,CAAC,CAACx6C,EAAQ5f,KAC5C,IAAMw6D,EAAYJ,CAAgB,CAACp6D,EAAI,CACvC,GAAIw6D,AAAmB95D,KAAAA,IAAnB85D,EAAU,IAAI,CAAgB,CAC9B,IAAMC,EAAOD,EAAU,IAAI,CAC3B,OAAOR,EAAMh6D,EAAK,CACd,KAAM,CAAC4rC,EAAM,GAAG1/B,IAASuuD,EAAK7uB,EAAK,IAAI,CAAC5rC,MAASkM,GACjD,OAAQquD,EAAaC,EAAU,MAAM,CACzC,EAAG56C,EACP,CACA,OAAOA,CACX,EAAG,CAAC,GACF,CAAC,EACD86C,EAAU,AAACJ,GAAQC,EAAaD,EAAI,MAAM,EAC1CK,EAAmB,CAACP,EAAkBQ,EAAU,AAAChvB,GAASA,CAAI,CAAEivB,EAAW,AAAC/mD,GAAUA,CAAK,GAAKsmD,EAChGn7D,OAAO,IAAI,CAACm7D,GAAkB,MAAM,CAAC,CAACx6C,EAAQ5f,KAC5C,IAAI86D,EACJ,IAAMC,EAAc,AAACnvB,GAASgvB,EAAQhvB,GAAM,IAAI,CAAC5rC,GAC3Cg7D,EAAe,AAAClnD,GAAU+mD,EAAS/mD,EAAM,CAAC9T,EAAI,CAC9Cw6D,EAAYJ,CAAgB,CAACp6D,EAAI,CACvC,OAAOk6D,EAAgBt6C,EAAQ,AAA8B,OAA7Bk7C,CAAAA,EAAKN,EAAU,QAAQ,AAAD,GAAeM,AAAO,KAAK,IAAZA,EAAgB,KAAK,EAAIA,EAAG,GAAG,CAAC,AAACG,GAAa,EAC/G,SAAU,AAACnnD,GAAWmnD,EAAQ,QAAQ,CAAGA,EAAQ,QAAQ,CAACD,EAAalnD,IAAUA,EACjF,IAAK,AAAC83B,GAASqvB,EAAQ,GAAG,CAACF,EAAYnvB,GAC3C,KAAK,MAAM,CAAC+uB,EAAiBH,EAAU,MAAM,CAAEO,EAAaC,GAChE,EAAG,EAAE,EACH,EAAE,CACFE,EAAc,AAACZ,GAAQJ,EAAgB,EAAE,CAAEI,EAAI,QAAQ,EAAE,MAAM,CAACK,EAAiBL,EAAI,MAAM,GAC3Fa,EAAY,CAAC,CAAEtlD,OAAAA,CAAM,CAAEykD,IAAAA,CAAG,CAAE,IAC1B,CAACzkD,GACDA,CAAAA,EAASgkD,EAAgB,YAAY,AAAD,EAExC,IAAMuB,EAAUd,GAAO,CAAC,EAClBe,EAAUhB,EAAgBe,GAC1BX,EAAOC,EAAQU,GACfE,EAAe,AAAkB,YAAlB,OAAOzlD,EAAwBA,EAASA,EAAO,MAAM,CACpE0lD,EAAO1lD,EAAO,IAAI,CAClB2lD,EAASF,IAEf,MAAO,CACHG,OAFWF,EAAK,CAACznD,EAAO4nD,IAAU,AAAC,GAAG3B,EAAY,OAAO,AAAD,EAAGjmD,EAAO4nD,GAAQL,EAASG,GAGnFA,OAAAA,EACAf,KAAAA,CACJ,CACJ,EACMkB,EAAY,CAACD,EAAOzB,IAAU,EAAE,CAACA,EAAK,CAAEyB,CAAM,GAC9CE,EAAa,CAACC,EAAc5B,IAAS,AAACyB,GAAUG,EAAaF,EAAUD,EAAOzB,IAC9E6B,EAAW,CAACL,EAAQI,EAAcE,IAAe,AAAC9B,IACpD,IAAM+B,EAAeP,EAAO,GAAG,CAAC,AAAC3nD,GAAUA,CAAK,CAACmmD,EAAK,EAChDgC,EAAiB,IAAMR,GAAQ,CAACxB,EAAK,CACrCiC,EAAeN,EAAWC,EAAc5B,GACxCG,EAAmB,AAAC,GAAGN,EAAO,GAAG,AAAD,EAAGiC,EAAY,CAAC9B,EAAM,SAAS,EACrE,MAAO,CACH,OAAQ+B,EACR,MAAOC,IACP,SAAUA,EACV,OAAQC,EACR,KAAMJ,EAASE,EAAcE,EAAc9B,GAC3C,OAAQA,CACZ,CACJ,CA6BAt7D,CAAAA,EAAQ,YAAY,CAnBC,AAAC++B,IAClB,IAAMhoB,EAASgoB,MAAAA,EAAuC,KAAK,EAAIA,EAAO,MAAM,CACtEy8B,EAAMz8B,MAAAA,EAAuC,KAAK,EAAIA,EAAO,GAAG,CAChE,CAAE49B,OAAAA,CAAM,CAAED,OAAAA,CAAM,CAAEf,KAAAA,CAAI,CAAE,CAAGU,EAAU,CACvCtlD,OAAAA,EACAykD,IAAAA,CACJ,GACM6B,EAAOL,EAASL,EAAQD,EAAQf,GAChCI,EAAW,IAAMY,IACjBb,EAAU,AAAC9mD,GAAW,EAAE2nD,OAAAA,EAAQ3nD,MAAAA,EAAO+mD,SAAAA,EAAUW,OAAAA,EAAQW,KAAAA,EAAM,OAAQ1B,CAAK,GAC5E2B,EAAc,AAAC,GAAGvC,EAAgB,iBAAiB,AAAD,EAAGhkD,GAO3D,OANIykD,GACAY,EAAYZ,GAAK,OAAO,CAAC,AAACW,IACtBmB,EAAYX,EAAQR,EAAQ,QAAQ,EAAE,GAAG,CAAC,AAACnnD,GAAUmnD,EAAQ,GAAG,CAACL,EAAQ9mD,IAC7E,GAEUsoD,EAAYX,GAAQ,GAAG,CAACb,EAE1C,C,kCCxGA37D,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DA,EAAQ,WAAW,CAAGA,EAAQ,iBAAiB,CAAGA,EAAQ,YAAY,CAAGA,EAAQ,IAAI,CAAGA,EAAQ,MAAM,CAAG,KAAK,CA+C9GA,CAAAA,EAAQ,MAAM,CArCC,AAACu8D,IACZ,IAAMgB,EAAe,EAAE,CACnBC,EAAcjB,EACZkB,EAAgB,SAAU57D,CAAK,EACjC,GAAIkF,UAAU,MAAM,CAAG,GAAK,CAAC02D,EAAc,KAAK,CAE5C,IAAK,IAAMp5D,KADXm5D,EAAc37D,EACE07D,EAKZA,CAAY,CAACl5D,EAAE,CAACm5D,GAGxB,OAAOA,CACX,EAoBA,OAnBAC,EAAc,GAAG,CAAG,AAACC,IACjB,IAAMC,EAAY,AAAC,GAAG39D,EAAQ,MAAM,AAAD,IAC7B49D,EAAiB,AAAC/7D,IACpB87D,EAAUD,EAAY77D,GAC1B,EAUA,OATA07D,EAAa,IAAI,CAACK,GAClBD,EAAU,GAAG,CAAG,AAACE,IACb,IAAMC,EAAMP,EAAa,OAAO,CAACK,EACjCD,CAAAA,EAAU,KAAK,CAAG,GAClBJ,EAAa,MAAM,CAACO,EAAK,EAC7B,EACoBl8D,KAAAA,IAAhB47D,GACAG,EAAUD,EAAYF,IAEnBG,CACX,EACAF,EAAc,GAAG,CAAG,AAACI,IACjBJ,EAAc,KAAK,CAAG,EAC1B,EACOA,CACX,CAgBAz9D,CAAAA,EAAQ,IAAI,CATC,CAACuvD,EAAagN,EAASwB,KAChC,IAAMJ,EAAY,AAAC,GAAG39D,EAAQ,MAAM,AAAD,EAAGu8D,GAClCyB,EAAczB,EAKlB,OAJAwB,EAAa,GAAG,CAAC,AAACl8D,IAEd87D,EADAK,EAAczO,EAAYyO,EAAan8D,GAE3C,GACO87D,CACX,EAEA39D,EAAQ,YAAY,CAAG,CACnB,OAAQA,EAAQ,MAAM,CACtB,KAAMA,EAAQ,IAAI,AACtB,CA6BAA,CAAAA,EAAQ,iBAAiB,CApBC,CAAC+W,EAAS/W,EAAQ,YAAY,GAOxD,CAACmhB,EAAQ88C,EAAW,AAACjpD,GAAUA,CAAK,QAE5BkpD,EACJ,IAAMp9C,EAAS07C,AAFM,CAAkB,YAAlB,OAAOzlD,EAAwBA,EAASA,EAAO,MAAM,AAAD,IAUzE,OAPAoK,EAAO,GAAG,CAAC,AAACnM,IACR,IAAMmpD,EAAOF,EAASjpD,GAClBmpD,IAASD,IACTA,EAAOC,EACPr9C,EAAO9L,GAEf,GACO8L,CACX,EAKA9gB,EAAQ,WAAW,CAAG,AAAC,GAAGA,EAAQ,iBAAiB,AAAD,G,kCCpGlDG,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DA,EAAQ,oBAAoB,CAAGA,EAAQ,kBAAkB,CAAGA,EAAQ,eAAe,CAAGA,EAAQ,GAAG,CAAG,KAAK,CAWzGA,CAAAA,EAAQ,GAAG,CADC,CAACI,EAAQg+D,IAASA,EAAK,MAAM,CAAC,CAACp9D,EAAKE,IAASF,AAAOY,KAAAA,GAAPZ,EAAmBY,KAAAA,EAAYZ,CAAG,CAACE,EAAI,CAAGd,GAEnG,IAAMi+D,EAAW,CAACD,EAAMv8D,IAAW,EAC/B,CAACu8D,CAAI,CAAC,EAAE,CAAC,CAAEA,AAAgB,IAAhBA,EAAK,MAAM,CAASv8D,EAAQw8D,EAASD,EAAK,KAAK,CAAC,GAAIv8D,EACnE,GACMy8D,EAAS,AAACC,GAAe91D,MAAM,OAAO,CAAC81D,GAAcA,EAAa,CAACA,EAAW,CAC9EC,EAAmB,CAACC,EAAS3xB,EAAMsxB,IAAS,AAAC9b,IAC/C,IAAMzgD,EAAQ48D,EAAQnc,EAAI,aAAa,CAAC,KAAK,CACzC,EAACr8C,MAAMpE,IACPirC,EAAK,MAAM,CAACuxB,EAASC,EAAOF,GAAOv8D,GAE3C,CAsBA7B,CAAAA,EAAQ,eAAe,CADC,CAAC8sC,EAAMsxB,EAAM3wD,EAAK,AAAC5L,GAAUA,CAAK,GAAK,AAACygD,GAAQxV,EAAK,MAAM,CAACuxB,EAASC,EAAOF,GAAO3wD,EAAG60C,EAAI,aAAa,CAAC,KAAK,GAuBrItiD,CAAAA,EAAQ,kBAAkB,CADC,CAAC8sC,EAAMsxB,IAAS,AAAC9b,GAAQkc,EAAiBv2D,SAAU6kC,EAAMsxB,GAAM9b,EAuB3FtiD,CAAAA,EAAQ,oBAAoB,CADC,CAAC8sC,EAAMsxB,IAAS,AAAC9b,GAAQkc,EAAiBjF,WAAYzsB,EAAMsxB,GAAM9b,E,iFCxF/F,IAAM1hD,EAAET,OAAO,MAAM,EAAG,EAACS,EAAEwzB,IAAKA,CAAAA,GAAGj0B,OAAO,IAAI,CAACi0B,GAAG,OAAO,CAAC5mB,GAAG5M,CAAC,CAAC4M,EAAE,CAAC4mB,CAAC,CAAC5mB,EAAE,EAAE5M,CAAAA,CAAC,EAAGwzB,EAAE,CAACxzB,EAAEqQ,EAAEojB,KAAK,IAAMhsB,EAAE,OAAOgsB,EAAE,GAAGA,GAAG,WAAWhsB,GAAE,GAAGI,MAAM,OAAO,CAAC4rB,GAAG,IAAI,IAAM7mB,KAAK6mB,EAAEpjB,EAAEmjB,EAAExzB,EAAEqQ,EAAEzD,QAAQ,IAAI,IAAMnF,KAAKlI,OAAO,IAAI,CAACk0B,GAAG,CAAC,IAAMG,EAAEH,CAAC,CAAChsB,EAAE,AAAC,aAAY,OAAOmsB,EAAEvjB,CAAC,CAAC5I,EAAE,CAACmsB,EAAEvjB,CAAC,CAAC5I,EAAE,CAACmF,GAAG,KAAK,IAAIgnB,EAAE5zB,GAAG,CAACqF,MAAMoC,GAAG4I,EAAE,MAAM,CAAC5I,EAAE,GAAG,OAAO4I,CAAC,CAAC5I,EAAE,CAAC,OAAOmsB,GAAG,UAAU,OAAOA,GAAG/rB,MAAM,OAAO,CAAC+rB,GAAGvjB,CAAC,CAAC5I,EAAE,CAACmsB,EAAE,UAAU,OAAOvjB,CAAC,CAAC5I,EAAE,CAAC4I,CAAC,CAAC5I,EAAE,CAACmsB,IAAIvjB,CAAC,CAAC5I,EAAE,CAACmsB,EAAEhnB,EAAEyD,CAAC,CAAC5I,EAAE,CAACmsB,GAAGvjB,CAAC,CAAC5I,EAAE,CAAC+rB,EAAE,CAAC,EAAE,CAAC,EAAEI,EAAE,MAAK,aAAansB,GAAI4I,CAAAA,EAAEojB,EAAEpjB,EAAEzD,EAAC,EAAG,OAAOyD,CAAC,EAAEzD,EAAE,CAACA,EAAE,GAAGyD,KAAK,IAAMojB,EAAE5rB,MAAM,OAAO,CAAC+E,GAAG,OAAO4mB,EAAEC,EAAEA,EAAE7mB,EAAE,KAAK,GAAG5M,EAAE,CAAC,EAAE4M,GAAGyD,EAAE,EAAE,EAAezD,C,oCCE1iB,IAAIkxD,EAAQ,EAAQ,KAEpB3+D,CAAAA,EAAO,OAAO,CAAG,SAAS4+D,CAAM,CAAEC,CAAQ,CAAE/pD,CAAO,EAClD,IAAIgqD,EAAgB,EAAE,CAClBC,EAAU,GACVt3D,EAAS,GAEb,SAAS8P,IACR,IAAK9P,EAAS,EAAGA,EAASq3D,EAAc,MAAM,CAAEr3D,GAAU,EACzD,GAAI,CAAEm3D,EAAOE,CAAa,CAACr3D,EAAO,CAAEk3D,EAAMG,CAAa,CAACr3D,EAAS,EAAE,EAAGu3D,EAAQ,CAC9E,MAAOn+D,EAAG,CAAEiU,EAAQ,KAAK,CAACjU,EAAG,CAE9B4G,EAAS,EACV,CAEA,SAASu3D,IACJ,CAACD,IACJA,EAAU,GACVF,EAAS,WACRE,EAAU,GACVxnD,GACD,GAEF,QAEAynD,EAAO,IAAI,CAAGznD,EAoBP,CAAC,MAlBR,SAAe7X,CAAI,CAAEs1C,CAAS,EAC7B,GAAIA,AAAa,MAAbA,GAAqBA,AAAkB,MAAlBA,EAAU,IAAI,EAAY,AAAqB,YAArB,OAAOA,EACzD,MAAM,AAAI7xC,UAAU,6CAGrB,IAAIiO,EAAQ0tD,EAAc,OAAO,CAACp/D,GAC9B0R,GAAS,IACZ0tD,EAAc,MAAM,CAAC1tD,EAAO,GACxBA,GAAS3J,GAAQA,CAAAA,GAAU,GAC/Bm3D,EAAOl/D,EAAM,EAAE,GAGC,MAAbs1C,IACH8pB,EAAc,IAAI,CAACp/D,EAAMs1C,GACzB4pB,EAAOl/D,EAAMi/D,EAAM3pB,GAAYgqB,GAEjC,EAEsB,OAAQA,CAAM,CACrC,C,oCC9CA,IAAIL,EAAQ,EAAQ,MAChBn+D,EAAI,EAAQ,MAEZy+D,EAAgB,EAAQ,MACxBC,EAAgB,EAAQ,MACxBC,EAAkB,EAAQ,MAC1BC,EAAS,EAAQ,MAEjBC,EAAW,CAAC,EAEhB,SAASC,EAAuBtqB,CAAS,EACxC,GAAI,CACH,OAAOuqB,mBAAmBvqB,EAC3B,CAAE,MAAMn0C,EAAG,CACV,OAAOm0C,CACR,CACD,CAEAh1C,EAAO,OAAO,CAAG,SAASw/D,CAAO,CAAEC,CAAW,EAC7C,IAAIC,EAAYF,AAAW,MAAXA,EAEb,KACA,AAAgC,YAAhC,OAAOA,EAAQ,YAAY,CAAkBA,EAAQ,YAAY,CAAGA,EAAQ,UAAU,CACrF/+D,EAAIi0B,QAAQ,OAAO,GAEnBirC,EAAY,GAKZC,EAAQ,GACR3qD,EAAQ,EAER4qD,EAAUC,EAEkB9qB,EAAWz5B,EAAOwkD,EAAaC,EAA3DC,EAAkBZ,EAElBa,EAAa,CAChB,eAAgB,WAEf,MAAO,CAAE,EADTjrD,CAAAA,EAAQA,EAAQ,EAAI,IACDoqD,IAAaY,CAAc,CAC/C,EACA,SAAU,WACTT,EAAQ,mBAAmB,CAAC,WAAYW,EAAW,IACnDX,EAAQ,mBAAmB,CAAC,aAAcY,EAAc,GACzD,EACA,KAAM,WACL,GAAI,AAACnrD,GAASoqD,IAAaY,GAE3B,IAAII,EAAQ,CAAC1B,EAAM3pB,EAAWz5B,EAAM,GAAG,CAAEA,GAAO,CAEhD,OADI0kD,GAAiBI,CAAAA,EAAQJ,EAAgB,MAAM,CAACI,CAAK,CAAC,EAAE,GACrDA,EACR,CACD,EAEIC,EAAOC,EAAM,IAAI,CAAG,CAAC,EAEzB,SAASH,IACRT,EAAY,GAGZ,IAAI3kC,EAASwkC,EAAQ,QAAQ,CAAC,IAAI,AACV,OAApBe,EAAM,MAAM,CAAC,EAAE,GAClBvlC,EAASwkC,EAAQ,QAAQ,CAAC,MAAM,CAAGxkC,EACX,MAApBulC,EAAM,MAAM,CAAC,EAAE,EAEA,MAAdvlC,AADJA,CAAAA,EAASwkC,EAAQ,QAAQ,CAAC,QAAQ,CAAGxkC,CAAK,CAChC,CAAC,EAAE,EAAUA,CAAAA,EAAS,IAAMA,CAAK,GAM7C,IAAIqjC,EAAOrjC,EAAO,MAAM,GACtB,OAAO,CAAC,2BAA4BskC,GACpC,KAAK,CAACiB,EAAM,MAAM,CAAC,MAAM,EACvB76C,EAAOw5C,EAAcb,GAIzB,SAAS3gB,EAAO78C,CAAC,EAChBiU,QAAQ,KAAK,CAACjU,GACd2/D,EAAQV,EAAe,KAAM,CAAC,QAAS,EAAI,EAC5C,CALA1/D,OAAO,MAAM,CAACslB,EAAK,MAAM,CAAE85C,EAAQ,OAAO,CAAC,KAAK,EAOhDiB,AACA,SAASA,EAAKn8D,CAAC,EAId,KAAOA,EAAIu7D,EAAS,MAAM,CAAEv7D,IAC3B,GAAIu7D,CAAQ,CAACv7D,EAAE,CAAC,KAAK,CAACohB,GAAO,CAC5B,IAAIg7C,EAAUb,CAAQ,CAACv7D,EAAE,CAAC,SAAS,CAC/Bq8D,EAAed,CAAQ,CAACv7D,EAAE,CAAC,KAAK,CAChCs8D,EAAYF,EACZ/D,EAASqD,EAAa,SAASjpC,CAAI,EACtC,GAAI4lC,IAAWqD,GACf,GAAIjpC,IAASupC,EAAM,OAAOG,EAAKn8D,EAAI,GACnC0wC,EAAYje,AAAQ,MAARA,GAAiB,CAAqB,YAArB,OAAOA,EAAK,IAAI,EAAmB,AAAgB,YAAhB,OAAOA,CAAkB,EAAIA,EAAO,MACpGxb,EAAQmK,EAAK,MAAM,CAAEq6C,EAAc1B,EAAM2B,EAAa,KACtDC,EAAkBS,EAAQ,MAAM,CAAGA,EAAU,KACzCzrD,AAAU,IAAVA,EAAawqD,EAAY,MAAM,IAElCxqD,EAAQ,EACRwqD,EAAY,MAAM,CAAC,IAAI,IAEzB,CAGIiB,CAAAA,EAAQ,IAAI,EAAI,AAAmB,YAAnB,OAAOA,GAC1BA,EAAU,CAAC,EACX/D,EAAOiE,IAECF,EAAQ,OAAO,CACvBjgE,EAAE,IAAI,CAAC,WACN,OAAOigE,EAAQ,OAAO,CAACh7C,EAAK,MAAM,CAAE24C,EAAMsC,EAC3C,GAAG,IAAI,CAAChE,EAAQ0B,IAASyB,EAAgB,KAAOpiB,GAE5Cif,EAAO,OACZ,MACD,CAGD,GAAI0B,IAASyB,EACZ,MAAM,AAAI98D,MAAM,mCAAqC88D,EAAgB,KAEtEU,EAAQV,EAAe,KAAM,CAAC,QAAS,EAAI,EAC5C,EA1CK,EA2CN,CAMA,SAASK,IACJ,CAACR,IACJA,EAAY,GAIZD,EAAUU,GAEZ,CAEA,SAASI,EAAQnC,CAAI,CAAE34C,CAAI,CAAEhkB,CAAO,EAEnC,GADA28D,EAAOY,EAAcZ,EAAM34C,GACvBk6C,EAAO,CACVO,IACA,IAAIlrD,EAAQvT,EAAUA,EAAQ,KAAK,CAAG,KAClCm/D,EAAQn/D,EAAUA,EAAQ,KAAK,CAAG,IAClCA,CAAAA,GAAWA,EAAQ,OAAO,CAAE89D,EAAQ,OAAO,CAAC,YAAY,CAACvqD,EAAO4rD,EAAON,EAAM,MAAM,CAAGlC,GACrFmB,EAAQ,OAAO,CAAC,SAAS,CAACvqD,EAAO4rD,EAAON,EAAM,MAAM,CAAGlC,EAC7D,MAECmB,EAAQ,QAAQ,CAAC,IAAI,CAAGe,EAAM,MAAM,CAAGlC,CAEzC,CAEA,SAASkC,EAAM7gE,CAAI,CAAEohE,CAAY,CAAEC,CAAM,EACxC,GAAI,CAACrhE,EAAM,MAAM,AAAIyD,UAAU,iDAc/B,GAZA08D,EAAWz/D,OAAO,IAAI,CAAC2gE,GAAQ,GAAG,CAAC,SAASR,CAAK,EAChD,GAAIA,AAAa,MAAbA,CAAK,CAAC,EAAE,CAAU,MAAM,AAAIS,YAAY,iCAC5C,GAAI,AAAC,wBAAyB,IAAI,CAACT,GAClC,MAAM,AAAIS,YAAY,yEAEvB,MAAO,CACN,MAAOT,EACP,UAAWQ,CAAM,CAACR,EAAM,CACxB,MAAOpB,EAAgBoB,EACxB,CACD,GACAT,EAAgBgB,EACZA,AAAgB,MAAhBA,EAAsB,CACzB,IAAIG,EAAc/B,EAAc4B,GAEhC,GAAI,CAACjB,EAAS,IAAI,CAAC,SAAUv7D,CAAC,EAAI,OAAOA,EAAE,KAAK,CAAC28D,EAAa,GAC7D,MAAM,AAAI5H,eAAe,gDAE3B,CAEI,AAAqC,YAArC,OAAOmG,EAAQ,OAAO,CAAC,SAAS,CACnCA,EAAQ,gBAAgB,CAAC,WAAYW,EAAW,IAClB,MAApBI,EAAM,MAAM,CAAC,EAAE,EACzBf,EAAQ,gBAAgB,CAAC,aAAcY,EAAc,IAGtDR,EAAQ,GACRH,EAAY,KAAK,CAAC//D,EAAMwgE,GACxBE,GACD,CAoFA,OAnFAG,EAAM,GAAG,CAAG,SAASlC,CAAI,CAAE34C,CAAI,CAAEhkB,CAAO,EACrB,MAAds+D,GAEHt+D,CAAAA,AADAA,CAAAA,EAAUA,GAAW,CAAC,GACd,OAAO,CAAG,EAAG,EAEtBs+D,EAAa,KACbQ,EAAQnC,EAAM34C,EAAMhkB,EACrB,EACA6+D,EAAM,GAAG,CAAG,WAAY,OAAOR,CAAW,EAC1CQ,EAAM,MAAM,CAAG,KACfA,EAAM,IAAI,CAAG,CACZ,KAAM,SAASF,CAAK,EAMnB,IAKI3+D,EAASw/D,EAASC,EALlB5yD,EAAQ/N,EACX6/D,EAAM,KAAK,CAAC,QAAQ,EAAI,IACxBjB,EAAOiB,EAAM,KAAK,CAAE,CAAC,UAAW,SAAU,WAAY,UAAU,EAChEA,EAAM,QAAQ,EAwDf,MA9CI9xD,CAAAA,EAAM,KAAK,CAAC,QAAQ,CAAG6yD,CAAAA,CAAQ7yD,EAAM,KAAK,CAAC,QAAQ,GACtDA,EAAM,KAAK,CAAC,IAAI,CAAG,KACnBA,EAAM,KAAK,CAAC,gBAAgB,CAAG,SAI/B7M,EAAU2+D,EAAM,KAAK,CAAC,OAAO,CAC7Ba,EAAUb,EAAM,KAAK,CAAC,OAAO,CAE7Bc,EAAOlC,EAAc1wD,EAAM,KAAK,CAAC,IAAI,CAAE8xD,EAAM,KAAK,CAAC,MAAM,EACzD9xD,EAAM,KAAK,CAAC,IAAI,CAAGgyD,EAAM,MAAM,CAAGY,EAClC5yD,EAAM,KAAK,CAAC,OAAO,CAAG,SAAS1N,CAAC,EAC/B,IAAIkgB,CACA,AAAmB,aAAnB,OAAOmgD,EACVngD,EAASmgD,EAAQ,IAAI,CAACrgE,EAAE,aAAa,CAAEA,GAClB,MAAXqgE,GAAmB,AAAmB,UAAnB,OAAOA,GAEK,YAA/B,OAAOA,EAAQ,WAAW,EACpCA,EAAQ,WAAW,CAACrgE,GAcT,KAAXkgB,GAAoB,CAAClgB,EAAE,gBAAgB,EAEtCA,CAAAA,AAAa,IAAbA,EAAE,MAAM,EAAUA,AAAY,IAAZA,EAAE,KAAK,EAAUA,AAAY,IAAZA,EAAE,KAAK,AAAK,GAE/C,EAACA,EAAE,aAAa,CAAC,MAAM,EAAIA,AAA2B,UAA3BA,EAAE,aAAa,CAAC,MAAM,AAAW,GAE7D,CAACA,EAAE,OAAO,EAAI,CAACA,EAAE,OAAO,EAAI,CAACA,EAAE,QAAQ,EAAI,CAACA,EAAE,MAAM,GAEpDA,EAAE,cAAc,GAChBA,EAAE,MAAM,CAAG,GACX0/D,EAAM,GAAG,CAACY,EAAM,KAAMz/D,GAExB,GAEM6M,CACR,CACD,EACAgyD,EAAM,KAAK,CAAG,SAASp/D,CAAG,EACzB,OAAOoa,GAASpa,AAAO,MAAPA,EAAcoa,CAAK,CAACpa,EAAI,CAAGoa,CAC5C,EAEOglD,CACR,C,oCClRA,IAAIc,EAAc,EAAQ,KAE1BA,CAAAA,EAAY,KAAK,CAAG,EAAQ,MAC5BA,EAAY,QAAQ,CAAG,EAAQ,MAE/BrhE,EAAO,OAAO,CAAGqhE,C,mCCLjB,IAAIA,EAAc,EAAQ,MACtBC,EAAU,EAAQ,MAClB7B,EAAc,EAAQ,MACtB8B,EAAS,EAAQ,MAEjB/gE,EAAI,WAAe,OAAO6gE,EAAY,KAAK,CAAC,IAAI,CAAEr6D,UAAW,CACjExG,CAAAA,EAAE,CAAC,CAAG6gE,EACN7gE,EAAE,KAAK,CAAG6gE,EAAY,KAAK,CAC3B7gE,EAAE,QAAQ,CAAG6gE,EAAY,QAAQ,CACjC7gE,EAAE,QAAQ,CAAG,IACbA,EAAE,KAAK,CAAGi/D,EAAY,KAAK,CAC3Bj/D,EAAE,KAAK,CAAG,EAAQ,MAClBA,EAAE,MAAM,CAAG,EAAQ,MACnBA,EAAE,MAAM,CAAGi/D,EAAY,MAAM,CAC7Bj/D,EAAE,OAAO,CAAG8gE,EAAQ,OAAO,CAC3B9gE,EAAE,gBAAgB,CAAG,EAAQ,KAC7BA,EAAE,gBAAgB,CAAG,EAAQ,MAC7BA,EAAE,aAAa,CAAG,EAAQ,MAC1BA,EAAE,aAAa,CAAG,EAAQ,MAC1BA,EAAE,KAAK,CAAG,EAAQ,MAClBA,EAAE,MAAM,CAAG,EAAQ,MACnBA,EAAE,MAAM,CAAG+gE,EAAO,MAAM,CAExBvhE,EAAO,OAAO,CAAGQ,C,oCCvBjB,IAAIo+D,EAAS,EAAQ,KAErB5+D,CAAAA,EAAO,OAAO,CAAG,EAAQ,MAAsB4+D,EAAQ,AAAiC,aAAjC,OAAOpE,sBAAwCA,sBAAwB,KAAM,AAAmB,aAAnB,OAAO1lD,QAA0BA,QAAU,K,oCCF/K,IAAI0sD,EAAmB,EAAQ,KAG/BxhE,CAAAA,EAAO,OAAO,CAAG,SAASyhE,CAAQ,CAAEC,CAAM,EACzC,GAAI,AAAC,wBAAyB,IAAI,CAACD,GAClC,MAAM,AAAIT,YAAY,4EAEvB,GAAIU,AAAU,MAAVA,EAAgB,OAAOD,EAC3B,IAAIE,EAAaF,EAAS,OAAO,CAAC,KAC9BG,EAAYH,EAAS,OAAO,CAAC,KAC7BI,EAAWD,EAAY,EAAIH,EAAS,MAAM,CAAGG,EAC7CE,EAAUH,EAAa,EAAIE,EAAWF,EACtCtD,EAAOoD,EAAS,KAAK,CAAC,EAAGK,GACzBC,EAAQ,CAAC,EAEb3hE,OAAO,MAAM,CAAC2hE,EAAOL,GAErB,IAAIM,EAAW3D,EAAK,OAAO,CAAC,wBAAyB,SAAS79D,CAAC,CAAEW,CAAG,CAAE8gE,CAAQ,QAG7E,CAFA,OAAOF,CAAK,CAAC5gE,EAAI,CAEbugE,AAAe,MAAfA,CAAM,CAACvgE,EAAI,EAAiBX,EAEzByhE,EAAWP,CAAM,CAACvgE,EAAI,CAAGu4D,mBAAmBn0D,OAAOm8D,CAAM,CAACvgE,EAAI,EACtE,GAGI+gE,EAAgBF,EAAS,OAAO,CAAC,KACjCG,EAAeH,EAAS,OAAO,CAAC,KAChCI,EAAcD,EAAe,EAAIH,EAAS,MAAM,CAAGG,EACnDE,EAAaH,EAAgB,EAAIE,EAAcF,EAC/CnhD,EAASihD,EAAS,KAAK,CAAC,EAAGK,GAE3BV,GAAc,GAAG5gD,CAAAA,GAAU0gD,EAAS,KAAK,CAACE,EAAYE,EAAQ,EAC9DK,GAAiB,GAAGnhD,CAAAA,GAAU,AAAC4gD,CAAAA,EAAa,EAAI,IAAM,GAAE,EAAKK,EAAS,KAAK,CAACE,EAAeE,EAAW,EAC1G,IAAIE,EAAcd,EAAiBO,GAInC,OAHIO,GAAavhD,CAAAA,GAAU,AAAC4gD,CAAAA,EAAa,GAAKO,EAAgB,EAAI,IAAM,GAAE,EAAKI,CAAU,EACrFV,GAAa,GAAG7gD,CAAAA,GAAU0gD,EAAS,KAAK,CAACG,EAAS,EAClDO,GAAgB,GAAGphD,CAAAA,GAAU,AAAC6gD,CAAAA,EAAY,EAAI,GAAK,GAAE,EAAKI,EAAS,KAAK,CAACG,EAAY,EAClFphD,CACR,C,oCCvCA,IAAIm+C,EAAgB,EAAQ,KAO5Bl/D,CAAAA,EAAO,OAAO,CAAG,SAASyhE,CAAQ,EACjC,IAAIc,EAAerD,EAAcuC,GAC7Be,EAAepiE,OAAO,IAAI,CAACmiE,EAAa,MAAM,EAC9CrhE,EAAO,EAAE,CACTi0D,EAAS,AAAIhsB,OAAO,IAAMo5B,EAAa,IAAI,CAAC,OAAO,CAKtD,qDACA,SAAS/hE,CAAC,CAAEW,CAAG,CAAEshE,CAAK,SACrB,AAAIthE,AAAO,MAAPA,EAAoB,KAAOX,GAC/BU,EAAK,IAAI,CAAC,CAAC,EAAGC,EAAK,EAAGshE,AAAU,QAAVA,CAAe,GACjCA,AAAU,QAAVA,GAAwB,OACxBA,AAAU,MAAVA,EAAsB,aACnB,UAAaA,CAAAA,GAAS,EAAC,CAC/B,GACG,KACJ,OAAO,SAAS/8C,CAAI,EAGnB,IAAK,IAAIphB,EAAI,EAAGA,EAAIk+D,EAAa,MAAM,CAAEl+D,IACxC,GAAIi+D,EAAa,MAAM,CAACC,CAAY,CAACl+D,EAAE,CAAC,GAAKohB,EAAK,MAAM,CAAC88C,CAAY,CAACl+D,EAAE,CAAC,CAAE,MAAO,GAGnF,GAAI,CAACpD,EAAK,MAAM,CAAE,OAAOi0D,EAAO,IAAI,CAACzvC,EAAK,IAAI,EAC9C,IAAI05B,EAAS+V,EAAO,IAAI,CAACzvC,EAAK,IAAI,EAClC,GAAI05B,AAAU,MAAVA,EAAgB,MAAO,GAC3B,IAAK,IAAI96C,EAAI,EAAGA,EAAIpD,EAAK,MAAM,CAAEoD,IAChCohB,EAAK,MAAM,CAACxkB,CAAI,CAACoD,EAAE,CAAC,CAAC,CAAC,CAAGpD,CAAI,CAACoD,EAAE,CAAC,CAAC,CAAG86C,CAAM,CAAC96C,EAAI,EAAE,CAAGi7D,mBAAmBngB,CAAM,CAAC96C,EAAI,EAAE,EAEtF,MAAO,EACR,CACD,C,oCCxCA,IAAIo+D,EAAmB,EAAQ,IAG/B1iE,CAAAA,EAAO,OAAO,CAAG,SAAS2iE,CAAG,EAC5B,IAAIhB,EAAagB,EAAI,OAAO,CAAC,KACzBf,EAAYe,EAAI,OAAO,CAAC,KACxBd,EAAWD,EAAY,EAAIe,EAAI,MAAM,CAAGf,EACxCE,EAAUH,EAAa,EAAIE,EAAWF,EACtCtD,EAAOsE,EAAI,KAAK,CAAC,EAAGb,GAAS,OAAO,CAAC,UAAW,KAMpD,OAJKzD,EAEY,MAAZA,CAAI,CAAC,EAAE,EAAUA,CAAAA,EAAO,IAAMA,CAAG,EAF3BA,EAAO,IAIX,CACN,KAAMA,EACN,OAAQsD,EAAa,EAClB,CAAC,EACDe,EAAiBC,EAAI,KAAK,CAAChB,EAAa,EAAGE,GAC/C,CACD,C,+BCpBA7hE,CAAAA,EAAO,OAAO,CAAG,SAASK,CAAM,EAC/B,GAAID,AAA2C,oBAA3CA,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAACC,GAA+B,MAAO,GAEzE,IAAIgN,EAAO,EAAE,CACb,IAAK,IAAIlM,KAAOd,EACfuiE,AAKD,UAASA,EAAYzhE,CAAG,CAAEW,CAAK,EAC9B,GAAI4G,MAAM,OAAO,CAAC5G,GACjB,IAAK,IAAIwC,EAAI,EAAGA,EAAIxC,EAAM,MAAM,CAAEwC,IACjCs+D,EAAYzhE,EAAM,IAAMmD,EAAI,IAAKxC,CAAK,CAACwC,EAAE,OAGtC,GAAIlE,AAA0C,oBAA1CA,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC0B,GACvC,IAAK,IAAIwC,KAAKxC,EACb8gE,EAAYzhE,EAAM,IAAMmD,EAAI,IAAKxC,CAAK,CAACwC,EAAE,OAGtC+I,EAAK,IAAI,CAACqsD,mBAAmBv4D,GAAQW,CAAAA,AAAS,MAATA,GAAiBA,AAAU,KAAVA,EAAe,IAAM43D,mBAAmB53D,GAAS,EAAC,EAC9G,GAjBaX,EAAKd,CAAM,CAACc,EAAI,EAG7B,OAAOkM,EAAK,IAAI,CAAC,IAelB,C,+BCvBA,SAASiyD,EAAuBr4D,CAAG,EAClC,GAAI,CACH,OAAOs4D,mBAAmBt4D,EAC3B,CAAE,MAAMlF,EAAK,CACZ,OAAOkF,CACR,CACD,CAEAjH,EAAO,OAAO,CAAG,SAAS0D,CAAM,EAC/B,GAAIA,AAAW,KAAXA,GAAiBA,AAAU,MAAVA,EAAgB,MAAO,CAAC,CACpB,OAArBA,EAAO,MAAM,CAAC,IAAYA,CAAAA,EAASA,EAAO,KAAK,CAAC,EAAC,EAGrD,IAAK,IADDkuD,EAAUluD,EAAO,KAAK,CAAC,KAAMm/D,EAAW,CAAC,EAAGn9C,EAAO,CAAC,EAC/CphB,EAAI,EAAGA,EAAIstD,EAAQ,MAAM,CAAEttD,IAAK,CACxC,IAAIkS,EAAQo7C,CAAO,CAACttD,EAAE,CAAC,KAAK,CAAC,KACzBnD,EAAMm+D,EAAuB9oD,CAAK,CAAC,EAAE,EACrC1U,EAAQ0U,AAAiB,IAAjBA,EAAM,MAAM,CAAS8oD,EAAuB9oD,CAAK,CAAC,EAAE,EAAI,EAEhE1U,AAAU,UAAVA,EAAkBA,EAAQ,GACX,UAAVA,GAAmBA,CAAAA,EAAQ,EAAI,EAExC,IAAIghE,EAAS3hE,EAAI,KAAK,CAAC,YACnB4hE,EAASr9C,EACTvkB,EAAI,OAAO,CAAC,KAAO,IAAI2hE,EAAO,GAAG,GACrC,IAAK,IAAIp8D,EAAI,EAAGA,EAAIo8D,EAAO,MAAM,CAAEp8D,IAAK,CACvC,IAAIqM,EAAQ+vD,CAAM,CAACp8D,EAAE,CAAEs8D,EAAYF,CAAM,CAACp8D,EAAI,EAAE,CAC5Cu8D,EAAWD,AAAa,IAAbA,GAAmB,CAAC98D,MAAMgC,SAAS86D,EAAW,KAC7D,GAAIjwD,AAAU,KAAVA,EAAc,CACjB,IAAI5R,EAAM2hE,EAAO,KAAK,CAAC,EAAGp8D,GAAG,IAAI,EACZ,OAAjBm8D,CAAQ,CAAC1hE,EAAI,EAChB0hE,CAAAA,CAAQ,CAAC1hE,EAAI,CAAGuH,MAAM,OAAO,CAACq6D,GAAUA,EAAO,MAAM,CAAG,GAEzDhwD,EAAQ8vD,CAAQ,CAAC1hE,EAAI,EACtB,MAEK,GAAI4R,AAAU,cAAVA,EAAuB,MAChC,GAAIrM,IAAMo8D,EAAO,MAAM,CAAG,EAAGC,CAAM,CAAChwD,EAAM,CAAGjR,MACxC,CAGJ,IAAIohE,EAAO9iE,OAAO,wBAAwB,CAAC2iE,EAAQhwD,EACvC,OAARmwD,GAAcA,CAAAA,EAAOA,EAAK,KAAK,AAAD,EACtB,MAARA,GAAcH,CAAAA,CAAM,CAAChwD,EAAM,CAAGmwD,EAAOD,EAAW,EAAE,CAAG,CAAC,GAC1DF,EAASG,CACV,CACD,CACD,CACA,OAAOx9C,CACR,C,mCChDA1lB,CAAAA,EAAO,OAAO,CAAG,EAAQ,MAAmB,AAAkB,aAAlB,OAAOc,OAAyBA,OAAS,K,gCCArF,IAAIqiE,EAAiB,IAAIlS,OAqBzBjxD,CAAAA,EAAO,OAAO,CAAG,CAChB,eAAgBmjE,EAChB,OArBD,UAAiB9C,CAAK,CAAEhgE,EAAS,CAAC,CAAC,EAGlC,IAAI+iE,EAAM/C,EAAM,GAAG,CACfgD,EAAUhD,EAAM,OAAO,CACvBiD,EAAajjE,EAAO,UAAU,CAClC,GAAI+iE,AAAO,MAAPA,EAAa,EAAG,CACnB,IAAIG,EAAcH,EAAI,WAAW,CAE7BD,EAAe,GAAG,CAACC,KAASE,IAC/B,MAAMF,EACNC,KAGDD,EAAMG,CACP,OACOF,EAAQ,AAChB,CAKA,C,oCCxBA,IAAI1E,EAAQ,EAAQ,MAChB6E,EAAmB,EAAQ,KAE/BxjE,CAAAA,EAAO,OAAO,CAAG,WAChB,IAAIqgE,EAAQmD,EAAiB,KAAK,CAAC,EAAGx8D,WAItC,OAFAq5D,EAAM,GAAG,CAAG,IACZA,EAAM,QAAQ,CAAG1B,EAAM,iBAAiB,CAAC0B,EAAM,QAAQ,EAChDA,CACR,C,oCCTA,IAAI1B,EAAQ,EAAQ,MAChB6E,EAAmB,EAAQ,MAC3BC,EAAS,EAAQ,MAEjBC,EAAiB,+EACjBC,EAAgBvjE,OAAO,MAAM,CAAC,KA8ElCJ,CAAAA,EAAO,OAAO,CAhBd,SAAqB4jE,CAAQ,EAC5B,GAAIA,AAAY,MAAZA,GAAoB,AAAoB,UAApB,OAAOA,GAAyB,AAAoB,YAApB,OAAOA,GAA2B,AAAyB,YAAzB,OAAOA,EAAS,IAAI,CAC7G,MAAM5gE,MAAM,wDAGb,IAzCqBiS,EAAOorD,EACxB9kD,EACAsoD,EACAC,EAsCAzD,EAAQmD,EAAiB,KAAK,CAAC,EAAGx8D,WAEtC,GAAI,AAAoB,UAApB,OAAO48D,IACVvD,EAAM,QAAQ,CAAG1B,EAAM,iBAAiB,CAAC0B,EAAM,QAAQ,EACnDuD,AAAa,MAAbA,GAAkB,SA7CF3uD,EA6CsB0uD,CAAa,CAACC,EAAS,EAAIG,AAhEvE,SAAyBH,CAAQ,EAEhC,IADA,IAAI9jD,EAAOwZ,EAAM,MAAO0qC,EAAU,EAAE,CAAEzoD,EAAQ,CAAC,EACxCuE,EAAQ4jD,EAAe,IAAI,CAACE,IAAW,CAC7C,IAAIrvD,EAAOuL,CAAK,CAAC,EAAE,CAAEhe,EAAQge,CAAK,CAAC,EAAE,CACrC,GAAIvL,AAAS,KAATA,GAAezS,AAAU,KAAVA,EAAcw3B,EAAMx3B,OAClC,GAAIyS,AAAS,MAATA,EAAcgH,EAAM,EAAE,CAAGzZ,OAC7B,GAAIyS,AAAS,MAATA,EAAcyvD,EAAQ,IAAI,CAACliE,QAC/B,GAAIge,AAAgB,MAAhBA,CAAK,CAAC,EAAE,CAAC,EAAE,CAAU,CAC7B,IAAImkD,EAAYnkD,CAAK,CAAC,EAAE,CACpBmkD,GAAWA,CAAAA,EAAYA,EAAU,OAAO,CAAC,YAAa,MAAM,OAAO,CAAC,QAAS,KAAI,EACjFnkD,AAAa,UAAbA,CAAK,CAAC,EAAE,CAAckkD,EAAQ,IAAI,CAACC,GAClC1oD,CAAK,CAACuE,CAAK,CAAC,EAAE,CAAC,CAAGmkD,AAAc,KAAdA,EAAmBA,EAAYA,GAAa,EACpE,CACD,CAGA,OAFID,EAAQ,MAAM,CAAG,GAAGzoD,CAAAA,EAAM,SAAS,CAAGyoD,EAAQ,IAAI,CAAC,IAAG,EACtDE,AApBL,SAAiB7jE,CAAM,EACtB,IAAK,IAAIc,KAAOd,EAAQ,GAAIojE,EAAO,IAAI,CAACpjE,EAAQc,GAAM,MAAO,GAC7D,MAAO,EACR,EAiBaoa,IAAQA,CAAAA,EAAQ,IAAG,EACxBooD,CAAa,CAACC,EAAS,CAAG,CAAC,IAAKtqC,EAAK,MAAO/d,CAAK,CACzD,EA+CuFqoD,GA5ClFroD,EAAQ8kD,CADgBA,EA6CqEA,GA5C/E,KAAK,CAEnByD,EAAYD,CADZA,EAAWJ,EAAO,IAAI,CAACloD,EAAO,UACPA,EAAM,KAAK,CAAGA,EAAM,SAAS,CAExD8kD,EAAM,GAAG,CAAGprD,EAAM,GAAG,CAEjBA,AAAe,MAAfA,EAAM,KAAK,EACdsG,EAAQnb,OAAO,MAAM,CAAC,CAAC,EAAG6U,EAAM,KAAK,CAAEsG,GAEnCuoD,CAAAA,AAAa,MAAbA,GAAqB7uD,AAAyB,MAAzBA,EAAM,KAAK,CAAC,SAAS,AAAO,GAAGsG,CAAAA,EAAM,SAAS,CACtEuoD,AAAa,MAAbA,EACG7uD,AAAyB,MAAzBA,EAAM,KAAK,CAAC,SAAS,CACpB1P,OAAO0P,EAAM,KAAK,CAAC,SAAS,EAAI,IAAM1P,OAAOu+D,GAC7CA,EACD7uD,AAAyB,MAAzBA,EAAM,KAAK,CAAC,SAAS,CACpBA,EAAM,KAAK,CAAC,SAAS,CACrB,IAAG,GAES,MAAb6uD,GAAmBvoD,CAAAA,EAAM,SAAS,CAAGuoD,CAAQ,EAG9CD,GAAUtoD,CAAAA,EAAM,KAAK,CAAG,IAAG,EAKb,UAAdtG,EAAM,GAAG,EAAgBwuD,EAAO,IAAI,CAACloD,EAAO,SAC/CA,CAAAA,EAAQnb,OAAO,MAAM,CAAC,CAAC,KAAMmb,EAAM,IAAI,EAAGA,EAAK,EAGhD8kD,EAAM,KAAK,CAAG9kD,EAEP8kD,CAY+F,CAItG,OADAA,EAAM,GAAG,CAAGuD,EACLvD,CACR,C,oCCjFA,IAAI1B,EAAQ,EAAQ,KA+BpB3+D,CAAAA,EAAO,OAAO,CAAG,WAChB,IAA+CisB,EAA3C1Q,EAAQvU,SAAS,CAAC,IAAI,CAAC,CAAEpC,EAAQ,IAAI,CAAG,EAS5C,GAPI2W,AAAS,MAATA,EACHA,EAAQ,CAAC,EACC,CAAiB,UAAjB,OAAOA,GAAsBA,AAAa,MAAbA,EAAM,GAAG,EAAY7S,MAAM,OAAO,CAAC6S,EAAK,IAC/EA,EAAQ,CAAC,EACT3W,EAAQ,IAAI,EAGToC,UAAU,MAAM,GAAKpC,EAAQ,EAChCqnB,EAAWjlB,SAAS,CAACpC,EAAM,CACvB,CAAC8D,MAAM,OAAO,CAACujB,IAAWA,CAAAA,EAAW,CAACA,EAAS,AAAD,OAGlD,IADAA,EAAW,EAAE,CACNrnB,EAAQoC,UAAU,MAAM,EAAEilB,EAAS,IAAI,CAACjlB,SAAS,CAACpC,IAAQ,EAGlE,OAAO+5D,EAAM,GAAIpjD,EAAM,GAAG,CAAEA,EAAO0Q,EACpC,C,oCClDA,IAAI0yC,EAAQ,EAAQ,MAChBwF,EAAK,EAAQ,MACbhB,EAAiBgB,EAAG,cAAc,CAClC5C,EAAS4C,EAAG,MAAM,AAEtBnkE,CAAAA,EAAO,OAAO,CAAG,WAChB,IAKIokE,EACAC,EAy3BAC,EA/3BAC,EAAY,CACf,IAAK,6BACL,KAAM,oCACP,EAKA,SAASC,EAAYpB,CAAG,EACvB,OAAOA,EAAI,aAAa,AACzB,CAEA,SAASqB,EAAapE,CAAK,EAC1B,OAAOA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,KAAK,EAAIkE,CAAS,CAAClE,EAAM,GAAG,CAAC,AAChE,CAGA,SAASqE,EAAWrE,CAAK,CAAEsE,CAAQ,EAClC,GAAItE,EAAM,KAAK,GAAKsE,EAAU,MAAM,AAAI3hE,MAAM,sCAC/C,CAMA,SAAS4hE,EAASvE,CAAK,EACtB,IAAIsE,EAAWtE,EAAM,KAAK,CAC1B,GAAI,CACH,OAAO,IAAI,CAAC,KAAK,CAACsE,EAAU39D,UAC7B,QAAU,CACT09D,EAAWrE,EAAOsE,EACnB,CACD,CAIA,SAASE,EAAczB,CAAG,EACzB,GAAI,CACH,OAAOoB,EAAYpB,GAAK,aAAa,AACtC,CAAE,MAAOviE,EAAG,CACX,OAAO,IACR,CACD,CAEA,SAASikE,EAAYzrC,CAAM,CAAE0rC,CAAM,CAAEngE,CAAK,CAAEC,CAAG,CAAEmgE,CAAK,CAAEzB,CAAW,CAAE0B,CAAE,EACtE,IAAK,IAAI3gE,EAAIM,EAAON,EAAIO,EAAKP,IAAK,CACjC,IAAI+7D,EAAQ0E,CAAM,CAACzgE,EAAE,AACR,OAAT+7D,GACH6E,EAAW7rC,EAAQgnC,EAAO2E,EAAOC,EAAI1B,EAEvC,CACD,CACA,SAAS2B,EAAW7rC,CAAM,CAAEgnC,CAAK,CAAE2E,CAAK,CAAEC,CAAE,CAAE1B,CAAW,EACxD,IAAIjqC,EAAM+mC,EAAM,GAAG,CACnB,GAAI,AAAe,UAAf,OAAO/mC,EAGV,OAFA+mC,EAAM,KAAK,CAAG,CAAC,EACI,MAAfA,EAAM,KAAK,EAAU8E,EAAc9E,EAAM,KAAK,CAAEA,EAAO2E,GACnD1rC,GACP,IAAK,IAAK8rC,AAQb,UAAoB/rC,CAAM,CAAEgnC,CAAK,CAAEkD,CAAW,EAC7ClD,EAAM,GAAG,CAAGmE,EAAYnrC,GAAQ,cAAc,CAACgnC,EAAM,QAAQ,EAC7DgF,EAAUhsC,EAAQgnC,EAAM,GAAG,CAAEkD,EAC9B,GAXwBlqC,EAAQgnC,EAAOkD,GAAc,KAClD,KAAK,IAAK+B,EAAWjsC,EAAQgnC,EAAO4E,EAAI1B,GAAc,KACtD,KAAK,IAAKgC,AAmCb,UAAwBlsC,CAAM,CAAEgnC,CAAK,CAAE2E,CAAK,CAAEC,CAAE,CAAE1B,CAAW,EAC5D,IAAIiC,EAAWhB,EAAYnrC,GAAQ,sBAAsB,GACzD,GAAIgnC,AAAkB,MAAlBA,EAAM,QAAQ,CAAU,CAC3B,IAAIp0C,EAAWo0C,EAAM,QAAQ,CAC7ByE,EAAYU,EAAUv5C,EAAU,EAAGA,EAAS,MAAM,CAAE+4C,EAAO,KAAMC,EAClE,CACA5E,EAAM,GAAG,CAAGmF,EAAS,UAAU,CAC/BnF,EAAM,OAAO,CAAGmF,EAAS,UAAU,CAAC,MAAM,CAC1CH,EAAUhsC,EAAQmsC,EAAUjC,EAC7B,GA5C4BlqC,EAAQgnC,EAAO2E,EAAOC,EAAI1B,GAAc,KACjE,SAASkC,AA4CZ,UAAuBpsC,CAAM,CAAEgnC,CAAK,CAAE2E,CAAK,CAAEC,CAAE,CAAE1B,CAAW,EAC3D,IAAIjqC,EAAM+mC,EAAM,GAAG,CACf9kD,EAAQ8kD,EAAM,KAAK,CACnBqF,EAAKnqD,GAASA,EAAM,EAAE,CAItBmE,EAAUulD,AAFdA,CAAAA,EAAKR,EAAapE,IAAU4E,CAAC,EAG5BS,EAAKlB,EAAYnrC,GAAQ,eAAe,CAAC4rC,EAAI3rC,EAAK,CAAC,GAAIosC,CAAE,GAAKlB,EAAYnrC,GAAQ,eAAe,CAAC4rC,EAAI3rC,GACtGosC,EAAKlB,EAAYnrC,GAAQ,aAAa,CAACC,EAAK,CAAC,GAAIosC,CAAE,GAAKlB,EAAYnrC,GAAQ,aAAa,CAACC,GAS3F,GARA+mC,EAAM,GAAG,CAAG3gD,EAEC,MAATnE,GACHoqD,AAkiBF,SAAkBtF,CAAK,CAAE9kD,CAAK,CAAE0pD,CAAE,EACjC,IAAK,IAAI9jE,KAAOoa,EACfqqD,EAAQvF,EAAOl/D,EAAK,KAAMoa,CAAK,CAACpa,EAAI,CAAE8jE,EAExC,EAtiBW5E,EAAO9kD,EAAO0pD,GAGxBI,EAAUhsC,EAAQ3Z,EAAS6jD,GAEvB,CAACsC,EAAwBxF,IACxBA,AAAkB,MAAlBA,EAAM,QAAQ,CAAU,CAC3B,IAAIp0C,EAAWo0C,EAAM,QAAQ,CAC7ByE,EAAYplD,EAASuM,EAAU,EAAGA,EAAS,MAAM,CAAE+4C,EAAO,KAAMC,GAC9C,WAAd5E,EAAM,GAAG,EAAiB9kD,AAAS,MAATA,GAAeuqD,AAolBhD,SAA4BzF,CAAK,CAAE9kD,CAAK,EACvC,GAAI,UAAWA,GACd,GAAGA,AAAgB,OAAhBA,EAAM,KAAK,CACmB,KAA5B8kD,EAAM,GAAG,CAAC,aAAa,EAASA,CAAAA,EAAM,GAAG,CAAC,KAAK,CAAG,IAAG,MACnD,CACN,IAAI0F,EAAa,GAAKxqD,EAAM,KAAK,CAC7B8kD,CAAAA,EAAM,GAAG,CAAC,KAAK,GAAK0F,GAAc1F,AAA4B,KAA5BA,EAAM,GAAG,CAAC,aAAa,AAAM,GAClEA,CAAAA,EAAM,GAAG,CAAC,KAAK,CAAG0F,CAAS,CAE7B,EAEG,kBAAmBxqD,GAAOqqD,EAAQvF,EAAO,gBAAiB,KAAM9kD,EAAM,aAAa,CAAE1Z,KAAAA,EAC1F,EAhmBmEw+D,EAAO9kD,EACxE,CAEF,GArE0B8d,EAAQgnC,EAAO2E,EAAOC,EAAI1B,EAClD,KAEIyC,AAuFN,UAAyB3sC,CAAM,CAAEgnC,CAAK,CAAE2E,CAAK,CAAEC,CAAE,CAAE1B,CAAW,GAC7DjkC,AArBD,SAAuB+gC,CAAK,CAAE2E,CAAK,EAClC,IAAI3F,EACJ,GAAI,AAA0B,YAA1B,OAAOgB,EAAM,GAAG,CAAC,IAAI,CAAiB,CAGzC,GAFAA,EAAM,KAAK,CAAGjgE,OAAO,MAAM,CAACigE,EAAM,GAAG,EAEjChB,AAA8B,MAA9BA,AADJA,CAAAA,EAAWgB,EAAM,KAAK,CAAC,IAAI,AAAD,EACb,iBAAiB,CAAU,MACxChB,CAAAA,EAAS,iBAAiB,CAAG,EAC9B,KAAO,CAGN,GAFAgB,EAAM,KAAK,CAAG,KAAK,EAEfhB,AAA8B,MAA9BA,AADJA,CAAAA,EAAWgB,EAAM,GAAG,AAAD,EACN,iBAAiB,CAAU,MACxChB,CAAAA,EAAS,iBAAiB,CAAG,GAC7BgB,EAAM,KAAK,CAAG,AAACA,AAAuB,MAAvBA,EAAM,GAAG,CAAC,SAAS,EAAY,AAAoC,YAApC,OAAOA,EAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAmB,IAAIA,EAAM,GAAG,CAACA,GAASA,EAAM,GAAG,CAACA,EAClI,CAIA,GAHA8E,EAAc9E,EAAM,KAAK,CAAEA,EAAO2E,GACf,MAAf3E,EAAM,KAAK,EAAU8E,EAAc9E,EAAM,KAAK,CAAEA,EAAO2E,GAC3D3E,EAAM,QAAQ,CAAG1B,EAAM,SAAS,CAACiG,EAAS,IAAI,CAACvE,EAAM,KAAK,CAAC,IAAI,CAAEA,IAC7DA,EAAM,QAAQ,GAAKA,EAAO,MAAMr9D,MAAM,yDAC1Cq8D,CAAAA,EAAS,iBAAiB,CAAG,IAC9B,EAEegB,EAAO2E,GACjB3E,AAAkB,MAAlBA,EAAM,QAAQ,EACjB6E,EAAW7rC,EAAQgnC,EAAM,QAAQ,CAAE2E,EAAOC,EAAI1B,GAC9ClD,EAAM,GAAG,CAAGA,EAAM,QAAQ,CAAC,GAAG,CAC9BA,EAAM,OAAO,CAAGA,AAAa,MAAbA,EAAM,GAAG,CAAWA,EAAM,QAAQ,CAAC,OAAO,CAAG,GAG7DA,EAAM,OAAO,CAAG,CAElB,GAjGsBhnC,EAAQgnC,EAAO2E,EAAOC,EAAI1B,EAChD,CAKA,IAAI0C,EAAkB,CAAC,QAAS,QAAS,MAAO,QAAS,MAAO,QAAS,MAAO,QAAS,GAAI,QAAS,GAAI,KAAM,GAAI,KAAM,SAAU,QAAS,IAAK,UAAU,EAC5J,SAASX,EAAWjsC,CAAM,CAAEgnC,CAAK,CAAE4E,CAAE,CAAE1B,CAAW,EACjD,IAiBIh1D,EAjBAuR,EAAQugD,EAAM,QAAQ,CAAC,KAAK,CAAC,kBAAoB,EAAE,CAMnD5gD,EAAO+kD,EAAYnrC,GAAQ,aAAa,CAAC4sC,CAAe,CAACnmD,CAAK,CAAC,EAAE,CAAC,EAAI,MACtEmlD,AAAO,gCAAPA,GACHxlD,EAAK,SAAS,CAAG,2CAA+C4gD,EAAM,QAAQ,CAAG,SACjF5gD,EAAOA,EAAK,UAAU,EAEtBA,EAAK,SAAS,CAAG4gD,EAAM,QAAQ,CAEhCA,EAAM,GAAG,CAAG5gD,EAAK,UAAU,CAC3B4gD,EAAM,OAAO,CAAG5gD,EAAK,UAAU,CAAC,MAAM,CAItC,IAFA,IAAI+lD,EAAWhB,EAAYnrC,GAAQ,sBAAsB,GAElD9qB,EAAQkR,EAAK,UAAU,EAC7B+lD,EAAS,WAAW,CAACj3D,GAEtB82D,EAAUhsC,EAAQmsC,EAAUjC,EAC7B,CAwKA,SAAS2C,EAAY7sC,CAAM,CAAE8sC,CAAG,CAAEpB,CAAM,CAAEC,CAAK,CAAEzB,CAAW,CAAE0B,CAAE,EAC/D,GAAIkB,IAAQpB,GAAUoB,CAAAA,AAAO,MAAPA,GAAepB,AAAU,MAAVA,CAAa,EAC7C,GAAIoB,AAAO,MAAPA,GAAeA,AAAe,IAAfA,EAAI,MAAM,CAAQrB,EAAYzrC,EAAQ0rC,EAAQ,EAAGA,EAAO,MAAM,CAAEC,EAAOzB,EAAa0B,QACvG,GAAIF,AAAU,MAAVA,GAAkBA,AAAkB,IAAlBA,EAAO,MAAM,CAAQqB,EAAY/sC,EAAQ8sC,EAAK,EAAGA,EAAI,MAAM,MACjF,CACJ,IAAIE,EAAaF,AAAU,MAAVA,CAAG,CAAC,EAAE,EAAYA,AAAc,MAAdA,CAAG,CAAC,EAAE,CAAC,GAAG,CACzCG,EAAUvB,AAAa,MAAbA,CAAM,CAAC,EAAE,EAAYA,AAAiB,MAAjBA,CAAM,CAAC,EAAE,CAAC,GAAG,CAC5CngE,EAAQ,EAAG2hE,EAAW,EAC1B,GAAI,CAACF,EAAY,KAAOE,EAAWJ,EAAI,MAAM,EAAIA,AAAiB,MAAjBA,CAAG,CAACI,EAAS,EAAUA,IACxE,GAAI,CAACD,EAAS,KAAO1hE,EAAQmgE,EAAO,MAAM,EAAIA,AAAiB,MAAjBA,CAAM,CAACngE,EAAM,EAAUA,IACrE,GAAIyhE,IAAeC,EAClBF,EAAY/sC,EAAQ8sC,EAAKI,EAAUJ,EAAI,MAAM,EAC7CrB,EAAYzrC,EAAQ0rC,EAAQngE,EAAOmgE,EAAO,MAAM,CAAEC,EAAOzB,EAAa0B,QAChE,GAAKqB,EAiBL,CAKN,IAHA,IAAsDpX,EAAKzhD,EAAGjM,EAAGglE,EAAIC,EAAIC,EAArEC,EAASR,EAAI,MAAM,CAAG,EAAGthE,EAAMkgE,EAAO,MAAM,CAAG,EAMlD,AAHM4B,GAAUJ,GAAY1hE,GAAOD,IACnC4hE,EAAKL,CAAG,CAACQ,EAAO,CAChBF,EAAK1B,CAAM,CAAClgE,EAAI,CACZ2hE,EAAG,GAAG,GAAKC,EAAG,GAAG,GAHqB,EAItCD,IAAOC,GAAIG,EAAWvtC,EAAQmtC,EAAIC,EAAIzB,EAAOzB,EAAa0B,GAChD,MAAVwB,EAAG,GAAG,EAAUlD,CAAAA,EAAckD,EAAG,GAAG,AAAD,EACvCE,IAAU9hE,GACX,CAEA,KAGC,AAHM8hE,GAAUJ,GAAY1hE,GAAOD,IACnC6I,EAAI04D,CAAG,CAACI,EAAS,CACjB/kE,EAAIujE,CAAM,CAACngE,EAAM,CACb6I,EAAE,GAAG,GAAKjM,EAAE,GAAG,GAHuB,EAI1C+kE,IAAY3hE,IACR6I,IAAMjM,GAAGolE,EAAWvtC,EAAQ5rB,EAAGjM,EAAGwjE,EAAO6B,EAAeV,EAAKI,EAAUhD,GAAc0B,EAC1F,CAEA,KACC,AADM0B,GAAUJ,GAAY1hE,GAAOD,GAC/BA,IAAUC,GACV4I,EAAE,GAAG,GAAKg5D,EAAG,GAAG,EAAID,EAAG,GAAG,GAAKhlE,EAAE,GAAG,EAFE,EAI1CslE,EAAQztC,EAAQmtC,EADhBE,EAAaG,EAAeV,EAAKI,EAAUhD,IAEvCiD,IAAOhlE,GAAGolE,EAAWvtC,EAAQmtC,EAAIhlE,EAAGwjE,EAAO0B,EAAYzB,GACvD,EAAErgE,GAAS,EAAEC,GAAKiiE,EAAQztC,EAAQ5rB,EAAG81D,GACrC91D,IAAMg5D,GAAIG,EAAWvtC,EAAQ5rB,EAAGg5D,EAAIzB,EAAOzB,EAAa0B,GAC9C,MAAVwB,EAAG,GAAG,EAAUlD,CAAAA,EAAckD,EAAG,GAAG,AAAD,EACvCF,IACAC,EAAKL,CAAG,GAACQ,EAAO,CAChBF,EAAK1B,CAAM,CAAClgE,EAAI,CAChB4I,EAAI04D,CAAG,CAACI,EAAS,CACjB/kE,EAAIujE,CAAM,CAACngE,EAAM,AAClB,CAEA,KACC,AADM+hE,GAAUJ,GAAY1hE,GAAOD,GAC/B4hE,EAAG,GAAG,GAAKC,EAAG,GAAG,EADqB,EAEtCD,IAAOC,GAAIG,EAAWvtC,EAAQmtC,EAAIC,EAAIzB,EAAOzB,EAAa0B,GAChD,MAAVwB,EAAG,GAAG,EAAUlD,CAAAA,EAAckD,EAAG,GAAG,AAAD,EACvCE,IAAU9hE,IACV2hE,EAAKL,CAAG,CAACQ,EAAO,CAChBF,EAAK1B,CAAM,CAAClgE,EAAI,AACjB,CACA,GAAID,EAAQC,EAAKuhE,EAAY/sC,EAAQ8sC,EAAKI,EAAUI,EAAS,QACxD,GAAIJ,EAAWI,EAAQ7B,EAAYzrC,EAAQ0rC,EAAQngE,EAAOC,EAAM,EAAGmgE,EAAOzB,EAAa0B,OACvF,CAEJ,IAAuJ/V,EAAK6X,EAAxJC,EAAsBzD,EAAa0D,EAAepiE,EAAMD,EAAQ,EAAGsiE,EAAa,AAAIx+D,MAAMu+D,GAAeE,EAAG,EAAG7iE,EAAE,EAAGyC,EAAM,WAAYqgE,EAAU,EACpJ,IAAK9iE,EAAI,EAAGA,EAAI2iE,EAAc3iE,IAAK4iE,CAAU,CAAC5iE,EAAE,CAAG,GACnD,IAAKA,EAAIO,EAAKP,GAAKM,EAAON,IAAK,CACnB,MAAP4qD,GAAaA,CAAAA,EAAMmY,AAgI5B,SAAmBtC,CAAM,CAAEngE,CAAK,CAAEC,CAAG,EAEpC,IADA,IAAIqqD,EAAM9uD,OAAO,MAAM,CAAC,MACjBwE,EAAQC,EAAKD,IAAS,CAC5B,IAAIy7D,EAAQ0E,CAAM,CAACngE,EAAM,CACzB,GAAIy7D,AAAS,MAATA,EAAe,CAClB,IAAIl/D,EAAMk/D,EAAM,GAAG,AACR,OAAPl/D,GAAa+tD,CAAAA,CAAG,CAAC/tD,EAAI,CAAGyD,CAAI,CACjC,CACD,CACA,OAAOsqD,CACR,EA1IsCiX,EAAKI,EAAUI,EAAS,EAAC,EAE1D,IAAIW,EAAWpY,CAAG,CAACuX,AADnBA,CAAAA,EAAK1B,CAAM,CAACzgE,EAAE,AAAD,EACS,GAAG,CAAC,AACV,OAAZgjE,IACHvgE,EAAM,AAACugE,EAAWvgE,EAAOugE,EAAW,GACpCJ,CAAU,CAAC5iE,EAAEM,EAAM,CAAG0iE,EACtBd,EAAKL,CAAG,CAACmB,EAAS,CAClBnB,CAAG,CAACmB,EAAS,CAAG,KACZd,IAAOC,GAAIG,EAAWvtC,EAAQmtC,EAAIC,EAAIzB,EAAOzB,EAAa0B,GAChD,MAAVwB,EAAG,GAAG,EAAUlD,CAAAA,EAAckD,EAAG,GAAG,AAAD,EACvCW,IAEF,CAGA,GAFA7D,EAAcyD,EACVI,IAAYT,EAASJ,EAAW,GAAGH,EAAY/sC,EAAQ8sC,EAAKI,EAAUI,EAAS,GAC/ES,AAAY,IAAZA,EAAetC,EAAYzrC,EAAQ0rC,EAAQngE,EAAOC,EAAM,EAAGmgE,EAAOzB,EAAa0B,QAElF,GAAIl+D,AAAQ,KAARA,EAKH,IADAogE,EAAKJ,AADLA,CAAAA,EAAaQ,AA6HnB,SAAwB5gE,CAAC,EAIxB,IAAK,IAHDoa,EAAS,CAAC,EAAE,CACZyT,EAAI,EAAGhzB,EAAI,EAAG8C,EAAI,EAClBkjE,EAAKC,EAAQ,MAAM,CAAG9gE,EAAE,MAAM,CACzBrC,EAAI,EAAGA,EAAIkjE,EAAIljE,IAAKmjE,CAAO,CAACnjE,EAAE,CAAGqC,CAAC,CAACrC,EAAE,CAC9C,IAAK,IAAIA,EAAI,EAAGA,EAAIkjE,EAAI,EAAEljE,EACzB,GAAIqC,AAAS,KAATA,CAAC,CAACrC,EAAE,EACR,IAAIoC,EAAIqa,CAAM,CAACA,EAAO,MAAM,CAAG,EAAE,CACjC,GAAIpa,CAAC,CAACD,EAAE,CAAGC,CAAC,CAACrC,EAAE,CAAE,CAChBmjE,CAAO,CAACnjE,EAAE,CAAGoC,EACbqa,EAAO,IAAI,CAACzc,GACZ,QACD,CAGA,IAFAkwB,EAAI,EACJhzB,EAAIuf,EAAO,MAAM,CAAG,EACbyT,EAAIhzB,GAAG,CAGb,IAAI8G,EAAI,AAACksB,CAAAA,IAAM,GAAMhzB,CAAAA,IAAM,GAAMgzB,CAAAA,EAAIhzB,EAAI,EACrCmF,CAAAA,CAAC,CAACoa,CAAM,CAACzY,EAAE,CAAC,CAAG3B,CAAC,CAACrC,EAAE,CACtBkwB,EAAIlsB,EAAI,EAGR9G,EAAI8G,CAEN,CACI3B,CAAC,CAACrC,EAAE,CAAGqC,CAAC,CAACoa,CAAM,CAACyT,EAAE,CAAC,GAClBA,EAAI,GAAGizC,CAAAA,CAAO,CAACnjE,EAAE,CAAGyc,CAAM,CAACyT,EAAI,EAAE,AAAD,EACpCzT,CAAM,CAACyT,EAAE,CAAGlwB,GAKd,IAFAkwB,EAAIzT,EAAO,MAAM,CACjBvf,EAAIuf,CAAM,CAACyT,EAAI,EAAE,CACVA,KAAM,GACZzT,CAAM,CAACyT,EAAE,CAAGhzB,EACZA,EAAIimE,CAAO,CAACjmE,EAAE,CAGf,OADAimE,EAAQ,MAAM,CAAG,EACV1mD,CACR,EApKkCmmD,EAAU,EACtB,MAAM,CAAG,EACpB5iE,EAAIO,EAAKP,GAAKM,EAAON,IACzB9C,EAAIujE,CAAM,CAACzgE,EAAE,CACT4iE,AAAwB,KAAxBA,CAAU,CAAC5iE,EAAEM,EAAM,CAASsgE,EAAW7rC,EAAQ73B,EAAGwjE,EAAOC,EAAI1B,GAE5DwD,CAAU,CAACI,EAAG,GAAK7iE,EAAIM,EAAOuiE,IAC7BL,EAAQztC,EAAQ73B,EAAG+hE,GAEZ,MAAT/hE,EAAE,GAAG,EAAU+hE,CAAAA,EAAcwB,CAAM,CAACzgE,EAAE,CAAC,GAAG,AAAD,OAG9C,IAAKA,EAAIO,EAAKP,GAAKM,EAAON,IACzB9C,EAAIujE,CAAM,CAACzgE,EAAE,CACe,KAAxB4iE,CAAU,CAAC5iE,EAAEM,EAAM,EAASsgE,EAAW7rC,EAAQ73B,EAAGwjE,EAAOC,EAAI1B,GACpD,MAAT/hE,EAAE,GAAG,EAAU+hE,CAAAA,EAAcwB,CAAM,CAACzgE,EAAE,CAAC,GAAG,AAAD,CAIjD,CACD,KA9GqB,CAEpB,IAAIojE,EAAevB,EAAI,MAAM,CAAGpB,EAAO,MAAM,CAAGoB,EAAI,MAAM,CAAGpB,EAAO,MAAM,CAK1E,IADAngE,EAAQA,EAAQ2hE,EAAW3hE,EAAQ2hE,EAC5B3hE,EAAQ8iE,EAAc9iE,IAAS,CAGrC,GAFA6I,EAAI04D,CAAG,CAACvhE,EAAM,CAEV6I,IADJjM,CAAAA,EAAIujE,CAAM,CAACngE,EAAM,AAAD,GACD6I,CAAAA,AAAK,MAALA,GAAajM,AAAK,MAALA,CAAQ,EAC3BiM,AAAK,MAALA,EAAWy3D,EAAW7rC,EAAQ73B,EAAGwjE,EAAOC,EAAI4B,EAAeV,EAAKvhE,EAAQ,EAAG2+D,IAC3E/hE,AAAK,MAALA,EAAWmmE,EAAWtuC,EAAQ5rB,GAClCm5D,EAAWvtC,EAAQ5rB,EAAGjM,EAAGwjE,EAAO6B,EAAeV,EAAKvhE,EAAQ,EAAG2+D,GAAc0B,EACnF,CACIkB,EAAI,MAAM,CAAGuB,GAActB,EAAY/sC,EAAQ8sC,EAAKvhE,EAAOuhE,EAAI,MAAM,EACrEpB,EAAO,MAAM,CAAG2C,GAAc5C,EAAYzrC,EAAQ0rC,EAAQngE,EAAOmgE,EAAO,MAAM,CAAEC,EAAOzB,EAAa0B,EACzG,CA8FD,CACD,CACA,SAAS2B,EAAWvtC,CAAM,CAAE8sC,CAAG,CAAE9F,CAAK,CAAE2E,CAAK,CAAEzB,CAAW,CAAE0B,CAAE,EAC7D,IAAI2C,EAASzB,EAAI,GAAG,CACpB,GAAIyB,IADwBvH,EAAM,GAAG,CACjB,CAGnB,GAFAA,EAAM,KAAK,CAAG8F,EAAI,KAAK,CACvB9F,EAAM,MAAM,CAAG8F,EAAI,MAAM,CACrB0B,AA0dN,SAAyBxH,CAAK,CAAE8F,CAAG,EAClC,EAAG,CACF,GAAI9F,AAAe,MAAfA,EAAM,KAAK,EAAY,AAAsC,YAAtC,OAAOA,EAAM,KAAK,CAAC,cAAc,CAAiB,CAC5E,IAAIyH,EAAQlD,EAAS,IAAI,CAACvE,EAAM,KAAK,CAAC,cAAc,CAAEA,EAAO8F,GAC7D,GAAI2B,AAAUjmE,KAAAA,IAAVimE,GAAuB,CAACA,EAAO,KACpC,CACA,GAAI,AAAqB,UAArB,OAAOzH,EAAM,GAAG,EAAiB,AAAsC,YAAtC,OAAOA,EAAM,KAAK,CAAC,cAAc,CAAiB,CACtF,IAAIyH,EAAQlD,EAAS,IAAI,CAACvE,EAAM,KAAK,CAAC,cAAc,CAAEA,EAAO8F,GAC7D,GAAI2B,AAAUjmE,KAAAA,IAAVimE,GAAuB,CAACA,EAAO,KACpC,CACA,MAAO,EACR,OAAS,GAAO,CAchB,OAbAzH,EAAM,GAAG,CAAG8F,EAAI,GAAG,CACnB9F,EAAM,OAAO,CAAG8F,EAAI,OAAO,CAC3B9F,EAAM,QAAQ,CAAG8F,EAAI,QAAQ,CAQ7B9F,EAAM,KAAK,CAAG8F,EAAI,KAAK,CACvB9F,EAAM,QAAQ,CAAG8F,EAAI,QAAQ,CAC7B9F,EAAM,IAAI,CAAG8F,EAAI,IAAI,CACd,EACR,EApfsB9F,EAAO8F,GAAM,OACjC,GAAI,AAAkB,UAAlB,OAAOyB,EAIV,OAHmB,MAAfvH,EAAM,KAAK,EACd0H,EAAgB1H,EAAM,KAAK,CAAEA,EAAO2E,GAE7B4C,GACP,IAAK,IAAKI,AAad,UAAoB7B,CAAG,CAAE9F,CAAK,EACzB8F,EAAI,QAAQ,CAAC,QAAQ,KAAO9F,EAAM,QAAQ,CAAC,QAAQ,IACtD8F,CAAAA,EAAI,GAAG,CAAC,SAAS,CAAG9F,EAAM,QAAQ,AAAD,EAElCA,EAAM,GAAG,CAAG8F,EAAI,GAAG,AACpB,GAlByBA,EAAK9F,GAAQ,KAClC,KAAK,IAAK4H,AAkBd,UAAoB5uC,CAAM,CAAE8sC,CAAG,CAAE9F,CAAK,CAAE4E,CAAE,CAAE1B,CAAW,EAClD4C,EAAI,QAAQ,GAAK9F,EAAM,QAAQ,EAClC6H,EAAU7uC,EAAQ8sC,EAAKtkE,KAAAA,GACvByjE,EAAWjsC,EAAQgnC,EAAO4E,EAAI1B,KAG9BlD,EAAM,GAAG,CAAG8F,EAAI,GAAG,CACnB9F,EAAM,OAAO,CAAG8F,EAAI,OAAO,CAE7B,GA3ByB9sC,EAAQ8sC,EAAK9F,EAAO4E,EAAI1B,GAAc,KAC3D,KAAK,IAAK4E,AA2Bd,UAAwB9uC,CAAM,CAAE8sC,CAAG,CAAE9F,CAAK,CAAE2E,CAAK,CAAEzB,CAAW,CAAE0B,CAAE,EACjEiB,EAAY7sC,EAAQ8sC,EAAI,QAAQ,CAAE9F,EAAM,QAAQ,CAAE2E,EAAOzB,EAAa0B,GACtE,IAAI5B,EAAU,EAAGp3C,EAAWo0C,EAAM,QAAQ,CAE1C,GADAA,EAAM,GAAG,CAAG,KACRp0C,AAAY,MAAZA,EAAkB,CACrB,IAAK,IAAI3nB,EAAI,EAAGA,EAAI2nB,EAAS,MAAM,CAAE3nB,IAAK,CACzC,IAAIiK,EAAQ0d,CAAQ,CAAC3nB,EAAE,AACV,OAATiK,GAAiBA,AAAa,MAAbA,EAAM,GAAG,GACZ,MAAb8xD,EAAM,GAAG,EAAUA,CAAAA,EAAM,GAAG,CAAG9xD,EAAM,GAAG,AAAD,EAC3C80D,GAAW90D,EAAM,OAAO,EAAI,EAE9B,CACgB,IAAZ80D,GAAehD,CAAAA,EAAM,OAAO,CAAGgD,CAAM,CAC1C,CACD,GAzC6BhqC,EAAQ8sC,EAAK9F,EAAO2E,EAAOzB,EAAa0B,GAAK,KACtE,SAASmD,AAyCb,UAAuBjC,CAAG,CAAE9F,CAAK,CAAE2E,CAAK,CAAEC,CAAE,EAC3C,IAAIvlD,EAAU2gD,EAAM,GAAG,CAAG8F,EAAI,GAAG,CACjClB,EAAKR,EAAapE,IAAU4E,EAE5BoD,AAiSD,SAAqBhI,CAAK,CAAE8F,CAAG,CAAE5qD,CAAK,CAAE0pD,CAAE,MASrC/gE,EALJ,GAHIiiE,GAAOA,IAAQ5qD,GAClBzG,QAAQ,IAAI,CAAC,4FAEVyG,AAAS,MAATA,EACH,IAAK,IAAIpa,KAAOoa,EACfqqD,EAAQvF,EAAOl/D,EAAKglE,GAAOA,CAAG,CAAChlE,EAAI,CAAEoa,CAAK,CAACpa,EAAI,CAAE8jE,GAInD,GAAIkB,AAAO,MAAPA,EACH,IAAK,IAAIhlE,KAAOglE,EACU,MAAnBjiE,CAAAA,EAAMiiE,CAAG,CAAChlE,EAAI,AAAD,GAAgBoa,CAAAA,AAAS,MAATA,GAAiBA,AAAc,MAAdA,CAAK,CAACpa,EAAI,AAAO,IACpEmnE,AA/CJ,SAAoBjI,CAAK,CAAEl/D,CAAG,CAAEglE,CAAG,CAAElB,CAAE,EACtC,IAAI9jE,CAAAA,AAAQ,QAARA,GAAiBA,AAAQ,OAARA,GAAgBglE,AAAO,MAAPA,GAAeoC,EAAkBpnE,EAAG,GACzE,GAAIA,AAAW,MAAXA,CAAG,CAAC,EAAE,EAAYA,AAAW,MAAXA,CAAG,CAAC,EAAE,CAAUqnE,EAAYnI,EAAOl/D,EAAKU,KAAAA,QACzD,GAAIV,AAAQ,UAARA,EAAiBsnE,EAAYpI,EAAM,GAAG,CAAE8F,EAAK,WACjD,GACJuC,CAAAA,EAAerI,EAAOl/D,EAAK8jE,IACxB9jE,AAAQ,cAARA,GACAA,AAAQ,UAARA,GACEA,AAAQ,UAARA,GACJk/D,CAAAA,AAAc,WAAdA,EAAM,GAAG,EACNA,AAAc,WAAdA,EAAM,GAAG,EAAiBA,AAA4B,KAA5BA,EAAM,GAAG,CAAC,aAAa,EAAWA,EAAM,GAAG,GAAKwE,EAAcxE,EAAM,GAAG,IAEhGA,AAAc,UAAdA,EAAM,GAAG,EAAgBl/D,AAAQ,SAARA,EAGxB,CACN,IAAIwnE,EAAcxnE,EAAI,OAAO,CAAC,IACV,MAAhBwnE,GAAoBxnE,CAAAA,EAAMA,EAAI,KAAK,CAACwnE,EAAc,EAAC,EAC3C,KAARxC,GAAe9F,EAAM,GAAG,CAAC,eAAe,CAACl/D,AAAQ,cAARA,EAAsB,QAAUA,EAC9E,MALCk/D,EAAM,GAAG,CAACl/D,EAAI,CAAG,KAMnB,EA2Bek/D,EAAOl/D,EAAK+C,EAAK+gE,EAIhC,EAlTa5E,EAAO8F,EAAI,KAAK,CAAE9F,EAAM,KAAK,CAAE4E,GACvC,CAACY,EAAwBxF,IAC5B6F,EAAYxmD,EAASymD,EAAI,QAAQ,CAAE9F,EAAM,QAAQ,CAAE2E,EAAO,KAAMC,EAElE,GAjD2BkB,EAAK9F,EAAO2E,EAAOC,EAC3C,KAEI2D,AA+CP,UAAyBvvC,CAAM,CAAE8sC,CAAG,CAAE9F,CAAK,CAAE2E,CAAK,CAAEzB,CAAW,CAAE0B,CAAE,EAElE,GADA5E,EAAM,QAAQ,CAAG1B,EAAM,SAAS,CAACiG,EAAS,IAAI,CAACvE,EAAM,KAAK,CAAC,IAAI,CAAEA,IAC7DA,EAAM,QAAQ,GAAKA,EAAO,MAAMr9D,MAAM,0DAC1C+kE,EAAgB1H,EAAM,KAAK,CAAEA,EAAO2E,GACjB,MAAf3E,EAAM,KAAK,EAAU0H,EAAgB1H,EAAM,KAAK,CAAEA,EAAO2E,GACzD3E,AAAkB,MAAlBA,EAAM,QAAQ,EACb8F,AAAgB,MAAhBA,EAAI,QAAQ,CAAUjB,EAAW7rC,EAAQgnC,EAAM,QAAQ,CAAE2E,EAAOC,EAAI1B,GACnEqD,EAAWvtC,EAAQ8sC,EAAI,QAAQ,CAAE9F,EAAM,QAAQ,CAAE2E,EAAOzB,EAAa0B,GAC1E5E,EAAM,GAAG,CAAGA,EAAM,QAAQ,CAAC,GAAG,CAC9BA,EAAM,OAAO,CAAGA,EAAM,QAAQ,CAAC,OAAO,EAE9B8F,AAAgB,MAAhBA,EAAI,QAAQ,EACpBwB,EAAWtuC,EAAQ8sC,EAAI,QAAQ,EAC/B9F,EAAM,GAAG,CAAGx+D,KAAAA,EACZw+D,EAAM,OAAO,CAAG,IAGhBA,EAAM,GAAG,CAAG8F,EAAI,GAAG,CACnB9F,EAAM,OAAO,CAAG8F,EAAI,OAAO,CAE7B,GAnEuB9sC,EAAQ8sC,EAAK9F,EAAO2E,EAAOzB,EAAa0B,EAC9D,MAEC0C,EAAWtuC,EAAQ8sC,GACnBjB,EAAW7rC,EAAQgnC,EAAO2E,EAAOC,EAAI1B,EAEvC,CA8EA,IAAIkE,EAAU,EAAE,CA0ChB,SAASZ,EAAe9B,CAAM,CAAEzgE,CAAC,CAAEi/D,CAAW,EAC7C,KAAOj/D,EAAIygE,EAAO,MAAM,CAAEzgE,IACzB,GAAIygE,AAAa,MAAbA,CAAM,CAACzgE,EAAE,EAAYygE,AAAiB,MAAjBA,CAAM,CAACzgE,EAAE,CAAC,GAAG,CAAU,OAAOygE,CAAM,CAACzgE,EAAE,CAAC,GAAG,CAErE,OAAOi/D,CACR,CAGA,SAASuD,EAAQztC,CAAM,CAAEgnC,CAAK,CAAEkD,CAAW,EAC1C,GAAIlD,AAAa,MAAbA,EAAM,GAAG,CAAU,CACtB,IAAIl5D,EACJ,GAAIk5D,AAAiB,MAAjBA,EAAM,OAAO,CAEhBl5D,EAASk5D,EAAM,GAAG,MAGlB,IAAK,IAAI+C,KADTj8D,EAASq9D,EAAYnrC,GAAQ,sBAAsB,GACnCkoC,EAAOlB,IAAQl5D,EAAO,WAAW,CAACi8D,GAEnDiC,EAAUhsC,EAAQlyB,EAAQo8D,EAC3B,CACD,CAEA,SAAS8B,EAAUhsC,CAAM,CAAE+pC,CAAG,CAAEG,CAAW,EACtCA,AAAe,MAAfA,EAAqBlqC,EAAO,YAAY,CAAC+pC,EAAKG,GAC7ClqC,EAAO,WAAW,CAAC+pC,EACzB,CAEA,SAASyC,EAAwBxF,CAAK,EACrC,GAAIA,AAAe,MAAfA,EAAM,KAAK,EACdA,AAA+B,MAA/BA,EAAM,KAAK,CAAC,eAAe,EAC3BA,AAA+B,MAA/BA,EAAM,KAAK,CAAC,eAAe,CACzB,MAAO,GACV,IAAIp0C,EAAWo0C,EAAM,QAAQ,CAC7B,GAAIp0C,AAAY,MAAZA,GAAoBA,AAAoB,IAApBA,EAAS,MAAM,EAAUA,AAAoB,MAApBA,CAAQ,CAAC,EAAE,CAAC,GAAG,CAAU,CACzE,IAAI4vB,EAAU5vB,CAAQ,CAAC,EAAE,CAAC,QAAQ,AAC9Bo0C,CAAAA,EAAM,GAAG,CAAC,SAAS,GAAKxkB,GAASwkB,CAAAA,EAAM,GAAG,CAAC,SAAS,CAAGxkB,CAAM,CAClE,MACK,GAAI5vB,AAAY,MAAZA,GAAoBA,AAAoB,IAApBA,EAAS,MAAM,CAAQ,MAAM,AAAIjpB,MAAM,oDACpE,MAAO,EACR,CAGA,SAASojE,EAAY/sC,CAAM,CAAE0rC,CAAM,CAAEngE,CAAK,CAAEC,CAAG,EAC9C,IAAK,IAAIP,EAAIM,EAAON,EAAIO,EAAKP,IAAK,CACjC,IAAI+7D,EAAQ0E,CAAM,CAACzgE,EAAE,AACR,OAAT+7D,GAAesH,EAAWtuC,EAAQgnC,EACvC,CACD,CACA,SAASsH,EAAWtuC,CAAM,CAAEgnC,CAAK,EAChC,IAEIwI,EAAaC,EAiBbxF,EAnBAt6B,EAAO,EACP27B,EAAWtE,EAAM,KAAK,CAE1B,GAAI,AAAqB,UAArB,OAAOA,EAAM,GAAG,EAAiB,AAAsC,YAAtC,OAAOA,EAAM,KAAK,CAAC,cAAc,CAAiB,CACtF,IAAIt/C,EAAS6jD,EAAS,IAAI,CAACvE,EAAM,KAAK,CAAC,cAAc,CAAEA,EACzC,OAAVt/C,GAAkB,AAAuB,YAAvB,OAAOA,EAAO,IAAI,GACvCioB,EAAO,EACP6/B,EAAc9nD,EAEhB,CACA,GAAIs/C,EAAM,KAAK,EAAI,AAAsC,YAAtC,OAAOA,EAAM,KAAK,CAAC,cAAc,CAAiB,CACpE,IAAIt/C,EAAS6jD,EAAS,IAAI,CAACvE,EAAM,KAAK,CAAC,cAAc,CAAEA,EACzC,OAAVt/C,GAAkB,AAAuB,YAAvB,OAAOA,EAAO,IAAI,GAEvCioB,GAAQ,EACR8/B,EAAc/nD,EAEhB,CAIA,GAHA2jD,EAAWrE,EAAOsE,GAGb37B,EAGE,CAEN,IAAK,IAAIo6B,KADTE,EAAae,EACG9C,EAAOlB,IAAQ8C,EAAe,GAAG,CAACC,EAAKE,EACpC,OAAfuF,GACHA,EAAY,OAAO,CAAC,WAER,EAAP7/B,GAGC,CADJA,CAAAA,GAAQ,KAEP07B,EAAWrE,EAAOsE,GAClBoE,EAAS1I,GACT6H,EAAU7uC,EAAQgnC,EAAOiD,GAG5B,GAEkB,MAAfwF,GACHA,EAAY,OAAO,CAAC,WAER,EAAP9/B,GAGC,CADJA,CAAAA,GAAQ,KAEP07B,EAAWrE,EAAOsE,GAClBoE,EAAS1I,GACT6H,EAAU7uC,EAAQgnC,EAAOiD,GAG5B,EAEF,MAjCCyF,EAAS1I,GACT6H,EAAU7uC,EAAQgnC,EAAOiD,EAiC3B,CACA,SAAS4E,EAAU7uC,CAAM,CAAEgnC,CAAK,CAAEiD,CAAU,EAC3C,GAAIjD,AAAa,MAAbA,EAAM,GAAG,EACb,GAAIA,AAAiB,MAAjBA,EAAM,OAAO,CAEZ8C,EAAe,GAAG,CAAC9C,EAAM,GAAG,IAAMiD,GAAYjqC,EAAO,WAAW,CAACgnC,EAAM,GAAG,OAE9E,IAAK,IAAI+C,KAAO7B,EAAOlB,EAAO,CAACiD,WAAAA,CAAU,GAAIjqC,EAAO,WAAW,CAAC+pC,GAElE,CAEA,SAAS2F,EAAS1I,CAAK,EAGtB,GAFyB,UAArB,OAAOA,EAAM,GAAG,EAAiB,AAAgC,YAAhC,OAAOA,EAAM,KAAK,CAAC,QAAQ,EAAiBuE,EAAS,IAAI,CAACvE,EAAM,KAAK,CAAC,QAAQ,CAAEA,GACjHA,EAAM,KAAK,EAAI,AAAgC,YAAhC,OAAOA,EAAM,KAAK,CAAC,QAAQ,EAAiBuE,EAAS,IAAI,CAACvE,EAAM,KAAK,CAAC,QAAQ,CAAEA,GAC/F,AAAqB,UAArB,OAAOA,EAAM,GAAG,CACG,MAAlBA,EAAM,QAAQ,EAAU0I,EAAS1I,EAAM,QAAQ,MAC7C,CACN,IAAIp0C,EAAWo0C,EAAM,QAAQ,CAC7B,GAAI33D,MAAM,OAAO,CAACujB,GACjB,IAAK,IAAI3nB,EAAI,EAAGA,EAAI2nB,EAAS,MAAM,CAAE3nB,IAAK,CACzC,IAAIiK,EAAQ0d,CAAQ,CAAC3nB,EAAE,AACV,OAATiK,GAAew6D,EAASx6D,EAC7B,CAEF,CACD,CAQA,SAASq3D,EAAQvF,CAAK,CAAEl/D,CAAG,CAAEglE,CAAG,CAAErkE,CAAK,CAAEmjE,CAAE,EAC1C,GAAI9jE,CAAAA,CAAAA,AAAQ,QAARA,GAAiBA,AAAQ,OAARA,GAAgBW,AAAS,MAATA,GAAiBymE,EAAkBpnE,EAAG,GAAK,CAACglE,IAAQrkE,GAAUknE,AAoFpG,SAAyB3I,CAAK,CAAE/5C,CAAI,EACnC,MAAOA,AAAS,UAATA,GAAoBA,AAAS,YAATA,GAAsBA,AAAS,kBAATA,GAA4BA,AAAS,aAATA,GAAuB+5C,EAAM,GAAG,GAAKwE,EAAcxE,EAAM,GAAG,GAAKA,AAAc,WAAdA,EAAM,GAAG,EAAiBA,EAAM,GAAG,CAAC,UAAU,GAAKwE,EAAcxE,EAAM,GAAG,CACzN,EAtFoHA,EAAOl/D,IAAS,AAAiB,UAAjB,OAAOW,CAAiB,GAC3J,GAAIX,AAAW,MAAXA,CAAG,CAAC,EAAE,EAAYA,AAAW,MAAXA,CAAG,CAAC,EAAE,CAAU,OAAOqnE,EAAYnI,EAAOl/D,EAAKW,GACrE,GAAIX,AAAoB,WAApBA,EAAI,KAAK,CAAC,EAAG,GAAiBk/D,EAAM,GAAG,CAAC,cAAc,CAAC,+BAAgCl/D,EAAI,KAAK,CAAC,GAAIW,QACpG,GAAIX,AAAQ,UAARA,EAAiBsnE,EAAYpI,EAAM,GAAG,CAAE8F,EAAKrkE,QACjD,GAAI4mE,EAAerI,EAAOl/D,EAAK8jE,GAAK,CACxC,GAAI9jE,AAAQ,UAARA,EAAiB,CAGpB,IAAI8nE,EAAc5I,AAAc,UAAdA,EAAM,GAAG,EAAgBA,AAAqB,SAArBA,EAAM,KAAK,CAAC,IAAI,CAG3D,GAAKA,CAAAA,AAAc,UAAdA,EAAM,GAAG,EAAgBA,AAAc,aAAdA,EAAM,GAAG,AAAc,GAAMA,EAAM,GAAG,CAAC,KAAK,GAAK,GAAKv+D,GAAUmnE,CAAAA,GAAe5I,EAAM,GAAG,GAAKwE,EAAcxE,EAAM,GAAG,IAE9IA,AAAc,WAAdA,EAAM,GAAG,EAAiB8F,AAAQ,OAARA,GAAgB9F,EAAM,GAAG,CAAC,KAAK,GAAK,GAAKv+D,GAEnEu+D,AAAc,WAAdA,EAAM,GAAG,EAAiB8F,AAAQ,OAARA,GAAgB9F,EAAM,GAAG,CAAC,KAAK,GAAK,GAAKv+D,EAJ+E,OAOtJ,GAAImnE,GAAe,GAAKnnE,GAAU,GAAI,CAAEgT,QAAQ,KAAK,CAAC,wCAAyC,MAAO,CAEvG,CAEIurD,AAAc,UAAdA,EAAM,GAAG,EAAgBl/D,AAAQ,SAARA,EAAgBk/D,EAAM,GAAG,CAAC,YAAY,CAACl/D,EAAKW,GACpEu+D,EAAM,GAAG,CAACl/D,EAAI,CAAGW,CACvB,KACK,AAAiB,WAAjB,OAAOA,EACNA,EAAOu+D,EAAM,GAAG,CAAC,YAAY,CAACl/D,EAAK,IAClCk/D,EAAM,GAAG,CAAC,eAAe,CAACl/D,GAE3Bk/D,EAAM,GAAG,CAAC,YAAY,CAACl/D,AAAQ,cAARA,EAAsB,QAAUA,EAAKW,GAEnE,CAwDA,SAASymE,EAAkBjiD,CAAI,EAC9B,MAAOA,AAAS,WAATA,GAAqBA,AAAS,aAATA,GAAuBA,AAAS,aAATA,GAAuBA,AAAS,aAATA,GAAuBA,AAAS,mBAATA,GAA6BA,AAAS,mBAATA,CAC/H,CACA,SAASoiD,EAAerI,CAAK,CAAEl/D,CAAG,CAAE8jE,CAAE,EAErC,OAAOA,AAAOpjE,KAAAA,IAAPojE,GAEN5E,CAAAA,EAAM,GAAG,CAAC,OAAO,CAAC,KAAO,IAAMA,AAAe,MAAfA,EAAM,KAAK,EAAYA,EAAM,KAAK,CAAC,EAAE,EAEpEl/D,AAAQ,SAARA,GAAkBA,AAAQ,SAARA,GAAkBA,AAAQ,SAARA,GAAkBA,AAAQ,UAARA,GAAmBA,AAAQ,WAARA,CAAe,GAEpFA,KAAOk/D,EAAM,GAAG,AACtB,CAGA,SAASoI,EAAY/oD,CAAO,CAAEymD,CAAG,CAAEhzD,CAAK,EACvC,GAAIgzD,IAAQhzD,QAEL,GAAIA,AAAS,MAATA,EAEVuM,EAAQ,KAAK,CAAG,QACV,GAAI,AAAiB,UAAjB,OAAOvM,EAEjBuM,EAAQ,KAAK,CAAGvM,OACV,GAAIgzD,AAAO,MAAPA,GAAe,AAAe,UAAf,OAAOA,EAIhC,IAAK,IAAIhlE,KAFTue,EAAQ,KAAK,CAAC,OAAO,CAAG,GAERvM,EAAO,CACtB,IAAIrR,EAAQqR,CAAK,CAAChS,EAAI,AACT,OAATW,IACCX,EAAI,QAAQ,CAAC,KAAMue,EAAQ,KAAK,CAAC,WAAW,CAACve,EAAKoE,OAAOzD,IACxD4d,EAAQ,KAAK,CAACve,EAAI,CAAGoE,OAAOzD,GAEnC,KACM,CAGN,IAAK,IAAIX,KAAOgS,EAAO,CACtB,IAAIrR,EAAQqR,CAAK,CAAChS,EAAI,AACT,OAATW,GAAiB,AAACA,CAAAA,EAAQyD,OAAOzD,EAAK,IAAOyD,OAAO4gE,CAAG,CAAChlE,EAAI,IAC3DA,EAAI,QAAQ,CAAC,KAAMue,EAAQ,KAAK,CAAC,WAAW,CAACve,EAAKW,GACjD4d,EAAQ,KAAK,CAACve,EAAI,CAAGW,EAE5B,CAEA,IAAK,IAAIX,KAAOglE,EACC,MAAZA,CAAG,CAAChlE,EAAI,EAAYgS,AAAc,MAAdA,CAAK,CAAChS,EAAI,GAC7BA,EAAI,QAAQ,CAAC,KAAMue,EAAQ,KAAK,CAAC,cAAc,CAACve,GAC/Cue,EAAQ,KAAK,CAACve,EAAI,CAAG,GAG7B,CACD,CAaA,SAAS+nE,IAER,IAAI,CAAC,CAAC,CAAG9E,CACV,CAeA,SAASoE,EAAYnI,CAAK,CAAEl/D,CAAG,CAAEW,CAAK,EACjCu+D,AAAgB,MAAhBA,EAAM,MAAM,EACfA,EAAM,MAAM,CAAC,CAAC,CAAG+D,EACb/D,EAAM,MAAM,CAACl/D,EAAI,GAAKW,IACtBA,AAAS,MAATA,GAAkB,CAAiB,YAAjB,OAAOA,GAAwB,AAAiB,UAAjB,OAAOA,CAAiB,GACnD,MAArBu+D,EAAM,MAAM,CAACl/D,EAAI,EAAUk/D,EAAM,GAAG,CAAC,gBAAgB,CAACl/D,EAAI,KAAK,CAAC,GAAIk/D,EAAM,MAAM,CAAE,IACtFA,EAAM,MAAM,CAACl/D,EAAI,CAAGW,IAEK,MAArBu+D,EAAM,MAAM,CAACl/D,EAAI,EAAUk/D,EAAM,GAAG,CAAC,mBAAmB,CAACl/D,EAAI,KAAK,CAAC,GAAIk/D,EAAM,MAAM,CAAE,IACzFA,EAAM,MAAM,CAACl/D,EAAI,CAAGU,KAAAA,KAEF,MAATC,GAAkB,CAAiB,YAAjB,OAAOA,GAAwB,AAAiB,UAAjB,OAAOA,CAAiB,IACnFu+D,EAAM,MAAM,CAAG,IAAI6I,EACnB7I,EAAM,GAAG,CAAC,gBAAgB,CAACl/D,EAAI,KAAK,CAAC,GAAIk/D,EAAM,MAAM,CAAE,IACvDA,EAAM,MAAM,CAACl/D,EAAI,CAAGW,EAEtB,CAGA,SAASqjE,EAAc/jD,CAAM,CAAEi/C,CAAK,CAAE2E,CAAK,EACb,YAAzB,OAAO5jD,EAAO,MAAM,EAAiBwjD,EAAS,IAAI,CAACxjD,EAAO,MAAM,CAAEi/C,GACvC,YAA3B,OAAOj/C,EAAO,QAAQ,EAAiB4jD,EAAM,IAAI,CAACJ,EAAS,IAAI,CAACxjD,EAAO,QAAQ,CAAEi/C,GACtF,CACA,SAAS0H,EAAgB3mD,CAAM,CAAEi/C,CAAK,CAAE2E,CAAK,EACb,YAA3B,OAAO5jD,EAAO,QAAQ,EAAiB4jD,EAAM,IAAI,CAACJ,EAAS,IAAI,CAACxjD,EAAO,QAAQ,CAAEi/C,GACtF,QAvCA6I,EAAU,SAAS,CAAG9oE,OAAO,MAAM,CAAC,MACpC8oE,EAAU,SAAS,CAAC,WAAW,CAAG,SAAU/kD,CAAE,EAC7C,IACIpD,EADAnL,EAAU,IAAI,CAAC,KAAOuO,EAAG,IAAI,CAAC,AAE9B,AAAmB,aAAnB,OAAOvO,EAAwBmL,EAASnL,EAAQ,IAAI,CAACuO,EAAG,aAAa,CAAEA,GACnC,YAA/B,OAAOvO,EAAQ,WAAW,EAAiBA,EAAQ,WAAW,CAACuO,GACpE,IAAI,CAAC,CAAC,EAAIA,AAAc,KAAdA,EAAG,MAAM,EAAY,AAAC,GAAG,IAAI,CAAC,CAAC,AAAD,IAC7B,KAAXpD,IACHoD,EAAG,cAAc,GACjBA,EAAG,eAAe,GAEpB,EA2DO,SAASi/C,CAAG,CAAE2B,CAAM,CAAE/F,CAAM,EAClC,GAAI,CAACoE,EAAK,MAAM,AAAIjgE,UAAU,iDAC9B,GAAImhE,AAAc,MAAdA,GAAsBlB,EAAI,QAAQ,CAACkB,GACtC,MAAM,AAAInhE,UAAU,2DAErB,IAAIgmE,EAAa/E,EACbgF,EAAU9E,EACVU,EAAQ,EAAE,CACVqE,EAASxE,EAAczB,GACvBkG,EAAYlG,EAAI,YAAY,CAEhCkB,EAAalB,EACbgB,EAAgB,AAAkB,YAAlB,OAAOpF,EAAwBA,EAASn9D,KAAAA,EACxDwiE,EAAgB,CAAC,EACjB,GAAI,CAEe,MAAdjB,EAAI,MAAM,EAAUA,CAAAA,EAAI,WAAW,CAAG,EAAC,EAC3C2B,EAASpG,EAAM,iBAAiB,CAACj2D,MAAM,OAAO,CAACq8D,GAAUA,EAAS,CAACA,EAAO,EAC1EmB,EAAY9C,EAAKA,EAAI,MAAM,CAAE2B,EAAQC,EAAO,KAAMsE,AAAc,iCAAdA,EAA+CznE,KAAAA,EAAYynE,GAC7GlG,EAAI,MAAM,CAAG2B,EAEC,MAAVsE,GAAkBxE,EAAczB,KAASiG,GAAU,AAAwB,YAAxB,OAAOA,EAAO,KAAK,EAAiBA,EAAO,KAAK,GACvG,IAAK,IAAI/kE,EAAI,EAAGA,EAAI0gE,EAAM,MAAM,CAAE1gE,IAAK0gE,CAAK,CAAC1gE,EAAE,EAChD,QAAU,CACT8/D,EAAgB+E,EAChB7E,EAAa8E,CACd,CACD,CACD,C,oCCn6BA,IAAIzK,EAAQ,EAAQ,KAEpB3+D,CAAAA,EAAO,OAAO,CAAG,SAAS69B,CAAI,EAE7B,OADY,MAARA,GAAcA,CAAAA,EAAO,EAAC,EACnB8gC,EAAM,IAAK98D,KAAAA,EAAWA,KAAAA,EAAWg8B,EAAMh8B,KAAAA,EAAWA,KAAAA,EAC1D,C,gCCLA,SAAS88D,EAAMrlC,CAAG,CAAEn4B,CAAG,CAAEoa,CAAK,CAAE0Q,CAAQ,CAAEhZ,CAAI,CAAEmwD,CAAG,EAClD,MAAO,CAAC,IAAK9pC,EAAK,IAAKn4B,EAAK,MAAOoa,EAAO,SAAU0Q,EAAU,KAAMhZ,EAAM,IAAKmwD,EAAK,QAASvhE,KAAAA,EAAW,MAAOA,KAAAA,EAAW,OAAQA,KAAAA,EAAW,SAAUA,KAAAA,CAAS,CACjK,CACA88D,EAAM,SAAS,CAAG,SAAS4K,CAAI,SAC9B,AAAI7gE,MAAM,OAAO,CAAC6gE,GAAc5K,EAAM,IAAK98D,KAAAA,EAAWA,KAAAA,EAAW88D,EAAM,iBAAiB,CAAC4K,GAAO1nE,KAAAA,EAAWA,KAAAA,GACvG0nE,AAAQ,MAARA,GAAgB,AAAgB,WAAhB,OAAOA,EAA2B,KAClD,AAAgB,UAAhB,OAAOA,EAA0BA,EAC9B5K,EAAM,IAAK98D,KAAAA,EAAWA,KAAAA,EAAW0D,OAAOgkE,GAAO1nE,KAAAA,EAAWA,KAAAA,EAClE,EACA88D,EAAM,iBAAiB,CAAG,SAAShf,CAAK,EACvC,IAAI1zB,EAAW,EAAE,CACjB,GAAI0zB,EAAM,MAAM,CAAE,CAKjB,IAAK,IAJD2mB,EAAU3mB,AAAY,MAAZA,CAAK,CAAC,EAAE,EAAYA,AAAgB,MAAhBA,CAAK,CAAC,EAAE,CAAC,GAAG,CAIrCr7C,EAAI,EAAGA,EAAIq7C,EAAM,MAAM,CAAEr7C,IACjC,GAAI,AAACq7C,CAAAA,AAAY,MAAZA,CAAK,CAACr7C,EAAE,EAAYq7C,AAAgB,MAAhBA,CAAK,CAACr7C,EAAE,CAAC,GAAG,AAAO,IAAOgiE,EAClD,MAAM,AAAInjE,UACTmjE,GAAY3mB,CAAAA,AAAY,MAAZA,CAAK,CAACr7C,EAAE,EAAY,AAAoB,WAApB,OAAOq7C,CAAK,CAACr7C,EAAE,AAAa,EACzD,gLACA,qEAIN,IAAK,IAAIA,EAAI,EAAGA,EAAIq7C,EAAM,MAAM,CAAEr7C,IACjC2nB,CAAQ,CAAC3nB,EAAE,CAAGq6D,EAAM,SAAS,CAAChf,CAAK,CAACr7C,EAAE,CAExC,CACA,OAAO2nB,CACR,EAEAjsB,EAAO,OAAO,CAAG2+D,C,oCChCjB,IAAIc,EAAc,EAAQ,KAE1Bz/D,CAAAA,EAAO,OAAO,CAAG,EAAQ,KAAqB,AAAkB,aAAlB,OAAOc,OAAyBA,OAAS,KAAM2+D,EAAY,MAAM,C,mCCF/G,IAAIR,EAAgB,EAAQ,MACxBwE,EAAS,EAAQ,KAErBzjE,CAAAA,EAAO,OAAO,CAAG,SAASw/D,CAAO,CAAEgK,CAAY,EAC9C,SAASC,EAAaC,CAAQ,EAC7B,OAAO,IAAIh1C,QAAQg1C,EACpB,CAmJA,SAASC,EAAUt8D,CAAI,CAAEnN,CAAI,EAC5B,IAAK,IAAIiB,KAAOkM,EAAK,OAAO,CAC3B,GAAIo2D,EAAO,IAAI,CAACp2D,EAAK,OAAO,CAAElM,IAAQA,EAAI,WAAW,KAAOjB,EAAM,MAAO,GAE1E,MAAO,EACR,CAEA,OAVAupE,EAAa,SAAS,CAAG/0C,QAAQ,SAAS,CAC1C+0C,EAAa,SAAS,CAAG/0C,QASlB,CACN,QAAS,SAASiuC,CAAG,CAAEt1D,CAAI,EACtB,AAAe,UAAf,OAAOs1D,GAAoBt1D,EAAOs1D,EAAKA,EAAMA,EAAI,GAAG,EACvC,MAARt1D,GAAcA,CAAAA,EAAO,CAAC,GAC/B,IA5JmBs1D,EAAKt1D,EA4JpBu8D,GA5JejH,EA4JOA,EA5JFt1D,EA4JOA,EA3JzB,IAAIqnB,QAAQ,SAAS+oB,CAAO,CAAEC,CAAM,EAC1CilB,EAAM1D,EAAc0D,EAAKt1D,EAAK,MAAM,EACpC,IAAI5L,EAAS4L,AAAe,MAAfA,EAAK,MAAM,CAAWA,EAAK,MAAM,CAAC,WAAW,GAAK,MAC3Dw8D,EAAOx8D,EAAK,IAAI,CAChBy8D,EAAa,AAACz8D,CAAAA,AAAkB,MAAlBA,EAAK,SAAS,EAAYA,EAAK,SAAS,GAAK+tB,KAAK,SAAS,AAAD,GAAM,CAAEyuC,CAAAA,aAAgBrK,EAAQ,QAAQ,EAAIqK,aAAgBrK,EAAQ,eAAe,AAAD,EAC1JuK,EAAe18D,EAAK,YAAY,EAAK,CAAwB,YAAxB,OAAOA,EAAK,OAAO,CAAkB,GAAK,MAAK,EAEpF28D,EAAM,IAAIxK,EAAQ,cAAc,CAAIyK,EAAU,GAAOC,EAAY,GACjDC,EAAhBxF,EAAWqF,EACXI,EAAQJ,EAAI,KAAK,CAmBrB,IAAK,IAAI7oE,KAjBT6oE,EAAI,KAAK,CAAG,WACXC,EAAU,GACVG,EAAM,IAAI,CAAC,IAAI,CAChB,EAEAJ,EAAI,IAAI,CAACvoE,EAAQkhE,EAAKt1D,AAAe,KAAfA,EAAK,KAAK,CAAY,AAAqB,UAArB,OAAOA,EAAK,IAAI,CAAgBA,EAAK,IAAI,CAAGxL,KAAAA,EAAW,AAAyB,UAAzB,OAAOwL,EAAK,QAAQ,CAAgBA,EAAK,QAAQ,CAAGxL,KAAAA,GAEnJioE,GAAcD,AAAQ,MAARA,GAAgB,CAACF,EAAUt8D,EAAM,iBAClD28D,EAAI,gBAAgB,CAAC,eAAgB,mCAEN,YAA5B,OAAO38D,EAAK,WAAW,EAAmB,CAACs8D,EAAUt8D,EAAM,WAC9D28D,EAAI,gBAAgB,CAAC,SAAU,4BAE5B38D,EAAK,eAAe,EAAE28D,CAAAA,EAAI,eAAe,CAAG38D,EAAK,eAAe,AAAD,EAC/DA,EAAK,OAAO,EAAE28D,CAAAA,EAAI,OAAO,CAAG38D,EAAK,OAAO,AAAD,EAC3C28D,EAAI,YAAY,CAAGD,EAEH18D,EAAK,OAAO,CACvBo2D,EAAO,IAAI,CAACp2D,EAAK,OAAO,CAAElM,IAC7B6oE,EAAI,gBAAgB,CAAC7oE,EAAKkM,EAAK,OAAO,CAAClM,EAAI,CAI7C6oE,CAAAA,EAAI,kBAAkB,CAAG,SAAS7lD,CAAE,EAEnC,IAAI8lD,GAEA9lD,AAAyB,IAAzBA,EAAG,MAAM,CAAC,UAAU,CACvB,GAAI,CACH,IAMmCyW,EAN/ByvC,EAAU,AAAClmD,EAAG,MAAM,CAAC,MAAM,EAAI,KAAOA,EAAG,MAAM,CAAC,MAAM,CAAG,KAAQA,AAAqB,MAArBA,EAAG,MAAM,CAAC,MAAM,EAAY,AAAC,cAAe,IAAI,CAACw+C,GAMlH2H,EAAWnmD,EAAG,MAAM,CAAC,QAAQ,CAEjC,GAAI4lD,AAAiB,SAAjBA,EAGH,IAAI,CAAC5lD,EAAG,MAAM,CAAC,YAAY,EAAI,AAAwB,YAAxB,OAAO9W,EAAK,OAAO,CAEjD,GAAI,CAAEi9D,EAAWlvC,KAAK,KAAK,CAACjX,EAAG,MAAM,CAAC,YAAY,CAAE,CACpD,MAAOtjB,EAAG,CAAEypE,EAAW,IAAK,CAC7B,KACU,EAACP,GAAgBA,AAAiB,SAAjBA,CAAsB,GAMjC,MAAZO,GAAkBA,CAAAA,EAAWnmD,EAAG,MAAM,CAAC,YAAY,AAAD,EAUvD,GAPI,AAAwB,YAAxB,OAAO9W,EAAK,OAAO,EACtBi9D,EAAWj9D,EAAK,OAAO,CAAC8W,EAAG,MAAM,CAAE9W,GACnCg9D,EAAU,IAC4B,YAA5B,OAAOh9D,EAAK,WAAW,EACjCi9D,CAAAA,EAAWj9D,EAAK,WAAW,CAACi9D,EAAQ,EAGjCD,EAAS,CACZ,GAAI,AAAqB,YAArB,OAAOh9D,EAAK,IAAI,EACnB,GAAI3E,MAAM,OAAO,CAAC4hE,GACjB,IAAK,IAAIhmE,EAAI,EAAGA,EAAIgmE,EAAS,MAAM,CAAEhmE,IACpCgmE,CAAQ,CAAChmE,EAAE,CAAG,IAAI+I,EAAK,IAAI,CAACi9D,CAAQ,CAAChmE,EAAE,OAGpCgmE,EAAW,IAAIj9D,EAAK,IAAI,CAACi9D,GAE/B7sB,EAAQ6sB,EACT,KACK,CACJ,IAAIC,EAAwB,WAC3B,GAAI,CAAE3vC,EAAUzW,EAAG,MAAM,CAAC,YAAY,AAAC,CACvC,MAAOtjB,EAAG,CAAE+5B,EAAU0vC,CAAS,CAC/B,IAAI3pD,EAAQ,AAAI3d,MAAM43B,EACtBja,CAAAA,EAAM,IAAI,CAAGwD,EAAG,MAAM,CAAC,MAAM,CAC7BxD,EAAM,QAAQ,CAAG2pD,EACjB5sB,EAAO/8B,EACR,CAEIqpD,AAAe,KAAfA,EAAI,MAAM,CAKbv9D,WAAW,YACNy9D,GACJK,GACD,GACMA,GACR,CACD,CACA,MAAO1pE,EAAG,CACT68C,EAAO78C,EACR,CAEF,EAEAmpE,EAAI,SAAS,CAAG,SAAU7lD,CAAE,EAC3B+lD,EAAY,GACZ,IAAIvpD,EAAQ,AAAI3d,MAAM,oBACtB2d,CAAAA,EAAM,IAAI,CAAGwD,EAAG,MAAM,CAAC,MAAM,CAC7Bu5B,EAAO/8B,EACR,EAE2B,YAAvB,OAAOtT,EAAK,MAAM,EACrB28D,CAAAA,EAAM38D,EAAK,MAAM,CAAC28D,EAAK38D,EAAMs1D,IAAQqH,CAAE,IAG3BrF,IACXwF,EAAgBH,EAAI,KAAK,CACzBA,EAAI,KAAK,CAAG,WACXC,EAAU,GACVE,EAAc,IAAI,CAAC,IAAI,CACxB,GAIEN,AAAQ,MAARA,EAAcG,EAAI,IAAI,GACjB,AAA0B,YAA1B,OAAO38D,EAAK,SAAS,CAAiB28D,EAAI,IAAI,CAAC38D,EAAK,SAAS,CAACw8D,IAC9DA,aAAgBrK,EAAQ,QAAQ,EAAIqK,aAAgBrK,EAAQ,eAAe,CAAEwK,EAAI,IAAI,CAACH,GAC1FG,EAAI,IAAI,CAAC5uC,KAAK,SAAS,CAACyuC,GAC9B,IAqBC,GAAIx8D,AAAoB,KAApBA,EAAK,UAAU,CAAW,OAAOu8D,EACrC,IAAIjxD,EAAQ,EACZ,SAAS6xD,IACQ,GAAZ,EAAE7xD,GAAe,AAAwB,YAAxB,OAAO6wD,GAA6BA,GAC1D,CAEA,OAAOiB,AAEP,SAASA,EAAKb,CAAO,EACpB,IAAIc,EAAOd,EAAQ,IAAI,CAkBvB,OAVAA,EAAQ,WAAW,CAAGH,EACtBG,EAAQ,IAAI,CAAG,WACdjxD,IACA,IAAIylD,EAAOsM,EAAK,KAAK,CAACd,EAAS5iE,WAK/B,OAJAo3D,EAAK,IAAI,CAACoM,EAAU,SAAS3pE,CAAC,EAE7B,GADA2pE,IACI7xD,AAAU,IAAVA,EAAa,MAAM9X,CACxB,GACO4pE,EAAKrM,EACb,EACOwL,CACR,EAtBYA,EAuBb,CACD,CACD,C,oCCpMA,IAAInK,EAAc,EAAQ,KAE1Bz/D,CAAAA,EAAO,OAAO,CAAG,EAAQ,MAAgB,AAAkB,aAAlB,OAAOc,OAAyBA,OAAS,KAAM2+D,E,oCCqBxF,IAAIgE,EAAS,EAAQ,MAEjBkH,EAAQ,AAAIxhC,OAAO,4EAEvBnpC,CAAAA,EAAO,OAAO,CAAG,SAASub,CAAK,CAAEqvD,CAAM,EACtC,IAAI7pD,EAAS,CAAC,EAEd,GAAI6pD,AAAU,MAAVA,EACH,IAAK,IAAIzpE,KAAOoa,EACXkoD,EAAO,IAAI,CAACloD,EAAOpa,IAAQ,CAACwpE,EAAM,IAAI,CAACxpE,IAAQypE,AAAsB,EAAtBA,EAAO,OAAO,CAACzpE,IACjE4f,CAAAA,CAAM,CAAC5f,EAAI,CAAGoa,CAAK,CAACpa,EAAI,AAAD,OAIzB,IAAK,IAAIA,KAAOoa,EACXkoD,EAAO,IAAI,CAACloD,EAAOpa,IAAQ,CAACwpE,EAAM,IAAI,CAACxpE,IAC1C4f,CAAAA,CAAM,CAAC5f,EAAI,CAAGoa,CAAK,CAACpa,EAAI,AAAD,EAK1B,OAAO4f,CACR,C,+BC5CA/gB,CAAAA,EAAO,OAAO,CAAG,EAAC,GAAE,cAAc,A,uCCC9B6qE,EACOA,EAJXzqE,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAM6qE,EAAY,EAAQ,MACpBC,EAAU,EAAQ,KA0BpBF,EAxBOA,EA8ERA,GAAiBA,CAAAA,EAAe,CAAC,IAtDnB,OAAO,CAvBpB,SAAiBlkE,EAAI,CAAC,CAAC,CAAEb,EAAI,CAAC,CAAC,CAAEklE,EAAW,EAAK,EAC5B,UAAb,OAAOrkE,GACPA,CAAAA,EAAI,CAAC,GAEQ,UAAb,OAAOb,GACPA,CAAAA,EAAI,CAAC,GAET,IAAI4W,EAAaouD,EAAUhlE,GAS3B,IAAK,IAAM3E,IARP,CAAC6pE,GACDtuD,CAAAA,EAAatc,OAAO,IAAI,CAACsc,GAAY,MAAM,CAAC,CAACjH,EAAMtU,KACxB,MAAnBub,CAAU,CAACvb,EAAI,EACfsU,CAAAA,CAAI,CAACtU,EAAI,CAAGub,CAAU,CAACvb,EAAI,AAAD,EAEvBsU,GACR,CAAC,EAAC,EAES9O,EACC9E,KAAAA,IAAX8E,CAAC,CAACxF,EAAI,EAAkB2E,AAAWjE,KAAAA,IAAXiE,CAAC,CAAC3E,EAAI,EAC9Bub,CAAAA,CAAU,CAACvb,EAAI,CAAGwF,CAAC,CAACxF,EAAI,AAAD,EAG/B,OAAOf,OAAO,IAAI,CAACsc,GAAY,MAAM,CAAG,EAAIA,EAAa7a,KAAAA,CAC7D,EAmBAgpE,EAAa,IAAI,CAjBjB,SAAclkE,EAAI,CAAC,CAAC,CAAEb,EAAI,CAAC,CAAC,EACP,UAAb,OAAOa,GACPA,CAAAA,EAAI,CAAC,GAEQ,UAAb,OAAOb,GACPA,CAAAA,EAAI,CAAC,GAET,IAAM4W,EAAatc,OAAO,IAAI,CAACuG,GAC1B,MAAM,CAACvG,OAAO,IAAI,CAAC0F,IACnB,MAAM,CAAC,CAACyV,EAAOpa,KACZ,CAAC4pE,EAAQpkE,CAAC,CAACxF,EAAI,CAAE2E,CAAC,CAAC3E,EAAI,GACvBoa,CAAAA,CAAK,CAACpa,EAAI,CAAG2E,AAAWjE,KAAAA,IAAXiE,CAAC,CAAC3E,EAAI,CAAiB,KAAO2E,CAAC,CAAC3E,EAAI,AAAD,EAE7Coa,GACR,CAAC,GACJ,OAAOnb,OAAO,IAAI,CAACsc,GAAY,MAAM,CAAG,EAAIA,EAAa7a,KAAAA,CAC7D,EAiBAgpE,EAAa,MAAM,CAfnB,SAAgBvkD,EAAO,CAAC,CAAC,CAAE2kD,EAAO,CAAC,CAAC,EAChC3kD,EAAOA,GAAQ,CAAC,EAChB,IAAM4kD,EAAe9qE,OAAO,IAAI,CAAC6qE,GAAM,MAAM,CAAC,CAACE,EAAMhqE,KAC7C8pE,CAAI,CAAC9pE,EAAI,GAAKmlB,CAAI,CAACnlB,EAAI,EAAImlB,AAAczkB,KAAAA,IAAdykB,CAAI,CAACnlB,EAAI,EACpCgqE,CAAAA,CAAI,CAAChqE,EAAI,CAAG8pE,CAAI,CAAC9pE,EAAI,AAAD,EAEjBgqE,GACR,CAAC,GACJ,OAAO/qE,OAAO,IAAI,CAACkmB,GAAM,MAAM,CAAC,CAAC6kD,EAAMhqE,KAC/BmlB,CAAI,CAACnlB,EAAI,GAAK8pE,CAAI,CAAC9pE,EAAI,EAAI8pE,AAAcppE,KAAAA,IAAdopE,CAAI,CAAC9pE,EAAI,EACpCgqE,CAAAA,CAAI,CAAChqE,EAAI,CAAG,IAAG,EAEZgqE,GACRD,EACP,EAoBAL,EAAa,SAAS,CAlBtB,SAAmBlkE,CAAC,CAAEb,CAAC,CAAEslE,EAAW,EAAK,EACrC,GAAI,AAAa,UAAb,OAAOzkE,EACP,OAAOb,EAEX,GAAI,AAAa,UAAb,OAAOA,EACP,OAEJ,GAAI,CAACslE,EACD,OAAOtlE,EAEX,IAAM4W,EAAatc,OAAO,IAAI,CAAC0F,GAAG,MAAM,CAAC,CAACyV,EAAOpa,KAC9BU,KAAAA,IAAX8E,CAAC,CAACxF,EAAI,EACNoa,CAAAA,CAAK,CAACpa,EAAI,CAAG2E,CAAC,CAAC3E,EAAI,AAAD,EAEfoa,GACR,CAAC,GACJ,OAAOnb,OAAO,IAAI,CAACsc,GAAY,MAAM,CAAG,EAAIA,EAAa7a,KAAAA,CAC7D,EAGJ5B,EAAA,OAAe,CAAG4qE,C,oCCnFlBzqE,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3DA,EAAQ,YAAY,CAAGA,EAAQ,UAAU,CAAGA,EAAQ,EAAE,CAAG,KAAK,EAC9D,IAAM2sD,EAAO,EAAQ,MACfke,EAAY,EAAQ,MACpBC,EAAU,EAAQ,MAClBM,EAAiB,EAAQ,IAC/BprE,CAAAA,EAAQ,YAAY,CAAGorE,EAAe,OAAO,CAC7C,IAAMC,EAAO,EAAQ,KACrBrrE,CAAAA,EAAQ,EAAE,CAAGqrE,EAAK,OAAO,CACzB,IAAMC,EAAe,EAAQ,KAC7BtrE,CAAAA,EAAQ,UAAU,CAAGsrE,EAAa,OAAO,CAEzC,IAAMC,EAAsB,CAAC7kE,EAAGb,KAC5B,GAAI,AAAa,UAAb,OAAOa,GAAkBA,AAAM,OAANA,EACzB,MAAM,AAAI3D,MAAM,CAAC,gBAAgB,EAAE,OAAO2D,EAAE,CAAC,EAEjD,GAAI,AAAa,UAAb,OAAOb,GAAkBA,AAAM,OAANA,EACzB,MAAM,AAAI9C,MAAM,CAAC,gBAAgB,EAAE,OAAO8C,EAAE,CAAC,EAEjD,IAAM2lE,EAAYrrE,OAAO,IAAI,CAACuG,EAAE,CAAC,EAAE,CACnC,GAAI,CAAC8kE,GAAaA,IAAcrrE,OAAO,IAAI,CAAC0F,EAAE,CAAC,EAAE,CAC7C,MAAM,AAAI9C,MAAM,CAAC,yBAAyB,EAAEyoE,EAAU,IAAI,EAAErrE,OAAO,IAAI,CAAC0F,EAAE,CAAC,EAAE,CAAC,CAAC,EAEnF,MAAO,CAAC2lE,EAAW9kE,CAAC,CAAC8kE,EAAU,CAAE3lE,CAAC,CAAC2lE,EAAU,CAAC,AAClD,CACA,OAAMC,EACF,YAAYC,CAAG,CAAE,CAETjjE,MAAM,OAAO,CAACijE,GACd,IAAI,CAAC,GAAG,CAAGA,EAENA,AAAO,MAAPA,GAAejjE,MAAM,OAAO,CAACijE,EAAI,GAAG,EACzC,IAAI,CAAC,GAAG,CAAGA,EAAI,GAAG,CAGlB,IAAI,CAAC,GAAG,CAAG,EAAE,AAErB,CACA,OAAO,cAAcF,CAAS,CAAE71D,CAAO,CAAE,CACrC,IAAI,CAAC,QAAQ,CAAC61D,EAAU,CAAG71D,CAC/B,CACA,OAAO,gBAAgB61D,CAAS,CAAE,CAC9B,OAAO,IAAI,CAAC,QAAQ,CAACA,EAAU,AACnC,CACA,OAAO,WAAWA,CAAS,CAAE,CACzB,IAAM71D,EAAU,IAAI,CAAC,QAAQ,CAAC61D,EAAU,CACxC,GAAI,CAAC71D,EACD,MAAM,AAAI5S,MAAM,CAAC,4BAA4B,EAAEyoE,EAAU,CAAC,CAAC,EAE/D,OAAO71D,CACX,CACA,OAAO9S,CAAG,CAAE4Z,CAAU,CAAE,CACpB,IAAMkvD,EAAQ,CAAC,QACf,AAAI,AAAe,UAAf,OAAO9oE,GAAoBA,AAAe,IAAfA,EAAI,MAAM,CAC9B,IAAI,EAEf8oE,EAAM,MAAM,CAAG9oE,EACG,MAAd4Z,GACA,AAAsB,UAAtB,OAAOA,GACPtc,OAAO,IAAI,CAACsc,GAAY,MAAM,CAAG,GACjCkvD,CAAAA,EAAM,UAAU,CAAGlvD,CAAS,EAEzB,IAAI,CAAC,IAAI,CAACkvD,GACrB,CACA,OAAOtpE,CAAM,CAAE,QACX,AAAIA,GAAU,EACH,IAAI,CAER,IAAI,CAAC,IAAI,CAAC,CAAE,OAAQA,CAAO,EACtC,CACA,OAAOA,CAAM,CAAEoa,CAAU,CAAE,CACvB,GAAI,AAAkB,UAAlB,OAAOpa,GAAuBA,GAAU,EACxC,OAAO,IAAI,CAEf,IAAMspE,EAAQ,CAAE,OAAQtpE,CAAO,EAM/B,OALkB,MAAdoa,GACA,AAAsB,UAAtB,OAAOA,GACPtc,OAAO,IAAI,CAACsc,GAAY,MAAM,CAAG,GACjCkvD,CAAAA,EAAM,UAAU,CAAGlvD,CAAS,EAEzB,IAAI,CAAC,IAAI,CAACkvD,EACrB,CACA,KAAKA,CAAK,CAAE,CACR,IAAIx6D,EAAQ,IAAI,CAAC,GAAG,CAAC,MAAM,CACvBy6D,EAAS,IAAI,CAAC,GAAG,CAACz6D,EAAQ,EAAE,CAEhC,GADAw6D,EAAQd,EAAUc,GACd,AAAkB,UAAlB,OAAOC,EAAqB,CAC5B,GAAI,AAAwB,UAAxB,OAAOD,EAAM,MAAM,EACnB,AAAyB,UAAzB,OAAOC,EAAO,MAAM,CAEpB,OADA,IAAI,CAAC,GAAG,CAACz6D,EAAQ,EAAE,CAAG,CAAE,OAAQy6D,EAAO,MAAM,CAAGD,EAAM,MAAM,AAAC,EACtD,IAAI,CAIf,GAAI,AAAyB,UAAzB,OAAOC,EAAO,MAAM,EAAiBD,AAAgB,MAAhBA,EAAM,MAAM,GACjDx6D,GAAS,EAEL,AAAkB,UAAlB,MADJy6D,CAAAA,EAAS,IAAI,CAAC,GAAG,CAACz6D,EAAQ,EAAE,AAAD,GAGvB,OADA,IAAI,CAAC,GAAG,CAAC,OAAO,CAACw6D,GACV,IAAI,CAGnB,GAAIb,EAAQa,EAAM,UAAU,CAAEC,EAAO,UAAU,EAAG,CAC9C,GAAI,AAAwB,UAAxB,OAAOD,EAAM,MAAM,EACnB,AAAyB,UAAzB,OAAOC,EAAO,MAAM,CAKpB,OAJA,IAAI,CAAC,GAAG,CAACz6D,EAAQ,EAAE,CAAG,CAAE,OAAQy6D,EAAO,MAAM,CAAGD,EAAM,MAAM,AAAC,EAC7B,UAA5B,OAAOA,EAAM,UAAU,EACvB,KAAI,CAAC,GAAG,CAACx6D,EAAQ,EAAE,CAAC,UAAU,CAAGw6D,EAAM,UAAU,AAAD,EAE7C,IAAI,CAEV,GAAI,AAAwB,UAAxB,OAAOA,EAAM,MAAM,EACxB,AAAyB,UAAzB,OAAOC,EAAO,MAAM,CAKpB,OAJA,IAAI,CAAC,GAAG,CAACz6D,EAAQ,EAAE,CAAG,CAAE,OAAQy6D,EAAO,MAAM,CAAGD,EAAM,MAAM,AAAC,EAC7B,UAA5B,OAAOA,EAAM,UAAU,EACvB,KAAI,CAAC,GAAG,CAACx6D,EAAQ,EAAE,CAAC,UAAU,CAAGw6D,EAAM,UAAU,AAAD,EAE7C,IAAI,AAEnB,CACJ,CAOA,OANIx6D,IAAU,IAAI,CAAC,GAAG,CAAC,MAAM,CACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAACw6D,GAGd,IAAI,CAAC,GAAG,CAAC,MAAM,CAACx6D,EAAO,EAAGw6D,GAEvB,IAAI,AACf,CACA,MAAO,CACH,IAAMC,EAAS,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAG,EAAE,CAI5C,OAHIA,GAAU,AAAyB,UAAzB,OAAOA,EAAO,MAAM,EAAiB,CAACA,EAAO,UAAU,EACjE,IAAI,CAAC,GAAG,CAAC,GAAG,GAET,IAAI,AACf,CACA,OAAOzU,CAAS,CAAE,CACd,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAACA,EAC3B,CACA,QAAQA,CAAS,CAAE,CACf,IAAI,CAAC,GAAG,CAAC,OAAO,CAACA,EACrB,CACA,IAAIA,CAAS,CAAE,CACX,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAACA,EACxB,CACA,UAAUA,CAAS,CAAE,CACjB,IAAM0U,EAAS,EAAE,CACXC,EAAS,EAAE,CAKjB,OAJA,IAAI,CAAC,OAAO,CAAC,AAACC,IAEV7kE,AADeiwD,CAAAA,EAAU4U,GAAMF,EAASC,CAAK,EACtC,IAAI,CAACC,EAChB,GACO,CAACF,EAAQC,EAAO,AAC3B,CACA,OAAO3U,CAAS,CAAE6U,CAAY,CAAE,CAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC7U,EAAW6U,EACtC,CACA,cAAe,CACX,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC3pE,EAAQk9C,IACxB,AAAIA,EAAK,MAAM,CACJl9C,EAASgpE,EAAK,OAAO,CAAC,MAAM,CAAC9rB,GAE/BA,EAAK,MAAM,CACTl9C,EAASk9C,EAAK,MAAM,CAExBl9C,EACR,EACP,CACA,QAAS,CACL,OAAO,IAAI,CAAC,MAAM,CAAC,CAACA,EAAQk9C,IACjBl9C,EAASgpE,EAAK,OAAO,CAAC,MAAM,CAAC9rB,GACrC,EACP,CACA,MAAM56C,EAAQ,CAAC,CAAEC,EAAM2F,GAAQ,CAAE,CAC7B,IAAMmhE,EAAM,EAAE,CACRO,EAAO,IAAIX,EAAa,OAAO,CAAC,IAAI,CAAC,GAAG,EAC1Cn6D,EAAQ,EACZ,KAAOA,EAAQvM,GAAOqnE,EAAK,OAAO,IAAI,CAClC,IAAIC,CACA/6D,CAAAA,EAAQxM,EACRunE,EAASD,EAAK,IAAI,CAACtnE,EAAQwM,IAG3B+6D,EAASD,EAAK,IAAI,CAACrnE,EAAMuM,GACzBu6D,EAAI,IAAI,CAACQ,IAEb/6D,GAASk6D,EAAK,OAAO,CAAC,MAAM,CAACa,EACjC,CACA,OAAO,IAAIT,EAAMC,EACrB,CACA,QAAQrY,CAAK,CAAE,CACX,IAAM8Y,EAAW,IAAIb,EAAa,OAAO,CAAC,IAAI,CAAC,GAAG,EAC5Cc,EAAY,IAAId,EAAa,OAAO,CAACjY,EAAM,GAAG,EAC9CqY,EAAM,EAAE,CACRW,EAAaD,EAAU,IAAI,GACjC,GAAIC,AAAc,MAAdA,GACA,AAA6B,UAA7B,OAAOA,EAAW,MAAM,EACxBA,AAAyB,MAAzBA,EAAW,UAAU,CAAU,CAC/B,IAAIC,EAAYD,EAAW,MAAM,CACjC,KAAOF,AAAwB,WAAxBA,EAAS,QAAQ,IACpBA,EAAS,UAAU,IAAMG,GACzBA,GAAaH,EAAS,UAAU,GAChCT,EAAI,IAAI,CAACS,EAAS,IAAI,GAEtBE,CAAAA,EAAW,MAAM,CAAGC,EAAY,GAChCF,EAAU,IAAI,CAACC,EAAW,MAAM,CAAGC,EAE3C,CACA,IAAMplB,EAAQ,IAAIukB,EAAMC,GACxB,KAAOS,EAAS,OAAO,IAAMC,EAAU,OAAO,IAC1C,GAAIA,AAAyB,WAAzBA,EAAU,QAAQ,GAClBllB,EAAM,IAAI,CAACklB,EAAU,IAAI,SAExB,GAAID,AAAwB,WAAxBA,EAAS,QAAQ,GACtBjlB,EAAM,IAAI,CAACilB,EAAS,IAAI,QAEvB,CACD,IAAM9pE,EAASgD,KAAK,GAAG,CAAC8mE,EAAS,UAAU,GAAIC,EAAU,UAAU,IAC7DG,EAASJ,EAAS,IAAI,CAAC9pE,GACvBmqE,EAAUJ,EAAU,IAAI,CAAC/pE,GAC/B,GAAImqE,EAAQ,MAAM,CAAE,CAChB,IAAMb,EAAQ,CAAC,EACf,GAAI,AAAyB,UAAzB,OAAOY,EAAO,MAAM,CACpBZ,EAAM,MAAM,CACR,AAA0B,UAA1B,OAAOa,EAAQ,MAAM,CAAgBnqE,EAASmqE,EAAQ,MAAM,MAGhE,GAAI,AAA0B,UAA1B,OAAOA,EAAQ,MAAM,CACjBD,AAAiB,MAAjBA,EAAO,MAAM,CACbZ,EAAM,MAAM,CAAGY,EAAO,MAAM,CAG5BZ,EAAM,MAAM,CAAGY,EAAO,MAAM,KAG/B,CACD,IAAME,EAASF,AAAiB,MAAjBA,EAAO,MAAM,CAAW,SAAW,SAC5C,CAACf,EAAWkB,EAAUC,EAAU,CAAGpB,EAAoBgB,CAAM,CAACE,EAAO,CAAED,EAAQ,MAAM,EACrF72D,EAAU81D,EAAM,UAAU,CAACD,EACjCG,CAAAA,CAAK,CAACc,EAAO,CAAG,CACZ,CAACjB,EAAU,CAAE71D,EAAQ,OAAO,CAAC+2D,EAAUC,EAAWF,AAAW,WAAXA,EACtD,CACJ,CAGJ,IAAMhwD,EAAa2uD,EAAe,OAAO,CAAC,OAAO,CAACmB,EAAO,UAAU,CAAEC,EAAQ,UAAU,CAAE,AAAyB,UAAzB,OAAOD,EAAO,MAAM,EAM7G,GALI9vD,GACAkvD,CAAAA,EAAM,UAAU,CAAGlvD,CAAS,EAEhCyqC,EAAM,IAAI,CAACykB,GAEP,CAACS,EAAU,OAAO,IAClBtB,EAAQ5jB,EAAM,GAAG,CAACA,EAAM,GAAG,CAAC,MAAM,CAAG,EAAE,CAAEykB,GAAQ,CACjD,IAAMiB,EAAO,IAAInB,EAAMU,EAAS,IAAI,IACpC,OAAOjlB,EAAM,MAAM,CAAC0lB,GAAM,IAAI,EAClC,CAGJ,KACmC,UAA1B,OAAOJ,EAAQ,MAAM,EACzB,CAAyB,UAAzB,OAAOD,EAAO,MAAM,EAChB,AAAyB,UAAzB,OAAOA,EAAO,MAAM,EAAiBA,AAAkB,OAAlBA,EAAO,MAAM,AAAS,GAChErlB,EAAM,IAAI,CAACslB,EAEnB,CAEJ,OAAOtlB,EAAM,IAAI,EACrB,CACA,OAAOmM,CAAK,CAAE,CACV,IAAMnM,EAAQ,IAAIukB,EAAM,IAAI,CAAC,GAAG,CAAC,KAAK,IAKtC,OAJIpY,EAAM,GAAG,CAAC,MAAM,CAAG,IACnBnM,EAAM,IAAI,CAACmM,EAAM,GAAG,CAAC,EAAE,EACvBnM,EAAM,GAAG,CAAGA,EAAM,GAAG,CAAC,MAAM,CAACmM,EAAM,GAAG,CAAC,KAAK,CAAC,KAE1CnM,CACX,CACA,KAAKmM,CAAK,CAAEyP,CAAM,CAAE,CAChB,GAAI,IAAI,CAAC,GAAG,GAAKzP,EAAM,GAAG,CACtB,OAAO,IAAIoY,EAEf,IAAMoB,EAAU,CAAC,IAAI,CAAExZ,EAAM,CAAC,GAAG,CAAC,AAACnM,GACxBA,EACF,GAAG,CAAC,AAAC6kB,IACN,GAAIA,AAAa,MAAbA,EAAG,MAAM,CACT,MAAO,AAAqB,UAArB,OAAOA,EAAG,MAAM,CAAgBA,EAAG,MAAM,CAjR7CzmE,IAoRP,OAAM,AAAIvC,MAAM,iBADHmkD,CAAAA,IAAUmM,EAAQ,KAAO,MAAK,EACD,gBAC9C,GACK,IAAI,CAAC,KAERyZ,EAAW,IAAIrB,EACfsB,EAAapgB,EAAKkgB,CAAO,CAAC,EAAE,CAAEA,CAAO,CAAC,EAAE,CAAE/J,EAAQ,IAClDqJ,EAAW,IAAIb,EAAa,OAAO,CAAC,IAAI,CAAC,GAAG,EAC5Cc,EAAY,IAAId,EAAa,OAAO,CAACjY,EAAM,GAAG,EA8BpD,OA7BA0Z,EAAW,OAAO,CAAC,AAACh4B,IAChB,IAAI1yC,EAAS0yC,CAAS,CAAC,EAAE,CAAC,MAAM,CAChC,KAAO1yC,EAAS,GAAG,CACf,IAAI2qE,EAAW,EACf,OAAQj4B,CAAS,CAAC,EAAE,EAChB,KAAK4X,EAAK,MAAM,CACZqgB,EAAW3nE,KAAK,GAAG,CAAC+mE,EAAU,UAAU,GAAI/pE,GAC5CyqE,EAAS,IAAI,CAACV,EAAU,IAAI,CAACY,IAC7B,KACJ,MAAKrgB,EAAK,MAAM,CACZqgB,EAAW3nE,KAAK,GAAG,CAAChD,EAAQ8pE,EAAS,UAAU,IAC/CA,EAAS,IAAI,CAACa,GACdF,EAAS,MAAM,CAACE,GAChB,KACJ,MAAKrgB,EAAK,KAAK,CACXqgB,EAAW3nE,KAAK,GAAG,CAAC8mE,EAAS,UAAU,GAAIC,EAAU,UAAU,GAAI/pE,GACnE,IAAMkqE,EAASJ,EAAS,IAAI,CAACa,GACvBR,EAAUJ,EAAU,IAAI,CAACY,GAC3BlC,EAAQyB,EAAO,MAAM,CAAEC,EAAQ,MAAM,EACrCM,EAAS,MAAM,CAACE,EAAU5B,EAAe,OAAO,CAAC,IAAI,CAACmB,EAAO,UAAU,CAAEC,EAAQ,UAAU,GAG3FM,EAAS,IAAI,CAACN,GAAS,MAAM,CAACQ,EAG1C,CACA3qE,GAAU2qE,CACd,CACJ,GACOF,EAAS,IAAI,EACxB,CACA,SAAS3V,CAAS,CAAE8V,EAAU,IAAI,CAAE,CAChC,IAAMhB,EAAO,IAAIX,EAAa,OAAO,CAAC,IAAI,CAAC,GAAG,EAC1C4B,EAAO,IAAIzB,EACXpnE,EAAI,EACR,KAAO4nE,EAAK,OAAO,IAAI,CACnB,GAAIA,AAAoB,WAApBA,EAAK,QAAQ,GACb,OAEJ,IAAMM,EAASN,EAAK,IAAI,GAClBtnE,EAAQ0mE,EAAK,OAAO,CAAC,MAAM,CAACkB,GAAUN,EAAK,UAAU,GACrD96D,EAAQ,AAAyB,UAAzB,OAAOo7D,EAAO,MAAM,CAC5BA,EAAO,MAAM,CAAC,OAAO,CAACU,EAAStoE,GAASA,EACxC,GACN,GAAIwM,EAAQ,EACR+7D,EAAK,IAAI,CAACjB,EAAK,IAAI,SAElB,GAAI96D,EAAQ,EACb+7D,EAAK,IAAI,CAACjB,EAAK,IAAI,CAAC96D,QAEnB,CACD,GAAIgmD,AAAsD,KAAtDA,EAAU+V,EAAMjB,EAAK,IAAI,CAAC,GAAG,UAAU,EAAI,CAAC,EAAG5nE,GAC/C,OAEJA,GAAK,EACL6oE,EAAO,IAAIzB,CACf,CACJ,CACIyB,EAAK,MAAM,GAAK,GAChB/V,EAAU+V,EAAM,CAAC,EAAG7oE,EAE5B,CACA,OAAO2mE,CAAI,CAAE,CACT,IAAMmC,EAAW,IAAI1B,EAgCrB,OA/BA,IAAI,CAAC,MAAM,CAAC,CAAC2B,EAAWrB,KACpB,GAAIA,EAAG,MAAM,CACToB,EAAS,MAAM,CAAC9B,EAAK,OAAO,CAAC,MAAM,CAACU,SAEnC,GAAI,AAAqB,UAArB,OAAOA,EAAG,MAAM,EAAiBA,AAAiB,MAAjBA,EAAG,UAAU,CAEnD,OADAoB,EAAS,MAAM,CAACpB,EAAG,MAAM,EAClBqB,EAAYrB,EAAG,MAAM,MAE3B,GAAIA,EAAG,MAAM,EAAI,AAAqB,UAArB,OAAOA,EAAG,MAAM,CAAe,CACjD,IAAM1pE,EAAU0pE,EAAG,MAAM,EAAIA,EAAG,MAAM,CAUtC,OARAsB,AADcrC,EAAK,KAAK,CAACoC,EAAWA,EAAY/qE,GAC1C,OAAO,CAAC,AAACirE,IACPvB,EAAG,MAAM,CACToB,EAAS,IAAI,CAACG,GAETvB,EAAG,MAAM,EAAIA,EAAG,UAAU,EAC/BoB,EAAS,MAAM,CAAC9B,EAAK,OAAO,CAAC,MAAM,CAACiC,GAASlC,EAAe,OAAO,CAAC,MAAM,CAACW,EAAG,UAAU,CAAEuB,EAAO,UAAU,EAEnH,GACOF,EAAY/qE,CACvB,MACK,GAAI,AAAqB,UAArB,OAAO0pE,EAAG,MAAM,EAAiBA,AAAc,OAAdA,EAAG,MAAM,CAAW,CAC1D,IAAMsB,EAAQrC,EAAK,KAAK,CAACoC,EAAWA,EAAY,GAC1CE,EAAS,IAAIhC,EAAa,OAAO,CAAC+B,EAAM,GAAG,EAAE,IAAI,GACjD,CAAC7B,EAAW+B,EAAQC,EAAW,CAAGjC,EAAoBQ,EAAG,MAAM,CAAEuB,EAAO,MAAM,EAC9E33D,EAAU81D,EAAM,UAAU,CAACD,GAEjC,OADA2B,EAAS,MAAM,CAAC,CAAE,CAAC3B,EAAU,CAAE71D,EAAQ,MAAM,CAAC43D,EAAQC,EAAY,EAAGpC,EAAe,OAAO,CAAC,MAAM,CAACW,EAAG,UAAU,CAAEuB,EAAO,UAAU,GAC5HF,EAAY,CACvB,CACA,OAAOA,CACX,EAAG,GACID,EAAS,IAAI,EACxB,CACA,UAAUtqE,CAAG,CAAEsoE,EAAW,EAAK,CAAE,CAE7B,GADAA,EAAW,CAAC,CAACA,EACT,AAAe,UAAf,OAAOtoE,EACP,OAAO,IAAI,CAAC,iBAAiB,CAACA,EAAKsoE,GAGvC,IAAMgB,EAAW,IAAIb,EAAa,OAAO,CAAC,IAAI,CAAC,GAAG,EAC5Cc,EAAY,IAAId,EAAa,OAAO,CAACjY,AAF7BxwD,EAEmC,GAAG,EAC9CqkD,EAAQ,IAAIukB,EAClB,KAAOU,EAAS,OAAO,IAAMC,EAAU,OAAO,IAC1C,GAAID,AAAwB,WAAxBA,EAAS,QAAQ,IAChBhB,CAAAA,GAAYiB,AAAyB,WAAzBA,EAAU,QAAQ,EAAc,EAC7CllB,EAAM,MAAM,CAACmkB,EAAK,OAAO,CAAC,MAAM,CAACc,EAAS,IAAI,UAE7C,GAAIC,AAAyB,WAAzBA,EAAU,QAAQ,GACvBllB,EAAM,IAAI,CAACklB,EAAU,IAAI,QAExB,CACD,IAAM/pE,EAASgD,KAAK,GAAG,CAAC8mE,EAAS,UAAU,GAAIC,EAAU,UAAU,IAC7DG,EAASJ,EAAS,IAAI,CAAC9pE,GACvBmqE,EAAUJ,EAAU,IAAI,CAAC/pE,GAC/B,GAAIkqE,EAAO,MAAM,CAEb,SAEC,GAAIC,EAAQ,MAAM,CACnBtlB,EAAM,IAAI,CAACslB,OAEV,CACD,IAAME,EAAWH,EAAO,MAAM,CACxBI,EAAYH,EAAQ,MAAM,CAC5BiB,EAAkB,AAAqB,UAArB,OAAOd,GAA0BA,AAAc,OAAdA,EACjDA,EACAtqE,EACN,GAAI,AAAoB,UAApB,OAAOqqE,GACPA,AAAa,OAAbA,GACA,AAAqB,UAArB,OAAOC,GACPA,AAAc,OAAdA,EAAoB,CACpB,IAAMnB,EAAYrrE,OAAO,IAAI,CAACusE,EAAS,CAAC,EAAE,CAC1C,GAAIlB,IAAcrrE,OAAO,IAAI,CAACwsE,EAAU,CAAC,EAAE,CAAE,CACzC,IAAMh3D,EAAU81D,EAAM,UAAU,CAACD,GAC7B71D,GACA83D,CAAAA,EAAkB,CACd,CAACjC,EAAU,CAAE71D,EAAQ,SAAS,CAAC+2D,CAAQ,CAAClB,EAAU,CAAEmB,CAAS,CAACnB,EAAU,CAAEL,EAC9E,EAER,CACJ,CAEAjkB,EAAM,MAAM,CAACumB,EAAiBrC,EAAe,OAAO,CAAC,SAAS,CAACmB,EAAO,UAAU,CAAEC,EAAQ,UAAU,CAAErB,GAC1G,CACJ,CAEJ,OAAOjkB,EAAM,IAAI,EACrB,CACA,kBAAkB/1C,CAAK,CAAEg6D,EAAW,EAAK,CAAE,CACvCA,EAAW,CAAC,CAACA,EACb,IAAMgB,EAAW,IAAIb,EAAa,OAAO,CAAC,IAAI,CAAC,GAAG,EAC9C9jE,EAAS,EACb,KAAO2kE,EAAS,OAAO,IAAM3kE,GAAU2J,GAAO,CAC1C,IAAM9O,EAAS8pE,EAAS,UAAU,GAC5BuB,EAAWvB,EAAS,QAAQ,GAElC,GADAA,EAAS,IAAI,GACTuB,AAAa,WAAbA,EAAuB,CACvBv8D,GAAS9L,KAAK,GAAG,CAAChD,EAAQ8O,EAAQ3J,GAClC,QACJ,CACsB,WAAbkmE,GAA0BlmE,CAAAA,EAAS2J,GAAS,CAACg6D,CAAO,GACzDh6D,CAAAA,GAAS9O,CAAK,EAElBmF,GAAUnF,CACd,CACA,OAAO8O,CACX,CACJ,CACAs6D,EAAM,EAAE,CAAGJ,EAAK,OAAO,CACvBI,EAAM,UAAU,CAAGH,EAAa,OAAO,CACvCG,EAAM,YAAY,CAAGL,EAAe,OAAO,CAC3CK,EAAM,QAAQ,CAAG,CAAC,EAClBzrE,EAAA,OAAe,CAAGyrE,CAEd1rE,CAAAA,EAAO,OAAO,CAAG0rE,EACjB1rE,EAAO,OAAO,CAAd,OAAsB,CAAG0rE,C,sCCzdzBkC,EADJxtE,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAiBvD2tE,AACDA,CAAAA,GAAOA,CAAAA,EAAK,CAAC,EAAC,EADV,MAAM,CAdT,SAAgB5B,CAAE,EACd,GAAI,AAAqB,UAArB,OAAOA,EAAG,MAAM,CAChB,OAAOA,EAAG,MAAM,CAEf,GAAI,AAAqB,UAArB,OAAOA,EAAG,MAAM,CACrB,OAAOA,EAAG,MAAM,CAEf,GAAI,AAAqB,UAArB,OAAOA,EAAG,MAAM,EAAiBA,AAAc,OAAdA,EAAG,MAAM,CAC/C,OAAO,OAGP,MAAO,AAAqB,UAArB,OAAOA,EAAG,MAAM,CAAgBA,EAAG,MAAM,CAAC,MAAM,CAAG,CAElE,EAGJ/rE,EAAA,OAAe,CAAG2tE,C,oCCnBlBxtE,OAAO,cAAc,CAACH,EAAS,aAAc,CAAE,MAAO,EAAK,GAC3D,IAAMqrE,EAAO,EAAQ,KAsGrBrrE,CAAAA,EAAA,OAAe,CArGf,MAAM4tE,EACF,YAAYlC,CAAG,CAAE,CACb,IAAI,CAAC,GAAG,CAAGA,EACX,IAAI,CAAC,KAAK,CAAG,EACb,IAAI,CAAC,MAAM,CAAG,CAClB,CACA,SAAU,CACN,OAAO,IAAI,CAAC,UAAU,GAAKnhE,GAC/B,CACA,KAAKlI,CAAM,CAAE,CACL,CAACA,GACDA,CAAAA,EAASkI,GAAO,EAEpB,IAAM2hE,EAAS,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CACnC,IAAIA,EAsCA,MAAO,CAAE,OAAQ3hE,GAAS,CAtClB,EACR,IAAM/C,EAAS,IAAI,CAAC,MAAM,CACpBwlE,EAAW3B,EAAK,OAAO,CAAC,MAAM,CAACa,GASrC,GARI7pE,GAAU2qE,EAAWxlE,GACrBnF,EAAS2qE,EAAWxlE,EACpB,IAAI,CAAC,KAAK,EAAI,EACd,IAAI,CAAC,MAAM,CAAG,GAGd,IAAI,CAAC,MAAM,EAAInF,EAEf,AAAyB,UAAzB,OAAO6pE,EAAO,MAAM,CACpB,MAAO,CAAE,OAAQ7pE,CAAO,CAEvB,EACD,IAAMwrE,EAAQ,CAAC,EAmBf,OAlBI3B,EAAO,UAAU,EACjB2B,CAAAA,EAAM,UAAU,CAAG3B,EAAO,UAAU,AAAD,EAEnC,AAAyB,UAAzB,OAAOA,EAAO,MAAM,CACpB2B,EAAM,MAAM,CAAGxrE,EAEV,AAAyB,UAAzB,OAAO6pE,EAAO,MAAM,EACzBA,AAAkB,OAAlBA,EAAO,MAAM,CAEb2B,EAAM,MAAM,CAAG3B,EAAO,MAAM,CAEvB,AAAyB,UAAzB,OAAOA,EAAO,MAAM,CACzB2B,EAAM,MAAM,CAAG3B,EAAO,MAAM,CAAC,MAAM,CAAC1kE,EAAQnF,GAI5CwrE,EAAM,MAAM,CAAG3B,EAAO,MAAM,CAEzB2B,CACX,CACJ,CAIJ,CACA,MAAO,CACH,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,AAC/B,CACA,YAAa,QACT,AAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAEbxC,EAAK,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAI,IAAI,CAAC,MAAM,CAGvD9gE,GAEf,CACA,UAAW,CACP,IAAMwhE,EAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAC/B,GAAIA,EAAI,CACJ,GAAI,AAAqB,UAArB,OAAOA,EAAG,MAAM,CAChB,MAAO,SAEN,GAAI,AAAqB,UAArB,OAAOA,EAAG,MAAM,EACpB,CAAqB,UAArB,OAAOA,EAAG,MAAM,EAAiBA,AAAc,OAAdA,EAAG,MAAM,AAAQ,EAInD,MAAO,QAEf,CACA,MAAO,QACX,CACA,MAAO,CACH,GAAI,CAAC,IAAI,CAAC,OAAO,GACb,MAAO,EAAE,CAER,GAAI,AAAgB,IAAhB,IAAI,CAAC,MAAM,CAChB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAE/B,EACD,IAAMvkE,EAAS,IAAI,CAAC,MAAM,CACpB2J,EAAQ,IAAI,CAAC,KAAK,CAClBgtD,EAAO,IAAI,CAAC,IAAI,GAChByO,EAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAGtC,OAFA,IAAI,CAAC,MAAM,CAAGplE,EACd,IAAI,CAAC,KAAK,CAAG2J,EACN,CAACgtD,EAAK,CAAC,MAAM,CAACyO,EACzB,CACJ,CACJ,C,2BCvGUhsE,EAAEwzB,EAAFxzB,EAA2OjB,KAAzOy0B,EAA+O,SAASxzB,CAAC,MAAk+VwzB,EAAEnvB,EAAl+V,OAAOmvB,EAAE,CAAC,IAAIxzB,IAAsC,IAAIA,EAAktCwzB,CAAxvCz0B,CAAAA,KAAKiB,EAAE,OAAO,EAAwBA,EAAE,CAAC,IAAI,CAACA,EAAEwzB,KAAKj0B,OAAO,cAAc,CAACi0B,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,GAAGA,EAAE,eAAe,CAAC,KAAK,EAAE,IAAInvB,EAAE,CAAC,EAA6qB,SAASZ,EAAEzD,CAAC,EAAEA,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS8F,EAAE9F,CAAC,CAACwzB,CAAC,CAACnvB,CAAC,EAAE,IAAIgM,EAAE5M,CAAEY,CAAAA,EAAG,QAAQgM,CAAAA,EAAEmjB,EAAE,UAAU,CAACA,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,AAAD,GAAI,KAAK,IAAInjB,GAAGA,EAAE,IAAI,CAAC,CAAC,KAAKrQ,EAAE,WAAWqE,CAAC,GAAGA,EAAE,IAAI,EAAEmvB,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAKxzB,EAAE,KAAKqE,EAAE,IAAI,EAAC,EAAG,OAAQZ,CAAAA,EAAE+vB,EAAE,UAAU,CAACA,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,AAAD,GAAI,KAAK,IAAI/vB,GAAGA,EAAE,IAAI,CAAC,CAAC,KAAKzD,CAAC,EAAE,CAACwzB,EAAE,eAAe,CAAC,SAASxzB,CAAC,EAAEqE,EAAE,CAAC,EAAE,IAAMmvB,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,IAAMnvB,KAAKrE,EAAE,GAAG,CAACqQ,AAA7lC,UAAWrQ,CAAC,CAACwzB,CAAC,MAA0CxzB,EAAEwzB,EAAiFxzB,EAAEwzB,EAAOnvB,EAA+LrE,EAAEwzB,CAArUxzB,CAAAA,EAAE,MAAM,CAAC,KAAK,EAAEA,EAAE,MAAM,CAAC,KAAK,EAAUA,EAAoDA,EAA/CwzB,CAAHA,EAAoDA,GAA/C,UAAU,CAAC,IAAI,CAAC,CAAC,MAAMxzB,EAAE,MAAM,GAAGqE,EAAE,CAAC,EAAEZ,EAAE+vB,IAASxzB,EAAE,MAAM,CAAC,OAAO,EAAUA,EAA0KA,EAA/J,IAAIwzB,CAAbA,EAA0KA,GAA3J,UAAU,CAAC,MAAM,EAAE/vB,EAAE+vB,GAAG,OAAQnvB,CAAAA,EAAEmvB,EAAE,UAAU,CAACA,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,AAAD,GAAI,KAAK,IAAInvB,GAAGA,EAAE,IAAI,CAAC,CAAC,QAAQrE,EAAE,MAAM,CAAC,OAAO,CAAC,WAAWA,EAAE,UAAU,IAAS,OAAOA,EAAE,MAAM,EAAUA,EAA4JA,EAA1JwzB,EAA4JA,EAAzJxzB,EAAE,UAAU,EAAGwzB,CAAAA,EAAE,UAAU,CAACA,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAACxzB,EAAE,UAAU,CAAC,YAAYA,EAAE,UAAU,CAAC,IAAI,CAACqE,GAAImvB,CAAAA,EAAE,KAAK,CAAC,aAAa,GAAGnvB,EAAE,CAAC,GAAGA,EAAE,CAAC,GAAGZ,EAAE+vB,IAAS,SAASxzB,CAAC,CAACwzB,CAAC,EAAE,GAAG,IAAIA,EAAE,UAAU,CAAC,MAAM,EAAE/vB,EAAE+vB,GAAGxzB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAsC,IAAI,IAAMA,KAAjCA,EAAE,MAAM,CAAC,KAAK,CAAC,QAAyB,OAAOA,EAAGyD,CAAAA,EAAE+vB,GAAGnvB,EAAE,CAAC,GAAGyB,EAAE9F,EAAEwzB,QAAQ1tB,EAAE9F,EAAE,MAAM,CAACwzB,EAAExzB,EAAE,UAAU,CAAC,EAAEA,EAAEwzB,EAAE,GAAqbnvB,EAAEmvB,GAAG,OAAOA,CAAC,CAAC,CAAC,EAAEA,EAAE,CAAC,EAAS,SAASnvB,EAAEgM,CAAC,EAAE,GAAGmjB,CAAC,CAACnjB,EAAE,CAAC,OAAOmjB,CAAC,CAACnjB,EAAE,CAAC,OAAO,CAAC,IAAI5M,EAAE+vB,CAAC,CAACnjB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAOrQ,CAAC,CAACqQ,EAAE,CAAC5M,EAAEA,EAAE,OAAO,CAACY,GAAGZ,EAAE,OAAO,EAAE,KAAQ,EAAE,IAAI,CAACzD,EAAEwzB,EAAEnvB,KAAK,YAAa9E,CAAAA,OAAO,cAAc,CAACi0B,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,GAAGA,EAAE,gBAAgB,CAACA,EAAE,kBAAkB,CAACA,EAAE,oBAAoB,CAACA,EAAE,aAAa,CAAC,KAAK,EAAE,IAAMnjB,EAAEhM,EAAE,IAAKmvB,CAAAA,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,SAAS,KAAK,SAAS,QAAQ,SAAS,YAAY,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,KAAK,YAAY,KAAK,SAAS,YAAY,CAAC,EAAE,IAAI,CAAC,KAAK,UAAU,KAAK,GAAG,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,KAAK,YAAY,QAAQ,SAAS,KAAK,SAAS,YAAY,CAAC,EAAE,IAAI,CAAC,KAAK,UAAU,KAAK,GAAG,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,iBAAiB,KAAK,iBAAiB,QAAQ,SAAS,YAAY,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,aAAa,KAAK,aAAa,QAAQ,SAAS,YAAY,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,cAAc,KAAK,cAAc,QAAQ,SAAS,YAAY,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,GAAG,MAAM,SAAS,MAAM,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,KAAK,WAAW,QAAQ,SAAS,YAAY,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAACA,EAAE,oBAAoB,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,UAAU,KAAK,MAAM,UAAUnjB,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,cAAc,KAAK,MAAM,UAAUA,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,aAAa,KAAK,MAAM,UAAUA,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,UAAU,KAAK,MAAM,UAAUA,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,cAAc,KAAK,MAAM,UAAUA,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,aAAa,KAAK,MAAM,UAAUA,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAACmjB,EAAE,kBAAkB,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,SAAS,KAAK,IAAI,UAAUnjB,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,SAAS,KAAK,IAAI,UAAUA,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,SAAS,KAAK,IAAI,UAAUA,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,SAAS,KAAK,IAAI,UAAUA,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,SAAS,KAAK,IAAI,UAAUA,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,SAAS,KAAK,IAAI,UAAUA,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAACmjB,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,oBAAoB,OAAOA,EAAE,oBAAoB,EAAE,CAAC,EAAE,GAAG,SAASxzB,CAAC,CAACwzB,CAAC,CAACnvB,CAAC,EAAE,aAAa,IAAIgM,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,EAAG9Q,CAAAA,OAAO,MAAM,CAAC,SAASS,CAAC,CAACwzB,CAAC,CAACnvB,CAAC,CAACgM,CAAC,EAAE,KAAK,IAAIA,GAAIA,CAAAA,EAAEhM,CAAAA,EAAG9E,OAAO,cAAc,CAACS,EAAEqQ,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,WAAW,OAAOmjB,CAAC,CAACnvB,EAAE,CAAC,EAAE,EAAE,SAASrE,CAAC,CAACwzB,CAAC,CAACnvB,CAAC,CAACgM,CAAC,EAAE,KAAK,IAAIA,GAAIA,CAAAA,EAAEhM,CAAAA,EAAGrE,CAAC,CAACqQ,EAAE,CAACmjB,CAAC,CAACnvB,EAAE,GAAGZ,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAGlE,CAAAA,OAAO,MAAM,CAAC,SAASS,CAAC,CAACwzB,CAAC,EAAEj0B,OAAO,cAAc,CAACS,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,MAAMwzB,CAAC,EAAE,EAAE,SAASxzB,CAAC,CAACwzB,CAAC,EAAExzB,EAAE,OAAO,CAACwzB,CAAC,GAAG1tB,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS9F,CAAC,EAAE,GAAGA,GAAGA,EAAE,UAAU,CAAC,OAAOA,EAAE,IAAIwzB,EAAE,CAAC,EAAE,GAAG,MAAMxzB,EAAE,IAAI,IAAIqE,KAAKrE,EAAE,YAAYqE,GAAG9E,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACS,EAAEqE,IAAIgM,EAAEmjB,EAAExzB,EAAEqE,GAAG,OAAOZ,EAAE+vB,EAAExzB,GAAGwzB,CAAC,EAAExP,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,SAAShkB,CAAC,CAACwzB,CAAC,CAACnvB,CAAC,CAACgM,CAAC,EAAE,OAAO,GAAIhM,CAAAA,GAAIA,CAAAA,EAAEwvB,OAAM,CAAC,EAAI,SAASpwB,CAAC,CAACqC,CAAC,EAAE,SAASke,EAAEhkB,CAAC,EAAE,GAAG,CAACyzB,EAAEpjB,EAAE,IAAI,CAACrQ,GAAG,CAAC,MAAMA,EAAE,CAAC8F,EAAE9F,EAAE,CAAC,CAAC,SAAS4M,EAAE5M,CAAC,EAAE,GAAG,CAACyzB,EAAEpjB,EAAE,KAAK,CAACrQ,GAAG,CAAC,MAAMA,EAAE,CAAC8F,EAAE9F,EAAE,CAAC,CAAC,SAASyzB,EAAEzzB,CAAC,EAAE,IAAIwzB,CAAExzB,CAAAA,EAAE,IAAI,CAACyD,EAAEzD,EAAE,KAAK,EAAE,AAACwzB,CAAAA,AAAUA,CAAVA,EAAExzB,EAAE,KAAK,AAAD,YAAeqE,EAAEmvB,EAAE,IAAInvB,EAAG,SAASrE,CAAC,EAAEA,EAAEwzB,EAAE,EAAE,EAAG,IAAI,CAACxP,EAAEpX,EAAE,CAAC6mB,EAAE,AAACpjB,CAAAA,EAAEA,EAAE,KAAK,CAACrQ,EAAEwzB,GAAG,EAAE,GAAG,IAAI,GAAG,EAAG,CAAEj0B,CAAAA,OAAO,cAAc,CAACi0B,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,GAAGA,EAAE,YAAY,CAAC,KAAK,EAAE,IAAM5mB,EAAEvI,EAAE,KAAKovB,EAAE3tB,EAAEzB,EAAE,MAAMsvB,EAAEtvB,EAAE,KAAKsI,EAAEtI,EAAE,KAASoD,EAAE,EAAE7H,EAAE,GAAGg0B,EAAEjnB,EAAE,aAAa,CAAC9M,EAAE8M,EAAE,oBAAoB,CAAChM,EAAE,CAAC,EAAE,SAASsE,EAAEjF,CAAC,CAACwzB,CAAC,CAACnvB,CAAC,EAAErE,EAAE,SAAS,EAAG4zB,CAAAA,CAAC,CAACvvB,EAAE,CAAC,SAAS,CAACrE,EAAE,SAAS,AAAD,EAAGA,EAAE,GAAG,EAAG4zB,CAAAA,CAAC,CAACvvB,EAAE,CAAC,GAAG,CAACrE,EAAE,GAAG,AAAD,CAAE,CAAi6FwzB,EAAE,YAAY,CAAC,SAASxzB,CAAC,CAACwzB,CAAC,EAAE,OAAOxP,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAG,gBAAuUhkB,EAAEwzB,EAAyExzB,MAAlYqE,EAAgUA,EAAEgM,CAAhU5I,CAAAA,EAAE,EAAE7H,EAAE,GAAGe,EAAE,CAAC,EAAE,IAAM0P,EAAE,EAAE,CAAC5M,EAAE,EAAE,CAAC,GAAGzD,EAAE,GAAG,CAAC,CAAC,IAAMwzB,EAAE5mB,EAAE,eAAe,CAAC5M,GAAGyD,EAAE,IAAI,CAAC+vB,EAAE,MAAM,GAAG3rB,MAAM,OAAO,CAAC7H,GAAG,IAAI,IAAMwzB,KAAKxzB,EAAEyD,EAAE,IAAI,CAAC+vB,OAAO,CAAC,GAAG,CAACxzB,EAAE,UAAU,CAAC,MAAM,AAAImC,MAAM,uHAAuHsB,EAAE,IAAI,CAACzD,EAAE,CAAk3C,IAAI,IAAMA,KAAh3CA,EAA81CyD,CAAC,CAAC,EAAE,CAAh2C+vB,EAAi2CA,EAA/0CI,EAAEjnB,EAAE,aAAa,CAAC9M,EAAE8M,EAAE,oBAAoB,CAAC6mB,GAAexzB,CAAAA,CAAHA,EAAipBwzB,GAA5oB,eAAe,EAAE,SAASxzB,CAAC,EAAE,GAAGA,EAAE,MAAM,CAAC,CAAC,IAAMwzB,EAAEI,EAAE,SAAS,CAAE5zB,GAAG,WAAWA,EAAE,EAAE,EAAGiF,EAAEjF,EAAE,MAAM,CAAC,EAAEwzB,EAAE,CAAC,GAAGxzB,EAAE,QAAQ,CAAC,CAAC,IAAMwzB,EAAEI,EAAE,SAAS,CAAE5zB,GAAG,aAAaA,EAAE,EAAE,EAAGiF,EAAEjF,EAAE,QAAQ,CAAC,EAAEwzB,EAAE,CAAC,GAAGxzB,EAAE,QAAQ,CAAC,CAAC,IAAMwzB,EAAEI,EAAE,SAAS,CAAE5zB,GAAG,aAAaA,EAAE,EAAE,EAAGiF,EAAEjF,EAAE,QAAQ,CAAC,EAAEwzB,EAAE,CAAC,GAAGxzB,EAAE,cAAc,CAAC,CAAC,IAAMwzB,EAAEI,EAAE,SAAS,CAAE5zB,GAAG,mBAAmBA,EAAE,EAAE,EAAGiF,EAAEjF,EAAE,cAAc,CAAC,EAAEwzB,EAAE,CAAC,GAAGxzB,EAAE,UAAU,CAAC,CAAC,IAAMwzB,EAAEI,EAAE,SAAS,CAAE5zB,GAAG,eAAeA,EAAE,EAAE,EAAGiF,EAAEjF,EAAE,UAAU,CAAC,EAAEwzB,EAAE,CAAC,GAAGxzB,EAAE,WAAW,CAAC,CAAC,IAAMwzB,EAAEI,EAAE,SAAS,CAAE5zB,GAAG,gBAAgBA,EAAE,EAAE,EAAGiF,EAAEjF,EAAE,WAAW,CAAC,EAAEwzB,EAAE,CAAC,GAAGxzB,EAAE,QAAQ,CAAC,CAAC,IAAMwzB,EAAEI,EAAE,SAAS,CAAE5zB,GAAG,aAAaA,EAAE,EAAE,EAAGiF,EAAEjF,EAAE,QAAQ,CAAC,EAAEwzB,EAAE,CAAC,EAAExzB,EAAE,eAAe,EAAEA,EAAE,YAAY,EAAGH,CAAAA,EAAEG,EAAE,YAAY,AAAD,CAAC,EAAMA,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAIqE,CAAAA,EAAE,SAASrE,CAAC,EAAE,IAAIwzB,EAAE,CAAC,EAAEnvB,EAAE,EAAE,IAAI,IAAMgM,KAAKrQ,EAAE,CAAC,IAAMA,EAAE,CAAC,KAAKqQ,EAAE,IAAI,CAAC,KAAKA,EAAE,IAAI,CAAC,KAAKsjB,EAAE,aAAa,CAAC,QAAQ,CAAEH,CAAAA,EAAEj0B,OAAO,MAAM,CAACA,OAAO,MAAM,CAAC,CAAC,EAAEi0B,GAAG,CAAC,CAAC,CAAC,IAAI,EAAEnvB,EAAE,CAAC,CAAC,CAACrE,CAAC,GAAGqE,GAAG,CAAC,OAAOmvB,CAAC,EAAExzB,EAAE,KAAK,CAAC,UAAU,GAAGA,EAAE,KAAK,CAAC,aAAa,CAAC,GAAIqQ,CAAAA,EAAE,SAASrQ,CAAC,EAAE,IAAIwzB,EAAE,EAAE,CAACnvB,EAAE,EAAE,KAAKA,EAAErE,GAAG,CAAC,IAAMA,EAAE,CAAC,UAAU,CAAC,SAAS,EAAEqE,EAAE,CAAC,CAAC,OAAOxE,CAAC,CAAE2zB,CAAAA,EAAE,IAAI,CAACxzB,GAAGqE,GAAG,CAAC,MAAM,CAAC,OAAOmvB,CAAC,CAAC,EAAExzB,EAAE,KAAK,CAAC,aAAa,GAAG,AAAC,OAAMwzB,EAAE,KAAK,EAAEA,EAAE,kBAAkB,AAAD,GAAKnjB,CAAAA,EAAE,SAASrQ,CAAC,CAACwzB,CAAC,EAAE,IAAMnvB,EAAE,CAAC,UAAU,gBAAgB,OAAOmvB,CAAC,EAAE,OAAOxzB,EAAGA,CAAAA,EAAE,MAAM,CAAC,IAAI,CAACqE,GAAGrE,CAAAA,EAAG,CAAC,OAAO,CAACqE,EAAE,CAAC,EAAEgM,EAAEmjB,EAAE,kBAAkB,EAAE7yB,EAAE,CAAC,GAA/xC0D,EAAkyC,IAAIovB,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,gBAAgBG,CAAC,EAAE,UAAUvjB,EAAE,WAAWhM,CAAC,GAA2BZ,GAAE4M,EAAE,IAAI,CAACqjB,AAA/pJ,SAAW1zB,CAAC,CAACwzB,CAAC,MAAMnvB,EAAEgM,EAAE5M,EAAEqC,EAA4e2tB,EAA1e,IAAIzP,EAAE,EAAQpX,EAAE,EAAE,CAAC,IAAI,IAAMD,KAAK3M,EAAE,CAAC,GAAG,OAAQqE,CAAAA,EAAEsI,EAAE,KAAK,AAAD,GAAI,KAAK,IAAItI,EAAE,KAAK,EAAEA,EAAE,KAAK,CAAC,CAAC,IAAMrE,EAAE2zB,EAAE,KAAK,CAAC,QAAQ,CAACH,EAAE7mB,EAAE,KAAK,CAAC,KAAK,EAAEC,EAAE,IAAI,CAAC,IAAI+mB,EAAE,SAAS,CAAC3zB,GAAG,MAAM,GAAG,OAAQqQ,CAAAA,EAAE1D,EAAE,KAAK,AAAD,GAAI,KAAK,IAAI0D,EAAE,KAAK,EAAEA,EAAE,KAAK,CAAC,CAAC,IAAMrQ,EAAGyzB,CAAAA,EAAE9mB,EAAE,KAAK,CAAC,KAAK,CAAC,IAAIgnB,EAAE,OAAO,CAAC,CAAC,KAAKF,CAAC,EAAC,EAAG7mB,EAAE,IAAI,CAAC,IAAI+mB,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC3zB,EAAE,GAAG,MAAM2M,EAAE,QAAQ,EAAGqX,CAAAA,EAAE,GAAG,YAAa,QAAQvgB,CAAAA,EAAEkJ,EAAE,UAAU,AAAD,GAAI,KAAK,IAAIlJ,EAAE,KAAK,EAAEA,EAAE,IAAI,AAAD,GAAK,aAAa,QAAQqC,CAAAA,EAAE9F,CAAC,CAACgkB,EAAE,EAAE,CAAC,UAAU,AAAD,GAAI,KAAK,IAAIle,EAAE,KAAK,EAAEA,EAAE,IAAI,AAAD,EAAKlG,EAAEA,GAAE,EAAGgN,EAAE,IAAI,CAACjN,AAA0B,SAAWK,CAAC,MAAMwzB,EAAEnvB,EAAEgM,EAAE5M,EAAEqC,EAAEke,EAAEpX,EAAED,EAAElF,EAAEmsB,EAAE/zB,EAAEoF,EAAwHtF,EAAtH,IAAM+zB,EAAE,EAAE,CAAC,IAAI,IAAMF,KAAKxzB,EAAE,QAAQ,CAACwzB,EAAE,OAAO,CAACE,EAAE,IAAI,CAAE/zB,CAAAA,EAAE6zB,EAAE,OAAO,CAAC,IAAIG,EAAE,OAAO,CAAC,CAAC,KAAKh0B,CAAC,EAAC,GAAI6zB,EAAE,IAAI,EAAEE,EAAE,IAAI,CAAC1tB,AAAguC,SAAWhG,CAAC,CAACwzB,CAAC,MAAMnvB,EAAEgM,EAAE5M,EAAEqC,EAAEke,EAAEpX,EAAE6mB,EAAE9mB,EAAE/M,EAAEg0B,EAAE/zB,EAAEc,EAAEsE,MAAMyuB,EAAE,MAAM,AAAC,QAAQrvB,CAAAA,EAAErE,EAAE,UAAU,AAAD,GAAI,KAAK,IAAIqE,EAAE,KAAK,EAAEA,EAAE,IAAI,AAAD,EAAIqvB,CAAAA,EAAE,IAAIC,EAAE,YAAY,CAAC,CAAC,IAAI,EAAElsB,EAAE,CAAC,EAAEA,GAAE,EAAGisB,EAAE,IAAIC,EAAE,OAAO,CAAC,CAAC,KAAK3zB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAE,QAAQqQ,CAAAA,EAAErQ,EAAE,UAAU,AAAD,GAAI,KAAK,IAAIqQ,EAAE,KAAK,EAAEA,EAAE,IAAI,AAAD,EAAG,QAAQ,CAAC,CAAE,QAAQ5M,CAAAA,EAAEzD,EAAE,UAAU,AAAD,GAAI,KAAK,IAAIyD,EAAE,KAAK,EAAEA,EAAE,MAAM,AAAD,EAAG,UAAU,QAAS,QAAQqC,CAAAA,EAAE9F,EAAE,UAAU,AAAD,GAAI,KAAK,IAAI8F,EAAE,KAAK,EAAEA,EAAE,MAAM,AAAD,EAAG,YAAY,UAAW,QAAQke,CAAAA,EAAEhkB,EAAE,UAAU,AAAD,GAAI,KAAK,IAAIgkB,EAAE,KAAK,EAAEA,EAAE,MAAM,AAAD,EAAG,OAAO,CAAC,CAAE,QAAQpX,CAAAA,EAAE5M,EAAE,UAAU,AAAD,GAAI,KAAK,IAAI4M,EAAE,KAAK,EAAEA,EAAE,MAAM,AAAD,EAAG,UAAU,AAAC,QAAQ6mB,CAAAA,EAAEzzB,EAAE,UAAU,AAAD,GAAI,KAAK,IAAIyzB,EAAE,KAAK,EAAEA,EAAE,SAAS,AAAD,EAAG,CAAC,KAAKE,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,MAAM,EAAE,KAAK,EAAE,MAAM,AAAC,QAAQhnB,CAAAA,EAAE3M,EAAE,UAAU,AAAD,GAAI,KAAK,IAAI2M,EAAE,KAAK,EAAEA,EAAE,KAAK,AAAD,EAAG,OAAQ/M,CAAAA,EAAEI,EAAE,UAAU,AAAD,GAAI,KAAK,IAAIJ,EAAE,KAAK,EAAEA,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,KAAK,SAAU,QAAQg0B,CAAAA,EAAE5zB,EAAE,UAAU,AAAD,GAAI,KAAK,IAAI4zB,EAAE,KAAK,EAAEA,EAAE,IAAI,AAAD,EAAG,GAAG,UAAW,QAAQ/zB,CAAAA,EAAEG,EAAE,UAAU,AAAD,GAAI,KAAK,IAAIH,EAAE,KAAK,EAAEA,EAAE,IAAI,AAAD,EAAG,GAAG,UAAW,QAAQc,CAAAA,EAAEX,EAAE,UAAU,AAAD,GAAI,KAAK,IAAIW,EAAE,KAAK,EAAEA,EAAE,IAAI,AAAD,EAAG,GAAG,KAAK,EAAE,UAAU,AAAC,QAAQsE,CAAAA,EAAEjF,EAAE,UAAU,AAAD,GAAI,KAAK,IAAIiF,EAAE,KAAK,EAAEA,EAAE,UAAU,AAAD,EAAG,SAAS,KAAK,CAAC,GAAGyuB,CAAC,EAAtvEF,IAAU,OAAO,IAAIG,EAAE,SAAS,CAAC,CAAC,SAASD,EAAE,QAAQ,IAAK,QAAQF,CAAAA,EAAExzB,EAAE,UAAU,AAAD,GAAI,KAAK,IAAIwzB,EAAE,KAAK,EAAEA,EAAE,MAAM,AAAD,EAAGC,EAAE,YAAY,CAAC,SAAS,CAAC,IAAK,QAAQpvB,CAAAA,EAAErE,EAAE,UAAU,AAAD,GAAI,KAAK,IAAIqE,EAAE,KAAK,EAAEA,EAAE,MAAM,AAAD,EAAGovB,EAAE,YAAY,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,WAAY,QAAQpjB,CAAAA,EAAErQ,EAAE,UAAU,AAAD,GAAI,KAAK,IAAIqQ,EAAE,KAAK,EAAEA,EAAE,IAAI,AAAD,GAAI1P,EAAE,KAAK,EAAE,CAAC,MAAMX,EAAE,UAAU,CAAC,MAAM,CAACA,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,YAAa,QAAQyD,CAAAA,EAAEzD,EAAE,UAAU,AAAD,GAAI,KAAK,IAAIyD,EAAE,KAAK,EAAEA,EAAE,IAAI,AAAD,EAAG,CAAC,UAAU,CAAC,SAAS,EAAE7D,EAAE,CAAC,CAAC,MAAMI,EAAE,UAAU,CAAC,MAAM,CAACA,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,WAAY,QAAQ8F,CAAAA,EAAE9F,EAAE,UAAU,AAAD,GAAI,KAAK,IAAI8F,EAAE,KAAK,EAAEA,EAAE,IAAI,AAAD,GAAInF,EAAE,CAAC,UAAU,gBAAgB,MAAMX,EAAE,UAAU,CAAC,MAAM,CAACA,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,SAAU,QAAQgkB,CAAAA,EAAEhkB,EAAE,UAAU,AAAD,GAAI,KAAK,IAAIgkB,EAAE,KAAK,EAAEA,EAAE,KAAK,AAAD,EAAG2P,EAAE,aAAa,CAAC,IAAI,CAAC,WAAY,QAAQ/mB,CAAAA,EAAE5M,EAAE,UAAU,AAAD,GAAI,KAAK,IAAI4M,EAAE,KAAK,EAAEA,EAAE,KAAK,AAAD,EAAG+mB,EAAE,aAAa,CAAC,MAAM,CAAC,UAAW,QAAQhnB,CAAAA,EAAE3M,EAAE,UAAU,AAAD,GAAI,KAAK,IAAI2M,EAAE,KAAK,EAAEA,EAAE,KAAK,AAAD,EAAGgnB,EAAE,aAAa,CAAC,KAAK,CAAC,YAAa,QAAQlsB,CAAAA,EAAEzH,EAAE,UAAU,AAAD,GAAI,KAAK,IAAIyH,EAAE,KAAK,EAAEA,EAAE,KAAK,AAAD,EAAGksB,EAAE,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,AAAC,QAAQC,CAAAA,EAAE5zB,EAAE,UAAU,AAAD,GAAI,KAAK,IAAI4zB,EAAE,KAAK,EAAEA,CAAC,CAAC,aAAa,AAAD,EAAG,aAAa,AAAC,QAAQ/zB,CAAAA,EAAEG,EAAE,UAAU,AAAD,GAAI,KAAK,IAAIH,EAAE,KAAK,EAAEA,EAAE,UAAU,AAAD,EAAG,cAAc,AAAC,QAAQoF,CAAAA,EAAEjF,EAAE,UAAU,AAAD,GAAI,KAAK,IAAIiF,EAAE,KAAK,EAAEA,EAAE,QAAQ,AAAD,EAAG,WAAW,KAAK,CAAC,EAAE,EAA74C0H,GAAE,CAAGqX,CAAAA,GAAG,CAAO,OAAOpX,CAAC,EAAipI5M,EAAE,UAAU,CAACqE,IAAI,IAAI,IAAMrE,KAAKqQ,EAAEhM,EAAE,UAAU,CAAC,CAAC,SAASrE,CAAC,GAAG,OAAO,SAASA,CAAC,CAACwzB,CAAC,EAAE,OAAOxP,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAG,YAAY,GAAG,CAACwP,GAAG,CAACA,EAAE,QAAQ,EAAE,QAAQA,EAAE,QAAQ,CAAC,OAAOxzB,EAAE,GAAG,SAASwzB,EAAE,QAAQ,CAAC,OAAOG,EAAE,MAAM,CAAC,MAAM,CAAC3zB,GAAG,GAAG,WAAWwzB,EAAE,QAAQ,CAAC,OAAOvf,QAAQ,GAAG,CAAC,oBAAoB0f,EAAE,MAAM,CAAC,QAAQ,CAAC3zB,GAAG,GAAG,WAAWwzB,EAAE,QAAQ,CAAC,OAAOG,EAAE,MAAM,CAAC,cAAc,CAAC3zB,EAAG,OAAM,AAAImC,MAAM,qEAAqE,EAAG,EAAEkC,EAAEmvB,EAAE,EAAG,CAAC,EAAE,IAAI,SAASxzB,CAAC,CAACwzB,CAAC,CAACnvB,CAAC,EAAE,aAAa,IAAIgM,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,EAAG9Q,CAAAA,OAAO,MAAM,CAAC,SAASS,CAAC,CAACwzB,CAAC,CAACnvB,CAAC,CAACgM,CAAC,EAAE,KAAK,IAAIA,GAAIA,CAAAA,EAAEhM,CAAAA,EAAG9E,OAAO,cAAc,CAACS,EAAEqQ,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,WAAW,OAAOmjB,CAAC,CAACnvB,EAAE,CAAC,EAAE,EAAE,SAASrE,CAAC,CAACwzB,CAAC,CAACnvB,CAAC,CAACgM,CAAC,EAAE,KAAK,IAAIA,GAAIA,CAAAA,EAAEhM,CAAAA,EAAGrE,CAAC,CAACqQ,EAAE,CAACmjB,CAAC,CAACnvB,EAAE,GAAGZ,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,SAASzD,CAAC,CAACwzB,CAAC,EAAE,IAAI,IAAInvB,KAAKrE,EAAE,YAAYqE,GAAG9E,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACi0B,EAAEnvB,IAAIgM,EAAEmjB,EAAExzB,EAAEqE,EAAE,CAAE9E,CAAAA,OAAO,cAAc,CAACi0B,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG/vB,EAAEY,EAAE,IAAImvB,GAAG/vB,EAAEY,EAAE,KAAKmvB,EAAE,EAAE,IAAI,CAACxzB,EAAEwzB,KAAK,aAAaj0B,OAAO,cAAc,CAACi0B,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,IAAIA,IAAI,YAAaA,CAAAA,EAAE,OAAO,CAACxzB,CAAC,CAAC,EAAEqE,EAAE,CAAC,EAAE,SAASrE,EAAEqQ,CAAC,EAAE,GAAGhM,CAAC,CAACgM,EAAE,CAAC,OAAOhM,CAAC,CAACgM,EAAE,CAAC,OAAO,CAAC,IAAI5M,EAAEY,CAAC,CAACgM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAOmjB,CAAC,CAACnjB,EAAE,CAAC,IAAI,CAAC5M,EAAE,OAAO,CAACA,EAAEA,EAAE,OAAO,CAACzD,GAAGyD,EAAE,OAAO,EAAE,IAAY,EAAzqWtE,EAAO,OAAO,CAACq0B,EAAE,EAAQ,M,2BCG1F,SAAS05C,EAAO7oE,CAAC,EACf,OAAOA,AAAM,IAANA,EAAU,IAAM,GACzB,CAYAjF,EAAQ,SAAS,CAAG8tE,C,2LCjBUC,E,ICmBlBC,ECnB8wKptE,ECAvkCA,E,gBCI7sIgsD,ECGiBqhB,ECSLnuB,EACZpnC,EACAw1D,ECRkBC,ELVsvK,ECAvkC,EKqhB5rI/5C,E,8VPlgBJ,IAAK45C,G,CAAAA,E,wMAAAA,GCnBW,IAAM,EAAE,IAAI,aAAa,OAAO,CAAC,OAAO,IAAI,AAAC,IAAG3oE,KAAK,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAwI,EAAE,CAAC,GAAGzE,IAAIwzB,GAAGxzB,EAAE,WAAW,CAAC,CAACA,EAAEwzB,IAAIA,EAAExzB,GAAGwzB,GAAG,EAAExzB,GAAGwzB,GAAG3rB,MAAM,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC2rB,EAAExzB,GAAG,EAAEA,GAAGwzB,GAAG3rB,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC2rB,EAAExzB,GAAG,EAAEA,GAAGA,EAAE,OAAO,CAAC,WAAWA,GAAG,IAAIA,EAAE,WAAW,IAAI,EAAEA,GAAGA,EAAE,EAAE,EAAE,IAAI,EAAEwzB,GAAG,CAAC,CAAC,EAAE,EAAEA,GAAG,EAAE,EAAE,AAAC,EAACxzB,EAAE,EAAE,GAAGA,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,SAAQ,EAAGA,CAAC,CAACwzB,EAAE,EAAE,EAAE,CAAC,EAAEj0B,OAAO,IAAI,EAAES,GAAG,GAAG,EAAE,CAAC,MAAM,MAAM,YAAY,YAAY,OAAO,OAAO,cAAc,eAAe,UAAU,WAAW,OAAO,CAAC,EAAEA,GAAG,EAAE,OAAO,CAACA,IAAI,EAAE,EAAE,CAAC,CAAC,SAASA,CAAC,CAAC,GAAGA,EAAE,aAAa,GAAG,EAAE,CAAC,CAAC,SAASA,CAAC,CAAC,YAAYwzB,CAAC,CAAC,GAAGxzB,GAAGwzB,EAAE,iCAAiC,GAAG,EAAExzB,QAAoLA,QAAjL,AAACA,CAAAA,GAAgDT,OAAO,IAAI,CAACS,GAAG,MAAM,CAAC,GAAG,MAAM,CAAlE8F,AAAI9F,GAAG,KAAK,IAAI8F,AAAd9F,CAAe,CAACA,EAAE,EAAkD,MAAM,CAAC,CAACwzB,EAAE1tB,KAAK,IAAMrC,EAAEzD,CAAC,CAAC8F,EAAE,CAAC,OAAO0tB,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE1tB,EAAE,WAAW,GAAG,CAAC,EAAErC,EAAE,CAAC,CAAC,EAAE+vB,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAGxzB,IAAOA,CAAHA,EAAkDA,GAA7C,SAAS,CAAC,CAAC,aAAa,EAAEA,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAO,EAAEA,GAAG,EAAEA,GAAG,AAAC,EAAC,CAAC,UAAUA,CAAC,CAAC,GAAG,WAAW,OAAOA,GAAGA,GAAGA,GAAGA,IAAI,cAAc,EAAC,EAAGA,IAAG,EAAEA,GAAG,CAACqF,MAAMszD,WAAW34D,KAAK+G,SAAS/G,GAAwC,EAAE,CAACA,EAAEwzB,EAAE,CAAC,CAAC1tB,EAAE,GAAG,GAAG,AAAC9F,CAAAA,GAAG,EAAC,EAAG,MAAM,EAAEwzB,EAAExzB,EAAE,AAAI6H,MAAM2rB,EAAExzB,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC8F,GAAG9F,EAAqG,SAAS,IAAI,MAAO,GAAET,OAAO,MAAM,CAACA,OAAO,MAAM,CAAC,IAAI,GAAG,SAASS,CAAC,EAAE,IAAI,IAAIwzB,EAAE,EAAEA,EAAErtB,UAAU,MAAM,CAACqtB,IAAI,CAAC,IAAI1tB,EAAEK,SAAS,CAACqtB,EAAE,CAAC,IAAI,IAAI/vB,KAAKqC,EAAEvG,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACuG,EAAErC,IAAKzD,CAAAA,CAAC,CAACyD,EAAE,CAACqC,CAAC,CAACrC,EAAE,AAAD,CAAE,CAAC,OAAOzD,CAAC,GAAI,MAAM,IAAI,CAACmG,UAAU,CAAC,SAAS,EAAEnG,CAAC,CAACwzB,CAAC,EAAE,GAAG,MAAMxzB,EAAE,MAAM,CAAC,EAAE,IAAI8F,EAAErC,EAAEugB,EAAE,CAAC,EAAEpX,EAAErN,OAAO,IAAI,CAACS,GAAG,IAAIyD,EAAE,EAAEA,EAAEmJ,EAAE,MAAM,CAACnJ,IAAI+vB,EAAE,OAAO,CAAC1tB,EAAE8G,CAAC,CAACnJ,EAAE,GAAG,GAAIugB,CAAAA,CAAC,CAACle,EAAE,CAAC9F,CAAC,CAAC8F,EAAE,AAAD,EAAG,OAAOke,CAAC,CAAC,IAAM,EAAE,CAAC,QAAQ,KAAK,cAAc,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAMwP,CAAC,CAAC,GAAG,IAAE,iBAAiBA,EAAE,IAAI,EAAE,EAAE,IAAK,EAAC,KAAKA,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM1tB,CAAC,CAAC,GAAGrC,CAAC,CAAC,YAAYugB,CAAC,CAAC,SAASpX,CAAC,CAAC,CAAC,CAAC4mB,EAAEnvB,EAAE,EAAEmvB,EAAE,KAAK,CAAC,GAAG,OAAO1tB,EAAE,IAAE,CAAC,KAAK,EAAE8G,EAAE,UAAU,GAAG,EAAEnJ,EAAE,CAAC,KAAK,EAAEA,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAACY,EAAE,CAAC,SAAO,CAACyB,GAAGke,EAAE,IAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,IAAK,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAWwP,CAAC,CAAC,UAAU1tB,CAAC,CAAC,YAAYrC,CAAC,CAAC,UAAUugB,CAAC,CAAC,CAAC,GAAGwP,GAAG1tB,GAAGrC,EAAE,IAAE,mBAAmB,CAAC,UAAUugB,EAAE,UAAUle,EAAE,YAAYrC,CAAC,EAAE+vB,EAAE,SAAO,CAACA,GAAG,IAAI,KAAK,CAAC,GAA4iB,EAAE,CAAC,WAAW,CAAC,EAAE,IAAK,EAAC,KAAKA,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS1tB,CAAC,CAAC,CAAC,CAAC0tB,EAAE/vB,EAAE,EAAE+vB,EAAE,KAAK,CAAC,GAAG,OAAO,IAAE,mBAAmB/vB,EAAEqC,EAAE,CAAC,GAAG,EAAE,CAAC,UAAU,UAAU,iBAAiB,WAAW,YAAY,QAAQ,OAAO,CAAC,EAAE,CAAC0tB,EAAE1tB,EAAE,EAAE,GAAG,KAAK,IAAMrC,EAAE,CAAC,EAAE+vB,EAAE,EAAE1tB,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM0tB,CAAC,CAAC,IAAI,GAAK,CAAC,QAAQ1tB,CAAC,CAAC,QAAQke,CAAC,CAAC,eAAepX,CAAC,CAAC,SAASvI,CAAC,CAAC,UAAUgM,CAAC,CAAC,MAAM5I,CAAC,CAAC,KAAKkF,CAAC,CAAC,CAAC6mB,EAAE5zB,EAAE,EAAE4zB,EAAE,GAAG,OAAO,IAAE,CAAC,EAAE/vB,EAAE,EAAEqC,EAAE,CAAC,qBAAqB,EAAEA,EAAE,CAAC,CAAC,CAAC,GAAG,EAAEke,EAAE,CAAC,0BAA0B,EAAEpX,GAAG,MAAM,eAAe,EAAEoX,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAErX,GAAG,CAAC,CAAC/M,EAAEyE,EAAE,IAAE,EAAE,CAAC,SAASA,EAAE,UAAUgM,GAAG,MAAM,GAAG,KAAK,EAAE5I,GAAG,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,iCAAiC,iBAAyI,IAAtH,EAAE,uCAAuC,iBAAmB,EAAE,uCAAuC,iBAAmB,EAAE,qCAAqC,kBAAmB,EAAE,yDAAyD,iBAAmB,EAAE,sCAAsC,iBAAqzDzH,CAAHA,EAAqE,GAAI,GAAE,CAAC,GAAxE,CAACA,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQA,CAAC,CAACA,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQA,CAAC,CAACA,EAAE,MAAM,CAAC,EAAE,CAAC,SAAqB,IAAo/G,GAAG,CAAC,YAAY,YAAY,cAAc,aAAa,WAAW,KAAK,eAAe,cAAc,QAAQ,YAAY,SAAS,WAAW,YAAY,aAAa,UAAU,SAAS,QAAQ,WAAW,CAA4wB0M,GAAG,CAAC5G,EAAErC,EAAE,EAAE,GAAG,KAAK,IAAMugB,EAAE,CAAC,GAAG,GAAG,EAAEpX,EAAE5M,IAAI,IAAMwzB,EAAExzB,EAAE,KAAK,CAAC,OAAM,AAACwzB,GAAG,YAAW1tB,GAAG,UAAUA,CAAAA,EAAI,CAAC0tB,EAAHA,CAAI,EAAEnvB,EAAE,CAACrE,EAAEwzB,KAAKxzB,EAAE,iBAAiB,CAAC,WAAW,OAAOwzB,EAAEA,EAAE,GAAG,2BAA2BA,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAMA,CAAC,CAAC,IAAI,GAAK,CAAC,UAAUC,EAAE,SAAS,CAAC,UAAUpjB,CAAC,CAAC,YAAY5I,CAAC,CAAC,WAAWkF,CAAC,CAAC,SAAS/M,CAAC,CAAC,GAAG+zB,EAAE3P,EAAE,EAAE,CAAC,aAAa0P,CAAC,CAAC,YAAY/yB,CAAC,CAAC,MAAMsE,CAAC,CAAC,UAAUpF,CAAC,CAAC,OAAOmG,CAAC,CAAC,SAASgO,CAAC,CAAC,UAAUjO,CAAC,CAAC,WAAW6yD,CAAC,CAAC,QAAQtkC,CAAC,CAAC,OAAOJ,CAAC,CAAC,MAAMW,CAAC,CAAC,SAASb,CAAC,CAAC,CAACR,EAAYoC,EAAE,EAAV,EAAEpC,EAAE,KAAW,OAAO,IAAE,CAAC,YAAY,EAAExtB,EAAE,SAAS,GAAG,EAAEvC,EAAE,CAAC,CAAC,CAAC,UAAUgwB,EAAE,MAAMoB,CAAC,EAAE,CAACj1B,EAAE,IAAE,0BAA0BA,GAAG,KAAK,EAAE,IAAE,CAAC,oBAAoB,EAAEkG,EAAE,iBAAiB,EAAE6tB,EAAE,CAAC,EAAEiC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI51B,CAAC,CAAC,IAAI,AAAC,EAAC,CAAC,UAAUA,CAAC,CAAC,GAAG,CAAC,CAACA,GAAI,YAAW,OAAOA,EAAEA,EAAEA,GAAE,CAAC,EAAGwzB,IAAIxzB,EAAE,KAAK,GAAGH,GAAGy1B,EAAE,gBAAgB,CAAC,IAAI,CAACt1B,GAAG,UAAU8F,GAAGwvB,EAAE,KAAK,CAAC,IAAI,CAACt1B,EAAE,EAAE,QAAQs0B,EAAEt0B,IAAIs0B,EAAEt0B,EAAE4M,EAAE5M,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU+F,EAAE/F,IAAI+F,EAAE/F,EAAE4M,EAAE5M,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW44D,EAAE54D,IAAI44D,EAAE54D,EAAE4M,EAAE5M,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAOk0B,EAAE,SAASF,EAAE,CAAC,CAAC,IAAIh0B,CAAC,CAAC,IAAcqE,EAAFrE,EAAMg0B,EAAEpnB,EAAR5M,GAAAA,GAAgB,EAAE,KAAK,EAAE,SAASA,IAAI,IAAMwzB,EAAExzB,EAAE,MAAM,CAAC,GAAGwzB,EAAE,CAAC,IAAMxzB,EAAE4M,EAAE4mB,EAAGxf,CAAAA,GAAGA,EAAEhU,GAAGg0B,GAAG3vB,EAAEmvB,EAAEQ,EAAEh0B,EAAEwzB,GAAG,CAAC,EAAE,MAAME,CAAC,GAAG,IAAE,EAAE,CAAC,MAAMzuB,EAAE,GAAG0uB,EAAE,YAAYhzB,EAAE,SAAS,CAAE,MAAK,IAAI+yB,GAAG,CAACF,EAAE,WAAW,EAAE,WAAW1tB,GAAG,UAAUA,GAAG,UAAUA,CAAAA,CAAE,GAAG,IAAE,EAAE,CAAC,WAAW6G,EAAE,UAAU0D,EAAE,YAAY5I,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE+lE,GAAG9gE,GAAG,QAAw4B+gE,IAA73B/gE,GAAG,YAAeA,GAAG,UAAaA,GAAG,OAAUA,GAAG,SAAYA,GAAG,QAAQ,gBAAmBA,GAAG,SAAiyB,IAAK,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU8mB,EAAE,SAAS,CAAC,SAAS1tB,CAAC,CAAC,MAAMrC,CAAC,CAAC,QAAQugB,CAAC,CAAC,SAASpX,CAAC,CAAC,YAAYvI,CAAC,CAAC,MAAMovB,CAAC,CAAC,CAAC,GAAG,IAAE,MAAM,CAAC,UAAUD,EAAE,MAAMC,CAAC,EAAE,IAAE,QAAQ,CAAC,IAAE,mCAAmC,CAAC,QAAQzP,EAAE,SAASpX,EAAE,QAAQ9G,EAAE9F,IAAIA,EAAE,MAAM,EAAE,KAAK,IAAIA,EAAE,MAAM,CAAC,OAAO,EAAE8F,EAAE9F,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,GAAGyD,EAAE,UAAU,OAAOA,EAAE,IAAE,OAAOA,GAAGA,EAAE,KAAK,EAAE,EAAEY,GAAG,IAAE,EAAE,CAAC,UAAU,sBAAsB,WAAWA,CAAC,GAAG,IAAktGqpE,GAAG,IAAK,EAAC,SAAS,CAAC,CAAC,IAAI1tE,CAAC,CAAC,MAAM,CAAC,QAAQwzB,CAAC,CAAC,SAAS1tB,CAAC,CAAC,CAAC,IAAI,IAAMrC,EAAE6xB,EAAE,KAAK,CAAC,IAAI,CAACt1B,EAAEwzB,EAAG1tB,CAAAA,GAAGA,EAAErC,EAAE,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG+vB,CAAC,CAAC,MAAM1tB,CAAC,CAAC,YAAYrC,CAAC,CAAC,YAAYugB,CAAC,CAAC,YAAYpX,CAAC,CAAC,QAAQvI,CAAC,CAAC,YAAYovB,CAAC,CAAC,CAAC,GAAG,IAAE,CAAC,MAAM,EAAEzP,EAAE,sBAAsB,GAAG,EAAEpX,EAAE,gBAAgB,GAAG,IAAI,EAAE4mB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAE,iBAAiB,CAAC,IAAE,KAAK1tB,GAAG2tB,GAAG,UAAU,OAAOhwB,EAAE,SAAO,CAACA,GAAG,IAAI,UAAU,OAAOA,EAAE,IAAE,IAAIA,GAAGA,EAAE,EAAEY,EAAE,IAAE,gBAAgBA,EAAE,GAAG,CAACmvB,GAAG,IAAE,GAAE,EAAE,CAAC,EAAEA,EAAE,CAAC,UAAU,aAAa,MAAM,KAAK,EAAE,CAAC,GAAm0Em6C,GAAG,IAAK,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAGn6C,CAAC,CAAC,QAAQ1tB,CAAC,CAAC,MAAMrC,CAAC,CAAC,SAASugB,CAAC,CAAC,UAAUpX,EAAE,SAAS,CAAC,QAAQvI,CAAC,CAAC,SAASovB,CAAC,CAAC,CAAC,GAAG,IAAE,MAAM,CAAC,UAAU7mB,CAAC,EAAE,IAAE,QAAQ,CAAC,IAAE,CAAC,mCAAmC,EAAE9G,EAAE,CAAC,EAAEzB,EAAE,oBAAoB,GAAG,EAAEovB,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC,QAAQzP,EAAE,IAAIA,EAAEwP,GAAG,KAAK,CAAC,GAAG,IAAE,OAAO,SAAO,CAAC/vB,IAAI,EAAE,GAAGmqE,GAAG,KAAK,IAAM9nE,EAAE,CAAC,QAAQ,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU9F,CAAC,CAAC,aAAawzB,CAAC,CAAC,CAAC,IAAI1tB,EAAE,YAAY,CAAC9F,EAAE8F,EAAE,SAAS,CAAC9F,GAAGwzB,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,GAAGA,CAAC,CAAC,UAAU/vB,CAAC,CAAC,OAAOugB,CAAC,CAAC,UAAUpX,EAAE,SAAS,CAAC,MAAMvI,EAAE,EAAE,CAAC,SAASovB,CAAC,CAAC,YAAYpjB,CAAC,CAAC,QAAQ5I,CAAC,CAAC,YAAYkF,CAAC,CAAC,cAAc/M,CAAC,CAAC,SAASD,CAAC,CAAC,CAAC,IAAImG,EAAE,YAAY,GAAGrC,GAAIqC,CAAAA,EAAE,YAAY,CAACA,EAAE,SAAS,CAACrC,CAAAA,EAAG,GAAK,CAAC,QAAQkwB,CAAC,CAAC,UAAUD,CAAC,CAAC,CAAC5tB,EAAEnF,EAAEX,IAAI8F,EAAE,SAAS,CAAC9F,EAAEL,GAAGA,EAAEK,EAAE,EAAE,OAAOgkB,GAAIpX,CAAAA,GAAG,QAAO,EAAG,IAAE,MAAM,CAAC,GAAG4mB,EAAE,UAAU5mB,CAAC,EAAE,CAAC,IAAE,MAAM,CAAC,UAAU,qBAAqB,EAAE,IAAE,EAAE,CAAC,GAAG4mB,EAAE,MAAMnvB,EAAE,YAAYsI,CAAC,IAAI0D,EAAE,IAAE,gBAAgB,SAAO,CAACA,IAAI,MAAM5I,EAAE,GAAG,CAAC+rB,GAAG,IAAEm6C,GAAG,EAAE,CAAC,EAAEn6C,EAAE,CAAC,SAAS7yB,EAAE,QAAQgzB,EAAE,SAASF,EAAE,UAAU7zB,EAAE,QAAQ4zB,EAAE,EAAE,GAAGE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAEm6C,GAAG,KAAK,IAAMr6C,EAAE,CAAC,EAAE1tB,EAAE9F,GAAGA,EAAE,GAAG,CAACA,GAAGA,EAAE,EAAE,EAAE,IAAI,CAAC,IAAIyD,EAAE,CAACzD,EAAEwzB,EAAE1tB,EAAE,CAAC,CAAC,GAAGA,GAAI0tB,CAAAA,aAAa3rB,OAAQ7H,CAAAA,GAAG,UAAU,OAAOA,CAAAA,EAAGwzB,EAAE,OAAO,CAACxzB,IAAI,EAAEwzB,IAAIxzB,CAAAA,EAAG,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAUA,CAAC,CAAC,aAAayD,CAAC,CAAC,QAAQugB,CAAC,CAAC,CAAC,IAAIwP,EAAE,GAAG,CAAC1tB,EAAEke,GAAG,IAAMpX,EAAE5M,GAAGyD,CAAE+vB,CAAAA,EAAE,SAAS,CAACxzB,aAAa6H,MAAM,IAAI7H,EAAE,CAACA,EAAEwzB,EAAE,YAAY,CAAC,MAAM5mB,EAAEA,aAAa/E,MAAM+E,EAAE,MAAM,CAAC5M,GAAG,MAAMA,GAAG,CAAC4M,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,GAAGoX,CAAC,CAAC,OAAOpX,CAAC,CAAC,UAAUvI,EAAE,SAAS,CAAC,UAAUovB,CAAC,CAAC,IAAIpjB,CAAC,CAAC,QAAQ5I,CAAC,CAAC,SAASkF,CAAC,CAAC,MAAM/M,CAAC,CAAC,WAAWD,CAAC,CAAC,YAAY+zB,EAAE,EAAE,CAAC,YAAY/yB,CAAC,CAAC,SAASsE,CAAC,CAAC,SAASpF,CAAC,CAAC,QAAQmG,EAAE,EAAE,CAAC,gBAAgB4tB,CAAC,CAAC,SAAS5f,CAAC,CAAC,CAAC,IAAIwf,EAAE,SAAS,GAAGC,GAAID,CAAAA,EAAE,YAAY,CAACC,EAAEA,aAAa5rB,MAAM4rB,EAAE,CAACA,EAAE,CAAC,KAAK,GAAG,GAAK,CAAC,aAAa1tB,CAAC,CAAC,CAACytB,EAAEolC,EAAE5kD,EAAErH,EAAE,KAAK,IAAM3M,EAAEwzB,EAAE,QAAQ,EAAEA,EAAE,QAAQ,CAAC,iBAAiB,GAAG1tB,EAAE9F,EAAEA,EAAE,MAAM,CAAC,GAAG,EAAEA,CAAC,CAAC,EAAE,EAAEA,EAAE,GAAG,CAACA,GAAG,CAACA,GAAGA,EAAE,MAAM,CAACA,GAAG,OAAOA,GAAG,KAAK,IAAIA,GAAG,KAAK,CAAEwzB,CAAAA,EAAE,YAAY,CAAC1tB,GAAG,EAAE,CAACkO,EAAEwf,EAAE,YAAY,CAAC,EAAExzB,IAAI,GAAGA,GAAGA,EAAE,aAAa,CAAC,CAAC,IAAM8F,EAAE9F,EAAE,aAAa,CAACyD,EAAE,EAAEqC,EAAE,KAAK,EAAE,CAACA,EAAE,KAAK,CAACA,EAAE,KAAK,AAAC0tB,CAAAA,EAAE,YAAY,CAAmB,CAAC/vB,EAAE,AAAG,CAAC+vB,EAAE,YAAY,EAAExf,EAAEwf,EAAE,YAAY,CAAC,EAAE,KAAK,CAAE5mB,CAAAA,GAAIvI,CAAAA,GAAG,QAAO,EAAG,IAAMiwB,EAAE,CAAC7sB,EAAE,IAAI,CAACzH,GAAGyD,EAAEzD,EAAE,EAAE,CAAC+F,IAAImuB,EAAEzsB,EAAE,MAAM,CAAC,CAACzH,EAAEwzB,IAAKA,CAAAA,EAAE,KAAK,EAAExzB,AAAmB,EAAnBA,EAAE,OAAO,CAACwzB,EAAE,KAAK,GAAKxzB,EAAE,IAAI,CAACwzB,EAAE,KAAK,EAAExzB,CAAAA,EAAG,EAAE,EAAE,OAAO,IAAE,4BAA4B,CAAC,UAAUqE,EAAE,IAAIgM,EAAE,SAAS1D,EAAE,CAAC,CAAC,IAAI3M,CAAC,CAAC,GAAGwzB,EAAE,OAAO,CAACxzB,EAAE,KAAK,CAAC,EAAE,CAACiF,GAAG,IAAE,0BAA0BA,GAAG,IAAE,SAAS,CAAC,GAAG+e,EAAE,MAAMpkB,EAAE,SAASC,EAAE,SAAS8M,EAAE,SAAS,CAAC,CAAC,IAAI3M,CAAC,CAAC,IAAIwzB,EAAE,QAAQ,CAAC8B,EAAE,UAAU,CAAC,IAAI,CAACt1B,EAAE,CAAC,QAAQgG,EAAE,gBAAgB4tB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,IAAI5zB,CAAC,CAAC,IAAI,GAAG2M,EAAE,CAAC,IAAM3M,EAAEiF,EAAE,EAAE,CAAE,EAACuuB,EAAE,OAAO,EAAEA,EAAE,OAAO,EAAEA,EAAE,OAAO,CAAC,UAAU,EAAEA,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,GAAGA,EAAE,OAAO,CAAC,UAAU,CAACxzB,EAAE,CAAC,UAAU,EAAEwzB,EAAE,OAAO,CAAC,UAAU,CAACxzB,EAAE,CAAC,UAAU,CAAC,EAAE,EAAGwzB,CAAAA,EAAE,OAAO,CAACA,EAAE,OAAO,CAAC,UAAU,CAACxzB,EAAE,CAAC,UAAU,CAAC,EAAE,AAAD,EAAGwzB,EAAE,OAAO,EAAEA,EAAE,OAAO,CAAC,KAAK,EAAEA,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAEE,EAAE,EAAE,CAAC,GAAIF,CAAAA,EAAE,OAAO,CAAC,KAAK,CAACA,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAEE,EAAE,EAAE,CAAC,CAAC,GAAE,CAAE,CAAC,IAAMjwB,EAAEqC,EAAE2B,GAAOuc,EAAEyP,GAAGD,EAAE,SAAS,GAAGC,EAAE,QAAQ,EAAGD,CAAAA,EAAE,GAAG,GAAG/vB,GAAI+vB,CAAAA,EAAE,GAAG,CAAC/vB,EAAEugB,EAAE,CAAC,GAAG,AAACwP,CAAAA,EAAE,SAAS,YAAY3rB,OAAO4rB,aAAa5rB,MAAM2rB,EAAE,SAAS,CAAC,IAAI,KAAKC,EAAE,IAAI,GAAGD,EAAE,SAAS,GAAGC,CAAAA,GAAKD,CAAAA,EAAE,SAAS,CAACC,EAAEzP,EAAE,CAAC,GAAGA,GAAIwP,CAAAA,EAAE,QAAQ,CAAC8B,EAAE,UAAU,CAAC,IAAI,CAACt1B,EAAE,CAAC,QAAQgG,EAAE,gBAAgB4tB,CAAC,EAAC,CAAE,EAAE,SAASglC,CAAC,EAAE,IAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,SAAS,CAAC,CAACtkC,GAAG,KAAK,CAAC,EAAEZ,GAAG,IAAIQ,EAAE,MAAM,CAACzsB,EAAE,GAAG,CAAC,CAAC+rB,EAAE1tB,KAAK,IAAIke,EAAE,OAAO,IAAE,SAAS,CAAC,MAAMwP,EAAE,EAAE,CAAC,MAAMA,EAAE,KAAK,EAAE,KAAK,EAAE,SAASA,EAAE,QAAQ,CAAC,OAAO,KAAK,EAAE,YAAYA,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS/vB,EAAE+vB,EAAE,EAAE,CAACztB,EAAE,IAAID,GAAGwuB,GAAG,CAACZ,EAAE,EAAE,MAAO1P,CAAAA,EAAEwP,EAAE,KAAK,AAAD,EAAG,KAAK,EAAExP,EAAE,OAAO,CAAC,QAAQ,KAAK,GAAGkQ,EAAE,GAAG,CAACV,GAAG,IAAE,WAAW,CAAC,MAAMA,CAAC,EAAE/rB,EAAE,MAAM,CAACzH,GAAGA,EAAE,KAAK,GAAGwzB,GAAG,GAAG,CAAC,CAACA,EAAE1tB,KAAK,IAAIke,EAAE,OAAO,IAAE,SAAS,CAAC,MAAMwP,EAAE,EAAE,CAAC,MAAMA,EAAE,KAAK,EAAE,KAAK,EAAE,SAASA,EAAE,QAAQ,CAAC,OAAO,KAAK,EAAE,YAAYA,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS/vB,EAAE+vB,EAAE,EAAE,CAACztB,EAAE,IAAID,GAAGwuB,GAAG,CAACZ,EAAE,EAAE,MAAO1P,CAAAA,EAAEwP,EAAE,KAAK,AAAD,EAAG,KAAK,EAAExP,EAAE,OAAO,CAAC,QAAQ,KAAK,MAAM,IAAE,EAAE,CAAC,MAAMpkB,EAAE,YAAYe,CAAC,GAAGhB,GAAG,IAAE,EAAE,CAAC,WAAWA,CAAC,GAAG,CAAC,CAAC,CAAC,EAAilBmuE,GAAG,KAAK,IAAMt6C,EAAE,CAAC,EAAE1tB,EAAE,CAAC9F,EAAEwzB,IAAIA,GAAGxzB,EAAE,OAAO,CAAC,KAAK,IAAI,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAASyD,CAAC,CAAC,cAAcugB,CAAC,CAAC,KAAKpX,CAAC,CAAC,UAAUvI,CAAC,CAAC,MAAMovB,CAAC,CAAC,SAASpjB,CAAC,CAAC,OAAO5I,CAAC,CAAC,UAAUkF,CAAC,CAAC,oBAAoB/M,CAAC,CAAC,CAAC,IAAI,IAAMD,EAAEiN,EAAE,MAAM,CAAC5M,GAAGA,EAAE,MAAM,EAAE,KAAK,GAAG2zB,EAAE3P,GAAIrkB,CAAAA,EAAEmG,EAAEnG,EAAE,KAAK,CAACA,EAAE,EAAE,EAAE,EAAC,EAAG,OAAO,IAAE,OAAO,CAAC,IAAE,WAAW,IAAE,UAAW,UAAS8D,EAAE,oBAAoB,EAAC,EAAG,CAAC,UAAUY,EAAE,MAAMovB,EAAE,SAAS,CAAC,CAAC,IAAIzzB,CAAC,CAAC,IAAIwzB,EAAE,QAAQ,CAAC8B,EAAE,IAAI,CAAC,IAAI,CAACt1B,EAAE,CAAC,SAASqQ,EAAE,OAAO5I,EAAE,oBAAoB7H,EAAE,UAAU+M,CAAC,EAAE,EAAE,SAAS,KAAK,GAAGgnB,EAAE,CAAC,IAAM3zB,EAAE04D,SAAS,cAAc,CAAC,CAAC,IAAI,EAAE/kC,EAAE,CAAC,CAAE3zB,CAAAA,GAAGA,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,IAAIwzB,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE5mB,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU4mB,CAAC,CAAC,MAAMxP,CAAC,CAAC,GAAG3f,CAAC,CAAC,OAAOovB,CAAC,CAAC,SAASpjB,CAAC,CAAC,OAAO5I,CAAC,CAAC,KAAKkF,CAAC,CAAC,GAAG,IAAE,CAAC,MAAM,EAAE0D,EAAE,YAAY,GAAG,EAAE,UAAU5M,EAAE,CAAC,MAAM,EAAEgB,KAAK,KAAK,CAAC,GAAGmI,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU4mB,CAAC,EAAE,IAAE,CAAC,SAAS,EAAE1tB,EAAEke,EAAE3f,GAAG,CAAC,EAAEovB,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,OAAOhsB,EAAE,KAAKkF,GAAG,CAAC,CAAC,EAAE7G,EAAEke,EAAE3f,GAAG,CAAC,EAAE2f,OAAOpX,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK5M,CAAC,CAAC,GAAG,KAAK,IAAIA,GAAG,GAAG,CAAC,CAAC,CAAC,GAAGwzB,CAAC,CAAC,MAAM/vB,CAAC,CAAC,MAAMugB,CAAC,CAAC,aAAapX,CAAC,CAAC,GAAG,IAAE,CAAC,YAAY,EAAE9G,EAAErC,EAAE+vB,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU5mB,CAAC,EAAEoX,IAAI,CAAC,CAAC,CAAC,EO0KhquB,IAAM+pD,GAAkB,CAC7B,CAAE,UAAW,EAAG,MAAO,SAAU,EACjC,CAAE,UAAW,EAAG,MAAO,SAAU,EACjC,CAAE,UAAW,EAAG,MAAO,SAAU,EACjC,CAAE,UAAW,EAAG,MAAO,SAAU,EAClC,CAOYC,GAAe,CAC1B,QAAS,EACT,WAAY,IAAIv5C,OAAO,OAAO,GAC9B,UAAW,EAAE,CACb,SAAU,CACR,GAAI,QACJ,MAAO,OACP,KAAM,gBACN,uBAAwB,GACxB,uBAAwB,GACxB,gBAAiB,CAAC,EAClB,WAAY,CACV,CACE,GAAI,SACJ,MAAO,SACP,aAAc,CACZ,kBACA,SACA,aACA,+BACA,YACA,iBACD,AACH,EACA,CACE,GAAI,UACJ,MAAO,UACP,aAAc,CACZ,cACA,mBACA,eACA,kBACA,mBACA,WACD,AACH,EACD,CACD,WAAY,CACV,CACE,GAAI,kBACJ,MAAO,mBACP,OAAQ,CACN,CAAE,GAAI,WAAY,MAAO,UAAW,EACpC,CAAE,GAAI,WAAY,MAAO,YAAa,EACtC,CAAE,GAAI,WAAY,MAAO,gBAAiB,EAC3C,AACH,EACA,CACE,GAAI,SACJ,MAAO,SACP,OAAQ,CACN,CAAE,GAAI,WAAY,MAAO,KAAM,EAC/B,CAAE,GAAI,WAAY,MAAO,QAAS,EAClC,CAAE,GAAI,WAAY,MAAO,MAAO,EACjC,AACH,EACA,CACE,GAAI,aACJ,MAAO,aACP,OAAQ,CACN,CAAE,GAAI,WAAY,MAAO,OAAQ,EACjC,CAAE,GAAI,WAAY,MAAO,SAAU,EACnC,CAAE,GAAI,WAAY,MAAO,SAAU,EACpC,AACH,EACA,CACE,GAAI,+BACJ,MAAO,kCACP,OAAQ,CACN,CACE,GAAI,WACJ,MAAO,gBACP,KAAM,8BACR,EACA,CACE,GAAI,WACJ,MAAO,aACP,KAAM,8BACR,EACA,CACE,GAAI,WACJ,MAAO,UACP,KAAM,8BACR,EACD,AACH,EACA,CACE,GAAI,YACJ,MAAO,YACP,OAAQ,CACN,CAAE,GAAI,WAAY,MAAO,MAAO,EAChC,CAAE,GAAI,WAAY,MAAO,OAAQ,EACjC,CAAE,GAAI,WAAY,MAAO,MAAO,EAChC,CAAE,GAAI,WAAY,MAAO,YAAa,EACtC,CAAE,GAAI,WAAY,MAAO,QAAS,EACnC,AACH,EACA,CACE,GAAI,iBACJ,MAAO,iBACP,OAAQ,CACN,CAAE,GAAI,WAAY,MAAO,SAAU,EACnC,CAAE,GAAI,WAAY,MAAO,QAAS,EACnC,AACH,EACA,CACE,GAAI,cACJ,MAAO,eACP,OAAQ,CACN,CAAE,GAAI,WAAY,MAAO,OAAQ,EACjC,CAAE,GAAI,WAAY,MAAO,OAAQ,EACjC,CAAE,GAAI,WAAY,MAAO,OAAQ,EACjC,CAAE,GAAI,WAAY,MAAO,QAAS,EACnC,AACH,EACA,CACE,GAAI,mBACJ,MAAO,oBACP,OAAQ,CACN,CAAE,GAAI,WAAY,MAAO,QAAS,EAClC,CAAE,GAAI,WAAY,MAAO,UAAW,EACrC,AACH,EACA,CACE,GAAI,eACJ,MAAO,iBACP,OAAQ,CACN,CAAE,GAAI,WAAY,MAAO,QAAS,EAClC,CAAE,GAAI,WAAY,MAAO,MAAO,EAChC,CAAE,GAAI,WAAY,MAAO,QAAS,EAClC,CAAE,GAAI,WAAY,MAAO,SAAU,EACpC,AACH,EACA,CACE,GAAI,kBACJ,MAAO,mBACP,OAAQ,CACN,CAAE,GAAI,WAAY,MAAO,WAAY,EACrC,CAAE,GAAI,WAAY,MAAO,OAAQ,EAClC,AACH,EACA,CACE,GAAI,mBACJ,MAAO,oBACP,OAAQ,CACN,CAAE,GAAI,WAAY,MAAO,MAAO,EAChC,CAAE,GAAI,WAAY,MAAO,QAAS,EACnC,AACH,EACA,CACE,GAAI,WACJ,MAAO,WACP,OAAQ,CACN,CAAE,GAAI,WAAY,MAAO,SAAU,EACnC,CAAE,GAAI,WAAY,MAAO,YAAa,EACtC,CAAE,GAAI,WAAY,MAAO,YAAa,EACvC,AACH,EACD,CACD,WAAY,EAAE,CACds5C,gBAAAA,EACF,CACF,EAEaE,GAAc,W,MAAO,CAChC,GAAIC,IACJ,MAAO,eACP,KAAM,GACN,uBAAwB,GACxB,uBAAwB,GACxB,gBAAiB,CAAC,EAClB,WAAY,EAAE,CACd,WAAY,EAAE,CACd,WAAY,EAAE,CACdH,gBAAAA,EACF,C,EAEaI,GAAa,W,MACvB,CACC,QAAS,EACT,WAAY,IAAI15C,OAAO,OAAO,GAC9B,UAAW,EAAE,CACb,SAAUw5C,IACZ,C,EASWG,GAA6B,CAACD,KAAcH,GAAa,CCxVzDK,GAAcC,AA5BQ,CACjC,CAAE,GAAI,UAAW,KAAM,UAAW,IAAK,UAAW,MAAO,WAAY,EACrE,CAAE,GAAI,OAAQ,KAAM,OAAQ,IAAK,UAAW,MAAO,KAAM,EACzD,CAAE,GAAI,SAAU,KAAM,SAAU,IAAK,WAAY,MAAO,QAAS,EACjE,CAAE,GAAI,cAAe,KAAM,cAAe,IAAK,QAAS,MAAO,QAAS,EACxE,CACE,GAAI,QACJ,KAAM,QACN,IAAK,oBACL,MAAO,iBACT,EACA,CAAE,GAAI,cAAe,KAAM,cAAe,IAAK,UAAW,MAAO,MAAO,EACxE,CAAE,GAAI,WAAY,KAAM,WAAY,IAAK,UAAW,MAAO,UAAW,EACtE,CAAE,GAAI,QAAS,KAAM,QAAS,IAAK,UAAW,MAAO,OAAQ,EAC7D,CAAE,GAAI,SAAU,KAAM,SAAU,IAAK,cAAe,MAAO,QAAS,EACpE,CAAE,GAAI,UAAW,KAAM,UAAW,IAAK,UAAW,MAAO,SAAU,EACnE,CAAE,GAAI,aAAc,KAAM,aAAc,IAAK,UAAW,MAAO,YAAa,EAC5E,CACE,GAAI,kBACJ,KAAM,kBACN,IAAK,UACL,MAAO,YACT,EACA,CAAE,GAAI,aAAc,KAAM,aAAc,IAAK,WAAY,MAAO,WAAY,EAC5E,CAAE,GAAI,SAAU,KAAM,SAAU,IAAK,WAAY,MAAO,QAAS,EAClE,CAGmC,GAAG,CAAC,Y,OAAG5wD,EAAAA,EAAE,A,k5CCmHtC,IAAM6wD,GAAMC,AAjHJ,WAEX,IAYIC,EAZEC,EAAM,AAAkB,aAAlB,OAAOzuE,OAAyBA,OAASe,KAAAA,EACrD,GAAI,CAAC0tE,EACH,MAAM,AAAIvsE,MAAM,+BAElB,IAAMwsE,EACJD,EAAI,SAAS,EACZA,EAAY,YAAY,EACxBA,EAAY,eAAe,EAC3BA,EAAY,WAAW,CAC1B,GAAI,AAAkB,aAAlB,OAAOzuE,QAA0B,CAAC0uE,EACpC,MAAM,AAAIxsE,MAAM,yBAGlB,IAAMs+D,EAAUkO,EAAU,IAAI,CAAC,MAAO,EACtClO,CAAAA,EAAQ,SAAS,CAAG,WAClBgO,EAAK,IAAI,CAAC,MAAM,AAClB,EACAhO,EAAQ,OAAO,CAAG,SAACt9C,CAAK,EACtBlP,QAAQ,KAAK,CAAC,2BACdA,QAAQ,GAAG,CAACkP,EACd,EAEAs9C,EAAQ,eAAe,CAAG,SAAUt9C,CAA4B,EAC9DsrD,EAAK,KAQLG,AANEzrD,CAAAA,GACAA,EAAM,MAAM,EACXA,EAAM,MAAM,CAAS,MAAM,CAAC,iBAAiB,CAAC,IAAK,CAClD,QAAS,GACX,EAAC,EAEG,WAAW,CAAC,UAAU,CAAG,SAAUnjB,CAAQ,EAC/CyuE,EAAMzuE,EAAE,MAAM,CAAS,EAAE,AAC3B,CACF,EAEA,IAAM6uE,EAAU,CACd,IAAK,SAACvuE,CAAG,E,OACP,IAAIuzB,QAAgB,SAAC+oB,CAAO,EAC1B,GAAI,CAAC6xB,EAAI,CACP7iE,WAAAA,GAAW,W,kDAAoB,O,EAAMijE,EAAQ,GAAG,CAACvuE,G,QAA1Bs8C,MAAAA,C,EAAAA,EAAAA,KAAAA,CAAAA,KAAAA,EAAAA,CAAQ,S,QAAyB,IACxD,MACF,CACA6xB,EAAG,WAAW,CAAC,KAAK,WAAW,CAAC,KAAK,GAAG,CAACnuE,GAAK,SAAS,CAAG,SAAU6iB,CAAK,EAGvEy5B,EADIz5B,EAAM,MAAM,CAAS,MAAM,EAAKA,EAAM,MAAM,CAAS,MAAM,CAAC,CAAI,EAAK,KAE3E,CACF,E,EACF,IAAK,SAAC7iB,CAAG,CAAUW,CAAK,E,OACtB,IAAI4yB,QAAc,SAAC+oB,CAAO,EACxB,GAAI,CAAC6xB,EAAI,CACP7iE,WAAAA,GAAW,W,kDAAoB,O,EAAMijE,EAAQ,GAAG,CAACvuE,EAAKW,G,QAA/B27C,MAAAA,C,EAAAA,EAAAA,KAAAA,CAAAA,KAAAA,EAAAA,CAAQ,S,QAAgC,IAC/D,MACF,CACA,IAAIkyB,EAAML,EAAG,WAAW,CAAC,IAAK,YAC9BK,CAAAA,EAAI,UAAU,CAAG,W,OAAMlyB,G,EACvBkyB,EAAI,WAAW,CAAC,KAAK,GAAG,CAAC,CACvB,EAAGxuE,EACH,EAAGW,CACL,GACA6tE,EAAI,MAAM,EACZ,E,EACF,OAAQ,SAACxuE,CAAG,E,OACV,IAAIuzB,QAAc,SAAC+oB,CAAO,EACxB,GAAI,CAAC6xB,EAAI,CACP7iE,WAAAA,GAAW,W,kDAAoB,O,EAAMijE,EAAQ,MAAM,CAACvuE,G,QAA7Bs8C,MAAAA,C,EAAAA,EAAAA,KAAAA,CAAAA,KAAAA,EAAAA,CAAQ,S,QAA4B,IAC3D,MACF,CACA6xB,EAAG,WAAW,CAAC,IAAK,aAAa,WAAW,CAAC,KAAK,MAAM,CAACnuE,GAAK,SAAS,CAAG,WACxEs8C,GACF,CACF,E,EACF,KAAM,W,OACJ,IAAI/oB,QAAkB,SAAC+oB,CAAO,EAC5B,GAAI,CAAC6xB,EAAI,CACP7iE,WAAAA,GAAW,W,kDAAoB,O,EAAMijE,EAAQ,IAAI,G,QAA1BjyB,MAAAA,C,EAAAA,EAAAA,KAAAA,CAAAA,KAAAA,EAAAA,CAAQ,S,QAAuB,IACtD,MACF,CACA6xB,EAAG,WAAW,CAAC,KAAK,WAAW,CAAC,KAAK,UAAU,GAAG,SAAS,CAAG,SAACtrD,CAAK,EAElEy5B,EADgBz5B,EAAM,MAAM,CAAS,MAAM,EAAI,KAEjD,CACF,E,EACF,OAAQ,W,OACN,IAAI0Q,QAAyC,SAAC+oB,CAAO,EACnD,GAAI,CAAC6xB,EAAI,CACP7iE,WAAAA,GAAW,W,kDAAoB,O,EAAMijE,EAAQ,MAAM,G,QAA5BjyB,MAAAA,C,EAAAA,EAAAA,KAAAA,CAAAA,KAAAA,EAAAA,CAAQ,S,QAAyB,IACxD,MACF,CACA6xB,EAAG,WAAW,CAAC,KAAK,WAAW,CAAC,KAAK,MAAM,GAAG,SAAS,CAAG,SAACtrD,CAAK,EAE9Dy5B,EADiBz5B,EAAM,MAAM,CAAS,MAAM,EAAY,KAE1D,CACF,E,EACF,MAAO,W,OACL,IAAI0Q,QAAc,SAAC+oB,CAAO,EACxB,GAAI,CAAC6xB,EAAI,CACP7iE,WAAAA,GAAW,W,kDAAoB,O,EAAMijE,EAAQ,KAAK,G,QAA3BjyB,MAAAA,C,EAAAA,EAAAA,KAAAA,CAAAA,KAAAA,EAAAA,CAAQ,S,QAAwB,IACvD,MACF,CACA6xB,EAAG,WAAW,CAAC,IAAK,aAAa,WAAW,CAAC,KAAK,KAAK,GAAG,SAAS,CAAG,WACpE7xB,GACF,CACF,E,CACJ,EACA,OAAOiyB,CAGX,IC/IA,IAAM,GAAE,CAAC,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,EAAE,GAAE,AAAIvmC,OAAO,CAAC,CAAC,EAAE/oC,OAAO,IAAI,CAAC,IAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAE,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,cAAc,CAACi0B,EAAEnvB,EAAErE,EAAE,EAAE,IAAI,IAAMqQ,EAAEhM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAEgM,EAAE,CAAC,EAAErQ,EAAE,IAAI,GAAG,GAAG,EAAEqQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,6CAA6C,0BAA0B,CAAC,CAAC,4CAA4C,sBAAsB,CAAC,CAAC,kCAAkC,wBAAwB,CAAC,CAAC,wBAAwB,gBAAgB,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,iBAAiB,gBAAgB,CAAC,CAAC,iBAAiB,YAAY,CAAC,CAAC,kCAAkC,kBAAkB,CAAC,CAAC,WAAW,CAACrQ,EAAEqQ,IAAW,CAAC,MAAM,EAAE2T,AAAIA,AAAF3T,EAAI,OAAO,CAAC,GAAEhM,GAAG,EAAC,CAACA,EAAE,EAAE,OAAO,CAAC,CAAQ,CAAC,CAAC,oBAAoB,CAACmvB,EAAEnvB,EAAErE,EAAE,EAAE,GAAG,CAAC;AAAM,KAAM,EAAEA,EAAE,IAAI,GAAG;AAAO,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAACwzB,EAAEnvB,EAAE,EAAE,GAAG,CAAC;AAAM,KAAM,EAAEA,EAAE,IAAI,GAAG;AAAO,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAACmvB,EAAEnvB,EAAErE,EAAE,EAAE,GAAG;AAAG,YAAY,EAAEA,EAAE,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,eAAe,gBAAgB,CAAC,CAAC,eAAe,gBAAgB,CAAC,CAAC,WAAW,WAAW,CAAC,CAAC,2EAA2E,CAACwzB,EAAEnvB,EAAErE,EAAEqQ,KAAK,IAAM2T,EAAEhkB,EAAE,KAAK,CAAC,KAAK,MAAM,CAAC,CAACwzB,EAAEnvB,EAAErE,IAAIqE,EAAE,GAAGA,EAAErE,EAAE,MAAM,CAAC,GAAG,GAAG,CAACwzB,GAAG,QAAQ,IAAI,CAACA,GAAG,SAAS,OAAO,IAAI,CAACA,GAAG,QAAQ,MAAM,IAAI,CAACA,GAAG,OAAO,IAAI3zB,EAAE2zB,IAAI,IAAMnvB,EAAE2f,CAAC,CAACwP,EAAE,CAAC,OAAOnvB,EAAE,CAAC,QAAQ,EAAEA,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM;AAAG,kBAAkB,EAAEA,EAAE,KAAK,CAAC,KAAK,GAAG,CAACmvB,GAAGA,EAAE,IAAI,IAAI,MAAM,CAACA,GAAGA,GAAGA,EAAE,MAAM,EAAE,GAAG,CAAC,CAACA,EAAEnvB,IAAI,CAAC,GAAG,EAAExE,EAAEwE,GAAG,CAAC,EAAEmvB,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,EAAEnjB,EAAE,KAAK,CAAC,MAAM,GAAG,CAACmjB,GAAGA,EAAE,IAAI,IAAI,MAAM,CAACA,GAAGA,GAAGA,EAAE,MAAM,EAAE,GAAG,CAACA,GAAG,CAAC,IAAI,EAAEA,EAAE,KAAK,CAAC,KAAK,MAAM,CAAC,CAACA,EAAEnvB,EAAErE,IAAIqE,EAAE,GAAGA,EAAErE,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAACwzB,EAAEnvB,IAAI,CAAC,GAAG,EAAExE,EAAEwE,GAAG,CAAC,EAAEmvB,EAAE,IAAI,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI;AAAkB,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAACA,EAAEnvB,KAAK,IAAMrE,EAAEqE,EAAE,IAAI,GAAG,MAAM,sCAAsC,IAAI,CAACrE,GAAG;AAAG,EAAEqE;AAAI,CAAC,CAAC;AAAG;AAAK,EAAErE;AAAI;AAAM,CAAC,EAAE,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,gCAAgC,SAAS,CAAC,CAAC,qBAAqBwzB,GAAGA,EAAE,OAAO,CAAC,WAAW,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAE,CAACA,EAAEnvB,EAAE,CAAC,CAAC,CAACgM,EAAE,CAAC,CAAC,GAAImjB,CAAAA,EAAE;AAAG,EAAEA;AAAI,CAAC,CAAC,GAAE,OAAO,CAAC,CAAC,CAACnvB,EAAErE,EAAE,IAAIwzB,EAAEA,EAAE,OAAO,CAACnvB,EAAErE,EAAE,GAAGwzB,EAAEA,EAAE,IAAI,GAAGnvB,GAAImvB,CAAAA,EAAEA,EAAE,OAAO,CAAC,sBAAsB,KAAI,EAAGnjB,GAAImjB,CAAAA,EAAEA,EAAE,OAAO,CAAC,aAAa,4BAA2B,EAAGA,CAAAA,ETAv6D,GAAE,IAAI,aAAa,OAAO,CAAC,OAAO,IAAI,AAAC,IAAG/uB,KAAK,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,GAAE,CAAC,MAAM,MAAM,YAAY,YAAY,OAAO,OAAO,cAAc,eAAe,UAAU,WAAW,OAAO,CAAC,GAAEzE,GAAG,GAAE,OAAO,CAACA,IAAI,EAAE,GAAE,CAAC,CAAC,SAASA,CAAC,CAAC,GAAGA,EAAE,aAAa,GAAG,GAAEA,QAAoLA,QAAjL,AAACA,CAAAA,GAAgDT,OAAO,IAAI,CAACS,GAAG,MAAM,CAAC,IAAG,MAAM,CAAlE8F,AAAI9F,GAAG,KAAK,IAAI8F,AAAd9F,CAAe,CAACA,EAAE,EAAkD,MAAM,CAAC,CAACwzB,EAAE1tB,KAAK,IAAMrC,EAAEzD,CAAC,CAAC8F,EAAE,CAAC,OAAO0tB,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE1tB,EAAE,WAAW,GAAG,CAAC,EAAErC,EAAE,CAAC,CAAC,EAAE+vB,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAGxzB,IAAOA,CAAHA,EAAkDA,GAA7C,SAAS,CAAC,CAAC,aAAa,EAAEA,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAO,GAAEA,GAAG,AAAC,EAAC,CAAC,SAASA,CAAC,CAAC,YAAYwzB,CAAC,CAAC,GAAGxzB,GAAGwzB,EAAE,iCAAiC,EAAC,EAAGxzB,GAAG,AAAC,EAAC,CAAC,UAAUA,CAAC,CAAC,GAAG,WAAW,OAAOA,GAAGA,GAAGA,GAAGA,IAAI,cAAc,EAAC,EAAGA,IAAG,GAAEA,GAAG,CAACqF,MAAMszD,WAAW34D,KAAK+G,SAAS/G,GAAG,SAAS,KAAI,MAAO,IAAET,OAAO,MAAM,CAACA,OAAO,MAAM,CAAC,IAAI,GAAG,SAASS,CAAC,EAAE,IAAI,IAAIwzB,EAAE,EAAEA,EAAErtB,UAAU,MAAM,CAACqtB,IAAI,CAAC,IAAI1tB,EAAEK,SAAS,CAACqtB,EAAE,CAAC,IAAI,IAAI/vB,KAAKqC,EAAEvG,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACuG,EAAErC,IAAKzD,CAAAA,CAAC,CAACyD,EAAE,CAACqC,CAAC,CAACrC,EAAE,AAAD,CAAE,CAAC,OAAOzD,CAAC,GAAI,MAAM,IAAI,CAACmG,UAAU,CAAC,SAAS,GAAEnG,CAAC,CAACwzB,CAAC,EAAE,GAAG,MAAMxzB,EAAE,MAAM,CAAC,EAAE,IAAI8F,EAAErC,EAAEY,EAAE,CAAC,EAAEuI,EAAErN,OAAO,IAAI,CAACS,GAAG,IAAIyD,EAAE,EAAEA,EAAEmJ,EAAE,MAAM,CAACnJ,IAAI+vB,EAAE,OAAO,CAAC1tB,EAAE8G,CAAC,CAACnJ,EAAE,GAAG,GAAIY,CAAAA,CAAC,CAACyB,EAAE,CAAC9F,CAAC,CAAC8F,EAAE,AAAD,EAAG,OAAOzB,CAAC,CAAC,IAAM,GAAE,CAAC,QAAQ,KAAK,cAAc,WAAW,CAAC,GAAE,CAAC,KAAK,CAAC,CAAC,MAAMmvB,CAAC,CAAC,GAAG,IAAE,iBAAiBA,EAAE,IAAI,EAAE,GAAE,IAAK,EAAC,KAAKA,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM1tB,CAAC,CAAC,GAAGrC,CAAC,CAAC,YAAYY,CAAC,CAAC,SAASuI,CAAC,CAAC,CAAC,CAAC4mB,EAAEnjB,EAAE,GAAEmjB,EAAE,KAAK,CAAC,IAAG,OAAO1tB,EAAE,IAAE,CAAC,KAAK,EAAE8G,EAAE,UAAU,GAAG,EAAEnJ,EAAE,CAAC,KAAK,EAAEA,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC4M,EAAE,CAAC,SAAO,CAACvK,GAAGzB,EAAE,IAAE,IAAG,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC,GAAG,GAAE,IAAK,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAWmvB,CAAC,CAAC,UAAU1tB,CAAC,CAAC,YAAYrC,CAAC,CAAC,UAAUY,CAAC,CAAC,CAAC,GAAGmvB,GAAG1tB,GAAGrC,EAAE,IAAE,mBAAmB,CAAC,UAAUY,EAAE,UAAUyB,EAAE,YAAYrC,CAAC,EAAE+vB,EAAE,SAAO,CAACA,GAAG,IAAI,KAAK,CAAC,GAAG,GAAE,KAAK,IAAMA,EAAE,CAAC,GAAG,IAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM1tB,CAAC,CAAC,IAAI,IAAMrC,EAAEqC,EAAE,EAAE,EAAE0tB,EAAE,EAAE,CAACnvB,EAAE,GAAEyB,GAAG,CAAC,MAAM8G,CAAC,CAAC,WAAWoX,CAAC,CAAC,aAAayP,CAAC,CAAC,SAAShsB,CAAC,CAAC,OAAOkF,CAAC,CAAC,UAAU/M,EAAE,SAAS,CAAC,MAAM8zB,CAAC,CAAC,SAASE,CAAC,CAAC,YAAY/zB,CAAC,CAAC,CAACiG,EAAE,OAAO,IAAE,eAAgB6G,CAAAA,EAAE,SAAS,EAAC,EAAG,CAAC,UAAUA,EAAE/M,EAAE,SAASA,EAAE,MAAM8zB,CAAC,EAAE,CAACE,EAAE,IAAE,0BAA0BA,GAAG,GAAG,IAAE,CAAC,yCAAyC,EAAEvvB,EAAE,CAAC,CAAC,CAAC,GAAGZ,EAAE,SAAS,CAAC,CAAC,IAAIzD,CAAC,CAAC,IAAIs1B,EAAE,YAAY,CAAC,IAAI,CAACt1B,EAAE8F,EAAE,EAAE,SAAS2B,EAAEzH,IAAIA,EAAE,MAAM,EAAEA,EAAE,MAAM,CAAC,KAAK,EAAEyH,EAAEzH,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAMyzB,CAAC,GAAG,IAAE,GAAE,CAAC,MAAM7mB,EAAE,GAAGnJ,EAAE,YAAY5D,EAAE,SAAS4zB,CAAC,GAAG,IAAE,GAAE,CAAC,WAAWzP,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAE,CAAC,WAAW,CAAC,GAAE,IAAK,EAAC,KAAKwP,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS1tB,CAAC,CAAC,CAAC,CAAC0tB,EAAE/vB,EAAE,GAAE+vB,EAAE,KAAK,CAAC,IAAG,OAAO,IAAE,mBAAmB/vB,EAAEqC,EAAE,CAAC,GAAG,GAAE,CAAC,UAAU,UAAU,iBAAiB,WAAW,YAAY,QAAQ,OAAO,CAAC,GAAE,CAAC0tB,EAAE1tB,EAAE,EAAE,GAAG,KAAK,IAAMrC,EAAE,CAAC,EAAE+vB,EAAE,EAAE1tB,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM0tB,CAAC,CAAC,QAAyNxzB,EAArN,IAAwSA,EAAnS,CAAC,QAAQ8F,CAAC,CAAC,QAAQzB,CAAC,CAAC,eAAeuI,CAAC,CAAC,SAASyD,CAAC,CAAC,UAAU2T,CAAC,CAAC,MAAMyP,CAAC,CAAC,KAAK9mB,CAAC,CAAC,CAAC6mB,EAAE5zB,EAAE,GAAE4zB,EAAE,IAAG,OAAO,IAAE,CAAC,EAAE/vB,EAAE,EAAEqC,EAAE,CAAC,qBAAqB,EAAEA,EAAE,CAAC,CAAC,CAAC,GAAG,EAAEzB,EAAE,CAAC,0BAA0B,EAAEuI,GAAG,MAAM,eAAe,EAAEvI,EAAE,CAAC,CAAC,CAAC,GAAG,EAAMrE,CAAHA,EAAqQ2M,GAAhQ,AAAC,EAAC,GAAG3M,IAAIwzB,GAAGxzB,EAAE,WAAW,CAAC,CAACA,EAAEwzB,IAAIA,EAAExzB,GAAGwzB,EAAC,EAAGxzB,GAAG6H,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC7H,EAAE,KAAKA,EAAqCwzB,GAAG,CAAC,CAAC,EAAMxzB,AAA8CwzB,EAA5C,OAAO,CAAC,WAAWxzB,GAAG,IAAIA,EAAE,WAAW,IAAQ,EAAE,EAAE,AAAC,EAACA,EAAE,EAAE,GAAGA,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,SAAQ,EAAGA,CAAC,CAACwzB,EAAE,EAAE,EAAE,CAAC,CAAzJA,GAAG3rB,MAAM,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC2rB,EAAExzB,IAA6HT,OAAO,IAAI,EAAES,GAAG,GAAO,CAAC,CAACJ,EAAEyQ,EAAE,IAAE,GAAE,CAAC,SAASA,EAAE,UAAU2T,GAAG,MAAM,GAAG,KAAK,EAAEyP,GAAG,KAAK,EAAE,CAAC,CAAC,EAAE,GAAE,GAAE,qCAAqC,iBAAiB,GAAE,GAAE,yDAAyD,iBAAiB,GAAE,IAAK,EAAC,SAAS,CAAC,CAAC,MAAMzzB,CAAC,CAAC,IAAIwzB,CAAC,CAAC,IAAI,GAAK,CAAC,SAAS1tB,CAAC,CAAC,UAAUrC,CAAC,CAAC,aAAaY,CAAC,CAAC,CAACrE,EAAE4M,EAAE0oB,EAAE,KAAK,CAAC,WAAW,CAAC9B,EAAE,QAAQ,CAAC,EAAE,EAAEnjB,EAAE5M,EAAEA,EAAE,IAAI,CAACmJ,GAAG,KAAK,CAAE5M,CAAAA,EAAE,SAAS,CAAC,SAASA,CAAC,CAACwzB,CAAC,EAAE1tB,GAAGA,EAAE,IAAI,CAAC,SAAS,EAAEuK,GAAGA,EAAErQ,EAAEwzB,EAAE,EAAE,IAAMxP,EAAE3f,EAAEA,EAAE,IAAI,CAACuI,GAAG,KAAK,CAAE5M,CAAAA,EAAE,YAAY,CAAC,SAASA,CAAC,CAACwzB,CAAC,EAAE1tB,GAAGA,EAAE,IAAI,CAAC,SAAS,EAAEke,GAAGA,EAAEhkB,EAAEwzB,EAAE,EAAE8B,EAAE,KAAK,CAAC,IAAI,CAAC9B,EAAE,QAAQ,CAAC,EAAE,CAACxzB,EAAE,EAAE,SAAS,CAAC,CAAC,IAAIA,CAAC,CAAC,MAAM,CAAC,KAAKwzB,CAAC,CAAC,CAAC,IAAI,GAAG,CAACA,GAAG,IAAIA,EAAE,MAAM,CAAC,OAAO,IAAM1tB,EAAEwvB,EAAE,KAAK,CAAC,WAAW,CAACt1B,EAAE,QAAQ,CAAC,EAAE,EAAEwzB,EAAE,OAAO,CAACxzB,GAAG8F,EAAE,OAAO,CAAC9F,GAAG,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,YAAYwzB,CAAC,CAAC,SAAS1tB,CAAC,CAAC,YAAYrC,EAAEqC,CAAC,CAAC,KAAKzB,CAAC,CAAC,UAAUuI,EAAE,SAAS,CAAC,MAAMyD,CAAC,CAAC,WAAW2T,CAAC,CAAC,CAAC,GAAG,IAAE,eAAe,CAAC,UAAUpX,CAAC,EAAE,CAAC,IAAE,CAAC,yBAAyB,EAAE4mB,EAAE,qBAAqB,GAAG,EAAEnvB,EAAE,iBAAiB,GAAG,CAAC,EAAEgM,EAAE,IAAE,GAAE,CAAC,MAAMA,EAAE,YAAY5M,EAAE,UAAU,QAAQ,GAAG,KAAK,EAAEugB,EAAE,IAAE,GAAE,CAAC,WAAWA,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAE,IAAK,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAOwP,CAAC,CAAC,KAAK1tB,CAAC,CAAC,OAAOrC,CAAC,CAAC,SAASY,CAAC,CAAC,CAAC,GAAG,IAAEZ,EAAE,YAAY,KAAK,CAAC+vB,GAAGnvB,EAAE,IAAE,sBAAsB,CAACA,EAAE,IAAE,mBAAmBA,GAAG,KAAK,EAAEmvB,EAAE,UAAU,OAAOA,EAAE,IAAE,OAAOA,GAAGA,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE1tB,EAAE,IAAE,oBAAoBA,GAAG,KAAK,EAAE,CAAC,GAAG,GAAE,IAAK,EAAC,SAAS,CAAC,CAAC,IAAI9F,CAAC,CAAC,MAAMwzB,CAAC,CAAC,IAAI8B,EAAE,WAAW,CAAC,IAAI,CAACt1B,EAAEwzB,EAAE,EAAE,KAAK,CAAC,CAAC,MAAMA,CAAC,CAAC,IAAI,GAAK,CAAC,MAAM1tB,CAAC,CAAC,MAAMrC,CAAC,CAAC,UAAUY,CAAC,CAAC,MAAMuI,CAAC,CAAC,GAAGyD,CAAC,CAAC,CAACmjB,EAAE,OAAO1tB,GAAGA,EAAE,MAAM,CAAC,EAAE,IAAE,iBAAiB,CAAC,MAAMrC,GAAGY,EAAE,MAAMuI,EAAE,GAAGyD,CAAC,EAAEvK,EAAE,GAAG,CAAC0tB,GAAG,IAAE,GAAEA,KAAK,KAAK,CAAC,CAAC,EAAsBxzB,EAAHA,EAAqE,GAAI,GAAE,CAAC,GAAxE,CAACA,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQA,CAAC,CAACA,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQA,CAAC,CAACA,EAAE,MAAM,CAAC,EAAE,CAAC,SAAqB,IAAM,GAAE,CAAC,YAAY,aAAa,WAAW,KAAK,eAAe,cAAc,QAAQ,WAAW,YAAY,aAAa,UAAU,SAAS,QAAQ,CAAC,GAAE,CAAC,YAAY,YAAY,cAAc,aAAa,WAAW,KAAK,eAAe,cAAc,QAAQ,YAAY,SAAS,WAAW,YAAY,aAAa,UAAU,SAAS,QAAQ,WAAW,CAAC,GAAE,KAAK,IAAMwzB,EAAE,CAAC,GAAG,IAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM1tB,CAAC,CAAC,IAAI,GAAK,CAAC,UAAUrC,EAAE,SAAS,CAAC,WAAWY,CAAC,CAAC,SAASuI,CAAC,CAAC,GAAGoX,EAAEwP,EAAE,EAAE,CAAC,aAAaC,CAAC,CAAC,YAAY9mB,CAAC,CAAC,MAAM/M,CAAC,CAAC,SAAS8zB,CAAC,CAAC,UAAUE,CAAC,CAAC,WAAW/zB,CAAC,CAAC,QAAQoF,CAAC,CAAC,OAAOe,CAAC,CAAC,MAAMrF,CAAC,CAAC,CAACmF,EAAWC,EAAE,GAAT,GAAED,EAAE,KAAU,OAAO,IAAE,eAAe,CAAC,UAAUrC,EAAE,MAAM9C,CAAC,EAAE,CAACiM,EAAE,IAAE,0BAA0BA,GAAG,GAAG,IAAE,CAAC,6CAA6C,EAAEoX,EAAE,CAAC,EAAEje,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI/F,CAAC,CAAC,IAAIs1B,EAAE,kBAAkB,CAACt1B,GAAG8F,EAAE,SAAS,EAAEwvB,EAAE,gBAAgB,CAAC,IAAI,CAACt1B,EAAE,EAAE,SAAS0zB,EAAE1zB,IAAI,IAAMwzB,EAAExzB,EAAE,MAAM,CAAC0zB,EAAEF,GAAG,UAAU,OAAOA,EAAE,KAAK,CAACA,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,MAAMC,EAAE,QAAQxuB,EAAEjF,IAAIiF,EAAEjF,EAAEA,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,UAAU4zB,EAAE5zB,IAAI4zB,EAAE5zB,EAAEA,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,WAAWH,EAAEG,IAAIH,EAAEG,EAAEA,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAOgG,CAAC,GAAG,IAAE,GAAE,CAAC,MAAMpG,EAAE,GAAGokB,EAAE,YAAYrX,EAAE,SAAS8mB,GAAG3tB,EAAE,WAAW,GAAG,IAAE,GAAE,CAAC,WAAWzB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAE,CAACmvB,EAAE/vB,EAAE,EAAE,GAAG,KAAK,IAAMY,EAAE,CAAC,GAAG,IAAG,EAAEuI,EAAE5M,IAAI,IAAM8F,EAAE9F,EAAE,KAAK,CAAC,OAAM,AAAC8F,GAAG,YAAW0tB,GAAG,UAAUA,CAAAA,EAAI,CAAC1tB,EAAHA,CAAI,EAAEke,EAAE,CAAChkB,EAAEwzB,KAAKxzB,EAAE,iBAAiB,CAAC,WAAW,OAAOwzB,EAAEA,EAAE,GAAG,2BAA2BA,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM1tB,CAAC,CAAC,IAAI,GAAK,CAAC,UAAU2tB,EAAE,SAAS,CAAC,UAAU9mB,CAAC,CAAC,YAAY/M,CAAC,CAAC,WAAW8zB,CAAC,CAAC,SAASE,CAAC,CAAC,GAAG/zB,EAAEwE,EAAE,EAAE,CAAC,aAAaY,CAAC,CAAC,YAAYe,CAAC,CAAC,MAAMrF,CAAC,CAAC,UAAUqT,CAAC,CAAC,OAAOjO,CAAC,CAAC,SAASouB,CAAC,CAAC,UAAUa,CAAC,CAAC,WAAW4jC,CAAC,CAAC,QAAQ1kC,CAAC,CAAC,OAAOF,CAAC,CAAC,MAAMc,CAAC,CAAC,SAASV,CAAC,CAAC,CAACtuB,EAAWwuB,EAAE,GAAT,GAAExuB,EAAE,KAAU,OAAO,IAAE,CAAC,YAAY,EAAEC,EAAE,SAAS,GAAG,EAAEtC,EAAE,CAAC,CAAC,CAAC,UAAUgwB,EAAE,MAAMqB,CAAC,EAAE,CAAClB,EAAE,IAAE,0BAA0BA,GAAG,KAAK,EAAE,IAAE,CAAC,oBAAoB,EAAEJ,EAAE,iBAAiB,EAAE3zB,EAAE,CAAC,EAAEy0B,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAIt0B,CAAC,CAAC,IAAI,AAAC,EAAC,CAAC,UAAUA,CAAC,CAAC,GAAG,CAAC,CAACA,GAAI,YAAW,OAAOA,EAAEA,EAAEA,GAAE,CAAC,EAAG8F,IAAI9F,EAAE,KAAK,GAAGgU,GAAGshB,EAAE,gBAAgB,CAAC,IAAI,CAACt1B,GAAG,UAAUwzB,GAAG8B,EAAE,KAAK,CAAC,IAAI,CAACt1B,EAAE,EAAE,QAAQk0B,EAAEl0B,IAAIk0B,EAAEl0B,EAAE4M,EAAE5M,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,UAAUg1B,EAAEh1B,IAAIg1B,EAAEh1B,EAAE4M,EAAE5M,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW44D,EAAE54D,IAAI44D,EAAE54D,EAAE4M,EAAE5M,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAOg0B,EAAE,SAASI,EAAE,CAAC,CAAC,IAAIp0B,CAAC,CAAC,IAAcgkB,EAAFhkB,EAAMo0B,EAAExnB,EAAR5M,GAAAA,GAAgB,EAAE,KAAK,EAAE,SAASA,IAAI,IAAMwzB,EAAExzB,EAAE,MAAM,CAAC,GAAGwzB,EAAE,CAAC,IAAMxzB,EAAE4M,EAAE4mB,EAAGW,CAAAA,GAAGA,EAAEn0B,GAAGo0B,GAAGpQ,EAAEwP,EAAEY,EAAEp0B,EAAEwzB,GAAG,CAAC,EAAE,MAAMvuB,CAAC,GAAG,IAAE,GAAE,CAAC,MAAMtE,EAAE,GAAGd,EAAE,YAAYmG,EAAE,SAAS,CAAE,MAAK,IAAIf,GAAG,CAACa,EAAE,WAAW,EAAE,WAAW0tB,GAAG,UAAUA,GAAG,UAAUA,CAAAA,CAAE,GAAG,IAAE,GAAE,CAAC,WAAWE,EAAE,UAAU/mB,EAAE,YAAY/M,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAE,GAAE,QAAQ,GAAE,GAAE,UAAU,GAAE,GAAE,OAAO,GAAE,GAAE,SAAS,GAAE,GAAE,SAAS,GAAE,KAAK,IAAI4zB,EAAE1tB,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAMrC,CAAC,CAAC,IAAI,GAAK,CAAC,SAASY,CAAC,CAAC,SAASuI,CAAC,CAAC,aAAayD,CAAC,CAAC,YAAY2T,CAAC,CAAC,SAASyP,CAAC,CAAC,UAAUhsB,EAAE,SAAS,CAAC,OAAOkF,CAAC,CAAC,MAAM/M,EAAE,MAAM,CAAC,CAAC6D,EAAEkwB,EAAEhnB,EAAEA,aAAa9E,MAAM8E,EAAE,IAAI,CAAC,MAAMA,EAAE,KAAK,EAAEhN,EAAEg0B,EAAE,CAAC,QAAQ,EAAEA,EAAE,CAAC,CAAC,CAAC,GAA2C9zB,EAAEmkB,EAAE,CAAC,aAAa,EAAEA,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,IAAE,0BAA0B,CAAC,UAAUvgB,EAAE,KAAK,EAAEgE,CAAC,EAAE,CAAC,IAAE,OAAO,CAAC,IAAE,OAAO7H,GAAG,IAAE,CAAC,gBAAgB,EAAtKyE,EAAE,aAAa,GAA2J,EAAtJuI,EAAE,aAAa,GAA2I,EAAEjN,EAAE,CAAC,CAAC,CAAC,SAAS8zB,EAAEzzB,IAAI,IAAMwzB,EAAExzB,EAAE,MAAM,AAACwzB,CAAAA,GAAGA,EAAE,KAAK,EAAEC,GAAI3tB,CAAAA,EAAE,CAAC,EAAE2tB,EAAED,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,IAAE,qBAAqB,IAAE,CAAC,wBAAwB,EAAE3zB,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAIG,CAAC,CAAC,IAAIwzB,EAAExzB,EAAEqQ,GAAImjB,CAAAA,EAAE,KAAK,CAACnjB,CAAAA,CAAE,CAAC,IAAI,AAACvK,CAAAA,GAAGuK,CAAAA,GAAI,IAAE,qCAAqC,CAAC,MAAM,yDAAyD,QAAQ,KAAKvK,EAAE,CAAC,EAAE0tB,EAAE,KAAK,CAAC,GAAGC,GAAGA,EAAE,CAAC,EAAE,CAAC,EAAE,IAAE,mBAAmB,UAAU,CAAC,CAAC,CAAC,EAAE,GAAE,IAAK,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAUD,EAAE,SAAS,CAAC,SAAS1tB,CAAC,CAAC,MAAMrC,CAAC,CAAC,QAAQY,CAAC,CAAC,SAASuI,CAAC,CAAC,YAAYyD,CAAC,CAAC,CAAC,GAAG,IAAE,MAAM,CAAC,UAAUmjB,CAAC,EAAE,IAAE,QAAQ,CAAC,IAAE,mCAAmC,CAAC,QAAQnvB,EAAE,SAASuI,EAAE,QAAQ9G,EAAE9F,IAAIA,EAAE,MAAM,EAAE,KAAK,IAAIA,EAAE,MAAM,CAAC,OAAO,EAAE8F,EAAE9F,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,GAAGyD,EAAE,UAAU,OAAOA,EAAE,IAAE,OAAOA,GAAGA,EAAE,KAAK,EAAE,EAAE4M,GAAG,IAAE,GAAE,CAAC,UAAU,sBAAsB,WAAWA,CAAC,GAAG,GAAG,GAAE,KAAK,IAAMmjB,EAAE,CAAC,EAAE1tB,EAAE9F,GAAGwzB,EAAE,UAAU,CAAC,OAAO,CAACxzB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,aAAaA,CAAC,CAAC,UAAU8F,CAAC,CAAC,CAAC,IAAI,IAAMrC,EAAEqC,GAAG9F,CAAEwzB,CAAAA,EAAE,SAAS,CAAC1tB,EAAE0tB,EAAE,UAAU,CAAC/vB,EAAEA,aAAaoE,MAAM,IAAIpE,EAAE,CAAC,CAACA,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,MAAMA,CAAC,CAAC,GAAGY,CAAC,CAAC,QAAQuI,CAAC,CAAC,UAAUyD,CAAC,CAAC,YAAY2T,CAAC,CAAC,UAAUyP,EAAE,SAAS,CAAC,SAAShsB,CAAC,CAAC,cAAckF,CAAC,CAAC,OAAO/M,CAAC,CAAC,YAAY8zB,CAAC,CAAC,SAASE,CAAC,CAAC,CAAC,IAAIvjB,GAAGmjB,EAAE,SAAS,GAAGnjB,GAAImjB,CAAAA,EAAE,SAAS,CAACnjB,EAAEmjB,EAAE,UAAU,CAACnjB,aAAaxI,MAAMwI,EAAE,CAACA,EAAE,AAAD,EAAG,IAAMxQ,EAAE+zB,EAAE,CAAC5zB,EAAE8F,KAAK,IAAMrC,EAAE+vB,EAAE,UAAU,CAAC,MAAM,CAACA,GAAGA,IAAIxzB,EAAG8F,CAAAA,GAAGrC,EAAE,IAAI,CAACzD,GAAGwzB,EAAE,UAAU,CAAC/vB,EAAEmwB,EAAEnwB,EAAE,EAAE,KAAK,EAAE,OAAO,IAAE,MAAO7D,CAAAA,EAAE,SAAS,EAAC,EAAG,CAAC,UAAU6zB,CAAC,EAAE,CAAC,IAAE,MAAM,CAAC,UAAU,qBAAqB,EAAE,IAAE,GAAE,CAAC,GAAGpvB,EAAE,MAAMZ,EAAE,YAAYiwB,CAAC,IAAI,IAAE,GAAE,CAAC,WAAW1P,CAAC,MAAMpX,EAAE,GAAG,CAAC4mB,GAAG,IAAE,GAAE,CAAC,SAAS/rB,GAAG+rB,EAAE,QAAQ,CAAC,MAAMA,EAAE,KAAK,CAAC,SAAS3zB,EAAEG,GAAGH,EAAE2zB,EAAE,EAAE,CAACxzB,GAAG,KAAK,EAAE,UAAUwzB,EAAE,SAAS,EAAE7mB,EAAE,QAAQ7G,EAAE0tB,EAAE,EAAE,EAAE,YAAYA,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC,EAAE,GAAE,IAAK,EAAC,SAAS,CAAC,CAAC,IAAIxzB,CAAC,CAAC,MAAM,CAAC,QAAQwzB,CAAC,CAAC,SAAS1tB,CAAC,CAAC,CAAC,IAAI,IAAMrC,EAAE6xB,EAAE,KAAK,CAAC,IAAI,CAACt1B,EAAEwzB,EAAG1tB,CAAAA,GAAGA,EAAErC,EAAE,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG+vB,CAAC,CAAC,MAAM1tB,CAAC,CAAC,YAAYrC,CAAC,CAAC,YAAYY,CAAC,CAAC,YAAYuI,CAAC,CAAC,QAAQyD,CAAC,CAAC,YAAY2T,CAAC,CAAC,CAAC,GAAG,IAAE,CAAC,MAAM,EAAE3f,EAAE,sBAAsB,GAAG,EAAEuI,EAAE,gBAAgB,GAAG,IAAI,EAAE4mB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAE,iBAAiB,CAAC,IAAE,KAAK1tB,GAAGke,GAAG,UAAU,OAAOvgB,EAAE,SAAO,CAACA,GAAG,IAAI,UAAU,OAAOA,EAAE,IAAE,IAAIA,GAAGA,EAAE,EAAE4M,EAAE,IAAE,gBAAgBA,EAAE,GAAG,CAACmjB,GAAG,IAAE,GAAE,GAAE,CAAC,EAAEA,EAAE,CAAC,UAAU,aAAa,MAAM,KAAK,EAAE,CAAC,GAAG,GAAE,IAAK,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAMA,CAAC,CAAC,KAAK1tB,CAAC,CAAC,OAAOrC,CAAC,CAAC,SAASY,CAAC,CAAC,CAAC,GAAG,IAAE,KAAK,CAAC,UAAUZ,EAAE,SAASY,EAAE,WAAW,cAAc,EAAE,UAAU,OAAOmvB,EAAE,IAAE,cAAY,CAAC,CAAC,KAAK1tB,CAAC,EAAE0tB,GAAGA,EAAE,GAAG,GAAE,KAAK,IAAMA,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM1tB,CAAC,CAAC,QAAQrC,EAAE,CAAC,CAAC,KAAKY,EAAEI,KAAK,GAAG,CAAC,EAAEqB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,GAAK,CAAC,SAAS8G,CAAC,CAAC,CAAC4mB,EAAEnjB,EAAEzD,EAAEvI,EAAE2f,EAAE3T,EAAEhM,EAAEoD,EAAEmF,EAAE,EAAED,EAAEqX,EAAEle,EAAE,MAAM,CAAClG,EAAE,CAAC,CAAC,MAAM,IAAE,IAAI,CAAC,QAAQ,IAAI6H,GAAG+rB,EAAE,QAAQ,EAAE,EAAE,IAAE,mBAAmB,iBAAiB,SAAS,CAAC/rB,CAAC,KAAK3B,EAAE,MAAM,CAAC,CAAC9F,EAAEwzB,IAAInjB,GAAGmjB,GAAGA,EAAExP,GAAG,CAAC,MAAM,IAAE,IAAI,CAAC,QAAQ,IAAIrX,GAAG6mB,EAAE,QAAQ,EAAE,EAAE,IAAE,mBAAmB,kBAAkB,SAAS,CAAC7mB,CAAC,EAAE,CAAC,OAAO,IAAE,gBAAgB/M,EAAE,GAAG,CAAC,CAAC4zB,EAAE1tB,IAAI,IAAE,GAAE,GAAE,CAAC,MAAMuK,EAAEvK,CAAC,EAAE0tB,EAAE,CAAC,OAAOnjB,EAAEvK,IAAIrC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAE,CAAC,QAAQ,aAAa,eAAe,SAAS,YAAY,WAAW,cAAc,WAAW,WAAW,CAAC,GAAE,CAAC,QAAQ,aAAa,eAAe,SAAS,YAAY,WAAW,cAAc,WAAW,WAAW,CAAC,GAAE,KAAK,IAAM+vB,EAAE,CAAC,GAAG,IAAG,EAAE,MAAM,CAAC,KAAK1tB,IAAI,GAAG,CAAC,MAAM,CAAC,MAAMrC,CAAC,CAAC,WAAWY,CAAC,CAAC,aAAauI,CAAC,CAAC,OAAOoX,CAAC,CAAC,UAAUrX,EAAE,SAAS,CAAC,SAAS/M,CAAC,CAAC,YAAY8zB,CAAC,CAAC,SAASE,CAAC,CAAC,SAAS/zB,CAAC,CAAC,CAAC,CAACiG,EAAEb,EAAE,GAAEa,EAAE,KAAK,CAAC,IAASE,EAAEwtB,EAAE,EAAE,CAAC7yB,EAAE,GAAEsE,GAAG+O,EAAE4f,EAAE,IAAIJ,EAAE,EAAE,EAAEI,EAAEJ,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,IAAE,eAAgBxP,CAAAA,EAAE,SAAS,EAAC,EAAG,CAAC,UAAUrX,EAAE,SAAS,IAAI6mB,EAAE,EAAE,EAAEA,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC5zB,EAAE,IAAE,0BAA0BA,GAAG,GAAG,IAAE,CAAC,2CAA2C,EAAEoG,EAAE,CAAC,EAAErF,EAAE,EAAEd,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAIG,CAAC,CAAC,IAAIwzB,EAAE,EAAE,CAAC8B,EAAE,UAAU,CAAC,IAAI,CAACt1B,EAAE,GAAE,CAAC,OAAO,aAAa,aAAa,CAAC,EAAE,eAAe,CAAC,EAAE,YAAY4M,EAAE,IAAI6nB,KAAK7nB,GAAG,IAAI6nB,IAAI,EAAExvB,EAAE,CAAC,QAAQ+O,CAAC,GAAG,CAAC,GAAG,IAAE,GAAE,CAAC,MAAMvQ,EAAE,GAAGuC,EAAE,YAAY0tB,EAAE,SAAS,CAAC,CAAC9mB,CAAC,GAAG,IAAE,GAAE,CAAC,WAAWvI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAE,KAAK,IAAMmvB,EAAE,CAAC,GAAG,IAAG,EAAE,MAAM,CAAC,KAAK1tB,IAAI,GAAG,CAAC,MAAM,CAAC,MAAMrC,CAAC,CAAC,WAAWY,CAAC,CAAC,aAAauI,CAAC,CAAC,OAAOoX,CAAC,CAAC,UAAUrX,EAAE,SAAS,CAAC,SAAS/M,CAAC,CAAC,YAAY8zB,CAAC,CAAC,SAASE,CAAC,CAAC,SAAS/zB,CAAC,CAAC,CAAC,CAACiG,EAAEb,EAAE,GAAEa,EAAE,KAAK,CAAC,IAASE,EAAEwtB,EAAE,EAAE,CAAC7yB,EAAE,GAAEsE,GAAmBc,EAAE,IAAI0uB,KAAKN,EAAEP,EAAE,IAAIJ,EAAE,EAAE,EAAEI,EAAEJ,EAAE,EAAE,CAAC,IAAI,EAAE5mB,GAAG,CAAC,EAAE7G,EAAE,QAAQ,GAAG,CAAC,EAAEA,EAAE,UAAU,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,IAAE,CAAC,uBAAuB,EAApIie,EAAE,SAAS,GAA6H,CAAC,CAAC,CAAC,UAAUrX,EAAE,SAAS,IAAI6mB,EAAE,EAAE,EAAEA,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC5zB,EAAE,IAAE,0BAA0BA,GAAG,GAAG,IAAE,CAAC,gCAAgC,EAAEoG,EAAE,CAAC,EAAErF,EAAE,EAAEd,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC,MAAM+M,EAAE,SAAS,CAAC,CAAC,IAAI5M,CAAC,CAAC,IAAIwzB,EAAE,EAAE,CAAC8B,EAAE,UAAU,CAAC,IAAI,CAACt1B,EAAE,GAAE,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,EAAE,YAAY4M,CAAC,EAAE3H,EAAE,CAAC,WAAWkvB,CAAC,GAAG,CAAC,GAAG,IAAE,GAAE,CAAC,MAAM1wB,EAAE,GAAGuC,EAAE,YAAY0tB,EAAE,SAAS9mB,CAAC,GAAG,IAAE,GAAE,CAAC,WAAWvI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAE,IAAK,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAGmvB,CAAC,CAAC,QAAQ1tB,CAAC,CAAC,MAAMrC,CAAC,CAAC,SAASY,CAAC,CAAC,UAAUuI,EAAE,SAAS,CAAC,QAAQyD,CAAC,CAAC,SAAS2T,CAAC,CAAC,CAAC,GAAG,IAAE,MAAM,CAAC,UAAUpX,CAAC,EAAE,IAAE,QAAQ,CAAC,IAAE,CAAC,mCAAmC,EAAE9G,EAAE,CAAC,EAAEuK,EAAE,oBAAoB,GAAG,EAAE2T,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC,QAAQ3f,EAAE,IAAIA,EAAEmvB,GAAG,KAAK,CAAC,GAAG,IAAE,OAAO,SAAO,CAAC/vB,IAAI,EAAE,GAAG,GAAE,KAAK,IAAM+vB,EAAE,CAAC,QAAQ,IAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAUxzB,CAAC,CAAC,aAAa8F,CAAC,CAAC,CAAC,IAAI0tB,EAAE,YAAY,CAACxzB,EAAEwzB,EAAE,SAAS,CAACxzB,GAAG8F,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,GAAGA,CAAC,CAAC,UAAUrC,CAAC,CAAC,OAAOY,CAAC,CAAC,UAAUuI,EAAE,SAAS,CAAC,MAAMyD,EAAE,EAAE,CAAC,SAAS2T,CAAC,CAAC,YAAYvc,CAAC,CAAC,QAAQkF,CAAC,CAAC,YAAY/M,CAAC,CAAC,cAAcD,CAAC,CAAC,SAAS+zB,CAAC,CAAC,CAAC,IAAIF,EAAE,YAAY,GAAG/vB,GAAI+vB,CAAAA,EAAE,YAAY,CAACA,EAAE,SAAS,CAAC/vB,CAAAA,EAAG,GAAK,CAAC,QAAQmwB,CAAC,CAAC,UAAU/zB,CAAC,CAAC,CAAC2zB,EAAEvuB,EAAEjF,IAAIwzB,EAAE,SAAS,CAACxzB,EAAE0zB,GAAGA,EAAE1zB,EAAE,EAAE,OAAOqE,GAAIuI,CAAAA,GAAG,QAAO,EAAG,IAAE,MAAM,CAAC,GAAG9G,EAAE,UAAU8G,CAAC,EAAE,CAAC,IAAE,MAAM,CAAC,UAAU,qBAAqB,EAAE,IAAE,GAAE,CAAC,GAAG9G,EAAE,MAAMuK,EAAE,YAAYzQ,CAAC,IAAI6H,EAAE,IAAE,gBAAgB,SAAO,CAACA,IAAI,MAAMkF,EAAE,GAAG,CAAC6mB,GAAG,IAAE,GAAE,GAAE,CAAC,EAAEA,EAAE,CAAC,SAASvuB,EAAE,QAAQ2uB,EAAE,SAAS5P,EAAE,UAAUrkB,EAAE,QAAQ6zB,EAAE,EAAE,GAAG3zB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAE,KAAK,IAAM2zB,EAAE,CAAC,EAAE1tB,EAAE9F,GAAGA,EAAE,GAAG,CAACA,GAAGA,EAAE,EAAE,EAAE,IAAI,CAAC,IAAIyD,EAAE,CAACzD,EAAEwzB,EAAE1tB,EAAE,CAAC,CAAC,GAAGA,GAAI0tB,CAAAA,aAAa3rB,OAAQ7H,CAAAA,GAAG,UAAU,OAAOA,CAAAA,EAAGwzB,EAAE,OAAO,CAACxzB,IAAI,EAAEwzB,IAAIxzB,CAAAA,EAAG,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAUA,CAAC,CAAC,aAAayD,CAAC,CAAC,QAAQY,CAAC,CAAC,CAAC,IAAImvB,EAAE,GAAG,CAAC1tB,EAAEzB,GAAG,IAAMuI,EAAE5M,GAAGyD,CAAE+vB,CAAAA,EAAE,SAAS,CAACxzB,aAAa6H,MAAM,IAAI7H,EAAE,CAACA,EAAEwzB,EAAE,YAAY,CAAC,MAAM5mB,EAAEA,aAAa/E,MAAM+E,EAAE,MAAM,CAAC5M,GAAG,MAAMA,GAAG,CAAC4M,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,GAAGvI,CAAC,CAAC,OAAOuI,CAAC,CAAC,UAAUyD,EAAE,SAAS,CAAC,UAAUojB,CAAC,CAAC,IAAIhsB,CAAC,CAAC,QAAQkF,CAAC,CAAC,SAAS/M,CAAC,CAAC,MAAM8zB,CAAC,CAAC,WAAWE,CAAC,CAAC,YAAY/zB,EAAE,EAAE,CAAC,YAAYoF,CAAC,CAAC,SAASe,CAAC,CAAC,SAASrF,CAAC,CAAC,QAAQqT,EAAE,EAAE,CAAC,gBAAgBjO,CAAC,CAAC,SAASouB,CAAC,CAAC,CAAC,IAAIX,EAAE,SAAS,GAAGC,GAAID,CAAAA,EAAE,YAAY,CAACC,EAAEA,aAAa5rB,MAAM4rB,EAAE,CAACA,EAAE,CAAC,KAAK,GAAG,GAAK,CAAC,aAAauB,CAAC,CAAC,CAACxB,EAAEolC,EAAEzkC,EAAEv0B,EAAE,KAAK,IAAMI,EAAEwzB,EAAE,QAAQ,EAAEA,EAAE,QAAQ,CAAC,iBAAiB,GAAG1tB,EAAE9F,EAAEA,EAAE,MAAM,CAAC,GAAG,GAAEA,CAAC,CAAC,EAAE,EAAEA,EAAE,GAAG,CAACA,GAAG,CAACA,GAAGA,EAAE,MAAM,CAACA,GAAG,OAAOA,GAAG,KAAK,IAAIA,GAAG,KAAK,CAAEwzB,CAAAA,EAAE,YAAY,CAAC1tB,GAAG,EAAE,CAACquB,EAAEX,EAAE,YAAY,CAAC,EAAExzB,IAAI,GAAGA,GAAGA,EAAE,aAAa,CAAC,CAAC,IAAM8F,EAAE9F,EAAE,aAAa,CAACyD,EAAE,GAAEqC,EAAE,KAAK,EAAE,CAACA,EAAE,KAAK,CAACA,EAAE,KAAK,AAAC0tB,CAAAA,EAAE,YAAY,CAAmB,CAAC/vB,EAAE,AAAG,CAAC+vB,EAAE,YAAY,EAAEW,EAAEX,EAAE,YAAY,CAAC,EAAE,KAAK,CAAE5mB,CAAAA,GAAIyD,CAAAA,GAAG,QAAO,EAAG,IAAM6jB,EAAE,CAACvnB,EAAE,IAAI,CAAC3M,GAAGyD,EAAEzD,EAAE,EAAE,CAACg1B,IAAIf,EAAEtnB,EAAE,MAAM,CAAC,CAAC3M,EAAEwzB,IAAKA,CAAAA,EAAE,KAAK,EAAExzB,AAAmB,EAAnBA,EAAE,OAAO,CAACwzB,EAAE,KAAK,GAAKxzB,EAAE,IAAI,CAACwzB,EAAE,KAAK,EAAExzB,CAAAA,EAAG,EAAE,EAAE,OAAO,IAAE,4BAA4B,CAAC,UAAUqQ,EAAE,IAAI5I,EAAE,SAAS7H,EAAE,CAAC,CAAC,IAAII,CAAC,CAAC,GAAGwzB,EAAE,OAAO,CAACxzB,EAAE,KAAK,CAAC,EAAE,CAACgG,GAAG,IAAE,0BAA0BA,GAAG,IAAE,SAAS,CAAC,GAAG3B,EAAE,MAAMqvB,EAAE,SAAS/yB,EAAE,SAASf,EAAE,SAAS,CAAC,CAAC,IAAII,CAAC,CAAC,IAAIwzB,EAAE,QAAQ,CAAC8B,EAAE,UAAU,CAAC,IAAI,CAACt1B,EAAE,CAAC,QAAQgU,EAAE,gBAAgBjO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,IAAI/F,CAAC,CAAC,IAAI,GAAGJ,EAAE,CAAC,IAAMI,EAAEgG,EAAE,EAAE,CAAE,EAACwtB,EAAE,OAAO,EAAEA,EAAE,OAAO,EAAEA,EAAE,OAAO,CAAC,UAAU,EAAEA,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,GAAGA,EAAE,OAAO,CAAC,UAAU,CAACxzB,EAAE,CAAC,UAAU,EAAEwzB,EAAE,OAAO,CAAC,UAAU,CAACxzB,EAAE,CAAC,UAAU,CAAC,EAAE,EAAGwzB,CAAAA,EAAE,OAAO,CAACA,EAAE,OAAO,CAAC,UAAU,CAACxzB,EAAE,CAAC,UAAU,CAAC,EAAE,AAAD,EAAGwzB,EAAE,OAAO,EAAEA,EAAE,OAAO,CAAC,KAAK,EAAEA,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE3zB,EAAE,EAAE,CAAC,GAAI2zB,CAAAA,EAAE,OAAO,CAAC,KAAK,CAACA,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE3zB,EAAE,EAAE,CAAC,CAAC,GAAE,CAAE,CAAC,IAAM4D,EAAEqC,EAAE6G,GAAOtI,EAAEovB,GAAGD,EAAE,SAAS,GAAGC,EAAE,QAAQ,EAAGD,CAAAA,EAAE,GAAG,GAAG/vB,GAAI+vB,CAAAA,EAAE,GAAG,CAAC/vB,EAAEY,EAAE,CAAC,GAAG,AAACmvB,CAAAA,EAAE,SAAS,YAAY3rB,OAAO4rB,aAAa5rB,MAAM2rB,EAAE,SAAS,CAAC,IAAI,KAAKC,EAAE,IAAI,GAAGD,EAAE,SAAS,GAAGC,CAAAA,GAAKD,CAAAA,EAAE,SAAS,CAACC,EAAEpvB,EAAE,CAAC,GAAGA,GAAImvB,CAAAA,EAAE,QAAQ,CAAC8B,EAAE,UAAU,CAAC,IAAI,CAACt1B,EAAE,CAAC,QAAQgU,EAAE,gBAAgBjO,CAAC,EAAC,CAAE,EAAE,SAAS6yD,CAAC,EAAE,IAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC1kC,GAAG,KAAK,CAAC,EAAEr0B,GAAG,IAAIo0B,EAAE,MAAM,CAACtnB,EAAE,GAAG,CAAC,CAAC6mB,EAAE1tB,KAAK,IAAIzB,EAAE,OAAO,IAAE,SAAS,CAAC,MAAMmvB,EAAE,EAAE,CAAC,MAAMA,EAAE,KAAK,EAAE,KAAK,EAAE,SAASA,EAAE,QAAQ,CAAC,OAAO,KAAK,EAAE,YAAYA,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS/vB,EAAE+vB,EAAE,EAAE,CAACwB,EAAE,IAAIlvB,GAAGouB,GAAG,CAACr0B,EAAE,EAAE,MAAOwE,CAAAA,EAAEmvB,EAAE,KAAK,AAAD,EAAG,KAAK,EAAEnvB,EAAE,OAAO,CAAC,QAAQ,KAAK,GAAG4vB,EAAE,GAAG,CAACT,GAAG,IAAE,WAAW,CAAC,MAAMA,CAAC,EAAE7mB,EAAE,MAAM,CAAC3M,GAAGA,EAAE,KAAK,GAAGwzB,GAAG,GAAG,CAAC,CAACA,EAAE1tB,KAAK,IAAIzB,EAAE,OAAO,IAAE,SAAS,CAAC,MAAMmvB,EAAE,EAAE,CAAC,MAAMA,EAAE,KAAK,EAAE,KAAK,EAAE,SAASA,EAAE,QAAQ,CAAC,OAAO,KAAK,EAAE,YAAYA,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS/vB,EAAE+vB,EAAE,EAAE,CAACwB,EAAE,IAAIlvB,GAAGouB,GAAG,CAACr0B,EAAE,EAAE,MAAOwE,CAAAA,EAAEmvB,EAAE,KAAK,AAAD,EAAG,KAAK,EAAEnvB,EAAE,OAAO,CAAC,QAAQ,KAAK,MAAM,IAAE,GAAE,CAAC,MAAMqvB,EAAE,YAAYzuB,CAAC,GAAG2uB,GAAG,IAAE,GAAE,CAAC,WAAWA,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAE,CAAC,QAAQ,OAAO,QAAQ,WAAW,SAAS,WAAW,UAAU,cAAc,YAAY,CAAC,GAAE,KAAK,IAAMJ,EAAE,CAAC,GAAG,IAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM1tB,CAAC,CAAC,IAAI,IAAMrC,EAAEqC,EAAE,EAAE,EAAE0tB,EAAE,EAAE,CAAC,CAAC,MAAMnvB,CAAC,CAAC,KAAKgM,CAAC,CAAC,MAAM2T,CAAC,CAAC,SAASyP,CAAC,CAAC,OAAO9mB,CAAC,CAAC,SAAS/M,CAAC,CAAC,QAAQD,CAAC,CAAC,YAAY+zB,CAAC,CAAC,UAAUE,EAAE,SAAS,CAAC,CAAC9tB,EAAEjG,EAAE,GAAEiG,EAAE,IAAG,OAAO,IAAE,MAAO6G,CAAAA,EAAE,SAAS,EAAC,EAAG,CAAC,UAAUinB,CAAC,EAAE,CAACvvB,EAAE,IAAE,GAAE,CAAC,MAAMA,GAAG,GAAG,GAAGZ,EAAE,YAAYiwB,CAAC,GAAG,KAAK,EAAE,IAAE,UAAU7zB,EAAE,IAAE,QAAQ,CAACwQ,GAAG,MAAM,IAAE,CAAC,SAAS,EAAE5M,EAAE,gBAAgB,EAAE,GAAE,CAAC,SAASgwB,CAAC,GAAG,EAAE9zB,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,QAAQC,EAAEI,IAAIA,EAAE,MAAM,EAAE,KAAK,IAAIA,EAAE,MAAM,CAAC,OAAO,EAAEJ,EAAEI,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,IAAE,cAAcgkB,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,GAAE,KAAK,IAAMwP,EAAE,CAAC,EAAE1tB,EAAE,CAAC9F,EAAEwzB,IAAIA,GAAGxzB,EAAE,OAAO,CAAC,KAAK,IAAI,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAASyD,CAAC,CAAC,cAAcY,CAAC,CAAC,KAAKuI,CAAC,CAAC,UAAUyD,CAAC,CAAC,MAAM2T,CAAC,CAAC,SAASyP,CAAC,CAAC,OAAOhsB,CAAC,CAAC,UAAUkF,CAAC,CAAC,oBAAoB/M,CAAC,CAAC,CAAC,IAAI,IAAM+zB,EAAE/mB,EAAE,MAAM,CAAC5M,GAAGA,EAAE,MAAM,EAAE,KAAK,GAAGL,EAAE0E,GAAIsvB,CAAAA,EAAE7tB,EAAE6tB,EAAE,KAAK,CAACA,EAAE,EAAE,EAAE,EAAC,EAAG,OAAO,IAAE,OAAO,CAAC,IAAE,WAAW,IAAE,UAAW,UAASlwB,EAAE,oBAAoB,EAAC,EAAG,CAAC,UAAU4M,EAAE,MAAM2T,EAAE,SAAS,CAAC,CAAC,IAAIhkB,CAAC,CAAC,IAAIwzB,EAAE,QAAQ,CAAC8B,EAAE,IAAI,CAAC,IAAI,CAACt1B,EAAE,CAAC,SAASyzB,EAAE,OAAOhsB,EAAE,oBAAoB7H,EAAE,UAAU+M,CAAC,EAAE,EAAE,SAAS,KAAK,GAAGhN,EAAE,CAAC,IAAMK,EAAE04D,SAAS,cAAc,CAAC,CAAC,IAAI,EAAE/4D,EAAE,CAAC,CAAEK,CAAAA,GAAGA,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,IAAIwzB,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE5mB,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU4mB,CAAC,CAAC,MAAMnvB,CAAC,CAAC,GAAGgM,CAAC,CAAC,OAAO2T,CAAC,CAAC,SAASyP,CAAC,CAAC,OAAOhsB,CAAC,CAAC,KAAKkF,CAAC,CAAC,GAAG,IAAE,CAAC,MAAM,EAAE8mB,EAAE,YAAY,GAAG,EAAE,UAAUhwB,EAAE,CAAC,MAAM,EAAEgB,KAAK,KAAK,CAAC,GAAGmI,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU4mB,CAAC,EAAE,IAAE,CAAC,SAAS,EAAE1tB,EAAEzB,EAAEgM,GAAG,CAAC,EAAE2T,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,OAAOvc,EAAE,KAAKkF,GAAG,CAAC,CAAC,EAAE7G,EAAEzB,EAAEgM,GAAG,CAAC,EAAEhM,OAAOuI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK5M,CAAC,CAAC,GAAG,KAAK,IAAIA,GAAG,GAAG,CAAC,CAAC,CAAC,GAAGwzB,CAAC,CAAC,MAAM/vB,CAAC,CAAC,MAAMY,CAAC,CAAC,aAAauI,CAAC,CAAC,GAAG,IAAE,CAAC,YAAY,EAAE9G,EAAErC,EAAE+vB,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU5mB,CAAC,EAAEvI,IAAI,CAAC,CAAC,CAAC,EAAE,GAAErE,GAAGA,EAAE,MAAM,CAAC,GAAG,WAAW,GAAGA,EAAE,KAAK,CAAC,GAA2B,GAAE,CAACA,EAAEwzB,EAAE,CAAC,CAAC1tB,EAAE,GAAG,GAAG9F,EAAE,QAAQ,GAAG,MAAM,EAAEwzB,EAAExzB,EAAE,QAAQ,GAAG,GAAE8F,EAAE9F,EAAEwzB,EAAE1tB,GAAG,GAAG9F,GAAGA,EAAE,CAAC,EAAE,GAAEA,EAAE,QAAQ,IAAI,CAAC,EAAE,GAAEA,EAAE,UAAU,IAAI,CAAC,CAAC,QAAQ,GAAG,CAACA,EAAEwzB,KAAK,IAAM1tB,EAAE,AAAC0tB,CAAAA,EAAE,AAACA,CAAAA,EAAEA,EAAE,OAAO,CAAC,aAAa,MAAK,EAAG,OAAO,CAAC,MAAM,GAAE,EAAG,KAAK,CAAC,KAAS/vB,EAAE,CAAC,GAAGzD,CAAC,EAAE,IAAI,IAAIwzB,EAAE,EAAEnvB,EAAEyB,EAAE,MAAM,CAAC0tB,EAAEnvB,EAAE,EAAEmvB,EAAE,CAAC,IAAMnvB,EAAEyB,CAAC,CAAC0tB,EAAE,CAAC,GAAG,UAAU,OAAO/vB,GAAGY,KAAKZ,EAAEA,EAAEA,CAAC,CAACY,EAAE,KAAK,CAAC,GAAG,CAAEZ,CAAAA,aAAaoE,KAAI,EAAG,MAAO,EAAC,IAAM2rB,EAAExzB,CAAC,CAACqE,EAAE,EAAEA,EAAEyB,EAAE,aAAa,IAAI,CAACzB,GAAGuI,EAAE9G,GAAGA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,GAAGA,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAIzB,EAAEgM,EAAE5M,EAAE,MAAM,CAACzD,GAAGA,CAAC,CAAC4M,EAAE,GAAG4mB,GAAG,KAAK,GAAG,GAAG,CAACnjB,EAAE,OAAO5M,EAAE4M,CAAC,CAAC,CAAC,CAAC,OAAO5M,CAAC,EAAE,GAAGzD,GAAGA,EAAE,MAAM,CAAC,CAACA,EAAEwzB,IAAIA,aAAa3rB,MAAM,IAAI7H,KAAKwzB,EAAE,CAAC,IAAIxzB,EAAEwzB,EAAE,CAAC,EAAE,EAAE,GAAG,iCAAiC,GAAG,WAAW,GAAG,eAAe,GAAG,SAASxzB,CAAC,EAAE,IAAIwzB,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAACrtB,UAAU,GAAG,OAAO,IAAInG,EAAE,MAAM,EAAE,AAACA,CAAAA,aAAa6H,MAAM7H,EAAE,CAACA,EAAE,AAAD,EAAG,IAAI,CAACA,QAAKA,EAAEwzB,SAAFxzB,EAAwoBA,EAAtoBwzB,EAAwoB,GAAG,IAAI,CAACxzB,GAAG,CAACwzB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAGA,GAAzpBxzB,EAAE,KAAK,CAAC,KAAK,MAAM,CAAC,CAACA,EAAE8F,KAAK,IAAMrC,EAAE,GAAG,IAAI,CAACqC,GAAGzB,EAAEZ,EAAEqC,EAAE,OAAO,CAAC,GAAG,IAAIA,EAAE,OAAO9F,EAAEA,GAAGwzB,EAAE,MAAM,CAAC+sC,SAAS,MAAM,CAAC,CAACvgE,EAAEwzB,IAAIxzB,GAAG,AAAC,EAACA,EAAEwzB,KAAK,GAAG,CAACA,GAAG,IAAIj0B,OAAO,IAAI,CAACi0B,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAM1tB,EAAE,GAAG,IAAI,CAAC9F,GAAG,GAAG8F,EAAE,CAAC,GAAK,CAAC9F,EAAEyD,EAAEY,EAAEuI,EAAE,CAAC9G,EAAEuK,EAAE,GAAGmjB,EAAE/vB,EAAE,IAAI,IAAI,GAAG,KAAK,IAAI4M,GAAG,UAAU,OAAOA,GAAG,IAAIA,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAChM,GAAG,CAACuI,EAAE,MAAM,CAAC,CAAE,EAAC,IAAM4mB,EAAEnuB,MAAM,CAACuH,GAAG,SAASA,GAAG,UAAUA,GAAGA,EAAE,CAACA,EAAE,OAAOvI,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,OAAOgM,aAAaxI,MAAMwI,EAAE,OAAO,CAACmjB,IAAI,EAAEnjB,IAAImjB,CAAE,KAAI,KAAK,OAAOnjB,GAAGmjB,CAAE,KAAI,KAAK,OAAOnjB,GAAGmjB,CAAE,KAAI,IAAI,OAAOnjB,EAAEmjB,CAAE,KAAI,IAAI,OAAOnjB,EAAEmjB,CAAE,SAAQ,OAAOvf,QAAQ,KAAK,CAAC,CAAC,sBAAsB,EAAE5P,EAAE,iBAAiB,EAAErE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAGqE,EAAE,IAAI,GAAGmvB,GAAG,CAAC,GAAG/vB,EAAE,CAACzD,EAAEA,CAAC,EAAE,CAAC,IAA+B,EAAE,GAAG,CAACA,EAAEwzB,IAAI,GAAGA,EAAE,MAAM,CAAC+sC,SAAS,WAAW,CAAC,CAACvgE,EAAEwzB,IAAK,EAAC,GAAGA,CAAC,CAAC,GAAGxzB,CAAC,IAAIA,EAAE,IAAI,IAAI,GAAG,CAACA,EAAEwzB,IAAI,KAAK,IAAI,GAAGxzB,EAAEwzB,GAAG,GAAG,oCAAoC,GAAG,SAASxzB,CAAC,MAA8BwzB,EAA5B,GAAG,CAAC,GAAG,IAAI,CAACxzB,GAAG,MAAM,CAAC,CAAQ,IAAG,SAAS,CAAC,EAAE,IAAI8F,EAAE,CAAC,EAAE,EAAG0tB,CAAAA,EAAE,GAAG,IAAI,CAACxzB,EAAC,GAAMwzB,CAAAA,EAAE,KAAK,GAAG,GAAG,SAAS,EAAE,GAAG,SAAS,GAAGA,EAAE,OAAO,CAAC,CAACxzB,EAAEwzB,EAAE,EAAE/vB,EAAE,IAAIqC,EAAEA,GAAG,GAAGrC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC0C,UAAU,GAAG,EAAC,QAASL,GAAG,OAAO0tB,EAAG,QAAO1tB,CAAC,EAAE,GAAG,CAAC9F,EAAEwzB,KAAK,GAAG,KAAK,IAAIxzB,EAAE,MAAM,GAAG,GAAGA,aAAa6H,MAAM,OAAO7H,EAAE,GAAG,CAACA,GAAG,GAAGA,EAAEwzB,IAAI,IAAI,CAAC,MAAM,GAAG,CAACA,EAAE,OAAOxzB,EAAE,QAAQ,GAAG,GAAG,WAAW,OAAOA,EAAE,CAAC,IAAM8F,EAAE0tB,EAAE,OAAO,CAAC,KAAK,OAAOxzB,EAAEwzB,EAAE,SAAS,CAAC,EAAE1tB,GAAG0tB,EAAE,SAAS,CAAC1tB,EAAE,EAAE,CAAC,OAAO0tB,GAAG,QAAQ,OAAOxzB,EAAE,QAAQ,EAAG,KAAI,OAAO,OAAO,IAAIy0B,KAAKz0B,GAAG,kBAAkB,EAAG,KAAI,OAAO,OAAO,IAAIy0B,KAAKz0B,GAAG,kBAAkB,EAAG,KAAI,MAAM,OAAO,IAAIy0B,KAAKz0B,GAAG,WAAW,EAAG,KAAI,MAAM,OAAO,IAAIy0B,KAAKz0B,GAAG,WAAW,EAAE,CAAC,EAAE,GAAG,SAASA,CAAC,MAA8BwzB,EAA5B,GAAG,CAAC,GAAG,IAAI,CAACxzB,GAAG,OAAOA,CAAQ,IAAG,SAAS,CAAC,EAAE,EAAGwzB,CAAAA,EAAE,GAAG,IAAI,CAACxzB,EAAC,GAAMwzB,CAAAA,EAAE,KAAK,GAAG,GAAG,SAAS,EAAE,GAAG,SAAS,GAAGA,EAAE,OAAO,CAAC,CAACA,EAAE1tB,EAAE,CAACrC,EAAEY,EAAEuI,EAAE,IAAI,IAAMyD,EAAE,GAAGhM,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC8B,UAAU,GAAI,EAACkK,GAAGA,aAAaxI,OAAQ7H,CAAAA,EAAEA,EAAE,OAAO,CAACyD,EAAE,GAAG4M,EAAEzD,GAAE,CAAE,EAAC,QAAS,OAAO4mB,EAAG,QAAOxzB,CAAC,EAAE,GAAGA,IAAI,GAAG,OAAOA,EAAE,OAAOA,EAAE,GAAGA,aAAay0B,KAAK,OAAO,IAAIA,KAAKz0B,EAAE,OAAO,IAAI,GAAGA,aAAa6H,MAAM,CAAC,IAAM2rB,EAAE,EAAE,CAAC,OAAOxzB,EAAE,OAAO,CAACA,IAAIwzB,EAAE,IAAI,CAACxzB,EAAE,GAAGwzB,EAAE,GAAG,CAACxzB,GAAG,GAAGA,GAAG,CAAC,GAAG,UAAU,OAAOA,EAAE,CAAC,IAAMwzB,EAAE,CAAC,GAAGxzB,CAAC,EAAE,OAAOT,OAAO,IAAI,CAACi0B,GAAG,OAAO,CAACxzB,IAAIwzB,CAAC,CAACxzB,EAAE,CAAC,GAAGwzB,CAAC,CAACxzB,EAAE,CAAC,GAAGwzB,CAAC,CAAC,OAAOxzB,CAAC,EAA+mC,GAAG,CAACA,EAAE,EAAE,GAAGA,EAAE,OAAO,CAAC,WAAW,IAAI,WAAW,GAAG,GAAG,CAACA,EAAEwzB,EAAE1tB,EAAE,CAAC,IAAI,IAAMrC,EAAE,EAAE,CAAC,IAAI,IAAIY,EAAErE,EAAEqE,GAAGmvB,EAAEnvB,GAAGyB,EAAErC,EAAE,IAAI,CAACY,GAAG,OAAOZ,CAAC,EAAE,GAAGzD,IAAI,UAAU,OAAOA,GAAIA,CAAAA,EAAEu6B,KAAK,SAAS,CAACv6B,EAAC,EAAG,IAAIwzB,EAAE,EAAE,GAAG,IAAIxzB,EAAE,MAAM,CAAC,OAAOwzB,EAAE,IAAI,IAAI1tB,EAAE,EAAEA,EAAE9F,EAAE,MAAM,CAAC8F,IAAI0tB,EAAE,AAACA,CAAAA,GAAG,GAAGA,EAAExzB,EAAE,UAAU,CAAC8F,GAAG0tB,GAAGA,EAAE,OAAOA,CAAC,EAAE,GAAG,CAACxzB,EAAEwzB,EAAE1tB,KAAK,IAAMrC,EAAElE,OAAO,MAAM,CAAC,CAAC,EAAEi0B,EAAE1tB,GAAG,MAAM,CAAC,EAAE9F,EAAE,CAAC,EAAET,OAAO,IAAI,CAACkE,GAAG,GAAG,CAACzD,GAAG,CAAC,EAAEA,EAAE,CAAC,EAAEyD,CAAC,CAACzD,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAK,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG8F,EAAE,EAAE,CAAC,iBAAiBrC,EAAE,CAAC,CAAC,CAAC,cAAcY,EAAE,CAAC,CAAC,CAAC,GAAGuI,EAAE,CAAC,GAAG,IAAE,0BAA0BA,EAAE,SAAO,CAAC,GAAE9G,EAAErC,EAAEY,IAAI,GAAG,GAAG,IAAK,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAKmvB,CAAC,CAAC,MAAM1tB,CAAC,CAAC,MAAMrC,EAAE,EAAE,CAAC,aAAaY,CAAC,CAAC,OAAOuI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAMyD,EAAE,CAAC,UAAUvK,EAAE,SAAS,EAAE,SAAS,EAAE,GAAGzB,aAAawD,OAAOxD,EAAE,MAAM,CAAC,EAAE,OAAO,IAAE,YAAYgM,EAAE,CAAC,IAAE,QAAQ5M,GAAG,IAAE,GAAG,CAAC,GAAG,OAAOY,EAAE,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,UAAU,OAAOA,EAAE,OAAO,IAAE,YAAYgM,EAAE,QAAQmjB,EAAE,CAAC,IAAE,QAAQ,CAAC,EAAE/vB,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,IAAE,mBAAmB,CAAC,KAAKY,CAAC,EAAEA,GAAG,CAAC,UAAUmvB,EAAE,CAAC,IAAE,QAAQ,CAAC,EAAE/vB,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,IAAE,SAAS,CAAC,MAAM,CAAC,iEAAiE,EAAEY,EAAE,CAAC,GAAG,CAAC,CAAC,IAAE,QAAQZ,GAAG,IAAE,GAAG,CAAC,GAAGY,CAAC,GAAG,EAAE,IAAM2f,EAAE3f,aAAawD,MAAMxD,EAAE,IAAI,CAAC,MAAMA,EAAE,OAAO,IAAE,YAAYgM,EAAE,CAAC5M,GAAG,IAAE,QAAQA,GAAGmJ,EAAE,IAAE,OAAOoX,EAAE,CAAC,EAAE,EAAEA,EAAE,CAAC,CAAC,SAAO,CAAC,WAAW,IAAE,IAAIA,GAAG,SAAO,CAAC,WAAW,CAAC,CAAC,GAAymV,GAAG,SAAgNvgB,EAAhN,IAAW+vB,EAAE,CAAC,EAAE1tB,EAAE,CAAC9F,EAAE8F,KAAK,IAAMrC,EAAEzD,aAAa6H,MAAM7H,EAAE,MAAM,CAACA,EAAE,cAAc,CAAC8F,GAAG9F,CAAC,CAAC8F,EAAE,CAAC,MAAM,CAAC,EAAEzB,EAAEmvB,EAAE,SAAS,CAACA,EAAE,SAAS,CAACxzB,EAAE8F,EAAErC,GAAG,CAAC,CAAEzD,CAAAA,aAAa6H,MAAM7H,EAAE,IAAI,CAACqE,GAAGrE,EAAE,cAAc,CAAC8F,GAAG9F,CAAC,CAAC8F,EAAE,CAAC,IAAI,CAACzB,GAAGrE,CAAC,CAAC8F,EAAE,CAAC,CAACzB,EAAE,EAAcA,EAAErE,IAAIA,EAAE,cAAc,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAKA,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG8F,EAAE,EAAE,CAAC,aAAazB,CAAC,CAAC,UAAUuI,CAAC,CAAC,CAAC,CAAC,IAAI4mB,EAAE,SAAS,CAACxzB,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE0E,OAAOoB,GAAG,CAAC,CAAC0tB,EAAE,WAAW,CAACxzB,EAAE,YAAY,EAAE,CAAC,WAAW,EAAE0E,OAAOoB,GAAG,CAAC,CAAC0tB,EAAE,SAAS,CAAC5mB,EAAEnJ,EAAE,AAACzD,CAAAA,IAAI,GAAG,CAACA,EAAE,MAAM,CAACA,EAAEwzB,IAAI,EAAE,IAAMA,EAAE,MAAMxzB,CAAC,CAAC,EAAE,CAAC8F,EAAE0tB,EAAExzB,EAAE,SAAS,CAAC,GAAGA,EAAE,OAAOwzB,EAAE,CAACxzB,EAAEwzB,IAAIxzB,CAAC,CAAC8F,EAAE,CAAC0tB,CAAC,CAAC1tB,EAAE,CAAC,GAAG9F,CAAC,CAAC8F,EAAE,CAAC0tB,CAAC,CAAC1tB,EAAE,CAAC,EAAE,EAAE,CAAC9F,EAAEwzB,IAAIxzB,CAAC,CAAC8F,EAAE,CAAC0tB,CAAC,CAAC1tB,EAAE,CAAC,EAAE9F,CAAC,CAAC8F,EAAE,CAAC0tB,CAAC,CAAC1tB,EAAE,CAAC,GAAG,CAAC,GAAGzB,EAAE,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,MAAMuI,CAAC,CAAC,IAAIyD,CAAC,CAAC,QAAQ2T,CAAC,CAAC,UAAUyP,EAAG7mB,EAAE,SAAS,CAAC,IAAIA,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,UAAW,CAAC,QAAQnF,CAAC,CAAC,YAAYkF,CAAC,CAAC,SAAS/M,EAAG,WAAW,OAAOgN,EAAE,QAAQ,CAACA,EAAE,QAAQ,CAAC,KAAK,CAAE,CAAC,SAAS+mB,CAAC,CAAC,KAAKh0B,EAAE,CAAC,CAAC,CAAC,SAAS+zB,CAAC,CAAC,CAAC,QAA+I1zB,EAAEwzB,EAA7I,GAAK,CAAC,YAAYI,CAAC,CAAC,CAACJ,EAAE,CAAC,GAAG3zB,CAAC,CAAC,MAAMoF,CAAC,CAAC,KAAKe,CAAC,CAAC,IAAID,CAAC,CAAC,IAAIouB,CAAC,CAAC,SAASa,CAAC,CAAC,eAAe4jC,CAAC,CAAC,YAAY1kC,CAAC,CAAC,SAASD,EAAEN,CAAC,CAAC,gBAAgBK,EAAE,EAAE,CAAC,CAACpnB,EAAEkoB,GAAI90B,EAAkEqQ,EAAhEmjB,EAAkE3zB,EAA9DG,aAAa6H,MAAM7H,EAAGA,CAAAA,EAAE,cAAc,CAACwzB,IAAKxzB,CAAAA,CAAC,CAACwzB,EAAE,CAAC,EAAE,AAAD,EAAGxzB,CAAC,CAACwzB,EAAE,AAAD,GAASqB,EAAEjB,EAAE,GAA9E,mDAAoI,CAAC,CAAC,EAAE,OAAO,CAACiB,IAAI,GAAGC,EAAER,EAAE,AAACt0B,CAAAA,IAAI,IAAMwzB,EAAEvzB,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAOuzB,EAAE,IAAIu7C,gBAAgBv7C,GAAG,GAAG,CAACxzB,GAAG,IAAI,GAAG0E,OAAO7E,IAAI+1B,EAAEtB,EAAE7vB,KAAK,GAAG,CAAC6wB,EAAE,MAAM,CAAC,CAAChB,GAAG,EAAEzuB,EAAEmvB,GAAGM,GAAG,AAACM,CAAAA,EAAE,GAAGZ,EAAEM,EAAE,MAAM,CAACM,EAAE,EAAsC3iB,EAAE,IAAxG,uLAAmSugB,EAAExzB,EAAEA,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAACC,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG6F,EAAE,CAAC,EAAE,GAAG0tB,EAAE,CAAC,IAAMxzB,EAAEwzB,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI/vB,EAAE,EAAEA,EAAEzD,EAAE,MAAM,CAACyD,IAAI,CAAC,IAAM+vB,EAAExzB,CAAC,CAACyD,EAAE,CAAC,KAAK,CAAC,KAAKY,EAAEmvB,CAAC,CAAC,EAAE,CAAC5mB,EAAE,KAAK,IAAI4mB,CAAC,CAAC,EAAE,EAAEA,CAAC,CAAC,EAAE,CAAC,GAAGnvB,EAAE,KAAK,CAAC,eAAe,CAAC,IAAMrE,EAAE8F,CAAC,CAACzB,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE,EAAE,AAACA,CAAAA,EAAE,KAAK,CAAC,YAAYrE,CAAC,CAAC,CAAC,YAAY,IAAI,CAACqE,EAAE,CAAC,EAAE,CAAC,CAACuI,EAAE5M,EAAE,IAAI,CAAC4M,EAAE,MAAM9G,CAAC,CAACzB,EAAE,EAAC,UAAU,OAAOyB,CAAC,CAACzB,EAAE,EAAEyB,CAAAA,CAAC,CAACzB,EAAE,CAAC,CAACyB,CAAC,CAACzB,EAAE,CAAC,AAAD,EAAgByB,CAAC,CAACzB,EAAE,CAAC,IAAI,CAACuI,IAAG9G,CAAC,CAACzB,EAAE,CAACuI,CAAC,CAAC,CAAC,OAAO9G,CAAC,GAAGmN,GAAGshB,EAAE,GAAG,GAAG9vB,KAAK,KAAK,CAACA,KAAK,KAAK,CAAC6wB,EAAE,MAAM,GAAGQ,EAAE,IAAIZ,EAAE,MAAM,CAAC,CAAC,IAAJ,WAAiBr1B,GAAG,gBAAgB,EAAE4zB,EAAE,CAAC,CAAC,CAAC,IAAC,oCAAiC,WAAC,KAAa,GAAE,UAAY7zB,GAAGq0B,GAAGc,EAAE,GAAG,MAAM,UAAU,QAAQ,MAAM9vB,EAAE,QAAQ,KAAKa,EAAEuK,EAAE3L,OAAO7E,IAAIA,GAAG,IAAd,iCAAiDy1B,EAAE,MAAM,IAAI5B,GAAGA,EAAErjB,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,OAAO,SAASzQ,GAAGm1B,EAAE,SAASd,CAAC,GAAGiB,EAAE,GAAG,IAAH,yBAA2BrvB,EAAE,MAAM,GAAZ,mBAAkC,GAAD,SAAa7F,CAAC,EAAE,GAAG,IAAI,AAACs1B,CAAAA,EAAE,MAAM,CAAC,GAAG1B,CAAAA,GAAIglC,GAAG,CAACh5D,GAAG,IAAvB,UAAkC,0CAA0C,SAAS,cAAc,UAAU,QAAQ,YAAYs0B,EAAE,QAAQ,CAACl0B,EAAE8F,IAAI0tB,EAAE,WAAW,CAAC1tB,EAAE,UAAU,QAAQ,SAASlG,EAAE,SAASq0B,CAAC,GAAG,GAAGqB,GAAGA,EAAE,MAAM,CAAC,GAAG,UAAU,OAAOtvB,GAAGsvB,EAAE,IAAI,CAAC7xB,GAAG,MAAM,CAApxCuxB,EAAE,CAACh1B,EAAEwzB,IAAI,AAAC3tB,CAAAA,EAAE,GAAGmvB,GAAGxB,GAAGA,EAAE3tB,EAAEmvB,EAAE,IAAI,CAAC,GAAwvC,GAAG,CAAC,CAAClvB,EAAErC,IAAI,IAAnE,wBAA6FA,EAAE,UAAUqyB,EAAE,YAAYA,EAAE91B,QAAKA,EAAEwzB,SAAFxzB,EAA4DA,EAA1DwzB,EAA4D/vB,OAAvDzD,EAAE,YAAY,EAAE,QAAQ,aAAawzB,EAAE,QAAQ,KAAW,KAAK,EAAE,WAAWsC,EAAEzxB,EAAE,KAAK,EAAE,OAAOyxB,EAAE91B,GAAG,AAAC,EAACA,EAAEwzB,EAAE1tB,EAAErC,EAAEY,KAAK,IAAMuI,EAAEvF,SAASrH,EAAE,YAAY,EAAE,QAAQ,SAAS,IAAI,IAAIqQ,EAAE,IAAIvK,CAAC,CAACrC,EAAE,CAAC,CAAC,CAACugB,EAAE,CAAC3T,EAAE,MAAM,CAACzD,EAAE,EAAGyD,CAAAA,EAAE,MAAM,CAACmjB,EAAE,EAAExP,GAAGle,CAAC,CAACrC,EAAE,CAAC4M,EAAEhM,GAAGA,EAAEyB,GAAG9F,EAAE,cAAc,EAAE,GAAGA,EAAEyD,EAAE4M,EAAExQ,EAAE6zB,GAAG,KAAK,EAAE,MAAM,CAAC,QAAQ,OAAO,OAAOoC,EAAE,OAAO,KAAK,CAAC,CAAC,EAAE,CAACP,GAAG,CAAC,AAAC,EAACP,GAAGA,EAAE,IAAI,IAAb,wCAAuD,CAAC,UAAU,EAAET,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,AAACS,CAAAA,EAAE,AAACnvB,CAAAA,EAAE,GAAGmvB,EAAEvxB,EAAEA,CAAAA,EAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAF,8BAAkCuwB,EAAE,IAAI4B,EAAE,GAAd,sBAAuC5vB,GAAG,IAAD,SAAYA,EAAE,IAAIF,EAAE,KAAKnG,EAAE,QAAQqkB,aAAanc,MAAM,CAACwI,KAAK2T,EAAE,CAAC,CAAC3T,EAAE2T,EAAE,CAAC,QAAQvc,EAAE,YAAYkF,EAAE,SAAS/M,EAAE,SAASq0B,EAAE,SAAS,IAAIP,GAAGA,EAAErjB,EAAE,GAAG,EAAE,CAACklB,GAAG,CAAC,IAAL,aAAmB,SAAS,UAAU,kBAAkB,UAAU,kBAAkB,MAAM,CAAC,KAAK,WAAW,QAAQ,CAAC,EAAE,SAAS31B,EAAE,SAASq0B,EAAE,QAAQ,KAAKT,EAAE,UAAU,CAACwB,EAAE,AAACnvB,CAAAA,EAAE,GAAGmvB,EAAEvxB,EAAEA,CAAC,CAAC,GAAG,CAAC,GAAG,CAAE7D,CAAAA,GAAGm1B,GAAGd,GAAG,CAACqB,GAAG,IAAIA,EAAE,MAAM,EAAE,IAAIN,CAAAA,GAAI,IAAvC,aAAqD,MAAM,UAAU,uCAAuC,MAAM/vB,EAAE,MAAM,qDAAqD,QAAQ,KAAKa,EAAEuK,EAAE3L,OAAO7E,IAAI,IAAX,iCAA8Cy1B,EAAE,MAAM,IAAI5B,GAAGA,EAAErjB,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAImjB,EAAE,UAAU,EAAE,IAAxB,oBAA6C,SAASxzB,GAAGA,EAAE,IAAI,GAAG,QAAQ,CAAC,aAAa,KAAKwzB,EAAE,UAAU,CAAC,KAAK,EAAE,IAAhB,uBAAyC,CAAC,EAAE,MAAM7zB,EAAE,UAAU,EAAE,cAAc,YAAY,IAA1D,GAAC,MAAoEqG,EAAE,IAAIsvB,CAAC,CAAC9B,EAAE,UAAU,CAAC,CAAC,QAAQxP,aAAanc,MAAM,CAACwI,KAAK2T,EAAE,CAAC,CAAC3T,EAAE2T,EAAE,CAAC,QAAQvc,EAAE,YAAYkF,EAAE,SAAS,CAAC,EAAE,KAAKhN,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAMA,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,MAAMA,EAAE,KAAK,EAAE,QAAQ,QAAQ,KAAK,KAAK,IAAI6zB,EAAE,UAAU,EAAG8B,CAAAA,EAAE,MAAM,CAAC9B,EAAE,UAAU,CAAC,GAAGnjB,aAAaxI,MAAMwI,EAAE,IAAIilB,EAAE,CAACjlB,CAAC,CAACxQ,EAAE,CAAC,IAAIy1B,EAAE,CAAC5B,GAAGA,EAAErjB,EAAC,CAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,SAAWmjB,EAAE,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAKxzB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAK,CAAC,IAAI8F,EAAE,KAAK,CAAC,KAAKrC,EAAE,MAAM,CAAC,CAACzD,CAAEwzB,CAAAA,EAAE,GAAG,CAAC1tB,EAAE0tB,EAAE,IAAI,CAAC/vB,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAGqC,EAAE,EAAE,CAAC,KAAKrC,CAAC,CAAC,SAASY,CAAC,CAAC,CAAC,IAAIuI,CAAC,CAAC,QAAQyD,CAAC,CAAC,YAAY2T,CAAC,CAAC,SAASyP,CAAC,CAAC,SAAShsB,CAAC,CAAC,KAAKkF,CAAC,CAAC,SAAS/M,CAAC,CAAC,CAAC,IAAI,GAAGgN,aAAa/E,MAAM,OAAO,IAAM8rB,EAAE/mB,CAAC,CAAC9G,EAAE,CAACnG,EAAEg0B,EAAE4G,KAAK,KAAK,CAAC5G,GAAG,KAAK,EAAED,EAAE/zB,GAAGA,EAAE,QAAQ,EAAE,EAAE,CAACi0B,EAAE,EAAE,CAAC/zB,EAAE,CAAC,MAAM2zB,EAAE,GAAG,CAAC,MAAM,IAAd,GAAC,OAAwB,UAAU,aAAa7zB,EAAE46B,KAAK,SAAS,CAAC56B,EAAE,KAAK,GAAG,KAAK,EAAE,YAAY,gBAAgB,SAASK,GAAG4M,CAAC,CAAC9G,EAAE,CAAC9F,CAAC,EAAE,EAAE,GAAG,CAACyD,GAAG,UAAU,OAAOA,EAAE,OAAO,IAAUuC,EAAEf,AAAJxB,EAAM,MAAM,CAAC,EAAEwB,AAAfxB,CAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE9C,EAAE,CAAC,MAAM6yB,EAAE,IAAI,CAAC,MAAME,EAAE,MAAM,CAAC,IAAxB,GAAC,UAAqC,CAAC,CAAC,IAAI1zB,CAAC,CAAC,GAAGwzB,EAAE,GAAG,CAACxzB,EAAE,YAAYqE,EAAErE,IAAI,IAAM8F,EAAE0tB,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,IAAIA,EAAE,EAAEA,EAAE1tB,EAAE,MAAM,CAAC0tB,IAAI,GAAG1tB,CAAC,CAAC0tB,EAAE,GAAGxzB,EAAE,OAAO,KAAKqE,EAAEmvB,EAAEE,CAAC,CAACF,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,uBAAuB,MAAME,EAAE,GAAG,CAAC,CAACF,EAAE/vB,IAAK+vB,CAAAA,EAAE,UAAU,EAAGA,CAAAA,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ/vB,EAAE,IAAIA,EAAE,OAAOuC,GAAGwtB,EAAE,UAAU,CAACxtB,EAAE,EAAEwtB,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAA/D,OAAC,cAAmF,UAAU,KAAxY/vB,EAA+Y,IAAI+vB,EAAE,UAAU,CAAC,KAAK7mB,EAAE,QAAQ0D,aAAaxI,MAAM,CAAC+E,KAAKyD,EAAE,CAAC,CAACzD,EAAEyD,EAAE,CAAC,YAAY2T,EAAE,SAASyP,EAAE,SAAShsB,EAAE,SAAS,CAACzH,EAAEwzB,KAAKA,GAAIE,CAAAA,CAAC,CAACjwB,EAAE,CAAC,UAAU,CAAC+vB,CAAAA,EAAG5mB,CAAC,CAAC9G,EAAE,CAACy0B,KAAK,SAAS,CAAC56B,EAAE,KAAK,GAAGC,GAAGA,EAAEgN,EAAE,CAAC,GAAG,GAAG,GAAG,IAAE,sBAAsBgnB,EAAE,IAAI,CAACjzB,GAAGizB,EAAE,IAAI,CAAC/zB,GAAG,IAAvB,SAAiC+zB,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,EAA+B,GAAqB,AAAj7f,EAACnwB,EAAE,CAAC,CAAC,CAACY,EAAE,CAAC,CAAC,GAAG,KAAK,IAAMuI,EAAE,CAAC,IAAI6nB,KAAK,GAAG,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAKpkB,CAAC,CAAC,MAAM2T,CAAC,CAAC,IAAIyP,CAAC,CAAC,UAAUhsB,CAAC,CAAC,SAASkF,CAAC,CAAC,QAAQ/M,EAAE,EAAE,CAAC,YAAY+zB,CAAC,CAAC,SAASh0B,CAAC,CAAC,SAASi0B,CAAC,CAAC,CAAC,IAAI,GAAK,CAAC,GAAG/zB,EAAE,EAAE,CAAC,KAAKoF,CAAC,CAAC,SAASe,EAAErG,CAAC,CAAC,SAASqU,EAAE4f,CAAC,CAAC,MAAMO,CAAC,CAAC,SAASa,CAAC,CAAC,aAAa4jC,CAAC,CAAC,KAAK1kC,CAAC,CAAC,MAAMD,CAAC,CAAC,YAAYa,CAAC,CAAC,KAAKQ,EAAEjlB,GAAG,CAAC,CAAC,CAAC,gBAAgBmkB,CAAC,CAAC,UAAUO,CAAC,CAAC,OAAO7d,CAAC,CAAC,QAAQqe,CAAC,CAAC,UAAUN,CAAC,CAAC,OAAOa,CAAC,CAAC,CAAC9R,EAAE,GAAGkQ,GAAG,CAAC,GAAGA,EAAET,EAAE7zB,IAAIq0B,GAAG,CAAC,GAAGA,EAAER,EAAE7zB,IAAIk1B,GAAG,CAAC,GAAGA,EAAErB,EAAE7zB,GAAG,OAAO,IAAM61B,EAAE,UAAU,OAAOzR,EAAE,OAAO,CAAC,GAAGA,EAAE,OAAO,CAAC,CAACyP,KAAK7zB,EAAE,EAAEokB,EAAE,OAAO,CAACoR,EAAEK,GAAGA,aAAa5tB,MAAM4tB,EAAE,MAAM,CAACz1B,GAAG,KAAK,IAAIA,EAAE,EAAE,EAAGA,CAAAA,EAAE,KAAK,EAAEqF,MAAM6B,OAAOlH,EAAE,EAAE,EAAC,GAAK,EAACA,EAAE,IAAI,EAAE,GAAGA,EAAE,IAAI,CAACyzB,EAAE7zB,EAAC,GAAI,GAAG,CAACI,GAAGA,EAAE,KAAK,CAACA,EAAE,CAAC,GAAGA,CAAC,CAAC,MAAM,GAAEA,EAAE,EAAE,CAAC,GAAG,EAAE,CAACgvE,EAAE,WAAW,OAAOrvE,GAAGA,EAAEg2B,EAAE,AAAC,EAAC31B,EAAEyD,EAAE,CAAC,CAAC,CAACY,EAAE,CAAC,CAAC,IAAI,GAAK,CAAC,GAAGuI,EAAE,EAAE,CAAC,MAAMyD,CAAC,CAAC,YAAY2T,CAAC,CAAC,SAASyP,CAAC,CAAC,SAAShsB,CAAC,CAAC,UAAUkF,CAAC,CAAC,cAAc/M,CAAC,CAAC,KAAK+zB,CAAC,CAAC,UAAUh0B,CAAC,CAAC,YAAY+zB,CAAC,CAAC,UAAUE,CAAC,CAAC,UAAU/zB,CAAC,CAAC,IAAIoF,CAAC,CAAC,IAAIe,CAAC,CAAC,KAAKrF,CAAC,CAAC,eAAeqT,CAAC,CAAC,gBAAgBjO,CAAC,CAAC,WAAWouB,CAAC,CAAC,WAAWa,CAAC,CAAC,CAACh1B,EAAE44D,EAAE,CAAC,GAAG,CAAC,IAAI,EAAEl0D,OAAOkI,GAAG,CAAC,EAAE,KAAI,CAAC,CAAC,MAAMyD,CAAC,EAAE,OAAO,KAAK,IAAIA,GAAGzD,GAAIgsD,CAAAA,EAAE,KAAK,CAAC,GAAEl0D,OAAOkI,GAAE,EAAGoX,GAAI40C,CAAAA,EAAE,UAAU,CAAC,GAAE50C,EAAE,CAAC,EAAC,EAAGrX,GAAIisD,CAAAA,EAAE,SAAS,CAACjsD,CAAAA,EAAGgnB,GAAIilC,CAAAA,EAAE,QAAQ,CAACjlC,CAAAA,EAAGh0B,GAAIi5D,CAAAA,EAAE,SAAS,CAACj5D,CAAAA,EAAGC,GAAIg5D,CAAAA,EAAE,aAAa,CAACh5D,CAAAA,EAAG8zB,GAAIklC,CAAAA,EAAE,WAAW,CAACllC,CAAAA,EAAGD,GAAImlC,CAAAA,EAAE,WAAW,CAAC,CAAC,GAAGnxD,GAAImxD,CAAAA,EAAE,QAAQ,CAACnxD,CAAAA,EAAGpD,GAAIu0D,CAAAA,EAAE,QAAQ,CAAC,CAAC,GAAGn1D,GAAIm1D,CAAAA,EAAE,SAAS,CAAC,CAAC,GAAG,KAAK,IAAIhlC,GAAIglC,CAAAA,EAAE,SAAS,CAAChlC,CAAAA,EAAG,KAAK,IAAI/zB,GAAI+4D,CAAAA,EAAE,SAAS,CAAC/4D,CAAAA,EAAG,KAAK,IAAIoF,GAAI2zD,CAAAA,EAAE,GAAG,CAAC3zD,CAAAA,EAAG,KAAK,IAAIe,GAAI4yD,CAAAA,EAAE,GAAG,CAAC5yD,CAAAA,EAAG,KAAK,IAAIrF,GAAIi4D,CAAAA,EAAE,IAAI,CAACj4D,CAAAA,EAAGqT,GAAI4kD,CAAAA,EAAE,cAAc,CAAC5kD,CAAAA,EAAGjO,GAAI6yD,CAAAA,EAAE,eAAe,CAAC7yD,CAAAA,EAAGouB,GAAIykC,CAAAA,EAAE,UAAU,CAACzkC,CAAAA,EAAGa,GAAI4jC,CAAAA,EAAE,UAAU,CAAC5jC,CAAAA,EAAG4jC,CAAC,GAAG50C,EAAEvc,EAAE,WAAW,OAAOzB,GAAG,KAAK,IAAIA,EAAEgpE,GAAGhpE,EAAEgpE,GAAG,GAAGhpE,EAAEytB,EAAE7zB,GAAIq0B,CAAAA,GAAI0B,CAAAA,EAAE,KAAK,CAAC,GAAE,GAAGA,EAAE,KAAK,EAAE1B,EAAER,EAAE7zB,GAAG,CAAC,EAAC,EAAGk1B,GAAIa,CAAAA,EAAE,WAAW,CAAC,GAAE,GAAGA,EAAE,WAAW,EAAEb,EAAErB,EAAE7zB,GAAG,CAAC,EAAC,EAAG,IAAMqvE,EAAGj6C,EAAEh1B,GAAGA,CAAAA,CAAAA,aAAa6H,KAAI,GAAE7H,GAAGA,EAAE,MAAM,CAAC,EAAoB,KAAK,EAAE,GAAGyzB,aAAa5rB,MAAM,OAAO,KAAKoM,QAAQ,IAAI,CAAC,4CAA4C,IAAMi7D,EAAG,SAASlvE,CAAC,EAAE,GAAG,CAAC,OAAO,KAAK,IAAIA,GAAG,cAAcA,EAAG,QAAOyzB,CAAC,CAAC5zB,EAAE,CAAC8M,EAAE8mB,GAAGI,QAAQ,OAAO,EAAC,EAAIJ,CAAAA,CAAC,CAAC5zB,EAAE,CAACk1B,EAAEA,EAAE,KAAK/0B,GAAGA,EAAEkX,EAAE2c,QAAQ,OAAO,CAAC3c,EAAEuc,EAAEA,CAAC,CAAC5zB,EAAE,CAACD,IAAI,IAAI,CAAC,SAASI,CAAC,EAAE2M,EAAE,KAAK,IAAI3M,EAAEA,EAAEyzB,EAAE,GAAGI,QAAQ,OAAO,CAAClnB,EAAE8mB,GAAE,CAAE,CAAC,MAAMzzB,EAAE,CAAC,OAAO6zB,QAAQ,MAAM,CAAC7zB,EAAE,CAAC,EAAE,GAAGiF,aAAa4C,MAAM,OAAOhI,EAAG4zB,CAAAA,EAAE,cAAc,CAAC5zB,IAAK4zB,CAAAA,CAAC,CAAC5zB,EAAE,CAAC,CAAC,GAAG,IAAE,YAAY,CAAC,UAAUmkB,EAAE,SAAS,EAAE,CAAC,IAAE,mBAAmB,SAAO,CAAC,GAAE2R,EAAE,KAAK,EAAE,GAAEjxB,OAAO7E,IAAI,CAAC,KAAK81B,EAAE,WAAW,EAAE,IAAE,MAAM,SAAO,CAAC,GAAEA,EAAE,WAAW,IAAI,IAAE,OAAO,IAAEw5C,GAAG,CAAC,GAAGx5C,CAAC,CAAC,KAAKL,EAAE,SAASthB,EAAE,KAAK/O,EAAE,IAAIwuB,CAAC,CAAC5zB,EAAE,CAAC,QAAQD,aAAaiI,MAAM,CAAC4rB,KAAK7zB,EAAE,CAAC,CAAC6zB,EAAE7zB,EAAE,CAAC,SAAS,IAAI+M,GAAGA,EAAE8mB,GAAG,YAAYE,CAAC,IAAI,GAAG,KAAK1f,QAAQ,IAAI,CAAC,uBAAuBsmB,KAAK,SAAS,CAACt1B,GAAI2zD,CAAAA,GAAG,CAACnlC,CAAC,CAAC5zB,EAAE,EAAG4zB,CAAAA,CAAC,CAAC5zB,EAAE,CAAC,SAAS+4D,EAAE,uCAAuC,OAAO,CAAC,QAAQ54D,IAAI,IAAMwzB,EAAE,GAAG/uB,KAAK,MAAM,GAAG,EAAE,MAAM,AAAC,OAAMzE,EAAEwzB,EAAE,EAAEA,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,OAAOolC,EAAE,KAAInkC,KAAK,GAAG,EAAC,EAAG,IAAM26C,EAAG37C,EAAE,cAAc,CAAC5zB,IAAI,KAAK,IAAI4zB,CAAC,CAAC5zB,EAAE,CAACk1B,EAAEA,EAAE,OAAOtB,CAAC,CAAC5zB,EAAE,EAAE4zB,CAAC,CAAC5zB,EAAE,CAACs0B,CAAEt0B,CAAAA,GAAG,KAAK,IAAIs0B,GAAG,KAAK,IAAIi7C,GAAK37C,CAAAA,CAAC,CAAC5zB,EAAE,CAACk1B,EAAEA,EAAE,KAAKq6C,GAAIA,CAAC,EAAG,GAAK,CAACC,EAAG1J,EAAG,CAACnxC,EAAEA,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAGxgB,GAAG/O,GAAG,AAAyB,EAAzB,CAAC,KAAK,OAAO,CAAC,OAAO,CAACA,GAAK,CAAC,GAAGZ,EAAE,cAAc,CAACY,GAAG,OAAO,IAAEZ,CAAC,CAACY,EAAE,CAAC,CAAC,GAAGmqE,EAAG,MAAMprD,EAAE,MAAM2R,EAAE,MAAMA,EAAE,KAAK,CAAC,IAAIlC,EAAE,QAAQ7zB,CAAC,GAAG,GAAGqF,GAAGxB,EAAE,cAAc,CAACwB,GAAG,OAAO,IAAExB,CAAC,CAACwB,EAAE,CAAC,CAAC,GAAGmqE,EAAG,MAAMprD,EAAE,MAAM2R,EAAE,MAAMA,EAAE,KAAK,CAAC,SAASu5C,EAAG,IAAIz7C,EAAE,QAAQ7zB,CAAC,GAAG,OAAOqF,GAAG,IAAI,OAAO,CAAC,IAAMuuB,EAAE8B,EAAE,eAAe,CAAC,CAAC,KAAK,UAAU,OAAO,UAAU,OAAO,KAAK,EAAE,GAAGA,EAAE,eAAe,CAAC,QAAQ,KAAK,EAAE,MAAM,KAAK,EAAE,IAAI,KAAK,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,EAAExvB,EAAE,UAAU,OAAOspE,GAAI,UAAU,OAAOA,GAAIA,aAAc36C,KAAK,IAAIA,KAAK26C,GAAI,KAAK,EAAE3rE,EAAEqC,EAAEA,EAAE,kBAAkB,CAACwvB,EAAE,OAAO,CAAC9B,GAAG,GAAG,OAAO,IAAE,GAAG,CAAC,MAAMmC,EAAE,MAAMA,EAAE,KAAK,CAAC,aAAalyB,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,IAAM+vB,EAAE8B,EAAE,eAAe,CAAC,CAAC,GAAGA,EAAE,eAAe,CAAC,KAAK,KAAK,EAAE,OAAO,KAAK,EAAE,OAAO,KAAK,EAAE,OAAO,KAAK,CAAC,EAAE,KAAK,EAAExvB,EAAE,UAAU,OAAOspE,GAAI,UAAU,OAAOA,GAAIA,aAAc36C,KAAK,IAAIA,KAAK26C,GAAI,KAAK,EAAE3rE,EAAEqC,EAAEA,EAAE,kBAAkB,CAACwvB,EAAE,OAAO,CAAC9B,GAAG,GAAG,OAAO,IAAE,GAAG,CAAC,MAAMmC,EAAE,MAAMA,EAAE,KAAK,CAAC,aAAalyB,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,IAAM+vB,EAAE8B,EAAE,eAAe,CAAC,CAAC,KAAK,UAAU,OAAO,UAAU,MAAM,UAAU,IAAI,UAAU,GAAGA,EAAE,eAAe,EAAE,KAAK,EAAExvB,EAAE,UAAU,OAAOspE,GAAI,UAAU,OAAOA,GAAIA,aAAc36C,KAAK,IAAIA,KAAK26C,GAAI,KAAK,EAAE3rE,EAAEqC,EAAEA,EAAE,kBAAkB,CAACwvB,EAAE,OAAO,CAAC9B,GAAG,GAAG,OAAO,IAAE,GAAG,CAAC,MAAMmC,EAAE,MAAMA,EAAE,KAAK,CAAC,aAAalyB,CAAC,EAAE,CAAC,IAAI,SAAS,IAAI,WAAW,OAAO,IAAE,GAAG,CAAC,MAAMkyB,EAAE,MAAMA,EAAE,KAAK,CAAC,aAAay5C,EAAG,IAAI,IAAI,OAAO,CAAC,CAAC,EAAG,KAAI,OAAO,OAAO,IAAd,UAA0Bz5C,EAAE,MAAMA,EAAE,KAAK,CAAC,aAAay5C,GAAI,EAAE,EAAG,KAAI,UAAU,IAAI,SAAS,CAAC,IAAM57C,EAAE,KAAK,IAAI47C,EAAGA,aAAcvnE,MAAMunE,EAAG,CAACA,EAAG,CAAC,EAAE,CAACtpE,EAAEsvB,EAAE,MAAM,CAACp1B,GAAGwzB,EAAE,OAAO,CAACxzB,EAAE,EAAE,GAAG,GAAGyD,EAAEqC,GAAG,IAAIA,EAAE,MAAM,CAAC,IAAI,IAAIA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAAC,KAAK,CAACA,EAAE,GAAG,CAAC9F,GAAGA,EAAE,KAAK,EAAE,OAAO,IAAH,UAAe21B,EAAE,MAAMA,EAAE,KAAK,CAAC,aAAalyB,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAWqC,EAAEsvB,EAAE,MAAM,CAACp1B,GAAGA,EAAE,EAAE,GAArBovE,GAA2B,OAAO,IAAH,UAAez5C,EAAE,MAAMA,EAAE,KAAK,CAAC,aAAa7vB,GAAGA,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,SAAqB,MAAM,CAAE,EAAXspE,GAAe,CAAC,cAAc,IAAI,CAAlCA,EAAoC,GAAI,IAAjC,oCAAPA,EAA8E,IAAI37C,EAAE,KAAK,EAAEA,EAAE,GAAG,EAAEA,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,YAAY,EAAEzP,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAI,KAAI,OAAO,OAAO,IAAd,oDAAyEle,EAAE,gEAAgE,IAAI,CAAC0tB,GAAG/vB,EAAE,CAAC,EAAE,IAAI6rE,IAAItrD,EAAE,GAAG,EAAE,MAAM,CAAC,EAAEwP,EAAE,CAAC,CAAC,OAAO,IAAH,yBAA8B/vB,CAAC,EAAEqC,EAAE,IAAC,WAAYrC,EAAE,IAAIA,EAAE,MAAM,CAAC,YAAY,EAAEugB,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAE,UAAU2R,EAAE,MAAM3R,EAAE,WAAW,EAAE,OAAO,aAAawP,CAAC,GAAG,GAAI,KAAI,KAAK,IAAI,WAAW,CAAC,IAAM1tB,EAAE,UAAU,OAAOspE,GAAIA,EAAG,GAA5B,GAAC,UAA2C,IAAH,UAAez5C,EAAE,MAAMA,EAAE,KAAK,CAAC,aAAa7vB,CAAC,EAAE,CAAC,QAAQ,OAAO,IAAX,UAAuB6vB,EAAE,KAAK1wB,EAAE,MAAM0wB,EAAE,KAAK,CAAC,aAAay5C,CAAE,EAAE,CAAC,KAAK,CAAC,GAAGnqE,GAAGxB,EAAE,cAAc,CAACwB,GAAG,OAAO,IAA7B,WAA2C,MAAM+e,EAAE,MAAM2R,EAAE,MAAMA,EAAE,KAAK,CAAC,SAASu5C,EAAG,IAAIz7C,EAAE,QAAQ7zB,CAAC,GAAG,OAAOqF,GAAG,IAAI,SAAS,IAAI,QAAoB,OAAO,IAAH,QAAY,CAAC,aAApBmqE,EAAmC,SAASF,EAAG,OAAOp5C,CAAC,EAAG,KAAI,OAAO,CAAC,GAAK,CAAC,WAAWtC,EAAE,CAAC,CAAC,CAAC,CAACmC,EAAE7vB,EAAEspE,EAAG,UAAU,OAAOA,GAAI,UAAU,OAAOA,EAAG,IAAI36C,KAAK26C,GAAIA,EAAG,IAAI36C,KAAKhxB,EAAE,GAAxE,UAAqFgwB,CAAC,CAAC5zB,EAAE,CAACk1B,EAAEA,EAAE,KAAKjvB,GAAGA,EAAE,IAAtB,QAA+B,CAAC,WAAW0tB,EAAE,aAAa/vB,EAAE,SAASzD,IAAI,IAAMwzB,EAAExzB,EAAE,KAAK,CAAC,KAAK,GAAG,CAACA,GAAG,CAACA,EAAG8F,CAAAA,EAAE,QAAQ,CAAC0tB,CAAC,CAAC,EAAE,CAACA,CAAC,CAAC,EAAE,EAAE07C,EAAGppE,EAAE,EAAE,UAAU6tB,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,GAAK,CAAC,OAAOH,EAAE,cAAc,CAAC,CAACmC,EAAE7vB,EAAE,UAAU,OAAOspE,GAAI,UAAU,OAAOA,EAAG,IAAI36C,KAAK26C,GAAIA,CAAG37C,CAAAA,CAAC,CAAC5zB,EAAE,CAACiG,EAAEivB,EAAEA,EAAE,KAAKjvB,EAAE,OAAO,IAAIA,EAAE,OAAO,GAAGA,EAAE,GAAK,CAAC,IAAIrC,CAAC,CAAC,IAAIY,CAAC,CAAC,CAACsxB,EAAE/oB,EAAEnJ,EAAE,CAACqC,GAAGrC,EAAEqC,EAAE,OAAO,GAAG,IAAI2uB,KAAKhxB,GAAGqC,EAAE,KAAK,EAAEuK,EAAEhM,EAAE,CAACyB,GAAGzB,EAAEyB,EAAE,OAAO,GAAG,IAAI2uB,KAAKpwB,GAAGyB,EAAE,KAAK,EAAE,OAAO,IAAH,QAAY,CAAC,QAAQ8G,EAAE,QAAQyD,EAAE,eAAe,CAAC,CAACvK,EAAE,OAAO0tB,EAAE,aAAa1tB,EAAE,SAAS9F,IAAIkvE,EAAG,IAAIz6C,KAAKz0B,GAAG,EAAE,UAAU2zB,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,GAAK,CAAC,MAAMH,CAAC,CAAC,UAAU1tB,EAAE,SAAS,CAAC,gBAAgBrC,EAAE,CAAC,CAAC,CAAC,WAAWY,EAAE,CAAC,CAAC,CAAC,OAAOuI,EAAE,cAAc,CAAC,GAAGyD,EAAE,CAACslB,EAAE3R,EAAE,UAAU,OAAOorD,GAAI,UAAU,OAAOA,EAAG,IAAI36C,KAAK26C,GAAIA,EAAG37C,EAAE,CAAC,gBAAgBzP,CAAC,EAAEvc,EAAEuc,GAAG,KAAK,EAAErX,EAAEqX,EAAE,GAAb,WAA2BpkB,CAAC,CAAC,IAAID,CAAC,CAAC,CAACg2B,EAAEjC,EAAE9zB,EAAE,CAACokB,GAAGpkB,EAAEokB,EAAE,OAAO,GAAG,IAAIyQ,KAAK70B,GAAGokB,EAAE,KAAK,EAAE4P,EAAEj0B,EAAE,CAACqkB,GAAGrkB,EAAEqkB,EAAE,OAAO,GAAG,IAAIyQ,KAAK90B,GAAGqkB,EAAE,KAAK,EAAEnkB,EAAE81B,EAAE,cAAc,EAAE,MAAM1wB,EAAEjF,IAAIyzB,EAAE,eAAe,CAACzzB,EAAEkvE,EAAG,QAAQrvE,EAAEG,EAAE,WAAW,GAAG,QAAQH,EAAEG,EAAE,WAAW,GAAGA,EAAE,OAAO,GAAG,EAAE,OAAO,IAAH,iBAAsB8F,CAAC,EAAE,IAAG,yCAAsC,YAAY,EAAE,IAAI,QAAK,CAAC,MAAM0tB,EAAE,QAAQE,EAAE,QAAQE,EAAE,eAAe,CAAC,CAAC5P,EAAE,OAAOpX,EAAE,aAAanF,EAAE,UAAUksB,EAAE,SAAS3zB,IAAI,IAAMwzB,EAAE,IAAIiB,KAAKhB,EAAE,eAAe,CAAED,CAAAA,EAAE,WAAW,CAACxzB,EAAE,WAAW,IAAIwzB,EAAE,QAAQ,CAACxzB,EAAE,QAAQ,IAAIwzB,EAAE,OAAO,CAACxzB,EAAE,OAAO,IAAIiF,EAAEuuB,EAAE,CAAC,IAAI,IAAC,iBAAkB,oDAAoD,EAAE,IAAI,QAAK,CAAC,MAAM,GAAG,WAAW,GAAG,WAAWnvB,EAAE,aAAasI,EAAE,UAAUgnB,EAAE,SAAS3zB,IAAI,IAAMwzB,EAAExzB,EAAE,KAAK,CAAC,KAAK,GAAG,CAACA,GAAG,CAACA,GAAG8F,EAAE2tB,EAAE,eAAe,EAAE,IAAIgB,KAAK,AAAC,KAAIA,IAAG,EAAG,UAAU,CAAC,EAAE,GAAI3uB,CAAAA,EAAE,QAAQ,CAAC0tB,CAAC,CAAC,EAAE,CAACA,CAAC,CAAC,EAAE,EAAEvuB,EAAEa,EAAE,CAAC,IAAIrC,GAAG,IAAF,UAAa,qDAAqD,UAAU,SAAS,IAAI,EAAE,IAAI,GAAG,SAASzD,IAAI,IAAMwzB,EAAEC,EAAE,eAAe,EAAE,IAAIgB,KAAK,AAAC,KAAIA,IAAG,EAAG,UAAU,CAAC,EAAE,GAAIjB,CAAAA,EAAE,UAAU,CAACxzB,EAAE,GAAGiF,EAAEuuB,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,QAAoB,OAAO,IAAH,QAAY,CAAC,SAASy7C,EAAG,UAAUxnE,EAAE,SAASynE,EAAG,aAAxDE,EAAuE,UAAUn6C,EAAE,QAAQM,EAAE,OAAOO,CAAC,EAAG,KAAI,SAAqB,OAAO,IAAH,QAAY,CAAC,SAASm5C,EAAG,UAAUxnE,EAAE,SAASynE,EAAG,aAAxDE,EAAuE,UAAUn6C,EAAE,QAAQM,EAAE,OAAOO,CAAC,EAAG,KAAI,QAAoB,OAAO,IAAH,UAAc,GAAG,GAAGH,CAAC,CAAC,QAAQP,EAAE,UAAvCg6C,EAAmD,SAASF,CAAE,EAAG,KAAI,WAAuB,OAAO,IAAH,QAAY,CAAC,QAApBE,EAA8B,SAASF,CAAE,EAAG,KAAI,UAAsB,MAAM,CAAC,CAAC,IAAJ,QAAatiE,EAAE,GAAG,CAAC,cAAc,eAAe,UAAU,sBAAsB,GAAG+oB,CAAC,CAAC,SAASA,EAAE,QAAQ,EAAE,CAACP,GAAG,IAAIA,EAAE,MAAM,CAAC,QAAQA,EAAE,UAA5Ig6C,EAAwJ,SAASpvE,GAAGkvE,EAAG,IAAIlvE,EAAE,MAAM,CAACA,CAAC,CAAC,EAAE,CAACA,EAAE,MAAM,CAACA,GAAG,OAAOA,GAAG,GAAG,CAAC,KAAK,IAAIw0B,GAAG,IAAX,4CAAsDmB,EAAE,QAAQ,CAAC,MAAM05C,EAAG,SAAS,QAAQ,QAAQ,KAAKziE,EAAE,GAAG,CAAC6nB,KAAK,GAAG,GAAGy6C,EAAG95C,EAAE,GAAG,CAACp1B,GAAGA,EAAE,EAAE,EAAE,CAAC,GAAG2lE,GAAI,IAAF,aAAgBhwC,EAAE,QAAQ,CAAC,MAAMgwC,EAAG,SAAS,0BAA0B,QAAQ,KAAK,IAAM3lE,EAAEyzB,CAAC,CAAC5zB,EAAE,EAAE,EAAE,AAACG,CAAAA,EAAE,MAAM,CAAC,EAAE4M,EAAE,GAAG,CAAC6nB,KAAK,GAAG,GAAGy6C,EAAGlvE,EAAE,CAAC,GAAG,EAAE,AAAC,KAAI,SAAqB,OAAO,IAAH,gBAAoB21B,EAAE,QAAQ,CAACL,EAAE,aAAa,EAAE,mBAAmBA,EAAE,OAAO,EAAE,WAAW,GAAGK,CAAC,CAAC,SAASA,EAAE,QAAQ,EAAE,CAACP,GAAG,IAAIA,EAAE,MAAM,CAAC,QAAQA,EAAE,aAArJg6C,EAAoK,SAASpvE,GAAGkvE,EAAG,IAAIlvE,EAAE,MAAM,EAAE21B,EAAE,QAAQ,CAAC31B,EAAE,MAAM,CAACA,GAAG,OAAOA,GAAG,KAAK,IAAIA,GAAGA,CAAC,CAAC,EAAE,CAAC,EAAG,KAAI,WAAW,IAAI,KAAK,CAAC,GAAK,CAAC,MAAMwzB,CAAC,CAAC,UAAU1tB,EAAE,SAAS,CAAC,CAAC6vB,EAAElyB,EAAE,GAAD,2BAAgC,IAAH,SAAc,UAAUqC,CAAC,EAAE,CAAC,IAAI,UAAU,OAAO,IAAjB,gBAAmC,SAAS,CAAC,IAAWA,EAAEsvB,GAAGA,EAAE,MAAM,CAAC,EAAEA,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG3xB,EAAE2xB,GAAGA,EAAE,MAAM,CAAC,EAAEA,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,IAAH,QAAY,CAAC,KAAKtvB,EAAE,MAAMrC,EAAE,QAA/F2rE,EAAyG,SAASF,CAAE,EAAE,CAAC,IAAI,OAAO,CAAC,IAAM17C,EAAE,AAAC47C,CAAAA,EAAGA,aAAcvnE,MAAMunE,EAAG,CAACA,EAAG,CAAC,EAAE,AAAD,EAAG,GAAG,CAACpvE,GAAI,EAAC,IAAIA,CAAC,IAAI8F,EAAEsvB,GAAGA,EAAE,MAAM,CAAC,EAAE,CAAC,KAAKA,EAAE,MAAM,CAAC,CAACp1B,EAAEwzB,IAAKxzB,CAAAA,CAAC,CAACwzB,EAAE,EAAE,CAAC,CAAC,KAAKxzB,CAAAA,EAAG,CAAC,GAAG,MAAMgkB,EAAE,SAAS,EAAEra,IAAS,UAAUqa,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAMvgB,CAAC,CAAC,YAAYY,CAAC,CAAC,UAAUuI,CAAC,CAAC,WAAWyD,CAAC,CAAC,CAACslB,EAAE,OAAO,IAAH,cAAkB/oB,EAAE,MAAMnJ,EAAE,YAAYY,EAAE,WAAWgM,EAAE,SAASrQ,GAAGkvE,EAAGlvE,EAAE,GAAG,CAACA,GAAGA,EAAE,GAAG,GAAG,YAAYgkB,EAAE,WAAW,EAAE,YAAY,qBAAqBA,EAAE,oBAAoB,EAAE,OAAO,KAAKwP,EAAE,oBAAoB1tB,EAAE,OAAOgwB,CAAC,EAAE,CAAC,IAAI,eAAe,CAAC,IAAWhwB,EAAEsvB,GAAGA,EAAE,MAAM,CAAC,EAAE,CAAC,KAAKA,EAAE,MAAM,CAAC,CAACp1B,EAAEwzB,IAAKxzB,CAAAA,CAAC,CAACwzB,EAAE,EAAE,CAAC,CAAC,KAAKxzB,CAAAA,EAAG,CAAC,GAAG,MAAMgkB,EAAE,SAAS,EAAEra,IAAS,UAAUqa,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAMvgB,CAAC,CAAC,YAAYY,CAAC,CAAC,UAAUuI,CAAC,CAAC,WAAWyD,CAAC,CAAC,CAACslB,EAAE,OAAO,IAAH,iBAArLy5C,EAA4M,UAAUxiE,EAAE,MAAMnJ,EAAE,YAAYY,EAAE,WAAWgM,EAAE,SAAS6+D,EAAG,OAAOp5C,EAAE,YAAY9R,EAAE,WAAW,EAAE,MAAM,GAAGle,CAAC,EAAE,CAAC,IAAI,WAAuB,OAAO,IAAH,QAAY,CAAC,SAASmpE,EAAG,UAAUxnE,EAAE,SAASynE,EAAG,aAAxDE,EAAuE,QAAQ75C,EAAE,UAAUN,EAAE,OAAOa,CAAC,EAAG,KAAI,OAAO,CAAC,GAAW,CAAC,IAAIhwB,CAAC,CAAC,YAAYrC,CAAC,CAAC,CAACugB,EAAE,GAAG,CAACle,EAAE,MAAM3D,MAAM,gFAAgF,IAAMkC,EAAE+wB,EAAEA,EAAE,GAAG,CAACp1B,GAAGA,EAAE,EAAE,EAAE,KAAK,EAAqK,OAAO,IAAH,QAAY,CAAC,OAAOqE,EAAE,YAAYZ,EAAE,SAAzM+vB,IAAI,GAAG,CAACA,GAAGA,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK07C,EAAG,IAAI,IAAMzrE,EAAE,IAAI8rE,QAAS9rE,CAAAA,EAAE,MAAM,CAAC,OAAO+vB,CAAC,CAAC,EAAE,EAAE,IAAlB,gBAAoC,OAAO,IAAI1tB,EAAE,KAAKrC,CAAC,GAAG,IAAI,CAACzD,GAAGkvE,EAAGlvE,IAAI,KAAK,CAACiU,QAAQ,KAAK,CAAC,EAAqD,aAAnXm7D,CAAiY,EAAE,CAAC,IAAI,SAAS,CAAC,IAAWtpE,EAAE,CAAE,EAAPspE,GAAW,CAAC,cAAc,IAAI,CAA9BA,EAAgC,EAAG,CAAC,YAAY3rE,CAAC,CAAC,CAACugB,EAAE3f,EAAE+wB,EAAEA,EAAE,GAAG,CAACp1B,GAAGA,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,KAAK,EAAgK,OAAO8F,EAAE,IAAL,qCAA3PspE,EAAuS,IAAI37C,EAAE,KAAK,EAAEA,EAAE,GAAG,EAAEA,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,YAAY,EAAEzP,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,IAAE,aAAY,QAAQ,QAAQ,IAAIkrD,EAAG,GAAG,GAAG,EAAE,OAAE,IAAC,CAAM,CAAC,OAAO7qE,EAAE,YAAYZ,EAAE,SAA9V+vB,IAAI,GAAG,CAACA,GAAGA,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK07C,EAAG,IAAI,IAAMppE,EAAE,IAAI6uB,UAAW7uB,CAAAA,EAAE,SAAS,CAAC,KAAK,UAAU,OAAOA,EAAE,MAAM,EAAEopE,EAAGppE,EAAE,MAAM,EAAE,IAApC,yBAA+D,CAAC0tB,CAAC,CAAC,EAAE,CAAC,EAA+M,aAApc47C,CAAkd,EAAE,CAAC,IAAI,MAAkB,OAAO,IAAH,gBAAoB,4BAA4B,GAAGz5C,CAAC,CAAC,SAASs5C,EAAG,UAAUxnE,EAAE,SAASynE,EAAG,aAAhGE,EAA+G,UAAUn6C,EAAE,QAAQM,EAAE,OAAOO,CAAC,EAAG,KAAI,OAAmB,OAAO,IAAH,QAAY,CAAC,SAASm5C,EAAG,UAAUxnE,EAAE,SAASynE,EAAG,aAAxDE,EAAuE,UAAUn6C,EAAE,QAAQM,EAAE,OAAOO,CAAC,EAAG,SAAQ,MAAM,CAAC,CAAC,CAAC,CAAC,GAAiyK,GAAM,IAA+C,GAAE,WAAgB,CAAC,CAAC,MAAM,CAAC,KAAKtC,CAAC,CAAC,KAAK1tB,CAAC,CAAC,IAAIrC,CAAC,CAAC,SAASY,CAAC,CAAC,SAASuI,CAAC,CAAC,SAASyD,CAAC,CAAC,QAAQ2T,CAAC,CAAC,QAAQyP,CAAC,CAAC,CAAC,IAAI,IAAMhsB,EAAEzH,QAAUA,SAAPqE,GAAGA,GAAIrE,EAAiMA,EAA3LwzB,AAA6L1tB,EAA3L,MAAM,CAAC9F,GAAGA,EAAE,QAAQ,EAAE,CAAgBA,EAAE,EAAE,CAApB,EAAmB,GAAG,MAAM,CAAC,CAACwzB,EAAE1tB,IAAI0tB,GAAG,CAAE1tB,CAAAA,EAAE,EAAE,EAAG,MAAK,IAAI9F,CAAC,CAAC8F,EAAE,EAAE,CAAC,EAAE9F,CAAC,CAAC8F,EAAE,EAAE,CAAC,WAAW+B,OAAO,IAAI7H,CAAC,CAAC8F,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,OAAO9F,CAAC,CAAC8F,EAAE,EAAE,CAAC,EAAE,IAAI9F,CAAC,CAAC8F,EAAE,EAAE,CAAC,CAAC,MAAM,AAAD,CAAC,EAAG,CAAC,IAAS9F,IAAG,OAAO8F,EAAE,MAAM,CAAC,AAAC9F,CAAAA,IAAI,GAAG,CAACA,EAAE,OAAOA,GAAG,CAAC,EAAE,IAAIwzB,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK1tB,CAAC,CAAC,GAAGrC,CAAC,CAAC,GAAG,YAAYqC,EAAG0tB,CAAAA,EAAE/vB,IAAIzD,EAAE,CAAC,GAAGwzB,CAAC,GAAGC,IAAI,MAAM,CAACzzB,GAAG,CAACA,EAAE,IAAI,EAAE,GAArB,2DAAqF,CAAC,aAAawzB,CAAC,CAAC,MAAM1tB,CAAC,CAAC,QAAQrC,CAAC,CAAC,CAACzD,EAAE,OAAOwzB,EAAE,OAAO1tB,EAAE,UAAU,OAAOA,EAAE,KAAK,UAAU,OAAOA,EAAE,SAAS,WAAW,OAAOA,EAAE,WAAW,OAAOrC,GAAGA,EAAE,MAAM,CAAC,EAAE,SAAS,MAAM,GAAGY,EAAC,EAAG,IAAIyB,EAAE,KAAK,IAAIzB,EAAE,MAAM,EAAE,CAAC,IAAIA,EAAE,MAAM,CAAC,IAAzC,SAAoDmvB,EAAE,MAAMnvB,EAAE,IAAIZ,EAAE,SAASgE,EAAE,SAASmF,EAAE,SAASyD,EAAE,QAAQ2T,EAAE,QAAQyP,EAAE,YAAY,MAAM,GAAG,IAAE,gCAAgChwB,EAAE,MAAMY,EAAE,SAASoD,EAAE,QAAQuc,EAAE,KAAKwP,EAAE,YAAY,OAAO,SAAS5mB,EAAE,SAASyD,CAAC,GAAG,AAAD,EAAG,EAAE,CAAC,CAAC,G,+7DUiBz7rC,IAAMm/D,GAAW,cACXC,GAAQ,iBA+BRC,GAAa,W,IAACr8B,EAAAA,UAAAA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAsB,IAAI5e,KAC7C9nB,EAAI,IAAI8nB,KAAK4e,GACnB,MAAQ,GAAqBs8B,MAAAA,CAAnBhjE,EAAE,WAAW,GAAG,KAAgCgjE,MAAAA,CAA7BA,EAAQhjE,EAAE,QAAQ,GAAK,GAAG,KAErD,OAFwDgjE,EACxDhjE,EAAE,OAAO,IAEb,EAmDaijE,GAAkB,W,IAC7BjuE,EAAAA,UAAAA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAgB,EAAE,CAClBkuE,EAAM,UAANA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAM,MACN11C,EAAS,UAATA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAS,GACT21C,EAAY,YAAZA,MAAAA,CAAAA,IAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,EAAAA,SAAAA,CAAAA,EAAAA,CAEMC,EAAQpuE,EAAI,MAAM,CAAC,SAACquE,CAAI,E,OAAKA,C,GACnC,OAAOD,AAAiB,IAAjBA,EAAM,MAAM,CACf,GACA51C,EACG41C,CAAAA,AAAiB,IAAjBA,EAAM,MAAM,CACTA,CAAK,CAAC,EAAE,CACP,GAOgBF,MAAAA,CAPdE,EACA,KAAK,CAAC,EAAGA,EAAM,MAAM,CAAG,GACxB,GAAG,CAAC,SAACv8C,CAAC,CAAE/vB,CAAC,E,OACRA,AAAM,IAANA,GAAW,AAAa,SAAN+vB,GAAsBs8C,EAEpCt8C,EAAE,WAAW,GADbA,C,GAGL,IAAI,CAAC,MAAM,KACZs8C,MAAAA,CADeD,EAAI,KAIpB,OAHCC,EACIC,CAAK,CAACA,EAAM,MAAM,CAAG,EAAE,CAAC,WAAW,GACnCA,CAAK,CAACA,EAAM,MAAM,CAAG,EAAE,EAEzC,EAUaE,GAAkB,SAC7BlsE,CAAK,CACLC,CAAG,E,IACHokC,EAAAA,UAAAA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAe,EAEf,GAAIrkC,EAAQC,EACV,MAAM,AAAI7B,MACR,8DAIJ,GAAIimC,GAAQ,EACV,MAAM,AAAIjmC,MAAM,wCAIlB,OAAO0F,MAAM,IAAI,CAAC,CAAEpG,OADLgD,KAAK,KAAK,CAAET,AAAAA,CAAAA,EAAMD,CAAI,EAAKqkC,GAAQ,CACvB,EAAG,SAAClxB,CAAC,CAAE3G,CAAK,E,OAAKxM,EAAQwM,EAAQ63B,C,EAC9D,EAEa8nC,GAAiB,SAAIztE,CAAK,EACrC,GAAIA,AAAiB,IAAjBA,EAAM,MAAM,EAIhB,IAAM0tE,EAAc1rE,KAAK,KAAK,CAACA,KAAK,MAAM,GAAKhC,EAAM,MAAM,EAC3D,OAAOA,CAAK,CAAC0tE,EAAY,CAC3B,EASaC,GAAW,SAAI9pE,CAAM,EAChC,GAAIA,AAAW,OAAXA,EACF,OAAOA,EAET,GAAU+pE,GAAN/pE,EAAkBmuB,MACpB,OAAO,IAAIA,KAAKnuB,EAAO,OAAO,IAEhC,GAAU+pE,GAAN/pE,EAAkBuB,OAAO,CAC3B,IAAMyoE,EAAK,EAAE,CAIb,OAHChqE,EAAiB,OAAO,CAAC,SAAC3F,CAAC,EAC1B2vE,EAAG,IAAI,CAAC3vE,EACV,GACO2vE,EAAG,GAAG,CAAC,SAACjsE,CAAC,E,OAAU+rE,GAAc/rE,E,EAC1C,CACA,GAAIksE,AAAAA,CAAkB,SAAXjqE,EAAAA,YAAPiqE,GAAOjqE,EAAM,IAAK,SAAU,CAC9B,IAAMkqE,EAAK,MAAMlqE,GAMjB,OAHA/G,OAAO,IAAI,CAACixE,GAAI,OAAO,CAAC,SAACr8C,CAAC,EACxBq8C,CAAE,CAACr8C,EAAE,CAAGi8C,GAAcI,CAAE,CAACr8C,EAAE,CAC7B,GACOq8C,CACT,CACA,OAAOlqE,CACT,EAGamqE,GAAmB,SAACC,CAAe,EAC9C,IAAMC,EAAgB,CACpBtpE,SAASqpE,CAAe,CAAC,EAAE,CAAGA,CAAe,CAAC,EAAE,CAAE,IAClDrpE,SAASqpE,CAAe,CAAC,EAAE,CAAGA,CAAe,CAAC,EAAE,CAAE,IAClDrpE,SAASqpE,CAAe,CAAC,EAAE,CAAGA,CAAe,CAAC,EAAE,CAAE,IACnD,QAOD,AAAIE,AALF,MAASD,CAAa,CAAC,EAAE,CACzB,MAASA,CAAa,CAAC,EAAE,CACzB,MAASA,CAAa,CAAC,EAAE,CAGX,GACP,UAIF,SACT,EAsJaE,GAAkB,SAC7BC,CAAK,CACLC,CAAa,E,IAKRC,EAJLC,EAAe,YAAfA,MAAAA,CAAAA,IAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,EAAAA,SAAAA,CAAAA,EAAAA,CAEI5xE,EAAO4xE,EACP,mBACCD,AAAAA,CAAAA,CAAc,OAAdA,CAAAA,EAAAA,EAAM,QAAQ,AAAD,GAAbA,AAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAgB,KAAK,AAAD,GAAK,OAAM,EAAK,SAIzC,OAHID,GACF1xE,CAAAA,GAAS,IAAiB,OAAd0xE,EAAa,EAEnB,GAA+BpB,MAAAA,CAA7BtwE,EAAK,OAAO,CAAC,MAAO,KAAK,MAG9BqwE,MAAAA,CAHkCC,EACrCmB,EAAM,OAAO,EAAI,EACjB,GACA,KAAgB,OAAbpB,MAAe,WAAW,EACjC,EAEawB,GAAoB,SAC/BC,CAAQ,E,IACRC,EAAAA,UAAAA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAA2B,CAAC,EAEpBC,EAA4CF,EAA5CE,UAAU,CAAEhV,EAAgC8U,EAAhC9U,UAAU,CAAEiV,EAAoBH,EAApBG,eAAe,CAE3CC,EAAQ,EA2DZ,EAAG,CACD,IAAMC,EAAalqC,AA3DJ,WACf,IAAMmqC,EAAS,MAAKL,GACfM,EAAAA,GAAAA,EAAAA,GAAAA,EAAAA,KAAAA,E,IAAL,QAAKA,EAAAA,EAAkBL,CAAU,CAAVA,OAAAA,QAAAA,CAAAA,GAAlBK,CAAAA,CAAAA,EAAAA,AAAAA,CAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,AAAAA,EAAAA,EAAAA,GAAAA,C,iBAAAA,IAAMC,EAAND,EAAAA,KAAAA,CACGE,EAAWvV,EACd,MAAM,CACL,SAAC50D,CAAC,E,OAAKkqE,EAAS,YAAY,EAAIA,EAAS,YAAY,CAAC,QAAQ,CAAClqE,EAAE,EAAE,C,GAEpE,GAAG,CAAC,SAACA,CAAC,EACL,IAAMoqE,EAAMpqE,EAAE,MAAM,CAChBA,EAAE,MAAM,CAAC,MAAM,CAAC,SAAC+4C,CAAG,CAAEsxB,CAAG,EACvB,OACEtxB,EACC8wB,CAAAA,CAAe,CAACQ,EAAI,EAAE,CAAC,CACpBvyE,OAAO,IAAI,CAAC+xE,CAAe,CAACQ,EAAI,EAAE,CAAC,EAAE,MAAM,CAC3C,EAER,EAAG,GACH,EACJ,OAAO,SAAKrqE,GAAAA,CAAGoqE,IAAAA,C,EACjB,GACC,IAAI,CAAC,SAAC/rE,CAAC,CAAEb,CAAC,E,OAAMa,EAAE,GAAG,CAAGb,EAAE,GAAG,CAAG,GAAK,C,GAClC8sE,EAAiB,EAAE,CACpBL,EAAAA,GAAAA,EAAAA,GAAAA,EAAAA,KAAAA,E,IAAL,QAAKA,EAAAA,EAAiBE,CAAQ,CAARA,OAAAA,QAAAA,CAAAA,GAAjBF,CAAAA,CAAAA,EAAAA,AAAAA,CAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,AAAAA,EAAAA,EAAAA,GAAAA,C,iBAAAA,IAAMM,EAANN,EAAAA,KAAAA,CACH,GAAID,EAAO,cAAc,CAACO,EAAQ,EAAE,EAAG,CACrC,IAAMC,EAAcR,CAAM,CAACO,EAAQ,EAAE,CAAC,CACtC,GAAIC,GAAeA,EAAY,MAAM,CAAE,CACrC,GAAIA,EAAY,IAAI,CAAC,SAACtxE,CAAC,E,OAAKoxE,EAAS,QAAQ,CAACpxE,E,GAAK,MAAO,C,EAAA,EAAK,EAC/DsxE,EAAY,OAAO,CAAC,SAACtxE,CAAC,EACpB2wE,CAAe,CAAC3wE,EAAE,EAChBpB,OAAO,IAAI,CAAC+xE,CAAe,CAAC3wE,EAAE,EAAE,OAAO,CACrC,SAAC+c,CAAE,E,OAAK4zD,CAAe,CAAC3wE,EAAE,CAAC+c,EAAG,EAAIq0D,EAAS,IAAI,CAACr0D,E,EAEtD,EACF,CACA,gBACF,CACA,IAAMw0D,EACJF,EAAQ,MAAM,EACdA,EAAQ,MAAM,CACX,GAAG,CAAC,Y,OAAGt0D,EAAAA,EAAE,A,GACT,MAAM,CAAC,SAACA,CAAE,E,MAAK,CAACq0D,EAAS,QAAQ,CAACr0D,E,GACvC,GAAI,CAACw0D,GAAsBA,AAA8B,IAA9BA,EAAmB,MAAM,CAClD,MAAO,C,EAAA,EAAK,EACd,IAAMvxE,EAAIuvE,GAAegC,GACzB,IAAIvxE,EAOF,MAAO,C,EAAA,EAAK,CANZ2wE,CAAAA,CAAe,CAAC3wE,EAAE,EAChBpB,OAAO,IAAI,CAAC+xE,CAAe,CAAC3wE,EAAE,EAAE,OAAO,CACrC,SAAC+c,CAAE,E,OAAK4zD,CAAe,CAAC3wE,EAAE,CAAC+c,EAAG,EAAIq0D,EAAS,IAAI,CAACr0D,E,GAEpD+zD,CAAM,CAACO,EAAQ,EAAE,CAAC,CAAG,CAACrxE,EAAE,AAI5B,I,4CA/BK+wE,EAAAA,GAAAA,EAAAA,C,cAAAA,GAAAA,AAAAA,MAAAA,EAAAA,MAAAA,EAAAA,EAAAA,MAAAA,E,YAAAA,E,MAAAA,C,EAgCP,I,yCApDKA,EAAAA,GAAAA,EAAAA,C,cAAAA,GAAAA,AAAAA,MAAAA,EAAAA,MAAAA,EAAAA,EAAAA,MAAAA,E,YAAAA,E,MAAAA,C,EAqDL,OAAOD,CACT,IAIE,GAAID,EAMF,MALkB,CAChB,GAAItD,IACJsD,WAAAA,EACA,SAAU,EACZ,CAGFD,CAAAA,GACF,OAASA,EAAQ,IAAK,CACtB,MAAO,EACT,EAEaY,GAAkB,SAACz0D,CAAE,CAAU1d,CAAC,EAC3CA,GAAKA,EAAE,cAAc,GACrB,IAAM6e,EAAU65C,SAAS,cAAc,CAACh7C,GAEpCmB,EACFA,EAAQ,cAAc,CAAC,CAAE,SAAU,QAAS,GAE5C5K,QAAQ,GAAG,CAAE,mBAAqB,OAAHyJ,EAAG,eAEtC,EAEa00D,GAAc,WACzBnyE,OAAO,QAAQ,CAAC,CACd,IAAK,EACL,SAAU,QACZ,EACF,EAEaoyE,GAAoB,SAC/BhuE,CAAC,CACDg4D,CAAU,EAEV,IAAoBiW,EAA6BjuE,EAAzC,UAAU,CACZkuE,EAAe,IAAE,WAAY,CAAC,C,EADG73D,A,6XAAUrW,EAAAA,CAAzC,a,GASR,OAPAg4D,EACG,MAAM,CAAC,SAAC50D,CAAC,E,OAAK6qE,EAAe,cAAc,CAAC7qE,EAAE,EAAE,C,GAChD,OAAO,CAAC,SAACA,CAAC,EACT8qE,EAAa,UAAU,CAAC9qE,EAAE,EAAE,CAAC,CAAG6qE,CAAc,CAAC7qE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAACiW,CAAE,E,IAC7D80D,E,OAAQ,OAARA,CAAAA,EAAAA,EAAE,MAAM,AAAD,GAAPA,AAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAU,IAAI,CAAC,SAAC7xE,CAAC,E,OAAKA,EAAE,EAAE,GAAK+c,C,IAEnC,GACK60D,CACT,EAEaE,GAAsB,SAACC,CAAU,E,OAC5CA,EACG,GAAG,CAAC,SAACruE,CAAC,E,OAAM,SACRA,GAAAA,CACH,MAAOA,EAAE,QAAQ,CAAGmvB,EAAE,QAAS,YAAcA,EAAE,QAAS,a,KAEzD,IAAI,CAAC,SAAC1tB,CAAC,CAAEb,CAAC,E,OACTa,EAAE,QAAQ,EAAIb,EAAE,QAAQ,CACnBa,AAAAA,CAAAA,EAAE,KAAK,EAAI,EAAC,EAAG,aAAa,CAACb,EAAE,KAAK,EACrCa,EAAE,QAAQ,CACV,GACA,C,IAGG6sE,GAAe,CAC1B,UACA,UACA,UACA,UACA,UACD,CAEYC,GAAe,SAACC,CAAG,EAC9B,IAAMC,EAAYC,KAAKF,GAEvB,MAAQ,6BAAsC,OAAVC,EACtC,EAEaE,GAAkB,SAAC5kE,CAAK,CAAU6kE,CAAQ,EACrD,IAAMC,EAAcD,AAAW,GAAXA,EAOpB,MALa,kDAAsEA,MAAAA,CAArBA,EAAS,cACvDA,MAAAA,CADmEA,EAAS,wBACvDA,MAAAA,CAArBA,EAAW,EAAE,UAC3B,OADmCA,EAAW,EAAE,SAEvC7kE,MAAAA,CADR6kE,AAAAA,CAAAA,EAAWC,CAAU,EAAK,EAC5B,YAAiDA,MAAAA,CAAvC9kE,EAAM,mCAA6C,OAAZ8kE,EAAY,aAGhE,EAEaC,GAAsB,SACjCnT,CAAK,E,IACLoT,EAAAA,UAAAA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAwB,EAAE,CAEtBt7D,EAAQ,EAGNmH,EAAQ+gD,EAAM,KAAK,CAAC,gBACtB/gD,IAEF+gD,EAAQ/gD,CAAK,CAAC,EAAE,CAAC,IAAI,GAErBnH,EAAQzQ,SAAS4X,CAAK,CAAC,EAAE,EAAI,GAM/B,IAHA,IAAIo0D,EAAY,GAAWv7D,MAAAA,CAATkoD,EAAM,KAAS,OAANloD,GAGpBs7D,EAAY,QAAQ,CAACC,IAC1Bv7D,IACAu7D,EAAY,GAAWv7D,MAAAA,CAATkoD,EAAM,KAAS,OAANloD,GAGzB,OAAOu7D,CACT,E,ilEC5hBA,IAAMC,GAAY,WAkBZC,GAAW,SAACvT,CAAK,EACrBtH,SAAS,KAAK,CAAI,kBAAuB,OAANsH,EACrC,EAIawT,GAAU,SAACtnC,CAAI,CAAsBunC,CAAI,EACpDrB,KACAlmC,EAAK,MAAM,CAAC,CAAEunC,KAAAA,CAAK,EACrB,EAEaC,GAAa,SACxBxnC,CAAI,CACJunC,CAAI,CACJ5S,CAAM,CACNK,CAAK,EAELyS,IAAcA,GAAW,QAAQ,CAACF,EAAM5S,EAAQK,GAChDh1B,EAAK,MAAM,CAAC,CAAEunC,KAAAA,CAAK,EACrB,EAkCO,IAAMG,I,EAAY,YACvB1nC,CAAI,CACJ4kC,CAAK,E,IACLnhE,E,kEAnCwBwhE,E,GAmCxBxhE,EAAQ,EAARA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAA,CAAAA,EAAAA,CAEAkkE,aAAa,OAAO,CAACpE,GAAO,SAC5BqB,EAAM,UAAU,CAAGr8C,KAAK,GAAG,GACvB,CAACq8C,EAAM,SAAS,EAClBA,CAAAA,EAAM,SAAS,CAAG,EAAE,AAAD,E,CAGjBnhE,EAAAA,MAAAA,C,KACF,GA5CsBwhE,EA4CAL,EAAM,QAAQ,CA3CtC78D,QAAQ,GAAG,CAAC,wBACPk9D,IACD,CAACA,EAAS,eAAe,EAAEA,CAAAA,EAAS,eAAe,CAAG,CAAC,GACvD,CAACA,EAAS,UAAU,EAAEA,CAAAA,EAAS,UAAU,CAAG,EAAE,AAAD,EAC7C,CAACA,EAAS,UAAU,EAAEA,CAAAA,EAAS,UAAU,CAAG,EAAE,AAAD,EAC7C,CAACA,EAAS,UAAU,EAAEA,CAAAA,EAAS,UAAU,CAAG,EAAE,AAAD,EACjDA,EAAS,UAAU,CAAGA,EAAS,UAAU,CAAC,GAAG,CAAC,SAAC9sE,CAAC,E,OAC9CguE,GAAkBhuE,EAAG8sE,EAAS,UAAU,C,GAEK,SAApCA,EAAS,sBAAsB,EACxCA,CAAAA,EAAS,sBAAsB,CAAG,EAAG,EAEnC,CAACA,EAAS,eAAe,EAAEA,CAAAA,EAAS,eAAe,CAAGpD,EAAAA,EAC1DoD,EAAS,UAAU,CAAC,OAAO,CAAC,SAAC1pE,CAAC,EACxB,CAACA,EAAE,UAAU,EAAEA,CAAAA,EAAE,UAAU,CAAG,CAAC,GAC/B,CAACA,EAAE,EAAE,EAAEA,CAAAA,EAAE,EAAE,CAAGymE,GAAS,EACvB,CAACzmE,EAAE,KAAK,EAAEA,CAAAA,EAAE,KAAK,CAAG,SAAQ,CAClC,GACA0pE,EAAS,UAAU,CAAC,OAAO,CAAC,SAAC1pE,CAAC,EACxB,CAACA,EAAE,YAAY,EAAEA,CAAAA,EAAE,YAAY,CAAG,EAAE,AAAD,EACnC,CAACA,EAAE,EAAE,EAAEA,CAAAA,EAAE,EAAE,CAAGymE,GAAS,EACvB,CAACzmE,EAAE,KAAK,EAAEA,CAAAA,EAAE,KAAK,CAAG,SAAQ,CAClC,GACA0pE,EAAS,UAAU,CAAC,OAAO,CAAC,SAAC1pE,CAAC,EACxB,CAACA,EAAE,MAAM,EAAEA,CAAAA,EAAE,MAAM,CAAG,EAAE,AAAD,EACvB,CAACA,EAAE,EAAE,EAAEA,CAAAA,EAAE,EAAE,CAAGymE,GAAS,EACvB,CAACzmE,EAAE,KAAK,EAAEA,CAAAA,EAAE,KAAK,CAAG,SAAQ,CAClC,MAkBI,OADAqsE,MAAMtgD,EAAE,mBACR,C,GAEF,O,EAAM+6C,GAAI,GAAG,CAAC+E,GAAW/4C,KAAK,SAAS,CAACu2C,I,eAAxC,SACA5kC,EAAK,MAAM,CAAC,CACV,MAAO,W,OAAM4kC,C,EACb,cAAe,GACf,MAAOA,EAAM,QAAQ,CAAC,KAAK,CAC3B,aAAc,W,EACd,cAAe,W,MAAO,CAAC,C,EACvB,YAAa,W,MAAO,CAAC,C,CACvB,G,aAEA,O,EAAMvC,GAAI,GAAG,CAAC+E,GAAW/4C,KAAK,SAAS,CAACu2C,I,QAAxC,SACA5kC,EAAK,MAAM,CAAC,CAAE,MAAO,W,OAAM4kC,C,CAAM,G,wBAEnC+C,aAAa,OAAO,CAACpE,GAAO,S,MAC9B,G,SA7BEvjC,CAAI,CACJ4kC,CAAK,E,iCA8BA,IAAMiD,I,EAA+B,YAC1C7nC,CAAI,CACJ8nC,CAAkB,E,IAEVlD,EACUmD,EAAa,EAAAC,EACzBjG,E,qDADYgG,EAAgCnD,AAD1CA,CAAAA,EAAU5kC,EAAK,QAAQ,GAAvB4kC,KAAK,AAAD,EACJ,QAAQ,CACV7C,EAAciG,AADWA,CAAAA,EAAY,AAAZA,KAAAA,IAAvB,GAA0CpD,EAAnBoD,SAAS,AAAD,EAARA,EAAAA,CAAAA,CAAAA,EACD,IAAI,CAAC,SAACzgD,CAAC,E,OAAKA,EAAE,EAAE,GAAKugD,C,IAC/CC,CAAAA,GAAehG,CAAU,EAAzBgG,MAAAA,C,KAcF,OAbAnD,EAAM,SAAS,CAAG,CAChBmD,E,CADgB,OAEhB,GAAGC,EAAU,MAAM,CAAC,SAACzgD,CAAC,E,OAAKA,EAAE,EAAE,GAAKugD,C,KAEtClD,EAAM,QAAQ,CAAG7C,EACjB/hC,EAAK,MAAM,CAAC,CACV,MAAO,W,OAAM4kC,C,EACb,cAAe,GACf,MAAO7C,EAAY,KAAK,CACxB,aAAc,W,EACd,cAAe,W,MAAO,CAAC,C,EACvB,YAAa,W,MAAO,CAAC,C,CACvB,GACA,C,EAAMM,GAAI,GAAG,CAAC+E,GAAW/4C,KAAK,SAAS,CAACu2C,I,QAAxC,S,6BAEJ,G,SAtBE5kC,CAAI,CACJ8nC,CAAkB,E,iCAuBb,IAAMG,I,EAAgB,YAC3BjoC,CAAI,CACJkoC,CAAY,E,IAEJtD,E,kCAAAA,EAAU5kC,EAAK,QAAQ,GAAvB4kC,KAAK,CACT,CAACsD,EAAa,EAAE,EAAEA,CAAAA,EAAa,EAAE,CAAGlG,GAAS,EAC5C4C,EAAM,QAAQ,CAAC,UAAU,CAIxBsD,EAAa,KAAK,CACpBtD,EAAM,QAAQ,CAAC,UAAU,CAAGA,EAAM,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,SAACzsE,CAAC,E,OAC1DA,EAAE,EAAE,GAAK+vE,EAAa,EAAE,CAAG/vE,EAAI+vE,C,IAGjCA,EAAa,KAAK,CAAG,GACrBtD,EAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,CAACsD,KATjCA,EAAa,KAAK,CAAG,GACrBtD,EAAM,QAAQ,CAAC,UAAU,CAAG,CAACsD,E,EAW/BloC,EAAK,MAAM,CAAC,CAAE,aAAc,W,OAAMkoC,C,CAAa,GAC/CR,GAAU1nC,EAAM4kC,G,KAClB,G,SApBE5kC,CAAI,CACJkoC,CAAY,E,iCAqBP,IAAMC,I,EAAkB,YAC7BnoC,CAAI,CACJkoC,CAAY,E,sDAERA,EAAa,KAAK,CAAlBA,MAAAA,C,KACF,O,EAAMD,GAAcjoC,EAAMkoC,G,QAA1B,S,wBAEFloC,EAAK,MAAM,CAAC,CAAEkoC,aAAAA,CAAa,G,MAC7B,G,SAPEloC,CAAI,CACJkoC,CAAY,E,iCAQDE,GAA0B,SACrCpoC,CAAI,CACJqoC,CAAmB,CACnBrpE,CAAI,CACJspE,CAAQ,EAER,IAAQ1D,EAAU5kC,EAAK,KAAK,CAApB4kC,KAAK,CAIP56C,EAAOmmC,AADTyU,EADF,QAAQ,CAAIzU,UAAU,CAEA,MAAM,CAAC,SAAC50D,CAAC,E,OAAKA,EAAE,EAAE,GAAK8sE,C,GAAqB,KAAK,GACzE,GAAI,CAACr+C,EAAM,CACTjiB,QAAQ,KAAK,CAAC,iCACd,MACF,CACA,MAAwBiiB,EAAhBqoB,MAAM,CAANA,EAAS,AAATA,KAAAA,IAAS,IAAE,EACnBroB,CAAAA,EAAK,MAAM,CACTs+C,AAAa,WAAbA,EACIj2B,EAAO,GAAG,CAAC,SAAC92C,CAAC,E,OAAMA,EAAE,EAAE,GAAKyD,EAAK,EAAE,CAAGA,EAAOzD,C,GAC7C+sE,AAAa,WAAbA,EACAj2B,EAAO,MAAM,CAAC,SAAC92C,CAAC,E,OAAKA,EAAE,EAAE,GAAKyD,EAAK,EAAE,A,GACpC,GAAGqzC,GAAAA,MAAAA,CAAJ,CAAYrzC,EAAK,EACN,WAAbspE,GACF1D,CAAAA,EAAM,QAAQ,CAAC,UAAU,CAAGA,EAAM,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,SAACzsE,CAAC,E,OAC1DguE,GAAkBhuE,EAAGysE,EAAM,QAAQ,CAAC,UAAU,C,IAGlD8C,GAAU1nC,EAAM4kC,EAClB,EAGa2D,GAAwB,SACnCvoC,CAAI,CACJwoC,CAAW,CACXC,CAAM,CACNC,CAAM,CACNC,CAAU,EAEV,IAAQ/D,EAAU5kC,EAAK,KAAK,CAApB4kC,KAAK,CAIP56C,EAAOmmC,AADTyU,EADF,QAAQ,CAAIzU,UAAU,CAEA,MAAM,CAAC,SAAC50D,CAAC,E,OAAKA,EAAE,EAAE,GAAKitE,C,GAAa,KAAK,GACjE,GAAI,CAACx+C,EAAM,CACTjiB,QAAQ,KAAK,CAAC,iCACd,MACF,CACA,MAAwBiiB,EAAhBqoB,MAAM,CAANA,EAAS,AAATA,KAAAA,IAAS,IAAE,GACbu2B,EAAav2B,EAAO,IAAI,CAAC,SAACrzC,CAAI,E,OAAKA,EAAK,EAAE,GAAKypE,C,GACrD,IAAI,CAACG,EACev2B,EAAO,IAAI,CAAC,SAACrzC,CAAI,E,OAAKA,EAAK,EAAE,GAAK0pE,C,KAGtD1+C,EAAK,MAAM,CAAGqoB,EACX,MAAM,CAAC,SAAC96C,CAAC,E,OAAKA,EAAE,EAAE,GAAKkxE,C,GACvB,MAAM,CAAC,SAACn0B,CAAG,CAAEsxB,CAAG,EAYf,OAXIA,EAAI,EAAE,GAAK8C,EACTC,GACFr0B,EAAI,IAAI,CAACs0B,GACTt0B,EAAI,IAAI,CAACsxB,KAETtxB,EAAI,IAAI,CAACsxB,GACTtxB,EAAI,IAAI,CAACs0B,IAGXt0B,EAAI,IAAI,CAACsxB,GAEJtxB,CACT,EAAG,EAAE,EACPozB,GAAU1nC,EAAM4kC,GAClB,EAEO,IAAMiE,I,EAAc,c,IAAOC,E,8DAEhC,OAFgCA,EAAS,EAATA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAASC,GAAK,aAAa,CAC3DpB,aAAa,OAAO,CAACrE,GAAUwF,GAC/B,C,EAAMC,GAAK,gBAAgB,CAACD,G,eAA5B,S,MACF,G,4CAGA,IAAME,I,EAAa,YAAOpZ,CAAM,E,IAGhBkV,EAFRmE,EACArE,EACA9Q,E,kDAFK,O,EAAMuO,GAAI,GAAG,CAAC+E,I,eAGzBC,GADMvT,EAAQgR,AAAAA,CAAc,OAAdA,CAAAA,EAAAA,AADRF,CAAAA,EAAQqE,AADRA,CAAAA,EAAK,UACQ56C,KAAK,KAAK,CAAC46C,GAAMnH,EAAW,EAC3B,QAAQ,AAAD,GAAbgD,AAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAgB,KAAK,AAAD,GAAK,IAGvClV,EAAO,CACL,MAAO,W,OAAO,A,6aAAA,GAAKgV,E,EACnB9Q,MAAAA,CACF,G,MACF,G,SAV0BlE,CAAM,E,iCAqB1BlB,GAAoB,CACxB,SAAU,CAVoB,CAC9B,SAAU,SAACxmD,CAAK,E,IAAKghE,EAAAA,E,OAAW,OAAXA,CAAAA,EAAAA,EAAM,KAAK,AAAD,GAAVA,AAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,AAAqB,OAArBA,CAAAA,EAAAA,EAAa,QAAQ,AAAD,GAApBA,AAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAuB,KAAK,A,EACjD,IAAK,SAAClpC,CAAI,EACR,IAAcmpC,EAAAA,EAARrV,EAAQ,AAAgB,OAAhBqV,CAAAA,EAAAA,EAAK,KAAK,CAAC,KAAK,AAAD,GAAfA,AAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,AAA0B,OAA1BA,CAAAA,EAAAA,EAAkB,QAAQ,AAAD,GAAzBA,AAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA4B,KAAK,CAC/C9B,GAASvT,GACT9zB,EAAK,MAAM,CAAC,CAAE8zB,MAAAA,CAAM,EACtB,CACF,EAGqB,CACnB,QAAS,CACP,MAAO,GACP,KAAMoN,EAAAA,IAAe,CACrB,MAAOY,EACT,CACF,EACasH,GAAQC,AAAAA,GAAAA,GAAAA,YAAAA,AAAAA,EAAoB,CAAE3a,IAAAA,EAAI,GAC/Csa,GAAWI,KAAQ,MAAM,EAEzBA,GAAM,GAAG,CAAC,W,OAAM31E,IAAAA,MAAQ,E,GCtSxB,IAAIsyD,GAAW,SAAU7xD,CAAG,EAAI,OAAOA,GAAO,AAAe,UAAf,OAAOA,CAAkB,EAuIvE,SAASo1E,KAEP,IADA,IAAIhpE,EAAO,EAAE,CAAEtJ,EAAMiD,UAAU,MAAM,CAC7BjD,KAAQsJ,CAAI,CAAEtJ,EAAK,CAAGiD,SAAS,CAAEjD,EAAK,CAE9C,IAAIuyE,EAAO,IAAI,CAAC,IAAI,CAChBC,EAAoBD,EAAK,KAAK,AAClCA,CAAAA,EAAK,KAAK,CAAG,GACb,IAAIv1D,EAAS,IAAI,CAAC,KAAK,CAAC,KAAM1T,GAE9B,OADAipE,EAAK,KAAK,CAAGC,EACNx1D,CACT,CAEA,SAASy1D,GAAYC,CAAa,CAAE/0E,CAAO,EACzC+0E,EAAgBA,GAAiB,CAAC,EAG9B/0E,AAFJA,CAAAA,EAAUA,GAAW,CAAC,GAEV,cAAc,EACxB+0E,CAAAA,EAAgBD,GAAY,cAAc,CAACC,EAAa,EAG1D,IAAIC,EAAY,CAAC,EAEjB,SAASC,EAAMC,CAAc,CAAEC,CAAM,CAAEC,CAAY,EACjD,OAAOC,AA1FX,SACEH,CAAc,CACdC,CAAM,CACNC,CAAY,CACZ51E,CAAI,CACJo1E,CAAI,CACJI,CAAS,EAETJ,EAAOA,GAAQ,CAAC,EAChB,IAAIU,EAAc91E,CAAI,CAAC01E,EAAe,CAClCK,EAAsBnkB,GAASkkB,GAC/BE,EAAUD,GAAuBJ,AAAU,MAAVA,GAAkBC,AAAgB,MAAhBA,EAEvD,GAAII,EAAS,CACX,GAAIpkB,GAAS+jB,GAAS,CACpB,IAAI36C,EAAM46C,EACVA,EAAeD,EACfA,EAAS36C,CACX,CAGA,GAFA46C,EAAeA,GAAgB,CAAC,EAE5BG,EAAqB,CACvB,IAAIE,EACF,AAAW,MAAVN,GAAkBG,CAAW,CAACH,EAAO,EAAKG,CAAW,CAAC,IAAI,CAC7D,GAAIG,AAAa,MAAbA,EACFH,EAAcG,OACT,GAAI,AAAkB,UAAlB,OAAON,EAAqB,CAErC,IAtEgBG,EAAar+D,EAAOy+D,EAGtCC,EAmEMD,EAASd,EAAK,SAAS,CAtEXU,EAuEaA,EAvEAr+D,EAuEak+D,EAvENO,EAuEcA,EApEpDC,EAAc/xE,KAAK,GAAG,CAACqT,GAoErBq+D,EAjEN,AAAIA,AAA4B,MAA5BA,CAAW,CADfK,EAAcD,EAASA,EAAOC,GAAeA,EACjB,CACnBL,CAAW,CAACK,EAAY,CAE7BL,AAAiB,MAAjBA,EAAY,CAAC,CACRA,EAAY,CAAC,OA8DlB,CACF,CACF,CAEA,GAAI,AAAuB,UAAvB,OAAOA,EAA0B,CACnC,GAAIV,AAAqC,KAArCA,EAAK,2BAA2B,CAClC,OAEFU,EAAcJ,EACVN,EAAK,KAAK,GACRO,AAAU,MAAVA,GACFG,EAAc,KAAOJ,EAAiB,IAAMC,EAAS,KACrD/hE,QAAQ,IAAI,CACV,mDACE+hE,EACA,OACAD,KAGJI,EAAc,KAAOA,EAAc,KACnCliE,QAAQ,IAAI,CAAC,oBAAsB8hE,EAAiB,iBAG1D,QAEA,AAAIM,EACKI,AApFX,SACEN,CAAW,CACXF,CAAY,CACZn+D,CAAK,CACL+9D,CAAS,CACTJ,CAAI,EAEJ,IAAIv1D,EAAS21D,CAAS,CAACM,EAAY,CACnC,GAAIj2D,AAAU,MAAVA,EAAgB,CAClB,IAAIyb,EAAQw6C,EAIT,OAAO,CAAC,aAAc,YAGtB,KAAK,CAAC,OAKTj2D,EAASyb,EAAM,MAAM,CAAG,EAAIA,EAAQA,CAAK,CAAC,EAAE,CAC5Ck6C,CAAS,CAACM,EAAY,CAAGj2D,CAC3B,CAEA,OADAA,EAASA,EAAO,GAAG,CAAGw2D,AA9DxB,SAAkB/6C,CAAK,CAAEs6C,CAAY,CAAEn+D,CAAK,CAAE29D,CAAI,EAGhD,IAAK,IAFDv1D,EAASu1D,EAAK,KAAK,CAAG95C,EAAM,KAAK,GAAKA,CAAK,CAAC,EAAE,CAC9Cz4B,EAAMy4B,EAAM,MAAM,CACbl4B,EAAI,EAAGA,EAAIP,EAAKO,GAAK,EAAG,CAC/B,IAAIkzE,EAAOh7C,CAAK,CAACl4B,EAAE,CACfJ,EAAM4yE,CAAY,CAACU,EAAK,AACjB,OAAPtzE,IACEszE,AAAS,MAATA,GAAgB7+D,AAAS,MAATA,EAClBzU,EAAMyU,GAEN29D,EAAK,KAAK,EACRxhE,QAAQ,IAAI,CAAC,OAAS0iE,EAAO,2BAA4BV,GAC3D5yE,EAAM,IAAMszE,EAAO,MAGnBlB,EAAK,KAAK,CACZv1D,CAAM,CAACzc,EAAE,CAAGJ,EAEZ6c,GAAU7c,EAAMs4B,CAAK,CAACl4B,EAAI,EAAE,AAEhC,CACA,OAAOyc,CACT,EAwCiCA,EAAQ+1D,EAAcn+D,EAAO29D,GAAQv1D,CAEtE,EA2DMi2D,EACAF,EACAD,EACAH,EACAJ,GAGGU,CACT,EA0BMJ,EACAC,EACAC,EACAH,EAAM,IAAI,CACVA,EAAM,IAAI,CACVD,EAEJ,CAOA,OALAC,EAAM,GAAG,CAAGN,GAEZM,EAAM,IAAI,CAAGF,GAAiB,CAAC,EAC/BE,EAAM,IAAI,CAAGj1E,EAENi1E,CACT,CASAH,GAAY,cAAc,CAAG,SAAwBiB,CAAY,EAC/D,IAAIC,EAAgB,CAAC,EAiCrB,OAAOC,AAhCP,SAASA,EAAeX,CAAW,EACjC,GAAIlkB,GAASkkB,GAAc,KAVZ/1E,EAAKyM,EAWlB,OAXazM,EAWI+1E,EAXCtpE,EAWYiqE,EAV3Bv3E,OAAO,IAAI,CAACa,GAAK,MAAM,CAAC,SAAU2E,CAAG,CAAEzE,CAAG,EAE/C,OADAyE,CAAG,CAACzE,EAAI,CAAGuM,EAAGzM,CAAG,CAACE,EAAI,CAAEA,GACjByE,CACT,EAAG,CAAC,EAQF,CACA,OAAOoxE,EAAY,OAAO,CAAC,aAAc,SAAUj/D,CAAC,CAAE6/D,CAAK,EACzD,GAAIF,CAAa,CAACE,EAAM,CACtB,MAAM,AAAI50E,MAAM,2BAA6B40E,EAAQ,aAEvDF,CAAAA,CAAa,CAACE,EAAM,CAAG,GACvB,IAAIz2E,EAAMy2E,EACNf,EAAS,GACTgB,EAAWD,EAAM,KAAK,CAAC,kBACvBC,IACF12E,EAAM02E,CAAQ,CAAC,EAAE,CACjBhB,EAASgB,CAAQ,CAAC,EAAE,EAEtB,IAAI1wE,EAASswE,CAAY,CAACt2E,EAAI,CAC9B,GAAI2xD,GAAS3rD,IACX,GAAI0vE,EACF1vE,EAASA,CAAM,CAAC0vE,EAAO,MAEvB,MAAM,AAAI7zE,MAAM,2BAGpB,GAAImE,AAAU,MAAVA,EACF,MAAM,AAAInE,MAAM,6BAA+B40E,EAAQ,KAEzD,IAAIZ,EAAcW,EAAexwE,GAEjC,OADAuwE,CAAa,CAACE,EAAM,CAAG,GAChBZ,CACT,EACF,EACsBS,EACxB,E,62CPpNO,IAAMK,GAAW,CACtB,KAAM,CAAE,MAAO,OAAQ,MAAO,OAAQ,EACtC,MAAO,CAAE,MAAO,gBAAiB,MAAO,QAAS,EACjD,WAAY,CAAE,MAAO,oBAAqB,MAAO,SAAU,EAC3D,SAAU,CAAE,MAAO,WAAY,MAAO,WAAY,EAClD,gBAAiB,CAAE,MAAO,kBAAmB,MAAO,SAAU,EAC9D,cAAe,CAAE,MAAO,iBAAkB,MAAO,OAAQ,EACzD,iBAAkB,CAAE,MAAO,mBAAoB,MAAO,SAAU,EAChE,SAAU,CACR,WAAY,kBACZ,MAAO,oBACT,EACA,OAAQ,CACN,WAAY,kBACZ,MAAO,oBACT,EACA,OAAQ,SACR,OAAQ,SACR,IAAK,MACL,IAAK,MACL,GAAI,KACJ,GAAI,KACJ,KAAM,OACN,YAAa,cACb,WAAY,aACZ,UAAW,aACX,mBAAoB,mBACpB,WAAY,UACZ,UAAW,YACX,QAAS,UACT,KAAM,OACN,SAAU,WACV,cAAe,gBACf,YAAa,cACb,cAAe,gBACf,SAAU,WACV,UAAW,YACX,OAAQ,cACR,KAAM,OACN,eAAgB,iBAChB,gBAAiB,kBACjB,eAAgB,iBAChB,cAAe,gBACf,mBAAoB,WACpB,gBAAiB,QACjB,eAAgB,6BAChB,eAAgB,OAChB,iBAAkB,kBAClB,UAAW,YACX,kBAAmB,mBACnB,mBAAoB,uBACpB,iBAAkB,mBAClB,gBAAiB,kBACjB,IAAK,MACL,MAAO,QACP,MAAO,QACP,UAAW,iBACX,mBAAoB,iBACpB,WAAY,iDACZ,UAAW,kBACX,MAAO,QACP,MAAO,QACP,aAAc,CACZ,SAAU,4BACV,WAAY,8BACZ,WAAY,6BACd,EACA,YAAa,CACX,MAAO,gBACP,YACE,2EACJ,EACA,aAAc,eACd,UAAW,CACT,IAAK,iBACL,MAAO,mDACP,YACE,+HACF,OAAQ,6BACR,OAAQ,uBACV,EACA,aAAc,CACZ,IAAK,kBACL,MAAO,+BACP,YACE,2EACJ,EACA,gBAAiB,CACf,MAAO,uBACP,WAAY,aACZ,WAAY,eACd,EACA,WAAY,CACV,MAAO,OACP,QAAS,sBACX,EACA,KAAM,CAEJ,WAAY,OAEZ,aAAc,MAEd,WAAY,SAEZ,MAAO,MAEP,SAAU,KAEV,KAAM,OAEN,QAAS,WAET,cAAe,mBAEf,OAAQ,SAER,KAAM,MACR,EACA,KAAM,CACJ,gBAAiB,SACjB,2BAA4B,+BAC5B,aAAc,aACd,oBAAqB,uBACrB,cAAe,iBACf,SAAU,WACV,UAAW,YACX,cAAe,iBACf,OAAQ,SACR,OAAQ,mBACR,SAAU,WACV,UAAW,WACX,6BAA8B,oBAC9B,WAAY,aACZ,UAAW,YACX,sBACE,qZACF,OAAQ,SACR,iBAAkB,mBAClB,cAAe,iBACf,QAAS,SACT,qCAAsC,2BACtC,eAAgB,iBAChB,iBAAkB,oBAClB,0CACE,kDACF,eAAgB,iBAChB,UAAW,WACX,kBAAmB,qBACnB,WAAY,cACZ,gBAAiB,mBACjB,MAAO,QACP,OAAQ,SACR,OAAQ,SACR,MAAO,QACP,kBAAmB,mBACnB,aAAc,iBACd,OAAQ,SACR,iBAAkB,oBAClB,YAAa,oBACb,GAAI,8BACJ,YAAa,eACb,eAAgB,kBAChB,UAAW,YACX,eAAgB,iBAChB,OAAQ,SACR,iBAAkB,oBAClB,OAAQ,kBACR,OAAQ,mBACR,OAAQ,mBACR,QAAS,kBACT,aAAc,iBAChB,EACA,YAAa,CACX,EAAG,cACH,EAAG,2BACL,EACA,WAAY,CACV,EAAG,2BACH,EAAG,wDACL,EACA,eAAgB,uCAChB,aAAc,wCACd,UACE,gFACF,YAAa,iBACb,kBAAmB,iCACnB,KAAM,CACJ,MAAO,OACP,KAAM,4IACR,EACA,MAAO,CACL,MAAO,QACP,KAAM,mKACR,EACA,SAAU,CACR,MAAO,WACP,KAAM,+EACR,EACA,QACE,6TACF,aAAc,eACd,oBAAqB,+BACrB,sBAAuB,oCACvB,wBAAyB,6BACzB,qBAAsB,4BACtB,kBAAmB,0BACnB,MAAO,CAAE,SAAU,qBAAsB,WAAY,sBAAuB,EAC5E,gBAAiB,QACjB,yBAA0B,4BAC1B,qBAAsB,uBACtB,YAAa,2BACb,OAAQ,SACR,KAAM,OACN,iBAAkB,gCAClB,MAAO,CAAE,EAAG,WAAY,EAAG,MAAO,EAAG,SAAU,EAAG,OAAQ,EAAG,WAAY,EACzE,KAAM,CAAE,EAAG,WAAY,EAAG,MAAO,EAAG,SAAU,EAAG,OAAQ,EAAG,WAAY,EACxE,MAAO,CAAE,EAAG,WAAY,EAAG,MAAO,EAAG,SAAU,EAAG,OAAQ,EAAG,WAAY,EACzE,mBAAoB,CAClB,MAAO,qBACP,KAAM,2FACR,EACA,SAAU,CACR,MAAO,iCACP,KAAM,sHACR,CACF,EAEaC,GAA8B,CACzC,KAAM,CAAE,MAAO,OAAQ,MAAO,OAAQ,EACtC,MAAO,CAAE,MAAO,cAAe,MAAO,OAAQ,EAC9C,WAAY,CAAE,MAAO,oBAAqB,MAAO,YAAa,EAC9D,SAAU,CAAE,MAAO,eAAgB,MAAO,eAAgB,EAC1D,gBAAiB,CAAE,MAAO,gBAAiB,MAAO,OAAQ,EAC1D,cAAe,CAAE,MAAO,kBAAmB,MAAO,OAAQ,EAC1D,iBAAkB,CAAE,MAAO,sBAAuB,MAAO,SAAU,EACnE,SAAU,CACR,WAAY,mBACZ,MAAO,yBACT,EACA,OAAQ,CACN,WAAY,iBACZ,MAAO,uBACT,EACA,OAAQ,WACR,OAAQ,cACR,IAAK,KACL,IAAK,KACL,GAAI,MACJ,GAAI,KACJ,KAAM,OACN,YAAa,eACb,WAAY,iBACZ,UAAW,cACX,mBAAoB,yBACpB,WAAY,WACZ,UAAW,SACX,QAAS,UACT,KAAM,OACN,SAAU,UACV,cAAe,cACf,YAAa,cACb,cAAe,cACf,SAAU,WACV,UAAW,YACX,OAAQ,eACR,KAAM,OACN,eAAgB,oBAChB,gBAAiB,+BACjB,eAAgB,eAChB,cAAe,eACf,mBAAoB,WACpB,gBAAiB,MACjB,UAAW,cACX,eAAgB,gCAChB,eAAgB,SAChB,iBAAkB,sBAClB,kBAAmB,qBACnB,mBAAoB,2BACpB,iBAAkB,wBAClB,gBAAiB,qBACjB,IAAK,UACL,MAAO,SACP,MAAO,QACP,UAAW,uBACX,mBAAoB,qBACpB,WAAY,2CACZ,UAAW,gBACX,MAAO,QACP,MAAO,WACP,aAAc,CACZ,SAAU,4BACV,WAAY,8BACZ,WAAY,mCACd,EACA,YAAa,CACX,MAAO,mBACP,YACE,sFACJ,EACA,aAAc,iBACd,UAAW,CACT,IAAK,mBACL,MAAO,uCACP,YACE,yIACF,OAAQ,0BACR,OAAQ,wCACV,EACA,aAAc,CACZ,IAAK,qBACL,MAAO,uCACP,YACE,wEACJ,EACA,gBAAiB,CACf,MAAO,yBACP,WAAY,gBACZ,WAAY,iBACd,EACA,WAAY,CACV,MAAO,UACP,QAAS,qBACX,EACA,KAAM,CAEJ,WAAY,SAEZ,aAAc,QAEd,WAAY,YAEZ,MAAO,KAEP,SAAU,MAEV,KAAM,OAEN,QAAS,iBAET,cAAe,yBAEf,OAAQ,WAER,KAAM,SACR,EACA,KAAM,CACJ,gBAAiB,SACjB,2BAA4B,+BAC5B,aAAc,aACd,oBAAqB,2BACrB,cAAe,iBACf,SAAU,OACV,UAAW,YACX,cAAe,kBACf,OAAQ,SACR,OAAQ,mBACR,SAAU,eACV,UAAW,UACX,6BAA8B,kBAC9B,WAAY,YACZ,UAAW,cACX,sBACE,0ZACF,OAAQ,SACR,iBAAkB,oBAClB,cAAe,oBACf,QAAS,UACT,qCAAsC,sBACtC,eAAgB,eAChB,iBAAkB,qBAClB,0CACE,0DACF,eAAgB,uBAChB,UAAW,WACX,kBAAmB,yBACnB,WAAY,WACZ,gBAAiB,oBACjB,MAAO,QACP,OAAQ,oBACR,OAAQ,oBACR,MAAO,iBACP,kBAAmB,gBACnB,aAAc,aACd,OAAQ,QACR,iBAAkB,cAClB,YAAa,gBACb,GAAI,qBACJ,YAAa,eACb,eAAgB,gBAChB,UAAW,eACX,eAAgB,gBAChB,OAAQ,UACR,iBAAkB,oBAClB,OAAQ,gBACR,OAAQ,mBACR,OAAQ,qBACR,QAAS,0BACT,aAAc,6BAChB,EACA,YAAa,CACX,EAAG,aACH,EAAG,0BACL,EACA,WAAY,CACV,EAAG,2BACH,EAAG,4DACL,EACA,eAAgB,0DAChB,aAAc,8DACd,UACE,uFACF,YAAa,sBACb,kBAAmB,oCACnB,KAAM,CACJ,MAAO,OACP,KAAM,0JACR,EACA,MAAO,CACL,MAAO,UACP,KAAM,2LACR,EACA,SAAU,CACR,MAAO,WACP,KAAM,0FACR,EACA,QACE,+WACF,aAAc,eACd,oBAAqB,4BACrB,sBAAuB,+BACvB,wBAAyB,iCACzB,qBAAsB,mCACtB,kBAAmB,kCACnB,MAAO,CAAE,SAAU,eAAgB,WAAY,mBAAoB,EACnE,gBAAiB,UACjB,yBAA0B,+BAC1B,qBAAsB,2BACtB,YAAa,oBACb,OAAQ,SACR,KAAM,SACN,iBAAkB,6BAClB,MAAO,CACL,EAAG,YACH,EAAG,OACH,EAAG,YACH,EAAG,OACH,EAAG,WACL,EACA,KAAM,CACJ,EAAG,YACH,EAAG,OACH,EAAG,YACH,EAAG,OACH,EAAG,WACL,EACA,MAAO,CACL,EAAG,YACH,EAAG,OACH,EAAG,YACH,EAAG,OACH,EAAG,WACL,EACA,mBAAoB,CAClB,MAAO,oBACP,KAAM,+FACR,EACA,SAAU,CACR,MAAO,8DACP,KAAM,sIACR,CACF,EAwCMC,GAA6B,EAAE,CAExBlC,GAAO,CAClB,cAAe,KACf,cAAe,KACf,QAAS,CAAC,EACVmC,K,SAakBC,CAAgB,CAAEC,CAAyB,E,OAAhDC,GAAAA,KAAAA,CAAAA,IAAAA,CAAAA,U,EAZbC,oBAwBF,SAA6B7jE,CAAkB,EAC7CwjE,GAAe,IAAI,CAACxjE,EACtB,EAzBE8jE,iBAAAA,GACA,KAAM,CAAC,CAMT,E,SAIeF,K,MAAAA,AAAAA,CAAAA,GAAf,YAAoBF,CAAgB,CAAEC,CAAyB,E,IAEvDI,E,kDAON,OARAzC,GAAK,OAAO,CAAGoC,EACTK,CAAAA,EAAiBn4E,OAAO,IAAI,CAAC83E,GAChC,MAAM,CAAC,SAACrzD,CAAC,E,OAAMqzD,CAAO,CAACrzD,EAAE,CAAY,OAAO,A,GAC5C,KAAK,EAAC,GAEPixD,CAAAA,GAAK,aAAa,CAAGyC,GAAiBJ,CAAa,EAErD5e,SAAS,eAAe,CAAC,YAAY,CAAC,OAAQ4e,GAC9C,C,EAAMG,GAAiBH,G,eAAvB,S,MACF,EAAC,EAVcC,KAAAA,CAAAA,IAAAA,CAAAA,U,UAgBAI,GAAiBC,CAAoB,E,OAArCD,GAAAA,KAAAA,CAAAA,IAAAA,CAAAA,U,UAAAA,K,MAAAA,AAAAA,CAAAA,GAAf,YAAgCC,CAAoB,E,IAK5CC,E,2BAJN,GAAI5C,GAAK,aAAa,GAAK2C,EACzB,O,UAGIC,EAAiBC,AAiBzB,SAAmB9C,CAAiB,EAClC,OAAOz1E,OAAO,IAAI,CAAC01E,GAAK,OAAO,EAAE,OAAO,CAACD,IAAW,CACtD,EAnBmC4C,GAAaA,EAAY3C,GAAK,aAAa,CAC5EA,GAAK,aAAa,CAAG4C,EACrBrkD,EAvEO0iD,AO3QMP,GP4QXoC,AAAa,OAsEIH,EAtEGV,GAAaD,GATnB,CAEd,MAAO,GACP,MAAO,GACP,eAAgB,GAChB,UAAWe,GAAAA,SAASA,CACpB,4BAA6B,EAC/B,GAyEA/C,GAAK,IAAI,CAAG,CACV,WAAYzhD,EAAE,OAAQ,cACtB,aAAcA,EAAE,OAAQ,gBACxB,WAAYA,EAAE,OAAQ,cACtB,MAAOA,EAAE,OAAQ,SACjB,SAAUA,EAAE,OAAQ,YACpB,QAASA,EAAE,OAAQ,WACnB,cAAeA,EAAE,OAAQ,iBACzB,OAAQA,EAAE,OAAQ,UAClB,KAAMA,EAAE,OAAQ,OAClB,EACA2jD,GAAe,OAAO,CAAC,SAACxjE,CAAQ,E,OAAKA,EAASshE,GAAK,aAAa,CAAE7vE,AAOpE,W,IAAa4vE,EAAAA,UAAAA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAASC,GAAK,aAAa,CACtC,OAAQA,GAAK,OAAO,CAACD,EAAO,CAAY,GAAG,EAAI,KACjD,I,QARA,EAAC,EApBc2C,KAAAA,CAAAA,IAAAA,CAAAA,U,sLQ7hBR,IAAM5C,I,KAAc,W,IAAOC,E,4lCAEhC,OAFgCA,EAAS,EAATA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAASC,GAAK,aAAa,CAC3DpB,aAAa,OAAO,CAACrE,GAAUwF,GAC/B,C,EAAMC,GAAK,gBAAgB,CAACD,G,eAA5B,S,MACF,E,2NAEaiD,GAA2B,W,MAAO,CAC7C,KAAM,Y,IAgCUC,EAAAA,EAhCP9sD,EAAAA,EAAAA,QAAQ,CAAE1Q,EAAAA,EAAAA,KAAK,CAChBy9D,EAAW,SAACxrE,CAAC,E,OACjB+N,EAAM,KAAK,CAAC,IAAI,GAAK/N,EAAE,EAAE,CAAG,UAAY,E,EAEpCuzD,EAASyT,GAAAA,OACL,GAEP,MAAM,CACL,SAAChnE,CAAC,E,IAGcyrE,EAAAA,E,MAFb,CAAqB,WAArB,OAAOzrE,EAAE,OAAO,CACbA,EAAE,OAAO,CACTA,EAAE,OAAO,CAAC,AAAW,OAAXyrE,CAAAA,EAAAA,EAAM,KAAK,AAAD,GAAVA,AAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,AAAkB,OAAlBA,CAAAA,EAAAA,EAAa,KAAK,AAAD,GAAjBA,AAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAoB,QAAQ,IAAMD,EAASxrE,E,GAGzDorE,EAAW9C,GAAK,aAAa,CAEnC,OAAOt1E,IAAE,QAAS,CAAE,MAAO,oBAAqB,EAAG,CACjDA,IACE,gBACA,CAAE,MAAO,eAAgB,EACzBA,IACE,MACAA,IAAE,eAAgB,CAChBA,IACE,qCACA,CAAE,MAAO,mBAAoB,EAC7B,CACEA,IAAG,iCAAqC,OAAL04E,GAAK,cAAa,CACnD,MAAO,qCACT,GACA14E,IACE,gDACiB,OAAjBu4E,CAAAA,EAAAA,EAAM,KAAK,CAAC,KAAK,AAAD,GAAhBA,AAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,AAA2B,OAA3BA,CAAAA,EAAAA,EAAmB,QAAQ,AAAD,GAA1BA,AAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA6B,KAAK,EAErC,EAEHv4E,IAGEA,AAAAA,IAAAA,KAAAA,CAAAA,IAAY,CACZ,CACE,UAAW,kBACX,cAAe,YACf,KAAMA,IAAAA,KAAAA,CAAAA,GAAW,EACnB,EACAA,IAAE24E,EAAM,CACN,SAAU,OACV,UAAW,kCACX,MAAO,mBACT,IAEF34E,IAAE,yCAA0C,CAC1CA,IACE,KACAA,IAAE,IAAK,CAAE,KAAM,KAAM,QAAS,W,OAAMo1E,GAAY,K,CAAM,EAAG,CACvDp1E,IAAE,MAAO,CACP,IAAK44E,GACL,IAAK,aACL,MAAO,aACP,SAAUR,AAAa,OAAbA,EACV,MAAOA,AAAa,OAAbA,EAAoB,iBAAmB,WAChD,GACA,aACD,GAEHp4E,IACE,KACAA,IAAE,IAAK,CAAE,KAAM,KAAM,QAAS,W,OAAMo1E,GAAY,K,CAAM,EAAG,CACvDp1E,IAAE,MAAO,CACP,IAAK64E,GACL,IAAK,UACL,MAAO,UACP,SAAUT,AAAa,OAAbA,EACV,MAAOA,AAAa,OAAbA,EAAoB,iBAAmB,WAChD,GACA,UACD,GAEJ,EACDp4E,IACE,4CACA,CACE,SAAU,WACR,IAAM84E,EAAQ/f,SAAS,gBAAgB,CAAC,YACxCpjC,EAAE,OAAO,CAAC,IAAI,CAACmjD,EACjB,CACF,EACAvY,EAAO,GAAG,CAAC,SAACvzD,CAAC,E,OACXhN,IAAG,aAAwB,OAAZw4E,EAASxrE,GAAG,iBAAgB,CACzChN,IACE,IACA,CAAE,KAAMg0E,GAAW,IAAI,CAAChnE,EAAE,EAAE,CAAE,EAC9BhN,IAAE24E,EAAM,CACN,UAAW3rE,EAAE,SAAS,CAAI,IAAe,OAAZA,EAAE,SAAS,EAAK,GAC7C,SAAU,AAAkB,UAAlB,OAAOA,EAAE,IAAI,CAAgBA,EAAE,IAAI,CAAGA,EAAE,IAAI,EACxD,GACC,CAAmB,UAAnB,OAAOA,EAAE,KAAK,CACXA,EAAE,KAAK,CACPA,EAAE,KAAK,EAAC,EACV,WAAW,IAEhB,C,GAEHhN,IAAE,4CAA6C,CAC7CA,IACE,qBACA,CACE,KAAM,KACN,cAAe,qBACf,SAAU,Y,IAAG4iE,EAAAA,EAAAA,GAAG,CACdjtC,EAAE,QAAQ,CAAC,IAAI,CAACitC,EAClB,CACF,EACA5iE,IAAE24E,EAAM,CACN,SAAU,WACV,UAAW,YACX,MAAO,iCACT,GACA34E,IAAE,mBAAoB6zB,EAAE,gBAAgB,WAAW,KAEtD,GAEH7zB,IACE,gCACAugE,EAAO,GAAG,CAAC,SAACvzD,CAAC,E,OACXhN,IAAG,aAAwB,OAAZw4E,EAASxrE,GAAG,iBAAgB,CACzChN,IAAE24E,EAAM,CACN,UACE,YAAe3rE,CAAAA,EAAE,SAAS,CAAI,IAAe,OAAZA,EAAE,SAAS,EAAK,EAAC,EACpD,MAAO,kCACP,SAAU,AAAkB,UAAlB,OAAOA,EAAE,IAAI,CAAgBA,EAAE,IAAI,CAAGA,EAAE,IAAI,GACtD,QAAS,W,OAAM+mE,GAAWh5D,EAAO/N,EAAE,EAAE,C,CACvC,GACAhN,IACE,mBACC,CAAmB,UAAnB,OAAOgN,EAAE,KAAK,CACXA,EAAE,KAAK,CACPA,EAAE,KAAK,EAAC,EACV,WAAW,IAEhB,C,GAEHhN,IAAE,4CAA6C,CAC7CA,IACE,qBACA,CACE,KAAM,KACN,cAAe,qBACf,SAAU,Y,IAAG4iE,EAAAA,EAAAA,GAAG,CACdjtC,EAAE,QAAQ,CAAC,IAAI,CAACitC,EAClB,CACF,EACA5iE,IAAE24E,EAAM,CACN,SAAU,WACV,UAAW,YACX,MAAO,iCACT,GACA34E,IAAE,mBAAoB6zB,EAAE,gBAAgB,WAAW,KAEtD,GAEJ,IAGL7zB,IAAE,aAAcyrB,GACjB,CACH,CACF,C,0LC3KA,IAAMstD,GAAc,gZAEqE,OAAbC,GAAa,KAqBnFC,GAAY,mIAKYC,MAAAA,CADCC,GAAK,mCACI,OAAVD,GAAU,40EA4BlCE,GAAY,0KA4BWC,MAAAA,CAxBEC,GAAc,2oCAgCfC,MAAAA,CARDF,GAAc,+jBAQF,OAAXE,GAAW,0xDAqB5BC,GAA8B,WACzC,MAAO,CACL,OAAQ,Y,OAAe3F,GAAZ94D,EAAAA,KAAK,CAAsB0yD,EAAAA,KAAgB,C,EAOtD,KAAM,WACJ,IAAMnuD,EAAQ,eAAe,IAAI,CAACtf,IAAAA,KAAAA,CAAAA,GAAW,IAI7C,OAHIsf,GAASA,EAAM,MAAM,CAAG,GAC1BrT,WAAW,W,OAAMumE,GAAgBlzD,CAAK,CAAC,EAAE,C,EAAG,GAEvCtf,IAAE,YAAa,CACpBA,IAAE,YAAa,CACbA,IAAE,gBAAiB,CACjBA,IAAE,iBAAkB,CAClBA,IACE,KACAA,IACE,IACA,CACE,KAAM,QACN,QAAS,SAACK,CAAC,E,OAAiBmyE,GAAgB,OAAQnyE,E,CACtD,EACA,2BAGJL,IAAE,KAAM,OACRA,IACE,KACAA,IACE,IACA,CACE,KAAM,SACN,QAAS,SAACK,CAAC,E,OAAiBmyE,GAAgB,QAASnyE,E,CACvD,EACA,qBAGJL,IAAE,KAAM,OACRA,IACE,KACAA,IACE,IACA,CACE,KAAM,YACN,QAAS,SAACK,CAAC,E,OAAiBmyE,GAAgB,WAAYnyE,E,CAC1D,EACA,WAGJL,IAAE,KAAM,OACRA,IACE,KACAA,IACE,IACA,CACE,KAAM,YACN,QAAS,SAACK,CAAC,E,OAAiBmyE,GAAgB,WAAYnyE,E,CAC1D,EACA,aAGL,EACF,EACF,EACDL,IAAE,OAAQ,CACRA,IAAE,SAAU,CAACA,IAAE,KAAM,eAAgBA,IAAAA,KAAO,CAACo+D,GAAO2a,KAAa,EACjE/4E,IAAE,eAAgB,CAChBA,IAAE,KAAM,0BACRA,IAAAA,KAAO,CAACo+D,GArLN,grFAsLH,EACDp+D,IAAE,gBAAiB,CACjBA,IAAE,KAAM,oBACRA,IAAAA,KAAO,CAACo+D,GAAO6a,KAChB,EACDj5E,IAAE,mBAAoB,CAACA,IAAE,KAAM,UAAWA,IAAAA,KAAO,CAACo+D,GAAOgb,KAAW,EACpEp5E,IAAE,mBAAoB,CACpBA,IAAE,KAAM,YACRA,IAAAA,KAAO,CAACo+D,GAxFF,unCAyFP,EACF,EACF,CAEH,CACF,CACF,E,q5FCjLO,IAAMqb,GAGR,WACH,MAAO,CACL,KAAM,Y,QAAG,KAAK,CAAI/c,EAAAA,EAAAA,UAAU,CAAE,EAAZA,EAAYqW,UAAU,CAAUh4D,EAAAA,A,6XAAAA,EAAzC,KAAK,CAAL,CAAS2hD,aAAYqW,a,EACtB32C,EAASsgC,EAAW,MAAM,CAAC,SAAC7b,CAAG,CAAEsxB,CAAG,EAKxC,OAJAA,EAAI,MAAM,EACRA,EAAI,MAAM,CAAC,OAAO,CAAC,SAACnxE,CAAC,EACnB6/C,CAAG,CAAC7/C,EAAE,EAAE,CAAC,CAAGA,EAAE,KAAK,AACrB,GACK6/C,CACT,EAAG,CAAC,GAEJ,OAAO7gD,IACL,mBACAA,IACE,SACAA,IAAE,mCAAoC,CACpCA,IACE,QACAA,IACE,KACAA,IAAE,KAAM,CAAE,MAAO,mBAAoB,EAAG6zB,EAAE,SAC1C6oC,EAAW,GAAG,CAAC,SAAC50D,CAAC,E,OAAK9H,IAAE,KAAM8H,EAAE,KAAK,C,KAGzC9H,IACE,QACA+yE,AAxBiC,CAAbA,KAAAA,IAAa,IAAE,IAwBxB,GAAG,CAAC,SAACruE,CAAC,MLpCJovB,E,OKqCX9zB,IACE,KACAA,IACE,UACA,CAAE,MAAO,kBAAmB,EAC5BA,IACE,IACA,CACE,KAAMg0E,GAAW,IAAI,CAACvG,EAAAA,aAAwB,EAC9C,QAAS,WACP1yD,EAAM,MAAM,CAAC,CACX,aAAc,W,OAAMrW,C,CACtB,EACF,CACF,ELlDpBovB,CADyBA,EKoDMpvB,EAAE,KAAK,GLnDjCovB,EAAE,MAAM,CAAC,GAAG,WAAW,GAAKA,EAAE,KAAK,CAAC,KKsDzB4oC,EAAW,GAAG,CAAC,SAAC50D,CAAC,E,OACfpD,EAAE,UAAU,CAACoD,EAAE,EAAE,CAAC,EAAIpD,EAAE,UAAU,CAACoD,EAAE,EAAE,CAAC,CAAC,MAAM,CAAG,EAC9C9H,IACE,KACAA,IAAAA,KAAO,CACL0E,EAAE,UAAU,CAACoD,EAAE,EAAE,CAAC,CACf,GAAG,CACF,SAACiW,CAAE,E,OACDqe,CAAM,CAACre,EAAG,EACT,gDAAkD,OAAHA,EAAG,U,GAEtD,IAAI,CAAC,QAGZrZ,CAAC,CAACoD,EAAE,EAAE,CAAsC,CAC5C9H,IACE,KACAo8B,CAAM,CAAC13B,CAAC,CAACoD,EAAE,EAAE,CAAsC,CAAE,EAEvD9H,IACE,0BACAA,IAAE24E,EAAM,CAAE,SAAU,QAAS,UAAW,UAAW,G,OAMlE,GAGP,CACF,CACF,EAEae,GAA6B,WACxC,IAAMC,EACJr5E,OAAO,IAAI,EAAIA,OAAO,UAAU,EAAIA,OAAO,QAAQ,EAAIA,OAAO,IAAI,CAChEs5E,EAAa,EACbC,EAAqB,GAEzB,MAAO,CACL,OAAQ,YACNhG,GADS94D,EAAAA,KAAK,CACC0yD,EAAAA,IAAe,CAgBhC,EACA,KAAM,Y,MAAG1yD,EAAAA,EAAAA,KAAK,CAEgB++D,EAAAA,EAAM,KAAK,CAA/B3I,EAAoB2I,EAApB3I,KAAK,CAAEiH,EAAa0B,EAAb1B,QAAQ,CACvB,EAGIjH,EAFFoD,SAAS,CAAK,EAEZpD,EADF,QAAQ,CAAIpzD,EAAAA,EAAAA,EAAE,CAAEg8D,EAAAA,EAAAA,KAAK,CAAE,EAAPA,EAAOhH,UAAU,CAAOrW,EAAAA,EAAAA,UAAU,CAAEgV,EAAAA,EAAAA,UAAU,CAG1DsI,EAAqBjH,AAHW,CAAbA,KAAAA,IAAa,IAAE,IAIrC,MAAM,CAAC,SAACruE,CAAC,E,OAAKA,EAAE,QAAQ,A,GACxB,IAAI,CAAC,SAACyB,CAAC,CAAEb,CAAC,E,MAAMa,AAAAA,CAAAA,EAAE,KAAK,EAAI,EAAC,EAAG,aAAa,CAACb,EAAE,KAAK,C,GAEvD,MAAO,CACLtF,IAAE,MAAO,CAAE,MAAO,uCAAwC,EAAG,CAC3Dg6E,EAAmB,MAAM,CAAG,GAC1BtI,EAAW,MAAM,CAAG,GAAK,CACvB1xE,IAAE,OAAQA,IAAE,WAAY,CAACA,IAAE,KAAM6zB,EAAE,qBAAqB,GACxD69C,EAAW,MAAM,CAAG,EAChB1xE,IAAEi6E,GAAM,CACN,KAAMvI,EAAW,GAAG,CAAC,SAAC5pE,CAAC,E,MAAM,CAC3B,MAAOA,EAAE,KAAK,CACd,MAAO9H,IAAEy5E,GAAW,SACf1+D,GAAAA,CACH,WAAYi/D,EACZ,WAAYtd,EAAW,MAAM,CAC3B,SAACnmC,CAAI,E,OACHzuB,EAAE,YAAY,EAAIA,EAAE,YAAY,CAAC,QAAQ,CAACyuB,EAAK,EAAE,C,KAGzD,C,EACF,GACAv2B,IACE,cACAA,IAAEy5E,GAAW,SACR1+D,GAAAA,CACH,WAAYi/D,EACZ,WAAYtd,EAAW,MAAM,CAC3B,SAACnmC,CAAI,E,OACHm7C,CAAU,CAAC,EAAE,CAAC,YAAY,EAC1BA,CAAU,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAACn7C,EAAK,EAAE,C,OAIxD,CACHyjD,AAA8B,IAA9BA,EAAmB,MAAM,EACvBh6E,IACE,OACAA,IACE,wBACAA,IAAE,8CAA+C,CAC/C,IAAK+4E,EACP,KAGN/4E,IACE,OACAA,IACE,qCACAA,IACE,YACAA,IAAEk6E,GAAQ,CACR,IAAKn8D,EACL,SAAU,QACV,UAAW,YACX,MAAO8V,EAAE,mBACT,UAAW9V,EACX,QAAS,CAAC,CAAEA,GAAAA,EAAIg8D,MAAAA,CAAM,EAAgB,CAA7B,OAAgB,GA9DvB,AAAZxF,KAAAA,IAAY,IAAE,KA+DJ,QAAQ,E,EAAE,YAAOx2D,CAAE,E,kDACjB,O,EAAMq2D,GAA6Br5D,EAAOgD,CAAE,CAAC,EAAE,E,eAA/C,S,MACF,G,SAFiBA,CAAE,E,gCAGrB,GACA/d,IACE,gBACA,CACE,IAAK,OACP,EACAA,IAAEm6E,GAAY,CACZ,UAAW,cACX,SAAU,MACV,MAAOtmD,EAAE,gBACT,QAAO,GAAE,W,kDAIP,MAHI,CAACs9C,EAAM,SAAS,EAAEA,CAAAA,EAAM,SAAS,CAAG,EAAE,AAAD,EACzCA,EAAM,SAAS,CAAG,CAACA,EAAM,QAAQ,C,CAAf,OAAiB,GAAGA,EAAM,SAAS,GACrDA,EAAM,QAAQ,CAAG7C,KACjB,C,EAAM2F,GAAUl5D,EAAOo2D,EAAO,I,eAA9B,SACAx7C,EAAE,KAAK,CAAC,CAAE,KAAM9B,EAAE,uBAAwB,GAC1CkgD,GAAWh5D,EAAO0yD,EAAAA,QAAmB,E,MACvC,EACF,GACAztE,IAAEm6E,GAAY,CACZ,UAAW,cACX,SAAU,WACV,MAAOtmD,EAAE,WAAY,SACrB,QAAS,WACP,IAAMumD,EACJrhB,SAAS,cAAc,CAAC,sBAC1B,IAAI,CAACqhB,GAGL,IAAMC,EACJ,AAAyB,SAAlBlJ,EAAM,OAAO,CAChB,EACA,EAAEA,EAAM,OAAO,CACfmJ,EACJ,gCACAphB,mBACEt+B,KAAK,SAAS,CAAC,SAAKu2C,EAAM,QAAQ,GAAEkJ,QAAAA,C,KAExCD,EAAa,YAAY,CAAC,OAAQE,GAClCF,EAAa,YAAY,CACvB,WACC,GAA2C,OAAzClJ,GAAgBC,EAAO9vE,KAAAA,EAAW,IAAO,UAE9C+4E,EAAa,KAAK,GAClBlG,aAAa,OAAO,CAACpE,GAAO,QAC9B,CACF,GACA6J,GACE35E,IAAEm6E,GAAY,CACZ,UAAW,cACX,SAAU,SACV,MAAOtmD,EAAE,SAAU,SACnB,QAAS,WACP,IAAM0mD,EAAYxhB,SAAS,cAAc,CACvC,cAEFwhB,CAAAA,EAAU,QAAQ,CAAG,WACnB,GAAI,CAACA,EACH,OAEF,I,EAAMC,EAAQD,EAAU,KAAK,CAC7B,GAAI,EAACC,GAAUA,CAAAA,CAAAA,IAASA,CAAAA,EAAM,MAAM,EAAI,KAGxC,IAAMt1D,EAAOs1D,GAASA,EAAM,IAAI,CAAC,GAC3BC,EAASv1D,GAAQ,SAAS,IAAI,CAACA,EAAK,IAAI,EACxCw1D,EAAS,IAAI1lD,UACnB0lD,CAAAA,EAAO,MAAM,E,EAAG,YACdr6E,CAAC,E,IAcIs6E,EARGnJ,E,kCAJJiJ,IAQAjJ,AAJIA,CAAAA,EAAW52C,KAAK,KAAK,CACzBra,AAJclgB,CAAAA,GACdA,EAAE,MAAM,EACRA,EAAE,MAAM,CAAC,MAAM,AAAD,EAEP,QAAQ,GAAE,GAIjBmxE,EAAS,EAAE,EACXA,EAAS,KAAK,EACdL,EAAM,QAAQ,CAAC,EAAE,GAAKK,EAAS,EAAE,EACjC,EAAgB,OAAfmJ,CAAAA,EAAAA,EAAM,SAAS,AAAD,GAAdA,AAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAiB,IAAI,CACpB,SAAC7mD,CAAC,E,OAAKA,EAAE,EAAE,GAAK09C,EAAS,EAAE,A,KAGzB,CAACL,EAAM,SAAS,EAAEA,CAAAA,EAAM,SAAS,CAAG,EAAE,AAAD,EACzCA,EAAM,SAAS,CAAG,CAChBA,EAAM,QAAQ,C,CADE,OAEhB,GAAGA,EAAM,SAAS,GAEpBA,EAAM,QAAQ,CAAGK,EACjByC,GAAUl5D,EAAOo2D,EAAO,IACxBx7C,EAAE,KAAK,CAAC,CAAE,KAAM9B,EAAE,sBAAuB,IAEzC8B,EAAE,KAAK,CAAC,CAAE,KAAM9B,EAAE,0BAA2B,I,KAGnD,G,SA9BExzB,CAAC,E,iCA+BC6kB,GACFu1D,CAAAA,EACIC,EAAO,UAAU,CAACx1D,GAClBw1D,EAAO,iBAAiB,CAACx1D,EAAI,EAErC,EACAq1D,EAAU,KAAK,EACjB,CACF,GACFv6E,IAAEm6E,GAAY,CACZ,UAAW,cACX,SAAU,SACV,MAAOtmD,EAAE,UACT,QAAS,cACX,OAKR7zB,IAAE,kBAAmB,CAAE,MAAO,oBAAqB,EAAG,CACpD,CACEA,IACE,mBACA,CACE,QAAS,W,OAAMo1E,GAAY,K,CAC7B,EACA,CACEp1E,IAAE,MAAO,CACP,IAAK44E,GACL,IAAK,aACL,MAAO,aACP,SAAUR,AAAa,OAAbA,EACV,MAAOA,AAAa,OAAbA,EAAoB,iBAAmB,WAChD,GACAp4E,IAAE,OAAQ,cACX,EAEHA,IACE,mBACA,CACE,QAAS,W,OAAMo1E,GAAY,K,CAC7B,EACA,CACEp1E,IAAE,MAAO,CACP,IAAK64E,GACL,IAAK,UACL,MAAO,UACP,SAAUT,AAAa,OAAbA,EACV,MAAOA,AAAa,OAAbA,EAAoB,iBAAmB,WAChD,GACAp4E,IAAE,OAAQ,WACX,EAEJ,CACDA,IAAE46E,EAAQ,CACR,SAAU,QACV,SAhOU,GAiOV,UAAW,YACX,MAAO/mD,EAAE,YAAa,OACtB,QAAS,UACX,GACA7zB,IAAE,uBAAwB,CAAE,MAAO,cAAe,GAClDA,IAAE46E,EAAQ,CACR,SAAU,WACV,SAxOU,GAyOV,UAAW,YACX,MAAO/mD,EAAE,WAAY,cACrB,QAAS,WACP,IAAMumD,EACJrhB,SAAS,cAAc,CAAC,sBAC1B,IAAI,CAACqhB,GAGL,IAAMC,EACJ,AAAyB,SAAlBlJ,EAAM,OAAO,CAAmB,EAAI,EAAEA,EAAM,OAAO,CACtDmJ,EACJ,gCACAphB,mBAAmBt+B,KAAK,SAAS,CAAC,SAAKu2C,GAAAA,CAAOkJ,QAAAA,C,KAChDD,EAAa,YAAY,CAAC,OAAQE,GAClCF,EAAa,YAAY,CACvB,WACC,GAAyB,OAAvBlJ,GAAgBC,GAAO,UAE5BiJ,EAAa,KAAK,GAClBlG,aAAa,OAAO,CAACpE,GAAO,QAC9B,CACF,GACA9vE,IAAE,6CAA8C,CAC9C,MAAO,cACT,GAEA25E,GACE35E,IAAE46E,EAAQ,CACR,SAAU,SACV,UAAW,YACX,MAAO/mD,EAAE,SAAU,cACnB,QAAS,WACP,IAAM0mD,EAAYxhB,SAAS,cAAc,CACvC,cAEFwhB,CAAAA,EAAU,QAAQ,CAAG,WACnB,GAAI,CAACA,EACH,OAEF,I,EAAMC,EAAQD,EAAU,KAAK,CAC7B,GAAI,EAACC,GAAUA,CAAAA,CAAAA,IAASA,CAAAA,EAAM,MAAM,EAAI,KAGxC,IAAMt1D,EAAOs1D,GAASA,EAAM,IAAI,CAAC,GAC3BC,EAASv1D,GAAQ,SAAS,IAAI,CAACA,EAAK,IAAI,EACxCw1D,EAAS,IAAI1lD,UACnB0lD,CAAAA,EAAO,MAAM,E,EAAG,YAAOr6E,CAAC,E,IAKds+B,E,2BAJR,GAAI87C,GAII97C,CAAAA,EAAO/D,KAAK,KAAK,CAACra,AAHRlgB,CAAAA,GACdA,EAAE,MAAM,EACRA,EAAE,MAAM,CAAC,MAAM,AAAD,EACe,QAAQ,GAAE,EAG/B,KLlNHslE,EKsNLsO,GAAUl5D,EAHQ4jB,EAAK,OAAO,CACzBA,ELnNtB/+B,OAAO,IAAI,CADW+lE,EKqNchnC,GLpNnB,MAAM,CAC5B,SAACkiB,CAAG,CAAEsxB,CAAG,EACP,GAAIA,AAAQ,cAARA,EAAqB,CAEvB,IAAMX,EAAW7L,CAAG,CAACwM,EAAI,CAAC,OAAO,AACjCtxB,CAAAA,EAAI,QAAQ,CAAC,EAAE,CAAG2wB,EAAS,EAAE,CAC7B3wB,EAAI,QAAQ,CAAC,KAAK,CAAG2wB,EAAS,IAAI,CAClC3wB,EAAI,QAAQ,CAAC,IAAI,CAAG2wB,EAAS,IAAI,CACjC3wB,EAAI,QAAQ,CAAC,sBAAsB,CAAG,GACtCA,EAAI,QAAQ,CAAC,eAAe,CAAG2wB,EAAS,eAAe,CAAC,MAAM,CAC5D,SAAC3wB,CAAG,CAAEsxB,CAAG,EACP,SAGIA,EAFF,GAAG,CAAH,GAAMzvE,EAAAA,CAAAA,CAAAA,EAAAA,CAAMm4E,EAAAA,CAAAA,CAAAA,EAAAA,CACZ9mE,EACEo+D,EADFp+D,IAAI,AAEF,EAAC8sC,CAAG,CAACn+C,EAAK,EAAEm+C,CAAAA,CAAG,CAACn+C,EAAK,CAAG,CAAC,GACzB,CAACm+C,CAAG,CAACg6B,EAAG,EAAEh6B,CAAAA,CAAG,CAACg6B,EAAG,CAAG,CAAC,GACzB,IAAMv5E,EAAQyS,AAAS,YAATA,EAGd,OAFA8sC,CAAG,CAACn+C,EAAK,CAACm4E,EAAG,CAAGv5E,EAChBu/C,CAAG,CAACg6B,EAAG,CAACn4E,EAAK,CAAGpB,EACTu/C,CACT,EACA,CAAC,GAEHA,EAAI,QAAQ,CAAC,UAAU,CAAG2wB,EAAS,UAAU,CAAC,GAAG,CAC/C,Y,IAAGzzD,EAAAA,EAAAA,EAAE,CAAEre,EAAAA,EAAAA,IAAI,CAAEg9D,EAAAA,EAAAA,UAAU,CAAEoe,EAAAA,EAAAA,SAAS,CAAEC,EAAAA,EAAAA,QAAQ,C,MAAQ,CAClDh9D,GAAAA,EACA,MAAOre,EACP,WAAYE,OAAO,IAAI,CAAC88D,GAAY,MAAM,CAAC,SAAC7b,CAAG,CAAElgD,CAAG,EAElD,OADAkgD,CAAG,CAAClgD,EAAI,CAAG,CAAC+7D,CAAU,CAAC/7D,EAAI,CAAC,CACrBkgD,CACT,EAAG,CAAC,GACJ,KAAMi6B,EACNC,SAAAA,EACA,MAAO,EACT,C,GAEFl6B,EAAI,QAAQ,CAAC,UAAU,CAAGjhD,OAAO,IAAI,CAAC4xE,EAAS,UAAU,EAAE,GAAG,CAC5D,SAAC7wE,CAAG,E,MAAM,CACR,GAAIA,EACJ,MAAOA,EACP,aAAc6wE,EAAS,UAAU,CAAC7wE,EAAI,AACxC,C,EAEJ,KAAO,CAED,CAACkgD,EAAI,QAAQ,CAAC,UAAU,EAAEA,CAAAA,EAAI,QAAQ,CAAC,UAAU,CAAG,EAAE,AAAD,EACzD,IAAMm6B,EAAkBrV,CAAG,CAACwM,EAAI,CAAC,IAAI,CAC/B8I,EAAWD,EAAgB,MAAM,CAAC,SAACn6B,CAAG,CAAEsxB,CAAG,EAU/C,OATIA,EAAI,OAAO,EAAIA,EAAI,OAAO,CAAC,IAAI,GAC7BA,AAAqB,aAArBA,EAAI,OAAO,CAAC,IAAI,EAAmBtxB,AAA2B,GAA3BA,EAAI,OAAO,CAAC,YACjDA,EAAI,IAAI,CAAC,YAEY,iBAArBsxB,EAAI,OAAO,CAAC,IAAI,EAChBtxB,AAA+B,GAA/BA,EAAI,OAAO,CAAC,iBAEZA,EAAI,IAAI,CAAC,iBAENA,CACT,EAAG,EAAE,EA4DL,GA3DAA,EAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAC3B,GAAIsxB,EACJ,MAAOt+C,EAAE,OAAQs+C,EAAI,WAAW,IAChC8I,SAAAA,EACA,OAAQD,EAAgB,GAAG,CAAC,Y,IAAGt7E,EAAAA,EAAAA,IAAI,CAAEqe,EAAAA,EAAAA,EAAE,CAAE2kD,EAAAA,EAAAA,IAAI,CAAE9gB,EAAAA,EAAAA,OAAO,CAC9Cs5B,EAAat5B,EACfA,AAAiB,aAAjBA,EAAQ,IAAI,CACV,WACAA,AAAiB,iBAAjBA,EAAQ,IAAI,CACZ,eACA,OACFvgD,KAAAA,EACE85E,EACJv5B,GAAWA,AAAiB,aAAjBA,EAAQ,IAAI,CACnBA,EAAQ,IAAI,CAAC,IAAI,CACf,OACAA,EAAQ,IAAI,CAAC,WAAW,CACxB,SACAvgD,KAAAA,EACFA,KAAAA,EAEJ+5E,EAAAA,GAAAA,AAAiB,WAAjBA,GAA6Bx5B,EAAS,IAAI,CAAC,WAAW,CAClDA,EAAS,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,SAACl9C,CAAC,E,MAAK,CAACA,C,GACjD,CAACrD,KAAAA,EAAWA,KAAAA,EAAU,IAHrBg6E,EACLD,CAAAA,CAAAA,EAAAA,CADUE,EACVF,CAAAA,CAAAA,EAAAA,CAGIG,EACJ35B,GAAWA,AAAiB,iBAAjBA,EAAQ,IAAI,CACnB8sB,GAAY,OAAO,CAAC9uE,OAAO,IAAI,CAACgiD,EAAQ,IAAI,EAAE,KAAK,KAAO,EACxD,OACA,WACFvgD,KAAAA,EACAm6E,EACJD,AAAqB,SAArBA,EACI37E,OAAO,IAAI,CAACgiD,EAAS,IAAI,EAAE,KAAK,GAChCvgD,KAAAA,EAKeo6E,EAAAA,GAAAA,AAHnBF,CAAAA,AAAqB,aAArBA,EACI37E,OAAO,OAAO,CAACgiD,EAAS,IAAI,EAAE,KAAK,GACnCvgD,KAAAA,CAAQ,GACmB,CAACA,KAAAA,EAAWA,KAAAA,EAAU,IAAhDV,EAAc86E,CAAAA,CAAAA,EAAAA,CAATn6E,EAASm6E,CAAAA,CAAAA,EAAAA,CACrB,MAAO,CACL19D,GAAAA,EACA,MAAOre,EACPgjE,KAAAA,EACA,QAASwY,EACT,SACEt5B,GAAWA,AAAiB,aAAjBA,EAAQ,IAAI,CACnBA,EAAQ,IAAI,CAAC,IAAI,CACjBvgD,KAAAA,EACN85E,aAAAA,EACAI,iBAAAA,EACAF,IAAAA,EACAC,IAAAA,EACAE,UAAAA,EACA76E,IAAAA,EACAW,MAAAA,CACF,CACF,EACF,GACAu/C,EAAI,QAAQ,CAAC,eAAe,CAAGutB,GAC3BvtB,EAAI,QAAQ,CAAC,UAAU,CAAE,CAC3B,IAAI66B,EAAQ,EACNC,EAAU96B,EAAI,QAAQ,CAAC,UAAU,CACpC,MAAM,CAAC,SAAC/4C,CAAC,E,OAAKA,EAAE,YAAY,A,GAC5B,MAAM,CAAC,SAAC+4C,CAAG,CAAEsxB,CAAG,E,IACfyJ,EACA,O,AADgB,OAAhBA,CAAAA,EAAAA,EAAI,YAAY,AAAD,GAAfA,AAAAA,KAAAA,IAAAA,GAAAA,EAAkB,OAAO,CAAC,SAAC9zE,CAAC,E,OAAM+4C,CAAG,CAAC/4C,EAAE,CAAG4zE,G,GACpC76B,CACT,EAAG,CAAC,EACNA,CAAAA,EAAI,QAAQ,CAAC,UAAU,CAAGA,EAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,SAAC/4C,CAAC,E,OAAM,SACzDA,GAAAA,CACH,MAAO6zE,CAAO,CAAC7zE,EAAE,EAAE,CAAC,A,KAEtB+4C,EAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,SAAC16C,CAAC,CAAEb,CAAC,E,OAChCa,EAAE,KAAK,CAAIb,EAAE,KAAK,CAAI,EAAI,E,EAE9B,CACF,CACA,OAAOu7C,CACT,EACA,CACE,SAAU,CAAC,EACX,QAAS,EACT,WAAY/rB,KAAK,GAAG,GACpB,UAAW,EAAE,AACf,GKsEkD,IAC5Ba,EAAE,KAAK,CAAC,CAAE,KAAM9B,EAAE,wBAAyB,EAC7C,C,WAEJ,G,SAhBuBxzB,CAAC,E,iCAiBpB6kB,GACFu1D,CAAAA,EACIC,EAAO,UAAU,CAACx1D,GAClBw1D,EAAO,iBAAiB,CAACx1D,EAAI,EAErC,EACAq1D,EAAU,KAAK,EACjB,CACF,GACH,EACDv6E,IACE,iBACAA,IAAE,wBAAyB,CACzBA,IAAE,OAAQA,IAAE,wBAAyB,CAACA,IAAE,KAAM,iBAAiB,GAC/DA,IAAE,OAAQ,CACRA,IACE,cACAA,IAAE,cAAe,CACfA,IAAE,UAAWA,IAAE24E,EAAM,CAAE,SAAU,WAAY,IAC7C34E,IACE,YACAA,IACEA,AAAAA,IAAAA,KAAAA,CAAAA,IAAY,CACZ,CACE,KAAM6zB,EAAE,QAAS,SAAY,OAC/B,EACAA,EAAE,OAAQ,WAGd7zB,IAAE,IAAK6zB,EAAE,OAAQ,SAClB,GAEH7zB,IACE,cACAA,IAAE,cAAe,CACfA,IAAE,UAAWA,IAAE24E,EAAM,CAAE,SAAU,UAAW,IAC5C34E,IACE,YACAA,IACEA,AAAAA,IAAAA,KAAAA,CAAAA,IAAY,CACZ,CACE,KAAM6zB,EAAE,QAAS,SAAY,QAC/B,EACAA,EAAE,QAAS,WAGf7zB,IAAE,IAAK6zB,EAAE,QAAS,SACnB,GAEH7zB,IACE,cACAA,IAAE,cAAe,CACfA,IAAE,UAAWA,IAAE24E,EAAM,CAAE,SAAU,MAAO,IACxC34E,IACE,YACAA,IACEA,AAAAA,IAAAA,KAAAA,CAAAA,IAAY,CACZ,CACE,KAAM6zB,EAAE,QAAS,SAAY,WAC/B,EACAA,EAAE,WAAY,WAGlB7zB,IAAE,IAAK6zB,EAAE,WAAY,SACtB,GAEJ,EACF,GAEH7zB,IAAE67E,GAAY,CACZ,GAAI,eACJ,MAAOhoD,EAAE,eAAgB,SACzB,YAAa7zB,IAAE,OAAQ,CACrBA,IAAE,WAAY,CAAC6zB,EAAE,eAAgB,eAAe,EACjD,EACD,QAAS,CACP,CAAE,MAAOA,EAAE,UAAW,SAAU,QAAS,EACzC,CACE,MAAOA,EAAE,MACT,SAAU,SACV,QAAO,GAAE,W,kDAQP,OAPAs9C,EAAM,QAAQ,CACZA,EAAM,SAAS,EAAIA,EAAM,SAAS,CAAC,MAAM,CAAG,EACxCA,EAAM,SAAS,CAAC,EAAE,CAClB7C,KACN6C,EAAM,SAAS,CAAGA,EAAM,SAAS,CAAC,MAAM,CACtC,SAACr9C,CAAC,E,OAAKA,EAAE,EAAE,GAAKq9C,EAAM,QAAQ,CAAC,EAAE,A,GAEnC,C,EAAM8C,GAAUl5D,EAAOo2D,EAAO,I,eAA9B,S,MAMF,EACF,EACD,AACH,GACAnxE,IAAE67E,GAAY,CACZ,GAAI,WACJ,MAAOhoD,EAAE,YAAa,SACtB,YAAa7zB,IAAE,OAAQ,CACrBA,IAAE,WAAY,CAAC6zB,EAAE,YAAa,eAAe,EAC7C7zB,IAAE,WAAY,CACZA,IACE,OACAA,IAAE87E,GAAc,CACd,MAAOjoD,EAAE,YAAa,UACtB,UAAW,EACX,QAAS46C,GAAc,GAAG,CAAC,SAACl3D,CAAC,CAAEzT,CAAC,E,MAAM,CACpC,GAAIA,EAAI,EACR,MAAQ,WAA2C+vB,MAAAA,CAAjCA,EAAE,cAAe/vB,GAAG,eAGpC,OAHiD+vB,EACjD,aACA/vB,GAEJ,C,GACA,SAAU,SAACA,CAAC,E,OAAM81E,EAAc91E,EAAe,C,CACjD,IAEF9D,IACE,OACAA,IAAE+7E,GAAe,CACf,MAAOloD,EAAE,YAAa,UACtB,QAASgmD,EACT,SAAU,SAAC74E,CAAC,E,OAAM64E,EAAqB74E,C,CACzC,IAEH,EACF,EACD,QAAS,CACP,CAAE,MAAO6yB,EAAE,UAAW,SAAU,QAAS,EACzC,CACE,MAAOA,EAAE,MACT,SAAU,SACV,QAAO,GAAE,W,kDACP,O,EAAMogD,GAAUl5D,EAAO0zD,EAAa,CAACmL,EAAW,CAAE,I,eAAlD,SACA5F,GAAW,QAAQ,CACjB4F,AAAe,IAAfA,EACInM,EAAAA,QAAmB,CACnBA,EAAAA,UAAqB,E,MAE7B,EACF,EACD,AACH,GACD,EACF,AACH,CACF,CACF,E,ilEC3jBO,IAAMuO,GAKR,WACH,MAAO,CACL,KAAM,Y,QAAG,KAAK,CAAIC,EAAAA,EAAAA,KAAK,CAAEC,EAAAA,EAAAA,KAAK,CAAEvK,EAAAA,EAAAA,eAAe,CAAExzC,EAAAA,EAAAA,QAAQ,CACjD6N,EAAM2lC,CAAe,CAACsK,EAAM,CAC5Bj7E,EAAI,AAAe,SAARgrC,EAAsBA,CAAG,CAACkwC,EAAM,CAAG76E,KAAAA,EAOpD,OAAOrB,IAAE24E,EAAM,CACb,UAAW,YACXwD,SAPA,AAAa,SAANn7E,EACH,uBACAA,EACA,yBACA,gBAIJ,QAAO,GAAE,W,kDACP,OAAQA,GACN,IAAK,GACH2wE,CAAe,CAACsK,EAAM,CAACC,EAAM,CAAGvK,CAAe,CAACuK,EAAM,CAACD,EAAM,CAC3D,GACF,KACF,KAAK,GACH,OAAOtK,CAAe,CAACsK,EAAM,CAACC,EAAM,CACpC,OAAOvK,CAAe,CAACuK,EAAM,CAACD,EAAM,CACpC,KACF,SACM,CAACtK,CAAe,CAACsK,EAAM,EACzBtK,CAAAA,CAAe,CAACsK,EAAM,CAAG,CAAC,GAExB,CAACtK,CAAe,CAACuK,EAAM,EACzBvK,CAAAA,CAAe,CAACuK,EAAM,CAAG,CAAC,GAE5BvK,CAAe,CAACsK,EAAM,CAACC,EAAM,CAAGvK,CAAe,CAACuK,EAAM,CAACD,EAAM,CAC3D,EAEN,CACA,O,EAAM99C,I,eAAN,S,MACF,EACF,EACF,CACF,CACF,EAEai+C,GAAiC,WAC5C,IA0HIH,EACAC,EA3HEG,EAAO,CACX,CAAE,GAAI,KAAM,aAAc,IAAK,EAC/B,CAAE,GAAI,QAAS,KAAM,OAAQ,UAAW,aAAc,MAAOxoD,EAAE,OAAQ,EACvE,CACE,GAAI,yBACJ,KAAM,WACN,UAAW,iBACX,MAAOA,EAAE,oBACX,EACA,CACE,GAAI,yBACJ,KAAM,WACN,UAAW,iBACX,MAAOA,EAAE,2BACX,EACA,CAAE,GAAI,OAAQ,KAAM,WAAY,MAAOA,EAAE,cAAe,EACxD,CACE,GAAI,WACJ,KAAM,WACN,MAAOA,EAAE,WAAY,SACrB,YAAaA,EAAE,WAAY,OAC7B,EACA,CACE,GAAI,aACJ,MAAOA,EAAE,cACT,KAAM,CACJ,CAAE,GAAI,KAAM,aAAc,IAAK,EAC/B,CACE,GAAI,QACJ,UAAW,eACX,KAAM,OACN,MAAOA,EAAE,OACX,EACA,CACE,GAAI,OACJ,UAAW,eACX,KAAM,OACN,MAAOA,EAAE,cACX,EACA,CACE,GAAI,kBACJ,KAAM,WACN,UAAW,oBACX,MAAOA,EAAE,uBACX,EACA,CACE,GAAI,eACJ,KAAM,SACN,SAAU,GACV,MAAOA,EAAE,sBACT,QAAS,YACX,EACD,CACD,OAAQ,GACR,SAAU,EACV,IAAK,CACP,EACA,CACE,GAAI,aACJ,KAAM,CACJ,CAAE,GAAI,KAAM,aAAc,IAAK,EAC/B,CACE,GAAI,QACJ,KAAM,SACN,UAAW,YACX,MAAOA,EAAE,QACX,EACA,CACE,GAAI,SACJ,KAAM,SACN,UAAW,mBACX,MAAOA,EAAE,SACX,EACA,CACE,GAAI,QACJ,KAAM,OACN,UAAW,YACX,MAAOA,EAAE,OACX,EASA,CACE,GAAI,OACJ,KAAM,OACN,UAAW,UACX,MAAOA,EAAE,cACX,EACD,CACD,OAAQ,GACR,SAAU,EACV,aAAc,QACd,MAAOA,EAAE,aACX,EACA,CACE,GAAI,kBACJ,MAAOA,EAAE,cACT,OAAQ,GACR,aAAc,YACd,SAAU,EACV,KAAM,CACJ,CACE,GAAI,YACJ,MAAOA,EAAE,aACT,KAAM,SACN,IAAK,EACL,UAAW,QACb,EACA,CACE,GAAI,QACJ,MAAOA,EAAE,SACT,KAAM,QACN,UAAW,QACb,EACD,AACH,EACD,CAGD,MAAO,CACL,OAAQ,Y,OAAeggD,GAAZ94D,EAAAA,KAAK,CAAsB0yD,EAAAA,QAAmB,C,EACzD,KAAM,Y,IAAG1yD,EAAAA,EAAAA,KAAK,CACJo2D,EAAUp2D,EAAM,KAAK,CAArBo2D,KAAK,CACLQ,EAAoBR,EAAM,QAAQ,CAAlCQ,eAAe,CACjB2K,EAAQnL,EAAM,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,SAACrpE,CAAC,E,OAAKA,EAAE,EAAE,EAAIA,EAAE,KAAK,A,GAC/Dy0E,EAAUN,GAASK,EAAM,MAAM,CAAC,SAACx0E,CAAC,E,OAAKA,EAAE,EAAE,GAAKm0E,C,GAAO,KAAK,GAC5DO,EAAUN,GAASI,EAAM,MAAM,CAAC,SAACx0E,CAAC,E,OAAKA,EAAE,EAAE,GAAKo0E,C,GAAO,KAAK,GAC5DO,EAAUF,GAAWA,EAAQ,MAAM,CACnCG,EAAUF,GAAWA,EAAQ,MAAM,CACzC,MAAO,CACLx8E,IAAE,qBAAsB,CACtBA,IAAEi6E,GAAM,CACN,KAAM,CACJ,CACE,MAAOpmD,EAAE,SACT,MAAO7zB,IAAE,kBAAmB,CAC1BA,IACE,OACAA,IAAEm6E,GAAY,CACZ,UAAW,QACX,SAAU,SACV,MAAOtmD,EAAE,UACT,QAAS,aACX,IAEF7zB,IACE,OACAA,IAAE28E,GAAY,CACZ,IAAKxL,EAAM,QAAQ,CACnBkL,KAAAA,EACA,KAAM/G,GAAK,IAAI,CACf,SAAQ,GAAE,W,kDACR,O,EAAMrB,GAAUl5D,EAAOo2D,G,eAAvB,S,MACF,EACF,IAEH,CACH,EACA,CACE,MAAOt9C,EAAE,kBAAmB,SAC5B,MAAO7zB,IACL,gCACAs8E,EAAM,MAAM,CAAG,GAAK,CAClBt8E,IAAEk6E,GAAQ,CACR,UAAW+B,EACX,SAAU,cACV,UAAW,YACX,YAAapoD,EAAE,OAAQ,WACvB,MAAOA,EAAE,kBAAmB,cAC5B,QAASyoD,EACT,SAAU,SAACM,CAAG,E,OAAMX,EAAQW,CAAG,CAAC,EAAE,A,CACpC,GACA58E,IAAEk6E,GAAQ,CACR,UAAWgC,EACX,SAAU,YACV,UAAW,YACX,YAAaroD,EAAE,OAAQ,WACvB,MAAOA,EAAE,kBAAmB,cAC5B,QAASyoD,EACT,SAAU,SAACM,CAAG,E,OAAMV,EAAQU,CAAG,CAAC,EAAE,A,CACpC,GACA58E,IACE,qBACAA,IAAE,QAAS,CACTA,IAAE,KAAM,CACNA,IACE,KACAA,IAAE24E,EAAM,CACN,MAAO,yBACP,SAAU,sBACZ,GACA9kD,EAAE,eAAgB,aAEpB7zB,IACE,KACAA,IAAE24E,EAAM,CACN,MAAO,yBACP,SAAU,wBACZ,GACA9kD,EAAE,eAAgB,eAEpB7zB,IACE,KACAA,IAAE24E,EAAM,CACN,MAAO,yBACP,SAAU,eACZ,GACA9kD,EAAE,eAAgB,eAErB,EACF,GAEH0oD,GACEC,GACAC,GACAC,GACA18E,IACE,WACAA,IAAE,OAAQ,CACRA,IACE,WACAA,IACE,mCACA,CACE,MAAO,iCACT,EACA,CACEA,IACE,QACAA,IAAE,KAAM,CACNA,IACE,KACC,GAAsBw8E,MAAAA,CAApBD,EAAQ,KAAK,CAAC,QAAoB,OAAdC,EAAQ,KAAK,GAGvC,CANO,OAKN,GAAGE,EAAQ,GAAG,CAAC,SAAC17E,CAAC,E,OAAKhB,IAAE,KAAMgB,EAAE,KAAK,C,OAGzChB,IACE,QACAy8E,EAAQ,GAAG,CAAC,SAAC/rE,CAAC,E,OACZ1Q,IAAE,KAAM,CACNA,IAAE,KAAM0Q,EAAE,KAAK,EAchB,CAfO,OAEN,GAAGgsE,EAAQ,GAAG,CAAC,SAAC50E,CAAC,E,OACf9H,IACE,KACAA,IAAEg8E,GAAuB,CACvB,MAAOtrE,EAAE,EAAE,CACX,MAAO5I,EAAE,EAAE,CACX6pE,gBAAAA,EACA,SAAQ,GAAE,W,kDACR,O,EAAMsC,GAAUl5D,EAAOo2D,G,QAAvB,O,EAAA,S,KACJ,G,SAOX,GAGN,GAEN,CAEL,EACD,AACH,GACAnxE,IAAE67E,GAAY,CACZ,GAAI,cACJ,MAAOhoD,EAAE,cAAe,QAAS,CAAE,KAAMA,EAAE,QAAS,GACpD,YAAaA,EAAE,cAAe,cAAe,CAAE,KAAMA,EAAE,QAAS,GAEhE,QAAS,CACP,CACE,MAAOA,EAAE,SACX,EACA,CACE,MAAOA,EAAE,MACT,QAAS,WACPogD,GAAUl5D,EAAOyzD,KACnB,CACF,EACD,AACH,GACD,EACF,AACH,CACF,CACF,EChWMqO,GAAmB,SAAC9L,CAAe,EAEvC,IAAM+L,EAAM/L,EAAgB,OAAO,CAAC,IAAK,IAGnCrgE,EAAIhJ,SAASo1E,EAAI,SAAS,CAAC,EAAG,GAAI,IAClC58E,EAAIwH,SAASo1E,EAAI,SAAS,CAAC,EAAG,GAAI,IAClCx3E,EAAIoC,SAASo1E,EAAI,SAAS,CAAC,EAAG,GAAI,IAMxC,MAAOC,AAHarsE,CAAAA,AAAI,IAAJA,EAAUxQ,AAAI,IAAJA,EAAUoF,AAAI,IAAJA,CAAM,EAAK,IAG/B,IAAM,QAAU,OACtC,EAEa03E,GAAkB,CAC7B,KAAM,YACJ,IAAQC,EAAUliE,AADXA,EAAAA,KAAK,CACJkiE,KAAK,CAEb,OAAOj9E,IACL,UACA,CACE,MAAO,CAAE,QAAS,OAAQ,CAC5B,EACAA,IACE,gBACA,CACE,MAAO,CAEL,IAAK,EACL,MAAO,EACP,QAAS,OACT,WAAY,SACZ,IAAK,KACP,CACF,EACAi9E,EAAM,GAAG,CAAC,SAAC1xE,CAAI,CAAEqF,CAAK,E,OACpB5Q,IACE,MACA,CACE,IAAK4Q,EACL,MAAO,CACL,QAAS,OACT,WAAY,SACZ,eAAgB,SAChB,MAAO,OACP,OAAQ,OACR,gBAAiBrF,EAAK,KAAK,CAC3B,MAAOsxE,GAAiBtxE,EAAK,KAAK,EAClC,aAAc,KAChB,CACF,EACAqF,IAAUqsE,EAAM,MAAM,CAAG,EACpB,GAAiB,OAAf1xE,EAAK,SAAS,CAAC,KACjB,GAAiB,OAAfA,EAAK,SAAS,CAAC,K,IAKhC,CACF,E,yuDC1CA,IAAM2xE,GAMD,eACCz8E,EACA08E,EAEJ,MAAO,CACL,OAAQ,Y,QAAG,KAAK,CAAI5xE,EAAAA,EAAAA,IAAI,CAAE8wE,EAAAA,EAAAA,IAAI,CAAEpB,EAAAA,EAAAA,QAAQ,CAChCmC,EACJnC,GAAYA,EAAS,MAAM,CAAG,GAAKA,AAAgB,SAAhBA,CAAQ,CAAC,EAAE,CAChDkC,EAAmBd,EAChB,MAAM,CAAC,SAACv4E,CAAC,E,MAAMA,AAAS,YAATA,EAAE,EAAE,EAAiBs5E,C,GACpC,GAAG,CAAC,SAACt5E,CAAC,M,UACLA,AAAS,YAATA,EAAE,EAAE,EACJs5E,GACAt5E,EAAE,OAAO,G,EACTA,EAAE,OAAO4sE,C,SAAYxoE,Q,6FACjB,SACKpE,GAAAA,CACH,QAASA,EAAE,OAAO,CAAC,MAAM,CACvB,SAACmJ,CAAC,E,MACAA,AAAS,SAATA,EAAE,EAAE,EACJguE,EAAS,OAAO,CAAChuE,EAAE,EAAE,GAAoB,C,KAG/CnJ,C,GAERrD,EAAM,MAAK8K,EACb,EACA,KAAM,Y,IAAGwP,EAAAA,EAAAA,KAAK,CACJxP,EAAoBwP,EAApBxP,IAAI,CAAEwS,EAAchD,EAAdgD,EAAE,CAAEtP,EAAUsM,EAAVtM,KAAK,CACvB,OAAOzO,IACL,6CACA,CACE,IAAK+d,EACL,GAAK,MAAa,OAARxS,EAAK,EAAE,EACjB,MAAQ,qBAAwCkD,MAAAA,CAApBA,CAAK,CAAC,EAAE,CAAC,aAAoB,OAATA,CAAK,CAAC,EAAE,EACxD,YAAa,SAACkV,CAAE,E,IACd05D,C,AAAe,QAAfA,CAAAA,EAAAA,EAAG,YAAY,AAAD,GAAdA,AAAAA,KAAAA,IAAAA,GAAAA,EAAiB,OAAO,CAACt/D,EAAI6c,KAAK,SAAS,CAAC,CAAC7c,EAAIxS,EAAK,EAAE,CAAC,EAC3D,EACA,WAAY,SAACoY,CAAE,EACb,IAAgB05D,EAAA,CAAe,OAAfA,CAAAA,EAAAA,EAAG,YAAY,AAAD,GAAdA,AAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAiB,KAAK,CAAC,QAAQ,CAACt/D,EAAG,WAAW,GAAE,GACnD4F,EAAG,cAAc,EAChC,EACA,OAAQ,SAACA,CAAE,EACTA,EAAG,cAAc,GACjB,IAAa05D,EAAPn4D,EAAO,AAAe,OAAfm4D,CAAAA,EAAAA,EAAG,YAAY,AAAD,GAAdA,AAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAiB,OAAO,CAACt/D,GACtC,GAAI,CAACmH,EAAM,OACX,IAAoBo4D,EAAAA,GAAAA,KAAK,KAAK,CAACp4D,GAAAA,GAArBq4D,GAAUD,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,EAAAA,EACdE,EAAa75D,EAAG,aAAa,CACnC,GAAI,EAAC45D,IAAU,CAACC,GAAcD,IAAWhyE,EAAK,EAAE,CAChD,IAAKiyE,GACL,IAAMC,EAAQ95D,EAAG,OAAO,CAAG65D,EAAW,qBAAqB,GAAG,GAAG,CAC3DE,EAAaF,EAAW,YAAY,CAE1C1I,GAAsB/5D,EAAOgD,EAAIw/D,EAAQhyE,EAAK,EAAE,CAD7BkyE,GAASC,EAAa,GAHlB,CAKzB,CACF,EACA,CACE19E,IAAE,gBAAiB,CACjBA,IACE,kBACA,CACE,aAAcuL,EAAK,IAAI,CACnB,WACEwP,EAAM,MAAM,CAAC,CACX,cAAexP,EAAK,IAAI,AAC1B,EACF,EACAlK,KAAAA,EACJ,aAAckK,EAAK,IAAI,CACnB,WACEwP,EAAM,MAAM,CAAC,CACX,cAAe1Z,KAAAA,CACjB,EACF,EACAA,KAAAA,CACN,EACAkK,EAAK,KAAK,EAGZvL,IAAEm6E,GAAY,CACZ,UAAW,wBACX,SAAU,OACV,UAAW,YACX,QAAU,SAAgB,OAAR5uE,EAAK,EAAE,CAC3B,GACD,EACDvL,IAAE67E,GAAY,CACZ,GAAK,SAAgB,OAARtwE,EAAK,EAAE,EACpB,MAAOsoB,EAAE,kBACT,YAAa,GACb,YAAa7zB,IACX,OACAA,IAAE28E,GAAY,CACZ,KAAMQ,EACN18E,IAAAA,EACA,KAAM60E,GAAK,IAAI,AACjB,IAGF,QAAS,CACP,CACE,MAAOzhD,EAAE,SACX,EACA,CACE,MAAOA,EAAE,UACT,QAAS,WACP8gD,GAAwB55D,EAAOgD,EAAItd,EAAK,SAC1C,CACF,EACA,CACE,MAAOozB,EAAE,MACT,QAAS,WACP8gD,GAAwB55D,EAAOgD,EAAItd,EAAK,SAC1C,CACF,EACD,AACH,GACD,CAEL,CACF,CACF,EAEMk9E,GAGD,WACH,IAAIl9E,EAAM,CAAC,EACX,MAAO,CACL,KAAM,Y,IAAGsa,EAAAA,EAAAA,KAAK,CACJ6iE,EAAa7iE,EAAb6iE,EAAE,CAAEvB,EAASthE,EAATshE,IAAI,CACRt+D,EAAO6/D,EAAP7/D,EAAE,CAEV,OAAO/d,IAAE,0BAA2B,CAAE,IAAK,QAAS,EAAG,CACrDA,IACE,iCACA,CACE,aAAc49E,EAAG,IAAI,CACjB,WACE7iE,EAAM,MAAM,CAAC,CACX,cAAe6iE,EAAG,IAAI,AACxB,EACF,EACAv8E,KAAAA,EACJ,aAAcu8E,EAAG,IAAI,CACjB,WACE7iE,EAAM,MAAM,CAAC,CACX,cAAe1Z,KAAAA,CACjB,EACF,EACAA,KAAAA,CACN,EACAu8E,EAAG,KAAK,EAEV59E,IAAEm6E,GAAY,CACZ,UAAW,cACX,SAAU,MACV,UAAW,YACX,QAASyD,EAAG,EAAE,CACd,KAAMtI,GAAK,IAAI,AACjB,GACAt1E,IAAE67E,GAAY,CACZ,GAAI+B,EAAG,EAAE,CACT,MAAO/pD,EAAE,iBACT,YAAa,GACb,YAAa7zB,IACX,OACAA,IAAE28E,GAAY,CACZN,KAAAA,EACA57E,IAAAA,EACA,KAAM60E,GAAK,IAAI,AACjB,IAGF,QAAS,CACP,CACE,MAAOzhD,EAAE,SACX,EACA,CACE,MAAOA,EAAE,MACT,QAAS,WACP,IAAMtoB,EAAO,MAAK9K,GAClBA,EAAM,CAAC,EACPk0E,GAAwB55D,EAAOgD,EAAIxS,EAAM,SAC3C,CACF,EACD,AACH,GACD,CACH,CACF,CACF,EAEMsyE,GAID,WACH,MAAO,CACL,KAAM,Y,IAMAC,EANG/iE,EAAAA,EAAAA,KAAK,CACJ6iE,EAAwB7iE,EAAxB6iE,EAAE,CAAEvB,EAAoBthE,EAApBshE,IAAI,CAAE0B,EAAchjE,EAAdgjE,SAAS,CAC3B,OAAO/9E,IAAE,KAAM,CAAE,IAAK49E,EAAG,EAAE,AAAC,EAAG,CAC7B59E,IACE,gBACAA,IAAE29E,GAAW,SAAK5iE,GAAAA,CAAO6iE,GAAAA,EAAIvB,KAAAA,C,IACpB,OAATyB,CAAAA,EAAAA,EAAG,MAAM,AAAD,GAARA,AAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAW,GAAG,CAAC,SAACh2E,CAAC,E,OACf9H,IAAEk9E,GAAS,OACT,IAAKp1E,EAAE,EAAE,A,EACNiT,GAAAA,CACH,GAAI6iE,EAAG,EAAE,CACT,SAAUA,EAAG,QAAQ,CACrB,KAAM91E,EACNu0E,KAAAA,EACA,MAAO0B,CAAS,CAACj2E,EAAE,EAAE,CAAC,EAAIi2E,EAAU,KAAQ,A,OAInD,CACH,CACF,CACF,EAEMC,GAID,WACH,MAAO,CACL,KAAM,Y,IAAGjjE,EAAAA,EAAAA,KAAK,CAEVshE,EAIEthE,EAJFshE,IAAI,CACJ4B,EAGEljE,EAHFkjE,UAAU,CACVF,EAEEhjE,EAFFgjE,SAAS,CAGHvM,EAAaL,AADjBp2D,EADF,KAAK,CAAIo2D,KAAK,CAERK,QAAQ,CACRE,EAAuCF,EAAvCE,UAAU,CAAchV,EAAe8U,EAA3B,UAAU,CACxBQ,EAAWN,CAAU,CAACuM,EAAW,CACjCC,EAAMxhB,EAAW,MAAM,CAC3B,SAAC50D,CAAC,E,OAAKkqE,EAAS,YAAY,EAAIA,EAAS,YAAY,CAAC,OAAO,CAAClqE,EAAE,EAAE,GAAK,C,GAGzE,OAAO9H,IAAE,YAAa,CAGpBk+E,EAAI,GAAG,CAAC,SAACN,CAAE,E,OAAK59E,IAAE69E,GAAQ,SAAK9iE,GAAAA,CAAO6iE,GAAAA,EAAIvB,KAAAA,EAAM0B,UAAAA,C,MAEjD,CACH,CACF,CACF,EAEaI,GAAkC,WAC7C,IAAM9B,EAAO,CACX,CAAE,GAAI,KAAM,aAAc,IAAK,EAC/B,CAAE,GAAI,QAAS,KAAM,OAAQ,MAAOxoD,EAAE,OAAQ,EAC9C,CAAE,GAAI,OAAQ,KAAM,WAAY,MAAOA,EAAE,cAAe,EAyEzD,CACGkqD,EAA2C,CAAC,EAEhD,MAAO,CACL,OAAQ,YACNlK,GADS94D,EAAAA,KAAK,CACC0yD,EAAAA,UAAqB,CACtC,EACA,KAAM,Y,IAAG1yD,EAAAA,EAAAA,KAAK,CAIR++D,EAAAA,EAAM,KAAK,CAFbsE,EAEEtE,EAFFsE,aAAa,CACJ5M,EACPsI,EADF,KAAK,CAAItI,QAAQ,CAEXE,EAAqCF,EAArCE,UAAU,CAAE,EAAyBF,EAAzBpD,eAAe,CAAfA,EAAkB,AAAlBA,KAAAA,IAAkB,IAAE,GAExC,GAAI2P,GAAan+E,OAAO,IAAI,CAACm+E,GAAW,MAAM,CAAG3P,EAAgB,MAAM,CAAE,CACvE,I,EAkBEiQ,EAlBF,EAA4B7M,EAApBuB,UAAU,CACZuL,EAAiBvL,AADF,CAAbA,KAAAA,IAAa,IAAE,IAEpB,MAAM,CAAC,SAACruE,CAAC,E,OAAKA,EAAE,QAAQ,A,GACxB,MAAM,CAAC,SAACm8C,CAAG,CAAEsxB,CAAG,EACf,IAAoBzV,EAAeyV,EAA3B,UAAU,CAUlB,OATAvyE,OAAO,IAAI,CAAC88D,GAAY,OAAO,CAAC,SAAC50D,CAAC,E,IAC3BiqE,EAAAA,GAAAA,EAAAA,GAAAA,EAAAA,KAAAA,E,IAAL,QAAKA,EAAAA,EAAmBrV,CAAU,CAAC50D,EAAE,oBAAhCiqE,CAAAA,CAAAA,EAAAA,AAAAA,CAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,AAAAA,EAAAA,EAAAA,GAAkC,CAAlCA,IAAMwM,EAANxM,EAAAA,KAAAA,AACClxB,CAAAA,CAAG,CAAC09B,EAAU,CAChB19B,CAAG,CAAC09B,EAAU,GAEd19B,CAAG,CAAC09B,EAAU,CAAG,CAErB,C,UANKxM,EAAAA,GAAAA,EAAAA,C,cAAAA,GAAAA,AAAAA,MAAAA,EAAAA,MAAAA,EAAAA,EAAAA,MAAAA,E,YAAAA,E,MAAAA,C,EAOP,GACOlxB,CACT,EAAG,CAAC,GACN,IAAM29B,EAAuBlO,GAC3B,EACA+N,AAAAA,CAAAA,EAAAA,IAAG,EAAE,GAAG,OAARA,E,gDAAYjQ,EAAgB,GAAG,CAAC,SAACtmE,CAAC,E,OAAKA,EAAE,SAAS,A,0SAClD,GAAG,CAAC,SAACyP,CAAC,E,MAAK,E,GACTzT,EAAI,EACRsqE,EACG,IAAI,CAAC,SAACjoE,CAAC,CAAEb,CAAC,E,OAAMa,EAAE,SAAS,CAAGb,EAAE,SAAS,CAAG,EAAI,E,GAChD,OAAO,CAAC,SAACm5E,CAAE,EACV,GACED,CAAW,CAAC16E,EAAE,CAAG26E,EAAG,KAAK,CACzB36E,UACOA,EAAI26E,EAAG,SAAS,CAAE,AAC7B,GACFV,EAAYn+E,OAAO,OAAO,CAAC0+E,GAAgB,MAAM,CAC/C,SAACz9B,CAAG,CAAE,CAALA,E,cAAM9iC,EAAAA,CAAAA,CAAAA,EAAAA,CAAI5F,EAAAA,CAAAA,CAAAA,EAAAA,CACH1J,EACJ0J,EAAQqmE,EAAY,MAAM,CACtBA,CAAW,CAACrmE,EAAM,CAClBqmE,CAAW,CAACA,EAAY,MAAM,CAAG,EAAE,CAEzC,OADA39B,CAAG,CAAC9iC,EAAG,CAAG,CAACtP,EAAOqiE,GAAiBriE,GAAO,CACnCoyC,CACT,EACA,CAAE,MAAO,CAAC29B,CAAW,CAAC,EAAE,CAAE1N,GAAiB0N,CAAW,CAAC,EAAE,EAAE,AAAC,EAIhE,CAEA,MAAO,CACLx+E,IAAE,mBAAoB,CACpBwxE,GACEA,EAAS,eAAe,EACxBxxE,IAAEg9E,GAAiB,CAAE,MAAOxL,EAAS,eAAe,AAAC,GACvDE,EAAW,MAAM,CAAG,GACpBA,CAAU,CAAC,EAAE,CAAC,YAAY,EAC1BA,CAAU,CAAC,EAAE,CAAC,YAAY,CACtB1xE,IAAEi6E,GAAM,CACN,KAAMvI,EAAW,GAAG,CAAC,SAAC5pE,CAAC,CAAEm2E,CAAU,E,MAAM,CACvC,GAAIn2E,EAAE,EAAE,CACR,MAAOA,EAAE,KAAK,CACd,MAAO9H,IAAEg+E,GAAS,SACbjjE,GAAAA,CACHgjE,UAAAA,EACAE,WAAAA,EACA5B,KAAAA,C,GAEJ,C,EACF,GACA3K,AAAsB,IAAtBA,EAAW,MAAM,EAAUA,CAAU,CAAC,EAAE,CAAC,YAAY,CACrD1xE,IAAEg+E,GAAS,SAAKjjE,GAAAA,CAAOgjE,UAAAA,EAAW,WAAY,EAAG1B,KAAAA,C,IACjDr8E,IAAE,YAAaA,IAAE,WAAY6zB,EAAE,eACnCuqD,GACEp+E,IACE,kBACAA,IACE,uBACAA,IAAE0+E,GAAc,CAAE,GAAIN,EAAe,iBAAkB,EAAK,KAGnE,EACF,AACH,CACF,CACF,ECpaA,OAJA,SAAY98E,CAAK,CAAEwxD,CAAK,EACtB,OAAOxxD,IAAUwxD,GAAUxxD,GAAUA,GAASwxD,GAAUA,CAC1D,ECdA,GAVA,SAAsBhwD,CAAK,CAAEnC,CAAG,EAE9B,IADA,IAAImB,EAASgB,EAAM,MAAM,CAClBhB,KACL,GAAI,GAAGgB,CAAK,CAAChB,EAAO,CAAC,EAAE,CAAEnB,GACvB,OAAOmB,EAGX,OAAO,EACT,ECZA,IAAIouD,GAASX,AAHIrnD,MAAM,SAAS,CAGR,MAAM,CCO9B,SAASmpD,GAAUD,CAAO,EACxB,IAAIxgD,EAAQ,GACR9O,EAASsvD,AAAW,MAAXA,EAAkB,EAAIA,EAAQ,MAAM,CAGjD,IADA,IAAI,CAAC,KAAK,GACH,EAAExgD,EAAQ9O,GAAQ,CACvB,IAAIkU,EAAQo7C,CAAO,CAACxgD,EAAM,CAC1B,IAAI,CAAC,GAAG,CAACoF,CAAK,CAAC,EAAE,CAAEA,CAAK,CAAC,EAAE,CAC7B,CACF,CAGAq7C,GAAU,SAAS,CAAC,KAAK,CClBzB,WACE,IAAI,CAAC,QAAQ,CAAG,EAAE,CAClB,IAAI,CAAC,IAAI,CAAG,CACd,EDgBAA,GAAU,SAAS,CAAC,MAAS,CDT7B,SAAyB1wD,CAAG,EAC1B,IAAIukB,EAAO,IAAI,CAAC,QAAQ,CACpBtU,EAAQ,GAAasU,EAAMvkB,SAE/B,CAAIiQ,CAAAA,EAAQ,KAIRA,GADYsU,EAAK,MAAM,CAAG,EAE5BA,EAAK,GAAG,GAERgrC,GAAO,IAAI,CAAChrC,EAAMtU,EAAO,GAE3B,EAAE,IAAI,CAAC,IAAI,CACJ,GACT,ECLAygD,GAAU,SAAS,CAAC,GAAG,CEhBvB,SAAsB1wD,CAAG,EACvB,IAAIukB,EAAO,IAAI,CAAC,QAAQ,CACpBtU,EAAQ,GAAasU,EAAMvkB,GAE/B,OAAOiQ,EAAQ,EAAIvP,KAAAA,EAAY6jB,CAAI,CAACtU,EAAM,CAAC,EAAE,AAC/C,EFYAygD,GAAU,SAAS,CAAC,GAAG,CGjBvB,SAAsB1wD,CAAG,EACvB,OAAO,GAAa,IAAI,CAAC,QAAQ,CAAEA,GAAO,EAC5C,EHgBA0wD,GAAU,SAAS,CAAC,GAAG,CIjBvB,SAAsB1wD,CAAG,CAAEW,CAAK,EAC9B,IAAI4jB,EAAO,IAAI,CAAC,QAAQ,CACpBtU,EAAQ,GAAasU,EAAMvkB,GAQ/B,OANIiQ,EAAQ,GACV,EAAE,IAAI,CAAC,IAAI,CACXsU,EAAK,IAAI,CAAC,CAACvkB,EAAKW,EAAM,GAEtB4jB,CAAI,CAACtU,EAAM,CAAC,EAAE,CAAGtP,EAEZ,IAAI,AACb,ECtBA,IAAI8sD,GAAa,AAAiB,UAAjB,OAAO3sD,QAAsBA,QAAUA,OAAO,MAAM,GAAK7B,QAAU6B,OCEhF4sD,GAAW,AAAe,UAAf,OAAOjvD,MAAoBA,MAAQA,KAAK,MAAM,GAAKQ,QAAUR,KAGxE,GAAO,ADHIgvD,ICGUC,IAAYluD,SAAS,iBCH1C,GAAS,ADKE,GCLF,MAAW,CCApBsvD,GAAc7vD,OAAO,SAAS,CAG9B,GAAiB6vD,GAAY,cAAc,CAO3CiG,GAAuBjG,GAAY,QAAQ,CAG3CkG,GAAiB,ADXN,GCWe,ADXf,GCWe,WAAkB,CAAGt0D,KAAAA,EA6BnD,OApBA,SAAmBC,CAAK,EACtB,IAAIy0D,EAAQ,GAAe,IAAI,CAACz0D,EAAOq0D,IACnC78B,EAAMx3B,CAAK,CAACq0D,GAAe,CAE/B,GAAI,CACFr0D,CAAK,CAACq0D,GAAe,CAAGt0D,KAAAA,EACxB,IAAI20D,EAAW,EACjB,CAAE,MAAO31D,EAAG,CAAC,CAEb,IAAIkgB,EAASm1C,GAAqB,IAAI,CAACp0D,GAQvC,OAPI00D,IACED,EACFz0D,CAAK,CAACq0D,GAAe,CAAG78B,EAExB,OAAOx3B,CAAK,CAACq0D,GAAe,EAGzBp1C,CACT,ECnCA,IAAI,GAAuB,AAPT3gB,OAAO,SAAS,CAOK,QAAQ,CCC3C,GAAiB,AHJN,GGIe,AHJf,GGIe,WAAkB,CAAGyB,KAAAA,EAkBnD,OATA,SAAoBC,CAAK,MDDDA,ECEtB,GAAIA,AAAS,MAATA,EACF,OAAOA,AAAUD,KAAAA,IAAVC,EAdQ,qBADL,gBAiBZ,OAAO,AAAC,IAAkB,MAAkB1B,OAAO0B,GAC/C,GAAUA,IDNQA,ECOHA,EDNZ,GAAqB,IAAI,CAACA,GCOnC,ECKA,GALA,SAAkBA,CAAK,EACrB,IAAIyS,EAAO,OAAOzS,EAClB,OAAOA,AAAS,MAATA,GAAkByS,CAAAA,AAAQ,UAARA,GAAoBA,AAAQ,YAARA,CAAiB,CAChE,ECQA,GAVA,SAAoBzS,CAAK,EACvB,GAAI,CAAC,GAASA,GACZ,MAAO,GAIT,IAAIw3B,EAAM,GAAWx3B,GACrB,MAAOw3B,AA5BK,qBA4BLA,GAAkBA,AA3Bd,8BA2BcA,GAAiBA,AA7B7B,0BA6B6BA,GAAmBA,AA1BhD,kBA0BgDA,CAC/D,EC/BA,IAAI42B,GAAa,APKF,EOLE,sBAA0B,ClCA3C,IAAIC,GAEKtD,CADHA,EAAM,SAAS,IAAI,CAAC,AkCCXqD,IlCDyB,AkCCzBA,GlCDyB,IAAe,EAAI,AkCC5CA,GlCD4C,aAAwB,EAAI,KACvE,iBAAmBrD,EAAO,GmCDtCuD,GAAeJ,AAHHrvD,SAAS,SAAS,CAGL,QAAQ,CAqBrC,OAZA,SAAkBo/C,CAAI,EACpB,GAAIA,AAAQ,MAARA,EAAc,CAChB,GAAI,CACF,OAAOqQ,GAAa,IAAI,CAACrQ,EAC3B,CAAE,MAAOl/C,EAAG,CAAC,CACb,GAAI,CACF,OAAQk/C,EAAO,EACjB,CAAE,MAAOl/C,EAAG,CAAC,CACf,CACA,MAAO,EACT,ECXA,IAAI4tD,GAAe,8BAIf,GAAcruD,OAAO,SAAS,CAG9B,GAAe,AAJHO,SAAS,SAAS,CAIL,QAAQ,CAGjC,GAAiB,GAAY,cAAc,CAG3C2vD,GAAannB,OAAO,IACtB,GAAa,IAAI,CAAC,IAAgB,OAAO,CAjBxB,sBAiBuC,QACvD,OAAO,CAAC,yDAA0D,SAAW,KAmBhF,OARA,SAAsBrnC,CAAK,MpCvBTi+C,QoCwBhB,CAAI,CAAC,GAASj+C,KpCxBEi+C,EoCwBiBj+C,EpCvB1B,CAAEquD,KAAeA,CAAAA,MAAcpQ,CAAG,IoC2BlC4L,AADOqH,CAAAA,GAAWlxD,GAASwuD,GAAa7B,EAAW,EAC3C,IAAI,CAAC,GAAS3sD,GAC/B,EC5BA,GALA,SAAmBzB,CAAM,CAAEc,CAAG,EAC5B,ICJgBd,EAAQc,EDIpBW,GCJYzB,EDIKA,ECJGc,EDIKA,ECHtBd,AAAU,MAAVA,EAAiBwB,KAAAA,EAAYxB,CAAM,CAACc,EAAI,EDI/C,OAAO,GAAaW,GAASA,EAAQD,KAAAA,CACvC,EEVA,IAAI,GAAM,GZIK,GYJW,OCDtBqvD,GAAe,GAAU9wD,OAAQ,UCMjC,GAAiB,AAHHA,OAAO,SAAS,CAGD,cAAc,CCH3C,GAAiB,AAHHA,OAAO,SAAS,CAGD,cAAc,CCO/C,SAASuxD,GAAKC,CAAO,EACnB,IAAIxgD,EAAQ,GACR9O,EAASsvD,AAAW,MAAXA,EAAkB,EAAIA,EAAQ,MAAM,CAGjD,IADA,IAAI,CAAC,KAAK,GACH,EAAExgD,EAAQ9O,GAAQ,CACvB,IAAIkU,EAAQo7C,CAAO,CAACxgD,EAAM,CAC1B,IAAI,CAAC,GAAG,CAACoF,CAAK,CAAC,EAAE,CAAEA,CAAK,CAAC,EAAE,CAC7B,CACF,CAGAm7C,GAAK,SAAS,CAAC,KAAK,CChBpB,WACE,IAAI,CAAC,QAAQ,CAAG,AJLHT,GIKkB,AJLlBA,GIK+B,MAAQ,CAAC,EACrD,IAAI,CAAC,IAAI,CAAG,CACd,EDcAS,GAAK,SAAS,CAAC,MAAS,CEhBxB,SAAoBxwD,CAAG,EACrB,IAAI4f,EAAS,IAAI,CAAC,GAAG,CAAC5f,IAAQ,OAAO,IAAI,CAAC,QAAQ,CAACA,EAAI,CAEvD,OADA,IAAI,CAAC,IAAI,EAAI4f,EAAS,EAAI,EACnBA,CACT,EFaA4wC,GAAK,SAAS,CAAC,GAAG,CFPlB,SAAiBxwD,CAAG,EAClB,IAAIukB,EAAO,IAAI,CAAC,QAAQ,CACxB,GDjBawrC,GCiBK,CAChB,IAAInwC,EAAS2E,CAAI,CAACvkB,EAAI,CACtB,MAAO4f,AArBU,8BAqBVA,EAA4Blf,KAAAA,EAAYkf,CACjD,CACA,OAAO,GAAe,IAAI,CAAC2E,EAAMvkB,GAAOukB,CAAI,CAACvkB,EAAI,CAAGU,KAAAA,CACtD,EECA8vD,GAAK,SAAS,CAAC,GAAG,CDXlB,SAAiBxwD,CAAG,EAClB,IAAIukB,EAAO,IAAI,CAAC,QAAQ,CACxB,OAAO,AFdMwrC,GEcUxrC,AAAc7jB,KAAAA,IAAd6jB,CAAI,CAACvkB,EAAI,CAAkB,GAAe,IAAI,CAACukB,EAAMvkB,EAC9E,ECSAwwD,GAAK,SAAS,CAAC,GAAG,CGdlB,SAAiBxwD,CAAG,CAAEW,CAAK,EACzB,IAAI4jB,EAAO,IAAI,CAAC,QAAQ,CAGxB,OAFA,IAAI,CAAC,IAAI,EAAI,IAAI,CAAC,GAAG,CAACvkB,GAAO,EAAI,EACjCukB,CAAI,CAACvkB,EAAI,CAAG,AAAC,ANbA+vD,IMagBpvD,AAAUD,KAAAA,IAAVC,EAfV,4BAekDA,EAC9D,IAAI,AACb,ECNA,OAPA,SAAmBA,CAAK,EACtB,IAAIyS,EAAO,OAAOzS,EAClB,MAAO,AAACyS,AAAQ,UAARA,GAAoBA,AAAQ,UAARA,GAAoBA,AAAQ,UAARA,GAAoBA,AAAQ,WAARA,EAC/DzS,AAAU,cAAVA,EACAA,AAAU,OAAVA,CACP,ECKA,GAPA,SAAoBotD,CAAG,CAAE/tD,CAAG,EAC1B,IAAIukB,EAAOwpC,EAAI,QAAQ,CACvB,OAAO,GAAU/tD,GACbukB,CAAI,CAAC,AAAc,UAAd,OAAOvkB,EAAkB,SAAW,OAAO,CAChDukB,EAAK,GAAG,AACd,ECFA,SAASosC,GAASF,CAAO,EACvB,IAAIxgD,EAAQ,GACR9O,EAASsvD,AAAW,MAAXA,EAAkB,EAAIA,EAAQ,MAAM,CAGjD,IADA,IAAI,CAAC,KAAK,GACH,EAAExgD,EAAQ9O,GAAQ,CACvB,IAAIkU,EAAQo7C,CAAO,CAACxgD,EAAM,CAC1B,IAAI,CAAC,GAAG,CAACoF,CAAK,CAAC,EAAE,CAAEA,CAAK,CAAC,EAAE,CAC7B,CACF,CAGAs7C,GAAS,SAAS,CAAC,KAAK,CCdxB,WACE,IAAI,CAAC,IAAI,CAAG,EACZ,IAAI,CAAC,QAAQ,CAAG,CACd,KAAQ,IPiBGH,GOhBX,IAAO,GAAK,CXTD,IlByBAE,E6BhBQ,EACnB,OAAU,IPeCF,EOdb,CACF,EDQAG,GAAS,SAAS,CAAC,MAAS,CEf5B,SAAwB3wD,CAAG,EACzB,IAAI4f,EAAS,GAAW,IAAI,CAAE5f,GAAK,MAAS,CAACA,GAE7C,OADA,IAAI,CAAC,IAAI,EAAI4f,EAAS,EAAI,EACnBA,CACT,EFYA+wC,GAAS,SAAS,CAAC,GAAG,CGhBtB,SAAqB3wD,CAAG,EACtB,OAAO,GAAW,IAAI,CAAEA,GAAK,GAAG,CAACA,EACnC,EHeA2wD,GAAS,SAAS,CAAC,GAAG,CIjBtB,SAAqB3wD,CAAG,EACtB,OAAO,GAAW,IAAI,CAAEA,GAAK,GAAG,CAACA,EACnC,EJgBA2wD,GAAS,SAAS,CAAC,GAAG,CKjBtB,SAAqB3wD,CAAG,CAAEW,CAAK,EAC7B,IAAI4jB,EAAO,GAAW,IAAI,CAAEvkB,GACxBiD,EAAOshB,EAAK,IAAI,CAIpB,OAFAA,EAAK,GAAG,CAACvkB,EAAKW,GACd,IAAI,CAAC,IAAI,EAAI4jB,EAAK,IAAI,EAAIthB,EAAO,EAAI,EAC9B,IAAI,AACb,ECLA,SAAS4tD,GAAMJ,CAAO,EACpB,IAAIlsC,EAAO,IAAI,CAAC,QAAQ,CAAG,IlCgBdmsC,GkChB4BD,EACzC,KAAI,CAAC,IAAI,CAAGlsC,EAAK,IAAI,AACvB,CAGAssC,GAAM,SAAS,CAAC,KAAK,CCXrB,WACE,IAAI,CAAC,QAAQ,CAAG,InCqBHH,GmCpBb,IAAI,CAAC,IAAI,CAAG,CACd,EDSAG,GAAM,SAAS,CAAC,MAAS,CEZzB,SAAqB7wD,CAAG,EACtB,IAAIukB,EAAO,IAAI,CAAC,QAAQ,CACpB3E,EAAS2E,EAAK,MAAS,CAACvkB,GAG5B,OADA,IAAI,CAAC,IAAI,CAAGukB,EAAK,IAAI,CACd3E,CACT,EFOAixC,GAAM,SAAS,CAAC,GAAG,CGbnB,SAAkB7wD,CAAG,EACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACA,EAC3B,EHYA6wD,GAAM,SAAS,CAAC,GAAG,CIdnB,SAAkB7wD,CAAG,EACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACA,EAC3B,EJaA6wD,GAAM,SAAS,CAAC,GAAG,CKPnB,SAAkB7wD,CAAG,CAAEW,CAAK,EAC1B,IAAI4jB,EAAO,IAAI,CAAC,QAAQ,CACxB,GAAIA,avCYSmsC,GuCZkB,CAC7B,IAAIK,EAAQxsC,EAAK,QAAQ,CACzB,GAAI,CrBfO,IqBeEwsC,EAAM,MAAM,CAAGC,IAG1B,OAFAD,EAAM,IAAI,CAAC,CAAC/wD,EAAKW,EAAM,EACvB,IAAI,CAAC,IAAI,CAAG,EAAE4jB,EAAK,IAAI,CAChB,IAAI,CAEbA,EAAO,IAAI,CAAC,QAAQ,CAAG,IXKZosC,GWLyBI,EACtC,CAGA,OAFAxsC,EAAK,GAAG,CAACvkB,EAAKW,GACd,IAAI,CAAC,IAAI,CAAG4jB,EAAK,IAAI,CACd,IAAI,AACb,EC7BA,IAAIy5D,GAAkB,WACpB,GAAI,CACF,IAAIp/B,EAAO,GAAU3/C,OAAQ,kBAE7B,OADA2/C,EAAK,CAAC,EAAG,GAAI,CAAC,GACPA,CACT,CAAE,MAAOl/C,EAAG,CAAC,CACf,ICgBA,OAbA,SAAyBR,CAAM,CAAEc,CAAG,CAAEW,CAAK,EACrCX,AAAO,aAAPA,GDFSg+E,GCGX,ADHWA,GCGI9+E,EAAQc,EAAK,CAC1B,aAAgB,GAChB,WAAc,GACd,MAASW,EACT,SAAY,EACd,GAEAzB,CAAM,CAACc,EAAI,CAAGW,CAElB,ECHA,GAPA,SAA0BzB,CAAM,CAAEc,CAAG,CAAEW,CAAK,EACtC,CAAWD,KAAAA,IAAVC,GAAuB,CAAC,GAAGzB,CAAM,CAACc,EAAI,CAAEW,IACxCA,AAAUD,KAAAA,IAAVC,GAAuB,CAAEX,CAAAA,KAAOd,CAAK,CAAE,GAC1C,GAAgBA,EAAQc,EAAKW,EAEjC,ECFA,O/DPS,SAASzB,CAAM,CAAEkvD,CAAQ,CAAEgG,CAAQ,EAMxC,IALA,IAAInkD,EAAQ,GACRguE,EAAWh/E,OAAOC,GAClBmnC,EAAQ+tB,EAASl1D,GACjBiC,EAASklC,EAAM,MAAM,CAElBllC,KAAU,CACf,IAAInB,EAAMqmC,CAAK,CAAsB,EAAEp2B,EAAM,CAC7C,GAAIm+C,AAA2C,KAA3CA,EAAS6vB,CAAQ,CAACj+E,EAAI,CAAEA,EAAKi+E,GAC/B,KAEJ,CACA,OAAO/+E,CACT,EgElBF,IAAIyuD,GAAc,AAAkB,UAAlB,OAAO7uD,SAAuBA,SAAW,CAACA,QAAQ,QAAQ,EAAIA,QAG5E8uD,GAAaD,IAAe,AAAiB,UAAjB,OAAO9uD,QAAsBA,QAAU,CAACA,OAAO,QAAQ,EAAIA,OAMvFqC,GAAS2sD,AAHOD,IAAcA,GAAW,OAAO,GAAKD,GAG5B,AtCJd,GsCIc,MAAW,CAAGjtD,KAAAA,EACvCoB,GAAcZ,GAASA,GAAO,WAAW,CAAGR,KAAAA,EAqBhD,OAXA,SAAqBmE,CAAM,CAAEouD,CAAM,EACjC,GAAIA,EACF,OAAOpuD,EAAO,KAAK,GAErB,IAAI1D,EAAS0D,EAAO,MAAM,CACtB+a,EAAS9d,GAAcA,GAAYX,GAAU,IAAI0D,EAAO,WAAW,CAAC1D,GAGxE,OADA0D,EAAO,IAAI,CAAC+a,GACLA,CACT,EC7BA,IAAIte,GAAa,AvCKF,GuCLE,UAAe,CCYhC,OANA,SAA0B+vD,CAAW,EACnC,IAAIzxC,EAAS,IAAIyxC,EAAY,WAAW,CAACA,EAAY,UAAU,EAE/D,OADA,IDNa/vD,GCMEse,GAAQ,GAAG,CAAC,IDNdte,GCM6B+vD,IACnCzxC,CACT,ECEA,GALA,SAAyBm0C,CAAU,CAAEd,CAAM,EACzC,IAAIpuD,EAASouD,EAAS,GAAiBc,EAAW,MAAM,EAAIA,EAAW,MAAM,CAC7E,OAAO,IAAIA,EAAW,WAAW,CAAClvD,EAAQkvD,EAAW,UAAU,CAAEA,EAAW,MAAM,CACpF,ECMA,GAXA,SAAmB9zC,CAAM,CAAE9d,CAAK,EAC9B,IAAI8N,EAAQ,GACR9O,EAAS8e,EAAO,MAAM,CAG1B,IADA9d,GAAUA,CAAAA,EAAQoF,MAAMpG,EAAM,EACvB,EAAE8O,EAAQ9O,GACfgB,CAAK,CAAC8N,EAAM,CAAGgQ,CAAM,CAAChQ,EAAM,CAE9B,OAAO9N,CACT,ECdA,IAAIktD,GAAepwD,OAAO,MAAM,CAU5Bi/E,GAAc,WAChB,SAASh/E,IAAU,CACnB,OAAO,SAASw0D,CAAK,EACnB,GAAI,CAAC,GAASA,GACZ,MAAO,CAAC,EAEV,GAAIrE,GACF,OAAOA,GAAaqE,EAEtBx0D,CAAAA,EAAO,SAAS,CAAGw0D,EACnB,IAAI9zC,EAAS,IAAI1gB,EAEjB,OADAA,EAAO,SAAS,CAAGwB,KAAAA,EACZkf,CACT,CACF,ICbA,OANA,SAAiBg/B,CAAI,CAAE8P,CAAS,EAC9B,OAAO,SAAS/sD,CAAG,EACjB,OAAOi9C,EAAK8P,EAAU/sD,GACxB,CACF,ECTA,IAAIytD,GAAe,GAAQnwD,OAAO,cAAc,CAAEA,QCF9C,GAAcA,OAAO,SAAS,CAgBlC,OAPA,SAAqB0B,CAAK,EACxB,IAAIqxD,EAAOrxD,GAASA,EAAM,WAAW,CAGrC,OAAOA,IAFK,CAAgB,YAAf,OAAOqxD,GAAsBA,EAAK,SAAS,EAAK,GAG/D,ECEA,GANA,SAAyB9yD,CAAM,EAC7B,MAAO,AAAC,AAA6B,YAA7B,OAAOA,EAAO,WAAW,EAAmB,GAAYA,GAE5D,CAAC,EADD,AJgBSg/E,GIhBE,AFRF9uB,GEQelwD,GAE9B,ECaA,GAJA,SAAsByB,CAAK,EACzB,OAAOA,AAAS,MAATA,GAAiB,AAAgB,UAAhB,OAAOA,CACjC,ECTA,GAJA,SAAyBA,CAAK,EAC5B,OAAO,GAAaA,IAAU,AAVlB,sBAUkB,GAAWA,EAC3C,ECXA,IAAI,GAAc1B,OAAO,SAAS,CAG9B,GAAiB,GAAY,cAAc,CAG3CqwD,GAAuB,GAAY,oBAAoB,CAoBvDmD,GAAc,GAAgB,WAAa,OAAO5sD,SAAW,KAAO,GAAkB,SAASlF,CAAK,EACtG,OAAO,GAAaA,IAAU,GAAe,IAAI,CAACA,EAAO,WACvD,CAAC2uD,GAAqB,IAAI,CAAC3uD,EAAO,SACtC,ECVI,GAAU4G,MAAM,OAAO,CCW3B,OALA,SAAkB5G,CAAK,EACrB,MAAO,AAAgB,UAAhB,OAAOA,GACZA,EAAQ,IAAMA,EAAQ,GAAK,GAAKA,GA9Bb,gBA+BvB,ECAA,GAJA,SAAqBA,CAAK,EACxB,OAAOA,AAAS,MAATA,GAAiB,GAASA,EAAM,MAAM,GAAK,CAACkxD,GAAWlxD,EAChE,EC1BA,IAAI,GAAc,AAAkB,UAAlB,OAAO7B,SAAuBA,SAAW,CAACA,QAAQ,QAAQ,EAAIA,QAG5E,GAAa,IAAe,AAAiB,UAAjB,OAAOD,QAAsBA,QAAU,CAACA,OAAO,QAAQ,EAAIA,OAMvF,GAAS,AAHO,IAAc,GAAW,OAAO,GAAK,GAG5B,AtDLd,GsDKc,MAAW,CAAG6B,KAAAA,EAGvC+uD,GAAiB,GAAS,GAAO,QAAQ,CAAG/uD,KAAAA,EAqBhD,OAFe+uD,ICtBf,WACE,MAAO,EACT,ECPA,IACI,GAAcxwD,OAAO,SAAS,CAG9B,GAAe,AAJHO,SAAS,SAAS,CAIL,QAAQ,CAGjC,GAAiB,GAAY,cAAc,CAG3C2+E,GAAmB,GAAa,IAAI,CAACl/E,QA2CzC,OAbA,SAAuB0B,CAAK,EAC1B,GAAI,CAAC,GAAaA,IAAU,AA5Cd,mBA4Cc,GAAWA,GACrC,MAAO,GAET,IAAI+yD,EAAQ,AX/CCtE,GW+CYzuD,GACzB,GAAI+yD,AAAU,OAAVA,EACF,MAAO,GAET,IAAI1B,EAAO,GAAe,IAAI,CAAC0B,EAAO,gBAAkBA,EAAM,WAAW,CACzE,MAAO,AAAe,YAAf,OAAO1B,GAAsBA,aAAgBA,GAClD,GAAa,IAAI,CAACA,IAASmsB,EAC/B,EC3BA,IAAIxpB,GAAiB,CAAC,CACtBA,CAAAA,EAAc,CAZG,wBAYS,CAAGA,EAAc,CAX1B,wBAWsC,CACvDA,EAAc,CAXA,qBAWS,CAAGA,EAAc,CAVzB,sBAUmC,CAClDA,EAAc,CAVC,sBAUS,CAAGA,EAAc,CAT1B,sBASoC,CACnDA,EAAc,CATQ,6BASS,CAAGA,EAAc,CARhC,uBAQ2C,CAC3DA,EAAc,CARE,uBAQS,CAAG,GAC5BA,EAAc,CAjCA,qBAiCS,CAAGA,EAAc,CAhCzB,iBAgCmC,CAClDA,EAAc,CApBO,uBAoBS,CAAGA,EAAc,CAhCjC,mBAgC0C,CACxDA,EAAc,CApBI,oBAoBS,CAAGA,EAAc,CAhC9B,gBAgCuC,CACrDA,EAAc,CAhCC,iBAgCS,CAAGA,EAAc,CA/B3B,oBA+BoC,CAClDA,EAAc,CA/BD,eA+BS,CAAGA,EAAc,CA9BvB,kBA8BkC,CAClDA,EAAc,CA9BE,kBA8BS,CAAGA,EAAc,CA7B1B,kBA6BqC,CACrDA,EAAc,CA7BD,eA6BS,CAAGA,EAAc,CA5BvB,kBA4BkC,CAClDA,EAAc,CA5BG,mBA4BS,CAAG,GChC7B,OANA,SAAmB/V,CAAI,EACrB,OAAO,SAASj+C,CAAK,EACnB,OAAOi+C,EAAKj+C,EACd,CACF,ECRA,IAAI,GAAc,AAAkB,UAAlB,OAAO7B,SAAuBA,SAAW,CAACA,QAAQ,QAAQ,EAAIA,QAG5E,GAAa,IAAe,AAAiB,UAAjB,OAAOD,QAAsBA,QAAU,CAACA,OAAO,QAAQ,EAAIA,OAMvF+1D,GAAc,AAHE,IAAc,GAAW,OAAO,GAAK,IAGtB,A5DTpBnH,G4DSoB,OAAkB,CAGjDoH,GAAY,WACd,GAAI,CAEF,IAAIupB,EAAQ,IAAc,GAAW,OAAO,EAAI,GAAW,OAAO,CAAC,QAAQ,KAAK,CAEhF,GAAIA,EACF,OAAOA,EAIT,OAAOxpB,IAAeA,GAAY,OAAO,EAAIA,GAAY,OAAO,CAAC,OACnE,CAAE,MAAOl1D,EAAG,CAAC,CACf,ICtBIo1D,GAAmB,ADwBRD,ICxBoB,ADwBpBA,GCxBoB,YAAqB,CAmBpDwB,GAAevB,GAAmB,GAAUA,IH8BhD,SAA0Bn0D,CAAK,EAC7B,OAAO,GAAaA,IAClB,GAASA,EAAM,MAAM,GAAK,CAAC,CAACg0D,EAAc,CAAC,GAAWh0D,GAAO,AACjE,EIrCA,OAZA,SAAiBzB,CAAM,CAAEc,CAAG,EAC1B,GAAIA,CAAAA,AAAQ,gBAARA,GAAyB,AAAuB,YAAvB,OAAOd,CAAM,CAACc,EAAI,AAAc,GAIzDA,AAAO,aAAPA,EAIJ,OAAOd,CAAM,CAACc,EAAI,AACpB,ECXA,IAAI,GAAiB,AAHHf,OAAO,SAAS,CAGD,cAAc,CAoB/C,OARA,SAAqBC,CAAM,CAAEc,CAAG,CAAEW,CAAK,EACrC,IAAIuwD,EAAWhyD,CAAM,CAACc,EAAI,CACtB,EAAE,IAAe,IAAI,CAACd,EAAQc,IAAQ,GAAGkxD,EAAUvwD,EAAK,GACvDA,AAAUD,KAAAA,IAAVC,GAAuB,CAAEX,CAAAA,KAAOd,CAAK,CAAE,GAC1C,GAAgBA,EAAQc,EAAKW,EAEjC,ECcA,GA1BA,SAAoBsf,CAAM,CAAEomB,CAAK,CAAEnnC,CAAM,CAAEqyD,CAAU,EACnD,IAAI8sB,EAAQ,CAACn/E,CACbA,CAAAA,GAAWA,CAAAA,EAAS,CAAC,GAKrB,IAHA,IAAI+Q,EAAQ,GACR9O,EAASklC,EAAM,MAAM,CAElB,EAAEp2B,EAAQ9O,GAAQ,CACvB,IAAInB,EAAMqmC,CAAK,CAACp2B,EAAM,CAElBuhD,EAAWD,EACXA,EAAWryD,CAAM,CAACc,EAAI,CAAEigB,CAAM,CAACjgB,EAAI,CAAEA,EAAKd,EAAQ+gB,GAClDvf,KAAAA,CAEaA,MAAAA,IAAb8wD,GACFA,CAAAA,EAAWvxC,CAAM,CAACjgB,EAAI,AAAD,EAEnBq+E,EACF,GAAgBn/E,EAAQc,EAAKwxD,GAE7B,GAAYtyD,EAAQc,EAAKwxD,EAE7B,CACA,OAAOtyD,CACT,EClBA,GAVA,SAAmB6E,CAAC,CAAEqqD,CAAQ,EAI5B,IAHA,IAAIn+C,EAAQ,GACR2P,EAASrY,MAAMxD,GAEZ,EAAEkM,EAAQlM,GACf6b,CAAM,CAAC3P,EAAM,CAAGm+C,EAASn+C,GAE3B,OAAO2P,CACT,ECbA,IAAI2tC,GAAW,mBAoBf,OAVA,SAAiB5sD,CAAK,CAAEQ,CAAM,EAC5B,IAAIiS,EAAO,OAAOzS,EAGlB,MAAO,CAAC,CAFRQ,CAAAA,EAASA,AAAU,MAAVA,EAfY,iBAewBA,CAAK,GAG/CiS,CAAAA,AAAQ,UAARA,GACEA,AAAQ,UAARA,GAAoBm6C,GAAS,IAAI,CAAC5sD,EAAM,GACtCA,EAAQ,IAAMA,EAAQ,GAAK,GAAKA,EAAQQ,CACjD,ECXA,IAAI,GAAiB,AAHHlC,OAAO,SAAS,CAGD,cAAc,CAqC/C,OA3BA,SAAuB0B,CAAK,CAAE6xD,CAAS,EACrC,IAAIY,EAAQnyD,AfGC,GeHON,GAChB21D,EAAQ,CAAClD,GAAS,AhBYTX,GgBZqB9xD,GAC9B41D,EAAS,CAACnD,GAAS,CAACkD,GAAShE,GAAS3xD,GACtC61D,EAAS,CAACpD,GAAS,CAACkD,GAAS,CAACC,GAAU,ANC/BF,GMD4C11D,GACrDkyD,EAAcO,GAASkD,GAASC,GAAUC,EAC1C52C,EAASizC,EAAc,GAAUlyD,EAAM,MAAM,CAAEyD,QAAU,EAAE,CAC3DjD,EAASye,EAAO,MAAM,CAE1B,IAAK,IAAI5f,KAAOW,EACT6xD,CAAAA,GAAa,GAAe,IAAI,CAAC7xD,EAAOX,EAAG,GAC5C,CAAE6yD,CAAAA,GAEC7yD,CAAAA,AAAO,UAAPA,GAECu2D,GAAWv2D,CAAAA,AAAO,UAAPA,GAAmBA,AAAO,UAAPA,CAAc,GAE5Cw2D,GAAWx2D,CAAAA,AAAO,UAAPA,GAAmBA,AAAO,cAAPA,GAAuBA,AAAO,cAAPA,CAAkB,GAExE,GAAQA,EAAKmB,EAAM,CACtB,GACFye,EAAO,IAAI,CAAC5f,GAGhB,OAAO4f,CACT,EC3BA,GAVA,SAAsB1gB,CAAM,EAC1B,IAAI0gB,EAAS,EAAE,CACf,GAAI1gB,AAAU,MAAVA,EACF,IAAK,IAAIc,KAAOf,OAAOC,GACrB0gB,EAAO,IAAI,CAAC5f,GAGhB,OAAO4f,CACT,ECTA,IAAI,GAAiB,AAHH3gB,OAAO,SAAS,CAGD,cAAc,CAwB/C,OAfA,SAAoBC,CAAM,EACxB,GAAI,CAAC,GAASA,GACZ,OAAO,GAAaA,GAEtB,IAAIo/E,EAAU,GAAYp/E,GACtB0gB,EAAS,EAAE,CAEf,IAAK,IAAI5f,KAAOd,EACV,CAAEc,CAAAA,AAAO,eAAPA,GAAyBs+E,CAAAA,GAAW,CAAC,GAAe,IAAI,CAACp/E,EAAQc,EAAG,CAAC,GACzE4f,EAAO,IAAI,CAAC5f,GAGhB,OAAO4f,CACT,ECCA,GAJA,SAAgB1gB,CAAM,EACpB,OAAOkzD,GAAYlzD,GAAU,GAAcA,EAAQ,IAAQ,GAAWA,EACxE,ECgEA,GA9DA,SAAuBA,CAAM,CAAE+gB,CAAM,CAAEjgB,CAAG,CAAEu+E,CAAQ,CAAEC,CAAS,CAAEjtB,CAAU,CAAE4B,CAAK,EAChF,IAAIjC,EAAW,GAAQhyD,EAAQc,GAC3By+E,EAAW,GAAQx+D,EAAQjgB,GAC3Bk0D,EAAUf,EAAM,GAAG,CAACsrB,GAExB,GAAIvqB,EAAS,CACX,GAAiBh1D,EAAQc,EAAKk0D,GAC9B,MACF,CACA,IAAI1C,EAAWD,EACXA,EAAWL,EAAUutB,EAAWz+E,EAAM,GAAKd,EAAQ+gB,EAAQkzC,GAC3DzyD,KAAAA,EAEAg+E,EAAWltB,AAAa9wD,KAAAA,IAAb8wD,EAEf,GAAIktB,EAAU,CACZ,ICnBuB/9E,ECDJA,EFoBfyyD,EAAQnyD,AnBtBD,GmBsBSw9E,GAChBloB,EAAS,CAACnD,GAASd,GAASmsB,GAC5BE,EAAU,CAACvrB,GAAS,CAACmD,GAAU,AVvBxBF,GUuBqCooB,GAGhD,GADAjtB,EAAWitB,EACPrrB,GAASmD,GAAUooB,GACrB,GAAI19E,AnB5BK,GmB4BGiwD,GACVM,EAAWN,MAER,KC3BF,GADkBvwD,ED4BMuwD,IC3BDkB,GAAYzxD,GD4BpC6wD,EAAW,GAAUN,QAEdqF,GACPmoB,EAAW,GACXltB,EAAW,GAAYitB,EAAU,KAE1BE,GACPD,EAAW,GACXltB,EAAW,GAAgBitB,EAAU,KAGrCjtB,EAAW,EAAE,AACf,OAEG,GAAIotB,GAAcH,IAAa,ApBpCzBhsB,GoBoCqCgsB,IAE9C,GADAjtB,EAAWN,EACP,ApBtCKuB,GoBsCOvB,GAAW,EACzBM,EE9CC,GADc7wD,EF+CUuwD,EE9CN2tB,GAAOl+E,GF+C5B,KACS,EAAC,GAASuwD,IAAaW,GAAWX,EAAQ,GACjDM,CAAAA,EAAW,GAAgBitB,EAAQ,OAIrCC,EAAW,EAEf,CACIA,IAEFvrB,EAAM,GAAG,CAACsrB,EAAUjtB,GACpBgtB,EAAUhtB,EAAUitB,EAAUF,EAAUhtB,EAAY4B,GACpDA,EAAM,MAAS,CAACsrB,IAElB,GAAiBv/E,EAAQc,EAAKwxD,EAChC,EGlDA,GAtBA,SAASstB,EAAU5/E,CAAM,CAAE+gB,CAAM,CAAEs+D,CAAQ,CAAEhtB,CAAU,CAAE4B,CAAK,EAC5D,GAAIj0D,IAAW+gB,EAGf,GAAQA,EAAQ,SAASw+D,CAAQ,CAAEz+E,CAAG,EAEpC,GADAmzD,GAAUA,CAAAA,EAAQ,I7CEPtC,E6CFW,EAClB,GAAS4tB,GACX,GAAcv/E,EAAQ+gB,EAAQjgB,EAAKu+E,EAAUO,EAAWvtB,EAAY4B,OAEjE,CACH,IAAI3B,EAAWD,EACXA,EAAW,GAAQryD,EAAQc,GAAMy+E,EAAWz+E,EAAM,GAAKd,EAAQ+gB,EAAQkzC,GACvEzyD,KAAAA,CAEaA,MAAAA,IAAb8wD,GACFA,CAAAA,EAAWitB,CAAO,EAEpB,GAAiBv/E,EAAQc,EAAKwxD,EAChC,CACF,EAAGqtB,GACL,ECnBA,GAJA,SAAkBl+E,CAAK,EACrB,OAAOA,CACT,ECEA,GAVA,SAAei+C,CAAI,CAAEzC,CAAO,CAAEjwC,CAAI,EAChC,OAAQA,EAAK,MAAM,EACjB,KAAK,EAAG,OAAO0yC,EAAK,IAAI,CAACzC,EACzB,MAAK,EAAG,OAAOyC,EAAK,IAAI,CAACzC,EAASjwC,CAAI,CAAC,EAAE,CACzC,MAAK,EAAG,OAAO0yC,EAAK,IAAI,CAACzC,EAASjwC,CAAI,CAAC,EAAE,CAAEA,CAAI,CAAC,EAAE,CAClD,MAAK,EAAG,OAAO0yC,EAAK,IAAI,CAACzC,EAASjwC,CAAI,CAAC,EAAE,CAAEA,CAAI,CAAC,EAAE,CAAEA,CAAI,CAAC,EAAE,CAC7D,CACA,OAAO0yC,EAAK,KAAK,CAACzC,EAASjwC,EAC7B,ECfA,IAAI6yE,GAAY56E,KAAK,GAAG,CrGEpB66E,GAAY7qD,KAAK,GAAG,CsGMxB,IAAI8qD,ItGKcrgC,EuGJI,A5CFPo/B,G4CEoC,SAASp/B,CAAI,CAAEr8C,CAAM,MCOtD5B,EDNhB,OAAO,A5CHMq9E,G4CGSp/B,EAAM,WAAY,CACtC,aAAgB,GAChB,WAAc,GACd,KAAO,ECGOj+C,EDHI4B,ECIb,WACL,OAAO5B,CACT,GDLE,SAAY,EACd,EACF,EAPwCu+E,GvGKlC1nE,EAAQ,EACRw1D,EAAa,EAEV,WACL,IAAImS,EAAQH,KACRt4E,EAAY04E,AApBL,GAoBiBD,CAAAA,EAAQnS,CAAS,EAG7C,GADAA,EAAamS,EACTz4E,EAAY,EACd,IAAI,EAAE8Q,GAzBI,IA0BR,OAAO3R,SAAS,CAAC,EAAE,AACrB,MAEA2R,EAAQ,EAEV,OAAOonC,EAAK,KAAK,CAACl+C,KAAAA,EAAWmF,UAC/B,GyGjBF,OAJA,SAAkB+4C,CAAI,CAAEn7C,CAAK,MJEXm7C,EAAMn7C,EAAOirD,EID7B,OAAO,AHAMuwB,IDCGrgC,EIDYA,EJCNn7C,EIDYA,EJCLirD,EIDYwwB,GJEzCz7E,EAAQs7E,GAAUt7E,AAAU/C,KAAAA,IAAV+C,EAAuBm7C,EAAK,MAAM,CAAG,EAAKn7C,EAAO,GAC5D,WAML,IALA,IAAIyI,EAAOrG,UACPoK,EAAQ,GACR9O,EAAS49E,GAAU7yE,EAAK,MAAM,CAAGzI,EAAO,GACxCtB,EAAQoF,MAAMpG,GAEX,EAAE8O,EAAQ9O,GACfgB,CAAK,CAAC8N,EAAM,CAAG/D,CAAI,CAACzI,EAAQwM,EAAM,CAEpCA,EAAQ,GAER,IADA,IAAIovE,EAAY93E,MAAM9D,EAAQ,GACvB,EAAEwM,EAAQxM,GACf47E,CAAS,CAACpvE,EAAM,CAAG/D,CAAI,CAAC+D,EAAM,CAGhC,OADAovE,CAAS,CAAC57E,EAAM,CAAGirD,EAAUvsD,GACtB,GAAMy8C,EAAM,IAAI,CAAEygC,EAC3B,GInBoDzgC,EAAO,GAC7D,ECeA,GAdA,SAAwBj+C,CAAK,CAAEsP,CAAK,CAAE/Q,CAAM,EAC1C,GAAI,CAAC,GAASA,GACZ,MAAO,GAET,IAAIkU,EAAO,OAAOnD,QAClB,AAAImD,CAAAA,AAAQ,UAARA,IACKg/C,CAAAA,GAAYlzD,IAAW,GAAQ+Q,EAAO/Q,EAAO,MAAM,GACnDkU,AAAQ,UAARA,GAAoBnD,KAAS/Q,CAAM,GAEnC,GAAGA,CAAM,CAAC+Q,EAAM,CAAEtP,EAG7B,ECOA,IAAI2+E,I1GxBoBrS,E0GwBG,SAAS/tE,CAAM,CAAE+gB,CAAM,CAAEs+D,CAAQ,EAC1D,GAAUr/E,EAAQ+gB,EAAQs+D,EAC5B,E1GzBS,GAAS,SAASr/E,CAAM,CAAEqgF,CAAO,EACtC,IAAItvE,EAAQ,GACR9O,EAASo+E,EAAQ,MAAM,CACvBhuB,EAAapwD,EAAS,EAAIo+E,CAAO,CAACp+E,EAAS,EAAE,CAAGT,KAAAA,EAChD8+E,EAAQr+E,EAAS,EAAIo+E,CAAO,CAAC,EAAE,CAAG7+E,KAAAA,EAWtC,IATA6wD,EAAa,AAAC0b,EAAS,MAAM,CAAG,GAAK,AAAqB,YAArB,OAAO1b,EACvCpwD,CAAAA,IAAUowD,CAAS,EACpB7wD,KAAAA,EAEA8+E,GAAS,GAAeD,CAAO,CAAC,EAAE,CAAEA,CAAO,CAAC,EAAE,CAAEC,KAClDjuB,EAAapwD,EAAS,EAAIT,KAAAA,EAAY6wD,EACtCpwD,EAAS,GAEXjC,EAASD,OAAOC,GACT,EAAE+Q,EAAQ9O,GAAQ,CACvB,IAAI8e,EAASs/D,CAAO,CAACtvE,EAAM,CACvBgQ,GACFgtD,EAAS/tE,EAAQ+gB,EAAQhQ,EAAOshD,EAEpC,CACA,OAAOryD,CACT,IPjCF,IAAIugF,IAAsC5S,CAAZA,EAAye4S,IAAS,CAAC,EAAje,CAAC5S,EAAO,IAAI,CAAG,EAAE,CAAG,OAAQA,CAAM,CAACA,EAAO,KAAK,CAAG,GAAG,CAAG,QAASA,CAAM,CAACA,EAAO,SAAS,CAAG,GAAG,CAAG,YAAaA,CAAM,CAACA,EAAO,IAAI,CAAG,GAAG,CAAG,OAAQA,CAAM,CAACA,EAAO,MAAM,CAAG,EAAE,CAAG,SAAUA,CAAM,CAACA,EAAO,KAAK,CAAG,GAAG,CAAG,QAASA,CAAM,CAACA,EAAO,UAAU,CAAG,GAAG,CAAG,aAAcA,CAAM,CAACA,EAAO,WAAW,CAAG,EAAE,CAAG,cAAeA,CAAM,CAACA,EAAO,eAAe,CAAG,EAAE,CAAG,kBAAmBA,CAAM,CAACA,EAAO,gBAAgB,CAAG,EAAE,CAAG,mBAAoBA,CAAM,CAACA,EAAO,GAAG,CAAG,GAAG,CAAG,MAAOA,EAC9f,OAAM6S,GACJ,YAAYt6D,CAAQ,CAAEu6D,CAAO,CAAEp/E,EAAU,CAAC,CAAC,CAAE,CAC3C,IAAI,CAAC,QAAQ,CAAG6kB,EAAU,IAAI,CAAC,OAAO,CAAGu6D,EACzC,IAAMC,EAAeH,GAAM,IAAI,CAAGA,GAAM,SAAS,AACjD,KAAI,CAAC,KAAK,CAAGl/E,AAAiB,MAAjBA,EAAQ,KAAK,CAExBA,EAAQ,KAAK,CAAGk/E,GAAM,KAAK,CAAGG,EAC5BH,GAAM,SAAS,CAAEl/E,AAAqB,MAArBA,EAAQ,SAAS,EAAa,KAAI,CAAC,SAAS,CAAGA,EAAQ,SAAS,AAAD,CACtF,CACA,OAAO,KAAK6nE,CAAI,CAAE,CAChB,OAAO7gE,MAAM,IAAI,CAAC6gE,EAAK,UAAU,EAAE,GAAG,CAAC,AAACx9D,GAASA,EAAK,IAAI,CAC5D,CACA,IAAIw9D,CAAI,CAAEznE,CAAK,CAAE,CACf,MAAO,MAAI,CAAC,MAAM,CAACynE,EAAMznE,IAAUynE,CAAAA,EAAK,YAAY,CAAC,IAAI,CAAC,OAAO,CAAEznE,GAAQ,CAAC,EAC9E,CACA,OAAOk/E,CAAK,CAAEl/E,CAAK,CAAE,CACnB,OAAO,AAAkB,MAAlB,IAAI,CAAC,SAAS,EAAgB,CAAgB,UAAhB,OAAOA,EAAoB,IAAI,CAAC,SAAS,CAAC,OAAO,CAACA,EAAM,OAAO,CAAC,QAAS,KAAO,GAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAACA,GAAS,EAAC,CAC7J,CACA,OAAOynE,CAAI,CAAE,CACXA,EAAK,eAAe,CAAC,IAAI,CAAC,OAAO,CACnC,CACA,MAAMA,CAAI,CAAE,CACV,IAAMznE,EAAQynE,EAAK,YAAY,CAAC,IAAI,CAAC,OAAO,EAC5C,OAAO,IAAI,CAAC,MAAM,CAACA,EAAMznE,IAAUA,EAAQA,EAAQ,EACrD,CACF,CACA,MAAMm/E,WAAuBj+E,MAC3B,YAAY43B,CAAO,CAAE,CACnBA,AAAoC,KAAK,CAAzCA,EAAU,eAAiBA,GAAyB,IAAI,CAAC,OAAO,CAAGA,EAAS,IAAI,CAAC,IAAI,CAAG,IAAI,CAAC,WAAW,CAAC,IAAI,AAC/G,CACF,CACA,IAAM,GAAY,MAAMsmD,EACtB,aAAc,CACZ,IAAI,CAAC,UAAU,CAAG,CAAC,EAAG,IAAI,CAAC,OAAO,CAAG,CAAC,EAAG,IAAI,CAAC,IAAI,CAAG,CAAC,EAAG,IAAI,CAAC,KAAK,CAAG,CAAC,CACzE,CACA,OAAO,KAAK3X,CAAI,CAAE4X,EAAS,CAAC,CAAC,CAAE,CAC7B,GAAI5X,AAAQ,MAARA,EACF,OAAO,KACT,GAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAACA,GACjB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAACA,IAAS,KACjC,GAAI4X,EAAQ,CACV,IAAIC,EAAa,KACjB,GAAI,CACFA,EAAa7X,EAAK,UAAU,AAC9B,CAAE,KAAM,CACN,OAAO,IACT,CACA,OAAO,IAAI,CAAC,IAAI,CAAC6X,EAAYD,EAC/B,CACA,OAAO,IACT,CACA,OAAOE,CAAM,CAAE1hC,CAAK,CAAE79C,CAAK,CAAE,CAC3B,IAAMw/E,EAAS,IAAI,CAAC,KAAK,CAAC3hC,GAC1B,GAAI2hC,AAAU,MAAVA,EACF,MAAM,IAAIL,GAAe,CAAC,iBAAiB,EAAEthC,EAAM,KAAK,CAAC,EAC3D,IAA0B4pB,EAExB5pB,aAAiB4hC,MAAQ5hC,EAAM,QAAQ,GAAK4hC,KAAK,SAAS,CAAG5hC,EAAQ6hC,AAFrDF,EAE+D,MAAM,CAACx/E,GACrF2/E,EAAO,IAHQH,EAGMD,EAAQ9X,EAAMznE,GACtC,OAAOo/E,EAAU,KAAK,CAAC,GAAG,CAACO,EAAK,OAAO,CAAEA,GAAOA,CAClD,CACA,KAAKlY,CAAI,CAAE4X,EAAS,CAAC,CAAC,CAAE,CACtB,OAAOD,EAAU,IAAI,CAAC3X,EAAM4X,EAC9B,CACA,MAAMpf,CAAK,CAAE98C,EAAQ27D,GAAM,GAAG,CAAE,CAC9B,IAAIU,EACJ,MAAO,AAAgB,UAAhB,OAAOvf,EAAoBuf,EAAS,IAAI,CAAC,KAAK,CAACvf,EAAM,EAAI,IAAI,CAAC,UAAU,CAACA,EAAM,CAAGA,aAAiB53C,MAAQ43C,EAAM,QAAQ,GAAKwf,KAAK,SAAS,CAAGD,EAAS,IAAI,CAAC,KAAK,CAAC,IAAI,CAAG,AAAgB,UAAhB,OAAOvf,EAAoBA,EAAQ6e,GAAM,KAAK,CAAGA,GAAM,KAAK,CAAGU,EAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAGvf,EAAQ6e,GAAM,KAAK,CAAGA,GAAM,MAAM,EAAKU,CAAAA,EAAS,IAAI,CAAC,KAAK,CAAC,MAAM,AAAD,EAAKvf,aAAiBnI,SAAY,CAACmI,CAAAA,EAAM,YAAY,CAAC,UAAY,EAAC,EAAG,KAAK,CAAC,OAAO,IAAI,CAAC,AAAC7hE,GAAUohF,CAA8B,CAA9BA,CAAAA,EAAS,IAAI,CAAC,OAAO,CAACphF,EAAK,AAAD,GAAeohF,EAASA,GAAU,IAAI,CAAC,IAAI,CAACvf,EAAM,OAAO,CAAC,AAAD,EAAIuf,AAAU,MAAVA,EAAiB,KAAO,UAAWA,GAAUr8D,EAAQ27D,GAAM,KAAK,CAAGU,EAAO,KAAK,EAAIr8D,EAAQ27D,GAAM,IAAI,CAAGU,EAAO,KAAK,CAAGA,EAAS,IACxoB,CACA,SAAS,GAAGI,CAAW,CAAE,CACvB,OAAOA,EAAY,GAAG,CAAC,AAACC,IACtB,IAAMC,EAAS,aAAcD,EAAYE,EAAS,aAAcF,EAChE,GAAI,CAACC,GAAU,CAACC,EACd,MAAM,IAAIZ,GAAe,sBAC3B,GAAIW,GAAUD,AAAwB,aAAxBA,EAAW,QAAQ,CAC/B,MAAM,IAAIV,GAAe,kCAC3B,IAAM9/E,EAAMygF,EAASD,EAAW,QAAQ,CAAGE,EAASF,EAAW,QAAQ,CAAG,KAAK,EAC/E,OAAO,IAAI,CAAC,KAAK,CAACxgF,EAAI,CAAGwgF,EAAYE,EAAS,AAA6B,UAA7B,OAAOF,EAAW,OAAO,EAAiB,KAAI,CAAC,UAAU,CAACA,EAAW,OAAO,CAAC,CAAGA,CAAS,EAAKC,GAAWD,CAAAA,EAAW,SAAS,EAAK,KAAI,CAAC,OAAO,CAACA,EAAW,SAAS,CAAC,CAAGA,CAAS,EAAIA,EAAW,OAAO,EAAKj5E,CAAAA,MAAM,OAAO,CAACi5E,EAAW,OAAO,EAAIA,EAAW,OAAO,CAAGA,EAAW,OAAO,CAAC,GAAG,CAAC,AAACpmD,GAAYA,EAAQ,WAAW,IAAMomD,EAAW,OAAO,CAAGA,EAAW,OAAO,CAAC,WAAW,GAAI,AAACj5E,CAAAA,MAAM,OAAO,CAACi5E,EAAW,OAAO,EAAIA,EAAW,OAAO,CAAG,CAACA,EAAW,OAAO,CAAC,AAAD,EAAG,OAAO,CAAC,AAACroD,IAC7f,AAAC,CAAkB,MAAlB,IAAI,CAAC,IAAI,CAACA,EAAI,EAAYqoD,AAAwB,MAAxBA,EAAW,SAAS,AAAO,GAAO,KAAI,CAAC,IAAI,CAACroD,EAAI,CAAGqoD,CAAS,CACzF,EAAC,CAAC,EAAIA,CACR,EACF,CACF,CACA,IAAU,KAAK,CAAmB,IAAI1wB,QACtC,IAAI6wB,GAAW,GACf,SAAS,GAAMvY,CAAI,CAAEvuC,CAAM,EACzB,MAAO,AAACuuC,CAAAA,EAAK,YAAY,CAAC,UAAY,EAAC,EAAG,KAAK,CAAC,OAAO,MAAM,CAAC,AAACrpE,GAASA,AAA+B,IAA/BA,EAAK,OAAO,CAAC,CAAC,EAAE86B,EAAO,CAAC,CAAC,EACnG,CAkBA,IAAM+mD,GAjBN,MAAMC,UAAwBnB,GAC5B,OAAO,KAAKtX,CAAI,CAAE,CAChB,MAAO,AAACA,CAAAA,EAAK,YAAY,CAAC,UAAY,EAAC,EAAG,KAAK,CAAC,OAAO,GAAG,CAAC,AAACrpE,GAASA,EAAK,KAAK,CAAC,KAAK,KAAK,CAAC,EAAG,IAAI,IAAI,CAAC,KACzG,CACA,IAAIqpE,CAAI,CAAEznE,CAAK,CAAE,CACf,MAAO,MAAI,CAAC,MAAM,CAACynE,EAAMznE,IAAU,KAAI,CAAC,MAAM,CAACynE,GAAOA,EAAK,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAEznE,EAAM,CAAC,EAAG,CAAC,EACzG,CACA,OAAOynE,CAAI,CAAE,CACX,GAAMA,EAAM,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,AAACrpE,IACjCqpE,EAAK,SAAS,CAAC,MAAM,CAACrpE,EACxB,GAAIqpE,AAA0B,IAA1BA,EAAK,SAAS,CAAC,MAAM,EAAUA,EAAK,eAAe,CAAC,QAC1D,CACA,MAAMA,CAAI,CAAE,CACV,IAAMznE,EAAQ,AAAC,IAAMynE,EAAM,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAI,EAAC,EAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAG,GAC/E,OAAO,IAAI,CAAC,MAAM,CAACA,EAAMznE,GAASA,EAAQ,EAC5C,CACF,EAEA,SAASmgF,GAAS/hF,CAAI,EACpB,IAAMs8B,EAAQt8B,EAAK,KAAK,CAAC,KAAM2sE,EAAOrwC,EAAM,KAAK,CAAC,GAAG,GAAG,CAAC,AAACg7C,GAASA,CAAI,CAAC,EAAE,CAAC,WAAW,GAAKA,EAAK,KAAK,CAAC,IAAI,IAAI,CAAC,IAC/G,OAAOh7C,CAAK,CAAC,EAAE,CAAGqwC,CACpB,CAgBA,IAAMqV,GAfN,MAAMC,UAAwBtB,GAC5B,OAAO,KAAKtX,CAAI,CAAE,CAChB,MAAO,AAACA,CAAAA,EAAK,YAAY,CAAC,UAAY,EAAC,EAAG,KAAK,CAAC,KAAK,GAAG,CAAC,AAACznE,GAAUA,EAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAC9F,CACA,IAAIynE,CAAI,CAAEznE,CAAK,CAAE,CACf,MAAO,MAAI,CAAC,MAAM,CAACynE,EAAMznE,IAAUynE,CAAAA,EAAK,KAAK,CAAC0Y,GAAS,IAAI,CAAC,OAAO,EAAE,CAAGngF,EAAO,CAAC,EAClF,CACA,OAAOynE,CAAI,CAAE,CACXA,EAAK,KAAK,CAAC0Y,GAAS,IAAI,CAAC,OAAO,EAAE,CAAG,GAAI1Y,EAAK,YAAY,CAAC,UAAYA,EAAK,eAAe,CAAC,QAC9F,CACA,MAAMA,CAAI,CAAE,CACV,IAAMznE,EAAQynE,EAAK,KAAK,CAAC0Y,GAAS,IAAI,CAAC,OAAO,EAAE,CAChD,OAAO,IAAI,CAAC,MAAM,CAAC1Y,EAAMznE,GAASA,EAAQ,EAC5C,CACF,EAsCMsgF,GApCN,MAAMC,EACJ,YAAYC,CAAO,CAAE,CACnB,IAAI,CAAC,UAAU,CAAG,CAAC,EAAG,IAAI,CAAC,OAAO,CAAGA,EAAS,IAAI,CAAC,KAAK,EAC1D,CACA,UAAUxnD,CAAS,CAAEh5B,CAAK,CAAE,CAC1BA,EAAQg5B,EAAU,GAAG,CAAC,IAAI,CAAC,OAAO,CAAEh5B,IAAWg5B,CAAAA,AAAiC,MAAjCA,EAAU,KAAK,CAAC,IAAI,CAAC,OAAO,EAAY,IAAI,CAAC,UAAU,CAACA,EAAU,QAAQ,CAAC,CAAGA,EAAY,OAAO,IAAI,CAAC,UAAU,CAACA,EAAU,QAAQ,CAAC,AAAD,EAAMA,CAAAA,EAAU,MAAM,CAAC,IAAI,CAAC,OAAO,EAAG,OAAO,IAAI,CAAC,UAAU,CAACA,EAAU,QAAQ,CAAC,AAAD,CACnQ,CACA,OAAQ,CACN,IAAI,CAAC,UAAU,CAAG,CAAC,EACnB,IAAM2mD,EAAOK,GAAS,IAAI,CAAC,IAAI,CAAC,OAAO,EACvC,GAAIL,AAAQ,MAARA,EACF,OACF,IAAM/kE,EAAamkE,GAAW,IAAI,CAAC,IAAI,CAAC,OAAO,EAAG7c,EAAU+d,GAAkB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAG9lC,EAASimC,GAAkB,IAAI,CAAC,IAAI,CAAC,OAAO,EAC9IxlE,EAAW,MAAM,CAACsnD,GAAS,MAAM,CAAC/nB,GAAQ,OAAO,CAAC,AAAC/7C,IACjD,IAAMomB,EAAOm7D,EAAK,MAAM,CAAC,KAAK,CAACvhF,EAAM0gF,GAAM,SAAS,CACpDt6D,CAAAA,aAAgBu6D,IAAe,KAAI,CAAC,UAAU,CAACv6D,EAAK,QAAQ,CAAC,CAAGA,CAAG,CACrE,EACF,CACA,KAAKnf,CAAM,CAAE,CACX/G,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,AAACe,IACpC,IAAMW,EAAQ,IAAI,CAAC,UAAU,CAACX,EAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EACrDgG,EAAO,MAAM,CAAChG,EAAKW,EACrB,EACF,CACA,KAAKqF,CAAM,CAAE,CACX,IAAI,CAAC,IAAI,CAACA,GAAS/G,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,AAACe,IACvD,IAAI,CAAC,UAAU,CAACA,EAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAC1C,GAAI,IAAI,CAAC,UAAU,CAAG,CAAC,CACzB,CACA,QAAS,CACP,OAAOf,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CACxC,CAACsc,EAAYxc,IAAUwc,CAAAA,CAAU,CAACxc,EAAK,CAAG,IAAI,CAAC,UAAU,CAACA,EAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAGwc,CAAS,EAC9F,CAAC,EAEL,CACF,EAC2C6lE,GAAc,MACvD,YAAYlB,CAAM,CAAEiB,CAAO,CAAE,CAC3B,IAAI,CAAC,MAAM,CAAGjB,EAAQ,IAAI,CAAC,OAAO,CAAGiB,EAASR,GAAS,KAAK,CAAC,GAAG,CAACQ,EAAS,IAAI,EAAG,IAAI,CAAC,IAAI,CAAG,KAAM,IAAI,CAAC,IAAI,CAAG,IACjH,CACA,OAAO,OAAOE,CAAQ,CAAE,KAGlBjZ,EAAMznE,EAFV,GAAI,AAAgB,MAAhB,IAAI,CAAC,OAAO,CACd,MAAM,IAAIm/E,GAAe,mCAE3B,OAAOv4E,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,EAAK,CAAmB,UAAnB,OAAO85E,EAAwB1gF,AAAgCoG,SAAhCpG,EAAQ0gF,EAAS,WAAW,GAAoB,IAAI,QAAQ,KAAO1gF,GAAUA,CAAAA,EAAQoG,SAASpG,EAAO,GAAE,EAAM,AAAmB,UAAnB,OAAO0gF,GAAyB1gF,CAAAA,EAAQ0gF,CAAO,EAA+BjZ,EAA3B,AAAgB,UAAhB,OAAOznE,EAA2By3D,SAAS,aAAa,CAAC,IAAI,CAAC,OAAO,CAACz3D,EAAQ,EAAE,EAAIA,GAAS,IAAI,CAAC,OAAO,CAAC,OAAO,CAACA,GAAS,GAAYy3D,SAAS,aAAa,CAACz3D,GAAgBy3D,SAAS,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAKgQ,EAAOhQ,SAAS,aAAa,CAAC,IAAI,CAAC,OAAO,EAAG,IAAI,CAAC,SAAS,EAAIgQ,EAAK,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAGA,CACniB,CAEA,IAAI,SAAU,CACZ,OAAO,IAAI,CAAC,WAAW,AACzB,CACA,QAAS,CACT,CACA,OAAQ,CACN,IAAM+Y,EAAU,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GACxC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAACA,EAC5B,CACA,QAAS,CACP,AAAe,MAAf,IAAI,CAAC,MAAM,EAAY,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAGR,GAAS,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAC1F,CACA,SAAS1wE,CAAK,CAAE9O,CAAM,CAAE,CACtB,IAAI,CAAC,OAAO,CAAC8O,EAAO9O,GAAQ,MAAM,EACpC,CACA,SAAS8O,CAAK,CAAE9O,CAAM,CAAEpC,CAAI,CAAE4B,CAAK,CAAE,CACnC,IAAM2/E,EAAO,IAAI,CAAC,OAAO,CAACrwE,EAAO9O,GACjC,GAAI,AAAuC,MAAvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAACpC,EAAM0gF,GAAM,IAAI,GAAa9+E,EACjD2/E,EAAK,IAAI,CAACvhF,EAAM4B,QACb,GAAI,AAA4C,MAA5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC5B,EAAM0gF,GAAM,SAAS,EAAW,CACzD,IAAMvnD,EAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CACpDooD,CAAAA,EAAK,IAAI,CAACpoD,GAASA,EAAO,MAAM,CAACn5B,EAAM4B,EACzC,CACF,CACA,SAASsP,CAAK,CAAEtP,CAAK,CAAE2gF,CAAG,CAAE,CAC1B,IAAMhB,EAAOgB,AAAO,MAAPA,EAAc,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAQ3gF,GAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAACA,EAAO2gF,GAAMC,EAAM,IAAI,CAAC,KAAK,CAACtxE,GAChH,IAAI,CAAC,MAAM,CAAC,YAAY,CAACqwE,EAAMiB,GAAO,KAAK,EAC7C,CACA,QAAQtxE,CAAK,CAAE9O,CAAM,CAAE,CACrB,IAAM6E,EAAS,IAAI,CAAC,KAAK,CAACiK,GAC1B,GAAIjK,AAAU,MAAVA,EACF,MAAM,AAAInE,MAAM,6BAClB,OAAOmE,EAAO,KAAK,CAAC7E,GAAS6E,CAC/B,CACA,QAAS,CACP,OAAO,CACT,CACA,OAAOzH,EAAO,IAAI,CAAC,MAAM,CAAE,CACzB,OAAO,AAAe,MAAf,IAAI,CAAC,MAAM,EAAY,IAAI,GAAKA,EAAO,EAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAACA,EAC3G,CACA,SAASijF,CAAQ,CAAE,CACjB,KAAI,CAAC,OAAO,CAAC,iBAAiB,EAAM,IAAI,CAAC,MAAM,YAAY,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CACjJ,CACA,QAAS,CACP,AAA2B,MAA3B,IAAI,CAAC,OAAO,CAAC,UAAU,EAAY,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAG,IAAI,CAAC,MAAM,EACnG,CACA,YAAYziF,CAAI,CAAE4B,CAAK,CAAE,CACvB,IAAM8gF,EAAc,AAAe,UAAf,OAAO1iF,EAAmB,IAAI,CAAC,MAAM,CAAC,MAAM,CAACA,EAAM4B,GAAS5B,EAChF,OAAO,AAAe,MAAf,IAAI,CAAC,MAAM,EAAa,KAAI,CAAC,MAAM,CAAC,YAAY,CAAC0iF,EAAa,IAAI,CAAC,IAAI,EAAI,KAAK,GAAI,IAAI,CAAC,MAAM,EAAC,EAAIA,CAC7G,CACA,MAAMxxE,CAAK,CAAEyxE,CAAM,CAAE,CACnB,OAAOzxE,AAAU,IAAVA,EAAc,IAAI,CAAG,IAAI,CAAC,IAAI,AACvC,CACA,OAAO0xE,CAAU,CAAEH,CAAQ,CAAE,CAC7B,CACA,KAAKziF,CAAI,CAAE4B,CAAK,CAAE,CAChB,IAAMywC,EAAU,AAAe,UAAf,OAAOryC,EAAmB,IAAI,CAAC,MAAM,CAAC,MAAM,CAACA,EAAM4B,GAAS5B,EAC5E,GAAI,AAAe,MAAf,IAAI,CAAC,MAAM,EAAY,IAAI,CAAC,MAAM,CAAC,YAAY,CAACqyC,EAAS,IAAI,CAAC,IAAI,EAAI,KAAK,GAAI,AAA8B,YAA9B,OAAOA,EAAQ,WAAW,CAC3G,MAAM,IAAI0uC,GAAe,CAAC,YAAY,EAAE/gF,EAAK,CAAC,EAChD,OAAOqyC,EAAQ,WAAW,CAAC,IAAI,EAAGA,CACpC,CACF,CACAgwC,CAAAA,GAAY,QAAQ,CAAG,WACvB,IAAIQ,GAAaR,GACX,GAAY,cAAwBQ,GAMxC,OAAO,MAAMC,CAAQ,CAAE,CACrB,MAAO,CAAC,CACV,CAKA,MAAMzZ,CAAI,CAAE9hE,CAAM,CAAE,CAClB,OAAO,IAAI,CAAC,OAAO,GAAK8hE,GAAQ,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAACA,GAAQgY,KAAK,8BAA8B,CAAGj8E,KAAK,GAAG,CAACmC,EAAQ,GAAK,EAC3I,CAKA,SAAS2J,CAAK,CAAE6xE,CAAU,CAAE,CAC1B,IAAIx7E,EAASiB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAC5E,OAAO0I,EAAQ,GAAM3J,CAAAA,GAAU,GAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAEA,EAAO,AAClE,CAMA,OAAQ,CACN,MAAO,CACL,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAK,CAAC,CAChE,CACF,CACF,CACA,IAAU,KAAK,CAAGm5E,GAAM,WAAW,CAEnC,IAAMsC,GADS,EAEf,OAAMC,GACJ,aAAc,CACZ,IAAI,CAAC,IAAI,CAAG,KAAM,IAAI,CAAC,IAAI,CAAG,KAAM,IAAI,CAAC,MAAM,CAAG,CACpD,CACA,OAAO,GAAGx7D,CAAK,CAAE,CACf,GAAI,IAAI,CAAC,YAAY,CAACA,CAAK,CAAC,EAAE,CAAE,MAAOA,EAAM,MAAM,CAAG,EAAG,CACvD,IAAMklD,EAAOllD,EAAM,KAAK,CAAC,GACzB,IAAI,CAAC,MAAM,IAAIklD,EACjB,CACF,CACA,GAAGz7D,CAAK,CAAE,CACR,IAAMgtD,EAAO,IAAI,CAAC,QAAQ,GACtBuU,EAAMvU,IACV,KAAOuU,GAAOvhE,EAAQ,GACpBA,GAAS,EAAGuhE,EAAMvU,IACpB,OAAOuU,CACT,CACA,SAASpJ,CAAI,CAAE,CACb,IAAMnL,EAAO,IAAI,CAAC,QAAQ,GACtBuU,EAAMvU,IACV,KAAOuU,GAAO,CACZ,GAAIA,IAAQpJ,EACV,MAAO,CAAC,EACVoJ,EAAMvU,GACR,CACA,MAAO,CAAC,CACV,CACA,QAAQmL,CAAI,CAAE,CACZ,IAAMnL,EAAO,IAAI,CAAC,QAAQ,GACtBuU,EAAMvU,IAAQhtD,EAAQ,EAC1B,KAAOuhE,GAAO,CACZ,GAAIA,IAAQpJ,EACV,OAAOn4D,CACTA,CAAAA,GAAS,EAAGuhE,EAAMvU,GACpB,CACA,OAAO,EACT,CACA,aAAamL,CAAI,CAAE6Z,CAAO,CAAE,CAC1B7Z,AAAQ,MAARA,GAAiB,KAAI,CAAC,MAAM,CAACA,GAAOA,EAAK,IAAI,CAAG6Z,EAASA,AAAW,MAAXA,EAAmB7Z,CAAAA,EAAK,IAAI,CAAG6Z,EAAQ,IAAI,CAAEA,AAAgB,MAAhBA,EAAQ,IAAI,EAAaA,CAAAA,EAAQ,IAAI,CAAC,IAAI,CAAG7Z,CAAG,EAAI6Z,EAAQ,IAAI,CAAG7Z,EAAM6Z,IAAY,IAAI,CAAC,IAAI,EAAK,KAAI,CAAC,IAAI,CAAG7Z,CAAG,CAAC,EAAK,AAAa,MAAb,IAAI,CAAC,IAAI,CAAY,KAAI,CAAC,IAAI,CAAC,IAAI,CAAGA,EAAMA,EAAK,IAAI,CAAG,IAAI,CAAC,IAAI,CAAE,IAAI,CAAC,IAAI,CAAGA,CAAG,EAAMA,CAAAA,EAAK,IAAI,CAAG,KAAM,IAAI,CAAC,IAAI,CAAG,IAAI,CAAC,IAAI,CAAGA,CAAG,EAAI,IAAI,CAAC,MAAM,EAAI,EACxX,CACA,OAAOpiE,CAAM,CAAE,CACb,IAAIiK,EAAQ,EAAGuhE,EAAM,IAAI,CAAC,IAAI,CAC9B,KAAOA,AAAO,MAAPA,GAAe,CACpB,GAAIA,IAAQxrE,EACV,OAAOiK,CACTA,CAAAA,GAASuhE,EAAI,MAAM,GAAIA,EAAMA,EAAI,IAAI,AACvC,CACA,OAAO,EACT,CACA,OAAOpJ,CAAI,CAAE,CACX,IAAI,CAAC,QAAQ,CAACA,IAAUA,CAAAA,AAAa,MAAbA,EAAK,IAAI,EAAaA,CAAAA,EAAK,IAAI,CAAC,IAAI,CAAGA,EAAK,IAAI,AAAD,EAAIA,AAAa,MAAbA,EAAK,IAAI,EAAaA,CAAAA,EAAK,IAAI,CAAC,IAAI,CAAGA,EAAK,IAAI,AAAD,EAAIA,IAAS,IAAI,CAAC,IAAI,EAAK,KAAI,CAAC,IAAI,CAAGA,EAAK,IAAI,AAAD,EAAIA,IAAS,IAAI,CAAC,IAAI,EAAK,KAAI,CAAC,IAAI,CAAGA,EAAK,IAAI,AAAD,EAAI,IAAI,CAAC,MAAM,EAAI,EAC7O,CACA,SAAS8Z,EAAU,IAAI,CAAC,IAAI,CAAE,CAC5B,MAAO,KACL,IAAMh+E,EAAMg+E,EACZ,OAAOA,AAAW,MAAXA,GAAoBA,CAAAA,EAAUA,EAAQ,IAAI,AAAD,EAAIh+E,CACtD,CACF,CACA,KAAK+L,CAAK,CAAEkyE,EAAY,CAAC,CAAC,CAAE,CAC1B,IAAMllB,EAAO,IAAI,CAAC,QAAQ,GACtBuU,EAAMvU,IACV,KAAOuU,GAAO,CACZ,IAAMrwE,EAASqwE,EAAI,MAAM,GACzB,GAAIvhE,EAAQ9O,GAAUghF,GAAalyE,IAAU9O,GAAWqwE,CAAAA,AAAY,MAAZA,EAAI,IAAI,EAAYA,AAAsB,IAAtBA,EAAI,IAAI,CAAC,MAAM,EAAO,EAChG,MAAO,CAACA,EAAKvhE,EAAM,AACrBA,CAAAA,GAAS9O,EAAQqwE,EAAMvU,GACzB,CACA,MAAO,CAAC,KAAM,EAAE,AAClB,CACA,QAAQz/B,CAAQ,CAAE,CAChB,IAAMy/B,EAAO,IAAI,CAAC,QAAQ,GACtBuU,EAAMvU,IACV,KAAOuU,GACLh0C,EAASg0C,GAAMA,EAAMvU,GACzB,CACA,UAAUhtD,CAAK,CAAE9O,CAAM,CAAEq8B,CAAQ,CAAE,CACjC,GAAIr8B,GAAU,EACZ,OACF,GAAM,CAACihF,EAAW97E,EAAO,CAAG,IAAI,CAAC,IAAI,CAAC2J,GAClCoyE,EAAWpyE,EAAQ3J,EACjB22D,EAAO,IAAI,CAAC,QAAQ,CAACmlB,GACvB5Q,EAAMvU,IACV,KAAOuU,GAAO6Q,EAAWpyE,EAAQ9O,GAAU,CACzC,IAAMmhF,EAAY9Q,EAAI,MAAM,EAC5BvhE,CAAAA,EAAQoyE,EAAW7kD,EACjBg0C,EACAvhE,EAAQoyE,EACRl+E,KAAK,GAAG,CAAChD,EAAQkhF,EAAWC,EAAYryE,IACtCutB,EAASg0C,EAAK,EAAGrtE,KAAK,GAAG,CAACm+E,EAAWryE,EAAQ9O,EAASkhF,IAAYA,GAAYC,EAAW9Q,EAAMvU,GACrG,CACF,CACA,IAAIz/B,CAAQ,CAAE,CACZ,OAAO,IAAI,CAAC,MAAM,CAAC,CAACwsC,EAAMwH,IAASxH,CAAAA,EAAK,IAAI,CAACxsC,EAASg0C,IAAOxH,CAAG,EAAI,EAAE,CACxE,CACA,OAAOxsC,CAAQ,CAAEwsC,CAAI,CAAE,CACrB,IAAM/M,EAAO,IAAI,CAAC,QAAQ,GACtBuU,EAAMvU,IACV,KAAOuU,GACLxH,EAAOxsC,EAASwsC,EAAMwH,GAAMA,EAAMvU,IACpC,OAAO+M,CACT,CACF,CACA,SAASuY,GAAiBna,CAAI,CAAE8X,CAAM,EACpC,IAAM56E,EAAQ46E,EAAO,IAAI,CAAC9X,GAC1B,GAAI9iE,EACF,OAAOA,EACT,GAAI,CACF,OAAO46E,EAAO,MAAM,CAAC9X,EACvB,CAAE,KAAM,CACN,IAAMkY,EAAOJ,EAAO,MAAM,CAACT,GAAM,MAAM,EACvC,OAAOl4E,MAAM,IAAI,CAAC6gE,EAAK,UAAU,EAAE,OAAO,CAAC,AAACh7D,IAC1CkzE,EAAK,OAAO,CAAC,WAAW,CAAClzE,EAC3B,GAAIg7D,EAAK,UAAU,EAAIA,EAAK,UAAU,CAAC,YAAY,CAACkY,EAAK,OAAO,CAAElY,GAAOkY,EAAK,MAAM,GAAIA,CAC1F,CACF,CACA,IAAM,GAAc,MAAMkC,UAAoBZ,GAC5C,YAAY1B,CAAM,CAAEiB,CAAO,CAAE,CAC3B,KAAK,CAACjB,EAAQiB,GAAU,IAAI,CAAC,MAAM,CAAG,KAAM,IAAI,CAAC,KAAK,EACxD,CACA,YAAYhvB,CAAK,CAAE,CACjB,IAAI,CAAC,YAAY,CAACA,EACpB,CACA,QAAS,CACP,KAAK,CAAC,SAAU,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,AAAC/kD,IACrCA,EAAM,MAAM,EACd,EACF,CACA,SAASg7D,CAAI,CAAE,CACb,AAAe,MAAf,IAAI,CAAC,MAAM,EAAY,IAAI,CAAC,MAAM,CAAC,MAAM,GAAI,IAAI,CAAC,MAAM,CAAGA,EAAMoa,EAAY,OAAO,EAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAACA,EAAY,OAAO,EAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAmB,SAAU,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAC9P,CAIA,OAAQ,CACN,IAAI,CAAC,QAAQ,CAAG,IAAIR,GAAcz6E,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,AAAC6gE,GAASA,IAAS,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,AAACA,IAC9H,GAAI,CACF,IAAMh7D,EAAQm1E,GAAiBna,EAAM,IAAI,CAAC,MAAM,EAChD,IAAI,CAAC,YAAY,CAACh7D,EAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAI,KAAK,EACtD,CAAE,MAAOxM,EAAK,CACZ,GAAIA,aAAek/E,GACjB,MACF,OAAMl/E,CACR,CACF,EACF,CACA,SAASqP,CAAK,CAAE9O,CAAM,CAAE,CACtB,GAAI8O,AAAU,IAAVA,GAAe9O,IAAW,IAAI,CAAC,MAAM,GACvC,OAAO,IAAI,CAAC,MAAM,GACpB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC8O,EAAO9O,EAAQ,CAACiM,EAAO9G,EAAQm8E,KACrDr1E,EAAM,QAAQ,CAAC9G,EAAQm8E,EACzB,EACF,CACA,WAAWC,CAAQ,CAAEzyE,EAAQ,CAAC,CAAE,CAC9B,GAAM,CAAC7C,EAAO9G,EAAO,CAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC2J,GAC3C,OAAOyyE,AAAqB,MAArBA,EAAS,QAAQ,EAAYA,EAASt1E,IAAUs1E,AAAqB,MAArBA,EAAS,QAAQ,EAAYt1E,aAAiBs1E,EAAW,CAACt1E,EAAO9G,EAAO,CAAG8G,aAAiBo1E,EAAcp1E,EAAM,UAAU,CAACs1E,EAAUp8E,GAAU,CAAC,KAAM,GAAG,AAClN,CACA,YAAYo8E,CAAQ,CAAEzyE,EAAQ,CAAC,CAAE9O,EAASyF,OAAO,SAAS,CAAE,CAC1D,IAAI+7E,EAAc,EAAE,CAAEC,EAAazhF,EACnC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC5B8O,EACA9O,EACA,CAACiM,EAAOy1E,EAAYJ,KAClB,AAACC,CAAAA,AAAqB,MAArBA,EAAS,QAAQ,EAAYA,EAASt1E,IAAUs1E,AAAqB,MAArBA,EAAS,QAAQ,EAAYt1E,aAAiBs1E,CAAO,GAAMC,EAAY,IAAI,CAACv1E,GAAQA,aAAiBo1E,GAAgBG,CAAAA,EAAcA,EAAY,MAAM,CACpMv1E,EAAM,WAAW,CAACs1E,EAAUG,EAAYD,GAC1C,EAAIA,GAAcH,CACpB,GACCE,CACL,CACA,QAAS,CACP,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,AAACv1E,IACrBA,EAAM,MAAM,EACd,GAAI,KAAK,CAAC,QACZ,CACA,wBAAyB,CACvB,IAAIuX,EAAO,CAAC,EACZ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,AAACvX,IACrBuX,GAAQ,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CACvC,AAAC28D,GAAQl0E,aAAiBk0E,IACtBl0E,CAAAA,EAAM,OAAO,CAAC,KAAK,GAAKqyE,GAAM,UAAU,CAAIryE,CAAAA,AAAc,MAAdA,EAAM,IAAI,EAAY,IAAI,CAAC,UAAU,CAACA,GAAQA,AAAc,MAAdA,EAAM,IAAI,EAAY,IAAI,CAAC,UAAU,CAACA,EAAM,IAAI,EAAGA,EAAM,MAAM,CAAC,MAAM,GAAIuX,EAAO,CAAC,GAAKvX,aAAiBo1E,EAAcp1E,EAAM,MAAM,GAAKA,EAAM,MAAM,EAAC,CACtP,EACF,CACA,SAAS6C,CAAK,CAAE9O,CAAM,CAAEpC,CAAI,CAAE4B,CAAK,CAAE,CACnC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAACsP,EAAO9O,EAAQ,CAACiM,EAAO9G,EAAQm8E,KACrDr1E,EAAM,QAAQ,CAAC9G,EAAQm8E,EAAa1jF,EAAM4B,EAC5C,EACF,CACA,SAASsP,CAAK,CAAEtP,CAAK,CAAE2gF,CAAG,CAAE,CAC1B,GAAM,CAACl0E,EAAO9G,EAAO,CAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC2J,GAC3C,GAAI7C,EACFA,EAAM,QAAQ,CAAC9G,EAAQ3F,EAAO2gF,OAC3B,CACH,IAAMhB,EAAOgB,AAAO,MAAPA,EAAc,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAQ3gF,GAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAACA,EAAO2gF,GACzF,IAAI,CAAC,WAAW,CAAChB,EACnB,CACF,CACA,aAAawC,CAAS,CAAEC,CAAO,CAAE,CAC/BD,AAAoB,MAApBA,EAAU,MAAM,EAAYA,EAAU,MAAM,CAAC,QAAQ,CAAC,MAAM,CAACA,GAC7D,IAAIE,EAAa,IACjB,KAAI,CAAC,QAAQ,CAAC,YAAY,CAACF,EAAWC,GAAW,MAAOD,EAAU,MAAM,CAAG,IAAI,CAAEC,AAAW,MAAXA,GAAoBC,CAAAA,EAAaD,EAAQ,OAAO,AAAD,EAAI,AAAC,KAAI,CAAC,OAAO,CAAC,UAAU,GAAKD,EAAU,OAAO,EAAI,IAAI,CAAC,OAAO,CAAC,WAAW,GAAKE,CAAS,GAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAACF,EAAU,OAAO,CAAEE,GAAaF,EAAU,MAAM,EAC9S,CACA,QAAS,CACP,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC9Y,EAAM58D,IAAU48D,EAAO58D,EAAM,MAAM,GAAI,EACtE,CACA,aAAa61E,CAAY,CAAEhB,CAAO,CAAE,CAClC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,AAAC70E,IACrB61E,EAAa,YAAY,CAAC71E,EAAO60E,EACnC,EACF,CACA,SAAShhC,CAAO,CAAE,CAChB,GAAI,KAAK,CAAC,SAASA,GAAU,IAAI,CAAC,sBAAsB,GAAI,AAAe,MAAf,IAAI,CAAC,MAAM,EAAY,IAAI,CAAC,MAAM,GAAK,IAAI,CAAC,OAAO,CAAC,UAAU,EAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAG,AAAyB,IAAzB,IAAI,CAAC,QAAQ,CAAC,MAAM,EACjN,GAAI,AAA6B,MAA7B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAU,CACrC,IAAM7zC,EAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EACnE,IAAI,CAAC,WAAW,CAACA,EACnB,MACE,IAAI,CAAC,MAAM,GACjB,CACA,KAAK6C,CAAK,CAAEkyE,EAAY,CAAC,CAAC,CAAE,CAC1B,GAAM,CAAC/0E,EAAO9G,EAAO,CAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC2J,EAAOkyE,GAAYxtE,EAAW,CAAC,CAAC,IAAI,CAAE1E,EAAM,CAAC,CACxF,OAAO7C,aAAiBo1E,EAAc7tE,EAAS,MAAM,CAACvH,EAAM,IAAI,CAAC9G,EAAQ67E,IAAe/0E,CAAAA,AAAS,MAATA,GAAiBuH,EAAS,IAAI,CAAC,CAACvH,EAAO9G,EAAO,EAAGqO,CAAO,CAClJ,CACA,YAAYvH,CAAK,CAAE,CACjB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAACA,EACvB,CACA,YAAYrO,CAAI,CAAE4B,CAAK,CAAE,CACvB,IAAM8gF,EAAc,AAAe,UAAf,OAAO1iF,EAAmB,IAAI,CAAC,MAAM,CAAC,MAAM,CAACA,EAAM4B,GAAS5B,EAChF,OAAO0iF,aAAuBe,GAAe,IAAI,CAAC,YAAY,CAACf,GAAc,KAAK,CAAC,YAAYA,EACjG,CACA,MAAMxxE,CAAK,CAAE02D,EAAQ,CAAC,CAAC,CAAE,CACvB,GAAI,CAACA,EAAO,CACV,GAAI12D,AAAU,IAAVA,EACF,OAAO,IAAI,CACb,GAAIA,IAAU,IAAI,CAAC,MAAM,GACvB,OAAO,IAAI,CAAC,IAAI,AACpB,CACA,IAAMq7C,EAAQ,IAAI,CAAC,KAAK,GACxB,OAAO,IAAI,CAAC,MAAM,EAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAACA,EAAO,IAAI,CAAC,IAAI,EAAI,KAAK,GAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAACr7C,EAAO,IAAI,CAAC,MAAM,GAAI,CAAC7C,EAAO9G,EAAQ48E,KACxI,IAAMC,EAAQ/1E,EAAM,KAAK,CAAC9G,EAAQqgE,EAClCwc,AAAS,OAATA,GAAiB73B,EAAM,WAAW,CAAC63B,EACrC,GAAI73B,CACN,CACA,WAAWl+C,CAAK,CAAE,CAChB,IAAMk+C,EAAQ,IAAI,CAAC,KAAK,GACxB,KAAOl+C,AAAc,MAAdA,EAAM,IAAI,EACfk+C,EAAM,WAAW,CAACl+C,EAAM,IAAI,EAC9B,OAAO,IAAI,CAAC,MAAM,EAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAACk+C,EAAO,IAAI,CAAC,IAAI,EAAI,KAAK,GAAIA,CAC9E,CACA,QAAS,CACP,IAAI,CAAC,MAAM,EAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAE,IAAI,CAAC,IAAI,EAAI,KAAK,GAAI,IAAI,CAAC,MAAM,EACjF,CACA,OAAO83B,CAAS,CAAE5B,CAAQ,CAAE,CAC1B,IAAM6B,EAAa,EAAE,CAAEC,EAAe,EAAE,AACxCF,CAAAA,EAAU,OAAO,CAAC,AAAClP,IACjBA,EAAS,MAAM,GAAK,IAAI,CAAC,OAAO,EAAIA,AAAkB,cAAlBA,EAAS,IAAI,EAAqBmP,CAAAA,EAAW,IAAI,IAAInP,EAAS,UAAU,EAAGoP,EAAa,IAAI,IAAIpP,EAAS,YAAY,EAC3J,GAAIoP,EAAa,OAAO,CAAC,AAAClb,IACxB,GAAIA,AAAmB,MAAnBA,EAAK,UAAU,EACnBA,AAAiB,WAAjBA,EAAK,OAAO,EAAiBhQ,SAAS,IAAI,CAAC,uBAAuB,CAACgQ,GAAQgY,KAAK,8BAA8B,CAC5G,OACF,IAAME,EAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAClY,EAC9BkY,AAAQ,OAARA,GAAiBA,CAAAA,AAA2B,MAA3BA,EAAK,OAAO,CAAC,UAAU,EAAYA,EAAK,OAAO,CAAC,UAAU,GAAK,IAAI,CAAC,OAAO,AAAD,GAAMA,EAAK,MAAM,EAC9G,GAAI+C,EAAW,MAAM,CAAC,AAACjb,GAASA,EAAK,UAAU,GAAK,IAAI,CAAC,OAAO,EAAIA,IAAS,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC5iE,EAAGb,IAAMa,IAAMb,EAAI,EAAIa,EAAE,uBAAuB,CAACb,GAAKy7E,KAAK,2BAA2B,CAAG,EAAI,IAAI,OAAO,CAAC,AAAChY,IACxM,IAAI2a,EAAU,IACd3a,AAAoB,OAApBA,EAAK,WAAW,EAAa2a,CAAAA,EAAU,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC3a,EAAK,WAAW,GACxE,IAAMkY,EAAOiC,GAAiBna,EAAM,IAAI,CAAC,MAAM,CAC/C,CAACkY,CAAAA,EAAK,IAAI,GAAKyC,GAAWzC,AAAa,MAAbA,EAAK,IAAI,AAAO,GAAOA,CAAAA,AAAe,MAAfA,EAAK,MAAM,EAAYA,EAAK,MAAM,CAAC,WAAW,CAAC,IAAI,EAAG,IAAI,CAAC,YAAY,CAACA,EAAMyC,GAAW,KAAK,EAAC,CAClJ,GAAI,IAAI,CAAC,sBAAsB,EACjC,CACF,CACA,IAAY,OAAO,CAAG,GAEtB,IAAMQ,GADW,GAUX,GAAc,MAAMC,UAAoBD,GAC5C,OAAO,OAAO5iF,CAAK,CAAE,CACnB,OAAO,KAAK,CAAC,OAAOA,EACtB,CACA,OAAO,QAAQwgF,CAAO,CAAEjB,CAAM,CAAE,CAC9B,IAAMC,EAASD,EAAO,KAAK,CAACsD,EAAY,QAAQ,EAChD,GAAI,CAAErD,CAAAA,AAAU,MAAVA,GAAkBgB,EAAQ,OAAO,GAAKhB,EAAO,OAAO,AAAD,EAAI,CAC3D,GAAI,AAAuB,UAAvB,OAAO,IAAI,CAAC,OAAO,CACrB,MAAO,CAAC,EACV,GAAI54E,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,EAC5B,OAAO45E,EAAQ,OAAO,CAAC,WAAW,EACtC,CACF,CACA,YAAYjB,CAAM,CAAEiB,CAAO,CAAE,CAC3B,KAAK,CAACjB,EAAQiB,GAAU,IAAI,CAAC,UAAU,CAAG,IAAIF,GAAkB,IAAI,CAAC,OAAO,CAC9E,CACA,OAAOliF,CAAI,CAAE4B,CAAK,CAAE,CAClB,GAAI5B,IAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAK4B,EAIlC,CACH,IAAMkR,EAAS,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC9S,EAAM0gF,GAAM,MAAM,EACnD,GAAI5tE,AAAU,MAAVA,EAEJA,aAAkB6tE,GAAa,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC7tE,EAAQlR,GAASA,GAAU5B,CAAAA,IAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAI,IAAI,CAAC,OAAO,EAAE,CAACA,EAAK,GAAK4B,CAAI,GAAM,IAAI,CAAC,WAAW,CAAC5B,EAAM4B,EAClL,MARE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,AAACyM,IACrBA,aAAiBo2E,GAAgBp2E,CAAAA,EAAQA,EAAM,IAAI,CAACo2E,EAAY,QAAQ,CAAE,CAAC,EAAC,EAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAACp2E,EACvG,GAAI,IAAI,CAAC,MAAM,EAOnB,CACA,SAAU,CACR,IAAMq2E,EAAU,IAAI,CAAC,UAAU,CAAC,MAAM,GAAI5xE,EAAS,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAE,IAAI,CAAC,MAAM,EACjG,OAAOA,AAAU,MAAVA,GAAmB4xE,CAAAA,CAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAG5xE,CAAK,EAAI4xE,CACtE,CACA,SAASxzE,CAAK,CAAE9O,CAAM,CAAEpC,CAAI,CAAE4B,CAAK,CAAE,CACnC,AAAwB,MAAxB,IAAI,CAAC,OAAO,EAAE,CAAC5B,EAAK,EAAY,IAAI,CAAC,MAAM,CAAC,KAAK,CAACA,EAAM0gF,GAAM,SAAS,EAAI,IAAI,CAAC,OAAO,CAACxvE,EAAO9O,GAAQ,MAAM,CAACpC,EAAM4B,GAAS,KAAK,CAAC,SAASsP,EAAO9O,EAAQpC,EAAM4B,EACnK,CACA,SAASsgD,CAAO,CAAE,CAChB,KAAK,CAAC,SAASA,GACf,IAAMwiC,EAAU,IAAI,CAAC,OAAO,GAC5B,GAAIxkF,AAAgC,IAAhCA,OAAO,IAAI,CAACwkF,GAAS,MAAM,CAC7B,OAAO,IAAI,CAAC,MAAM,GACpB,IAAMxmB,EAAO,IAAI,CAAC,IAAI,AACtBA,CAAAA,aAAgBumB,GAAevmB,EAAK,IAAI,GAAK,IAAI,EAAI2M,AAjDzD,SAAiB8Z,CAAI,CAAEC,CAAI,EACzB,GAAI1kF,OAAO,IAAI,CAACykF,GAAM,MAAM,GAAKzkF,OAAO,IAAI,CAAC0kF,GAAM,MAAM,CACvD,MAAO,CAAC,EACV,IAAK,IAAM1pB,KAAQypB,EACjB,GAAIA,CAAI,CAACzpB,EAAK,GAAK0pB,CAAI,CAAC1pB,EAAK,CAC3B,MAAO,CAAC,EACZ,MAAO,CAAC,CACV,EA0CiEwpB,EAASxmB,EAAK,OAAO,KAAQA,CAAAA,EAAK,YAAY,CAAC,IAAI,EAAGA,EAAK,MAAM,EAAC,CACjI,CACA,YAAYl+D,CAAI,CAAE4B,CAAK,CAAE,CACvB,IAAM8gF,EAAc,KAAK,CAAC,YAAY1iF,EAAM4B,GAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC8gF,GAAcA,CAC5C,CACA,OAAO2B,CAAS,CAAEniC,CAAO,CAAE,CACzB,KAAK,CAAC,OAAOmiC,EAAWniC,GAAUmiC,EAAU,IAAI,CAC9C,AAAClP,GAAaA,EAAS,MAAM,GAAK,IAAI,CAAC,OAAO,EAAIA,AAAkB,eAAlBA,EAAS,IAAI,GAC5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAC5B,CACA,KAAKn1E,CAAI,CAAE4B,CAAK,CAAE,CAChB,IAAMywC,EAAU,KAAK,CAAC,KAAKryC,EAAM4B,GACjC,OAAOywC,aAAmBoyC,GAAe,IAAI,CAAC,UAAU,CAAC,IAAI,CAACpyC,GAAUA,CAC1E,CACF,CACA,IAAY,eAAe,CAAG,CAAC,GAAa2wC,GAAW,CAAE,GAAY,QAAQ,CAAG,SAAU,GAAY,KAAK,CAAGtC,GAAM,WAAW,CAAE,GAAY,OAAO,CAAG,OAEvJ,IAAMmE,GADW,GACgB,GAAa,MAAMC,UAAmBN,GACrE,OAAO,OAAO5iF,CAAK,CAAE,CACnB,OAAO,KAAK,CAAC,OAAOA,EACtB,CACA,OAAO,QAAQwgF,CAAO,CAAEjB,CAAM,CAAE,CAC9B,IAAMC,EAASD,EAAO,KAAK,CAAC2D,EAAW,QAAQ,EAC/C,GAAI,CAAE1D,CAAAA,AAAU,MAAVA,GAAkBgB,EAAQ,OAAO,GAAKhB,EAAO,OAAO,AAAD,EAAI,CAC3D,GAAI,AAAuB,UAAvB,OAAO,IAAI,CAAC,OAAO,CACrB,MAAO,CAAC,EACV,GAAI54E,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,EAC5B,OAAO45E,EAAQ,OAAO,CAAC,WAAW,EACtC,CACF,CACA,YAAYjB,CAAM,CAAEiB,CAAO,CAAE,CAC3B,KAAK,CAACjB,EAAQiB,GAAU,IAAI,CAAC,UAAU,CAAG,IAAIF,GAAkB,IAAI,CAAC,OAAO,CAC9E,CACA,OAAOliF,CAAI,CAAE4B,CAAK,CAAE,CAClB,IAAMkR,EAAS,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC9S,EAAM0gF,GAAM,KAAK,CAClD5tE,AAAU,OAAVA,GAAmBA,CAAAA,aAAkB6tE,GAAa,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC7tE,EAAQlR,GAAS5B,IAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAK4B,EAAgDA,GAAU5B,CAAAA,IAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAI,IAAI,CAAC,OAAO,EAAE,CAACA,EAAK,GAAK4B,CAAI,GAAM,IAAI,CAAC,WAAW,CAAC5B,EAAM4B,GAA9I,IAAI,CAAC,WAAW,CAACkjF,EAAW,QAAQ,CAA+G,CAC7R,CACA,SAAU,CACR,IAAMJ,EAAU,IAAI,CAAC,UAAU,CAAC,MAAM,GAAI5xE,EAAS,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAE,IAAI,CAAC,MAAM,EACjG,OAAOA,AAAU,MAAVA,GAAmB4xE,CAAAA,CAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAG5xE,CAAK,EAAI4xE,CACtE,CACA,SAASxzE,CAAK,CAAE9O,CAAM,CAAEpC,CAAI,CAAE4B,CAAK,CAAE,CACnC,AAAwC,MAAxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC5B,EAAM0gF,GAAM,KAAK,EAAY,IAAI,CAAC,MAAM,CAAC1gF,EAAM4B,GAAS,KAAK,CAAC,SAASsP,EAAO9O,EAAQpC,EAAM4B,EAChH,CACA,SAASsP,CAAK,CAAEtP,CAAK,CAAE2gF,CAAG,CAAE,CAC1B,GAAIA,AAAO,MAAPA,GAAe,AAA0C,MAA1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC3gF,EAAO8+E,GAAM,MAAM,EACtD,KAAK,CAAC,SAASxvE,EAAOtP,EAAO2gF,OAC1B,CACH,IAAMh2B,EAAQ,IAAI,CAAC,KAAK,CAACr7C,GACzB,GAAIq7C,AAAS,MAATA,EAAe,CACjB,IAAMg1B,EAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC3/E,EAAO2gF,GACvCh2B,EAAM,MAAM,CAAC,YAAY,CAACg1B,EAAMh1B,EAClC,MACE,MAAM,AAAIzpD,MAAM,6CACpB,CACF,CACA,YAAY9C,CAAI,CAAE4B,CAAK,CAAE,CACvB,IAAM8gF,EAAc,KAAK,CAAC,YAAY1iF,EAAM4B,GAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC8gF,GAAcA,CAC5C,CACA,OAAO2B,CAAS,CAAEniC,CAAO,CAAE,CACzB,KAAK,CAAC,OAAOmiC,EAAWniC,GAAUmiC,EAAU,IAAI,CAC9C,AAAClP,GAAaA,EAAS,MAAM,GAAK,IAAI,CAAC,OAAO,EAAIA,AAAkB,eAAlBA,EAAS,IAAI,GAC5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAC5B,CACF,CACA,IAAW,QAAQ,CAAG,QAAS,GAAW,KAAK,CAAGuL,GAAM,UAAU,CAAE,GAAW,OAAO,CAAG,IAAK,GAAW,eAAe,CAAG,CACzHmE,GACA,GACA7B,GACD,CAED,IAAM+B,GADU,GACe,GAAiB,cAA6BP,GAC3E,YAAa,CACX,OAAO,AAAc,OAAd,IAAI,CAAC,IAAI,EAAa,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,AACnF,CACA,SAAStzE,CAAK,CAAE9O,CAAM,CAAE,CACtB,KAAK,CAAC,SAAS8O,EAAO9O,GAAS,IAAI,CAAC,sBAAsB,EAC5D,CACA,SAAS8O,CAAK,CAAE9O,CAAM,CAAEpC,CAAI,CAAE4B,CAAK,CAAE,CACnC,KAAK,CAAC,SAASsP,EAAO9O,EAAQpC,EAAM4B,GAAQ,IAAI,CAAC,sBAAsB,EACzE,CACA,SAASsP,CAAK,CAAEtP,CAAK,CAAE2gF,CAAG,CAAE,CAC1B,KAAK,CAAC,SAASrxE,EAAOtP,EAAO2gF,GAAM,IAAI,CAAC,sBAAsB,EAChE,CACA,SAASrgC,CAAO,CAAE,CAChB,KAAK,CAAC,SAASA,GAAU,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAG,GAAK,AAAa,MAAb,IAAI,CAAC,IAAI,EAAY,IAAI,CAAC,UAAU,IAAO,KAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAC,CACjJ,CACF,CACA,IAAe,QAAQ,CAAG,YAAa,GAAe,KAAK,CAAGw+B,GAAM,UAAU,CAE9E,IAAMsE,GADc,GAedC,GAbN,MAAMC,UAAkBlC,GACtB,OAAO,QAAQF,CAAQ,CAAEqC,CAAO,CAAE,CAClC,CACA,OAAOnlF,CAAI,CAAE4B,CAAK,CAAE,CAClB,KAAK,CAAC,SAAS,EAAG,IAAI,CAAC,MAAM,GAAI5B,EAAM4B,EACzC,CACA,SAASsP,CAAK,CAAE9O,CAAM,CAAEpC,CAAI,CAAE4B,CAAK,CAAE,CACnCsP,AAAU,IAAVA,GAAe9O,IAAW,IAAI,CAAC,MAAM,GAAK,IAAI,CAAC,MAAM,CAACpC,EAAM4B,GAAS,KAAK,CAAC,SAASsP,EAAO9O,EAAQpC,EAAM4B,EAC3G,CACA,SAAU,CACR,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAE,IAAI,CAAC,MAAM,CACvD,CACF,EAC+BwjF,GAAkB,CAC/C,WAAY,CAAC,EACb,cAAe,CAAC,EAChB,sBAAuB,CAAC,EACxB,UAAW,CAAC,EACZ,QAAS,CAAC,CACZ,EAAkC,GAAc,cAA0BZ,GACxE,YAAYa,CAAQ,CAAEhc,CAAI,CAAE,CAC1B,KAAK,CAAC,KAAMA,GAAO,IAAI,CAAC,QAAQ,CAAGgc,EAAU,IAAI,CAAC,MAAM,CAAG,IAAI,CAAE,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,QAAQ,CAAG,IAAIC,iBAAiB,AAACjB,IACnH,IAAI,CAAC,MAAM,CAACA,EACd,GAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAEe,IAAkB,IAAI,CAAC,MAAM,EACvE,CACA,OAAO3lC,CAAK,CAAE79C,CAAK,CAAE,CACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAE69C,EAAO79C,EAC3C,CACA,KAAKynE,CAAI,CAAE4X,EAAS,CAAC,CAAC,CAAE,CACtB,IAAMM,EAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAClY,EAAM4X,GACtC,OAAOM,EAAOA,EAAK,MAAM,GAAK,IAAI,CAAGA,EAAON,EAAS,IAAI,CAAC,IAAI,CAACM,EAAK,MAAM,CAAC,OAAO,CAAC,UAAU,CAAE,CAAC,GAAK,KAAO,IAC9G,CACA,MAAM1f,CAAK,CAAE98C,EAAQ27D,GAAM,GAAG,CAAE,CAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC7e,EAAO98C,EACpC,CACA,SAAS,GAAGy8D,CAAW,CAAE,CACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAIA,EACnC,CACA,OAAQ,CACN,AAAe,MAAf,IAAI,CAAC,MAAM,EAAY,KAAK,CAAC,OAC/B,CACA,QAAS,CACP,KAAK,CAAC,SAAU,IAAI,CAAC,QAAQ,CAAC,UAAU,EAC1C,CACA,SAAStwE,CAAK,CAAE9O,CAAM,CAAE,CACtB,IAAI,CAAC,MAAM,GAAI8O,AAAU,IAAVA,GAAe9O,IAAW,IAAI,CAAC,MAAM,GAAK,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,AAACiM,IAC9EA,EAAM,MAAM,EACd,GAAK,KAAK,CAAC,SAAS6C,EAAO9O,EAC7B,CACA,SAAS8O,CAAK,CAAE9O,CAAM,CAAEpC,CAAI,CAAE4B,CAAK,CAAE,CACnC,IAAI,CAAC,MAAM,GAAI,KAAK,CAAC,SAASsP,EAAO9O,EAAQpC,EAAM4B,EACrD,CACA,SAASsP,CAAK,CAAEtP,CAAK,CAAE2gF,CAAG,CAAE,CAC1B,IAAI,CAAC,MAAM,GAAI,KAAK,CAAC,SAASrxE,EAAOtP,EAAO2gF,EAC9C,CACA,SAAS8B,EAAY,EAAE,CAAEniC,EAAU,CAAC,CAAC,CAAE,CACrC,KAAK,CAAC,SAASA,GACf,IAAMqjC,EAAerjC,EAAQ,YAAY,EAAoB,IAAI6O,QAC7Dy0B,EAAUh9E,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,IAClD,KAAOg9E,EAAQ,MAAM,CAAG,GACtBnB,EAAU,IAAI,CAACmB,EAAQ,GAAG,IAC5B,IAAMC,EAAO,CAAClE,EAAMmE,EAAa,CAAC,CAAC,IACjCnE,AAAQ,MAARA,GAAgBA,IAAS,IAAI,EAAIA,AAA2B,MAA3BA,EAAK,OAAO,CAAC,UAAU,EAAagE,CAAAA,EAAa,GAAG,CAAChE,EAAK,OAAO,GAAKgE,EAAa,GAAG,CAAChE,EAAK,OAAO,CAAE,EAAE,EAAGmE,GAAcD,EAAKlE,EAAK,MAAM,EAC3K,EAAGoE,EAAW,AAACpE,IACbgE,EAAa,GAAG,CAAChE,EAAK,OAAO,GAAMA,CAAAA,aAAgBiD,IAAgBjD,EAAK,QAAQ,CAAC,OAAO,CAACoE,GAAWJ,EAAa,MAAM,CAAChE,EAAK,OAAO,EAAGA,EAAK,QAAQ,CAACr/B,EAAO,CAC9J,EACIv6C,EAAY08E,EAChB,IAAK,IAAIjgF,EAAI,EAAGuD,EAAU,MAAM,CAAG,EAAGvD,GAAK,EAAG,CAC5C,GAAIA,GAjDmB,IAkDrB,MAAM,AAAItB,MAAM,mDAClB,IAAK6E,EAAU,OAAO,CAAC,AAACwtE,IACtB,IAAMoM,EAAO,IAAI,CAAC,IAAI,CAACpM,EAAS,MAAM,CAAE,CAAC,EACzCoM,AAAQ,OAARA,GAAiBA,CAAAA,EAAK,OAAO,GAAKpM,EAAS,MAAM,EAAKA,CAAAA,AAAkB,cAAlBA,EAAS,IAAI,CAAoBsQ,CAAAA,EAAK,IAAI,CAAC,IAAI,CAACtQ,EAAS,eAAe,CAAE,CAAC,IAAK3sE,MAAM,IAAI,CAAC2sE,EAAS,UAAU,EAAE,OAAO,CAAC,AAAC9L,IAC7K,IAAMh7D,EAAQ,IAAI,CAAC,IAAI,CAACg7D,EAAM,CAAC,EAC/Boc,CAAAA,EAAKp3E,EAAO,CAAC,GAAIA,aAAiBm2E,IAAgBn2E,EAAM,QAAQ,CAAC,OAAO,CAAC,AAACu3E,IACxEH,EAAKG,EAAY,CAAC,EACpB,EACF,EAAC,EAAKzQ,AAAkB,eAAlBA,EAAS,IAAI,EAAqBsQ,EAAKlE,EAAK,IAAI,GAAIkE,EAAKlE,EAAI,CACrE,GAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAACoE,GAAgEH,EAAU79E,AAA/DA,CAAAA,EAAYa,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAE,EAAuB,KAAK,GAAIg9E,EAAQ,MAAM,CAAG,GACtInB,EAAU,IAAI,CAACmB,EAAQ,GAAG,GAC9B,CACF,CACA,OAAOnB,CAAS,CAAEniC,EAAU,CAAC,CAAC,CAAE,CAC9BmiC,EAAYA,GAAa,IAAI,CAAC,QAAQ,CAAC,WAAW,GAClD,IAAMkB,EAA+B,IAAIx0B,OACzCszB,CAAAA,EAAU,GAAG,CAAC,AAAClP,IACb,IAAMoM,EAAO,IAAI,CAAC,IAAI,CAACpM,EAAS,MAAM,CAAE,CAAC,GACzC,OAAOoM,AAAQ,MAARA,EAAe,KAAOgE,EAAa,GAAG,CAAChE,EAAK,OAAO,EAAKgE,CAAAA,EAAa,GAAG,CAAChE,EAAK,OAAO,EAAE,IAAI,CAACpM,GAAW,IAAG,EAAMoQ,CAAAA,EAAa,GAAG,CAAChE,EAAK,OAAO,CAAE,CAACpM,EAAS,EAAGoM,CAAG,CACxK,GAAG,OAAO,CAAC,AAACA,IACVA,AAAQ,MAARA,GAAgBA,IAAS,IAAI,EAAIgE,EAAa,GAAG,CAAChE,EAAK,OAAO,GAAKA,EAAK,MAAM,CAACgE,EAAa,GAAG,CAAChE,EAAK,OAAO,GAAK,EAAE,CAAEr/B,EACvH,GAAIA,EAAQ,YAAY,CAAGqjC,EAAcA,EAAa,GAAG,CAAC,IAAI,CAAC,OAAO,GAAK,KAAK,CAAC,OAAOA,EAAa,GAAG,CAAC,IAAI,CAAC,OAAO,EAAGrjC,GAAU,IAAI,CAAC,QAAQ,CAACmiC,EAAWniC,EAC7J,CACF,CACA,IAAY,QAAQ,CAAG,SAAU,GAAY,YAAY,CAAG6iC,GAAa,GAAY,eAAe,CAAG,CAACA,GAAaC,GAAgB,CAAE,GAAY,KAAK,CAAGtE,GAAM,UAAU,CAAE,GAAY,OAAO,CAAG,MAEnM,IAAMmF,GADW,GACgB,GAAY,MAAMC,UAAkB9C,GACnE,OAAO,OAAOphF,CAAK,CAAE,CACnB,OAAOy3D,SAAS,cAAc,CAACz3D,EACjC,CACA,OAAO,MAAMwgF,CAAO,CAAE,CACpB,OAAOA,EAAQ,IAAI,AACrB,CACA,YAAYjB,CAAM,CAAE9X,CAAI,CAAE,CACxB,KAAK,CAAC8X,EAAQ9X,GAAO,IAAI,CAAC,IAAI,CAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAClE,CACA,SAASn4D,CAAK,CAAE9O,CAAM,CAAE,CACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAG,IAAI,CAAC,IAAI,CAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAG8O,GAAS,IAAI,CAAC,IAAI,CAAC,KAAK,CAACA,EAAQ9O,EACtF,CACA,MAAMinE,CAAI,CAAE9hE,CAAM,CAAE,CAClB,OAAO,IAAI,CAAC,OAAO,GAAK8hE,EAAO9hE,EAAS,EAC1C,CACA,SAAS2J,CAAK,CAAEtP,CAAK,CAAE2gF,CAAG,CAAE,CAC1BA,AAAO,MAAPA,EAAe,KAAI,CAAC,IAAI,CAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAGrxE,GAAStP,EAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAACsP,GAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAG,IAAI,CAAC,IAAI,AAAD,EAAK,KAAK,CAAC,SAASA,EAAOtP,EAAO2gF,EACvJ,CACA,QAAS,CACP,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,AACzB,CACA,SAASrgC,CAAO,CAAE,CAChB,KAAK,CAAC,SAASA,GAAU,IAAI,CAAC,IAAI,CAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAG,AAAqB,IAArB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAS,IAAI,CAAC,MAAM,GAAK,IAAI,CAAC,IAAI,YAAY4jC,GAAa,IAAI,CAAC,IAAI,CAAC,IAAI,GAAK,IAAI,EAAK,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAAC,CAClP,CACA,SAAS50E,CAAK,CAAE6xE,EAAa,CAAC,CAAC,CAAE,CAC/B,MAAO,CAAC,IAAI,CAAC,OAAO,CAAE7xE,EAAM,AAC9B,CACA,MAAMA,CAAK,CAAE02D,EAAQ,CAAC,CAAC,CAAE,CACvB,GAAI,CAACA,EAAO,CACV,GAAI12D,AAAU,IAAVA,EACF,OAAO,IAAI,CACb,GAAIA,IAAU,IAAI,CAAC,MAAM,GACvB,OAAO,IAAI,CAAC,IAAI,AACpB,CACA,IAAMq7C,EAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAACr7C,IACxD,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAACq7C,EAAO,IAAI,CAAC,IAAI,EAAI,KAAK,GAAI,IAAI,CAAC,IAAI,CAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAGA,CAC7G,CACA,OAAO83B,CAAS,CAAE5B,CAAQ,CAAE,CAC1B4B,EAAU,IAAI,CAAC,AAAClP,GAAaA,AAAkB,kBAAlBA,EAAS,IAAI,EAAwBA,EAAS,MAAM,GAAK,IAAI,CAAC,OAAO,GAAM,KAAI,CAAC,IAAI,CAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EACrJ,CACA,OAAQ,CACN,OAAO,IAAI,CAAC,IAAI,AAClB,CACF,CACA,IAAU,QAAQ,CAAG,OAAQ,GAAU,KAAK,CAAGuL,GAAM,WAAW,CAEhE,IAAMqF,GADS,G,iBkHvyBf,OAZA,SAAmB3iF,CAAK,CAAEisD,CAAQ,EAIhC,IAHA,IAAIn+C,EAAQ,GACR9O,EAASgB,AAAS,MAATA,EAAgB,EAAIA,EAAM,MAAM,CAEtC,EAAE8N,EAAQ9O,GACXitD,AAAyC,KAAzCA,EAASjsD,CAAK,CAAC8N,EAAM,CAAEA,EAAO9N,KAIpC,OAAOA,CACT,EChBA,IAAIutD,GAAa,GAAQzwD,OAAO,IAAI,CAAEA,QCIlC,GAAiB,AAHHA,OAAO,SAAS,CAGD,cAAc,CAsB/C,OAbA,SAAkBC,CAAM,EACtB,GAAI,CAAC,GAAYA,GACf,OAAO,ADbIwwD,GCaOxwD,GAEpB,IAAI0gB,EAAS,EAAE,CACf,IAAK,IAAI5f,KAAOf,OAAOC,GACjB,GAAe,IAAI,CAACA,EAAQc,IAAQA,AAAO,eAAPA,GACtC4f,EAAO,IAAI,CAAC5f,GAGhB,OAAO4f,CACT,ECSA,GAJA,SAAc1gB,CAAM,EAClB,OAAOkzD,GAAYlzD,GAAU,GAAcA,GAAU,GAASA,EAChE,ECVA,GAfA,SAAqBiD,CAAK,CAAE8zD,CAAS,EAMnC,IALA,IAAIhmD,EAAQ,GACR9O,EAASgB,AAAS,MAATA,EAAgB,EAAIA,EAAM,MAAM,CACzCi0D,EAAW,EACXx2C,EAAS,EAAE,CAER,EAAE3P,EAAQ9O,GAAQ,CACvB,IAAIR,EAAQwB,CAAK,CAAC8N,EAAM,CACpBgmD,EAAUt1D,EAAOsP,EAAO9N,IAC1Byd,CAAAA,CAAM,CAACw2C,IAAW,CAAGz1D,CAAI,CAE7B,CACA,OAAOif,CACT,ECAA,GAJA,WACE,MAAO,EAAE,AACX,ECbA,IAAI,GAAuB,AAHT3gB,OAAO,SAAS,CAGK,oBAAoB,CAGvDuwD,GAAmBvwD,OAAO,qBAAqB,CAS/C6yD,GAAa,AAACtC,GAA+B,SAAStwD,CAAM,SAC9D,AAAIA,AAAU,MAAVA,EACK,EAAE,CAGJ,GAAYswD,GADnBtwD,EAASD,OAAOC,IAC6B,SAAS+0D,CAAM,EAC1D,OAAO,GAAqB,IAAI,CAAC/0D,EAAQ+0D,EAC3C,EACF,EARqC8wB,GCArC,OAXA,SAAmB5iF,CAAK,CAAE87C,CAAM,EAK9B,IAJA,IAAIhuC,EAAQ,GACR9O,EAAS88C,EAAO,MAAM,CACtB33C,EAASnE,EAAM,MAAM,CAElB,EAAE8N,EAAQ9O,GACfgB,CAAK,CAACmE,EAAS2J,EAAM,CAAGguC,CAAM,CAAChuC,EAAM,CAEvC,OAAO9N,CACT,ECFA,IAAI6iF,GAAe,AATI/lF,OAAO,qBAAqB,CASA,SAASC,CAAM,EAEhE,IADA,IAAI0gB,EAAS,EAAE,CACR1gB,GACL,GAAU0gB,EAAQ,AFWPkyC,GEXkB5yD,IAC7BA,EAAS,A9CdEkwD,G8CcWlwD,GAExB,OAAO0gB,CACT,EAPuCmlE,GCIvC,OALA,SAAwB7lF,CAAM,CAAEk1D,CAAQ,CAAEC,CAAW,EACnD,IAAIz0C,EAASw0C,EAASl1D,GACtB,OAAO+B,AzCSM,GyCTE/B,GAAU0gB,EAAS,GAAUA,EAAQy0C,EAAYn1D,GAClE,ECFA,GAJA,SAAoBA,CAAM,EACxB,OAAO,GAAeA,EAAQ,GJiBjB4yD,GIhBf,ECGA,GAJA,SAAsB5yD,CAAM,EAC1B,OAAO,GAAeA,EAAQ2/E,GHWjBmG,GGVf,ECVA,IAAIr1B,GAAW,G/FIA,G+FJgB,YCA3B,GAAU,GhGIC,GgGJe,WCA1B,GAAM,GjGIK,GiGJW,OCAtB,GAAU,GlGIC,GkGJe,WCK1B,GAAS,eAETvD,GAAa,mBACb,GAAS,eACT,GAAa,mBAEb,GAAc,oBAGd4D,GAAqB,GJZVL,IIaXO,GAAgB,GvFbL,IuFcXC,GAAoB,GHdT,IGeXC,GAAgB,GFfL,IEgBXC,GAAoB,GDhBT,ICyBX0B,GAAS,GAGT,CJ5BWpC,II4BEoC,GAAO,IJ5BTpC,GI4BsB,IAAI1tD,YAAY,MAAQ,IACxD,AvF7BU,IuF6BH8vD,GAAO,IvF7BJ,KuF6BgB,IAC1B,AH9BU,IG8BCA,GAAO,AH9BR,GG8BQ,OAAe,KAAO3F,IACxC,AF/BU,IE+BH2F,GAAO,IF/BJ,KE+BgB,IAC1B,ADhCU,ICgCCA,GAAO,IDhCR,KCgCwB,EAAU,GAC/CA,CAAAA,GAAS,SAASpxD,CAAK,EACrB,IAAIif,EAAS,GAAWjf,GACpBqxD,EAAOpyC,AA/BC,mBA+BDA,EAAsBjf,EAAM,WAAW,CAAGD,KAAAA,EACjDuxD,EAAaD,EAAO,GAASA,GAAQ,GAEzC,GAAIC,EACF,OAAQA,GACN,KAAKjC,GAAoB,OAAO,EAChC,MAAKE,GAAe,OAAO,EAC3B,MAAKC,GAAmB,OAAO/D,EAC/B,MAAKgE,GAAe,OAAO,EAC3B,MAAKC,GAAmB,OAAO,EACjC,CAEF,OAAOzwC,CACT,GAGF,OAAemyC,GCrDf,IAAI,GAAiB,AAHH9yD,OAAO,SAAS,CAGD,cAAc,CAqB/C,OAZA,SAAwBkD,CAAK,EAC3B,IAAIhB,EAASgB,EAAM,MAAM,CACrByd,EAAS,IAAIzd,EAAM,WAAW,CAAChB,GAOnC,OAJIA,GAAU,AAAmB,UAAnB,OAAOgB,CAAK,CAAC,EAAE,EAAgB,GAAe,IAAI,CAACA,EAAO,WACtEyd,EAAO,KAAK,CAAGzd,EAAM,KAAK,CAC1Byd,EAAO,KAAK,CAAGzd,EAAM,KAAK,EAErByd,CACT,ECRA,GALA,SAAuBk0C,CAAQ,CAAEb,CAAM,EACrC,IAAIpuD,EAASouD,EAAS,GAAiBa,EAAS,MAAM,EAAIA,EAAS,MAAM,CACzE,OAAO,IAAIA,EAAS,WAAW,CAACjvD,EAAQivD,EAAS,UAAU,CAAEA,EAAS,UAAU,CAClF,ECZA,IAAIzG,GAAU,OAed,OANA,SAAqB2G,CAAM,EACzB,IAAIp0C,EAAS,IAAIo0C,EAAO,WAAW,CAACA,EAAO,MAAM,CAAE3G,GAAQ,IAAI,CAAC2G,IAEhE,OADAp0C,EAAO,SAAS,CAAGo0C,EAAO,SAAS,CAC5Bp0C,CACT,ECXA,IAAI0wC,GAAc,AtGEH,GsGFY,AtGEZ,GsGFY,SAAgB,CAAG5vD,KAAAA,EAC1C6vD,GAAgBD,GAAcA,GAAY,OAAO,CAAG5vD,KAAAA,ECwExD,OApCA,SAAwBxB,CAAM,CAAEi5B,CAAG,CAAE86B,CAAM,EACzC,ID5BmBgB,EC4BfjC,EAAO9yD,EAAO,WAAW,CAC7B,OAAQi5B,GACN,IA3BiB,uBA4Bf,OAAO,GAAiBj5B,EAE1B,KAvCU,mBAwCV,IAvCU,gBAwCR,OAAO,IAAI8yD,EAAK,CAAC9yD,EAEnB,KAjCc,oBAkCZ,OAAO,GAAcA,EAAQ+zD,EAE/B,KAnCa,wBAmCI,IAlCJ,wBAmCb,IAlCU,qBAkCI,IAjCH,sBAiCkB,IAhClB,sBAiCX,IAhCW,sBAgCI,IA/BG,6BA+BmB,IA9BzB,uBA8ByC,IA7BzC,uBA8BV,OAAO,GAAgB/zD,EAAQ+zD,EAEjC,KAjDS,eA2DT,IAxDS,eA+CP,OAAO,IAAIjB,CAEb,KAnDY,kBAoDZ,IAjDY,kBAkDV,OAAO,IAAIA,EAAK9yD,EAElB,KAtDY,kBAuDV,OAAO,GAAYA,EAKrB,KAzDY,mBA0DV,OD3De+0D,EC2DI/0D,ED1DhBqxD,GAAgBtxD,OAAOsxD,GAAc,IAAI,CAAC0D,IAAW,CAAC,CC2D7D,CACF,ECrEA,IAAIgxB,GAAY,A9CwBDpwB,I8CxBa,A9CwBbA,G8CxBa,KAAc,CAmBtC,GAAQowB,GAAY,GAAUA,ICXlC,SAAmBtkF,CAAK,EACtB,OAAO,GAAaA,IAAU,AAVnB,gBAUmB,GAAOA,EACvC,ECVIukF,GAAY,AhDwBDrwB,IgDxBa,AhDwBbA,GgDxBa,KAAc,CAmBtCswB,GAAQD,GAAY,GAAUA,ICXlC,SAAmBvkF,CAAK,EACtB,OAAO,GAAaA,IAAU,AAVnB,gBAUmB,GAAOA,EACvC,ECcI,GAAU,qBAKV,GAAU,oBAIV,GAAY,kBAoBZ6sD,GAAgB,CAAC,CACrBA,CAAAA,EAAa,CAAC,GAAQ,CAAGA,EAAa,CA7BvB,iBA6BiC,CAChDA,EAAa,CAfQ,uBAeQ,CAAGA,EAAa,CAd3B,oBAcwC,CAC1DA,EAAa,CA9BC,mBA8BQ,CAAGA,EAAa,CA7BxB,gBA6BiC,CAC/CA,EAAa,CAfI,wBAeQ,CAAGA,EAAa,CAdxB,wBAcoC,CACrDA,EAAa,CAdC,qBAcQ,CAAGA,EAAa,CAbvB,sBAaiC,CAChDA,EAAa,CAbE,sBAaQ,CAAGA,EAAa,CA5B1B,eA4BkC,CAC/CA,EAAa,CA5BG,kBA4BQ,CAAGA,EAAa,CAAC,GAAU,CACnDA,EAAa,CA3BG,kBA2BQ,CAAGA,EAAa,CA1B3B,eA0BmC,CAChDA,EAAa,CA1BG,kBA0BQ,CAAGA,EAAa,CAzBxB,kBAyBmC,CACnDA,EAAa,CAhBE,sBAgBQ,CAAGA,EAAa,CAfjB,6BAekC,CACxDA,EAAa,CAfG,uBAeQ,CAAGA,EAAa,CAdxB,uBAcmC,CAAG,GACtDA,EAAa,CArCE,iBAqCQ,CAAGA,EAAa,CAAC,GAAQ,CAChDA,EAAa,CA5BI,mBA4BQ,CAAG,GA8F5B,OA5EA,SAASwF,EAAUryD,CAAK,CAAE60D,CAAO,CAAEjE,CAAU,CAAEvxD,CAAG,CAAEd,CAAM,CAAEi0D,CAAK,EAC/D,IAAIvzC,EACAqzC,EAASuC,AAnEO,EAmEPA,EACT4vB,EAAS5vB,AAnEO,EAmEPA,EACTtC,EAASsC,AAnEU,EAmEVA,EAKb,GAHIjE,GACF3xC,CAAAA,EAAS1gB,EAASqyD,EAAW5wD,EAAOX,EAAKd,EAAQi0D,GAAS5B,EAAW5wD,EAAK,EAExEif,AAAWlf,KAAAA,IAAXkf,EACF,OAAOA,EAET,GAAI,CAAC,GAASjf,GACZ,OAAOA,EAET,IAAIyyD,EAAQnyD,A1D/EC,G0D+EON,GACpB,GAAIyyD,EAEF,IADAxzC,EAAS,GAAejf,GACpB,CAACsyD,EACH,OAAO,GAAUtyD,EAAOif,EAC1B,KACK,CACL,ICnGkB1gB,EAAQ+gB,ECDPA,EAAQ/gB,ECCXA,EAAQ+gB,ECDPA,EAAQ/gB,EJoGrBi5B,EAAM,GAAOx3B,GACb4yD,EAASp7B,GAAO,IAAWA,AA7EtB,8BA6EsBA,EAE/B,GAAIm6B,GAAS3xD,GACX,OAAO,GAAYA,EAAOsyD,GAE5B,GAAI96B,GAAO,IAAaA,GAAO,IAAYo7B,GAAU,CAACr0D,EAEpD,IADA0gB,EAAS,AAACwlE,GAAU7xB,EAAU,CAAC,EAAI,GAAgB5yD,GAC/C,CAACsyD,EAAQ,EACX,OAAOmyB,GE7GQnlE,EF8GGtf,EE9GKzB,GDCTA,ED6GwB0gB,EC7GhBK,ED6GwBtf,EC5G7CzB,GAAU,GAAW+gB,EAAQ4+D,GAAO5+D,GAAS/gB,ICD7C,GAAW+gB,EAAQ,ApBYb+kE,GoBZ0B/kE,GAAS/gB,KED7B+gB,EJ+GGtf,EI/GKzB,GDCTA,EH8GsB0gB,EG9GdK,EH8GsBtf,EG7GzCzB,GAAU,GAAW+gB,EAAQ,GAAKA,GAAS/gB,ICD3C,GAAW+gB,EAAQ,AxBiBb6xC,GwBjBwB7xC,GAAS/gB,GJ+G1C,MACK,CACL,GAAI,CAACsuD,EAAa,CAACr1B,EAAI,CACrB,OAAOj5B,EAASyB,EAAQ,CAAC,EAE3Bif,EAAS,GAAejf,EAAOw3B,EAAK86B,EACtC,CACF,CAEAE,GAAUA,CAAAA,EAAQ,IjF1GLtC,EiF0GS,EACtB,IAAIqD,EAAUf,EAAM,GAAG,CAACxyD,GACxB,GAAIuzD,EACF,OAAOA,EAETf,EAAM,GAAG,CAACxyD,EAAOif,GAEb,AFjHSulE,GEiHHxkF,GACRA,EAAM,OAAO,CAAC,SAAS6zD,CAAQ,EAC7B50C,EAAO,GAAG,CAACozC,EAAUwB,EAAUgB,EAASjE,EAAYiD,EAAU7zD,EAAOwyD,GACvE,GACSkyB,AJrHE,GIqHI1kF,IACfA,EAAM,OAAO,CAAC,SAAS6zD,CAAQ,CAAEx0D,CAAG,EAClC4f,EAAO,GAAG,CAAC5f,EAAKgzD,EAAUwB,EAAUgB,EAASjE,EAAYvxD,EAAKW,EAAOwyD,GACvE,GAGF,IAAIiB,EAAWlB,EACVkyB,EAAS,GAAe,GACxBA,EAASvG,GAAS,GAEnBx4C,EAAQ+sB,EAAQ1yD,KAAAA,EAAY0zD,EAASzzD,GASzC,OARA,GAAU0lC,GAAS1lC,EAAO,SAAS6zD,CAAQ,CAAEx0D,CAAG,EAC1CqmC,GAEFmuB,CAAAA,EAAW7zD,CAAK,CADhBX,EAAMw0D,EACe,AAAD,EAGtB,GAAY50C,EAAQ5f,EAAKgzD,EAAUwB,EAAUgB,EAASjE,EAAYvxD,EAAKW,EAAOwyD,GAChF,GACOvzC,CACT,EKvIA,GAJA,SAAmBjf,CAAK,EACtB,OAAO,GAAUA,EAAO,EAC1B,ECdA,SAASs0D,GAAShX,CAAM,EACtB,IAAIhuC,EAAQ,GACR9O,EAAS88C,AAAU,MAAVA,EAAiB,EAAIA,EAAO,MAAM,CAG/C,IADA,IAAI,CAAC,QAAQ,CAAG,I7FeH0S,G6FdN,EAAE1gD,EAAQ9O,GACf,IAAI,CAAC,GAAG,CAAC88C,CAAM,CAAChuC,EAAM,CAE1B,CAGAglD,GAAS,SAAS,CAAC,GAAG,CAAGA,GAAS,SAAS,CAAC,IAAI,CCVhD,SAAqBt0D,CAAK,EAExB,OADA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACA,EAbC,6BAcZ,IAAI,AACb,EDQAs0D,GAAS,SAAS,CAAC,GAAG,CEftB,SAAqBt0D,CAAK,EACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACA,EAC3B,ECWA,OAZA,SAAmBwB,CAAK,CAAE8zD,CAAS,EAIjC,IAHA,IAAIhmD,EAAQ,GACR9O,EAASgB,AAAS,MAATA,EAAgB,EAAIA,EAAM,MAAM,CAEtC,EAAE8N,EAAQ9O,GACf,GAAI80D,EAAU9zD,CAAK,CAAC8N,EAAM,CAAEA,EAAO9N,GACjC,MAAO,GAGX,MAAO,EACT,EC+DA,GA9DA,SAAqBA,CAAK,CAAEgwD,CAAK,CAAEqD,CAAO,CAAEjE,CAAU,CAAEkE,CAAS,CAAEtC,CAAK,EACtE,IAAIuC,EAAYF,AAjBS,EAiBTA,EACZtwD,EAAY/C,EAAM,MAAM,CACxBwzD,EAAYxD,EAAM,MAAM,CAE5B,GAAIjtD,GAAaywD,GAAa,CAAED,CAAAA,GAAaC,EAAYzwD,CAAQ,EAC/D,MAAO,GAGT,IAAIogF,EAAanyB,EAAM,GAAG,CAAChxD,GACvBojF,EAAapyB,EAAM,GAAG,CAAChB,GAC3B,GAAImzB,GAAcC,EAChB,OAAOD,GAAcnzB,GAASozB,GAAcpjF,EAE9C,IAAI8N,EAAQ,GACR2P,EAAS,GACTg2C,EAAO,AAACJ,AA/Be,EA+BfA,EAAoC,IJXnCP,GIWkDv0D,KAAAA,EAM/D,IAJAyyD,EAAM,GAAG,CAAChxD,EAAOgwD,GACjBgB,EAAM,GAAG,CAAChB,EAAOhwD,GAGV,EAAE8N,EAAQ/K,GAAW,CAC1B,IAAI2wD,EAAW1zD,CAAK,CAAC8N,EAAM,CACvB6lD,EAAW3D,CAAK,CAACliD,EAAM,CAE3B,GAAIshD,EACF,IAAIwE,EAAWL,EACXnE,EAAWuE,EAAUD,EAAU5lD,EAAOkiD,EAAOhwD,EAAOgxD,GACpD5B,EAAWsE,EAAUC,EAAU7lD,EAAO9N,EAAOgwD,EAAOgB,GAE1D,GAAI4C,AAAar1D,KAAAA,IAAbq1D,EAAwB,CAC1B,GAAIA,EACF,SAEFn2C,EAAS,GACT,KACF,CAEA,GAAIg2C,EACF,IAAI,CAAC,GAAUzD,EAAO,SAAS2D,CAAQ,CAAEI,CAAQ,MCrDrCjlB,EAAOjxC,EDsDb,GAAI,ACtDEixC,EDsDQ2kB,ECtDD51D,EDsDOk2D,GCrDvBjlB,EAAM,GAAG,CAACjxC,IDsDF61D,CAAAA,IAAaC,GAAYL,EAAUI,EAAUC,EAAUN,EAASjE,EAAY4B,EAAK,EACpF,OAAOyC,EAAK,IAAI,CAACM,EAErB,GAAI,CACNt2C,EAAS,GACT,KACF,OACK,GAAI,CACLi2C,CAAAA,IAAaC,GACXL,EAAUI,EAAUC,EAAUN,EAASjE,EAAY4B,EAAK,EACzD,CACLvzC,EAAS,GACT,KACF,CACF,CAGA,OAFAuzC,EAAM,MAAS,CAAChxD,GAChBgxD,EAAM,MAAS,CAAChB,GACTvyC,CACT,EEhEA,GAVA,SAAoBmuC,CAAG,EACrB,IAAI99C,EAAQ,GACR2P,EAASrY,MAAMwmD,EAAI,IAAI,EAK3B,OAHAA,EAAI,OAAO,CAAC,SAASptD,CAAK,CAAEX,CAAG,EAC7B4f,CAAM,CAAC,EAAE3P,EAAM,CAAG,CAACjQ,EAAKW,EAAM,AAChC,GACOif,CACT,ECEA,GAVA,SAAoBsuC,CAAG,EACrB,IAAIj+C,EAAQ,GACR2P,EAASrY,MAAM2mD,EAAI,IAAI,EAK3B,OAHAA,EAAI,OAAO,CAAC,SAASvtD,CAAK,EACxBif,CAAM,CAAC,EAAE3P,EAAM,CAAGtP,CACpB,GACOif,CACT,ECWA,IAAI,GAAc,A1HrBH,G0HqBY,A1HrBZ,G0HqBY,SAAgB,CAAGlf,KAAAA,EAC1C,GAAgB,GAAc,GAAY,OAAO,CAAGA,KAAAA,EAoFxD,OAjEA,SAAoBxB,CAAM,CAAEizD,CAAK,CAAEh6B,CAAG,CAAEq9B,CAAO,CAAEjE,CAAU,CAAEkE,CAAS,CAAEtC,CAAK,EAC3E,OAAQh7B,GACN,IAzBc,oBA0BZ,GAAI,AAACj5B,EAAO,UAAU,EAAIizD,EAAM,UAAU,EACrCjzD,EAAO,UAAU,EAAIizD,EAAM,UAAU,CACxC,MAEFjzD,EAASA,EAAO,MAAM,CACtBizD,EAAQA,EAAM,MAAM,AAEtB,KAlCiB,uBAmCf,GAAI,AAACjzD,EAAO,UAAU,EAAIizD,EAAM,UAAU,EACtC,CAACsD,EAAU,IpFrDNn0D,GoFqDqBpC,GAAS,IpFrD9BoC,GoFqD6C6wD,IACpD,MAEF,MAAO,EAET,KAnDU,mBAoDV,IAnDU,gBAoDV,IAjDY,kBAoDV,OAAO,GAAG,CAACjzD,EAAQ,CAACizD,EAEtB,KAxDW,iBAyDT,OAAOjzD,EAAO,IAAI,EAAIizD,EAAM,IAAI,EAAIjzD,EAAO,OAAO,EAAIizD,EAAM,OAAO,AAErE,KAxDY,kBAyDZ,IAvDY,kBA2DV,OAAOjzD,GAAWizD,EAAQ,EAE5B,KAjES,eAkEP,IAAIgF,EAAU,EAEhB,KAjES,eAkEP,IAAIzB,EAAYF,AA5EK,EA4ELA,EAGhB,GAFA2B,GAAYA,CAAAA,EAAU,IAElBj4D,EAAO,IAAI,EAAIizD,EAAM,IAAI,EAAI,CAACuD,EAChC,MAGF,IAAIxB,EAAUf,EAAM,GAAG,CAACj0D,GACxB,GAAIg1D,EACF,OAAOA,GAAW/B,EAEpBqD,GAtFuB,EAyFvBrC,EAAM,GAAG,CAACj0D,EAAQizD,GAClB,IAAIvyC,EAAS,GAAYu3C,EAAQj4D,GAASi4D,EAAQhF,GAAQqD,EAASjE,EAAYkE,EAAWtC,GAE1F,OADAA,EAAM,MAAS,CAACj0D,GACT0gB,CAET,KAnFY,kBAoFV,GAAI,GACF,OAAO,GAAc,IAAI,CAAC1gB,IAAW,GAAc,IAAI,CAACizD,EAE9D,CACA,MAAO,EACT,ECpGA,IAAI,GAAiB,AAHHlzD,OAAO,SAAS,CAGD,cAAc,CAgF/C,OAjEA,SAAsBC,CAAM,CAAEizD,CAAK,CAAEqD,CAAO,CAAEjE,CAAU,CAAEkE,CAAS,CAAEtC,CAAK,EACxE,IAAIuC,EAAYF,AAtBS,EAsBTA,EACZiC,EAAW,GAAWv4D,GACtBw4D,EAAYD,EAAS,MAAM,CAI/B,GAAIC,GAFYC,AADD,GAAWxF,GACD,MAAM,EAED,CAACuD,EAC7B,MAAO,GAGT,IADA,IAAIzlD,EAAQynD,EACLznD,KAAS,CACd,IAAIjQ,EAAMy3D,CAAQ,CAACxnD,EAAM,CACzB,GAAI,CAAEylD,CAAAA,EAAY11D,KAAOmyD,EAAQ,GAAe,IAAI,CAACA,EAAOnyD,EAAG,EAC7D,MAAO,EAEX,CAEA,IAAIwlF,EAAaryB,EAAM,GAAG,CAACj0D,GACvBqmF,EAAapyB,EAAM,GAAG,CAAChB,GAC3B,GAAIqzB,GAAcD,EAChB,OAAOC,GAAcrzB,GAASozB,GAAcrmF,EAE9C,IAAI0gB,EAAS,GACbuzC,EAAM,GAAG,CAACj0D,EAAQizD,GAClBgB,EAAM,GAAG,CAAChB,EAAOjzD,GAGjB,IADA,IAAI04D,EAAWlC,EACR,EAAEzlD,EAAQynD,GAAW,CAE1B,IAAIxG,EAAWhyD,CAAM,CADrBc,EAAMy3D,CAAQ,CAACxnD,EAAM,CACK,CACtB6lD,EAAW3D,CAAK,CAACnyD,EAAI,CAEzB,GAAIuxD,EACF,IAAIwE,EAAWL,EACXnE,EAAWuE,EAAU5E,EAAUlxD,EAAKmyD,EAAOjzD,EAAQi0D,GACnD5B,EAAWL,EAAU4E,EAAU91D,EAAKd,EAAQizD,EAAOgB,GAGzD,GAAI,CAAE4C,CAAAA,AAAar1D,KAAAA,IAAbq1D,EACG7E,IAAa4E,GAAYL,EAAUvE,EAAU4E,EAAUN,EAASjE,EAAY4B,GAC7E4C,CAAO,EACR,CACLn2C,EAAS,GACT,KACF,CACAg4C,GAAaA,CAAAA,EAAW53D,AAAO,eAAPA,CAAmB,CAC7C,CACA,GAAI4f,GAAU,CAACg4C,EAAU,CACvB,IAAIC,EAAU34D,EAAO,WAAW,CAC5B44D,EAAU3F,EAAM,WAAW,CAG3B0F,GAAWC,GACV,gBAAiB54D,GAAU,gBAAiBizD,GAC7C,CAAE,CAAkB,YAAlB,OAAO0F,GAAyBA,aAAmBA,GACnD,AAAkB,YAAlB,OAAOC,GAAyBA,aAAmBA,CAAM,GAC7Dl4C,CAAAA,EAAS,EAAI,CAEjB,CAGA,OAFAuzC,EAAM,MAAS,CAACj0D,GAChBi0D,EAAM,MAAS,CAAChB,GACTvyC,CACT,EC1EA,IAAI,GAAU,qBACV,GAAW,iBACX,GAAY,kBAMZ,GAAiB,AAHH3gB,OAAO,SAAS,CAGD,cAAc,CA6D/C,OA7CA,SAAyBC,CAAM,CAAEizD,CAAK,CAAEqD,CAAO,CAAEjE,CAAU,CAAEkE,CAAS,CAAEtC,CAAK,EAC3E,IAAIwD,EAAW11D,A1EbF,G0EaU/B,GACnB03D,EAAW31D,A1EdF,G0EcUkxD,GACnB0E,EAASF,EAAW,GAAW,GAAOz3D,GACtC43D,EAASF,EAAW,GAAW,GAAOzE,GAE1C0E,EAASA,GAAU,GAAU,GAAYA,EACzCC,EAASA,GAAU,GAAU,GAAYA,EAEzC,IAAIC,EAAWF,GAAU,GACrBG,EAAWF,GAAU,GACrBG,EAAYJ,GAAUC,EAE1B,GAAIG,GAAa3E,GAASpzD,GAAS,CACjC,GAAI,CAACozD,GAASH,GACZ,MAAO,GAETwE,EAAW,GACXI,EAAW,EACb,CACA,GAAIE,GAAa,CAACF,EAEhB,OADA5D,GAAUA,CAAAA,EAAQ,IjGhCPtC,EiGgCW,EACf,AAAC8F,GAAY,AjEjCTN,GiEiCsBn3D,GAC7B,GAAYA,EAAQizD,EAAOqD,EAASjE,EAAYkE,EAAWtC,GAC3D,GAAWj0D,EAAQizD,EAAO0E,EAAQrB,EAASjE,EAAYkE,EAAWtC,GAExE,GAAI,CAAEqC,CAAAA,AArDmB,EAqDnBA,CAAU,EAAuB,CACrC,IAAI4B,EAAeL,GAAY,GAAe,IAAI,CAAC73D,EAAQ,eACvDm4D,EAAeL,GAAY,GAAe,IAAI,CAAC7E,EAAO,eAE1D,GAAIiF,GAAgBC,EAAc,CAChC,IAAIC,EAAeF,EAAel4D,EAAO,KAAK,GAAKA,EAC/Cq4D,EAAeF,EAAelF,EAAM,KAAK,GAAKA,EAGlD,OADAgB,GAAUA,CAAAA,EAAQ,IjG7CTtC,EiG6Ca,EACf4E,EAAU6B,EAAcC,EAAc/B,EAASjE,EAAY4B,EACpE,CACF,OACA,EAAK8D,IAGL9D,GAAUA,CAAAA,EAAQ,IjGpDLtC,EiGoDS,EACf,GAAa3xD,EAAQizD,EAAOqD,EAASjE,EAAYkE,EAAWtC,GACrE,EC9CA,GAJA,SAAiBxyD,CAAK,CAAEwxD,CAAK,EAC3B,OAAO,ACdT,SAASsE,EAAY91D,CAAK,CAAEwxD,CAAK,CAAEqD,CAAO,CAAEjE,CAAU,CAAE4B,CAAK,SAC3D,AAAIxyD,IAAUwxD,IAGVxxD,AAAS,MAATA,GAAiBwxD,AAAS,MAATA,GAAkB,CAAC,GAAaxxD,IAAW,GAAawxD,EAAK,EAG3E,GAAgBxxD,EAAOwxD,EAAOqD,EAASjE,EAAYkF,EAAatD,GAF9DxyD,GAAUA,GAASwxD,GAAUA,EAGxC,EDMqBxxD,EAAOwxD,EAC5B,CE/BA,OAAM9qC,WAAc,GAClB,OAAO,OAAQ,CAEf,CACA,UAAW,CACL,KAAI,CAAC,IAAI,EAAI,IAAI,CAAC,IAAI,AAAD,GACvB,IAAI,CAAC,MAAM,EAEf,CACA,QAAS,CACP,OAAO,CACT,CACA,OAAQ,CACN,MAAO,EACT,CACF,CACAA,GAAM,QAAQ,CAAG,QACjBA,GAAM,OAAO,CAAG,ICjBhB,OAAM,WAAa,GAAU,CAC7B,SAASo+D,GAAW3zE,CAAI,EACtB,OAAOA,EAAK,OAAO,CAAC,WAAYqhB,GASvBuyD,AAPW,EAChB,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,OACP,EACgB,CAACvyD,EAAE,CAEvB,CCXA,MAAMkS,WAAe,GACnB,OAAO,gBAAkB,CAACA,GFebhe,GEf4B,GAAW,GAAK,AAAC,AAE1D,QAAO,MAAQ,CAAC,SAAU,SAE1B,OAEA,YAAa,SAAU,SAAU,OAAQ,SAAU,OAClD,AAAC,AACF,QAAO,QAAQ5oB,CAAI,CAAE0zD,CAAK,CAAE,CAC1B,IAAMwzB,EAAYtgD,GAAO,KAAK,CAAC,OAAO,CAAC5mC,GACjCmnF,EAAavgD,GAAO,KAAK,CAAC,OAAO,CAAC8sB,UACxC,AAAIwzB,GAAa,GAAKC,GAAc,EAC3BD,EAAYC,EAEjBnnF,IAAS0zD,EACJ,EAEL1zD,EAAO0zD,EACF,GAEF,CACT,CACA,SAASliD,CAAK,CAAE9O,CAAM,CAAEpC,CAAI,CAAE4B,CAAK,CAAE,CACnC,GAAI0kC,AAA8C,EAA9CA,GAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAEtmC,IAAa,IAAI,CAAC,MAAM,CAAC,KAAK,CAACA,EAAM0gF,GAAM,IAAI,EAAG,CAC1F,IAAMa,EAAO,IAAI,CAAC,OAAO,CAACrwE,EAAO9O,GAC7BR,GACF2/E,EAAK,IAAI,CAACvhF,EAAM4B,EAEpB,MACE,KAAK,CAAC,SAASsP,EAAO9O,EAAQpC,EAAM4B,EAExC,CACA,SAASsgD,CAAO,CAAE,CAEhB,GADA,KAAK,CAAC,SAASA,GACX,IAAI,CAAC,MAAM,YAAY5b,IAAUA,GAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAI,EAAG,CAC5G,IAAMnN,EAAS,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAM,IAE7D,IAAI,CAAC,YAAY,CAACA,GAClBA,EAAO,IAAI,CAAC,IAAI,CAClB,CACF,CACF,CACA,OAAemN,ECxCf,OAAMwgD,WAAc,GAClB,MAAQ,CAAC,CAAE,AACX,QAAQ,CAIN,OAHwB,MAApB,IAAI,CAAC,KAAK,CAAC,KAAK,EAClB,KAAI,CAAC,KAAK,CAAC,KAAK,CAAGC,GAAW,IAAI,GAE7B,IAAI,CAAC,KAAK,CAAC,KAAK,AACzB,CACA,SAAS71E,CAAK,CAAE9O,CAAM,CAAE,CACtB,KAAK,CAAC,SAAS8O,EAAO9O,GACtB,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CACA,SAAS8O,CAAK,CAAE9O,CAAM,CAAEpC,CAAI,CAAE4B,CAAK,CAAE,EAC/BQ,CAAAA,GAAU,KACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAACpC,EAAM0gF,GAAM,KAAK,EACjCxvE,EAAQ9O,IAAW,IAAI,CAAC,MAAM,IAChC,IAAI,CAAC,MAAM,CAACpC,EAAM4B,GAGpB,KAAK,CAAC,SAASsP,EAAO9L,KAAK,GAAG,CAAChD,EAAQ,IAAI,CAAC,MAAM,GAAK8O,EAAQ,GAAIlR,EAAM4B,GAE3E,IAAI,CAAC,KAAK,CAAG,CAAC,EAChB,CACA,SAASsP,CAAK,CAAEtP,CAAK,CAAE2gF,CAAG,CAAE,CAC1B,GAAIA,AAAO,MAAPA,EAAa,CACf,KAAK,CAAC,SAASrxE,EAAOtP,EAAO2gF,GAC7B,IAAI,CAAC,KAAK,CAAG,CAAC,EACd,MACF,CACA,GAAI3gF,AAAiB,IAAjBA,EAAM,MAAM,CAAQ,OACxB,IAAMolF,EAAQplF,EAAM,KAAK,CAAC,MACpBmR,EAAOi0E,EAAM,KAAK,EACpBj0E,CAAAA,EAAK,MAAM,CAAG,IACZ7B,EAAQ,IAAI,CAAC,MAAM,GAAK,GAAK,AAAsB,MAAtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CACjD,KAAK,CAAC,SAAS9L,KAAK,GAAG,CAAC8L,EAAO,IAAI,CAAC,MAAM,GAAK,GAAI6B,GAEnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAIA,GAE3D,IAAI,CAAC,KAAK,CAAG,CAAC,GAIhB,IAAIk0E,EAAQ,IAAI,CAChBD,EAAM,MAAM,CAAC,CAACE,EAAWja,KAGvBga,AADAA,CAAAA,EAAQA,EAAM,KAAK,CAACC,EAAW,GAAI,EAC7B,QAAQ,CAAC,EAAGja,GACXA,EAAK,MAAM,EACjB/7D,EAAQ6B,EAAK,MAAM,CACxB,CACA,aAAawuE,CAAI,CAAEiB,CAAG,CAAE,CACtB,GAAM,CACJ2E,KAAAA,CAAI,CACL,CAAG,IAAI,CAAC,QAAQ,CACjB,KAAK,CAAC,aAAa5F,EAAMiB,GACrB2E,aH1CO7+D,IG2CT6+D,EAAK,MAAM,GAEb,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CACA,QAAS,CAIP,OAHyB,MAArB,IAAI,CAAC,KAAK,CAAC,MAAM,EACnB,KAAI,CAAC,KAAK,CAAC,MAAM,CAAG,KAAK,CAAC,SA/DT,CA+DiC,EAE7C,IAAI,CAAC,KAAK,CAAC,MAAM,AAC1B,CACA,aAAalgF,CAAM,CAAEu7E,CAAG,CAAE,CACxB,KAAK,CAAC,aAAav7E,EAAQu7E,GAC3B,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CACA,SAAStgC,CAAO,CAAE,CAChB,KAAK,CAAC,SAASA,GACf,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CACA,KAAKhxC,CAAK,CAAE,CACV,OAAO,KAAK,CAAC,KAAKA,EAAO,GAC3B,CACA,YAAY7C,CAAK,CAAE,CACjB,KAAK,CAAC,YAAYA,GAClB,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CACA,MAAM6C,CAAK,CAAE,CACX,IAAI02D,EAAQ9gE,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,EAAiBA,SAAS,CAAC,EAAE,CAC7E,GAAI8gE,GAAU12D,CAAAA,AAAU,IAAVA,GAAeA,GAAS,IAAI,CAAC,MAAM,GApF9B,CAoFgD,EAAI,CACrE,IAAMk2E,EAAQ,IAAI,CAAC,KAAK,UACxB,AAAIl2E,AAAU,IAAVA,GACF,IAAI,CAAC,MAAM,CAAC,YAAY,CAACk2E,EAAO,IAAI,EAC7B,IAAI,GAEb,IAAI,CAAC,MAAM,CAAC,YAAY,CAACA,EAAO,IAAI,CAAC,IAAI,EAClCA,EACT,CACA,IAAMlpB,EAAO,KAAK,CAAC,MAAMhtD,EAAO02D,GAEhC,OADA,IAAI,CAAC,KAAK,CAAG,CAAC,EACP1J,CACT,CACF,CACA4oB,GAAM,QAAQ,CAAG,QACjBA,GAAM,OAAO,CAAG,IAChBA,GAAM,YAAY,CHtFHx+D,GGuFfw+D,GAAM,eAAe,CAAG,CHvFTx+D,GGuFiB,GAAQ,GAAW,GAAS,AAC5D,OAAM++D,WAAmB,GACvB,QAAS,CACP,KAAK,CAAC,SACN,IAAI,CAAC,UAAU,CAAG,IAAI,GAAgB,IAAI,CAAC,OAAO,CACpD,CACA,OAAQ,CACN,OAAO,IAAI7b,KAAQ,MAAM,CAAC,IAAI,CAAC,KAAK,GAAI,CACtC,GAAG,IAAI,CAAC,OAAO,EAAE,CACjB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,AAC7B,EACF,CACA,OAAOxrE,CAAI,CAAE4B,CAAK,CAAE,CAClB,IAAMg5B,EAAY,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC56B,EAAM0gF,GAAM,eAAe,CAC9C,OAAb9lD,GAEF,IAAI,CAAC,UAAU,CAAC,SAAS,CAACA,EAAWh5B,EAEzC,CACA,SAASsP,CAAK,CAAE9O,CAAM,CAAEpC,CAAI,CAAE4B,CAAK,CAAE,CACnC,IAAI,CAAC,MAAM,CAAC5B,EAAM4B,EACpB,CACA,SAASsP,CAAK,CAAEtP,CAAK,CAAE2gF,CAAG,CAAE,CAC1B,GAAIA,AAAO,MAAPA,EAAa,CACf,KAAK,CAAC,SAASrxE,EAAOtP,EAAO2gF,GAC7B,MACF,CACA,IAAMyE,EAAQplF,EAAM,KAAK,CAAC,MACpBmR,EAAOi0E,EAAM,GAAG,GAChBM,EAASN,EAAM,GAAG,CAAC/Z,IACvB,IAAMga,EAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAACH,GAAM,QAAQ,EAE/C,OADAG,EAAM,QAAQ,CAAC,EAAGha,GACXga,CACT,GACMzE,EAAM,IAAI,CAAC,KAAK,CAACtxE,GACvBo2E,EAAO,OAAO,CAACL,IACb,IAAI,CAAC,MAAM,CAAC,YAAY,CAACA,EAAOzE,EAClC,GACIzvE,GACF,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAQA,GAAOyvE,EAE/D,CACF,CAIA,SAASuE,GAAWxF,CAAI,EACtB,IAAIgG,EAASzgF,CAAAA,CAAAA,UAAU,MAAM,CAAG,IAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,EAAiBA,SAAS,CAAC,EAAE,CAC9E,OAAOy6E,EAAK,WAAW,CAAC,IAAU,MAAM,CAAC,CAACt6B,EAAOugC,IAC/C,AAAIA,AAAkB,IAAlBA,EAAK,MAAM,GACNvgC,EAEFA,EAAM,MAAM,CAACugC,EAAK,KAAK,GAAIC,GAAcD,EAAM,CAAC,EAAGD,IACzD,IAAI/b,IAAS,MAAM,CAAC,KAAMic,GAAclG,GAC7C,CACA,SAASkG,GAAclG,CAAI,EACzB,IAAImD,EAAU59E,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,CAAC,EAC/EygF,EAASzgF,CAAAA,CAAAA,UAAU,MAAM,CAAG,IAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,EAAiBA,SAAS,CAAC,EAAE,QAC9E,AAAIy6E,AAAQ,MAARA,EAAqBmD,GACrB,YAAanD,GAAQ,AAAwB,YAAxB,OAAOA,EAAK,OAAO,GAC1CmD,EAAU,CACR,GAAGA,CAAO,CACV,GAAGnD,EAAK,OAAO,EAAE,AACnB,EACIgG,GAEF,OAAO7C,CAAO,CAAC,aAAa,EAG5BnD,AAAe,MAAfA,EAAK,MAAM,EAAYA,AAAiC,WAAjCA,EAAK,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAiBA,EAAK,MAAM,CAAC,OAAO,CAAC,KAAK,GAAKA,EAAK,OAAO,CAAC,KAAK,EAC/GmD,EAEF+C,GAAclG,EAAK,MAAM,CAAEmD,EAAS6C,EAC7C,CA9BAF,GAAW,KAAK,CAAG3G,GAAM,UAAU,ACnJnC,OAAMgH,WAAe,GACnB,OAAO,SAAW,QAAS,AAC3B,QAAO,UAAY,WAAY,AAC/B,QAAO,QAAU,MAAO,AACxB,QAAO,SAAW,QAAS,AAE3B,QAAO,OAAQ,CAEf,CACA,YAAYvG,CAAM,CAAEiB,CAAO,CAAEuF,CAAS,CAAE,CACtC,KAAK,CAACxG,EAAQiB,GACd,IAAI,CAAC,SAAS,CAAGuF,EACjB,IAAI,CAAC,QAAQ,CAAGtuB,SAAS,cAAc,CAACquB,GAAO,QAAQ,EACvD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EACtC,IAAI,CAAC,WAAW,CAAG,CACrB,CACA,QAAS,CAEY,MAAf,IAAI,CAAC,MAAM,EAAU,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CACvD,CACA,OAAO1nF,CAAI,CAAE4B,CAAK,CAAE,CAClB,GAAI,AAAqB,IAArB,IAAI,CAAC,WAAW,CAAQ,CAC1B,KAAK,CAAC,OAAO5B,EAAM4B,GACnB,MACF,CAGA,IAAIqF,EAAS,IAAI,CACbiK,EAAQ,EACZ,KAAOjK,AAAU,MAAVA,GAAkBA,EAAO,OAAO,CAAC,KAAK,GAAKy5E,GAAM,UAAU,EAChExvE,GAASjK,EAAO,MAAM,CAACA,EAAO,MAAM,EACpCA,EAASA,EAAO,MAAM,AAEV,OAAVA,IACF,IAAI,CAAC,WAAW,CAAGygF,GAAO,QAAQ,CAAC,MAAM,CAEzCzgF,EAAO,QAAQ,GACfA,EAAO,QAAQ,CAACiK,EAAOw2E,GAAO,QAAQ,CAAC,MAAM,CAAE1nF,EAAM4B,GACrD,IAAI,CAAC,WAAW,CAAG,EAEvB,CACA,MAAMynE,CAAI,CAAE9hE,CAAM,CAAE,QAClB,AAAI8hE,IAAS,IAAI,CAAC,QAAQ,CAAS,EAC5B,KAAK,CAAC,MAAMA,EAAM9hE,EAC3B,CACA,QAAS,CACP,OAAO,IAAI,CAAC,WAAW,AACzB,CACA,UAAW,CACT,MAAO,CAAC,IAAI,CAAC,QAAQ,CAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,AACnD,CACA,QAAS,CACP,KAAK,CAAC,SAEN,IAAI,CAAC,MAAM,CAAG,IAChB,CACA,SAAU,KAyBJqgF,EAxBJ,GAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAI,AAAe,MAAf,IAAI,CAAC,MAAM,CAAU,OAAO,KAC5D,IAAMC,EAAQ,IAAI,CAAC,SAAS,CAAC,cAAc,GAG3C,KAAO,AAA0B,MAA1B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAY,IAAI,CAAC,OAAO,CAAC,SAAS,GAAK,IAAI,CAAC,QAAQ,EAE/E,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAE,IAAI,CAAC,OAAO,EAE3E,IAAMC,EAAe,IAAI,CAAC,IAAI,YAAY,GAAW,IAAI,CAAC,IAAI,CAAG,KAC3DC,EAAiBD,EAAeA,EAAa,MAAM,GAAK,EACxDE,EAAe,IAAI,CAAC,IAAI,YAAY,GAAW,IAAI,CAAC,IAAI,CAAG,KAE3DC,EAAWD,EAAeA,EAAa,IAAI,CAAG,GAC9C,CACJE,SAAAA,CAAQ,CACT,CAAG,IAAI,CAEF3kC,EAAU2kC,EAAS,IAAI,CAAC,KAAK,CAACR,GAAO,QAAQ,EAAE,IAAI,CAAC,IAQ1D,GAPAQ,EAAS,IAAI,CAAGR,GAAO,QAAQ,CAO3BI,EACFF,EAAiBE,EACbvkC,CAAAA,GAAWykC,CAAW,IACxBF,EAAa,QAAQ,CAACA,EAAa,MAAM,GAAIvkC,EAAU0kC,GACnDD,GACFA,EAAa,MAAM,SAGlB,GAAIA,EACTJ,EAAiBI,EACjBA,EAAa,QAAQ,CAAC,EAAGzkC,OACpB,CACL,IAAM4kC,EAAc9uB,SAAS,cAAc,CAAC9V,GAC5CqkC,EAAiB,IAAI,CAAC,MAAM,CAAC,MAAM,CAACO,GACpC,IAAI,CAAC,MAAM,CAAC,YAAY,CAACP,EAAgB,IAAI,CAC/C,CAEA,GADA,IAAI,CAAC,MAAM,GACPC,EAAO,CAET,IAAMO,EAAc,CAAC/e,EAAM9hE,IACzB,AAAIugF,GAAgBze,IAASye,EAAa,OAAO,CACxCvgF,EAEL8hE,IAAS6e,EACJH,EAAiBxgF,EAAS,EAE/BygF,GAAgB3e,IAAS2e,EAAa,OAAO,CACxCD,EAAiBxkC,EAAQ,MAAM,CAAGh8C,EAEpC,KAEH7C,EAAQ0jF,EAAYP,EAAM,KAAK,CAAC,IAAI,CAAEA,EAAM,KAAK,CAAC,MAAM,EACxDljF,EAAMyjF,EAAYP,EAAM,GAAG,CAAC,IAAI,CAAEA,EAAM,GAAG,CAAC,MAAM,EACxD,GAAInjF,AAAU,OAAVA,GAAkBC,AAAQ,OAARA,EACpB,MAAO,CACL,UAAWijF,EAAe,OAAO,CACjC,YAAaljF,EACb,QAASkjF,EAAe,OAAO,CAC/B,UAAWjjF,CACb,CAEJ,CACA,OAAO,IACT,CACA,OAAO0/E,CAAS,CAAEniC,CAAO,CAAE,CACzB,GAAImiC,EAAU,IAAI,CAAClP,GACVA,AAAkB,kBAAlBA,EAAS,IAAI,EAAwBA,EAAS,MAAM,GAAK,IAAI,CAAC,QAAQ,EAC3E,CACF,IAAM0S,EAAQ,IAAI,CAAC,OAAO,GACtBA,GAAO3lC,CAAAA,EAAQ,KAAK,CAAG2lC,CAAI,CACjC,CACF,CAYA,SAAS3lC,CAAO,CAAE,CAEhB,KAAK,CAAC,SAASA,GACf,GAAI,CACF/oB,OAAAA,CAAM,CACP,CAAG,IAAI,CACR,KAAOA,GAAQ,CACb,GAAIA,AAA2B,MAA3BA,EAAO,OAAO,CAAC,OAAO,CAAU,CAClC,IAAI,CAAC,WAAW,CAAGuuD,GAAO,QAAQ,CAAC,MAAM,CAEzCvuD,EAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAACA,GAAS,IAAI,CAAC,MAAM,IAAI,MAAM,GACzD,IAAI,CAAC,WAAW,CAAG,EACnB,KACF,CACAA,EAASA,EAAO,MAAM,AACxB,CACF,CACA,OAAQ,CACN,MAAO,EACT,CACF,C,4BCvKA,OAAe,IAAI43B,QCAb6R,GAAS,CAAC,QAAS,OAAQ,MAAO,OAAO,CAC3C/vD,GAAQ,OACZ,SAAS,GAAMtR,CAAM,EACnB,GAAIsR,IACE+vD,GAAO,OAAO,CAACrhE,IAAWqhE,GAAO,OAAO,CAAC/vD,IAAQ,CACnD,IAAK,IAAIw1E,EAAOvhF,UAAU,MAAM,CAAEqG,EAAO,AAAI3E,MAAM6/E,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IAClGn7E,CAAI,CAACm7E,EAAO,EAAE,CAAGxhF,SAAS,CAACwhF,EAAK,CAElC1zE,OAAO,CAACrT,EAAO,IAAI4L,EACrB,CAEJ,CACA,SAASi8D,GAAUrE,CAAE,EACnB,OAAOnC,GAAO,MAAM,CAAC,CAAC2lB,EAAQhnF,KAC5BgnF,CAAM,CAAChnF,EAAO,CAAG,GAAM,IAAI,CAACqT,QAASrT,EAAQwjE,GACtCwjB,GACN,CAAC,EACN,CACAnf,GAAU,KAAK,CAAGof,IAChB31E,GAAQ21E,CACV,EACA,GAAM,KAAK,CAAGpf,GAAU,KAAK,CClB7B,IAAM,GAAQ,ADmBCA,GCnBM,gBAErBqf,AADe,CAAC,kBAAmB,YAAa,UAAW,QAAQ,CAC5D,OAAO,CAACC,IACbrvB,SAAS,gBAAgB,CAACqvB,EAAW,WACnC,IAAK,IAAIL,EAAOvhF,UAAU,MAAM,CAAEqG,EAAO,AAAI3E,MAAM6/E,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/En7E,CAAI,CAACm7E,EAAK,CAAGxhF,SAAS,CAACwhF,EAAK,CAE9B9/E,MAAM,IAAI,CAAC6wD,SAAS,gBAAgB,CAAC,kBAAkB,OAAO,CAACgQ,IAC7D,IAAMsf,EAAQC,GAAU,GAAG,CAACvf,GACxBsf,GAASA,EAAM,OAAO,EACxBA,EAAM,OAAO,CAAC,SAAS,IAAIx7E,EAE/B,EACF,EACF,EACA,OAAM07E,WAAgB,KACpB,OAAO,OAAS,CACd,cAAe,gBACf,qBAAsB,uBACtB,kBAAmB,oBACnB,oBAAqB,sBACrB,gBAAiB,kBACjB,cAAe,gBACf,oBAAqB,sBACrB,iBAAkB,mBAClB,YAAa,cACb,yBAA0B,2BAC1B,kBAAmB,oBACnB,uBAAwB,yBACxB,gBAAiB,iBACnB,CAAE,AACF,QAAO,QAAU,CACf,IAAK,MACL,OAAQ,SACR,KAAM,MACR,CAAE,AACF,cAAc,CACZ,KAAK,GACL,IAAI,CAAC,YAAY,CAAG,CAAC,EACrB,IAAI,CAAC,EAAE,CAAC,QAAS,GAAM,KAAK,CAC9B,CACA,MAAO,CACL,IAAK,IAAIC,EAAQhiF,UAAU,MAAM,CAAEqG,EAAO,AAAI3E,MAAMsgF,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpF57E,CAAI,CAAC47E,EAAM,CAAGjiF,SAAS,CAACiiF,EAAM,CAIhC,OAFA,GAAM,GAAG,CAAC,IAAI,CAAC,MAAU57E,GAElB,KAAK,CAAC,QAAQA,EACvB,CACA,UAAU2W,CAAK,CAAE,CACf,IAAK,IAAIklE,EAAQliF,UAAU,MAAM,CAAEqG,EAAO,AAAI3E,MAAMwgF,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxG97E,CAAI,CAAC87E,EAAQ,EAAE,CAAGniF,SAAS,CAACmiF,EAAM,CAEpC,AAAC,KAAI,CAAC,YAAY,CAACnlE,EAAM,IAAI,CAAC,EAAI,EAAE,AAAD,EAAG,OAAO,CAAC43D,IAC5C,GAAI,CACFrS,KAAAA,CAAI,CACJ3zD,QAAAA,CAAO,CACR,CAAGgmE,EACA53D,CAAAA,EAAM,MAAM,GAAKulD,GAAQA,EAAK,QAAQ,CAACvlD,EAAM,MAAM,IACrDpO,EAAQoO,KAAU3W,EAEtB,EACF,CACA,UAAUu7E,CAAS,CAAErf,CAAI,CAAE3zD,CAAO,CAAE,CAC9B,CAAC,IAAI,CAAC,YAAY,CAACgzE,EAAU,EAC/B,KAAI,CAAC,YAAY,CAACA,EAAU,CAAG,EAAE,AAAD,EAElC,IAAI,CAAC,YAAY,CAACA,EAAU,CAAC,IAAI,CAAC,CAChCrf,KAAAA,EACA3zD,QAAAA,CACF,EACF,CACF,CCvEA,IAAM,GAAQ,AFkBC0zD,GElBM,kBACd,OAAM8f,GACX,YAAYh4E,CAAK,CAAE,CACjB,IAAI9O,EAAS0E,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,CACjF,KAAI,CAAC,KAAK,CAAGoK,EACb,IAAI,CAAC,MAAM,CAAG9O,CAChB,CACF,CAgWA,SAAS+mF,GAAShwD,CAAM,CAAEiwD,CAAU,EAClC,GAAI,CAEFA,EAAW,UAAU,AACvB,CAAE,MAAOzoF,EAAG,CACV,MAAO,EACT,CACA,OAAOw4B,EAAO,QAAQ,CAACiwD,EACzB,CACA,OAxWA,MAAMC,EACJ,YAAYlI,CAAM,CAAEprE,CAAO,CAAE,CAC3B,IAAI,CAAC,OAAO,CAAGA,EACf,IAAI,CAAC,MAAM,CAAGorE,EACd,IAAI,CAAC,SAAS,CAAG,GACjB,IAAI,CAAC,SAAS,CAAG,GACjB,IAAI,CAAC,IAAI,CAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAE/B,IAAI,CAAC,MAAM,CAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAU,IAAI,EAE/C,IAAI,CAAC,UAAU,CAAG,IAAI+H,GAAM,EAAG,GAC/B,IAAI,CAAC,SAAS,CAAG,IAAI,CAAC,UAAU,CAChC,IAAI,CAAC,UAAU,CAAG,KAClB,IAAI,CAAC,iBAAiB,GACtB,IAAI,CAAC,cAAc,GACnB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,kBAAmB7vB,SAAU,KAC9C,CAAC,IAAI,CAAC,SAAS,EAAI,CAAC,IAAI,CAAC,SAAS,EACpC9sD,WAAW,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAE,AD+C3Bs8E,GC/C2B,YAAoB,EAAG,EAE7D,GACA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,AD4CLA,GC5CK,2BAAmC,CAAE,KACnD,GAAI,CAAC,IAAI,CAAC,QAAQ,GAAI,OACtB,IAAMS,EAAS,IAAI,CAAC,cAAc,GAClC,GAAIA,AAAU,MAAVA,EACAA,EAAO,KAAK,CAAC,IAAI,GAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,EAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,ADuCTT,GCvCS,oBAA4B,CAAE,CAAC3nE,EAAQmjE,KACvD,GAAI,CACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAACiF,EAAO,KAAK,CAAC,IAAI,GAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,CAACA,EAAO,GAAG,CAAC,IAAI,GAC7E,IAAI,CAAC,cAAc,CAACA,EAAO,KAAK,CAAC,IAAI,CAAEA,EAAO,KAAK,CAAC,MAAM,CAAEA,EAAO,GAAG,CAAC,IAAI,CAAEA,EAAO,GAAG,CAAC,MAAM,EAEhG,IAAMC,EAAoBlF,EAAU,IAAI,CAAClP,GAAYA,AAAkB,kBAAlBA,EAAS,IAAI,EAAwBA,AAAkB,cAAlBA,EAAS,IAAI,EAAoBA,AAAkB,eAAlBA,EAAS,IAAI,EAAqBA,EAAS,MAAM,GAAK,IAAI,CAAC,IAAI,EAC1L,IAAI,CAAC,MAAM,CAACoU,EAAoB,ADiC3BV,GCjC2B,cAAsB,CAAG3nE,EAC3D,CAAE,MAAOsoE,EAAS,CAElB,CACF,EACF,GACA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,AD2BLX,GC3BK,sBAA8B,CAAE,CAACxE,EAAWniC,KAC1D,GAAIA,EAAQ,KAAK,CAAE,CACjB,GAAM,CACJmhC,UAAAA,CAAS,CACToG,YAAAA,CAAW,CACXC,QAAAA,CAAO,CACPC,UAAAA,CAAS,CACV,CAAGznC,EAAQ,KAAK,CACjB,IAAI,CAAC,cAAc,CAACmhC,EAAWoG,EAAaC,EAASC,GACrD,IAAI,CAAC,MAAM,CAAC,ADkBLd,GClBK,cAAsB,CACpC,CACF,GACA,IAAI,CAAC,MAAM,CAAC,ADeDA,GCfC,cAAsB,CACpC,CACA,mBAAoB,CAClB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,ADYLA,GCZK,+BAAuC,CAAE,KACvD,IAAI,CAAC,SAAS,CAAG,EACnB,GACA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,ADSLA,GCTK,sBAA8B,CAAE,KAE9C,GADA,IAAI,CAAC,SAAS,CAAG,GACb,IAAI,CAAC,MAAM,CAAC,MAAM,CAAE,CACtB,IAAMhB,EAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,GACjC,IAAI,CAACA,EACLt7E,WAAW,KACT,IAAI,CAAC,cAAc,CAACs7E,EAAM,SAAS,CAAEA,EAAM,WAAW,CAAEA,EAAM,OAAO,CAAEA,EAAM,SAAS,CACxF,EAAG,EACL,CACF,EACF,CACA,gBAAiB,CACf,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAaxuB,SAAS,IAAI,CAAE,KACjD,IAAI,CAAC,SAAS,CAAG,EACnB,GACA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAWA,SAAS,IAAI,CAAE,KAC/C,IAAI,CAAC,SAAS,CAAG,GACjB,IAAI,CAAC,MAAM,CAAC,ADRHwvB,GCQG,YAAoB,CAClC,EACF,CACA,OAAQ,EACF,IAAI,CAAC,QAAQ,KACjB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CACd,cAAe,EACjB,GACA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAC/B,CACA,OAAO/1E,CAAM,CAAElR,CAAK,CAAE,CACpB,IAAI,CAAC,MAAM,CAAC,MAAM,GAClB,IAAMgoF,EAAc,IAAI,CAAC,cAAc,GACvC,IAAIA,CAAAA,AAAe,MAAfA,GAAuB,CAACA,EAAY,MAAM,CAAC,SAAS,EAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC92E,EAAQ4tE,GAAM,KAAK,IACjG,GAAIkJ,EAAY,KAAK,CAAC,IAAI,GAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAE,CACnD,IAAMrI,EAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAACqI,EAAY,KAAK,CAAC,IAAI,CAAE,IACtD,GAAIrI,AAAQ,MAARA,EAAc,OAElB,GAAIA,aAAgB,GAAU,CAC5B,IAAMh1B,EAAQg1B,EAAK,KAAK,CAACqI,EAAY,KAAK,CAAC,MAAM,EACjDrI,EAAK,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAEh1B,EACxC,MAEEg1B,EAAK,YAAY,CAAC,IAAI,CAAC,MAAM,CAAEqI,EAAY,KAAK,CAAC,IAAI,EAEvD,IAAI,CAAC,MAAM,CAAC,MAAM,EACpB,CACA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC92E,EAAQlR,GAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,GACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAC1E,IAAI,CAAC,MAAM,GACb,CACA,UAAUsP,CAAK,CAAE,CACf,IAIIm4D,EAyBAwgB,EA7BAznF,EAAS0E,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,EAC3EgjF,EAAe,IAAI,CAAC,MAAM,CAAC,MAAM,GAEvC1nF,EAASgD,KAAK,GAAG,CAAC8L,AADlBA,CAAAA,EAAQ9L,KAAK,GAAG,CAAC8L,EAAO44E,EAAe,EAAC,EACd1nF,EAAQ0nF,EAAe,GAAK54E,EAEtD,GAAI,CAACs2E,EAAMjgF,EAAO,CAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC2J,GACtC,GAAIs2E,AAAQ,MAARA,EAAc,OAAO,KACzB,GAAIplF,EAAS,GAAKmF,IAAWigF,EAAK,MAAM,GAAI,CAC1C,GAAM,CAACtpB,EAAK,CAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAChtD,EAAQ,GACxC,GAAIgtD,EAAM,CACR,GAAM,CAAC+O,EAAK,CAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC/7D,GAC1B,CAAC64E,EAAS,CAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC74E,EAAQ,GACxC+7D,IAAS8c,IACXvC,EAAOtpB,EACP32D,EAAS,EAEb,CACF,CACA,CAAC8hE,EAAM9hE,EAAO,CAAGigF,EAAK,QAAQ,CAACjgF,EAAQ,IACvC,IAAMsgF,EAAQxuB,SAAS,WAAW,GAClC,GAAIj3D,EAAS,QAGX,CAFAylF,EAAM,QAAQ,CAACxe,EAAM9hE,GACrB,CAACigF,EAAMjgF,EAAO,CAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC2J,EAAQ9O,GACtColF,AAAQ,MAARA,GAAqB,MACzB,CAACne,EAAM9hE,EAAO,CAAGigF,EAAK,QAAQ,CAACjgF,EAAQ,IACvCsgF,EAAM,MAAM,CAACxe,EAAM9hE,GACZsgF,EAAM,qBAAqB,IAEpC,IAAImC,EAAO,OAEX,GAAI3gB,aAAgBp/C,KAAM,CAMxB,GAAI,CAACo/C,EAAK,IAAI,CAAC,MAAM,CACnB,OAAO,IAEL9hE,CAAAA,EAAS8hE,EAAK,IAAI,CAAC,MAAM,EAC3Bwe,EAAM,QAAQ,CAACxe,EAAM9hE,GACrBsgF,EAAM,MAAM,CAACxe,EAAM9hE,EAAS,KAE5BsgF,EAAM,QAAQ,CAACxe,EAAM9hE,EAAS,GAC9BsgF,EAAM,MAAM,CAACxe,EAAM9hE,GACnByiF,EAAO,SAETH,EAAOhC,EAAM,qBAAqB,EACpC,KAAO,CACL,GAAI,CAAEL,CAAAA,EAAK,OAAO,YAAY9tB,OAAM,EAAI,OAAO,KAC/CmwB,EAAOrC,EAAK,OAAO,CAAC,qBAAqB,GACrCjgF,EAAS,GAAGyiF,CAAAA,EAAO,OAAM,CAC/B,CACA,MAAO,CACL,OAAQH,EAAK,GAAG,CAAGA,EAAK,MAAM,CAC9B,OAAQA,EAAK,MAAM,CACnB,KAAMA,CAAI,CAACG,EAAK,CAChB,MAAOH,CAAI,CAACG,EAAK,CACjB,IAAKH,EAAK,GAAG,CACb,MAAO,CACT,CACF,CACA,gBAAiB,CACf,IAAMlC,EAAYtuB,SAAS,YAAY,GACvC,GAAIsuB,AAAa,MAAbA,GAAqBA,EAAU,UAAU,EAAI,EAAG,OAAO,KAC3D,IAAMiC,EAAcjC,EAAU,UAAU,CAAC,GACzC,GAAIiC,AAAe,MAAfA,EAAqB,OAAO,KAChC,IAAM/B,EAAQ,IAAI,CAAC,eAAe,CAAC+B,GAEnC,OADA,GAAM,IAAI,CAAC,iBAAkB/B,GACtBA,CACT,CACA,UAAW,CACT,IAAMroF,EAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAChC,GAAI,gBAAiBA,GAAQ,CAACA,EAAK,WAAW,CAG5C,MAAO,CAAC,KAAM,KAAK,CAErB,IAAMqmE,EAAa,IAAI,CAAC,cAAc,UACtC,AAAIA,AAAc,MAAdA,EAA2B,CAAC,KAAM,KAAK,CAEpC,CADO,IAAI,CAAC,iBAAiB,CAACA,GACtBA,EAAW,AAC5B,CACA,UAAW,CACT,OAAOxM,SAAS,aAAa,GAAK,IAAI,CAAC,IAAI,EAAIA,AAA0B,MAA1BA,SAAS,aAAa,EAAY8vB,GAAS,IAAI,CAAC,IAAI,CAAE9vB,SAAS,aAAa,CAC7H,CACA,kBAAkBwuB,CAAK,CAAE,CACvB,IAAMoC,EAAY,CAAC,CAACpC,EAAM,KAAK,CAAC,IAAI,CAAEA,EAAM,KAAK,CAAC,MAAM,CAAC,CAAC,AACtD,EAACA,EAAM,MAAM,CAAC,SAAS,EACzBoC,EAAU,IAAI,CAAC,CAACpC,EAAM,GAAG,CAAC,IAAI,CAAEA,EAAM,GAAG,CAAC,MAAM,CAAC,EAEnD,IAAMqC,EAAUD,EAAU,GAAG,CAACr0E,IAC5B,GAAM,CAACyzD,EAAM9hE,EAAO,CAAGqO,EACjB2rE,EAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAClY,EAAM,IAE9Bn4D,EAAQqwE,EAAK,MAAM,CAAC,IAAI,CAAC,MAAM,SACrC,AAAIh6E,AAAW,IAAXA,EACK2J,EAELqwE,aAAgB,GACXrwE,EAAQqwE,EAAK,KAAK,CAAClY,EAAM9hE,GAG3B2J,EAAQqwE,EAAK,MAAM,EAC5B,GACM58E,EAAMS,KAAK,GAAG,CAACA,KAAK,GAAG,IAAI8kF,GAAU,IAAI,CAAC,MAAM,CAAC,MAAM,GAAK,GAC5DxlF,EAAQU,KAAK,GAAG,CAACT,KAAQulF,GAC/B,OAAO,IAAIhB,GAAMxkF,EAAOC,EAAMD,EAChC,CACA,gBAAgBklF,CAAW,CAAE,CAC3B,GAAI,CAACT,GAAS,IAAI,CAAC,IAAI,CAAES,EAAY,cAAc,GAAK,CAACA,EAAY,SAAS,EAAI,CAACT,GAAS,IAAI,CAAC,IAAI,CAAES,EAAY,YAAY,EAC7H,OAAO,KAET,IAAM/B,EAAQ,CACZ,MAAO,CACL,KAAM+B,EAAY,cAAc,CAChC,OAAQA,EAAY,WAAW,AACjC,EACA,IAAK,CACH,KAAMA,EAAY,YAAY,CAC9B,OAAQA,EAAY,SAAS,AAC/B,EACA,OAAQA,CACV,EA6BA,MA5BA,CAAC/B,EAAM,KAAK,CAAEA,EAAM,GAAG,CAAC,CAAC,OAAO,CAACjyE,IAC/B,GAAI,CACFyzD,KAAAA,CAAI,CACJ9hE,OAAAA,CAAM,CACP,CAAGqO,EACJ,KAAO,CAAEyzD,CAAAA,aAAgBp/C,IAAG,GAAMo/C,EAAK,UAAU,CAAC,MAAM,CAAG,GACzD,GAAIA,EAAK,UAAU,CAAC,MAAM,CAAG9hE,EAC3B8hE,EAAOA,EAAK,UAAU,CAAC9hE,EAAO,CAC9BA,EAAS,OACJ,GAAI8hE,EAAK,UAAU,CAAC,MAAM,GAAK9hE,EAGhC8hE,AADJA,CAAAA,EAAOA,EAAK,SAAS,AAAD,YACAp/C,KAClB1iB,EAAS8hE,EAAK,IAAI,CAAC,MAAM,CAGzB9hE,EAFS8hE,EAAK,UAAU,CAAC,MAAM,CAAG,EAEzBA,EAAK,UAAU,CAAC,MAAM,CAGtBA,EAAK,UAAU,CAAC,MAAM,CAAG,OAGpC,KAGJzzD,CAAAA,EAAS,IAAI,CAAGyzD,EAChBzzD,EAAS,MAAM,CAAGrO,CACpB,GACOsgF,CACT,CACA,cAAcA,CAAK,CAAE,CACnB,IAAMiC,EAAe,IAAI,CAAC,MAAM,CAAC,MAAM,GACjCK,EAAc,CAACj5E,EAAOkyE,KAC1BlyE,EAAQ9L,KAAK,GAAG,CAAC0kF,EAAe,EAAG54E,GACnC,GAAM,CAACs2E,EAAM4C,EAAW,CAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAACl5E,GAC5C,OAAOs2E,EAAOA,EAAK,QAAQ,CAAC4C,EAAYhH,GAAa,CAAC,KAAM,GAAG,AACjE,EACA,MAAO,IAAI+G,EAAYtC,EAAM,KAAK,CAAE,OAAWsC,EAAYtC,EAAM,KAAK,CAAGA,EAAM,MAAM,CAAE,IAAM,AAC/F,CACA,eAAexE,CAAS,CAAEoG,CAAW,CAAE,CACrC,IAAIC,EAAU5iF,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAGu8E,EAC9EsG,EAAY7iF,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG2iF,EAChF7hB,EAAQ9gE,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,EAAiBA,SAAS,CAAC,EAAE,CAE7E,GADA,GAAM,IAAI,CAAC,iBAAkBu8E,EAAWoG,EAAaC,EAASC,GAC1DtG,AAAa,MAAbA,GAAsB,CAAwB,MAAxB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAYA,AAAwB,MAAxBA,EAAU,UAAU,EAE9EqG,AAAsB,MAAtBA,EAAQ,UAAU,AAAO,EACvB,OAEF,IAAM/B,EAAYtuB,SAAS,YAAY,GACvC,GAAIsuB,AAAa,MAAbA,GACJ,GAAItE,AAAa,MAAbA,EAAmB,CACjB,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CACpC,cAAe,EACjB,GACA,GAAM,CACJiG,OAAAA,CAAM,CACP,CAAG,IAAI,CAAC,cAAc,IAAM,CAAC,EAC9B,GAAIA,AAAU,MAAVA,GAAkB1hB,GAASyb,IAAciG,EAAO,cAAc,EAAIG,IAAgBH,EAAO,WAAW,EAAII,IAAYJ,EAAO,YAAY,EAAIK,IAAcL,EAAO,SAAS,CAAE,CACzKjG,aAAqB3pB,SAAW2pB,AAAsB,OAAtBA,EAAU,OAAO,GAEnDoG,EAAcjhF,MAAM,IAAI,CAAC66E,EAAU,UAAU,CAAC,UAAU,EAAE,OAAO,CAACA,GAClEA,EAAYA,EAAU,UAAU,EAE9BqG,aAAmBhwB,SAAWgwB,AAAoB,OAApBA,EAAQ,OAAO,GAE/CC,EAAYnhF,MAAM,IAAI,CAACkhF,EAAQ,UAAU,CAAC,UAAU,EAAE,OAAO,CAACA,GAC9DA,EAAUA,EAAQ,UAAU,EAE9B,IAAM7B,EAAQxuB,SAAS,WAAW,GAElCwuB,EAAM,QAAQ,CAACxE,EAAWoG,GAE1B5B,EAAM,MAAM,CAAC6B,EAASC,GACtBhC,EAAU,eAAe,GACzBA,EAAU,QAAQ,CAACE,EACrB,CACF,MACEF,EAAU,eAAe,GACzB,IAAI,CAAC,IAAI,CAAC,IAAI,GAElB,CACA,SAASE,CAAK,CAAE,CACd,IAAIjgB,EAAQ9gE,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,EAAiBA,SAAS,CAAC,EAAE,CACzEoa,EAASpa,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,ADzPtE+hF,GCyPsE,WAAmB,CAMpG,GALqB,UAAjB,OAAOjhB,IACT1mD,EAAS0mD,EACTA,EAAQ,IAEV,GAAM,IAAI,CAAC,WAAYigB,GACnBA,AAAS,MAATA,EAAe,CACjB,IAAM16E,EAAO,IAAI,CAAC,aAAa,CAAC06E,GAChC,IAAI,CAAC,cAAc,IAAI16E,EAAMy6D,EAC/B,MACE,IAAI,CAAC,cAAc,CAAC,MAEtB,IAAI,CAAC,MAAM,CAAC1mD,EACd,CACA,QAAS,CACP,IAAIA,EAASpa,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,ADxQtE+hF,GCwQsE,YAAoB,CAC/FrlC,EAAW,IAAI,CAAC,SAAS,CACzB,CAAC6mC,EAAWT,EAAY,CAAG,IAAI,CAAC,QAAQ,GAM9C,GALA,IAAI,CAAC,SAAS,CAAGS,EACjB,IAAI,CAAC,UAAU,CAAGT,EACI,MAAlB,IAAI,CAAC,SAAS,EAChB,KAAI,CAAC,UAAU,CAAG,IAAI,CAAC,SAAS,AAAD,EAE7B,CAAC,GAAQpmC,EAAU,IAAI,CAAC,SAAS,EAAG,CACtC,GAAI,CAAC,IAAI,CAAC,SAAS,EAAIomC,AAAe,MAAfA,GAAuBA,EAAY,MAAM,CAAC,SAAS,EAAIA,EAAY,KAAK,CAAC,IAAI,GAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAE,CAC7H,IAAM/B,EAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,GAC7BA,GACF,IAAI,CAAC,cAAc,CAACA,EAAM,SAAS,CAAEA,EAAM,WAAW,CAAEA,EAAM,OAAO,CAAEA,EAAM,SAAS,CAE1F,CACA,IAAM16E,EAAO,CAAC,ADvRL07E,GCuRK,uBAA+B,CAAEje,GAAU,IAAI,CAAC,SAAS,EAAGA,GAAUpnB,GAAWtiC,EAAO,CACtG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,ADxRT2nE,GCwRS,oBAA4B,IAAK17E,GAC/C+T,IAAW,ADzRN2nE,GCyRM,cAAsB,EACnC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI17E,EAEzB,CACF,CACF,EClWMm9E,GAAQ,WA0Rd,SAASC,GAAYhJ,CAAI,CAAErwE,CAAK,CAAE9O,CAAM,EACtC,IAAIooF,EAAS1jF,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,EAAiBA,SAAS,CAAC,EAAE,CAC9E,GAAI,SAAUy6E,GAAQ,AAAqB,YAArB,OAAOA,EAAK,IAAI,CACpC,OAAOA,EAAK,IAAI,CAACrwE,EAAO9O,GAE1B,GAAIm/E,aAAgB,GAClB,OAAOmF,GAAWnF,EAAK,KAAK,GAAG,KAAK,CAACrwE,EAAOA,EAAQ9O,IAEtD,GAAIm/E,aAAgB,GAAY,CAE9B,GAAIA,AAA0B,mBAA1BA,EAAK,OAAO,CAAC,QAAQ,CAAuB,CAC9C,IAAMhE,EAAQ,EAAE,CAWhB,OAVAgE,EAAK,QAAQ,CAAC,SAAS,CAACrwE,EAAO9O,EAAQ,CAACiM,EAAO9G,EAAQm8E,KACrD,IAAMgB,EAAU,YAAar2E,GAAS,AAAyB,YAAzB,OAAOA,EAAM,OAAO,CAAkBA,EAAM,OAAO,GAAK,CAAC,EAC/FkvE,EAAM,IAAI,CAAC,CACTlvE,MAAAA,EACA9G,OAAAA,EACA,OAAQm8E,EACR,OAAQgB,EAAQ,MAAM,EAAI,EAC1B,KAAMA,EAAQ,IAAI,AACpB,EACF,GACO+F,AApDb,SAASA,EAAgBlN,CAAK,CAAEmN,CAAU,CAAErL,CAAK,EAC/C,GAAI9B,AAAiB,IAAjBA,EAAM,MAAM,CAAQ,CACtB,GAAM,CAACoN,EAAO,CAAGC,GAAYvL,EAAM,GAAG,WACtC,AAAIqL,GAAc,EACT,CAAC,OAAO,EAAEC,EAAO,CAAC,CAAC,CAErB,CAAC,OAAO,EAAEA,EAAO,CAAC,EAAEF,EAAgB,EAAE,CAAEC,EAAa,EAAGrL,GAAO,CAAC,AACzE,CACA,GAAM,CAAC,CACLhxE,MAAAA,CAAK,CACL9G,OAAAA,CAAM,CACNnF,OAAAA,CAAM,CACNglB,OAAAA,CAAM,CACN/S,KAAAA,CAAI,CACL,CAAE,GAAGs4D,EAAK,CAAG4Q,EACR,CAACnkD,EAAKwB,EAAU,CAAGgwD,GAAYv2E,GACrC,GAAI+S,EAASsjE,QAEX,CADArL,EAAM,IAAI,CAAChrE,GACP+S,IAAWsjE,EAAa,GACnB,CAAC,CAAC,EAAEtxD,EAAI,IAAI,EAAEwB,EAAU,CAAC,EAAE2vD,GAAYl8E,EAAO9G,EAAQnF,GAAQ,EAAEqoF,EAAgB9d,EAAMvlD,EAAQi4D,GAAO,CAAC,CAExG,CAAC,CAAC,EAAEjmD,EAAI,KAAK,EAAEqxD,EAAgBlN,EAAOmN,EAAa,EAAGrL,GAAO,CAAC,CAEvE,IAAMwL,EAAexL,CAAK,CAACA,EAAM,MAAM,CAAG,EAAE,CAC5C,GAAIj4D,IAAWsjE,GAAcr2E,IAASw2E,EACpC,MAAO,CAAC,QAAQ,EAAEjwD,EAAU,CAAC,EAAE2vD,GAAYl8E,EAAO9G,EAAQnF,GAAQ,EAAEqoF,EAAgB9d,EAAMvlD,EAAQi4D,GAAO,CAAC,CAE5G,GAAM,CAACsL,EAAO,CAAGC,GAAYvL,EAAM,GAAG,IACtC,MAAO,CAAC,OAAO,EAAEsL,EAAO,CAAC,EAAEF,EAAgBlN,EAAOmN,EAAa,EAAGrL,GAAO,CAAC,AAC5E,EAuB6B9B,EAAO,GAAI,EAAE,CACtC,CACA,IAAMjhD,EAAQ,EAAE,CAIhB,GAHAilD,EAAK,QAAQ,CAAC,SAAS,CAACrwE,EAAO9O,EAAQ,CAACiM,EAAO9G,EAAQm8E,KACrDpnD,EAAM,IAAI,CAACiuD,GAAYl8E,EAAO9G,EAAQm8E,GACxC,GACI8G,GAAUjJ,AAA0B,SAA1BA,EAAK,OAAO,CAAC,QAAQ,CACjC,OAAOjlD,EAAM,IAAI,CAAC,IAEpB,GAAM,CACJwuD,UAAAA,CAAS,CACTC,UAAAA,CAAS,CACV,CAAGxJ,EAAK,OAAO,CACV,CAAC78E,EAAOC,EAAI,CAAGmmF,EAAU,KAAK,CAAC,CAAC,CAAC,EAAEC,EAAU,CAAC,CAAC,QAErD,AAAIrmF,AAAU,WAAVA,EACK,CAAC,uCAAuC,EAAE43B,EAAM,IAAI,CAAC,IAAI,CAAC,EAAE33B,EAAI,CAAC,CAEnE,CAAC,EAAED,EAAM,CAAC,EAAE43B,EAAM,IAAI,CAAC,IAAI,CAAC,EAAE33B,EAAI,CAAC,AAC5C,CACA,OAAO48E,EAAK,OAAO,YAAY7nB,QAAU6nB,EAAK,OAAO,CAAC,SAAS,CAAG,EACpE,CAoBA,SAASqJ,GAAYv2E,CAAI,EACvB,IAAM+kB,EAAM/kB,AAAS,YAATA,EAAqB,KAAO,KACxC,OAAQA,GACN,IAAK,UACH,MAAO,CAAC+kB,EAAK,uBAAuB,AACtC,KAAK,YACH,MAAO,CAACA,EAAK,yBAAyB,AACxC,SACE,MAAO,CAACA,EAAK,GAAG,AACpB,CACF,CACA,SAAS4xD,GAAe/jC,CAAK,EAC3B,OAAOA,EAAM,MAAM,CAAC,CAACgkC,EAAiBnf,KACpC,GAAI,AAAqB,UAArB,OAAOA,EAAG,MAAM,CAAe,CACjC,IAAM/4D,EAAO+4D,EAAG,MAAM,CAAC,OAAO,CAAC,QAAS,MAAM,OAAO,CAAC,MAAO,MAC7D,OAAOmf,EAAgB,MAAM,CAACl4E,EAAM+4D,EAAG,UAAU,CACnD,CACA,OAAOmf,EAAgB,IAAI,CAACnf,EAC9B,EAAG,IAAIN,GACT,CACA,SAAS0f,GAAWxP,CAAI,CAAEyP,CAAM,EAC9B,GAAI,CACFj6E,MAAAA,CAAK,CACL9O,OAAAA,CAAM,CACP,CAAGs5E,EACJ,OAAO,IAAIwN,GAAMh4E,EAAQi6E,EAAQ/oF,EACnC,CAsBA,OAxYA,MAAMgpF,EACJ,YAAYjK,CAAM,CAAE,CAClB,IAAI,CAAC,MAAM,CAAGA,EACd,IAAI,CAAC,KAAK,CAAG,IAAI,CAAC,QAAQ,EAC5B,CACA,WAAWl6B,CAAK,CAAE,CAChB,IAAI,CAAC,MAAM,CAAC,MAAM,GAClB,IAAI6iC,EAAe,IAAI,CAAC,MAAM,CAAC,MAAM,GACrC,IAAI,CAAC,MAAM,CAAC,UAAU,GACtB,IAAMmB,EAAkBD,GAAe/jC,GACjCokC,EAAc,IAAI7f,GA8ExB,MA5EA8f,AADsBC,AAwW1B,UAAsB9f,CAAG,EACvB,IAAM2Y,EAAQ,EAAE,CAkBhB,OAjBA3Y,EAAI,OAAO,CAACK,IACN,AAAqB,UAArB,OAAOA,EAAG,MAAM,CAElBkb,AADclb,EAAG,MAAM,CAAC,KAAK,CAAC,MACxB,OAAO,CAAC,CAACmB,EAAM/7D,KACfA,GAAOkzE,EAAM,IAAI,CAAC,CACpB,OAAQ,KACR,WAAYtY,EAAG,UAAU,AAC3B,GACImB,GAAMmX,EAAM,IAAI,CAAC,CACnB,OAAQnX,EACR,WAAYnB,EAAG,UAAU,AAC3B,EACF,GAEAsY,EAAM,IAAI,CAACtY,EAEf,GACOsY,CACT,GA5XuC6G,EAAgB,GAAG,CAAC,KAAK,IAC9C,MAAM,CAAC,CAAC/5E,EAAO46D,KAC3B,IAAM1pE,EAAS,YAAS,CAAC0pE,GACrBtvD,EAAasvD,EAAG,UAAU,EAAI,CAAC,EAC/B0f,EAA6B,GAC7BC,EAA4B,GAChC,GAAI3f,AAAa,MAAbA,EAAG,MAAM,CAAU,CAErB,GADAuf,EAAY,MAAM,CAACjpF,GACf,AAAqB,UAArB,OAAO0pE,EAAG,MAAM,CAAe,CACjC,IAAM/4D,EAAO+4D,EAAG,MAAM,CACtB2f,EAA4B,CAAC14E,EAAK,QAAQ,CAAC,OAAU+2E,CAAAA,GAAgB54E,GAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAACm2E,GAAYn2E,EAAM,CAAC,EAAE,AAAD,EAC3H,IAAI,CAAC,MAAM,CAAC,QAAQ,CAACA,EAAO6B,GAC5B,GAAM,CAACk6D,EAAM1lE,EAAO,CAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC2J,GACpCwzE,EAAU,AvDKTnE,GuDLe,CAAC,EAAGkH,GAAcxa,IACtC,GAAIA,aAAgB6Z,GAAO,CACzB,GAAM,CAACU,EAAK,CAAGva,EAAK,UAAU,CAAC,GAAU1lE,GACrCigF,GACF9C,CAAAA,EAAU,AvDCTnE,GuDDemE,EAAS+C,GAAcD,GAAK,CAEhD,CACAhrE,EAAa,oBAAiB,CAACkoE,EAASloE,IAAe,CAAC,CAC1D,MAAO,GAAI,AAAqB,UAArB,OAAOsvD,EAAG,MAAM,CAAe,CACxC,IAAM7qE,EAAMf,OAAO,IAAI,CAAC4rE,EAAG,MAAM,CAAC,CAAC,EAAE,CACrC,GAAI7qE,AAAO,MAAPA,EAAa,OAAOiQ,EACxB,IAAMw6E,EAAgB,AAAwC,MAAxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAACzqF,EAAKy/E,GAAM,MAAM,EACzD,GAAIgL,EACE5B,CAAAA,GAAgB54E,GAAW,IAAI,CAAC,MAAM,CAAC,UAAU,CAACm2E,GAAYn2E,EAAM,CAAC,EAAE,AAAD,GACxEu6E,CAAAA,EAA4B,EAAG,OAE5B,GAAIv6E,EAAQ,EAAG,CACpB,GAAM,CAACs2E,EAAMjgF,EAAO,CAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAU2J,EAAQ,EAC5Ds2E,CAAAA,aAAgB,GAEG,OAAjBz0E,AADSy0E,EAAK,KAAK,EACf,CAACjgF,EAAO,EACdikF,CAAAA,EAA6B,EAAG,EAEzBhE,aAAgB,IAAaA,EAAK,OAAO,CAAC,KAAK,GAAK9G,GAAM,WAAW,EAC9E8K,CAAAA,EAA6B,EAAG,CAEpC,CAEA,GADA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAACt6E,EAAOjQ,EAAK6qE,EAAG,MAAM,CAAC7qE,EAAI,EAC3CyqF,EAAe,CACjB,GAAM,CAAClE,EAAK,CAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAUt2E,GAChD,GAAIs2E,EAAM,CACR,IAAM9C,EAAU,AvD1BfnE,GuD0BqB,CAAC,EAAGkH,GAAcD,IACxChrE,EAAa,oBAAiB,CAACkoE,EAASloE,IAAe,CAAC,CAC1D,CACF,CACF,CACAstE,GAAgB1nF,CAClB,MAEE,GADAipF,EAAY,IAAI,CAACvf,GACbA,AAAc,OAAdA,EAAG,MAAM,EAAa,AAAqB,UAArB,OAAOA,EAAG,MAAM,CAAe,CACvD,IAAM7qE,EAAMf,OAAO,IAAI,CAAC4rE,EAAG,MAAM,CAAC,CAAC,EAAE,CACrC,GAAI7qE,AAAO,MAAPA,EAAa,OAAOiQ,EACxB,IAAI,CAAC,MAAM,CAAC,aAAa,CAACA,EAAOjQ,EAAK6qE,EAAG,MAAM,CAAC7qE,EAAI,CACtD,CAEFf,OAAO,IAAI,CAACsc,GAAY,OAAO,CAACxc,IAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAACkR,EAAO9O,EAAQpC,EAAMwc,CAAU,CAACxc,EAAK,CAC5D,GACA,IAAM2rF,EAAkBH,EAA6B,EAAI,EACnDI,EAAcH,EAA4B,EAAI,EAIpD,OAHA3B,GAAgB6B,EAAkBC,EAClCP,EAAY,MAAM,CAACM,GACnBN,EAAY,MAAM,CAACO,GACZ16E,EAAQ9O,EAASupF,EAAkBC,CAC5C,EAAG,GACHP,EAAY,MAAM,CAAC,CAACn6E,EAAO46D,IACzB,AAAI,AAAqB,UAArB,OAAOA,EAAG,MAAM,EAClB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC56D,EAAO46D,EAAG,MAAM,EAC9B56D,GAEFA,EAAQ,YAAS,CAAC46D,GACxB,GACH,IAAI,CAAC,MAAM,CAAC,QAAQ,GACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,GACb,IAAI,CAAC,MAAM,CAACmf,EACrB,CACA,WAAW/5E,CAAK,CAAE9O,CAAM,CAAE,CAExB,OADA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC8O,EAAO9O,GACrB,IAAI,CAAC,MAAM,CAAC,IAAIopE,KAAQ,MAAM,CAACt6D,GAAO,MAAM,CAAC9O,GACtD,CACA,WAAW8O,CAAK,CAAE9O,CAAM,CAAE,CACxB,IAAIsiF,EAAU59E,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,CAAC,EACnF,IAAI,CAAC,MAAM,CAAC,MAAM,GAClB5G,OAAO,IAAI,CAACwkF,GAAS,OAAO,CAAC5xE,IAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC5B,EAAO9L,KAAK,GAAG,CAAChD,EAAQ,IAAI,OAAO,CAAC6qE,IACpDA,EAAK,MAAM,CAACn6D,EAAQ4xE,CAAO,CAAC5xE,EAAO,CACrC,EACF,GACA,IAAI,CAAC,MAAM,CAAC,QAAQ,GACpB,IAAMm0C,EAAQ,IAAIukB,KAAQ,MAAM,CAACt6D,GAAO,MAAM,CAAC9O,EAAQwoE,GAAU8Z,IACjE,OAAO,IAAI,CAAC,MAAM,CAACz9B,EACrB,CACA,WAAW/1C,CAAK,CAAE9O,CAAM,CAAE,CACxB,IAAIsiF,EAAU59E,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,CAAC,EACnF5G,OAAO,IAAI,CAACwkF,GAAS,OAAO,CAAC5xE,IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC5B,EAAO9O,EAAQ0Q,EAAQ4xE,CAAO,CAAC5xE,EAAO,CAC7D,GACA,IAAMm0C,EAAQ,IAAIukB,KAAQ,MAAM,CAACt6D,GAAO,MAAM,CAAC9O,EAAQwoE,GAAU8Z,IACjE,OAAO,IAAI,CAAC,MAAM,CAACz9B,EACrB,CACA,YAAY/1C,CAAK,CAAE9O,CAAM,CAAE,CACzB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC8O,EAAOA,EAAQ9O,EACzC,CACA,UAAW,CACT,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC6kD,EAAOgmB,IACjChmB,EAAM,MAAM,CAACgmB,EAAK,KAAK,IAC7B,IAAIzB,GACT,CACA,UAAUt6D,CAAK,CAAE,CACf,IAAI9O,EAAS0E,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,EAC7EkgF,EAAQ,EAAE,CACV6E,EAAS,EAAE,AACXzpF,AAAW,KAAXA,EACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC8O,GAAO,OAAO,CAACitD,IAC9B,GAAM,CAACojB,EAAK,CAAGpjB,CACXojB,CAAAA,aAAgBuF,GAClBE,EAAM,IAAI,CAACzF,GACFA,aAAgB,IACzBsK,EAAO,IAAI,CAACtK,EAEhB,IAEAyF,EAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC91E,EAAO9O,GACjCypF,EAAS,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAU36E,EAAO9O,IAEpD,GAAM,CAAC0pF,EAAaC,EAAY,CAAG,CAAC/E,EAAO6E,EAAO,CAAC,GAAG,CAACG,IACrD,IAAMzK,EAAOyK,EAAM,KAAK,GACxB,GAAIzK,AAAQ,MAARA,EAAc,MAAO,CAAC,EAC1B,IAAImD,EAAU+C,GAAclG,GAC5B,KAAOrhF,OAAO,IAAI,CAACwkF,GAAS,MAAM,CAAG,GAAG,CACtC,IAAMnD,EAAOyK,EAAM,KAAK,GACxB,GAAIzK,AAAQ,MAARA,EAAc,MAClBmD,EAAUuH,AAmLlB,SAAwBvH,CAAO,CAAEwH,CAAQ,EACvC,OAAOhsF,OAAO,IAAI,CAACgsF,GAAU,MAAM,CAAC,CAACC,EAAQnsF,KAC3C,GAAI0kF,AAAiB,MAAjBA,CAAO,CAAC1kF,EAAK,CAAU,OAAOmsF,EAClC,IAAMC,EAAgBF,CAAQ,CAAClsF,EAAK,CAapC,OAZIosF,IAAkB1H,CAAO,CAAC1kF,EAAK,CACjCmsF,CAAM,CAACnsF,EAAK,CAAGosF,EACN5jF,MAAM,OAAO,CAAC4jF,GACnBA,AAAuC,EAAvCA,EAAc,OAAO,CAAC1H,CAAO,CAAC1kF,EAAK,EACrCmsF,CAAM,CAACnsF,EAAK,CAAGosF,EAAc,MAAM,CAAC,CAAC1H,CAAO,CAAC1kF,EAAK,CAAC,EAGnDmsF,CAAM,CAACnsF,EAAK,CAAGosF,EAGjBD,CAAM,CAACnsF,EAAK,CAAG,CAACosF,EAAe1H,CAAO,CAAC1kF,EAAK,CAAC,CAExCmsF,CACT,EAAG,CAAC,EACN,EArMiC1E,GAAclG,GAAOmD,EAChD,CACA,OAAOA,CACT,GACA,MAAO,CACL,GAAGoH,CAAW,CACd,GAAGC,CAAW,AAChB,CACF,CACA,QAAQ76E,CAAK,CAAE9O,CAAM,CAAE,CACrB,GAAM,CAAC6qE,EAAMof,EAAW,CAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAACn7E,GAC5C,GAAI+7D,EAAM,CACR,IAAMqf,EAAarf,EAAK,MAAM,UAE9B,AAAIsf,AADiBtf,EAAK,MAAM,IAAMof,EAAajqF,GAC/B,CAAEiqF,CAAAA,AAAe,IAAfA,GAAoBjqF,IAAWkqF,CAAS,EACrD/B,GAAYtd,EAAMof,EAAYjqF,EAAQ,IAExCmoF,GAAY,IAAI,CAAC,MAAM,CAAEr5E,EAAO9O,EAAQ,GACjD,CACA,MAAO,EACT,CACA,QAAQ8O,CAAK,CAAE9O,CAAM,CAAE,CACrB,OAAO,IAAI,CAAC,WAAW,CAAC8O,EAAO9O,GAAQ,MAAM,CAAC0pE,GAAM,AAAqB,UAArB,OAAOA,EAAG,MAAM,EAAe,GAAG,CAACA,GAAMA,EAAG,MAAM,EAAE,IAAI,CAAC,GAC/G,CACA,eAAe56D,CAAK,CAAEs7E,CAAQ,CAAE,CAC9B,IAAMvB,EAAkBD,GAAewB,GACjCC,EAAS,IAAIjhB,KAAQ,MAAM,CAACt6D,GAAO,MAAM,CAAC+5E,GAEhD,OADA,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC/5E,EAAO+5E,GAC3B,IAAI,CAAC,MAAM,CAACwB,EACrB,CACA,YAAYv7E,CAAK,CAAEw7E,CAAK,CAAE9qF,CAAK,CAAE,CAE/B,OADA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAACsP,EAAOw7E,EAAO9qF,GAC5B,IAAI,CAAC,MAAM,CAAC,IAAI4pE,KAAQ,MAAM,CAACt6D,GAAO,MAAM,CAAC,CAClD,CAACw7E,EAAM,CAAE9qF,CACX,GACF,CACA,WAAWsP,CAAK,CAAE6B,CAAI,CAAE,CACtB,IAAI2xE,EAAU59E,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,CAAC,EAMnF,OALAiM,EAAOA,EAAK,OAAO,CAAC,QAAS,MAAM,OAAO,CAAC,MAAO,MAClD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC7B,EAAO6B,GAC5B7S,OAAO,IAAI,CAACwkF,GAAS,OAAO,CAAC5xE,IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC5B,EAAO6B,EAAK,MAAM,CAAED,EAAQ4xE,CAAO,CAAC5xE,EAAO,CAClE,GACO,IAAI,CAAC,MAAM,CAAC,IAAI04D,KAAQ,MAAM,CAACt6D,GAAO,MAAM,CAAC6B,EAAM63D,GAAU8Z,IACtE,CACA,SAAU,CACR,GAAI,AAAgC,IAAhC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAQ,MAAO,GAC9C,GAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAG,EAAG,MAAO,GAC5C,IAAMnD,EAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QACtC,AAAIA,GAAM,QAAQ,WAAauF,GAAM,QAAQ,GAEzCG,CAAAA,AADU1F,EACJ,QAAQ,CAAC,MAAM,CAAG,IACrB0F,AAFO1F,EAED,QAAQ,CAAC,IAAI,YT5Lfj5D,ES6Lb,CACA,aAAapX,CAAK,CAAE9O,CAAM,CAAE,CAC1B,IAAM2Q,EAAO,IAAI,CAAC,OAAO,CAAC7B,EAAO9O,GAC3B,CAAC6qE,EAAM1lE,EAAO,CAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC2J,EAAQ9O,GAC5CuiD,EAAe,EACfzxC,EAAS,IAAIs4D,EACL,OAARyB,IACFtoB,EAAesoB,EAAK,MAAM,GAAK1lE,EAC/B2L,EAAS+5D,EAAK,KAAK,GAAG,KAAK,CAAC1lE,EAAQA,EAASo9C,EAAe,GAAG,MAAM,CAAC,OAGxE,IAAM+H,EAAO8/B,AADI,IAAI,CAAC,WAAW,CAACt7E,EAAO9O,EAASuiD,GAC5B,IAAI,CAAC,IAAI6mB,KAAQ,MAAM,CAACz4D,GAAM,MAAM,CAACG,IACrD+zC,EAAQ,IAAIukB,KAAQ,MAAM,CAACt6D,GAAO,MAAM,CAACw7C,GAC/C,OAAO,IAAI,CAAC,UAAU,CAACzF,EACzB,CACA,OAAOwlC,CAAM,CAAE,CACb,IAAIpI,EAAYv9E,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,EAAE,CAClF6lF,EAAgB7lF,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAGnF,KAAAA,EAClFirF,EAAW,IAAI,CAAC,KAAK,CAC3B,GAAIvI,AAAqB,IAArBA,EAAU,MAAM,EAAUA,AAAsB,kBAAtBA,CAAS,CAAC,EAAE,CAAC,IAAI,EAE/CA,CAAS,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAACiG,KAAU,IAAI,CAAC,MAAM,CAAC,IAAI,CAACjG,CAAS,CAAC,EAAE,CAAC,MAAM,EAAG,CAE9E,IAAMwI,EAAW,IAAI,CAAC,MAAM,CAAC,IAAI,CAACxI,CAAS,CAAC,EAAE,CAAC,MAAM,EAC/CK,EAAU+C,GAAcoF,GACxB37E,EAAQ27E,EAAS,MAAM,CAAC,IAAI,CAAC,MAAM,EAEnCC,EAAWzI,CAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,ALnEtCqD,GKmEsC,QAAmB,CAAE,IAC9DpkC,EAAU,IAAIkoB,KAAQ,MAAM,CAACshB,GAE7BvpC,EAAU,IAAIioB,KAAQ,MAAM,CAACqhB,EAAS,KAAK,IAC3CE,EAAwBJ,GAAiB,CAC7C,SAAUzB,GAAWyB,EAAc,QAAQ,CAAE,CAACz7E,GAC9C,SAAUg6E,GAAWyB,EAAc,QAAQ,CAAE,CAACz7E,EAChD,EAEAu7E,EAASO,AADS,IAAIxhB,KAAQ,MAAM,CAACt6D,GAAO,MAAM,CAACoyC,EAAQ,IAAI,CAACC,EAASwpC,IACtD,MAAM,CAAC,CAAC9lC,EAAO6kB,IAChC,AAAIA,EAAG,MAAM,CACJ7kB,EAAM,MAAM,CAAC6kB,EAAG,MAAM,CAAE4Y,GAE1Bz9B,EAAM,IAAI,CAAC6kB,GACjB,IAAIN,IACP,IAAI,CAAC,KAAK,CAAGohB,EAAS,OAAO,CAACH,EAChC,MACE,IAAI,CAAC,KAAK,CAAG,IAAI,CAAC,QAAQ,GACtB,EAACA,GAAU,CAAC,GAAQG,EAAS,OAAO,CAACH,GAAS,IAAI,CAAC,KAAK,IAC1DA,CAAAA,EAASG,EAAS,IAAI,CAAC,IAAI,CAAC,KAAK,CAAED,EAAa,EAGpD,OAAOF,CACT,CACF,EC3PA,GARA,MAAMQ,EACJ,OAAO,SAAW,CAAC,CAAE,AACrB,aAAYtE,CAAK,CAAE,CACjB,IAAInnF,EAAUsF,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,CAAC,CACnF,KAAI,CAAC,KAAK,CAAG6hF,EACb,IAAI,CAAC,OAAO,CAAGnnF,CACjB,CACF,EC+DA,GAnEA,MAAM0rF,UAAc,GAClB,YAAY/L,CAAM,CAAE9X,CAAI,CAAE,CACxB,KAAK,CAAC8X,EAAQ9X,GACd,IAAI,CAAC,WAAW,CAAGhQ,SAAS,aAAa,CAAC,QAC1C,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,kBAAmB,SACjD7wD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC2kF,IAC1C,IAAI,CAAC,WAAW,CAAC,WAAW,CAACA,EAC/B,GACA,IAAI,CAAC,SAAS,CAAG9zB,SAAS,cAAc,CATzB,UAUf,IAAI,CAAC,UAAU,CAAGA,SAAS,cAAc,CAV1B,UAWf,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EACvC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EACzC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAC1C,CACA,MAAMgQ,CAAI,CAAE9hE,CAAM,CAAE,QAClB,AAAI8hE,IAAS,IAAI,CAAC,SAAS,CAAS,EAChCA,IAAS,IAAI,CAAC,UAAU,CAAS,EAC9B,KAAK,CAAC,MAAMA,EAAM9hE,EAC3B,CACA,QAAQ8hE,CAAI,CAAE,CACZ,IACI6e,EADAL,EAAQ,KAEN90E,EAAOs2D,EAAK,IAAI,CAAC,KAAK,CAvBb,UAuB0B,IAAI,CAAC,IAC9C,GAAIA,IAAS,IAAI,CAAC,SAAS,EACzB,GAAI,IAAI,CAAC,IAAI,YAAY,GAAU,CACjC,IAAM+jB,EAAa,IAAI,CAAC,IAAI,CAAC,MAAM,GACnC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAACA,EAAYr6E,GAC/B80E,EAAQ,CACN,UAAW,IAAI,CAAC,IAAI,CAAC,OAAO,CAC5B,YAAauF,EAAar6E,EAAK,MAAM,AACvC,CACF,MACEm1E,EAAW7uB,SAAS,cAAc,CAACtmD,GACnC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAACm1E,GAAW,IAAI,EAC3DL,EAAQ,CACN,UAAWK,EACX,YAAan1E,EAAK,MAAM,AAC1B,OAEOs2D,IAAS,IAAI,CAAC,UAAU,GAC7B,IAAI,CAAC,IAAI,YAAY,IACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAGt2D,GACtB80E,EAAQ,CACN,UAAW,IAAI,CAAC,IAAI,CAAC,OAAO,CAC5B,YAAa90E,EAAK,MAAM,AAC1B,IAEAm1E,EAAW7uB,SAAS,cAAc,CAACtmD,GACnC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAACm1E,GAAW,IAAI,CAAC,IAAI,EAChEL,EAAQ,CACN,UAAWK,EACX,YAAan1E,EAAK,MAAM,AAC1B,IAIJ,OADAs2D,EAAK,IAAI,CAxDM,SAyDRwe,CACT,CACA,OAAOxD,CAAS,CAAEniC,CAAO,CAAE,CACzBmiC,EAAU,OAAO,CAAClP,IAChB,GAAIA,AAAkB,kBAAlBA,EAAS,IAAI,EAAyBA,CAAAA,EAAS,MAAM,GAAK,IAAI,CAAC,SAAS,EAAIA,EAAS,MAAM,GAAK,IAAI,CAAC,UAAU,AAAD,EAAI,CACpH,IAAM0S,EAAQ,IAAI,CAAC,OAAO,CAAC1S,EAAS,MAAM,EACtC0S,GAAO3lC,CAAAA,EAAQ,KAAK,CAAG2lC,CAAI,CACjC,CACF,EACF,CACF,EC3BA,GAxCA,MAAMwF,EACJ,YAAc,EAAM,AACpB,aAAYlM,CAAM,CAAEprE,CAAO,CAAE,CAC3B,IAAI,CAAC,MAAM,CAAGorE,EACd,IAAI,CAAC,OAAO,CAAGprE,EACf,IAAI,CAAC,cAAc,EACrB,CACA,gBAAiB,CACf,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,mBAAoB+N,IACnD,CAAC,IAAI,CAAC,WAAW,EACnB,IAAI,CAAC,sBAAsB,CAACA,EAEhC,GACA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAkBA,IACjD,IAAI,CAAC,WAAW,EAIlBwpE,eAAe,KACb,IAAI,CAAC,oBAAoB,CAACxpE,EAC5B,EAEJ,EACF,CACA,uBAAuBA,CAAK,CAAE,CAC5B,IAAMy9D,EAAOz9D,EAAM,MAAM,YAAYu9D,KAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAACv9D,EAAM,MAAM,CAAE,IAAQ,KAC/Ey9D,GAAQ,CAAEA,CAAAA,aAAgB,MAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,AL+CTsH,GK/CS,+BAAuC,CAAE/kE,GAC3D,IAAI,CAAC,MAAM,CAAC,UAAU,GACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,AL6CT+kE,GK7CS,wBAAgC,CAAE/kE,GACpD,IAAI,CAAC,WAAW,CAAG,GAEvB,CACA,qBAAqBA,CAAK,CAAE,CAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,ALwCP+kE,GKxCO,6BAAqC,CAAE/kE,GACzD,IAAI,CAAC,MAAM,CAAC,QAAQ,GACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,ALsCP+kE,GKtCO,sBAA8B,CAAE/kE,GAClD,IAAI,CAAC,WAAW,CAAG,EACrB,CACF,CCzCA,OAAMypE,GACJ,OAAO,SAAW,CAChB,QAAS,CAAC,CACZ,CAAE,AACF,QAAO,OAAS,CACd,QAASA,EACX,CAAE,AACF,SAAU,CAAC,CAAE,AACb,aAAY5E,CAAK,CAAEnnF,CAAO,CAAE,CAC1B,IAAI,CAAC,KAAK,CAAGmnF,EACb,IAAI,CAAC,OAAO,CAAGnnF,CACjB,CACA,MAAO,CACLtB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAACF,IACd,MAAtB,IAAI,CAAC,OAAO,CAACA,EAAK,EACpB,IAAI,CAAC,SAAS,CAACA,EAEnB,EACF,CACA,UAAUA,CAAI,CAAE,CAEd,IAAMwtF,EAAc,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAExtF,EAAK,CAAC,EAEnE,OADA,IAAI,CAAC,OAAO,CAACA,EAAK,CAAG,IAAIwtF,EAAY,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAACxtF,EAAK,EAAI,CAAC,GACzE,IAAI,CAAC,OAAO,CAACA,EAAK,AAC3B,CACF,CACA,OAAeutF,GC1BTE,GAAmBjuE,GAAWA,EAAQ,aAAa,EAAIA,EAAQ,WAAW,GAAG,IAAI,EAAI,KACrFkuE,GAAiBluE,IACrB,IAAMqqE,EAAOrqE,EAAQ,qBAAqB,GACpCmuE,EAAS,gBAAiBnuE,GAAWpa,KAAK,GAAG,CAACykF,EAAK,KAAK,EAAIrqE,EAAQ,WAAW,EAAI,EACnFouE,EAAS,iBAAkBpuE,GAAWpa,KAAK,GAAG,CAACykF,EAAK,MAAM,EAAIrqE,EAAQ,YAAY,EAAI,EAC5F,MAAO,CACL,IAAKqqE,EAAK,GAAG,CACb,MAAOA,EAAK,IAAI,CAAGrqE,EAAQ,WAAW,CAAGmuE,EACzC,OAAQ9D,EAAK,GAAG,CAAGrqE,EAAQ,YAAY,CAAGouE,EAC1C,KAAM/D,EAAK,IAAI,AACjB,CACF,EACMgE,GAAoBjsF,IACxB,IAAM8mC,EAAS1gC,SAASpG,EAAO,IAC/B,OAAOiG,OAAO,KAAK,CAAC6gC,GAAU,EAAIA,CACpC,EAIMolD,GAAoB,CAAC3jF,EAAa4jF,EAAWC,EAAaC,EAAWC,EAAoBC,IAC7F,AAAIhkF,EAAc6jF,GAAeD,EAAYE,EACpC,EAEL9jF,EAAc6jF,EACT,CAAEA,CAAAA,EAAc7jF,EAAc+jF,CAAiB,EAEpDH,EAAYE,EACPF,EAAY5jF,EAAc8jF,EAAYD,EAAc7jF,EAAc+jF,EAAqBF,EAAcD,EAAYE,EAAYE,EAE/H,EA4CT,GA1C2B,CAAC3uF,EAAM4uF,KAChC,IAAM/0B,EAAW75D,EAAK,aAAa,CAC/BqqF,EAAOuE,EACPx2E,EAAUpY,EACd,KAAOoY,GAAS,CACd,IAAMy2E,EAAiBz2E,IAAYyhD,EAAS,IAAI,CAC1Ci1B,EAAWD,EAAiB,CAChC,IAAK,EACL,MAAOztF,OAAO,cAAc,EAAE,OAASy4D,EAAS,eAAe,CAAC,WAAW,CAC3E,OAAQz4D,OAAO,cAAc,EAAE,QAAUy4D,EAAS,eAAe,CAAC,YAAY,CAC9E,KAAM,CACR,EAAIq0B,GAAe91E,GACb3E,EAAQ8mD,iBAAiBniD,GACzB22E,EAAkBT,GAAkBjE,EAAK,IAAI,CAAEA,EAAK,KAAK,CAAEyE,EAAS,IAAI,CAAEA,EAAS,KAAK,CAAET,GAAkB56E,EAAM,iBAAiB,EAAG46E,GAAkB56E,EAAM,kBAAkB,GAChLu7E,EAAkBV,GAAkBjE,EAAK,GAAG,CAAEA,EAAK,MAAM,CAAEyE,EAAS,GAAG,CAAEA,EAAS,MAAM,CAAET,GAAkB56E,EAAM,gBAAgB,EAAG46E,GAAkB56E,EAAM,mBAAmB,GACtL,GAAIs7E,GAAmBC,GACrB,GAAIH,EACFh1B,EAAS,WAAW,EAAE,SAASk1B,EAAiBC,OAC3C,CACL,GAAM,CACJC,WAAAA,CAAU,CACVC,UAAAA,CAAS,CACV,CAAG92E,EACA42E,GACF52E,CAAAA,EAAQ,SAAS,EAAI42E,CAAc,EAEjCD,GACF32E,CAAAA,EAAQ,UAAU,EAAI22E,CAAc,EAEtC,IAAMI,EAAe/2E,EAAQ,UAAU,CAAG62E,EACpCG,EAAch3E,EAAQ,SAAS,CAAG82E,EACxC7E,EAAO,CACL,KAAMA,EAAK,IAAI,CAAG8E,EAClB,IAAK9E,EAAK,GAAG,CAAG+E,EAChB,MAAO/E,EAAK,KAAK,CAAG8E,EACpB,OAAQ9E,EAAK,MAAM,CAAG+E,CACxB,CACF,EAEFh3E,EAAUy2E,GAAkBp7E,AAAmB,UAAnBA,EAAM,QAAQ,CAAe,KAAOw6E,GAAiB71E,EACnF,CACF,ECtEMi3E,GAAe,CAAC,QAAS,QAAS,SAAU,SAAU,SAAU,OAAO,CAyB7E,GAxBkC,CAACnK,EAASoK,EAAgBltE,KAC1D,IAAMyjE,EAAW,IAAIzD,GAqBrB,OApBAiN,GAAa,OAAO,CAAC7uF,IACnB,IAAM+uF,EAAWD,EAAe,KAAK,CAAC9uF,GAClC+uF,GAAU1J,EAAS,QAAQ,CAAC0J,EAClC,GACArK,EAAQ,OAAO,CAAC1kF,IACd,IAAI8S,EAASg8E,EAAe,KAAK,CAAC9uF,EAC9B,EAAC8S,GACH8O,EAAM,KAAK,CAAC,CAAC,iBAAiB,EAAE5hB,EAAK,gEAAgE,CAAC,EAExG,IAAIgvF,EAAa,EACjB,KAAOl8E,GAIL,GAHAuyE,EAAS,QAAQ,CAACvyE,GAClBA,EAAS,aAAcA,EAASA,EAAO,iBAAiB,EAAI,KAAO,KAE/Dk8E,AADJA,CAAAA,GAAc,GAjBY,IAkBgB,CACxCptE,EAAM,KAAK,CAAC,CAAC,uDAAuD,EAAE5hB,EAAK,CAAC,CAAC,EAC7E,KACF,CAEJ,GACOqlF,CACT,ECbM,GAAQ,AVSCjc,GUTM,SACf6lB,GAAiB,IAAI,EAC3B,WAA4B,CAAG,OAW/B,OAAMC,GACJ,OAAO,SAAW,CAChB,OAAQ,KACR,QAAS,CACP,UAAW,GACX,SAAU,GACV,QAAS,GACT,SAAU,EACZ,EACA,YAAa,GACb,SAAU,GACV,SAAUD,GACV,MAAO,SACT,CAAE,AACF,QAAO,OAAS,AToCHpG,GSpCG,MAAc,AAAC,AAC/B,QAAO,QAAU,ATmCJA,GSnCI,OAAe,AAAC,AACjC,QAAO,QAAmD,OAAQ,AAClE,QAAO,QAAU,CACf,MAAOrd,GACP,UAAW,EACX,cAAe,GACf,aAAc,EAChB,CAAE,AACF,QAAO,MAAMvhE,CAAK,CAAE,CACJ,KAAVA,GACFA,CAAAA,EAAQ,KAAI,EAEd,AV/BWm/D,GU+BX,KAAY,CAACn/D,EACf,CACA,OAAO,KAAKo/D,CAAI,CAAE,CAChB,IAAI4X,EAASn6E,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,EAAiBA,SAAS,CAAC,EAAE,CAC9E,OAAO8hF,GAAU,GAAG,CAACvf,IAAS4lB,GAAe,IAAI,CAAC5lB,EAAM4X,EAC1D,CACA,OAAO,OAAOjhF,CAAI,CAAE,CAIlB,OAH0B,MAAtB,IAAI,CAAC,OAAO,CAACA,EAAK,EACpB,GAAM,KAAK,CAAC,CAAC,cAAc,EAAEA,EAAK,iCAAiC,CAAC,EAE/D,IAAI,CAAC,OAAO,CAACA,EAAK,AAC3B,CACA,OAAO,UAAW,CAChB,GAAI,AAA8D,UAA9D,MAAQ8G,CAAAA,UAAU,MAAM,EAAI,EAAInF,KAAAA,EAAYmF,SAAS,CAAC,EAAE,AAAD,EAAiB,CAC1E,IAAMG,EAASH,UAAU,MAAM,EAAI,EAAInF,KAAAA,EAAYmF,SAAS,CAAC,EAAE,CACzDqoF,EAAY,CAAC,CAAEroF,CAAAA,UAAU,MAAM,EAAI,EAAInF,KAAAA,EAAYmF,SAAS,CAAC,EAAE,AAAD,EAC9D9G,EAAO,aAAciH,EAASA,EAAO,QAAQ,CAAGA,EAAO,QAAQ,AACjE,AAAgB,WAAhB,OAAOjH,EAGT,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAEA,EAAK,CAAC,CAAEiH,EAAQkoF,GAEzCjvF,OAAO,IAAI,CAAC+G,GAAQ,OAAO,CAAChG,IAC1B,IAAI,CAAC,QAAQ,CAACA,EAAKgG,CAAM,CAAChG,EAAI,CAAEkuF,EAClC,EAEJ,KAAO,CACL,IAAMhxB,EAAOr3D,UAAU,MAAM,EAAI,EAAInF,KAAAA,EAAYmF,SAAS,CAAC,EAAE,CACvDG,EAASH,UAAU,MAAM,EAAI,EAAInF,KAAAA,EAAYmF,SAAS,CAAC,EAAE,CACzDqoF,EAAY,CAAC,CAAEroF,CAAAA,UAAU,MAAM,EAAI,EAAInF,KAAAA,EAAYmF,SAAS,CAAC,EAAE,AAAD,CAC1C,OAAtB,IAAI,CAAC,OAAO,CAACq3D,EAAK,EAAY,CAACgxB,GACjC,GAAM,IAAI,CAAC,CAAC,YAAY,EAAEhxB,EAAK,KAAK,CAAC,CAAEl3D,GAEzC,IAAI,CAAC,OAAO,CAACk3D,EAAK,CAAGl3D,EAChBk3D,CAAAA,EAAK,UAAU,CAAC,WAAaA,EAAK,UAAU,CAAC,WAAU,GAAMl3D,GAAU,AAAkB,WAAlB,OAAOA,GAAwBA,AAAoB,aAApBA,EAAO,QAAQ,EACxHgoF,GAAe,QAAQ,CAAChoF,GAEK,YAA3B,OAAOA,EAAO,QAAQ,EACxBA,EAAO,QAAQ,CAACgoF,GAEpB,CACF,CACA,YAAYG,CAAS,CAAE,CACrB,IAAI5tF,EAAUsF,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,CAAC,EAGnF,GAFA,IAAI,CAAC,OAAO,CAAGuoF,AA4WnB,SAAsBC,CAAmB,CAAE9tF,CAAO,EAChD,IAAM4tF,EAAYG,GAAgBD,GAClC,GAAI,CAACF,EACH,MAAM,AAAItsF,MAAM,2BAGlB,IAAM0sF,EAAQC,AADgB,AAACjuF,EAAQ,KAAK,EAAIA,EAAQ,KAAK,GAAK0tF,GAAM,QAAQ,CAAC,KAAK,CACxCA,GAAM,MAAM,CAAC,CAAC,OAAO,EAAE1tF,EAAQ,KAAK,CAAC,CAAC,EAA9C,GACtC,GAAI,CAACguF,EACH,MAAM,AAAI1sF,MAAM,CAAC,cAAc,EAAEtB,EAAQ,KAAK,CAAC,sBAAsB,CAAC,EAExE,GAAM,CACJ,QAASkuF,CAAmB,CAC5B,GAAGC,EACJ,CAAGT,GAAM,QAAQ,CACZ,CACJ,QAASU,CAAmB,CAC5B,GAAGC,EACJ,CAAGL,EAAM,QAAQ,CACdM,EAAoBC,GAAmBvuF,EAAQ,OAAO,CAEjC,OAArBsuF,GAA6BA,EAAkB,OAAO,EAAIA,EAAkB,OAAO,CAAC,WAAW,GAAK5vF,QACtG4vF,CAAAA,EAAoB,CAClB,GAAGA,CAAiB,CACpB,QAAS,CACP,UAAWA,EAAkB,OAAO,AACtC,CACF,GAEF,IAAMnwF,EAAU,A9DncH4gF,G8DmcS,CAAC,EAAGwP,GAAmBL,GAAsBK,GAAmBH,GAAsBE,GACtGhxD,EAAS,CACb,GAAG6wD,CAAa,CAChB,GAAGK,GAA+BH,EAAc,CAChD,GAAGG,GAA+BxuF,EAAQ,AAC5C,EACI6jF,EAAW7jF,EAAQ,QAAQ,CAQ/B,OAPI6jF,EACE7jF,EAAQ,OAAO,EACjB,GAAM,IAAI,CAAC,6DAGb6jF,EAAW7jF,EAAQ,OAAO,CAAGyuF,GAA0BzuF,EAAQ,OAAO,CAAEs9B,EAAO,QAAQ,CAAE,IAASA,EAAO,QAAQ,CAE5G,CACL,GAAGA,CAAM,CACTumD,SAAAA,EACA+J,UAAAA,EACAI,MAAAA,EACA,QAAStvF,OAAO,OAAO,CAACP,GAAS,MAAM,CAAC,CAACuwF,EAAqBC,KAC5D,GAAI,CAACnwF,EAAM4B,EAAM,CAAGuuF,EACpB,GAAI,CAACvuF,EAAO,OAAOsuF,EACnB,IAAME,EAAclB,GAAM,MAAM,CAAC,CAAC,QAAQ,EAAElvF,EAAK,CAAC,SAClD,AAAIowF,AAAe,MAAfA,GACF,GAAM,KAAK,CAAC,CAAC,YAAY,EAAEpwF,EAAK,wCAAwC,CAAC,EAClEkwF,GAEF,CACL,GAAGA,CAAmB,CAEtB,CAAClwF,EAAK,CAAE,A9DjeDugF,G8DieO,CAAC,EAAG6P,EAAY,QAAQ,EAAI,CAAC,EAAGxuF,EAChD,CACF,EAAG,CAAC,GACJ,OAAQ2tF,GAAgBzwD,EAAO,MAAM,CACvC,CACF,EA3agCswD,EAAW5tF,GACvC,IAAI,CAAC,SAAS,CAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CACnC,AAAkB,MAAlB,IAAI,CAAC,SAAS,CAAU,CAC1B,GAAM,KAAK,CAAC,0BAA2B4tF,GACvC,MACF,CACI,IAAI,CAAC,OAAO,CAAC,KAAK,EACpBF,GAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAEhC,IAAMvxD,EAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,GAC1C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,gBAC7B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAG,GAC3BirD,GAAU,GAAG,CAAC,IAAI,CAAC,SAAS,CAAE,IAAI,EAClC,IAAI,CAAC,IAAI,CAAG,IAAI,CAAC,YAAY,CAAC,aAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YACxB,IAAI,CAAC,OAAO,CAAG,ITpCJC,GSqCX,IAAMwH,EAAiB,WAA6B,CAC9CC,EAAa,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAACD,GAC/C,GAAI,CAACC,GAAc,CAAE,cAAcA,CAAS,EAC1C,MAAM,AAAIxtF,MAAM,CAAC,iCAAiC,EAAEutF,EAAe,MAAM,CAAC,EA4C5E,GA1CA,IAAI,CAAC,MAAM,CAAG,IAAIC,EAAW,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAE,IAAI,CAAC,IAAI,CAAE,CAC7D,QAAS,IAAI,CAAC,OAAO,AACvB,GACA,IAAI,CAAC,MAAM,CAAG,IAAI,GAAO,IAAI,CAAC,MAAM,EACpC,IAAI,CAAC,SAAS,CAAG,IAAI,GAAU,IAAI,CAAC,MAAM,CAAE,IAAI,CAAC,OAAO,EACxD,IAAI,CAAC,WAAW,CAAG,IAAI,GAAY,IAAI,CAAC,MAAM,CAAE,IAAI,CAAC,OAAO,EAC5D,IAAI,CAAC,KAAK,CAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAE,IAAI,CAAC,OAAO,EACtD,IAAI,CAAC,QAAQ,CAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,YACrC,IAAI,CAAC,SAAS,CAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,aACtC,IAAI,CAAC,OAAO,CAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WACpC,IAAI,CAAC,QAAQ,CAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,YACrC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SACrB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UACrB,IAAI,CAAC,KAAK,CAAC,IAAI,GACf,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,ATxDLzH,GSwDK,oBAA4B,CAAEx0E,IACxCA,IAAS,ATzDJw0E,GSyDI,kBAA0B,EACrC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAY,IAAI,CAAC,MAAM,CAAC,OAAO,GAE9D,GACA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,AT7DLA,GS6DK,oBAA4B,CAAE,CAAC3nE,EAAQmjE,KACrD,IAAM7gC,EAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CACnC,CAACC,EAAS,CAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,GACpCkpC,EAAgBnpC,GAAYC,EAAW,CAC3CD,SAAAA,EACAC,SAAAA,CACF,EAAI9hD,KAAAA,EACJ4uF,GAAO,IAAI,CAAC,IAAI,CAAE,IAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAMlM,EAAWsI,GAAgBzrE,EAC9E,GACA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,ATtEL2nE,GSsEK,0BAAkC,CAAE,CAACtH,EAAMt6B,KACzD,IAAMzD,EAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CACnC,CAACC,EAAS,CAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,GACpCkpC,EAAgBnpC,GAAYC,EAAW,CAC3CD,SAAAA,EACAC,SAAAA,CACF,EAAI9hD,KAAAA,EACJ4uF,GAAO,IAAI,CAAC,IAAI,CAAE,KAChB,IAAM9D,EAAS,IAAIjhB,KAAQ,MAAM,CAAC+V,EAAK,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,CAC1D,CAACA,EAAK,OAAO,CAAC,QAAQ,CAAC,CAAEt6B,CAC3B,GACA,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAACwlC,EAAQ,EAAE,CAAEE,EACxC,EAAGuC,GAAM,OAAO,CAAC,IAAI,CACvB,GACIvxD,EAAM,CACR,IAAM6uD,EAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CACtC,KAAM,CAAC,EAAE7uD,EAAK,WAAW,CAAC,CAC1B,KAAM,IACR,GACA,IAAI,CAAC,WAAW,CAAC6uD,EACnB,CACA,IAAI,CAAC,OAAO,CAAC,KAAK,GACd,IAAI,CAAC,OAAO,CAAC,WAAW,EAC1B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAoB,IAAI,CAAC,OAAO,CAAC,WAAW,EAEjE,IAAI,CAAC,OAAO,CAAC,QAAQ,EACvB,IAAI,CAAC,OAAO,GAEd,IAAI,CAAC,kBAAkB,CAAG,EAC5B,CACA,aAAa4C,CAAS,CAAE,CACtB,IAAIlM,EAAUp8E,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,KAClF,GAAI,AAAqB,UAArB,OAAOsoF,EAAwB,CACjC,IAAMxrB,EAAYwrB,EAElBA,AADAA,CAAAA,EAAY/1B,SAAS,aAAa,CAAC,MAAK,EAC9B,SAAS,CAAC,GAAG,CAACuK,EAC1B,CAEA,OADA,IAAI,CAAC,SAAS,CAAC,YAAY,CAACwrB,EAAWlM,GAChCkM,CACT,CACA,MAAO,CACL,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAC1B,CACA,WAAWl+E,CAAK,CAAE9O,CAAM,CAAE8e,CAAM,CAAE,CAGhC,MADA,CAAChQ,EAAO9O,GAAS8e,EAAO,CAAGsvE,GAASt/E,EAAO9O,EAAQ8e,GAC5CqvE,GAAO,IAAI,CAAC,IAAI,CAAE,IAChB,IAAI,CAAC,MAAM,CAAC,UAAU,CAACr/E,EAAO9O,GACpC8e,EAAQhQ,EAAO,GAAK9O,EACzB,CACA,SAAU,CACR,IAAI,CAAC,MAAM,CAAC,GACd,CACA,aAAaquF,CAAQ,CAAE,CACrB,IAAI,CAAC,kBAAkB,CAAG,GAC1B,IAAM7uF,EAAQ6uF,IAEd,OADA,IAAI,CAAC,kBAAkB,CAAG,GACnB7uF,CACT,CACA,QAAS,CACP,IAAIoyB,EAAUltB,CAAAA,CAAAA,UAAU,MAAM,CAAG,IAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,EAAiBA,SAAS,CAAC,EAAE,CAC/E,IAAI,CAAC,MAAM,CAAC,MAAM,CAACktB,GACnB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,cAAe,CAACA,EAClD,CACA,OAAQ,CACN,IAAIxyB,EAAUsF,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,CAAC,EACnF,IAAI,CAAC,SAAS,CAAC,KAAK,GAChB,CAACtF,EAAQ,aAAa,EACxB,IAAI,CAAC,uBAAuB,EAEhC,CACA,OAAOxB,CAAI,CAAE4B,CAAK,CAAE,CAClB,IAAIsf,EAASpa,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,AT9ItE+hF,GS8IsE,WAAmB,CACpG,OAAO0H,GAAO,IAAI,CAAC,IAAI,CAAE,KACvB,IAAM1I,EAAQ,IAAI,CAAC,YAAY,CAAC,IAC5B4E,EAAS,IAAIjhB,GACjB,GAAIqc,AAAS,MAATA,EAAe,OAAO4E,EAC1B,GAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAACzsF,EAAM,QAAqB,EAC/CysF,EAAS,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC5E,EAAM,KAAK,CAAEA,EAAM,MAAM,CAAE,CACzD,CAAC7nF,EAAK,CAAE4B,CACV,QACK,GAAIimF,AAAiB,IAAjBA,EAAM,MAAM,CAErB,OADA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC7nF,EAAM4B,GACrB6qF,EAEPA,EAAS,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC5E,EAAM,KAAK,CAAEA,EAAM,MAAM,CAAE,CACzD,CAAC7nF,EAAK,CAAE4B,CACV,GAGF,OADA,IAAI,CAAC,YAAY,CAACimF,EAAO,AT/JhBgB,GS+JgB,cAAsB,EACxC4D,CACT,EAAGvrE,EACL,CACA,WAAWhQ,CAAK,CAAE9O,CAAM,CAAEpC,CAAI,CAAE4B,CAAK,CAAEsf,CAAM,CAAE,CAC7C,IAAIwjE,EAKJ,MAHA,CAACxzE,EAAO9O,EAAQsiF,EAASxjE,EAAO,CAAGsvE,GAASt/E,EAAO9O,EAEnDpC,EAAM4B,EAAOsf,GACNqvE,GAAO,IAAI,CAAC,IAAI,CAAE,IAChB,IAAI,CAAC,MAAM,CAAC,UAAU,CAACr/E,EAAO9O,EAAQsiF,GAC5CxjE,EAAQhQ,EAAO,EACpB,CACA,WAAWA,CAAK,CAAE9O,CAAM,CAAEpC,CAAI,CAAE4B,CAAK,CAAEsf,CAAM,CAAE,CAC7C,IAAIwjE,EAKJ,MAHA,CAACxzE,EAAO9O,EAAQsiF,EAASxjE,EAAO,CAAGsvE,GAEnCt/E,EAAO9O,EAAQpC,EAAM4B,EAAOsf,GACrBqvE,GAAO,IAAI,CAAC,IAAI,CAAE,IAChB,IAAI,CAAC,MAAM,CAAC,UAAU,CAACr/E,EAAO9O,EAAQsiF,GAC5CxjE,EAAQhQ,EAAO,EACpB,CACA,UAAUA,CAAK,CAAE,CACf,IAAI9O,EAAS0E,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,EAC7E4pF,EAAS,KAMb,GAAI,EAJFA,EADE,AAAiB,UAAjB,OAAOx/E,EACA,IAAI,CAAC,SAAS,CAAC,SAAS,CAACA,EAAO9O,GAEhC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC8O,EAAM,KAAK,CAAEA,EAAM,MAAM,GAEhD,OAAO,KACpB,IAAMy/E,EAAkB,IAAI,CAAC,SAAS,CAAC,qBAAqB,GAC5D,MAAO,CACL,OAAQD,EAAO,MAAM,CAAGC,EAAgB,GAAG,CAC3C,OAAQD,EAAO,MAAM,CACrB,KAAMA,EAAO,IAAI,CAAGC,EAAgB,IAAI,CACxC,MAAOD,EAAO,KAAK,CAAGC,EAAgB,IAAI,CAC1C,IAAKD,EAAO,GAAG,CAAGC,EAAgB,GAAG,CACrC,MAAOD,EAAO,KAAK,AACrB,CACF,CACA,aAAc,CACZ,IAAIx/E,EAAQpK,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,EAC5E1E,EAAS0E,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,IAAI,CAAC,SAAS,GAAKoK,EAEpG,MADA,CAACA,EAAO9O,EAAO,CAAGouF,GAASt/E,EAAO9O,GAC3B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC8O,EAAO9O,EACxC,CACA,WAAY,CACV,IAAI8O,EAAQpK,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,IAAI,CAAC,YAAY,CAAC,IAC9F1E,EAAS0E,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,QACjF,AAAI,AAAiB,UAAjB,OAAOoK,EACF,IAAI,CAAC,MAAM,CAAC,SAAS,CAACA,EAAO9O,GAE/B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC8O,EAAM,KAAK,CAAEA,EAAM,MAAM,CACxD,CACA,SAASqwE,CAAI,CAAE,CACb,OAAOA,EAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAChC,CACA,WAAY,CACV,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAC3B,CACA,QAAQrwE,CAAK,CAAE,CACb,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAACA,EAC1B,CACA,QAAQA,CAAK,CAAE,CACb,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAACA,EAC1B,CACA,UAAW,CACT,IAAIA,EAAQpK,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,EAC5E1E,EAAS0E,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAGe,OAAO,SAAS,OACjG,AAAI,AAAiB,UAAjB,OAAOqJ,EACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAACA,EAAM,KAAK,CAAEA,EAAM,MAAM,EAE7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAACA,EAAO9O,EAClC,CACA,UAAUpC,CAAI,CAAE,CACd,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAACA,EAAK,AACjC,CACA,cAAe,CACb,IAAI4wF,EAAQ9pF,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,EAAiBA,SAAS,CAAC,EAAE,CAG7E,OAFI8pF,GAAO,IAAI,CAAC,KAAK,GACrB,IAAI,CAAC,MAAM,GACJ,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,AACrC,CACA,iBAAkB,CAChB,IAAI1/E,EAAQpK,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,EAC5E1E,EAAS0E,UAAU,MAAM,CAAG,EAAIA,SAAS,CAAC,EAAE,CAAGnF,KAAAA,EAMnD,MALqB,UAAjB,OAAOuP,GACT9O,CAAAA,EAASA,GAAU,IAAI,CAAC,SAAS,GAAK8O,CAAI,EAG5C,CAACA,EAAO9O,EAAO,CAAGouF,GAASt/E,EAAO9O,GAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC8O,EAAO9O,EACpC,CACA,SAAU,CACR,IAAI8O,EAAQpK,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,EAC5E1E,EAAS0E,UAAU,MAAM,CAAG,EAAIA,SAAS,CAAC,EAAE,CAAGnF,KAAAA,EAMnD,MALqB,UAAjB,OAAOuP,GACT9O,CAAAA,EAASA,GAAU,IAAI,CAAC,SAAS,GAAK8O,CAAI,EAG5C,CAACA,EAAO9O,EAAO,CAAGouF,GAASt/E,EAAO9O,GAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC8O,EAAO9O,EACpC,CACA,UAAW,CACT,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAChC,CACA,YAAY8O,CAAK,CAAEw7E,CAAK,CAAE9qF,CAAK,CAAE,CAC/B,IAAIsf,EAASpa,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAGooF,GAAM,OAAO,CAAC,GAAG,CAClG,OAAOqB,GAAO,IAAI,CAAC,IAAI,CAAE,IAChB,IAAI,CAAC,MAAM,CAAC,WAAW,CAACr/E,EAAOw7E,EAAO9qF,GAC5Csf,EAAQhQ,EACb,CACA,WAAWA,CAAK,CAAE6B,CAAI,CAAE/S,CAAI,CAAE4B,CAAK,CAAEsf,CAAM,CAAE,CAC3C,IAAIwjE,EAIJ,MADA,CAACxzE,GAAQwzE,EAASxjE,EAAO,CAAGsvE,GAASt/E,EAAO,EAAGlR,EAAM4B,EAAOsf,GACrDqvE,GAAO,IAAI,CAAC,IAAI,CAAE,IAChB,IAAI,CAAC,MAAM,CAAC,UAAU,CAACr/E,EAAO6B,EAAM2xE,GAC1CxjE,EAAQhQ,EAAO6B,EAAK,MAAM,CAC/B,CACA,WAAY,CACV,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAC9B,CACA,KAAM,CACJ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,IAAIjM,UAC7B,CACA,IAAK,CACH,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,IAAIA,UAC5B,CACA,MAAO,CACL,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,IAAIA,UAC9B,CACA,aAAaoK,CAAK,CAAE9O,CAAM,CAAE8e,CAAM,CAAE,CAElC,MADA,CAAChQ,EAAO9O,GAAS8e,EAAO,CAAGsvE,GAASt/E,EAAO9O,EAAQ8e,GAC5CqvE,GAAO,IAAI,CAAC,IAAI,CAAE,IAChB,IAAI,CAAC,MAAM,CAAC,YAAY,CAACr/E,EAAO9O,GACtC8e,EAAQhQ,EACb,CACA,mBAAmB24E,CAAI,CAAE,CACvBgH,GAAmB,IAAI,CAAC,IAAI,CAAEhH,EAChC,CAKA,gBAAiB,CACfj1E,QAAQ,IAAI,CAAC,0IACb,IAAI,CAAC,uBAAuB,EAC9B,CAMA,yBAA0B,CACxB,IAAMizE,EAAQ,IAAI,CAAC,SAAS,CAAC,SAAS,CAChC6I,EAAS7I,GAAS,IAAI,CAAC,SAAS,CAAC,SAAS,CAACA,EAAM,KAAK,CAAEA,EAAM,MAAM,EACtE6I,GACF,IAAI,CAAC,kBAAkB,CAACA,EAE5B,CACA,YAAYzpC,CAAK,CAAE,CACjB,IAAI/lC,EAASpa,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,ATrUtE+hF,GSqUsE,WAAmB,CACpG,OAAO0H,GAAO,IAAI,CAAC,IAAI,CAAE,KACvBtpC,EAAQ,IAAIukB,GAAMvkB,GAClB,IAAM7kD,EAAS,IAAI,CAAC,SAAS,GAEvB0uF,EAAU,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAG1uF,GACpC2uF,EAAU,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAG9pC,GAExC+pC,EAAU,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,GAAK,EAAG,GAC7D,OAAOF,EAAQ,OAAO,CAACC,GAAS,OAAO,CAACC,EAC1C,EAAG9vE,EACL,CACA,aAAahQ,CAAK,CAAE9O,CAAM,CAAE8e,CAAM,CAAE,CAC9BhQ,AAAS,MAATA,EAEF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAM9O,GAAU8sF,GAAM,OAAO,CAAC,GAAG,GAGzD,CAACh+E,EAAO9O,GAAS8e,EAAO,CAAGsvE,GAASt/E,EAAO9O,EAAQ8e,GACnD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAIgoE,GAAM9jF,KAAK,GAAG,CAAC,EAAG8L,GAAQ9O,GAAS8e,GAC3DA,IAAW,ATzVN2nE,GSyVM,cAAsB,EACnC,IAAI,CAAC,uBAAuB,GAGlC,CACA,QAAQ91E,CAAI,CAAE,CACZ,IAAImO,EAASpa,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,AT/VtE+hF,GS+VsE,WAAmB,CAC9F5hC,EAAQ,IAAIukB,KAAQ,MAAM,CAACz4D,GACjC,OAAO,IAAI,CAAC,WAAW,CAACk0C,EAAO/lC,EACjC,CACA,QAAS,CACP,IAAIA,EAASpa,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,ATpWtE+hF,GSoWsE,YAAoB,CAC/F4D,EAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAACvrE,GAGlC,OAFA,IAAI,CAAC,SAAS,CAAC,MAAM,CAACA,GAEfurE,CACT,CACA,eAAexlC,CAAK,CAAE,CACpB,IAAI/lC,EAASpa,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,AT3WtE+hF,GS2WsE,WAAmB,CACpG,OAAO0H,GAAO,IAAI,CAAC,IAAI,CAAE,KACvBtpC,EAAQ,IAAIukB,GAAMvkB,GACX,IAAI,CAAC,MAAM,CAAC,UAAU,CAACA,IAC7B/lC,EAAQ,GACb,CACF,CACA,SAASquE,GAAgB7rB,CAAQ,EAC/B,MAAO,AAAoB,UAApB,OAAOA,EAAwBrK,SAAS,aAAa,CAACqK,GAAYA,CAC3E,CACA,SAASqsB,GAAmBjxD,CAAM,EAChC,OAAO5+B,OAAO,OAAO,CAAC4+B,GAAU,CAAC,GAAG,MAAM,CAAC,CAACmyD,EAAUvV,KACpD,GAAI,CAACz6E,EAAKW,EAAM,CAAG85E,EACnB,MAAO,CACL,GAAGuV,CAAQ,CACX,CAAChwF,EAAI,CAAEW,AAAU,KAAVA,EAAiB,CAAC,EAAIA,CAC/B,CACF,EAAG,CAAC,EACN,CACA,SAASouF,GAA+BjvF,CAAG,EACzC,OAAOb,OAAO,WAAW,CAACA,OAAO,OAAO,CAACa,GAAK,MAAM,CAACuV,GAASA,AAAa3U,KAAAA,IAAb2U,CAAK,CAAC,EAAE,EACxE,CAoEA,SAASi6E,GAAOE,CAAQ,CAAEvvE,CAAM,CAAEhQ,CAAK,CAAEggF,CAAK,EAC5C,GAAI,CAAC,IAAI,CAAC,SAAS,IAAMhwE,IAAW,ATrcvB2nE,GSqcuB,YAAoB,EAAI,CAAC,IAAI,CAAC,kBAAkB,CAClF,OAAO,IAAIrd,GAEb,IAAIqc,EAAQ32E,AAAS,MAATA,EAAgB,KAAO,IAAI,CAAC,YAAY,GAC9C07E,EAAW,IAAI,CAAC,MAAM,CAAC,KAAK,CAC5BH,EAASgE,IAaf,GAZa,MAAT5I,IACY,KAAV32E,GACFA,CAAAA,EAAQ22E,EAAM,KAAK,AAAD,EAEhBqJ,AAAS,MAATA,EACFrJ,EAAQ,GAAWA,EAAO4E,EAAQvrE,GACf,IAAVgwE,GAETrJ,CAAAA,EAAQ,GAAWA,EAAO32E,EAAOggF,EAAOhwE,EAAM,EAEhD,IAAI,CAAC,YAAY,CAAC2mE,EAAO,ATrddgB,GSqdc,cAAsB,GAE7C4D,EAAO,MAAM,GAAK,EAAG,CACvB,IAAMt/E,EAAO,CAAC,ATxdH07E,GSwdG,kBAA0B,CAAE4D,EAAQG,EAAU1rE,EAAO,CACnE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,ATzdP2nE,GSydO,oBAA4B,IAAK17E,GAC/C+T,IAAW,AT1dJ2nE,GS0dI,cAAsB,EACnC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI17E,EAEzB,CACA,OAAOs/E,CACT,CACA,SAAS+D,GAASt/E,CAAK,CAAE9O,CAAM,CAAEpC,CAAI,CAAE4B,CAAK,CAAEsf,CAAM,EAClD,IAAIwjE,EAAU,CAAC,EA2Cf,MAzCI,AAAuB,UAAvB,OAAOxzE,EAAM,KAAK,EAAiB,AAAwB,UAAxB,OAAOA,EAAM,MAAM,EAElC,UAAlB,OAAO9O,IAET8e,EAAStf,EACTA,EAAQ5B,EACRA,EAAOoC,GAOPA,EAAS8O,EAAM,MAAM,CAErBA,EAAQA,EAAM,KAAK,EAEM,UAAlB,OAAO9O,IAEhB8e,EAAStf,EACTA,EAAQ5B,EACRA,EAAOoC,EACPA,EAAS,GAGP,AAAgB,UAAhB,OAAOpC,GAET0kF,EAAU1kF,EAEVkhB,EAAStf,GACgB,UAAhB,OAAO5B,IACZ4B,AAAS,MAATA,EACF8iF,CAAO,CAAC1kF,EAAK,CAAG4B,EAGhBsf,EAASlhB,GAMN,CAACkR,EAAO9O,EAAQsiF,EAFvBxjE,EAASA,GAAU,AT1gBN2nE,GS0gBM,WAAmB,CAEC,AACzC,CACA,SAAS,GAAWhB,CAAK,CAAE32E,CAAK,CAAEigF,CAAc,CAAEjwE,CAAM,MAGlDxc,EACAC,EAHJ,IAAMvC,EAAS,AAA0B,UAA1B,OAAO+uF,EAA8BA,EAAiB,SACrE,AAAItJ,AAAS,MAATA,EAAsB,MAItB32E,GAAS,AAAmC,YAAnC,OAAOA,EAAM,iBAAiB,CACzC,CAACxM,EAAOC,EAAI,CAAG,CAACkjF,EAAM,KAAK,CAAEA,EAAM,KAAK,CAAGA,EAAM,MAAM,CAAC,CAAC,GAAG,CAAChhF,GAE7DqK,EAAM,iBAAiB,CAACrK,EAAKqa,IAAW,ATvhB7B2nE,GSuhB6B,YAAoB,GAE5D,CAACnkF,EAAOC,EAAI,CAAG,CAACkjF,EAAM,KAAK,CAAEA,EAAM,KAAK,CAAGA,EAAM,MAAM,CAAC,CAAC,GAAG,CAAChhF,GAE3D,AAAIA,EAAMqK,GAASrK,IAAQqK,GAASgQ,IAAW,AT3hBtC2nE,GS2hBsC,YAAoB,CAAShiF,EACxEzE,GAAU,EACLyE,EAAMzE,EAGRgD,KAAK,GAAG,CAAC8L,EAAOrK,EAAMzE,IAG1B,IAAI8mF,GAAMxkF,EAAOC,EAAMD,GAChC,CC9mBA,OADA,MAAM0sF,UAAkB,GAAe,ECKvC,SAASC,GAAO9P,CAAI,EAClB,OAAOA,aAAgBuF,IAASvF,aAAgB8F,EAClD,CACA,SAASiK,GAAY/P,CAAI,EACvB,MAAO,AAA8B,YAA9B,OAAOA,EAAK,aAAa,AAClC,CAmTA,SAASgQ,GAAqBp4D,CAAM,CAAEjoB,CAAK,CAAEsgF,CAAc,EACzDA,EAAe,MAAM,CAAC,CAACtgF,EAAO46D,KAC5B,IAAM1pE,EAAS,YAAS,CAAC0pE,GACrBtvD,EAAasvD,EAAG,UAAU,EAAI,CAAC,EACnC,GAAIA,AAAa,MAAbA,EAAG,MAAM,EACX,GAAI,AAAqB,UAArB,OAAOA,EAAG,MAAM,CAAe,CACjC,IAAM/4D,EAAO+4D,EAAG,MAAM,CACtB3yC,EAAO,QAAQ,CAACjoB,EAAO6B,GACvB,GAAM,CAACy0E,EAAK,CAAGruD,EAAO,UAAU,CAAC,GAAUjoB,GACrCwzE,EAAU+C,GAAcD,GAC9BhrE,EAAa,oBAAiB,CAACkoE,EAASloE,IAAe,CAAC,CAC1D,MAAO,GAAI,AAAqB,UAArB,OAAOsvD,EAAG,MAAM,CAAe,CACxC,IAAM7qE,EAAMf,OAAO,IAAI,CAAC4rE,EAAG,MAAM,CAAC,CAAC,EAAE,CACrC,GAAI7qE,AAAO,MAAPA,EAAa,OAAOiQ,EAGxB,GAFAioB,EAAO,QAAQ,CAACjoB,EAAOjQ,EAAK6qE,EAAG,MAAM,CAAC7qE,EAAI,EACpBk4B,AAA0C,MAA1CA,EAAO,MAAM,CAAC,KAAK,CAACl4B,EAAKy/E,GAAM,MAAM,EACxC,CACjB,GAAM,CAAC8G,EAAK,CAAGruD,EAAO,UAAU,CAAC,GAAUjoB,GACrCwzE,EAAU+C,GAAcD,GAC9BhrE,EAAa,oBAAiB,CAACkoE,EAASloE,IAAe,CAAC,CAC1D,CACF,EAKF,OAHAtc,OAAO,IAAI,CAACsc,GAAY,OAAO,CAACvb,IAC9Bk4B,EAAO,QAAQ,CAACjoB,EAAO9O,EAAQnB,EAAKub,CAAU,CAACvb,EAAI,CACrD,GACOiQ,EAAQ9O,CACjB,EAAG8O,EACL,CACA,OA/UA,MAAMugF,UAAe,GACnB,OAAO,SAAW,QAAS,AAC3B,QAAO,UAAY,WAAY,AAC/B,QAAO,QAAU,KAAM,AACvB,QAAO,aAAe3K,EAAM,AAC5B,QAAO,gBAAkB,CAACA,GAAOO,GAAY,GAAU,AAAC,AACxD,aAAYhC,CAAQ,CAAEjD,CAAO,CAAE1G,CAAI,CAAE,CACnC,GAAI,CACF3lE,QAAAA,CAAO,CACR,CAAG2lE,EACJ,KAAK,CAAC2J,EAAUjD,GAChB,IAAI,CAAC,OAAO,CAAGrsE,EACf,IAAI,CAAC,KAAK,CAAG,GACb,IAAI,CAAC,QAAQ,GACb,IAAI,CAAC,MAAM,GACX,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAapV,GAAK,IAAI,CAAC,eAAe,CAACA,GACvE,CACA,YAAa,CACP,CAAC6H,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,GAC3B,KAAI,CAAC,KAAK,CAAG,EAAE,AAAD,CAElB,CACA,UAAW,CACT,GAAI,CAAC,IAAI,CAAC,KAAK,CAAE,OACjB,IAAM67E,EAAY,IAAI,CAAC,KAAK,AAC5B,KAAI,CAAC,KAAK,CAAG,GACb,IAAI,CAAC,MAAM,CAACA,EACd,CACA,UAAU9C,CAAI,CAAE,CACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,AXmCPsH,GWnCO,wBAAgC,CAAEtH,EACtD,CACA,YAAYA,CAAI,CAAE,CAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,AXgCPsH,GWhCO,0BAAkC,CAAEtH,EACxD,CACA,gBAAgBA,CAAI,CAAEkL,CAAM,CAAE,CAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,AX6BP5D,GW7BO,0BAAkC,CAAEtH,EAAMkL,EAC9D,CACA,SAASv7E,CAAK,CAAE9O,CAAM,CAAE,CACtB,GAAM,CAACsvF,EAAOnqF,EAAO,CAAG,IAAI,CAAC,IAAI,CAAC2J,GAC5B,CAACkH,EAAK,CAAG,IAAI,CAAC,IAAI,CAAClH,EAAQ9O,GAEjC,GADA,KAAK,CAAC,SAAS8O,EAAO9O,GAClBgW,AAAQ,MAARA,GAAgBs5E,IAAUt5E,GAAQ7Q,EAAS,EAAG,CAChD,GAAImqF,aAAiBrK,IAAcjvE,aAAgBivE,GAAY,CAC7D,IAAI,CAAC,QAAQ,GACb,MACF,CACA,IAAM7E,EAAMpqE,EAAK,QAAQ,CAAC,IAAI,YlBvCrBkQ,GkBuCyC,KAAOlQ,EAAK,QAAQ,CAAC,IAAI,CAE3Es5E,EAAM,YAAY,CAACt5E,EAAMoqE,GAEzBkP,EAAM,MAAM,EACd,CACA,IAAI,CAAC,QAAQ,EACf,CACA,QAAS,CACP,IAAI19D,EAAUltB,CAAAA,CAAAA,UAAU,MAAM,CAAG,IAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,EAAiBA,SAAS,CAAC,EAAE,CAC/E,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,kBAAmBktB,EAAU,OAAS,QAClE,CACA,SAAS9iB,CAAK,CAAE9O,CAAM,CAAE0Q,CAAM,CAAElR,CAAK,CAAE,CACrC,KAAK,CAAC,SAASsP,EAAO9O,EAAQ0Q,EAAQlR,GACtC,IAAI,CAAC,QAAQ,EACf,CACA,SAASsP,CAAK,CAAEtP,CAAK,CAAE2gF,CAAG,CAAE,CAC1B,GAAIrxE,GAAS,IAAI,CAAC,MAAM,IACtB,GAAIqxE,AAAO,MAAPA,GAAe,AAAyC,MAAzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC3gF,EAAO8+E,GAAM,KAAK,EAAW,CAChE,IAAMa,EAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAClE,IAAI,CAAC,WAAW,CAACA,GACbgB,AAAO,MAAPA,GAAe3gF,EAAM,QAAQ,CAAC,MAChC2/E,EAAK,QAAQ,CAAC,EAAG3/E,EAAM,KAAK,CAAC,EAAG,IAAK2gF,GAErChB,EAAK,QAAQ,CAAC,EAAG3/E,EAAO2gF,EAE5B,KAAO,CACL,IAAMmK,EAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC9qF,EAAO2gF,GACxC,IAAI,CAAC,WAAW,CAACmK,EACnB,OAEA,KAAK,CAAC,SAASx7E,EAAOtP,EAAO2gF,GAE/B,IAAI,CAAC,QAAQ,EACf,CACA,aAAahB,CAAI,CAAEiB,CAAG,CAAE,CACtB,GAAIjB,EAAK,OAAO,CAAC,KAAK,GAAKb,GAAM,WAAW,CAAE,CAC5C,IAAMruC,EAAU,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EACrEA,EAAQ,WAAW,CAACkvC,GACpB,KAAK,CAAC,aAAalvC,EAASmwC,EAC9B,MACE,KAAK,CAAC,aAAajB,EAAMiB,EAE7B,CACA,eAAetxE,CAAK,CAAE+1C,CAAK,CAAE,CAC3B,IAAM0qC,EAAe,IAAI,CAAC,mBAAmB,CAAC1qC,EAAM,MAAM,CAAC,IAAIukB,KAAQ,MAAM,CAAC,QACxEpzD,EAAOu5E,EAAa,GAAG,GAC7B,GAAIv5E,AAAQ,MAARA,EAAc,OAClB,IAAI,CAAC,UAAU,GACf,IAAMs5E,EAAQC,EAAa,KAAK,GAChC,GAAID,EAAO,CACT,IAAME,EAA0BF,AAAe,UAAfA,EAAM,IAAI,EAAiBA,CAAAA,AAAyB,IAAzBA,EAAM,KAAK,CAAC,MAAM,IAAY,CAAC,IAAI,CAAC,UAAU,CAACrK,GAAYn2E,EAAM,CAAC,EAAE,EAAIA,EAAQ,IAAI,CAAC,MAAM,EAAC,EACjJ+1C,EAAQyqC,AAAe,UAAfA,EAAM,IAAI,CAAeA,EAAM,KAAK,CAAG,IAAIlmB,KAAQ,MAAM,CAAC,CACtE,CAACkmB,EAAM,GAAG,CAAC,CAAEA,EAAM,KAAK,AAC1B,GACAH,GAAqB,IAAI,CAAErgF,EAAO+1C,GAClC,IAAM4qC,EAAoBH,AAAe,UAAfA,EAAM,IAAI,CAAe,EAAI,EACjDI,EAAe5gF,EAAQ+1C,EAAM,MAAM,GAAK4qC,EAC1CD,GACF,IAAI,CAAC,QAAQ,CAACE,EAAe,EAAG,MAElC,IAAMpN,EAAU+C,GAAc,IAAI,CAAC,IAAI,CAACv2E,EAAM,CAAC,EAAE,EAC3CsL,EAAa,oBAAiB,CAACkoE,EAASgN,EAAM,UAAU,GAAK,CAAC,EACpExxF,OAAO,IAAI,CAACsc,GAAY,OAAO,CAACxc,IAC9B,IAAI,CAAC,QAAQ,CAAC8xF,EAAe,EAAG,EAAG9xF,EAAMwc,CAAU,CAACxc,EAAK,CAC3D,GACAkR,EAAQ4gF,CACV,CACA,GAAI,CAAC9N,EAAS+N,EAAc,CAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC7gF,EAC9CygF,CAAAA,EAAa,MAAM,GACjB3N,IACFA,EAAUA,EAAQ,KAAK,CAAC+N,GACxBA,EAAgB,GAElBJ,EAAa,OAAO,CAACK,IACnB,GAAIA,AAAqB,UAArBA,EAAY,IAAI,CAElBT,GADc,IAAI,CAAC,WAAW,CAACS,EAAY,UAAU,CAAEhO,GAAWriF,KAAAA,GACtC,EAAGqwF,EAAY,KAAK,MAC3C,CACL,IAAMC,EAAa,IAAI,CAAC,MAAM,CAACD,EAAY,GAAG,CAAEA,EAAY,KAAK,EACjE,IAAI,CAAC,YAAY,CAACC,EAAYjO,GAAWriF,KAAAA,GACzCzB,OAAO,IAAI,CAAC8xF,EAAY,UAAU,EAAE,OAAO,CAAChyF,IAC1CiyF,EAAW,MAAM,CAACjyF,EAAMgyF,EAAY,UAAU,CAAChyF,EAAK,CACtD,EACF,CACF,IAEgB,UAAdoY,EAAK,IAAI,EAAgBA,EAAK,KAAK,CAAC,MAAM,IAE5Cm5E,GAAqB,IAAI,CADVvN,EAAUA,EAAQ,MAAM,CAACA,EAAQ,MAAM,EAAI+N,EAAgB,IAAI,CAAC,MAAM,GAClD35E,EAAK,KAAK,EAE/C,IAAI,CAAC,QAAQ,GACb,IAAI,CAAC,QAAQ,EACf,CACA,WAAY,CACV,MAAO,AAAiD,SAAjD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,kBACnC,CACA,KAAKlH,CAAK,CAAE,CACV,IAAMkH,EAAO,IAAI,CAAC,IAAI,CAAClH,GAAO,GAAG,GACjC,GAAI,CAACkH,EACH,MAAO,CAAC,KAAM,GAAG,CAEnB,GAAM,CAACmpE,EAAMh6E,EAAO,CAAG6Q,EACvB,OAAOmpE,aAAgB,GAAW,CAACA,EAAMh6E,EAAO,CAAG,CAAC,KAAM,GAAG,AAC/D,CACA,KAAK2J,CAAK,CAAE,QACV,AAAIA,IAAU,IAAI,CAAC,MAAM,GAChB,IAAI,CAAC,IAAI,CAACA,EAAQ,GAGpB,IAAI,CAAC,UAAU,CAACmgF,GAAQngF,EACjC,CACA,OAAQ,CACN,IAAIA,EAAQpK,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,EAC5E1E,EAAS0E,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAGe,OAAO,SAAS,CAC3FqqF,EAAW,CAAC3Q,EAAM4Q,EAAWC,KACjC,IAAIpL,EAAQ,EAAE,CACVnD,EAAauO,EASjB,OARA7Q,EAAK,QAAQ,CAAC,SAAS,CAAC4Q,EAAWC,EAAY,CAAC/jF,EAAOy1E,EAAYJ,KAC7D2N,GAAOhjF,GACT24E,EAAM,IAAI,CAAC34E,GACFA,aAAiB,IAC1B24E,CAAAA,EAAQA,EAAM,MAAM,CAACkL,EAAS7jF,EAAOy1E,EAAYD,GAAW,EAE9DA,GAAcH,CAChB,GACOsD,CACT,EACA,OAAOkL,EAAS,IAAI,CAAEhhF,EAAO9O,EAC/B,CACA,UAAW,CACT,IAAIiiF,EAAYv9E,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,EAAE,CAClFo7C,EAAUp7C,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,CAAC,GAC/E,IAAI,CAAC,KAAK,GACd,KAAK,CAAC,SAASu9E,EAAWniC,GACtBmiC,EAAU,MAAM,CAAG,GACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,AXtHTwE,GWsHS,sBAA8B,CAAExE,EAAWniC,GAEjE,CACA,KAAKhxC,CAAK,CAAE,CACV,OAAO,KAAK,CAAC,KAAKA,GAAO,KAAK,CAAC,EACjC,CACA,QAAS,CAET,CACA,OAAOmzE,CAAS,CAAE,CAChB,GAAI,IAAI,CAAC,KAAK,CAAE,CACV77E,MAAM,OAAO,CAAC67E,IAChB,KAAI,CAAC,KAAK,CAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAACA,EAAS,EAE1C,MACF,CACA,IAAInjE,EAAS,AXtIF2nE,GWsIE,YAAoB,AACR,WAArB,OAAOxE,GACTnjE,CAAAA,EAASmjE,CAAQ,EAEf,CAAC77E,MAAM,OAAO,CAAC67E,IACjBA,CAAAA,EAAY,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAC,EASpCA,AAPJA,CAAAA,EAAYA,EAAU,MAAM,CAAC8L,IAC3B,GAAI,CACFlpF,OAAAA,CAAM,CACP,CAAGkpF,EACE5O,EAAO,IAAI,CAAC,IAAI,CAACt6E,EAAQ,IAC/B,OAAOs6E,GAAQ,CAAC+P,GAAY/P,EAC9B,EAAC,EACa,MAAM,CAAG,GACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,AXrJTsH,GWqJS,2BAAmC,CAAE3nE,EAAQmjE,GAEjE,KAAK,CAAC,OAAOA,EAAU,MAAM,CAAC,EAAE,GAC5BA,EAAU,MAAM,CAAG,GACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,AXzJTwE,GWyJS,oBAA4B,CAAE3nE,EAAQmjE,EAE5D,CACA,cAAcnzE,CAAK,CAAEjQ,CAAG,CAAEwrF,CAAM,CAAE,CAGhC,GAAM,CAAClL,EAAK,CAAG,IAAI,CAAC,UAAU,CAAC37E,GAAKA,aAAayhF,GAAYn2E,GACzDqwE,GAAQA,EAAK,OAAO,CAAC,QAAQ,GAAKtgF,GAAOqwF,GAAY/P,IACvDA,EAAK,aAAa,CAACkL,EAEvB,CACA,gBAAgB3oE,CAAK,CAAE,CACrBA,EAAM,cAAc,EACtB,CACA,oBAAoBmjC,CAAK,CAAE,CACzB,IAAM0qC,EAAe,EAAE,CACnBU,EAAoB,IAAI7mB,GAiD5B,OAhDAvkB,EAAM,OAAO,CAAC6kB,IACZ,IAAMwmB,EAASxmB,GAAI,OACnB,GAAKwmB,GACL,GAAI,AAAkB,UAAlB,OAAOA,EAAqB,CAC9B,IAAMC,EAAWD,EAAO,KAAK,CAAC,MAC9BC,EAAS,KAAK,CAAC,EAAG,IAAI,OAAO,CAACx/E,IAC5Bs/E,EAAkB,MAAM,CAACt/E,EAAM+4D,EAAG,UAAU,EAC5C6lB,EAAa,IAAI,CAAC,CAChB,KAAM,QACN,MAAOU,EACP,WAAYvmB,EAAG,UAAU,EAAI,CAAC,CAChC,GACAumB,EAAoB,IAAI7mB,EAC1B,GACA,IAAMpzD,EAAOm6E,CAAQ,CAACA,EAAS,MAAM,CAAG,EAAE,CACtCn6E,GACFi6E,EAAkB,MAAM,CAACj6E,EAAM0zD,EAAG,UAAU,CAEhD,KAAO,CACL,IAAM7qE,EAAMf,OAAO,IAAI,CAACoyF,EAAO,CAAC,EAAE,CAClC,GAAI,CAACrxF,EAAK,OACN,IAAI,CAAC,KAAK,CAACA,EAAKy/E,GAAM,MAAM,EAC9B2R,EAAkB,IAAI,CAACvmB,IAEnBumB,EAAkB,MAAM,IAC1BV,EAAa,IAAI,CAAC,CAChB,KAAM,QACN,MAAOU,EACP,WAAY,CAAC,CACf,GAEFA,EAAoB,IAAI7mB,GACxBmmB,EAAa,IAAI,CAAC,CAChB,KAAM,aACN1wF,IAAAA,EACA,MAAOqxF,CAAM,CAACrxF,EAAI,CAClB,WAAY6qE,EAAG,UAAU,EAAI,CAAC,CAChC,GAEJ,EACF,GACIumB,EAAkB,MAAM,IAC1BV,EAAa,IAAI,CAAC,CAChB,KAAM,QACN,MAAOU,EACP,WAAY,CAAC,CACf,GAEKV,CACT,CACA,YAAYn1E,CAAU,CAAEwnE,CAAO,CAAE,KAC3BwO,EACJ,IAAM9N,EAAU,CAAC,EACjBxkF,OAAO,OAAO,CAACsc,GAAY,OAAO,CAACi2E,IACjC,GAAI,CAACxxF,EAAKW,EAAM,CAAG6wF,CACC,AAA6C,OAA7C,IAAI,CAAC,KAAK,CAACxxF,EAAKy/E,GAAM,KAAK,CAAGA,GAAM,IAAI,EAE1D8R,EAAWvxF,EAEXyjF,CAAO,CAACzjF,EAAI,CAAGW,CAEnB,GACA,IAAMqlF,EAAQ,IAAI,CAAC,MAAM,CAACuL,GAAY,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAEA,EAAWh2E,CAAU,CAACg2E,EAAS,CAAG7wF,KAAAA,GAC5G,IAAI,CAAC,YAAY,CAACslF,EAAOjD,GAAWriF,KAAAA,GACpC,IAAMS,EAAS6kF,EAAM,MAAM,GAK3B,OAJA/mF,OAAO,OAAO,CAACwkF,GAAS,OAAO,CAACgO,IAC9B,GAAI,CAACzxF,EAAKW,EAAM,CAAG8wF,EACnBzL,EAAM,QAAQ,CAAC,EAAG7kF,EAAQnB,EAAKW,EACjC,GACOqlF,CACT,CACF,EC5TM,GAAS,CACb,MAAOvG,GAAM,KAAK,CAClB,UAAW,CAAC,QAAS,SAAU,UAAU,AAC3C,EACMiS,GAAiB,IAAIhS,GAAW,QAAS,QAAS,IAClDiS,GAAa,IAAI,GAAgB,QAAS,WAAY,IACtDC,GAAa,IAAI,GAAgB,QAAS,aAAc,GCN9D,OAAMC,WAAwB,GAC5B,MAAM1Q,CAAO,CAAE,CACb,IAAIxgF,EAAQ,KAAK,CAAC,MAAMwgF,GACxB,GAAI,CAACxgF,EAAM,UAAU,CAAC,QAAS,OAAOA,EAEtC,IAAMw7E,EAAMx7E,AADZA,CAAAA,EAAQA,EAAM,OAAO,CAAC,UAAW,IAAI,OAAO,CAAC,UAAW,GAAE,EACxC,KAAK,CAAC,KAAK,GAAG,CAACkzC,GAAa,CAAC,EAAE,EAAE9sC,SAAS8sC,EAAW,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,IAC1G,MAAO,CAAC,CAAC,EAAEsoC,EAAI,CAAC,AAClB,CACF,CACA,IAAM2V,GAAa,IAAI,GAAgB,QAAS,WAAY,CAC1D,MAAOrS,GAAM,MAAM,AACrB,GACMsS,GAAa,IAAIF,GAAgB,QAAS,QAAS,CACvD,MAAOpS,GAAM,MAAM,AACrB,GCbMuS,GAAkB,IAAI,GAAgB,aAAc,QAAS,CACjE,MAAOvS,GAAM,MAAM,AACrB,GACMwS,GAAkB,IAAIJ,GAAgB,aAAc,mBAAoB,CAC5E,MAAOpS,GAAM,MAAM,AACrB,ECAA,OAAMyS,WAA2B,GAC/B,OAAO,OAAOvxF,CAAK,CAAE,CACnB,IAAMwgF,EAAU,KAAK,CAAC,OAAOxgF,GAE7B,OADAwgF,EAAQ,YAAY,CAAC,aAAc,SAC5BA,CACT,CACA,KAAKlxE,CAAK,CAAE9O,CAAM,CAAE,CAClB,OAAO,IAAI,CAAC,QAAQ,CAEnB,GAAG,CAACiM,GAASA,AAAkB,GAAlBA,EAAM,MAAM,GAAU,GAAKA,EAAM,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,KAAK,CAAC6C,EAAOA,EAAQ9O,EACpG,CACA,KAAK8O,CAAK,CAAE9O,CAAM,CAAE,CAGlB,MAAO,CAAC;AAAO,EAAEskF,GAAW,IAAI,CAAC,IAAI,CAACx1E,EAAO9O;AAAW,MAAM,CAAC,AACjE,CACF,CACA,MAAM,WAAkB0kF,GACtB,OAAO,IAAM,IAAK,AAClB,QAAO,UAAW,CAChBoI,GAAM,QAAQ,CAACiE,GACjB,CACF,CACA,MAAMC,WAAa,GAAQ,CAC3BA,GAAK,QAAQ,CAAG,OAChBA,GAAK,OAAO,CAAG,OACf,GAAU,QAAQ,CAAG,aACrB,GAAU,SAAS,CAAG,gBACtB,GAAU,OAAO,CAAG,MACpBD,GAAmB,QAAQ,CAAG,uBAC9BA,GAAmB,SAAS,CAAG,0BAC/BA,GAAmB,OAAO,CAAG,MAC7BA,GAAmB,eAAe,CAAG,CAAC,GAAU,CAChD,GAAU,eAAe,CAAG,CAAC,GtBrBd7qE,GIqJAo/D,GkBhIsC,CACrD,GAAU,iBAAiB,CAAGyL,GCxC9B,IAAM,GAAS,CACb,MAAOzS,GAAM,KAAK,CAClB,UAAW,CAAC,MAAM,AACpB,EACM2S,GAAqB,IAAI1S,GAAW,YAAa,MAAO,IACxD2S,GAAiB,IAAI,GAAgB,YAAa,eAAgB,IAClEC,GAAiB,IAAI,GAAgB,YAAa,YAAa,ICN/D,GAAS,CACb,MAAO7S,GAAM,MAAM,CACnB,UAAW,CAAC,QAAS,YAAY,AACnC,EACM8S,GAAY,IAAI,GAAgB,OAAQ,UAAW,IAMnDC,GAAY,IALlB,MAAMC,UAA4B,GAChC,MAAMrqB,CAAI,CAAE,CACV,OAAO,KAAK,CAAC,MAAMA,GAAM,OAAO,CAAC,QAAS,GAC5C,CACF,EAC0C,OAAQ,cAAe,ICV3DsqB,GAAY,IAAI,GAAgB,OAAQ,UAAW,CACvD,MAAOjT,GAAM,MAAM,CACnB,UAAW,CAAC,QAAS,QAAS,OAAO,AACvC,GACMkT,GAAY,IAAI,GAAgB,OAAQ,YAAa,CACzD,MAAOlT,GAAM,MAAM,CACnB,UAAW,CAAC,OAAQ,OAAQ,OAAO,AACrC,GCFM,GAAQ,ApBgBCtX,GoBhBM,kBACfyqB,GAAW,OAAO,IAAI,CAACn5B,UAAU,QAAQ,EAAI,UAAY,SAC/D,OAAMo5B,WAAiB,GACrB,OAAO,MAAMzxC,CAAG,CAAE0xC,CAAO,CAAE,OACzB,CAAI,CAAC,SAAU,UAAW,UAAW,WAAW,CAAC,IAAI,CAAC9yF,GAC7C,CAAC,CAAC8yF,CAAO,CAAC9yF,EAAI,GAAKohD,CAAG,CAACphD,EAAI,EAAI8yF,AAAiB,OAAjBA,CAAO,CAAC9yF,EAAI,GAI7C8yF,CAAAA,EAAQ,GAAG,GAAK1xC,EAAI,GAAG,EAAI0xC,EAAQ,GAAG,GAAK1xC,EAAI,KAAK,AAAD,CAC5D,CACA,YAAYsmC,CAAK,CAAEnnF,CAAO,CAAE,CAC1B,KAAK,CAACmnF,EAAOnnF,GACb,IAAI,CAAC,QAAQ,CAAG,CAAC,EAEjBtB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAACF,IAErC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAACA,EAAK,EAE7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAACA,EAAK,CAE/C,GACA,IAAI,CAAC,UAAU,CAAC,CACd,IAAK,QACL,SAAU,IACZ,EAAG,IAAI,CAAC,WAAW,EACnB,IAAI,CAAC,UAAU,CAAC,CACd,IAAK,QACL,QAAS,KACT,QAAS,KACT,OAAQ,IACV,EAAG,KAAO,GACN,WAAW,IAAI,CAAC06D,UAAU,SAAS,GAErC,IAAI,CAAC,UAAU,CAAC,CACd,IAAK,WACP,EAAG,CACD,UAAW,EACb,EAAG,IAAI,CAAC,eAAe,EACvB,IAAI,CAAC,UAAU,CAAC,CACd,IAAK,QACP,EAAG,CACD,UAAW,EACb,EAAG,IAAI,CAAC,YAAY,IAEpB,IAAI,CAAC,UAAU,CAAC,CACd,IAAK,WACP,EAAG,CACD,UAAW,GACX,OAAQ,MACV,EAAG,IAAI,CAAC,eAAe,EACvB,IAAI,CAAC,UAAU,CAAC,CACd,IAAK,QACP,EAAG,CACD,UAAW,GACX,OAAQ,MACV,EAAG,IAAI,CAAC,YAAY,GAEtB,IAAI,CAAC,UAAU,CAAC,CACd,IAAK,WACP,EAAG,CACD,UAAW,EACb,EAAG,IAAI,CAAC,iBAAiB,EACzB,IAAI,CAAC,UAAU,CAAC,CACd,IAAK,QACP,EAAG,CACD,UAAW,EACb,EAAG,IAAI,CAAC,iBAAiB,EACzB,IAAI,CAAC,UAAU,CAAC,CACd,IAAK,YACL,OAAQ,KACR,QAAS,KACT,QAAS,KACT,SAAU,IACZ,EAAG,CACD,UAAW,GACX,OAAQ,CACV,EAAG,IAAI,CAAC,eAAe,EACvB,IAAI,CAAC,MAAM,EACb,CACA,WAAWs5B,CAAU,CAAE,CACrB,IAAI9xC,EAAUp7C,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,CAAC,EAC/E4O,EAAU5O,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,CAAC,EAC7EitF,EAAU,AA2jBpB,SAAmBA,CAAO,EACxB,GAAI,AAAmB,UAAnB,OAAOA,GAAwB,AAAmB,UAAnB,OAAOA,EACxCA,EAAU,CACR,IAAKA,CACP,OACK,GAAI,AAAmB,UAAnB,OAAOA,EAGhB,OAAO,KAFPA,EAAUnpB,GAAUmpB,GAQtB,OAJIA,EAAQ,QAAQ,GAClBA,CAAO,CAACF,GAAS,CAAGE,EAAQ,QAAQ,CACpC,OAAOA,EAAQ,QAAQ,EAElBA,CACT,EA1kB8BC,GAC1B,GAAID,AAAW,MAAXA,EAAiB,CACnB,GAAM,IAAI,CAAC,4CAA6CA,GACxD,MACF,CACuB,YAAnB,OAAO7xC,GACTA,CAAAA,EAAU,CACR,QAASA,CACX,GAEqB,YAAnB,OAAOxsC,GACTA,CAAAA,EAAU,CACRA,QAAAA,CACF,GAGF1U,AADawH,CAAAA,MAAM,OAAO,CAACurF,EAAQ,GAAG,EAAIA,EAAQ,GAAG,CAAG,CAACA,EAAQ,GAAG,CAAC,AAAD,EAC/D,OAAO,CAAC9yF,IACX,IAAMgzF,EAAgB,CACpB,GAAGF,CAAO,CACV9yF,IAAAA,EACA,GAAGihD,CAAO,CACV,GAAGxsC,CAAO,AACZ,CACA,KAAI,CAAC,QAAQ,CAACu+E,EAAc,GAAG,CAAC,CAAG,IAAI,CAAC,QAAQ,CAACA,EAAc,GAAG,CAAC,EAAI,EAAE,CACzE,IAAI,CAAC,QAAQ,CAACA,EAAc,GAAG,CAAC,CAAC,IAAI,CAACA,EACxC,EACF,CACA,QAAS,CACP,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAW5xC,IAC1C,GAAIA,EAAI,gBAAgB,EAAIA,EAAI,WAAW,EAIvBA,AAAgB,MAAhBA,EAAI,OAAO,EAAaA,CAAAA,AAAY,UAAZA,EAAI,GAAG,EAAgBA,AAAY,cAAZA,EAAI,GAAG,AAAe,EAJ5C,OAO7C,IAAM6xC,EAAUC,AADC,AAAC,KAAI,CAAC,QAAQ,CAAC9xC,EAAI,GAAG,CAAC,EAAI,EAAE,AAAD,EAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAACA,EAAI,KAAK,CAAC,EAAI,EAAE,EAC5D,MAAM,CAAC0xC,GAAWD,GAAS,KAAK,CAACzxC,EAAK0xC,IAC/D,GAAIG,AAAmB,IAAnBA,EAAQ,MAAM,CAAQ,OAE1B,IAAM3S,EAAO2N,GAAM,IAAI,CAAC7sC,EAAI,MAAM,CAAE,IACpC,GAAIk/B,GAAQA,EAAK,MAAM,GAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAE,OAC/C,IAAMsG,EAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,GACrC,GAAIA,AAAS,MAATA,GAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAI,OAC7C,GAAM,CAAC5a,EAAM1lE,EAAO,CAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAACsgF,EAAM,KAAK,EAC/C,CAACuM,EAAWC,EAAY,CAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAACxM,EAAM,KAAK,EACzD,CAACyM,EAASC,EAAU,CAAG1M,AAAiB,IAAjBA,EAAM,MAAM,CAAS,CAACuM,EAAWC,EAAY,CAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAACxM,EAAM,KAAK,CAAGA,EAAM,MAAM,EACpH2M,EAAaJ,aAAqB,GAAWA,EAAU,KAAK,GAAG,KAAK,CAAC,EAAGC,GAAe,GACvFI,EAAaH,aAAmB,GAAWA,EAAQ,KAAK,GAAG,KAAK,CAACC,GAAa,GAC9EG,EAAa,CACjB,UAAW7M,AAAiB,IAAjBA,EAAM,MAAM,CAEvB,MAAOA,AAAiB,IAAjBA,EAAM,MAAM,EAAU5a,AAAiB,GAAjBA,EAAK,MAAM,GACxC,OAAQ,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC4a,GAC7B5a,KAAAA,EACA1lE,OAAAA,EACA,OAAQitF,EACR,OAAQC,EACR,MAAOpyC,CACT,EACkB6xC,EAAQ,IAAI,CAACH,IAC7B,GAAyB,MAArBA,EAAQ,SAAS,EAAYA,EAAQ,SAAS,GAAKW,EAAW,SAAS,EAGvEX,AAAiB,MAAjBA,EAAQ,KAAK,EAAYA,EAAQ,KAAK,GAAKW,EAAW,KAAK,EAG3DX,AAAkB,MAAlBA,EAAQ,MAAM,EAAYA,EAAQ,MAAM,GAAKW,EAAW,MAAM,CALhE,MAAO,GAQT,GAAIlsF,MAAM,OAAO,CAACurF,EAAQ,MAAM,EAE9B,IAAIA,EAAQ,MAAM,CAAC,KAAK,CAAC/zF,GAAQ00F,AAA2B,MAA3BA,EAAW,MAAM,CAAC10F,EAAK,EACtD,MAAO,EACT,MACK,GAAI,AAA0B,UAA1B,OAAO+zF,EAAQ,MAAM,EAE1B,CAAC7zF,OAAO,IAAI,CAAC6zF,EAAQ,MAAM,EAAE,KAAK,CAAC/zF,GAErC,AAAI+zF,AAAyB,KAAzBA,EAAQ,MAAM,CAAC/zF,EAAK,CAAkB00F,AAA2B,MAA3BA,EAAW,MAAM,CAAC10F,EAAK,CAE7D+zF,AAAyB,KAAzBA,EAAQ,MAAM,CAAC/zF,EAAK,CAAmB00F,AAA2B,MAA3BA,EAAW,MAAM,CAAC10F,EAAK,CAE3D,GAAQ+zF,EAAQ,MAAM,CAAC/zF,EAAK,CAAE00F,EAAW,MAAM,CAAC10F,EAAK,GAE5D,MAAO,SAGX,GAAI+zF,CAAAA,AAAkB,MAAlBA,EAAQ,MAAM,EAAaA,EAAQ,MAAM,CAAC,IAAI,CAACW,EAAW,MAAM,IAGhEX,CAAAA,AAAkB,MAAlBA,EAAQ,MAAM,EAAaA,EAAQ,MAAM,CAAC,IAAI,CAACW,EAAW,MAAM,KAI7DX,AAA2D,KAA3DA,EAAQ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAElM,EAAO6M,EAAYX,EACvD,IAEE1xC,EAAI,cAAc,EAEtB,EACF,CACA,gBAAgBwlC,CAAK,CAAE3lC,CAAO,CAAE,CAE9B,IAAM9/C,EAAS,kCAAkC,IAAI,CAAC8/C,EAAQ,MAAM,EAAI,EAAI,EAC5E,GAAI2lC,AAAgB,IAAhBA,EAAM,KAAK,EAAU,AAA0B,GAA1B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAS,OACtD,IAAInD,EAAU,CAAC,EACT,CAACzX,EAAK,CAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC4a,EAAM,KAAK,EACzC5gC,EAAQ,IAAIukB,KAAQ,MAAM,CAACqc,EAAM,KAAK,CAAGzlF,GAAQ,MAAM,CAACA,GAC5D,GAAI8/C,AAAmB,IAAnBA,EAAQ,MAAM,CAAQ,CAExB,GAAM,CAAC+b,EAAK,CAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC4pB,EAAM,KAAK,CAAG,GAChD,GAAI5pB,GAEE,CADoBA,CAAAA,AAA0B,UAA1BA,EAAK,OAAO,CAAC,QAAQ,EAAgBA,AAAiB,GAAjBA,EAAK,MAAM,EAAM,EACxD,CAEpB,IAAM02B,EAAa1nB,EAAK,OAAO,GACzB2nB,EAAc,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC/M,EAAM,KAAK,CAAG,EAAG,GAE1D,GAAI3nF,OAAO,IAAI,CADfwkF,EAAU,oBAAiB,CAACiQ,EAAYC,IAAgB,CAAC,GAChC,MAAM,CAAG,EAAG,CAEnC,IAAMC,EAAc,IAAIrpB,KAEvB,MAAM,CAACqc,EAAM,KAAK,CAAG5a,EAAK,MAAM,GAAK,GAAG,MAAM,CAAC,EAAGyX,GACnDz9B,EAAQA,EAAM,OAAO,CAAC4tC,EACxB,CACF,CAEJ,CACA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC5tC,EAAOioC,GAAM,OAAO,CAAC,IAAI,EACnD,IAAI,CAAC,KAAK,CAAC,KAAK,EAClB,CACA,aAAarH,CAAK,CAAE3lC,CAAO,CAAE,CAE3B,IAAM9/C,EAAS,kCAAkC,IAAI,CAAC8/C,EAAQ,MAAM,EAAI,EAAI,EAC5E,GAAI2lC,EAAM,KAAK,EAAI,IAAI,CAAC,KAAK,CAAC,SAAS,GAAKzlF,EAAQ,OACpD,IAAIsiF,EAAU,CAAC,EACT,CAACzX,EAAK,CAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC4a,EAAM,KAAK,EACzC5gC,EAAQ,IAAIukB,KAAQ,MAAM,CAACqc,EAAM,KAAK,EAAE,MAAM,CAACzlF,GAEnD,GAAI8/C,EAAQ,MAAM,EAAI+qB,EAAK,MAAM,GAAK,EAAG,CACvC,GAAM,CAAC/O,EAAK,CAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC2pB,EAAM,KAAK,CAAG,GAChD,GAAI3pB,EAAM,CAER,IAAMy2B,EAAa1nB,EAAK,OAAO,GACzB6nB,EAAc,IAAI,CAAC,KAAK,CAAC,SAAS,CAACjN,EAAM,KAAK,CAAE,EAElD3nF,CAAAA,OAAO,IAAI,CADfwkF,EAAU,oBAAiB,CAACiQ,EAAYG,IAAgB,CAAC,GAChC,MAAM,CAAG,GAChC7tC,CAAAA,EAAQA,EAAM,MAAM,CAACiX,EAAK,MAAM,GAAK,GAAG,MAAM,CAAC,EAAGwmB,EAAO,CAE7D,CACF,CACA,IAAI,CAAC,KAAK,CAAC,cAAc,CAACz9B,EAAOioC,GAAM,OAAO,CAAC,IAAI,EACnD,IAAI,CAAC,KAAK,CAAC,KAAK,EAClB,CACA,kBAAkBrH,CAAK,CAAE,CACvBkN,GAAY,CACVlN,MAAAA,EACA,MAAO,IAAI,CAAC,KAAK,AACnB,GACA,IAAI,CAAC,KAAK,CAAC,KAAK,EAClB,CACA,YAAYA,CAAK,CAAE3lC,CAAO,CAAE,CAC1B,IAAM4pC,EAAc5rF,OAAO,IAAI,CAACgiD,EAAQ,MAAM,EAAE,MAAM,CAAC,CAACwiC,EAAS5xE,KAC3D,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAACA,EAAQ4tE,GAAM,KAAK,GAAK,CAACl4E,MAAM,OAAO,CAAC05C,EAAQ,MAAM,CAACpvC,EAAO,GACvF4xE,CAAAA,CAAO,CAAC5xE,EAAO,CAAGovC,EAAQ,MAAM,CAACpvC,EAAO,AAAD,EAElC4xE,GACN,CAAC,GACEz9B,EAAQ,IAAIukB,KAAQ,MAAM,CAACqc,EAAM,KAAK,EAAE,MAAM,CAACA,EAAM,MAAM,EAAE,MAAM,CAAC,KAAMiE,GAChF,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC7kC,EAAOioC,GAAM,OAAO,CAAC,IAAI,EACnD,IAAI,CAAC,KAAK,CAAC,YAAY,CAACrH,EAAM,KAAK,CAAG,EAAGqH,GAAM,OAAO,CAAC,MAAM,EAC7D,IAAI,CAAC,KAAK,CAAC,KAAK,EAClB,CACF,CACA,IAAM8F,GAAiB,CACrB,SAAU,CACR,KAAMC,GAAkB,QACxB,OAAQA,GAAkB,UAC1B,UAAWA,GAAkB,aAC7B,OAAQ,CAEN,IAAK,MACL,OAAQ,CAAC,aAAc,SAAU,OAAO,CACxC,QAAQpN,CAAK,CAAE3lC,CAAO,QACpB,EAAIA,EAAQ,SAAS,EAAIA,AAAmB,IAAnBA,EAAQ,MAAM,GACvC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAU,KAAMgtC,GAAM,OAAO,CAAC,IAAI,EAC7C,GACT,CACF,EACA,QAAS,CACP,IAAK,MACL,SAAU,GACV,OAAQ,CAAC,aAAc,SAAU,OAAO,CAExC,QAAQrH,CAAK,CAAE3lC,CAAO,QACpB,EAAIA,EAAQ,SAAS,EAAIA,AAAmB,IAAnBA,EAAQ,MAAM,GACvC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAU,KAAMgtC,GAAM,OAAO,CAAC,IAAI,EAC7C,GACT,CACF,EACA,oBAAqB,CACnB,IAAK,YACL,UAAW,GACX,SAAU,KACV,QAAS,KACT,QAAS,KACT,OAAQ,KACR,OAAQ,CAAC,SAAU,OAAO,CAC1B,OAAQ,EACR,QAAQrH,CAAK,CAAE3lC,CAAO,EAChBA,AAAyB,MAAzBA,EAAQ,MAAM,CAAC,MAAM,CACvB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAU,KAAMgtC,GAAM,OAAO,CAAC,IAAI,EACpB,MAAvBhtC,EAAQ,MAAM,CAAC,IAAI,EAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAQ,GAAOgtC,GAAM,OAAO,CAAC,IAAI,CAEvD,CACF,EACA,oBAAqBgG,GAAqB,IAC1C,qBAAsBA,GAAqB,IAC3C,aAAc,CACZ,IAAK,MACL,SAAU,GACV,UAAW,GACX,OAAQ,MACR,QAAQrN,CAAK,EACX,IAAI,CAAC,KAAK,CAAC,UAAU,CAACA,EAAM,KAAK,CAAG,EAAG,EAAGqH,GAAM,OAAO,CAAC,IAAI,CAC9D,CACF,EACA,IAAK,CACH,IAAK,MACL,QAAQrH,CAAK,CAAE3lC,CAAO,EACpB,GAAIA,EAAQ,MAAM,CAAC,KAAK,CAAE,MAAO,GACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GACzB,IAAM+E,EAAQ,IAAIukB,KAAQ,MAAM,CAACqc,EAAM,KAAK,EAAE,MAAM,CAACA,EAAM,MAAM,EAAE,MAAM,CAAC,KAI1E,OAHA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC5gC,EAAOioC,GAAM,OAAO,CAAC,IAAI,EACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GACzB,IAAI,CAAC,KAAK,CAAC,YAAY,CAACrH,EAAM,KAAK,CAAG,EAAGqH,GAAM,OAAO,CAAC,MAAM,EACtD,EACT,CACF,EACA,yBAA0B,CACxB,IAAK,QACL,UAAW,GACX,OAAQ,CAAC,aAAa,CACtB,MAAO,GACP,UACE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAc,GAAOA,GAAM,OAAO,CAAC,IAAI,CAC3D,CACF,EACA,mBAAoB,CAClB,IAAK,QACL,UAAW,GACX,OAAQ,CAAC,OAAO,CAChB,MAAO,GACP,QAAQrH,CAAK,CAAE3lC,CAAO,EACpB,IAAMwiC,EAAU,CACd,KAAM,EACR,CACIxiC,CAAAA,EAAQ,MAAM,CAAC,MAAM,EACvBwiC,CAAAA,EAAQ,MAAM,CAAG,EAAI,EAEvB,IAAI,CAAC,KAAK,CAAC,UAAU,CAACmD,EAAM,KAAK,CAAEA,EAAM,MAAM,CAAEnD,EAASwK,GAAM,OAAO,CAAC,IAAI,CAC9E,CACF,EACA,kBAAmB,CACjB,IAAK,QACL,UAAW,GACX,OAAQ,CACN,KAAM,SACR,EACA,QAAQrH,CAAK,EACX,GAAM,CAAC5a,EAAM1lE,EAAO,CAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAACsgF,EAAM,KAAK,EAC/CnD,EAAU,CAEd,GAAGzX,EAAK,OAAO,EAAE,CACjB,KAAM,SACR,EACMhmB,EAAQ,IAAIukB,KAAQ,MAAM,CAACqc,EAAM,KAAK,EAAE,MAAM,CAAC,KAAMnD,GAE1D,MAAM,CAACzX,EAAK,MAAM,GAAK1lE,EAAS,GAAG,MAAM,CAAC,EAAG,CAC5C,KAAM,WACR,GACA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC0/C,EAAOioC,GAAM,OAAO,CAAC,IAAI,EACnD,IAAI,CAAC,KAAK,CAAC,YAAY,CAACrH,EAAM,KAAK,CAAG,EAAGqH,GAAM,OAAO,CAAC,MAAM,EAC7D,IAAI,CAAC,KAAK,CAAC,uBAAuB,EACpC,CACF,EACA,eAAgB,CACd,IAAK,QACL,UAAW,GACX,OAAQ,CAAC,SAAS,CAClB,OAAQ,KACR,QAAQrH,CAAK,CAAE3lC,CAAO,EACpB,GAAM,CAAC+qB,EAAM1lE,EAAO,CAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAACsgF,EAAM,KAAK,EAC/C5gC,EAAQ,IAAIukB,KAAQ,MAAM,CAACqc,EAAM,KAAK,EAAE,MAAM,CAAC,KAAM3lC,EAAQ,MAAM,EAExE,MAAM,CAAC+qB,EAAK,MAAM,GAAK1lE,EAAS,GAAG,MAAM,CAAC,EAAG,CAC5C,OAAQ,IACV,GACA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC0/C,EAAOioC,GAAM,OAAO,CAAC,IAAI,EACnD,IAAI,CAAC,KAAK,CAAC,YAAY,CAACrH,EAAM,KAAK,CAAG,EAAGqH,GAAM,OAAO,CAAC,MAAM,EAC7D,IAAI,CAAC,KAAK,CAAC,uBAAuB,EACpC,CACF,EACA,kBAAmB,CACjB,IAAK,YACL,OAAQ,CAAC,QAAQ,CACjB,UAAW,GACX,OAAQ,EACR,UAAW,CACb,EACA,eAAgB,CACd,IAAK,SACL,OAAQ,CAAC,QAAQ,CACjB,UAAW,GACX,OAAQ,KACR,UAAW,CACb,EACA,cAAe,CACb,IAAK,QACL,SAAU,KACV,OAAQ,CAAC,QAAQ,CACjB,QAAQrH,CAAK,EACX,IAAM/nF,EAAS,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SACpC,GAAIA,EAAQ,CAEV,GAAM,CAACq1F,EAAO7oD,EAAKO,EAAMtlC,EAAO,CAAGzH,EAAO,QAAQ,CAAC+nF,GAC7CqJ,EAAQkE,AAwRxB,SAAmBC,CAAM,CAAE/oD,CAAG,CAAEO,CAAI,CAAEtlC,CAAM,EAC1C,GAAI+kC,AAAY,MAAZA,EAAI,IAAI,EAAYA,AAAY,MAAZA,EAAI,IAAI,QAC9B,AAAIO,AAAa,MAAbA,EAAK,IAAI,EAAYA,AAAa,MAAbA,EAAK,IAAI,CACzBtlC,AAAW,IAAXA,EAAe,GAAK,EAEtBslC,AAAa,MAAbA,EAAK,IAAI,CAAW,GAAK,SAElC,AAAIP,AAAY,MAAZA,EAAI,IAAI,CACH,GAELA,AAAY,MAAZA,EAAI,IAAI,CACH,EAEF,IACT,EAtSkC6oD,EAAO7oD,EAAKO,EAAMtlC,GAC1C,GAAI2pF,AAAS,MAATA,EAAe,OACnB,IAAIhgF,EAAQikF,EAAM,MAAM,GACxB,GAAIjE,EAAQ,EAAG,CACb,IAAMjqC,EAAQ,IAAIukB,KAAQ,MAAM,CAACt6D,GAAO,MAAM,CAAC,MAC/C,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC+1C,EAAOioC,GAAM,OAAO,CAAC,IAAI,EACnD,IAAI,CAAC,KAAK,CAAC,YAAY,CAACrH,EAAM,KAAK,CAAG,EAAGA,EAAM,MAAM,CAAEqH,GAAM,OAAO,CAAC,MAAM,CAC7E,MAAO,GAAIgC,EAAQ,EAAG,CACpBhgF,GAASikF,EAAM,MAAM,GACrB,IAAMluC,EAAQ,IAAIukB,KAAQ,MAAM,CAACt6D,GAAO,MAAM,CAAC,MAC/C,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC+1C,EAAOioC,GAAM,OAAO,CAAC,IAAI,EACnD,IAAI,CAAC,KAAK,CAAC,YAAY,CAACh+E,EAAOg+E,GAAM,OAAO,CAAC,IAAI,CACnD,CACF,CACF,CACF,EACA,YAAa,CACX,IAAK,MACL,SAAU,KACV,OAAQ,CAAC,QAAQ,CACjB,QAAQrH,CAAK,CAAE3lC,CAAO,EACpB,GAAM,CACJp+B,MAAAA,CAAK,CACL,KAAM+oB,CAAI,CACX,CAAGqV,EACE36C,EAASslC,EAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CACxC/oB,CAAAA,EAAM,QAAQ,CAChB,IAAI,CAAC,KAAK,CAAC,YAAY,CAACvc,EAAS,EAAG2nF,GAAM,OAAO,CAAC,IAAI,EAEtD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC3nF,EAASslC,EAAK,MAAM,GAAIqiD,GAAM,OAAO,CAAC,IAAI,CAEtE,CACF,EACA,gBAAiB,CACf,IAAK,IACL,SAAU,KACV,UAAW,GACX,OAAQ,CACN,aAAc,GACd,WAAY,GACZ,MAAO,EACT,EACA,OAAQ,kCACR,QAAQrH,CAAK,CAAE3lC,CAAO,MAOhBtgD,EANJ,GAAI,AAAmC,MAAnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAiB,MAAO,GACpD,GAAM,CACJQ,OAAAA,CAAM,CACP,CAAG8/C,EAAQ,MAAM,CACZ,CAAC+qB,EAAM1lE,EAAO,CAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAACsgF,EAAM,KAAK,EACrD,GAAItgF,EAASnF,EAAQ,MAAO,GAE5B,OAAQ8/C,EAAQ,MAAM,CAAC,IAAI,IACzB,IAAK,KACL,IAAK,MACHtgD,EAAQ,YACR,KACF,KAAK,MACHA,EAAQ,UACR,KACF,KAAK,IACL,IAAK,IACHA,EAAQ,SACR,KACF,SACEA,EAAQ,SACZ,CACA,IAAI,CAAC,KAAK,CAAC,UAAU,CAACimF,EAAM,KAAK,CAAE,IAAKqH,GAAM,OAAO,CAAC,IAAI,EAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GACzB,IAAMjoC,EAAQ,IAAIukB,KAAQ,MAAM,CAACqc,EAAM,KAAK,CAAGtgF,GAAQ,MAAM,CAACnF,EAAS,GAEtE,MAAM,CAAC6qE,EAAK,MAAM,GAAK,EAAI1lE,GAAQ,MAAM,CAAC,EAAG,CAC5C,KAAM3F,CACR,GAIA,OAHA,IAAI,CAAC,KAAK,CAAC,cAAc,CAACqlD,EAAOioC,GAAM,OAAO,CAAC,IAAI,EACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GACzB,IAAI,CAAC,KAAK,CAAC,YAAY,CAACrH,EAAM,KAAK,CAAGzlF,EAAQ8sF,GAAM,OAAO,CAAC,MAAM,EAC3D,EACT,CACF,EACA,YAAa,CACX,IAAK,QACL,UAAW,GACX,OAAQ,CAAC,aAAa,CACtB,OAAQ,KACR,OAAQ,QACR,QAAQrH,CAAK,EACX,GAAM,CAAC5a,EAAM1lE,EAAO,CAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAACsgF,EAAM,KAAK,EACjDyN,EAAW,EACX7iB,EAAMxF,EACV,KAAOwF,AAAO,MAAPA,GAAeA,AAAgB,GAAhBA,EAAI,MAAM,IAAWA,EAAI,OAAO,EAAE,CAAC,aAAa,EAKpE,GAHAA,EAAMA,EAAI,IAAI,CAGV6iB,AAFJA,CAAAA,GAAY,IAEI,EAAG,CACjB,IAAMruC,EAAQ,IAAIukB,KAEjB,MAAM,CAACqc,EAAM,KAAK,CAAG5a,EAAK,MAAM,GAAK1lE,EAAS,GAAG,MAAM,CAAC,EAAG,CAC1D,aAAc,IAChB,GAAG,MAAM,CAAC,GAGV,OAFA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC0/C,EAAOioC,GAAM,OAAO,CAAC,IAAI,EACnD,IAAI,CAAC,KAAK,CAAC,YAAY,CAACrH,EAAM,KAAK,CAAG,EAAGqH,GAAM,OAAO,CAAC,MAAM,EACtD,EACT,CAEF,MAAO,EACT,CACF,EACA,aAAcqG,GAAsB,YAAa,IACjD,mBAAoBA,GAAsB,YAAa,IACvD,cAAeA,GAAsB,aAAc,IACnD,oBAAqBA,GAAsB,aAAc,IACzD,aAAcC,GAAsB,IACpC,WAAYA,GAAsB,GACpC,CACF,EAEA,SAASN,GAAqB9tE,CAAM,EAClC,MAAO,CACL,IAAK,MACL,SAAU,CAACA,EACX,OAAQ,CACN,aAAc,EAChB,EACA,QAAQygE,CAAK,CAAEnM,CAAI,EACjB,GAAI,CACF53D,MAAAA,CAAK,CACN,CAAG43D,EAGE,CACJ+Z,IAAAA,CAAG,CACJ,CAJiB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,cAK1C,GAAI5N,AAAiB,IAAjBA,EAAM,MAAM,EAAU,CAAC/jE,EAAM,QAAQ,CAAE,CACzC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC+jE,EAAM,KAAK,CAAE4N,EAAKvG,GAAM,OAAO,CAAC,IAAI,EAC1D,IAAI,CAAC,KAAK,CAAC,YAAY,CAACrH,EAAM,KAAK,CAAG4N,EAAI,MAAM,CAAEvG,GAAM,OAAO,CAAC,MAAM,EACtE,MACF,CACA,IAAMlI,EAAQa,AAAiB,IAAjBA,EAAM,MAAM,CAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACA,EAAM,KAAK,CAAE,GAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACA,GACzF,CACF32E,MAAAA,CAAK,CACL9O,OAAAA,CAAM,CACP,CAAGylF,EACJb,EAAM,OAAO,CAAC,CAAC/Z,EAAM7oE,KACfgjB,GACF6lD,EAAK,QAAQ,CAAC,EAAGwoB,GACbrxF,AAAM,IAANA,EACF8M,GAASukF,EAAI,MAAM,CAEnBrzF,GAAUqzF,EAAI,MAAM,EAGbxoB,EAAK,OAAO,CAAC,WAAW,CAAC,UAAU,CAACwoB,KAC7CxoB,EAAK,QAAQ,CAAC,EAAGwoB,EAAI,MAAM,EACvBrxF,AAAM,IAANA,EACF8M,GAASukF,EAAI,MAAM,CAEnBrzF,GAAUqzF,EAAI,MAAM,CAG1B,GACA,IAAI,CAAC,KAAK,CAAC,MAAM,CAACvG,GAAM,OAAO,CAAC,IAAI,EACpC,IAAI,CAAC,KAAK,CAAC,YAAY,CAACh+E,EAAO9O,EAAQ8sF,GAAM,OAAO,CAAC,MAAM,CAC7D,CACF,CACF,CACA,SAASqG,GAAsBt0F,CAAG,CAAEy0F,CAAQ,EAE1C,MAAO,CACLz0F,IAAAA,EACAy0F,SAAAA,EACA,OAAQ,KACR,CALYz0F,AAAQ,cAARA,EAAsB,SAAW,SAKtC,CAAE,KACT,QAAQ4mF,CAAK,EACX,GAAI,CACF32E,MAAAA,CAAK,CACN,CAAG22E,CACQ,gBAAR5mF,GACFiQ,CAAAA,GAAS22E,EAAM,MAAM,CAAG,GAE1B,GAAM,CAACL,EAAK,CAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAACt2E,SAClC,CAAMs2E,CAAAA,aAAgB,MAClBvmF,AAAQ,cAARA,EACEy0F,EACF,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC7N,EAAM,KAAK,CAAG,EAAGA,EAAM,MAAM,CAAG,EAAGqH,GAAM,OAAO,CAAC,IAAI,EAE7E,IAAI,CAAC,KAAK,CAAC,YAAY,CAACrH,EAAM,KAAK,CAAG,EAAGqH,GAAM,OAAO,CAAC,IAAI,EAEpDwG,EACT,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC7N,EAAM,KAAK,CAAEA,EAAM,MAAM,CAAG,EAAGqH,GAAM,OAAO,CAAC,IAAI,EAEzE,IAAI,CAAC,KAAK,CAAC,YAAY,CAACrH,EAAM,KAAK,CAAGA,EAAM,MAAM,CAAG,EAAGqH,GAAM,OAAO,CAAC,IAAI,EAErE,GACT,CACF,CACF,CACA,SAAS+F,GAAkBniF,CAAM,EAC/B,MAAO,CACL,IAAKA,CAAM,CAAC,EAAE,CACd,SAAU,GACV,QAAQ+0E,CAAK,CAAE3lC,CAAO,EACpB,IAAI,CAAC,KAAK,CAAC,MAAM,CAACpvC,EAAQ,CAACovC,EAAQ,MAAM,CAACpvC,EAAO,CAAEo8E,GAAM,OAAO,CAAC,IAAI,CACvE,CACF,CACF,CACA,SAASsG,GAAsBG,CAAE,EAC/B,MAAO,CACL,IAAKA,EAAK,UAAY,YACtB,UAAW,GACX,OAAQ,CAAC,QAAQ,CACjB,QAAQ9N,CAAK,CAAE3lC,CAAO,EAEpB,IAAMjhD,EAAM00F,EAAK,OAAS,OACpB9oD,EAAOqV,EAAQ,IAAI,CACnB0zC,EAAY/oD,EAAK,MAAM,CAAC5rC,EAAI,CAClC,GAAI20F,AAAa,MAAbA,EACF,IAAIA,AAA+B,cAA/BA,EAAU,OAAO,CAAC,QAAQ,CAAkB,CAE9C,IAAIC,EAAaD,EAAU,QAAQ,CAAC,IAAI,CACpCnjB,EAAM5lC,EACV,KAAO4lC,AAAY,MAAZA,EAAI,IAAI,EAEbA,EAAMA,EAAI,IAAI,CACdojB,EAAaA,EAAW,IAAI,CAE9B,IAAM3kF,EAAQ2kF,EAAW,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAIzwF,KAAK,GAAG,CAAC88C,EAAQ,MAAM,CAAE2zC,EAAW,MAAM,GAAK,GACpG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC3kF,EAAO,EAAGg+E,GAAM,OAAO,CAAC,IAAI,CACtD,MACK,CAEL,IAAM4G,EAAajpD,EAAK,KAAK,EAAE,CAAC5rC,EAAI,AAClB,OAAd60F,IACEH,EACF,IAAI,CAAC,KAAK,CAAC,YAAY,CAACG,EAAW,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAIA,EAAW,MAAM,GAAK,EAAG,EAAG5G,GAAM,OAAO,CAAC,IAAI,EAE7G,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC4G,EAAW,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAG,EAAG5G,GAAM,OAAO,CAAC,IAAI,EAGzF,CACA,MAAO,EACT,CACF,CACF,CA/HA4E,GAAS,QAAQ,CAAGkB,GAkJpB,SAASD,GAAY5E,CAAK,EACxB,GAAI,CACFxH,MAAAA,CAAK,CACLd,MAAAA,CAAK,CACN,CAAGsI,EACEnJ,EAAQ2B,EAAM,QAAQ,CAACd,GACzBnD,EAAU,CAAC,EACf,GAAIsC,EAAM,MAAM,CAAG,EAAG,CACpB,IAAM+O,EAAe/O,CAAK,CAAC,EAAE,CAAC,OAAO,GAC/BgP,EAAchP,CAAK,CAACA,EAAM,MAAM,CAAG,EAAE,CAAC,OAAO,GACnDtC,EAAU,oBAAiB,CAACsR,EAAaD,IAAiB,CAAC,CAC7D,CACApN,EAAM,UAAU,CAACd,EAAOqH,GAAM,OAAO,CAAC,IAAI,EACtChvF,OAAO,IAAI,CAACwkF,GAAS,MAAM,CAAG,GAChCiE,EAAM,UAAU,CAACd,EAAM,KAAK,CAAE,EAAGnD,EAASwK,GAAM,OAAO,CAAC,IAAI,EAE9DvG,EAAM,YAAY,CAACd,EAAM,KAAK,CAAEqH,GAAM,OAAO,CAAC,MAAM,CACtD,CCvrBA,IAAM+G,GAAqB,wBACrBC,GAAgB,CAAC,IAAK,KAAM,KAAK,CACjCC,GAAiB32E,GACdA,GAAW02E,GAAc,QAAQ,CAAC12E,EAAQ,OAAO,EAEpD42E,GAAsBp4D,IAC1Bx1B,MAAM,IAAI,CAACw1B,EAAI,gBAAgB,CAAC,OAAO,MAAM,CAACq4D,GAAMF,GAAeE,EAAG,sBAAsB,GAAKF,GAAeE,EAAG,kBAAkB,GAAG,OAAO,CAACA,IAC9IA,EAAG,UAAU,EAAE,YAAYA,EAC7B,EACF,EACMC,GAAsBt4D,IAC1Bx1B,MAAM,IAAI,CAACw1B,EAAI,gBAAgB,CAAC,4BAA4B,MAAM,CAACqrC,GAAQA,EAAK,YAAY,CAAC,UAAU,MAAM4sB,KAAqB,OAAO,CAAC5sB,IACxI,IAAM/D,EAAWtnC,EAAI,sBAAsB,GAC3CsnC,EAAS,MAAM,IAAI+D,EAAK,UAAU,EAClCA,EAAK,UAAU,EAAE,aAAa/D,EAAU+D,EAC1C,EACF,EChBMktB,GAAe,0BACfC,GAAW,4BACXC,GAAe,gCACfC,GAAgB,CAACl3E,EAASme,KAC9B,IAAM1qB,EAAQuM,EAAQ,YAAY,CAAC,SAC7Bm3E,EAAU1jF,GAAO,MAAMujF,IAC7B,GAAI,CAACG,EACH,OAAO,KAET,IAAMt4E,EAAKxW,OAAO8uF,CAAO,CAAC,EAAE,EACtBC,EAAc3jF,GAAO,MAAMwjF,IAC3BrvE,EAASwvE,EAAc/uF,OAAO+uF,CAAW,CAAC,EAAE,EAAI,EAChDC,EAAa,AAAI5tD,OAAO,CAAC,OAAO,EAAE5qB,EAAG,MAAM,EAAE+I,EAAO,mDAAmD,CAAC,CAAE,KAC1G0vE,EAAYn5D,EAAK,KAAK,CAACk5D,GAE7B,MAAO,CACLx4E,GAAAA,EACA+I,OAAAA,EACA/S,KAJWyiF,GAAaA,AAAiB,WAAjBA,CAAS,CAAC,EAAE,CAAgB,SAAW,UAK/Dt3E,QAAAA,CACF,CACF,EAKMu3E,GAAoB/4D,IACxB,IAAMg5D,EAAUxuF,MAAM,IAAI,CAACw1B,EAAI,gBAAgB,CAAC,sBAC1CwrD,EAAU,EAAE,CACZyN,EAAS,EAAE,CACjBD,EAAQ,OAAO,CAAC3tB,IACO,AAACA,CAAAA,EAAK,YAAY,CAAC,UAAY,EAAC,EAAG,KAAK,CAACktB,IAE5D/M,EAAQ,IAAI,CAACngB,GAEb4tB,EAAO,IAAI,CAAC5tB,EAEhB,GAGAmgB,EAAQ,OAAO,CAACngB,GAAQA,EAAK,UAAU,EAAE,YAAYA,IAIrD,IAAM1rC,EAAOK,EAAI,eAAe,CAAC,SAAS,CACpCk5D,EAAYD,EAAO,GAAG,CAACz3E,GAAWk3E,GAAcl3E,EAASme,IAAO,MAAM,CAAC51B,GAAUA,GACvF,KAAOmvF,EAAU,MAAM,EAAE,CACvB,IAAMC,EAAiB,EAAE,CACrBv/E,EAAUs/E,EAAU,KAAK,GAE7B,KAAOt/E,GACLu/E,EAAe,IAAI,CAACv/E,GACpBA,EAAUs/E,EAAU,MAAM,EAAIA,CAAS,CAAC,EAAE,EAAE,UAAYt/E,EAAQ,OAAO,CAAC,kBAAkB,EAE1Fs/E,CAAS,CAAC,EAAE,CAAC,EAAE,GAAKt/E,EAAQ,EAAE,CAAGs/E,EAAU,KAAK,GAAK,KAEvD,IAAME,EAAK/9B,SAAS,aAAa,CAAC,MAClC89B,EAAe,OAAO,CAACE,IACrB,IAAMpwB,EAAK5N,SAAS,aAAa,CAAC,MAClC4N,EAAG,YAAY,CAAC,YAAaowB,EAAS,IAAI,EACtCA,EAAS,MAAM,CAAG,GACpBpwB,EAAG,YAAY,CAAC,QAAS,CAAC,UAAU,EAAEowB,EAAS,MAAM,CAAG,EAAE,CAAC,EAE7DpwB,EAAG,SAAS,CAAGowB,EAAS,OAAO,CAAC,SAAS,CACzCD,EAAG,WAAW,CAACnwB,EACjB,GACA,IAAMznD,EAAU23E,CAAc,CAAC,EAAE,EAAE,QAC7B,CACJjW,WAAAA,CAAU,CACX,CAAG1hE,GAAW,CAAC,EACZA,GACF0hE,GAAY,aAAakW,EAAI53E,GAE/B23E,EAAe,KAAK,CAAC,GAAG,OAAO,CAACzb,IAC9B,GAAI,CACF,QAAS/6E,CAAC,CACX,CAAG+6E,EACJwF,GAAY,YAAYvgF,EAC1B,EACF,CACF,EC9EM22F,GAAc,CD+EL,SAAmBt5D,CAAG,EACiB,0CAAhDA,EAAI,eAAe,CAAC,YAAY,CAAC,YACnC+4D,GAAkB/4D,EAEtB,EDpEe,SAAmBA,CAAG,EAC/BA,EAAI,aAAa,CAAC,iCACpBs4D,GAAoBt4D,GACpBo4D,GAAoBp4D,GAExB,EEpBwC,CAQxC,GAP8BA,IACxBA,EAAI,eAAe,EACrBs5D,GAAY,OAAO,CAACC,IAClBA,EAAUv5D,EACZ,EAEJ,ECMM,GAAQ,AxBOCorC,GwBPM,mBACfouB,GAAmB,CAAC,CAACnW,KAAK,SAAS,CA+azC,SAAmBhY,CAAI,CAAEpiB,CAAK,CAAEk6B,CAAM,EAEpC,IAAIpuE,EAAOs2D,EAAK,IAAI,CAEpB,GAAIA,EAAK,aAAa,EAAE,UAAY,MAClC,OAAOpiB,EAAM,MAAM,CAACl0C,EAAK,IAAI,IAE/B,GAAI,CAAC0kF,AAhNP,SAASA,EAAMpuB,CAAI,SACjB,AAAY,MAARA,IACA,CAACquB,GAAS,GAAG,CAACruB,KAEZA,AAAiB,QAAjBA,EAAK,OAAO,CACdquB,GAAS,GAAG,CAACruB,EAAM,IAEnBquB,GAAS,GAAG,CAACruB,EAAMouB,EAAMpuB,EAAK,UAAU,IAGrCquB,GAAS,GAAG,CAACruB,GACtB,EAqMaA,GAAO,KApNaA,EAAM8X,EAqNnC,GAAIpuE,AAAuB,IAAvBA,EAAK,IAAI,GAAG,MAAM,EAAUA,EAAK,QAAQ,CAAC,QArNjBs2D,EAqNmDA,EArN7C8X,EAqNmDA,EApNjF9X,CAAAA,EAAK,sBAAsB,GAAIA,EAAK,kBAAkB,EAAK,GAAOA,EAAK,sBAAsB,CAAE8X,IAAY,GAAO9X,EAAK,kBAAkB,CAAE8X,IAqN9I,OAAOl6B,EAET,IAAM0wC,EAAW,CAACC,EAAUh4E,KAC1B,IAAMi4E,EAAWj4E,EAAM,OAAO,CAAC,aAAc,IAC7C,OAAOi4E,EAAS,MAAM,CAAG,GAAKD,EAAW,IAAMC,CACjD,EAEA9kF,EAAOA,AADPA,CAAAA,EAAOA,EAAK,OAAO,CAAC,QAAS,KAAK,OAAO,CAAC,MAAO,IAAG,EACxC,OAAO,CAAC,SAAU4kF,EAAS,IAAI,CAACA,EAAU,KAClDtuB,CAAAA,AAAwB,MAAxBA,EAAK,eAAe,EAAYA,AAAsB,MAAtBA,EAAK,aAAa,EAAY,GAAOA,EAAK,aAAa,CAAE8X,IAAW9X,EAAK,eAAe,YAAY3P,SAAW,GAAO2P,EAAK,eAAe,CAAE8X,EAAM,GACpLpuE,CAAAA,EAAOA,EAAK,OAAO,CAAC,OAAQ4kF,EAAS,IAAI,CAACA,EAAU,IAAM,EAExDtuB,CAAAA,AAAoB,MAApBA,EAAK,WAAW,EAAYA,AAAsB,MAAtBA,EAAK,aAAa,EAAY,GAAOA,EAAK,aAAa,CAAE8X,IAAW9X,EAAK,WAAW,YAAY3P,SAAW,GAAO2P,EAAK,WAAW,CAAE8X,EAAM,GACxKpuE,CAAAA,EAAOA,EAAK,OAAO,CAAC,OAAQ4kF,EAAS,IAAI,CAACA,EAAU,IAAM,CAE9D,CACA,OAAO1wC,EAAM,MAAM,CAACl0C,EACtB,EAxcqD,CAAE,CAACsuE,KAAK,SAAS,CAAEyW,GAAa,CAAE,CAAC,KAiUxF,SAAoBzuB,CAAI,CAAEpiB,CAAK,EAI7B,MAHI,CAAC8wC,GAAc9wC,EAAO,OACxBA,EAAM,MAAM,CAAC,MAERA,CACT,EAtUyG,CAAE,CAACo6B,KAAK,YAAY,CAAEyW,GAAa,CAAE,CAACzW,KAAK,YAAY,CAwShK,SAAmBhY,CAAI,CAAEpiB,CAAK,CAAEk6B,CAAM,EACpC,IAAMvhE,EAAQuhE,EAAO,KAAK,CAAC9X,GAC3B,GAAIzpD,AAAS,MAATA,EAAe,OAAOqnC,EAE1B,GAAIrnC,EAAM,SAAS,YAAY,GAAW,CACxC,IAAM8sE,EAAQ,CAAC,EAET9qF,EAAQge,EAAM,KAAK,CAACypD,GAC1B,GAAIznE,AAAS,MAATA,EAIF,OAFA8qF,CAAK,CAAC9sE,EAAM,QAAQ,CAAC,CAAGhe,EAEjB,IAAI4pE,KAAQ,MAAM,CAACkhB,EAAO9sE,EAAM,OAAO,CAACypD,EAAM8X,GAEzD,MAKE,GAHIvhE,EAAM,SAAS,YAAY,IAAa,CAACm4E,GAAc9wC,EAAO,OAChEA,EAAM,MAAM,CAAC,MAEX,aAAcrnC,GAAS,YAAaA,GAAS,AAAyB,YAAzB,OAAOA,EAAM,OAAO,CACnE,OAAOo4E,GAAY/wC,EAAOrnC,EAAM,QAAQ,CAAEA,EAAM,OAAO,CAACypD,EAAM8X,GAASA,GAG3E,OAAOl6B,CACT,EAhU4K,CAAE,CAACo6B,KAAK,YAAY,CA8QhM,SAAyBhY,CAAI,CAAEpiB,CAAK,CAAEk6B,CAAM,EAC1C,IAAM3kE,EAAamkE,GAAW,IAAI,CAACtX,GAC7BvF,EAAU,OAAoB,CAACuF,GAC/BttB,EAAS,OAAoB,CAACstB,GAC9Bqb,EAAU,CAAC,EAiBjB,OAhBAloE,EAAW,MAAM,CAACsnD,GAAS,MAAM,CAAC/nB,GAAQ,OAAO,CAAC/7C,IAChD,IAAIomB,EAAO+6D,EAAO,KAAK,CAACnhF,EAAM0gF,GAAM,SAAS,EAC7C,GAAIt6D,AAAQ,MAARA,IACFs+D,CAAO,CAACt+D,EAAK,QAAQ,CAAC,CAAGA,EAAK,KAAK,CAACijD,IAChCqb,CAAO,CAACt+D,EAAK,QAAQ,CAAC,EAGhB,MADZA,CAAAA,EAAO6xE,EAAqB,CAACj4F,EAAK,AAAD,GACZomB,CAAAA,EAAK,QAAQ,GAAKpmB,GAAQomB,EAAK,OAAO,GAAKpmB,CAAG,GACjE0kF,CAAAA,CAAO,CAACt+D,EAAK,QAAQ,CAAC,CAAGA,EAAK,KAAK,CAACijD,IAAS1nE,KAAAA,CAAQ,EAG3C,MADZykB,CAAAA,EAAO8xE,EAAiB,CAACl4F,EAAK,AAAD,GACRomB,CAAAA,EAAK,QAAQ,GAAKpmB,GAAQomB,EAAK,OAAO,GAAKpmB,CAAG,GAEjE0kF,CAAAA,CAAO,CAACt+D,AADRA,CAAAA,EAAO8xE,EAAiB,CAACl4F,EAAK,AAAD,EAChB,QAAQ,CAAC,CAAGomB,EAAK,KAAK,CAACijD,IAAS1nE,KAAAA,CAAQ,CAEzD,GACOzB,OAAO,OAAO,CAACwkF,GAAS,MAAM,CAAC,CAACyT,EAAUzF,KAC/C,GAAI,CAAC1yF,EAAM4B,EAAM,CAAG8wF,EACpB,OAAOsF,GAAYG,EAAUn4F,EAAM4B,EAAOu/E,EAC5C,EAAGl6B,EACL,EAvSkN,CAAE,CAACo6B,KAAK,YAAY,CA0YtO,SAAqBhY,CAAI,CAAEpiB,CAAK,CAAEk6B,CAAM,EACtC,IAAMuD,EAAU,CAAC,EACXzxE,EAAQo2D,EAAK,KAAK,EAAI,CAAC,QAoB7B,CAnBwB,WAApBp2D,EAAM,SAAS,EACjByxE,CAAAA,EAAQ,MAAM,CAAG,EAAG,EAEO,cAAzBzxE,EAAM,cAAc,EACtByxE,CAAAA,EAAQ,SAAS,CAAG,EAAG,EAEI,iBAAzBzxE,EAAM,cAAc,EACtByxE,CAAAA,EAAQ,MAAM,CAAG,EAAG,EAElBzxE,CAAAA,EAAM,UAAU,EAAE,WAAW,SAEjCjL,SAASiL,EAAM,UAAU,CAAE,KAAO,GAAE,GAClCyxE,CAAAA,EAAQ,IAAI,CAAG,EAAG,EAEpBz9B,EAAQ/mD,OAAO,OAAO,CAACwkF,GAAS,MAAM,CAAC,CAACyT,EAAUC,KAChD,GAAI,CAACp4F,EAAM4B,EAAM,CAAGw2F,EACpB,OAAOJ,GAAYG,EAAUn4F,EAAM4B,EAAOu/E,EAC5C,EAAGl6B,GAECqS,WAAWrmD,EAAM,UAAU,EAAI,GAAK,GAE/B,IAAIu4D,KAAQ,MAAM,CAAC,KAAM,MAAM,CAACvkB,GAElCA,CACT,EAraoP,CAAE,CAAC,KA+UvP,SAAqBoiB,CAAI,CAAEpiB,CAAK,CAAEk6B,CAAM,EACtC,IAAMvhE,EAAQuhE,EAAO,KAAK,CAAC9X,GAC3B,GAAIzpD,AAAS,MAATA,GAEJA,AAAmB,SAAnBA,EAAM,QAAQ,EAAe,CAACm4E,GAAc9wC,EAAO,MACjD,OAAOA,EAET,IAAI7/B,EAAS,GACT+R,EAASkwC,EAAK,UAAU,CAC5B,KAAOlwC,AAAU,MAAVA,GAED,CAAC,KAAM,KAAK,CAAC,QAAQ,CAACA,EAAO,OAAO,GACtC/R,CAAAA,GAAU,GAEZ+R,EAASA,EAAO,UAAU,QAE5B,AAAI/R,GAAU,EAAU6/B,EACjBA,EAAM,MAAM,CAAC,CAACoxC,EAAUvsB,IAC7B,AAAKA,EAAG,MAAM,CACVA,EAAG,UAAU,EAAI,AAAgC,UAAhC,OAAOA,EAAG,UAAU,CAAC,MAAM,CACvCusB,EAAS,IAAI,CAACvsB,GAEhBusB,EAAS,MAAM,CAACvsB,EAAG,MAAM,CAAE,CAChC1kD,OAAAA,EACA,GAAI0kD,EAAG,UAAU,EAAI,CAAC,CAAC,AACzB,GAPuBusB,EAQtB,IAAI7sB,GACT,EA1WyQ,CAAE,CAAC,SA2W5Q,SAAmBnC,CAAI,CAAEpiB,CAAK,CAAEk6B,CAAM,EAEpC,IAAIv6E,EAAO4Y,AAAoB,OAApBA,AADK6pD,EACG,OAAO,CAAY,UAAY,SAC5CivB,EAAc94E,AAFJ6pD,EAEY,YAAY,CAAC,gBAIzC,OAHIivB,GACF1xF,CAAAA,EAAO0xF,AAAgB,SAAhBA,EAAyB,UAAY,WAAU,EAEjDN,GAAY/wC,EAAO,OAAQrgD,EAAMu6E,EAC1C,EAnXgS,CAAE,CAAC,MAuUnS,SAAwB9X,CAAI,CAAEpiB,CAAK,CAAEk6B,CAAM,EACzC,IAAMvhE,EAAQuhE,EAAO,KAAK,CAAC,cAE3B,OAAO6W,GAAY/wC,EAAO,aADTrnC,CAAAA,IAAS,aAAaA,CAAI,GAAK,AAAyB,YAAzB,OAAOA,EAAM,OAAO,EAAkBA,EAAM,OAAO,CAACypD,EAAM8X,GACxDA,EACpD,EA3UyT,CAAE,CAAC,KAsa5T,SAAoB9X,CAAI,CAAEpiB,CAAK,CAAEk6B,CAAM,EACrC,IAAMgU,EAAQ9rB,EAAK,aAAa,EAAE,UAAY,QAAUA,EAAK,aAAa,CAAGA,EAAK,aAAa,EAAE,qBACjG,AAAI8rB,AAAS,MAATA,EAGK6C,GAAY/wC,EAAO,QADd7a,AADC5jC,MAAM,IAAI,CAAC2sF,EAAM,gBAAgB,CAAC,OAC9B,OAAO,CAAC9rB,GAAQ,EACO8X,GAEnCl6B,CACT,EA9a6U,CAAE,CAAC,IAAKsxC,GAAiB,QAAQ,CAAE,CAAC,IAAKA,GAAiB,UAAU,CAAE,CAAC,SAAUA,GAAiB,UAAU,CAAE,CAAC,QA4U5b,WACE,OAAO,IAAI/sB,EACb,EA9Uid,CAAC,CAC5cysB,GAAwB,CAACtF,GAAgBU,GAAmB,CAAC,MAAM,CAAC,CAACpoB,EAAM7kD,KAC/E6kD,CAAI,CAAC7kD,EAAK,OAAO,CAAC,CAAGA,EACd6kD,GACN,CAAC,GACEitB,GAAoB,CAACrF,GAAYK,GAAiBF,GAAYO,GAAgBE,GAAWG,GAAU,CAAC,MAAM,CAAC,CAAC3oB,EAAM7kD,KACtH6kD,CAAI,CAAC7kD,EAAK,OAAO,CAAC,CAAGA,EACd6kD,GACN,CAAC,GAuLJ,SAAS+sB,GAAY/wC,CAAK,CAAEn0C,CAAM,CAAElR,CAAK,CAAEu/E,CAAM,SAC/C,AAAKA,EAAO,KAAK,CAACruE,GAGXm0C,EAAM,MAAM,CAAC,CAACkxC,EAAUrsB,IAC7B,AAAKA,EAAG,MAAM,CACVA,EAAG,UAAU,EAAIA,EAAG,UAAU,CAACh5D,EAAO,CACjCqlF,EAAS,IAAI,CAACrsB,GAKhBqsB,EAAS,MAAM,CAACrsB,EAAG,MAAM,CAAE,CAD5B,GAFUlqE,EAAQ,CACtB,CAACkR,EAAO,CAAElR,CACZ,EAAI,CAAC,CAEH,CACA,GAAGkqE,EAAG,UAAU,AAClB,GAVuBqsB,EAWtB,IAAI3sB,IAdEvkB,CAeX,CACA,SAAS8wC,GAAc9wC,CAAK,CAAEl0C,CAAI,EAChC,IAAIylF,EAAU,GACd,IAAK,IAAIp0F,EAAI6iD,EAAM,GAAG,CAAC,MAAM,CAAG,EAAG7iD,GAAK,GAAKo0F,EAAQ,MAAM,CAAGzlF,EAAK,MAAM,CAAE,EAAE3O,EAC3E,CACA,IAAM0nE,EAAK7kB,EAAM,GAAG,CAAC7iD,EAAE,CACvB,GAAI,AAAqB,UAArB,OAAO0nE,EAAG,MAAM,CAAe,MACnC0sB,EAAU1sB,EAAG,MAAM,CAAG0sB,CACxB,CACA,OAAOA,EAAQ,KAAK,CAAC,GAAKzlF,EAAK,MAAM,IAAMA,CAC7C,CACA,SAAS,GAAOs2D,CAAI,CAAE8X,CAAM,EAC1B,GAAI,CAAE9X,CAAAA,aAAgB3P,OAAM,EAAI,MAAO,GACvC,IAAM95C,EAAQuhE,EAAO,KAAK,CAAC9X,SAE3B,AAAIzpD,CAAAA,CAAAA,IAASA,CAAAA,EAAM,SAAS,YAAY,MACjC,CAAC,UAAW,UAAW,aAAc,SAAU,KAAM,MAAO,KAAM,KAAM,WAAY,aAAc,SAAU,SAAU,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,SAAU,SAAU,KAAM,OAAQ,MAAO,KAAM,SAAU,IAAK,MAAO,UAAW,QAAS,KAAM,KAAM,KAAM,QAAQ,CAAC,QAAQ,CAACypD,EAAK,OAAO,CAAC,WAAW,GAChU,CAIA,IAAMquB,GAAW,IAAI3mC,QAarB,SAAS0nC,GAAStX,CAAM,CAAE9X,CAAI,CAAEqvB,CAAe,CAAEC,CAAY,CAAEC,CAAW,SAExE,AAAIvvB,EAAK,QAAQ,GAAKA,EAAK,SAAS,CAC3BsvB,EAAa,MAAM,CAAC,CAAC1xC,EAAO4xC,IAC1BA,EAAQxvB,EAAMpiB,EAAOk6B,GAC3B,IAAI3V,IAELnC,EAAK,QAAQ,GAAKA,EAAK,YAAY,CAC9B7gE,MAAM,IAAI,CAAC6gE,EAAK,UAAU,EAAI,EAAE,EAAE,MAAM,CAAC,CAACpiB,EAAOkmC,KACtD,IAAI2L,EAAgBL,GAAStX,EAAQgM,EAAWuL,EAAiBC,EAAcC,GAS/E,OARIzL,EAAU,QAAQ,GAAK9jB,EAAK,YAAY,GAC1CyvB,EAAgBJ,EAAgB,MAAM,CAAC,CAACK,EAAcF,IAC7CA,EAAQ1L,EAAW4L,EAAc5X,GACvC2X,GACHA,EAAgB,AAACF,CAAAA,EAAY,GAAG,CAACzL,IAAc,EAAE,AAAD,EAAG,MAAM,CAAC,CAAC4L,EAAcF,IAChEA,EAAQ1L,EAAW4L,EAAc5X,GACvC2X,IAEE7xC,EAAM,MAAM,CAAC6xC,EACtB,EAAG,IAAIttB,IAEF,IAAIA,EACb,CACA,SAAS+sB,GAAiBzlF,CAAM,EAC9B,MAAO,CAACguE,EAAO75B,EAAOk6B,IACb6W,GAAY/wC,EAAOn0C,EAAQ,GAAMquE,EAE5C,CAuGA,SAAS2W,GAAazuB,CAAI,CAAEpiB,CAAK,CAAEk6B,CAAM,EACvC,GAAI,CAAC4W,GAAc9wC,EAAO,MAAO,CAC/B,GAAI,GAAOoiB,EAAM8X,IAAY9X,CAAAA,EAAK,UAAU,CAAC,MAAM,CAAG,GAAKA,aAAgB2vB,oBAAmB,EAC5F,OAAO/xC,EAAM,MAAM,CAAC,MAEtB,GAAIA,EAAM,MAAM,GAAK,GAAKoiB,EAAK,WAAW,CAAE,CAC1C,IAAIhG,EAAcgG,EAAK,WAAW,CAClC,KAAOhG,AAAe,MAAfA,GAAqB,CAC1B,GAAI,GAAOA,EAAa8d,GACtB,OAAOl6B,EAAM,MAAM,CAAC,MAEtB,IAAMrnC,EAAQuhE,EAAO,KAAK,CAAC9d,GAE3B,GAAIzjD,GAASA,EAAM,SAAS,YAAYynE,GACtC,OAAOpgC,EAAM,MAAM,CAAC,MAEtBoc,EAAcA,EAAY,UAAU,AACtC,CACF,CACF,CACA,OAAOpc,CACT,CCvRA,SAASgyC,GAAe7kC,CAAK,CAAEnN,CAAK,EAClC,IAAIiyC,EAAcjyC,EAClB,IAAK,IAAI7iD,EAAIgwD,EAAM,MAAM,CAAG,EAAGhwD,GAAK,EAAGA,GAAK,EAAG,CAC7C,IAAM+0F,EAAU/kC,CAAK,CAAChwD,EAAE,AACxBgwD,CAAAA,CAAK,CAAChwD,EAAE,CAAG,CACT,MAAO80F,EAAY,SAAS,CAACC,EAAQ,KAAK,CAAE,IAC5C,MAAOA,EAAQ,KAAK,EAAIC,GAAeD,EAAQ,KAAK,CAAED,EACxD,EACAA,EAAcC,EAAQ,KAAK,CAAC,SAAS,CAACD,GACN,IAA5B9kC,CAAK,CAAChwD,EAAE,CAAC,KAAK,CAAC,MAAM,IACvBgwD,EAAM,MAAM,CAAChwD,EAAG,EAEpB,CACF,CAwBA,SAASg1F,GAAevR,CAAK,CAAE5gC,CAAK,EAClC,GAAI,CAAC4gC,EAAO,OAAOA,EACnB,IAAMnjF,EAAQuiD,EAAM,iBAAiB,CAAC4gC,EAAM,KAAK,EAEjD,MAAO,CACL,MAAOnjF,EACP,OAAQC,AAHEsiD,EAAM,iBAAiB,CAAC4gC,EAAM,KAAK,CAAGA,EAAM,MAAM,EAG9CnjF,CAChB,CACF,CC5KA,MAAM20F,WAAiB,GACrB,YAAY1Q,CAAK,CAAEnnF,CAAO,CAAE,CAC1B,KAAK,CAACmnF,EAAOnnF,GACbmnF,EAAM,IAAI,CAAC,gBAAgB,CAAC,OAAQhoF,IAClCA,EAAE,cAAc,GAChB,IAAI2oF,EAAS,KACb,GAAIjwB,SAAS,mBAAmB,CAC9BiwB,EAASjwB,SAAS,mBAAmB,CAAC14D,EAAE,OAAO,CAAEA,EAAE,OAAO,OAErD,GAAI04D,SAAS,sBAAsB,CAAE,CAE1C,IAAMzjD,EAAWyjD,SAAS,sBAAsB,CAAC14D,EAAE,OAAO,CAAEA,EAAE,OAAO,EAErE2oF,AADAA,CAAAA,EAASjwB,SAAS,WAAW,EAAC,EACvB,QAAQ,CAACzjD,EAAS,UAAU,CAAEA,EAAS,MAAM,EACpD0zE,EAAO,MAAM,CAAC1zE,EAAS,UAAU,CAAEA,EAAS,MAAM,CACpD,CACA,IAAMiwD,EAAayjB,GAAUX,EAAM,SAAS,CAAC,eAAe,CAACW,GAC7D,GAAIzjB,EAAY,CACd,IAAMgiB,EAAQc,EAAM,SAAS,CAAC,iBAAiB,CAAC9iB,EAC5CllE,CAAAA,EAAE,YAAY,EAAE,OAClB,IAAI,CAAC,MAAM,CAACknF,EAAOlnF,EAAE,YAAY,CAAC,KAAK,CAE3C,CACF,EACF,CACA,OAAOknF,CAAK,CAAE/M,CAAK,CAAE,CACnB,IAAMwe,EAAU,EAAE,CAClB9wF,MAAM,IAAI,CAACsyE,GAAO,OAAO,CAAClkD,IACpBA,GAAQ,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAASA,EAAK,IAAI,GACpD0iE,EAAQ,IAAI,CAAC1iE,EAEjB,GACI0iE,EAAQ,MAAM,CAAG,GAEnB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAEzR,EAAOyR,EAE3C,CACF,CACAD,GAAS,QAAQ,CAAG,CAClB,UAAW,CAAC,YAAa,aAAa,CACtC,QAAQxR,CAAK,CAAE/M,CAAK,EAClB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAY7BtmD,QAAQ,GAAG,CATMsmD,EAAM,GAAG,CAAClkD,GAClB,IAAIpC,QAAQ+oB,IACjB,IAAMy9B,EAAS,IAAI1lD,UACnB0lD,CAAAA,EAAO,MAAM,CAAG,KACdz9B,EAAQy9B,EAAO,MAAM,CACvB,EACAA,EAAO,aAAa,CAACpkD,EACvB,KAEoB,IAAI,CAAC2iE,IACzB,IAAM98B,EAAS88B,EAAO,MAAM,CAAC,CAACtyC,EAAO9G,IAC5B8G,EAAM,MAAM,CAAC,CAClB9G,MAAAA,CACF,GACC,IAAIqrB,KAAQ,MAAM,CAACqc,EAAM,KAAK,EAAE,MAAM,CAACA,EAAM,MAAM,GACtD,IAAI,CAAC,KAAK,CAAC,cAAc,CAACprB,EAAQ,AzBczBosB,GyBdyB,YAAoB,EACtD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAChB,EAAM,KAAK,CAAG0R,EAAO,MAAM,CAAE,AzBa5C1Q,GyBb4C,cAAsB,CAC7E,EACF,CACF,EC9DA,IAAM2Q,GAAe,CAAC,aAAc,wBAAwB,CA6E5D,GA5EA,MAAMC,UAAc,GAClB,YAAY9Q,CAAK,CAAEnnF,CAAO,CAAE,CAC1B,KAAK,CAACmnF,EAAOnnF,GACbmnF,EAAM,IAAI,CAAC,gBAAgB,CAAC,cAAe7kE,IACzC,IAAI,CAAC,iBAAiB,CAACA,EACzB,GAII,CAAC,WAAW,IAAI,CAAC42C,UAAU,SAAS,GACtCiuB,EAAM,EAAE,CAACuG,GAAM,MAAM,CAAC,wBAAwB,CAAE,KAC9C,IAAI,CAAC,sBAAsB,EAC7B,EAEJ,CACA,YAAYrH,CAAK,CAAE,CACjBkN,GAAY,CACVlN,MAAAA,EACA,MAAO,IAAI,CAAC,KAAK,AACnB,EACF,CACA,YAAYA,CAAK,CAAE,CACjB,IAAI90E,EAAOjM,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,GAC/E,GAAI+gF,AAAiB,IAAjBA,EAAM,MAAM,CAAQ,MAAO,GAC/B,GAAI90E,EAAM,CAER,IAAM2xE,EAAU,IAAI,CAAC,KAAK,CAAC,SAAS,CAACmD,EAAM,KAAK,CAAE,GAClD,IAAI,CAAC,WAAW,CAACA,GACjB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAIrc,KAAQ,MAAM,CAACqc,EAAM,KAAK,EAAE,MAAM,CAAC90E,EAAM2xE,GAAUwK,GAAM,OAAO,CAAC,IAAI,CACrG,MACE,IAAI,CAAC,WAAW,CAACrH,GAGnB,OADA,IAAI,CAAC,KAAK,CAAC,YAAY,CAACA,EAAM,KAAK,CAAG90E,EAAK,MAAM,CAAE,EAAGm8E,GAAM,OAAO,CAAC,MAAM,EACnE,EACT,CACA,kBAAkBprE,CAAK,CAAE,CACvB,GAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,EAAIA,EAAM,gBAAgB,EAAI,CAAC01E,GAAa,QAAQ,CAAC11E,EAAM,SAAS,EACxG,OAEF,IAAM41E,EAAc51E,EAAM,eAAe,CAAGA,EAAM,eAAe,EAAE,CAAC,EAAE,CAAG,KACzE,GAAI,CAAC41E,GAAeA,AAA0B,KAA1BA,EAAY,SAAS,CACvC,OAEF,IAAM3mF,EAAO4mF,AAiBjB,SAAoC71E,CAAK,QAQvC,AAAI,AAAsB,UAAtB,OAAOA,EAAM,IAAI,CACZA,EAAM,IAAI,CAEfA,EAAM,YAAY,EAAE,MAAM,SAAS,cAC9BA,EAAM,YAAY,CAAC,OAAO,CAAC,cAE7B,IACT,EAhC4CA,GACxC,GAAI/Q,AAAQ,MAARA,EACF,OAEF,IAAM8yD,EAAa,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC6zB,GAClD7R,EAAQhiB,EAAa,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAACA,GAAc,KAC5EgiB,GAAS,IAAI,CAAC,WAAW,CAACA,EAAO90E,IACnC+Q,EAAM,cAAc,EAExB,CACA,wBAAyB,CACvB,IAAM+jE,EAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,GACjCA,GACF,IAAI,CAAC,WAAW,CAACA,EAErB,CACF,EC7DM+R,GAAQ,OAAO,IAAI,CAACl/B,UAAU,QAAQ,EAOtCm/B,GAA2B/1E,GAC/B,AAAkB,cAAdA,EAAM,GAAG,EAAoBA,AAAc,eAAdA,EAAM,GAAG,EAE1CA,AAAc,YAAdA,EAAM,GAAG,EAAkBA,AAAc,cAAdA,EAAM,GAAG,EAAoBA,AAAc,SAAdA,EAAM,GAAG,EAG7D81E,EAAAA,IAAS91E,AAAc,MAAdA,EAAM,GAAG,EAAYA,AAAkB,KAAlBA,EAAM,OAAO,EAGxC,GA0ET,GAxEA,MAAMg2E,UAAe,GACnB,YAAc,EAAM,AACpB,yBAA0B,CAAE,AAC5B,aAAYnR,CAAK,CAAEnnF,CAAO,CAAE,CAC1B,KAAK,CAACmnF,EAAOnnF,GACb,IAAI,CAAC,eAAe,GACpB,IAAI,CAAC,yBAAyB,EAChC,CACA,iBAAkB,CAChB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC7B,IAAK,CAAC,YAAa,aAAa,CAChC,OAAQ,EACR,SAAU,KACV,QAAQqmF,CAAK,CAAEnM,CAAI,EACjB,GAAI,CACFzO,KAAAA,CAAI,CACJnpD,MAAAA,CAAK,CACN,CAAG43D,EACJ,GAAI,CAAEzO,CAAAA,aAAgB,KAAe,CAACA,EAAK,MAAM,CAC/C,MAAO,GAET,IAAM8sB,EAAQhgC,AAAgD,QAAhDA,iBAAiBkT,EAAK,OAAO,EAAE,SAAY,OACzD,EAAI8sB,GAASj2E,AAAc,eAAdA,EAAM,GAAG,EAAqB,CAACi2E,GAASj2E,AAAc,cAAdA,EAAM,GAAG,GAG9D,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC+jE,EAAM,KAAK,CAAG,EAAGA,EAAM,MAAM,CAAI/jE,CAAAA,EAAM,QAAQ,CAAG,EAAI,GAAIorE,GAAM,OAAO,CAAC,IAAI,EAC7F,GACT,CACF,EACF,CACA,2BAA4B,CAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAWprE,IACtC,CAACA,EAAM,gBAAgB,EAAI+1E,GAAyB/1E,IACtD,IAAI,CAAC,gCAAgC,EAEzC,EACF,CAQA,kCAAmC,CAEjC,GADA,IAAI,CAAC,uBAAuB,CAAGsR,KAAK,GAAG,GA5DG,KA6DtC,IAAI,CAAC,WAAW,EACpB,IAAI,CAAC,WAAW,CAAG,GAOnBikC,SAAS,gBAAgB,CAAC,kBANT,KACf,IAAI,CAAC,WAAW,CAAG,GACfjkC,KAAK,GAAG,IAAM,IAAI,CAAC,uBAAuB,EAC5C,IAAI,CAAC,qBAAqB,EAE9B,EACuD,CACrD,KAAM,EACR,GACF,CACA,uBAAwB,CACtB,IAAMuyD,EAAYtuB,SAAS,YAAY,GACvC,GAAI,CAACsuB,EAAW,OAChB,IAAME,EAAQF,EAAU,UAAU,CAAC,GACnC,GAAIE,AAAoB,KAApBA,EAAM,SAAS,EAAaA,AAAsB,IAAtBA,EAAM,WAAW,CAAQ,OACzD,IAAM5a,EAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC4a,EAAM,cAAc,EACxD,GAAI,CAAE5a,CAAAA,aAAgB,KAAe,CAACA,EAAK,MAAM,CAAE,OACnD,IAAMxpB,EAAW4V,SAAS,WAAW,GACrC5V,EAAS,aAAa,CAACwpB,EAAK,MAAM,EAClCxpB,EAAS,WAAW,CAACwpB,EAAK,MAAM,EAChC0a,EAAU,eAAe,GACzBA,EAAU,QAAQ,CAAClkC,EACrB,CACF,EC1EAyrC,GAAM,QAAQ,CAAC,CACb,cAAepI,GACf,oBAAqBO,GACrB,cnCFa/+D,GmCGb,kBAAmB,GACnB,e/BiJao/D,G+BhJb,cAAe,GACf,eAAgB,GAChB,eAAgB,GAChB,aAAc,GACd,oBLHF,MAAMsS,UAAkB,GACtB,OAAO,SAAW,CAChB,SAAU,EAAE,AACd,CAAE,AACF,aAAYrR,CAAK,CAAEnnF,CAAO,CAAE,CAC1B,KAAK,CAACmnF,EAAOnnF,GACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAQb,GAAK,IAAI,CAAC,aAAa,CAACA,EAAG,KACpE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAOA,GAAK,IAAI,CAAC,aAAa,CAACA,EAAG,KACnE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAS,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,GACvE,IAAI,CAAC,QAAQ,CAAG,EAAE,CAClB62F,GAAiB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAI,EAAE,EAAE,OAAO,CAAC9b,IAC3D,GAAI,CAAChY,EAAUm1B,EAAQ,CAAGnd,EAC1B,IAAI,CAAC,UAAU,CAAChY,EAAUm1B,EAC5B,EACF,CACA,WAAWn1B,CAAQ,CAAEm1B,CAAO,CAAE,CAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAACn1B,EAAUm1B,EAAQ,CACxC,CACA,QAAQ1I,CAAK,CAAE,CACb,GAAI,CACFxyD,KAAAA,CAAI,CACJ5qB,KAAAA,CAAI,CACL,CAAGo9E,EACAzL,EAAU59E,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,CAAC,EACnF,GAAI49E,CAAO,CAAC,WAAkB,CAAC,CAC7B,OAAO,IAAIlZ,KAAQ,MAAM,CAACz4D,GAAQ,GAAI,CACpC,CAAC,WAAkB,CAAC,CAAE2xE,CAAO,CAAC,WAAkB,CAAC,AACnD,GAEF,GAAI,CAAC/mD,EACH,OAAO,IAAI6tC,KAAQ,MAAM,CAACz4D,GAAQ,GAAI2xE,GAExC,IAAMz9B,EAAQ,IAAI,CAAC,WAAW,CAACtpB,UAE/B,AAAIo6D,GAAc9wC,EAAO,OAAUA,CAAAA,AAA8C,MAA9CA,EAAM,GAAG,CAACA,EAAM,GAAG,CAAC,MAAM,CAAG,EAAE,CAAC,UAAU,EAAYy9B,EAAQ,KAAK,AAAD,EAC5Fz9B,EAAM,OAAO,CAAC,IAAIukB,KAAQ,MAAM,CAACvkB,EAAM,MAAM,GAAK,GAAG,MAAM,CAAC,IAE9DA,CACT,CACA,cAAcjpB,CAAG,CAAE,CACjBi8D,GAAsBj8D,EACxB,CACA,YAAYL,CAAI,CAAE,CAChB,IAAMK,EAAM,IAAIk8D,YAAY,eAAe,CAACv8D,EAAM,aAClD,IAAI,CAAC,aAAa,CAACK,GACnB,IAAMoxD,EAAYpxD,EAAI,IAAI,CACpB46D,EAAc,IAAI7nC,QAClB,CAAC2nC,EAAiBC,EAAa,CAAG,IAAI,CAAC,eAAe,CAACvJ,EAAWwJ,GACxE,OAAOH,GAAS,IAAI,CAAC,KAAK,CAAC,MAAM,CAAErJ,EAAWsJ,EAAiBC,EAAcC,EAC/E,CACA,qBAAqB1nF,CAAK,CAAEysB,CAAI,CAAE,CAChC,IAAIzc,EAASpa,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAGooF,GAAM,OAAO,CAAC,GAAG,CAClG,GAAI,AAAiB,UAAjB,OAAOh+E,EAAoB,CAC7B,IAAM+1C,EAAQ,IAAI,CAAC,OAAO,CAAC,CACzB,KAAM/1C,EACN,KAAM,EACR,GAEA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC+1C,EAAOtpB,GAC9B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAGuxD,GAAM,OAAO,CAAC,MAAM,CACjD,KAAO,CACL,IAAMiL,EAAQ,IAAI,CAAC,OAAO,CAAC,CACzBx8D,KAAAA,EACA,KAAM,EACR,GACA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI6tC,KAAQ,MAAM,CAACt6D,GAAO,MAAM,CAACipF,GAAQj5E,GACnE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAChQ,EAAQipF,EAAM,MAAM,GAAIjL,GAAM,OAAO,CAAC,MAAM,CACtE,CACF,CACA,cAAcvuF,CAAC,CAAE,CACf,IAAIy5F,EAAQtzF,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,EAAiBA,SAAS,CAAC,EAAE,CAC7E,GAAInG,EAAE,gBAAgB,CAAE,OACxBA,EAAE,cAAc,GAChB,GAAM,CAACknF,EAAM,CAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,GAC7C,GAAIA,AAAS,MAATA,EAAe,OACnB,GAAM,CACJlqD,KAAAA,CAAI,CACJ5qB,KAAAA,CAAI,CACL,CAAG,IAAI,CAAC,MAAM,CAAC80E,EAAOuS,EACvBz5F,CAAAA,EAAE,aAAa,EAAE,QAAQ,aAAcoS,GACvCpS,EAAE,aAAa,EAAE,QAAQ,YAAag9B,GAClCy8D,GACFrF,GAAY,CACVlN,MAAAA,EACA,MAAO,IAAI,CAAC,KAAK,AACnB,EAEJ,CAKA,iBAAiBwS,CAAO,CAAE,CACxB,OAAOA,EAAQ,KAAK,CAAC,SAEpB,MAAM,CAAC53B,GAAOA,AAAW,MAAXA,CAAG,CAAC,EAAE,EAAU,IAAI,CAAC,KACtC,CACA,eAAe9hE,CAAC,CAAE,CAChB,GAAIA,EAAE,gBAAgB,EAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAI,OACnDA,EAAE,cAAc,GAChB,IAAMknF,EAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IACtC,GAAIA,AAAS,MAATA,EAAe,OACnB,IAAMlqD,EAAOh9B,EAAE,aAAa,EAAE,QAAQ,aAClCoS,EAAOpS,EAAE,aAAa,EAAE,QAAQ,cACpC,GAAI,CAACg9B,GAAQ,CAAC5qB,EAAM,CAClB,IAAMsnF,EAAU15F,EAAE,aAAa,EAAE,QAAQ,iBACrC05F,GACFtnF,CAAAA,EAAO,IAAI,CAAC,gBAAgB,CAACsnF,EAAO,CAExC,CACA,IAAMvf,EAAQtyE,MAAM,IAAI,CAAC7H,EAAE,aAAa,EAAE,OAAS,EAAE,EACrD,GAAI,CAACg9B,GAAQm9C,EAAM,MAAM,CAAG,EAAG,CAC7B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC+M,EAAO/M,GAClC,MACF,CACA,GAAIn9C,GAAQm9C,EAAM,MAAM,CAAG,EAAG,CAC5B,IAAM98C,EAAM,IAAIk8D,YAAY,eAAe,CAACv8D,EAAM,aAClD,GAAIK,AAA+B,IAA/BA,EAAI,IAAI,CAAC,iBAAiB,EAAUA,EAAI,IAAI,CAAC,iBAAiB,EAAE,UAAY,MAAO,CACrF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC6pD,EAAO/M,GAClC,MACF,CACF,CACA,IAAI,CAAC,OAAO,CAAC+M,EAAO,CAClBlqD,KAAAA,EACA5qB,KAAAA,CACF,EACF,CACA,OAAO80E,CAAK,CAAE,CACZ,IAAM90E,EAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC80E,GAEhC,MAAO,CACLlqD,KAFW,IAAI,CAAC,KAAK,CAAC,eAAe,CAACkqD,GAGtC90E,KAAAA,CACF,CACF,CACA,QAAQ80E,CAAK,CAAE4K,CAAK,CAAE,CACpB,GAAI,CACF1/E,KAAAA,CAAI,CACJ4qB,KAAAA,CAAI,CACL,CAAG80D,EACE/N,EAAU,IAAI,CAAC,KAAK,CAAC,SAAS,CAACmD,EAAM,KAAK,EAC1CyS,EAAc,IAAI,CAAC,OAAO,CAAC,CAC/BvnF,KAAAA,EACA4qB,KAAAA,CACF,EAAG+mD,GACH,GAAM,GAAG,CAAC,UAAW4V,EAAa,CAChCvnF,KAAAA,EACA4qB,KAAAA,CACF,GACA,IAAMspB,EAAQ,IAAIukB,KAAQ,MAAM,CAACqc,EAAM,KAAK,EAAE,MAAM,CAACA,EAAM,MAAM,EAAE,MAAM,CAACyS,GAC1E,IAAI,CAAC,KAAK,CAAC,cAAc,CAACrzC,EAAOioC,GAAM,OAAO,CAAC,IAAI,EAEnD,IAAI,CAAC,KAAK,CAAC,YAAY,CAACjoC,EAAM,MAAM,GAAK4gC,EAAM,MAAM,CAAEqH,GAAM,OAAO,CAAC,MAAM,EAC3E,IAAI,CAAC,KAAK,CAAC,uBAAuB,EACpC,CACA,gBAAgBE,CAAS,CAAEwJ,CAAW,CAAE,CACtC,IAAMF,EAAkB,EAAE,CACpBC,EAAe,EAAE,CAsBvB,OArBA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC1pC,IACpB,GAAM,CAACyU,EAAUm1B,EAAQ,CAAG5pC,EAC5B,OAAQyU,GACN,KAAK2d,KAAK,SAAS,CACjBsX,EAAa,IAAI,CAACE,GAClB,KACF,MAAKxX,KAAK,YAAY,CACpBqX,EAAgB,IAAI,CAACG,GACrB,KACF,SACErwF,MAAM,IAAI,CAAC4mF,EAAU,gBAAgB,CAAC1rB,IAAW,OAAO,CAAC2F,IACvD,GAAIuvB,EAAY,GAAG,CAACvvB,GAAO,CACzB,IAAM6qB,EAAU0E,EAAY,GAAG,CAACvvB,GAChC6qB,GAAS,KAAK2E,EAChB,MACED,EAAY,GAAG,CAACvvB,EAAM,CAACwvB,EAAQ,CAEnC,EAEJ,CACF,GACO,CAACH,EAAiBC,EAAa,AACxC,CACF,EKjLE,kBJ1BF,MAAM4B,UAAgB,GACpB,OAAO,SAAW,CAChB,MAAO,IACP,SAAU,IACV,SAAU,EACZ,CAAE,AACF,cAAe,CAAE,AACjB,cAAe,EAAM,AACrB,OAAQ,CACN,KAAM,EAAE,CACR,KAAM,EAAE,AACV,CAAE,AACF,cAAe,IAAK,AACpB,aAAY5R,CAAK,CAAEnnF,CAAO,CAAE,CAC1B,KAAK,CAACmnF,EAAOnnF,GACb,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC0tF,GAAM,MAAM,CAAC,aAAa,CAAE,CAACxG,EAAW9mF,EAAOkrF,EAAU5rE,KACjEwnE,IAAcwG,GAAM,MAAM,CAAC,gBAAgB,CACzCttF,GAASsf,IAAWguE,GAAM,OAAO,CAAC,MAAM,EAC1C,KAAI,CAAC,YAAY,CAAGttF,CAAI,EAEjB8mF,IAAcwG,GAAM,MAAM,CAAC,WAAW,GAC3C,CAAC,IAAI,CAAC,YAAY,GAChB,AAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAIhuE,IAAWguE,GAAM,OAAO,CAAC,IAAI,CAGzD,IAAI,CAAC,SAAS,CAACttF,GAFf,IAAI,CAAC,MAAM,CAACA,EAAOkrF,IAKvB,IAAI,CAAC,YAAY,CAAGsM,GAAe,IAAI,CAAC,YAAY,CAAEx3F,GAE1D,GACA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC7B,IAAK,IACL,SAAU,EACZ,EAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC7B,IAAK,CAAC,IAAK,IAAI,CACf,SAAU,GACV,SAAU,EACZ,EAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAClB,OAAO,IAAI,CAAC84D,UAAU,QAAQ,GAChC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC7B,IAAK,IACL,SAAU,EACZ,EAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAExB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAe52C,IAC1CA,AAAoB,gBAApBA,EAAM,SAAS,EACjB,IAAI,CAAC,IAAI,GACTA,EAAM,cAAc,IACS,gBAApBA,EAAM,SAAS,GACxB,IAAI,CAAC,IAAI,GACTA,EAAM,cAAc,GAExB,EACF,CACA,OAAO5C,CAAM,CAAED,CAAI,CAAE,CACnB,GAAI,AAA8B,IAA9B,IAAI,CAAC,KAAK,CAACC,EAAO,CAAC,MAAM,CAAQ,OACrC,IAAMrV,EAAO,IAAI,CAAC,KAAK,CAACqV,EAAO,CAAC,GAAG,GACnC,GAAI,CAACrV,EAAM,OACX,IAAMk/D,EAAO,IAAI,CAAC,KAAK,CAAC,WAAW,GAC7ByvB,EAAe3uF,EAAK,KAAK,CAAC,MAAM,CAACk/D,GACvC,IAAI,CAAC,KAAK,CAAC9pD,EAAK,CAAC,IAAI,CAAC,CACpB,MAAOu5E,EACP,MAAOpB,GAAevtF,EAAK,KAAK,CAAE2uF,EACpC,GACA,IAAI,CAAC,YAAY,CAAG,EACpB,IAAI,CAAC,YAAY,CAAG,GACpB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC3uF,EAAK,KAAK,CAAEqjF,GAAM,OAAO,CAAC,IAAI,EACxD,IAAI,CAAC,YAAY,CAAG,GACpB,IAAI,CAAC,gBAAgB,CAACrjF,EACxB,CACA,OAAQ,CACN,IAAI,CAAC,KAAK,CAAG,CACX,KAAM,EAAE,CACR,KAAM,EAAE,AACV,CACF,CACA,QAAS,CACP,IAAI,CAAC,YAAY,CAAG,CACtB,CACA,OAAO4uF,CAAW,CAAE7N,CAAQ,CAAE,CAC5B,GAAI6N,AAA2B,IAA3BA,EAAY,GAAG,CAAC,MAAM,CAAQ,MAClC,KAAI,CAAC,KAAK,CAAC,IAAI,CAAG,EAAE,CACpB,IAAIC,EAAYD,EAAY,MAAM,CAAC7N,GAC/B+N,EAAY,IAAI,CAAC,YAAY,CAC3BC,EAAYxlE,KAAK,GAAG,GAC1B,GAEA,IAAI,CAAC,YAAY,CAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAGwlE,GAAa,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAG,EAAG,CAChF,IAAM/uF,EAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAC5BA,IACF6uF,EAAYA,EAAU,OAAO,CAAC7uF,EAAK,KAAK,EACxC8uF,EAAY9uF,EAAK,KAAK,CAE1B,MACE,IAAI,CAAC,YAAY,CAAG+uF,CAEK,KAAvBF,EAAU,MAAM,KACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CACnB,MAAOA,EACP,MAAOC,CACT,GAEI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAChD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAEzB,CACA,MAAO,CACL,IAAI,CAAC,MAAM,CAAC,OAAQ,OACtB,CACA,UAAU1zC,CAAK,CAAE,CACfgyC,GAAe,IAAI,CAAC,KAAK,CAAC,IAAI,CAAEhyC,GAChCgyC,GAAe,IAAI,CAAC,KAAK,CAAC,IAAI,CAAEhyC,EAClC,CACA,MAAO,CACL,IAAI,CAAC,MAAM,CAAC,OAAQ,OACtB,CACA,iBAAiB4zC,CAAS,CAAE,CAC1B,GAAIA,EAAU,KAAK,CACjB,IAAI,CAAC,KAAK,CAAC,YAAY,CAACA,EAAU,KAAK,CAAE3L,GAAM,OAAO,CAAC,IAAI,MACtD,CACL,IAAMh+E,EAAQ4pF,AAgCpB,SAA4B3Z,CAAM,CAAEl6B,CAAK,EACvC,IAAM8zC,EAAe9zC,EAAM,MAAM,CAAC,CAAC7kD,EAAQ0pE,IAClC1pE,EAAU0pE,CAAAA,EAAG,MAAM,EAAI,GAC7B,GACCkvB,EAAc/zC,EAAM,MAAM,GAAK8zC,EAInC,OAHIE,AAlBN,SAA+B9Z,CAAM,CAAEl6B,CAAK,EAC1C,IAAM0kB,EAAS1kB,EAAM,GAAG,CAACA,EAAM,GAAG,CAAC,MAAM,CAAG,EAAE,QAC9C,AAAc,MAAV0kB,IACAA,AAAiB,MAAjBA,EAAO,MAAM,CACR,AAAyB,UAAzB,OAAOA,EAAO,MAAM,EAAiBA,EAAO,MAAM,CAAC,QAAQ,CAAC,MAE5C,MAArBA,EAAO,UAAU,EACZzrE,OAAO,IAAI,CAACyrE,EAAO,UAAU,EAAE,IAAI,CAACvlD,GAClC+6D,AAAmC,MAAnCA,EAAO,KAAK,CAAC/6D,EAAMs6D,GAAM,KAAK,GAI3C,EAM4BS,EAAQl6B,IAChC+zC,CAAAA,GAAe,GAEVA,CACT,EAzCuC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAEH,EAAU,KAAK,EACnE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC3pF,EAAOg+E,GAAM,OAAO,CAAC,IAAI,CACnD,CACF,CACF,EInGE,mBAAoB4E,GACpB,mBHoCauF,GGnCb,gBAAiB,GACjB,iBAAkB,EACpB,GCXA,IAAM6B,GAAc,IAtBpB,MAAMC,UAAyB,GAC7B,IAAI9xB,CAAI,CAAEznE,CAAK,CAAE,CACf,IAAIw5F,EAAkB,EACtB,GAAIx5F,AAAU,OAAVA,GAAkBA,AAAU,OAAVA,EAAgB,CACpC,IAAMwlB,EAAS,IAAI,CAAC,KAAK,CAACiiD,IAAS,EACnC+xB,EAAkBx5F,AAAU,OAAVA,EAAiBwlB,EAAS,EAAIA,EAAS,CAC3D,KAA4B,UAAjB,OAAOxlB,GAChBw5F,CAAAA,EAAkBx5F,CAAI,SAExB,AAAIw5F,AAAoB,IAApBA,GACF,IAAI,CAAC,MAAM,CAAC/xB,GACL,IAEF,KAAK,CAAC,IAAIA,EAAM+xB,EAAgB,QAAQ,GACjD,CACA,OAAO/xB,CAAI,CAAEznE,CAAK,CAAE,CAClB,OAAO,KAAK,CAAC,OAAOynE,EAAMznE,IAAU,KAAK,CAAC,OAAOynE,EAAMrhE,SAASpG,EAAO,IACzE,CACA,MAAMynE,CAAI,CAAE,CACV,OAAOrhE,SAAS,KAAK,CAAC,MAAMqhE,GAAO,KAAO1nE,KAAAA,CAC5C,CACF,EACyC,SAAU,YAAa,CAC9D,MAAO++E,GAAM,KAAK,CAElB,UAAW,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAE,AACrC,GCtBA,GAJA,MAAM2a,UAAmBvU,GACvB,OAAO,SAAW,YAAa,AAC/B,QAAO,QAAU,YAAa,AAChC,ECIA,GAPA,MAAMr0D,UAAeq0D,GACnB,OAAO,SAAW,QAAS,AAC3B,QAAO,QAAU,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAK,AAAC,AACtD,QAAO,QAAQ1E,CAAO,CAAE,CACtB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAACA,EAAQ,OAAO,EAAI,CACjD,CACF,CCJA,OAAMkZ,WAAsB,GAAW,CACvCA,GAAc,QAAQ,CAAG,iBACzBA,GAAc,OAAO,CAAG,IACxB,OAAMC,WAAiBzU,GACrB,OAAO,OAAOllF,CAAK,CAAE,CACnB,IAAMynE,EAAO,KAAK,CAAC,SAEnB,OADAA,EAAK,YAAY,CAAC,YAAaznE,GACxBynE,CACT,CACA,OAAO,QAAQ+Y,CAAO,CAAE,CACtB,OAAOA,EAAQ,YAAY,CAAC,cAAgBzgF,KAAAA,CAC9C,CACA,OAAO,UAAW,CAChButF,GAAM,QAAQ,CAACoM,GACjB,CACA,YAAYna,CAAM,CAAEiB,CAAO,CAAE,CAC3B,KAAK,CAACjB,EAAQiB,GACd,IAAMoZ,EAAKpZ,EAAQ,aAAa,CAAC,aAAa,CAAC,QACzCqZ,EAAmB96F,IACvB,GAAI,CAACwgF,EAAO,SAAS,GAAI,OACzB,IAAMruE,EAAS,IAAI,CAAC,OAAO,CAAC,OAAO,CAACsvE,EAASjB,EACzCruE,AAAW,aAAXA,GACF,IAAI,CAAC,MAAM,CAAC,OAAQ,aACpBnS,EAAE,cAAc,IACI,cAAXmS,IACT,IAAI,CAAC,MAAM,CAAC,OAAQ,WACpBnS,EAAE,cAAc,GAEpB,EACA66F,EAAG,gBAAgB,CAAC,YAAaC,GACjCD,EAAG,gBAAgB,CAAC,aAAcC,GAClC,IAAI,CAAC,QAAQ,CAACD,EAChB,CACA,OAAOx7F,CAAI,CAAE4B,CAAK,CAAE,CACd5B,IAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAI4B,EACpC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAaA,GAEvC,KAAK,CAAC,OAAO5B,EAAM4B,EAEvB,CACF,CACA25F,GAAS,QAAQ,CAAG,OACpBA,GAAS,OAAO,CAAG,KACnBD,GAAc,eAAe,CAAG,CAACC,GAAS,CAC1CA,GAAS,iBAAiB,CAAGD,GC9B7B,OAhBA,MAAM7yE,UAAa,GACjB,OAAO,SAAW,MAAO,AACzB,QAAO,QAAU,CAAC,SAAU,IAAI,AAAC,AACjC,QAAO,QAAS,CACd,OAAO,KAAK,CAAC,QACf,CACA,OAAO,SAAU,CACf,MAAO,EACT,CACA,SAASy5B,CAAO,CAAE,CAChB,KAAK,CAAC,SAASA,GACX,IAAI,CAAC,OAAO,CAAC,OAAO,GAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAClD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAE1C,CACF,CCfA,OAAMrlC,WAAa,GACjB,OAAO,SAAW,MAAO,AACzB,QAAO,QAAU,GAAI,AACrB,QAAO,cAAgB,aAAc,AACrC,QAAO,mBAAqB,CAAC,OAAQ,QAAS,SAAU,MAAO,MAAM,AAAC,AACtE,QAAO,OAAOjb,CAAK,CAAE,CACnB,IAAMynE,EAAO,KAAK,CAAC,OAAOznE,GAI1B,OAHAynE,EAAK,YAAY,CAAC,OAAQ,IAAI,CAAC,QAAQ,CAACznE,IACxCynE,EAAK,YAAY,CAAC,MAAO,uBACzBA,EAAK,YAAY,CAAC,SAAU,UACrBA,CACT,CACA,OAAO,QAAQ+Y,CAAO,CAAE,CACtB,OAAOA,EAAQ,YAAY,CAAC,OAC9B,CACA,OAAO,SAAS3f,CAAG,CAAE,CACnB,OAAOi5B,GAASj5B,EAAK,IAAI,CAAC,kBAAkB,EAAIA,EAAM,IAAI,CAAC,aAAa,AAC1E,CACA,OAAOziE,CAAI,CAAE4B,CAAK,CAAE,CACd5B,IAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAK4B,EAIrC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAACA,IAH5D,KAAK,CAAC,OAAO5B,EAAM4B,EAKvB,CACF,CACA,SAAS85F,GAASj5B,CAAG,CAAEk5B,CAAS,EAC9B,IAAMt0D,EAASgyB,SAAS,aAAa,CAAC,IACtChyB,CAAAA,EAAO,IAAI,CAAGo7B,EACd,IAAMm5B,EAAWv0D,EAAO,IAAI,CAAC,KAAK,CAAC,EAAGA,EAAO,IAAI,CAAC,OAAO,CAAC,MAC1D,OAAOs0D,EAAU,OAAO,CAACC,GAAY,EACvC,CCdA,OAlBA,MAAMC,UAAe,GACnB,OAAO,SAAW,QAAS,AAC3B,QAAO,QAAU,CAAC,MAAO,MAAM,AAAC,AAChC,QAAO,OAAOj6F,CAAK,CAAE,OACnB,AAAIA,AAAU,UAAVA,EACKy3D,SAAS,aAAa,CAAC,OAE5Bz3D,AAAU,QAAVA,EACKy3D,SAAS,aAAa,CAAC,OAEzB,KAAK,CAAC,OAAOz3D,EACtB,CACA,OAAO,QAAQwgF,CAAO,CAAE,OACtB,AAAIA,AAAoB,QAApBA,EAAQ,OAAO,CAAmB,MAClCA,AAAoB,QAApBA,EAAQ,OAAO,CAAmB,cAExC,CACF,ECbA,GAJA,MAAMpzE,UAAkB,GACtB,OAAO,SAAW,WAAY,AAC9B,QAAO,QAAU,GAAI,AACvB,EC2BA,GA9BA,MAAM8sF,UAAgB,GACpB,OAAO,SAAW,SAAU,AAC5B,QAAO,UAAY,YAAa,AAChC,QAAO,QAAU,MAAO,AACxB,QAAO,OAAOl6F,CAAK,CAAE,CAEnB,GAAIhB,AAAgB,MAAhBA,OAAO,KAAK,CACd,MAAM,AAAIkC,MAAM,kCAElB,IAAMumE,EAAO,KAAK,CAAC,OAAOznE,GAS1B,MARqB,UAAjB,OAAOA,IAEThB,OAAO,KAAK,CAAC,MAAM,CAACgB,EAAOynE,EAAM,CAC/B,aAAc,GACd,WAAY,MACd,GACAA,EAAK,YAAY,CAAC,aAAcznE,IAE3BynE,CACT,CACA,OAAO,MAAM+Y,CAAO,CAAE,CACpB,OAAOA,EAAQ,YAAY,CAAC,aAC9B,CACA,MAAO,CACL,GAAM,CACJ2Z,QAAAA,CAAO,CACR,CAAG,IAAI,CAAC,KAAK,GACd,MAAO,CAAC,MAAM,EAAEA,EAAQ,OAAO,CAAC,AAClC,CACF,EC5BMC,GAAa,CAAC,MAAO,SAAU,QAAQ,CAwC7C,GAvCA,MAAMC,UAAc,GAClB,OAAO,SAAW,OAAQ,AAC1B,QAAO,QAAU,KAAM,AACvB,QAAO,OAAOr6F,CAAK,CAAE,CACnB,IAAMynE,EAAO,KAAK,CAAC,OAAOznE,GAI1B,MAHqB,UAAjB,OAAOA,GACTynE,EAAK,YAAY,CAAC,MAAO,IAAI,CAAC,QAAQ,CAACznE,IAElCynE,CACT,CACA,OAAO,QAAQ+Y,CAAO,CAAE,CACtB,OAAO4Z,GAAW,MAAM,CAAC,CAACtX,EAAS9pD,KAC7BwnD,EAAQ,YAAY,CAACxnD,IACvB8pD,CAAAA,CAAO,CAAC9pD,EAAU,CAAGwnD,EAAQ,YAAY,CAACxnD,EAAS,EAE9C8pD,GACN,CAAC,EACN,CACA,OAAO,MAAMjiB,CAAG,CAAE,CAChB,MAAO,qBAAqB,IAAI,CAACA,IAAQ,yBAAyB,IAAI,CAACA,EACzE,CACA,OAAO,SAASA,CAAG,CAAE,CACnB,OAAOi5B,GAASj5B,EAAK,CAAC,OAAQ,QAAS,OAAO,EAAIA,EAAM,MAC1D,CACA,OAAO,MAAM2f,CAAO,CAAE,CACpB,OAAOA,EAAQ,YAAY,CAAC,MAC9B,CACA,OAAOpiF,CAAI,CAAE4B,CAAK,CAAE,CACdo6F,GAAW,OAAO,CAACh8F,GAAQ,GACzB4B,EACF,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC5B,EAAM4B,GAEhC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC5B,GAG/B,KAAK,CAAC,OAAOA,EAAM4B,EAEvB,CACF,ECvCM,GAAa,CAAC,SAAU,QAAQ,CA4CtC,GA3CA,MAAMs6F,UAAc7U,GAClB,OAAO,SAAW,OAAQ,AAC1B,QAAO,UAAY,UAAW,AAC9B,QAAO,QAAU,QAAS,AAC1B,QAAO,OAAOzlF,CAAK,CAAE,CACnB,IAAMynE,EAAO,KAAK,CAAC,OAAOznE,GAI1B,OAHAynE,EAAK,YAAY,CAAC,cAAe,KACjCA,EAAK,YAAY,CAAC,kBAAmB,QACrCA,EAAK,YAAY,CAAC,MAAO,IAAI,CAAC,QAAQ,CAACznE,IAChCynE,CACT,CACA,OAAO,QAAQ+Y,CAAO,CAAE,CACtB,OAAO,GAAW,MAAM,CAAC,CAACsC,EAAS9pD,KAC7BwnD,EAAQ,YAAY,CAACxnD,IACvB8pD,CAAAA,CAAO,CAAC9pD,EAAU,CAAGwnD,EAAQ,YAAY,CAACxnD,EAAS,EAE9C8pD,GACN,CAAC,EACN,CACA,OAAO,SAASjiB,CAAG,CAAE,CACnB,OAAO5lD,GAAK,QAAQ,CAAC4lD,EACvB,CACA,OAAO,MAAM2f,CAAO,CAAE,CACpB,OAAOA,EAAQ,YAAY,CAAC,MAC9B,CACA,OAAOpiF,CAAI,CAAE4B,CAAK,CAAE,CACd,GAAW,OAAO,CAAC5B,GAAQ,GACzB4B,EACF,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC5B,EAAM4B,GAEhC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC5B,GAG/B,KAAK,CAAC,OAAOA,EAAM4B,EAEvB,CACA,MAAO,CACL,GAAM,CACJu6F,MAAAA,CAAK,CACN,CAAG,IAAI,CAAC,KAAK,GACd,MAAO,CAAC,SAAS,EAAEA,EAAM,EAAE,EAAEA,EAAM,IAAI,CAAC,AAC1C,CACF,EClCMC,GAAkB,IAAI,GAAgB,aAAc,OAAQ,CAChE,MAAO1b,GAAM,MAAM,AACrB,EACA,OAAM2b,WAAkB,GACtB,OAAO,QAAQhzB,CAAI,CAAE8X,CAAM,CAAE,CAC3B,KAAO9X,AAAQ,MAARA,GAAgBA,IAAS8X,EAAO,OAAO,EAAE,CAC9C,GAAI9X,EAAK,SAAS,EAAIA,EAAK,SAAS,CAAC,QAAQ,CAAC,YAAmB,EAE/D,OAAO,KAAK,CAAC,QAAQA,EAAM8X,GAG7B9X,EAAOA,EAAK,UAAU,AACxB,CAEF,CACA,YAAY8X,CAAM,CAAEiB,CAAO,CAAExgF,CAAK,CAAE,CAElC,KAAK,CAACu/E,EAAQiB,EAASxgF,GACvBw6F,GAAgB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAEx6F,EACpC,CACA,OAAOkR,CAAM,CAAElR,CAAK,CAAE,CAChBkR,IAAWupF,GAAU,QAAQ,CAC/B,KAAK,CAAC,OAAOvpF,EAAQlR,GACZA,EACTw6F,GAAgB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAEx6F,IAElCw6F,GAAgB,MAAM,CAAC,IAAI,CAAC,OAAO,EACnC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAExD,CACA,UAAW,CAET,KAAK,CAAC,YAAYt1F,WACd,CAACs1F,GAAgB,KAAK,CAAC,IAAI,CAAC,OAAO,GACrC,IAAI,CAAC,MAAM,EAEf,CACF,CACAC,GAAU,QAAQ,CAAG,aACrBA,GAAU,SAAS,CAAG,UACtB,OAAMC,WAAwB,GAC5B,OAAO,OAAO16F,CAAK,CAAE,CACnB,IAAMwgF,EAAU,KAAK,CAAC,OAAOxgF,GAI7B,MAHqB,UAAjB,OAAOA,GACTwgF,EAAQ,YAAY,CAAC,gBAAiBxgF,GAEjCwgF,CACT,CACA,OAAO,QAAQA,CAAO,CAAE,CAEtB,OAAOA,EAAQ,YAAY,CAAC,kBAAoB,OAClD,CACA,OAAO,UAAW,CAAC,CAEnB,OAAOpiF,CAAI,CAAE4B,CAAK,CAAE,CACd5B,IAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAI4B,EAEpC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAiBA,GAE3C,KAAK,CAAC,OAAO5B,EAAM4B,EAEvB,CACA,YAAY5B,CAAI,CAAE4B,CAAK,CAAE,CAEvB,OADA,IAAI,CAAC,QAAQ,CAAC,EAAG,IAAI,CAAC,MAAM,GAAIy6F,GAAU,QAAQ,CAAE,IAC7C,KAAK,CAAC,YAAYr8F,EAAM4B,EACjC,CACF,CACA,MAAM26F,WAAiCpJ,GACrC,QAAS,CACP,KAAK,CAAC,SACN,IAAI,CAAC,SAAS,CAAG,GAEjB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAC5B,CACA,OAAOnzF,CAAI,CAAE4B,CAAK,CAAE,CACd5B,IAASs8F,GAAgB,QAAQ,GACnC,IAAI,CAAC,SAAS,CAAG,GACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAACjuF,IAEpBA,EAAM,MAAM,CAACrO,EAAM4B,EACrB,GAEJ,CACA,SAASsP,CAAK,CAAE9O,CAAM,CAAEpC,CAAI,CAAE4B,CAAK,CAAE,CAC/B5B,IAASs8F,GAAgB,QAAQ,EACnC,KAAI,CAAC,SAAS,CAAG,EAAG,EAEtB,KAAK,CAAC,SAASprF,EAAO9O,EAAQpC,EAAM4B,EACtC,CACA,UAAU46F,CAAS,CAAE,CACnB,IAAIC,EAAS31F,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,EAAiBA,SAAS,CAAC,EAAE,CAC9E,GAAI,AAAsB,MAAtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAU,OAChC,IAAM2gB,EAAQjf,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC6gE,GAAQA,IAAS,IAAI,CAAC,MAAM,EAC/Et2D,EAAO,CAAC,EAAE0U,EAAM,GAAG,CAAC4hD,GAAQA,EAAK,WAAW,EAAE,IAAI,CAAC;AAAQ,CAAC,CAC5DqP,EAAW4jB,GAAgB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EACnE,GAAIG,GAAU,IAAI,CAAC,SAAS,EAAI,IAAI,CAAC,UAAU,GAAK1pF,EAAM,CACxD,GAAIA,EAAK,IAAI,GAAG,MAAM,CAAG,GAAK,AAAmB,MAAnB,IAAI,CAAC,UAAU,CAAU,CACrD,IAAM65E,EAAW,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC3lC,EAAO54C,IAErC44C,EAAM,MAAM,CAAC8/B,GAAW14E,EAAO,KACrC,IAAIm9D,IACDvkB,EAAQu1C,EAAUzpF,EAAM2lE,GAC9BkU,EAAS,IAAI,CAAC3lC,GAAO,MAAM,CAAC,CAAC/1C,EAAOwqE,KAClC,GAAI,CACFghB,OAAAA,CAAM,CACNlgF,WAAAA,CAAU,CACX,CAAGk/D,SAEJ,AAAKghB,GACDlgF,GACFtc,OAAO,IAAI,CAACsc,GAAY,OAAO,CAAC1J,IAC1B,CAACwpF,GAAgB,QAAQ,CAAED,GAAU,QAAQ,CAAC,CAAC,QAAQ,CAACvpF,IAE1D,IAAI,CAAC,QAAQ,CAAC5B,EAAOwrF,EAAQ5pF,EAAQ0J,CAAU,CAAC1J,EAAO,CAE3D,GAGK5B,EAAQwrF,GAVKxrF,CAWtB,EAAG,EACL,CACA,IAAI,CAAC,UAAU,CAAG6B,EAClB,IAAI,CAAC,SAAS,CAAG,EACnB,CACF,CACA,KAAK7B,CAAK,CAAE9O,CAAM,CAAE,CAClB,GAAM,CAACu6F,EAAU,CAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAACzrF,GACjCwnE,EAAWikB,EAAYL,GAAgB,OAAO,CAACK,EAAU,OAAO,EAAI,QAC1E,MAAO,CAAC,oBAAoB,EAAEjkB,EAAS;AAAI,EAAEgO,GAAW,IAAI,CAAC,IAAI,CAACx1E,EAAO9O;AAAW,MAAM,CAAC,AAC7F,CACA,SAAS8/C,CAAO,CAAE,CAEhB,GADA,KAAK,CAAC,SAASA,GACX,AAAe,MAAf,IAAI,CAAC,MAAM,EAAY,AAAsB,MAAtB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAY,AAAe,MAAf,IAAI,CAAC,MAAM,CAAU,CAC5E,IAAMw2B,EAAW4jB,GAAgB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAE/D5jB,IAAa,IAAI,CAAC,MAAM,CAAC,KAAK,EAEhC,KAAI,CAAC,MAAM,CAAC,KAAK,CAAGA,CAAO,CAE/B,CACF,CACF,CACA6jB,GAAyB,eAAe,CAAG,CAACD,GAAgB,CAC5DA,GAAgB,iBAAiB,CAAGC,GACpCD,GAAgB,eAAe,CAAG,CAACD,G3CapB3U,G2Cb2C,G/CxI3Cp/D,G+CwI+D,CAC9E,IAAM,GAAY,CAACs0E,EAAKlkB,EAAU3lE,IAChC,AAAI,AAA6B,UAA7B,OAAO6pF,EAAI,aAAa,EAEtB50F,SADiB40F,EAAI,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CACzB,KAAO,GACzBA,EAAI,SAAS,CAAC7pF,EAAM,CACzB2lE,SAAAA,CACF,GAAG,KAAK,CAGLkkB,EAAI,SAAS,CAAClkB,EAAU3lE,GAAM,KAAK,AAE5C,OAAM8pF,WAAe,GACnB,OAAO,UAAW,CAChB3N,GAAM,QAAQ,CAACmN,GAAW,IAC1BnN,GAAM,QAAQ,CAACoN,GAAiB,IAChCpN,GAAM,QAAQ,CAACqN,GAA0B,GAC3C,CACA,YAAY5T,CAAK,CAAEnnF,CAAO,CAAE,CAE1B,GADA,KAAK,CAACmnF,EAAOnnF,GACT,AAAqB,MAArB,IAAI,CAAC,OAAO,CAAC,IAAI,CACnB,MAAM,AAAIsB,MAAM,4FAGlB,KAAI,CAAC,SAAS,CAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAACmoE,EAAMklB,KACpD,GAAI,CACFlvF,IAAAA,CAAG,CACJ,CAAGkvF,EAEJ,OADAllB,CAAI,CAAChqE,EAAI,CAAG,GACLgqE,CACT,EAAG,CAAC,GACJ,IAAI,CAAC,aAAa,CAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EACjD,IAAI,CAAC,YAAY,GACjB,IAAI,CAAC,SAAS,EAChB,CACA,cAAe,CACb,IAAI,CAAC,KAAK,CAAC,EAAE,CAACikB,GAAM,MAAM,CAAC,iBAAiB,CAAE3N,IAC5C,GAAI,CAAEA,CAAAA,aAAgBgb,EAAuB,EAAI,OACjD,IAAMO,EAAS,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,UAE3D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAACrK,IAC7B,GAAI,CACFxxF,IAAAA,CAAG,CACHo5E,MAAAA,CAAK,CACN,CAAGoY,EACEz/D,EAAS8pE,EAAO,aAAa,CAAC,aAAa,CAAC,SAClD9pE,CAAAA,EAAO,WAAW,CAAGqnD,EACrBrnD,EAAO,YAAY,CAAC,QAAS/xB,GAC7B67F,EAAO,WAAW,CAAC9pE,EACrB,GACA8pE,EAAO,gBAAgB,CAAC,SAAU,KAChCvb,EAAK,MAAM,CAAC+a,GAAgB,QAAQ,CAAEQ,EAAO,KAAK,EAClD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GACrB,IAAI,CAAC,SAAS,CAACvb,EAAM,GACvB,GACmB,MAAfA,EAAK,MAAM,GACbA,EAAK,QAAQ,CAACub,GACVvb,EAAK,QAAQ,CAAC,IAAI,EACpBub,CAAAA,EAAO,KAAK,CAAGR,GAAgB,OAAO,CAAC/a,EAAK,QAAQ,CAAC,IAAI,CAAC,OAAO,GAGvE,EACF,CACA,WAAY,CACV,IAAIwb,EAAQ,KACZ,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC7N,GAAM,MAAM,CAAC,eAAe,CAAE,KACtC6N,GACFvwF,aAAauwF,GAEfA,EAAQxwF,WAAW,KACjB,IAAI,CAAC,SAAS,GACdwwF,EAAQ,IACV,EAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAC1B,EACF,CACA,WAAY,CACV,IAAIxb,EAAOz6E,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,KAC3E8gE,EAAQ9gE,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,EAAiBA,SAAS,CAAC,EAAE,CAC7E,GAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAE,OACpC,IAAI,CAAC,KAAK,CAAC,MAAM,CAACooF,GAAM,OAAO,CAAC,IAAI,EACpC,IAAMrH,EAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,GAErCmE,AADczK,CAAAA,AAAQ,MAARA,EAAe,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAACgb,IAA4B,CAAChb,EAAK,AAAD,EACtF,OAAO,CAAC6N,IACZA,EAAU,SAAS,CAAC,IAAI,CAAC,aAAa,CAAExnB,EAC1C,GACA,IAAI,CAAC,KAAK,CAAC,MAAM,CAACsnB,GAAM,OAAO,CAAC,MAAM,EACzB,MAATrH,GACF,IAAI,CAAC,KAAK,CAAC,YAAY,CAACA,EAAOqH,GAAM,OAAO,CAAC,MAAM,CAEvD,CACA,cAAcn8E,CAAI,CAAE,CAClB,IAAI2lE,EAAW5xE,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,QAEnF,GAAI4xE,AAAa,UADjBA,CAAAA,EAAW,IAAI,CAAC,SAAS,CAACA,EAAS,CAAGA,EAAW,OAAM,EAErD,OAAOgO,GAAW3zE,GAAM,KAAK,CAAC,MAAM,MAAM,CAAC,CAACk0C,EAAOgmB,EAAM7oE,KAC7C,IAANA,GACF6iD,EAAM,MAAM,CAAC,KAAM,CACjB,CAAC,WAAkB,CAAC,CAAEyxB,CACxB,GAEKzxB,EAAM,MAAM,CAACgmB,IACnB,IAAIzB,IAET,IAAM4jB,EAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAG9D,OAFAA,EAAU,SAAS,CAAC,GAAG,CAAC,YAAmB,EAC3CA,EAAU,SAAS,CAAG,GAAU,IAAI,CAAC,OAAO,CAAC,IAAI,CAAE1W,EAAU3lE,GACtD0lF,GAAS,IAAI,CAAC,KAAK,CAAC,MAAM,CAAErJ,EAAW,CAAC,CAAC/lB,EAAMpiB,KAEpD,IAAMrlD,EAAQw6F,GAAgB,KAAK,CAAC/yB,UACpC,AAAIznE,EACKqlD,EAAM,OAAO,CAAC,IAAIukB,KAAQ,MAAM,CAACvkB,EAAM,MAAM,GAAI,CACtD,CAACo1C,GAAU,QAAQ,CAAC,CAAEz6F,CACxB,IAEKqlD,CACT,EAAE,CAAE,CAAC,CAACoiB,EAAMpiB,IAEHoiB,EAAK,IAAI,CAAC,KAAK,CAAC,MAAM,MAAM,CAAC,CAAC4B,EAAM+xB,EAAU54F,KACzC,IAANA,GAAS6mE,EAAK,MAAM,CAAC,KAAM,CAC7B,CAAC,WAAkB,CAAC,CAAEyN,CACxB,GACOzN,EAAK,MAAM,CAAC+xB,IAClB/1C,GACH,CAAE,IAAI8J,QACV,CACF,CACA8rC,GAAO,QAAQ,CAAG,CAChB,IAAI,CACKj8F,OAAO,KAEhB,SAAU,IACV,UAAW,CAAC,CACV,IAAK,QACL,MAAO,OACT,EAAG,CACD,IAAK,OACL,MAAO,MACT,EAAG,CACD,IAAK,MACL,MAAO,KACT,EAAG,CACD,IAAK,KACL,MAAO,IACT,EAAG,CACD,IAAK,MACL,MAAO,KACT,EAAG,CACD,IAAK,OACL,MAAO,MACT,EAAG,CACD,IAAK,MACL,MAAO,UACT,EAAG,CACD,IAAK,OACL,MAAO,MACT,EAAG,CACD,IAAK,aACL,MAAO,YACT,EAAG,CACD,IAAK,WACL,MAAO,UACT,EAAG,CACD,IAAK,MACL,MAAO,KACT,EAAG,CACD,IAAK,SACL,MAAO,QACT,EAAG,CACD,IAAK,OACL,MAAO,MACT,EAAG,CACD,IAAK,MACL,MAAO,KACT,EAAE,AACJ,CCvUA,OAAMysC,WAAkBy5C,GACtB,OAAO,SAAW,OAAQ,AAC1B,QAAO,QAAU,IAAK,AACtB,QAAO,OAAOllF,CAAK,CAAE,CACnB,IAAMynE,EAAO,KAAK,CAAC,SAMnB,OALIznE,EACFynE,EAAK,YAAY,CAAC,WAAYznE,GAE9BynE,EAAK,YAAY,CAAC,WAAY4zB,MAEzB5zB,CACT,CACA,OAAO,QAAQ+Y,CAAO,CAAE,CACtB,GAAIA,EAAQ,YAAY,CAAC,YACvB,OAAOA,EAAQ,YAAY,CAAC,WAGhC,CACA,YAAa,QACX,AAAI,IAAI,CAAC,MAAM,CACN,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAEnC,EACT,CACA,OAAOpiF,CAAI,CAAE4B,CAAK,CAAE,CACd5B,IAASqtC,GAAU,QAAQ,EAAIzrC,EACjC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAYA,GAEtC,KAAK,CAAC,OAAO5B,EAAM4B,EAEvB,CACA,KAAM,CACJ,OAAO,IAAI,CAAC,MAAM,AACpB,CACA,WAAY,QACV,AAAI,IAAI,CAAC,GAAG,GACH,IAAI,CAAC,GAAG,GAAG,SAAS,GAEtB,EACT,CACA,OAAQ,CACN,OAAO,IAAI,CAAC,GAAG,IAAM,IAAI,CAAC,GAAG,GAAG,KAAK,EACvC,CACF,CACA,MAAMyuC,WAAiB,GACrB,OAAO,SAAW,WAAY,AAC9B,QAAO,QAAU,IAAK,AACtB,aAAa,CAEX,GAAI,KAAK,CAAC,cAAgB,AAA2B,MAA3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAU,CAEzD,IAAM6sD,EAAW,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,GAErCC,EAAW,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,GAErCC,EAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,GAE1CC,EAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,GAChD,OAAOH,EAAS,KAAK,GAAKC,EAAS,KAAK,EAAID,EAAS,KAAK,GAAKE,EAAS,KAAK,EAAIF,EAAS,KAAK,GAAKG,EAAS,KAAK,AACpH,CACA,MAAO,EACT,CACA,SAASn7C,CAAO,CAAE,CAChB,KAAK,CAAC,SAASA,GACf,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC7zC,IACpB,GAAIA,AAAc,MAAdA,EAAM,IAAI,CAAU,OACxB,IAAMivF,EAAejvF,EAAM,OAAO,GAC5BymF,EAAczmF,EAAM,IAAI,CAAC,OAAO,GACtC,GAAIivF,EAAa,KAAK,GAAKxI,EAAY,KAAK,CAAE,CAC5C,IAAM52B,EAAO,IAAI,CAAC,UAAU,CAAC7vD,GACzB6vD,GAEFA,EAAK,QAAQ,GAGX,IAAI,CAAC,IAAI,EAEX,IAAI,CAAC,IAAI,CAAC,QAAQ,EAEtB,CACF,EACF,CACA,WAAY,QACV,AAAI,IAAI,CAAC,MAAM,CACN,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAEnC,EACT,CACA,OAAQ,CACN,OAAO,IAAI,CAAC,MAAM,EAAI,IAAI,CAAC,MAAM,CAAC,MAAM,AAC1C,CACF,CACA,MAAMq/B,WAAkB,GACtB,OAAO,SAAW,YAAa,AAC/B,QAAO,QAAU,OAAQ,AAC3B,CACA,MAAMC,WAAuB,GAC3B,OAAO,SAAW,iBAAkB,AACpC,QAAO,QAAU,OAAQ,AACzB,eAAe,CACb,IAAMpxD,EAAO,IAAI,CAAC,WAAW,CAACiE,IACxBotD,EAAarxD,EAAK,MAAM,CAAC,CAACplC,EAAKslC,IAC5BlnC,KAAK,GAAG,CAACknC,EAAI,QAAQ,CAAC,MAAM,CAAEtlC,GACpC,GACHolC,EAAK,OAAO,CAACE,IACX,AAAI9jC,MAAMi1F,EAAanxD,EAAI,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,SACtD1qC,CACqB,OAArB0qC,EAAI,QAAQ,CAAC,IAAI,EACnB1qC,CAAAA,EAAQyrC,GAAU,OAAO,CAACf,EAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,GAErD,IAAMi1C,EAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAACl0C,GAAU,QAAQ,CAAEzrC,GACpD0qC,EAAI,WAAW,CAACi1C,GAEhBA,EAAK,QAAQ,EACf,EACF,EACF,CACA,MAAM3wD,CAAM,CAAE,CACZ,OAAO,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC0b,GAAOA,EAAI,QAAQ,CAAC,EAAE,CAAC1b,GAChD,CACA,aAAa1f,CAAK,CAAE,CAElB,GAAM,CAACy4D,EAAK,CAAG,IAAI,CAAC,UAAU,CAAC4zB,GACnB,OAAR5zB,GAAgBA,AAAsB,MAAtBA,EAAK,QAAQ,CAAC,IAAI,EACtCA,EAAK,QAAQ,CAAC,OAAO,CAACr9B,IACpB,IAAMO,EAAOP,EAAI,QAAQ,CAAC,EAAE,CAACp7B,EACjB,OAAR27B,GACFA,EAAK,MAAM,EAEf,EACF,CACA,aAAa37B,CAAK,CAAE,CAElB,GAAM,CAACy4D,EAAK,CAAG,IAAI,CAAC,UAAU,CAAC4zB,GACnB,OAAR5zB,GAAgBA,AAAsB,MAAtBA,EAAK,QAAQ,CAAC,IAAI,EACtCA,EAAK,QAAQ,CAAC,OAAO,CAACr9B,IACpB,IAAMk2C,EAAMl2C,EAAI,QAAQ,CAAC,EAAE,CAACp7B,GAEtBtP,EAAQyrC,GAAU,OAAO,CAACf,EAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EACnDO,EAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAACQ,GAAU,QAAQ,CAAEzrC,GACpD0qC,EAAI,YAAY,CAACO,EAAM21C,EACzB,EACF,CACA,UAAUtxE,CAAK,CAAE,CAEf,GAAM,CAACy4D,EAAK,CAAG,IAAI,CAAC,UAAU,CAAC4zB,IAC/B,GAAI5zB,AAAQ,MAARA,GAAgBA,AAAsB,MAAtBA,EAAK,QAAQ,CAAC,IAAI,CAAU,OAChD,IAAMtrD,EAAK4+E,KACL3wD,EAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC+D,GAAS,QAAQ,EAChDs5B,EAAK,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAClC,IAAM98B,EAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAACQ,GAAU,QAAQ,CAAEhvB,GACpDiuB,EAAI,WAAW,CAACO,EAClB,GACA,IAAM21C,EAAM7Y,EAAK,QAAQ,CAAC,EAAE,CAACz4D,GAC7By4D,EAAK,YAAY,CAACr9B,EAAKk2C,EACzB,CACA,MAAO,CACL,IAAM7Y,EAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,QAC/B,AAAIA,AAAQ,MAARA,EAAqB,EAAE,CACpBA,EAAK,QAAQ,CAAC,GAAG,CAACr9B,GAAOA,EAClC,CACF,CAOA,SAAS2wD,KACP,IAAM5+E,EAAKjZ,KAAK,MAAM,GAAG,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAG,GAC/C,MAAO,CAAC,IAAI,EAAEiZ,EAAG,CAAC,AACpB,CATAm/E,GAAe,eAAe,CAAG,CAACD,GAAU,CAC5CA,GAAU,iBAAiB,CAAGC,GAC9BD,GAAU,eAAe,CAAG,CAACltD,GAAS,CACtCA,GAAS,iBAAiB,CAAGktD,GAC7BltD,GAAS,eAAe,CAAG,CAAChD,GAAU,CACtCA,GAAU,iBAAiB,CAAGgD,GC9C9B,OAvHA,MAAMlE,UAAc,GAClB,OAAO,UAAW,CAChB+iD,GAAM,QAAQ,CAAC7hD,IACf6hD,GAAM,QAAQ,CAAC7+C,IACf6+C,GAAM,QAAQ,CAACqO,IACfrO,GAAM,QAAQ,CAACsO,GACjB,CACA,aAAc,CACZ,KAAK,IAAI12F,WACT,IAAI,CAAC,kBAAkB,EACzB,CACA,eAAgB,CACd,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC02F,IAAgB,OAAO,CAACrI,IACpDA,EAAM,YAAY,EACpB,EACF,CACA,cAAe,CACb,GAAM,CAACA,GAAQtoD,EAAK,CAAG,IAAI,CAAC,QAAQ,EACxB,OAARA,IAEJsoD,EAAM,YAAY,CAACtoD,EAAK,UAAU,IAClC,IAAI,CAAC,KAAK,CAAC,MAAM,CAACqiD,GAAM,OAAO,CAAC,IAAI,EACtC,CACA,WAAY,CACV,GAAM,EAAG5iD,EAAI,CAAG,IAAI,CAAC,QAAQ,EAClB,OAAPA,IACJA,EAAI,MAAM,GACV,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC4iD,GAAM,OAAO,CAAC,IAAI,EACtC,CACA,aAAc,CACZ,GAAM,CAACiG,EAAM,CAAG,IAAI,CAAC,QAAQ,GAC7B,GAAIA,AAAS,MAATA,EAAe,OAEnB,IAAM5tF,EAAS4tF,EAAM,MAAM,GAE3BA,EAAM,MAAM,GACZ,IAAI,CAAC,KAAK,CAAC,MAAM,CAACjG,GAAM,OAAO,CAAC,IAAI,EACpC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC3nF,EAAQ2nF,GAAM,OAAO,CAAC,MAAM,CACtD,CACA,UAAW,CACT,IAAIrH,EAAQ/gF,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GACvG,GAAI+gF,AAAS,MAATA,EAAe,MAAO,CAAC,KAAM,KAAM,KAAM,GAAG,CAChD,GAAM,CAACh7C,EAAMtlC,EAAO,CAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAACsgF,EAAM,KAAK,EACrD,GAAIh7C,AAAQ,MAARA,GAAgBA,EAAK,OAAO,CAAC,QAAQ,GAAKQ,GAAU,QAAQ,CAC9D,MAAO,CAAC,KAAM,KAAM,KAAM,GAAG,CAE/B,IAAMf,EAAMO,EAAK,MAAM,CAGvB,MAAO,CAFOP,EAAI,MAAM,CAAC,MAAM,CAEhBA,EAAKO,EAAMtlC,EAAO,AACnC,CACA,aAAaA,CAAM,CAAE,CACnB,IAAMsgF,EAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,GACrC,GAAI,CAACA,EAAO,OACZ,GAAM,CAACsN,EAAO7oD,EAAKO,EAAK,CAAG,IAAI,CAAC,QAAQ,CAACg7C,GACzC,GAAIh7C,AAAQ,MAARA,EAAc,OAClB,IAAMjc,EAASic,EAAK,UAAU,GAC9BsoD,EAAM,YAAY,CAACvkE,EAASrpB,GAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC2nF,GAAM,OAAO,CAAC,IAAI,EACpC,IAAIgC,EAAQ5kD,EAAI,SAAS,EACV,KAAX/kC,GACF2pF,CAAAA,GAAS,GAEX,IAAI,CAAC,KAAK,CAAC,YAAY,CAACrJ,EAAM,KAAK,CAAGqJ,EAAOrJ,EAAM,MAAM,CAAEqH,GAAM,OAAO,CAAC,MAAM,CACjF,CACA,kBAAmB,CACjB,IAAI,CAAC,YAAY,CAAC,EACpB,CACA,mBAAoB,CAClB,IAAI,CAAC,YAAY,CAAC,EACpB,CACA,UAAU3nF,CAAM,CAAE,CAChB,IAAMsgF,EAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,GACrC,GAAI,CAACA,EAAO,OACZ,GAAM,CAACsN,EAAO7oD,EAAKO,EAAK,CAAG,IAAI,CAAC,QAAQ,CAACg7C,GACzC,GAAIh7C,AAAQ,MAARA,EAAc,OAClB,IAAM37B,EAAQo7B,EAAI,SAAS,GAC3B6oD,EAAM,SAAS,CAACjkF,EAAQ3J,GACxB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC2nF,GAAM,OAAO,CAAC,IAAI,EAChC3nF,EAAS,EACX,IAAI,CAAC,KAAK,CAAC,YAAY,CAACsgF,EAAOqH,GAAM,OAAO,CAAC,MAAM,EAEnD,IAAI,CAAC,KAAK,CAAC,YAAY,CAACrH,EAAM,KAAK,CAAGv7C,EAAI,QAAQ,CAAC,MAAM,CAAEu7C,EAAM,MAAM,CAAEqH,GAAM,OAAO,CAAC,MAAM,CAEjG,CACA,gBAAiB,CACf,IAAI,CAAC,SAAS,CAAC,EACjB,CACA,gBAAiB,CACf,IAAI,CAAC,SAAS,CAAC,EACjB,CACA,YAAY9iD,CAAI,CAAEsxD,CAAO,CAAE,CACzB,IAAM7V,EAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,GACrC,GAAIA,AAAS,MAATA,EAAe,OACnB,IAAM5gC,EAAQ,AAAIz+C,MAAM4jC,GAAM,IAAI,CAAC,GAAG,MAAM,CAAC6+B,IAC3C,IAAMl4D,EAAO,AAAIvK,MAAMk1F,GAAS,IAAI,CAAC,MAAM,IAAI,CAAC,IAChD,OAAOzyB,EAAK,MAAM,CAACl4D,EAAM,CACvB,MAAOkqF,IACT,EACF,EAAG,IAAIzxB,KAAQ,MAAM,CAACqc,EAAM,KAAK,GACjC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC5gC,EAAOioC,GAAM,OAAO,CAAC,IAAI,EACnD,IAAI,CAAC,KAAK,CAAC,YAAY,CAACrH,EAAM,KAAK,CAAEqH,GAAM,OAAO,CAAC,MAAM,EACzD,IAAI,CAAC,aAAa,EACpB,CACA,oBAAqB,CACnB,IAAI,CAAC,KAAK,CAAC,EAAE,CAACA,GAAM,MAAM,CAAC,eAAe,CAAE7K,IAC1CA,EAAU,IAAI,CAAClP,GACb,EAAI,CAAC,KAAM,KAAM,QAAS,QAAQ,CAAC,QAAQ,CAACA,EAAS,MAAM,CAAC,OAAO,IACjE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC+Z,GAAM,MAAM,CAAC,WAAW,CAAE,CAACjoC,EAAOgf,EAAK/kD,KACjDA,IAAWguE,GAAM,OAAO,CAAC,IAAI,EACjC,IAAI,CAAC,aAAa,EACpB,GACO,IAIb,EACF,CACF,ECrHM,GAAQ,A5CiBC9lB,G4CjBM,gBACrB,OAAMu0B,WAAgB,GACpB,YAAYhV,CAAK,CAAEnnF,CAAO,CAAE,CAE1B,GADA,KAAK,CAACmnF,EAAOnnF,GACTgH,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAG,CACzC,IAAM4mF,EAAY/1B,SAAS,aAAa,CAAC,OACzC+1B,EAAU,YAAY,CAAC,OAAQ,WAC/BwO,AAsJN,SAAqBxO,CAAS,CAAEyO,CAAM,EAChC,CAACr1F,MAAM,OAAO,CAACq1F,CAAM,CAAC,EAAE,GAE1BA,CAAAA,EAAS,CAACA,EAAO,AAAD,EAElBA,EAAO,OAAO,CAACC,IACb,IAAMC,EAAQ1kC,SAAS,aAAa,CAAC,QACrC0kC,EAAM,SAAS,CAAC,GAAG,CAAC,cACpBD,EAAS,OAAO,CAACE,IACf,GAAI,AAAmB,UAAnB,OAAOA,EACTC,GAAUF,EAAOC,OACZ,CACL,IAAMlrF,EAAS5S,OAAO,IAAI,CAAC89F,EAAQ,CAAC,EAAE,CAChCp8F,EAAQo8F,CAAO,CAAClrF,EAAO,CACzBtK,MAAM,OAAO,CAAC5G,GAChBs8F,AASV,SAAmB9O,CAAS,CAAEt8E,CAAM,CAAEosC,CAAM,EAC1C,IAAMO,EAAQ4Z,SAAS,aAAa,CAAC,UACrC5Z,EAAM,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE3sC,EAAO,CAAC,EAClCosC,EAAO,OAAO,CAACt9C,IACb,IAAMoxB,EAASqmC,SAAS,aAAa,CAAC,SAClCz3D,AAAU,MAAVA,EACFoxB,EAAO,YAAY,CAAC,QAAS3tB,OAAOzD,IAEpCoxB,EAAO,YAAY,CAAC,WAAY,YAElCysB,EAAM,WAAW,CAACzsB,EACpB,GACAo8D,EAAU,WAAW,CAAC3vC,EACxB,EAtBoBs+C,EAAOjrF,EAAQlR,GAEzBq8F,GAAUF,EAAOjrF,EAAQlR,EAE7B,CACF,GACAwtF,EAAU,WAAW,CAAC2O,EACxB,EACF,EA7KkB3O,EAAW,IAAI,CAAC,OAAO,CAAC,SAAS,EAC7CzG,EAAM,SAAS,EAAE,YAAY,aAAayG,EAAWzG,EAAM,SAAS,EACpE,IAAI,CAAC,SAAS,CAAGyG,CACnB,KAAW,AAAkC,UAAlC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CACtC,IAAI,CAAC,SAAS,CAAG/1B,SAAS,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAE9D,IAAI,CAAC,SAAS,CAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAEzC,GAAI,CAAE,KAAI,CAAC,SAAS,YAAYoB,WAAU,EAAI,CAC5C,GAAM,KAAK,CAAC,iCAAkC,IAAI,CAAC,OAAO,EAC1D,MACF,CACA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,cAC7B,IAAI,CAAC,QAAQ,CAAG,EAAE,CAClB,IAAI,CAAC,QAAQ,CAAG,CAAC,EACb,IAAI,CAAC,OAAO,CAAC,QAAQ,EACvBv6D,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC4S,IACzC,IAAM4C,EAAU,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC5C,EAAO,CAC3C4C,GACF,IAAI,CAAC,UAAU,CAAC5C,EAAQ4C,EAE5B,GAEFlN,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,mBAAmB,OAAO,CAACi3C,IAEpE,IAAI,CAAC,MAAM,CAACA,EACd,GACA,IAAI,CAAC,KAAK,CAAC,EAAE,CAACyvC,GAAM,MAAM,CAAC,aAAa,CAAE,KACxC,GAAM,CAACrH,EAAM,CAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,GAC7C,IAAI,CAAC,MAAM,CAACA,EACd,EACF,CACA,WAAW/0E,CAAM,CAAE4C,CAAO,CAAE,CAC1B,IAAI,CAAC,QAAQ,CAAC5C,EAAO,CAAG4C,CAC1B,CACA,OAAO+pC,CAAK,CAAE,CACZ,IAAI3sC,EAAStK,MAAM,IAAI,CAACi3C,EAAM,SAAS,EAAE,IAAI,CAACmkB,GACrCA,AAA6B,IAA7BA,EAAU,OAAO,CAAC,QAE3B,GAAI,CAAC9wD,EAAQ,OAKb,GAJAA,EAASA,EAAO,KAAK,CAAC,GACA,WAAlB2sC,EAAM,OAAO,EACfA,EAAM,YAAY,CAAC,OAAQ,UAEzB,AAAyB,MAAzB,IAAI,CAAC,QAAQ,CAAC3sC,EAAO,EAAY,AAAmC,MAAnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAACA,GAAiB,CAC5E,GAAM,IAAI,CAAC,2CAA4CA,EAAQ2sC,GAC/D,MACF,CACA,IAAMipC,EAAYjpC,AAAkB,WAAlBA,EAAM,OAAO,CAAgB,SAAW,QAC1DA,EAAM,gBAAgB,CAACipC,EAAW/nF,QAC5BiB,EACJ,GAAI69C,AAAkB,WAAlBA,EAAM,OAAO,CAAe,CAE9B,GAAIA,EAAM,aAAa,CAAG,EAAG,OAE7B,IAAM0+C,EAAW1+C,EAAM,OAAO,CAACA,EAAM,aAAa,CAAC,CAEjD79C,GADEu8F,EAAS,YAAY,CAAC,aAGhBA,CAAAA,EAAS,KAAK,EAAI,EAAI,CAElC,MAEIv8F,GADE69C,EAAM,SAAS,CAAC,QAAQ,CAAC,cAInBA,CAAAA,EAAM,KAAK,EAAI,CAACA,EAAM,YAAY,CAAC,QAAO,EAEpD9+C,EAAE,cAAc,GAElB,IAAI,CAAC,KAAK,CAAC,KAAK,GAChB,GAAM,CAACknF,EAAM,CAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,GAC7C,GAAI,AAAyB,MAAzB,IAAI,CAAC,QAAQ,CAAC/0E,EAAO,CACvB,IAAI,CAAC,QAAQ,CAACA,EAAO,CAAC,IAAI,CAAC,IAAI,CAAElR,QAC5B,GAEP,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAACkR,GAAQ,SAAS,YAAY,GAAW,CAE9D,GAAI,CADJlR,CAAAA,EAAQw8F,OAAO,CAAC,MAAM,EAAEtrF,EAAO,CAAC,GACpB,OACZ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI04D,KAE7B,MAAM,CAACqc,EAAM,KAAK,EAElB,MAAM,CAACA,EAAM,MAAM,EAAE,MAAM,CAAC,CAC3B,CAAC/0E,EAAO,CAAElR,CACZ,GAAIstF,GAAM,OAAO,CAAC,IAAI,CACxB,MACE,IAAI,CAAC,KAAK,CAAC,MAAM,CAACp8E,EAAQlR,EAAOstF,GAAM,OAAO,CAAC,IAAI,EAErD,IAAI,CAAC,MAAM,CAACrH,EACd,GACA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC/0E,EAAQ2sC,EAAM,CACpC,CACA,OAAOooC,CAAK,CAAE,CACZ,IAAMnD,EAAUmD,AAAS,MAATA,EAAgB,CAAC,EAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAACA,GAC1D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC54B,IACpB,GAAM,CAACn8C,EAAQ2sC,EAAM,CAAGwP,EACxB,GAAIxP,AAAkB,WAAlBA,EAAM,OAAO,CAAe,CAC9B,IAAIzsB,EAAS,KACb,GAAI60D,AAAS,MAATA,EACF70D,EAAS,UACJ,GAAI0xD,AAAmB,MAAnBA,CAAO,CAAC5xE,EAAO,CACxBkgB,EAASysB,EAAM,aAAa,CAAC,yBACxB,GAAI,CAACj3C,MAAM,OAAO,CAACk8E,CAAO,CAAC5xE,EAAO,EAAG,CAC1C,IAAIlR,EAAQ8iF,CAAO,CAAC5xE,EAAO,AACN,WAAjB,OAAOlR,GACTA,CAAAA,EAAQA,EAAM,OAAO,CAAC,KAAM,MAAK,EAEnCoxB,EAASysB,EAAM,aAAa,CAAC,CAAC,cAAc,EAAE79C,EAAM,EAAE,CAAC,CACzD,CACIoxB,AAAU,MAAVA,GAEFysB,EAAM,KAAK,CAAG,GAEdA,EAAM,aAAa,CAAG,IAEtBzsB,EAAO,QAAQ,CAAG,EAEtB,MAAO,GAAI60D,AAAS,MAATA,EACTpoC,EAAM,SAAS,CAAC,MAAM,CAAC,aACvBA,EAAM,YAAY,CAAC,eAAgB,cAC9B,GAAIA,EAAM,YAAY,CAAC,SAAU,CAGtC,IAAM79C,EAAQ8iF,CAAO,CAAC5xE,EAAO,CACvBgmE,EAAWl3E,IAAU69C,EAAM,YAAY,CAAC,UAAY79C,AAAS,MAATA,GAAiBA,EAAM,QAAQ,KAAO69C,EAAM,YAAY,CAAC,UAAY79C,AAAS,MAATA,GAAiB,CAAC69C,EAAM,YAAY,CAAC,SACpKA,EAAM,SAAS,CAAC,MAAM,CAAC,YAAaq5B,GACpCr5B,EAAM,YAAY,CAAC,eAAgBq5B,EAAS,QAAQ,GACtD,KAAO,CACL,IAAMA,EAAW4L,AAAmB,MAAnBA,CAAO,CAAC5xE,EAAO,CAChC2sC,EAAM,SAAS,CAAC,MAAM,CAAC,YAAaq5B,GACpCr5B,EAAM,YAAY,CAAC,eAAgBq5B,EAAS,QAAQ,GACtD,CACF,EACF,CACF,CAEA,SAASmlB,GAAU7O,CAAS,CAAEt8E,CAAM,CAAElR,CAAK,EACzC,IAAM69C,EAAQ4Z,SAAS,aAAa,CAAC,UACrC5Z,EAAM,YAAY,CAAC,OAAQ,UAC3BA,EAAM,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE3sC,EAAO,CAAC,EAClC2sC,EAAM,YAAY,CAAC,eAAgB,SAC/B79C,AAAS,MAATA,GACF69C,EAAM,KAAK,CAAG79C,EACd69C,EAAM,YAAY,CAAC,aAAc,CAAC,EAAE3sC,EAAO,EAAE,EAAElR,EAAM,CAAC,GAEtD69C,EAAM,YAAY,CAAC,aAAc3sC,GAEnCs8E,EAAU,WAAW,CAAC3vC,EACxB,CAbAk+C,GAAQ,QAAQ,CAAG,CAAC,CAoDpBA,CAAAA,GAAQ,QAAQ,CAAG,CACjB,UAAW,KACX,SAAU,CACR,QACE,IAAM9V,EAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,EACxB,OAATA,IACAA,AAAiB,IAAjBA,EAAM,MAAM,CAEd3nF,OAAO,IAAI,CADK,IAAI,CAAC,KAAK,CAAC,SAAS,IACf,OAAO,CAACF,IAEwB,MAA/C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAACA,EAAM0gF,GAAM,MAAM,GAC5C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC1gF,EAAM,GAAOkvF,GAAM,OAAO,CAAC,IAAI,CAErD,GAEA,IAAI,CAAC,KAAK,CAAC,YAAY,CAACrH,EAAM,KAAK,CAAEA,EAAM,MAAM,CAAEqH,GAAM,OAAO,CAAC,IAAI,EAEzE,EACA,UAAUttF,CAAK,EACb,GAAM,CACJy8F,MAAAA,CAAK,CACN,CAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EACpBz8F,AAAU,SAAVA,GAAmBy8F,AAAS,MAATA,EACrB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAS,QAASnP,GAAM,OAAO,CAAC,IAAI,EAC7C,CAACttF,GAASy8F,AAAU,UAAVA,GACnB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAS,GAAOnP,GAAM,OAAO,CAAC,IAAI,EAEtD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAattF,EAAOstF,GAAM,OAAO,CAAC,IAAI,CAC1D,EACA,OAAOttF,CAAK,EACV,IAAMimF,EAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,GAE/BnD,EAAU,IAAI,CAAC,KAAK,CAAC,SAAS,CAACmD,GAE/BzgE,EAASpf,SAAS08E,EAAQ,MAAM,EAAI,EAAG,IAC7C,GAAI9iF,AAAU,OAAVA,GAAkBA,AAAU,OAAVA,EAAgB,CACpC,IAAI6uF,EAAW7uF,AAAU,OAAVA,EAAiB,EAAI,EACV,SAAtB8iF,EAAQ,SAAS,EAAY+L,CAAAA,GAAY,EAAC,EAC9C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAUrpE,EAASqpE,EAAUvB,GAAM,OAAO,CAAC,IAAI,CACnE,CACF,EACA,KAAKttF,CAAK,EACM,KAAVA,GACFA,CAAAA,EAAQw8F,OAAO,kBAAiB,EAElC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAQx8F,EAAOstF,GAAM,OAAO,CAAC,IAAI,CACrD,EACA,KAAKttF,CAAK,EACR,IAAMimF,EAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,GAE/BnD,EAAU,IAAI,CAAC,KAAK,CAAC,SAAS,CAACmD,EACjCjmF,AAAU,WAAVA,EACE8iF,AAAiB,YAAjBA,EAAQ,IAAI,EAAkBA,AAAiB,cAAjBA,EAAQ,IAAI,CAC5C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAQ,GAAOwK,GAAM,OAAO,CAAC,IAAI,EAEnD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAQ,YAAaA,GAAM,OAAO,CAAC,IAAI,EAG3D,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAQttF,EAAOstF,GAAM,OAAO,CAAC,IAAI,CAEvD,CACF,CACF,EC9PA,IAAMoP,GAAW,kNAyBjB,GAAe,CACb,MAAO,CACL,GAnCkB,qMAoClB,OAnCoB,sMAoCpB,MAnCmB,sMAoCnB,QAnCqB,qMAoCvB,EACA,WApCqB,u1EAqCrB,WApCqB,4SAqCrB,KApCe,yQAqCf,MApCgB,uVAqChB,KAAMA,GACN,aAAcA,GACd,MArCgB,6OAsChB,UAAW,CACT,GAtC6B,2UAuC7B,IAtC6B,yUAuC/B,EACA,QAvCkB,y3CAwClB,OAAQ,CACN,EAxCe,gkBAyCf,EAxCgB,goBAyChB,EAxCgB,k1BAyChB,EAxCgB,8nBAyChB,EAxCgB,wzBAyChB,EAxCgB,2sBAyClB,EACA,OAzCiB,uMA0CjB,MAzCgB,+NA0ChB,OAAQ,CACN,KA1Ce,qQA2Cf,KA1CgB,4PA2ClB,EACA,KA3Ce,sZA4Cf,KAAM,CACJ,OA5CmB,uWA6CnB,MA5CkB,yWA6ClB,QA5CoB,8rBA6CtB,EACA,OAAQ,CACN,IA9CkB,0qBA+ClB,MA9CoB,kjBA+CtB,EACA,OA/CiB,sgBAgDjB,MA/CgB,sZAgDhB,UA/CoB,kMAgDpB,MA/CgB,gtBAgDlB,EC/EIC,GAAiB,EACrB,SAASC,GAAoBh/E,CAAO,CAAEob,CAAS,EAC7Cpb,EAAQ,YAAY,CAACob,EAAW,CAAC,EAAE,AAAsC,SAApCpb,EAAQ,YAAY,CAACob,GAAuB,CAAC,CACpF,CAqKA,OApKA,MAAM6jE,EACJ,YAAY3B,CAAM,CAAE,CAClB,IAAI,CAAC,MAAM,CAAGA,EACd,IAAI,CAAC,SAAS,CAAGzjC,SAAS,aAAa,CAAC,QACxC,IAAI,CAAC,WAAW,GAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAG,OAE5B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,MAAM,EAC/D,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,YAAa,KACvC,IAAI,CAAC,YAAY,EACnB,GACA,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAWv1C,IACrC,OAAQA,EAAM,GAAG,EACf,IAAK,QACH,IAAI,CAAC,YAAY,GACjB,KACF,KAAK,SACH,IAAI,CAAC,MAAM,GACXA,EAAM,cAAc,EAGxB,CACF,GACA,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAU,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAC9D,CACA,cAAe,CACb,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,eAEhC06E,GAAoB,IAAI,CAAC,KAAK,CAAE,iBAEhCA,GAAoB,IAAI,CAAC,OAAO,CAAE,cACpC,CACA,UAAUxrE,CAAM,CAAE,CAChB,IAAMnnB,EAAOwtD,SAAS,aAAa,CAAC,OAEpCxtD,CAAAA,EAAK,QAAQ,CAAG,IAChBA,EAAK,YAAY,CAAC,OAAQ,UAC1BA,EAAK,SAAS,CAAC,GAAG,CAAC,kBACnB,IAAMjK,EAAQoxB,EAAO,YAAY,CAAC,SAuBlC,OAtBIpxB,GACFiK,EAAK,YAAY,CAAC,aAAcjK,GAE9BoxB,EAAO,WAAW,EACpBnnB,EAAK,YAAY,CAAC,aAAcmnB,EAAO,WAAW,EAEpDnnB,EAAK,gBAAgB,CAAC,QAAS,KAC7B,IAAI,CAAC,UAAU,CAACA,EAAM,GACxB,GACAA,EAAK,gBAAgB,CAAC,UAAWiY,IAC/B,OAAQA,EAAM,GAAG,EACf,IAAK,QACH,IAAI,CAAC,UAAU,CAACjY,EAAM,IACtBiY,EAAM,cAAc,GACpB,KACF,KAAK,SACH,IAAI,CAAC,MAAM,GACXA,EAAM,cAAc,EAGxB,CACF,GACOjY,CACT,CACA,YAAa,CACX,IAAMwuE,EAAQhhB,SAAS,aAAa,CAAC,QAQrC,OAPAghB,EAAM,SAAS,CAAC,GAAG,CAAC,mBACpBA,EAAM,SAAS,CAvEE,kJAyEjBA,EAAM,QAAQ,CAAG,IACjBA,EAAM,YAAY,CAAC,OAAQ,UAC3BA,EAAM,YAAY,CAAC,gBAAiB,SACpC,IAAI,CAAC,SAAS,CAAC,WAAW,CAACA,GACpBA,CACT,CACA,cAAe,CACb,IAAM74E,EAAU63D,SAAS,aAAa,CAAC,QACvC73D,EAAQ,SAAS,CAAC,GAAG,CAAC,qBAGtBA,EAAQ,YAAY,CAAC,cAAe,QAEpCA,EAAQ,QAAQ,CAAG,KAGnBA,EAAQ,EAAE,CAAG,CAAC,kBAAkB,EAAE+8F,GAAe,CAAC,CAClDA,IAAkB,EAClB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,gBAAiB/8F,EAAQ,EAAE,EAGnD,IAAI,CAAC,OAAO,CAAGA,EACfgH,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAACwqB,IACtC,IAAMnnB,EAAO,IAAI,CAAC,SAAS,CAACmnB,GAC5BxxB,EAAQ,WAAW,CAACqK,GACI,KAApBmnB,EAAO,QAAQ,EACjB,IAAI,CAAC,UAAU,CAACnnB,EAEpB,GACA,IAAI,CAAC,SAAS,CAAC,WAAW,CAACrK,EAC7B,CACA,aAAc,CACZgH,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAACqD,IACzC,IAAI,CAAC,SAAS,CAAC,YAAY,CAACA,EAAK,IAAI,CAAEA,EAAK,KAAK,CACnD,GACA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,aAC7B,IAAI,CAAC,KAAK,CAAG,IAAI,CAAC,UAAU,GAC5B,IAAI,CAAC,YAAY,EACnB,CACA,QAAS,CAEP,IAAI,CAAC,KAAK,GAGVU,WAAW,IAAM,IAAI,CAAC,KAAK,CAAC,KAAK,GAAI,EACvC,CACA,OAAQ,CACN,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,eAChC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,gBAAiB,SAEzC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,cAAe,OAC3C,CACA,WAAWV,CAAI,CAAE,CACf,IAAI6yF,EAAU53F,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,EAAiBA,SAAS,CAAC,EAAE,CACzEq3F,EAAW,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,gBAC9C,GAAItyF,IAASsyF,EACG,MAAZA,GACFA,EAAS,SAAS,CAAC,MAAM,CAAC,eAEhB,MAARtyF,IACJA,EAAK,SAAS,CAAC,GAAG,CAAC,eAEnB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAGrD,MAAM,IAAI,CAACqD,EAAK,UAAU,CAAC,QAAQ,EAAE,OAAO,CAACA,GACrEA,EAAK,YAAY,CAAC,cAEpB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAcA,EAAK,YAAY,CAAC,eAExD,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,cAEzBA,EAAK,YAAY,CAAC,cAEpB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAcA,EAAK,YAAY,CAAC,eAExD,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,cAEzB6yF,IACF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAIC,MAAM,WACpC,IAAI,CAAC,KAAK,IAEd,CACA,QAAS,KACH3rE,EACJ,GAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAG,GAAI,CAClC,IAAMnnB,EAEN,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,sBAAsB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CACtFmnB,EAAS,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAEvD,IAAI,CAAC,UAAU,CAACnnB,EAClB,MACE,IAAI,CAAC,UAAU,CAAC,MAElB,IAAMitE,EAAW9lD,AAAU,MAAVA,GAAkBA,IAAW,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oBACxE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,YAAa8lD,EAC3C,CACF,EC5IA,GA3BA,MAAM8lB,UAAoB,GACxB,YAAY9B,CAAM,CAAEziB,CAAK,CAAE,CACzB,KAAK,CAACyiB,GACN,IAAI,CAAC,KAAK,CAAC,SAAS,CAAGziB,EACvB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,mBAC7B7xE,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,oBAAoB,KAAK,CAAC,EAAG,GAAG,OAAO,CAACqD,IACjFA,EAAK,SAAS,CAAC,GAAG,CAAC,aACrB,EACF,CACA,UAAUmnB,CAAM,CAAE,CAChB,IAAMnnB,EAAO,KAAK,CAAC,UAAUmnB,GAE7B,OADAnnB,EAAK,KAAK,CAAC,eAAe,CAAGmnB,EAAO,YAAY,CAAC,UAAY,GACtDnnB,CACT,CACA,WAAWA,CAAI,CAAE6yF,CAAO,CAAE,CACxB,KAAK,CAAC,WAAW7yF,EAAM6yF,GACvB,IAAMG,EAAa,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,mBACtCj9F,EAAQiK,GAAOA,EAAK,YAAY,CAAC,eAAiB,GACpDgzF,IACEA,AAAuB,SAAvBA,EAAW,OAAO,CACpBA,EAAW,KAAK,CAAC,MAAM,CAAGj9F,EAE1Bi9F,EAAW,KAAK,CAAC,IAAI,CAAGj9F,EAG9B,CACF,ECPA,GAnBA,MAAMk9F,UAAmB,GACvB,YAAYhC,CAAM,CAAEiC,CAAK,CAAE,CACzB,KAAK,CAACjC,GACN,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,kBAC7Bt0F,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,oBAAoB,OAAO,CAACqD,IACrEA,EAAK,SAAS,CAAGkzF,CAAK,CAAClzF,EAAK,YAAY,CAAC,eAAiB,GAAG,AAC/D,GACA,IAAI,CAAC,WAAW,CAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,gBAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAClC,CACA,WAAW5E,CAAM,CAAEy3F,CAAO,CAAE,CAC1B,KAAK,CAAC,WAAWz3F,EAAQy3F,GACzB,IAAM7yF,EAAO5E,GAAU,IAAI,CAAC,WAAW,CACvC,GAAI4E,AAAQ,MAARA,EAAc,CAChB,GAAI,IAAI,CAAC,KAAK,CAAC,SAAS,GAAKA,EAAK,SAAS,CAAE,MAC7C,KAAI,CAAC,KAAK,CAAC,SAAS,CAAGA,EAAK,SAAS,AACvC,CACF,CACF,ECnBMmzF,GAAeC,IACnB,GAAM,CACJC,UAAAA,CAAS,CACV,CAAGnlC,iBAAiBklC,EAAI,MACzB,MAAOC,AAAc,YAAdA,GAA2BA,AAAc,SAAdA,CACpC,EAiDA,GAhDA,MAAMC,EACJ,YAAYxW,CAAK,CAAEyW,CAAe,CAAE,CAClC,IAAI,CAAC,KAAK,CAAGzW,EACb,IAAI,CAAC,eAAe,CAAGyW,GAAmB/lC,SAAS,IAAI,CACvD,IAAI,CAAC,IAAI,CAAGsvB,EAAM,YAAY,CAAC,cAE/B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAC3CqW,GAAa,IAAI,CAAC,KAAK,CAAC,IAAI,GAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAU,KACzC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAG,CAAC,EAAE,GAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,AACnE,GAEF,IAAI,CAAC,IAAI,EACX,CACA,MAAO,CACL,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAC1B,CACA,SAAS1rE,CAAS,CAAE,CAClB,IAAM7X,EAAO6X,EAAU,IAAI,CAAGA,EAAU,KAAK,CAAG,EAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAG,EAEtE/X,EAAM+X,EAAU,MAAM,CAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,AACxD,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAG,CAAC,EAAE7X,EAAK,EAAE,CAAC,CAClC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAG,CAAC,EAAEF,EAAI,EAAE,CAAC,CAChC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAC3B,IAAMo1E,EAAkB,IAAI,CAAC,eAAe,CAAC,qBAAqB,GAC5D0O,EAAa,IAAI,CAAC,IAAI,CAAC,qBAAqB,GAC9CnO,EAAQ,EASZ,GARImO,EAAW,KAAK,CAAG1O,EAAgB,KAAK,GAC1CO,EAAQP,EAAgB,KAAK,CAAG0O,EAAW,KAAK,CAChD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAG,CAAC,EAAE5jF,EAAOy1E,EAAM,EAAE,CAAC,EAExCmO,EAAW,IAAI,CAAG1O,EAAgB,IAAI,GACxCO,EAAQP,EAAgB,IAAI,CAAG0O,EAAW,IAAI,CAC9C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAG,CAAC,EAAE5jF,EAAOy1E,EAAM,EAAE,CAAC,EAExCmO,EAAW,MAAM,CAAG1O,EAAgB,MAAM,CAAE,CAC9C,IAAM1hE,EAASowE,EAAW,MAAM,CAAGA,EAAW,GAAG,CAC3CC,EAAgBhsE,EAAU,MAAM,CAAGA,EAAU,GAAG,CAAGrE,CACzD,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAG,CAAC,EAAE1T,EAAM+jF,EAAc,EAAE,CAAC,CAChD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAC1B,CACA,OAAOpO,CACT,CACA,MAAO,CACL,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAC7B,CACF,EC9CMqO,GAAS,CAAC,GAAO,SAAU,QAAS,UAAU,CAC9CC,GAAS,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAU,CAC1YC,GAAQ,CAAC,GAAO,QAAS,YAAY,CACrCC,GAAU,CAAC,IAAK,IAAK,IAAK,GAAM,CAChCC,GAAQ,CAAC,QAAS,GAAO,QAAS,OAAO,AAC/C,OAAMC,WAAkB,GACtB,YAAYjX,CAAK,CAAEnnF,CAAO,CAAE,CAC1B,KAAK,CAACmnF,EAAOnnF,GACb,IAAM8S,EAAW3T,IACf,GAAI,CAAC04D,SAAS,IAAI,CAAC,QAAQ,CAACsvB,EAAM,IAAI,EAAG,CACvCtvB,SAAS,IAAI,CAAC,mBAAmB,CAAC,QAAS/kD,GAC3C,MACF,CACoB,MAAhB,IAAI,CAAC,OAAO,EAEhB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC3T,EAAE,MAAM,GAEpC04D,SAAS,aAAa,GAAK,IAAI,CAAC,OAAO,CAAC,OAAO,EAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IACrE,IAAI,CAAC,OAAO,CAAC,IAAI,GAEC,MAAhB,IAAI,CAAC,OAAO,EACd,IAAI,CAAC,OAAO,CAAC,OAAO,CAACwmC,IAEf,CAACA,EAAO,SAAS,CAAC,QAAQ,CAACl/F,EAAE,MAAM,GACrCk/F,EAAO,KAAK,EAEhB,EAEJ,EACAlX,EAAM,OAAO,CAAC,SAAS,CAAC,QAAStvB,SAAS,IAAI,CAAE/kD,EAClD,CACA,UAAUtU,CAAI,CAAE,CACd,IAAMF,EAAS,KAAK,CAAC,UAAUE,GAK/B,MAJa,YAATA,GAEF,IAAI,CAAC,aAAa,CAACF,GAEdA,CACT,CACA,aAAaggG,CAAO,CAAEf,CAAK,CAAE,CAC3Bv2F,MAAM,IAAI,CAACs3F,GAAS,OAAO,CAACC,IAE1Bn8B,AADkBm8B,CAAAA,EAAO,YAAY,CAAC,UAAY,EAAC,EACzC,KAAK,CAAC,OAAO,OAAO,CAAC//F,IAC7B,IAAI,CAACA,EAAK,UAAU,CAAC,OAErB,IAAI++F,AAAe,MAAfA,CAAK,CADT/+F,EAAOA,EAAK,KAAK,CAAC,GACH,EACf,GAAIA,AAAS,cAATA,EAEF+/F,EAAO,SAAS,CAAGhB,CAAK,CAAC/+F,EAAK,CAAC,GAAG,CAAG++F,CAAK,CAAC/+F,EAAK,CAAC,GAAG,MAC/C,GAAI,AAAuB,UAAvB,OAAO++F,CAAK,CAAC/+F,EAAK,CAE3B+/F,EAAO,SAAS,CAAGhB,CAAK,CAAC/+F,EAAK,KACzB,CAEL,IAAM4B,EAAQm+F,EAAO,KAAK,EAAI,EAEjB,OAATn+F,GAAiBm9F,CAAK,CAAC/+F,EAAK,CAAC4B,EAAM,EAErCm+F,CAAAA,EAAO,SAAS,CAAGhB,CAAK,CAAC/+F,EAAK,CAAC4B,EAAM,AAAD,CAExC,EAf+B,CAgBjC,EACF,EACF,CACA,aAAao+F,CAAO,CAAEjB,CAAK,CAAE,CAC3B,IAAI,CAAC,OAAO,CAAGv2F,MAAM,IAAI,CAACw3F,GAAS,GAAG,CAAClD,IACrC,GAAIA,EAAO,SAAS,CAAC,QAAQ,CAAC,cACU,MAAlCA,EAAO,aAAa,CAAC,WACvBmD,GAAWnD,EAAQyC,IAEjB,AAAuB,UAAvB,OAAOR,EAAM,KAAK,EACpB,OAAO,IAAI,GAAWjC,EAAQiC,EAAM,KAAK,EAG7C,GAAIjC,EAAO,SAAS,CAAC,QAAQ,CAAC,kBAAoBA,EAAO,SAAS,CAAC,QAAQ,CAAC,YAAa,CACvF,IAAMhqF,EAASgqF,EAAO,SAAS,CAAC,QAAQ,CAAC,iBAAmB,aAAe,QAI3E,OAHsC,MAAlCA,EAAO,aAAa,CAAC,WACvBmD,GAAWnD,EAAQ0C,GAAQ1sF,AAAW,eAAXA,EAA0B,UAAY,WAE5D,IAAI,GAAYgqF,EAAQiC,CAAK,CAACjsF,EAAO,CAC9C,CAUA,OATsC,MAAlCgqF,EAAO,aAAa,CAAC,YACnBA,EAAO,SAAS,CAAC,QAAQ,CAAC,WAC5BmD,GAAWnD,EAAQ2C,IACV3C,EAAO,SAAS,CAAC,QAAQ,CAAC,aACnCmD,GAAWnD,EAAQ4C,IACV5C,EAAO,SAAS,CAAC,QAAQ,CAAC,YACnCmD,GAAWnD,EAAQ6C,KAGhB,IAAI,GAAO7C,EACpB,GAMA,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,AjD5BHjU,GiD4BG,oBAA4B,CAL3B,KACb,IAAI,CAAC,OAAO,CAAC,OAAO,CAACgX,IACnBA,EAAO,MAAM,EACf,EACF,EAEF,CACF,CACAD,GAAU,QAAQ,CAAG,AtGrENrf,GsGqEY,CAAC,EAAG,WAAc,CAAE,CAC7C,QAAS,CACP,QAAS,CACP,SAAU,CACR,UACE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAChC,EACA,QACE,IAAI1F,EAAY,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,4BAC5B,OAAbA,IAEFA,AADAA,CAAAA,EAAYxhB,SAAS,aAAa,CAAC,QAAO,EAChC,YAAY,CAAC,OAAQ,QAC/BwhB,EAAU,YAAY,CAAC,SAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAC5EA,EAAU,SAAS,CAAC,GAAG,CAAC,YACxBA,EAAU,gBAAgB,CAAC,SAAU,KACnC,IAAMgN,EAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IACtC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAACA,EAAOhN,EAAU,KAAK,EACjDA,EAAU,KAAK,CAAG,EACpB,GACA,IAAI,CAAC,SAAS,CAAC,WAAW,CAACA,IAE7BA,EAAU,KAAK,EACjB,EACA,QACE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAChC,CACF,CACF,CACF,CACF,EACA,OAAMqlB,WAAoB,GACxB,YAAYvX,CAAK,CAAEyW,CAAe,CAAE,CAClC,KAAK,CAACzW,EAAOyW,GACb,IAAI,CAAC,OAAO,CAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,sBACvC,IAAI,CAAC,MAAM,EACb,CACA,QAAS,CAEP,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAWt7E,IACnCA,AAAc,UAAdA,EAAM,GAAG,EACX,IAAI,CAAC,IAAI,GACTA,EAAM,cAAc,IACG,WAAdA,EAAM,GAAG,GAClB,IAAI,CAAC,MAAM,GACXA,EAAM,cAAc,GAExB,EACF,CACA,QAAS,CACP,IAAI,CAAC,IAAI,GACT,IAAI,CAAC,YAAY,EACnB,CACA,MAAO,CACL,IAAIq8E,EAAOr5F,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,OAC3Es5F,EAAUt5F,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,CAAiBA,SAAS,CAAC,EAAE,CAAG,KAGlF,GAFA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cACpB,AAAgB,MAAhB,IAAI,CAAC,OAAO,CAAU,MACtBs5F,AAAW,OAAXA,EACF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAGA,EACZD,IAAS,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cACzC,KAAI,CAAC,OAAO,CAAC,KAAK,CAAG,EAAC,EAExB,IAAMzP,EAAS,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CACrD,OAAVA,GACF,IAAI,CAAC,QAAQ,CAACA,GAEhB,IAAI,CAAC,OAAO,CAAC,MAAM,GACnB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,cAAe,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,KAAK,EAAEyP,EAAK,CAAC,GAAK,IACtF,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAaA,EACtC,CACA,cAAe,CACb,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CACf,cAAe,EACjB,EACF,CACA,MAAO,CAEL,GAAI,CACFv+F,MAAAA,CAAK,CACN,CAAG,IAAI,CAAC,OAAO,CAChB,OAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAC7B,IAAK,OACH,CACE,GAAM,CACJ8sF,UAAAA,CAAS,CACV,CAAG,IAAI,CAAC,KAAK,CAAC,IAAI,AACf,KAAI,CAAC,SAAS,EAChB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAE,OAAQ9sF,EAAO,AjDvHlDinF,GiDuHkD,YAAoB,EACzE,OAAO,IAAI,CAAC,SAAS,GAErB,IAAI,CAAC,YAAY,GACjB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAQjnF,EAAO,AjD3H9BinF,GiD2H8B,YAAoB,GAEvD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAG6F,EAC5B,KACF,CACF,IAAK,QAED9sF,EAAQy+F,AA0BlB,SAAyB59B,CAAG,EAC1B,IAAI7iD,EAAQ6iD,EAAI,KAAK,CAAC,+EAAiFA,EAAI,KAAK,CAAC,yEACjH,AAAI7iD,EACK,CAAC,EAAEA,CAAK,CAAC,EAAE,EAAI,QAAQ,yBAAyB,EAAEA,CAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAG5EA,CAAAA,EAAQ6iD,EAAI,KAAK,CAAC,iDAAgD,EAC7D,CAAC,EAAE7iD,CAAK,CAAC,EAAE,EAAI,QAAQ,0BAA0B,EAAEA,CAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAEhE6iD,CACT,EApCkC7gE,EAG5B,KAAK,UACH,CACE,GAAI,CAACA,EAAO,MACZ,IAAMimF,EAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IACtC,GAAIA,AAAS,MAATA,EAAe,CACjB,IAAM32E,EAAQ22E,EAAM,KAAK,CAAGA,EAAM,MAAM,CACxC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC32E,EAEvB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAActP,EAAO,AjD7IzCinF,GiD6IyC,YAAoB,EACpB,YAAxC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cACzB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC33E,EAAQ,EAAG,IAAK,AjD/IrC23E,GiD+IqC,YAAoB,EAE5D,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC33E,EAAQ,EAAG,AjDjJhC23E,GiDiJgC,YAAoB,CACzD,CAEF,CAEJ,CAEA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAG,GACrB,IAAI,CAAC,IAAI,EACX,CACF,CAYA,SAASoX,GAAWnD,CAAM,CAAE59C,CAAM,EAChC,IAAIohD,EAAex5F,UAAU,MAAM,CAAG,GAAKA,AAAiBnF,KAAAA,IAAjBmF,SAAS,CAAC,EAAE,EAAiBA,SAAS,CAAC,EAAE,CACpFo4C,EAAO,OAAO,CAACt9C,IACb,IAAMoxB,EAASqmC,SAAS,aAAa,CAAC,SAClCz3D,CAAAA,IAAU0+F,EACZttE,EAAO,YAAY,CAAC,WAAY,YAEhCA,EAAO,YAAY,CAAC,QAAS3tB,OAAOzD,IAEtCk7F,EAAO,WAAW,CAAC9pE,EACrB,EACF,CCxPA,IAAMutE,GAAiB,CAAC,CAAC,OAAQ,SAAU,OAAO,CAAE,CAAC,CACnD,OAAQ,CACV,EAAG,CACD,OAAQ,CACV,EAAG,aAAa,CAAC,AACjB,OAAMC,WAAsBN,GAC1B,OAAO,SAAW,qMAAiO,AACnP,aAAYvX,CAAK,CAAE+H,CAAM,CAAE,CACzB,KAAK,CAAC/H,EAAO+H,GACb,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,AlD6DH7H,GkD7DG,oBAA4B,CAAE,CAACx0E,EAAMwzE,EAAOrkC,EAAUtiC,KAClE,GAAI7M,IAAS,AlD4DJw0E,GkD5DI,uBAA+B,EAC5C,GAAIhB,AAAS,MAATA,GAAiBA,EAAM,MAAM,CAAG,GAAK3mE,IAAW,AlD2D3C2nE,GkD3D2C,YAAoB,CAAE,CACxE,IAAI,CAAC,IAAI,GAET,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAG,MACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAG,GACxB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CACpD,IAAM7B,EAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACa,EAAM,KAAK,CAAEA,EAAM,MAAM,EAC3D,GAAIb,AAAiB,IAAjBA,EAAM,MAAM,CAAQ,CACtB,IAAM0J,EAAS,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC7I,EACtB,OAAV6I,GACF,IAAI,CAAC,QAAQ,CAACA,EAElB,KAAO,CACL,IAAM+P,EAAWzZ,CAAK,CAACA,EAAM,MAAM,CAAG,EAAE,CAClC91E,EAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACuvF,GAC5Br+F,EAASgD,KAAK,GAAG,CAACq7F,EAAS,MAAM,GAAK,EAAG5Y,EAAM,KAAK,CAAGA,EAAM,MAAM,CAAG32E,GACtEwvF,EAAc,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAIxX,GAAMh4E,EAAO9O,GACvC,OAAfs+F,GACF,IAAI,CAAC,QAAQ,CAACA,EAElB,CACF,MAAWrnC,SAAS,aAAa,GAAK,IAAI,CAAC,OAAO,EAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IACvE,IAAI,CAAC,IAAI,GAEb,EACF,CACA,QAAS,CACP,KAAK,CAAC,SAEN,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,gBAAgB,CAAC,QAAS,KAC7D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAC7B,GACA,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,AlD2BHwvB,GkD3BG,sBAA8B,CAAE,KAE5Ct8E,WAAW,KACT,GAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAc,OAC/C,IAAMs7E,EAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,GACrC,GAAIA,AAAS,MAATA,EAAe,CACjB,IAAM6I,EAAS,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC7I,EACtB,OAAV6I,GACF,IAAI,CAAC,QAAQ,CAACA,EAElB,CACF,EAAG,EACL,EACF,CACA,QAAS,CACP,IAAI,CAAC,IAAI,EACX,CACA,SAASp9D,CAAS,CAAE,CAClB,IAAM49D,EAAQ,KAAK,CAAC,SAAS59D,GACvBqtE,EAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,qBAOtC,OALAA,EAAM,KAAK,CAAC,UAAU,CAAG,GACX,IAAVzP,GAEFyP,CAAAA,EAAM,KAAK,CAAC,UAAU,CAAG,CAAC,EAAE,GAAKzP,EAAQyP,EAAM,WAAW,CAAG,EAAE,EAAE,CAAC,AAAD,EAE5DzP,CACT,CACF,CACA,MAAM0P,WAAoBhB,GACxB,YAAYjX,CAAK,CAAEnnF,CAAO,CAAE,CACK,MAA3BA,EAAQ,OAAO,CAAC,OAAO,EAAYA,AAAqC,MAArCA,EAAQ,OAAO,CAAC,OAAO,CAAC,SAAS,EACtEA,CAAAA,EAAQ,OAAO,CAAC,OAAO,CAAC,SAAS,CAAG++F,EAAa,EAEnD,KAAK,CAAC5X,EAAOnnF,GACb,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,YACrC,CACA,cAAcq/F,CAAO,CAAE,CAErB,IAAI,CAAC,OAAO,CAAG,IAAIL,GAAc,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EACvC,MAArBK,EAAQ,SAAS,GACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAACA,EAAQ,SAAS,EAC/C,IAAI,CAAC,YAAY,CAACA,EAAQ,SAAS,CAAC,gBAAgB,CAAC,UAAW,IAChE,IAAI,CAAC,YAAY,CAACA,EAAQ,SAAS,CAAC,gBAAgB,CAAC,UAAW,IAEpE,CACF,CACAD,GAAY,QAAQ,CAAG,AvG1DRrgB,GuG0Dc,CAAC,EAAGqf,GAAU,QAAQ,CAAE,CACnD,QAAS,CACP,QAAS,CACP,SAAU,CACR,KAAKh+F,CAAK,EACHA,EAIH,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAH7B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAQ,GAAOstF,GAAM,OAAO,CAAC,IAAI,CAKvD,CACF,CACF,CACF,CACF,GCxGA,IAAM,GAAiB,CAAC,CAAC,CACvB,OAAQ,CAAC,IAAK,IAAK,IAAK,GAAM,AAChC,EAAE,CAAE,CAAC,OAAQ,SAAU,YAAa,OAAO,CAAE,CAAC,CAC5C,KAAM,SACR,EAAG,CACD,KAAM,QACR,EAAE,CAAE,CAAC,QAAQ,CAAC,AACd,OAAM4R,WAAoBZ,GACxB,OAAO,SAAW,2OAAmQ,AACrR,SAAU,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAgB,AAClD,SAAS,CACP,KAAK,CAAC,SAEN,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,gBAAgB,CAAC,QAASp8E,IAC3D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAC/B,IAAI,CAAC,IAAI,GAGT,IAAI,CAAC,IAAI,CAAC,OAAQ,IAAI,CAAC,OAAO,CAAC,WAAW,EAE5CA,EAAM,cAAc,EACtB,GAEA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,gBAAgB,CAAC,QAASA,IAC/D,GAAI,AAAkB,MAAlB,IAAI,CAAC,SAAS,CAAU,CAC1B,IAAM+jE,EAAQ,IAAI,CAAC,SAAS,CAC5B,IAAI,CAAC,YAAY,GACjB,IAAI,CAAC,KAAK,CAAC,UAAU,CAACA,EAAO,OAAQ,GAAO,AnD0CrCgB,GmD1CqC,YAAoB,EAChE,OAAO,IAAI,CAAC,SAAS,AACvB,CACA/kE,EAAM,cAAc,GACpB,IAAI,CAAC,IAAI,EACX,GACA,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,AnDoCH+kE,GmDpCG,uBAA+B,CAAE,CAAChB,EAAOrkC,EAAUtiC,KAC/D,GAAI2mE,AAAS,MAATA,GACJ,GAAIA,AAAiB,IAAjBA,EAAM,MAAM,EAAU3mE,IAAW,AnDkC5B2nE,GmDlC4B,YAAoB,CAAE,CACzD,GAAM,CAACz2C,EAAM7qC,EAAO,CAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAACsV,GAAUgrE,EAAM,KAAK,EACzE,GAAIz1C,AAAQ,MAARA,EAAc,CAChB,IAAI,CAAC,SAAS,CAAG,IAAI82C,GAAMrB,EAAM,KAAK,CAAGtgF,EAAQ6qC,EAAK,MAAM,IAC5D,IAAMguD,EAAUvjF,GAAA,OAAgB,CAACu1B,EAAK,OAAO,CAE7C,KAAI,CAAC,OAAO,CAAC,WAAW,CAAGguD,EAE3B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAQA,GAClC,IAAI,CAAC,IAAI,GACT,IAAM1P,EAAS,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CACpC,OAAVA,GACF,IAAI,CAAC,QAAQ,CAACA,GAEhB,MACF,CACF,MACE,OAAO,IAAI,CAAC,SAAS,CAEvB,IAAI,CAAC,IAAI,GACX,EACF,CACA,MAAO,CACL,KAAK,CAAC,OACN,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,YAC5B,CACF,CACA,MAAMqQ,WAAkBnB,GACtB,YAAYjX,CAAK,CAAEnnF,CAAO,CAAE,CACK,MAA3BA,EAAQ,OAAO,CAAC,OAAO,EAAYA,AAAqC,MAArCA,EAAQ,OAAO,CAAC,OAAO,CAAC,SAAS,EACtEA,CAAAA,EAAQ,OAAO,CAAC,OAAO,CAAC,SAAS,CAAG,IAEtC,KAAK,CAACmnF,EAAOnnF,GACb,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,UACrC,CACA,cAAcq/F,CAAO,CAAE,CACI,MAArBA,EAAQ,SAAS,GACnBA,EAAQ,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,WAChC,IAAI,CAAC,YAAY,CAACA,EAAQ,SAAS,CAAC,gBAAgB,CAAC,UAAW,IAChE,IAAI,CAAC,YAAY,CAACA,EAAQ,SAAS,CAAC,gBAAgB,CAAC,UAAW,IAEhE,IAAI,CAAC,OAAO,CAAG,IAAIC,GAAY,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAC1DD,EAAQ,SAAS,CAAC,aAAa,CAAC,aAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC7B,IAAK,IACL,SAAU,EACZ,EAAG,CAACG,EAAQ9+C,KACV2+C,EAAQ,QAAQ,CAAC,IAAI,CAAC,IAAI,CAACA,EAAS,CAAC3+C,EAAQ,MAAM,CAAC,IAAI,CAC1D,GAGN,CACF,CACA6+C,GAAU,QAAQ,CAAG,AxGzDNxgB,GwGyDY,CAAC,EAAGqf,GAAU,QAAQ,CAAE,CACjD,QAAS,CACP,QAAS,CACP,SAAU,CACR,KAAKh+F,CAAK,EACR,GAAIA,EAAO,CACT,IAAMimF,EAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,GACrC,GAAIA,AAAS,MAATA,GAAiBA,AAAiB,IAAjBA,EAAM,MAAM,CAAQ,OACzC,IAAIuY,EAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAACvY,GAC7B,iBAAiB,IAAI,CAACuY,IAAYA,AAA+B,IAA/BA,EAAQ,OAAO,CAAC,YACpDA,CAAAA,EAAU,CAAC,OAAO,EAAEA,EAAQ,CAAC,AAAD,EAG9B,GAAM,CACJa,QAAAA,CAAO,CACR,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CACpBA,EAAQ,IAAI,CAAC,OAAQb,EACvB,MACE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAQ,GAAOlR,GAAM,OAAO,CAAC,IAAI,CAEvD,CACF,CACF,CACF,CACF,GCxFA,AxBIeA,GwBJf,QAAc,CAAC,CACb,kCAAmCmE,GACnC,0BAA2BT,GAC3B,+BAAgCK,GAChC,0BAA2BF,GAC3B,8BAA+BO,GAC/B,yBAA0BE,GAC1B,yBAA0BG,GAC1B,0BAA2Bd,GAC3B,+BAAgCK,GAChC,0BAA2BF,GAC3B,8BAA+BO,GAC/B,yBAA0BE,GAC1B,yBAA0BG,EAC5B,EAAG,IACH,AxBXe1E,GwBWf,QAAc,CAAC,CACb,gBAAiB0D,GACjB,oBAAqBU,GACrB,iBvBrBa4H,GuBsBb,qBAAsBhI,GACtB,gBAAiBF,GACjB,eAAgBQ,GAChB,eAAgBG,GAChB,qBAAsB,GACtB,qBAAsB,GACtB,iBAAkB,GAClB,eAAgB,GAChB,eAAgB,GAChB,eAAgB,GAChB,iBC3DF,MAAMuN,UAAe,GACnB,OAAO,SAAW,QAAS,AAC3B,QAAO,QAAU,CAAC,KAAM,IAAI,AAAC,AAC/B,EDyDE,eAAgBrkF,GAChB,iBAAkB,GAClB,iBE9DF,MAAMuM,UAAe,GACnB,OAAO,SAAW,QAAS,AAC3B,QAAO,QAAU,CAAC,IAAK,SAAS,AAAC,AACnC,EF4DE,oBAAqB,GACrB,kBAAmB,GACnB,gBAAiB,GACjB,gBAAiB,GACjB,iBAAkByzE,GAClB,gBAAiB,GACjB,kBAAmBc,GACnB,gBAAiBiD,GACjB,cDgDaG,GC/Cb,WAAY,GACZ,YAAa,GACb,iBAAkB,GAClB,kBAAmB,GACnB,aAAc,EAChB,EAAG,IG7DH,IAAM3pB,GAAsB,SAC1BrkE,CAAI,E,IAaImhF,EAZRiN,EAAAA,UAAAA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAkC,EAAE,CACpCnkC,EAAAA,UAAAA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAkC,CAAC,EAE7BtgC,EAASykE,EAAW,MAAM,CAAC,SAAChgD,CAAG,CAAEsxB,CAAG,CAAE5U,CAAG,EAE7C,OADA1c,CAAG,CAACsxB,EAAI,EAAE,CAAC,CAAG5U,EACP1c,CACT,EAAG,CAAC,GAkCJ,MAxBcigD,AAHLlN,CAAAA,CADDA,EAAUz0C,AAIsB1sC,EAJhB,KAAK,CADb,yBAEa,EAAE,AAAD,EAGgB,GAAG,CAAC,SAACqhB,CAAC,EAElD,GADAxf,QAAQ,GAAG,CAACwf,IACRA,CAAAA,EAAE,UAAU,CAAC,MAAQA,EAAE,QAAQ,CAAC,IAAG,EAkBrC,OAAOA,EAjBP,IAAM/V,EAAK+V,EAAE,SAAS,CAAC,EAAGA,EAAE,MAAM,CAAG,GACrCxf,QAAQ,GAAG,CAACyJ,GACZ,IAAMjW,EAAI+4F,CAAU,CAACzkE,CAAM,CAACre,EAAG,CAAC,CAChC,GAAI,CAACjW,EAAG,OAAOiW,EACf,IAAMgjF,EACJj5F,EAAE,MAAM,EAAI40D,CAAU,CAAC50D,EAAE,EAAE,CAAC,CACvB,GAOC,OAPCmoE,GACDnoE,EAAE,MAAM,CACL,MAAM,CAAC,SAAC9G,CAAC,E,OAAK07D,CAAU,CAAC50D,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC9G,EAAE,EAAE,C,GAC5C,GAAG,CAAC,SAACA,CAAC,E,OAAKA,EAAE,KAAK,A,GACrB6yB,EAAE,OACF,GACA,KAEF,QACN,OAAO7zB,IAAE,SAAU+gG,EAIvB,EAGF,EAGaC,GAET,WACF,MAAO,CACL,KAAM,Y,IAAGjmF,EAAAA,EAAAA,KAAK,CAEVkmD,EAEElmD,EAFFkmD,QAAQ,CAARA,EAEElmD,EADF,KAAK,CAAIo2D,EAAAA,EAAAA,KAAK,CAAE,EAAPA,EAAOsD,YAAY,CAGJ/4C,EAAAA,AACtBy1C,EADF,QAAQ,CAAI,UAAU,CAAEz1C,EAAAA,AAAAA,KAAAA,IAAAA,EAAa,EAAE,CAAfA,EAG1B,EAA4B+4C,AANK,CAAfA,KAAAA,IAAe,GAAC,KAM1B/X,UAAU,CAAVA,EAAa,AAAbA,KAAAA,IAAa,GAAC,IAYtB,OAAOukC,AAViBhgC,EACrB,KAAK,CAFW,YAGhB,GAAG,CAAC,SAACptC,CAAC,E,OACLA,EAAE,OAAO,CAAC,MAAO,SAAC/vB,CAAC,E,MACjB,CAACA,EAAIo9F,EAAW,MAAM,CACjB,IAAyB,OAAtBA,CAAU,CAAC,CAACp9F,EAAI,EAAE,CAAC,EAAE,CAAC,KACzB,OAAQ,OAAFA,EAAE,O,KAGhB,IAAI,CAAC,IAEL,KAAK,CAAC,OACN,GAAG,CAAC,SAAC+vB,CAAC,E,OAAKA,EAAE,IAAI,E,GACjB,MAAM,CAAC+sC,SACP,GAAG,CAAC,SAAC/sC,CAAC,E,OACL7zB,IAAE,sBAAuB,CACvB82E,GAAoBjjD,EAAGqtE,EAAYxkC,GACpC,C,EAEP,CACF,CACF,E,iyBCrEA,IAAMykC,GAMD,WACH,MAAO,CACL,KAAM,Y,QAAG,KAAK,CAAIC,EAAAA,EAAAA,EAAE,CAAEC,EAAAA,EAAAA,GAAG,CAAE//F,EAAAA,EAAAA,KAAK,CAAEggG,EAAAA,EAAAA,QAAQ,CAAEnjE,EAAAA,EAAAA,QAAQ,CAElD,OAAOn+B,IAAE24E,EAAM,CACb,UAAY,YAAwC,OAA7B2oB,EAAW,aAAe,IACjDnlB,SAHe76E,EAAQ8/F,EAAKC,EAI5BC,SAAAA,EACA,QAASA,EAAW,CAAC,EAAI,W,OAAMnjE,EAAS,CAAC78B,E,CAC3C,EACF,CACF,CACF,EAEMigG,GAAgB,SAACzmB,CAAS,EAC9B,IAAQ0mB,EAAwB1mB,EAAxB0mB,WAAW,CAAEC,EAAW3mB,EAAX2mB,MAAM,CAC3B,GAAI,AAAuB,UAAvB,OAAOD,GAA4B,AAAkB,UAAlB,OAAOC,GAC9C,IAAMxhG,EAAI,CAACuhG,EAAY,OAAO,CAAC,aAAc,IACvC19F,EAAI,CAAC29F,EAAO,OAAO,CAAC,aAAc,GAQxC3mB,CAAAA,EAAU,IAAI,CAAG,QAAU4mB,AAPI,CAC7B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAE,CACf,CAAC,EAAG,EAAG,EAAG,EAAG,EAAE,CACf,CAAC,EAAG,EAAG,EAAG,EAAG,EAAE,CACf,CAAC,EAAG,EAAG,EAAG,EAAG,EAAE,CACf,CAAC,EAAG,EAAG,EAAG,EAAG,EAAE,CAChB,AACoC,CAACzhG,EAAE,CAAC6D,EAAE,CAC3CwQ,QAAQ,GAAG,CACR,gCAAgDmtF,MAAAA,CAAjBD,EAAY,OAAiB1mB,MAAAA,CAAZ2mB,EAAO,OAAoB,OAAf3mB,EAAU,IAAI,GAE/E,EAEa6mB,GAGR,WACH,IAAIC,EAAY,GAEhB,MAAO,CACL,KAAM,Y,IAAG7mF,EAAAA,EAAAA,KAAK,CAEV8mF,EAQE9mF,EARF8mF,KAAK,CACLzvB,EAOEr3D,EAPFq3D,QAAQ,CAARA,EAOEr3D,EANF,KAAK,CACHo2D,EAAAA,EAAAA,KAAK,CAALA,EAAAA,EACA2wB,aAAa,CAAbA,EAAgB,AAAhBA,KAAAA,IAAgB,GAAC,QACjBC,WAAW,CAAXA,EAAc,AAAdA,KAAAA,IAAc,GAAC,QACfttB,YAAY,CAAZA,EAAe,AAAfA,KAAAA,IAAe,GAAC,IAGpB,EAEItD,EADF,QAAQ,CAAR,IAAYO,UAAU,CAAVA,EAAa,AAAbA,KAAAA,IAAa,IAAE,GAAch2C,EAAAA,EAAZ,UAAU,CAEnCsmE,EAAqBtwB,EAAW,MAAM,CAAG,EACzCM,EAAWN,EAAW,MAAM,CAAC,SAAC5pE,CAAC,E,OAAKA,EAAE,EAAE,GAAK+5F,C,GAAO,KAAK,GACzDI,EAAejwB,MAAAA,EAAAA,KAAAA,EAAAA,EAAU,YAAY,CACrCsK,EACJ2lB,GACAf,AAPyCxlE,CAAAA,AAAAA,KAAAA,IAAAA,EAAa,EAAE,CAAfA,CAAAA,EAO9B,MAAM,CAAC,SAAC5zB,CAAC,E,OAAKm6F,EAAa,OAAO,CAACn6F,EAAE,EAAE,GAAK,C,GAEzD,EAA4B2sE,EAApB/X,UAAU,CAAVA,EAAa,AAAbA,KAAAA,IAAa,GAAC,IAEtB,OACEsV,GACAsK,GACAt8E,IAAE,sBAAuB,CACvBA,IAAE,WAAYgiG,GAAsBhiG,IAAE,KAAMgyE,EAAS,KAAK,GAC1DhyE,IAAE,gBAAiB,CAcjBA,IAAEmhG,GAAY,CACZ,GAAI,YACJ,IAAK,OACL,MAAOS,EACP,SAAU,SAAC5gG,CAAC,EACV4gG,EAAY5gG,EACZ+Z,EAAM,MAAM,CAAC,CACX,YAAa,W,IACXmnF,EADY79E,EAAI,UAAJA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAI,CAAC,EAIjB,OAHA69E,MAAAA,GAAAA,AAAsB,OAAtBA,CAAAA,EAAAA,EAAU,YAAY,AAAD,GAArBA,AAAAA,KAAAA,IAAAA,GAAAA,EAAwB,OAAO,CAC7B,SAACnkF,CAAE,E,OAAMsG,CAAC,CAACtG,EAAG,CAAG6jF,C,GAEZv9E,CACT,CACF,EACF,CACF,GACD,EACDi4D,EAAM,GAAG,CAAC,SAACx0E,CAAC,E,IAWG+qE,E,MAXE,CACf,CACE7yE,IAAEk6E,GAAQ,CACR,MAAOpyE,EAAE,KAAK,CACd,IAAM,OAAcg6F,MAAAA,CAARh6F,EAAE,EAAE,CAAC,KAAuB,OAApBg6F,CAAa,CAACh6F,EAAE,EAAE,CAAC,EACvC,UAAW,UACX,SAAU,GACV,SACE,AAA+B,SAAxBg6F,CAAa,CAACh6F,EAAE,EAAE,CAAC,EAC1Bg6F,CAAa,CAACh6F,EAAE,EAAE,CAAC,CACrB,aAAc40D,CAAU,CAAC50D,EAAE,EAAE,CAAC,CAC9B,QAAS,AAAQ,OAAR+qE,CAAAA,EAAAA,EAAE,MAAM,AAAD,GAAPA,AAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAU,MAAM,CAAC,SAAC/qE,CAAC,E,MAAK,CAACsqE,EAAS,GAAG,CAACtqE,EAAE,EAAE,C,GACnD,YAAa+rB,EAAE,OAAQ,QACvB,SAAU,SAAC+oD,CAAG,EACR,CAACnI,EAAa,UAAU,EAC1BA,CAAAA,EAAa,UAAU,CAAG,CAAC,GAE7BA,EAAa,UAAU,CAAC3sE,EAAE,EAAE,CAAC,CAAG80E,EAChClI,GAAgB35D,EAAO05D,EACzB,CACF,GACD,CACDz0E,IAAE,gBAAiB,CAejBA,IAAEmhG,GAAY,CACZ,GAAI,YACJ,IAAK,OACL,SAAUr5F,EAAE,MAAM,CAClB,MAAOA,CAAAA,EAAE,MAAM,GAAIi6F,CAAW,CAACj6F,EAAE,EAAE,CAAC,CACpC,SAAU,SAAC9G,CAAC,EACV+Z,EAAM,MAAM,CAAC,CACX,YAAa,W,IAAC1a,EAAI,UAAJA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAI,CAAC,EAEjB,OADAA,CAAC,CAACyH,EAAE,EAAE,CAAC,CAAG,CAAC9G,EACJX,CACT,CACF,EACF,CACF,GACD,EACF,A,GACF,CAEL,CACF,CACF,EAEa8hG,GAAuC,WAElD,IADIC,EACAR,EAAY,GACZvnB,EAAU,EAEd,MAAO,CACL,OAAQ,Y,OAAexG,GAAZ94D,EAAAA,KAAK,CAAsB0yD,EAAAA,eAA0B,C,EAChE,KAAM,Y,IAAG1yD,EAAAA,EAAAA,KAAK,CACZ,EAEIA,EADF,KAAK,CAAIo2D,EAAAA,EAAAA,KAAK,CAAE,EAAPA,EAAOsD,YAAY,CAAZA,EAAe,AAAfA,KAAAA,IAAe,GAAC,QAAgBstB,WAAW,CAAXA,EAAc,AAAdA,KAAAA,IAAc,GAAC,IAO7D1wB,EAAAA,EAAM,QAAQ,CAJhBpQ,EAIEoQ,EAJFpQ,QAAQ,CAARA,EAIEoQ,EAHFK,UAAU,CAAVA,EAAa,AAAbA,KAAAA,IAAa,IAAE,KAGbL,EAFFM,eAAe,CAAfA,EAAkB,AAAlBA,KAAAA,IAAkB,GAAC,MAEjBN,EADFgxB,sBAAsB,CAElBtvB,EAAa5B,EAAM,QAAQ,EAAIA,EAAM,QAAQ,CAAC,UAAU,CACxDiB,EACJqC,EAAa,UAAU,EAJE,AAAzB4tB,KAAAA,IAAyB,KAKrBziG,OAAO,IAAI,CAAC60E,EAAa,UAAU,EAChC,MAAM,CAAC,SAACtC,CAAG,E,OAAKsC,EAAa,UAAU,CAACtC,EAAI,A,GAC5C,MAAM,CAAC,SAACtxB,CAAG,CAAEsxB,CAAG,EAQf,OAPAsC,EAAa,UAAU,CAACtC,EAAI,CAAC,OAAO,CAClC,SAACnxE,CAAC,E,OACA2wE,CAAe,CAAC3wE,EAAE,EAClBpB,OAAO,IAAI,CAAC+xE,CAAe,CAAC3wE,EAAE,EAAE,OAAO,CACrC,SAAC+c,CAAE,E,OAAK4zD,CAAe,CAAC3wE,EAAE,CAAC+c,EAAG,EAAI8iC,EAAI,GAAG,CAAC9iC,E,KAGzC8iC,CACT,EAAG,IAAI2P,KACT,IAAIA,IACJ8xC,EAAgBxvB,GAAoB3B,EAAM,QAAQ,CAAC,UAAU,EAEnE,OAAOnxE,IAAE,uBAAwB,CAC/BA,IAAE,WAAY,CACZA,IAAEm6E,GAAY,CACZ,MAAOtmD,EAAE,sBACT,SAAU,UACV,QAAS,WACP,MAA4B4gD,EAApB/X,UAAU,CAAVA,EAAa,AAAbA,KAAAA,IAAa,GAAC,IAChB+U,EAAS/U,EACX98D,OAAO,IAAI,CAACmiG,GAAa,MAAM,CAAC,SAAClhD,CAAG,CAAEsxB,CAAG,EAIvC,OAHI4vB,CAAW,CAAC5vB,EAAI,EAClBtxB,CAAAA,CAAG,CAACsxB,EAAI,CAAGzV,CAAU,CAACyV,EAAI,AAAD,EAEpBtxB,CACT,EAAG,CAAC,GACH,CAAC,EACNswB,EAAM,QAAQ,CAAC,UAAU,CACtB,MAAM,CAAC,SAACrpE,CAAC,E,OAAKA,EAAE,MAAM,A,GACtB,OAAO,CAAC,SAACA,CAAC,EACT2pE,CAAM,CAAC3pE,EAAE,EAAE,CAAC,CAAG40D,CAAU,CAAC50D,EAAE,EAAE,CAAC,AACjC,GACF,IAAMgzE,EAAYvJ,GAAkBJ,EAAM,QAAQ,CAAEM,GAC/CqJ,GAGHT,IACAt/D,EAAM,MAAM,CAAC,CAAE,aAAc,W,OAAM+/D,C,CAAU,IAH7C3G,MAAMtgD,EAAE,gBAKZ,CACF,GACA7zB,IAAEm6E,GAAY,CACZ,MAAOtmD,EAAE,mBACT,SAAU,QACV,MAAO,qBACP,QAAS,WACPwmD,EAAUA,AAAY,IAAZA,EAAgB,EAAI,EAC9B+nB,EAAO,WAAW,CAAC,EAAE,EACrBrnF,EAAM,MAAM,CAAC,CACX,YAAa,W,MAAO,CAAC,C,EACrB,aAAc,W,MACX,CAAE,SAAU,GAAO,WAAY,CAAC,CAAE,C,CACvC,EACF,CACF,GACA05D,EAAa,KAAK,CACd,CACEz0E,IAAEm6E,GAAY,CACZ,MAAOtmD,EAAE,mBACT,SAAU,eACV,MAAO,qBACP,QAAS,WACP,IAKE0uE,EALI3vB,EAA0BnC,GAASgE,EACzC7B,CAAAA,EAAa,EAAE,CAAGrE,IAClBqE,EAAa,KAAK,CAAG,GACrBA,EAAa,KAAK,CAAGY,GACnBiB,EAAa,KAAK,CACO,OAAzB8tB,CAAAA,EAAAA,EAAM,QAAQ,CAAC,UAAU,AAAD,GAAxBA,AAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2B,GAAG,CAAC,SAAC79F,CAAC,E,OAAKA,EAAE,KAAK,A,IAE/C8vE,GAAcz5D,EAAO63D,EACvB,CACF,GACA5yE,IAAEm6E,GAAY,CACZ,MAAOtmD,EAAE,UACT,SAAU,SACV,QAAS,sBACX,GACA7zB,IAAE67E,GAAY,CACZ,GAAI,uBACJ,MAAOhoD,EAAE,cAAe,QAAS,CAAE,KAAMA,EAAE,YAAa,GACxD,YAAaA,EAAE,cAAe,cAAe,CAC3C,KAAMA,EAAE,YACV,GACA,QAAS,CACP,CACE,MAAOA,EAAE,SACX,EACA,CACE,MAAOA,EAAE,MACT,QAAS,WACPwmD,EAAU,EACVlJ,EAAM,QAAQ,CAAC,UAAU,CACvBA,EAAM,QAAQ,CAAC,UAAU,CAAC,MAAM,CAC9B,SAACzsE,CAAC,E,OAAKA,EAAE,EAAE,GAAK+vE,EAAa,EAAE,A,GAEnCmtB,EAAY,GACZQ,EAAO,WAAW,CAAC,EAAE,EACrBR,EAAY,GACZ7mF,EAAM,MAAM,CAAC,CACX,aAAc,W,MACX,CAAE,SAAU,GAAO,WAAY,CAAC,CAAE,C,EACrC,YAAa,W,CACf,GACAk5D,GAAUl5D,EAAOo2D,EACnB,CACF,EACD,AACH,GACD,CACD,CACEnxE,IAAEm6E,GAAY,CACZ,MAAOtmD,EAAE,kBACT,SAAU,OACV,SACE,CAAC4gD,EAAa,KAAK,EACnB,CAACA,EAAa,UAAU,EACxB70E,AAAgD,IAAhDA,OAAO,IAAI,CAAC60E,EAAa,UAAU,EAAE,MAAM,CAC7C,QAAS,WACPD,GAAcz5D,EAAO05D,EACvB,CACF,GACD,CACL1B,GAAc,CACZ/yE,IAAEk6E,GAAQ,CACR,IAAKplD,KAAK,GAAG,GACb,UAAW,gBACX,MAAOjB,EAAE,oBACT,UAAW4gD,EAAa,KAAK,CAAGA,EAAa,EAAE,CAAGpzE,KAAAA,EAClD,YAAawyB,EAAE,OAAQ,WACvB,QAASyuE,EACT,SAAU,SAACthG,CAAC,EACV,GAAIA,GAAKA,EAAE,MAAM,CAAG,EAAG,CACrBq5E,IACA,IAAMzH,EAAeG,EAClB,MAAM,CAAC,SAACruE,CAAC,E,OAAKA,EAAE,EAAE,GAAK1D,CAAC,CAAC,EAAE,A,GAC3B,KAAK,GACR4gG,EAAY,GACZQ,EAAO,WAAW,CAChBxvB,GAAgBA,EAAa,IAAI,CAC7Bh4C,KAAK,KAAK,CAACg4C,EAAa,IAAI,EAC5B,EAAE,EAERgvB,EAAY,GAEZ7mF,EAAM,MAAM,CAAC,CACX,aAAc,W,OAAM63D,C,EACpB,YAAa,W,OACXzB,EAAM,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,SAACtwB,CAAG,CAAEsxB,CAAG,EAExC,OADAtxB,CAAG,CAACsxB,EAAI,EAAE,CAAC,CAAG,GACPtxB,CACT,EAAG,CAAC,E,CACR,EACF,CACF,CACF,GACD,CACF,EACDogB,EACIjhE,IAAEghG,GAAmB,SAChBjmF,GAAAA,CACHkmD,SAAAA,C,IAEF,GACJyQ,EAAW,GAAG,CAAC,SAAC5pE,CAAC,CAAEhE,CAAC,E,OAClB9D,IACE,WACA,CACE,UAAY,IAAsC,OAAnC8E,KAAK,KAAK,CAAC,GAAK4sE,EAAW,MAAM,GAChD,IAAK,IAAQ2I,EAAUv2E,CACzB,EACA9D,IAAE2hG,GAAe,SACZ5mF,GAAAA,CACH,MAAOjT,EAAE,EAAE,CACXsqE,SAAAA,C,OAINpyE,IAAE,WAAY,CACZA,IAAE,OAAQ,CACRA,IAAEwiG,GAAW,CACX,UAAW,YACX,aAAc/tB,EAAa,KAAK,CAChC,MAAO5gD,EAAE,kBACT,SAAU,GACV,SAAU,SAACnvB,CAAC,EACV+vE,EAAa,KAAK,CAAG/vE,EACrBgwE,GAAgB35D,EAAO05D,EACzB,CACF,GACAz0E,IAAE+7E,GAAe,CACf,UAAW,iBACX,QAAStH,EAAa,QAAQ,CAC9B,MAAO5gD,EAAE,qBACT,SAAU,SAACnvB,CAAC,EACV+vE,EAAa,QAAQ,CAAG/vE,EACxBgwE,GAAgB35D,EAAO05D,EACzB,CACF,GACAtD,EAAM,QAAQ,CAAC,sBAAsB,EAAI,CACvCnxE,IAAEk6E,GAAQ,CACR,IAAM,OAAsB,OAAhBzF,EAAa,EAAE,EAC3B,YAAa5gD,EAAE,OAAQ,QACvB,UAAW,YACX,MAAOA,EAAE,eACT,aAAc4gD,EAAa,WAAW,CACtC,QAAS8S,GAAM,EAAG,GAAG,GAAG,CAAC,SAACxpE,CAAE,E,MAAM,CAChC,GAAK,eAAiB,OAAHA,GACnB,MAAO8V,EAAE,QAAS9V,EACpB,C,GACA,SAAU,SAACrZ,CAAC,EACV+vE,EAAa,WAAW,CAAG/vE,CAAC,CAAC,EAAE,CAC/B68F,GAAc9sB,GACdC,GAAgB35D,EAAO05D,EACzB,CACF,GACAz0E,IAAEk6E,GAAQ,CACR,IAAM,MAAqB,OAAhBzF,EAAa,EAAE,EAC1B,YAAa5gD,EAAE,OAAQ,QACvB,UAAW,YACX,MAAOA,EAAE,UACT,aAAc4gD,EAAa,MAAM,CACjC,QAAS8S,GAAM,EAAG,GAAG,GAAG,CAAC,SAACxpE,CAAE,E,MAAM,CAChC,GAAK,UAAY,OAAHA,GACd,MAAO8V,EAAE,OAAQ9V,EACnB,C,GACA,SAAU,SAACrZ,CAAC,EACV+vE,EAAa,MAAM,CAAG/vE,CAAC,CAAC,EAAE,CAC1B68F,GAAc9sB,GACdC,GAAgB35D,EAAO05D,EACzB,CACF,GACAz0E,IAAEk6E,GAAQ,CACR,IAAM,GAAqBzF,MAAAA,CAAnBA,EAAa,EAAE,CAAC,KAA+BA,MAAAA,CAA5BA,EAAa,WAAW,CAAC,KAAuB,OAApBA,EAAa,MAAM,EAC1E,YAAa5gD,EAAE,oBACf,UAAW,YACX,MAAOA,EAAE,QACT,aAAc4gD,EAAa,IAAI,CAC/B,QAAS8S,GAAM,EAAG,GAAG,GAAG,CAAC,SAACxpE,CAAE,E,MAAM,CAChC,GAAK,QAAU,OAAHA,GACZ,MAAO8V,EAAE,QAAS9V,EAGpB,C,GACA,SAAU,EACZ,GACD,CACF,EAED,CACE/d,IAAE,UAAW,CACX,SAAU,WAyBRoiG,AAxBAA,CAAAA,EAAS,I5BhbVxT,G4BgboB,UAAW,CAE5B,QAAS,CAEP,QAAS,CACP,CAAC,CAAE,OAAQ,CAAC,EAAG,EAAG,GAAM,AAAC,EAAE,CAC3B,CAAC,OAAQ,SAAU,YAAa,SAAS,CACzC,CAAC,CAAE,KAAM,SAAU,EAAG,CAAE,KAAM,QAAS,EAAE,CACzC,CAAC,CAAE,OAAQ,KAAM,EAAG,CAAE,OAAQ,OAAQ,EAAE,CACxC,CAAC,CAAE,OAAQ,IAAK,EAAG,CAAE,OAAQ,IAAK,EAAE,CACpC,CACE,CAAE,MAAO,EAAE,AAAC,EAEb,CAED,CAAC,CAAE,MAAO,EAAE,AAAC,EAAE,CAEf,CAAC,QAAS,aAAa,CACxB,AACH,EACA,YAAa/6D,EAAE,sBACf,SAAU,GACV,MAAO,MACT,EAAC,EACM,EAAE,CAAC,cAAe,WACvB,IAAI+tE,GACJ,IAAQntB,EAAiB15D,EAAM,QAAQ,GAA/B05D,YAAY,CACfA,IACLA,EAAa,IAAI,CAAG75C,KAAK,SAAS,CAACwnE,EAAO,WAAW,IACrD1tB,GAAgB35D,EAAO05D,IACzB,GACIA,GACF2tB,EAAO,WAAW,CAChB3tB,EAAa,IAAI,CAAG75C,KAAK,KAAK,CAAC65C,EAAa,IAAI,EAAI,EAAE,CAG5D,CACF,GACD,CACF,EACF,CACH,CACF,CACF,E,aC9faguB,GAAe,Y,IAC1Bp5B,EAAAA,EAAAA,IAAI,CACJq5B,EAAAA,EAAAA,IAAI,CAAJA,EAAAA,EACAC,GAAG,C,MAKU,kCAIXA,MAAAA,CAFUD,EAAK,kBAMfr5B,MAAAA,CAbI,AAANs5B,KAAAA,IAAM,EAAAC,GAAAA,EASA,2BAIC,OAALv5B,EAAK,uB,EAKIu5B,GAAY,2Q,qHCQzB,IAAMjB,GAGD,WACH,IAAI5jF,EACJ,MAAO,CACL,OAAQ,W,OAAOA,EAAKwwD,G,EACpB,KAAM,Y,QAAG,KAAK,CAAL,IAASkG,YAAY,CAAoB6H,EAAAA,EAAAA,KAAK,CAC7C5f,EAAe+X,AADQ,CAAfA,KAAAA,IAAe,GAAC,KACxB/X,UAAU,CACZtgC,EACJkgD,GACAA,EAAM,MAAM,CAAC,SAACz7B,CAAG,CAAEsxB,CAAG,EAKpB,OAJAA,EAAI,MAAM,EACRA,EAAI,MAAM,CAAC,OAAO,CAAC,SAACnxE,CAAC,EACnB6/C,CAAG,CAACsxB,EAAI,EAAE,CAAGnxE,EAAE,EAAE,CAAC,CAAGA,EAAE,KAAK,AAC9B,GACK6/C,CACT,EAAG,CAAC,GACN,MAAO,CACL7gD,IAAE,kBAAmB,CAAE+d,GAAAA,CAAG,EAAG,CAC3B/d,IACE,QACAA,IAAE,KAAM,CAACA,IAAE,KAAM6zB,EAAE,cAAe7zB,IAAE,KAAM6zB,EAAE,cAAc,GAE5D7zB,IACE,QACA08D,GACE4f,GACAlgD,GACAkgD,EACG,MAAM,CAAC,SAACx0E,CAAC,E,OAAK40D,CAAU,CAAC50D,EAAE,EAAE,CAAC,A,GAC9B,GAAG,CAAC,SAACA,CAAC,EACL,OAAO9H,IAAE,KAAM,CACbA,IAAE,KAAM8H,EAAE,KAAK,EACf9H,IACE,KACA08D,CAAU,CAAC50D,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,SAACiW,CAAE,E,OAAKqe,CAAM,CAACt0B,EAAE,EAAE,CAAGiW,EAAG,A,GAAE,IAAI,CAAC,OAExD,CACH,IAEP,EAED/d,IAAEm6E,GAAY,CACZ,MAAOtmD,EAAE,qBACT,UAAW,QACX,SAAU,eACV,QAAS,W,IACE7f,EAAT,SAAkB3T,CAAiB,EACjC,IAAI,CAACA,EAAE,aAAa,EACpB,IAAMw0F,EAAQ97B,SAAS,cAAc,CAACh7C,GACjC82E,IACLvgF,QAAQ,GAAG,CAACugF,EAAM,SAAS,EAC3Bx0F,EAAE,aAAa,CAAC,OAAO,CACrB,YACAoiG,GAAa,CACX,KAAM5N,EAAM,SAAS,CACrB,KAAMvf,GAAK,aAAa,AAC1B,IAGFj1E,EAAE,cAAc,IAClB,EACA04D,SAAS,gBAAgB,CAAC,OAAQ/kD,GAClC+kD,SAAS,WAAW,CAAC,QACrBA,SAAS,mBAAmB,CAAC,OAAQ/kD,EACvC,CACF,GACD,AACH,CACF,CACF,EAEa6uF,GAAqC,WAGhD,I,IAFIT,EAEEU,G,KAAe,SAAO3xB,CAAK,CAAaC,CAAa,E,IACnDzqB,EACAo8C,EAkBA3oB,E,glCAlBO,OADPzzB,EAAQy7C,EAAO,WAAW,GACnB,C,EAAMY,AAAAA,GAAAA,GAAAA,YAAAA,AAAAA,EAAar8C,EAAO,CACrC,SAAU,OACV,gBAAiB,CACf,OAAQ,CACN,UAAW,CACT,QAAS,CACP,OAAQ,EACR,MAAO,EACT,CACF,EACA,IAAK,CACH,KAAM,UACN,KAAM,EACR,CACF,CACF,CACF,G,QAGA,GAnBMo8C,EAAO,SAmBT,CADE3oB,CAAAA,EAAerhB,SAAS,cAAc,CAAC,qBAAoB,EAE/D,O,UAEFoY,EAAM,OAAO,CAAGA,EAAM,OAAO,CAAGA,EAAM,OAAO,GAAK,EAClDiJ,EAAa,YAAY,CAAC,OAAQzK,IAAI,eAAe,CAACozB,IACtD3oB,EAAa,YAAY,CACvB,WACC,GAAwC,OAAtClJ,GAAgBC,EAAOC,GAAe,UAE3CgJ,EAAa,KAAK,G,MACpB,E,wLA/B4BjJ,CAAK,CAAaC,CAAa,E,iCAiC3D,MAAO,CACL,OAAQ,Y,OAAeyC,GAAZ94D,EAAAA,KAAK,CAAsB0yD,EAAAA,aAAwB,C,EAC9D,KAAM,Y,QAAG1yD,EAAAA,EAAAA,KAAK,CACJtG,EAAUsG,EAAVtG,KAAK,CACL08D,EAAwB18D,EAAxB08D,KAAK,CAAEsD,EAAiBhgE,EAAjBggE,YAAY,CAE3B,EAEItD,EADF,QAAQ,CAAIlQ,EAAAA,EAAAA,QAAQ,CAAE,EAAVA,EAAUyQ,UAAU,CAAVA,EAAa,AAAbA,KAAAA,IAAa,IAAE,GAAch2C,EAAAA,EAAZ,UAAU,CAAEA,EAAAA,AAAAA,KAAAA,IAAAA,EAAa,EAAE,CAAfA,EAE/CsmE,EAAqBtwB,EAAW,MAAM,CAAG,EAC/C,GACG,EAAC+C,GAAgB,CAACA,EAAa,KAAI,GACpCtD,EAAM,QAAQ,CAAC,UAAU,EACzBA,EAAM,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAG,EACnC,CACA,IAAMyB,EAAezB,EAAM,QAAQ,CAAC,UAAU,CAAC,EAAE,CACjDp2D,EAAM,MAAM,CAAC,CACX,aAAc,W,OAAM01D,GAASmC,E,CAC/B,GACA,MACF,CAEA,IAAM0vB,EAAgBxvB,GAAoB3B,EAAM,QAAQ,CAAC,UAAU,EAEnE,OAAOnxE,IAAE,qBAAsB,CAC7BA,IAAE,uBAAwB,CAAE,MAAO,cAAe,GAClDA,IAAE,WAAY,CAAE,MAAO,iBAAkB,EAAG,CAC1CmxE,EAAM,QAAQ,EACZA,EAAM,QAAQ,CAAC,UAAU,EACzBA,EAAM,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAG,GAAK,CACtCnxE,IAAEk6E,GAAQ,CACR,UAAW,gBACX,MAAOrmD,EAAE,oBACT,UACE4gD,GAAgBA,EAAa,KAAK,CAC9BA,EAAa,EAAE,CACfpzE,KAAAA,EACN,YAAawyB,EAAE,OAAQ,WACvB,QAASyuE,EACT,SAAU,SAACthG,CAAC,EACV,GAAIA,GAAKA,EAAE,MAAM,CAAG,EAAG,CACrB,IAAM4xE,EAAezB,EAAM,QAAQ,CAAC,UAAU,CAC3C,MAAM,CAAC,SAACzsE,CAAC,E,OAAKA,EAAE,EAAE,GAAK1D,CAAC,CAAC,EAAE,A,GAC3B,KAAK,GACJ4xE,GACFwvB,EAAO,WAAW,CAChBxvB,EAAa,IAAI,CAAGh4C,KAAK,KAAK,CAACg4C,EAAa,IAAI,EAAI,EAAE,EAG1D73D,EAAM,MAAM,CAAC,CACX,aAAc,W,OAAM01D,GAASmC,E,EAC7B,YAAa,W,OACXzB,EAAM,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,SAACtwB,CAAG,CAAEsxB,CAAG,EAExC,OADAtxB,CAAG,CAACsxB,EAAI,EAAE,CAAC,CAAG,GACPtxB,CACT,EAAG,CAAC,E,CACR,EACF,CACF,CACF,GACA4zB,GAAgB,CACdA,EAAa,IAAI,EACfz0E,IAAE,+BAAgC,CAChC,IAAKizE,GACHI,GACEL,EAAY,CAAC,CAACyB,EAAa,IAAI,CAAC,OAAO,CAAC,QAAS,IAAI,CACrD,IAGN,GACFz0E,IAAEm6E,GAAY,CACZ,MAAOtmD,EAAE,eACT,SAAU,WACV,UAAW,YACX,SAAU,CAAC4gD,EAAa,IAAI,CAC5B,QAAS,W,OAAMquB,EAAa3xB,EAAOsD,EAAa,KAAK,C,CACvD,GACAz0E,IAAE+7E,GAAe,CACf,QAAStH,EAAa,QAAQ,CAC9B,MAAO5gD,EAAE,sBACT,SAAU,GACV,UAAW,OACb,GACD,CACF,CACJ,EACD4gD,GAAgB,CACdz0E,IACE,WACA,CACE,SAAU,WAQRoiG,AAPAA,CAAAA,EAAS,I9BlMVxT,G8BkMoB,UAAW,CAC5B,QAAS,CACP,QAAS,EACX,EACA,SAAU,GACV,MAAO,MACT,EAAC,EACM,WAAW,CAChBna,EAAa,IAAI,CAAG75C,KAAK,KAAK,CAAC65C,EAAa,IAAI,EAAI,EAAE,CAE1D,CACF,EACA,CAACz0E,IAAE,WAAY,CAACA,IAAE,cAAe,CAAC,GAAG,EAAE,EAEzCihE,EACIjhE,IACE,WACAA,IAAEghG,I,EAAmB,A,6aAAA,GAChBjmF,G,KAAAA,CACHkmD,SAAAA,C,mVAGJ,GACJjhE,IACE,WACAA,IAAE,OAAQ,CACR0xE,EAAW,GAAG,CAAC,SAACM,CAAQ,EACtB,IAAMiwB,EAAejwB,GAAYA,EAAS,YAAY,CAChDsK,EACJ2lB,GACAf,EAAW,MAAM,CAAC,SAACp5F,CAAC,E,OAAKm6F,EAAa,OAAO,CAACn6F,EAAE,EAAE,GAAK,C,GACzD,OAAO9H,IACL,OACA,CACE,UAAY,IAA0B,OAAvB,GAAK0xE,EAAW,MAAM,CACvC,EACAswB,GAAsBhiG,IAAE,KAAMgyE,EAAS,KAAK,EAC5ChyE,IAAE2hG,GAAe,CAAEltB,aAAAA,EAAc6H,MAAAA,CAAM,GAE3C,GACD,GAEJ,CACF,CACH,CACF,CACF,E,mzCCtQO,IAAM2mB,GAAwC,WAGnD,IAFI3mB,EAEE4mB,EAAc,SAClBnlF,CAAE,CACFg8D,CAAK,CACLn7B,CAAM,EAQN,MANgC,CAC9B7gC,GAAAA,EACAg8D,MAAAA,EACAn7B,OAAAA,CACF,CAGF,EAEMukD,EAAmB,CAAC,cAAe,SAAU,OAAO,CAEpDC,EAAkB,SAACjyB,CAAK,EAC5B,MAEIA,EADF,QAAQ,CAAIzU,EAAAA,EAAAA,UAAU,CAExB4f,EAAQ5K,AAFkBA,EAAAA,UAAU,CAGjC,MAAM,CAAC,SAAC5pE,CAAC,E,OAAKA,EAAE,eAAe,A,GAC/B,MAAM,CACL,SAAC+4C,CAAG,CAAE/4C,CAAC,EAML,OALAu7F,AAAAA,EAAI,IAAI,OAARA,EACE,GAAG3mC,EAAW,MAAM,CAClB,SAACnmC,CAAI,E,OAAKzuB,EAAE,YAAY,EAAIA,EAAE,YAAY,CAAC,QAAQ,CAACyuB,EAAK,EAAE,C,KAGxDsqB,CACT,EACA,CACEqiD,EACE,cACArvE,EAAE,eACF0zD,GAAM,EAAG,GAAG,GAAG,CAAC,SAACxpE,CAAE,E,MAAM,CACvB,GAAK,eAAiB,OAAHA,GACnB,MAAO8V,EAAE,QAAS9V,EACpB,C,IAEFmlF,EACE,SACArvE,EAAE,UACF0zD,GAAM,EAAG,GAAG,GAAG,CAAC,SAACxpE,CAAE,E,MAAM,CACvB,GAAK,UAAY,OAAHA,GACd,MAAO8V,EAAE,OAAQ9V,EACnB,C,IAEFmlF,EACE,OACArvE,EAAE,QACF0zD,GAAM,EAAG,GAAG,GAAG,CAAC,SAACxpE,CAAE,E,MAAM,CACvB,GAAK,QAAU,OAAHA,GACZ,MAAO8V,EAAE,QAAS9V,EACpB,C,IAEH,CAEP,EAEA,MAAO,CACL,OAAQ,YACN81D,GADS94D,EAAAA,KAAK,CACC0yD,EAAAA,gBAA2B,CAC5C,EAOA,KAAM,Y,QAAG1yD,EAAAA,EAAAA,KAAK,CACJo2D,EAAUp2D,EAAM,KAAK,CAArBo2D,KAAK,CAEX,EACEA,EADF,QAAQ,CAAI4B,UAAU,CAExBqwB,EAAgBjyB,GAEhB,IAAM6I,EAAqBjH,AAJA,CAAbA,KAAAA,IAAa,IAAE,IAK1B,MAAM,CAAC,SAACruE,CAAC,E,OAAKA,EAAE,QAAQ,A,GACxB,IAAI,CAAC,SAACyB,CAAC,CAAEb,CAAC,E,MAAMa,AAAAA,CAAAA,EAAE,KAAK,EAAI,EAAC,EAAG,aAAa,CAACb,EAAE,KAAK,C,GAGjDg+F,EAAUtpB,EACb,GAAG,CAAC,SAACt1E,CAAC,E,OAAKA,EAAE,IAAI,EAAI,G,GACrB,GAAG,CAAC,SAACovB,CAAC,E,MAAK,CAACA,EAAE,OAAO,CAAC,QAAS,IAAM,C,GAElCyvE,EAA+B,CACnC,GAAI,qBACJ,SAAU,GACV,MAAO,GACP,MAAO1vE,EAAE,qBAAsB,SAC/B,KAAMA,EAAE,qBAAsB,QAC9B,WAAYyoD,EACT,MAAM,CAAC,SAACx0E,CAAC,E,MAAK,CAACq7F,EAAiB,QAAQ,CAACr7F,EAAE,EAAE,C,GAC7C,MAAM,CAAC,SAAC+4C,CAAG,CAAE/4C,CAAC,EACb,IASkBu2E,EATZmlB,EAAWxpB,EACd,GAAG,CAAC,SAACt1E,CAAC,E,OAAKA,EAAE,UAAU,EAAIA,EAAE,UAAU,CAACoD,EAAE,EAAE,CAAC,A,GAC7C,MAAM,CAAC,SAAC+4C,CAAG,CAAE/4C,CAAC,CAAEhE,CAAC,SAChB,AAAI,AAACgE,GAAKA,AAAa,IAAbA,EAAE,MAAM,EAClBA,EAAE,MAAM,CAAC,SAACA,CAAC,E,OAAKA,C,GAAG,OAAO,CAAC,SAACiW,CAAE,E,OAC5B8iC,EAAI,GAAG,CAAC9iC,EAAK8iC,AAAAA,CAAAA,EAAI,GAAG,CAAC9iC,IAAO,GAAKulF,CAAO,CAACx/F,EAAE,C,GAEtC+8C,GAJ0BA,CAKnC,EAAG,IAAI5H,KACHwqD,EAAYplB,AAAAA,CAAAA,EAAAA,IAAG,EAAE,GAAG,OAARA,EAAS,GAAGn2E,MAAM,IAAI,CAACs7F,EAAS,MAAM,MAIxD,OAHA3iD,CAAG,CAAC/4C,EAAE,EAAE,CAAC,CAAGI,MAAM,IAAI,CAACs7F,EAAS,OAAO,IACpC,MAAM,CAAC,Y,qBAAgBrrF,AAAdZ,CAAAA,CAAAA,EAAAA,CAAGY,CAAAA,CAAAA,EAAAA,GAAqBsrF,C,GACjC,GAAG,CAAC,Y,cAAE1lF,EAAAA,CAAAA,CAAAA,EAAAA,C,OAAIxG,CAAAA,CAAAA,EAAAA,CAAOwG,C,GACb8iC,CACT,EAAG,CAAC,EACR,EAIA,OAFAm5B,EAAmB,IAAI,CAACupB,GAEjBvjG,IAAE,wBAAyB,CAEhCA,IAAEy5E,I,EAAW,A,6aAAA,GACR1+D,G,KAAAA,CACH,WAAYi/D,EACZ,WAAYsC,C,kVAGf,CACH,CACF,CACF,E,uKCgBO,IAAMtI,GAA6B,GA9I1C,gB,eAAM0vB,Q,qGAAAA,G,EACJ,K,EAAA,O,GAAQ,gB,iGADJA,E,EAAAA,C,CAKGjsB,IAAAA,O,MAAP,WACE,IAAMlX,EAAuB,CAC3B,CACE,GAAIkN,EAAAA,IAAe,CACnB,KAAM,OACN,MAAO55C,EAAE,OAAQ,SACjB,MAAOA,EAAE,OAAQ,SACjB,QAAS,GACT,QAAS,GACT,UAAW6lD,EACb,EACA,CACE,GAAIjM,EAAAA,UAAqB,CACzB,KAAM,YACN,MAAO55C,EAAE,aAAc,SACvB,MAAOA,EAAE,aAAc,SACvB,QAAS,GACT,UAAWsqD,EACb,EACA,CACE,GAAI1Q,EAAAA,eAA0B,CAC9B,KAAM,OACN,MAAO55C,EAAE,kBAAmB,SAC5B,MAAOA,EAAE,kBAAmB,SAC5B,QAAS,GACT,UAAWsuE,EACb,EACA,CACE,GAAI10B,EAAAA,gBAA2B,CAC/B,KAAM,sBACN,MAAO55C,EAAE,mBAAoB,SAC7B,MAAOA,EAAE,mBAAoB,SAC7B,QAAS,SAAC29C,CAAQ,E,MAChBA,EAAAA,GAAWA,EAAS,sBAAsB,A,EAC5C,UAAWyxB,EACb,EACA,CACE,GAAIx1B,EAAAA,aAAwB,CAC5B,KAAM,aACN,MAAO55C,EAAE,gBAAiB,SAC1B,MAAOA,EAAE,gBAAiB,SAC1B,QAAS,GACT,UAAWgvE,EACb,EACA,CACE,GAAIp1B,EAAAA,KAAgB,CACpB,KAAM,OACN,MAAO55C,EAAE,QAAS,SAClB,MAAOA,EAAE,QAAS,SAClB,QAAS,GACT,UAAW2lD,EACb,EACA,CACE,GAAI/L,EAAAA,QAAmB,CACvB,KAAM,WACN,UAAW,YACX,MAAO55C,EAAE,WAAY,SACrB,MAAOA,EAAE,WAAY,SACrB,QAAS,GACT,UAAWuoD,EACb,EACD,CAED,IAAI,CAAC,OAAO,CAAC7b,EAEf,C,GAEOojC,IAAAA,U,MAAP,WACE,OAAO,IAAI,CAAC,UAAU,AACxB,C,GAEOC,IAAAA,U,MAAP,SAAet9F,CAAkB,EAC/B,IAAI,CAAC,UAAU,CAAG1G,OAAO,MAAM,CAAC0G,EAClC,C,GAEW,mB,IAAX,WACE,IAAMu9F,EAAY,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAC72F,CAAC,E,OAAKA,EAAE,OAAO,A,GAAE,KAAK,GAChE,OAAO62F,EAAYA,EAAU,KAAK,CAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,AAC/D,C,GAEO9jC,IAAAA,Q,MAAP,SACE+jC,CAAuB,CACvBviC,CAAsD,EAEtD,IAAMsiC,EAAY,IAAI,CAAC,UAAU,CAC9B,MAAM,CAAC,SAAC72F,CAAC,E,OAAKA,EAAE,EAAE,GAAK82F,C,GACvB,KAAK,GACR,OAAOD,EACH,KAAOA,EAAU,KAAK,CAAItiC,CAAAA,EAAQ,IAAMvhE,IAAAA,gBAAkB,CAACuhE,GAAS,EAAC,EACrE,IAAI,CAAC,YAAY,AACvB,C,GAEOZ,IAAAA,O,MAAP,SAAYmjC,CAAuB,E,IAAE5iC,EAAAA,UAAAA,MAAAA,CAAAA,GAAAA,AAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAS,GACtC2iC,EAAY,IAAI,CAAC,UAAU,CAC9B,MAAM,CAAC,SAAC72F,CAAC,E,OAAKA,EAAE,EAAE,GAAK82F,C,GACvB,KAAK,GACR,OAAOD,EACF,KAA0C3iC,MAAAA,CAAtC2iC,EAAU,KAAK,CAAC,OAAO,CAAC,OAAQ,KAAa,OAAP3iC,GAC3C,IAAI,CAAC,YAAY,AACvB,C,GAEO6iC,IAAAA,W,MAAP,SACED,CAAuB,CACvB5iC,CAAuD,CACvDK,CAAsD,EAEtD,IAAMsiC,EAAY,IAAI,CAAC,UAAU,CAC9B,MAAM,CAAC,SAAC72F,CAAC,E,OAAKA,EAAE,EAAE,GAAK82F,C,GACvB,KAAK,GACR,GAAID,EAAW,CACb,IAAM1hC,EACJ0hC,EAAU,KAAK,CAAItiC,CAAAA,EAAQ,IAAMvhE,IAAAA,gBAAkB,CAACuhE,GAAS,EAAC,EAChEvhE,IAAAA,KAAAA,CAAAA,GAAW,CAACmiE,EAAKjB,EACnB,CACF,C,GAEO8iC,IAAAA,e,MAAP,WACE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAC/jG,CAAC,CAAE6H,CAAC,EAejC,OAdA7H,CAAC,CAAC6H,EAAE,KAAK,CAAC,CACRA,AAAgB,KAAhBA,EAAE,SAAS,CACP,CACE,OAAQ,W,OAAM9H,IAAE8H,EAAE,SAAS,CAAE6tE,K,CAC/B,EACA,CAOE,OAAQ,W,OAAM31E,IAAEs4E,GAAQ3C,KAAS31E,IAAE8H,EAAE,SAAS,CAAE6tE,M,CAClD,EACC11E,CACT,EAAG,CAAC,EACN,C,qBA3IIyjG,C,ICLNpjG,CAAAA,OAAO,cAAc,CAAG,SAACD,CAAC,EACY,SAAhC6zE,aAAa,OAAO,CAACpE,MACzBoE,aAAa,OAAO,CAACpE,GAAO,QAC5BzvE,EAAE,cAAc,GAChBA,EAAE,WAAW,CAAG,GAClB,EAEAi1E,GAAK,mBAAmB,CAAC,SAAC2uB,CAAO,EAC/B3vF,QAAQ,GAAG,CAAE,mBACb0/D,GAAW,IAAI,GACfh0E,IAAAA,KAAO,CAAC+4D,SAAS,IAAI,CAAEib,GAAW,YAAY,CAAEA,GAAW,YAAY,GACzE,GACAsB,GAAK,IAAI,CACP,CACE,GAAI,CAAE,KAAM,UAAW,IAAK,QAAS,QAAS,EAAK,EACnD,GAAI,CAAE,KAAM,aAAc,IAAK,OAAQ,CACzC,EACCh1E,OAAO,YAAY,CAAC,OAAO,CAACuvE,KAAa,K"} \ No newline at end of file